M.2 vs PCIe vs. NVMe vs SATA vs AHCI: Ultimate Showdown

Affiliate Disclosure: This post may include affiliate links. If you click and make a purchase, I may earn a small commission at no extra cost to you.

In PC building, form factors, interfaces, and protocols are the three most important things for ensuring system and component compatibility. I have already differentiated M.2 NVMe vs M.2 SATA and M.2 SATA vs 2.5″ SATA SSDs. But, this one is explicitly dedicated to M.2 drives. The confusion arises from the distinction between interfaces and protocols. Regarding the M.2 form factor, everybody now knows that it has everything to do with the size and dimensions of the drive. The performance is determined by the interface and protocols.

The correct name for an NVMe SSD is M.2 PCIe NVMe. The interface through which the drive connects to the system is called PCIe. NVMe is the transfer protocol that determines how this data is going to be transmitted. PCIe provides a higher bandwidth ,but NVMe is how those high read/write speeds are achieved on our computer. NVMe is the way to utilize the maximum performance of SSDs.

AHCI, on the other hand, is a standard interface used to optimize the communication between the OS and SATA storage devices. It was primarily developed for hard drives. It allowed those drives to offer features like Native Command Queueing and hot-swapping. However, it was never created and optimized for the high-speed performance of modern SSDs, specifically M.2 PCIe drives. For these modern drives, NVMe was introduced.

M.2 is a form factor

The Wikipedia definition of Form Factor is that “it is a hardware design aspect that defines and prescribes the size, shape, and other physical specifications of components, particularly in electronics“. But what does that mean in this context?

Well, M.2 allows SSD and Motherboard manufacturers to produce components (SSDs and M.2 ports) that are physically compatible with each other. I said physically because we are talking about the form factor, which determines the physical aspects of our SSDs.

M.2 solid state drives come in five popular form factors, i.e., 2230, 2242, 2260, 2280, and 22100. However, other cards, such as Wi-Fi, use M.2, and it may come in different sizes. Most SSDs use the 2280 form factor. 2280 signifies that the M.2 drive will be 80mm long and 20mm wide. The same goes for the other form factors.

When you’re ready to purchase an SSD for your laptop or desktop, one key aspect to consider is its form factor. Most motherboards will allow 2280, 2260, and 2240 drives to be installed on the same ports with different screw placements. However, the ports designed for smaller M.2 form factors will not support the larger M.2 drives.

The female port that you can see in the image is designed to M.2 specifications. Now, if you get any SSD from these three form factors, it will get installed on the system.

PCIe is an Interface

PCIe, or PCI Express, is a motherboard interface that enables PCIe components, such as graphics cards and SSDs, to transmit and receive data at extremely high speeds. PCIe is also a form factor that is used to connect graphics cards, Wi-Fi Cards, Bluetooth cards, and other expansion cards to our system. However, in our context, the PCIe provides high-speed lanes (typically four lanes) for communication with the system. These lanes are assigned to the M.2 PCIe ports on the motherboard.

With the help of PCIe lanes, SSDs are enabled to achieve higher bandwidth and throughput, thereby eliminating storage bottlenecks. It represents a significant leap forward in terms of storage compared to other interfaces, such as SATA and AHCI. PCIe bandwidth depends on its generation and the total number of lanes used by the PCIe card, such as a graphics card.

PCIe GenerationYear IntroducedBandwidth per Lane (x1)Total Bandwidth (x16)Encoding Method
PCIe 1.02003250 MB/s4 GB/s8b/10b
PCIe 2.02007500 MB/s8 GB/s8b/10b
PCIe 3.020101 GB/s16 GB/s128b/130b
PCIe 4.020172 GB/s32 GB/s128b/130b
PCIe 5.020194 GB/s64 GB/s128b/130b
PCIe 6.020228 GB/s128 GB/sPAM4 (Pulse Amplitude Modulation 4)

A lane in PCIe is like a pair of two roads, one for sending and another for receiving data. There is a translation layer that handles the traffic and its packeting and de-packeting. There are limited lanes in each system, and each port has assigned some of them. Typically, the ports nearest to the CPU, such as the PCIe x16, will have 16 lanes assigned to them. A PCIe lane could be connected directly to the CPU or through the chipset. SATA drives utilize chipset-connected PCIe lanes, while NVMe drives utilize PCIe lanes that go directly to the CPU.

Most M.2 NVMe SSDs require x4 lanes to work at their full potential. So, the M.2 port on your motherboard will already have those. So, PCIe is like a wide road that allows a larger amount of traffic as compared to the SATA road. The management of traffic is handled by NVMe, which is our next concept.

NVME is a protocol for PCIe SSDs

