當前位置:
首頁 > 科技 > 終於明白為何固態硬碟不能整理碎片了:越整越慢

終於明白為何固態硬碟不能整理碎片了:越整越慢

很多人都聽說過「固態硬碟不需要做碎片整理」,但對於為什麼不需要整理,和「整理的話會有什麼後果」不甚了解。今天就以東芝TR200為例,通過試驗來看看固態硬碟內的「碎片整理」到底發生了什麼。

終於明白為何固態硬碟不能整理碎片了:越整越慢

為了展現固態硬碟內數據讀取的速度變化,首先在TR200固態硬碟內寫入兩個4GB大小的文件,通過不同的修改日期將二者從File Bench文件讀取速度測試軟體的結果當中分離開來。最初兩個文件的讀取速度應當是完全一致的:大約在480MB/s左右。

終於明白為何固態硬碟不能整理碎片了:越整越慢

接下來通過一款名為PassMark Fragger的軟體,對iobw.tst進行「碎片化」處理。這裡的碎片和機械硬碟一樣,是文件系統層面的概念,指的是文件中原本連續的部分因為寫入位置的不同而零碎地分布在不同的邏輯地址上。

終於明白為何固態硬碟不能整理碎片了:越整越慢

碎片化處理的後果是,數據片段被寫入到新的快閃記憶體位置,原本可以一次性整段讀出的數據,未來需要分多次讀取。儘管快閃記憶體的隨機讀取速度比機械盤的磁頭尋道要快的多,終究不比連續讀取速度快。所以碎片化處理過後,iobw.tst文件的讀取速度大幅掉落至361MB/s。說明一個問題:即便是固態硬碟不需要碎片整理,但大量的文件碎片對於固態硬碟依然是不利的。

終於明白為何固態硬碟不能整理碎片了:越整越慢

接下來我們用Defraggler碎片整理程序來執行碎片整理,看它能否解決固態硬碟的碎片問題。Defraggler默認對固態硬碟執行的是「優化」而非「整理」,但是我們可以強制它執行「整理」:

終於明白為何固態硬碟不能整理碎片了:越整越慢

但是軟體已經明確的提醒了碎片整理會減少固態硬碟壽命。這一點並不奇怪,碎片整理的過程就是將邏輯地址不連貫的文件碎片讀取出來,然後重新寫入到連貫的邏輯地址上。

終於明白為何固態硬碟不能整理碎片了:越整越慢

但由於固態硬碟有FTL這樣一個中間轉換層,邏輯地址和物理地址並不一一對應。儘管碎片整理程序將零碎的文件片段在邏輯地址上整理成了連貫的順序,卻無力改變數據在固態硬碟快閃記憶體晶元中的具體分布。碎片整理話費了大量時間,產生了大量的寫入,卻依舊勞而無功,無法讓文件的讀取速度恢復到原有的水平。

終於明白為何固態硬碟不能整理碎片了:越整越慢

更可怕的是,即便我們現在遵照軟體的建議,使用「優化」而非「整理」的方式處理固態硬碟,速度也無法恢復了。因為「優化」操作本質上是對沒有文件存儲的「空白」地址手動發送Trim指令,促使固態硬碟主控完成對空白位置的垃圾回收。

終於明白為何固態硬碟不能整理碎片了:越整越慢

但已經存儲有數據的地方是無法Trim的:Trim的結果只有一個,那就是數據被清空。所以最終在浪費了大量快閃記憶體寫入耐久度之後,我們還是沒有任何辦法能讓文件的讀取速度完整恢復。

終於明白為何固態硬碟不能整理碎片了:越整越慢

執行磁碟碎片整理的時候會產生新的寫入,而固態硬碟主控會因快閃記憶體不能覆蓋寫入的特點,選擇新位置寫入數據,然後將老位置標記為失效。每次碎片整理都會讓文件在快閃記憶體中的碎片化程度又提升了一點點:好心辦壞事!

終於明白為何固態硬碟不能整理碎片了:越整越慢

還記得機械硬碟時代我們怎麼處理越用越慢的操作系統嗎?使用GHOST備份後再還原回去,電腦運行速度就恢復了不少。其實GHOST恢復的過程就是全部重新寫入一次,只不過這個方法並不適合寫入受限的固態硬碟。我們正常使用固態硬碟的過程中,只要不刻意地整理碎片就可以了。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |