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:
Interface: This is how the device communicates with the computer. Common storage device interfaces include:
Protocol: defines how data is transferred between computers and devices. Common protocols include:
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
In daily K8S operation and maintenance work, we u...
1. Introduction to dynamic routing 1. Dynamic rou...
RAKsmart's "Everyone Goes to the Cloud&q...
80VPS is a Chinese hosting company. The tribe has...
[51CTO.com original article] Speaking of players ...
[[255972]] If you use the popular file explorer a...
On March 30, 2017, the People's Government of...
In a survey of mid-market enterprises, IDC found ...
This month, ZJI continues to promote Hong Kong...
There is a popular saying among job-hopping peopl...
[[427531]] DALLAS – AT&T* will partner with F...
TNAHosting is a foreign hosting company establish...
After the rapid development in 2020, 2021 is a cr...
Maxthon Hosting has been very low-key for a long ...
[[126709]] Question 1. What is DCIM? DCIM stands ...