NVMe® Storage

Non-Volatile Memory Express (NVMe®) refers to a set of technologies and protocols that significantly expedite the way in which data is stored, transmitted, and retrieved. NVMe® storage has taken over the conventional spinning-disk hard drive as the preferred storage format for enterprises.

Performance-hungry operations necessitate speedy data transfer, and spinning-disk hard drives don’t match the performance of NVMe®. Not surprisingly, they may soon become obsolete just like compact discs, tape cassettes, and vinyl.

NVMe® developers, including Intel, Dell, SanDisk, and Samsung, designed this storage format to enable SSDs to function as the memory it is, instead of the hard drives it emulates. While memory speeds and processes have evolved, interfaces and drives have been slower to keep up with them.

Hence, NVMe® storage was created to bridge the gap between slow storage and fast memory.

Overview

What is NVMe® storage?
Benefits of NVMe®
NVMe® Performance
What Benefits Does NVMe® Bring to Your Business?
NVMe® Storage Use cases
NVMe® Shared Storage
NVMe® Over Fabric (NVMe-oF™)
Why NVMe®/TCP is the better choice for your Data Center

What is NVMe® storage?

It’s a transport and storage access protocol developed for next-generation solid-state drives (SSDs). NVMe® performance is known for the fastest response times and highest throughput for different kinds of enterprise workloads.

In today’s world, faster response times of consumer apps and businesses can make a huge difference. Even though the applications have become more resource-dependent and complex, consumers still expect a faster response time.
To deliver fast application performance for a better user experience, storage architects came up with NVMe® storage. It accesses flash storage with the help of PCI Express or PCIe bus that has thousands of command queues that run parallel.

This makes NVMe® faster than conventional all-flash architectures and hard disks with only a single command queue.

Benefits of NVMe®

NVMe® storage is gaining broad adoption in the enterprise data center, given the performance and efficiencies it delivers. Unlike mechanical hard disk drives, NVMe leverages today’s multicore CPUs and not just solid-state storage. NVMe was developed from the ground up specifically for SSDs to improve throughput and IOPS, reduce latency and increase speeds.

It can also efficiently manipulate and parse data via streamlined command sets. This gives them faster access to data and decreased latency as compared to legacy SATA and SAS protocols.
A great benefit of NVMe® performance, is not only does it accelerate existing applications but also enables new applications that necessitate high performance. Besides providing faster access to data (about 100x faster than a hard disk drive), NVMe® also incurs less power.

The third benefit is associated with IOPS (input/output per second). NVMe® increases IOPS – a great advantage over traditional hard disk drives. Owing to native parallelism and increased bandwidth of NVMe®, multiple cores can read and write operations simultaneously.

Since NVMe® storage has no moving parts, the probability of a disastrous drive failure is quite low. Besides, no moving parts, less heat generated, and less heat generated means lower cooling costs..

NVMe® Performance

In this section, let’s dive deeper into the architecture of NVMe® to understand why it delivers high throughput, has fast response time, and suits all kinds of enterprise workloads. As mentioned before, NVMe supports multiple I/O queues.

It can have up to 64K I/O queues, each with 64K entries. On the other hand, legacy SATA and SAS support single queues with 254 and 32 entries, respectively. NVMe®-based drives can theoretically attain throughputs up to 32 GBps, assuming the drives are based on PCIe 4.0 and use 16 PCIe lanes.

Moreover, NVMe® has the capability to create queues according to the expected workload and system configuration. The maximum number of queues it can support depends upon its NVMe® controller. Based on workload requirements, it can even change their priority.

What’s more, NVMe® can reduce CPU overhead upon transfer of data and supports scatter/gather IOs. This architecture allows applications to complete multiple I/O requests at the same time.
No wonder NVMe® has found applications in edge computing ecosystems, cloud storage, data-heavy enterprise environments, and big data.

But what good does the exceptional NVMe® performance bring for enterprises?

Let’s explore in the subsequent section.

What Benefits Does NVMe® Bring to Your Business?

NVMe® is designed for non-volatile and high-performance storage media to meet the ever-increasing demands of big data. It enables businesses to access, manage, and store data efficiently while improving latency, reliability, and performance.

Today, most enterprise systems are data-starved. Newer applications have led to an exponential rise in demands and data. This, in turn, can bog down even high-performance SSDs causing poor quality of service, higher latencies, and lower performance in the face of challenges presented by Fast Data.
NVMe® storage eliminates bottlenecks for both edge computing architecture and conventional scale-up database applications to meet new demands of data. It stands out in compute-intensive enterprise and edge data ecosystems.
Data-driven businesses need to think about how to access, preserve, and transform data to improve their profitability.

1. Easy to Enable and Deploy Virtual Machines

Modern virtual machines (VMs) need fast response times. With NVMe-oF™ and NVMe® arrays, businesses can improve the performance of virtual machines. Moreover, they can provision more VMs to reduce the time needed for VM snapshots.

2. Be Future-Ready

Another great advantage of NVMe® for businesses is that they can future-proof their data center. They can leverage more composable and flexible infrastructures.

