This article is more than 1 year old

Rolling out flash in the enterprise? It's a matter of application

Here's what flash viable looks like

Understanding SSD characteristics

There are some caveats to all of this, though, and they may affect how IT departments choose their target applications for enterprise SSDs. Flash technology has a marked disparity between read and write performance. Sure, flash can read data an order of magnitude faster than spinning drives, especially in applications that rely heavily on random reads, but it doesn't have the same gains in write performance.

McDonald points to the page-addressable nature of flash. Instead of reading and writing specific bytes of data, flash SSD storage is structured into cells, which are in turn structured into blocks anywhere from 256Kb in size. For the purpose of reading and writing data, blocks are typically divided up into collections of pages, and there can be as many as 256 pages in a block.

Flash memory can't read one byte within a cell, or even a single cell. Instead, it has to read a whole page, meaning that more data is typically retrieved than necessary. When modifying data on the drive, the whole page must be read into memory, altered, and then rewritten to another page. Then, the original page can be marked as 'stale' so that it can be used again.

The other kicker is that individual pages can't be deleted. Instead, the entire block containing the page is erased at once. This typically happens during the garbage collection phase when the flash controller recovers the stale pages.

All this is alien to your average application, which just wants to read and write to a disk the way it always has. The flash translation layer (FTL), which is software managing the flash array, translates between the application and the underlying SSD memory, making the latter look like byte-level storage.

This translation process can cause unexpected performance issues. McDonald describes 'stutter' as the drive struggles to catch up with the data load. "You can get to a point where I overrun the cache inside the flash that it's using to rebuild these blocks as it's doing updates," he says. "Stutter is not good news for applications that demand consistent low latency."

There are ways around this, such as striping data across different SSD modules, which is what vendors will often do to increase performance. But customers should be thinking about this before shelling out their dollars to ensure that the flash configuration meets their workload.

While flash's characteristics certainly don't preclude it from relational database environments, its super-fast read times do make it particularly well suited to applications that read a lot of data rather than writing it, especially when you're dealing with random reads. That opens up a lot of post-relational applications, McDonald says, and he points to one in particular: Hadoop.

"With Hadoop, we're writing data once, and we're able to write it slightly faster with flash. Then what Hadoop does is that it hammers the I/O subsystem for reads. It wants to read lots of data, because it needs to process lots of data very quickly," he says. "That's where flash really pays dividends."

No wonder that analytics is often pegged as a shoo-in for all-flash arrays. NoSQL databases that store data as graphs or key-value pairs rather than in rigidly indexed tables are also prime candidates for flash arrays, McDonald says. "These kinds of databases are pretty wasteful in terms of I/O. They read far more data than they'll end up processing." Flash is designed to read lots of data quickly, making it a good fit.

Future applications for flash

As flash's price continues to fall, we're likely to see it making its way into bulk archiving applications, says McDonald. Triple-level cell (TLC) NAND flash stores three bits of data per cell of flash media and is cheaper than multi-level cell or single-level cell storage. You wouldn't let it anywhere near your production applications – this is the same stuff used in crummy consumer memory sticks – but it could be a good alternative to JBOD HDD storage for low-cost archiving, not least because it can be powered off more easily. Tape is still blocking many real-world applications of archival flash, though, because it's simply far cheaper.

The bottom line for enterprise SSDs is that we're still at the point where IT teams should be looking closely at when and where to use it. All the experts that El Reg spoke to are convinced that this is changing, and that the decision will need less scrutiny as the cost falls – especially when you take into account the total cost of ownership saving that it offers over HDD. ®

More about

TIP US OFF

Send us news


Other stories you might like