What is NVMe?
Non-Volatile Memory Express (NVMe) is a solid-state memory interface protocol developed to access flash storage via a PCIe bus and improve NVM performance. Introduced in 2011, NVMe uses the PCIe interface to map commands and responses to the host computer.
- NVMe read and write speeds are up to six times faster than a SATA solid-state drive (SSD) interface. Latency is also reduced from roughly 6ms to under 3ms.
- Up to 64K I/O queues are supported by NVMe, with each having 64K entries. This greatly reduces the number of CPU cycles required for data transfer.
- NVMe SSD performance is ideal for real-time applications like artificial intelligence (AI), machine learning (ML), and big data analytics commonly found in today’s enterprise and hyperscale data centers.
Peripheral Component Interconnect Express (PCIe) is the industry standard high-speed bus convention for nearly all internal computer connections. The point-to-point topology, multiple lanes and innovative clocking scheme are among the powerful features of PCIe bus architecture.
PCI Express capable devices make use of parallel data transfer and low power features. NVMe, solid state device (SSD) technology has integrated these benefits from PCIe to dominate computer storage.
Benefits of NVMe
Along with faster access to storage and lower latency as compared to legacy SAS and SATA, NVMe offers many other benefits that improve existing storage applications while enabling new ones.
- Direct Connection: Traditional architecture included I/O controllers between the CPU and storage device. With a direct connection from PCIe to CPU, the NVMe device now follows a path of least resistance that improves lane utilization and lowers power consumption.
- Standard SSD Interface: Designed with the unique characteristics of NVM and Flash memory in mind, NVMe was developed specifically for PCIe, instead of adapting an existing protocol such as SATA.
- Future-proof: The NVMe specification does not point to any specific type of memory or device. NVM through a PCIe interface can be adapted to many different types of current and future non-volatile memory.
- New Features: The NVMe 2.0 protocol improves performance and access to storage with new features including Zoned Namespaces (ZNS) that allow the host and SSD to collaborate on data placement, and added support for mechanical hard drive interfaces.
Viewing the NVMe Traffic
The impressive results observed when NVMe is implemented speak for themselves. Fewer than half the quantity of instructions used in a conventional SCSI to SAS interface are required, and seek times are more than ten times faster than with SATA SSD. With the increased traffic volume, an analyzer with PCIe Gen 4.0 capability, high memory capacity, and segmentation features for NVMe upstream and downstream traffic decoding becomes an essential tool.
The VIAVI Gen 5 PCIe Analyzer provides complete visibility into NVMe traffic flows, with PCIe and NVMe traffic decoded at all levels of the stack. Using the NVMe Management Interface (NVMe-MI), the command set and architecture for NVMe storage is observable through SMB capture and trigger.
Testing the NVMe Protocol
An advanced and versatile test solution is required for complete NVMe protocol testing. The jamming and analysis capabilities of the Gen 5 PCIe Analyzer are designed to address the unique validation requirements of NVMe devices.
- The Xgig platform enables accurate and efficient troubleshooting and protocol testing.
- Advanced triggering and search features include training sequences, ordered sets, and queue pairs.
- Multiple protocols are supported simultaneously in a multi-function environment by simply connecting additional devices to the integrated Xgig platform.
- Inline error injection or “jamming” allows errors to be introduced to the system so that the error recovery process can be verified during protocol testing.
In addition to NVMe protocol to integrate devices inside the computer system, extensions have developed to facilitate networked storage.
NVMe Over Fabrics
NVMe over Fabrics (NVMe-oF) is an extension of the NVMe protocol that supports data transfer between a host computer and a storage device in separate locations. Network fabric types include Ethernet, Fiber Channel, and Infiniband. This protocol extension increases the distances over which NVMe devices can be connected successfully.
- The features of an NVME-oF network include credit-based flow and low latency fabric. The goal is to provide connectivity between NVMe devices with no more than 10 microseconds (µs) of additional latency.
- NVMe-oF reduces bottlenecks in network architecture by making external storage I/O processing much more efficient.
- TCP transport binding, which allows NVMe-oF to be used over a standard Ethernet network interface without special equipment, is supported by the NVMe-oF 1.1 standard.
- The NVMe-oF standard is about 90 percent equivalent to the NVMe specification, with transport mechanisms included for additional guidance.
The Future of NVMe
NVMe will continue to evolve with each revision and refinement, adding additional features and capabilities while maintaining the original benefits that have made it successful. By adding support for rotational media (hard drives), NVMe has embraced legacy technology while looking forward to the ultra-low latency and data-intensive workloads that lie ahead. The speed and versatility of NVMe have made this technology a leading memory solution, with market share improving year over year. The future of NVMe is secure, with only the imagination of designers limiting the capacity and potential applications.