固態硬碟的性能與很多因素有關,其中空間使用情況也會給固態硬碟的速度產生影響。一款優秀的固態硬碟應當能夠在接近滿盤使用的情況下保持性能不衰減。

以家用固態硬碟來說,80%空間使用率是一個比較典型的代表。在這種條件下固態硬碟主控需要管理的數據體量較大,垃圾回收、磨損均衡、緩存釋放這些發生在固態硬碟內部的快閃記憶體活動都會制約固態硬碟的性能發揮。

在空盤條件下運行PCMark 8存儲測試可以得到固態硬碟的最高性能,下圖是東芝TR200 240G 3D快閃記憶體固態硬碟的PCMark 8存儲測試成績:

而80%滿盤條件下展現的是家用常用容量的較高值,東芝TR200 240G沒有發生掉速現象:

通過AS SSD Benchmark測試來看,東芝TR200在80%滿盤下依舊保持了性能不變。不過或許會有朋友注意到發生在Acc.time中的變化:

看起來在80%滿盤使用之後,東芝TR200的存取時間從0.033ms增長到了0.115ms。存取時間是以最小存取單位讀寫數據的延遲,在AS SSD Benchmark當中是以512位元組進行測試的。

我們更換另外一個軟體進行測試,也會有相似的結果。下面是完全空盤條件下AIDA64 Disk

Benchmark平均讀取延遲測試,64KB區塊的平均讀取延遲為0.02ms:

在達到80%佔用率之後,平均讀取延遲提高到0.1ms。

從空盤到80%滿盤狀態,TR200的讀取延遲提升了5倍,似乎與早前的PCMark 8存儲測試結果有所不符,問題出在哪裡呢?這要從文件系統與固態硬碟快閃記憶體之間的溝通說起。

在文件系統與快閃記憶體之間,固態硬碟內包含有一個名為FTL的快閃記憶體轉換層,負責將快閃記憶體的每一個存儲單元解釋為與傳統機械硬碟相同的扇區,同時在文件系統請求執行快閃記憶體不能支持的覆蓋寫入時,利用固態硬碟內部的OP預留空間進行輾轉騰挪:寫入新數據-標註舊數據無效-更新映射表將邏輯地址指向新的物理地址。

正是由於FTL的存在,固態硬碟能夠了解到哪些位置有數據存儲,哪些位置是空白的。在主機請求讀取的邏輯地址內容為空白時,固態硬碟就可以不執行實際的快閃記憶體讀取操作,進而直接返回零,提升效率。這也就是為何空盤讀取延遲只有滿盤1/5的原因:其中沒有包含快閃記憶體實際讀取。

TR200滿盤測試AS SSD Benchmark的讀取延遲會增加,其實是所有固態硬碟都會出現的正常現象,只是多數情況下普通用戶沒有關注自己運行性能測試時固態硬碟的空間使用情況。對於專業存儲評測來說,要準確測試固態硬碟的讀取延遲就應該先把硬碟填滿,不過多數評測者沒有堅守這一原則。這才會造成一些不要的誤解。


推薦閱讀:
相关文章