M.2 en NVMe

Zoals wel vaker in de IT, wanneer iets een bottleneck vormt, komt er of een nieuwe versie of een vervanger. Vooralsnog lijkt de komst van SATA IV nog niet op het programma te staan en in plaats daarvan is er nu M.2, een nieuwe aansluiting op het moederbord die direct gebruik maakt van – meestal vier – PCIe 3.0-lanes, wat neerkomt op een maximale snelheid van 3940MB/s. Daarmee is de maximale bandbreedte fors gestegen en duurt het waarschijnlijk nog wel even voordat we tegen de limiet aan zitten. Daarnaast hebben we op dit moment niet meer bandbreedte nodig, de focus komt waarschijnlijk meer te liggen op het verhogen van de IOPS, de input/output operations per second. Mocht het toch ooit nodig zijn de snelheid nog verder te verhogen, dan kunnen de moederbordfabrikanten eenvoudig meer PCIe-lanes inzetten per M.2-poort. Samsung is een van de eerste fabrikanten die met een M.2-SSD op de markt is gekomen en dus gebruik maakt van de nieuwe aansluiting. Daarbij moeten we ook nog even vermelden dat het M.2-slot niet alleen geschikt is voor opslag, maar ook voor andere toepassingen. Zo zouden er ook insteekkaarten ontwikkeld kunnen worden met hele andere technologieën die overweg kunnen met PCIe. In theorie kan de poort ook gebruikt worden voor geluidskaarten, USB-technologie, videokaarten of het toevoegen van WiFi. Dat laatste hebben we inmiddels ook al gezien. Eigenlijk alles wat je in een normaal PCIe-slot kan steken, kan ook via M/2 aangesloten worden. dsc_0389 Het M.2-slot is een stukje kleiner dan een volwaardig PCIe-slot en dat betekent dat de toepassingen ook geschikt moeten zijn voor het formaat. Op de meeste moederborden waar een M.2-slot wordt toegepast, gebeurt dat tussen de PCIe-sloten, dus een hele brede M.2-insteekkaart zou kunnen zorgen voor problemen. Uiteindelijk gaan we M.2 straks in veel meer systemen zien, op dit moment zien we de aansluiting vooral op moederborden voor desktop-computers, maar volgend jaar zullen ook veel nieuwe laptops deze aansluiting gaan krijgen.

NVMe

Je kan wel hele snelle hardware ontwikkelen, maar als de software niet is geoptimaliseerd om te werken op zulke hoge snelheden dan heb je opnieuw een bottleneck te pakken. Hier komt NVMe – een zogenaamde “opslagengine”, evenals het wellicht bekendere IDE en AHCI – om de hoek kijken. AHCI werd in 2004 geïntroduceerd en is ontwikkeld met HDD’s in het achterhoofd, er was toen nog geen flashgeheugen. NVMe is nu de opvolger van AHCI, alle grote techfabrikanten hebben bijgedragen in de ontwikkeling van NVMe, dat snel de nieuwe standaard zal gaan worden. Het grote voordeel van NVMe is dat het een veel grotere wachtrij (queue) heeft om taken weg te werken, zo beschikt AHCI slechts over één queue met 32 commando’s terwijl NVMe maar liefst 64.000 queues heeft met nog eens 64.000 commando’s. Daarnaast biedt NVMe ondersteuning voor meerdere rekenkernen, wat bij AHCI gelimiteerd is. Dit alles zorgt ervoor dat alle handelingen die met opslag te maken hebben veel sneller kunnen worden opgepakt en verwerkt. De reactiesnelheid en de IOPS gaan daardoor flink omhoog. Hoeveel je hier daadwerkelijk van merkt in de praktijk is wel weer afhankelijk van je pc-gebruik. Het grootste voordeel van NVMe is voor de servermarkt, waar veel meer lees- en schrijfoperaties worden uitgevoerd dan op de gemiddelde client-pc, maar als je je pc intensief gebruikt voor bijvoorbeeld videobewerking kan je hier wel degelijk profijt van hebben.