NVMe
The fast way for a computer to talk to an SSD, designed for flash from the start.
NVMe, short for NVM Express, is the protocol a computer uses to talk to modern SSDs. It defines how the CPU sends read and write requests to the drive and gets answers back. It runs over PCIe, the same high-speed connection that graphics cards use, which puts the drive almost directly next to the processor.
Before NVMe, SSDs plugged into SATA, a connection designed in the era of spinning hard disks. SATA tops out around 600 megabytes per second and handles requests through a single queue of up to 32 commands, which was fine when a disk's arm could only be in one place at a time. Flash memory has no moving parts and can work on many requests at once, so SATA became the bottleneck. NVMe, first published in 2011, allows up to 65,535 queues with up to 65,536 commands each, and drives over PCIe reach several gigabytes per second.
In practice, most NVMe drives in laptops and desktops are small sticks that slot into an M.2 connector on the motherboard. M.2 is just the shape, though: some M.2 drives still speak SATA, so it pays to check. In data centers, NVMe is the default for fast storage, and NVMe over Fabrics extends the same protocol across a network so servers can use remote flash almost as if it were local.
Keep in mind
- The protocol for talking to SSDs over PCIe; replaced SATA for fast drives.
- Built for flash: many parallel queues instead of one.
- Usually comes as an M.2 stick, but not every M.2 drive is NVMe.
- Standard in data centers; NVMe over Fabrics extends it over the network.