Storage fundamentals

Write amplification

Write amplification is the effect by which a storage device or system writes more data to its physical media than the application asked it to store. It is expressed as a factor: a write amplification factor of 3 means that every gigabyte written by the host results in three gigabytes written to the media.

Why does flash amplify writes?

NAND flash can be written a page at a time and erased only a whole block at a time, and a block holds many pages. To update data, the drive writes the new version to a free page and marks the old one stale. When free blocks run short, garbage collection picks a block, copies its still-valid pages elsewhere and erases it. Those copies are writes the host never requested. Wear leveling, which moves data so that all blocks age evenly, adds more.

What increases or reduces it?

The factor depends on how the drive is used as much as on the drive.

FactorEffect on write amplification
Random small overwritesRaises it, blocks fill with a mix of valid and stale pages
Sequential large writesKeeps it low, whole blocks become stale together
Drive nearly fullRaises it, garbage collection has little free space to work with
Over-provisioning (reserved spare area)Lowers it
TRIM or deallocate commandsLowers it, the drive learns which data is no longer needed
Compression inside the driveCan bring the factor below 1

Why does it matter?

Flash cells endure a limited number of program and erase cycles. Write amplification multiplies the wear caused by each host write, so a drive with a factor of 4 reaches the end of its rated life four times sooner than one at a factor of 1 under the same workload. It also costs performance, because garbage collection competes with incoming writes. Endurance ratings such as drive writes per day assume a particular amplification, which is why real-world lifespan varies with workload. Flash storage endurance covers the ratings.

Where else does write amplification occur?

The same effect appears above the device. A file system or database that journals data writes it twice. Log-structured storage engines rewrite data during compaction. Parity updates in RAID, and replicating or erasure coding small objects across nodes, turn one logical write into several physical ones. Shingled hard drives rewrite neighboring data when part of a zone changes. The factors multiply through the stack, so a design that looks modest at each layer can produce heavy total wear. Measuring bytes written at the media against bytes written by applications shows the combined figure.

Frequently asked questions

What is a good write amplification factor?

Close to 1 for sequential workloads. Random-write workloads on a full drive can see factors of several times that.

Can write amplification be below 1?

Yes, when the drive or system compresses or deduplicates data before writing it.

Do hard drives have write amplification?

Conventional drives overwrite in place, so not at the device level. Shingled drives and the software layers above any drive can introduce it.