Which NVMe Drivers are the best (performance related)?

Introduction:
NVMe is the currently latest and best performing data transfer protocol. That is why users, who want to run their system with the highest possible speed, should buy an NVMe SSD (or more than 1 of them combined as RAID0 array) and install the OS onto it.

On the other hand all NVMe SSD users should keep in mind, that the effective/real performance of such system depends on
a) the size and the model of the NVMe SSD(s),
b) the installed OS,
c) the age/quality of the used mainboard and its PCIe/M.2 connections,
d) the size and quality of the in-use Memory (RAM) modules,
e) the individual BIOS and OS settings (look >here<) and
f) the specific NVMe driver, which is managing the NVMe Controller of the SSD.

Conclusion: Since each system is different, there is no NVMe driver available, which is the best for everyone.


Own Benchmark Comparison Tests:
(completely updated on 01/31/2022)
Recently I had access to 2 PCs with completely different chipsets (Intel Z170 resp. AMD X570) and additionally to 2 x 1 TB Samsung 980 Pro SSDs.
This gave me the opportunity to do some NVMe driver benchmark comparison tests with both Intel/AMD systems running the same OS version on the same NVMe SSD model by using different NVMe drivers.
Notes:
  • The natively extremely performant Samsung 980 Pro SSDs were chosen to make benchmark differences better visible.
  • It was not my intention to compare the performance of a PCIe 3.0 with a PCIe 4.0 connection or of an Intel with an AMD chipset system.


Test systems:
A. Intel Z170 chipset PC (with Skylake CPU + PCIe 3.0 support) running Win11 x64 Pro v21H2 Build 22000.469, freshly installed onto a 1 TB Samsung 980 Pro NVMe SSD
B. AMD X570 chipset PC (with Ryzen 5 5600X CPU + PCIe 4.0 support) running Win11 x64 Pro v21H2 Build 22000.469, freshly installed onto another 1 TB Samsung 980 Pro NVMe SSD

