An article explains what NVMe is

An article explains what NVMe is

With the emergence of NVMe, the performance of hard disks has been greatly improved. How much is this greatly improved? The read bandwidth has increased from 500MB/s to 3200MB/s, and the write bandwidth has increased from 400MB/s to about 1200MB/s. The read IOPS has reached 500,000 or even higher. In other words, the performance of an NVMe-based SSD hard disk is now better than that of an enterprise-level disk array.

After all this bragging, what exactly is NVMe? The full name of NVMe is Non-Volatile Memory Express, which means non-volatile memory host controller interface specification. You may still be confused, so let's search for this keyword on the search engine, and you may get the following picture.

Figure 1 NVMe storage

After all this nonsense, what exactly is NVMe? First of all, it is an interface specification, and secondly, it is an interface specification for storage devices. To be precise, it is the most popular storage device communication protocol. This protocol is like SAS and SATA, which is used to define hardware interfaces and transmission protocols.

Several concepts about storage

In order to thoroughly understand what NVMe is, let's first clarify a few concepts about storage.

Size and shape: This refers to the shape and size of the device. Usually, the size and shape of storage devices include the following:

  • 2.5-inch or 3.5-inch drive (defined in the SFF standard)
  • M.2 and PCI Express (PCIe) (defined in PCI-SIG standards)

Interface: This is how the device communicates with the computer. Common storage device interfaces include:

  • SATA interface, usually used for 2.5-inch and 3.5-inch hard drives, and sometimes some M.2 devices also use it
  • PCI Express (PCIe) interface for M.2 and PCIe devices
  • SAS (Serial SCSI) and FC (Fibre Channel) interfaces are only used in the server field and data centers
  • The PCIe interface is much faster than the SATA interface. The maximum bandwidth of SATA3 is 6Gb/s, while the M.2 interface based on 4X PCIe can reach a maximum of 32Gb/s.

Protocol: defines how data is transferred between computers and devices. Common protocols include:

  • AHCI or ATA protocol for SATA interface,
  • NVMe protocol for PCIe interface

It should be clear to us now that NVMe is a communication protocol running on a certain interface, which is used to regulate data transmission between computers and storage devices. The above device sizes, interfaces and protocols can usually be combined. The following are common centralized combinations.

A 2.5-inch SSD hard disk, based on the SATA interface, the communication protocol is AHCI or ATA. The specific device is shown in Figure 2.

Figure 2 SSD with SATA interface

An M.2 SSD, based on the PCIe interface, uses NVMe as the communication protocol. The specific device is shown in Figure 3.

Figure 3 M.2 SSD

A PCIe SSD is based on the PCIe interface and uses NVMe as the communication protocol. The specific device is shown in Figure 4.

Figure 4 PCIe SSD

Here are just a few specific examples to help you understand the relationship between interfaces, devices, and protocols. There are many other combinations, which are not described in this article.

Why is NVMe so fast?

We have introduced what NVMe is above. This article will introduce why NVMe is so fast (note: the speed mentioned here is based on SSD devices, not mechanical hard drives). Due to the physical characteristics of SSDs, data access is already very fast, and the performance bottleneck lies in the interface and protocol between the computer and the device.

Let's take a simple example. For example, we have a warehouse that continuously produces products, and we can use a robot to take the products from the warehouse to other places (as shown in Figure 5). For SATA SSDs, it is similar to a single-arm robot. The warehouse produces very quickly, but the robot can only take one at a time, so the moving speed is relatively slow.

Figure 5 Single-arm robot

However, what about NVMe-based SSDs? It is equivalent to the robot having hundreds of hands, so the speed is obviously much faster than the former.

Figure 6 Multi-arm robot

The same principle applies to the NVMe protocol. It essentially establishes multiple paths between computers and storage devices, which naturally increases the speed of data transfer. In the NVMe protocol, multiple paths are actually multiple queues, as shown in Figure 7. In SATA, there can only be one queue between computers and storage devices. Even in the case of multiple CPUs, all requests can only pass through such a narrow path. The NVMe protocol can have up to 64K queues, and each CPU or core can have a queue, which greatly improves the degree of concurrency and naturally improves performance.

Figure 7 NVMe multi-queue

Today is just an introduction. We will introduce more about NVMe in detail later.

<<:  Which 5G core patents cannot be circumvented by others? Huawei responds

>>:  The WiFi at home is getting slower and slower. Do these ten things to make the Internet speed fly again

Recommend

Ruijie Cloud Desktop has emerged as a new force. Why do users prefer it?

[51CTO.com original article] Speaking of players ...

Be careful when using Wi-Fi, ES File Manager will wipe out all your data

[[255972]] If you use the popular file explorer a...

Yunnan Yuxi and Huawei Enterprise Cloud deepen cooperation

On March 30, 2017, the People's Government of...

Why SD-WAN is the best way to enable digital business

In a survey of mid-market enterprises, IDC found ...

Comparison of IT industry salaries in 2021

There is a popular saying among job-hopping peopl...

AT&T uses Frontier's fiber for enterprise sales and 5G

[[427531]] DALLAS – AT&T* will partner with F...

A quick overview of 5G industry developments in March 2021

After the rapid development in 2020, 2021 is a cr...

Four questions to help you understand what DCIM is?

[[126709]] Question 1. What is DCIM? DCIM stands ...