What Does NVMe Mean on an SSD and Why is it Important

Surely you have been listening and reading about NVMe SSDs for quite some time . You know that they are the latest technology, that they are very fast and, therefore, they are the way to go. But do you know what it means for an SSD to be NVMe ? In this article we tell you what it is, how it works and why it is important for the future of PC storage.

The first flash memory-based SSDs used the interfaces that were available at the time, SATA and SAS, as well as protocols and form factors that would have less impact on existing storage systems. However, none of these were designed for high-speed storage, which is why SSDs have ended up using a PCI-Express interface that, although it was not initially designed for it, is much faster.

nvme ssd

The great advantage of using the PCI-Express interface is that they connect directly to the processor, providing access times similar to those of RAM, and the first PCI-Express SSDs have been around for a long time. However, these SSDs needed specific firmware to be compatible with PCs and did not take full advantage of all the rails that this interface offered. For this reason, the NVMe protocol was created .

What is NVMe?

NVMe stands for “Non-Volatile Memory Express,” or nonvolatile express memory. It is a high-performance, storage-optimized, highly scalable NUMA (Non Uniform Memory Access) storage protocol that connects to the memory subsystem host. This protocol was designed from scratch and specifically for storage systems , with the aim of always offering the best performance .

NVMe protocol diagramThe NVMe protocol is established on the PCI-Express rails of the system , which offers not only a wide bandwidth that allows vertigo speeds, many times higher than with SATA interfaces, but the access times are greatly reduced because It is linked directly to the processor and, in addition, the possibilities of growing and scaling are enormous. In other words, this is a protocol designed to be used long term .

Why is it so fast? Understanding I / O queues

To understand how this protocol works and, above all, how it manages to reach these speed levels, it is necessary to delve a little into its architecture and, especially, understand how I / O queues (input and output) work .

NVMe can support multiple input and output queues , up to 64K queues and each one supporting 64K inputs (for comparison, SATA only supports one queue and each can have only 32 inputs). The host software for this protocol can create queues up to the maximum allowed by the controller depending on the system configuration and workload; Plus, it supports I / O scatter / collection, minimizing the effect this has on processor load for data transfer, and even provides the ability to change its priority based on workload requirements.

NVMe Queue Management Diagram

In the diagram above you have a very simplified way of communication between a host and the NVMe controller. This architecture allows applications to start, run, and end multiple input / output requests simultaneously without impacting processor performance .

In short: The NVMe protocol was created from scratch specifically for high-performance storage systems, so they achieve speeds that take full advantage of the PCI-Express interface without ever saturating the processor. In addition, it is prepared to be able to modify the firmware easily, which means that we will continue to use it in the medium and long term because it has the ability to continue evolving without problem.