apogeeweb title
Home arrow Memory

arrow left

arrow right

Jul 25 2019

M.2, NVme and PCIe: What are They?

Introduction

M.2 is a new interface specification introduced by Intel to replace mSATA, called NGFF(Next Generation Form Factor) from very beginning. For desktop users, the SATA interface is sufficient to meet the need. However, considering the storage needs of ultrabook users, it is urgent to introduce a new interface standard, that is, M.2. It is the new specification of computer expansion cards and related connectors installed inside. M.2 replaces the mSATA standard, which uses PCI Express mini-card layout and connectors. Its flexible physical specifications allow different module widths and lengths, and combined with the availability of more advanced interface functions, M.2 is more suitable for solid-state storage (SSD) applications than mSATA, especially for small ultrabooks or tablets computers and other equipment.

M.2 Explained

Catalog

Introduction

Ⅰ What is M.2

1.1 M.2 Advantages

1.2 M.2 Interface

Ⅱ NVMe Interface Protocol

2.1 What is NVMe?

2.2 NVMe Version Update

2.3 NVMe Advantages

Ⅲ M.2 NVMe vs M.2 SSD

Ⅳ PCI Express Explained

Ⅴ Conclusion


Ⅰ What is M.2

1.1 M.2 Advantages

Compared with mSATA, M.2 has two main advantages:

In terms of speed: There are two types of M.2 interfaces: Socket2 (B key) and Socket3 (M key). Socket2 supports SATA and PCI-E x2 interfaces. If the PCI-E x2 interface standard is employed, the maximum read speed can reach 700MB/s, and the write speed can reach 550MB/s. And Socket3 can support PCI-E x4 interface, theoretical bandwidth can reach 4GB/s.

m.2 B key

The notch of the B key interface is on the left, and the number of pins on the short side is 6. At present, there is a small amount of M.2 SSDs with B key interface on the market, and the channels used are SATA or PCI-E x2. If it is a SATA channel, the maximum speed of continuous reading is about 550MB/s; If it is a PCI-E x4 channel, then the maximum speed of continuous reading can exceed 700MB/s.

m.2 M key

The notch of the M key interface is on the right, and the number of pins on the short side is 5. M.2 SSD with M key interface on the market are mostly high-end products, and the channel used is PCI-E x4. The SSD with this interface is very fast, the continuous reading speed can easily exceed 1600MB/s, and the flagship product can reach 3300MB/s.

B&M key

The B&M key interface has two gaps, which can be seen as a combination of the first two. The characteristics of the B&M key interface are not much different from the B key interface, and basically replace the B key interface.

In terms of volume: Although the size of mSATA SSD is small enough, it still has no advantages compared to M.2 SSD. The M.2 SSD can be arranged in single-sided NAND flash memory particles like mSATA, and can also be arranged in double-sided. The total thickness of the single-sided arrangement is only 2.75mm, and the thickness of the double-sided is only 3.85mm. The disadvantage of mSATA in terms of volume is obvious. For example, the size of 51mm×30mm makes mSATA not dominant in area, and the thickness of single-sided layout of 4.85mm is too thick compared to M.2. In addition, even in the same size, M.2 can also provide higher storage capacity. Because of the small size of M.2 SSD, it is suitable for ultrabook.

 

1.2 M.2 Interface

The computer bus interface is converted into PCI-E 3.0 (up to four channels), serial ATA 3.0 and USB 3.0 (a single logical port for each of the latter two) through the M.2 connector. The manufacturer of the M.2 host or device can choose which interfaces to support, depending on the required host support level and device type. The M.2 connector has different keyways, which represent the various uses and functions of the M.2 host and module, to prevent the M.2 module from being inserted into the host connector with incompatible functions. In addition to M.2 supporting the traditional AHCI at the logical interface level, the M.2 specification also supports NVMe as the logical device interface of M.2 PCI-E SSD.

M.2 provides up to four PCI-E channels and a logical SATA 3.0 port, and all of them are split through the same connector. Therefore, a M.2 module may have PCI Express at the same time and SATA storage devices. The split PCI Express channel provides a pure pcie connection between the host and the storage device, and there is no additional bus abstraction layer. In the M.2 specification version 1.0 released by the PCI-SIG in October 2013, a detailed M.2 specification was provided.

There are also different specifications between M.2 SSDs, mainly including 2242, 2260, and 2280. In fact, the three specifications correspond to three different length products, which is convenient for manufacturers to expand storage capacity. Take m.2 2242 as an example, 22 is the width, 42 is the length. And so on, for 2260, 2280, the front number is the width and the back number is the length.

  • Three interface types:

There are three options for the logical device interface and command set connected to the M.2 storage device. According to the type of M.2 storage device and the available operating system support, these options can be used:

1) SATA

For SATA SSD, it is connected through the AHCI driver program and the SATA 3.0 (6 Gbit/s) port exposed through the M.2 connector.

2) PCIeSSD using AHCI

PCIe SSD connects through AHCI driver and provides PCIe channel. It is backward compatible with the SATA support in the operating system, but it cannot provide the best performance by using AHCI to access PCI Express SSD. AHCI was developed when the CPU/memory subsystem was connected to a much slower storage subsystem based on rotating magnetic media, and serves as a host bus adapter (HBA) in the system. Therefore, when applied to SSD devices, AHCI has some inherent inefficiencies. These devices behave more like a DRAM than rotating media.

3) PCIeSSD using NVMe

