Flat screen computer monitor on a desk displaying a KC2500 and KC600

NVMe vs SATA: What is the difference?

When it comes to superior storage technology, NVMe is in a league of its own. Even at a glance, the differences between NVMe and SATA in performance are impressive. The communication drivers and interface between NVMe and SATA are completely different as SATA uses AHCI drivers that are designed for hard disk drives (HDD) with spinning technology while the NVMe driver is specifically designed for SSDs with flash technology. In addition, NVMe is able to take advantage of the PCIe sockets to communicate between the storage interface and system’s CPU for even greater leverage. If this matchup were a sporting event, it would be like comparing a F1 race versus a super touring race.

At first glance, while they are both fast, comparing these two types of solid-state drives highlights their differences. Looking at these differences are worth it when evaluating your needs, wants and requirements.

SATA SSDs

A 2.5” SATA SSD in a laptop

Serial ATA (SATA) technology was introduced back in 2000 as an improvement to the existing Parallel ATA technology, which was hampered by cable size, cost, performance and functionality. Both technologies were sufficient for hard disk drives (HDDs), which were substantially less capable than today’s solid-state drives (SSDs). The advent of SATA-based SSDs demonstrated that the ATA bus had reached its performance limit. Where HDDs were only able to achieve 50-120 MB/s in write performance, SSDs could saturate the SATA bus at 550 MB/s. In spite of the bus limitation, it’s common to see an overall system performance improvement of 10-15 times when using SATA-based SSDs in place of legacy HDD technology.

AHCI

The Advanced Host Controller Interface (AHCI) is a communication mode designed circa 2004 to improve the performance and utility of SATA-connected storage devices. It was designed for HDDs and introduced a single storage request queue with a depth of up to 32 commands. This meant that HDDs could achieve higher throughput and performance, but the implementation would become a future bottleneck for SSD controller technology. For example, HDDs might be able to achieve up to 200 input/output operations per second (IOPS) where as SATA-based SSDs could reach up to 100,000 IOPS and be artificially capped in performance by the SATA bus.

NVMe SSDs

Kingston NVMe SSD installed in a PC

Non-Volatile Memory Express (NVMe) technology was introduced in 2011 to address the various bottlenecks of the SATA interface and communication protocols. NVMe technology utilizes the PCIe bus, instead of the SATA bus, to unlock enormous bandwidth potential for storage devices. PCIe 4.0 (the current version) offers up to 32 lanes and can, in theory, transfer data up to 64,000MB/s compared to the 600MB/s specification limit of SATA III. The NVMe specification also allows for 65535 command queues, which can have up to 65536 commands per queue. Recall that SATA-based SSDs are limited to a single queue with a depth of only 32 commands per queue. NVMe technology creates massive potential for storage devices via increased efficiency, performance, and interoperability on a broad range of systems. It is commonly believed that the technology will become the new industry standard.

SSD Form Factors

While HDDs are commonly 2.5 or 3.5 inches wide, and most SATA-based SSDs are 2.5 inches wide, 7mm thick, NVMe drives take on a number of new form factors that allow them to fit in a variety of devices.

  • M.2 - The reduction in physical drive size seen in the M.2 form factor guarantees the future ubiquity of these storage devices. 22 refers to the width and 30/42/80/110 refer to the length in millimeters. Currently, M.2 2280 supports SATA, it is also the most common NVMe SSD form factor for NVMe. As technology improves and shrinks, this may change.
  • U.2 - These are more costly, higher performance and endurance storage devices typically found in data center/enterprise storage environments.
  • Add-in PCIe cards - These high-performing NVMe SSDs found their way into systems that hadn’t yet adopted sockets to accommodate the M.2 form factor.

SSD Performance at a Glance

NVMe is a storage protocol designed specifically with SSDs in mind. With the elimination of the intermediating SATA HBA layer, NVMe allows SSDs to communicate directly with the CPU via the PCIe bus, opening channels for groundbreaking performance improvements. To put it into perspective, the performance limit of the SATA III bus is 6Gb/s, meaning a SATA SSD can offer a max of 550MB/s of throughput after overhead. A single PCIe 3.0 lane can offer 1GB/s (bidirectional) of throughput, so a PCIe 3x4 SSD can reach a throughput of up to 4GB/s read/write. That goes up to 8GB/s (bidirectional) for PCIe Gen 4X4 SSDs. The performance limitation here moves from the protocol to the NAND media, which has been undergoing tremendous development in recent years, allowing manufacturers to squeeze the highest density and performance into the smallest form factors.

Protocol latency is also greatly reduced with NVMe, due to the shortened and optimized datapath allowing lower latency than SATA/SAS. The management of queues in NVMe devices is also handled more efficiently by the CPU due to the I/O processing doorbell signaling which significantly reduces CPU overhead. In addition, NVMe devices are supported by most major operating systems due to the massive development effort that was undergone in the past decade.

#KingstonIsWithYou

Related Videos

Related Articles