Which are the "best" Intel AHCI/RAID drivers?

I just setup a server with 10 same model hard disks. They are connected to the huananzhi X99-AD3 motherboard. dmesg | grep SATA shows they are all in 6.0Gbps mode.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
[manjaro bht]# dmesg | grep SATA
[ 4.868372] ahci 0000:00:11.4: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0xf impl SATA mode
[ 4.897174] ata1: SATA max UDMA/133 abar m2048@0xfb419000 port 0xfb419100 irq 33
[ 4.897176] ata2: SATA max UDMA/133 abar m2048@0xfb419000 port 0xfb419180 irq 33
[ 4.897177] ata3: SATA max UDMA/133 abar m2048@0xfb419000 port 0xfb419200 irq 33
[ 4.897179] ata4: SATA max UDMA/133 abar m2048@0xfb419000 port 0xfb419280 irq 33
[ 4.897410] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[ 4.947537] ata5: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416100 irq 34
[ 4.947538] ata6: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416180 irq 34
[ 4.947540] ata7: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416200 irq 34
[ 4.947541] ata8: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416280 irq 34
[ 4.947542] ata9: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416300 irq 34
[ 4.947544] ata10: SATA max UDMA/133 abar m2048@0xfb416000 port 0xfb416380 irq 34
[ 5.210474] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.210497] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.210519] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.210538] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260458] ata10: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260478] ata9: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260498] ata8: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260518] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260537] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 5.260554] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
 

