固态硬盘的S.M.A.R.T详解
瑞耐斯寫這篇文章,是因為在測試的過程中看到了?SSD存在偶爾有性能下降的情況,經分析為S.M.A.R.T命令所導致,雖然這種情況看似不嚴重,但如果應用在諸如數據采集等關鍵性領域,有可能會導致丟失數據包的嚴重后果,當然,這個bug是可以修正的,先看圖片:
S.M.A.R.T概述
S.M.A.R.T.(Self-Monitoring?Analysis?And?Reporting?Technology),意思為“自我檢測分析與報告技術”,從名字也能看出其作用是故障預警,固態硬盤可以通過監測自身的健康狀態,并將參數值反饋給監控軟件或者操作系統,事實上,大部分的參數僅僅對工程師而言有意義,對于最終用戶而言,只關注一些關鍵指標即可,如:新增壞塊統計,剩余使用壽命,擦除次數等即可。
一些常用的測試軟件也可以獲取到SSD的S.M.A.R.T信息:
SSD主控廠商也會提供相應的工具:
經過多年HDD硬盤廠商的完善,S.M.A.R.T已經形成了一些標準,但對于SSD來說,大多數S.M.A.R.T都是自定義的,以至于每個廠商所提供的參數并不一致,但大體都會參考HDD S.M.A.R.T來設定。
SSD S.M.A.R.T信息保存在特定的區域中,由Firmware安排,有可能保存在OP區中,也有可能保存在任何FW工程師想要放置的地方,或者由單獨的表來存放。
固態硬盤的S.M.A.R.T與HDD不完全相同,網絡上常用的測試軟件提供的S.M.A.R.T都是基于HDD設置的,SSD廠商通常會自行根據Nand Flash的特性設定S.M.A.R.T。
S.M.A.R.T各項參數釋義
01原始讀取誤碼率Raw?Read?Error?Rate
????? 這項指標反饋了Nand Flash的初始健康狀態,數據值包含了可校正的錯誤與不可校正錯誤;
09通電時間累計?Power-On?Hours
?????計量單位為小時,也可以以分鐘、秒為計量單位,由SSD廠商自行定義,通常情況下活動、空閑和睡眠三種狀態的時間都會被計算在內,有些SSD會通過一些電源管理功能的開啟會將睡眠時間排除在外。此參數表示硬盤通電的累計時間,新硬盤當然應該接近0,但事實上SSD廠商在測試過程中已經使用數個小時甚至數十上百個小時,只是測試完畢后重新量產,參數又會歸零。?
??????0C通電周期計數?Power?Cycle?Count
??????通電周期計數的數據值表示了硬盤通電/斷電的次數,即電源開關次數的累計,新硬盤通常只有幾次。?
??????固態硬盤的通斷電與HDD不同,SSD通常會做大量的P/E cycle測試,軍工、工業類SSD還需要做大量的異常通斷電測試,以防止在異常掉電的情況下丟失映射表以及規避其他因掉電導致不可靠的因素,瑞耐斯通常會進行3000次到10000次的異常掉電測試,但是,測試完畢,會對SSD重新量產,Power Cycel Count會被清空,用戶看到的仍然是少量的通電次數。
B8初始壞塊計數?Initial Bad Block?Count
???? 每個Nand Flash出廠時都會有初始壞塊,固件通過掃描每個Block的第一個和最后一個page Spare Area區域的0xFF標記,如果沒有0xFF標志,則表示為壞塊,壞塊由固件進行統一管理,列入壞塊表。
初始壞塊的數量可以從某種程度上反映SSD的初始健康狀態,初始壞塊越多,健康狀態相對來說就越差。
C3編程失敗塊計數?Program?Failure?Block?Count
??? 編程失敗會將此page所在的Block列為壞塊,這類的壞塊稱為新增壞塊或者使用壞塊,壞塊會被列入壞塊管理表,每個Block都存在一定的擦寫壽命,當編程識別以及擦除失敗時,都會被列入壞塊表進行管理,對于數據安全要求很高的領域來說,一次編程失敗或者擦除失敗或者讀取失敗都可以將此塊列為壞塊。
對應下面C4,擦除失敗塊計數,同樣道理。
C4擦除失敗塊計數?Erase?Failure?Block?Count
解釋同C3
C5讀取失敗塊計數?Read?Failure?Block?Count
解釋同C3
CA flash總的bit錯誤統計?Total?Count?of?Error bits from flash
這個統計包括了編程干擾(Program Disturb)錯誤,讀取干擾錯誤(Read Disturb)和擦除錯誤,可糾正和不可糾正的錯誤bit總數。
這個值看上去會非常大,尤其是ECC能力較弱的SSD,值會更大,配合CB參數,可以大概判斷此SSD的糾錯能力,值越大,說明糾錯能力越差。
CB讀取扇區可糾正bit錯誤統計?Total?Count?of?Read?Sectors?with?correctable?bits?errors
這個統計只包括已經糾正的錯誤bit數量,用CA-CB就可以得出不可糾正的錯誤數量,CA和CB的差異越大,說明SSD的糾錯能力越弱,SSD的壽命也會更短。
CD最大PE次數Maximum PE Count
這個參數是根據Nand Flash的datasheet來設定的,事實上,nand Flash的PE次數要比datasheet規定的多,例如:給出的值是3000,等真正的計數達到3000時,剩余壽命會顯示為0,但實際上SSD的健康狀態可能還非常好,所以,此參數只能做為最為保險使用的參考。
CE最小擦除總數Minimum Erase Count
最大、最小和平均擦除總數描述每個Block的擦除次數,最大和最小擦除次數差別越小,說明磨損平衡算法做的越好,平均值沒有任何意義。
CF最大擦除總數Maximum Erase Count
見CE解釋
D0平均擦除總數Avage Erase Count
見CE解釋
D1剩余壽命Remaining Life(%)
這個參數顯示SSD的剩余壽命,參考CD的描述可知這個值僅僅是個參考值,并不真正代表SSD的壽命。
歡迎了解瑞耐斯固態硬盤:may@renice-tech.com
總結
以上是生活随笔為你收集整理的固态硬盘的S.M.A.R.T详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文中出现的 cf. i.e.
- 下一篇: SATA协议固态硬盘的S.M.A.R.T