Post
by whiic » Wed Jan 24, 2007 5:27 am
"Is this a speed fan malfunction?"
Very Unlikely. SpeedFan just reads SMART values and takes the Temperature attribute reported by HDD controller then takes the raw value of that attribute and converts the last byte of that raw value to decimal form.
For example my 7K400 reports SMART Temperature attribute as follows:
value: 141, worst: 141, warn: 0, raw data: 0035000C0027.
With Hitachis, raw data can be converted to maximum temp (0x0035) (53 deg C), minimum temp (0x000C) (12 deg C) and current temp (0x0027) (39 deg C).
Seagates report would report their value a bit differently. My 7K400 isn't a Seagate but if it were, it'd probably report the tempereture like this:
value: 39, worst: 53, warn: 0, raw data: 000000000027.
Again: last byte (0x27) or last two bytes (0x0027) tells us the current temperature. Seagates also report current temperature in "value" field. Maximum temperature during life-time is reported in "worst" field. (Minimum temperature is not reported at all.) The way Seagate reports the temperature is against SMART specs as lower values should mean worse. The way Seagate reports it means running hot is "better". If we forget being agaist the specs, the way Seagate uses Temperature attribute is quite useful, different from the way Hitachi uses it, but useful still.
All other manufacturers report current temperature in raw data field, but only Hitachi and Seagate report the maximum temperature. Maximum lifetime temperature can sometimes be calculated from "worst" field of WD drives but this definitely needs performing some calculations and it also assumes several thing such as value linearity and offset. If I remember correctly WD values can be interpreted the following way:
there's "warn" value which is some constant value (for example: 45). The maximum operational temperature of WD drive is for example 55 deg C (can be found in specs). If HDD is running 20 degrees from it's maximum allowed temp (thus running at 35 deg C) the current value will be "warn" value plus 20 multiplied with some constant (constant may even be "1"). It's paramount to make some calculations at different temperatures to determine the value of this constant. After it is determined, it's possible to find the true maximum temperature of a WD.
Complicated? No, because current value is always(?) the last byte of raw data. That applies to Hitachi, Seagate, WD and Samsung.
No matter how simple it is, some HDD temperature monitoring utilities manage to f*ck the conversion. For example HDD Health converts the whole raw data instead of just one byte. For non-Hitachis, this produces the same result. But my 7K400 is currently running at 227634053159 degrees Celsius. It's hotter than the Sun.
So if SpeedFan reports 70 deg C, the HDD is telling it's running at 70 deg C. I wouldn't doubt SpeedFan working correctly but temperature senson on the HDD might be faulty. If it's running hotter than other drives, you may have a problem... but not necessarily. 70 deg C is Real Hot. Touch it and you'll burn your finger. Does it cause pain in your fingertips? If yes, then it's no doubt a ticking timebomb. Check the SMART values. What by the way is the maximum temperature (as reported in "worst" field?