Reference

Write Amplification

Write amplification is the ratio of physical data actually written to flash versus the logical data the host requested. Because flash erases in large blocks but writes in small pages, a single app write can trigger several times more internal writes.

APIs & internalsGeneral

Write Amplification

Also known as: write amplification ssd, flash write amplification, write amplification

Write amplification is the ratio of physical data actually written to flash versus the logical data the host requested. Because flash erases in large blocks but writes in small pages, a single app write can trigger several times more internal writes.

  • Defined as physical bytes written divided by logical bytes requested (write amplification factor).
  • Caused by flash erasing in large blocks while writing in small pages.
  • Reduced by free space, TRIM, over-provisioning, and efficient garbage collection.

Why one write becomes many

Flash memory writes data in small pages but can only erase in much larger blocks. To overwrite even a few bytes inside a partly-used block, the controller often has to read the whole block, merge in the change, write it to a fresh block, and erase the old one. The result is that the device writes more bytes internally than the host ever sent.

This ratio is the write amplification factor (WAF). A WAF of 1.0 is ideal; real-world values are higher. The extra writes consume the limited program/erase cycles of NAND flash, so high write amplification directly shortens the lifespan of eMMC, UFS, and SSD storage.

What makes it worse or better

Small random writes, a nearly-full drive, and frequent rewrites all push write amplification up, because the controller has fewer free blocks to work with and must do more garbage collection. Sequential writes to large free regions keep it low.

Controllers fight write amplification with over-provisioning (hidden spare capacity), efficient garbage collection, and the TRIM command, which tells the device which blocks the file system no longer needs so they can be erased in advance. Keeping some free space available is one of the most effective ways to keep WAF down.

The connection to cleanup

Apps that constantly rewrite caches, logs, and temporary files generate steady background write amplification on a phone. Removing redundant duplicate photos and large junk files frees blocks, gives the controller more room for garbage collection, and lowers the amplification penalty on every future write.

The goal is fewer total writes, not constant churning. Cleanor removes genuinely redundant data once so the same bytes are not rewritten again and again, which keeps both write amplification and flash wear in check over the life of the device.

Related terms

Keep reading the reference.

Act on it

Guides and tools for this topic.