你是否已將你的PC升級到了新一代配置(比如多核CPU、SSD固態(tài)硬盤),并為新電腦的高性能而沾沾自喜?的確,現(xiàn)在的PC機性能越來越強大,但是一個不小心,這個價值\$2000美元的野獸也可能讓你一聲嘆息。如果你和筆者一樣喜歡在進入桌面之后加載一大堆應(yīng)用程序,那么你就需要小心了。
問題源于SSD固態(tài)硬盤,這個2.5寸的NAND硬盤可以大幅提升電腦性能,啟動速度更是飛快,用過SSD硬盤的用戶與普通機械硬盤一對比就會發(fā)覺兩者之間巨大的差別。不過本文的重點不是SSD硬盤的性能,而是關(guān)注固態(tài)硬盤可能帶來的問題,尤其是Win7系統(tǒng)中引入的TRIM指令可能會對數(shù)據(jù)恢復(fù)造成負面影響。這個問題目前尚有爭議,但是依然值得我們?nèi)リP(guān)注和探討。
固態(tài)硬盤以前也出過問題,還記得Intel的磚頭門嗎?起初人們認為這還只是Intel一家的SSD硬盤的風險,但是后來的事實證明市面上的多款SSD硬盤都有著相同的固有問題。
幾乎絕大多數(shù)存儲設(shè)備在刪除文件時都有如下類似的步驟:一旦用戶刪除文件,指向數(shù)據(jù)在硬盤上的具體位置的索引就會被刪除(對于機械硬盤來說就是LBA邏輯塊尋址)。舉例來說,如果為了管理方便你把自己收藏的電影存放位置寫在一張紙上,某天你不慎把這張紙燒掉了,實際上你只損失了一張紙,實際的電影還在。通常我們的數(shù)據(jù)存儲就是這樣,刪除文件時只是刪除了文件的索引,具體的文件還存在硬盤上。
也正因為實際數(shù)據(jù)仍然保存在硬盤上,數(shù)據(jù)恢復(fù)才有了操作的可能,當然前提是用戶沒有在原位置覆蓋新的數(shù)據(jù)。一旦用戶誤刪除了重要文件,使用數(shù)據(jù)恢復(fù)軟件都有很高幾率成功恢復(fù)文件,這種事對機械硬盤來說并不鮮見。隨著SSD硬盤的興起,恢復(fù)數(shù)據(jù)的方法雖然沒有改變,但是固態(tài)硬盤獨特的使用方法使得數(shù)據(jù)恢復(fù)面臨新的挑戰(zhàn)。
Kingston's SSDNow M Series - 1G & Non-TRIM (左), 2G & TRIM (右)
機械硬盤可以隨時覆寫數(shù)據(jù)而不會影響硬盤的讀寫性能,即使使用幾年后其讀寫速度也不會有較大變化。與之相比,固態(tài)硬盤由于NAND閃存不同的工作原理導(dǎo)致使用一段時間后就會遇到性能下降問題。
我們可以用磁盤碎片產(chǎn)生的過程來解釋這個問題,系統(tǒng)向磁盤的某個區(qū)塊寫入了一堆數(shù)據(jù),在不需要的時候用戶就會刪除這些數(shù)據(jù)并在同位置保存別的文件,而操作系統(tǒng)是以固定大小的區(qū)塊來保存文件的(windows系統(tǒng)默認格式化的時候是以4KB為一個數(shù)據(jù)單元),新保存的文件不一定能恰好填滿原來占用的區(qū)塊,假定一張圖片的大小是6KB,需要占用一個4KB區(qū)塊和另一個區(qū)塊的2KB,而剩下的的2KB空間可能被另外的word文檔占用,如果用戶刪除了圖像文件,但是word文檔不受影響,依然要占據(jù)剩下的2KB,因此就會產(chǎn)生磁盤碎片。
隨著使用時間的增長,磁盤碎片就會越來越多,進而導(dǎo)致磁盤性能下降,所以我們需要定期整理磁盤碎片,將碎片占用的空間整合轉(zhuǎn)移,但是對于固態(tài)硬盤來說磁盤碎片整理并沒有解決全部問題。
一旦需要在原位置寫入新的數(shù)據(jù),傳統(tǒng)的機械硬盤執(zhí)行新數(shù)據(jù)寫入只需要覆蓋寫入即可,而SSD硬盤必須要先清除原有的數(shù)據(jù)才能將新數(shù)據(jù)寫入硬盤,這也是SSD硬盤性能更高的一個原因,而執(zhí)行清除―寫入的過程也正是TRIM指令最主要的作用所在。
微軟在Win7系統(tǒng)引入了新的基于ATA命令的TRIM指令,一旦有刪除文件、格式化或者忽略文件之類的磁盤讀寫,系統(tǒng)就會向SSD硬盤發(fā)出命令清空區(qū)塊中數(shù)據(jù)。這個過程很簡單,但是很有實用價值。無論用戶是刪除文件還是格式化SSD硬盤,TRIM指令都會清空數(shù)據(jù)及索引,某種意義上來說這時的SSD硬盤相當于全新狀態(tài),不再有性能下降的問題。
TRIM指令的作用也正是本文的由來,多數(shù)人都忽略了TRIM指令的負面影響。用戶在享受TRIM帶來的好處時也不知不覺中使得數(shù)據(jù)恢復(fù)的可能性降至0。如前文提到的,在機械硬盤和不支持TRIM指令上的固態(tài)硬盤上進行數(shù)據(jù)恢復(fù)沒有什么問題,只有原位置沒有寫入新的數(shù)據(jù),用戶只需要選擇合適的軟件基本上就能恢復(fù)誤刪文件。
數(shù)據(jù)恢復(fù)在支持TRIM的SSD上就會成為一個難題,一旦你刪除了某個文件(隨后又清空了回收站),你的數(shù)據(jù)可能永遠也無法恢復(fù)了。因為TRIM指令的存在,用戶刪除數(shù)據(jù)后SSD硬盤就會徹底清空那個區(qū)塊,而不是像傳統(tǒng)的機械硬盤那樣只刪除索引而保留數(shù)據(jù)。
筆者無法確認TRIM指令是否會導(dǎo)致機械硬盤上的數(shù)據(jù)也不可恢復(fù),如果必須有個結(jié)論的話那么普通消費者也無法進行這樣的數(shù)據(jù)恢復(fù),當然如果有適當?shù)墓ぞ撸瑪?shù)據(jù)恢復(fù)也并非不可能。某種意義上我們可以把NAND閃存看做電腦的內(nèi)存(RAM),內(nèi)存一旦斷電其中的數(shù)據(jù)就會消失無蹤(某些情況下可以啟動恢復(fù)很可能是使用特殊手段保證內(nèi)存不斷電)。
【每日焦點】價格下調(diào)配件超值 四款主流裝機方案