分析固態(tài)硬盤掉速原因及解決方法
如果說“TLC”和“NVMe”是今年固態(tài)硬盤的熱門話題
,如果回到三年以前提
,當時的固態(tài)硬盤熱門話題可能會是“掉速”。
掉速就是硬盤在工作時實際速度低于預(yù)期的一種現(xiàn)象
,引發(fā)掉速的原因有很多
。最早的硬盤掉速或許源于西部數(shù)據(jù)綠盤
,由于盤片質(zhì)量差在讀取過程中會有一些突發(fā)的卡頓出現(xiàn)
,讀取速度突然降低。
當然今天要討論的是固態(tài)硬盤的掉速問題
。最為古老的固態(tài)硬盤掉速始于2009年以前,當時Trim指令尚未出現(xiàn)
,而閃存在寫入之前又必須先進行擦除
,擦除需要的額外時間導(dǎo)致寫入變慢:
幸運的是2009年之后Windows 7面市,首次增加了對Trim指令的支持
,蘋果的MacOS系統(tǒng)也在10.10.4之后對所有SSD開放Trim指令支持
。Trim指令的作用是在刪除文件的時候通知SSD哪些位置的數(shù)據(jù)已經(jīng)無效,請在垃圾回收時進行回收
。有了Trim指令之后SSD就不必等到覆蓋寫入指令下達才匆忙進行標記
,而是能提前對閃存上存儲的數(shù)據(jù)進行整理。
幸運的是
,當前市售的所有固態(tài)硬盤都已經(jīng)支持Trim指令
。可以通過在命令行提示符中輸入fsutil behavior QUERY DisableDeleteNotify來查看Trim功能是否開啟,正常情況下應(yīng)返回0
。
不過操作系統(tǒng)支持是一方面
,要看SSD實際是否執(zhí)行了Trim指令還需要用到一個名為Trimchecker的小工具:運行一次之后間隔30秒再度運行,正常應(yīng)出現(xiàn)一串0
,表示Trim已經(jīng)成功執(zhí)行
,被刪除的數(shù)據(jù)已經(jīng)被固態(tài)硬盤從閃存當中清空
。
雖然固態(tài)硬盤們都已經(jīng)支持Trim了
,不過依然會有一些特例型號會發(fā)生掉速現(xiàn)象,比如SandForce主控
、JMF667H主控
,他們由于垃圾回收算法比較懶惰,傾向于保守
,在收到Trim指令后垃圾回收工作進行的不徹底
,長期使用后依然會出現(xiàn)速度下跌的掉速現(xiàn)象。不過好消息是這兩個主控也都已經(jīng)退出歷史舞臺
,除了金士頓V300依然在使用SandForce 2281主控之外
,其他市售固態(tài)硬盤都已經(jīng)不再應(yīng)用SandForce或JMF667H主控,大家遇到掉速踩雷的機會小了一些……
Trim指令普及了
、個別懶惰的主控也退役了
,按理說大家應(yīng)該不會遇到掉速了。不過在這個時候TLC閃存走上了歷史舞臺
,三星840等TLC閃存固態(tài)硬盤在2014年開始連續(xù)爆出讀取掉速問題。與之前的寫入掉速相比
,TLC閃存的讀取掉速更為隱蔽
,因為掉速的是盤上的舊文件,通過AS SSD Benchmark等測速軟件測出的新文件速度是正常的
。
為何在MLC時代很少見的讀取掉速會出現(xiàn)在TLC閃存身上呢
?為了在每個單元中保存額外的一個bit數(shù)據(jù),TLC需要有8個電荷位來區(qū)分其中存儲的數(shù)據(jù)
,而原來的MLC僅需4個電荷等級劃分
。
同樣空間內(nèi)劃分出更多的數(shù)據(jù)位,意味著發(fā)生偏移出錯的概率大大提高
。閃存通過保存電荷來存儲數(shù)據(jù)
,而隨著斷電時間的延長,閃存當中的電荷位就可能發(fā)生改變
,嚴重的情況下即可導(dǎo)致數(shù)據(jù)出錯
。
三星為了避免數(shù)據(jù)出錯采取的是加強糾錯的方式,一次讀不出就依靠多次讀取嘗試
,這樣在讀取盤內(nèi)舊數(shù)據(jù)的時候讀取速度就可能發(fā)生嚴重下滑
,TLC掉速因此而生。而較晚將TLC使用在SSD當中的東芝等廠商汲取了三星的教訓(xùn)
,通過主控隨時監(jiān)測閃存單元中電荷位的變化
,在必要的時候進行數(shù)據(jù)搬運來化解掉速危機。
國內(nèi)的PCEVA論壇曾對東芝Q300的馬甲款——東芝饑餓鯊TR150進行過長時間的耐久度及讀取掉速測試
,在1900PE磨損的情況下
,通過連續(xù)24小時高溫烘烤模擬SSD長期斷電保存的情形,在重新開機后盤上數(shù)據(jù)讀取是這個樣子的:因為長期斷電
,已經(jīng)有一些文件讀取掉速了
但只要閑置幾分鐘之后
,再次測試會發(fā)現(xiàn)讀取速度得到了自動的恢復(fù):說明這款固態(tài)硬盤具備預(yù)防掉速的特性,如果是正常使用,在有掉速預(yù)兆的情況下SSD會后臺搬運數(shù)據(jù)保持讀取速度不掉落。
由此可見讀取掉速并非TLC固態(tài)硬盤的通病,雖然內(nèi)部搬運數(shù)據(jù)會損耗一些閃存耐久度,但這對在耐久度測試中達到3000PE的東芝15nm TLC閃存來說應(yīng)當不是問題。
除了上面提到的這些可能引發(fā)掉速的原因,另一個未來不可忽視的固態(tài)硬盤掉速問題將是PCIe NVMe SSD的過熱限速,很多三星SM951及950Pro用戶已經(jīng)深受此中困擾,除了加強散熱之外尚無有效解決方案。
Powered by MetInfo 6.2.0 ©2008-2025 www.metinfo.cn