Thursday, January 17, 2013

Seagate disk SMART values...

I was just looking at smartctl output from one of my disks, and it had a large number for Seek error rate attribute (note that I edited the output for readability):

Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG   VAL WOR THR TYPE     UPDATED WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f 100 253 006 Pre-fail Always      -       0
  3 Spin_Up_Time            0x0003 098 098 000 Pre-fail Always      -       0
  4 Start_Stop_Count        0x0032 100 100 020 Old_age  Always      -       826
  5 Reallocated_Sector_Ct   0x0033 100 100 036 Pre-fail Always      -       0
  7 Seek_Error_Rate         0x000f 072 060 030 Pre-fail Always      -       17262017054
  9 Power_On_Hours          0x0032 087 087 000 Old_age  Always      -       11538
 10 Spin_Retry_Count        0x0013 100 100 034 Pre-fail Always      -       0
 12 Power_Cycle_Count       0x0032 100 100 020 Old_age  Always      -       838
187 Reported_Uncorrect      0x0032 100 100 000 Old_age  Always      -       0
189 High_Fly_Writes         0x003a 100 100 000 Old_age  Always      -       0
190 Airflow_Temperature_Cel 0x0022 067 043 045 Old_age  Always  In_the_past 33 (0 17 33 31 0)191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age  Always      -       0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age  Always      -       809
193 Load_Cycle_Count        0x0022 001 001 000 Old_age  Always      -       351945
194 Temperature_Celsius     0x001a 033 057 000 Old_age  Always      -       33 (0 11 0 0 0)195 Hardware_ECC_Recovere 0x0012 097 044 000 Old_age  Always      -       196225726
197 Current_Pending_Sector  0x0010 100 100 000 Old_age  Offline     -       0
198 Offline_Uncorrectable   0x003e 100 100 000 Old_age  Always      -       0
199 UDMA_CRC_Error_Count    0x0000 200 200 000 Old_age  Offline     -       1
200 Multi_Zone_Error_Rate   0x0032 100 253 000 Old_age  Always      -       0
202 Data_Address_Mark_Errs  0x0000 100 253 000 Old_age  Offline     -       0
254 Free_Fall_Sensor        0x0000 100 253 000 Old_age  Offline     -       0
It's not the first time I saw such a large raw values which, while not problematic (VAL/WOR/THR should be actually monitored) are nevertheless interesting, to say at least. While searching around I stumbled on a post Seagate's Seek Error Rate, Raw Read Error Rate, and Hardware ECC Recovered SMART attributes. In this post, the author explains that all the values are actually 48 bits, and due to the way they are encoded it follows that those values are large. More specifically, raw value of the Seek error rate attribute should be converted to hexadecimal and then upper 16 bits are number of errors, while lower 32 bits are total number of seeks.

In this concrete case the raw value for Seek error rate is 17262017054, or 0x000404E57A1E. The first 16 bits is 0x0004 and the last 32 bits are 0x04E57A1E. What this means is that there were 4 seek errors (meaning the head wasn't positioned correctly after being moved to some track) but there were 82147870 seeks in total. So, this is very very small fraction of errors.

For the meaning of Seek error rate attribute, and many others, I recommend Wikipedia's page about SMART.

6 comments:

Valent said...
This comment has been removed by the author.
Valent said...

Awesome article, and I'll link it to Wikipedia because you have some information that is really useful and missing from Wikipedia article.

Now onto tehhnical bit:
I have this Seagate drive: ST3500413AS

but it has only 32bits for seek error rate:
7 Seek_Error_Rate 0x002f 081 060 030 Pre-fail Always - 149484455


Any idea how to interpret this one?

Cheers,
Valent.

Антончик said...

It was proved on my own Seagate Laptop SSHD:

ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 117 099 006 Pre-fail Always - 128694664
3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 124
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 072 060 030 Pre-fail Always - 8628746857
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 800
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 139
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 098 098 000 Old_age Always - 2
190 Airflow_Temperature_Cel 0x0022 052 048 045 Old_age Always - 48 (Min/Max 45/48)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 33
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 271
194 Temperature_Celsius 0x0022 048 052 000 Old_age Always - 48 (0 17 0 0 0)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
254 Free_Fall_Sensor 0x0032 100 100 000 Old_age Always - 0

Josh Lloyd said...

Very useful! Thank you for the bit about how Seagate stores the seek value.

Unknown said...

pls help me.

I have to follow the instructions Seagate SMART RESET from https://www.youtube.com/watch?v=-PPmbxNAWyg

but to step open Terminal, then just get the following message


Boot 0x10M
Spin Up[0x00000000][0x0000B67C][0x0000BA10]
Trans.

Rst 0x10M
MC Internal LPC Process
Spin Up
(P) SATA Reset

I press Ctrl + Z but not thing happend.
Can you help me!!!

Danielbibit said...

Thank you ! 124455840 errors to 0 is pretty relaxing ;)

About Me

scientist, consultant, security specialist, networking guy, system administrator, philosopher ;)

Blog Archive