NVMe SSDs—The Unleashed Power of Flash Storage
In recent years, flash-based SSDs storage have been making it to the primary computer market, thanks to the blazing fast speeds it offers.
This has been facilitated by the continuing improvements in manufacturing technology and chip capacity, which has allowed for a consistent decrease in flash memory prices.
Besides being focused on affordability, manufacturers have also put lots of effort into improving the underlying communication interface for optimal use of the flash memory’s faster speed capability.
This is how the Non-Volatile Memory express (NVMe) technology came to the flash storage scene. Today, it is preferred in a growing number of speed-sensitive scenarios over the traditional SAS and SATA protocols.
How did NVMe come to the high-speed storage scene?
When SSDs were introduced to the consumer market a few decades ago, they were aimed at revolutionizing the way storage works.
Instead of storing data on magnetic platters as HDDs do, SSDs were designed to store data using flash memory, such as NAND.
This cut the need for moving parts in data reading and writing, which allowed SSDs to ensure access to data a few times faster than HDDs.
Regretfully, unleashing the full potential of flash memory in SSDs was limited by the data transfer protocols designed in the days of HDDs, such as Serial ATA (SATA) and Serial Attached SCSI (SAS).
In fact, the first SSDs were still a bit slow and bulky, so using the existing SATA/SAS infrastructure proved convenient at the very start.
That was the beginning of a long transition period that would eventually lead to the deployment of a new bus and protocol that would make the best use of the ultimate performance potential of NAND-based SSDs.
This is where NVMe came into play.
What is NVMe about?
Short for Non-volatile Memory Express, NVMe is a communications standard developed specially for SSDs by a consortium of vendors including Intel, Samsung, Sandisk, Dell, and Seagate.
It has come as an alternative to the SATA and SAS standards for storage access and data transfer, which were developed back in the day when HDDs were the primary storage media.
When first introduced, SATA and SAS protocols achieved an up to 5-fold improvement in throughput times for client systems as compared to HDDs.
With NVMe being created for flash memory specifically, the data transfer speeds with NVMe SSDS have marked a 4-fold increase from SATA SSDs.
This substantial leap in performance is facilitated by the computer’s high-speed PCIe bus over which the data transfer is executed.
NVMe and PCIe – a winning combination
Acting as a host controller interface and storage protocol, NVMe accesses flash storage across the PCI Express (PCIe) bus.
Short for Peripheral Component Interconnect Express, PCIe was introduced a few years earlier than NVMe to the consumer market.
Offering a much higher-bandwidth bus technology, PCIe allows the SSDs to perform at the speeds that flash memory is capable of.
Due to the bandwidth constraints of HDD-intended, data transfer protocols, like SATA and SAS, could not act as intended.
It was not until the introduction of NVMe to the market that the ultimate performance potential of NAND-based SSDs could be leveraged technologically.
Operating via PCIe, NVMe removes the afore-stated data transfer protocol constraints by offering low-latency commands, and tens of thousands of parallel command queues—up to 64К overall.
Thus, data is written extremely fast across SSDs’ chips and blocks, which allows for full utilization of the speeds flash memory is capable of.
This makes NVMe SSDs much faster than those working on the old SATA/SAS infrastructure, which is limited to a single command queue.
How NVMe works
In contrast to the SAS and SATA protocols, NVMe offers a more simplified command set to map I/O requests and responses to memory.
To achieve high throughput, the NVMe interface supports parallel I/O with multi-core processors.
Thus, it requires fewer than half the number of CPU instructions than the SCSI and ATA command set used with SAS and SATA drives, respectively.
In a single message queue, NVMe could support 64К commands, as the maximum number of I/O queues could exceed 65К.
By contrast, a SAS device typically supports up to 256 commands, and a SATA drive supports up to 32 commands, in just one queue.
In practice, the NVMe protocol requires only thirteen commands to deliver high performance.
NVMe benefits over SAS/SATA protocols
NVMe-based SSDs boast a significant advantage over SAS and SATA drives by offering much faster access via the PCIe bus standard.
Here are the benefits of the NVMe protocol that make it a preferred choice for consumer and enterprise workloads:
Unlike with traditional host stacks, whereby an I/O controller sits in-between the CPU and the storage medium, with NVMe the I/O controller is eliminated from the data flow/route.
By using PCIe, the NVMe interface enables a direct connection to the CPU which reduces latency over SSD and speeds up data transfers significantly.
This way, PCIe-connected NVMe SSDs are able to deliver the highest throughput and fastest response times for all types of workloads.
Higher throughput rates
Traditional SSDs, which connect to computers via SATA or SAS protocols, are limited to a theoretical throughput ceiling of 6 Gbps and 12 Gbps per lane, respectively.
After overheads, these limits contract to 1-2 Gbps for the SATA- and 2-3 Gbps for the SAS-based interface.
This creates a performance bottleneck for flash media, which is capable of operating much faster than is allowed by the connection interface.
By using PCIe to connect, NVMe can reach a throughput of 1 Gbps per lane. A standard NVMe SSD can be attached to 4 lanes, meaning that it can reach a maximum data transfer performance of 4 Gbps.
In practice, a standard NVMe SSD can operate at an average speed of 3 Gbps. That results in a higher throughput rate for PCI-connected NVMe drives as compared to SAS- and SATA-based drives, respectively.
The significant improvement in I/O performance in NVMe-based storage facilitates the data transfer speeds that flash media is capable of and makes it immune to overloads and performance issues.
Potentially lower power consumption
Besides offering faster data transfers, NVMe also consumes less power. This makes it cheaper for enterprise scenarios aimed at reducing electricity costs.
The NVMe protocol is backed by an ever-expanding consortium of hardware and software vendors who are dedicated to making flash memory more effective.
Leading enterprise suppliers like Dell EMC and IBM have started to deploy NVMe SSDs as the enterprise storage format of choice.
NVMe can support SSDs that use different types of non-volatile flash memory, including NAND flash and the 3D XPoint technology developed by Intel and Micron Technology.
NVMe use cases
By enabling prolific amounts of bandwidth and much lower latency than SAS and SATA, NVMe ensures top performance for serious workloads.
For that reason, NVMe storage is already being used actively in a wide range of speed-sensitive business scenarios.
These include finance, e-commerce, artificial intelligence (AI), machine learning (ML), and advanced analytics apps.
NVMe SSDs – consumer market position
Over the years, SSDs have started to supersede slower HDDs as primary storage thanks to the blazing fast speeds, growing flash storage capacity, and continuously dropping prices.
By becoming a commonplace solution, SSD storage needed a fast interface to achieve optimal use of the quicker speed capabilities flash memory is known for.
Here is how NVMe came to the scene—as a huge improvement over the mainstream, HDD-intended SATA and SAS protocols, which can only handle low levels of I/O processing thus creating latency and capping performance.
Considering the potential performance of NAND-based SSDs, it is clear that the new NVMe/PCIe bus and protocol will eventually be replacing, not only the HDDs, but many of the SATA/SAS-based SSDs storage configurations for speed-intensive workloads as well.
NVMe SSDs in web hosting
Thanks to the huge performance improvements in storage technology, NVMe has been deployed by a growing number of web hosting providers lately.
For now, NVMe-powered SSD storage is being largely used for enterprise solutions like VPS and dedicated servers.
However, as hosts are aiming to optimize storage performance for a faster and more powerful web hosting experience, they are starting to deploy the NVMe technology for top-tier shared hosting services as well.
In our next post, we’ll share with you our experience with the NVMe technology and how we deployed it in a fully customized storage solution for optimal performance results across our platform.