nor flash 、nand flash、serial 区别

FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面咱们从多个角度来对比介绍一下。在实际开发中,设计者能够根据产品需求来进行闪存的合理选择。web

一、接口对比算法

NorFlash带有通用的SRAM接口,能够轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特色是芯片内执行(XIP,eXecute In Place),这样应用程序能够直接在flash闪存内运行,没必要再把代码读到系统RAM中。如uboot中的ro段能够直接在NorFlash上运行,只须要把rw和zi段拷贝到RAM中运行便可。svg

NandFlash器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。因为时序较为复杂,因此通常CPU好集成NAND控制器。另外因为NandFlash没有挂接在地址总线上,因此若是想用NandFlash做为系统的启动盘,就须要CPU具有特殊的功能,如s3c2410在被选择为NandFlash启动方式时会在上电时自动读取NandFlash的4k数据到地址0的SRAM中。若是CPU不具有这种特殊功能,用户不能直接运行NandFlash上的代码,那能够采起其余方式,好比好多使用NandFlash的开发板除了使用NandFlash之外,还用上了一块小的NorFlash来运行启动代码。性能

二、容量和成本对比设计

相比起NandFlash来讲,NorFlash的容量要小,通常在1~16MByte左右,一些新工艺采用了芯片叠加技术能够把NorFlash的容量作得大一些。在价格方面,NorFlash相比NandFlash来讲较高,如目前市场上一片4Mbyte的AM29lv320 NorFlash零售价在20元左右,而一片128MByte的k9f1g08 NandFlash零售价在30元左右。xml

NandFlash生产过程更为简单,NAND结构能够在给定的模具尺寸内提供更高的容量,这样也就相应地下降了价格。接口

三、可靠性性对比开发

NAND器件中的坏块是随机分布的,之前也曾有过消除坏块的努力,但发现成品率过低,代价过高,根本不划算。NAND器件须要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,若是经过可靠的方法不能进行这项处理,将致使高故障率。而坏块问题在NorFlash上是不存在的。flash

在Flash的位翻转(一个bit位发生翻转)现象上,NAND的出现概率要比NorFlash大得多。这个问题在Flash存储关键文件时是致命的,因此在使用NandFlash时建议同时使用EDC/ECC等校验算法。产品

四、寿命对比

在NAND闪存中每一个块的大擦写次数是一百万次,而NOR的擦写次数是十万次。闪存的使用寿命同时和文件系统的机制也有关,要求文件系统具备损耗平衡功能。

五、升级对比

NorFlash的升级较为麻烦,由于不一样容量的NorFlash的地址线需求不同,因此在更换不一样容量的NorFlash芯片时不方便。一般咱们会经过在电路板的地址线上作一些跳接电阻来解决这样的问题,针对不一样容量的NorFlash。

而不一样容量的NandFlash的接口是固定的,因此升级简单。

六、读写性能对比

写操做:任何flash器件的写入操做都只能在空或已擦除的单元内进行。NAND器件执行擦除操做是十分简单的,而NOR则要求在进行擦除前先要将目标块内全部的位都写为1。擦除NOR器件时是以64~128KB的块进行的,执行一个擦除/写入操做的时间约为5s。擦除NAND器件是以8~32KB的块进行的,执行一个擦除/写入操做多只须要4ms。

读操做:NOR的读速度比NAND稍快一些。

七、文件系统比较

Linux系统中采用MTD来管理不一样类型的Flash芯片,包括NandFlash和NorFlash。支持在Flash上运行的经常使用文件系统有cramfs、jffs、jffs二、yaffs、yaffs2等。cramfs文件系统是只读文件系统。若是想在Flash上实现读写操做,一般在NorFlash上咱们会选取jffs及jffs2文件系统,在NandFlash上选用yaffs或yaffs2文件系统。Yaffs2文件系统支持大页(大于512字节/页)的NandFlash存储器。

serial flash 如今有些芯片为了减小启动引脚,能够采用QSPI serial flash做为启动存储器。其采用spi/qspi 的方式进行串行的读取数据,减少引脚消耗。这个只是通讯方式的改变,其内部结构通常仍是nor flash或者nand flash