Software overwrite: how it works and its limits
Writing zeros over a drive sounds straightforward — but the drive's controller can hide things from software, and that's the whole problem.
Software overwrite is erasure done from the host: a tool like nwipe or dd writes zeros (or a pattern) across every sector the operating system can see. It maps to NIST 800-88 Clear and is a perfectly good fallback — but it has structural limits.
How software overwrite works
The host asks the drive to write zeros to every logical block address, in order. On a healthy drive, that does destroy the data in those blocks. The problem is everything the operating system can't address.
The limits
- Reallocated sectors — when a sector goes bad, the drive silently maps a spare in its place. The host never sees the old sector again, so it can't overwrite it. Firmware erasure reaches these; software doesn't.
- SSD over-provisioning — SSDs keep a reserve of flash the host never addresses. Software overwrite can't touch it.
- Wear — writing the whole drive is exactly what wears out flash, so overwriting an SSD is both less complete and harder on the hardware.
- Speed — a multi-terabyte mechanical drive can take days to overwrite once.
How many passes do you really need?
One. The famous multi-pass schemes (DoD 5220.22-M, Gutmann) were designed for 1980s and 1990s drive technology. On a modern drive, a single overwrite pass is sufficient — additional passes add time and wear without meaningful security benefit. The standards guide covers this in more detail.
When software overwrite is the right choice
- The drive doesn't support any firmware erasure (common on older SAS drives).
- You need a Clear-level outcome for a drive being redeployed internally.
- You're working with media where a controller-level command isn't available at all.
Where firmware erasure exists, use it first — it's faster and reaches the hidden areas. Software overwrite is the honest fallback, not the default.
FAQ
Is overwriting an SSD bad for it?
It causes avoidable write amplification and wear. A single Secure Erase or Sanitize is both more complete and far gentler on the flash.
Can I verify a software overwrite?
You can confirm the visible sectors were written, but you can't confirm the hidden areas — because the drive's controller won't show them to you. That's the fundamental gap, and why firmware erasure is preferred.