HDD notes

July 7, 2021

Hard disk drives from Western Digital

I've got a couple of 4TB WD disks a few months ago for my family archive and I had to recall a famous problem with WD disks, namely high load cycle count:

9   Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       366
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       2385

Assuming the disk drive is /dev/sda, the fix is quite easy:

hdparm -J 120 --please-destroy-my-drive /dev/sda

USB-SATA adapters

I'm a fan of small single board computers, especially since they became equipped with USB-3. However, to attach a HDD via USB-3 I needed a good USB-SATA adapter.

Not all adapters are good. Most of them are crappy, and each is crappy in its own way. That's why I can easily tell them apart.

They may work somehow, but you'll be unable to access SMART, or unable to use hdparm. After trying a few models I've found the best ones, based on JMicron JMS578 chip.

However, even if they seem to work, I do recommend to upgrade the firmware: https://wiki.odroid.com/odroid-xu4/software/jms578_fw_update. This link is for ODROID, but this software should work on any ARM64 platform. For example I'm running Armbian on NanoPi NEO3 and Orange Pi 3, and it works very well for me.

Avoiding HDD spindown

In order to get instant access to the data, the disk should be always spinning. This is normal mode of operation for big servers, but if you make a small home server you encounter problems related to portable devices.

It's not a problem for a disk to be spinning through all the lifetime. On the contrary, frequent spin ups kill it much faster. The lifetime of most of my old disks is more than 100,000 hours and they are still alive and operational.

However, disks attached via USB-SATA adapters get spinned down for some reason. The reason is clear, however: fools are concerned with power saving. But I haven't found what makes the drive to spin down. Instead, I have found a simple solution. Just make change to /etc/default/smartmontools:

smartd_opts="--interval=30"

Of course, smartd, which is a part of smartmontools, should be installed. This parameter forces it to issue SMART queries every 30 seconds so the disk subsystem (not sure which part of it) thinks that the disk is in use and does not stop the spindle.