嵌入式系统硬件技术.ppt
第第3讲讲 嵌入式系统硬件技术嵌入式系统硬件技术n n本讲主要授课内容本讲主要授课内容n nRAM存储器技术存储器技术n nFLASH存储器技术存储器技术n n串口技术串口技术n n硬盘及硬盘及FAT文件系统文件系统n n显示技术显示技术n n其他接口其他接口13.1RAM存储器技术存储器技术n n在嵌入式系统中在嵌入式系统中CPU通过地址直接访问的通过地址直接访问的存储器包括可读写存储器和只读存储器两存储器包括可读写存储器和只读存储器两类,通常用于上电时存放运行时程序及数类,通常用于上电时存放运行时程序及数据的据的RAM被称为主存。被称为主存。2存储器的几个相关性能指数存储器的几个相关性能指数p容量容量 存储器容量用存储器容量用S=S=WlmWlm表示,表示,W W为存储器字长,为存储器字长,l l为存储器字数,为存储器字数,m m则为存储器体数则为存储器体数 p速度速度 访问时间访问时间(access(access time)Tatime)Ta:从存储器接到读请:从存储器接到读请求到所读的字传送到数据总线上的时间间隔求到所读的字传送到数据总线上的时间间隔 存储周期存储周期TmTm:连续两次访问存储器之间所必需:连续两次访问存储器之间所必需的最小时间间隔。一般的最小时间间隔。一般Tm TaTm Ta 存储带宽存储带宽BmBm:存储器被连续访问时所提供的数:存储器被连续访问时所提供的数据传输速流,单位是位据传输速流,单位是位(或字节)或字节)/秒秒 p价格价格 存储器的价格通常用单位字节价格来表示,若存储器的价格通常用单位字节价格来表示,若总容量为总容量为S S的存储器的总价格为的存储器的总价格为C C,则单位字节价格,则单位字节价格c cC/SC/S3存储器设计目标存储器设计目标p高速度高速度p大容量大容量p低价格低价格4设计目标实现依据设计目标实现依据p存储器的工艺实现技术有了突飞猛进的发展,高速、存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、低价的存储器件以惊人的速度生产出来大容量、低价的存储器件以惊人的速度生产出来p所有程序都具有这样的行为特性:空间和时间局部所有程序都具有这样的行为特性:空间和时间局部性性p90/1090/10原理:一个程序的原理:一个程序的9090时间是消耗在时间是消耗在1010的代的代码上码上 p根据以上局部性原则(根据以上局部性原则(The Principle of The Principle of LocalityLocality),就可以利用各种不同的价格、速度、容),就可以利用各种不同的价格、速度、容量的存储器的组合设计出一个多层次(量的存储器的组合设计出一个多层次(multiple multiple levellevel)存储系统)存储系统 5存储器层次结构存储器层次结构pp在嵌入式系统中所用到的存储器主要有:触发器在嵌入式系统中所用到的存储器主要有:触发器在嵌入式系统中所用到的存储器主要有:触发器在嵌入式系统中所用到的存储器主要有:触发器(Flip-Flops and LatchesFlip-Flops and LatchesFlip-Flops and LatchesFlip-Flops and Latches)、寄存器()、寄存器()、寄存器()、寄存器(Register Register Register Register FilesFilesFilesFiles)、静态随机访问存储器()、静态随机访问存储器()、静态随机访问存储器()、静态随机访问存储器(SRAMSRAMSRAMSRAM)、动态随)、动态随)、动态随)、动态随机访问存储器(机访问存储器(机访问存储器(机访问存储器(DRAMDRAMDRAMDRAM)、闪速存储器()、闪速存储器()、闪速存储器()、闪速存储器(FLASHFLASHFLASHFLASH)、)、)、)、磁盘(磁盘(磁盘(磁盘(Magnetic DiskMagnetic DiskMagnetic DiskMagnetic Disk)等)等)等)等 pp这些存储器的速度,为触发器最快,寄存器次之,这些存储器的速度,为触发器最快,寄存器次之,这些存储器的速度,为触发器最快,寄存器次之,这些存储器的速度,为触发器最快,寄存器次之,SRAMSRAMSRAMSRAM再次,再次,再次,再次,DRAMDRAMDRAMDRAM较慢,然后是较慢,然后是较慢,然后是较慢,然后是FLASHFLASHFLASHFLASH,磁盘最慢,磁盘最慢,磁盘最慢,磁盘最慢pp价格正好反之,磁盘的每兆字节价格最便宜,触价格正好反之,磁盘的每兆字节价格最便宜,触价格正好反之,磁盘的每兆字节价格最便宜,触价格正好反之,磁盘的每兆字节价格最便宜,触发器最贵发器最贵发器最贵发器最贵6存储器层次结构图7存储器层次结构的特性 pp第一,数据的包含性,即上层的数据,在下一第一,数据的包含性,即上层的数据,在下一第一,数据的包含性,即上层的数据,在下一第一,数据的包含性,即上层的数据,在下一层中都能找到。层中都能找到。层中都能找到。层中都能找到。pp第二,下层存储器将自己的地址映射到高层的第二,下层存储器将自己的地址映射到高层的第二,下层存储器将自己的地址映射到高层的第二,下层存储器将自己的地址映射到高层的存储器。存储器。存储器。存储器。8存储器层次结构几个基本概念存储器层次结构几个基本概念pp块(块(块(块(BlockBlockBlockBlock):相邻两级间的信息交换单位相邻两级间的信息交换单位相邻两级间的信息交换单位相邻两级间的信息交换单位pp命中(命中(命中(命中(HitHitHitHit):):):):相邻两层存储层次中,访问地址可相邻两层存储层次中,访问地址可相邻两层存储层次中,访问地址可相邻两层存储层次中,访问地址可以直接在高层存储器中访问到以直接在高层存储器中访问到以直接在高层存储器中访问到以直接在高层存储器中访问到pp命中时间命中时间命中时间命中时间(hit time)(hit time)(hit time)(hit time):访问高层存储器所需的时访问高层存储器所需的时访问高层存储器所需的时访问高层存储器所需的时间,其中包括本次访问是命中还是失效的判定时间间,其中包括本次访问是命中还是失效的判定时间间,其中包括本次访问是命中还是失效的判定时间间,其中包括本次访问是命中还是失效的判定时间pp命中率(命中率(命中率(命中率(Hit RateHit RateHit RateHit Rate):):):):相邻两层存储层次中,访相邻两层存储层次中,访相邻两层存储层次中,访相邻两层存储层次中,访问地址可以直接在高层存储器中访问到的概率问地址可以直接在高层存储器中访问到的概率问地址可以直接在高层存储器中访问到的概率问地址可以直接在高层存储器中访问到的概率pp失效率(失效率(失效率(失效率(Miss RateMiss RateMiss RateMiss Rate):):):):等于等于等于等于1 1 1 1命中率命中率命中率命中率pp失效损失失效损失失效损失失效损失(miss penalty)(miss penalty)(miss penalty)(miss penalty):用低层存储器中相应用低层存储器中相应用低层存储器中相应用低层存储器中相应的块替换高层存储器中的块,并将该块传送到请求的块替换高层存储器中的块,并将该块传送到请求的块替换高层存储器中的块,并将该块传送到请求的块替换高层存储器中的块,并将该块传送到请求访问的设备(通常是访问的设备(通常是访问的设备(通常是访问的设备(通常是CPUCPUCPUCPU)的时间)的时间)的时间)的时间9存储器层次结构的性能存储器层次结构的性能 pp评价存储器层次结构的性能参数是平均存储访问评价存储器层次结构的性能参数是平均存储访问评价存储器层次结构的性能参数是平均存储访问评价存储器层次结构的性能参数是平均存储访问时间时间时间时间(average memory-access time)(average memory-access time)(average memory-access time)(average memory-access time)平均存储访问时间命中时间平均存储访问时间命中时间平均存储访问时间命中时间平均存储访问时间命中时间命中率命中率命中率命中率 失效率失效率失效率失效率 失效损失失效损失失效损失失效损失pp当块大小过小时,失效率很高当块大小过小时,失效率很高当块大小过小时,失效率很高当块大小过小时,失效率很高 pp当高层存储器容量保持不变时,失效率有一最低当高层存储器容量保持不变时,失效率有一最低当高层存储器容量保持不变时,失效率有一最低当高层存储器容量保持不变时,失效率有一最低限值,此时块大小的变化对失效率没有影响限值,此时块大小的变化对失效率没有影响限值,此时块大小的变化对失效率没有影响限值,此时块大小的变化对失效率没有影响 pp当块大小超过某定值后,(这一定值又称为污染当块大小超过某定值后,(这一定值又称为污染当块大小超过某定值后,(这一定值又称为污染当块大小超过某定值后,(这一定值又称为污染点),失效率呈现随块大小增加而上升的趋势点),失效率呈现随块大小增加而上升的趋势点),失效率呈现随块大小增加而上升的趋势点),失效率呈现随块大小增加而上升的趋势 10主存简介 pp主存是非常重要存储和记忆部件,用以存放主存是非常重要存储和记忆部件,用以存放主存是非常重要存储和记忆部件,用以存放主存是非常重要存储和记忆部件,用以存放数据和程序数据和程序数据和程序数据和程序pp主存大都采用主存大都采用主存大都采用主存大都采用DRAMDRAMDRAMDRAM芯片实现芯片实现芯片实现芯片实现 pp一般说来,容量越大速度越快的存储器就能一般说来,容量越大速度越快的存储器就能一般说来,容量越大速度越快的存储器就能一般说来,容量越大速度越快的存储器就能给系统带来越高的性能给系统带来越高的性能给系统带来越高的性能给系统带来越高的性能pp与微机相比,嵌入式系统的主存一般比较小与微机相比,嵌入式系统的主存一般比较小与微机相比,嵌入式系统的主存一般比较小与微机相比,嵌入式系统的主存一般比较小pp同时在有些嵌入式系统中也有用同时在有些嵌入式系统中也有用同时在有些嵌入式系统中也有用同时在有些嵌入式系统中也有用FlashFlashFlashFlash存储器存储器存储器存储器作为主存使用的情况作为主存使用的情况作为主存使用的情况作为主存使用的情况11DRAM与与SRAM主要差别主要差别 pp对对对对DRAMDRAMDRAMDRAM芯片来说,在读出数据之后还需重新写回芯片来说,在读出数据之后还需重新写回芯片来说,在读出数据之后还需重新写回芯片来说,在读出数据之后还需重新写回数据,因而它的访问延迟和存储周期不同。数据,因而它的访问延迟和存储周期不同。数据,因而它的访问延迟和存储周期不同。数据,因而它的访问延迟和存储周期不同。SRAMSRAMSRAMSRAM的的的的访问时间与存储周期则没有差别访问时间与存储周期则没有差别访问时间与存储周期则没有差别访问时间与存储周期则没有差别pp为防止信息丢失,为防止信息丢失,为防止信息丢失,为防止信息丢失,DRAMDRAMDRAMDRAM需要定期刷新每个存储单需要定期刷新每个存储单需要定期刷新每个存储单需要定期刷新每个存储单元,元,元,元,SRAMSRAMSRAMSRAM却不需要却不需要却不需要却不需要ppDRAMDRAMDRAMDRAM设计强调容量,而对设计强调容量,而对设计强调容量,而对设计强调容量,而对SRAMSRAMSRAMSRAM设计来说,容量和设计来说,容量和设计来说,容量和设计来说,容量和速度同样重要速度同样重要速度同样重要速度同样重要pp就可以比较的存储器设计技术而言,就可以比较的存储器设计技术而言,就可以比较的存储器设计技术而言,就可以比较的存储器设计技术而言,DRAMDRAMDRAMDRAM的容量的容量的容量的容量大概为大概为大概为大概为SRAMSRAMSRAMSRAM的的的的16161616倍,而倍,而倍,而倍,而SRAMSRAMSRAMSRAM的存储周期比的存储周期比的存储周期比的存储周期比DRAMDRAMDRAMDRAM的约的约的约的约快快快快8 8 8 816161616倍倍倍倍 12DRAM存储器存储器n nDRAM由于结构简单集成度高,因此价格由于结构简单集成度高,因此价格非常便宜,是目前嵌入式系统中主要的内非常便宜,是目前嵌入式系统中主要的内存方式。存方式。n nDRAM经历了经历了DRAM,FPM DRAM(Fast page Mode DRAM),EDO DRAM(Extended Data Out DRAM),SDRAM(Synchronous DRAM),DDR SDRAM(Double Data Rate SDRAM),DDR2 SDRAM,DDR3 SDRAM13DRAM的基本结构的基本结构14从从DRAM到到DDRIIIn n最初最初DRAM读写是在控制信号的作用下先读写是在控制信号的作用下先发一个行地址再发一个列地址,随后读发一个行地址再发一个列地址,随后读/写写一个数据。一个数据。15DRAM读数据时序读数据时序16n n人们发现通常数据是连续读人们发现通常数据是连续读人们发现通常数据是连续读人们发现通常数据是连续读/写的,因此,改为写的,因此,改为写的,因此,改为写的,因此,改为FPM DRAMFPM DRAM,送一次行地址后,将行地址锁存,送一次行地址后,将行地址锁存,送一次行地址后,将行地址锁存,送一次行地址后,将行地址锁存,只送列地址,每送一个列地址就读只送列地址,每送一个列地址就读只送列地址,每送一个列地址就读只送列地址,每送一个列地址就读/写一个数据,写一个数据,写一个数据,写一个数据,直到该行的数据读完。从而提高了读直到该行的数据读完。从而提高了读直到该行的数据读完。从而提高了读直到该行的数据读完。从而提高了读/写速度。写速度。写速度。写速度。17n n由于在列地址送出后到读出数据之间需要时间,由于在列地址送出后到读出数据之间需要时间,由于在列地址送出后到读出数据之间需要时间,由于在列地址送出后到读出数据之间需要时间,而这个时间对于地址线而言是空闲的,可以送出而这个时间对于地址线而言是空闲的,可以送出而这个时间对于地址线而言是空闲的,可以送出而这个时间对于地址线而言是空闲的,可以送出下一个列地址,因此开发了下一个列地址,因此开发了下一个列地址,因此开发了下一个列地址,因此开发了EDO DRAMEDO DRAM,利用类,利用类,利用类,利用类似于流水线的模式进一步提高了内存读似于流水线的模式进一步提高了内存读似于流水线的模式进一步提高了内存读似于流水线的模式进一步提高了内存读/写速度。写速度。写速度。写速度。18n n由于由于DRAM需要动态充电的特性使每次读数需要动态充电的特性使每次读数据后需要进行再次充电才能进行下次读,因据后需要进行再次充电才能进行下次读,因此此SDRAM采用了两个(或多个)采用了两个(或多个)Bank的方的方式进行交替数据操作,式进行交替数据操作,Bank0读数据时读数据时Bank1充电,充电,下一周期下一周期Bank1读数据时读数据时Bank0充电,充电,从而提高对外的数据交换能力。从而提高对外的数据交换能力。n nSDRAM的操作改为由外部时钟上升沿同步控的操作改为由外部时钟上升沿同步控制方式,以实现突发数据传送能力。突发数制方式,以实现突发数据传送能力。突发数据传送可以实现接收一次列地址发送多个数据传送可以实现接收一次列地址发送多个数据的能力。据的能力。192021n nDDR(Double Data Rate)SDRAM则采用则采用了二倍预读取的技术,在每次得到一个地了二倍预读取的技术,在每次得到一个地址时芯片内部读取两个数据,这两个数据址时芯片内部读取两个数据,这两个数据分别在一个时钟的上升沿和下升沿传送出分别在一个时钟的上升沿和下升沿传送出去,从而提高读去,从而提高读/写速度。写速度。22n nDDRII SDRAM采用了采用了4倍预读取的技术,倍预读取的技术,在每次得到一个地址时芯片内部读取在每次得到一个地址时芯片内部读取4个数个数据,并将据,并将I/O端口的时钟频率提高为原来的端口的时钟频率提高为原来的两倍(内部操作时钟频率的两倍),并在两倍(内部操作时钟频率的两倍),并在一个时钟上升沿和下升沿各传送一个数据,一个时钟上升沿和下升沿各传送一个数据,从而进一步提高读从而进一步提高读/写速度。写速度。23n nDDRIII SDRAM采用了采用了8倍预读取的技术,倍预读取的技术,在每次得到一个地址时芯片内部读取在每次得到一个地址时芯片内部读取8个数个数据,并将据,并将I/O端口的时钟频率提高为原来的端口的时钟频率提高为原来的4倍(内部操作时钟频率的倍(内部操作时钟频率的4倍),并在一个倍),并在一个时钟上升沿和下升沿各传送一个数据,从时钟上升沿和下升沿各传送一个数据,从而进一步提高读而进一步提高读/写速度。写速度。24SDRAM的特点的特点n nSDRAM由一系列指令控制完成数据存取功由一系列指令控制完成数据存取功能能n nSDRAM需要使用专用的需要使用专用的SDRAM控制器控制器n n能够在系统时钟的驱动下连续存取数据,能够在系统时钟的驱动下连续存取数据,(突发模式)(突发模式)n n由于需要进行预充电,因此一般芯片由多由于需要进行预充电,因此一般芯片由多个个BANK组成组成n n采用预读写技术后,读采用预读写技术后,读/写性能成倍提升。写性能成倍提升。252627n nSDRAM中行地址宽度与列地址宽度常常是中行地址宽度与列地址宽度常常是不一样的,列地址通常只有不一样的,列地址通常只有9位,表示位,表示512个个列,也就是说给出一次行地址,最多能够列,也就是说给出一次行地址,最多能够读取读取512个字节(或字)。个字节(或字)。本例中行地址为本例中行地址为2124K,列地址为,列地址为29512Bank数由数由bs0,bs1(A12,A13)给出共给出共224,因此,因此每片每片SDRAM容量为容量为4K*512*4=8MB两片共两片共8MB2=16MB283.1.2 SRAM存储器存储器SRAMSRAM存储器的主要特点:存储器的主要特点:存储器的主要特点:存储器的主要特点:n n主要优点:速度快,不需要刷新电路,效率高主要优点:速度快,不需要刷新电路,效率高主要优点:速度快,不需要刷新电路,效率高主要优点:速度快,不需要刷新电路,效率高n n主要缺点:体积大,功耗大,集成度低价格昂贵主要缺点:体积大,功耗大,集成度低价格昂贵主要缺点:体积大,功耗大,集成度低价格昂贵主要缺点:体积大,功耗大,集成度低价格昂贵n n主要应用:主要应用:主要应用:主要应用:CPUCPU与主存的高速缓存与主存的高速缓存与主存的高速缓存与主存的高速缓存CPUCPU内部高速缓存内部高速缓存内部高速缓存内部高速缓存在嵌入式系统中作为主存使用在嵌入式系统中作为主存使用在嵌入式系统中作为主存使用在嵌入式系统中作为主存使用29课后练习课后练习n nDRAM与与SRAM在数据操作上的区别是什么在数据操作上的区别是什么?n n与与SDRAM相比,相比,DDR技术为什么能够提高技术为什么能够提高数据存取速度?数据存取速度?303.2 闪速存储器闪速存储器(Flash)FLASHFLASHFLASHFLASH与与与与DRAMDRAMDRAMDRAM和和和和SRAMSRAMSRAMSRAM有所不同,虽然他们都有所不同,虽然他们都有所不同,虽然他们都有所不同,虽然他们都可以直接连接在系统总线上进行读写,但是可以直接连接在系统总线上进行读写,但是可以直接连接在系统总线上进行读写,但是可以直接连接在系统总线上进行读写,但是FLASHFLASHFLASHFLASH是一种非易失性的存储器,失去供电后可是一种非易失性的存储器,失去供电后可是一种非易失性的存储器,失去供电后可是一种非易失性的存储器,失去供电后可以长期保存数据不丢失。因此以长期保存数据不丢失。因此以长期保存数据不丢失。因此以长期保存数据不丢失。因此FlashFlashFlashFlash在嵌入式系在嵌入式系在嵌入式系在嵌入式系统中常常担当着类似于统中常常担当着类似于统中常常担当着类似于统中常常担当着类似于PCPCPCPC机中硬盘的角色。机中硬盘的角色。机中硬盘的角色。机中硬盘的角色。FLASHFLASHFLASHFLASH存储器根据其技术手段的不同有类:存储器根据其技术手段的不同有类:存储器根据其技术手段的不同有类:存储器根据其技术手段的不同有类:NORNORNORNORFlashFlashFlashFlash,DINORDINORDINORDINORFlashFlashFlashFlash,NANDNANDNANDNANDFlashFlashFlashFlash,UltraNAND FlashUltraNAND FlashUltraNAND FlashUltraNAND Flash,AND FlashAND FlashAND FlashAND Flash31FLASH工作原理工作原理通过在浮栅上充电或放电来控制源通过在浮栅上充电或放电来控制源/漏之间的通路,从而实漏之间的通路,从而实现现0/1的表达。的表达。323.2.1 NORFLASH技术技术n nNORNORNORNOR技术闪速存储器是最早出现的技术闪速存储器是最早出现的技术闪速存储器是最早出现的技术闪速存储器是最早出现的Flash MemoryFlash MemoryFlash MemoryFlash Memory,它源于传统的它源于传统的它源于传统的它源于传统的EPROMEPROMEPROMEPROM器件,具有可靠性高、随机读取器件,具有可靠性高、随机读取器件,具有可靠性高、随机读取器件,具有可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行速度快的优势,在擦除和编程操作较少而直接执行速度快的优势,在擦除和编程操作较少而直接执行速度快的优势,在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,代码的场合,尤其是纯代码存储的应用中广泛使用,代码的场合,尤其是纯代码存储的应用中广泛使用,代码的场合,尤其是纯代码存储的应用中广泛使用,如如如如PCPCPCPC的的的的BIOSBIOSBIOSBIOS固件、移动电话、硬盘驱动器的控制存固件、移动电话、硬盘驱动器的控制存固件、移动电话、硬盘驱动器的控制存固件、移动电话、硬盘驱动器的控制存储器等。储器等。储器等。储器等。n n由于由于由于由于NORNORNORNOR技术技术技术技术Flash MemoryFlash MemoryFlash MemoryFlash Memory的擦除和编程速度较慢,的擦除和编程速度较慢,的擦除和编程速度较慢,的擦除和编程速度较慢,而块尺寸又较大(而块尺寸又较大(而块尺寸又较大(而块尺寸又较大(64KB64KB64KB64KB,128KB128KB128KB128KB),因此擦除和编程),因此擦除和编程),因此擦除和编程),因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储操作所花费的时间很长,在纯数据存储和文件存储操作所花费的时间很长,在纯数据存储和文件存储操作所花费的时间很长,在纯数据存储和文件存储的应用中,的应用中,的应用中,的应用中,NORNORNORNOR技术显得力不从心。技术显得力不从心。技术显得力不从心。技术显得力不从心。33NORFLASH接口接口信号信号信号信号信号功能信号功能信号功能信号功能A0:nA0:n地址信号地址信号地址信号地址信号DQ0:mDQ0:m数据信号数据信号数据信号数据信号nWE#nWE#写使能信号写使能信号写使能信号写使能信号nOE#nOE#读使能信号读使能信号读使能信号读使能信号nRST#nRST#复位信号复位信号复位信号复位信号nGCS#nGCS#片选信号片选信号片选信号片选信号34NORFLASH指令指令功能功能功能功能周周周周期期期期数数数数CYCLE1CYCLE1CYCLE2CYCLE2CYLCE3CYLCE3CYCLE4CYCLE4CYCLE5CYCLE5CYCLE5CYCLE56AB6ABDBDBABABDBDBABABDBDBABABDBDBABABDBDBABABDBDB读读读读1 1PAPARDRD复位复位复位复位1 1XXXXF0F0写写写写4 4AAAAAAAAAA5555555555AAAAAAADADPAPAPDPD块擦除块擦除块擦除块擦除6 6555555AAAA2AA2AA55555555558080555555AAAA2AA2AA55555555551010片擦除片擦除片擦除片擦除6 6555555AAAA2AA2AA55555555558080555555AAAA2AA2AA5555SASA3030读读读读IDID4 4555555AAAA2AA2AA5555555555909000000202暂停暂停暂停暂停1 1XXXXB0B0继续继续继续继续1 1XXXX303029LV160芯片指令芯片指令35n n读数据只需要读数据只需要读数据只需要读数据只需要1 1个周期个周期个周期个周期直接在地址总线送地址,可在数据总线读到数据直接在地址总线送地址,可在数据总线读到数据直接在地址总线送地址,可在数据总线读到数据直接在地址总线送地址,可在数据总线读到数据n n写数据需要写数据需要写数据需要写数据需要4 4个周期个周期个周期个周期1 1 将将将将 0 xAA 0 xAA写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x5552 2 将将将将 0 x55 0 x55 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x2AA 0 x2AA3 3 将将将将 0 xA0 0 xA0 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x5554 4 将编程数据将编程数据将编程数据将编程数据(BYTE)(BYTE)写到对应的编程地址上去写到对应的编程地址上去写到对应的编程地址上去写到对应的编程地址上去n n整片擦除操作需要整片擦除操作需要整片擦除操作需要整片擦除操作需要6 6个周期个周期个周期个周期1 1 将将将将 0 xAA 0 xAA写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x5552 2 将将将将 0 x55 0 x55 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x2AA 0 x2AA3 3 将将将将 0 x80 0 x80 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x5554 4 将将将将 0 xAA 0 xAA写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x5555 5 将将将将 0 x55 0 x55 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x2AA 0 x2AA6 6 将将将将 0 x10 0 x10 写到写到写到写到 FLASH FLASH 地址地址地址地址 0 x555 0 x55536NORFlash接口示意图接口示意图16位接口位接口8位接口位接口373.2.2 NANDFlash技术技术Samsung TOSHIBA FujistuSamsung TOSHIBA Fujistu三家公司联合开发了三家公司联合开发了NANDNANDFlash Flash,其特点有:,其特点有:n以页为单位进行读和编程操作,以页为单位进行读和编程操作,1 1页为页为256B256B或或512B512B。以块为单位进行擦除,块为以块为单位进行擦除,块为4KB4KB,8KB8KB,16KB16KB。可快。可快擦和快编程功能。擦和快编程功能。n数据、地址采用同一总线,实现串行读取。随机数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。读取速度慢且不能按字节随机编程。n芯片尺寸小,引脚少,是位成本芯片尺寸小,引脚少,是位成本(bit cost)(bit cost)最低最低的固态存储器。的固态存储器。n芯片存储位错误率较高,推荐使用芯片存储位错误率较高,推荐使用ECCECC校验,并包校验,并包含冗余块,数目约占含冗余块,数目约占1%1%。38n n基于基于NAND的存储器可以取代硬盘或其他块的存储器可以取代硬盘或其他块设备。设备。n n目前量产的目前量产的NANDFLASH已经可达已经可达64Gb。39NANDFlash内部结构内部结构40NANDFlash地址结构地址结构64MB的的NANDFlash芯片地址结构芯片地址结构41n nNANDFlash容量大,而且可常时间保存容量大,而且可常时间保存数据,因此可以用于替代硬盘作为外存使数据,因此可以用于替代硬盘作为外存使用。但由于坏块的存在,难以保证存储信用。但由于坏块的存在,难以保证存储信息的安全,因此每个页都有息的安全,因此每个页都有16B的冗余信息的冗余信息用于描述当前块的状态,及逻辑块号,这用于描述当前块的状态,及逻辑块号,这样在上层文件系统中,就可以将其作为一样在上层文件系统中,就可以将其作为一个标准块设备使用。个标准块设备使用。42冗余字节的定义冗余字节的定义字节序号字节序号字节序号字节序号内容内容内容内容字节序号字节序号字节序号字节序号内容内容内容内容512512用户定义数据用户定义数据用户定义数据用户定义数据520520后后后后256B256BECCECC校验和校验和校验和校验和513513521521514514522522515515523523块逻辑地址块逻辑地址块逻辑地址块逻辑地址2 2516516数据状态数据状态数据状态数据状态524524517517块状态块状态块状态块状态525525前前前前256B256BECCECC校验和校验和校验和校验和518518块逻辑地址块逻辑地址块逻辑地址块逻辑地址1 152652651951952752743逻辑地址格式逻辑地址格式D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D00 00 00 01 10 0la9la9la8la8la7la7518,523518,523字节字节字节字节la6la6la5la5la4la4la3la3la2la2la1la1la0la0P P519,524519,524字节字节字节字节在在NANDFlash芯片中块被分为若干个芯片中块被分为若干个zone,每个,每个zone中有中有1024个块,这样每个块的编号就只个块,这样每个块的编号就只需要需要10位二进制值,而其中只有位二进制值,而其中只有1000个块具有逻辑个块具有逻辑编号,可以真正使用,其他编号,可以真正使用,其他24个块则为备用块。个块则为备用块。44NANDFlash接口标准接口标准信号信号信号信号信号功能信号功能信号功能信号功能IO1:8IO1:8数据总线数据总线数据总线数据总线CE#CE#片选片选片选片选WE#WE#写有效写有效写有效写有效RE#RE#读有效读有效读有效读有效CLECLE命令锁存命令锁存命令锁存命令锁存ALEALE地址地址地址地址/数据锁存数据锁存数据锁存数据锁存WP#WP#写保护信号写保护信号写保护信号写保护信号R/B#R/B#忙信号忙信号忙信号忙信号45NANDFlash命令命令命令名称命令名称命令名称命令名称第一周期第一周期第一周期第一周期第二周期第二周期第二周期第二周期功能功能功能功能Serial Dtat InputSerial Dtat Input0 x800 x80写数据写数据写数据写数据Read Mode 1Read Mode 10 x000 x00A8=0A8=0时读数据时读数据时读数据时读数据Read Mode 2Read Mode 20 x010 x01A8=1A8=1时读数据时读数据时读数据时读数据Read Mode 3Read Mode 30 x500 x50读校验位读校验位读校验位读校验位ResetReset0 xFF0 xFF初始化初始化初始化初始化Auto ProgramAuto Program0 x100 x10开始编程开始编程开始编程开始编程Auto Block EraseAuto Block Erase0 x600 x600 xD00 xD0块擦除块擦除块擦除块擦除Status ReadStatus Read0 x700 x70读状态读状态读状态读状态ID Read 1ID Read 10 x900 x90厂商及厂商及厂商及厂商及IDID信息信息信息信息ID Read 2ID Read 20 x910 x91设备参数设备参数设备参数设备参数4647NAND Flash写数据时序写数据时序48擦除块时序图擦除块时序图49NANDFlash 接口示意图接口示意图50NOR Flash与与NAND Flash比较比较NOR FlashNOR FlashNAND FlashNAND Flash擦除块所需时间擦除块所需时间擦除块所需时间擦除块所需时间/ms/ms1000-50001000-50002-42-4读速度读速度读速度读速度/(KB/s)/(KB/s)1200-15001200-1500600-800600-800写速度写速度写速度写速度/(KB/s)/(KB/s)8080200-400200-400513.2.3 AND Flash技术技术n nANDANDANDAND技术是技术是技术是技术是HitachiHitachiHitachiHitachi公司的专利技术,主要用于数据公司的专利技术,主要用于数据公司的专利技术,主要用于数据公司的专利技术,主要用于数据和文档存储领域。和文档存储领域。和文档存储领域。和文档存储领域。n nANDANDANDAND技术与技术与技术与技术与NANDNANDNANDNAND一样采用一样采用一样采用一样采用“大多数完好的存储器大多数完好的存储器大多数完好的存储器大多数完好的存储器”概概概概念念念念n n由于其内部存在与块大小一致的内部由于其内部存在与块大小一致的内部由于其内部存在与块大小一致的内部由于其内部存在与块大小一致的内部RAM RAM RAM RAM 缓冲区,缓冲区,缓冲区,缓冲区,使得使得使得使得ANDANDANDAND技术不像其他采用技术不像其他采用技术不像其他采用技术不像其他采用MLCMLCMLCMLC的闪速存储器技术那样的闪速存储器技术那样的闪速存储器技术那样的闪速存储器技术那样写入性能严重下降写入性能严重下降写入性能严重下降写入性能严重下降523.2.4 常见存储卡标准常见存储卡标准nCFCF(Compact FlashCompact Flash)卡)卡 19941994年由年由SanDiskSanDisk公司推出,大小公司推出,大小43mm43mm36mm3.3mm36mm3.3mm,5050针接口针接口nSMSM(Smart MediaSmart Media)卡)卡19951995年由东芝推出,大小年由东芝推出,大小45mm45mm37mm0.76mm,重,重1.8g,由于卡,由于卡内不带读写控制器,需要设备提供,因此有不兼容问题。内不带读写控制器,需要设备提供,因此有不兼容问题。nxDxD(eXtremeeXtreme Digital Digital)图卡)图卡20022002年由富士与奥林巴斯推出,年由富士与奥林巴斯推出,大小大小20mm25mm1.7mm,重,重2g,主要用于袖珍数码相机。,主要用于袖珍数码相机。nMMC(MultiMediaCard)卡1997年由西门子与SanDisk推出,大小大小32mm24mm1.4mm,重重1.5g,主要针对手机,主要针对手机,PDA,音乐,影像,电子书,玩具等,音乐