In computers, the interface is the physical and electrical connection that is mainly used to send/receive signals or data. Protocol, on the other hand, is the software element that sets the rules and methods for the communication. Imagine PCIe as the road, while NVMe is the traffic laws.

When you connect your M.2 NVMe drive to an x4 PCIe M.2 slot, it is ready to interact with the host system. If the SSD supports NVMe, the driver will be installed, and the system will start automatically if it also supports NVMe. The execution of NVMe is done inside the firmware and the operating system with the help of the NVMe driver. In this way, the limited lanes (x4) are utilized for more than what they can actually do.

See, SSDs are already capable of parallelization. It means that the NAND Flash memory inside the SSDs can be used to perform multiple tasks simultaneously. The SSD controller can be programmed in a way. But, to achieve that goal, NVMe is introduced. NVMe establishes specific rules for data transmission between the host and the storage. It streamlines the command set and provides a more efficient queuing mechanism. With this, NVMe enhances the SSD’s ability to perform numerous operations concurrently, significantly improving overall performance.

NCQ vs no NCQ
helix84, CC BY-SA 3.0, via Wikimedia Commons

With the help of NVMe, the drives become capable of full-duplex data transmission. The queue depth increases to 65535 queues, and each queue can handle up to 65535 commands. For comparison, the AHCI interface had only one command queue and could support up to 32 commands per queue.

This high queue depth indicates that a storage device is capable of handling multiple input/output requests simultaneously. With the help of fast controllers, these I/O requests can be processed, and data can be stored inside the NAND flash at a faster rate. Therefore, all of this becomes possible with the help of NVMe. Some systems run on PCIe without the NVMe standard, also known as PCIe with AHCI interface. On these systems, you can’t expect the performance that you get with the NVMe drives.

An NVMe Drive

SATA is an Interface

SATA is again an interface used to connect SATA devices, such as SATA SSDs, optical drives, and hard drives, to our systems. Unlike PCIe, SATA uses a one-way serial transmission method, in which a single stream of data is sent or received. The top version of SATA is SATA 3, which has a bandwidth of 6.0 Gbps, which actually translates to 600 MB/s in the real world.

SATA can work in AHCI or legacy modes. In AHCI mode, SATA drives can offer features such as hot-swapping and Native Command Queuing. The chipset manages SATA connections and is often used by slower devices as compared to other modern devices. SATA 3.0 was launched in 2009, but it remains relevant because it provides adequate performance with SATA SSDs. SATA drives may be slower, but they can come in larger capacities at a lower price. SATA drives are still relevant on low-end systems even as the primary drives.

You will find M.2 SATA-Only ports on some older laptops. Although the read/write speeds aren’t very high, they can still remove the storage bottlenecks created by traditional hard drives.

SATA drives are ideal for high-volume storage of raw data.

AHCI is a Protocol for SATA SSDs/HDDs

I’m certain you haven’t heard much about AHCI among all the things we’ve discussed. It was launched back in 2004 by Intel to overcome the limitations of PATA (PATA used parallel communication). AHCI is a technical standard that determines how a SATA drive communicates with the system. You can consider it as the NVMe protocol for PCIe drives.

The IDE (Integrated Drive Electronics) mode used by older PATA was improved with the advent of AHCI. The maximum speed offered by PATA was 133MB/s. However, with the help of SATA-3 and AHCI, we achieved speeds of up to 600 MB/s. So, AHCI was a significant innovation that enabled our systems to achieve higher storage speeds.

AHCI is used on SATA-based laptops and desktops. Even if you are connecting an M.2 SATA drive to an NVMe port on your motherboard, its data communication will be handled by the AHCI through the chipset.

Additionally, due to its hot-swapping capabilities, AHCI is widely adopted in server environments.

There are some older motherboards with M.2 NVMe ports, but they might not support NVMe on the software level. In such situations, AHCI can come into play to handle data transmission; however, it creates a bottleneck for the drives.

Conclusion

In a nutshell, M.2 is a set of specifications that manufacturers use to design the physical elements of their SSDs in a specific manner. NVMe is a protocol that works in conjunction with SSDs and operating systems to maximize the utilization of PCIe lanes and other NAND Flash memory capabilities. PCIe allows PCIe drives to achieve much higher bandwidth through unidirectional communication via PCIe lanes, even directly to the CPU.

SATA is an older but still widely adopted interface used by M.2 SATA SSDs, 2.5″ SATA SSDs, hard disks, and optical drives for data communication. Although the speed is slow, its low cost and high storage capacities make it still relevant. AHCI is what enables systems to maximize the potential of SATA devices.

Similar Posts

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments