EEPROM和flash这样讲,早就懂了!

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

ROM分为EEPROM和Flash,EEPROM可以随机访问和修改任何一个字节,保存100年,擦写100w次,但电路复杂成本高。Flash以块为单位擦除,数据密度高,成本低,但读取速度慢。Nor Flash可以随机寻址,Nand Flash不能。Nor Flash使用寿命长,Nand Flash可以标记坏块。嵌入式系统常用Nor Flash存储引导代码,Nand Flash存放文件系统和内核。

🔎

延伸解读

从ROM到EEPROM的技术演进

文章梳理了ROM家族的发展脉络:从不可编程的ROM,到一次性编写的PROM,再到需紫外线擦除的EPROM,最终演进到电可擦除的EEPROM。这一过程反映了存储技术对灵活性和可修改性的不断追求,EEPROM的出现极大方便了程序员调试和更新程序。

狭义与广义EEPROM的区分

狭义EEPROM可随机访问和修改任一字节,保存100年,擦写100万次,但电路复杂、成本高,容量通常只有几十到几百千字节。广义EEPROM则包含Flash,Flash以块为单位擦除,简化了电路,提高了数据密度并降低成本,因此兆字节级存储多采用Flash。

Nor Flash与Nand Flash的对比

Nor Flash数据线和地址线分开,支持随机寻址,可读取任一字节,但擦除按块进行;Nand Flash数据线和地址线复用,不能随机寻址,读取按页进行。Nand Flash读取速度稍慢,但擦除和写入更快,内部电路简单,数据密度大、体积小、成本低,因此大容量Flash多为Nand型。

嵌入式系统中的典型应用

由于Nor Flash可进行字节寻址,程序能直接在Nor Flash中运行,且擦除次数是Nand的数倍,但一旦损坏便无法再用。Nand Flash则支持标记坏块,软件可跳过坏块继续使用。因此嵌入式系统常用小容量Nor Flash存储引导代码,用大容量Nand Flash存放文件系统和内核。

❓

Q&A

EEPROM和Flash有什么区别?

EEPROM可以随机访问和修改任何一个字节,擦写次数高达100万次,数据保存100年,但电路复杂、成本高。Flash属于广义的EEPROM,擦除时以块为单位,数据密度更高,成本更低,但读取速度相对较慢。

NOR Flash和NAND Flash有什么不同?

NOR Flash数据线和地址线分开,支持随机寻址,可以读取任何一个字节,擦除按块进行,擦除次数是NAND的数倍,但一旦损坏无法再用。NAND Flash数据线和地址线复用,不能随机寻址,读取按页进行,擦除和写入速度更快,数据密度大、体积小、成本低,且可以标记坏块。

为什么嵌入式系统常用NOR Flash存储引导代码?

因为NOR Flash可以进行字节寻址,所以程序可以直接在NOR Flash中运行。嵌入式系统通常用一个小容量的NOR Flash存储引导代码,而用大容量的NAND Flash存放文件系统和内核。

EEPROM的擦写寿命和保存时间是多少?

狭义的EEPROM可以擦写100万次,数据掉电后不丢失,可以保存100年。

ROM的发展经历了哪些阶段?

ROM的发展经历了:最初的ROM无法编程,内容固定;PROM允许一次性编写;EPROM可多次擦写但需紫外线照射;EEPROM可电擦除,能随机修改字节;Flash作为广义EEPROM,按块擦除,成本更低。

NAND Flash为什么成本低、容量大?

NAND Flash的数据线和地址线复用,内部电路更简单,因此数据密度大、体积小、成本也低。所以大容量的Flash都是NAND型的,而小容量的2~12M的Flash多是NOR型的。

🏷️

标签

➡️

继续阅读