AHCI gives me a headache...
August 28, 2007 5:14 PM
Hard Drive Filter: Someone explain to me how SATA and AHCI work.
I got some new computer parts. I've been building my own systems for nearly eight years now and it's the best way for me to learn the in's and out's of my system. This is the first time I've had an SATA capable motherboard and an SATA hard drive, and so far it's been nothing but headaches. I *suspect* a lot of the headaches has to do with the fact that I do *not* want to do a fresh install of my operating system (although, if that is all that is needed to take away all my headaches, please confirm). I'm on a copy of WinXP from university a few years back -- not quite sure about all the legal ramifications of using still using their OS, but I'm not interested in that discussion right now. However -- just in case Microsoft disables my computer remotely or whatever is up their sleeves -- I disabled Automatic Updates and don't have Service Pack 1 or 2. That might also make a difference. So. Onto the questions.
1. My new motherboard is a Gigabyte GA-P35-DS3R (that's this one). If you look on their drivers list, there's a section for SATA RAID drivers, an Intel one for their Northbridge controller and a GSATA one for a second controller (by JMicron?). As I understand it I need to install these drivers for WinXP to recognize SATA drives. Do these drivers work for *ALL* SATA modes, even if it's specifically labeled as RAID? (I'm not looking for a RAID setup.) It looks like I need to install these drivers even if I want to just use the SATA controller in IDE mode -- is this true?
2. I'd like to enable AHCI to make the most of my SATA drives. So far, I know that I'm supposed to do a repair install of WinXP, load up the RAID driver (even if I don't want RAID), and then change the BIOS setting to make the hard drive work in AHCI mode. So I tried that on the GSATA controller and I got WinXP to boot-- huzzah! BUT -- the drives on the IDE controller disappeared! I only see my SATA hard drive, and not my IDE hard drive and CD-DVD drive which is on the IDE controller. Are AHCI and IDE mutually exclusive or incompatible? If a system is on AHCI is IDE disabled? If so, why doesn't this warning exist anywhere? Or did I do something wrong?
3. Do I need to load the SATA drivers *everytime* I do a repair install? Would I be able to install two drivers, one for each controller, on a single install?
I got some new computer parts. I've been building my own systems for nearly eight years now and it's the best way for me to learn the in's and out's of my system. This is the first time I've had an SATA capable motherboard and an SATA hard drive, and so far it's been nothing but headaches. I *suspect* a lot of the headaches has to do with the fact that I do *not* want to do a fresh install of my operating system (although, if that is all that is needed to take away all my headaches, please confirm). I'm on a copy of WinXP from university a few years back -- not quite sure about all the legal ramifications of using still using their OS, but I'm not interested in that discussion right now. However -- just in case Microsoft disables my computer remotely or whatever is up their sleeves -- I disabled Automatic Updates and don't have Service Pack 1 or 2. That might also make a difference. So. Onto the questions.
1. My new motherboard is a Gigabyte GA-P35-DS3R (that's this one). If you look on their drivers list, there's a section for SATA RAID drivers, an Intel one for their Northbridge controller and a GSATA one for a second controller (by JMicron?). As I understand it I need to install these drivers for WinXP to recognize SATA drives. Do these drivers work for *ALL* SATA modes, even if it's specifically labeled as RAID? (I'm not looking for a RAID setup.) It looks like I need to install these drivers even if I want to just use the SATA controller in IDE mode -- is this true?
2. I'd like to enable AHCI to make the most of my SATA drives. So far, I know that I'm supposed to do a repair install of WinXP, load up the RAID driver (even if I don't want RAID), and then change the BIOS setting to make the hard drive work in AHCI mode. So I tried that on the GSATA controller and I got WinXP to boot-- huzzah! BUT -- the drives on the IDE controller disappeared! I only see my SATA hard drive, and not my IDE hard drive and CD-DVD drive which is on the IDE controller. Are AHCI and IDE mutually exclusive or incompatible? If a system is on AHCI is IDE disabled? If so, why doesn't this warning exist anywhere? Or did I do something wrong?
3. Do I need to load the SATA drivers *everytime* I do a repair install? Would I be able to install two drivers, one for each controller, on a single install?
According to my friend, a fresh windows install "has been a breeze so far." I think it's fair to say that a fresh install will at least get you a running system. AHCI might be a bridge too far. If you want to play with it, I'd suggest a 2nd harddrive and a fresh windows install for testing, no reason to have to worry about being able to use your box while you're fiddling.
posted by Skorgu at 5:53 PM on August 28, 2007
posted by Skorgu at 5:53 PM on August 28, 2007
I have this exact motherboard, and there are 8 sata ports. 6 are Intel SATA ports and 2 are Gigabyte SATA ports. I am using the Intel SATA ports in AHCI mode with my SATA drives, and am not using the Gigabyte SATA ports. (Some benchmarking showed that they were slightly faster anyway.)
The "SATA RAID/AHCI Mode" option listed in the "Integrated Peripherals" page in the BIOS is for the Intel SATA Ports. I would recommend using the Intel SATA ports instead of the Gigabyte SATA ports, and in the BIOS, setting the "Onboard SATA/IDE Ctrl Mode" (which is for the Gigabyte SATA/IDE ports) to IDE in order to use your IDE drives.
posted by yeoz at 6:07 PM on August 28, 2007
The "SATA RAID/AHCI Mode" option listed in the "Integrated Peripherals" page in the BIOS is for the Intel SATA Ports. I would recommend using the Intel SATA ports instead of the Gigabyte SATA ports, and in the BIOS, setting the "Onboard SATA/IDE Ctrl Mode" (which is for the Gigabyte SATA/IDE ports) to IDE in order to use your IDE drives.
posted by yeoz at 6:07 PM on August 28, 2007
Er, actually, not this exact motherboard (the DQ6 actually), but, what I said still applies.
posted by yeoz at 6:09 PM on August 28, 2007
posted by yeoz at 6:09 PM on August 28, 2007
Anyway, bottom line, use the Intel SATA ports for AHCI, and leave the Onboard gigabyte SATA/IDE controller in IDE mode for IDE devices.
posted by yeoz at 6:15 PM on August 28, 2007
posted by yeoz at 6:15 PM on August 28, 2007
You should only need to install the drivers once, (unless you completely reinstall). But, if the drivers aren't there for whatever reason when booting up under AHCI for whatever reason, Windows XP will generate a STOP 0x7B blue screen. Vista should work with AHCI natively.
Oh, and make sure you're installing the right AHCI drivers (Intel vs Gigabyte).
posted by yeoz at 6:18 PM on August 28, 2007
Oh, and make sure you're installing the right AHCI drivers (Intel vs Gigabyte).
posted by yeoz at 6:18 PM on August 28, 2007
Also, I strongly recommend slipstreaming SP2 as Skorgu mentioned. You'll might still need to do the F6 thing for the AHCI driver, (unless you slipstream that too, but, that's non-trivial IMHO).
posted by yeoz at 6:21 PM on August 28, 2007
posted by yeoz at 6:21 PM on August 28, 2007
In 32 bit Windows XP, AHCI will make little difference in disk performance, since the internal structure of the Windows XP disk service routines, called SCSIport (even though they are necessarily called by all PATA and SATA RAID drivers, too, the name being legacy from Windows NT days) is the limiting factor for disk performance [link to Microsoft Word whitepaper discussing SCSIport and StorPort]. Essentially, so long as you run 32 bit Windows XP, you're stuck with SCSIport internally as your RAID driver, and AHCI means nothing to you, in any practical performance sense. Running old, unpatched OEM Windows XP, as you are, is even less likely a route to success with AHCI.
A newer disk management interface called StorPort is available for 64 bit Windows XP, Windows 2003, and Vista, which is significantly more efficient, and drivers written to take advantage of StorPort and which use 64 bit AHCI, for disk controller chipsets which are 64 bit clean, and if used with SATA disks whose firmware actually performs optimally when presented with higher level feature commands like hot plugging and native command queuing, could present higher disk performance. But the current AHCI spec (rev 1.2) was only ratified in April 2007, and chasing drivers written to that spec, that are 64 bit StorPort aware, is a wild goose chase, I think. Moreover, the slow adoption of 64 bit Windows versions, which is responsible for the lack of driver availability on StorPort is probably masking the relative lack of good disk firmware implementations of native command queuing in most SATA disks, which would only become glaringly apparent if the disks were running in test suite situations where the limits of SCSIport and 32 bit chipsets weren't controlling throughput issues.
Unless you're willing to go out on the 64 bit Windows ledge, I think you're really chasing rabbits if you expect much out of AHCI now, or in the foreseeable future.
posted by paulsc at 6:25 PM on August 28, 2007
A newer disk management interface called StorPort is available for 64 bit Windows XP, Windows 2003, and Vista, which is significantly more efficient, and drivers written to take advantage of StorPort and which use 64 bit AHCI, for disk controller chipsets which are 64 bit clean, and if used with SATA disks whose firmware actually performs optimally when presented with higher level feature commands like hot plugging and native command queuing, could present higher disk performance. But the current AHCI spec (rev 1.2) was only ratified in April 2007, and chasing drivers written to that spec, that are 64 bit StorPort aware, is a wild goose chase, I think. Moreover, the slow adoption of 64 bit Windows versions, which is responsible for the lack of driver availability on StorPort is probably masking the relative lack of good disk firmware implementations of native command queuing in most SATA disks, which would only become glaringly apparent if the disks were running in test suite situations where the limits of SCSIport and 32 bit chipsets weren't controlling throughput issues.
Unless you're willing to go out on the 64 bit Windows ledge, I think you're really chasing rabbits if you expect much out of AHCI now, or in the foreseeable future.
posted by paulsc at 6:25 PM on August 28, 2007
Skorgu - My old system was fully PATA. When I upgraded my parts, it turns out that my new motherboard didn't have enough IDE controllers to take everything, so I decided to upgrade a hard drive to a bigger one with SATA. When I did that all I did was clone my old drive to my new SATA one, after installing the driver to make sure my OS can see it.
Anyway, the AHCI is a big can of worms, and working with an older OS like I am, is not easy. I'm going to stop thinking with my head in the clouds for now and focus on just getting everything stable. Thanks for the help guys.
posted by lou at 9:22 AM on August 29, 2007
Anyway, the AHCI is a big can of worms, and working with an older OS like I am, is not easy. I'm going to stop thinking with my head in the clouds for now and focus on just getting everything stable. Thanks for the help guys.
posted by lou at 9:22 AM on August 29, 2007
This thread is closed to new comments.
I'm a little confused, you're using an old install of windows, yet you've never had a fully-sata system? Is your harddrive dual-SATA and PATA perhaps or are you doing something funky with disk images?
In the general state, a fresh install of Win XP with XP2 slipstreamed. will detect and install at least functioning drivers for any sata chipset out there. You may want the manufacturer's drivers for speedups (*cough* I'm looking at you nVidia), but sp2 should install on just about any modern machine.
AHCI seems to be little more than an enormous bag of worms. I'd get everything up and running without it before going that route. PATA and SATA are definitely not mutually incompatible.
posted by Skorgu at 5:47 PM on August 28, 2007