深入解析SSD中MLC與SLC的效能差異

2021-05-24 22:15:37 字數 2394 閱讀 6563

from:

solid state disk

或solid state drive

),也稱作電子硬碟或者固態電子盤,是由控制單元和固態儲存單元(

dram

或flash

晶元)組成的硬碟。

固態硬碟的介面規範和定義、功能及使用方法上與普通硬碟的相同,在產品外形和尺寸上也與普通硬碟一致。由於固態硬碟沒有普通硬碟的旋轉介質,因而抗震性極佳。其晶元的工作溫度範圍很寬(

-40~85

本文將詳細解析

ssd固態硬碟的工作原理,並解析

slc與

mlc兩種不同的固態硬碟在效能和安全性上的差異。

ssd工作原理

下面是乙個關於

nand

閃盤的原理塔圖。從下圖我們可以看到,每乙個「單元

」就是由乙個這樣的電晶體組成的。

在單級單元(

slc)快閃儲存器裝置中,乙個電晶體可容納

1-位元資料。您通過電子通道將資料寫入單元;將足夠高的電壓加於兩端,創造乙個足夠強大的電場,電子將穿透氧化物進入浮動門。消除電壓,電子將繼續停留在浮動門。將電壓穿越通道而不施加到門上,扭轉偏壓,電子將向另乙個方向移動。

簡單的說,這就是閃盤的工作原理

-你有兩種狀態,0和

1,即使單元沒有電了,狀態也會維持住,因此對儲存裝置來說是非常理想的。

程式設計快閃儲存器是乙個反覆的過程。該控制器將電壓施於門(或通道)上,允許一些電子穿過並檢查單元的臨界電壓。當臨界電壓已達到一些預定的值時,就開始程式設計並儲存資料了。

mlc與

slc的區別

目前ssd

硬碟使用兩種形式的

nand

快閃儲存器:單級單元(

slc)和多級單元(

mlc)。兩者之間的差額是每單元儲存的資料量,

slc每單元儲存

1位元而

mlc每單元儲存

2位元。關鍵在於,

slc和

mlc佔據了相同大小的晶元面積。因此,在同樣的**下,

mlc可以有兩倍容量的效果。

stec

的slc

和mlc

快閃儲存器實際上使用了相同的電晶體,不同之處在於怎樣讀

/寫這兩個快閃儲存器。

slc只有兩個電壓符,因為它只有兩個狀態(0或

1)。mlc卻有四個狀態(00,

01,10 ,

11),因此需要花費較長的時間來訪問,因為你不想意外寫入錯誤的資料;您已有了相同的最大、最小電壓,您現在僅僅有它們兩者之間更多的刻度:

下面是乙個關於

slc和

mlc效能基本資料的**:

slc和

mlc的擦除效能是一樣的,

mlc快閃儲存器的讀取效能需花費兩倍長的時間,寫入效能需花費四倍長的時間。如果您以前聽說過有人抱怨

mlc寫入速度,這就是部分原因。不過一定要記住,我們在這裡談論的這些數字低得離譜

——甚至

900微秒寫入

mlc快閃儲存器的速度都遠遠超過向普通機械硬碟的寫入速度。

slc的最大優勢不在於它的效能好而在於它的使用壽命長。要了解快閃儲存器的耐用性,我們首先需要看看儲存裝置的內部構造。

快閃儲存器層次和資料丟失

我們已經證實了乙個快閃儲存器單元可以儲存乙個還是兩個位元取決於它是

slc還是

mlc裝置。把一群單元聚集到一起,就得到了乙個

page

。page

是您可以程式設計(寫入)

nand

快閃儲存器裝置最小的結構。

大部分mlc nand

快閃儲存器的每一

page

是4kb

。乙個block

是由許多

page

組成的,在

stec

的mlc ssd

中乙個block

包含128 pages

(128 pages x 4kb/page = 512kb/block = 0.5mb

。block

是您可以擦除得最小結構。

因此,當您寫入

ssd時,您一次可寫入

4kb資料;但是當您從

ssd擦除資料時,您一次不得不刪除

512kb

。過會兒,我會進一步**這個問題,但現在讓我們看看當您從乙個

ssd刪除資料時會發生什麼事情。

深入解析SSD中MLC與SLC的效能差異

from 本文將詳細解析 ssd 固態硬碟的工作原理,並解析 slc 與 mlc 兩種不同的固態硬碟在效能和安全性上的差異。ssd 工作原理 下面是乙個關於 nand 閃盤的原理塔圖。從下圖我們可以看到,每乙個 單元 就是由乙個這樣的電晶體組成的。在單級單元 slc 快閃儲存器裝置中,乙個電晶體可容...

NAND中MLC與SLC的差別

最近工作涉及到anroid向6410移植的問題,由於只有乙個開發板讓別人先除錯,我自己就先惡補下flash驅動這方面的基礎。首先是訪問次數。mlc架構理論上只能承受約1萬次的資料寫入,而slc架構可承受約10萬次,是mlc的10倍。這個1萬次指的是資料寫入次數,而非資料寫入加讀取的總次數。資料讀取次...

深入解析PHP中逗號與點號的區別

echo abc def 用點號連線字串 echo abc def 用逗號連線字串 那麼下面我們就舉一些例子.來認清楚他們之前的區別.echo 1 5 1 5 看看上面的.輸出的結果是6.而不是1 5 6.有些神奇吧?更神奇的是你看下面的例子.echo 1 5 5 1 輸出2 結果十分奇怪.我們看到...