Businesses can use it for other non-volatile storage solutions such as MRAM (Magnetoresistive Random Access Memory) or PCM (Phase Change Memory) that are next-gen storage solutions in the evolutionary chain.
Most businesses recognize the fact that data is an asset, but they aren’t aware of the importance of changing or upgrading their legacy storage systems, services, or applications.

To adopt next-generation technologies, businesses have to move at a breakneck pace to modernize their data centers.
Now, it’s time to cover the use cases of NVMe® storage.

NVMe® Storage Use cases

Below are the popular use cases of NVMe® storage:

1. Storage for Relational and Modern databases (MySQL, MongoDB, Cassandra, Kafka)

Companies that utilize relational and modern databases leverage NVMe® performance to reduce the number of licenses (databases) and physical servers required. In addition, NVMe® accelerates the performance of these cloud-native applications.

2. Containerized Applications

NVMe® storage offers high performance and low latency benefits to containerized and cloud-native applications lowering the TCO.

3. High-performance Computing in Financial Services

One of the most important use cases of NVMe® is high-performance computing in financial services. Some of the examples are, real-time data analytics, high speed data processing, and a financial services company creating infrastructure as a service (IaaS) or storage-as-a-service (STaaS) where latency can be an issue.
Data analytics can be greatly accelerated with the help of NVMe® storage.

NVMe® Shared Storage

Shared storage over a SAN (storage area network) has many benefits, including:

– Efficient use of storage
– Enabling advanced cluster applications
– No point of failure
– Ease of management
– Offering enterprise-ready storage services like compression, encryption, deduplication, etc.

Despite these benefits, many have predicted the demise of SAN due to high latency. NVMe® storage allows for lower latency over SAN as well as improved I/O metrics. NVMe® shared storage thus improves the overall performance.

NVMe® Over Fabric (NVMe-oF™)

NVMe-oF™ or NVMe® over Fabrics is an end-to-end standard that facilitates efficient data transport between servers and storage systems.
NVMe-oF™ extends NVMe® performance benefits across the popular storage networking fabrics, namely:

– NVMe® over Fiber
– NVMe® over ethernet
– NVMe® over Infiniband
– NVMe® over TCP
The infrastructure in many enterprises is built around Fibre Channels, thanks to its reliability and performance. NVMe-oF™ ensures efficient CPU usage and faster connectivity between applications on servers and storage.

Data centers that rely on direct-attached storage (DAS) experience further consolidation because of it. With broader bandwidth and faster network speed, the apps can instead run on shared network storage.

Therefore, NVMe® provides network consolidation and additional data centers as DAS and SAN leverage a single shared storage infrastructure. NVME-oF thus makes the storage architecture more parallel while eliminating bottlenecks in modern applications.

Why NVMe®/TCP is the better choice for your Data Center

NVMe® has transformed the storage industry since its emergence as the state-of-the-art protocol for high-performance SSDs.

Initially designed for high-performance direct-attached PCIe SSDs, NVMe® was later expanded with NVMe® over Fabrics (NVMe-oF™) to support a rack-scale remote pool of SSDs. The industry has widely accepted that this new NVMe-oF model will replace the Internet Small Computer Systems Interface (iSCSI) protocol as the communication standard between compute servers and storage servers and become the default protocol for disaggregated storage.

Yet, the initial deployment options with NVMe-oF™ were limited to Fibre Channel and Remote Direct Memory Access (RDMA) fabrics.

What if we could offer a new, more powerful technology that provides the speed and performance of NVMe-oF™ without the prohibitive deployment costs and complexity?

NVMe® over TCP (NVMe®/TCP) extends NVMe® across the entire data center using simple and efficient TCP/IP fabric. It is a better technology for existing data centers and the benefits it offers. These advantages include:

– Enabling disaggregation across a data center’s availability zones and regions.
– Leveraging ubiquitous TCP transport with low latency, highly parallel NVMe® stack.
– No changes required on the application server side.
– A high-performance NVMe-oF™ solution providing comparable performance and latency to Direct Attached SSDs (DAS)
– An efficient and streamlined block storage network software stack optimized for NVMe®.
– Providing parallel access to storage optimized for today’s multi-core application/client servers.
– Standard NVMe-oF™ control path operations

In Summary

NVMe® storage has many advantages over traditional hard disk drives. Lower latency, faster response times, low power consumption, improved performance, speedy data transfer, and reduced bottlenecks are its many benefits.

Unlike other NVMe-oF™ approaches, the NVMe®/TCP separates storage and compute without touching network infrastructure or data center clients making it a better choice for modern Kubernetes and cloud-native applications, relational database such as MySQL, modern NoSQL databases such as MongoDB, Apache Cassandra, and event streaming platform Apache kafka.

Additional Resources

IDC Innovators in NVMe®/TCP
Cloud-Native Storage for Kubernetes
Disaggregated Storage
Ceph Storage
Persistent Storage
Kubernetes Storage
Edge Cloud Storage
NVMe® over TCP
NVMe/TCP on Dell PowerEdge
NVMe/TCP for VMWare

About the Writer: