2023年7月17日发(作者:)
嵌⼊式系统存储(RAM、ROM、Flash)⽬录
1.储存器系统层次结构内部寄存器
2.芯⽚内部的⾼速缓存(cache)
3.芯⽚外的⾼速缓存(SRAM、DRAM、DDRAM)4.主存储器(Flash、PROM、EPROM、EEPROM)
5.外部存储器(磁盘、光盘、CF、SD卡)6.远程⼆级存储(分布式⽂件系统、Web服务器)共六个层次结构。这些设备从上到下,依次变得更慢、访问频率更⼩、容量更⼤,每字节的造价也更加便宜。在这种存储器分层结构中,上⾯⼀层的存储器做为下⼀层存储器的⾼速缓存。CPU寄存器就是cache的⾼速存储器,寄存器保存来⾃cache的字;cache⼜是内存层的⾼速缓存,从内存层提取数据送给CPU进⾏处理,并将CPU处理的结果返回内存当中;内存⼜是主存储器的⾼速缓存,它将经常使⽤到的数据从Flash等主存储器的提取出来,放到内存中,从⽽加快了CPU的运⾏效率。嵌⼊式的主存储器的容量是有限的,当遇到⼤量信息数据时,就需要将其保存到磁盘、光盘或CF、SD卡等外部存储器中,并在需要调⽤时从外部存储器中提取调⽤数据。在某些带有分布式⽂件系统的嵌⼊式⽹络系统中,外部存储器就作为其他系统中被存储数据的⾼速缓存。的种类RAM可以被读和写,但断电数据会丢失,它适合在程序运⾏时保存动态的信息数据。RAM可以分为SRAM(静态随机存储器)和DRAM(动态随机存储器)。这两类具有不同的特征:SRAM⽐DRAM运⾏速度快SRAM⽐DRAM耗电多在⼀个芯⽚上可以置放更多的DRAMDRAM需要周期性刷新常见的RAM分类如下:SRAM(Static RAM,静态随机存储器)SRAM是静态的,因此只要供电它就会保持⼀个值。SRAM没有刷新周期,有触发器构成基本单元,集成度低,每个SRAM存储单元由6个晶体管组成,因此成本较⾼。SRAM具有较⾼的速率,常常同于⾼速缓冲存储器。DRAM(Dynamic RAM,动态随机存储器)这是⼀种以电荷形式进⾏存储的半导体存储器。DRAM中的每⼀个存储单元由⼀个晶体管和⼀个电容组成,数据存储在电容器中。电容器会由于漏电⽽导致电荷丢失,因⽽DRAM器件是不稳定的。为了将数据保存在存储器中,DRAM器件必需有规律地定时进⾏刷新。DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)随着嵌⼊式处理器主频的提⾼,SDRAM的速度逐渐成了限制系统性能的瓶颈。SDRAM通常只能⼯作咋133MHz主频,⽽现在很多32位处理器的主频已经达到了200MHz以上。DDRAM就是这种需求下出现的,⽬前已占据了内存技术的主流,且价格便宜。DDRAM依靠⼀种叫做双倍预取(2n-prefetch)的技术,即在内存芯⽚内部的数据宽度是外部接⼝数据宽度的2倍,使峰值的读写速度达到输⼊时钟速率的2倍,并且DDRAM允许在时钟脉冲上升沿或下降沿传输数据,这样不需要提⾼时钟频率就能加倍提⾼SDRAM的速度,并具有SDRAM多⼀倍的传输速率和内存带宽。同时为了保证在⾼速运⾏时的信号完整性,DDRAM技术还采⽤了差分输⼊的⽅式。总的来说DDRAM采⽤更低的电压、差分输⼊和双倍数据速率输出等技术。的种类 ROM的特点是在烧⼊数据后,⽆需外加电源来保存数据。断电数据不丢失,但速度较慢,因此适合存储需长期保留的不变数据。常见ROM的分类如下:Mask ROM(掩膜ROM)⼀次性由⼚家写⼊数据的ROM,⽤户⽆法修改。PROM(Programmable ROM 可编程ROM)只允许⽤户利⽤专门的设备(编程器)将⾃⼰的程序写⼊⼀次,⼀旦写⼊后,其内容将⽆法改变。所以也叫做⼀次可编程只读存储器(One Time Programming ROM)。EPROM(Erasable Programmable ROM 电可擦写ROM)不仅可以由⽤户利⽤编程器写⼊程序,⽽且可以对其内容进⾏多次改写。出⼚时其内容为全“1”,⽤户根据其程序将某些记忆单元改为“0”;当需要修改时需要将所有内容擦除(恢复为“1”),以便写⼊新的内容。EPROM⼜分为两种,UVEPROM(紫外线擦除)和EEPROM(电擦除)。UVEPROM需要⽤紫外线灯制作的擦抹器照射存储器芯⽚上的透明窗⼝,使芯⽚原来的内容被擦除。⽤紫外线进⾏擦除只能对整个芯⽚擦除,⽽不能对芯⽚中个别需要改的存储单元单独擦除。EPROM虽然即可读⼜可“写”,但它不能取代RAM。因为EPROM的编程次数是有限的;⽽且它写⼊的时间较长,即使对于EEPROM,擦除⼀个字节需要约10ms,写⼊⼀个字节⼤约需要10us,⽐SRAM或DRAM的时间长100~1000倍。EEPROM(E2PROM)电可擦除可编程ROMEEPROM不但可以利⽤电压的⾼低来写⼊数据,还可以利⽤电压的⾼低清除EEROM所存储的数据。EEPROM在数据清除时还可以针对个别的存储单元进⾏清除操作,⽐起EPROM需要整个清除数据⽅便许多。EEPROM的数据存储保持能⼒可以长达10年,⽽数据清除再被规划的次数可以达到⼀万次以上,因此EEPROM的使⽤⽐EPROM更为普遍,⽽且更受欢迎。Flash ROM(闪速存储器)Flash ROM 具有结构简单、控制灵活、编程可靠、加可电擦写快捷的优点,⽽且集成度可以都做得很⾼,它综合了前⾯的所有优点:不会断电丢失数据,快速读取,可电擦写可编程,因此在⼿机,PC,PPC等电器中成功地获得了⼴泛的应⽤。 Memory的种类Flash memory是嵌⼊式系统中重要的组成部分,它在嵌⼊式系统中的功能可以和硬盘在PC中的功能相⽐。它们都是⽤来存储程序和数据的,⽽且可以在掉电的情况下继续保存数据使其不会丢失。Flash memory(闪速存储器)作为⼀种安全、快速的存储体,具有体积⼩,容量⼤,成本低,掉电数据不丢失等⼀系列优点,已成为嵌⼊式系统中数据和程序最主要的载体。根据结构的不同可以将其分为NOR Flash和NAND Flash两种。Flash Memory具有的特点如下:区块结构Flash Memory在物理结构上分成若⼲个区块,区块之间相互独⽴。⽐如NOR Flash把整个存储区分成若⼲个扇区(Sector),⽽NAND Flash把整个存储区分成若⼲个块(Block)。先擦后写由于Flash Memory的写操作只能将数据位1写成0,不能从0写成1,所以在对存储器进⾏写之前必须先执⾏擦除操作,将预写⼊的数据位初始化为1,擦操作的最⼩单位是⼀个区块,⽽不是单个字节。操作指令除了NOR Flash的读,Flash Memory的其他操作不能像RAM那样,直接对⽬标地址进⾏总线操作。⽐如执⾏⼀次写操作,它必须输⼊⼀串特殊的指令(NOR Flash),或者完成⼀段时序(NAND Flash)才能将数据写⼊到Flash Memory中。位反转由于Flash Memory固有的电器特性,在读写数据过程中,偶然会产⽣⼀位或⼏位数据错误。这就是位反转。位反转⽆法避免,只能通过其他⼿段对结果进⾏事后处理。坏块由于Flash Memory在使⽤过程中,可能导致某些区块的损坏。区块⼀旦损坏,将⽆法进⾏修复。如果对已损坏的区块进⾏操作,可能带来不可预测的错误。尤其是NAND Flash在出⼚时就可能存在这样的坏块(已经被标识出)。NOR FlashNOR Flash的特点是应⽤程序可以直接在闪存中运⾏,不需要再把代码读到系统RAM中运⾏。NOR Flash的传输效率很⾼,在1~4MB的⼩容量时具有很⾼的成本效益,但很低的擦除和写⼊速度⼤⼤影响了它的性能。NAND FlashNAND Flash的结构能提供极⾼的单元密度,可以达到⾼存储密度,并且写⼊和擦除的速度也很快,这也是为何很多U盘采⽤NANDFlash作为存储介质的原因。应⽤NAND Flash的困难在于闪存和需要特殊的系统接⼝。NOR Flash和NAND Flash各⾃的典型特征和不同点1.性能差异NOR Flash的读速度⽐NAND Flash稍快⼀些NAND Flash的写⼊速度⽐NOR Flash快很多NAND Flash的擦除速度远⽐NOR Flash的快很多。⼤多数写⼊操作需要先进⾏擦除操作。NAND Flash的随机读取能⼒差,适合⼤量数据的连续获取。2.接⼝差异NOR Flash带有SRAM接⼝,有⾜够的地址引脚来寻址,可以很容易地存取其内部的每⼀个字节。NAND Flash地址、数据和命令共⽤8位总线,每⼀次读写都要使⽤复杂的I/O接⼝串⾏地存取数据,8个引脚⽤来传送控制、地址和资料信息。NAND Flash读和写操作采⽤521B的块,有点像硬盘的管理操作。因此,基于NAND的闪存可以取代硬盘或其他块设备。3.容量和成本NAND Flash的单元尺⼨⼏乎是NOR Flash的⼀半,由于⽣产过程更为简单,NAND Flash结构可以在给定的模具尺⼨内提供更⾼的容量,也就相应地降低了价格。NOR Flash容量⼀般较⼩,通常在1MB~8MB之间。⽽NAND Flash只是⽤在8MB以上的产品中,这也说明NOR Flash主要应⽤在代码存储介质中,NAND Flash适合⽤于资料存储。4.可靠性和耐⽤性寿命(耐⽤性):在NAND Flash中每个块的最⼤擦写次数是⼀百万次,⽽NOR Flash的擦写次数是⼗万次位交换:所有Flash Memory器件都受位交换现象的困扰。在某些情况下(很少见,NAND Flash发⽣的次数要⽐NOR Flash多),⼀个⽐特位会发⽣反转或被报告反转了。坏块处理:NAND Flash中的坏块是随机分布的。以前曾有过消除坏块的努⼒,但发现成品率太低,代价太⾼,根本不划算。NANDFlash需要对介质进⾏初始化扫描以发现坏块,并对坏块进⾏标记不可⽤。在已制成的器件中,如果通过可靠的⽅法不能进⾏这项处理,将导致⾼故障率。5.易⽤性可以⾮常直接地使⽤基于NOR Flash,可以像其他内存那样连接,并可以在上⾯直接运⾏代码。由于需要I/O接⼝,NAND Flash要复杂得多。各种NAND Flash的存取⽅法因⼚家⽽异。在使⽤NAND Flash时,必须先写⼊驱动程序,才能继续执⾏其他操作。向NAND Flash写⼊数据需要相当的技巧,因为设计师绝不能向坏块写⼊,这就意味着NAND Flash上⾃始⾄终都必须进⾏虚拟映像。6.软件⽀持当讨论技术⽀持的时候,应该区别基本的读/写/擦操作和⾼⼀级的⽤于磁盘仿真和Flash Memory管理算法的软件,包括性能优化。在NOR Flash上运⾏代码不需要任何的技术⽀持。⽽在NAND Flash上进⾏同样的操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND Flash和NOR Flash在进⾏写⼊和擦除时都需要MTD。7.市场定位根据前⾯多介绍的NAND Flash和NOR Flash的特点,两者各⾃拥有相应的不同应⽤。⼀般来说,NOR Flash⽤于对数据可靠性要求较⾼的代码存储、通讯产品、⽹络处理等领域。⽽NAND Flash则⽤于对容量要求较⾼的MP3、存储卡、U盘等领域。正是如此,NOR Flash也被称为代码闪存(Code Flash),⽽NAND Flash也被称为数据闪存(Data Flash)。摘⾃《嵌⼊式系统设计师教程》⼀书。 《读书之法,在循序⽽渐进,熟读⽽精思。——朱熹》
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689548707a265250.html
评论列表(0条)