因為最近我對硬碟的這個功能覺得蠻有意思的(其實是怕硬碟有一天會爆炸@@)
但是我用的硬碟監控軟體Active SMART裡面秀出的屬性和數值完全看不懂
所以上網搜尋了一下,找到以下的文章,大家參考一下^_^

==========================================
以下內容整理自遠望和存儲在線相關內容。

S.M.A.R.T,英文全稱Self Monitoring Analysis and Reporting Technology,直譯為「自我監測、分析與報告技術」。是為了提高硬盤數據的安全性而開發的。它可以使硬盤實時檢查自身的狀態,通過一定機理及時分析出潛在的問題,報告給系統,有時甚至能給出預計的硬盤故障日期,實際就是一種預警技術。那麼,S.M.A.R.T是如何實現這些功能的?這要從硬盤出現故障的起因說起。

一、故障因素

硬盤的故障有很多種,但基本可以分為兩類:漸進性和偶發性。

1、漸進性故障:是隨著使用時間的推移而緩慢發生的,並且在使用期間會露出一定的蛛絲馬跡。此類故障中包括軟件故障和硬件故障。比如,硬盤的主軸馬達是會逐漸磨損的,但遠在徹底損壞之前,盤片運轉時的聲音肯定會出現異常。此外,磁盤介質的穩定性下降等故障也屬於漸進性故障。根據這一特點,可以通過S.M.A.R.T此類實時信息檢測技術監測其屬性來進行故障預測、分析和提供建議,從而加以防範。

2、偶發性故障:故障是偶然出現的,之前沒有任何跡象。比如,電路板芯片燒燬,突發的撞擊導致磁頭、介質損壞等故障。通常是在S.M.A.R.T反映出性能下降之前,硬盤就已經不能工作。而這些只可通過質量、設計、工藝、製造等方面的改進以及使用過程中規範操作來降低不可預測故障的發生率(例如硬盤防震技術的開發和進展,有效降低了硬盤震動物理故障的概率)。
對於防止偶發性故障的發生,的確很難,現在比較認可的,就是硬盤讀寫操作時不要使硬盤受到振動或撞擊,即使未通電狀態下,也要盡可能避免震動;保證電源的功率以及電壓的穩定;避免電路板上的芯片受靜電擊穿等等。即使做到了這些,有時仍然難以避免偶發性故障,主要原因在於其不可預知性。

相對來講,漸進性故障因為有「蛛絲馬跡」可循,從而具備一定的預知性,可以使重要數據的提前備份成為可能,避免了「災難性」的後果。怎麼預知呢?這就涉及到S.M.A.R.T的工作機理了。我們先來瞭解一下S.M.A.R.T最重要的幾個組成部分。


二、S.M.A.R.T的構成

1、S.M.A.R.T在何處?如何工作?

S.M.A.R.T信息保留在硬盤的系統保留區(Service Area)內,這個區域一般位於硬盤0物理面的最前面幾十個物理磁道,由廠商寫入相關內部管理程序。除了S.M.A.R.T信息表外還包括低級格式化程序、加密解密程序、自監控程序、自動修復程序等。監測軟件通過一個名為「SMART Return Status」的命令(命令代碼為:B0h)對S.M.A.R.T信息進行讀取,且不允許最終用戶對信息進行修改。

不過,S.M.A.R.T技術自身提供了訪問指令,可以由主板BIOS程序以及一些工具軟件通過執行該指令對硬盤的S.M.A.R.T狀態進行訪問,並輸出結果。從而實現了對硬盤健康狀態的監測,間接發揮了對數據的安全保護作用。

2、S.M.A.R.T信息表由什麼組成?

S.M.A.R.T標準中採用二進制代碼作為S.M.A.R.T的基本指令,並規定寫入標準的寄存器中,形成特定的S.M.A.R.T信息表,以供正常檢測和運行。S.M.A.R.T指令分主指令(Command)和次指令(Subcommands)。主指令主要提供設備是否支持S.M.A.R.T或忽略某一次指令特徵的信息。而次指令則提供支持S.M.A.R.T設備的檢測信息。這些指令主要由設備廠商寫入,一些專業硬盤維修軟件可以通過這些代碼進行設備的檢測。

