从 ROM 到 Flash:非易失性存储的演进逻辑
扫描二维码
随时随地手机看文章
在每一台嵌入式设备的核心芯片中,都存在着一种不可或缺的 “记忆载体”——ROM 与 Flash 存储器。它们不像 RAM 那样承担临时数据运算,却能在设备断电后长久保存程序代码与关键数据,是设备 “记住如何工作” 的根本。从早期计算器中的 Mask ROM,到如今智能手机里的 3D NAND Flash,从工业传感器的 EEPROM,到汽车电子的车规级 Flash,ROM 与 Flash 的技术演进不仅推动了嵌入式系统的小型化、低功耗与大容量发展,更成为支撑智能设备从 “简单控制” 走向 “复杂智能” 的核心基石。理解 ROM 与 Flash 的技术逻辑、分类差异与应用场景,便是读懂嵌入式系统 “记忆体系” 的关键。
要理解 ROM 与 Flash 的关系,首先需要明确其共同属性 ——非易失性存储(Non-Volatile Memory, NVM),即断电后数据仍能长期保存的特性。这一特性使其与易失性的 RAM(断电数据丢失)形成互补,共同构成嵌入式系统的存储体系:RAM 负责临时数据运算,ROM/Flash 负责永久保存程序与核心数据。而 ROM 与 Flash 的演进,本质上是一场围绕 “可编程性”“擦写灵活性”“存储密度” 与 “成本” 的持续优化,逐步解决早期非易失性存储的局限性。
(一)早期 ROM:从 “不可改” 到 “一次改” 的突破
最初的 ROM(Read-Only Memory,只读存储器)诞生于 20 世纪 50 年代,核心定位是 “一次性写入、永久读取”。最原始的 Mask ROM(掩模 ROM)通过芯片制造阶段的金属连线 “定制数据”—— 在晶圆光刻时,用掩模板定义存储单元的 “0” 与 “1”(有金属连线为 1,无则为 0),一旦生产完成便无法修改。这种 ROM 的优势是成本极低、可靠性极高,适合量产且程序固定的设备,如早期计算器的运算逻辑、家电遥控器的控制程序。但致命缺陷是 “灵活性为零”:若程序需要修改,必须重新制作掩模板,研发周期长、成本高,完全无法适配需要迭代升级的嵌入式系统。
为解决 “不可修改” 的问题,PROM(Programmable ROM,可编程 ROM)应运而生。PROM 的存储单元采用 “熔丝结构”—— 每个单元对应一根细金属熔丝,出厂时所有熔丝导通(默认数据为 1),用户可通过专用编程器向特定单元通入高电流,熔断熔丝(数据变为 0),实现 “一次性编程”。相比 Mask ROM,PROM 无需定制掩模板,用户可自主写入程序,灵活性大幅提升,但仍存在 “写入后不可擦除” 的局限:一旦编程错误,芯片便彻底报废,仅适用于程序无需后续修改的简单场景(如早期工业设备的固定控制逻辑)。
(二)可擦除 ROM:从 “紫外擦除” 到 “电擦除” 的跨越
随着嵌入式系统对程序迭代的需求提升,“可擦除” 成为非易失性存储的核心诉求,EPROM 与 EEPROM 由此诞生,逐步实现 “多次擦写” 的突破。
EPROM(Erasable PROM,可擦除可编程 ROM)在 1971 年由英特尔推出,其核心创新是采用 “浮栅 MOS 管” 作为存储单元。浮栅是一个被氧化层包裹的导电层,写入数据时,通过高电压将电子注入浮栅(电子滞留代表 1,无电子代表 0);擦除数据时,需将芯片暴露在紫外线下(波长 2537Å),紫外线能量打破氧化层束缚,使浮栅电子释放,恢复初始状态。EPROM 首次实现了 “多次擦写”(擦写寿命约 100 次),但缺陷显著:擦除需拆卸芯片、暴露在紫外灯下,耗时数分钟,且无法实现 “局部擦除”(必须整片擦除),完全无法满足嵌入式系统 “在线修改数据” 的需求。
真正实现 “便捷擦写” 的是 EEPROM(Electrically Erasable PROM,电可擦除可编程 ROM)。EEPROM 在浮栅结构基础上优化了氧化层设计,采用 “隧道氧化层”(更薄的氧化层),通过 “隧道效应” 实现电擦除 —— 无需紫外线,仅通过芯片引脚施加反向电压,即可使浮栅电子通过隧道氧化层释放,且支持 “字节级擦除”(可单独修改某个字节数据)。这一特性使其成为嵌入式系统中 “关键参数存储” 的首选,如传感器的校准系数、设备的序列号、用户设置的参数(如智能门锁的密码),擦写寿命提升至 10 万次以上,数据保持力可达 10 年。但 EEPROM 的局限在于存储密度低、成本高—— 由于字节级擦写需要复杂的控制电路,单个存储单元占用面积大,无法实现大容量存储(通常最大容量仅几 MB),难以满足程序代码存储的需求。
(三)Flash 的诞生:融合 “高密度” 与 “便捷擦写” 的革命
20 世纪 80 年代,嵌入式系统对 “大容量程序存储” 的需求日益迫切 ——MCU 的程序代码从几 KB 增长到几十 KB,甚至几 MB,EEPROM 的低密度与高成本已无法承载。此时,Flash 存储器(闪存)应运而生,其核心目标是 “融合 EEPROM 的电擦除优势与 ROM 的高密度优势”,解决 “大容量与低成本” 的矛盾。
Flash 的技术突破在于简化擦除单元:不同于 EEPROM 的字节级擦除(需要每个单元独立的擦写电路),Flash 采用 “块级擦除”(将多个存储单元组成一个 “块”,统一擦除),大幅减少了控制电路的复杂度,单个存储单元占用面积仅为 EEPROM 的 1/10,存储密度显著提升,成本大幅降低。同时,Flash 保留了 EEPROM 的电擦除特性,无需紫外线,可通过电信号实现擦写,且擦写寿命提升至 10 万 - 100 万次(远超 EPROM),数据保持力可达 20 年。
最初的 Flash 分为两大技术路线:NOR Flash与NAND Flash,两者在存储结构、读写性能与应用场景上形成鲜明差异,共同覆盖了嵌入式系统的 “代码存储” 与 “数据存储” 需求 ——NOR Flash 因 “随机读取速度快”,适合存储程序代码(MCU 执行程序时需随机读取指令);NAND Flash 因 “顺序读写速度快、存储密度更高、成本更低”,适合存储大容量数据(如传感器采集的日志、多媒体文件)。这种 “分工协作” 的格局,至今仍是嵌入式存储体系的核心架构。