Microsoft NVMe Driver Update: Lulz

Native NVMe on Windows 25H2

Once upon a time Intel/Solidgm and Samsung had their own NVMe driver. This became to difficult to maintain given the disarray that has accumulated in windows, so both of these companies have abandoned their native driver.

This was especially troublesome for folks (like me!!!) that had gone all-in on an Intel storage ecosystem because their drivers were necessary for things like changing the sector size or namespace settings. Or even just… you know… updating the firmware.

Once Intel decided they were done with storage, It Was Not A Great Experience (for us computer janitors, anyway) and it sure looks like Intel left Solidgm holding the bag there.

Anyway, the new driver is long overdue and does help. It is not for everyone. You shouldn’t install it unless you’re sure you’re using the standard NVM Express driver (and not still on Samsung/Intel or VROC or something like that).

Installation

Once you’re sure it’s safe (or your backups are fresh)

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 1176759950 /t REG_DWORD /d 1 /f

This, from the blog post, seems to be for windows server. The smart folks over at win-raid are on top of it though:

Some important notes:
Windows Client needs some more settings – see the winraid post or

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 1853569164 /t REG_DWORD /d 1 /f (UxAccOptimization, required)

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 156965516 /t REG_DWORD /d 1 /f (Standalone_Future, required)

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 1409234060 /t REG_DWORD /d 1 /f (NativeNVMeStackEnableForClientOS)

reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FeatureManagement\Overrides /v 735209102 /t REG_DWORD /d 1 /f (NativeNVMeStackForGeClient, for germanium build, instead server)

– special thanks to koekieezz and fernando!

There is some confirmed risk, the gains are not always substantial. And the gains are not necessarily what you’d expect – boot time and first-application-startup (before it’s cached in ram).

This is already the default in 26H1 insider builds.

Before / After Results

Part of this post is testing on Intel Optane P5800x – PCIe Gen4 NVMe but with a latency about half that of even the best Gen5 NVMe today.

Optane P5800x Before:
image

Device Manager before:
image

P5800X after:
image
f

This is not a tremendous difference if you just look at the numbers here. Also, device manager changes – one now has Storage Dissk and the storage drive is under there.

Where one expects to see the most benefit is in more parallel queues in operation, however:

P5800x Before:
image

P5800x After:
image

Understand that the iops differences here stem from more queues in play, and overall significant reductions in i/o latency from the OS driver.

Responsiveness not throughput is the big improvement these drivers can offer, under ideal circumstances. And the P5800x is about as ideal in that department as one can ask for. And that’s why, best case scenario, one can expect upwards of 36% iops gains.

Subjectively this feels like an improvement with the P5800x. I usually have an unreal amount of ram and never reboot… so lots of stuff is cached in ram. After each run I flushed the cache from Windows, and it still feels much snappier in general application usage. Boot time/startup time is markedly improved. Boot time feels as fast as when I run a VM with accelerated virtualized I/O! (i.e. caches don’t flush because there’s another layer there)

I have also testedthe Crucial T705 and T710 (rip crucial) with some decent improvements. The Samsung 980 and 990 improve also, but more marginal.

Enterprise SSDs such as the Memblaze P7 and Kioxia CM7 show significant improvement to responsiveness as well.

More to come sooon for the video…

7 Likes

Cool, saw word of this floating around other places a while back. Would be great if later you can show exactly where you personally noticed the biggest differences and potential real world benefits/scenarios.