Write Amplification as seen in Solid State Drives

We're often asked how do solid state drives work? This article describes Write Amplification which is a fundamental issue SSD controllers must address as part of their design.The more efficient the controller handles write amplification, the longer the life of the SSD.

SSD in this case referes to all the Cactus Flash Storage products such as Industrial CF, Industrial SD Cards, Industrial microSD and others.

What is Write Amplification on an SSD?

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.

What issues does this present to an Embedded System designer?

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.

What can a designer do to mitigate these issues?

As shown in the earlier example, writing small chunks of data can result in large WAF; therefore, it is recommended that the host system avoid doing frequent small block writes.If the nature of the application is such that data arrives in small chunks (e.g. data logging), then perhaps the host system can implement some sort of RAM buffer that combines the small chunks of data into larger blocks before writing them to the flash device.

Additional Details

Write Amplification Factor is dependent on firmware architecture; good firmware design can reduce WAF.All Cactus Industrial Grade Flash Storage products are designed to mitigate the effects of write amplification while not compromising reliability.

Please contact a Cactus expert if you would like to discuss how write amplification will affect a Cactus product in your OEM application.

Steve Larrivee has over 30 year's experience in the data storage market, including 5 years at Seagate Technology and 10 years at SanDisk. He joined Cactus Technologies Limited as an equity partner and Co-Founded Cactus USA in 2007 with partner Tom Aguillon. Learn more about Steve on Google+