一、
Nand/Nor Flash简介
NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,提供更高的性能,并且像磁盘一样可以通过接口轻松升级。其容量可达1GB以上,并且写入和擦除速度很快,更适合于数据存储。
NOR Flash的存储单元位块(block),一般每个块64K~128K,块也是擦除的单位。
NAND Flash的存储单元为页(page)和块(block),块仍然是擦除单位,页作为坏扇的管理单位。每个块内包含若干个页,通常是32页,每个页又分为主数据区和附加数据区(extra),如果主数据区出现EDC/ECC校验错误,可以把错误记录在附加数据区。主数据区和附加数据区使用不同的命令字读/写,所以,从外界看来,主数据区和附加数据区具有相同的起始地址。常见的页的大小有两种,一种页的大小为512字节(简称“小页”),物理上依次分为2个256字节的主数据区,最后是16字节的备用空间(spare),“小页”模式多用于小于128M的芯片;而128MB以上的芯片大多使用大小为2K的页(即“大页”),附加数据区也不再是16字节,而是2048字节。
l性能比较
flash闪存是非易失存储器,可以对存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NOR器件的擦除单位比较大,一般是以64~128KB的块进行,执行一个擦除操作的时间为秒级,一般在1~3秒; NAND器件的擦除单位相对NOR要小,一般是以8~32KB的块进行,执行相同的操作最多只需要4ms。
NOR的读速度比NAND快的多。对NOR器件的读不需要做地址的特殊映射,可以把NOR Flash当作内存直接读取。
NAND的写入速度比NOR快的多。
NAND的4ms擦除速度远比NOR快。
l接口差别
NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码
NAND器件使用复杂的I/O口来串行的存取数据,各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。
NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
由于需要I/O接口,NAND要复杂得多。在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要相当的技巧,因为设计师绝不能向坏块写入,这就意味着在NAND器件上自始至终都必须进行虚拟映射。
l容量和成本
NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。
NOR flash占据了容量为1~16MB闪存市场的大部分,而NAND flash只是用在8~128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额比较大。
l可靠性和耐用性
采用flash介质时一个需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理三个方面来比较NOR和NAND的可靠性。
l寿命(耐用性)
在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND存储器除了具有10比1的块擦除周期优势,典型的NAND块尺寸要比NOR器件小8倍,每个NAND存储块在给定的时间内的删除次数要少一些。
l位交换
所有flash器件都受位交换现象的困扰。在某些情况下,一个比特位会发生反转或被报告反转了。NAND发生的次数要比NOR多。如果只是报告有问题,多读几次就可能解决了。,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
这个问题对于用NAND存储多媒体信息时不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。
l坏块处理
NOR不存在坏块问题,所以NOR的驱动中都不考虑坏块处理。
NAND器件中的存在坏块,坏块随机分布。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高。到目前为止还没有有效的方法彻底消除。
NAND器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。
二、VxWorks现存的支持方式
转载于:https://www.cnblogs.com/b2tang/archive/2009/12/25/1631996.html