最近学习flash时,说W25Q64是NOR flash。这个NOR flash和NAND flash的概念一直搞不清,下面是查询的相关资料。
1、结构方面:
NORflash采用内存的随机读取技术。各单元之间是并联的,对存储单元进行统一编址,所以可以随机访问任意一个字。
既然是统一编址,NORflash就可以芯片内执行,即应用程序可直接在flash内运行,而无需先拷贝到RAM。
NANDflash数据线和地址线共用I/O线,需额外联接一些控制的输入输出。
2、NOR flash有更快的读取速度
NAND flash有更快的写、擦除速度。
3、可靠性
A、寿命(耐用性):flash写入和擦除数据时会导致介质的氧化降解。
这方面NOR flash尤甚,所以NORflash不适合频繁擦写。
NOR的擦写次数是10万次,NAND的擦写次数是100万次。
B、坏块处理:NAND器件的坏块是随机分布的,在使用过程中,难免会产生坏块。所以在使用时要进行坏块管理
以保障数据可靠。
4、成本和容量
在面积和工艺相同的情况下,NAND的容量比NOR大的多,成本更低。
5、易用性:
NOR flash有专用的地址引脚来寻址,较容易和其他芯片联接,还支持本地执行。
NAND flash的IO端口采用复用的数据线和地址线,必须先通过寄存器串行地进行数据存取。各厂商对信号的定义不同,增加了应用的难度。
6、编程角度
NOR flash采用统一编址(有独立地址线),可随机读取每个“字”,但NOR flash不能像RAM以字节改写数据,只能按“页”写,故NOR flash不能代替RAM。擦除既可整页擦除,也可整块擦除。
NAND flash共用地址线和数据线,页是读写数据的最小单元,块是擦除数据的最小单元。
另外,flash进行写操作时,只能将相应的位由1变0,而擦除才能把块内所有位由0变1。所有写入数据时,如果该页已经存在数据,必须先擦除再写。
(想起来STM32的FLASH模拟EEPROM中,页擦除后数据全是0XFF,就是擦除后页内所有位由0变1吧)
NOR flash可直接通过程序编程,根据地址直接读取,容量一般是M级别的
NAND flash是根据数据块来设计的,所有NAND flash容量更大,一般是G级别的。