How to boost the AHCI/NVMe performance of Intel Chipset systems

@ all Intel AHCI resp. NVMe users:

Optimized SSD Performance - Advices for Intel AHCI and NVMe Users

If you want to get the best performance and benchmark scores with your Intel Chipset system running in AHCI or NVMe mode, you should do the following:

    
    
  1. Connect the SSD to the port/slot, which offers the best possible performance:
    • 2.5-inch SATA SSDs should be connected to the first Intel SATA port (named port0).
    • If possible, NVMe SSDs should be inserted into resp. connected via adapter to a PCIe 3.0 slot with 4 lanes (usually much better performance than a direct M.2 port connection).
  2. 
    
  3. Update the SSD Firmware:
    • Check the websites of your SSD manufacturer for a newer/better Firmware.
    • If such Firmware is available, flash it.
  4. 
    
  5. Optimize the BIOS:
    • Make sure, that your system is using the latest/best BIOS version.
    • If you want to improve the performance of your system, you should set the “CPU C-Status Support” (the specific name may be different) to “Disabled”. You can find this option within the “Advanced” > “CPU Configuration” section of the BIOS.
      Here is the related picture:

      BIOS CPU C-States Support setting.jpg


      Disadvantage of a long-term usage of this BIOS setting: Your CPU resp. your system will consume more electrical energy.

  6. 
    
  7. Clean the SSD you want to use as system drive
    • Unless you start with a brandnew SSD, I recommend to do a “Secure Erasure” of the future system drive SSD (all existing data of the SSD will be lost!). You can use either the specific SSD tool offered by the manufacturer of the SSDs (look >here<) or a universally usable tool like “Parted Magic” (not recommended for M.2 PCIe SSDs!).
      Note: As you can read >here<, there are different opinions about the sense and the benefit of an SSD secure erasure.
  8. 
    
  9. Do a fresh OS installation:
    • Use an original or correctly updated/customized OS image as source. I do not recommend to transfer/clone an already previously existing system partion.
    • Take care of the correct partition alignment! Let the Win7/8/10 Setup do the job or use the “diskpart” commands manually.
  10. 
    
  11. Optimize the OS configuration:
    • Once the OS is up and running, open the Device Manager and look for missing drivers.
    • Install the missing drivers and update/optimize the most important other ones (Intel RST, Intel MEI etc.).
    • Update your Windows.
    • Disable all unneeded Windows Services incl. the Superfetch and Indexing ones.
    • When you install any applications, which are permanently running in the background (like Antivirus software), choose a product, which has just a very moderate impact on the system performance.
  12. 
    
  13. Make sure, that the OS has detected your SSD as “Solid State Drive”:
    • Call up (don’t execute!) the “Defrag Tool” (Win7) resp. the “Optimizer” (Win8/8.1) and look, if the SSD as your system drive is listed as “Solid State Drive” and not as “Hard Disk Drive”.
    • If the SSDs should be listed as “Hard Disk Drive” by mistake, run the “Windows Experience Index” (Win7) or the command “WinSAT diskformal” (Win8/10). This will force the SSD detection.
  14. 
    
  15. Install the “best” AHCI resp. NVMe driver for your system.
    • AHCI driver:
      • You may find it >here< or >here<.
      • The Intel AHCI drivers usually have a much better WRITE performance than the default generic MS AHCI driver, which comes with the OS. You can verify it, if you look into the start post of >this< thread.
      • My tip: Install the AHCI driver manually.
        Do not run the installer of any Intel RST Drivers & Software Set, because
        a) AHCI users do not really need the RST Software and
        b) the automaticly installed Intel RST Services will be running in the backgound and lower your performance.
    • NVMe driver:
  16. 
    
  17. Enable the Device Manager Write Caching options:
    • Open the Device Manager.
    • Expand the section “Disk drives”.
    • Right click onto the listed system drive and choose the Option “Properties”.
    • Hit the tab “Policies”.
    • Enable both options as shown here:

      Disk Drive Policies Settings.png


      Warning: Turning off the write-cache buffer flushing (second option) may cause a data loss in case of a power interruption or unexspected reboot.

    • Hit “OK”.
      Attention:
      Due to a Win7 bug regarding the “Policies” settings of the disks within the Device Manager it may be needed to uncheck both options, then to reboot and to check them again. Otherwise you may get vice versa effects.
  18. 
    
  19. Disable the Link Power Management (LPM).
    The easiest and best way to it is to enter the BIOS, go to the “Storage Configuration” settings and disable the “SATA Aggressive Link Power Management”.
    An alternative method requires the installation of the Intel(R) Rapid Storage Technology Software and is only recommended for AHCI users, who have already installed or want to use the complete Intel RST Drivers & Software Set anyway.
    Note: The LPM settings will be lost at once, when the Intel RST Software will be uninstalled.
    Do the following:
    • Run the Intel(R) Rapid Storage Technology Console Software.
    • Hit the tab “Performance”.
    • Set the “Link Power Management” to “Disabled”. This is what you will get:

      Link Power Management Settings.png

    • Close the Intel RST Console.
    • My tip: Disable all Intel RST Services, which are running in the background.
  20. 
    
  21. Optimize the "Energy Options" of the OS (only reasonable, when the user wants the best read performance):
    • Open the Control Panel.
    • Hit the section "Energy Options".
    • Choose the option "High Performance".
      Here is the related picture:

      Power Options - High Performance Settings.png

    • Close the Control Panel.
  22. 
    
  23. Install an appropriate Intel MEI driver version:
    • Some Intel MEI driver versions have a positive impact an the system performance of modern Intel Chipset systems.
    • For details look >here<.
  24. 
    
  25. Minimize the background processes:
    • Uninstall not essentially needed programs (like the Intel RST Software) or disable their Services.
    • Run the Task Manager and hit the tab "Startup"
    • Set all unneeded programs to "Disabled". Look here:

      Task Manager Performance Boost Settings.png

  26. 
    
  27. Clean your SSD(s)
    • Empty the Recycle Bin.
    • Send TRIM commands into the SSD(s), provided that TRIM is supported by your system.
      This can be done by
      • a) the special tool, which is provided by the SSD manufacturer (e.g. Intel SSD Toolbox),
      • b) the Win8/8.1 "Optimizer" (former Defrag Tool, for details and restrictions please read >this< thread.) or
      • c) the "TRIM triggering" option of "Anvil's Storage Utilities".


