NVMe is the latest development in high-performance flash storage technology and has instigated a tremendous amount of hype among storage circles and IT professionals. Many flash-based storage vendors are rapidly moving to adopt this new technology due to its performance benefits, standardized platform, and flexibility when scaling, among other reasons. However, NVMe technology is still relatively new and there is substantial ambiguity surrounding its functionality and advantages over existing storage hardware. So, what exactly is NVMe, and do you really need it? Here we will take a look at the fundamental mechanics of NVMe and the benefits it presents for IT storage infrastructures.
Non-volatile Memory Express (most commonly known as NVMe) is a high performance storage interface designed specifically for non-volatile storage hardware components – namely solid-state drives (SSDs). Over the last several years, SSDs have been adopted by SMBs and SMEs at an increasing rate due to dropping prices and growing application performance requirements. However, while there have been remarkable advances in storage hardware, it has still relied on antiquated storage interfaces that were designed for legacy storage components, such as tape and hard disk drives (HDDs). The most common of these interfaces are SATA and SAS. The SATA and SAS interfaces were designed for HDDs and also adopted by the first SSDs due to their existing prevalence in infrastructures and familiarity among the IT community. However, these interfaces significantly hinder the full potential of SSDs, while the NVMe interface was specifically designed to unleash it. For example, the SATA interface can only support up to 32 commands in a single queue, while the SAS interface can only support up to 256 commands in a single queue. NVMe supports up to 64,000 commands in a single queue and can manage up to 64,000 queues. Considering this radical improvement in performance, one may reasonably assume that NVMe requires highly advanced computing resources in order to realize the full performance benefits; however, on the contrary, NVMe was designed with a newer, simpler command set that requires less than half of the computing instructions needed by the SATA and SAS interfaces. To elaborate on this further, the NVMe command set was designed specifically for multi-core CPUs, which allows applications to have dedicated CPU threads – thereby eliminating the I/O locking processes associated with the SATA/SAS interfaces which are detrimental to sustained application performance. With all of these advancements over traditional storage interfaces, as well as the degree at which NVMe outperforms them, the benefits of implementing NVMe are self-evident…but do you really need it?
Do you really need NVMe?
As with all storage hardware decisions, the decision of whether or not to implement NVMe comes down to weighing the costs and benefits. Currently, the cost per GB of an NVME SSD is 2-4 times that of a standard enterprise SATA SSD. However, a single NVMe SSD can deliver over 4 times the IOPS of a standard SATA SSD (430,000 vs. 99,000 Read I/O & 50,000 vs 18,000 Write I/O, respectively). The same stark differences go for throughput as well (2,600 MB/s vs. 520 MB/s Read I/O & 1,000MB/s vs. 475 MB/s Write I/O). If your storage environment currently employs SATA/SAS SSDs and you are still experiencing latency, or if you have numerous applications that could potentially benefit from NVMe’s dedicated thread capabilities, it may be worthwhile to consider at least a small deployment of NVMe SSD, either on the centralized storage or physical host level. Even if your existing environment does not currently leverage any flash technology, but you are refreshing your storage infrastructure, a partial or full NVMe solution will undoubtedly be the most future-proofed for performance demands in coming years – budget permitting.
Regardless of the storage hardware in your current infrastructure, it can be challenging to identify the performance metrics required to justify the most suitable storage hardware solution for your environment. The StorTrends iDATA tool, developed by American Megatrends, Inc. (AMI), is a free performance analysis software developed to provide IT professionals with a holistic view of their IT environment – allowing them to quickly identify issues and make educated decisions for their future. The tool runs on either a physical or virtual server (VM) and operates in the background for 7 days by default to capture metrics throughout business days, as well as nightly and weekend backups and background processes. Following the 7-day period, a report of your environment is generated with details including Capacity (free, used, and available), Capacity Growth, IOPS, Throughput, CPU Utilization, and more. If you would like to run the StorTrends iDATA tool in your environment, you can download it from the StorTrends website free of charge by clicking here