Following our description of the various kinds of NAND flash memory used in SSDs, in this second part of our explanation of modern storage technology, we present an overview of the technical differences between SATA and NVMe SSDs.
Rob Allen is the European Director of Marketing & Technical Services for Kingston.
NVMe SSDs have numerous benefits over SATA storage. They’re considerably faster, transferring data over the PCIe (PCI-Express) bus, which is capable of more than 25x the bandwidth of SATA, benefitting from a direct connection to a computer’s CPU instead of relying on an intermediary controller on a PC motherboard.
And perhaps most significantly, NVMe SSDs also use an all-new communications protocol that replaces the AHCI standard used on SATA SSDs, enabling faster data transfers.
Protocols, interfaces, form factors
Many people use the term “NVMe SSD” to refer to an SSD shaped like a stick that uses the M.2 connector built directly onto PC motherboards, and communicates via PCIe.
While this is indeed the most common form factor of an NVMe device, NVMe (Non-Volatile Memory Express) specifically refers to a communications interface and driver that defines a command set and feature set for PCIe-based SSDs.
There are numerous SSD sizes, shapes, connectors and form factors on the market, and this can be confusing for anyone who doesn’t closely follow the technology.
The M.2 standard allows for SSDs of varying length and width, to allow them to fit into a variety of different computer cases. There are four possible module widths: 12, 16, 22 and 30 mm, and lengths ranging from 30mm to 110mm. These module sizes are usually denoted by a code with the width followed by the length.
Are you a pro? Subscribe to our newsletter
Sign up to the TechRadar Pro newsletter to get all the top news, opinion, features and guidance your business needs to succeed!
A common size for most M.2 SSDs intended for use in desktop PCs and laptops is 2280, where 22 refers to the width and 80 refers to the length in millimeters. PC motherboards often have sizing guides, either printed on their PCB or mentioned in the motherboard’s user manual, to show what SSD lengths they can accommodate.
But some M.2 SSDs that look identical to NVMe drives, are based on SATA technology, retain the older AHCI standard and aren’t anywhere near as fast.
Additionally, M.2 SSDs have different “keying systems”, with notches placed at different physical positions along the edges of the connector. This may restrict the host systems that can support them.
SSDs with an “M-Key” have a single notch on the left-hand side and support NVMe with four PCI lanes, and this is most common on typical NVMe SSDs currently sold for desktop and laptop computers.
Drives with two notches, both an “M-Key” and a “B-Key”, which is an additional notch on the right-hand side, support M.2 SATA or NVMe with two PCI lanes.
The U.2 form factor allows 2.5-inch SSDs to use the NVMe protocol over PCIe for faster performance, while also being hot swappable, which is critical for datacenter storage use where an SSD may need swapping out of a sever without powering down the entire computer. U.2 drives are typically tweaked and configured for the read and write workloads of datacenter use, with higher endurance, high capacity and high performance.
There are also HHHL (Half Height, Half Length) add-in cards, which are storage devices that plug directly into a motherboard’s PCIe slot, and these can be either NVMe or AHCI. These were most popular on older devices, before the M.2 form factor existed.
The HHHL form factor has another use today though. Add-in cards are available that support multiple M.2 SSD slots, allowing multiple drives to be used to create RAID arrays, for either improved performance or redundancy purposes.
Thankfully, since most consumer desktop motherboards sold today have an integrated M.2 slot that supports NVMe SSDs, the average person can be fairly confident that just about any M.2 NVMe SSD they purchase will work in their computer, as long as it’s up to date with a motherboard that has an M-Key M.2 2280 slot.
But it can be more complicated in enterprise deployment, where the right choice of drive depends on your specific storage environment. Choosing the right SSD depends on the balance of random read-and-write IOPS performance your workload requires.
For enterprise customers it can make sense to speak to a reputable SSD vendor before purchasing to ensure you’re ordering the most suitable model.
At Kingston for example, we offer a service called “Ask an Expert,” where we provide independent advice about SSD compatibility with either your existing servers or any you plan soon to purchase in the near future and find the most suitable solution for your workload requirements.
Lastly, as storage technology, interfaces, data buses and computer chipsets continue to evolve, the PCIe standard becomes faster with each subsequent generation. The PCIe Gen 3 standard, that offers 1000 MB/s of data bandwidth per lane is gradually being replaced by the PCIe Gen 4 standard, that offers 2000 MB/s of bandwidth per lane. This will result in even faster NVMe SSDs.
AHCI vs NVMe
The AHCI communications protocol, which is the standard used on SATA SSDs, was invented around 2004, when hard disks were the dominant PC storage technology. It has many inherent limitations that were never considered an issue because it was assumed that transfer speeds and latencies would remain bottlenecked by the sequential data access of physical disks with spinning platters.
The AHCI protocol has been pushed to its limit with the switch to SSDs though, and has become a problem when used with a much faster flash storage medium with no moving parts and electronic data access. SSDs saturate the bandwidth of the SATA bus, to approximately 550 MB/sec.
Combined with the additional bandwidth on the PCIe bus, NVMe SSDs are designed to overcome this ceiling, raising real-world performance to up to 3500 MB/sec for PCIe Gen 3 NVMe SSDs, and 7000 MB/sec for PCIe Gen 4 SSDs.
AHCI has a single command queue, and can only send 32 commands per queue. IOPS are limited to 100,000, latency to 6 microseconds and sending a command uses a lot of CPU cycles.
NVMe allows up to 64,000 command queues, with 64,000 commands per queue. It raises the IOPS limit to 1,000,000, reduces latency by 50% and reduces load on the system CPU.
For desktop and laptop PCs, the improved performance of NVMe SSD storage leads to faster load times for an operating system, games and content creation applications. It means faster loading of digital content such as 4K video. It will supercharge datacenter storage, improving throughput without needing additional racks of servers that will consume energy and physical space.
This new protocol meets both the demands of today’s SSD performance while providing the providing the headroom for the storage of tomorrow.
Saving data to the cloud? We feature the best cloud storage.
Rob Allen is the European Director of Marketing & Technical Services, Kingston Technology