S.M.A.R.T狀態以表的形式輸出結果,表中很直觀的體現了S.M.A.R.T的構成。一幅完整的S.M.A.R.T表由以下幾項構成:

Attribute Description(屬性描述)、ID(屬性標識碼)、Threshold(閾值)、Value(屬性當前值)、Worst(屬性最壞值)、Data(數據記錄)、Status(狀態)。

⑴ Attribute Description(屬性描述)和ID(屬性標識碼)

在ATA—3規範中,IBM、昆騰(Quantum)等廠商制定了S.M.A.R.T技術標準。標準中定義了和硬盤不同特性相對應的各項屬性(Attribute)。而硬盤廠商不同,硬盤特性有所差異,所以,屬性(Attribute)也不盡相同。在定義各項屬性的同時,也分別為這些屬性賦予了唯一的標識碼--ID。Attribute Description對應的內容就是這些屬性的具體含義。

下面是當前主流硬盤產品的S.M.A.R.T屬性(Attribute)的標識碼以及含義(圖1)。需要注意的是,沒有任何一種品牌型號的硬盤採用圖中所有的屬性,基本只是採用其中的若干項而已。ID檢測代碼不是唯一的,廠商可以根據需要,使用不同的ID代碼或根據檢測參數的多少增減ID代碼的數量。例如,西數公司的產品ID檢測代碼為「04」,檢測的參數是「Start/Stop Count」(加電次數),而富士通公司同樣代碼的檢測參數卻為「Number of times the spindle motor is activated」(電機激活時間)。

ID Attribute Description 屬性描述
01 Raw Read Error Rate 數據讀取出錯率
02 Throughput Performance 數據吞吐量性能
03 Spin Up Time 主旋馬達旋轉到指定轉速的時間
04 Start/Stop Count 主旋馬達啟動、停止次數
05 Reallocated Sector Count 重新分配扇區的數量
06 Read Channel Margin 讀取數據通道的邊緣
07 Seek Error Rate 尋道出錯率
08 Seek Time Performance 尋道性能
09 Power-On Time Count 加電累計時間
0A Spin Retry Count 主旋馬達重新旋轉到指定轉速的累計次數
0B Calibration Retry Count 磁頭校準重試次數
0C Power Cycle Count 硬盤加電次數
BF G-Sense Error Rate 震動感測出錯率
0D Soft Read Error Rate 程序讀取出錯率
C0 Power-Off Retract Count 硬盤斷電回復次數
C1 Load/Unload Cycle Count 磁頭載入、載出次數
C2 Temperature 溫度
C3 Hardware ECC Recovered 硬件錯誤糾正恢復次數
C4 Reallocation Event Count 重新映射扇區數據轉移操作次數
C5 Current Pending Sector Count 當前待映射扇區數量
C6 Off-Line Uncorrectable Sector Count 離線不可糾正扇區數量
C7 Ultra ATA CRC Error Rate Ultra ATA數據傳輸出錯率
C8 Write Error Rate 扇區寫操作出錯率

⑵Threshold(閾值)、Value(屬性當前值)和Worst(屬性最壞值)

Threshold(閾值):顧名思義,界限值。是硬盤工程師根據硬盤的損壞狀況做了大量鑒定、測試、總結的工作之後決定的,有著很高的科學參考價值。閾值具體是多少,依品牌不同而有所差異。因此,用廠商自己提供的檢測軟件往往會跟Windows下的檢測軟件的檢測結果有較大出入。
這裡,我們推薦以廠商軟件的檢測結果為標準,因為Windows環境下,系統要求硬盤的啟動程序比DOS下多得多,這可能導致硬盤S.M.A.R.T值比DOS環境下檢測的波動更大。以參數Raw Error Rate(錯誤讀取率)為例:該參數的計算公式為10×log10(主機和硬盤之間所傳輸數據的扇區數)×512×8÷重讀的扇區數。其中 「512×8」是把扇區數轉化為所傳輸的數據位(bits),這個值只在所傳輸的數據位處於1010-1012範圍時才作計算,而當Windows系統啟動後,主機和硬盤之間所傳輸的數據扇區大於或等於1012時,此值將重新復位。這就是為什麼有些值在不同的操作環境、不同檢測程序下時波動較大的原因。

