SLC、MLC和TLC快閃記憶體有什麼區別?

ic老王 發佈 2022-11-30T22:48:54.642735+00:00

在Flash快閃記憶體的兩個類型NOR Flash和NAND Flash中,NAND Flash因其容量較大、改寫速度快等優點,得到了越來越廣泛的應用。Flash快閃記憶體使用浮柵結構。浮柵中存儲的電荷多少取決於外部柵(如圖CG)電壓。

在Flash快閃記憶體的兩個類型NOR Flash和NAND Flash中,NAND Flash因其容量較大、改寫速度快等優點,得到了越來越廣泛的應用。

Flash快閃記憶體使用浮柵結構。浮柵中存儲的電荷多少取決於外部柵(如圖CG)電壓。而NAND Flash數據的表示是以所存儲的電荷的電壓是否超過一個特定的閾值電壓Vth來表示的。


所以,NAND Flash按照內部存儲數據單元的電壓的不同層次(或者說單元存儲密度)來分,可以分為SLC、MLC、TLC、QLC、PLC、HLC。對應1個存儲單元分別可存放1、2、3、4、5、6bit的數據。

SLC:Single Level Cell。

早期的NAND Flash,只需要判斷懸浮閘內是否有電荷。假設有電荷為「1」,則無電荷就是「0」。一個基本儲存單元只儲存1bit數據。這種NAND Flash被稱為SLC。它的讀寫操作簡單快速。速度快壽命長,價格貴,約10萬次擦寫壽命。

MLC:Multiple Level Cell。

後來發展出一種新的NAND Flash,一個基本儲存單元內可以儲存2bit數據。用四個參考電壓值去比較,接近哪個等級就判定為哪個值。由於讀寫過程都要進行電平比較,所以MLC的讀寫比SLC慢很多。速度一般壽命一般,價格一般,約3000~10000次擦寫壽命。

TLC:Triple Level Cell。

也有Flash廠家叫8LC。TLC則是在一個基本儲存單元內儲存3bit數據。原理和MLC一樣,八個比較電壓。由於讀寫過程中要比較的參考值比較多,所以,TLC的讀寫速度比MLC更慢。速度慢壽命短,價格便宜,約500-1000次擦寫壽命,隨著技術幾步,現在可達1000~2000次。

QLC:Quadruple Level Cell。

QLC則是在一個基本儲存單元內儲存4bit數據。原理和MLC一樣,十六個比較電壓。由於讀寫過程中要比較的參考值又增加,所以,QLC的讀寫速度比TLC更慢。

PLC:Pentuple Level Cell。

PLC則是在一個基本儲存單元內儲存5bit數據。原理和MLC一樣,三十二個比較電壓。由於讀寫過程中要比較的參考值更多了,所以,PLC的讀寫速度比QLC更慢。

HLC:Hextuple Level Cell。

HLC則是在一個基本儲存單元內儲存6bit數據。原理和MLC一樣,六十四個比較電壓。由於讀寫過程中要比較的參考值更多了,所以,HLC的讀寫速度比PLC更慢。

由於多層的存儲單元需要更多的比較電壓,因此可比較電壓範圍更小,也就更容易出錯,壽命也就隨之減少。

關於擦寫壽命,有人擔心我的SSD硬碟就是TLC的,如果只有幾百次的擦寫壽命,那還能用嗎?其實大家有這個擔心多半是對「擦寫次數」的誤解。這裡的「擦寫次數」並非是通常以為的寫任意文件的次數,而是「全擦寫次數」。

以SSD硬碟為例,要解釋「全擦寫」就要先看看為了解決壽命問題SSD所採用的特殊軟體算法:磨損平衡(Wear Leveling)算法

磨損平衡算法是為了使快閃記憶體磨損程度儘量保持一致,分為動態和靜態兩種。

動態:當有新數據寫入時,會向較新的位置優先寫入。

靜態:當沒有數據寫入的時候,會監測哪些位置比較老舊,會把這些老舊的位置作為固定存儲位置,不承擔寫入新數據的任務,這樣騰出較新的位置作為平時數據讀寫使用。

這樣一來,通過磨損平衡算法,一次「全擦寫」即表示要寫滿整個存儲空間之後再整個擦除。假如100G的SSD硬碟,擦寫次數1000次,那麼需要總共寫入100G*1000 = 100T的數據量才會出現損壞。所以看上去擦寫壽命僅千次,但實際可寫的數據量還是非常可觀的。

當然,除了上述的磨損平衡算法之外,還有其他方式保證我們使用的SSD的硬碟壽命,比如糾錯算法、冗餘空間、回收算法等,所以一個擦寫次數的指標並非影響壽命的絕對因素,而隨著技術進步,SSD硬碟的壽命也會更長。

關鍵字: