What are we even talking about?
We're talking about the differences between SATA and NVMe SSDs, although strictly speaking, the two are not directly comparable. The thing is that NVMe is a communication protocol that can be used in drives of different form factors, and SATA is an interface with quite specific characteristics and a specific connector. That is, simplifying, of course, we will tell you why NVMe is better than SATA, but we keep in mind the understanding of this feature.
NVMe is a new standard, right?
Relatively. A working group worked on the first version of the standard from 2009 to 2011, and it's been updated several times since then. As for devices that use it for work, the first commercial products came out in 2013. Looking at how fast the technology is developing, in 2021, NVMe is somehow not a novelty; it is more likely to be mainstream.What was there before it? How did communication with SSDs work?
I'll tell you about it now, but we'll have to start at the beginning.
Antiquity: Parallel ATA (IDE)
Of course, there was no talk about mass SSD-drives in the far 80s, but the engineering problem was already there. It consisted in data exchange between computers such as PC and drives, the role of which served traditional magnetic hard drives and removable media. With a light hand of IBM in the use of 16-bit ISA bus, under which initially developed and IDE (Integrated Drive Electronics). This now obsolete solution had a few of the "killer features" of the time: integration into the drive, standardization of commands, support for two devices on each channel. Old-timers probably remember the "master/slave" jumpers on hard disks (to determine the roles of these very two devices), but may have forgotten that originally IDE drives were limited to 528 megabytes. Of course, with the development of the standard, this limitation went into history, as did separate interfaces for optical drives. The speed also increased: direct memory access (DMA) appeared, and knowledgeable people began to sympathetically shake their heads when they heard that a friend's disk had "crashed into PIO" (i.e., due to malfunctions it went into the old Programmed input/output mode, which made it extremely slow and loaded the processor during operation). But for the qualitative leap was needed a completely new technology, and it was more practical and faster interface SATA.
New time: Serial ATA and AHCI
The characteristic red (usually) cables with 7-pin connectors can also be found in modern system units. The first version of this interface is already 18 years old, since then SATA drives have increased the maximum data transfer rate from 1.5 to 6 Gbit/s. From a logical point of view, SATA is also very different from IDE. SATA drives are based on the AHCI (Advanced Host Controller Interface) mechanism. Interestingly, one of its most important innovations - NCQ (Native Command Queuing) technology - is originally designed to work with hard disks. It sorts commands so that the magnetic head makes fewer movements to access different areas of the spinning platters. Imagine this paleontology: where are the magnetic platters, and where are today's fast SSDs? Not all SSDs are equally fast, however. The first versions of SSDs had to use the ecosystem that existed at the time. In terms of system architecture, it looked something like this: the processor and memory via a bus (not ISA, of course, anymore, but actual PCIe) communicate with an AHCI host adapter that works with SATA devices. Solid state memory can run much faster, so it was necessary to simplify the work with it as much as possible, removing all intermediaries. This is how NVMHCI (Non-Volatile Memory Host Controller Interface), better known as NVMe, was born, working directly with the PCI Express bus.
So an NVMe drive can be plugged directly into PCIe like a video card?
Yes, but in practice it depends on the design of the specific drive. Models designed to be installed in a PCI Express slot and designed as classic expansion cards are relatively rare in the mass market. In servers, the use of several different formats, from the classic 2.5-inch U.2 to a more specific Intel EDSFF and compact Samsung NGSFF. In ordinary computers, modern NVMe-storage in the old way can be packed in a 2.5-inch case, but increasingly often use a compact M.2 connector. And there is some confusion associated with it, which is important to avoid when selecting components. The thing is that physically the M.2 connector is used to connect both NVMe and SATA drives. Yes, there are SSDs still using the slow SATA connection. Visually the difference can be understood due to the two characteristic slots on the connector, but in terms of speed SATA limits the drive to 600 MB/s.