These were the drivers I have tested until now:
  1. Microsoft's generic Win11 in-box NVMe driver v10.0.22000.348 named STORNVME.SYS dated 11/17/2021 (the shown date is wrong)
  2. Samsung's NVMe driver v3.3.0.2003 WHQL dated 01/21/2020 (installation had to be forced)
  3. Phison's generic NVMe driver v1.5.0.0 WHQL dated 02/23/2018
  4. Micron's NVMe driver v2.1.18.0 WHQL dated 03/02/2021 (installation had to be forced)
  5. Intel's RST NVMe driver v17.11.0.1000 WHQL dated 09/30/2021 (installation had to be forced, matching are the iaStorAC.inf file and the device "Intel(R) NVMe Controller")
  • Set a "Restore Point" before starting the driver replacement (to be able to restore at any time your currently running OS and boot configuration).
  • If you should have installed any storage driver related Software (e.g. the Intel RST Management Console), uninstall it from within the Control Panel and reboot thereafter.
  • An NVMe driver should be manually replaced from within the "Storage Controllers" section of the Device Manager (don't try to update the driver of any device, which is listed within the "Disk Drives" section, or to uninstall any in-use storage driver!).
  • If your desired NVMe driver is WHQL certified and the HardwareIDs of the related NVMe Controller is listed within its *.INF file, the installation procedure is easy and very safe:
    1. Right-click onto the listed NVMe Controller, which is currently managing the related NVMe SSD.
    2. Choose the "Update Driver" > "Browse my Computer" options, navigate to the folder with the extracted "pure" NVMe driver files and click onto the "Continue" button. The rest will be done automaticly by the Device Management of the OS.
    3. After having completed the installation you have to restart the PC/Notebook. This is the critical point of the storage driver installation, because the real replacement happens during the restart procedure.
  • If the desired driver replacement should end with the message "The best driver is already installed", you may have to force the installation:
    1. Restart the driver update by using the "Browse my Computer" option, but choose the "Let me pick..." option thereafter.
    2. Press the "Have Disk" button and navigate to the folder with the desired driver files.
    3. If the Device Management should show more than 1 *.INF file and/or Controller names, choose the (best) matching ones.

Here are the benchmark results I got:

Intel BM STORNVME.png

Intel BM Samsung.png


(left/upper Pic: MS Win11 generic in-box NVMe driver, right/lower Pic: Samsung’s specific NVMe driver v3.3.0.2003)

Intel BM Phison.png

BM Intel Micron.png


(left/upper Pic: Phison’s generic NVMe driver v1.5.0.0, right/lower Pic: Micron’s specific NVMe driver v2.1.18.0)

Intel-PC_Intel171101000.png


(Intel’s generic RST NVMe driver v17.11.0.1000)


B. AMD X570 Chipset System (PCIe 4.0)

CDM-X570-1TBSamsung980Pro-STORNVME-Win11.png

CDM-X570-1TBSamsung980Pro-Samsung3302003-Win11.png


(left/upper Pic: MS Win11 generic in-box NVMe driver, right/lower Pic: Samsung’s specific NVMe driver v3.3.0.2003

CDM-X570-1TBSamsung980Pro-gen.Phison1500-Win11.png

CDM-X570-1TBSamsung980Pro-Micron21180-Win11.png


(left/upper Pic: Phison’s generic NVMe driver v1.5.0.0, right/lower Pic: Micron’s specific NVMe driver v2.1.18.0)

CDM-X570-1TBSamsung980Pro-Intel171101000-Win11.png


(Intel’s generic RST NVMe driver v17.11.0.1000)

Evaluation of my test results:

  • All 5 tested NVMe drivers are very performant while running Win11 v21H2.
  • On both PCs (with an Intel resp. AMD Chipset) the Phison, Micron and Intel NVMe drivers were better performant than the in-box MS and the latest Samsung NVMe drivers.
  • Surprisingly it was the Intel RST NVMe driver, which was the benchmark winner while running on my Intel Z170 chipset system (due to the outstanding Q1T1 Sequential Read/Write numbers).
  • Regarding my AMD X570 system it were the Phison and the Micron drivers, which were the best, but the performance differences to the other tested drivers were much lower and probably not even noticeable by the user.
    My recommendation: Choose the driver, which gives your system the best stability or the lowest power consumption (important for notebooks).

If you want to get any other NVMe driver tested, please let me know it within the next days (as long as the test systems are usable).

Good luck with these NVMe drivers!
Dieter

1 Like

So, best performace is with OFA drivers, but they don’t support TRIM command (just in raid?).
I can’t find the link for your modded OFA drivers, anyway…

@gpvecchi :
Please have a look into the just updated start post.
Here is my comment to your statement:
1. The 32/64bit OFA NVMe drivers v1.5.0.0, which have been mod+signed by me, definitively do support TRIM, but I don’t know, whether the TRIM command passes through the NVMe Controller of a RAID array.
2. You cannot find yet the download links to the winner of my benchmark comparison test, because I don’t want to recommend a driver, which prevents the normal shut-down of the computer.

Thanks for your testing and comparison here Fernando! Driver causing unable to shut down via start menu power button? That is new one! Did you reproduce that issue on another motherboard/BIOS/OS install, to rule out some quirk in that specific setup?

@Lost_N_BIOS :
Yes, that is an interesting behaviour of the OFA driver while running Win10 v1809.
Today I followed your advice and tested the same NVMe drivers with my Xiaomi Notebook, which uses a 256 GB Samsung PM961 as system drive. These tests were done before (running Win10 v1803) and after a clean install of Win10 v1809 (Build 17763.1). The installation of the mod+signed OFA driver v1.5.0.0 went flawlessly with both Win10 versions, but the behaviour thereafter was different:

  • A. While running Win10 v1803 I had no problems to shut down from within Windows, but I ran again (as some weeks ago with my PC) into a reboot problem (“Automatic Repair” option started, but failed).
    Solution: “Advanced Start Options” > F7 (Disable Driver Signature Enforcement).
  • B. While running Win10 v1809 there was no problem to reboot (no “Automatic Repair”), but I was unable to shut down my notebook from within Windows (absolutely identical with my normal PC and its Samsung 970 EVO SSD).
    Solution: I had to hit the power-off button of my notebook.

By the way: I got interesting benchmark results with my notebook, which I will publish this evening.

That is very unusual for a driver to be able to cause that, I wonder why/how it’s doing that? Especially since you said the “OFA team didn’t do much more than to change a little bit the code of the MS NVMe driver”, how is this causing issue, and how is this small change giving much better performance results too?
Maybe you will eventually figure out the issue? What if you don’t mod+sign the driver, does the shut down issue happen?

@all:
Today (09/20/2018) I have completely updated the start post of this thread.
Changelog:

  • new: Test results with my Xiaomi Notebook running Win10 x64 on a 256 GB Samsung PM961 NVMe SSD

Any feedback is welcome!

Regards
Fernando


@Lost_N_BIOS :
Yes, it s hard to believe what I found out regarding the impact of the mod+signed OFA NVMe drivers v1.5.0.0 on the Windows reboot and shut-down procedure.
Most interesting is the fact, that Win10 v1803 obviously responds to that driver completely else than the upcoming Win10 v1809.

You can be sure, that I will continue my tests trying to find out the exact reason for this extraordinary reaction of the Windows OS.

Sometimes my Samsung drivers have same behaviour: PC doesn’t turn off. This usually happens when rebooting, not when turning off. IDK if this can help, but after force the stop, I am prompted to enter bios, like a failed overclock.

This is what I just have tested:
I took the original OFA driver v1.5.0.0 for Win10 x64 dated 04/07/2017, just removed the associated (not valid) *.cat file without touching the other files and gave them a correct digital signature (to be able to get it properly installed).
Result: I was not able to shut-down my PC from within Windows.
Conclusion: It is neither my modification of the *.inf file nor the renaming of the original driver files, which causes the shut-down problem.
I suspect, that it is an issue of the Win10 Build 17763.1.

So a general incompatibility with the Win10 build and the OFA driver no matter how it’s used. I guess that means both MS and OFA will have to be notified to look into that one.

@Lost_N_BIOS :
I will do that after having more information about the exact reason for my reported issues while using the OFA NVMe driver.

@all Win10 x64 users with an NVMe SSD as system drive:
You are all invited to help by testing the OFA driver variants and give us your feedback thereafter.
The download links to the original 64bit OFA NVMe driver v1.5.0.0 for Win10 x64 and to the variant, which has been mod+signed by me, are now available within the start post.

Good luck and thanks in advance!

i have samsung pm981… better with OFA NVME driver???

@boremc :
Welcome to the Win-RAID Forum!

It depends on the environment of your computer/notebook (e.g. the chipset and the OS.
Why don’t you do a benchmark comparison test yourself and report here about your results?

Regards
Dieter (alias Fernando)

Hi Fernando,

I have a PM961 and want to give the Intel ones ago (am on a HM175 mobo) and trying to install through the INF / Device Manager method, I get a few options, after choosing istorAC.inf , it does two, Intel RST and Intel NVME driver, when I select the NVME driver it shows a popup stating Windows can’t verify it’s compatibility blabla and that it could cause malfunction, that’s expected to popup right?

Yes, I got this popup as well. Just ignore it and continue the installation. It will work.
To prevent any problem, I recommend to set a restore point before starting the driver installation.

Hi there fernando hope you are doing well mate! I have an oem samsung mzvlw128hegr-00l2 nvme ssd. My system is a lenovo y520 laptop and O currently have microsoft drivers from 2006 installed for the drive. I have searched for hour trying to find the right driver and have tried a few but i get the prompt that the best drivers are already installed when trying to do it through device manager. FYI im running win 10 64bit OS. Much appreciated and look forward to hearing from you :slight_smile:

@isameking12 :
Welcome to the Win-RAID Forum!

Here is my comment:
1. The Win10 in-box MS drivers are misleadingly dated, but are as new as the OS itself.
2. When you want to update the NVMe driver from within the Device Manager, you should not try to update the driver for the SSD itself (listed within the section “Disk drives”), but of the NVMe Controller (listed within the section “Storage Controllers”).

Good luck!
Dieter (alias Fernando)

Many thanks for the quick reply i appreciate the time you take to help. Thanks for clearing that up for me, now that I know how to install correctly would you be able to direct me to the correct driver?

Yes, if you post the HardwareIDs of your SSD’s NVMe Controller (right-click onto it > “Properties” > “Details” > “Property” > “HardwareIDs”).

i have attached a screencap of the hardwareid’s section within the nvme controller

hardwareid.PNG