JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

非揮發性記憶體:快閃、浮閘與 eFuse

把[[ic-sram-bitcell|SRAM]] 或 [[ic-dram-cell|DRAM]] 的電源拔掉,每一個位元都會在幾微秒內蒸發。然而你的手機在抽屜裡躺了幾週仍記得你的照片,一顆晶片開機時也立刻知道自己的序號與微調設定。這份記憶能在黑暗中存活,是因為有幾千顆電子被鎖在一顆[[transistor|電晶體]]裡、無處可逃。本篇打開浮閘——看捕捉電荷如何位移臨界電壓、[[ic-flash-memory|快閃]]如何讀寫與磨損,以及一次性的 [[ic-efuse|eFuse]] 如何把一項永久事實燒進矽中。

第三根支柱:能在黑暗中存活的記憶體

到目前為止,你已經見過記憶體階層三大支柱中的兩根,而兩者都健忘。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.
三根記憶體支柱並排比較。NVM 放棄了寫入速度,換到另外兩者給不了的東西:能比電源活得更久的記憶。

浮閘:藏在電晶體裡的電子陷阱

讓非揮發性記憶體無所不在的那個花招,是整個半導體設計中最優雅的點子之一,而它就藏在一顆看起來再普通不過的 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'
浮閘坐在控制閘與通道之間,被氧化層密封。被困的電子抬高 Vt;讀取只是在問「在這個閘極電壓下,這顆元件有沒有導通?」

用量子穿隧寫入——以及它為何會磨損

那麼電子要怎麼跑到一個被絕緣層密封、連條線都沒有的閘上?你沒辦法直接把它們牽進去——那違反陷阱的整個用意。所以快閃用的是只在極端電場下才現身的物理。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
NOR 把元件並聯,換來快速的位元組級讀取;NAND 把它們串聯,換來最高密度。元件本身完全相同——是拓樸決定了用途。

還有兩個事實補完整幅圖。為了追求越來越高的密度,現代 NAND 不再每顆元件只存一個位元。把 Vt 視窗切成數個可分辨的階,MLC 每顆存 2 位元、TLC 存 3、QLC 存 4——把更多資料擠進每個浮閘,代價是更窄的容錯、更慢的寫入與更低的耐久度。而為了不再縮小元件也能繼續成長,業界往「上」發展:3D NAND 把字串往上堆,如今早已超過 200 層,於是容量靠「蓋高」而非在平面的製程節點上塞更多來成長。NVM 是唯一一個「走向 3D」遠早於晶片其他部分、就成為主流答案的地方。

eFuse:把一項永久事實燒進矽裡

不是每個非揮發位元都需要被重寫上百萬次。有時候一顆晶片只需要記住「一件事、就一次、用一輩子」:它的序號、一把安全金鑰、要換進哪一條備用列,或是校準某個類比區塊的精確微調。對這些需求,完整的快閃是殺雞用牛刀——快閃需要特殊的高壓電荷幫浦與額外光罩步驟,而純邏輯製程沒有這些。輕量級的答案是 [[ic-efuse|eFuse]]:一種一次可程式化(OTP)元件,用「每顆晶片上本來就有的材料」就能造出來。

機制簡單到近乎粗暴。一個 eFuse 是一條細細的導體——多晶矽或金屬——未燒斷時是一條低電阻連結,讀作邏輯 0(或依慣例為 1)。要把它程式化,你就讓一個受控脈衝的大電流強行流過。這條細帶發熱,電遷移(electromigration)把原子實際重新排列,把連結開成一道高電阻的缺口——它真的就是像家用保險絲一樣被「燒斷」了。沒有電荷會漏走、沒有氧化層會磨損:現在是金屬本身的幾何形狀永久編碼了這個位元。一個保險絲你想讀幾次都行,但只能寫一次。沒有抹除。它是所有記憶體中最「非揮發」的,因為這個改變是結構性的。

  1. 序號與晶片 ID——在測試時把唯一編號燒進每一顆晶粒,讓每個零件可被個別追溯與定址。
  2. 冗餘修復——當製造測試找出壞的記憶體列或行後,保險絲記下要換進哪一條備用。這正是通往記憶體修復的橋樑:保險絲讓修復「永久化」。
  3. 類比微調——免雷射的校準:在晶片做好並量測後,燒斷保險絲把參考電壓或振盪器頻率推到它精確的目標值。
  4. 功能與安全設定——鎖定裝置選項、永久關閉除錯埠,或設下可讀但永不可重寫的金鑰。

快閃之外:新興 NVM 的前沿

快閃有一個它永遠甩不掉的頑固弱點:寫入意味著把電子硬推穿過氧化層,這既慢、又耗電、還磨損元件。數十年來研究者一直在尋找一種「寫起來像 SRAM 一樣快又不費力、記憶卻像快閃」的 NVM——那個被承諾已久的「通用記憶體」。已有幾位競爭者走出實驗室、進入真實的矽,而它們的共同點是把位元存進一種「新的物理狀態」,而不是浮閘。

  1. MRAM(磁性,尤其 STT-MRAM)——把位元存進一層微小薄膜的磁化方向。快速、耐久度幾近無限,且越來越多被用來在先進節點上取代內嵌快閃。是目前最被看好的晶上 NVM。
  2. ReRAM/憶阻器——位元是一條氧化物細絲「成形或斷裂」後的電阻。結構簡單、密度高,是記憶體內運算與 AI 加速器的寵兒。
  3. PCM(相變化)——讓一種硫族化合物在非晶(高電阻)與結晶(低電阻)兩相之間切換,與可重寫 DVD 同一套物理,如今搬上晶片。
  4. FeRAM(鐵電)——把位元存進鐵電層的極化方向;寫入能量極低、耐久度高,用在「功耗與速度比密度更重要」的場合。

沒有一個把快閃從大量儲存的寶座上拉下來——NAND 的每位元成本殘酷地難以匹敵——但好戲在內嵌這個尺度上演:在同一顆晶粒上、緊鄰邏輯造出的小型 NVM 區塊。當經典快閃在約 28 nm 以下越來越難整合,MRAM 與 ReRAM 正悄悄補上,成為先進半導體製程上首選的內嵌 NVM,把韌體與權重存在使用它們的核心旁邊。浮閘是過去四十年的答案;接下來的四十年,或許屬於那些把位元存成磁性、電阻或相態的記憶體。