If you’re looking for an SSD for your computer, you will face various options. Some of them are relatively simple, such as capacity and how much you’re willing to spend. Some options may be less understandable for those unfamiliar with the technology. SATA vs. NVMe is one of those options. The names don’t really explain what they’re good for or what the benefits of either of them are.
SATA
We recently went in-depth on SATA. SATA technically has two parts, a logical bus and a physical connector. The physical SATA connector is only used for SATA storage devices, though these can be HDDs or SSDs. SATA Drives come in a 3.5-inch or a 2.5-inch format. HDDs typically use the 3.5-inch format for the extra space. SSDs need very little space. So usually use the 2.5-inch format. These can still fit in 3.5-inch drive bays, though an adapter may be required. Additionally, some adaptors allow you to fit two 2.5-inch drives in one 3.5-inch drive bay for increased storage density.
There are three generations of the SATA communication bus. Each one doubled the bandwidth of the previous generation. Unless you’re dealing with old computers, you wouldn’t have support for NVMe SSDs anyway. You will have access to the SATA III bus. The SATA III bus offers up to 6Gbs or 600MBs of bandwidth. This is significantly faster than the transfer speed of the HDDs it was designed to connect. SSDs, are limited and typically peak at around 550MBs transfer speeds. SSD speed and maximum bandwidth discrepancy are due to the signaling overhead.
It is also possible to get SATA SSDs in the M.2 format. The form factor is the only difference between M.2 SATA SSDs and 2.5-inch SATA SSDs. They still have the same bandwidth limitation of 600MBs. Using the same SATA bus to communicate.
NVMe
NVMe is a newer interface specification. Specifically designed to take full advantage of the architectural performance of SSDs. It was standardized in 2012 to provide a faster and lower latency way to connect SSDs to computers. The first NVMe drive was released in 2013 and offered 3GB read speeds, 6 times faster than SATA would have allowed. NVMe SSDs have been commercially available since 2014.
NVMe is technically not a communication bus like SATA. The PCIe bus is actually used to transfer data. Typically, four PCIe lanes are used for SSDs though some use eight. The exact speeds that NVMe SSDs offer depends on the number of PCIe lanes assigned and the PCIe generation of those lanes. Assuming the standard 4 lanes, PCIe Gen 3 offers 4GBs of bandwidth. Like SATA, each generation provides double the bandwidth of the previous generation. Gen 4 gives 8GBs over four lanes, while Gen 5 offers 16GBs. PCIe Gen 5 is only just seeing adoption, however, as it gains hardware support.
NVMe SSDs can use three standard connectors. U.2 is a relatively unfavoured option in the commercial market though it sees more use in data centers. U.2 SSDs can use up to four PCIe lanes and the 2.5-inch drive form factor. AIC or Add-In Cards are other alternatives that plugs into the PCIe slots on the motherboard like a graphics card.
Other Uses
AIC SSDs can use up to 16 PCIe lanes. However, most only use four, with some using eight. NVMe SSDs primarily use the M.2 connector and form factor. M.2 SSDs are limited to 4 lanes like U.2 drives. The actual SSD itself typically sits flat parallel to the plane of the motherboard, making M.2 extremely space-efficient form factor.
The fact that some M.2 SSDs can use the SATA bus rather than being NVMe is a source of confusion. The ports, and thus the SSDs, however, have distinct cut-out “keys” that indicate which protocol they use. M.2 SATA ports are not compatible with NVMe SSDs. Some AICs are available that don’t actually provide any storage themselves. Instead, they split the 16 PCIe lanes into four onboard M.2 slots, which need to be populated.
If NVMe Is Faster, Why Would You Get a SATA SSD?
Realistically, it’s a no-brainer if you have a direct choice between an NVMe SSD and a SATA one. There is typically very little price difference for the same capacities while the performance gap is huge. The problem is the PCIe bus. Most commercial CPUs offer a total of 20 usable PCIe lanes. A GPU typically takes 16 lanes, leaving just enough PCIe lanes for one NVMe SSD.
Some motherboards offer more than one M.2 slot connected to the PCIe bus, but this doesn’t always happen. When it does happen, it is often connected to the chipset rather than directly to the CPU. This does increase latency and means that the available bandwidth is shared with all other IO devices, including USB and SATA.
Suppose you don’t have a dedicated GPU in your system and just use integrated graphics. In that case, you will have more available PCIe lanes. You’d likely need to find an AIC that offers M.2 slots or provides storage directly to take advantage of them. You may also be able to set a dedicated GPU to use 8 rather than 16 lanes. This frees up some more for NVMe SSDs. However, this can cause a GPU performance drop.
Other Alternatives
The other alternative is to use SATA SSDs. They’re not as fast, but they’re still faster than HDDs and are much more affordable than they used to be. Motherboards also typically offer a solid amount of SATA ports for connectivity. So you can generally connect quite a few SATA SSDs without a problem.
In a setup where you have both SATA and NVMe SSDs, it’s generally better to make sure that anything that would be particularly speed-sensitive is stored on the faster NVMe SSD. For example, the operating system, high-resolution video files, and video games benefit from quicker connectivity. Less speed-sensitive files, such as documents and photos, can be saved on the SATA drive as the slower read and write speeds won’t make that much difference in performance.
Conclusions
NVMe SSDs outperform SATA SSDs in all regards. There is a small but not particularly significant price advantage for SATA SSDs. However, that can be taken even further by purchasing an HDD. The primary use case for SATA SSDs in modern computers is to add storage space that simply can’t be provided over NVMe. This is due to the limited number of PCIe lanes and physical connectors.
SATA SSDs also work excellently in older computers. Assuming SSD drivers exist for the operating system, they can outperform HDDs and breathe new life into an old system. Boot times can be significantly reduced taking the operating system is installed on the SSD. SATA SSDs certainly have their place, but it’s mostly when NVMe isn’t an option.