Contact: info@techsite.be
Microsoft heeft native NVMe-ondersteuning uitgerold voor Windows Server 2025 – een feature die eigenlijk jaren te laat komt, maar wel een significante performance-boost oplevert. Voorheen moesten NVMe SSD’s in Windows Server werken via SCSI-emulatie (Small Computer System Interface), een legacy protocol uit het HDD-tijdperk. Die compatibility layer introduceerde overhead, latency en inefficiënties – allemaal zaken die NVMe juist probeert te elimineren.
De native support kwam beschikbaar via de cumulatieve oktoberupdate van Windows Server 2025, en Microsoft claimt performance gains van 70%+ en efficiency improvements van 40%+ ten opzichte van de oude SCSI-based approach. Dit is een game-changer voor enterprise storage, databases, virtualization, en elke workload waar IOPS en latencykritisch zijn.
SCSI-emulatie: waarom moest dit überhaupt?
Het is bijna ironisch: NVMe (Non-Volatile Memory Express) is specifiek ontworpen als modern, low-latency storage protocol dat rechtstreeks via PCIe communiceert met de CPU. Het vervangt SATA en SAS (Serial Attached SCSI) die bottlenecks werden voor solid-state storage. Maar Windows Server had tot nu toe geen native NVMe driver stack voor enterprise features – het systeem behandelde NVMe drives gewoon alsof het SCSI-apparaten waren.
Hoe werkte SCSI-emulatie?
Wanneer een applicatie op Windows Server data wilde schrijven naar een NVMe SSD, gebeurde dit:
- Application-level I/O request wordt gemaakt (bijvoorbeeld SQL Server wil een transaction loggen)
- Windows storage stack ontvangt de request
- SCSI translation layer converteert moderne NVMe-commando’s naar legacy SCSI-commando’s
- SCSI-to-NVMe shim in de driver vertaalt dit weer terug naar native NVMe
- NVMe controller voert eindelijk de operatie uit
Dit is dubbele translatie – van NVMe-native naar SCSI, en dan weer terug naar NVMe. Elke conversie kost:
- CPU-cycles (processing overhead)
- Extra latency (additional hops in de I/O path)
- Context switches (kernel-level operations die interrupts veroorzaken)
Voor een single I/O request is dit microseconden overhead. Maar enterprise servers draaien miljoenen IOPS(Input/Output Operations Per Second) – op die schaal stapelt latency zich op en wordt CPU-overhead een bottleneck.
Waarom deed Microsoft dit zo lang via SCSI?
Twee redenen:
1. Backward compatibility Windows Server moest blijven werken met legacy enterprise software die verwacht dat storage SCSI-compatible is. Veel enterprise apps, backup-systemen en storage management tools zijn gebouwd rondom SCSI command sets en SCSI device enumeration. Door NVMe als “SCSI device” te exposen, hoefden die systemen niet aangepast te worden.
2. Feature parity SCSI had decennia aan enterprise features: persistent reservations (voor failover clustering), SCSI commands voor storage management, en integration met SAN-infrastructuur. NVMe moest die features ook ondersteunen voordat Microsoft de switch kon maken – en dat duurde tot NVMe 1.4+ specificaties die equivalente functionaliteit introduceerden.
Maar die pragmatische keuzes kwamen ten koste van performance. En in 2025, met NVMe volledig mature, was het tijd om de legacy-laag te dumpen.
Native NVMe: wat verandert er technisch?
Met de Native NVMe driver stack in Windows Server 2025 praat het OS direct met de NVMe controller via het NVMe protocol – geen SCSI-tussenlaag meer.
Architectuurverschil:
Oud (SCSI-emulatie):
Application → Windows I/O Manager → StorPort (SCSI layer) → SCSI-to-NVMe translation → NVMe driver → NVMe controller
Nieuw (Native NVMe):
Application → Windows I/O Manager → StorNVMe (native stack) → NVMe driver → NVMe controller
Minder lagen = minder overhead. Simpel, maar effectief.
Voordelen van native support:
1. Lagere latency Elke verwijderde layer scheelt microseconden per I/O. Bij miljoenen IOPS per seconde betekent dat milliseconden overall latency reduction. Voor databases en real-time workloads is dat cruciaal.
2. Hogere IOPS NVMe controllers kunnen 64,000 command queues aansturen met elk 64,000 commands – totaal 4 miljard outstanding commands. SCSI was gelimiteerd tot 256 commands per queue. Native NVMe haalt die bottleneck weg, zodat moderne enterprise SSD’s (die 1M+ IOPS kunnen) eindelijk volledig benut worden.
3. Betere CPU-efficiency Geen SCSI-translatie = 40% minder CPU-overhead volgens Microsoft. Die CPU-cycles kunnen beter gebruikt worden voor applicaties in plaats van storage-emulatie.
4. Advanced NVMe features worden toegankelijk Native support opent de deur naar NVMe-specifieke functionaliteitzoals:
- NVMe-oF (NVMe over Fabrics): remote storage via RDMA/TCP
- Namespace management: dynamische storage partitioning
- Zoned Namespaces: betere garbage collection en write amplification
- Computational storage: offloaden van bepaalde operaties naar de SSD zelf
SCSI-emulatie maakte deze features ontoegankelijk omdat ze simpelweg niet te vertalen waren naar SCSI-equivalenten.
Performance claims: 70% sneller, 40% efficiënter
Microsoft claimt 70%+ prestatieverbeteringen en 40%+ efficiency gains. Laten we dat contextualizeren:
Wat betekent 70% sneller?
Dit is waarschijnlijk gemeten in specific scenarios zoals:
- Random 4K reads/writes (typisch voor databases)
- High queue depth workloads (veel simultane I/O requests)
- Low-latency critical paths (bijvoorbeeld transaction logs)
In sequential throughput (grote files kopiëren) zal het verschil kleiner zijn, omdat SCSI-overhead daar minder impact heeft – bandwidth is geen bottleneck, latency wel.
40% CPU-efficiency verbetering
Dit slaat op CPU-cycles gespendeerd per I/O operation. Zonder SCSI-translatie hoeft de kernel minder werk te doen. Voor hypervisor hosts (Hyper-V) of storage servers die duizenden VMs of containers draaien, is dit massive. Minder CPU aan storage = meer CPU voor workloads.
Real-world impact hangt af van workload
Grootste winnaars:
- Databases (SQL Server, PostgreSQL, MongoDB): constant bezig met random I/O, profiteert enorm van lagere latency
- Virtualization hosts (Hyper-V): elke VM genereert I/O, lagere overhead betekent meer VMs per host
- Storage servers (SMB file shares, iSCSI targets): I/O is de core workload
- Container orchestration (Kubernetes op Windows): persistent volumes worden sneller
Minste impact:
- Bulk file storage met weinig concurrent access
- Archival workloads waar latency niet kritisch is
- Legacy apps die storage-performance niet limiteren maar andere bottlenecks hebben
Opt-in via registry key: niet default enabled
Opvallend: de feature is niet standaard ingeschakeld. Microsoft frame het als opt-in, wat betekent dat admins een registry key moeten toevoegen om Native NVMe te activeren.
Waarom opt-in?
1. Compatibility concerns Sommige enterprise software verwacht nog steeds SCSI-interfaces. Door het opt-in te maken, breekt Microsoft geen bestaande deployments. Admins kunnen testen voordat ze het breed uitrollen.
2. Driver maturity Dit is de eerste release van de native stack – bugs zijn onvermijdelijk. Door het opt-in te houden, limiteert Microsoft exposure. Als er kritieke issues zijn, raken alleen early adopters het.
3. Gradual rollout strategy Microsoft wil waarschijnlijk eerst feedback van enterprise customers voordat ze het default maken in een latere update (Windows Server 2025 R2 of 2026?).
Hoe enable je Native NVMe?
Microsoft heeft de exacte registry key niet publiek gedocumenteerd in de announcement, maar typisch gaat dit via:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters
Waarschijnlijk een DWORD value zoals EnableNativeNVMe = 1, gevolgd door reboot. Admins moeten wachten op officiële docs of KB-artikelen met exacte instructies.
Risico’s van manual registry edits:
- System instability als verkeerde values gezet worden
- Boot failures als storage stack niet correct initialiseert
- Data loss bij crashes (altijd backups maken voor je test)
Dit is niet iets om casual uit te proberen op production servers zonder testing in staging-omgeving.
NVMe adoption in enterprise: eindelijk mainstream
Een decennium geleden was NVMe cutting-edge datacenter tech. Nu is het standaard:
- AWS gebruikt NVMe-backed instance storage (i3, i4i instances)
- Azure heeft NVMe local SSD’s in premium VM tiers
- Google Cloud biedt local NVMe voor compute instances
- On-prem enterprise: Dell, HPE, Lenovo servers shippen standaard met NVMe SSD’s
Maar Windows Server bleef achter met SCSI-emulatie. Linux had al jaren native NVMe-support via de nvme kernel driver. Dit maakte Linux aantrekkelijker voor storage-intensive workloads – een van de redenen waarom veel database clusters en storage appliances op Linux draaien in plaats van Windows.
Met deze update heeft Microsoft eindelijk feature parity met Linux op storage-gebied. Te laat om Linux’s dominance in cloud/storage te omkeren, maar wel essentieel om relevant te blijven.
Impact op verschillende Windows Server workloads
SQL Server
Massive win. SQL Server is notoir I/O-intensief, vooral:
- Transaction logs: constant schrijven met lage latency vereist
- TempDB: enorme random I/O voor sorting en joins
- OLTP databases: hoge concurrency, veel kleine reads/writes
Native NVMe scheelt milliseconden per query in latency-critical scenarios. Dat klinkt klein, maar op miljoenen queries per dag stapelt het op naar significant betere throughput en response times.
Hyper-V
Storage is vaak bottleneck in VM-performance. VMs met heavy disk I/O (databases, file servers) profiteren direct. Ook live migration wordt sneller omdat VM state faster naar disk geschreven kan worden.
Storage Spaces Direct (S2D)
Microsoft’s software-defined storage oplossing voor hyperconverged clusters. S2D aggregeert lokale SSD’s in servers tot één grote storage pool. Lagere latency en hogere IOPS betekenen betere performance voor de hele cluster – vooral bij cache-tier operaties.
Containers en Kubernetes
Windows containers op Kubernetes gebruiken persistent volumes voor stateful workloads. Native NVMe maakt volume I/O sneller, wat direct impact heeft op container startup times en runtime performance van stateful apps (databases in containers, logging systemen, etc.).
Concurrentie: hoe doet Linux het?
Linux heeft de nvme kernel driver al sinds kernel 3.3 (2012). Dat is 13 jaar eerder dan Windows Server’s native support. Die voorsprong is een van de redenen waarom:
- Cloud providers Linux verkiezen voor storage nodes
- Databases zoals PostgreSQL en MySQL beter presteren op Linux
- Storage appliances (NAS, SAN) bijna altijd Linux-based zijn
Windows Server 2025’s native NVMe is een catch-up move, geen leadership position. Maar voor Microsoft’s enterprise klanten die committed zijn aan Windows-stacks (AD, SQL Server, .NET apps), is het alsnog een welkome upgrade.
Vergelijking performance:
Linux nvme driver (mature, geoptimaliseerd over 13 jaar):
- Uitstekende queue management
- Advanced features zoals io_uring (low-latency async I/O)
- Kernel bypass mogelijkheden voor ultra-low-latency apps
Windows StorNVMe (nieuw, eerste iteratie):
- Verwachte teething issues in early releases
- Nog geen geavanceerde optimizations zoals Linux’s io_uring
- Maar fundamentals zijn solid – based op NVMe 1.4+ spec
Over tijd zal Windows’ implementatie maturen, maar initieel is Linux waarschijnlijk nog steeds de performance king voor absolute cutting-edge storage workloads.
Toekomst: NVMe-oF en computational storage
Native NVMe-support is de basis voor toekomstige storage-innovaties:
NVMe over Fabrics (NVMe-oF)
Remote storage via RDMA (InfiniBand, RoCE) of TCP met near-local latencies. Dit maakt disaggregated storage architectures mogelijk – clusters waar compute en storage physically separated zijn, maar logisch één systeem vormen.
Microsoft zal waarschijnlijk NVMe-oF ondersteuning toevoegen in toekomstige updates, wat Azure Stack HCI en on-prem cloud deployments significant verbetert.
Computational Storage
Nieuwe NVMe SSD’s hebben ingebouwde compute-capabilities (FPGA’s, ARM-cores) die bepaalde operaties kunnen offloaden:
- Data compression/decompression
- Encryption/decryption
- Database query filtering (predicate pushdown)
Native NVMe-support maakt het mogelijk om die features te exposen aan applicaties, wat weer CPU-cycles bespaart.
Zoned Namespaces (ZNS)
Een NVMe-extensie die betere write amplification en garbage collection mogelijk maakt door applicaties directe controle te geven over hoe data op de SSD gelayout wordt. Verlengt SSD-levensduur en verbetert performance.
Windows Server zal deze features stapsgewijs moeten adopteren nu de native stack er is – SCSI-emulatie maakte dit onmogelijk.
Adoptie-advies: wanneer moet je switchen?
Test nu, deploy in 6 maanden is het verstandige advies:
Q1 2025: Setup testomgeving, enable Native NVMe, draai benchmark workloads Q2 2025: Pilot op non-critical production servers, monitor stability Q3 2025: Brede rollout naar production als geen blockers gevonden zijn
Red flags om op te letten:
- Driver crashes of BSODs gerelateerd aan stornvme.sys
- Performance degradation (ironisch, maar mogelijk bij bugs)
- Compatibility issues met storage management tools
- Clustering failures bij Storage Spaces Direct
Als Microsoft het goed doet, zijn die issues minimaal. Maar early adoption risk is reëel bij fundamentele storage-stack changes.
Conclusie: beter laat dan nooit, maar wel echt laat
Windows Server 2025’s native NVMe-support is technisch solid en performant, maar ook 13 jaar te laat vergeleken met Linux. Microsoft koos jarenlang voor backward compatibility boven performance, wat logisch was voor hun enterprise klanten – maar nu eindelijk de switch maken is goed nieuws.
Voor admins betekent het: significante performance-wins zijn te halen, maar met een opt-in approach die vereist dat je actief test en deployment plant. Niet iets om blind te enablen op productie zonder validatie.
Voor de industrie: nog een signaal dat NVMe nu echt de standaard is, zelfs in de meest conservatieve enterprise omgevingen. SATA en SAS zijn legacy – de toekomst is PCIe-attached flash met native protocol support.
Windows Server eindelijk op gelijke voet met Linux qua storage-stack. Nu nog wachten tot Microsoft ook io_uring-achtige ultra-low-latency I/O frameworks toevoegt, en dan is de kloof definitief gedicht.





