Mod+signed Samsung NVMe drivers for HP+Dell systems

@111alan :
I cannot download the 32bit A06 driver, which you have uploaded to MEGA, because it is encrypted and I don’t have the related key.

sorry. edited.

@111alan :
Thanks for the links.
I was able to extract both driverpacks (32bit and 64bit) and found, that their content seems really to be identical.
On the other hand it is hard to believe, that both will work. A 64bit Operating System needs a 64bit storage driver (= *.SYS file) and a 32bit OS a 32bit one.

Probably because these drivers are very simple. They only provide minimal performance improvement, the main focus is to get everything right, like getting smart info, and providing ports for ata and nvme1.1/1.2 commands such as secure erase.

@111alan :
Since you are running a 64bit OS and I am rather unsure, whether the identical storage driver can be used with a 32bit and a 64bit Windows OS, I have now prepared a mod+signed variant of the 64bit Samsung NVMe driver v1.4.8.1 dated 10/26/2015.
It would be fine, if you can test the attached driver and give me your feedback. If this driver is older than the currently in-use one, you may have to force the installation by using the “Have Disk” option.
Thanks in advance!

64bit Samsung NVMe driver v1.4.8.1 mod+signed by Fernando.rar (61 KB)

It works fine on 64bit. I’ll try to install a 32bit system to see if the 2.0.8 version driver works on it :stuck_out_tongue:

I tried 1.4.8.1, still no problem. But I can’t test those drivers under 32bit system because I can’t get the 32bit system to install in the first place. Tried many times. It seems that even the 32bit version of windows10 doesn’t include the xhci driver which is essential to get C621 chipset’s usb ports to work. I’m currently trying to find a workaround for it.

@111alan :
Thanks for your report.

What does “in the first place” mean? There should be no difference between the installation of a 32bit and a 64bit OS resp. the related boot order .

I cannot believe, that a specific in-box driver of a 32bit Windows OS supports other HardwareIDs than the same driver of the same 64bit OS Build.

I tried consumer business and ltsc versions of 32bit win10 on my C621/xeon gold platform, the installer doesn’t even recognize my usb keyboard and mouse.

Hi, i have an SAMSUNG PM1725a SSD, 1.6TB (MZWLK1T6HCHP) - mzwlk1t6hchp-00003. What driver can i use for that? My OS is Windows 2016 Datacenter 64Bit. Is there a huge difference in performance between Microsoft Standard NVM Express Controller and a modded Samsung driver?

@Pavel123 :
Welcome to the Win-RAID Forum!

Since there are not many users with your specific OS/SSD configuration, I recommend to find it out yourself.

Regards
Dieter (alias Fernando)

@Fernando
Finally got a testing platform which supports both 32bit system and nvme ssd. It seems that none of those drivers actually support those 32bit systems. Don’t know why Samsung decided to include 32bit support strings when the drivers themselves actually don’t support 32bit systems.

Also I found this:
https://www.dell.com/support/home/us/en/…oweredge-r730xd

I modded this driver with a new HWID, it actually supports windows 7 without any problem, so we can finally ditch the very old 1.4.7.6 driver. Could you mod this with the list of HWIDs and disk IDs in this thread?

Thanks for your work all along. They are really helpful. Now 7 of my friends are using PM1725 with your driver :stuck_out_tongue:
And happy new year.

SUBSYS_A812144D.JPG

Yeah there is a difference. If you’re using a genuine(not ES) drive, you can get an IOPS boost of 10%+, especially when the cpu power is not enough(like, when only 1 program is reading using less than 4 cpu cores).

The problem is, there are many ES drives in market. Their performance were cut down and when the modded driver was installed, the performance could drop to several kiloes of random IOPS abyss even at high QD. Currently I only suggest installing this driver to genuine drives, including Dell and genuine Oracle drives(with both main sticker and oracle PN sticker like in the picture below). If you are to install this to something else, test the performance with IOmeter before you start using it.

IMG_0654.jpg

@111alan :
Thanks for your interesting report.

Yes, but where is your finally modded driver? Is it linked within the start post?
By the way: What are “ES” drives? I have never heard about them.

