Driver Analysis · Preliminary Findings

Windows Server 2025
nvmedisk.sys Driver Analysis

A look at Microsoft's new NVMe-native disk driver that bypasses the legacy SCSI class stack, with preliminary analysis of the architecture and its performance implications.

5 Sections Platform: Windows Server 2025 Published 2025

What Is nvmedisk.sys?

nvmedisk.sys is not just the original disk.sys with tweaks. Microsoft publicly states that the SCSI translation layer is removed in the Native NVMe stack, and nvmedisk.sys appears to be the distinct NVMe-specific driver that replaces the traditional disk/class stack for NVMe devices.

From driver analysis, it appears to handle many disk/storage queries directly from NVMe-native device state using a different data-path model for read/write I/O.

🔍
Bottom line: This looks like a private/internal NVMe-native queue/control path, not just the old SCSI stack with minor changes.
NVMe driver stack bypass — legacy layered stack crossed out, direct NVMe-native path highlighted

Architecture & Stack Bypass

From driver analysis, instead of relying on classpnp.sys, the new driver appears to implement NVMe-specific handling for control paths — including what looks like its own dispatch table and special-cased handling for certain disk/storage IOCTLs.

🔍
The stack diagram below is a simplified representation inferred from driver analysis. Microsoft publicly confirms the SCSI translation layer is removed, but the exact driver relationships shown are not documented in public Microsoft sources.
Legacy Stack
Application / Filesystem
disk.sys
classpnp.sys
stornvme.sys
NVMe Hardware
Server 2025 Stack
Application / Filesystem
disk.sys
classpnp.sys
nvmedisk.sys
NVMe Hardware

Dual Device Object Design

🔍
The following implementation details are inferred from driver analysis and are not established in public Microsoft documentation.

The driver appears to split I/O handling by storing both the PDO (Physical Device Object) and the attached lower device object in its device extension:

I/O Path & Write Cache

Microsoft publicly describes a redesigned I/O workflow with better performance, but does not document the specific write-cache internals. The following observations are from driver analysis.

Write cache handling appears to be NVMe-specific rather than inherited from the generic class driver, with what looks like direct cache-state handling and telemetry for volatile write-cache changes.

Write Cache Behavior (Inferred)

nvmedisk.sys appears to manage the NVMe volatile write cache directly, with what looks like state-transition tracking and telemetry when cache characteristics change.

Flush and shutdown appear to be forwarded through the attached lower object, as do power state transitions. The driver appears to snapshot the current power state before forwarding — which may suggest cache-safety decisions tied to the power context, though this is not confirmed by public documentation.

Pass-Through & IOCTLs

From initial driver analysis, nvmedisk.sys does not clearly expose the standard IOCTL_STORAGE_PROTOCOL_COMMAND pass-through path in the same way StorNVMe.sys does. It appears to implement its own control logic around several IOCTLs. However, Microsoft's general NVMe documentation continues to describe IOCTL_STORAGE_PROTOCOL_COMMAND as the standard pass-through interface, so this observation needs stronger confirmation before concluding the path is absent or replaced.

⚠️
A new disk-layer driver path could affect some tooling compatibility, and Microsoft has kept the feature opt-in, which suggests caution. However, the specific impact on pass-through behavior is not yet well-established and should not be overstated.

Performance Implications

Likely Upsides

Potential Tradeoffs

Where to expect gains: 4K random read/write, high queue depth, mixed read/write server workloads, flush-heavy filesystems and databases, and multi-threaded storage tests that target high IOPS.
Verdict: A New NVMe-Native Path

nvmedisk.sys is a meaningful architectural shift, not a cosmetic rebrand. Microsoft has confirmed a new NVMe-native disk driver that removes the SCSI translation layer, and the opt-in rollout suggests real behavioral differences.

Microsoft-documented facts: Native NVMe is a real opt-in feature in Server 2025 that removes the SCSI translation layer, depends on the Microsoft NVMe driver, and targets meaningful I/O performance gains for NVMe workloads.

Inferred from driver analysis (not confirmed by public docs): the exact stack relationships shown above, the dispatch-table and IOCTL specifics, the dual device-object I/O routing model, direct write-cache telemetry behavior, power-state snapshotting, and the apparent changes to the IOCTL_STORAGE_PROTOCOL_COMMAND pass-through path.

For workloads that are latency-sensitive or IOPS-bound, this is the kind of stack cleanup that should deliver real, measurable improvement — and existing benchmarks from third parties support this.