PCIe SSD connects through NVMe driver and provides PCIe channel. As a high-performance and expandable host controller interface, it is designed and optimized for PCIe SSD interface. NVMe is designed from the ground up to take full advantage of the low latency and parallelism of PCI Express SSDs, and complements the parallelism of running CPU and applications. At a higher level, the main advantage of NVMe over AHCI is related to the ability to utilize parallelism in host hardware and software. Based on its design advantages, it includes fewer levels of data transmission, greater command queue depth, and more effective interrupt handling.

M.2 supports SATA and PCIe storage devices, with AHCI and NVMe as logical specifications, as follows:

m.2

 

Ⅱ NVMe Interface Protocol

2.1 What is NVMe?

Nvme (Non-Volatile Memory express) is an AHCI-like protocol based on the M.2 interface. It is a protocol designed specifically for flash memory storage. Unlike AHCI, NVMe is a specification for SSDs that use PCIe channels. At the beginning of the design of NVMe, the low latency and parallelism of PCIe SSDs were fully utilized, as well as the parallelism of contemporary processors, platforms and applications. The parallelism of SSD can be fully utilized by the hardware and software of the host. Compared with the current AHCI standard, the NVMe standard can bring many aspects of performance improvement.

NVMe

2.2 NVMe Version Update

The NVMe protocol was upgraded to NVMe 1.1 in 2012, and the NVMe 1.2 was introduced in 2014. Until May 2017, NVMe was upgraded to version 1.3. The latest NVMe 1.3 upgrades 8 new functions. They are Device Self Tests, Boot Partitions, Sanitize, Virtualization, Namespace Optimal IO Boundary, Directives and Streams, Non-Operational Power State Permissive Mode and Host Controlled Thermal Management.

 

2.3 NVMe Advantages

1) Wider driver applicability

driver developmemt on major OSes

The emergence of the NVMe protocol solves the problem of driver applicability between different PCIe SSDs. NVMe SSDs can easily match different platforms and systems, and can work normally without the need for manufacturers to provide corresponding drivers. Currently, Windows, Linux, Solaris, Unix, VMware, UEFI, etc. have all added support for NVMe SSD.

 

2) CPU parallel

current performance bottleneck (resolved)

 

3) Simplified kernel IO stack

software stack improvements

 

4) Low latency

In the software layer, the delay of the NVMe standard is lower than half that of AHCI. NVMe has simplified the calling method and does not have to read registers when executing commands.

5) IPOS (Input/Output Per Second) increases.

6) Lower consumption

power optimizations

NVMe has added automatic power consumption state switching and dynamic energy management functions. The device can quickly switch to energy consumption state 1 after being idle for 50ms from energy consumption state 0, and enter the lower energy consumption state 2 after 500ms of inactivity. Although there will be a short delay in switching the energy consumption state, the power consumption in these two states can be controlled at a very low level when it is idle. Therefore, in terms of energy consumption management, it has a greater advantage than the mainstream SATA SSD. This is better for increasing the battery life of mobile devices such as laptops.

 

Ⅲ M.2 NVMe vs M.2 SSD

1. Protocol: m.2 nvme is a high-speed baiSSD that supports the Nvme protocol. It uses the PCle channel withfastspeed. M.2 does not support the protocol, it uses the SATA channel, which is similar to the ordinary SATA interface, like a low-speed SSD.

M.2 SATA SSD

M.2 SATA SSD

M.2 PCIE SSD

M.2 PCIE SSD

2. Adaptation: NVMe SSDneedsPCIE interface support on the motherboard, while ordinary m.2 ssd do not.

3. Interface: For m.2 ssd, if it supportsSATA protocol, there are two recesses at the pins and three gold fingers; if it supports NVMe protocol, it has one recess and two gold fingers. It can be seen from the appearance of the motherboard M.2 slot to figure out what protocol the slot supports. It is necessary to note that the two protocols are not compatible. For example, the m.2 ssd that supports the NVMe protocol must adopt the PCIe0 x4 bus standard, but the m.2 ssd that uses the PCIe 3.0 x4 bus does not necessarily support the NVMe protocol.

 

Ⅳ PCI Express Explained

For SATA SSD, when we take data operations, the data is first read from the hard disk to the memory, then the data is extracted to the CPU for calculation, and final the calculation is written to the memory and stored in the hard disk. PCI-E does not the same, the data is directly connected to the CPU through the bus, eliminating the need for memory to call the hard disk, so that the transmission efficiency and speed are doubled. Simply put, we can regard the two channels as two identical cars: A car with a PCI-E channel is like driving on a high speed, and a car with a SATA channel is like driving on a rugged mountain road. Obviously, the transfer speed of PCIe SSD is much faster than SATA SSD.

At present, there are two PCI-E interface channels: PCIe 2.0 x2 and PCIe 3.0 x4. The maximum speed reaches 32Gbps, which can meet the use of a period of time in the future. Moreover, the problem that the early PCIe hard disk cannot be used as a boot disk has been solved early. Most flagship SSDs will choose PCIe interface.

Although PCIe SSD has many benefits, it is not suitable for everyone. PCIe SSD has a higher overall cost due to the quality of flash memory particles and main control, and is more expensive than SATA SSDs. In addition, because PCIe occupies bus channels, it is not suitable for platforms have fewer CPU channels to add PCIe SSDs. Only Z170 pro, or top platforms such as X79 motherboard and X99 motherboard, can fully utilize PCIe SSD performance.

 

Ⅴ Conclusion

In fact, M.2 refers to the hardware interface on the motherboard, while SATA/PCI-E refers to a data transmission channel, and AHCI and NVMe are their corresponding data transmission protocol specifications.

m.2 interface

Related Articles

pinglun 0 comment

Leave a Reply

Your email address will not be published.

 
 
   
code image
Rating: poor fair good very good excellent