Are SSD's the best and fastest hardware to store data? Think again! Since 2012, NVMe's begun to populate the market, but they were expensive and the average customer still preferred HDD's due to the lower cost and some SSD's. Now that the price of NVMe's have dropped and some are even close to SSD's with the same size.
So what's the difference? Are NVMe's worth it or are they overlooked? Today, we are going to compare in depth, the SSD (with SATA connection) with an NVMe (mainly M.2) and see where an SSD can be better and where an NVMe takes the lead.
What is an SSD and what is an NVMe?
Before we dive into the in-depth comparison of those two, we need to understand what an SSD and what a NVMe is. This will help us to compare those two and get a better understanding.
What is an SSD?
A Solid State Drive (SSD) is a type of a storage device which uses flash-based memory with integrated circuitry to store data. An SSD is not to be confused with a Hard Disk Drive (often known as simply "Hard Drive") which uses movable parts while the SSD doesn't use any movable parts. The concept of the SSD was initially introduced in 1978 by StorageTek which was RAM based storage device, while flash-based memory SSD's were introduced by Western Digital in 1989. The first commercial SSD was shipped by SanDisk in 1991. In the beginning, they were too expensive to get and had much lower capacities than HDD's and the average consumer often preferred the latter. Up until 2010, they were still very expensive and costed about as much as an expensive laptop. From 2010, they begun to become more affordable and more companies started to use them for laptops, especially Apple. Eventually the average consumer would choose an SSD over an HDD due to the much higher speeds. Nowadays, a typical 1TB internal SSD can cost less than 100$, where an external of the same size, about 100-120$ and slightly higher for a more reliable with faster transfer speeds model.
What is an NVMe?
A Non-Volatile Memory Express (NVMe) is an open logical-device interface specification used to access the computers non-volatile storage. This specification allows to access data at much higher speeds than traditionally done with an SSD or HDD, often hitting reading and writing speeds at 3Gbps. The NVMe uses a different type of connection protocol, the PCIe, instead of the SATA bus used in SSD's and HDD's. Given that the NVMe works on a different communication protocol than the SSD, it allows it to take the full potential of the transfer speed by allowing operations to be done in parallel and handle more queues with more commands per queue. If you want to learn more about the specifications of the NVMe, you may take a look at the nvmexpress.org. The NVMe specification was initially introduced back in 2011, but only recently they begun to become affordable to the average consumer and there are many people now switching their preferences towards the NVMe's. A typical NVMe with 1TB of storage would cost about 100$ and up.
NVMe's are actually SSD's
Given that NVMe and SSD work in similar ways, NVMe also called SSD, so when you're looking. to purchase an NVMe, you're only referring to the interface specification. So the correct way to refer to the storage device, you should say "NVMe SSD". This is the same as saying "SATA SSD", referring to the typical SSD storage device.
So, what are the differences between NVMe's and SSD's?
Although NVMe's have similar structure built with typical SSD's, there are many clear differences which are very noticeable, even to the average consumer.
To clear up any confusions, when we referring to SSD, we mean SSD's using the SATA bus to connect to the motherboard. When we refer to NVMe, we mean NVMe SSD using the PCIe bus to connect to the motherboard.
The NVMe uses the PCIe bus allowing to transfer data at higher speeds, often hitting 3Gb/s depending on the model. This removes any potential bottlenecks between the storage device and the hardware, allowing the NVMe read and write data at the highest potential speed available.
The SSD uses the SATA bus which uses the AHCI protocol to communicate. Since the AHCI bus standard was introduced in 2004 and was never optimised for SSDs and hence, it causes a bottleneck for SSDs by preventing data to be transferred higher than 600mb/s.
In this video below, I am doing a quick comparison between my SSD and NVMe. Please keep in mind that both SSD and NVMe is connected externally, so the transfer speeds of the NVMe will be limited close ot 1Gbps.
The NVMe is capable to do operations in parallel independently (similar to a multi-core processor), thanks to the PCIe protocol. This means that latency (the delay between OS request and response from the storage device) is lowered. Overall, this helps the NVMe speed up with all the operations it has to do, whether that's writing to or reading from the SSD.
The SSD can perform operations at once (similar to a single core processor) due to the bottleneck caused by the SATA bus.
3. As an external storage device
The NVMe needs a specific enclosure for NVMe before you can connect it to your computer externally. To make use of the higher speeds, USB Type-C port needs to be available on your computer. This can also cause a bottleneck, so you may be limited to transfer speeds close to 1Gbps.
In this video, I am also showing you how to install an NVMe into an enclosure and how to purchase the correct enclosure to your NVMe.
4. For internal storage device
The NVMe is not compatible with all motherboards. Your motherboard must have a specific M.2 slot (for M.2 NVMe’s) or PCIe. If your NVMe is not M.2, then you may need to use adapters such as: PCIe to U.2, PCIe to M.2 or PCIe to SFF-8643 adapter card and cable. This depends on the NVMe model you’re using.
The SSD's are compatible every motherboard supporting the SATA bus interface (every motherboard).
The NVMe can get hot faster on average, thanks to the high transfer speeds. Most of the times, this shouldn’t be too much of a concern.
An SSD will get hot slower. This is because SSD's don't get advantage of the highest transfer speeds they can offer, thanks to the SATA bus interface.
6. Pricing (Probably the most important!)
A typical NVMe tends to cost about 100$. However, to use it as an external storage device, the corresponding enclosure is needed. The vast majority times, the enclosure will include a USB to USB cable. A low cost enclosure can be at 20-30$. So if you are planning to use an NVMe externally, you should expect to pay a total amount of 120$ in the best case scenario.
On average, an SSD tends to cost less. An internal 1TB SSD can cost less than 100$. An external SSD can cost above 100$, or an internal SSD can be used as an external SSD by using a SATA to USB cable. A SATA to USB cable often has to be purchased separately, which can be an additional amount of 10$. So overall, if you purchase an internal SSD and a SATA to USB cable, you are looking at a cost of about 100$ in the best case.
Here are all the differences, summarized in a table format:
|SSD (w SATA)
|NVMe (w PCIe)
|Read & Write Speed
|No parallel operations
|Can do operations in parallel.
|Use as external storage
|Needs an enclosure (+ 20 - 30$)
|Use as internal storage
|Every motherboard supports an SSD, as long as it supports SATA bus interface.
|Only the newest motherboards will support an NVMe, as it uses the PCIe interface.
|Gets hot after long use.
|1TB at 80$ minimum
|1TB at about 100$ minimum
While I took a step further and introduced some technical information, I know you are just looking for the most relevant differences for you.
In a few words, an NVMe can offer faster transfer speeds than a typical SSD. However, if you are planning to use the NVMe as an external storage device, then you will need an enclosure, matching the type of your NVMe. Using an NVMe externally, will result in transfer speeds, close to 1Gbps. The NVMe will end up getting hotter than a typical SSD, but mostly, that should be too much of a concern. Furthermore, expect to pay about 10-20$ more if you purchase an NVMe with the same storage capacity, as you would for an SSD.
Of course, if you are planning to use an NVMe SSD as an external hard drive, then I highly recommend you to have at least a USB Type-C port on your computer to make use of the highest transfer speeds. Keep in mind that using the NVMe as an external storage device, the transfer speeds will be limited to about 1Gbps (USB Type-C) or lower, if you are using USB 3.1 Gen 2 or older.
What NVMe should I buy?
I recommend you look for an "NVMe M.2", as the M.2 tends to be much faster than other types of NVMe SSD's. Here is the NVMe which I have purchased:
If you are looking to use your NVMe as an external storage device, then this is the enclosure which I have purchased for the above NVMe: