It’s a little known fact that flash-based storage can be too much for most systems. Designed back in the days when slow hard disk drives (HDDs) carried out the reading and writing of data, today’s channels for information transport often can’t cut it when loaded up with flash. The result is bottlenecking applications: the combined might of multicore processors, abundant RAM and flash pack far more processing punch than can be relayed by the associated storage protocols and bus architectures.
Enter Non-Volatile Memory Express (NVMe). It's a PCIe-based approach to resolving those bottlenecks. And it’s about to capture the imagination of the storage world.
“I’ve been at this for more than 20 years and NVMe is one of the most revolutionary, most anticipated and most exciting developments I’ve seen,” said Doug Rollins, Senior Technical Marketing Engineer, Enterprise Solid State Drives for the Storage Business Unit at < ahref="http://www.micron.com">Micron Technology.
So what is it? According to non-profit NVM Express, Inc., NVMe is an “optimized, high-performance, scalable host controller interface with a streamlined register interface and command set designed for non-volatile memory based storage.” It was developed as a standard to reduce latency and provide faster performance. Already, early NVMe products have demonstrated up to six times greater 4KB random and sequential read/write performance compared to SATA disk as well as SATA-based solid state drives (SSDs).
“The full value of flash has been restricted by legacy protocols,” said Rollins. “NVMe is designed from the ground up to take advantage of the capabilities of flash, enabling far greater performance and unlocking the value flash can provide.”
To understand just how restricted, let’s take a look at PCIe: It evolved as a means of providing more bandwidth and lower latency. PCIe Gen 3 supports about 7.87 Gbps per lane which relieved some of the storage bottleneck. But even with PCIe and SSDs, chokepoints remain in the form of the SATA and SAS protocols which offered enough bandwidth for HDDs and early generation SSDs, but not enough for the latest applications and flash architectures.
A simple comparison with SATA on queuing highlights how important this new technology might be. SATA allowed for only one command queue which was capable of holding 32 commands per queue. NVMe enables 65,536 (64K) queues each with 64K commands per queue.
“The storage I/O capabilities of flash can now be fed across PCIe faster to enable modern multi-core processors to complete more useful work in less time,” said Greg Schulz, an analyst with StorageIO Group.
Some NVMe products are already on the market and a lot more are coming. With more than 80 companies belonging to NVM Express Inc., expect all the usual suspects to be offering NVMe-enabled storage, appliances and servers in the very near future. Further, a raft of startups is bound to emerge touting NVMe-only strategies and the abandonment of any kind of HDD and perhaps even advocating that users cast aside non-NVMe-based SSDs. Smart users, therefore, are advised to inform themselves on this technology well before deployment.
“Preparation is everything,” said Rollins. “Start from an appreciation of your most critical applications and where the most significant bottlenecks exist.”
Schulz advised users to tie NVMe plans into refresh cycles. Anyone looking to buy new servers should gravitate towards models with motherboards, BIOS and PCIe G3 slots that are NVMe ready. Similarly, storage array and appliance vendors will begin to introduce products that can incorporate this new protocol. Even if NVMe is not initially used on these boxes, it is probably wise to pay a mark-up to have it included. You will also begin to see vendors offering equipment with slots that utilize an 8637 connector, which can be used either for NVMe, SAS or SATA.