題 為什麼不同的製造商有不同的S.M.A.R.T值?


首先,我想每個人都知道硬盤驅動器的失敗程度遠遠超過製造商所希望的 承認。谷歌做了一個 研究 這表示硬盤驅動器的S.M.A.R.T狀態報告的某些原始數據屬性可能與驅動器的未來故障有很強的相關性。

例如,我們發現,在第一次掃描錯誤後,驅動器在60天內發生故障的可能性是沒有此類錯誤的驅動器的39倍。重新分配,離線重新分配和試用計數中的第一個錯誤也與較高的失敗概率密切相關。儘管存在這些強相關性,我們發現僅基於SMART參數的故障預測模型的預測精度可能會受到嚴重限制,因為我們的大部分故障驅動器都沒有顯示任何SMART錯誤信號。

希捷似乎試圖掩蓋他們的驅動器信息 自稱 只有他們的軟件才能準確地確定其驅動器的準確狀態,以及他們的軟件不會告訴您S.M.A.R.T屬性的原始數據值的方式。 Western Digital沒有對我的知識提出這樣的要求,但他們的狀態報告工具似乎也沒有報告原始數據值。

我一直在使用來自smartmontools的HDtune和smartctl來收集每個屬性的原始數據值。我發現確實......當涉及某些屬性時,我正在將蘋果與橙子進行比較。我發現,例如,大多數希捷硬盤都會報告它們有數百萬的讀取錯誤,而西方數字99%的時間都會顯示讀取錯誤為0。我還發現Seagate會報告數百萬的搜索錯誤,而Western Digital似乎總是報告0。

Q:我如何規範化這些數據? Seagate是否會產生數百萬的錯誤,而Western Digital卻沒有產生錯誤?維基百科的文章 聰明 status表示製造商有不同的方式來報告這些數據。

這是我的假設:

我想我找到了一種方法來規範化(是正確的術語嗎?)數據。

希捷硬盤還有一個西數驅動器沒有的附加屬性(硬件ECC恢復)。當您從ECC恢復計數中減去讀取錯誤計數時,您可能最終得到0.這似乎相當於Western Digitals報告的“讀取錯誤”計數。這意味著Western Digital僅報告無法糾正的讀取錯誤,而Seagate會計算所有讀取錯誤,並告訴您有多少錯誤可以修復。

我有一個Seagate驅動器,其讀取錯誤計數小於ECC恢復計數,我注意到我的許多文件都已損壞。這就是我提出假設的方式。希捷產生的數以百萬計的搜索錯誤對我來說仍然是一個謎。

如果您有其他信息,請確認或更正我的假設。

這是我的西部數字驅動器的智能狀態,所以你可以看到我在說什麼:

james@ubuntu:~$ sudo smartctl -a /dev/sda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD1001FALS-00E3A0
Serial Number:    WD-WCATR0258512
Firmware Version: 05.01D05
User Capacity:    1,000,204,886,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Thu Jun 10 19:52:28 2010 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   179   175   021    Pre-fail  Always       -       4033
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       270
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       1468
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       262
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       46
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       223
194 Temperature_Celsius     0x0022   105   102   000    Old_age   Always       -       42
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

編輯:這是我正在談論的導致數據損壞的希捷硬盤。這些數據來自HDTune。

HD Tune: ST3250623A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         45       38       6        77882492   Ok       
(03) Spin Up Time                99       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       640        Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             85       60       30       359872048  Ok       
(09) Power On Hours Count        94       94       0        6028       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           100      100      20       689        Ok       
(C2) Temperature                 25       55       0        25         Ok       
(C3) Hardware ECC Recovered      50       47       0        201555081  Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      199      0        1          Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6028
Health Status         : Ok

在我看來,硬件ECC恢復的大於原始讀取錯誤率的事實是反直覺的。

這就是我發現的“正常”希捷驅動器,其中ECC Recovered與原始讀取錯誤率匹配:

HD Tune: ST380011A Health

ID                               Current  Worst    ThresholdData       Status   
(01) Raw Read Error Rate         62       46       6        79986164   Ok       
(03) Spin Up Time                98       98       0        0          Ok       
(04) Start/Stop Count            100      100      20       6          Ok       
(05) Reallocated Sector Count    100      100      36       0          Ok       
(07) Seek Error Rate             83       60       30       210309663  Ok       
(09) Power On Hours Count        93       93       0        6516       Ok       
(0A) Spin Retry Count            100      100      97       0          Ok       
(0C) Power Cycle Count           99       99       20       1325       Ok       
(C2) Temperature                 25       52       0        25         Ok       
(C3) Hardware ECC Recovered      62       46       0        79986164   Ok       
(C5) Current Pending Sector      100      100      0        0          Ok       
(C6) Offline Uncorrectable       100      100      0        0          Ok       
(C7) Ultra DMA CRC Error Count   200      188      0        18         Ok       
(C8) Write Error Rate            100      253      0        0          Ok       
(CA) TA Counter Increased        100      253      0        0          Ok       

Power On Time         : 6516
Health Status         : Ok

