What is Write Amplification?

A 4x4 checkerboard of red, green, and white squaresFor a long time, The SSD Guy has been talking about Write Amplification without explaining what It is.  This post is intended to fix that.

Write amplification is an internal issue for NAND flash SSDs that arises from the way that NAND chips work.  It doesn’t exist in standard HDDs, nor did it exist in DRAM SSDs before we had NAND ones.  In a nutshell it’s the Continue reading “What is Write Amplification?”

How Controllers Maximize SSD Life – Reduced Write Amplification

Tempus FugitWrite amplification plays a critical role in maximizing an SSD’s usable life.  The lower the write amplification, the longer the SSD will last.  SSD architects pay special attention to this aspect of controller design.

Unlike the other factors described in this series this is not a technique that extends flash life beyond the 10,000 erase/write cycles that one would normally expect to result in a failure, but it is very important to SSD longevity.

Write Amplification is sufficiently complex that I won’t try to define it in this post, but Continue reading “How Controllers Maximize SSD Life – Reduced Write Amplification”

How Controllers Maximize SSD Life

Tempus FugitHow do controllers maximize the life of an SSD?  After all, MLC flash has a lifetime of only 10,000 erase/write cycles or fewer and that is a very small number compared to the write traffic an SSD is expected to see in a high-workload environment, especially in the enterprise.  Still, MLC is becoming the norm in the enterprise.

How do they do that?

This is where SSD architects really earn their pay.  There are eight basic techniques that The SSD Guy knows of to extend SSD life beyond Continue reading “How Controllers Maximize SSD Life”

SSD Garbage Collection

garbage cansOne of the thorniest issues in SSD design how to manage erasing blocks that are no longer in use.  That’s saying a lot, because NAND flash presents so very many difficult challenges like wear leveling, bad block management, error correction, and write amplification.

The difficulty stems from the fact that all of today’s software was written for HDDs which don’t behave like the flash in an SSD.  An HDD can over-write existing data with new data.  In a flash SSD, a block must be erased before being over-written and this can take a half a second – a huge amount of time in the world of computing.  Since the software doesn’t accommodate flash’s “erase-before-write” needs, the controller inside the SSD must take care of this bit of housekeeping.  Unused and unerased blocks are moved out of the way and erased in the background.  This is called the “garbage collection” process. Continue reading “SSD Garbage Collection”