As reported by Tech-On!, Professor Ken Takeuchi of Tokyo's Chuo University, presented at the 2014 IEEE International Memory Workshop in Taipei this month a paper (not available online) "NAND Flash Aware Data Management System for High-Speed SSDs by Garbage Collection Overhead Suppression."
That's quite a mouthful, so let's unpack it. The "NAND Flash Aware Data Management System" is simply a system focused on NAND flash, the kind in our smartphones and SSDs. The "Garbage Collection Overhead Suppression" is the heart of the matter because garbage collection is a difficult problem.
Garbage collection 101
Flash has a very slow erase and write cycle – in the range of dozens to hundreds of milliseconds – much slower than hard drives. As a result the SSD needs to keep a supply of empty blocks to enable timely data writes.
As data is updated individual pages within a block of flash are marked invalid. When there are enough invalid pages in a block the garbage collection process writes the valid data to another block along with new data, freeing the old block for a fresh write. The flash translation layer keeps track of what goes where.
Because flash has limited endurance, the balance between garbage collection and maintaining a supply of free blocks is a delicate one. Too aggressive means premature flash wear out; too conservative slows down SSD write performance.
The new concept
What the professor appears to have done is taken advantage of the fact that many flash parts are capable of writing from 1 to 3 pages of new data inside an already written block. The software developed by Takeuchi's team, writes new data on pages located in a block due for garbage collection. The newly written pages are then rewritten to a fresh block, along with existing good data.
This enables parallel writes which are good for performance; reduces power consumption because block writes are power intensive; and increases flash life because garbage collection can be less aggressive and more efficient.
The professor simulated the impact of this technique on SSD write speeds and for all but two workloads the results were consistently in the range of 10 to 80 percent speed increase — not four-times. Here's the graph from the professor's paper, courtesy of Tech-On!:
The Storage Bits take
Around 10 percent to 80 percent speed increase in an SSD is a very good thing. But there are several caveats to keep in mind.
- This is a simulation not a hardware prototype
- The workload's performance varies depending on how much of the SSD capacity is in use
- While the software could be part of a driver on the host system, it makes much more sense in the SSD
Bottom line: Don't expect to see this impressive speed up in the next three years. Flash vendors have other techniques for speeding flash performance.
Takeuchi is a brilliant young researcher whose work deserves more careful attention than outlets — other than Tech-On! — gave it. I look forward to seeing what else he develops.