編輯:

我想澄清一點,我知道谷歌一般認為S.M.A.R.T沒用。我知道每個人都應該備份他們的數據。然而,我正在修理其他人的計算機。大多數人沒有備份或沒有RAID。企業對硬盤驅動器進行故障排除是不划算的,所以他們只需在RAID上運行它們直到它們死掉。我發現檢查硬盤驅動器的SMART狀態對我的工作很有用。這需要30秒。如果我很幸運能夠通過一個糟糕的驅動器來顯示掃描錯誤或重新分配的扇區等一些失敗的跡象,我知道要讓驅動器遠離那裡。如果不存在這樣的提示,我可能會花很多時間來解決緩慢和數據損壞問題,直到我終於發現硬盤壞了。

我只是想微調這個過程。


22
2018-06-11 02:55


起源


在(我相信)磁盤管理下的管理菜單中有基於智能的信息。它可能具有超過smartctl的額外能力,但我有一段時間沒有使用它並且沒有它在我面前。 - Jarvin
@Dan Hi Dan,我不確定你在說什麼Windows工具。你能澄清一下嗎? - James T
SMART的問題在於它有點用詞不當;它裡面沒有真正的智慧,只有幾個方程式(可能甚至沒有啟發式)。它所能做的就是監控自己並報告數字,這就是全部。例如,我的驅動器連接電源線連接不良,導致它幾次快速打開和關閉(發出“咔嗒聲”聲)。我重新安裝了連接器,所以它現在可以順利運行,但是由於暫時(可修復)故障一次,它現在已經在SMART中永久記錄了一個RRER事件,看起來好像失敗了。 - Synetech


答案:


正如您所看到的,看起來不同的製造商使用SMART值來進行有時根本不同的事情 這裡

ReadyNAS中的我的硬盤報告了高SMART Raw讀取錯誤率,尋求錯誤率和恢復的硬件ECC。我該怎麼辦?

Seagate使用這些SMART字段進行內部計數,因此這是Seagate磁盤的已知問題。查找其他字段中的異常計數,尤其是重新分配的扇區Ct和ATA錯誤計數。

所以當談到你的實際問題時......

如果我很幸運能夠通過一個糟糕的驅動器來顯示掃描錯誤或重新分配的扇區等一些失敗的跡象,我知道要讓驅動器遠離那裡。如果不存在這樣的提示,我可能會花很多時間來解決緩慢和數據損壞問題,直到我終於發現硬盤壞了。

我說一個好的經驗法則是,你只能期望SMART設置在同一個驅動器製造商中可以比較,甚至可能是相同的驅動器型號!

