首页 理论教育 NORFlash与NANDFlash区别:完美解析

NORFlash与NANDFlash区别:完美解析

时间:2023-10-31 理论教育 版权反馈
【摘要】:NORFlash和NANDFlash之间有很大的区别,在技术性能上存在差异。选择NORFlash还是选择NAND Flash要考虑二者的以下几个不同之处。NANDFlash在CompactFlash、SecureDigital、PCCards和MMC存储卡市场上所占的份额最大。NANDFlash存储器除了具有10比1的块擦除周期优势,典型的NANDFlash块尺寸仅是NORFlash器件的1/8。NANDFlash的供应商建议使用NAND闪存时,同时使用EDC/ECC算法。NANDFlash和NORFlash的区别见表7-2。

NORFlash与NANDFlash区别:完美解析

NORFlash和NANDFlash之间有很大的区别,在技术性能上存在差异。选择NORFlash还是选择NAND Flash要考虑二者的以下几个不同之处。

1.性能比较

Flash闪存是非易失存储器,可以对称为区块的存储器单元块进行擦写和再编程。用NANDFlash器件执行擦除操作是十分简单的,而NORFlash则要求在进行擦除前先要将目标块内所有的位都写为0。

擦除NORFlash器件时是以64~128KB的块进行的。执行一个写入/擦除操作的时间为5s。与此相反,擦除NANDFlash器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。

978-7-111-33316-6-Chapter07-9.jpg

图7-5 Flash存储管理系统在嵌入式文件系统中的位置

执行擦除时,块尺寸的不同进一步拉大了NORFlash和NADNFlash之间的性能差距。统计表明,对于给定的一套写入操作,尤其是更新小文件时更多的擦除操作,必须在基于NORFlash的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下各项因素。

NORFlash设计时就是为了高速访问程序代码,因此NORFlash的读速度比NAND Flash稍快一些。

2.接口差别

NORFlash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。NANDFlash器件使用复杂的I/O接口来串行地存取数据。各个产品或厂商的方法可能各不相同。8个引脚用来传送控制、地址和数据信息。NANDFlash读和写操作类似于硬盘管理此类操作。自然地,NANDFlash的存储器就可以取代硬盘或其他块设备了。

3.容量和成本

NANDFlash的单元尺寸几乎是NORFlash器件的一半。由于生产过程更为简单,NANDFlash结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。NOR Flash占据了容量为1~16MB闪存市场的大部分,而NANDFlash只是用在8~128MB的产品当中,这也说明NORFlash主要应用在代码存储介质中。NANDFlash适合于数据存储。NANDFlash在CompactFlash、SecureDigital、PCCards和MMC存储卡市场上所占的份额最大。

4.可靠性和耐用性

采用Flash介质时需要重点考虑的问题是可靠性。对于需要扩展MTBF的系统来说,Flash是非常合适的存储方案。可以从寿命(耐用性)、位交换和坏块处理3个方面来比较NOR和NAND的可靠性。(www.xing528.com)

●寿命(耐用性):在NANDFlash中每个块的最大擦写次数是一百万次,而NOR Flash的擦写次数是十万次。NANDFlash存储器除了具有10比1的块擦除周期优势,典型的NANDFlash块尺寸仅是NORFlash器件的1/8。每个NANDFlash存储器块在给定时间内的删除次数要少一些。

●位交换:所有Flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND Flash发生的次数要比NORFlash发生的次数多),一个比特位会发生反转或被报告反转了。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次可能就会解决了。当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NANDFlash。NANDFlash的供应商建议使用NAND闪存时,同时使用EDC/ECC算法。

●坏块处理:NANDFlash器件中的坏块是随机分布的。以前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。NANDFlash器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,将导致高故障率。

5.使用的方便程度

可以非常直接地使用基于NOR的闪存,可以像其他存储器那样连接,并可以在上面直接运行代码。由于需要I/O接口,所以NANDFlash要复杂得多。各种NAND器件的存取方法因厂家而异。在使用NAND器件时,必须先写入驱动程序,才能继续执行其他操作。向NAND器件写入信息需要一定的技巧,因为设计师绝不能向坏块写入,这意味着在NAND器件上自始至终都必须进行虚拟映射。

6.软件支持

当讨论软件支持时,应该区别基本的读/写/擦除操作和高一级的用于磁盘仿真和闪存管理算法的软件,包括性能优化。在NOR器件上运行代码不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NAND和NOR器件在进行写入和擦除操作时都需要MTD。

使用NOR器件时所需要的MTD相对少一些。许多厂商都提供用于NOR器件的更高级软件,其中包括M-System的TrueFFS驱动,该驱动被WindRiverSystem、Microsoft、QNX SoftwareSystem、Symbian和Intel等厂商所采用。驱动还用于对DiskOnChip产品进行仿真和NAND闪存的管理,包括纠错、坏块处理和损耗平衡。

NANDFlash和NORFlash的区别见表7-2。

表7-2 NANDFlash和NORFlash的区别

978-7-111-33316-6-Chapter07-10.jpg

(续)

978-7-111-33316-6-Chapter07-11.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