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

Blog    

Recommend

5G is here, and your way of playing TikTok should also change

On June 6, 2019, the Ministry of Industry and Inf...

What affects WiFi speed is not only old equipment but also signal interference!

Because Wi-Fi transmits over radio waves, it is m...

How to use fiber optic patch cords?

1. What is fiber jumper? Fiber optic patch cords ...

5G enables the industrial Internet to flourish

[[441504]] 5G remote ultrasonic robot diagnostic ...

5G+4K: This is how you can spend Valentine's Day this year

A sudden epidemic has plunged the whole country i...

The SD-WAN track has changed. When will the dragon trainer appear?

In an environment where cloud computing, mobile a...

CloudCone: $17.77/year KVM-512MB/100GB/3TB/Los Angeles MC Data Center

CloudCone's large hard disk VPS host is back ...

Operational data of the three major operators in May: 5G has a unique outlook

Now in the motherland, more than 10,000 5G base s...

When will the price of NB-IoT modules drop below 20 yuan?

The cost of NB-IoT, especially the module cost, h...

Biyouxue: Solve growing pains with software development cloud

Education is an eternal research topic, and its i...

Schneider Electric is a pioneer in green data centers

With the rapid development of information technol...