I just modded it by replacing the HWIDs and disk ids’ list in both 64bit driver(which you already modded earlier) and 32bit driver. Here is the newer list, you can also update the win10 version to improve compatibility :stuck_out_tongue:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
%COMMNvme400GBGen.DeviceDesc% 			= nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A800144D
%COMMNvme800GBGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A801144D
%COMMNvme1600GBGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A802144D
%COMMNvme800GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A804144D
%COMMNvme1600GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A805144D
%COMMNvme3200GBSMSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A806144D
%COMMNvme1600GBSMHHGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A809144D
%COMMNvme3200GBSMHHGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_A80A144D
%COMMNvme800GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A801144D
%COMMNvme1600GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A802144D
%COMMNvme1800GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A804144D
%COMMNvme1920GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A807144D
%COMMNvme3200GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A803108E
%COMMNvme3200GBPM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A803144D
%COMMNvme3200GBPM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A80D144D
%COMMNvme6400GBPM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A80E144D
%COMMNvme800GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A811144D
%COMMNvme1600GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A812144D
%COMMNvme3200GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A813144D
%COMMNvme6400GBSM1725SFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A814144D
%COMMNvme3200GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81D144D
%COMMNvme6400GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81E144D
%COMMNvme12800GBSM1725HHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_A81F144D
%COMMNvme400GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F951028
%COMMNvme800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F961028
%COMMNvme1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1F971028
%COMMNvmeSM1715SFF3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA41028
%COMMNvmeSM1715AIC3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA61028
%COMMNvmeSM1713SFF3800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA51028
%COMMNvmeSM1713AIC3800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FA71028
%COMMNvmePMSFF3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB71028
%COMMNvmePMAIC3200GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB81028
%COMMNvmePMAIC6400GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FB91028
%COMMNvmeSM1715SFF800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBA1028
%COMMNvmeSM1715SFF1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBB1028
%COMMNvmeSM1715AIC1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A820&SUBSYS_1FBC1028
%COMMNvmePMSFF800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC11028
%COMMNvmePMSFF1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC21028
%COMMNvmePMHHH1600GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC41028
%COMMNvmePMHHH12800GB.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A821&SUBSYS_1FC51028
%COMMNvmePM1725A800GBSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FD91028
%COMMNvmePM1725A1600GBSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDA1028
%COMMNvmePM1725A3200GBSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDB1028
%COMMNvmePM1725A6400GBSFFGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDC1028
%COMMNvmePM1725A1600GBHHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDD1028
%COMMNvmePM1725A3200GBHHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDE1028
%COMMNvmePM1725A6400GBHHHLGen.DeviceDesc% = nvme_inst, PCI\VEN_144D&DEV_A822&SUBSYS_1FDF1028
 


