Por que diferentes fabricantes têm um valor S.M.A.R.T diferente?

22
Em primeiro lugar, acho que todo mundo sabe que os discos rígidos falham muito mais do que os fabricantes gostariam de ter. -111.pdf "> admitir . O Google fez um estudo que indica que certos dados brutos Atributos que o status SMART de relatórios de discos rígidos pode ter uma strong correlação com a futura falha da unidade.

We find, for example, that after their first scan error, drives are 39 times more likely to fail within 60 days than drives with no such errors. First errors in reallocations, offline reallocations, and probational counts are also strongly correlated to higher failure probabilities. Despite those strong correlations, we find that failure prediction models based on SMART parameters alone are likely to be severely limited in their prediction accuracy, given that a large fraction of our failed drives have shown no SMART error signals whatsoever.

Parece que a Seagate está tentando ocultar essas informações sobre suas unidades reivindicando a> que apenas o software pode determinar com precisão o status exato de sua unidade e que seu software não informará os valores de dados brutos para os atributos SMART. A Western Digital não fez tal afirmação ao meu conhecimento, mas sua ferramenta de relatório de status também não parece relatar valores de dados brutos.

Estou usando o HDtune e o smartctl do smartmontools para reunir os valores dos dados brutos de cada atributo. Eu descobri que, de fato ... estou comparando maçãs a laranjas quando se trata de certos atributos. Descobri, por exemplo, que a maioria das unidades da Seagate relatará que elas têm muitos milhões de erros de leitura, enquanto que a Western Digital 99% do tempo mostra 0 para erros de leitura. Também descobri que a Seagate reportará muitos milhões de erros de busca, enquanto a Western Digital parece sempre reportar 0.

Q : Como faço para normalizar esses dados? A Seagate está produzindo milhões de erros enquanto a Western Digital não está produzindo nenhum? O artigo da Wikipedia sobre o status S.M.A.R.T diz que os fabricantes têm diferentes formas de relatar esses dados.

Aqui está minha hipótese:

Acho que encontrei uma forma de normalizar (é o termo certo?) os dados.

As unidades Seagate têm um atributo adicional que as unidades Western Digital não possuem (Hardware ECC recuperado). Quando você subtrai a contagem de erros de leitura da contagem Recuperada de ECC, provavelmente terminará com 0. Isso parece ser equivalente à contagem de "Erro de leitura" relatada pela Western Digital. Isso significa que a Western Digital apenas relata erros que não podem ser corrigidos, enquanto a Seagate conta todos os erros de leitura e informa quantos deles conseguiu corrigir.

Eu tinha uma unidade da Seagate em que a contagem de erros de leitura era menor do que a contagem recuperada de ECC e notei que muitos dos meus arquivos estavam se corrompendo. Foi assim que eu cheguei à minha hipótese. Os milhões de erros que a Seagate produz ainda são um mistério para mim.

Por favor, confirme ou corrija minha hipótese se você tiver informações adicionais.

Aqui está o status inteligente da minha unidade digital ocidental para que você possa ver o que estou falando:

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

Editar: aqui está a unidade da Seagate sobre a qual eu estava falando que estava causando corrupção de dados. Esses dados são do 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

O fato de que o Hardware ECC Recovered é maior do que a Taxa de Erros de Leitura Bruta é contra-intuitivo na minha opinião.

Isso é o que eu descobri ser uma unidade seagate "normal" em que o ECC Recovered corresponde à taxa de erro de leitura bruta:

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

EDITAR:

Quero esclarecer que sei que o Google geralmente considera o S.M.A.R.T inútil. Eu sei que todos devem fazer backup de seus dados. No entanto, estou no negócio de consertar computadores de outras pessoas. A maioria das pessoas não possui backups nem possui RAID. Não é rentável para as corporações solucionar problemas de discos rígidos, então eles apenas os executam em um RAID até que eles morram. Acho útil em minha linha de trabalho verificar o status SMART do disco rígido. Demora cerca de 30 segundos. Se eu tiver a sorte de mostrar um indício de falha, como erros de varredura ou setores realocados, sei que a unidade deve sair dali. Se tal sugestão não existir, provavelmente passarei muitas horas solucionando problemas de lentidão e corrupção de dados até que eu finalmente descubra que o disco rígido é ruim.

Estou apenas tentando ajustar esse processo.

    
por James T 11.06.2010 / 04:55

4 respostas

13

Parece que diferentes fabricantes usam valores SMART para coisas às vezes radicalmente diferentes, como você pode ver. aqui :

