Diablo Technologies are the second half of the SanDisk ULLtraDIMM partnership. They came up with the technologies for what they call Memory Channel Storage: using the memory interface from the CPU to talk to persistent storage more-or-less directly, instead of going over a storage subsystem.
We covered the reasons for doing this in the previous post on SanDisk. Diablo’s part of the package is the storage controller, the central ASICs, and the overall reference architecture. They’re really good at storage interfaces, while SanDisk is great at flash.
Stop with the VDI
A slight ranty detour: In my most recent briefing with Diablo, they raised the “we’re really good for VDI” thing. There were slides with charts about how good it was, and how much better than competitor products.
I’ve been up to my eyebrows in the storage industry for at least the part year, and I’m really bored with VDI. Every single vendor is saying “we’re great for VDI”, so it’s likely that at least one of them is wrong. And not everyone can be the best.
More annoying is that VDI is such a tiny part of the overall storage market. What about all the databases? What about general computing? What about all the other stuff that people to get things done?
Plus, saying you’re good at VDI is really about saying “virtualised desktops tend to suck a lot more than having a physical one because we screwed up the way we did it. Buy this stuff to make it suck less.” Oh yay, well done IT industry! You’re solving a problem you created. Bravo. Or you could, you know, stick with physicals.
Add to this that it means you’re all competing for purely low, predictable latency. Why are you all trying to commodify yourselves?! Where’s the Points of Difference? “But we’re better” is stupid marketing.
MCS is Inevitable
MCS was pretty much brand new for SFD5. Intel had a couple of models of servers that supported the BIOS and drivers required to make it work, so it wasn’t widely available. Much has changed in six months.
SuperMicro now support MCS as well. Huawei have some beefy boxes that support it. It works with VMware and Hyper-V. There are drivers for Windows and Linux. Diablo are thinking about OpenStack.
Diablo told me that they’ll be adding some more OEMs over the next couple of quarters. “Names you’ll recognise.”
There’s also work going on with different interfaces. The architecture can work with other bridge types, not just the existing SATA bridge, so we might see OEMs use SAS or something else to talk to the flash.
The frontend interface is modular as well, and the second generation devices will support DDR4. There’s no reason other interesting interfaces couldn’t be supported, and I got a cheeky smile when I mentioned rumours I’ve been hearing about new types of I/O interfaces that will shake things up a bit. Nothing was confirmed or denied, of course, but hey. Why would it stay still?
Basically, Diablo have a great technology, and a bunch of companies clearly see that. Memory Channel Storage is here, and it’s going to become more and more common. If a competing way of achieving the same goal doesn’t appear in the next six months or so, we’ll be able to declare MCS the winner and move on with implementing it everywhere. And any competitor will have to offer substantial advantages to overcome the momentum that MCS has.
Changes to Programming
Of course, what this will ultimately mean is that programmers will have to completely re-learn how they deal with I/O. We’ll finally get to the point where we have persistent and non-persistent memory. Persistent memory is really all storage is, it’s just slow to get at. Fast, persistent memory will mean programmers will need to define a persistent datatype instead of opening a file. A lot of code will need to be rewritten.
Of course, what will happen first is that people will write a file interface to persistent memory so that we can preserve the useful abstraction we have now. That’s not really a bad thing, since the usefulness of plugging file-like interfaces together is readily apparent to anyone who uses Unix.
Any storage area, be it memory or persistent storage, will need to be organised so that you can find things.
And I, for one, welcome our new persistent memory overlords.