Google “Nand Flash 和Nor Flash 的区别”。
简单点说,主要的区别就是:
1、 NAND 比NOR 便宜;NAND 的容量比NOR 大(指相同成本);NAND 的擦写次数是NOR 的十倍;NAND 的擦除和写入速度比NOR 快,读取速度比NOR 稍慢;
2、 NAND 和NOR 的读都可以以字节为单位,但NAND 的写以page 为单位,而NOR 可以随机写每一个字节。NAND 和NOR 的擦除都以block 为单位,但一般NAND 的block 比NOR 的block 小。另外,不管是NAND 还是NOR ,在写入前,都必须先进行擦除操作,擦除操作就是把数据写入0xFF ;
3、 NAND 不能在片内运行程序,而NOR 可以。但目前很多CPU 都可以在上电时,以硬件的方式先将NAND 的第一个block 中的内容(一般是程序代码,且也许不足一个block ,如2KB 大小)自动copy 到ram 中,然后再运行,因此只要CPU 支持,NAND 也可以当成启动设备;
4、 NAND 和NOR 都可能发生比特位反转(但NAND 反转的几率远大于NOR ),因此这两者都必须进行ECC 操作;NAND 可能会有坏块(出厂时厂家会对坏块做标记),在使用过程中也还有可能会出现新的坏块,因此NAND 驱动必须对坏块进行管理。