Have fun!
Fernando

One remark on that “highest power” option - why do you recommend it? I don’t see any performance gain. Well i changed them to my likings and you have to make sure LPM is not in use (like in BIOS as option if available, else change in registry).

What you do loose instead if you don’t choose balanced/energy saving: SpeedStep/EIST/C1E, CnC if you use it (so it doesn’t matter for extreme-oc). Check http://www.techarp.com/showarticle.aspx?artno=537&pgno=2 f.e.

@ diNovoM:
Welcome at “Win-RAID Forum” and thanks for your post, which gives me the opportunity to clarify, what I meant.

I do not really recommend to permanently choose the “High Performance” setting of the “Energy Options”. This tip was only valid for users, who are going to do some benchmarks and don’t want to be dissappointed, that other users with a similar hardware configuration get better 4K Read scores.

According to my experience this "Energy Options" settng will give the user better 4K read scores.

Regards
Fernando

Ah - i see. Well, that’s ok for me. Didn’t know it was for benchmarking only. Also the RAID-Topic - while it is a bit more detailed - doesn’t recommend to set this option for benchmarking only.

It is not just for benchmarking. This option is recommended, when the user is in a situation, where he wants the best read performance.

Yeah, and since I don’t want to turn off any powersaving options, I start Prime95 with one thread running and benchmark. The difference is obvious.

