從 ROM 到 Flash:非易失性存儲的演進(jìn)邏輯
在每一臺嵌入式設(shè)備的核心芯片中,都存在著一種不可或缺的 “記憶載體”——ROM 與 Flash 存儲器。它們不像 RAM 那樣承擔(dān)臨時(shí)數(shù)據(jù)運(yùn)算,卻能在設(shè)備斷電后長久保存程序代碼與關(guān)鍵數(shù)據(jù),是設(shè)備 “記住如何工作” 的根本。從早期計(jì)算器中的 Mask ROM,到如今智能手機(jī)里的 3D NAND Flash,從工業(yè)傳感器的 EEPROM,到汽車電子的車規(guī)級 Flash,ROM 與 Flash 的技術(shù)演進(jìn)不僅推動了嵌入式系統(tǒng)的小型化、低功耗與大容量發(fā)展,更成為支撐智能設(shè)備從 “簡單控制” 走向 “復(fù)雜智能” 的核心基石。理解 ROM 與 Flash 的技術(shù)邏輯、分類差異與應(yīng)用場景,便是讀懂嵌入式系統(tǒng) “記憶體系” 的關(guān)鍵。
要理解 ROM 與 Flash 的關(guān)系,首先需要明確其共同屬性 ——非易失性存儲(Non-Volatile Memory, NVM),即斷電后數(shù)據(jù)仍能長期保存的特性。這一特性使其與易失性的 RAM(斷電數(shù)據(jù)丟失)形成互補(bǔ),共同構(gòu)成嵌入式系統(tǒng)的存儲體系:RAM 負(fù)責(zé)臨時(shí)數(shù)據(jù)運(yùn)算,ROM/Flash 負(fù)責(zé)永久保存程序與核心數(shù)據(jù)。而 ROM 與 Flash 的演進(jìn),本質(zhì)上是一場圍繞 “可編程性”“擦寫靈活性”“存儲密度” 與 “成本” 的持續(xù)優(yōu)化,逐步解決早期非易失性存儲的局限性。
(一)早期 ROM:從 “不可改” 到 “一次改” 的突破
最初的 ROM(Read-Only Memory,只讀存儲器)誕生于 20 世紀(jì) 50 年代,核心定位是 “一次性寫入、永久讀取”。最原始的 Mask ROM(掩模 ROM)通過芯片制造階段的金屬連線 “定制數(shù)據(jù)”—— 在晶圓光刻時(shí),用掩模板定義存儲單元的 “0” 與 “1”(有金屬連線為 1,無則為 0),一旦生產(chǎn)完成便無法修改。這種 ROM 的優(yōu)勢是成本極低、可靠性極高,適合量產(chǎn)且程序固定的設(shè)備,如早期計(jì)算器的運(yùn)算邏輯、家電遙控器的控制程序。但致命缺陷是 “靈活性為零”:若程序需要修改,必須重新制作掩模板,研發(fā)周期長、成本高,完全無法適配需要迭代升級的嵌入式系統(tǒng)。
為解決 “不可修改” 的問題,PROM(Programmable ROM,可編程 ROM)應(yīng)運(yùn)而生。PROM 的存儲單元采用 “熔絲結(jié)構(gòu)”—— 每個(gè)單元對應(yīng)一根細(xì)金屬熔絲,出廠時(shí)所有熔絲導(dǎo)通(默認(rèn)數(shù)據(jù)為 1),用戶可通過專用編程器向特定單元通入高電流,熔斷熔絲(數(shù)據(jù)變?yōu)?span> 0),實(shí)現(xiàn) “一次性編程”。相比 Mask ROM,PROM 無需定制掩模板,用戶可自主寫入程序,靈活性大幅提升,但仍存在 “寫入后不可擦除” 的局限:一旦編程錯(cuò)誤,芯片便徹底報(bào)廢,僅適用于程序無需后續(xù)修改的簡單場景(如早期工業(yè)設(shè)備的固定控制邏輯)。
(二)可擦除 ROM:從 “紫外擦除” 到 “電擦除” 的跨越
隨著嵌入式系統(tǒng)對程序迭代的需求提升,“可擦除” 成為非易失性存儲的核心訴求,EPROM 與 EEPROM 由此誕生,逐步實(shí)現(xiàn) “多次擦寫” 的突破。
EPROM(Erasable PROM,可擦除可編程 ROM)在 1971 年由英特爾推出,其核心創(chuàng)新是采用 “浮柵 MOS 管” 作為存儲單元。浮柵是一個(gè)被氧化層包裹的導(dǎo)電層,寫入數(shù)據(jù)時(shí),通過高電壓將電子注入浮柵(電子滯留代表 1,無電子代表 0);擦除數(shù)據(jù)時(shí),需將芯片暴露在紫外線下(波長 2537?),紫外線能量打破氧化層束縛,使浮柵電子釋放,恢復(fù)初始狀態(tài)。EPROM 首次實(shí)現(xiàn)了 “多次擦寫”(擦寫壽命約 100 次),但缺陷顯著:擦除需拆卸芯片、暴露在紫外燈下,耗時(shí)數(shù)分鐘,且無法實(shí)現(xiàn) “局部擦除”(必須整片擦除),完全無法滿足嵌入式系統(tǒng) “在線修改數(shù)據(jù)” 的需求。
真正實(shí)現(xiàn) “便捷擦寫” 的是 EEPROM(Electrically Erasable PROM,電可擦除可編程 ROM)。EEPROM 在浮柵結(jié)構(gòu)基礎(chǔ)上優(yōu)化了氧化層設(shè)計(jì),采用 “隧道氧化層”(更薄的氧化層),通過 “隧道效應(yīng)” 實(shí)現(xiàn)電擦除 —— 無需紫外線,僅通過芯片引腳施加反向電壓,即可使浮柵電子通過隧道氧化層釋放,且支持 “字節(jié)級擦除”(可單獨(dú)修改某個(gè)字節(jié)數(shù)據(jù))。這一特性使其成為嵌入式系統(tǒng)中 “關(guān)鍵參數(shù)存儲” 的首選,如傳感器的校準(zhǔn)系數(shù)、設(shè)備的序列號、用戶設(shè)置的參數(shù)(如智能門鎖的密碼),擦寫壽命提升至 10 萬次以上,數(shù)據(jù)保持力可達(dá) 10 年。但 EEPROM 的局限在于存儲密度低、成本高—— 由于字節(jié)級擦寫需要復(fù)雜的控制電路,單個(gè)存儲單元占用面積大,無法實(shí)現(xiàn)大容量存儲(通常最大容量僅幾 MB),難以滿足程序代碼存儲的需求。
(三)Flash 的誕生:融合 “高密度” 與 “便捷擦寫” 的革命
20 世紀(jì) 80 年代,嵌入式系統(tǒng)對 “大容量程序存儲” 的需求日益迫切 ——MCU 的程序代碼從幾 KB 增長到幾十 KB,甚至幾 MB,EEPROM 的低密度與高成本已無法承載。此時(shí),Flash 存儲器(閃存)應(yīng)運(yùn)而生,其核心目標(biāo)是 “融合 EEPROM 的電擦除優(yōu)勢與 ROM 的高密度優(yōu)勢”,解決 “大容量與低成本” 的矛盾。
Flash 的技術(shù)突破在于簡化擦除單元:不同于 EEPROM 的字節(jié)級擦除(需要每個(gè)單元獨(dú)立的擦寫電路),Flash 采用 “塊級擦除”(將多個(gè)存儲單元組成一個(gè) “塊”,統(tǒng)一擦除),大幅減少了控制電路的復(fù)雜度,單個(gè)存儲單元占用面積僅為 EEPROM 的 1/10,存儲密度顯著提升,成本大幅降低。同時(shí),Flash 保留了 EEPROM 的電擦除特性,無需紫外線,可通過電信號實(shí)現(xiàn)擦寫,且擦寫壽命提升至 10 萬 - 100 萬次(遠(yuǎn)超 EPROM),數(shù)據(jù)保持力可達(dá) 20 年。
最初的 Flash 分為兩大技術(shù)路線:NOR Flash與NAND Flash,兩者在存儲結(jié)構(gòu)、讀寫性能與應(yīng)用場景上形成鮮明差異,共同覆蓋了嵌入式系統(tǒng)的 “代碼存儲” 與 “數(shù)據(jù)存儲” 需求 ——NOR Flash 因 “隨機(jī)讀取速度快”,適合存儲程序代碼(MCU 執(zhí)行程序時(shí)需隨機(jī)讀取指令);NAND Flash 因 “順序讀寫速度快、存儲密度更高、成本更低”,適合存儲大容量數(shù)據(jù)(如傳感器采集的日志、多媒體文件)。這種 “分工協(xié)作” 的格局,至今仍是嵌入式存儲體系的核心架構(gòu)。