What type of hard drive hardware failure leads to this stripy read failure pattern?

I'm in the process of recovering data using ddrescue from a failing ~1TB external hard drive. Much of the data is recoverable, which is great, but the symptoms are interesting, and I'm just wondering what kind of failure would lead to them. There is no problem to be solved here, just satisfying my curiosity.

here are the details of the drive (from fdisk -l):

Disk /dev/sde: 931.48 GiB, 1000170586112 bytes, 1953458176 sectors
Disk model: My Passport 0748
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00023f15

Device     Boot Start        End    Sectors   Size Id Type
/dev/sde1  *     2048 1953458175 1953456128 931.5G  b W95 FAT32

The symptoms are:

  • Very slow read rate. When successfully reading, the read rate is exactly 65536 bytes per second. I've been recovering data from this drive for several months now.

  • Regions of the disk that are not readable (not fully declared as unreadable yet by ddrescue, but that for now it is skipping over) form neat, regular stripes. Contiguous segments of the disk ~500MB long are readable, with unreadable regions about ~170MB wide in between them.

The size of these regions varies (fairly smoothly) throughout the disk, here is a screenshot of ddrescueview viewing the log file:

ddrescue log file viewer

(note: "pass 1" is a lie, I've been editing the log file between restarts, using a mapfile to prioritise parts of the disk where there are actual files, and that sort of thing. Most of the disk has seen several passes already).

Any insight would be appreciated!

Many screenshots of ddrescueview show a similar pattern, but I'm wondering what issue in the hardware leads to it. Obviously a radial section of the physical disk being damaged would mean part of the disk unreadable at regular intervals, but since hard drives spin at a few thousand RPM and only read at a rate of tens of MB per second, I would have expected the stripes of readable data to be much narrower than 500MB: 1MB or less.


Solution 1:

Since this is a pattern across the whole disk, rather than in just one area, Here are two suggestions on the nature of the damage.

  • It might be due to head misalignment or damage, which sometimes can be resolved by putting the platter in another drive. This is not something that can be done at home with any chance of success, but if the data is valuable, and you are comfortable with the costs, you could try a commercial data recovery service.
  • Another possibility is a scratched platter. Two ways it might get scratched:
    • A sharp bang on the drive while operating could push read/write head into the platter (normally, they are not in contact; the head rides on a thin film of air just above the disk). The mechanism tries to park the head, dragging it inward, when vibration is detected. Usually, that happens fast enough to prevent damage... only this time it didn't beat the impact.
    • Less likely, very hard grit, e.g., diamond dust from metalworking, could be dragged over the surface by the head.

So, for two out of the three suggestions, a short sharp shock might be the cause.