SATA (via PCI) on older computer

BChico

Platinum Member
May 27, 2000
2,742
0
71
I have an older computer circa 2002 running a Gigabyte GA-8IHXP.

Rather than buy a new PATA hard drive for the machine, I was contemplating putting a PCI SATA card in.

Has anyone used a PCI SATA card for the primary hard drive? I am concerned about poor performance (worse than regular PATA).

I can always just pay the premium for a PATA HDD.

PATA HDD

Thanks!
 

mfenn

Elite Member
Jan 17, 2010
22,400
5
71
www.mfenn.com
A SATA PCI card will perform fine, the drive is not faster than the 133 MB/s PCI bus. Plus SATA HDDs are based on much newer platforms than PATA ones so the drives themselves are faster.
 

BChico

Platinum Member
May 27, 2000
2,742
0
71
Sounds good, thanks.

Any issues doing a fresh install through the SATA PCI? Do you have to slipstream the driver onto the OS ISO?
 

Insert_Nickname

Diamond Member
May 6, 2012
4,971
1,695
136
Any issues doing a fresh install through the SATA PCI? Do you have to slipstream the driver onto the OS ISO?

Depends on which OS you plan to run. If its just one drive without ACHI/RAID, XP's built in IDE driver should be just fine. Make sure the card is set for IDE mode first though.

If that's not possible, you'll have to slipstream.
 

mikeymikec

Lifer
May 19, 2011
19,960
14,265
136
XP has the 'Press F6' bit to feed a driver in via floppy. Later versions of Windows present an option to feed in a driver via USB mass storage or other method of storage.
 

mikeymikec

Lifer
May 19, 2011
19,960
14,265
136
As long as the BIOS boot settings are correct, the adapter and the disk work, I don't see why the machine shouldn't boot. I've set up a few machines with adapters that an OS was being booted from and I haven't encountered anything that could constitute a reason why one shouldn't do things that way. Of course, it's not an ideal performance scenario, but if one is considering putting an adapter in to allow an older computer access to newer hardware, then one surely acknowledges the compromise made between budget and capability.
 

Paperdoc

Platinum Member
Aug 17, 2006
2,438
344
126
The issue around SATA (more properly, AHCI) devices vs PATA and driver installation goes like this. All HDD systems require device drivers, just like any other device type in Windows. Up to Win XP (all versions), Windows has "built-in" drivers for PATA (or IDE) HDD's, optical drives, floppy drives, and a host of others, but NOT AHCI (or SATA) devices. So, the Windows Install process CAN use those older device types to do the Install work AND to boot thereafter from the unit where it was installed . However, it cannot access an AHCI device at all unless a driver for that is installed additionally. This does NOT apply to Win 7 or anything after. (I don't remember about VISTA, but I think it's like Win 7 in this matter.) Those later Windows DO have drivers for AHCI devices "built in" and so can use them for any task.

