NVMe
Bild: Dmitry Nosachev, CC BY-SA 4.0, Wikimedia Commons
Kurz: “Non-Volatile Memory Express” — ein Protokoll, das SSDs direkt über PCIe mit der CPU verbindet, statt über den älteren, langsameren SATA-Standard.
Genauer: NVMe wurde speziell für Flash-Speicher entworfen und nutzt die parallele Natur von SSDs viel besser aus als SATA (ursprünglich für mechanische Festplatten konzipiert) — dadurch sind NVMe-SSDs um ein Vielfaches schneller. Physisch stecken NVMe-SSDs meist im M.2-Formfaktor.
Im Detail
Der Designfehler, den NVMe behebt
SATA wurde ursprünglich für mechanische Festplatten entwickelt, deren Geschwindigkeit durch rotierende Platter und einen beweglichen Lesekopf ohnehin stark begrenzt war — das SATA-Protokoll (genauer: die darüberliegende AHCI-Befehlsschnittstelle) erlaubt deshalb nur eine einzige Befehlswarteschlange mit begrenzter Tiefe von 32 Einträgen, was für HDDs völlig ausreichend war, da deren mechanische Zugriffszeit ohnehin der limitierende Faktor blieb. Flash-basierte SSDs können dagegen von Natur aus Tausende Operationen parallel auf ihren vielen einzelnen Speicherchips verarbeiten, wurden durch das SATA-Protokoll als künstlicher Flaschenhals aber massiv ausgebremst — die SSD selbst wäre viel schneller, als SATA/AHCI es überhaupt anfordern konnte.
Massiv parallele Warteschlangen
NVMe wurde von Grund auf für genau diese Parallelität konzipiert: Es erlaubt bis zu 65.536 gleichzeitige Befehlswarteschlangen mit jeweils bis zu 65.536 Einträgen pro Warteschlange — eine um Größenordnungen höhere Kapazität als bei SATA/AHCI. Zusätzlich ist NVMe direkt über PCIe an die CPU angebunden, statt über einen zusätzlichen SATA-Controller-Chip umzuleiten, was Latenz und Protokoll-Overhead weiter reduziert — jeder zusätzliche Verarbeitungsschritt zwischen CPU und Speicherchip kostet wertvolle Mikrosekunden, die sich bei Millionen von Operationen pro Sekunde spürbar summieren.
Praktische Geschwindigkeitsunterschiede
In der Praxis bedeutet das für NVMe-SSDs sequenzielle Übertragungsraten von mehreren Gigabyte pro Sekunde (aktuelle PCIe-5.0-Modelle erreichen über 10 GB/s) gegenüber rund 550 MB/s beim harten SATA-Limit, sowie deutlich geringere Zugriffszeiten bei vielen kleinen, gleichzeitigen Dateizugriffen (Random I/O) — spürbar z. B. beim Systemstart, beim gleichzeitigen Öffnen vieler Programme oder beim Laden großer Spielwelten, wo tausende kleine Dateifragmente praktisch gleichzeitig angefragt werden.
PCIe-Generationen als Geschwindigkeitslimit
Da NVMe direkt über PCIe-Lanes angebunden ist, bestimmt die verfügbare PCIe-Generation die maximal mögliche Geschwindigkeit einer NVMe-SSD: Eine PCIe-3.0-SSD ist auf rund 3,5 GB/s begrenzt, PCIe 4.0 verdoppelt das theoretische Maximum auf rund 7 GB/s, PCIe 5.0 nochmals auf über 14 GB/s. Wie viele PCIe-Lanes und welche Generation ein bestimmter M.2-Steckplatz eines Mainboards tatsächlich bereitstellt, bestimmt damit direkt, ob sich das volle Potenzial einer teuren High-End-NVMe-SSD überhaupt ausschöpfen lässt.