關于固態硬盤相對于磁盤的工作原理詳細介紹
目前,人們多數使用的是基于Flash閃存的固態盤。相變存儲尚在實驗室,DRAM固態盤采用常見內存顆粒,數據需要額外的電源才能保存,使用者不多。
固態盤常見接口有SATA(普通PC使用的串行ATA接口)、PCI-Express(常見于顯卡設備的接口,特點在于高速)等多種。不同的接口,其實都是為了通用、高速的目的。
Flash的最小存儲單元是晶浮柵晶體管,對應于磁盤中的一個bit的存儲單元。
磁盤中,利用磁極的不同來標記0,1,當磁頭掃過盤面,通過感應電流就可以識別出不同狀態,即讀取數據;增強磁頭的磁性,可以改變盤面記錄單元的狀態,實現寫入數據。
固態盤中,在存儲單元晶體管的柵(Gate)中,注入不同數量的電子,通過改變柵的導電性能,改變晶體管的導通效果,實現對不同狀態的記錄和識別。有些晶體管,柵中的電子數目多與少,帶來的只有兩種導通狀態,對應讀出的數據就只有0/1;有些晶體管,柵中電子數目不同時,可以讀出多種狀態,能夠對應出00/01/10/11等不同數據。所以,Flash的存儲單元可分為SLC(一個蘿卜一個坑)和MLC(2個/多個蘿卜一個坑)兩種。
區別在于SLC的狀態簡單,所以讀取很容易,MLC有多種狀態,讀取時,容易出錯,需要校驗,速度相對較慢。實際MLC的狀態識別過程比上述復雜很多,讀取一次MLC的功耗比SLC大很多。由于材料本身的緣故,SLC可以接受10萬次級的擦寫,而MLC材料只能接受萬次級擦寫操作,所以MLC的壽命比SLC少很多。但是,也是最重要的.,由于MLC中的信息量大,同一個存儲單元,信息量是SLC的N倍,所以相同容量的磁盤,MLC類型Flach成本更低,存儲單元體積更小,這也導致市面上多數固態盤都采用了MLC型的Flash顆粒。SLC由于其特性,僅在高端的高速存儲設備中使用。
有了上述介紹,不難理解,固態盤寫入,就是改變晶體管里柵中電子數目的過程。讀出,就是向晶體管施加電壓,獲取不同導通狀態,對應識別存儲數據的過程。
Flash顆粒便是大量這種浮柵晶體管的陣列,一般的U盤中會有1-2粒這種Flash顆粒,視容量而定;在SSD硬盤中,常見會有8-16粒Flash顆粒。
不過,用戶在使用過程中,對器件的負面特性并不需要擔心太多,生產廠商已經做出了考慮。如,由于單個存儲單元的訪問次數有限,如果長期在同一個區域重復讀寫,會導致該存儲區域失效,進而影響整塊盤的壽命。于是,業界研究了負載平衡技術,將用戶的訪問請求均勻分布在所有存儲單元中,以延長整個盤壽命。而這個“不要在一只羊身上薅羊毛”的事情,就是固態盤控制器的任務了。