My problem with PCIe flash is that most of our applications just aren’t designed to handle it. If you’re Facebook, you can write your code to run on the best platform, but if you’re in the heart of corporate IT, you build platforms to support the applications, not the other way around. So you’ll need some sort of translation layer if your whole data set doesn’t fit on the flash card.
To get the most out of PCIe flash, we need a translation layer between our standard operating systems and applications and the flash card. So far the best shot seems to be something like EMC’s Lightning, which uses the PCIe flash as a write-through disk cache. Since a write-through cache always keeps the back-end SAN data up to date, features that rely on shared storage will still work. Of course, the flash is local to the host holding the PCIe card, so a vMotion from one host to another would cause an increase in storage latency until the destination host populated its cache from the back-end storage.
Marvell’s Dragonfly PCIe flash card is designed to work with Marvell’s caching drivers to build a complete caching solution. IO Turbine’s Accelio is more interesting because it’s hardware independent, using any flash storage as cache for vSphere servers.
I’m just waiting for a solution in my price range. I don’t have any apps that need 300,000 or even 10,000 IOPs. I’m looking for the SME solution that uses $1,000 to $1,500 of flash as either a low-end PCIe flash card, like those from OCZ or prosumer SSDs like Intel’s, so I can replace the 20 to 50 15K RPM drives my clients need for their IO-intensive apps with six 2-TByte drives for capacity and still get five 6,000 IOPs. Since several vendors, including Marvell, nVelo and Intel, have flash caching solutions for desktops and enterprise solutions hitting the streets now, I hope I don’t have wait long for someone to meet me in the middle.
I hope sometime soon to see a vSphere solution that can combine local and shared SSDs with the smarts to do things like write snapshots to flash and populate the shared flash with cache data as vMotion moves loads from one host to another. Flash, trash and application-aware storage systems--now that will be cool.