你的硬碟是如何儲存數據的?
來源:中科院物理所
這是你的個人電腦,裡面的硬碟則是你的命根子,藏著你多年以來積累的文檔、照片、視頻和遊戲。
這塊硬碟會以 0 和 1 組成的二進位形式默默儲存著各種數據,隨時等待著被你寫入或者讀取。
硬碟分為機械硬碟和固態硬碟。對於機械硬碟,最重要的結構是這些兩面塗有磁性材料的磁碟,在工作時會以每分鐘 7200 轉的速度旋轉。
寫入數據時,距離盤面 3 納米的磁頭會利用電磁鐵,改變磁碟上磁性材料的極性來記錄數據,兩種極性分別對應 0 或 1 。
而讀取數據時,旁邊的讀取器可以識別磁性材料的不同極性,再還原成 0 或 1 。
一片磁碟分為若干個磁軌,每個磁軌又分為各個扇區。扇區是磁碟存儲的最小數據塊,大小一般是 512 位元組。
因此,磁頭要想讀取某個文件,必須在電機驅動下,先找到對應的磁軌,再等磁碟轉到對應扇區才行,一般會有十幾毫秒的延遲,這就讓機械硬碟在讀取分散於磁碟各處的數據時,速度將大幅降低。
基於電路的固態硬碟則不用擔心這種延遲。固態硬碟儲存數據靠的是快閃記憶體。
在工作時,數據會通過介面進入主控制器,經處理後再分配到快閃記憶體中儲存。
快閃記憶體的基本存儲單元是浮柵晶體管,主要有這些結構。
其中的浮柵被二氧化硅包裹,和上下絕緣,在斷電時也能夠保存電子,當電子數量高於一個中間值就表示 0 ,低於中間值就表示 1 。
晶體管每次寫入數據前都要先擦除,在 P 極上加一個電壓,浮柵中原有的電子會因為量子隧穿效應通過絕緣層被吸出來,讓浮柵中的電子數量低於中間值,還原成 1 ;
如果要寫入 0 ,就在控制極加一個電壓,讓電子穿過絕緣層再注回浮柵,使電子數量高於中間值,表示 0 。
但在讀取時,快閃記憶體無法直接得知浮柵中有多少電子,只能曲線救國。
我們首先要知道,往控制極加一定大小的電壓,會導通這兩個 N 極。控制極上的電壓越大,N 極間的電流也越大。
然而,存儲 0 的浮柵,相比存儲 1 的浮柵,有更多的電子,會抵消控制極上的電壓,所以控制極需要更大的電壓才能導通兩個 N 極。
因此,當我們不知道浮柵中有多少電子時,就可以往控制極加一個中間值電壓,如果兩個 N 極導通,就能反推出浮柵中的電子較少,識別為 1;如果沒有導通,就說明浮柵中的電子較多,識別為 0 。
傳統的單階存儲單元 SLC ,電子數量只有兩種狀態,只能保存一比特的數據。而多階存儲單元 MLC、TLC 和 QLC ,它們的電子數量有 4~16 種狀態,一個單元可保存 2~4 比特。
多階存儲單元大大降低了固態硬碟單位容量的成本,但也影響了硬碟壽命和性能。
晶體管擦寫數據時,二氧化硅絕緣層會困住一部分電子,這些電子的累積會逐漸抵消控制極上的電壓,使得控制極為了導通兩個 N 極所需的電壓越來越大,當這個偏移超過中間值,那麼讀取時也就無法分辨 0 和 1 。
而多階存儲單元由於不同狀態之間分得非常細,也就更容易受這種偏移的影響,所以從 SLC 到 QLC ,它們總的擦寫次數呈幾何級數遞減。
相比機械硬碟可無限次擦寫,斷電後數據可保存十年,固態硬碟著實算是消耗品,儲存的數據通常在斷電一年後就會因浮柵內的電子衰減而徹底丟失數據。
不過,一塊消費級的 MLC 或 TLC 固態硬碟也足夠你至少使用 5 年,且使用體驗遠超機械硬碟,讀寫速度可達後者的十倍以上。此外,由於沒有複雜的機械結構,固態硬碟工作時也更安靜、更抗震。
而機械硬碟在長期使用後,各種金屬部件的老化會讓讀寫速度像擠奶一樣細水長流。
況且,機械硬碟長久保存數據也未必是好事。比如本·拉登在死亡六年之後,CIA 公布了這位著名恐怖分子的硬碟數據,裡面就存有大量的阿拉伯語字幕的日本動漫。
※夜空中最亮的秘密:關於閃電的那些事
※國外巨頭在量子軟體領域跑馬圈地,一輪用戶收割開始
TAG:新浪科技 |