在曩昔的二十年里,ROM和EPROM一直是嵌入式体系的存储设备的首选。可是,今日越来越多的嵌入式体系规划者选用Flash这种可读写的存储设备进行规划开发。
Flash存储技能
在曩昔的二十年里,ROM和EPROM一直是嵌入式体系的存储设备的首选。可是,今日越来越多的嵌入式体系规划者选用Flash这种可读写的存储设备进行规划开发。
Flash首要分为NOR和NAND两类。NOR和NAND是现在商场上两种首要的非易失闪存技能。Intel于1988年首先开宣布NOR Flash技能,彻底改变了原先由EPROM和EEPROM统一天下的局势。紧接着,1989年,东芝公司宣布了NAND Flash结构,着重下降每比特的本钱,更高的功能,而且象磁盘相同能够经过接口轻松升级。
NOR的特点是芯片内履行(XIP, eXecute In Place),这样运用程序能够直接在Flash闪存中运转,而不用再把代码读到体系RAM中。NOR的传输功率很高,在1~4MB的小容量时具有很高的本钱效益,可是很低的写入和擦除速度大大影响了它的功能。
NAND结构能供给极高的单元密度,能够到达高存储密度,而且写入和擦除的速度也很快。但运用NAND的困难在于Flash的办理需求特别的体系接口。
可是历经十多年之后,依然有适当多的硬件工程师分不清NOR和NAND闪存。由于大多数情况下闪存仅仅用来存储少数的代码,这时NOR闪存更适合一些。“Flash存储器”便常常与“NOR存储器”交流运用。但NAND则是高数据存储密度的抱负处理计划。
下面临二者作较为具体的比较:
功能比较
Flash闪存对错易失存储器,能够对称为块的存储器单元块进行擦写和再编程。任何Flash器材的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前有必要先履行擦除。NAND器材履行擦除操作是十分简略的,而NOR则要求在进行擦除前先要将方针块内一切的位都写为0。
由于擦除NOR器材时是以64~128KB的块进行的,履行一个写入/擦除操作的时刻为5s,与此相反,擦除NAND器材是以8~32KB的块进行的,履行相同的操作最多只需求4ms。
履行擦除时块尺度的不同进一步拉大了NOR和NADN之间的功能距离,计算标明,关于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作有必要在根据NOR的单元中进行。这样,当挑选存储处理计划时,规划师有必要权衡以下的各项要素。
● NOR的读速度比NAND稍快一些。
● NAND的写入速度比NOR快许多。
● NAND的4ms擦除速度远比NOR的5s快。
● 大多数写入操作需求先进行擦除操作。
● NAND的擦除单元更小,相应的擦除电路更少。
接口不同
NOR Flash带有SRAM接口,有满足的地址引脚来寻址,能够很容易地存取其内部的
每一个字节。
NAND器材运用杂乱的I/O口来串行地存取数据,各个产品或厂商的办法或许各不相同。8个引脚用来传送操控、地址和数据信息。
NAND读和写操作选用512字节的块,这一点有点像硬盘办理此类操作,很自然地,根据NAND的存储器就能够替代硬盘或其他块设备。
容量和本钱
NAND Flash的单元尺度几乎是NOR器材的一半,由于生产过程更为简略,NAND结构能够在给定的模具尺度内供给更高的容量,也就相应地下降了价格。
NOR Flash占有了容量为1~16MB闪存商场的大部分,而NAND Flash仅仅用在8~128MB的产品傍边,这也阐明NOR首要运用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡商场上所占比例最大。
牢靠性和耐用性
选用Flash介质时一个需求要点考虑的问题是牢靠性。关于需求扩展MTBF的体系来说,Flash对错常适宜的存储计划。能够从寿数(耐用性)、位交流和坏块处理三个方面来比较NOR和NAND的牢靠性。
寿数(耐用性)
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺度要比NOR器材小8倍,每个NAND存储器块在给定的时刻内的删去次数要少一些。
位交流
一切Flash器材都受位交流现象的困扰。在某些情况下(很少见,NAND产生的次数要比NOR多),一个比特位会产生回转或被陈述回转了。
一位的改变或许不很显着,可是假如产生在一个要害文件上,这个小小的毛病或许导致体系停机。假如仅仅陈述有问题,多读几回就或许处理了。
当然,假如这个位真的改变了,就有必要选用过错勘探/过错更正(EDC/ECC)算法。位回转的问题更多见于NAND闪存,NAND的供货商主张运用NAND闪存的时分,一起运用EDC/ECC算法。这个问题关于用NAND存储多媒体信息时倒不是丧命的。当然,假如用本地存储设备来存储操作体系、配置文件或其他灵敏信息时,有必要运用EDC/ECC体系以保证牢靠性。
坏块处理
NAND器材中的坏块是随机散布的。曾经也曾有过消除坏块的尽力,但发现成品率太低,价值太高,底子不划算。NAND器材需求对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器材中,假如经过牢靠的办法不能进行这项处理,将导致高毛病率。
易用性
能够十分直接地运用根据NOR的闪存,能够像其他存储器那样衔接,并能够在上面直接运转代码。
由于需求I/O接口,NAND要杂乱得多。各种NAND器材的存取办法因厂家而异。在运用NAND器材时,有必要先写入驱动程序,才干持续履行其他操作。向NAND器材写入信息需求适当的技巧,由于规划师绝不能向坏块写入,这就意味着在NAND器材上从头到尾都有必要进行虚拟映射。
软件支撑
当评论软件支撑的时分,应该差异根本的读/写/擦操作和高一级的用于磁盘仿真和闪存办理算法的软件,包含功能优化。
在NOR器材上运转代码不需求任何的软件支撑,在NAND器材进步行相同操作时,一般需求驱动程序,也便是内存技能驱动程序(MTD),NAND和NOR器材在进行写入和擦除操作时都需求MTD。
运用NOR器材时所需求的MTD要相对少一些,许多厂商都供给用于NOR器材的更高档的软件,这其间包含M-System的TrueFFS驱动,该驱动被Wind River System、Microsoft、QNX Software System、Symbian和Intel等厂商所选用。驱动还用于对DiskOnChip产品进行仿真和NAND闪存的办理,包含纠错、坏块处理和损耗平衡。