明顯更快的速度是SSD(固態(tài)硬盤)最吸引人的地方,對于長期使用SSD的用戶來說,通常不會愿意再使用機械硬盤作為系統(tǒng)驅(qū)動器了。目前,SSD穩(wěn)步上升的容量和逐漸下降的價格使越來越多的電腦用戶開始使用SSD,但是包括已經(jīng)使用SSD的用戶在內(nèi),實際上許多電腦用戶對于SSD的穩(wěn)定性和壽命都心存疑慮。這種不信任感源自于SSD的閃存單元有限的使用壽命,理論上閃存單元只能夠承受有限的擦寫次數(shù),而據(jù)此推斷,許多SSD大約只能夠應(yīng)付1000~3000次的擦除和寫入操作。雖然很快第一代的SSD(例如英特爾X25)通過一個很長的使用壽命打消了人們的這種疑慮,但是由于控制器固件的問題,新一代的SSD又再次引起了人們的擔心:由于固件缺陷,采用SandForce SF 2000控制器的SSD容易導致電腦出現(xiàn)BIOS無法檢測、系統(tǒng)崩潰等各種千奇百怪的問題。
壽命短暫的閃存單元
SSD的存儲密度有上升的趨勢,閃存單元的尺寸越來越小,而且一個閃存單元可能被用于存儲兩三位的數(shù)據(jù),這導致閃存單元的壽命更加短暫,每一個閃存單元存儲一個數(shù)據(jù)位的單層單元可以應(yīng)付100 000次寫操作,而一個單元存儲兩位的多層單元(MLC)則只能夠承受3 000次寫操作,存儲三位的三層單元(TLC)只能夠承受1 000次寫操作。
閃存單元的設(shè)計原理決定了它們的壽命極其有限:閃存單元通過浮動柵極(floating gate)的狀態(tài)來存儲數(shù)據(jù),當向控制柵極(control gate)施加電壓時可以為浮動柵極充電,讓電子可以穿過薄薄的絕緣層到達浮動柵極,在此狀態(tài)下,即使不再施加控制電壓,電子也將留在浮動柵極,浮動柵極形成電場,可以阻止讀取電流,因此對該單元的讀取值為“0”。如果要將單元寫入一個“1”,那么需要向控制柵極反向施加電壓,通過絕緣層移出浮動柵極中的電子,在不帶電的狀態(tài)下,浮動柵極將允許讀取電流通過,在這種情況下,對該單元的讀取值為“1”。
浮動柵極周圍的絕緣層磨損是閃存單元壽命短暫的原因,每一次電子穿越絕緣層的過程都將導致金屬氧化物的損耗,隨著時間的推移,絕緣層的金屬氧化物損耗得差不多之后,原子鍵就會斷裂,部分電子可能會在穿越過程中被困在氧化物中,導致負電荷積累,越來越多的控制電流被抵消。閃存單元的擦寫操作需要的時間會越來越長,最終時間已經(jīng)長到足以影響SSD性能的時候,SSD控制器將丟棄它。因此,閃存單元的刪除和寫操作是決定閃存單元壽命的關(guān)鍵,而閃存單元在實際使用中并不是逐一單獨訪問的,而是被鏈接起來成為一個256KB或者512KB的區(qū)塊,這就導致SSD的每一次擦寫操作都可能影響更多的閃存單元。因而,SSD需要通過控制器對寫操作進行計劃和管理,盡可能地避免放大擦寫操作對閃存單元壽命的影響。
不管閃存單元有什么樣的技術(shù)缺陷,在SSD容量更大并且價格更低廉的迫切需求下,制造商能夠做的只能是不斷地提高數(shù)據(jù)密度。如上所述,現(xiàn)如今的SSD,閃存單元不再是存儲一個“0”或“1”的數(shù)據(jù)位,而是每一個單元存儲兩個位甚至三個位,閃存單元中不同的電壓等級代表不同的“0”與“1”的組合。這需要大幅度地降低電壓的容差,否則不足以彌補劣化的絕緣層所帶來的影響。因而每一個單元存儲兩個數(shù)據(jù)位的多層單元只能夠承受3 000次寫操作,存儲三個數(shù)據(jù)位的三層單元只能夠承受1 000次,而不再是原來的100 000次寫入和刪除操作。另外,要以合理的價格擴張產(chǎn)能,以及在閃存存儲設(shè)備小型化的需求下,制造商不斷地壓縮閃存單元的尺寸,這導致絕緣層以及閃存單元其他結(jié)構(gòu)的尺寸同樣被壓縮,更容易受到磨損。
SSD的使用壽命
在正常的使用過程中,SSD很快就無法工作,這種擔心已經(jīng)被證明是毫無根據(jù)的。IT數(shù)碼港經(jīng)銷商的存儲產(chǎn)品經(jīng)理托馬斯·韋澤通過退換貨率來描述這一問題,他認為SSD的退換貨率并不比傳統(tǒng)的機械硬盤高,而SSD的制造商OCZ的代表也表示,他們的SSD受益于所使用的NAND單元和動態(tài)補償?shù)认冗M技術(shù)的應(yīng)用,從普通用戶的角度來考慮,SSD的壽命完全夠用。除了這些相對比較空泛的描述之外,一個更具體的證明是三星的IT存儲事業(yè)部產(chǎn)品經(jīng)理所提供的,該公司的產(chǎn)品通過固件緩解閃存單元的有限生命周期,根據(jù)目前的經(jīng)驗,840 EVO的耐用性和可靠性超過3年,840 PRO則超過5年。并且該公司的一個120GB容量的測試驅(qū)動器,目前已經(jīng)用來寫過563TB的數(shù)據(jù),至今仍然工作正常。按照563TB的數(shù)據(jù)計算,這一驅(qū)動器相當于已經(jīng)全盤擦寫了4 700次,如果以每天全盤擦寫一次來計算,這將需要持續(xù)12年。實際上,在互聯(lián)網(wǎng)上也有許多用戶提到,自己的SSD已經(jīng)被用來寫過幾百TB的數(shù)據(jù)。
SSD能夠使用多久與其所設(shè)計的使用強度也有一定關(guān)系,這通??梢愿鶕?jù)制造商的保修期限來判斷。高價位的OCZ Vector 150SSD設(shè)計的使用強度是5年內(nèi)可以每天擦寫50GB數(shù)據(jù),因而,這種SSD有很長的保修期。而最便宜的OCZ Vertex 450設(shè)計的使用強度是3年內(nèi)可以每天擦寫20GB數(shù)據(jù)。對于一般用戶來說,由于這個使用強度是按照每天擦寫設(shè)計的,所以可以確保使用壽命足夠長。同樣的道理,三星的SSD也分為專業(yè)版本和普通的消費版本,分別提供5年和3年的保修期。因而,當我們選擇SSD時,如果追求更高的穩(wěn)定性與壽命,可以選擇5年保修期的專業(yè)版本。而且在日常的使用過程中,適當?shù)乜刂泼刻觳翆懙臄?shù)據(jù)量,理論上可以延長SSD的使用壽命。
使用CrystalDiskInfo之類的工具可以讀出SSD的使用情況等許多相關(guān)的統(tǒng)計信息,例如寫入的數(shù)據(jù)量和磨損量指示等。不過,這些從0到100的數(shù)字有點過于抽象,因而,我們可以使用SSDLife(ssd-life.com)來分析這些記錄,并預測SSD剩余的使用壽命。首次啟動軟件,SSDLife將記錄數(shù)據(jù)的寫入量,如果長期使用可以安裝該軟件,軟件能夠更準確地預測壽命。不過,通過SMART值預測驅(qū)動器壽命的準確率自然不會是百分之百,許多驅(qū)動器在SMART值預測將損壞之后,仍然可以使用很長的一段時間。不過,如果SMART值顯示SSD壽命即將終結(jié),那么我們應(yīng)該定期為SSD上的數(shù)據(jù)進行備份。endprint
當SSD出現(xiàn)故障時
SSD的控制器能夠有計劃地安排寫入操作以減少閃存單元的擦寫次數(shù),并盡可能地給閃存單元平均分配寫入任務(wù),避免個別閃存單元過早地磨損。此外,控制器能夠標記壽命終結(jié)的閃存單元,并用其他的閃存單元替換以避免區(qū)塊內(nèi)的所有閃存單元無法使用。個別生產(chǎn)商宣稱他們的SSD可以替換的閃存單元多達30%,在出現(xiàn)故障的閃存單元能夠得到替換的情況下,SSD除了出現(xiàn)輕微的性能損失和SMART值有相應(yīng)的變化外,基本上不會對用戶有任何影響。這種情況將一直持續(xù)到有缺陷的閃存單元所占比例過大的時候,當這種情況發(fā)生時,SSD將切換到只讀模式。我們可以通過寫操作和系統(tǒng)不穩(wěn)定的錯誤信息預測這一天的到來,如果寫操作的時間過長,Windows將取消它并提示失敗的信息,而當SSD是系統(tǒng)驅(qū)動器時,操作系統(tǒng)將可能出現(xiàn)死機等不穩(wěn)定的狀況。
除了有缺陷的存儲單元之外,有缺陷的固件也可以導致SSD不穩(wěn)定,然而這種故障通常不會丟失數(shù)據(jù)。我們可以將固件存在缺陷的SSD連接到移動硬盤盒,或者通過SATA線連接電腦,然后使用專業(yè)的工具對其進行更新和備份。在本文最后部分,我們將為大家介紹如何創(chuàng)建一個可以啟動系統(tǒng)的閃存盤,并使用其中包含的硬盤工具為系統(tǒng)驅(qū)動器創(chuàng)建鏡像備份,或者從有故障的SSD中拷貝數(shù)據(jù)。
需要注意的是,如果需要使用SSD工具在線更新固件,那么要使用SATA數(shù)據(jù)線直接將SSD連接到電腦上,SSD工具無法通過USB連接在線更新固件。如果SSD是由于固件的缺陷而出現(xiàn)故障,例如文章開頭所介紹的SandForce SF-2000固件缺陷,那么在更新SSD固件之后,SSD上的文件應(yīng)該可以再次被讀取。接下來,我們可以使用上面提到的工具克隆驅(qū)動器或復制文件,完成后使用SSD工具的“Secure erase”功能重置SSD。最后重新將數(shù)據(jù)復制或者克隆到SSD上,并檢查SSD是否能夠正常工作。
當硬盤壽命完全終結(jié)時
最壞的情況是在BIOS中找不到SSD,并且SSD在Windows數(shù)據(jù)載體管理系統(tǒng)或資源管理器中都不可見。此時,某些配備Indilinx控制器的特殊型號,可以從電腦上斷開SSD的電源和SATA線,通過一個跳線重新設(shè)置BIOS,嘗試讓SSD可以重新被訪問。不過,對于大部分SSD來說,如果SSD在其他電腦或者USB移動硬盤盒中也無法訪問,那么這通常意味著SSD的控制器或者一些核心部件已經(jīng)損壞。在這種情況下,SSD上保存的數(shù)據(jù)仍然存在于存儲器單元中,但是控制器的故障導致它們無法被讀取。
如果這些數(shù)據(jù)沒有備份,必要時可以聯(lián)系一些專業(yè)的數(shù)據(jù)恢復公司進行恢復,個人用戶自行恢復的可能性基本為零。數(shù)據(jù)恢復公司Kroll Ontrack的經(jīng)理馬丁·希勒告誡大家,嘗試自行恢復控制器故障的SSD通常只能帶來更大的麻煩。專業(yè)的數(shù)據(jù)恢復專家可以從閃存單元中直接讀出數(shù)據(jù),并通過軟件來完成本該由控制器執(zhí)行的任務(wù),將數(shù)據(jù)重建成文件。至于是否能夠成功恢復數(shù)據(jù),將取決于控制器的復雜性與控制器廠商的信息公開程度,還有數(shù)據(jù)恢復專家的水平。
控制器損壞導致SSD壽命終結(jié)的機率相對是比較低的,不過無論如何,我們都建議大家應(yīng)該定期地為SSD創(chuàng)建備份。按照目前大部分的SSD容量來說,備份并不需要花費太多的時間。特別是當機箱內(nèi)除了SSD還有一塊機械硬盤時,可以使用Windows的備份功能或者其他備份工具,自動定期進行備份。endprint