NVMe: hoe SSD's eindelijk snel genoeg konden praten met de computer
NVMe staat voor Non-Volatile Memory Express, en het is geen apparaat maar een taal: een protocol waarmee een computer en een SSD (een opslagchip zonder bewegende onderdelen) met elkaar communiceren. Vergelijk het met een snelweg tussen twee steden. Jarenlang reden gegevens over een smalle, bochtige provinciale weg die ooit voor paard-en-wagen was aangelegd. NVMe is de nieuwe, rechte snelweg met tientallen rijstroken, speciaal gebouwd voor het soort verkeer dat moderne flashgeheugenchips kunnen produceren.
Die oude weg heette AHCI, het protocol dat via de SATA-aansluiting werd gebruikt en oorspronkelijk was ontworpen voor traagdraaiende harde schijven. Toen fabrikanten SSD's op die oude weg zetten, ontstond een flessenhals: de chips konden veel sneller data leveren dan de weg kon verwerken. NVMe lost dat op door de SSD rechtstreeks op de snelle PCI Express-bus (PCIe) van de computer aan te sluiten, dezelfde bus die ook grafische kaarten gebruiken. Het resultaat merk je in de praktijk: een laptop die binnen enkele seconden opstart, een game die in een oogwenk laadt, of een videobewerker die een bestand van tientallen gigabytes direct kan openen in plaats van te moeten wachten.
Wat is het precies?
Een SSD slaat data op in NAND-flashgeheugen: chips zonder bewegende delen die informatie vasthouden ook als de stroom uitgaat. Om die data te lezen of schrijven, moet de chip elektrische commando's krijgen van de computer. Hoe die commando's worden verpakt en verstuurd, bepaalt hoe snel dat proces verloopt. Dat is precies wat een protocol regelt.
Het oude AHCI-protocol werkte met slechts één zogeheten command queue, een wachtrij voor opdrachten, met plek voor maximaal 32 commando's tegelijk. Dat was ruim voldoende voor een harde schijf, die toch niet sneller kon reageren dan de snelheid waarmee een leeskop fysiek over een draaiende schijf bewoog. Flashgeheugen kent die beperking niet: het kan duizenden verzoeken tegelijk afhandelen. NVMe is daarom ontworpen met tot 65.535 wachtrijen, elk met plek voor tot 65.535 commando's. In de praktijk gebruikt geen enkele SSD al die ruimte, maar de overcapaciteit zorgt ervoor dat het protocol nooit de bottleneck is, ook niet bij zware, veeleisende taken zoals een database die duizenden kleine verzoeken per seconde verwerkt.
Een tweede verschil is de plek van de rekenkracht. AHCI was ontworpen voor de tragere SCSI- en ATA-opdrachtenset, met veel tussenstappen en vertaalslagen door de processor. NVMe-commando's zijn juist zo simpel en direct mogelijk gehouden, zodat de processor er nauwelijks tijd aan kwijt is en de SSD zelf het meeste werk doet. Dat scheelt niet alleen tijd, maar ook energie: relevant voor een laptop op accu, en nog relevanter voor een datacenter met duizenden servers waar iedere bespaarde watt telt.
Fysiek kom je NVMe-SSD's meestal tegen in de vorm van een M.2-kaartje, een klein reepje van een paar centimeter dat rechtstreeks in een sleuf op het moederbord klikt, zonder kabels. In servers en sommige werkstations zie je ook het grotere U.2-formaat, dat qua uiterlijk op een traditionele 2,5-inch schijf lijkt maar intern via NVMe werkt. Hoeveel PCIe-'rijstroken' (lanes) een SSD tot zijn beschikking heeft, en welke generatie PCIe dat is (4, 5, straks 6), bepaalt samen met de kwaliteit van de flashchips de uiteindelijke snelheid.
Wat wil men ermee bereiken?
De kerndoelstelling is simpel: de opslag mag niet langer de zwakste schakel in een computersysteem zijn. Processors en werkgeheugen werden decennialang steeds sneller, maar zolang data via een verouderd protocol van en naar de schijf moest, bleef veel van die snelheidswinst onbenut. NVMe is ontworpen om die balans te herstellen.
Daarnaast speelt schaalbaarheid een grote rol, vooral in datacenters. Cloudbedrijven willen opslag kunnen loskoppelen van rekenÂkracht, zodat ze duizenden SSD's centraal kunnen beheren en delen tussen servers in plaats van in elke machine losse schijven te proppen. Daarvoor is een uitbreiding bedacht, NVMe over Fabrics (NVMe-oF), die dezelfde efficiënte commando's over een netwerk stuurt in plaats van alleen binnenin één computer. Zo kan een server praten met een SSD die fysiek in een ander rek staat, bijna alsof die lokaal is ingebouwd.
Een derde doel is voorspelbaarheid: niet alleen hoge topsnelheden, maar ook lage en consistente vertraging (latency). Voor toepassingen als financiële transacties, real-time analyse of het trainen van AI-modellen is een korte, betrouwbare reactietijd vaak belangrijker dan een indrukwekkend maximumcijfer op de doos.
Voorbeelden uit de praktijk
De Sony PlayStation 5 (uitgebracht in 2020) is een van de bekendste consumentenvoorbeelden: de spelconsole is gebouwd rond een snelle NVMe-SSD, en wie de opslag wil uitbreiden, moet verplicht een compatibele NVMe M.2-schijf met voldoende snelheid gebruiken, geen gewone SATA-SSD.
Cloudproviders zoals Amazon Web Services gebruiken NVMe binnen hun eigen serverhardware: het Nitro System van AWS koppelt lokale instance storage en delen van de EBS-opslagdienst via NVMe aan virtuele machines, wat lagere latency oplevert dan oudere opslagkoppelingen.
In de consumentenmarkt illustreren opeenvolgende generaties SSD's de vooruitgang: de Samsung 990 Pro (2022) gebruikt PCIe 4.0 en haalt sequentiële snelheden van ruim 7 gigabyte per seconde, terwijl nieuwere PCIe 5.0-schijven zoals de Crucial T705 (2024) daar ruim boven uitkomen en flinke koelvinnen nodig hebben om de warmte kwijt te raken.
In datacenters experimenteren en produceren bedrijven als Meta en diverse grote cloudspelers met opslagpools die via NVMe over TCP (een variant van NVMe-oF die over gewone Ethernet-netwerken loopt, zonder gespecialiseerde netwerkkaarten) met servers verbonden zijn, wat opslag flexibeler en goedkoper schaalbaar maakt dan met dure, gespecialiseerde netwerktechniek.
Ook opslagfabrikanten voor bedrijven, zoals Pure Storage en NetApp, bouwen hun flash-opslagsystemen tegenwoordig standaard op NVMe en NVMe-oF, als vervanging van de oudere Fibre Channel- en iSCSI-technieken die nog op SCSI-achtige commando's leunden.
Hoe ver is de techniek?
NVMe is inmiddels volwassen technologie, geen experiment meer. Sinds de eerste specificatie in 2011 is het protocol via tussenversies (onder meer 1.1 in 2012, 1.2 in 2014, 1.3 in 2017 en 1.4 in 2019) geleidelijk uitgebreid. In 2021 verscheen NVMe 2.0, een grote herstructurering waarbij de specificatie modulair is opgezet en nieuwe opslagmodellen zijn toegevoegd, zoals Zoned Namespaces (ZNS), een manier om data in vaste zones te schrijven die efficiënter is voor bepaalde datacentertoepassingen. Vrijwel elke nieuwe laptop, desktop en server die vandaag wordt verkocht, gebruikt standaard NVMe-opslag; SATA-SSD's zijn in nieuwe systemen grotendeels een aflopende zaak geworden.
Waar nog volop ontwikkeling plaatsvindt, is aan de randen van het protocol. NVMe-oF en met name NVMe over TCP worden steeds breder ingezet in datacenters, maar de keuze tussen TCP (goedkoper, iets meer belasting voor de processor) en RDMA-varianten (sneller, maar duurdere netwerkhardware nodig) is nog volop onderwerp van architectuurkeuzes bij bedrijven. Zoned Namespaces blijft vooralsnog vooral een technologie voor grote clouddienstverleners die zelf software aanpassen; voor gewone consumenten en de meeste bedrijven is het nog niet relevant.
De praktische grens ligt momenteel minder bij het protocol zelf en meer bij de onderliggende PCIe-bus en warmteontwikkeling: PCIe 5.0-SSD's kunnen zo snel worden dat ze fors verhitten en zware koeling nodig hebben, terwijl veel systemen nog niet genoeg PCIe-lanes hebben om meerdere zulke schijven tegelijk op volle snelheid te laten draaien. PCIe 6.0, en daarmee een volgende sprong in potentiële NVMe-snelheden, wordt verwacht maar zal in consumentenapparatuur waarschijnlijk pas over enkele jaren gangbaar worden.
Wie werken eraan?
De specificatie zelf wordt beheerd door NVM Express, Inc., een Amerikaanse non-profitorganisatie waarin concurrerende bedrijven uit de opslagindustrie gezamenlijk de standaard vaststellen en bijwerken. Leden en bijdragers zijn onder meer grote geheugenfabrikanten als Samsung, SK hynix, Kioxia (voorheen onderdeel van Toshiba), Western Digital/SanDisk en Micron, serverbouwers als Dell en HPE, netwerkbedrijven als Cisco en Broadcom, en clouddienstverleners als Microsoft, Google en Meta die als grote afnemers ook meepraten over toekomstige eisen.
Naast de geheugenchips zelf zijn er gespecialiseerde bedrijven die de besturingschips (controllers) maken die de NVMe-commando's daadwerkelijk vertalen naar acties in het flashgeheugen, zoals Phison, Silicon Motion en Marvell; consumenten-SSD's van merken als Crucial, WD Black of Samsung bevatten vaak zulke controllers, soms zelf ontworpen en soms ingekocht.
Geografisch is de sector sterk geconcentreerd in Zuid-Korea (Samsung, SK hynix), Japan (Kioxia), de Verenigde Staten (Western Digital, Micron, de standaardenorganisatie zelf) en, in toenemende mate, Taiwan (Phison en andere controllerbedrijven) en China, waar fabrikanten als YMTC de afgelopen jaren als nieuwe speler op de NAND-markt zijn opgekomen, mede gedreven door nationale ambities om minder afhankelijk te zijn van buitenlandse chiptechnologie.