and

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
CommNvme400GBGen.DeviceDesc 	= "NVMe XS1715 400GB Controller"
CommNvme800GBGen.DeviceDesc = "NVMe XS1715 800GB Controller"
CommNvme1600GBGen.DeviceDesc = "NVMe XS1715 1.6TB Controller"
COMMNvme800GBSMSFFGen.DeviceDesc = "NVMe SM1715 800GB Controller"
COMMNvme1600GBSMSFFGen.DeviceDesc = "NVMe SM1715 1.6TB Controller"
COMMNvme3200GBSMSFFGen.DeviceDesc = "NVMe SM1715 3.2TB Controller"
COMMNvme1600GBSMHHGen.DeviceDesc = "NVMe SM1715 1.6TB Controller"
COMMNvme3200GBSMHHGen.DeviceDesc = "NVMe SM1715 3.2TB Controller"
COMMNvme800GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 800GB Controller"
COMMNvme1600GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.6TB Controller"
COMMNvme1800GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.8TB Controller"
COMMNvme1920GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 1.92TB Controller"
COMMNvme3200GBPM1725SFFGen.DeviceDesc = "NVMe PM1725 3.2TB Controller"
COMMNvme3200GBPM1725HHHLGen.DeviceDesc = "NVMe PM1725 3.2TB Controller"
COMMNvme6400GBPM1725HHHLGen.DeviceDesc = "NVMe PM1725 6.4TB Controller"
COMMNvme800GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 800GB Controller"
COMMNvme1600GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 1.6TB Controller"
COMMNvme3200GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 3.2TB Controller"
COMMNvme6400GBSM1725SFFGen.DeviceDesc = "NVMe SM1725 6.4TB Controller"
COMMNvme3200GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 3.2TB Controller"
COMMNvme6400GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 6.4TB Controller"
COMMNvme12800GBSM1725HHHLGen.DeviceDesc = "NVMe SM1725 12.8TB Controller"
CommNvme400GB.DeviceDesc = "Dell Express Flash NVMe XS1715 400GB PCIe SSD Controller"
CommNvme800GB.DeviceDesc = "Dell Express Flash NVMe XS1715 800GB PCIe SSD Controller"
CommNvme1600GB.DeviceDesc = "Dell Express Flash NVMe XS1715 1.6TB PCIe SSD Controller"
COMMNvmeSM1715SFF3200GB.DeviceDesc = "Dell Express Flash NVMe SM1715a 3.2TB PCIe SSD Controller"
COMMNvmeSM1715AIC3200GB.DeviceDesc = "Dell Express Flash NVMe SM1715 3.2TB PCIe SSD Adapter by Samsung"
COMMNvmeSM1713SFF3800GB.DeviceDesc = "Dell Express Flash NVMe SM1713 3.8TB PCIe SSD Controller"
COMMNvmeSM1713AIC3800GB.DeviceDesc = "Dell Express Flash NVMe SM1713 3.8TB PCIe SSD Adapter by Samsung"
COMMNvmePMSFF3200GB.DeviceDesc = "Dell Express Flash NVMe PM1725 3.2TB PCIe SSD Controller"
COMMNvmePMAIC3200GB.DeviceDesc = "Dell Express Flash NVMe PM1725 3.2TB PCIe SSD Adapter by Samsung"
COMMNvmePMAIC6400GB.DeviceDesc = "Dell Express Flash NVMe PM1725 6.4TB PCIe SSD Adapter by Samsung"
COMMNvmeSM1715SFF800GB.DeviceDesc = "Dell Express Flash NVMe SM1715 800GB PCIe SSD Controller"
COMMNvmeSM1715SFF1600GB.DeviceDesc = "Dell Express Flash NVMe SM1715 1.6TB PCIe SSD Controller"
COMMNvmeSM1715AIC1600GB.DeviceDesc = "Dell Express Flash NVMe SM1715 1.6TB PCIe SSD Adapter by Samsung"
COMMNvmePMSFF800GB.DeviceDesc = "Dell Express Flash NVMe PM1725 800GB PCIe SSD Controller"
COMMNvmePMSFF1600GB.DeviceDesc = "Dell Express Flash NVMe PM1725 1.6TB PCIe SSD Controller"
COMMNvmePMHHH1600GB.DeviceDesc = "Dell Express Flash NVMe PM1725 1.6TB PCIe SSD Adapter by Samsung"
COMMNvmePMHHH12800GB.DeviceDesc = "Dell Express Flash NVMe PM1725 12.8TB PCIe SSD Adapter by Samsung"
COMMNvmePM1725A800GBSFFGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 800GB PCIe SSD Controller"
COMMNvmePM1725A1600GBSFFGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 1.6TB PCIe SSD Controller"
COMMNvmePM1725A3200GBSFFGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 3.2TB PCIe SSD Controller"
COMMNvmePM1725A6400GBSFFGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 6.4TB PCIe SSD Controller"
COMMNvmePM1725A1600GBHHHLGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 1.6TB PCIe SSD Adapter by Samsung"
COMMNvmePM1725A3200GBHHHLGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 3.2TB PCIe SSD Adapter by Samsung"
COMMNvmePM1725A6400GBHHHLGen.DeviceDesc = "Dell Express Flash NVMe PM1725a 6.4TB PCIe SSD Adapter by Samsung"
 


About ES, it means "engineering sample", which was sent to OEM vendors for testing, debugging or validation. Due to these purposes the drive may be built with also engineering sample controllers or NANDs, or contain a early or unusual firmware. These may affect the performance, make the drive behave differently when receiving commands, or worse, contain unfixed bugs which makes the drive easier to fail.

edit: I attached the modded drivers, both win10 and win7 :P

2.0.8.1161mod.zip (119 KB)

1 Like

@111alan :
Attached are the requested freshly mod+signed 64bit Samsung NVMe drivers v2.0.8.1611 for Win7 and Win10.
Good luck!

EDIT: The attached mod+signed 64bit NVMe drivers v2.0.8.1611 for Win7 and Win10 have been removed. They are now available >here<.

It seems that there is a bad string here in win10 package, probably a mistake when copying?

bad string.JPG

No, unfortunately I have copied the mistake from the related INF file, which was in your attached driverpack.
Meanwhile I have corrected the mistake and will replace the Win10 driverpack within the next minutes.

EDIT: Done!

Sorry my bad, I wasn’t copying from a existing working driver but chose to paste it again, then something went wrong…

Now this works fine, thank you again :stuck_out_tongue:

Tested by several people and work fine for now. You can put it up in the storage driver thread:P