THE QUESTION:
Is the “idle3” timeout still relevant for 2022 Western Digital Blue hard drives, and specifically for their WD40EZAZ
line? Or should I take hdparm -J
reporting an invalid exchange as proof that the timer was removed and that the disks won't park themselves in a silly short amount of time?
Background:
So, for a long time, Western Digital shipped their “Green”, later (I think) relabeled as “Blue” hard drives with an unusual feature known as “idle3 timeout” (aka “IntelliPark”) which caused the drives to park its heads and enter a low power consumption state after inactivity. This in itself probably isn't a bad thing, but the factory default timeout value was set to the absurdly low value of 8 seconds, meaning that if your drive is accessed every 10 seconds on average, it will keep parking its heads and eventually failing. Symptoms include an abnormally high Load_Cycle_Count
SMART attribute and (presumably) eventual premature failure of the drive.
Western Digital (as far as I can tell) told people to use some other of their color lines if they had this kind of activity, but they did release a (shudder) MS-DOS utility called wdidle3
which would allow the timer to be set to a different (i.e., sane) value. (Also, they changed their mind at least once about what the raw values meant, causing more confusion.) This utility was reverse-engineered (I guess — or maybe they decided not to be evil and documented what it did) and its functionality was implemented in the Linux tool idle3ctl
(of idle3-tools
) and the -J
flag of hdparm
.
This is not ancient history: I have two 4TB Western Digital Blue hard drives, model number WD40EZRZ-22GXCB0
, which were bought in 2020-09, which implemented the idle3 timer and I think the default value was set to a few seconds.
However, a few weeks ago, I bought another 4TB Western Digital Blue drive, model number WD40EZAZ-00SF3B0
this time, and neither hdparm -J
nor idle3ctl
are able to access the idle3 timer.
- On the 2020 drives having the feature (for comparison):
vega david ~ $ sudo hdparm -J /dev/sdb
/dev/sdb:
wdidle3 = 300 secs (or 13.8 secs for older drives)
vega david ~ $ sudo idle3ctl -g /dev/sdb
Idle3 timer set to 138 (0x8a)
- On the 2022 hard drive:
pleiades david ~ $ sudo hdparm -J /dev/sdb
/dev/sdb:
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 04 51 a0 10 21 04 00 00 00 4f 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 04 51 a0 1b 21 04 00 00 00 b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
wdidle3 = disabled
pleiades david ~ $ sudo idle3ctl -g /dev/sdb
sg16(VSC_SENDKEY) failed: Invalid exchange
Now I don't have an abnormally high Load_Cycle_Count
after a few hours' use, so I'm tempted to believe the idle3 timer was scrapped altogether and I have nothing to worry about, but maybe the disk was just in constant use (as its part of a RAID array it's hard to be sure), and this Amazon reviewer claims to have the same problem (in 2017) of idle3ctl
returning “Invalid exchange” despite the drive having “IntelliPark”.
Wdidle3
from the Ultimate Boot CD. These instructions date from 2021 and might be pertinent to your disk.