Value(屬性當前值):是反映硬盤自身各種狀況的一種量化的數值,出廠時最高,一般範圍為1-253,隨著使用損耗而逐漸下降(有時也會上下浮動,但總體趨勢是下降)。通常,最大的屬性值等於100(適用於IBM、昆騰、富士通)或253(適用於三星)。當然,也有例外的時候,比如由西部數據公司生產的部分型號硬盤,就用了兩個不同的屬性值,最初生產時屬性值設為200,但後來生產的硬盤屬性值又改為100。

當Value降低到Threshold之下時,硬盤進入危險狀態,同時S.M.A.R.T會憑借BIOS內建的監測指令或者第三方S.M.A.R.T監控程序向系統報告TEC(Threshold Exceeded Condition)錯誤,這時應該立即著手備份數據。

Worst(屬性最壞值):最大出錯值是硬盤運行中曾出現過的最大的非正常值,即Value(屬性當前值)曾出現過的最低值(不適用於昆騰、西數和希捷的某些屬性)。它是對硬盤累計運行的計算值,根據運行週期,該數值會不斷地刷新,並且會非常接近閾值。所以,一般情況下,Worst(屬性最壞值)總是小於等於Value(屬性當前值)。較大的屬性值意味著硬盤質量較好而且可靠性較高,而較小的屬性值則意味著故障發生的可能性增大。。

⑶Data(數據記錄)

Data(數據記錄)對硬盤運行當中監測到的和所有S.M.A.R.T屬性(Attribute)關聯的數據變化所做的記錄。任何細微的變化都會在這裡留下痕跡。

⑷Status(狀態)

對屬性的定性分析結果,OK為正常。Bad、Warning、Failed或者Pre-Failure則表示有故障。S.M.A.R.T判定出這3個狀態與S.M.A.R.T的Pre-failure/Advisory Bit(預知錯誤/發現位)參數的賦值密切相關。

當Pre-failure/Advisory Bit=0,並且可靠屬性值遠大於閾值的情況下,為正常提示「OK」標誌。當Pre-failure/ Advisory Bit=0,並且可靠屬性值大於閾值但接近閾值臨界值時,為警告提示「!」標誌;當Pre-failure/ Advisory Bit=1,並且可靠屬性值小於閾值時,為報告故障或錯誤提示「!!!」標誌。

⑸S.M.A.R.T屬性(Attribute)的種類
根據S.M.A.R.T屬性(Attribute)本身的含義以及對硬盤故障預知的重要性不同,可以分為關鍵屬性(Critical Attributes)和資料屬性(Informative Attribute)。

①關鍵屬性(Critical Attributes):對硬盤的使用壽命、各機械組件的漸進性故障具有一定的監測作用。

②資料屬性(Informative Attribute):反饋硬盤的相關運行記錄供參考。

怎麼區分這兩種屬性呢?對任一項S.M.A.R.T屬性(Attribute)來說,閾值(Threshold)不是零的,屬於關鍵屬性(Critical Attributes);閾值(Threshold)是零的,則屬於資料屬性(Informative Attributes)。硬盤在出廠時,同一型號的硬盤S.M.A.R.T屬性(Attribute)個數是相同的。但是即使同一廠商,不同時期生產的硬盤所採用的屬性(Attribute)個數和種類都可能有所差別。Everest的狀態報告也可以幫助區分這兩種屬性,「OK:Value is normal」對應的是關鍵屬性(Critical Attributes);「OK:Always passing」對應的則是資料屬性(Informative Attributes)。

這兩種屬性的區別是:「值正常」表明此項S.M.A.R.T值是正常的,硬盤沒有故障;「永遠略過」則表明此項只是某參數的記錄,沒有合格與不合格的標準,如「Power on time count」,這個參數只是記錄了硬盤已經加電工作的時間,這個參數應當永遠合格,它不用來衡量硬盤的性能,因此顯示為「OK:Value is Normal」。

