Write Amplification as seen in Solid State Drives
Write Amplification is the ratio of actual data written to the flash vs data requested by the host to write to the device.Write amplification occurs because the flash device is internally organized in pages and data can be written to it only on a page by page basis.Current Cactus Technologies products utilize NAND flash that has page size of either 4KB or 8KB.
As a simple example, let's take an 8KB page that is already written with user data.Now, suppose the user wants to update 1 sector (512 Bytes) of data that was allocated to this page.To do that, firmware has to read the page into RAM, modify the 1 sector of data and then write the new 8KB of data to a new physical page.In this scenario, the data requested by the host to write is 512 Bytes only but the actual amount of data written to the flash is 8KB, thus, the Write Amplification Factor (WAF) is 16.
Another cause of write amplification is defect management. When a program error occurs, the entire block of pages need to be remapped to a new block and this results in significant write amplification. For example, a 1GB NAND flash device that we are currently using has a block size of 64 pages; thus, when a page goes bad and we have to retire this block, it will result in WAF of 64. This gets worse with higher capacity devices.
A large WAF increases the wear of NAND flash devices, thus reducing the usable life of the product. Lower reliability / cost devices already have limited memory endurance cycles and are therefore the most susceptible.