手機和固態硬盤中用來存儲數據的NAND閃存問世于1987年,首次量產則是在4年之后。當年的東芝閃存部門如今已經成為新的KIOXIA鎧俠,不過NAND閃存的工作原理至今沒有發生太多的變化。

在每個閃存芯片中都有海量的存儲單元,下圖是一個閃存存儲單元示意圖,從上到下分別是控制柵極(Control Gate)、氧化層、浮柵層(Floating Gate)、隧道氧化層和襯底(Substrate)。左側是源級(Sources)右側是漏級(Drain),電流只能從源級向漏級單向傳導。

閃存記錄數據的關鍵在于浮柵層,當其中被充滿電子時是已編程(寫入)狀態,代表二進制0;當其中沒有電子時是已擦除狀態,代表二進制1。

上面的這個0和1的邏輯聽起來有些顛倒,不過當你了解到閃存的讀取原理后就會覺得這樣才是對的:源級到漏級之間沒有電流(0),說明浮柵中有電子。

當源級到漏級之間有電流(1),說明浮柵里沒有電子。

以上就是從閃存中讀取數據的原理,往復雜了說它涉及到MOS管等復雜的半導體知識,但是如果朝簡單的方向理解,我們也能輕松理解閃存表達數據的原理。
接下來是向閃存單元中寫入數據的方法:在控制柵極和漏級之間施加一個20V高電壓,就可以引發量子隧道效應,使電子進入到浮柵層中。由于氧化隧道層的絕緣效果,進入到浮柵層的電子不容易流失掉,所以閃存可以在斷電后繼續保留數據。

反過來也可以使用20V高電壓反向將浮柵層中的電子"抽離"出去,這就是閃存的擦除。閃存的獨特工作原理決定了閃存單元在寫入之前必須經過擦除,而不能像磁記錄那樣直接覆蓋寫入。

對于原始的SLC閃存而言,一個存儲單元只需保留一比特數據,非0即1,判斷起來非常簡單。SLC閃存速度快、壽命長,但容量小、每GB容量成本過高,不適合家用電腦的固態硬盤。

MLC閃存可以在每個存儲單元中存儲2比特數據,即00、01、10、11四種狀態,浮柵層中的電荷等級需要更加精細化。

到了TLC閃存(3比特/單元),狀態數量達到8種,而QLC閃存(4比特/單元)的狀態數量高達16種。

2007年鎧俠的前身東芝存儲率先提出了三維閃存層疊技術,現在的3D閃存已經使用Charge Trap電荷捕獲層取代原有Floating Gate浮柵層,存儲單元的結構也發生了較大的變化,使得閃存寫入速度更快,可靠性更強,功耗水平更低。鎧俠TC10、RC10、RD10使用的都是3D TLC閃存。