Solid State Drives have different types, form factors, interfaces, NAND flash, capacities, and prices. People are generally confused between the different terminologies and their compatibilities. NVMe SSDs are perhaps the most popular and still highly misunderstood SSDs out there. I keep seeing people asking the difference between NVMe and SSDs which isn’t even a right question. A good question could be NVMe vs Non-NVMe SSDs or simply NVMe vs SATA SSD.
NVMe itself is a type of SSD. However, NVMe isn’t the complete name. It is just the transfer protocol. The full name is M.2 PCIe NVMe SSD. NVMe SSDs are faster than any other SSDs available in the market. The other popular type is the SATA SSD which is slower than the NVMe drives. People often refer to SATA 2.5″ SSDs when they say the word “SSD”. So, it is important to clear up this confusion so that you have the knowledge that you always want to make the right purchase. So, let’s get started.
With this article, I will discuss the difference between.
- NVMe SSDs (which use the PCIe interface and NVMe protocol) and
- SATA SSDs (which use the SATA interface and AHCI protocol). Casually called “SSD” by many people.
What is an SSD?
SSD stands for Solid-State Drive, and its workings are discussed here. SSDs use NAND flash memory and store data in the form of bits inside the floating gate or charge trap flash transistors. The NAND flash memory is pretty fast compared to the hard drives because it is an electronic device utilizing the power of electric current for working and data storage. They help in eliminating the storage bottlenecks improve system/software loading and boost the overall snappiness of your computer. SSDs are known for their high read/write speed and very low latency. Even the slowest types of SSD i.e. SATA SSD can offer up to 600 MB/s read/write speed.
Depending on the type of SSD, it can connect to the system through different interfaces. The NVMe SSDs connect to the CPU and the motherboard through the PCIe interface generally through the M.2 connectors. However, the SATA SSDs use the SATA interface which was designed for the hard drives. So, any system working with a hard drive can use the SATA SSD if not an NVMe drive. There are different form factors as well which are discussed below.
Types of SSDs based on the interface
1. SATA SSDs
As we discussed above, SATA SSDs use the SATA interface which is routed through the motherboard’s chipset. The SATA-3 which is the latest and fastest version available offers a practical bandwidth of around 600MB/s. Any SATA SSD can’t go above that speed because of the interface bottleneck. SATA SSDs are more budget-friendly and great for bulk data storage with a little compromise to the speed. SATA SSDs have two form-factors which we will discuss in the next section. The AHCI (Advanced Host Controller Interface) is used to handle the data movement on the software level.
2. PCIe NVMe SSDs
The NVMe SSDs are based on the PCIe interface. However, the NVMe refers to the transfer protocol. The PCIe interface or any interface in general provides the physical path for the data to move in and out. In the case of NVMe SSDs, most consumer drives would require 4 PCIe lanes of their generation in order to offer their maximum performance. The NVMe is the software component deciding the rules for the data movement. It works on the level of the operating system and SSD’s firmware. So, any data that goes from the SSD to the CPU or vice-versa is controlled by the NVMe protocol. NVMe helps in parallel processing and reduces the latency. In simple words, it allows the computers to make the most out of SSD’s inherited capabilities of parallel processing and very low latency. The number of commands is increased by thousands of times compared to the AHCI protocol.
The best thing about PCIe-based devices is that they are both forward and backward-compatible. So, any PCIe NVMe SSD would work on all computers as long as it has a suitable M.2 NVMe port for the installation.
3. PCIe SSDs
There are PCIe Add-In Card SSDs that connect directly to the traditional PCIe slots but may or may not use the NVMe protocol. Again, these drives use the PCIe lanes to communicate with the system. However, the form factor is different which we will discuss just in the next section.
Types of SSDs based on form factor
SSDs can be divided on the basis of their form factors. SSDs come in different sizes and each size can use a different interface sharing the same dimensions.
1. M.2 Form Factor
M.2 is a compact SSD form factor used by both SATA and PCIe NVMe SSDs. They may share the same dimensions and look exactly the same but their working mechanics would be different. Here is the difference between M.2 SATA and M.2 NVMe SSDs. All M.2 drives may look similar but there is a way to recognize the difference just by looking at the drives. The M.2 form factor has different dimensions not only for SSDs but also for Wi-Fi Cards, Bluetooth cards, etc. For SSDs, the width of M.2 drives is always 22mm while the length can vary. The most popular M.2 form factor, however is the 2280. Below are all the M.2 form factors in the image.
To make it easier for the users to distinguish between M.2 SATA and M.2 NVMe SSDs, the manufacturers use separate connector pinouts. The M.2 NVMe SSDs would have its cut or notch on the right side while the M.2 SATA would have either two notches on both sides or a single one on the left side./
The good thing is that the M.2 NVMe slots allow both M.2 NVMe and M.2 SATA SSDs. However, you can’t install the M.2 NVMe SSDs in the M.2 SATA-Only slots. They are physically incompatible.
2. 2.5″ Form Factor
Only SATA SSDs come in this form factor but, this form factor is pretty popular among compact hard drives which we generally see in laptops. Again, the performance is limited by the SATA interface which we just discussed above. The dimensions are as follows.
3. PCIe AIC SSD form factor
An AIC (Add-In Card) SSD would look like a graphics card and it will go to the traditional PCIe port as we discussed above. The Add-In cards are available as expansion cards as well where you install drives on the card and use it on the PCIe slots generally for creating RAIDs or increasing storage volume. But, there are dedicated AIC SSDs that aren’t very popular in the market.
4. mSATA Form Factor
mSATA is an old type of compact format introduced to overcome the space limitations of the bit SATA 2.5″ SSDs and hard drives. Again, they use the SATA interface and are almost replaced by the modern M.2 form factor.
What is NVMe?
From the things we discussed above, you will have a rough idea of what really NVMe is. NVMe is the transfer protocol employed to improve the performance and reduce the latency of PCIe-based SSDs. NVMe works as a driver that allows for parallel processing in SSDs and increases the number of commands an SSD can handle simultaneously.
With NVMe, the queue depth increases to up to 65535 queues and each queue could handle up to 65535 commands. For comparison, the AHCI interface just had one command queue and up to 32 commands per queue. The high queue depth increases the IOPS which is really important in both high-end consumer systems as well as datacenter environments.
You can imagine an NVMe SSD using the PCIe interface as the data lanes while the NVMe handles the data traffic as efficiently as possible. NVMe is optimized for flash storage unlike the AHCI which was made for hard drives but the SATA SSDs were able to use them resulting in bad utilization of the flash memory. NVMe can be scaled along with the improving PCIe generations.
What is an NVMe SSD?
An NVMe SSD looks like this.
It has the M-Key connector with a notch on the right side. It connects to the M.2 SSD slot and uses the x4 PCIe lanes of the same generation to offer its best performance. It interacts directly with the CPU with the help of NVMe without any interference from the chipset. The speed of NVMe SSDs varies depending on the PCIe generation they are based on. The latest generation i.e. Gen 5.0 NVMe SSDs can reach up to 10GB/s and even higher sequential read/write speeds. The NVMe has its role in making the most out of the flash memory
What is the role of NVMe in an SSD?
Unlike the older protocols such as AHCI which were designed for hard drives, NVMe is designed specifically for flash storage. The NVMe streamlines the process of data handling and optimizes the command structures. This helps in writing and reading the data in a more direct and efficient way. The high-speed data transfers and low latency that we get with our NVMe drives are achievable only with the help of NVMe SSDs. The level of parallelism that NVMe allows allows the flash storage to handle thousands of parallel read/write commands. Another good thing about NVMe is that it is scalable and as the PCIe generations are growing, the NVMe is growing as well. Although it is a software element, it helps the end-users get the best performance with the available hardware with the help of advanced optimizations.
NVMe vs SSD: How are they different?
NVMe itself is the transfer protocol. However the word “NVMe” is generally used in the place of M.2 PCIe NVMe SSDs as a short word. When you say NVMe SSDs, you are referring to an SSD that uses the PCIe interface and the NVMe protocol. But, it is an SSD at the end of the data.
SSD stands for Solid State Drive which is a broad term and a computer storage technology. An SSD can be of many types which we discussed above.
I understand this question pretty well because I have seen people calling the SATA 2.5″ SSDs “SSD” and the smaller M.2 SSDs NVMe SSDs. Even they call the M.2 SATA SSDs as NVMe SSDs but with slow speed. But, this isn’t the right thing to do especially when you actually have to buy an SSD. Correct terminologies are important to understand and I don’t think SSDs are too complex to understand. There are two main interfaces i.e. NVMe and SATA. Then, there are different form factors in these interfaces. That’s it. I tried to clear up your confusion with this article. Use the comment section if you have any other questions in mind.
I hope this helps!