With the right software, even a technology as old as the disk drive can overcome some of its own limitations. We can see many examples of this in the storage world these days. XIO is a great example of a company taking the same disk drives we’ve been struggling with for decades, and making them faster and more reliable.
Another up and coming company that believes in this approach is Pure Storage. I had the opportunity to visit their headquarters in Mountain View with the Virtualization Field Day crew, and got to see some of this software magic for myself. Chris Wahl, who had seen these guys before, made a comment that they are “SSD whisperers”. After my visit, I cannot disagree.
There’s no shortage of promises these days coming from the dozens of new startups centered around solid state disk technology. Before the Pure Storage visit, Mike Laverick was remarking how all these guys always say “we’re the only ones who actually GET solid state”. We all had a laugh, and wondered if Pure Storage would use that line. What we found was quite refreshing. Pure Storage didn’t feed us a lot of marketing or silly quotes. Instead, they actually made ME say “they’re the only ones who GET solid state”.
Pure Storage says they can sell you a solid state array for less money than a refrigerator-sized box of spinning rust. We’re not talking about less $ per IOP. We’re talking about less $ period. Like under $5 / GB. So 10x faster for less than the big spinning arrays. Let that sink in for a second.
With today’s advanced, auto-tiering arrays from the big boys in the storage business, it’s natural to wonder why all this is necessary. Why would we need an all flash array when we can pack a little bit of screaming fast SSD’s into a tray and let the array do the work to make sure your data is in the proper tier? With that methodology, can’t we can come in even cheaper per GB by adding massive SATA disks for the cold data? The answer to that question depends solely on your tolerance for latency.
In the chart above, we can see that even on some very high performing traditional arrays, even with the best tiering algorithms, we’re still going to see IO’s with very high latency. When you use the Pure Storage array, you don’t run that risk. In the demos that Pure Storage did for us, VMware had a hard time even measuring the disk performance, since it doesn’t offer anything less than 1 ms increments. As former VMware heavyweight Ravi Venkat pointed out, you can forget about SIOC, since you cannot set thresholds below 5 ms. If you see 5 ms from this array, it’s probably on fire.
As an EMC VMAX user, I can tell you that one of the underlying concerns in my mind every day is how FAST is working. I have very little visibility into what is actually being tiered, and when, and why. I have to just trust that EMC engineers are smarter than me, and that their tiering is going to prevent performance problems. While this may be easy for some, it’s very hard for me to just set it and forget it in my environment. There’s too much cost associated with latency for me to ignore the possibility that FAST is going to do the right thing at the right time. Plus, it’s reactionary. So even if it does do the right thing at the right time, the “right time” is still after the optimal time to have that data tiered higher.
This is one of the best things about the Pure Storage array, in my opinion. I don’t have to worry about whether the “magic” is working under the covers or not. All my data is on the fast stuff all the time, so I can relax. . . a little. ;-)
There are lots of features that make all this work reliably, and at much faster speeds than normal MLC. For an extremely detailed breakdown by Pure Storage’s co-founder and CTO John Colgrove, go here and watch the video.
For brevity’s sake, I’ll highlight a few features:
- - Inline dedupe using 512 byte segments (better ratios overall)
- - Compression
- - Thin Provisioning
- - Raid 3D (varies RAID levels based on current system activity – see video link)
- - High availability (no config stored on the controllers)
- - VAAI support
- - I/O optimization
That last one is the one I found most fascinating, and you can see John explain it more in the video. Every inbound write goes through a scheduling process that takes into account the current disk activity at a very granular level. Since writes are quite expensive on flash (in latency terms) versus reads, writes must be minimized, and highly distributed. This is where the scheduler comes in and looks at availability, workload, reliability, and lots of other characteristics of each piece of SSD. Then it makes a determination where to write that data to give the best latency. Also, if the system is loaded down, it can even pick a different RAID level dynamically to save on writes, thereby increasing performance.
This is where the magic is, in my opinion. It takes a lot of experience and know how to take MLC and make it as fast and as reliable as SLC, and based on their zero failure rate to date, I think they’ve done it. Of the 35 deployments they’ve done to date, 35% of those are for VMware environments. The industry mix is pretty interesting too, as you can see in the graphs below. This is not some niche product targeted at specific high performance applications.
I have heard some people question whether there is room for all these new storage startups. Since Pure Storage is a startup, I wanted to address the question, with regard to Pure Storage only.
First off, Pure Storage is an amazingly well funded company (from an outsider’s perspective). They’ve got $55M reasons why there is room for their storage startup. That $55M came from people who are a lot smarter than me, and can better answer the question of whether there is room. Check out the investor list.
Plus, they have attracted lots of top talent. I included a short list below, which doesn’t even include Ravi Venkat. Once again, I think the question of whether Pure Storage is a valid startup, or there’s a market for them is just silly. EMC, who just recently announced their roadmap’s inclusion of MLC, used to be a startup. Maybe they can get these guys to show them how to implement it.