因此,當您正在考慮診斷那些SMART計數時,請記住這一點......一個製造商的“讀取錯誤重試計數”可能意味著與另一個製造商完全不同的東西。傷心但真實。 :(


13
2018-06-20 03:46





好的,首先我不同意你的前提。

谷歌做了一項研究表明這一點   某些原始數據屬性   S.M.A.R.T硬盤狀態   報告可以有很強的相關性   隨著驅動器未來的失敗。

事實上他們發現了相反的情況:

...我們發現故障預測模型   僅基於SMART參數   可能會受到嚴重限制   預測準確性,給定a   大部分失敗的驅動器   沒有顯示SMART錯誤信號   任何。

其次,SMART閾值是  標準化。驅動器本身的固件會將屬性標記為“預失敗”,但原始值對用戶來說毫無意義。例如, 希捷說

正在監控各種屬性   並根據某個閾值進行測量   限制。如果任何一個屬性超過a   閾值然後是一般SMART狀態   測試將從Pass傳遞到Fail。

可能會讀取的SMART值   由第三方SMART軟件出來的   不是基於價值觀的方式   在希捷硬盤中使用。   希捷不提供支持   聲稱閱讀的軟件程序   個人SMART屬性和   閾值。可能有一些   對老年人的歷史正確性   驅動器,但毫無疑問,新驅動器將會   已納入更新的解決方案,   屬性和閾值。

tl; dr摘要:

原始SMART值幾乎毫無意義,因為不同的製造商以不同的方式使用它們並具有不同的閾值等。驅動器固件本身會告訴您何時處於“故障前”......或者它可能不會,SMART真的不是非常可靠。

定期備份!


13
2018-06-16 18:10



根據您的評論,您似乎不會閱讀我的整個帖子。這就是我輸入所有背景信息和報價的原因。你引用谷歌但只是其中一部分。如果您在引用之前閱讀了該部分...它表示某些屬性具有強大的失敗相關性......例如重新分配的扇區數。在一個重新分配的部門之後,製造商不報告其驅動器處於故障前狀態。這清楚地表明,通過查看原始數據,您可以更好地了解驅動器的運行狀況。 - James T
我還想補充一點,我的希捷驅動器破壞了我的數據,原始數據值與我學到的健康驅動器明顯不同。顯然製造商設定閾值的地方有問題。 - James T
我想你需要重新閱讀我的帖子和鏈接。原始的SMART值是 不 可靠的指標 什麼。 Google報告沒有說“某些屬性具有強烈的失敗關聯”。它所說的是,儘管“在第一次掃描錯誤之後,驅動器在60天內發生故障的可能性比沒有此類錯誤的驅動器高出39倍”,但仍有不到15%的驅動器出現故障 任何 掃描錯誤。如果它在15%的時間是正確的,它是一個可靠的指標嗎? - sml
@scottl我不確定你從哪裡得到你的15%。我沒有在文章中看到這一點。即使只有15%的驅動器出現掃描錯誤......他們發現掃描錯誤的驅動器在60天內失敗的可能性是其39倍。這並不意味著除非您有掃描錯誤,否則您的驅動器不會失敗。這只是意味著如果你確實有掃描錯誤......你的硬盤剩餘壽命可能很短。你有沒有統計過?我發現它非常有用。 - James T
smartmontools FAQ說: 原始SMART屬性(溫度,開機壽命等)存儲在特定於供應商的結構中。有時候這些很奇怪。日立磁盤(至少其中一些)可以在幾分鐘內存儲開機壽命,而不是幾小時(參見下面的下一個問題)。 IBM磁盤(至少其中一些)在原始結構中存儲了三個溫度,而不僅僅是一個。等等。 - sml


我不確定你問的問題是什麼。你似乎將整個問題和答案匯總成一個但是......

您是否將硬盤指標與給定的指標進行了比較 的SeaTools

它是Seagate的標準硬件診斷工具,AFAIK是最常用的HDD診斷工具。

如果您發現這些工具報告其競爭對手的不利結果,請不要感到驚訝。這些工具通常適用於所有製造商的硬盤驅動器,但這並不意味著他們在做的時候讓競爭對手看起來很好。

你有沒有聽過這個笑話,“99.99%的統計數據都是正確的,當然除了這個統計數據”。


3
2018-06-15 21:43



是的......這有點令人困惑。我基本上把所有在問題之前我熟悉的背景信息和我在問題之後的所有測試和猜想都輸入了。這是我的問題“如何規範化這些數據?”。基本上..如何使一個製造商的所有數據屬性與另一個製造商的數據屬性相同,這樣我就可以準確地比較它們。 - James T
@James您可以嘗試從盡可能多的差異中收集數據,並弄清楚每個數據如何以不同方式解釋數據。他們可能都在報告正確的數據,他們可能只是像你指出的那樣以不同的方式解釋它。這就是我添加統計報價的原因......僅僅因為數據是好的,並不意味著解釋是。 - Evan Plaice
是的,這就是我所做的。我檢查了70多種不同的硬盤驅動器,尋找錯誤和讀取錯誤的巨大差異是我的特徵。我猜想對於希捷驅動器,讀取錯誤與硬件ecc恢復有某種關係。我不確定那種關係是什麼。我希望有人能告訴我。我也希望有人能告訴我為什麼希捷硬盤有巨大的搜索錯誤數,而西方數字似乎總是零。 - James T
@James也許有人會得到一個更好的答案...我的誠實猜測是,西部數據可能不遵循確切的S.M.A.R.T規範。這是硬件標準的問題,它們是很好的賣點,但總有一些製造商會在不遵循完整規範的情況下推銷所有產品。 - Evan Plaice
是的,我認為偏離標準是維基百科文章的建議。我想知道它們有何不同,以便我能夠正確地比較兩個製造商(可能還有其他製造商)。感謝Evan的評論。希望這也為其他人澄清了這個問題。 - James T


在硬盤驅動器內部的物理現實中,所有大於100MB的硬盤驅動器都會有很多物理讀取錯誤。其中大部分都是通過ECC安全糾正的,有些(希望很少)被ECC錯誤地糾正,其餘的(少數但錯誤更正)被報告回計算機讀取失敗,並且還應使驅動器自動重新定位壞扇區。

除了糾正原始讀取錯誤之外,ECC還會糾正硬件認為正常的讀取,但返回的位略有錯誤。因此ECC糾正可能是“原始讀取失敗但由ECC +原始讀取成功但是錯誤並且通過ECC修復”。

因此,對數據的兩種解釋似乎是可能的:

A.非Seagate驅動器不包括“原始讀取錯誤計數”中的ECC更正讀取錯誤,僅包括不可修復的錯誤。

如果ECC發現數據有問題,即使低電平電路沒有註意到,其他人也沒有註意到,Seagate認為這是一個讀錯誤。

歸一化將根據哪個理論(A或B)是正確的而非常不同。


1
2017-08-18 15:29



>還應該讓驅動器自動重定位壞扇區。 然後是什麼關係 不可糾正的扇區數  重新定位的事件計數 和 當前待定扇區數 字段?不會增加 當前,然後 搬遷 要么 糾正的?為什麼它不可糾正?如果它試圖重新映射壞扇區並且失敗(即備用扇區壞了),那麼它是否應該嘗試重新映射到不同的備用扇區?它不是一個只有一個備用輪胎的輪胎。 - Synetech
100 MB?你的意思是100 GB? - Peter Mortensen