As an unapologetic sports nut and tech nerd, I love it when these worlds collide. This is exactly what happened while watching my football team play this Sunday when they aired a highlight of the team from 2000. We were instantly shocked by the quality of the video, which was standard definition. It’s amazing how quickly we get used to disruptive technology advances that become part of our everyday lives. It’s easy to forget now, but the introduction and adoption of HDTV circa 2001 was arguably the most impactful technological advance since color television programming first aired in 1953.
As both an AV and IT nerd, what especially struck me here is the parallel in the evolution of television and enterprise storage technology. The transition from SD (e.g 480i) to HD (e.g. 1080p) is much like the transition from HDD to SSD (don’t mind the similar acronyms!) in enterprise storage. In both cases, this shift has provided dramatic benefits to consumers and has created a new normal. We will never go back to spinning disk for enterprise storage and when is the last time you watched any of those hundreds of standard definition channels? In fact, if your cable company is like mine, SD channels went away years ago to clear bandwidth for even more HD channels.
Which brings me to the fun part… what’s next? The next wave in TV technology, if you believe all the major manufacturers, is 4K… however, this nerd is skeptical (but that’s a different blog for a different day). When it comes to enterprise storage, the industry buzz about ‘NVMe’ is escalating. But let’s revisit our TV analogy to examine each of these “next evolutions” a bit more closely.
As you may know, just like with HDTV, the benefits of 4K don’t come from just swapping out one component in your home theater. It will require a full stack of compatible components including:
- Content – a television show or movie has to be shot and mastered in 4K (most are not today – in fact, most broadcast TV still isn’t even 1080p)
- Receiver, HDMI – for the content that does exist, how does it get to the TV screen – through your receiver and HDMI cables… but these have to support 4K as well – more specifically HDCP 2.2, which is the next gen of copy protection for 4K content (most receivers sold before 2014/15 do not)
- Television – the most obvious (thanks to TV manufactures advertising) is that your TV has to be built to support 4K, which means that it has horizontal resolution of around 4,000 pixels (most “4K” TVs are actually 3,840 x 2,160, which is higher resolution than commonly found 1080 pixel TVs sold for the past several years)
- Network – even if you have all new 4K enabled equipment, you still have to get the content to your house. Although this could be in a disc form (see 4K Blu Ray), more realistically it’ll be streamed, which means 4K requires more bandwidth. This means your broadband connection must be faster, and not only that – your service provider’s entire broadband infrastructure must be faster to support you and your neighbors simultaneously viewing 4K content. It’s a massive upgrade to the entire infrastructure, similar to when 3G cellular networks went to LTE. Many providers aren’t ready for it today.
Without all the parts of this stack, 4K is pretty useless – you’ve paid for a fancy high resolution TV yet don’t see a better picture. (Yes, most 4K TV’s will upscale a lower resolution signal into 4K, but you can’t create picture fidelity out of nothing).
Which brings me to NVMe… the 4K TV of enterprise storage. What some vendors don’t want you to know is that, much like a 4K TV, NVMe sounds really cool and offers a potential for more storage performance but the reality isn’t quite that simple. Specifically, even if your storage vendor says it is “NVMe Ready”, or even if they are shipping NVMe connected SSD’s today, you’ll need all of the items below to realize the advantages of NVMe:
- Storage Array – to be truly “NVMe Ready” your array has to be engineered for NVMe from front to back, it’s not a matter of simply upgrading a component or two, or replacing today’s SSDs with NVMe variants. It means it needs all of the following:
- Operating system: array software must be optimized for parallelization since NVMe drives have 64K I/O queues which can hold 64K commands each. This is a massive amount of parallelism that today’s array software is not designed to take advantage of.
- Back end: The connectivity between array controllers and the drives must leverage NVMe. The protocol has been designed to optimize the low latency of solid state media where latencies are now measured in microseconds versus millisecond.
- Drives: Today’s SSDs with NVMe connectivity alone offer minimal benefit without the faster performance and improved stability of next generation non-volatile memory technologies. These new drives, such as Intel’s 3D Xpoint could offer massive performance gains and higher IO densities in the future
- Applications/host – the workload and server must been engineered for NVMe – all the storage performance in the world doesn’t matter if application code is a bottleneck. In fact, an industry friend who knows a lot about storage performance benchmarking recently told me that a modern dual-socket host running a certain web-scale application couldn’t even saturate a single NVMe drive today! What good is an array full of those drives going to do unless software and the array controller hardware are massively redesigned?
- Network – the ultimate advantages of NVMe will be realized when you have storage designs that leverage NVMe over Fabric, which are still years away from general availability
- Note: when this becomes available in the future, your storage array must also support NVMe on the front end for host connectivity to take advantage of it
Just like with 4K, without each one of the components above, NVMe technology will provide little to no benefit to your environment. Perhaps more importantly, no enterprise storage array can deliver the performance potential of NVMe today. (Yes, there are a few startups that have built appliances for raw speed, but these offer none of the data services, app integrations, or proven maturity required to use as enterprise storage.)
So, does NVMe have a place in enterprise storage today or is it all hype? Just like 4K, which is beneficial for a few niche use cases, NVMe does add real value in very specific places today. First, would be to leverage NVMe internally to rapidly protect critical data to persistent memory in the event of a power failure. Next would be as a caching tier, taking advantage of the parallelization, you could leverage fewer devices for the same performance. Third would be a custom application designed to take advantage of NVMe and which runs directly on a server with NVMe drives in it.
Why do vendors market technology like 4K and NVMe when the realities of their benefits are limited today? Quite simply, because it’s easy and it makes it sound better, and everybody is looking for a competitive edge. But don’t fall for the hype. Ask questions – Can my app take benefit from the performance of NVMe? Does the financial, operational, or business advantage justify the expense of NVMe? Are there other bottlenecks to consider, such as the front-end performance to the app? Is there a documented performance comparison between the array using standard SSDs and NVMe devices? Perform proof of concept testing of “NVMe enabled” arrays to see if they deliver on their claims of superior performance relative to standard SATA or SAS SSDs.
NVMe may change the game for enterprise storage in the future but it’s not as simple as some may have you believe. And just like 4K TVs cost more than their 1080P predecessors, you could be spending more without being able to realize the benefits.