Setting up AHCI Sata3 SSD with Gigabyte-ud3r-x58a

blitzace

Distinguished
Jul 18, 2010
124
0
18,680
So upgrading PC to include SSD and learning that my gigabyte-ud3r-x58a has issues if you try to install Windows 7 as AHCI from the outset on SSD device. After multiple failed attempts, came across these threads that seemed to describe my issue.

http://www.tomshardware.com/forum/321490-30-sata3-ahci-gigabyte-ud3r-x58a
https://support.microsoft.com/en-us/help/922976/error-message-occurs-after-you-change-the-sata-mode-of-the-boot-drive

Installed OS with bios settings set to IDE, and after performing all windows updates followed the steps in these threads (changed regedit, restarted and set everything in BIOS to AHCI, saw that drivers successfully installed and restarted again). SSD is Samsung 850 Evo plugged into SATA3 port 6 on MB (Marvell) with HDD in port 0 but haven't initialized it yet.

As soon as I switched to AHCI I seem to be getting the same issues (i.e. computer will sometimes lag and take minutes to respond to any click or command I enter, fail to boot up, BSOD, etc). After days of trying different configurations without success figured I would reach out here. At this point I'm about ready to give up and just change everything back to IDE if there's no easy solution, would I be missing out on a lot of extra performance? Here's CrystalMark results which ran smooth on IDE (left) but took forever to obtain under AHCI(right).

https://imgur.com/a/WXEdN

Any help would be much appreciated. Thanks!
 
Solution
AHCI enables NCQ - native command queuing. Basically lets your drive service multiple file requests simultaneously. SSDs are so fast that for small files the file request from the filesystem takes more time than the actual data retrieval. So retrieval can be sped up by queuing up multiple file requests at once, which is what NCQ does. Without NCQ, the filesystem has to wait for the previous file request to be completed before it can make a new request. Meaning the SSD sits there doing nothing while it waits for the next file request to come through. Large file transfers take more time so aren't affected by this as much. It mostly impacts small file transfers.

In disk benchmarks, you'll see this as a difference in the 4k vs...
AHCI enables NCQ - native command queuing. Basically lets your drive service multiple file requests simultaneously. SSDs are so fast that for small files the file request from the filesystem takes more time than the actual data retrieval. So retrieval can be sped up by queuing up multiple file requests at once, which is what NCQ does. Without NCQ, the filesystem has to wait for the previous file request to be completed before it can make a new request. Meaning the SSD sits there doing nothing while it waits for the next file request to come through. Large file transfers take more time so aren't affected by this as much. It mostly impacts small file transfers.

In disk benchmarks, you'll see this as a difference in the 4k vs 4kQD32 (or QD-something else) benchmarks. The Q stands for queue depth - how many file requests are queued up at once. Please note that QD32 is sort of a "best case" result. In real-life use, a queue depth of 1-8 is more likely, 1-4 much more likely.

cdm-120gb.jpg


Edit:

You could also try setting the SATA port to RAID mode. RAID is a superset of AHCI mode. (Never mind, looks like the specs say "SATA3 SSDs are not recommended for use in RAID 0 mode on Marvell SE9128 ports.")

You could also try using your 3 Gbps SATA ports. Based on the motherboard specs, it looks like the 3 Gbps ports are connected to the Intel Southbridge controller, rather than the Marvell controller. While it may seem like a bad trade to give up sequential speeds for faster 4k speeds, you have to understand that because the 4k speeds are slower, they actually take more time and thus represent a greater percentage of your wait time. So improving 4k speeds is actually more important than fast sequential speeds. SSDs feel so much faster than a HDD because of the 4k speeds (typically 30-70 MB/s vs about 1 MB/s for a HDD, so about 50x faster). Not because of the sequential speeds (typically 500 MB/s vs about 125 MB/s for a HDD, so only 4x faster).
 
Solution

blitzace

Distinguished
Jul 18, 2010
124
0
18,680
Thanks Solandri! So I ended up plugging everything in to the Intel Sata II controllers as you suggested and set everything to AHCI in the BIOS before a fresh OS install. This time around no issues and wow what a speed difference. I've been using the SSD for months and feel like I was doing it wrong the whole time because the difference is night and day haha

Also, I would have never guessed it's better to run an SSD in AHCI on Sata II instead of IDE on Sata III, thank you for explaining the how and why behind it! And thank you Calvin, I made sure to use the intel preinstall drivers this time around.

Last question, I assume I don't need to go through the regedit steps again since everything seems to be working properly? If there's a way to confirm that windows is in fact utilizing the SSD in AHCI mode that would be great. Thanks again for everything!