A typical SSD contains a number of flash memory chips, plus the controller.
Every flash SSD has a controller, which allows the drive to interface with the outside world. Intel has tweaked the controller firmware in a number of ways. One thing they’ve done is enhanced the usual wear leveling and endurance algorithms to extend the life of a flash memory drive. Intel estimates that an SLC SSD in a constant use server environment should offer a five year lifetime—at least as good or better than rotating storage.
Drive lifetimes are certainly important, but so is performance. Here, Intel spent a lot of time tweaking their write amplification algorithms.
“Write amplification” is really a terrible term. Perhaps “write overloading” would have been better. What it refers to is the amount of NAND flash that needs to be written to accommodate a certain chunk of data.
For example, in a typical SSD, if you want to write 4KB of data, the system first needs to copy a 128KB block of data from the flash drive to main memory. Then the system modifies the data, now in system DRAM, with the 4KB of new data. Finally, it needs to write the entire 128KB block back to the flash drive. Typical write amplification multipliers are in the neighborhood of 20–40X, on average.
Intel’s engineers tweaked the write amplification algorithms down to about 1.1X. This has the effect of improving both performance—smaller chunks of data can be written to the NAND flash, taking less time—and lifetimes, since large blocks aren’t constantly being rewritten.
This serious improvement in write amplification should have a positive effect on performance, even though the drives use MLC flash chips. So let’s take a look at performance. Continued…