My hard disk(s) in ReadyNAS is reporting high SMART Raw Read Error Rate, Seek Error Rate, and Hardware ECC Recovered. What should I do?

Seagate uses these SMART fields for internal counts, so this is a known issue with Seagate disks. Look for abnormal counts in other fields, especially Reallocated Sector Ct and ATA Error Count.

Então, quando se trata de sua pergunta real ...

If I am lucky enough for a bad drive to show a hint of failure such as scan errors or reallocated sectors, I know to get the drive the heck out of there. If no such hint exists, I'll probably spend many hours troubleshooting slowness and data corruption until I finally find that the hard drive is bad.

Eu diria que uma boa regra é: você pode esperar que as configurações SMART sejam comparáveis dentro do mesmo fabricante de unidade e talvez até mesmo o mesmo modelo de unidade!

Então, quando você está olhando para diagnosticar essas contagens SMART, lembre-se ... a "contagem de novas tentativas de leitura" de um fabricante pode significar algo totalmente diferente do que o de outro fabricante. Triste mas verdadeiro. : (

    
por 20.06.2010 / 05:46
13

Ok, antes de tudo, eu discordo de sua premissa.

Google did a study that indicates that certain raw data attributes that the S.M.A.R.T status of hard drives reports can have a strong correlation with the future failure of the drive.

Na verdade, eles encontraram o oposto:

...we find that failure prediction models based on SMART parameters alone are likely to be severely limited in their prediction accuracy, given that a large fraction of our failed drives have shown no SMART error signals whatsoever.

Em segundo lugar, os limites SMART são não padronizados. O firmware na própria unidade marcará um atributo como sendo "pré-falha", mas os valores brutos não terão sentido para o usuário. Por exemplo, A Seagate diz :

Various attributes are being monitored and measured against certain threshold limits. If any one attribute exceeds a threshold then a general SMART Status test will change from Pass to Fail.

The SMART values that might be read out by third-party SMART software are not based on how the values may be used within the Seagate hard drives. Seagate does not provide support for software programs that claim to read individual SMART attributes and thresholds. There may be some historical correctness on older drives, but new drives, no doubt, will have incorporated newer solutions, attributes and thresholds.

tl; dr Resumo:

Os valores Raw SMART são quase sem sentido, pois diferentes fabricantes os usam de maneiras diferentes e têm diferentes limites, etc. O próprio firmware da unidade o informará quando estiver em "pré-falha" ... ou talvez não, a SMART realmente não é muito confiável.

Faça backups regulares!

    
por 16.06.2010 / 20:10
3

Não sei exatamente qual é a pergunta que você está fazendo. Você parece ter toda a pergunta e resposta reunidas em uma, mas ...

Você comparou as métricas de disco rígido com as fornecidas por SeaTools

É a ferramenta de diagnóstico de hardware padrão da Seagate e a AFAIK é a ferramenta de diagnóstico de HDD mais usada.

Não se surpreenda se você achar que as ferramentas relatam resultados desfavoráveis sobre seus concorrentes. As ferramentas geralmente funcionam com HDDs de todos os fabricantes, mas isso não significa que eles tenham feito seus concorrentes parecerem bons ao fazerem.

Você nunca ouviu a piada? "99,99% de todas as estatísticas são verdadeiras, exceto, é claro, essa estatística".

    
por 15.06.2010 / 23:43
1

Na realidade física dos elementos internos do disco rígido, todas as marcas de discos rígidos com mais de 100 MB terão muitos erros de leitura física. A maioria deles são corrigidos com segurança pelo ECC, alguns (esperamos que muito poucos) são erroneamente corrigidos pelo ECC e o restante (poucas, mas mais do que as correções erradas) são reportados ao computador como falha de leitura e também devem fazer com que o drive realoque automaticamente o setor ruim.

Além de corrigir erros de leitura brutos, o ECC também corrige as leituras que o hardware considerou corretas, mas os bits retornados estavam um pouco errados. Assim, o ECC corrigido pode ser "raw read falhou, mas corrigido pelo ECC + raw read, mas foi erroneamente corrigido pelo ECC".

Assim, duas interpretações dos dados parecem possíveis:

As unidades que não são da Seagate não incluem os erros de leitura corrigidos do ECC na "contagem de erros de leitura bruta", apenas os erros não corrigíveis.

A Seagate considera um erro de leitura se a ECC encontrar algo errado com os dados, mesmo que o circuito de baixo nível não tenha percebido, outros não.

A normalização será muito diferente dependendo de qual teoria (A ou B) esteja certa.

    
por 18.08.2011 / 17:29