GL

Here is another tip how to boost the Intel AHCI performance (only valid for users with a Samsung 840 EVO or 840 PRO SSD):

  • Run the latest Samsung Magician v4.x and enable the “RAPID Mode”.


These are my recent benchmark results running a single, 1 year old 256 GB Samsung 840 PRO in RAPID Mode (OS: Win8.1 x64, AHCI driver: Intel RST(e) v12.9.0.1001):

A. Samsung “RAPID Mode” disabled:

Anvils-Tool_Samsung-840-Pro_Win8.1-AHCI_RST-v12.9.0.1001.png



B. Samsung "RAPID Mode" enabled:

Anvils-Tool_Samsung-840-Pro_Win8.1-AHCI_RST-v12.9.0.1001_RAPID-mode.png



Comment:
The nearly unbelievable benchmark results I got while running the Samsung 840 PRO SSD with enabled "RAPID Mode" is caused by the use of 10-15% of the RAM as data cache. Since the RAM is much faster than the SSD, the measured read and write speeds are catapulted into much higher levels than they were, when I ran the exactly same SSD as member of my RAID0 array.
Nevertheless you should remember, that these are just synthetic benchmark results. While doing your normal work with your computer, you will not realize a similar performance difference with and without the Samsung "RAPID Mode".

why no performance gain in daytoday work?

I have not written, that there is no gain in real life, when you run your Samsung 840 EVO/PRO SSD in RAPID Mode, but the performance will not be doubled.

Zitat von CPL0

If your running in AHCI mode the RAID OROM is not loaded. IOW it will have no effect updating it if running in AHCI mode.



That’s right I completely forgot the orom is not loaded when using AHCI. So, the only thing that matters is to hunt down the best AHCI driver then. Ok will start testing different AHCI drivers immediately. Unless there is no such thing as best driver where AHCI is concerned.

I’m in the same boat as you – x58/ICH10R, 11.2.0.1527/11.2.1006, running an 840 Pro in AHCI mode. I’m curious if I would gain any performance/features/stability by upgrading either the OROM or drivers.
Have you come to any conclusions in your testing?

EDIT by Fernando: Deletion of unneeded quoted text (to save space and to prevent a Forum performance drop)

Well, because we are using a Samsung SATA 3 SSD, I think it is imperative we run these with RAPID mode enabled since it is now considered stable. It really depends on the usage scenario. If you need maximum transfer speed from either to/from your network or to/from other SSD’s in the same system, I would then use RAID 0 (I have 4 SSD’s in here now all in AHCI for the first time in their lives). However, if your looking for maximum Windows performance/snappiness I would use AHCI + Samsung RAPID mode. My IOp’s jumped considerably (Almost 90k) and so did 4k writes going to AHCI. Something that was not the case with my old C300’s. The C300’s convinced me I needed to always run them in RAID 0. I guess the Samsungs are better spent in AHCI mode on these older motherboards. I have a fairly descent Home Server but it only contains platter based drives, so my max Network speed is around 108 Mbps. Hardly a reason to run my Samsungs in RAID since my only transferring is done to/from the Network. This may come as a shock, but I had 6 original Vertex drives back when they were first released. I put 4 of them in RAID 0 on this system when I got this mobo and still to this day nothing has compared. Either 4 SSD’s in RAID 0 is the sweet spot or those drives just shined in RAID, I do not know which. My system became much more stable when I retired them and went with two C300’s in RAID 0, however I never did get more than 3 of them in RAID. Even with three of them it still did not feel as fast as the original Vertexs did in RAID 0 x 4. I eventually removed one of the C300’s and put it in my Laptop, however I still have two of them still in here, currently in Windows RAID 0 with 16k hours of on time. This single Samsung 840 Pro in AHCI is the closest I have come to the grease lightning speed I felt with those 4 Vertexs, which nearly gave me 700 Mbps on a system that apparently has a max theoretical transfer of only 660. Either that, or it was the shock/awe factor of my first SSD experience forever engraving itself into my brain, lol…

