第三根支柱:能在黑暗中存活的記憶體
到目前為止,你已經見過記憶體階層三大支柱中的兩根,而兩者都健忘。SRAM(第 2 級)用一對交叉耦合的反相器把一個位元撐住,兩者彼此搶著把對方喚醒——又快又不知疲倦,但供電一掉,這場拉鋸就結束,位元也就沒了。DRAM(第 4 級)把位元存成一顆極易漏電的微小電容上的電荷,必須每秒更新(refresh)數千次;一斷電,它在幾毫秒內就忘了。兩者都是揮發性的:它們的記憶是一個「持續進行的活動」,而非一個「被儲存的物件」。停止餵能量,記憶就停止存在。
第三根支柱在「本質」上就不同。[[ic-nonvolatile-memory|非揮發性記憶體(NVM)]]把位元存成一種「物理狀態」,這狀態在完全沒有電源下仍持續存在——你得「主動去抹除」才能改變它。夢想是一種寫一次就能信任它多年後依然在那裡的記憶體,撐得過電源循環、重開機與電池耗盡。這一層存放著「任何電源穩定之前」就要讀到的開機碼、教晶片如何成為自己的韌體,以及在上千次充放電循環後依然健在的照片。當 SRAM 與 DRAM 在問「多快」時,NVM 問的是更難的問題:「你要怎麼造出一個拒絕遺忘的記憶體?」
Three pillars of on-chip memory
Type Cell Speed Density Power off?
------ ------------- ---------- ------- -------------------
SRAM 6T flip-flop fastest low FORGETS (microsec)
DRAM 1T1C capacitor fast high FORGETS (millisec)
NVM floating gate slow write highest REMEMBERS for years
(~10 yr retention)
Rule of thumb: each step right trades speed for the ability
to remember longer with less (or no) power.浮閘:藏在電晶體裡的電子陷阱
讓非揮發性記憶體無所不在的那個花招,是整個半導體設計中最優雅的點子之一,而它就藏在一顆看起來再普通不過的 MOSFET 裡。回想第 2 級的 MOSFET:一個閘極坐在通道上方,閘極電壓決定電晶體導不導通,而它切換導通的那個門檻就是臨界電壓 Vt。現在做一件怪事——在控制閘與通道之間,再塞進「第二片」完全孤立的導體,四面八方都被絕緣氧化層包住。它什麼都沒接。它在電氣上被困成孤島。這就是浮閘。
為什麼一片孤立、什麼都沒接的金屬碎片是整件事的關鍵?如果你能設法把電子注入浮閘,它們就無處可去——氧化層牆把它們困住,像琥珀裡的蒼蠅。而被困住的負電荷會做一件可量測的事:它部分屏蔽了控制閘對通道的電場。此時要讓電晶體導通,控制閘就得更費力,才能蓋過那團隱藏的負電荷——換句話說,臨界電壓往上位移了。空的浮閘給出「低」Vt;帶電的浮閘給出「高」Vt。這兩個 Vt 狀態穩定、分明,且能在斷電後存活,因為沒有任何東西把電荷拉出來。你只要檢查這顆元件落在哪個 Vt,就讀出了位元。
Floating-gate cell: a MOSFET with a hidden charge trap
control gate (the wordline you drive)
=================
~~~ oxide ~~~~~~~
[ FLOATING GATE ] <- electrons trapped here (or not)
~~~ tunnel oxide ~
n+ [ channel ] n+
-----------------
p-substrate
Floating gate EMPTY -> low Vt -> reads as '1' (erased)
Floating gate CHARGED -> high Vt -> reads as '0' (programmed)
Read = apply a gate voltage BETWEEN the two Vt's:
cell with low Vt -> turns on -> current flows -> '1'
cell with high Vt -> stays off -> no current -> '0'用量子穿隧寫入——以及它為何會磨損
那麼電子要怎麼跑到一個被絕緣層密封、連條線都沒有的閘上?你沒辦法直接把它們牽進去——那違反陷阱的整個用意。所以快閃用的是只在極端電場下才現身的物理。Fowler–Nordheim 穿隧:在薄薄的穿隧氧化層(幾奈米)兩端加上夠大的電壓,電場就陡到讓電子以量子力學方式「直接穿過」那道本該擋住它們的絕緣層。同一層在正常電壓下永遠困住電子的氧化層,在約 15–20 V 的逼迫下會短暫變得可通過。NOR 快閃常用一個相關機制——熱載子注入,讓沿通道加速的電子取得足夠能量,跳過屏障落到閘上。
抹除則反過來:把電場翻轉,讓電子穿隧「回流出」浮閘。注意那個替這項技術命名的不對稱。你可以抹除,但只能一次抹一大塊——把電荷拉出來是靠整個區域一起穿隧,所以快閃是「成塊」(一個 block 或 sector)抹除,而非逐位元抹。這正是它叫快閃(flash)的原因:早期一位工程師覺得用一個電脈衝抹掉一整塊,很像相機的閃光燈。你可以重新寫個別的「頁」,但要重寫一個「已寫入」的位元,你得先把它所在的整塊抹掉。這個「成塊抹除」的粒度,形塑了快閃使用方式的一切。
而這裡有一個其他記憶體都沒有的麻煩:每一次寫入/抹除循環都會傷害氧化層。每當電子被硬塞穿過穿隧氧化層,就有幾顆卡在絕緣層裡、晶格也生出幾個缺陷。被困的電荷慢慢把元件的 Vt 視窗位移,缺陷讓氧化層更會漏,直到有一天這顆元件再也撐不出一個可靠、可分辨的 1 與 0。這就是磨損(wear-out),它讓每顆快閃都有有限的耐久度(endurance)——以寫入/抹除(P/E)循環次數計。SLC 快閃也許能撐約 100,000 次;密度高的消費級 TLC/QLC 快閃常只有約 1,000–3,000 次。SRAM 或 DRAM 沒有這種限制;快閃是真的會「越用越老」。
NAND 對 NOR:把同一種元件接成兩種樣子
浮閘元件在兩者裡都一樣,但你「把上百萬顆怎麼接在一起」,把快閃分成個性相反的兩個物種。名字來自元件如何接到位元線。在 NOR 快閃裡,每顆元件並聯掛在一條位元線與地之間,像 NOR 閘的輸入。這代表任何單一元件都能被定址、單獨讀出,所以 CPU 可以直接從 NOR 抓指令——真正的隨機存取,逐位元組,且讀取極快。代價是面積:那麼多並聯接點很笨重,所以 NOR 密度低、每位元貴。NOR 是開機碼與小型韌體住的地方,是你就地執行(XIP)的那種記憶體。
在 NAND 快閃裡,元件以「串聯」相接——幾十顆元件汲源相接、像 NAND 閘的鏈一樣串成長串,共用少得多的接點。這把元件塞得難以置信地密,正因如此,NAND 是人類能造出最密、最便宜的記憶體,也是為什麼一片指甲大的晶片裝得下一 TB。麻煩在那條串聯鏈:要讀其中一顆,你得把「同一串裡其他每一顆都完全打開」好讓電流通過,再去感測目標那顆。你沒辦法讀單獨一個位元組——NAND 以頁(page)(讀/寫)與區塊(block)(抹除)為單位運作。它隨機存取慢、又需要重度 ECC,但論大量儲存——SSD、手機、隨身碟——沒有東西在「每位元成本」上贏得過它。
Same cell, opposite wiring
NOR (parallel) NAND (series string)
------------------ --------------------------
BL --+--[cell]-- GND BL --[c]-[c]-[c]-...-[c]-- GND
+--[cell]-- GND select one, drive the
+--[cell]-- GND rest fully ON to read
NOR NAND
+ fast random read + ~10x denser / cheaper bit
+ execute-in-place + best for bulk storage
- low density, costly - page/block access only
use: boot/firmware/code - needs heavy ECC
use: SSDs, phones, USB還有兩個事實補完整幅圖。為了追求越來越高的密度,現代 NAND 不再每顆元件只存一個位元。把 Vt 視窗切成數個可分辨的階,MLC 每顆存 2 位元、TLC 存 3、QLC 存 4——把更多資料擠進每個浮閘,代價是更窄的容錯、更慢的寫入與更低的耐久度。而為了不再縮小元件也能繼續成長,業界往「上」發展:3D NAND 把字串往上堆,如今早已超過 200 層,於是容量靠「蓋高」而非在平面的製程節點上塞更多來成長。NVM 是唯一一個「走向 3D」遠早於晶片其他部分、就成為主流答案的地方。
eFuse:把一項永久事實燒進矽裡
不是每個非揮發位元都需要被重寫上百萬次。有時候一顆晶片只需要記住「一件事、就一次、用一輩子」:它的序號、一把安全金鑰、要換進哪一條備用列,或是校準某個類比區塊的精確微調。對這些需求,完整的快閃是殺雞用牛刀——快閃需要特殊的高壓電荷幫浦與額外光罩步驟,而純邏輯製程沒有這些。輕量級的答案是 [[ic-efuse|eFuse]]:一種一次可程式化(OTP)元件,用「每顆晶片上本來就有的材料」就能造出來。
機制簡單到近乎粗暴。一個 eFuse 是一條細細的導體——多晶矽或金屬——未燒斷時是一條低電阻連結,讀作邏輯 0(或依慣例為 1)。要把它程式化,你就讓一個受控脈衝的大電流強行流過。這條細帶發熱,電遷移(electromigration)把原子實際重新排列,把連結開成一道高電阻的缺口——它真的就是像家用保險絲一樣被「燒斷」了。沒有電荷會漏走、沒有氧化層會磨損:現在是金屬本身的幾何形狀永久編碼了這個位元。一個保險絲你想讀幾次都行,但只能寫一次。沒有抹除。它是所有記憶體中最「非揮發」的,因為這個改變是結構性的。
快閃之外:新興 NVM 的前沿
快閃有一個它永遠甩不掉的頑固弱點:寫入意味著把電子硬推穿過氧化層,這既慢、又耗電、還磨損元件。數十年來研究者一直在尋找一種「寫起來像 SRAM 一樣快又不費力、記憶卻像快閃」的 NVM——那個被承諾已久的「通用記憶體」。已有幾位競爭者走出實驗室、進入真實的矽,而它們的共同點是把位元存進一種「新的物理狀態」,而不是浮閘。
- MRAM(磁性,尤其 STT-MRAM)——把位元存進一層微小薄膜的磁化方向。快速、耐久度幾近無限,且越來越多被用來在先進節點上取代內嵌快閃。是目前最被看好的晶上 NVM。
- ReRAM/憶阻器——位元是一條氧化物細絲「成形或斷裂」後的電阻。結構簡單、密度高,是記憶體內運算與 AI 加速器的寵兒。
- PCM(相變化)——讓一種硫族化合物在非晶(高電阻)與結晶(低電阻)兩相之間切換,與可重寫 DVD 同一套物理,如今搬上晶片。
- FeRAM(鐵電)——把位元存進鐵電層的極化方向;寫入能量極低、耐久度高,用在「功耗與速度比密度更重要」的場合。
沒有一個把快閃從大量儲存的寶座上拉下來——NAND 的每位元成本殘酷地難以匹敵——但好戲在內嵌這個尺度上演:在同一顆晶粒上、緊鄰邏輯造出的小型 NVM 區塊。當經典快閃在約 28 nm 以下越來越難整合,MRAM 與 ReRAM 正悄悄補上,成為先進半導體製程上首選的內嵌 NVM,把韌體與權重存在使用它們的核心旁邊。浮閘是過去四十年的答案;接下來的四十年,或許屬於那些把位元存成磁性、電阻或相態的記憶體。