Lately, when I look at the specifications of new mainboards and their configuration, seeing SATA RAID or ATA RAID on the board comes as no surprise. Many of the manufacturers are now offering their own flavour of the RAID implementation, e.g. Gigabyte's GigaRAID or VIA's V-RAID.
Most of us though are missing out on a performance gain that is sitting right under our noses. Given how often manufacturers change socket formats, an upgrade can often cost you a new mainboard, processor and RAM. But you could potentially get a significant boost by simply moving to RAID 0 / Striping.
This article details two RAID (Redundant Array of Independent/Inexpensive Disks) configurations across two sets of disks. It is designed to assist someone in configuring their RAID to work with Microsoft Windows XP. Linux is an entirely different story, and even offers software RAID (which I have used in the past).
Gigabyte GA-8I945P Pro mainboard
Intel D 2.66GHz dual core processor, 533FSB
2x 512MB DDRII 667 Corsair memory sticks
2x Western Digital SATAII 320GB 16MB cache
2x Seagate Barracuda ATA 7200.7 120GB 8MB cache
1.44MB Floppy disk drive
Intel RAID drivers
Gigabyte GigaRAID drivers
Windows XP Home
SiSoft Sandra Professional for benchmarking
RAID 0 / Striping
This writes "stripes" of data alternatively to each disk. This halves the number of writes and doubles the space. For example, if you wanted to write 1MB, this is broken into whatever size blocks you choose, usually 128KB then the blocks are written out across the disks, along with parity. So when you think RAID 0 think, fast.
Because it's writing half the data to each disk, it then presents the logical volume as a single large disk.
RAID 0 Pros
Doubles your container size
Chipsets can offer RAID 0+1, but need 4 disks. Array is their Striped and mirrored
RAID 0 Cons
No redundacy with only 2 disks
RAID 1 / Mirroring This simply duplicates the writes of one disk to another disk. In the event of a disk failure in either the master or slave, then the remaining operational disk becomes the new master. This only protects you against a physical disk failure, not a software whoops.
RAID 1 Pros
RAID 1 Cons
Slave disk only ever useful in event of failure
Performance only equal to a standard disk speed
It makes the most sense to use disks of a similar size and performance. Otherwise, the array will always run at the speed of the slowest disk.
The mainboard I have supports TWO, that's right two forms of RAID.
The first is the native Intel chipset SATA RAID. Intel has been placing SATA RAID support onto their chipsets since the 865. If you have an Intel based chipset, and it's an 865/9xx series chipset then you're likely to have RAID support for SATA. Goto Intel for their full details on their RAID storage implementations.
The second RAID device on the mainboard is provided by Gigabyte and is their GigaRAID. It's designed to support ATA, aka older non Serial ATA hard disks. The board has two green IDE/ATA connector slots and can operate in standard IDE mode or in RAID mode.
To even install RAID onto a system you'll need
A mainboard with either SATA/ATA RAID support
At least two hard disks in the desired RAID choice (SATA/ATA)
A floppy drive or a mapping that supports A: access
Your RAID chipset driver disk
Without these, turn back now. Otherwise you have two choices: image your current hard disk or perform a fresh install. Either way, you'll need the floppy drive and driver disk.
Order of Precedence
Basically I suggest you
Validate your mainboard supports RAID
Make sure you can locate your drivers
BACKUP YOUR DATA
REALLY!! I mean that last one, make sure you've backed everything up
To locate your SATA/ATA RAID drivers, I suggest you rumage through that old motherboard box you know you have lurking somewhere.
If however you've been particularily efficient and done away with the box/disks then you should visit your manufacturers website.
Of course, this is not necessary if you intend to install the Intel SATA RAID as you can simply visit Intel's RAID guide and
select "Download Intel Application Accelerator RAID Edition" from the menu on the left. Then choose your Operating System and you're away.
Otherwise, if you've found the drivers disc in the meantime, you simply need to locate the SATA directory on that disk. Often it's under drivers and can sometimes be wrapped in a executable.
The outcome though is usually a number of small driver files accompanied by a txtsetup.oem file in the root of the floppy disk.
This is important! There MUST be a txtsetup.oem in the root of the floppy drive, otherwise you can't load the drivers.
I can't help you with the backing up of your data. But recently I did use the Microsoft Backup tool to grab everything I needed and was quite pleased with it. By default it's not installed, nor even mentioned on XP Home, but I assure you it is there.
Installing MS Backup for XP Home
Find your XP Home CD
You'll find NTBACKUP.MSI
Right click and select INSTALL
Run through the install Wizard, then run the app to backup your data.
You can't combine SATA & ATA disks together to form a RAID array. Each disk type is contained within the bounds of its own controller.
However, my mainboard did support a third option for the ATA RAID. This was called JBOD (Just a Bunch Of Disks), and was simply a means of presenting a set of disks as a single logical volume. This offers no performance gains (slow as the slowest disk), nor any redundancy. It is useful if you want to have a larger single volume to store your files in.
Configuring hardware for an SATA setup requires no additional steps, as each SATA channel is a discrete connection to a disk.
ATA hardware configuration however is the usual master/slave/cable select options. I suggest that if like me, you are using an ATA RAID configuration with two disks, you place each disk as the master on their own channel. This is the best configuration for IO performance. This is done by either placing the jumper on the disks master set pins, or by ensuring that the end of the cable is placed on the disk, not the second connector.
Ensure your RAID device is set to RAID in the BIOS. Press your BIOS entry key duing POST (usually Delete / F2) and often under Integrated Peripherals/Advanced you'll find the SATA/ATA device mode settings. Make sure that your choice of controller is set to RAID or sometimes this is known as ENHANCED mode.
"Save & Exit" from your BIOS if you've made changes. Once the machine reboots, you should now see the RAID controller software loading after the initial POST.
You must press a key combination to enter the configuration tool. For the Intel SATA controller is was CTRL-I for the GigaRAID it was CTRL-G.
Now you can define your RAID array logical volume.
This is where you decide what RAID type you want, size of blocks and number of disks. Once you create this new
container, all your data on the disks will be destroyed (well the FAT will effectively be wiped, but you could recover with a sector scan). I accepted the defaults for block sizes.
Either configuration SATA/ATA was similar in how it worked.
Define your RAID volume, mark the disks you want to include and be sure to make it as bootable. The controller then "builds" the logical volume.
As you can see from the top screen shot on the right, once this process is completed there is also an associated status with the RAID container.
Once you've configured the container, you can start the process of getting your operating system back. Either way you need to press F6 at the start of the installer.
Windows XP Service Pack 2 added native support for certain SATA controllers, but the RAID stuff requires a driver disk. Without loading drivers the installer cannot find a valid disk and proceed.
You have to be quick to catch the "Press F6" message, as it appears only briefly just after the installer starts.
It won't do anything immediately once you press F6, instead, further along it will then allow you to specify an additional controller. You must press S to specify the additional controller, insert the floppy disk and press enter to scan the disk for a list of controllers.
The disk will chug away and if there is a txtsetup.oem in the root, it should list your controller choices. Choose the controller that's applicable to your chipset. The example shows the Intel controller drivers.
Once selected the controller proceed on by pressing Enter and install normally. You can even choose to partition the "disk" if you want.
There are usually Windows applications that interact with the hardware and provide you feedback on the state of your logical volume.
In the event of a hardware failure you could be in trouble if you've only got a Striped volume, and no mirrors. This will mean you will have lost all your data, and cannot recover data from the disk. As it contains only half the blocks!
Either way, when the computer reboots, it will show the status of the container as being degraded (if it's a Mirror) or failed if its Striped.
With a Mirror, you can continue to use, it, but of course there will be no Mirroring of data occuring. When you replace the faulty disk with the Mirror, you will need to go into your RAID controller menu and "rebuild" your array. This will resync all the data from the operational disk, onto the replacement.
As you can see from the first batch of benchmarks below, the SATA II drives in a Striped configuration are the best performers at 105MB/s
In RAID 1, the performance gain is so small that it could be considered non-existant.
The bottom (4th) disk was added in to give you some idea of SATA I performance by comparison.
ATA is sometimes reffered to as Parallel ATA (PATA) simply because it uses parallel bit transmissions down the ribbon cable.
The drives I had were ATA 100 in UDMA 5 access mode with 80 pin ribbon cables.
There wasn't a huge performance gain for ATA Striped. In fact the drives performed well natively, when compared against, the other ATA100 benchmark.
Though they lost out when in mirror mode. For some reason, they ran slower than in single disk mode.
Obviously if you're looking to have the ultimate in performance you go for RAID 0 / Striping. If you're after reliability and resilience then use RAID 1 / Mirroring.
And if you can afford four disks of the same type, then the ultimate would be RAID 0+1, where you've Striped two disks, and they are then Mirrored.
Striping clearly works best with the SATA disks, as the performance gain for the ATA disks wasn't that great. In fact even with Striping on the ATA disks, they still didn't perform as well as a single SATA II disk (no surprise there).
When Striped, the SATA II disks produced a 90% performance gain, whereas the ATA disks only produced a mere 12.5%
I will see if I can rattle up some SATA disks to validate if the performance gain of 90% holds true for SATA(I/II) disks in general.
Finally I am running two of my ATA 120GB disks Striped. This has given me a small performance gain, but the benefit of a much larger container (223GB).