Anyway, I have no clue which AHCI driver version is best. During Windows setup I pointed it to the 11.2 AHCI drivers from Intel not thinking about the built in Windows drivers. I should have just let Windows install first and then done some sort of tests. I would think the Windows drivers are newer. One of my problems is I do a LOT of reading, then have no time to test the theories I’ve read about until days/weeks/months later. By then I forgot much of what I read, lol… So, I can’t seem to remember if there was any differences between AHCI versions or not. I do remember hearing that RAID is especially sensitive to driver versions, so maybe AHCI is not? That is the question…

EDIT by Fernando: Deletion of unneeded quoted text (to save space and to prevent a Forum performance drop)

Recently I have measured the performance of my Samsung 840 PRO SSDs running in AHCI mode and as members of a RAID0 by using different AHCI/RAID driver versions (inclusive the generic MS AHCI and the on-board Intel RAID driver). My benchmark results have been published Intel(R) RST/RSTe Drivers (actual: v12.8.10.1005 WHQL/v3.8.1.1006 WHQL). Although my tests have been done with a more actual Intel Z77 system, the results verify, that the performance differences between the AHCI driver versions are so minimal, that the user will not realize it while working with his computer.
For users with an Intel 3- or 4-Series Chipset running their SSD(s) in AHCI mode I generally recommend to use the Intel RST driver v11.2.0.1006, not by reason of the performance, but of the stability. The actual Intel RST(e) drivers with the additional SCSI filter driver iaStorF.sys were developed for actual Intel chipsets and are not the best choice for users with an older Intel chipset.

OK Fernando, fair enough. I am already using 11.2.0.1006 AHCI drivers, so I will just keep myself as-is and be happy. I am saving up for a i7-4770K anyway, so maybe later this year, or around the time Haswell-E is released I will pull the trigger. Maybe just maybe prices will come down further, I hope… I been wanting a Z87 for a while now, since x99 will probably be way over priced.

I have also been thinking of upgrading my complete system to the Haswell-E 8 core system when it comes out.

This should be a worthwhile upgrade from the system I have now with a Intel Core i7 980X.

Hopefully the Haswell-E boards will support TRIM in RAID 0 as standard
and not need to mod the Intel RAID ROM Module.

Wow, I would be best friends with anyone who can afford a $1000 processor :wink: At 1 grand I would need it to be 10ghz, have 100mb of L1 cache, and make dinner at least 5 times a week.

How much you want for your 980x when your done with it? lol, it can’t hurt to ask, right?

I will need to save up for a while to get Haswell-E. I have a laptop that will take my Intel Core i7 980X.

The reason I ask is because when I retire this R3E I am going to want to put a Hexa core into it so it will become one badass Plex Server. My Q6600 has been getting really beat up by all the Transcoding its been doing and well its showing its age. Anyway, I can throw a Xeon x5660 into the R3E cheap enough and overclock it a tad. That should work…

Back on topic, I am not sure but I think the 12.8.10.1005 AHCI drivers seem just as stable to me, if not more stable than 11.2. I had a funny little glitch with my browser that I just ignored but now its gone ever since I installed the 12.8 drivers. Hmm strange… I must keep testing this for now.

Wow, those RAPID-mode benches are peculiar! What OROM are you using for them? Why did you use 12.8.6.1000, out of curiosity (and perhaps not a later driver)?
Now this has me wondering if I should jump from 11.2.0.1006 to the 12.8.6.1000 :slight_smile:

EDIT by Fernando: Quoted text corrected

Because no later Intel RST(e) drivers were available at 12/13/2013, when I have done the linked benchmark tests.
By the way: >Here< you can find my actual benchmark results running the same Samsung 840 PRO SSD in RAPID mode with the currently latest Intel RST(e) drivers v12.8.10.1005 WHQL.