GUIDE: NVMe drivers - Which driver for which card?

Discussion in 'SSD and HDD storage' started by 386SX, Jul 31, 2018.

  1. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    Hi there.

    I recently bought my first NVMe M.2 drive (Samsung 960EVO 512GB M.2) after owning an Intel NVMe drive (real PCIe 3.0 x4 connector, no M.2) for years. While searching which drive would suite my needs I encountered a problem I bet most of you will encounter, too.
    What driver do you install on your NVMe drive for it to work at its best speeds?

    There are basically only these available:
    - Microsoft's own "generic" NVMe driver (included in Windows 8 to 10, optional download for Windows 7)
    - Intel NVMe driver (only for Intel SSDs, for all Windows from version 7 to 10, split to two ranges: DATACENTER and CLIENT)
    - Samsung NVMe driver (only for Samsung SSDs, for Windows 7 to 10)
    - OCZ / Toshiba driver (Windows 7 to 10, but only for model RD400/RD400A, none else)
    - Open Fabrics Alliance NVMe driver (SHOULD run on any Windows OS from 7 to 10 and with ANY NVMe device!!)

    <EDIT: I found Lite-On NVMe drivers on win-raid.com, they are obviously meant for Plextor SSDs. I will link them below for completeness>

    I do not know of any other NVMe drivers. if you do, please post a link to them.

    So what if you buy say a Kingston NVMe SSD or a Patriot one? What driver should you use? The generic MS one? It seems so ...

    Details to the drivers from above:
    This driver is already installed in your OS and ready to use from the start. If you install Windows 8 or newer, you do that like any other OS install and you do not have to worry about your NVMe drives don't get recognized.
    Important to know:
    This driver, even on Windows 10, only supports the NVMe specs until revision 1.0e, that means some functions introduced in 1.1 or higher don't get to your drive.
    Read more about this here: https://en.wikipedia.org/wiki/NVM_Express
    And to add more to this: You probably won't get the maximum speed out of your SSD. Back then running my Intel SSD at PCIe 2.0 x2 (theory: 1GB/s max.) had way better numbers with the Intel driver (about 850MB/s read and 800MB/s write) than the Microsoft one (only about 600MB/s read and 500MB/s write).
    There are two "hotfixes" available to those needing the NVMe capability on Windows 7 (to install the OS), get them from here:
    Code:
    https://support.microsoft.com/hotfix/kbhotfix.aspx?kbnum=2990941&kbln=en-US
    https://support.microsoft.com/hotfix/kbhotfix.aspx?kbnum=3087873&kbln=en-US
    Note: You have to integrate them into your Windows 7 ISO.

    Intel NVMe drivers are split to two different groups, CLIENT versions and DATACENTER versions. I do not know why, because my results were almost identical comparing these two, somebody may explain this to me. Those drivers give you a better performance for your Intel NVMe drive than the generic MS driver, but are only meant for Intel SSDs, they won't work on other ones (tried with my Samsung SSD).
    AFAIK those support the highest revision of NVMe (1.3b if I am right).
    Get the driver from:
    Code:
    https://downloadcenter.intel.com
    ... and search for your specific model and OS. Intel provides those in EXE files or as "pure INF" zipped for you to extract and use during the Windows setup ("F6 drivers").

    Samsung NVMe drivers support only Samsung SSDs. Important to say is, most "business" models (those OEM ones which are cheaper than its EVO or PRO counterparts and without any heatsink) are NOT supported or support comes very late. For example the support of the "business 960" series came when Samsung officially announced the 970 series as "available". Honestly I do not know which revisions of NVMe those support right now, but they keep their drives at a very good speed and long term reliability, so I >>guess<< somewhere in the rev 1.3 range (almost up2date or latest revision).
    Samsung provides its drivers in EXE format. This could be very frustrating if you buy a Samsung SSD for your new setup and you cannot access any OS to extract the driver to use in a Windows install right away. Don't get me wrong, you get Windows installed (8 and newer or "modded" / hotfixed 7) fine without them, but I usually recommend using the right drivers from the install right away. But with Samsung, at least it works and you can install the EXE after Windows boots up the first time.
    Compatible drives are listed as: 950 PRO, 960 (PRO and EVO) and 970 (PRO and EVO), but a forum member from a different forum told me he was able to run his "enterprise" model with it, too and that didn't work with an older driver (older than 3.0).
    You get the driver from here:
    Code:
    https://www.samsung.com/semiconductor/minisite/ssd/download/tools/

    The driver is valid for only one model, the RD400 or its A variant (RD400A). I didn't invest much time with this driver, because the RD400(A) was somewhat unappealing.
    You get the driver from here if you need it:
    Code:
    https://ssd.toshiba-memory.com/download/drivers/nvme/windows/ocznvme-1.2.126.843_whck.zip

    I found these because I wondered about so many drives running obviously only the Windows generic driver. There HAS to be an alternative, right? Because of ... reasons ... you know? So I found this, back then only in version 1.4 (as pure INF files, so "F6 driver") and tested this on my Intel SSD. I found out: The driver isn't signed correctly, therefore you have to enable dev mode (BCDEDIT with "-testsigning ON" switch) and do a lot of other stuff to get it "accepted" by Windows, otherwise it will not even install! Then I did a reboot, only to find out this driver is somewhat fucked up, really. Windows was bricked and not even the "last good config" was working. So I asked a friend to compile the driver from scratch (source exists, you may do it, too) because I am a lousy programmer ("Hello World!" usually ends in "Total World Domination!" if I try it), but even he failed and told me "somehow it throws crazy errors, but I do not have the time to inspect this further". I didn't try the version 1.5 driver yet, probably they fixed something under the hood, but 1.4 failed completely (besides the interesting fact that some people indeed seem to have this in a "working condition" in their system).
    If interested in trying (CAUTION! IT >>MAY<< BREAK YOUR OS!) you can get the driver here:
    Code:
    https://svn.openfabrics.org/svnrepo/nvmewin/releases/
    
    Infos:
    https://lists.openfabrics.org/pipermail/nvmewin/2016-September/001395.html
    (Click through! A lot is written in separate posts, CRITICAL REQUIREMENTS TOO!!! See this as a start!)
    
    CAUTION: It is strongly advised to create a reliable backup first or test it on a separate system! Be careful! ;)

    While searching the web for more NVMe drivers I stumbled over a thread on win-raid.com and found additional drivers, those for Plextor SSDs from the maker Lite-On.
    I haven't tested those, and TBH I didn't find them on ANY other site than win-raid.com itself. Plextor itself only provides a "suite software", probably the drivers are included there, but I don't know for sure.
    I won't link to the driver file directly, but to win-raid.com's thread itself, where you may find other drivers, too. I can recommend this site, everything is well described and the owner responds to any question you may have.
    Here's the link to the thread, scroll to "Lite-On / Plextor":
    Code:
    https://www.win-raid.com/t29f25-Recommended-AHCI-RAID-and-NVMe-Drivers.html

    All other makes and models not named here:
    I didn't find more NVMe drivers than those listed above, so that must mean all devices without drivers from their manufacturers, they run with the "old" NVMe driver from Microsoft which lacks a decent set of features.

    I want to discuss with you if there are any other options, because if you think about this, it means "stick to the big brands (Intel, Samsung, OCZ/Toshiba) which provide separate drivers, otherwise you have to stick to performance-degrading Microsoft drivers with a lack of certain features and this may have a negative impact on your SSD regarding performance, stability and/or lifespan".

    Your feedback, suggestions or criticism (if brought up in a decent and rational manner!) is very welcome, as always. :)
     
    Last edited: Aug 6, 2018
    mitzi76 and Hilbert Hagedoorn like this.
  2. Chastity

    Chastity Ancient Guru

    Messages:
    1,977
    Likes Received:
    492
    GPU:
    Nitro 390/GTX1070M
    mitzi76 and 386SX like this.
  3. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,360
    Likes Received:
    896
    GPU:
    1080Ti H20
    Just use the latest 3.0 nvme driver from samsung.
     
    mitzi76 and 386SX like this.
  4. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    ... if you have a Samsung SSD, yes. But if you own one from another brand the install will fail, because the device IDs do not match.
    Or do you know something I don't? ;)
    (Then please explain and I will update my guide.)

    Info? OFA NVMe driver 1.5? Did you compile it yourself or did you compress the files from the link I posted?
    Some errors (for your information):
    - The CAT file is invalid, the certificate signing it is invalid or not trusted. Therefore install on any x64 setup will fail or only be possible in testmode.
    - You accidently renamed the nvme.INF to nvme.INF.TXT
    - If you edit the INF then please change the description to the correct version. Listed is: "Community OFA NVMe 1.2 Storport Miniport" instead of 1.5

    Do you think you are able to fix the certificate chain so testmode is not needed anymore?
    And what makes me wonder: While searching the INF file I found both x86 and x64 get the same file: "nvme.sys". There seems to be no difference between x86 and x64 in terms what to install. Is that correct? I doubt that somehow.

    But thanks you two for contributing. ;)
     
    mitzi76 likes this.

  5. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,360
    Likes Received:
    896
    GPU:
    1080Ti H20
    I wasn't aware this was a guide.

    Your post certainly isn't formatted as one.

    Anyways, you said you have a 960 evo; you'll want to use latest samsung nvme driver.

    As always, you can force driver install with have disk option in device manager for other brands but I recommend to stick to their own brand's drivers.
     
    386SX likes this.
  6. MegaFalloutFan

    MegaFalloutFan Master Guru

    Messages:
    657
    Likes Received:
    84
    GPU:
    RTX 2080Ti 11Gb
    They have a full pack of them here, this web site makes it semi offical.

    https://drivers.softpedia.com/get/O...-Alliance-NVMe-Driver-1-5-0-0-Build-157.shtml

    And here another 1.5 copy directly from Open Fabrics website:
    https://svn.openfabrics.org/svnrepo/nvmewin/releases/revision_1.5/installations/64-bit/Windows10/
     
    Last edited: Aug 2, 2018
  7. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    I appreciate your help, really. But did you click on the spoiler "Open Fabrics Alliance"? I already linked your second link, but some folders above so users may choose different versions. And I do not trust Softpedia, therefore I do not link their pages if I have other options. And your second link or my version of it both give the user options to download different versions of this for different OS (Windows 7 to 10, x86 and x64).

    When I link stuff I try those most suitable. So drivers for ASUS boards I will only link to ASUS. Intel drivers I link to Intel, etc.
    I would make an exception if for example your ASUS board got an Intel chipset and their drivers are some years old while Intel provides a driver from last week or so. But I would stay within the "original provider range".
    I found out even win-raid.com got problems in testing this OFA driver, even after adding their own certificate, which works for their other modded drivers like a charme.
    And by looking into the Softpedia mirror I see the files are exactly the same like in your 2nd link, so only a copy.

    Did you get them working on your system? Mine refuses to boot afterwards (all changes done like testsigning ON and stuff) or fails on the install itself (previous Intel build with x79 chipset, but same SSD I currently use in my Ryzen build). So if you get them working, please give me a bit of info how you did it. ;)
     
  8. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    I did correct the title, I hope this helps. Sorry for not showing this enough.

    You mentioned an interesting thing: Forcing the driver on other brands. Did you do that or test that? That is exactly what my motion behind this guide was, so please explain a bit:
    - Does this work for ANY driver and ANY model? Samsung+Intel, Samsung+Patriot, Intel+Kingston, OCZ+Samsung, Intel+SanDisk, Samsung+SanDisk, etc. etc.? Did you build any setup where you can tell 100% THIS combo is going to work fine for example?
    - Does any user has to pay attention about something? Are there known limitations or the like? Do you have to have the same controller?

    Please educate me. :D
     
  9. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,360
    Likes Received:
    896
    GPU:
    1080Ti H20
    I've only tried it on 2 nvme drives.

    One, my personal 960 Pro and a OEM SM951.

    Tried intel nvme drivers which performed similarly as windows out of the box; samsung driver was the fastest.

    The oem SM drive does not get native support of samsung drivers so I had to force install it.
    Works fine, faster than windows driver.

    960 pro on my X99 system and SM951 on a i7 7700hq laptop.

    I don't own any other brands so I can't tell you success rates.
     
    386SX likes this.
  10. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    Ah, OK. I misunderstood you. ;)

    I thought you force-installed say a Samsung driver to an Intel SSD (completely change of brand), but you "only" force-installed a Samsung driver on a "not yet supported" device.
    Btw.: AFAIK the Samsung driver supports your OEM drive now officially. Just try and download the newest driver from them. (I get a "better feel" when i know my devices are installed with their "real" correct drivers which were officially made for them, you know?)
     

  11. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,360
    Likes Received:
    896
    GPU:
    1080Ti H20
    You can force install intel NVMe driver on a samsung NVMe too.
     
    386SX likes this.
  12. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    WOW, really?! Then I have more tests to do. :)
    Thank you.
     
  13. Nic01

    Nic01 New Member

    Messages:
    1
    Likes Received:
    1
    GPU:
    intel630/nvidia1050
    Hi everyone ,
    first post so congrats for great work here !!!!

    Tried to install the 1.5 patched version of the ofa driver (from here :http://reboot.pro/topic/21812-community-...er-2003-r2-sp2/ ), on my msi gp62 7rd win8.1 x64 laptop with testsigning-on mode and secure boot off , but it's getting unbootable. I had to manually uninstall via dism command in recovery cd options to become bootable again.

    My ssd is a patriot hellfire 240gb which has return from sleep bsod issues, related to incompatibility between windows/ssd firmware so, i could really use these ofa drivers for a fix.
    I'd really appreciate any help !
     
    386SX likes this.
  14. 386SX

    386SX Master Guru

    Messages:
    518
    Likes Received:
    570
    GPU:
    AMD Vega64 RedDevil
    Hi there and welcome to G3D. :)

    Regarding your issue with OFA:
    So far there are some people who tried to install this but they all were unable to get it to run. "fernando" from win-raid.com, who is known for "unlocking" drivers to run with all HW IDs tried it and modified the drivers using his own self-signed certificate which works flawlessly on other drivers from different brands. But he wasn't able to boot, same as me (and you as I see now).

    But user @Agent-A01 pointed out it would be possible to "cross-install" drivers from other brands by "forcing them" to install (which means if a warning dialog pops up telling you the driver isn't meant for this device, you choose the INSTALL ANYWAY option):

    So that SHOULD mean you could install any brand's driver for the use of your drive. Probably this would be a good way to go. But I have never done this before, therefore I link @Agent-A01 here, just to be sure.

    @Agent-A01 : Which driver would you recommend for him? I would give the Intel ones a try, otherwise Samsung, but Samsung uses its own controllers only (AFAIK) while Intel uses not only Intel, but other brand's controllers, too (Sandforce for example). Do you have to pay attention for anything? For example should you manually select a brand's model with the same controller (if his drive has a Sandforce controller, should you only select ones with Sandforce controllers or would one with an Intel controller be fine, too?)?
     
  15. Agent-A01

    Agent-A01 Ancient Guru

    Messages:
    11,360
    Likes Received:
    896
    GPU:
    1080Ti H20
    His is a Phison controller which AFAIK never had any specific drivers.

    In that case only a firmware or bios update could fix the issues he is having as long as they are not software bugs.
     
    386SX likes this.

  16. Fernando 1

    Fernando 1 Member

    Messages:
    26
    Likes Received:
    5
    GPU:
    Intel iGPU
    According to my knowledge there are at least 3 different generic NVMe drivers, which can be used with all NVMe SSDs:
    1. Microsoft's Win10 in-box NVMe driver
    2. Open Fabrics Alliance's NVMe drivers (gave my 2 tested Samsung NVMe SSDs the absolutely best performance, but induces problems while rebooting or shutting down the PC)
    3. Intel RST v16 platform drivers (the installation has to be forced by pointing to the iaStorAC.inf and choosing the listed "Intel(R) NVMe Controller").
    The results of my benchmark comparison tests can be found >here<.
     
  17. mitzi76

    mitzi76 Ancient Guru

    Messages:
    8,640
    Likes Received:
    2
    GPU:
    MSI 970 (Gaming)
    Thanks for all the info chaps just about to try and get an m2 working on my P6T deluxe. Perhaps should have come here before starting a thread doh.

    Now hoping for a deal.
     
    386SX likes this.
  18. RJ Dowell

    RJ Dowell New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    Aorus 1080ti xtreme
    @ Fernando1, thanks for the comparison tests. I had Intel NVMe SSD on Asus Z97-deluxe a couple of years ago. However, back then I had issues, because Windows 10 insisted on the Microsoft driver. I don't remember though how I fixed that.
     

Share This Page