How to tell whether a drive is failing
A dying drive is usually not slow everywhere. It is slow in one region, and normal in the rest — which is why an overall speed test can look fine right up until it doesn't.
Short answer
Back it up first, then measure. A drive that reads at full speed for most blocks and stalls for hundreds of milliseconds on a few is a drive whose controller is retrying reads, and that pattern shows up long before anything reports an error.
Back it up before you diagnose it
This is not a formality. Every test on this page reads the drive, and reading a failing drive is one of the ways failing drives finish failing. If the data matters, copy it off first and then investigate — and copy it somewhere else, verified, rather than to another folder on the same disk. There is a guide to doing that properly.
If the drive is making a noise — clicking, grinding, a repeated spin-up — stop now. Software cannot help, and every additional minute of power is a risk. That is a recovery-lab job or an accepted loss.
What failure actually looks like
The intuition is that a failing drive gets slow. The reality is more specific and more useful.
Drives retry. When a sector will not read cleanly, the drive tries again, and again, and applies error correction, and eventually either returns the data or gives up. Each retry takes milliseconds. So a drive going bad reads at full speed across most of its surface and then takes 300 ms on one block, and 800 ms on another a bit further along.
Average that over a whole-disk benchmark and it barely moves the number. Look at it block by block and it is unmistakable — a flat line with spikes clustered in one region.
That is the measurement worth making: not “how fast is this drive” but “which parts of it are slow”.
Read SMART, and know its limits
Every modern drive keeps its own counters, readable with smartctl from the smartmontools package, or the manufacturer’s utility.
The attributes worth looking at:
- Reallocated sector count — sectors that failed and were swapped for spares. Anything above zero on a drive that was fine last month is a trend.
- Current pending sector count — sectors that could not be read and have not yet been reallocated. This is the one that matters most; a non-zero value means there is data the drive currently cannot return.
- Offline uncorrectable, reported uncorrectable errors, and on SSDs the media wear-out indicator and percentage used.
The limit is that SMART is a lagging indicator. A well-known study of over a hundred thousand drives found that a substantial share failed with no SMART warning at all. “SMART says healthy” is not evidence of health; “SMART says something” is strong evidence of a problem.
Speed tests, and what they are for
A throughput benchmark answers a different question from a health check. It is for:
- Comparing two drives on the same machine under identical conditions.
- Confirming an SSD is running at the interface speed you paid for, rather than having fallen back.
- Establishing a baseline now so that a number six months from now means something.
For that to work the test has to be honest about caching. A 256 MB test on a machine with 32 GB of RAM measures the page cache, not the disk. The write has to be flushed to the device and the read has to come from the device.
The programs for this
- SectorPilot does the block-by-block map. It reads a disk image block by block, times every read, and classifies each block OK, slow or failed, so you get the shape rather than an average.
compareputs a scan from today next to one from three months ago, which is how you tell “always been like that” from “getting worse”. - DiskOps is the straight throughput number: write, fsync, read back, two figures in MB/s. Small enough to keep as a habit.
- DriveForge runs that same benchmark against several targets and prints them ranked, with identical settings for each, which is the only way a comparison between drives means anything.
- PartitionGuard answers a different failure: the drive is fine and the partition table is not. It parses MBR and GPT, validates the CRC32s, and checks the primary header against the backup — read-only, on an image.
Free while we are in preview, one file each, Windows and Mac.
What to do when the answer is yes
Replace it. Not “monitor it” — a drive with pending sectors that has started reallocating is on a curve, and the curve is not long.
While it is still readable, get the data off in one pass rather than several, because every pass is more hours of spinning. And when you build the replacement, this is a good moment to check the backup you thought you had, because you are about to find out.