FLASH与EEPROM区别:
他们的存储单元基本一致,只是FLASH的存储单元的源极都是连在一起的,因此,擦除是会一起擦除,而EEPROM是可以按字节独立擦除的,技术上,FLASH是结合EPROM和EEPROM技术达到的,FLASH对芯片提供大块或整块的擦除,这就降低了设计的复杂性,可以做到高集成度,大容量,另FLASH的浮栅工艺上也不同,写入速度更快。
操作单位:
1、NAND是以页为基本单位操作的。写入数据也是首先在页面缓冲区内缓冲,数据首先写入这里,再写命令后,再统一写入页内,因此每次改写一个字节,都要重写整个页,因为它只支持页写,而且如果页内有未擦除的部分,则无法编程,在写入前必须保证页是空的。
因此NAND页缓冲区的作用就是,保证芯片的按页的读、写操作,是I/O操作与芯片操作的接口、桥梁,因为数据是从I/O输入的又是每次一个字节,因此需要缓冲。
2、NOR则是字节为基本单位操作的,可以字节写、读,但擦除是扇区操作的。综上所述在芯片操作上,NAND要比NOR快很多,因为NAND是页操作的而NOR是字节操作的。
3、NAND 正是基于这种构造:块、页,无法字节寻址,页读写本身就靠的是内部复杂的串、并行转换,因此也没有很多地址引脚,所以其地址、数据线共用,所以容量可以做的很大 。NOR 是和SRAM一样的可随机存储的,也不需要驱动,因此,其地址就有限,所以容量普遍较小,其实是受限于地址线。
4、在工业领域,NOR 用的较多,特别是程序存储,少量数据存储等。 在消费领域,大量数据存储,NAND较多。
5、NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
当选择存储解决方案时,设计师必须权衡以下的各项因素。
● NOR的读速度比NAND稍快一些。
● NAND的写入速度比NOR快很多。
● NAND的4ms擦除速度远比NOR的5s快。
● 大多数写入操作需要先进行擦除操作。
● NAND的擦除单元更小,相应的擦除电路更少。
6、位交换
所有flash器件都受位交换现象的困扰。在某些情况下(很少见,NAND发生的次数要比NOR多),一个比特位会发生反转或被报告反转了。 一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。
当然,如果这个位真的改变了,就必须采用错误探测/错误更正(EDC/ECC)算法。位反转的问题更多见于NAND闪存,NAND的供应商建议使用NAND闪存的时候,同时使用EDC/ECC算法。
这个问题对于用NAND存储多媒体信息时倒不是致命的。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用EDC/ECC系统以确保可靠性。