Now, for Win XP and earlier, how can you get to use AHCI (SATA) devices? There are two scenarios:
(A) IF you will use the device only for storage and NOT for booting, then AFTER Windows is running you can install the AHCI device driver from any storage medium. Once it has been installed, it will be loaded from the boot drive at every boot, just like any other device driver (like for a modem or your sound card or your video card, etc.) and you can use that device any time.
(B) IF, however, you plan to BOOT from this AHCI device, there's a problem - Windows can't access that device to boot from because it has no driver. Well, Windows has had a process for a couple decades to deal with this. More commonly before this it was used to set up a driver for a RAID system or a SCSI system. (In fact, it is still necessary for all RAID systems if you BOOT from that array.) When you first install Win XP (or earlier), there is a prompt early in the process asking whether you wish to add device drivers from an external source. If you do, you press the "F6" key and follow its routine until that is done. If you do nothing, the query will time out and the Install process will continue. But if you press the "F6" key, you will be prompted to insert the FLOPPY diskette containing the driver(s). Note that this process (up to Win XP) only knows how to use a floppy drive for the storage medium in this process (later Windows versions allow a USB stick, useful if you're adding in a RAID driver), so your driver (s) must already be copied onto a floppy diskette, and you need (at least temporarily) a floppy drive attached. The Install process will show you the list of drivers it finds on that diskette and ask which to install. When that is done, it will ask whether you have more of these to do, or wish to quit. When you've finished, it returns to the main Install routines. What it does with those drivers is to use them to access the device for the Install process, and to add them into the Windows version it is creating so that they become "built in" to that customized installation of Windows. From then on it can always boot from that device because now it DOES have a "built-in" driver.

That's the "correct" process. Now, SATA drives came on the market about the same time as Win XP, so a lot of people were caught in this glitch - their new OS could not work with their new HDD without a fiddle during Install. So many mobo makers added a "work-around" in their BIOS chips. Under that, you can set the "SATA Port Mode" to either "IDE (or PATA) Emulation" or to "True SATA" or to "ACHI". If you chose either of those last two, you needed to install the driver during installation of the OS. But if you choose "IDE (or PATA) Emulation", the SATA port controller chip is limited to using only those functions that an IDE HDD has, and Windows is deceived into believing it is actually using an IDE HDD it DOES have a "built-in" driver for, and it is happy. This prevents you from taking advantage of a few new features of the SATA (AHCI) device, but it works.

Now to OP's situation. First of all, you may want to check this item, but most systems have this feature. A SATA controller card added to the PCI bus has its own small BIOS and processor system which will include some code to allow its use as part of the boot process. It is considered an extension of the main system BIOS. For that to work, your mobo's BIOS must also have a bit of code to allow it to find and use that BIOS Extension on the controller card.

I expect that the card will come with a drive for it that you must install so Windows can use it. It will include, I'm sure, the driver needed by Windows to use its AHCI devices. IF you plan to use those SATA drives only for data storage, I expect you can simply install the PCI card driver in Windows after the card and HDD are installed. This is the same process as adding any other new device to a running Windows.

However, if you plan to BOOT from this SATA drive, we're back to the same problem for Win XP and earlier. You probably would have to re-Install Win XP and a whole bunch more stuff, using the "F6" key to add in the driver(s) for the card and the AHCI device. OR, as Insert Nickname has suggested, you may be able to set the PCI controller card itself to a "work-around" setting to make the HDD appear to be only an IDE drive.

By the way, the "Slipstream" process is just another way to accomplish making the AHCI driver (and any others you choose) "built in". It is a process by which you create a modified version of the Win (whatever) Install disk that contains all the drivers you want added as "built in", and then burn that as a new Win Install CD that will do the job without using the "F6" key process.
 

Paperdoc

Platinum Member
Aug 17, 2006
2,438
344
126
Considering the age of your machine, other questions come to mind that need settling.

1. Does your mobo's BIOS allow use of HDD's larger than 137 GB (HDD maker's way of counting), or 128 GB (Windows way of counting)? This is more properly called "48-bit LBA Support". The older system used 28 bits for the LBA address, limiting the HDD size to 128 GB, and often was termed in manuals "Support for large Hard Disks". That is not enough. You need specifically "48-bit LBA Suuport" to go over that size. I cannot find a spec for this in your mobo's manual, so maybe check with Gigabyte Tech Support. In some cases it is possible, if that feature is missing, to download and install a more recent BIOS for your mobo that does provide this feature. Ask Gigabyte about that if necessary.

2. IF you do have 48-bit LBA Support in your mobo's BIOS, you also will need it in your Windows OS. Up to and including the first release of Win XP that feature was NOT included. It was added to Win XP in Service Pack 1, and is present in all Windows after that. So make sure your Windows is up to date enough to use a HDD over 128 GB BEFORE you try to install it.

3. IF you plan to BOOT from the HDD connected to a SATA controller card in the PCI bus, check the note here:

http://ee.gigabyte.com/products/page/mb/ga-8ihxp_21/faq

under "Storage Devices" about how to boot from a device attached to a card.
 

BChico

Platinum Member
May 27, 2000
2,742
0
71
Considering the age of your machine, other questions come to mind that need settling.

1. Does your mobo's BIOS allow use of HDD's larger than 137 GB (HDD maker's way of counting), or 128 GB (Windows way of counting)? This is more properly called "48-bit LBA Support". The older system used 28 bits for the LBA address, limiting the HDD size to 128 GB, and often was termed in manuals "Support for large Hard Disks". That is not enough. You need specifically "48-bit LBA Suuport" to go over that size. I cannot find a spec for this in your mobo's manual, so maybe check with Gigabyte Tech Support. In some cases it is possible, if that feature is missing, to download and install a more recent BIOS for your mobo that does provide this feature. Ask Gigabyte about that if necessary.

2. IF you do have 48-bit LBA Support in your mobo's BIOS, you also will need it in your Windows OS. Up to and including the first release of Win XP that feature was NOT included. It was added to Win XP in Service Pack 1, and is present in all Windows after that. So make sure your Windows is up to date enough to use a HDD over 128 GB BEFORE you try to install it.

3. IF you plan to BOOT from the HDD connected to a SATA controller card in the PCI bus, check the note here:

http://ee.gigabyte.com/products/page/mb/ga-8ihxp_21/faq

under "Storage Devices" about how to boot from a device attached to a card.


Thanks for the input Paperdoc as well as researching my specific motherboard.

This is a computer I put together in 2002 and gave to my brother after I built a new one a few years ago. I guess I just had my mind stuck on getting the machine working rather than evaluating the true value of a P4 3.0, 1.0GB setup (as JackMDS points out...).

I was planning on buying him and his wife a new laptop, so it probably doesn't make any sense to put $100 worth of a SATA card and new HDD into it.
 

pitz

Senior member
Feb 11, 2010
461
0
0
There's various 4-port SIL3112-based PCI to SATA cards out there that work just fine on XP. I have one in an old AthlonXP 2500 running a 2.5" SATA drive.

LBA support doesn't matter with an add-in card as it brings its own BIOS option ROM to the equation.

Typically you would need to install another driver during the Windows installation process. Or if you are migrating from an older drive that already is on a supported controller, simply install the new drive + controller in addition to the existing stuff. Install the drivers on the working Windows system. And then use a disk imaging tool such as dd in Unix to image the existing disk to the new one. Power down, discard the old drive, and the system should completely boot off the SATA add-in card.

Of course, the above method implies the new drive is larger than the old drive. So you'll want to run a partition re-sizer as well. I liked Parted Magic which is based on open source, can go onto a USB stick or be PXE-booted, etc. Look it up with your favourite search tool!
 

pitz

Senior member
Feb 11, 2010
461
0
0
I was planning on buying him and his wife a new laptop, so it probably doesn't make any sense to put $100 worth of a SATA card and new HDD into it.

Well you can get the SATA cards for $10-$20. And if you go with a SSD, a SSD generally would be re-usable in a future laptop.

I know it might seem absurd to use a SSD in a machine that's 10+ years old, but there's nothing wrong with doing so, and it will definitely work.
 

Paperdoc

Platinum Member
Aug 17, 2006
2,438
344
126
In my second post I raised the question of whether or not your BIOS has 48-bit LBA support to allow use of HDD's over 128 GB. Now, I know that ALL SATA drives and controllers have this feature, and I would guess that a mobo that allows use of a BIOS Extension in a PCI card that contains a SATA controller might well allow that card to use such larger drives. However, I raised the question because OP suggested NOT going SATA - just keeping it simple by buying an IDE HDD. In that case, it is common for older IDE systems NOT to have 48-bit LBA Support on the IDE ports. So if that were OP's choice, the question would have to be considered.
 

bonehead123

Senior member
Nov 6, 2013
559
19
81
been there, done this......will work if you follow the precautions above about drivers/booting etc :)