Thursday, May 29, 2014

New method of SSD garbage collection can boost drive performance up to 300%

Sounds interesting though...

A team of Japanese researchers at the Faculty of Science and Engineering of Chuo University is claiming to have developed a new method of SSD garbage collection that can substantially improve drive performance — up to 300% in certain cases. The researchers’ findings, which were presented at the 2014 IEEE International Memory Workshop, are sure to raise interest at a time when NAND flash performance is expected to only improve slowly over the next few years.

In order to explain what this means, we need to discuss some of the characteristics and idiosyncrasies of NAND flash. First, writing to NAND is an intrinsically destructive process. It requires a great deal of energy (relatively speaking) and there’s no way to prevent some of that electricity from leaking into NAND cells immediately adjacent to the actual targets. Over time, this wears the NAND cells out until they fail.

Second, there’s the fact that writing data to NAND happens at the page level (2-4KB per page) but erasures target an entire block (a collection of pages from 128-512KB). When a user deletes data off a flash drive, that information may be scattered across multiple pages in a single block or across multiple blocks. In order to actually free the area, the drive must eventually perform what’s called garbage collection. The term refers to the process by which good information is copied off blocks which are slated to be wiped and written to fresh (unused blocks).

Here’s what that process looks like, courtesy of Wikipedia:

Under the current system, changed data must be written to a new area of the drive before the old area is erased. What this new option would do is write new page data to blocks that are already scheduled for a garbage collection cycle. This has the effect of driving up the number of invalid pages in a block and triggering a garbage collection cycle more quickly. If that seems counterintuitive, it may help to consider actual garbage collection.

Imagine that you’re in charge of emptying the garbage of several floors in a mid-sized office building. Each floor has multiple sets of cubicles. Each cubicle has its own small garbage can. Every time a certain number of the garbage cans in a cubicle area are full, it’s your job to race over and dump the garbage out — but because each arrangement of cubicles is set apart from the others and there are multiple cubicle clusters per floor, you’ll spend far more time running from Point A to Point B than you actually will dumping any garbage — and since each individual garbage can is small, you can’t perform much work in any given cycle.

SSD garbage collection (old and proposed new)

Under this proposed system, instead of dumping garbage into lots of tiny cans, workers would instead allocate it to one garbage can per cubicle. The amount of garbage workers throw away doesn’t change, but the speed and efficiency with which you can collect it and throw it away is vastly improved. The analogy isn’t perfect, but it roughly describes what these researchers propose — a new method of handling garbage collection that would allow for more parallel writes and lower overall drive power consumption. Along the way it might boost drive longevity as well — performing less (but more efficient) garbage collection could reduce the number of write cycles to any single block.

The 300% performance benefit is a corner case, but the gains are significant at every workload level — generally at least 10 or 20% faster than conventional garbage collection.

So when we might see this in shipping drives?

The good news is that techniques like this are going to be increasingly important in the future. NAND flash’s performance is not expected to increase at a significant rate in the near future — manufacturers already have their hands full migrating to increasingly smaller process nodes and dealing with lower reliability as a result. That means the performance improvements we’ll see will come from controller technology, new bus interfaces, more efficient management mechanisms (like the one proposed here), and clever tricks like Samsung’s 840 Evo, which marries a small pool of high-performance single-level cell (SLC) NAND to a larger, cheaper triple-level cell (TLC) configuration. Companies like IBM are searching for alternative memory technologies, but for now, NAND is here to stay.

The bad news is that mechanisms like this are still theoretical and need to be integrated into next-generation controllers before they’ll become a shipping reality. Don’t count on a firmware update to breathe new performance into your existing SSD — but future drives in the coming years could see significant uplift from approaches like this.

Source: ExtremeTech

The Chief Technomancer
VB Kid

0 Codes:

Post a Comment