I'm running multiple badblocks tests with bht on these drives, I noticed that four of the hdds are slower than the other six ones. Note that the while time elapsed are the same, four disks' progress are much less than the other six.
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
[manjaro bht]# ./bht --status
WDCWD120EMFZ-11A6JA0_X1G6H9LL:
badblocks[Reading and comparing 54.27% done, 31:15:19 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_QGGDS91T:
badblocks[Reading and comparing 56.07% done, 31:15:19 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_XHG0J1MD:
badblocks[Reading and comparing 54.20% done, 31:15:20 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_QGG3AB2T:
badblocks[Reading and comparing 54.56% done, 31:15:20 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_QGH5V04T:
badblocks[Reading and comparing 53.53% done, 31:15:20 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_QGGE07HT:
badblocks[Reading and comparing 57.00% done, 31:15:21 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_X1G502KL:
badblocks[Reading and comparing 4.50% done, 31:15:21 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=0]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_X1G9TYHL:
badblocks[Reading and comparing 3.96% done, 31:15:22 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=0]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_QGGL1ZVT:
badblocks[Reading and comparing 5.29% done, 31:15:22 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
WDCWD120EMFZ-11A6JA0_XHG0VRYD:
badblocks[Reading and comparing 4.00% done, 31:15:22 elapsed. (0/0/0 errors)]
HDD Type:[SATA]
SMART:[Reallocated_Sector_Ct=0]
SMART:[Power_On_Hours=1]
SMART:[Multi_Zone_Error_Rate=0]
 

I noticed in dmesg output, four disks are connected to 0000:00:11.4 while the other six are connected to 0000:00:1f.2. lspci shows this:

00:11.4 SATA controller: Intel Corporation C610/X99 series chipset sSATA Controller [AHCI mode] (rev 05)
00:1f.2 SATA controller: Intel Corporation C610/X99 series chipset 6-Port SATA Controller [AHCI mode] (rev 05)

It shows one is called sSATA Controller and the other is called 6-Port SATA Controller. What's the difference? I'm still wondering what's the root reason that the four drives are much slower? PCIe lane's width? or bios module issue?

Then I dumped the BIOS and checked it using UBU tool:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
                      Main Menu
[Current version in BIOS file]
1 - Disk Controller
EFI Intel RST for SATA - 14.8.2.2397
OROM Intel RST for SATA - 14.8.2.2397
OROM Intel RSTe for sSATA - 4.7.0.1014
EFI NVMe Driver present
2 - Video OnBoard
3 - Network
OROM Realtek Boot Agent GE - 2.67
4 - Other SATA Controller
5 - CPU MicroCode
View/Extract/Search/Replace
S - AMI Setup IFR Extractor
0 - Exit
RS - Re-Scanning
A - About
Choice:
 

The four slow disks are connected to the sSATA controller while the other six are connected to the SATA controller. So I'm wondering could I replace the last "OROM Intel RSTe for sSATA - 4.7.0.1014" module with "OROM Intel RST for SATA - 14.8.2.2397". It appears UBU tool can't do it automatically... Could I do it manually and how?

EDIT by Fernando: Put the details into "spoilers" (to save space)

@bsdko :
Welcome to the Win-RAID Forum!

That would not work, because the Intel sSATA RAID Controller (DeviceID: DEV_2827) needs an RSTe driver and an RSTe RAID ROM module. The on-board Intel SATA RAID Controller has the DeviceID DEV_2822 (RST mode).
By the way - as long as the Intel SATA and sSATA Controllers are running in AHCI mode, the Intel RAID BIOS modules will neither be loaded nor used.
Regards
Dieter (alias Fernando)

Thank you @Fernando

After some more testing, I found that it’s not the controller 2 is always slower. For example, if I test with only three HDDs connected to the controller 2, it can reach 200MB/s each. This is the iotop output:

1
2
3
4
 
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                                            
4646 be/4 root 0.00 B/s 212.35 M/s 0.00 % 99.94 % badblocks -b 32768 -c 512 -wsv /dev/sdc
4617 be/4 root 0.00 B/s 196.51 M/s 0.00 % 99.33 % badblocks -b 32768 -c 512 -wsv /dev/sdb
4591 be/4 root 0.00 B/s 202.85 M/s 0.00 % 99.26 % badblocks -b 32768 -c 512 -wsv /dev/sda
 

If I test with 9 HDDs in all in write mode, then the controller 2 becomes slower. So I guess the software level may be able to adjust the speed to make them even (through it's not done yet). Then problem is maybe there is speed cap in the motherboard or X99 chipset. This is the iotop output for 9 HDDs:
1
2
3
4
5
6
7
8
9
10
 
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND            
3638 be/4 root 0.00 B/s 106.44 M/s 0.00 % 99.90 % badblocks -b 32768 -c 512 -wsv /dev/sda
3641 be/4 root 0.00 B/s 106.44 M/s 0.00 % 99.84 % badblocks -b 32768 -c 512 -wsv /dev/sdc
3644 be/4 root 0.00 B/s 157.00 M/s 0.00 % 99.69 % badblocks -b 32768 -c 512 -wsv /dev/sdd
3650 be/4 root 0.00 B/s 158.07 M/s 0.00 % 99.39 % badblocks -b 32768 -c 512 -wsv /dev/sdg
3653 be/4 root 0.00 B/s 158.07 M/s 0.00 % 99.38 % badblocks -b 32768 -c 512 -wsv /dev/sdi
3642 be/4 root 0.00 B/s 105.91 M/s 0.00 % 99.38 % badblocks -b 32768 -c 512 -wsv /dev/sdb
3652 be/4 root 0.00 B/s 158.07 M/s 0.00 % 99.37 % badblocks -b 32768 -c 512 -wsv /dev/sdh
3648 be/4 root 0.00 B/s 158.07 M/s 0.00 % 99.36 % badblocks -b 32768 -c 512 -wsv /dev/sdf
3646 be/4 root 0.00 B/s 158.07 M/s 0.00 % 99.34 % badblocks -b 32768 -c 512 -wsv /dev/sde
 

The total speed of the 9 HDDs in all write mode is around 158MB/s * 6 + 106MB/s * 3 = 1266MB/s.
I also tested with 10 HDDs in all write mode, and the total speed is around 158MB/s * 6 + 75MB/s * 4 = 1248MB/s

Next I tested with 4 HDDs in write mode and 6 HDDs in read mode, the result is:
1
2
3
4
5
6
7
8
9
10
11
 
    TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND      
3929 be/4 root 0.00 B/s 116.08 M/s 0.00 % 99.99 % badblocks -b 32768 -c 512 -wsv /dev/sda
3933 be/4 root 0.00 B/s 122.44 M/s 0.00 % 99.99 % badblocks -b 32768 -c 512 -wsv /dev/sdb
3932 be/4 root 0.00 B/s 109.72 M/s 0.00 % 99.67 % badblocks -b 32768 -c 512 -wsv /dev/sdc
3935 be/4 root 0.00 B/s 119.26 M/s 0.00 % 98.74 % badblocks -b 32768 -c 512 -wsv /dev/sdd
3939 be/4 root 190.82 M/s 0.00 B/s 0.00 % 94.33 % badblocks -b 32768 -c 512 -wsv /dev/sdf
3943 be/4 root 187.64 M/s 0.00 B/s 0.00 % 94.32 % badblocks -b 32768 -c 512 -wsv /dev/sdh
3941 be/4 root 190.82 M/s 0.00 B/s 0.00 % 94.18 % badblocks -b 32768 -c 512 -wsv /dev/sdg
3945 be/4 root 190.82 M/s 0.00 B/s 0.00 % 94.16 % badblocks -b 32768 -c 512 -wsv /dev/sdi
3937 be/4 root 197.18 M/s 0.00 B/s 0.00 % 94.06 % badblocks -b 32768 -c 512 -wsv /dev/sde
3946 be/4 root 190.82 M/s 0.00 B/s 0.00 % 94.04 % badblocks -b 32768 -c 512 -wsv /dev/sdj
 

The total speed is around 190MB/s * 6 + 115MB/s * 4 = 1600MB/s
(I haven't tested all HDDs in read mode, I will test it later when badblocks check finish.)

I'm wondering what causes the cap of the speed? Why the cap speed is around 1250MB/s when all HDDs are in write mode while the cap becomes 1600MB/s when some HDDs are in read mode?

I have searched and learned that DMI 2.0 between the CPU and the PCH's bandwidth is 2GB/s. I don't have other devices (USB/Gbe) that are using a lot of speed. So what is causing the cap of the SATA controllers' speed?

@bsdko :
What has your recent post to do with the topic of this thread?

You should better ask the chipset manufacturer Intel than me, but this is what I suspect: The mainboard’s southbridge allows a certain maximum speed while writing data and a certain maximum speed while reading data. Since both tasks can be done simultaneously, the possible speed is higher, when not all HDDs/SSDs are doing the same task (write or read).

I just made this account to thank you Fernando, you made my day!
I can’t imagine I just found this information free online! This could cost anyone a ton of workload, and thus, SALUTE TO YOU MAN!
Recently I bought a WD Blue 1Tb 3D NAND SATA SSD and for some reason the response time and R/W speed were totally off. Task manager showed disk usage at 100% most of the time, and I had to revert my noisy stock 1Tb Seagate laptop HDD just to do simple things faster!
After 3 Days of trying horrible methods to clean install windows on my new SSD, I happened to find your post in here, and gosh, THANK YOU MATE! IT WORKED!
I just put the driver files you mentioned inside a USB flashdrive, and installed them just before partitioning my SSD in the Windows installation. IT ONLY TOOK 9 MINUTES to install the whole thing! Last year my stock HDD could do it in 9 hours! That was absolutely the most beautiful thing I have seen until today.
I’ll type my Lenovo Z500 laptop specs down below if anyone has the same problem(god forbid).
Thanks again mate, and I would really love to donate some buck to you, but unfortunately I live in a sh*thole called

and here’s no Paypal support. By any chance, do you happen to have a cryptocurreny wallet (like bitcoin wallets or etc)? Please don’t hesitate to send me your wallet address if you do!
Cheers.

My laptop:
Lenovo Z500 (non touch)
Chipset: Intel series 7
CPU: Intel Core i5 3230m
GPU: Nvidia 740m
Stock HDD: Seagate 1Tb SATA III 2.5 inch
SSD: WD Blue 1Tb 3D NAND SATA III 2.5 inch

@sawmyhead :
Welcome to the Win-RAID Forum and thanks for your feedback.
I am glad, that I could help you.

Unfortunately I don’t have any cryptocurrency wallet. Thank you anyway for your offer.
Enjoy your new WD Blue SSD running with the best driver for your system!
Dieter (alias Fernando)

This is a great find. Lots of resources. Thanks guys!

Hello, I was reading the forum for several days, trying to learn, and I think am ready to ask few questions - and hopefully not look too stupid while doing it. :slight_smile:
Ok, here are the specs - Motherboard: Asus P8Z77-M with the latest 2203 bios, Chipset Z77 (so 7-Series), AHCI selected Intel SATA Controller in AHCI mode, OS: Windows 10 64-bit (LTSC), OROM is 11.0.0.1339 but this I gather is not important when using the AHCI mode.

I really searched and read through heaps of posts but I never got it if Intel’s RST/RST(e) are in general better performing than Win10 in-box MS AHCI driver?
The same question for Asus P5QL PRO, P43 chipset with ICH10 which doesn’t support RAID but supports AHCI, it’s using the latest bios and AHCI is selected. Intel’s RST/RST(e) or Win10 in-box MS AHCI driver?

Since ICH10 is not mentioned, should I follow the recommendation for “Intel P45 and X58 Chipset/ICH10R”, which is: Intel RST(e) v11.7.4.1001?
For Intel 7-Series (Z77 chipset) the recommendation is Intel RST(e) v13.1.0.1058 or v13.2.8.1002. Should I install the software too, to set the write-back caching, and than uninstall it?

@van : Welcome to the Win-RAID Forum!
Here are my answers to your questions:

  1. The generic MS Win10 in-box AHCI driver is a good choice for the big majority of users with an Intel chipset system. Only for users, who ran into problems with the MS driver or want a better performance of their SATA connected disk drives, I recommend to think about the usage of a matching Intel RST driver. It is very easy (and not risky at all) to compare Microsoft’s standard AHCI driver with different Intel RST ones, if you install just the “pure” driver manually from within the Device Manager. The OS Device Management remembers and saves all tested drivers and lists the name of the related Intel SATA Controllers as “compatible devices”. This gives the user the ablity to return at any time to any previously tested AHCI driver without the need to reinstall them. This is the way to do it: Right-click onto the Intel AHCI Controller (listed witin the “IDE ATA/ATAPI Controllers” section) and choose the options “Update driver” > “Browse my computer…” > “Let me pick…”.
  2. For Intel AHCI/RAID users, who want to find out the best storage driver for their specific system, I recommend to test more than the drivers, which I have recommended within the start post of this thread. I haven’t tested all Intel chipsets and each specific system is different. For old Intel chipset systems with an ICH10 Southbridge running in AHCI mode I recommend to compare the Win10 in-box MS driver with the Intel RST driver v11.2.0.1006 WHQL.
  3. Intel RAID users should install the Intel RST Console Software and enable the “Write-back Caching” feature. Once it is done, the Software can be uninstalled from within the Control Panel. AFAIK it is not possible to enable the “Write-back Caching” for SATA drives, which are running in AHCI mode.

It would be fine, if you will give us your feedback after having done your own tests.
Good luck!
Dieter (alias Fernando)

Thanks for the advice @Fernando
In that case I will skip the Intel RST Console Software entirely and I shall try to squeeze some time for testing this weekend.
CrystalDiskMark would be appropriate, I guess?

There are no links for that version in the main driver thread, so I guess I should use drivers from the modded section: Modded Intel AHCI and RAID Drivers (digitally signed), Intel RST drivers v11.2.0.1006 dated 05/30/2012

There are no links for that version in the main driver thread


As you can see here, this is not true (excerpt from >this< page):

I don’t know I have managed to miss it. Thanks.

Motherboard Asus P8Z77-M, Windows 10 LTSC 64bit. Sets of 2 tests (to check for fluctuations and wild variations). Disc is Samsung SSD 860 EVO 1TB.

Tests, uppermost in bright green are Intel RSTe AHCI & RAID drivers v13.2.8.1002 WHQL tests, in the middle shown in grey are Intel RSTe AHCI & RAID drivers v12.9.4.1000 WHQL, and last are tests with Windows 10 inbuilt SATA AHCI drivers.

https://i.postimg.cc/sVNj0VS4/Samsung-SSD-860-EVO.png

It seems that for my combination of hardware, 12.9.4.1000 results are on top but win10 inbuilt drivers are not far off.
The recommended v13.2.8.1002 have shown the worst results, but again, not by much. All results are quite close performance-wise on both sequential reads and writes. 13.2.8.1002 are little worse on random 4k reads/writes.


What remains to be seen is the stability. I will use v12.9.4.1000 for a time and see.
@Fernando thank you very much for the help and for the resources available here. Much obliged.

Here are results in separate pics (forum code wouldn’t allow me to post the big pic).

CDM 860 EVO1.png


CDM 860 EVO2.png


CDM 860 EVO3.png

And this is the second desktop. Motherboard Asus P5QL PRO, Windows 10 LTSC 64bit. Sets of 2 tests (to check for fluctuations). Disk is Kingston 120GB SSD V300

ASUS P5QL PRO - LGA775 Socket - Intel P43 Express / Intel ICH10 (Intel Xeon L5408)

red = inbuilt Win10 64bit SATA AHCI driver
grey = 64bit Intel RST AHCI v11.2.0.1006 WHQL

Kingston1.png



For comparison, below are results for mechanical drive, WD Blue Hard Drive (WD10EZEX) with Intel RST AHCI v11.2.0.1006 driver.

Kingston2.png

Motherboard ASUS B85M-G (intel 8 series chipset), Windows 10 LTSC 64bit. Disk is Samsung SSD 860 EVO 500GB, tested with latest CrystalDiskMark.

CDM Benchmarks.png



Interesting observation, if you compare with previous tests/platforms you can see that the 4th gen Intel is quite better than in 4K writes - compared to 3th gen Intel CPU (in this case both are 4 cores 8 threads), when tested with the same SSD and on same (freshly installed) windows 10. Even if comparison is between Z and B chipsets (pro/OC/enthusiast vs business platforms) the newer gen is simply better.

edit: in case the pictures hosting gets busted sometime in future, let’s put it writing that v13.1.0.1058 performed better than v13.2.8.1002 in this case (even though v13.2.8.1002 is the recommended driver). So as Fernando said before, the best way is to test and check which one is best for you. But the “lazy” way of going with the recommended driver is not too bad ether, since differences between drivers are usually not big.

EDIT by Fernando: Pictures are now directly attached and will not disappear.

P6T Deluxe V2
Latest bios version is 1202 (2011/10/10)

Intel Chipset Device “Drivers”
>Intel Chipset Device Software Set v9.4.2.1020 WHQL< (>MIRROR<)

Intel RST/RST(e) AHCI/RAID Drivers
>Intel RST(e) AHCI/RAID Drivers & Software Set v11.7.4.1001 WHQL< (>MIRROR<)
or
>Intel RST(e) AHCI/RAID Drivers & Software Set v12.9.4.1000 WHQL< (>MIRROR<)

Marvell Support

you can also open up a request in bios modding for updated modules

notable drivers in Asus support for your board;
Marvell Yukon Gigabit Ethernet Driver V11.10.5.3
Intel Chipset Inf Update Program V9.1.1.1014
SoundMAX 2000B Audio Driver V6.10.1.6585
ASUS EPU-6 Engine V1.03.04
Intel Matrix Storage Manager Driver V8.9.0.1023

@splash : Welcome to the Win-RAID Forum!
Your question has been answered by me within the start post of >this< thread (look into the table at the bottom of it).
Good luck!
Dieter (alias Fernando)

ROG MAXIMUS X HERO

Intel(R) Rapid Storage Technology Driver Software V17.9.4.1017

And latest bios version is 2503 (2020/11/03)

Which are the “best” Intel AHCI/RAID drivers?

Intel’s RST/RST(e) AHCI/RAID Drivers

@onuracengiz : Do you remember to whom you replied your recent post?
While merging the related posts with this already existing and 100% matching thread the request post disappeared.