NVMe Vs M.2 Vs SATA
SSDs are getting more affordable, and hence more mainstream these days. It’s not unusual to see an SSD in even budget oriented machines. We expect that in the near future, SSDs will have replaced traditional mechanical HDDs almost entirely.
But while you only had to worry about the HDD size and RPM if you wanted to buy a mechanical HDD, you will have to contend with jargons like NVMe, M.2, and SATA if you’re looking to get yourself an SSD.
In this article, we will explain exactly what those terms mean, and how they can affect your choice of what SSD to get for your system.
Serial-ATA (SATA) is a computer bus interface for connecting mass storage media to a computer. It was designed to replace the older Parallel-ATA standard. When introduced, it introduced features such as reduced cable size, native hot swapping, faster data transfer rate, etc.
It uses a combined data and power connector. The data connector has 7 pins while the power connector has 15 pins.
The SATA architecture consist of three different protocol layers:
- Physical layer
- Link layer
- Transport layer
The physical layer defines SATA’s physical and electrical characteristics, and encoding subsystem. It is responsible for detecting whether SATA devices are connected and link initialization.
The link layer takes over once link initialization has been completed by the physical layer. It is responsible for transmission and reception of Frame Information Structures (FISs) over the SATA link. FISs are packets containing control information or payload data. Each packet contains a header identifying the payload type, and the payload.
The transport layer handles the assembly and disassembly of FISs. To transmit data, the transport layer appends FIS control header to the payload and informs the link layer to prepare for transmission.
When data is received, the link layer informs the transport layer of the incoming data. The transport layer then inspects the FIS header and removes it, and reports (success or error) to the command layer.
SATA Revisions and SSD Support
The SATA interface has had 10 revisions so far. The latest version is SATA revision 3.5. SATA III protocol is currently used by modern devices, when implemented, and is capable of data transmission speed of up to 600 MBps.
The SATA standard was originally developed to interface with mechanical HDDs. Starting with revision 3.1 SATA protocol introduced mSATA as a feature. mSATA focused on improving performance of SSDs.
However, while SATA is perfectly adequate to address transfer rate of mechanical HDDs, introduction of newer and faster PCIe based NVMe interface meant that SSD drives would eventually move away from using SATA as an interface.
- SATA interface provides a much higher bandwidth than older PATA interface.
- Compatible with mechanical HDDs.
- Cheaper than NVMe drives, especially for high capacity drives.
- Slower than NVMe interface.
- Soon to be replaced
Non-Volatile Memory Express (NVMe) is an interface specification for accessing a non-volatile storage media attached to the computer via PCIe bus. It is a Non-Uniform Memory Access (NUMA) protocol, able to sample random data at a much faster rate than traditional mechanical HDDs.
It was developed specifically to maximize the advantages of SSDs. NVMe technology emphasizes concurrent access and minimizes latency.
NVMe also removes unnecessary application layers, present in SATA protocol, to establish a direct link between NAND flashes and the CPU, resulting in data transport efficiency and reduced latency.
One of the biggest differences between SATA and NVMe is that SATA uses Advanced Host Controller Interface (AHCI) which has a maximum queue depth of one command, and each queue can carry only 32 commands. This is because AHCI was meant to operate on rotating magnetic media.
Meanwhile, NVMe has a maximum queue depth of 65535 queues, with each queue able to carry 65535 commands. Being a NUMA protocol, NVMe benefits from having multi-core CPUs, with each core able to take ownership of a queue.
Modern NVMe drives on PCIe 3.0 and 4.0 bus are capable of data transfer speed of around 2,400 MB/s and 6,900 MB/s respectively. Upcoming PCIe 5.0 bus interface is capable of boosting this transfer speed to 13,800 MB/s.
Because of fundamental differences in architectures of mechanical HDD and NVMe interface, mechanical HDDs are unable to use this interface.
- Fastest available storage interface.
- Flexible implementation of form factors.
- More efficient performance with NAND flash storage than SATA.
- Considerably more expensive than SATA.
- Compatibility issue with legacy HDDs
M.2, also known as Next Generation Form Factor (NGFF), is a form factor for Solid State Drives (SSDs). You will hear this term quite frequently while dealing with SSDs, but unlike NVMe and SATA, this is not an interface for storage. In fact, M.2 SSDs can utilize both NVMe and SATA interfaces, depending upon its implementation.
M.2 modules are rectangular in shape, and look like a RAM stick. They have a 75-pin edge connector at one end and a single-mount screw at the opposite end to keep the module fastened in place.
The M.2 standard allows for modules width of 12, 16, 22 and 30 mm, depending upon the M.2 device that is connected. It can support a variety of devices such as WiFi, bluetooth, NFC, digital radio, SSDs, etc. M.2 SSDs are 22mm in width.
The length of an M.2 device can be 16, 26, 30, 38, 42, 60, 80, and 100 mm. The dimensions of an M.2 module can be identified based upon its name. For example, a 2280 SSD denotes that the SSD is 22 mm thick and 80 mm long. If you want to install this SSD, you have to make sure that you have a 2280 M.2 slot available in your system.
The M.2 specification provides support for either a single PCIe x4 or a SATA III interface connection.
- M.2 drives can utilize NVMe protocol, allowing for much faster data transfer than 2.5” form factor SATA drives.
- M.2 drives are easier to install.
- M.2 drives are compact and lightweight, which is especially desirable in ultrabook class devices.
- M.2 devices are generally more expensive than their 2.5” SATA counterparts.
- Incompatibility with older devices that lack an M.2 slot.
- Since M.2 NVMe drives utilize PCIe bus, it reduces the number of buses available for other devices
Comparison Between NVMe and SATA Interfaces
Data Transfer Speed
NVMe standard was designed to work with SSD devices in a PCIe bus interface. PCIe bus is already much faster than the SATA interface, and add that SSDs are much faster than mechanical HDDs, the picture of which interface you should opt for if you are looking for speed could not be clearer than day.
Furthermore, the fastest SATA interface is capable of today is 600 MB/s while NVMe interface’s theoretical maximum transmission speed keeps increasing with the evolution of PCIe bus technology. While a standard NVMe drive connected to a PCIe 3.0 bus was typically capable of around 2000-3000 MB/s, the drives compatible with upcoming PCIe 5.0 standard are expected to be able to transfer at around 12000-13000 MB/s.
When it comes to data transfer speed, there is no contest. NVMe is the clear winner.
Current generation of NVMe SSDs generally are of M.2 form factor. Although older drives that utilized AIC or U.2 form factors, those are comparatively rare these days. Being restricted to M.2 form factor means that device selection is relatively restricted when it comes to NVMe drives.
On the other hand, SATA drives mostly utilize 2.5” form factor, but are also available in M.2 form factors, thus making for a wider choice of drive selection.
Being a newer interface standard, there is almost no legacy support when it comes to NVMe. Furthermore, the interface was not designed to be compatible with mechanical HDDs.
SATA interface, on the other hand, was designed to be used with mechanical HDDs. Furthermore, backward compatibility means that you can pair a drive capable of SATA 3 specifications with a SATA 2 or even SATA 1 interface.
NVMe drives, and SSDs in general, are usually more expensive than HDDs. While the gap is not that wide for smaller capacity devices (around 128-256 GB) these days, the cost ratio can quickly double, or more, when you start looking upwards of devices with 1 TB or more capacity.
Thus, for mass storage solutions, SATA drives are still usually more cost effective than NVMe.
NVMe or SATA: Which Interface Should You Opt For
As we have seen based upon comparison of NVMe and SATA drives, it is clearly obvious that you should get an NVMe drive if you want a much higher data transfer speed. This lets you have a much faster boot time, improved application loading, games will load faster, and you can transfer data between drives much faster.
However, NVMe drives are more expensive. Thus, if you want to obtain a drive for mass storage, then you could probably opt for a SATA device. This is especially true if you are a media consumer, because NVMe drives provide virtually no advantage while playing audio-video files.
However, at the end of the day, your choice of interface to use will be limited by whether or not it is supported by your device. If you have an older PC or laptop that only supports SATA interface, you will not be able to use an NVMe drive on it.
The good news is that most new devices support both NVMe and SATA standards and come with multiple M.2 and 2.5” SATA drive bays available for installation of the storage media of your choice. You can mix and match for optimized efficiency.
NVMe vs SATA Difference Table
|Speed||PCI 5.0 x4 drive capable of 13800 MB/s||Limited to 600 MB/s|
|Form Factor||M.2, U.2, AIC||M.2, 2.5” form factors|
|Legacy Support||None||Backward compatible with earlier SATA versions.|
|Cost Effectiveness||Very expensive for large volumes.||Cheaper for larger volumes.|