I’m really excited about the prospects of memory-addressable flash. Moving flash closer to the CPU and addressing it as memory rather than block storage brings tremendous performance benefits, and is a once-in-a-generation radical change to system architecture. But questions remain as to how it can be integrated with today’s applications. Now Plexistor is here with a promising solution: Their “Software-Defined Memory” concept is a generic filesystem for storage, from NVDIMM to NVMe to SSD.
The Promise of NVDIMM
We are in the midst of a radical change to computing: For the first time since the PC appeared in the 1980’s, a fundamentally new architecture is coming to the datacenter. Flash promises to be a transformative technology, and the performance, power, and physical benefits are already being felt. Can you imagine an iPad with a hard disk drive?
But flash could be so much more if it wasn’t treated like a hard disk drive. Today’s SSD’s wrap all this promise in a familiar package, smothering the performance behind a translation layer so it will look like a plain old hard disk. To truly feel the impact of flash, we need to treat it differently.
NVMe is a promising concept, since it allows flash memory to be directly accessed as memory, not a “fake disk”. More exciting is NVDIMM, which places flash on the memory channel rather than the PCIe bus. Like NVMe, NVDIMM exposes the unique nature of flash chips, but it also enables orders of magnitude quicker access.
You should also read “Why Are PCIe SSDs So Fast?“, “Diablo Memory 1 Takes Memory Channel Flash To The Next Level“, “Flash Memory in the DRAM Slots? Diablo Technologies is Working On It…” and “The Rack Endgame: A New Storage Architecture For the Data Center“
I’ve written and spoken a lot about this dramatic change, but the simple summary is that this new system architecture might be even more important than the improvement in performance. “Tier 2 memory”, as I like to call it, means that applications have a whole new layer of non-volatile storage to access, and it’s closer in performance to RAM than traditional storage. Companies like Diablo Technologies (Memory 1) and Intel (3D XPoint) are making this a reality.
The Problem of NVDIMM
So flash and NVDIMM or NVMe gives us a new system architecture. Awesome!
But do we need new system software to make use of this?
Until now, the answer was “pretty much yes”. We needed either a specialized application, driver, or new operating system. That’s not easy to achieve (just ask Fusion-io) but it’s necessary.
This has been the fundamental challenge for NVDIMM, NVMe, and flash generally. It’s easy to pretend that flash is a hard disk drive (i.e., an SSD), but it’s much harder to take advantage of the native performance of flash. Yet without a compelling use case, why invest in anything better than SSD?
This is the chicken. Or maybe the egg. Who can be sure?
The Plexistor Solution
Plexistor has a novel approach to this issue. Rather than trying to modify applications, why not just integrate the NVDIMM access into a new POSIX filesystem that any application can use? Suddenly there’s no need to customize an application, install a driver, or create a specialized system. Anything that can use a filesystem can leverage the performance of NVDIMM.
It remains to be seen just how well this “NVM file system” works in practice, but I love the concept: A simple abstraction that allows existing applications to use this new storage/memory technology. It’s much more straightforward than limiting NVDIMM usage to specific, re-written applications.
Will customers buy a filesystem layer from a small, unknown company? Perhaps. PernixData has seen wonderful success growing their (conceptually similar) market, Virsto became VMware’s VSAN 2.0, and companies like Maxta are selling storage software today. But not every competitor succeeded, and the history of storage is littered with failed storage virtualization layers.
Another risk is the possibility of similar functionality being integrated into the operating system. Microsoft could develop and roll out their own NVDIMM integration, pulling the rug out of the Windows market. And the Linux community, perhaps with the help of storage vendors, could do the same thing. Maybe the most likely outcome is Plexistor being purchased by an NVM vendor (Intel, Diablo, WD/SanDisk, etc) to push hardware sales.
Plexistor excites me with a straightforward solution to a pesky problem. A generic filesystem that makes NVDIMM and NVMe available to any application is a great idea. Whether as a standalone company or an enabler, I expect this software to have legs.
Disclaimer: Plexistor will present at Storage Field Day 9 and Tech Field Day 11, which I organize. This post is my own work and was not tied to that at all. In fact, I began writing this before they signed up and I suspect it was my enthusiasm that brought them in to Tech Field Day, not the other way around!