Op 15 december 2025 kondigde Microsoft aan dat Windows Server 2025 eindelijk de NVMe-standaard native in zijn opslagarchitectuur zou integreren. NVMe-opslag is echter al jaren een populair opslagformaat voor servers, werkstations voor bedrijven en pc's voor consumenten, met ingebouwde compatibiliteit sinds Windows Server 2012 R2 en Windows 8.1. Met dit in gedachten lijkt een aankondiging over "native" NVMe-ondersteuning misschien niet belangrijk of zelfs nieuwswaardig, maar we beloven dat er meer achter zit dan op het eerste gezicht lijkt.
Wat betekent "Native NVMe" eigenlijk?
In eerdere versies van de Windows-opslagstacks voor consumenten en servers werden opdrachten voor het lezen en schrijven van gegevens, ongeacht de onderliggende hardwareprotocollen, altijd vertaald naar SCSI-opdrachten. De Small Computer System Interface (SCSI)-standaard dateert uit de vroege jaren 1980 en is ontworpen om randapparatuur en opslagmedia met computers te verbinden (Storage Networking Industry Association, nd). Het vormt de basis van verschillende moderne opslagprotocollen die worden gebruikt voor diverse workloads, waaronder netwerkprotocollen zoals iSCSI (Internet Small Computer System Interface) en FCP (Fibre Channel Protocol), en lokale opslaginterfaces zoals SAS (Serial Attached SCSI) en UASP (USB Attached SCSI).
De oude manier
Door verschillende protocollen om te zetten in SCSI-opdrachten, heeft Microsoft opslagopdrachten op hogere niveaus van het besturingssysteem geünificeerd. Dit ging echter ten koste van veel van de schaalbaarheids- en prestatieverbeteringen van moderne opslagarchitecturen. De oude methode voor I/O-bewerkingen verliep als volgt:
- Lees- en schrijfbewerkingen vinden plaats in de bovenste opslaglaag op bestandsysteemniveau.
- De opdrachten worden doorgegeven aan het Disk.sys-stuurprogramma.
- Disk.sys vertaalt algemene opslagopdrachten naar SCSI-opdrachten.
- Storport ontvangt de SCSI-opdrachten en stuurt deze door naar de juiste Miniport-driver (bijvoorbeeld StorAHCI.sys voor SATA-schijven).
- De bijbehorende Miniport-driver communiceert rechtstreeks met het opslagapparaat en vertaalt het vervolgens weer naar het juiste opslagopdrachtformaat.
Andere SCSI-conventies, zoals LUN's (Logical Unit Numbers) die worden gebruikt om datapartiities op een opslagapparaat te identificeren, werden overgenomen in de Windows-opslagstack, ook al bestaan nieuwere concepten zoals NVMe-namespaces al geruime tijd (Hands, Worley & Lakhveer Kaur, nd).
De nieuwe standaard
De nieuwste opslagarchitectuur van Microsoft voor Windows Server 2025 maakt nieuwe functies in Storport mogelijk en vervangt Disk.sys door NVMeDisk.sys, wat een schaalbaar, toekomstbestendig en krachtig framework oplevert.
- Lees- en schrijfbewerkingen vinden plaats in de bovenste opslaglaag op bestandsysteemniveau.
- Commando's worden rechtstreeks vanuit NVMeDisk.sys doorgegeven aan de nieuwe StorMQ-code binnen Storport.
- StorMQ genereert de juiste NVMe-commando's (of commando's voor andere opslagtypen) voor elke lees- en schrijfbewerking en stuurt deze rechtstreeks naar de hardware.
(Afbeelding uit de presentatie van Scott Lee op de SNIA Developer Conference op 16 september 2025)
Deze nieuwe standaard voor schijfbewerkingen op Windows Server 2025 elimineert een vertaallaag en integreert volledig met de opslagopdrachtwachtrijen op NVMe-, RAID- en HBA-apparaten. Het stroomlijnen van het Windows-opslagsysteem biedt ook extra voordelen, zoals een lager CPU-gebruik door het elimineren van onnodige vertaling van opslagopdrachten en een betere benutting van logische processors. De nieuwe architectuur neemt andere NVMe-specificaties over, zoals NVMe-namespaces en plug-and-play-ondersteuning. Hierdoor kunnen leverancier- of apparaattypespecifieke Miniport-stuurprogramma's voor opslag worden gemaakt en in Windows worden geïntegreerd voor een betere compatibiliteit en prestaties met nieuwe klassen opslagapparaten (Lee, SNIA SDC 2025 – Storage Multi-Queue on Windows, 2025).
Klaar om te testen?
Tijdens zijn presentatie op de SNIA Developer Conference op 16 september 2025 onthulde Scott Lee dat Microsoft al nauw samenwerkte met leveranciers om nieuwe drivers te ontwikkelen voor apparaten zoals RAID-kaarten en HBA's. Dit suggereert dat de verbeteringen aan StorMQ binnenkort beschikbaar zullen zijn of mogelijk al op veel opslagapparaten zijn ingeschakeld. De functie werd afgelopen december aangekondigd als algemeen beschikbaar, maar de nieuwe opslagstack is alleen optioneel in te schakelen door een registersleutel toe te voegen. De stappen voor het inschakelen ervan kunt u lezen in het aankondigingsartikel van Microsoft over native NVMe.
Waarschuwing: Onjuiste wijzigingen in het register kunnen ernstige problemen veroorzaken. Test dit daarom eerst op een niet-kritieke server. Verschillende gebruikers die deze functie hebben ingeschakeld, meldden problemen met NVMe-schijven waarop deduplicatie is ingeschakeld. Hoewel Microsoft binnenkort een officiële oplossing brengt, doet u dit op eigen risico!
Het testen van native NVMe op Windows Server 2025
Ons testplatform voor het evalueren van native NVMe op Windows Server 2025 (OS Build 26100.32370) bestond uit een server met twee SP5-sockets, uitgerust met twee AMD EPYC 9754 CPU's met 128 kernen. Naast de multi-core processoren was er een al even indrukwekkende 768 GB DDR5-geheugen met een snelheid van 4800 MT/s.
Opmerking: Volgens Yash Shekar van Microsoft is er al een tussentijdse verbetering, die losstaat van native NVMe, uitgebracht voor Windows Server 2025. Deze verbetering kan een extra impuls hebben gegeven aan de niet-native opslagstack, waardoor het potentiële verschil tussen de resultaten kleiner is geworden.
Om het potentieel van de nieuwe opslagstack te evalueren, gebruikten we vijftien 30.72 TB Solidigm P5316 NVMe SSD's met PCIe 4.0 in een JBOD-configuratie. Een belangrijke kanttekening is dat de Solidigm P5316 een indirectie-eenheid van 64 kilobyte heeft, wat betekent dat schrijfresultaten voor kleinere groottes (zoals 4K-tests) vaak slechter zijn dan verwacht. Gezien deze grotere indirectie-eenheid hebben we FIO-benchmarks uitgevoerd met lees- en schrijftests voor willekeurige 4K, willekeurige en sequentiële 64K en sequentiële 128K om de algehele snelheid over verschillende blokgroottes te vergelijken. We hebben tijdens de tests ook het CPU-gebruik gemonitord om de beweringen van Microsoft over de hogere efficiëntie te evalueren.
Hoogtepunten
- Aanzienlijk verhoogde bandbreedte en IOPS voor willekeurige 4K- en 64K-leesbewerkingen.
- Lagere latentie bij willekeurig lezen van 4K- en 64K-bestanden.
- Aanzienlijke afname van het CPU-gebruik bij sequentiële lees- en schrijfbewerkingen bij verschillende blokgroottes.
| metrisch | Willekeurige 4K | Willekeurige 64K | Sequentiële 64K | Sequentiële 128K | ||||
|---|---|---|---|---|---|---|---|---|
| Niet-inheems | Native | Niet-inheems | Native | Niet-inheems | Native | Niet-inheems | Native | |
| Lees | ||||||||
| Bandbreedte (GiB/s) | 6.1 | 10.058 | 74.291 | 91.165 | 35.596 | 35.623 | 86.791 | 92.562 |
| IOPS | 1,598,959 | 2,636,516 | 1,217,176 | 1,493,637 | 583,192 | 583,638 | 710,978 | 758,252 |
| Gemiddelde latentie (ms) | 0.169 | 0.104 | 0.239 | 0.207 | 0.809 | 0.812 | 0.613 | 0.608 |
| Totaal CPU-gebruik (%) | 72.67 | 74.22 | 68.44 | 65.11 | 44.89 | 37.11 | 61.56 | 49.56 |
| metrisch | Willekeurige 4K | Willekeurige 64K | Sequentiële 64K | Sequentiële 128K | ||||
|---|---|---|---|---|---|---|---|---|
| Niet-inheems | Native | Niet-inheems | Native | Niet-inheems | Native | Niet-inheems | Native | |
| Schrijven | ||||||||
| Bandbreedte (GiB/s) | 1.803 | 1.756 | 7.654 | 7.655 | 44.67 | 50.087 | 50.477 | 50.079 |
| IOPS | 472,725 | 460,383 | 125,391 | 125,406 | 731,859 | 820,603 | 413,495 | 410,232 |
| Gemiddelde latentie (ms) | 0.992 | 1.028 | 3.814 | 3.816 | 0.399 | 0.558 | 1.022 | 1.149 |
| Totaal CPU-gebruik (%) | 26.00 | 20.67 | 12.22 | 9.33 | 70.44 | 57.78 | 58.44 | 47.33 |
Analyse van resultaten
Uit benchmarks voor willekeurige 4K- en 64K-leesbewerkingen bleek dat de leessnelheden aanzienlijk hoger lagen, met een verschil van bijna 4 GiB/s tussen de native en niet-native opslagstacks (respectievelijk) bij de willekeurige 4K-leestest en een verbetering van bijna 16.9 GiB/s bij de willekeurige 64K-leestest. We zagen ook een behoorlijke toename bij sequentiële 128K-leesbewerkingen, waarbij onze tests een toename van ongeveer 5.8 GiB/s in bandbreedte lieten zien.
Opvallend genoeg zagen we geen significante toename in de bandbreedte bij onze tests met willekeurige of sequentiële schrijfbewerkingen. Het enige noemenswaardige verschil was een toename van ongeveer 5.4 GiB/s bij sequentiële schrijfbewerkingen van 64K. De meeste resultaten lagen binnen 100 MiB/s van elkaar, wat erop wijst dat de prestaties van de nieuwe opslagstack in ieder geval vergelijkbaar zijn met die van de oude, zelfs in gevallen waar geen verbetering werd geconstateerd.
Omdat doorvoer doorgaans gecorreleerd is met latentie, zagen we ook een aanzienlijke daling in de gemiddelde latentie van willekeurige leesbewerkingen voor zowel 4K- als 64K-tests. We constateerden een afname van 38.46% bij niet-native willekeurige leesbewerkingen van 4K, van 0.169 milliseconden naar 0.104 milliseconden. Bij willekeurige leesbewerkingen van 64K was de afname kleiner, rond de 13.39%. De latentie veranderde niet drastisch bij sequentiële leesbewerkingen, maar willekeurige schrijf- en sequentiële schrijfbewerkingen vertoonden over de hele linie een toename, ondanks een vergelijkbare of hogere doorvoer.
Naast de toename in willekeurige leessnelheden, onthulden onze FIO-tests nog een interessante trend: een aanzienlijke afname van het totale CPU-gebruik voor sequentiële lees- en schrijfbewerkingen van 64K en 128K. Sequentiële schrijftests lieten de meest dramatische verschillen zien, met een gemiddelde daling van 12.66% in CPU-gebruik voor 64K en een bijna gelijke daling van 11.11% voor 128K. De sequentiële leestest van 128K die we uitvoerden, liet ook een overeenkomstige daling van 12% zien, maar slechts een daling van 7.78% voor sequentiële 64K-leesbewerkingen. Een factor om rekening mee te houden is dat er bij een voldoende snelle CPU situaties kunnen zijn waarin beide stacks het volledige potentieel van een opslagapparaat kunnen benutten; in dat geval neemt de doorvoer mogelijk niet toe, maar neemt het CPU-gebruik wel af.
Takeaways
Hoewel veel van onze resultaten na het inschakelen van de nieuwe opslagstack binnen de per-run-variatie vielen, konden we veel van Microsofts beweringen bevestigen, waaronder een hogere leesbandbreedte met lagere latentie en een lager CPU-gebruik in het algemeen. Omdat dit een vrij radicale verandering is ten opzichte van hun decenniaoude Windows Server-opslagstack, zal Microsoft NVMe eerst standaard inschakelen in Windows Server vNext. Gelukkig kan de functie in Windows Server 2025 worden ingeschakeld met een snelle registeraanpassing of een groepsbeleid, waardoor serverbeheerders die de risico's van de implementatie erkennen, nu al van de nieuwe stack kunnen profiteren.
We kijken ernaar uit om NVMe standaard ingeschakeld te zien op het Windows Server-platform en hopen op medewerking van fabrikanten van NVMe SSD's, RAID-kaarten en HBA's, die de verbeteringen van Microsoft naar een hoger niveau zouden moeten kunnen tillen!
Referenties
Hands, J., Worley, D., & Lakhveer Kaur. (z.d.). NVMe-namespaces. Geraadpleegd op 30 december 2025 van NVM Express: https://nvmexpress.org/resource/nvme-namespaces/
Lee, S. (2025, 15 september). SNIA SDC 2025 – Storage Multi-Queue op Windows. San Tomas, CA, Verenigde Staten: Storage Networking Industry Association. Geraadpleegd op 29 december 2025 van https://www.youtube.com/watch?v=dR-DWrmCba0&t
Lee, S. (2025, 16 september). Storage Multi-Queue op Windows: een nieuwe stack voor krachtige opslaghardware. Geraadpleegd op 29 december 2025 van de SNIA Developer Conference: https://www.snia.org/sites/default/files/2025-10/SNIA-SDC25-Lee-Storage-Multi-Queue-On-Windows.pdf
Shekar, Y. (2025, 15 december). Aankondiging van native NVMe in Windows Server 2025: een nieuw tijdperk van opslagprestaties. (Microsoft) Geraadpleegd op 29 december 2025 van Windows Server Nieuws en Best Practices: https://techcommunity.microsoft.com/blog/windowsservernewsandbestpractices/announcing-native-nvme-in-windows-server-2025-ushering-in-a-new-era-of-storage-p/4477353
Storage Networking Industry Association. (z.d.). Wat is SCSI? Geraadpleegd op 30 december 2025 van Storage Networking Industry Association: https://www.snia.org/education/what-is-scsi




Amazon