很多人都聽說過“固態(tài)硬盤不需要做碎片整理”,但對于為什么不需要整理,和“整理的話會有什么后果”不甚了解。今天就以東芝TR200為例,通過試驗來看看固態(tài)硬盤內(nèi)的“碎片整理”到底發(fā)生了什么。

為了展現(xiàn)固態(tài)硬盤內(nèi)數(shù)據(jù)讀取的速度變化,首先在TR200固態(tài)硬盤內(nèi)寫入兩個4GB大小的文件,通過不同的修改日期將二者從File Bench文件讀取速度測試軟件的結(jié)果當(dāng)中分離開來。最初兩個文件的讀取速度應(yīng)當(dāng)是完全一致的:大約在480MB/s左右。

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

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

接下來我們用Defraggler碎片整理程序來執(zhí)行碎片整理,看它能否解決固態(tài)硬盤的碎片問題。Defraggler默認對固態(tài)硬盤執(zhí)行的是“優(yōu)化”而非“整理”,但是我們可以強制它執(zhí)行“整理”:

但是軟件已經(jīng)明確的提醒了碎片整理會減少固態(tài)硬盤壽命。這一點并不奇怪,碎片整理的過程就是將邏輯地址不連貫的文件碎片讀取出來,然后重新寫入到連貫的邏輯地址上。

但由于固態(tài)硬盤有FTL這樣一個中間轉(zhuǎn)換層,邏輯地址和物理地址并不一一對應(yīng)。盡管碎片整理程序?qū)⒘闼榈奈募卧谶壿嫷刂飞险沓闪诉B貫的順序,卻無力改變數(shù)據(jù)在固態(tài)硬盤閃存芯片中的具體分布。碎片整理話費了大量時間,產(chǎn)生了大量的寫入,卻依舊勞而無功,無法讓文件的讀取速度恢復(fù)到原有的水平。

更可怕的是,即便我們現(xiàn)在遵照軟件的建議,使用“優(yōu)化”而非“整理”的方式處理固態(tài)硬盤,速度也無法恢復(fù)了。因為“優(yōu)化”操作本質(zhì)上是對沒有文件存儲的“空白”地址手動發(fā)送Trim指令,促使固態(tài)硬盤主控完成對空白位置的垃圾回收。

但已經(jīng)存儲有數(shù)據(jù)的地方是無法Trim的:Trim的結(jié)果只有一個,那就是數(shù)據(jù)被清空。所以最終在浪費了大量閃存寫入耐久度之后,我們還是沒有任何辦法能讓文件的讀取速度完整恢復(fù)。

執(zhí)行磁盤碎片整理的時候會產(chǎn)生新的寫入,而固態(tài)硬盤主控會因閃存不能覆蓋寫入的特點,選擇新位置寫入數(shù)據(jù),然后將老位置標(biāo)記為失效。每次碎片整理都會讓文件在閃存中的碎片化程度又提升了一點點:好心辦壞事!

還記得機械硬盤時代我們怎么處理越用越慢的操作系統(tǒng)嗎?使用GHOST備份后再還原回去,電腦運行速度就恢復(fù)了不少。其實GHOST恢復(fù)的過程就是全部重新寫入一次,只不過這個方法并不適合寫入受限的固態(tài)硬盤。我們正常使用固態(tài)硬盤的過程中,只要不刻意地整理碎片就可以了。
本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/48355.html