特別注意:當某一關鍵屬性(Critical Attributes)的屬性值(Value)低於相對應的閾值(Threshold)時,硬盤進入預前故障(Pre-Failure)狀態。這時的硬盤,也許還能正常運行,但已經不適合存放任何有價值的數據了。

雖然關鍵屬性(Critical Attributes)依品牌而異有所差別,但是有一項屬性是所有品牌都看作關鍵屬性的。這就是05項Reallocated Sectors Count,它的作用是記錄重分配(映射)扇區個數。當今的硬盤本身都具備一定的自我修復功能,當出現不穩定的扇區時,固化在硬盤Firmware裡的程序會自動把不穩定扇區的數據轉移到同樣容量的保留扇區裡面,同時屏蔽掉不穩定扇區,從而實現壞道的替換。這種硬盤底層的操作雖然在操作系統裡面不留任何痕跡,但是S.M.A.R.T屬性的05項做了忠實的記錄。05項屬性值(Value)的大小體現了保留扇區的多少。出廠時,保留扇區最多,屬性值(Value)最大,隨著使用中壞扇區的出現,保留扇區的減少,屬性值(Value)逐漸降低,當降到1時,說明保留扇區已經用盡,硬盤已經不具備壞扇區的自我替換能力了。
各品牌的硬盤保留扇區數量是有差異的,所以,05項閾值(Threshold)控制上也有一定差異。東芝(Toshiba)硬盤的閾值是1,而西數(WD)硬盤的閾值則高達140。

相對關鍵屬性(Critical Attributes)來說,資料屬性(Informative Attributes)的作用不是太大,但是也可以通過資料屬性發現一些問題,不過,要注意關鍵屬性(Critical Attributes)重點看Value,而資料屬性(Informative Attributes)重點在於Data。比如硬盤加電次數可以通過0C項Power Cycle Count的Data數值來判斷;斷電(非正常關機)次數可以通過C0項Power-Off Retract Count的Data數值來判斷;硬盤當前的溫度則可以由C2項Temperature項的Data數值來判斷。註:IBM/Hitachi、富士通(Fujitsu)、東芝(Toshiba)、易拓(ExcelStor)的C2項Data數值有兩個,以後面的數值為準。

下面以一幅用Everest測得的S.M.A.R.T屬性(Attribute)截圖為例,做一下瞭解。

http://bbs.pcshow.net/attachments/49DWtS21scew1rUt18rBz8r00NQ=_pgPgKtTL1Efx.gif

這裡值得一提的是,Everest測得的S.M.A.R.T結果中ID屬性標識碼前面的小方框也可以作為狀態定性的依據,如果是√,表示正常;如果是×,則表示有故障。

以ID為「04」的Start/Stop Count(加電次數)檢測參數為例,從圖中,我們看到此參數規定的屬性正常值(Attribute Value)為「100」,這個正常值是通過計算公式:「100-硬盤正常使用壽命期間的加電次數÷1024」而給出的。而最大出錯值是硬盤運行的累計計算值。例如如果是新硬盤,則加電次數為0,因此為100-0/1024=100,最大出錯值=屬性正常值。隨著加電次數的增加,該最大出錯值不斷變化。廠商規定的閾值為20,即當硬盤的開關電次數達到81920次時(100-81920/1024=20),最大出錯值=閾值,系統就會提示用戶備份數據。因此,加電次數在81920次範圍之內,並且最大出錯值始終大於閾值20的狀態下,均為正常。圖中的加電次數(Data實際值)為324次,因此最大出錯值近似為100,狀態顯示為「OK:Value is Normal(值正常)」。

由此可知,漸進性故障的「蛛絲馬跡」具體可以在S.M.A.R.T各項屬性(Attribute)當前值(Value)的變化中體現出來。每一個參數所給出的值都是經過一些特定的計算公式而給出的。作為用戶,只要觀察「Worst」和「Threshold」值的關係,並注意狀態提示屬性狀態信息,即可大致瞭解硬盤的健康狀況,從而可以見微知著,及時採取措施,避免數據災難的發生。


Posted by viko1316 at 痞客邦 PIXNET 留言(0) 引用(0) 人氣()