Which manufacturer uses S.M.A.R.T. best?
Posted: August 15th, 2013, 12:51 am
Not sure what the answer to this one is, but I find the Seagate and IBM/Hitachi reports to be interesting in their own special ways.
Seagate: Counts both total seeks (lower 32 bits) and seek errors (upper 16 bits) in the raw data for "Seek Error Rate" and calculates the normalised value based on a base-10 logarithm. (An interesting side-effect of this system is that if your drive has no seek errors, the normalised value will rise with use.) The normalised value for the read error rate is also calculated using a logarithm, however the raw value is not the number of total sectors read or read errors but a rolling counter, which doesn't have any practical value that I'm aware of.
(See here for details.)
The problem with this system is the number of users - and dumb reporting utilities like HDD Health - that take those attributes at face value, which makes Seagates look bad even if there's nothing wrong with them.
The temperature reporting is rather weird - Seagate doesn't make an actual normalised value but instead reports the temperature in both the raw data and "normalised" fields, which goes against the usual logic of "higher value = better" and makes it impossible to set a threshold for that attribute.
IBM/Hitachi: Stores three temperatures - highest, lowest, and current. The raw data field is used like this:
00HH00LL00CC
HH = highest temperature measured
LL = lowest temperature measured
CC = current temperature
While informative, the problem, again, is that dumb utilities like the aforementioned HDD Health convert the whole raw data field to get the current temperature. If, for example, the highest temperature is 50, the lowest 15, and current 40 (raw 0032000F0028), HDD Health would report it as 214,749,347,880°C...which is probably why the other manufacturers don't use either of the mentioned systems. Nevermind that a single byte can store an integer from 0 to 255 (unsigned) or −128 to +127 (signed), and few HDDs can sustain >60°C or <0°C.
Additional: How do you think the number of installed read/write heads in a drive would affect reliability? Two key scenarios I'm interested in:
878 million seeks and counting on my ST3120026A. No errors. Feel lucky?
Seagate: Counts both total seeks (lower 32 bits) and seek errors (upper 16 bits) in the raw data for "Seek Error Rate" and calculates the normalised value based on a base-10 logarithm. (An interesting side-effect of this system is that if your drive has no seek errors, the normalised value will rise with use.) The normalised value for the read error rate is also calculated using a logarithm, however the raw value is not the number of total sectors read or read errors but a rolling counter, which doesn't have any practical value that I'm aware of.
(See here for details.)
The problem with this system is the number of users - and dumb reporting utilities like HDD Health - that take those attributes at face value, which makes Seagates look bad even if there's nothing wrong with them.
The temperature reporting is rather weird - Seagate doesn't make an actual normalised value but instead reports the temperature in both the raw data and "normalised" fields, which goes against the usual logic of "higher value = better" and makes it impossible to set a threshold for that attribute.
IBM/Hitachi: Stores three temperatures - highest, lowest, and current. The raw data field is used like this:
00HH00LL00CC
HH = highest temperature measured
LL = lowest temperature measured
CC = current temperature
While informative, the problem, again, is that dumb utilities like the aforementioned HDD Health convert the whole raw data field to get the current temperature. If, for example, the highest temperature is 50, the lowest 15, and current 40 (raw 0032000F0028), HDD Health would report it as 214,749,347,880°C...which is probably why the other manufacturers don't use either of the mentioned systems. Nevermind that a single byte can store an integer from 0 to 255 (unsigned) or −128 to +127 (signed), and few HDDs can sustain >60°C or <0°C.
Additional: How do you think the number of installed read/write heads in a drive would affect reliability? Two key scenarios I'm interested in:
- Drives from the same family (same areal density and RPM) with different capacities and head counts (e.g. ST340014A vs. ST3160023A)
- Drives of different generations (but same RPM), different density and number of heads to reach the same capacity (e.g. ST3160023A vs. ST3160812A)
878 million seeks and counting on my ST3120026A. No errors. Feel lucky?