The controller is the AAA-UDMA, a four-channel UDMA/66 RAID controller supporting up to four hard drives in RAID 0, RAID 1, RAID 0/1, and RAID 5 configurations.
For those unfamiliar with RAID, here's
an explanation of the relevant RAID levels. RAID stands for Redundant Array of
Independent Disks, or Redundant Array of Inexpensive Disks in you want the
old-school meaning. RAID has been around for a while but has until recently been
restricted to servers and high-end workstations using SCSI drives, since EIDE
drives were slower, less reliable, and did not come in sufficiently large
capacities.
But now, times have changed, and ATA drives have almost caught up to SCSI in terms of performance (at similar areal densities and rotational speeds) and reliability, and have even passed them in terms of capacity. And, of course, ATA drives are much cheaper, and that's what makes this controller appealing: using it with a few big ATA drives, you can create a RAID array with an enormous capacity for a fairly low cost. But what exactly is a RAID array? Well, there are a number of different types, but here are explanations of the four most common found in most RAID systems and, not coincidentally, supported by this controller.
First is RAID 0, which, strictly speaking, isn't actually
RAID at all because it's not redundant. RAID 0 stripes data across multiple
drives. When the array is created, a cluster size for each piece of data is set.
This is usually 64 or 128K, but can be higher or lower, depending on what the
RAID hardware supports. Quite simply, the first cluster is placed on the first
disk in the array, the next on the second disk, the next on the third, and so
on.
This should be the fastest type of array, since all drives are retrieving or writing data simultaneously, and should, in theory, be as many times as fast as a single drive as there are drives in the array. Of course, with computers, theory rarely approaches reality, but still RAID 0 should be pretty fast. The drawback to using RAID 0 is that it has no redundancy, and if any of the drives in the array fail, all of the data on the array is lost. True RAID 0 requires at least two drives, although most RAID controllers, including the AAA-UDMA, can treat a single drive as a RAID 0 array.
RAID 1 always uses two drives, as it mirrors the data from one drive onto the second. That way if one drive fails, the second is still there and the system can keep going. RAID 1 should be a little faster when reading than a single drive, but it's also a little slower when writing since the drives have to synchronize their write heads to record data. The other obvious drawback to RAID 1 is that it only uses 50% of the full capacity of both drives for data storage, since the other half is used as a mirror. RAID 1 is best for systems that don't require a lot of throughput but need to be able to run well if a drive fails.
>
RAID 0/1, sometimes called RAID 10 or RAID 0+1, is accomplished by a fusion of RAID levels 0 and 1. It uses mirrored stripe sets, and therefore provides the high performance of striping while keeping the redundancy of mirroring. With four drives, the first two drives make up one stripe set, and the second two mirror the first two. As with RAID 1, this only uses half the actual drive capacity, but it's significantly faster than RAID 1. With four drives, the array might withstand the loss of up to two drives, depending on which two fail, but at worst it can sustain the loss of one drive and still keep functioning. RAID 0/1 requires at least four drives, which is of course the maximum numbers supported by the AAA-UDMA.
RAID 5 is very popular as it
provides high speed as well as redundancy. It is similar to RAID 0 in that it
stripes data across multiple drives, but in addition to data it also stores
parity information about that data. If a drive in the array fails, that parity
can be used to reconstruct the lost data and keep the system running, though at
a substantially slower rate. Still, once the failed drive is replaced, the array
can be reconstructed. RAID 5 uses an amount of parity space equal to the
capacity of one of its drives, so with three drives, a third of the space is
devoted to parity.
The parity is spread evenly across the drives, so it doesn't matter which drive fails since parity for the missing data exists on the other drives. RAID 5 should be almost as fast as RAID 0, but of course the space used for parity and the calculations required to create it slow it down somewhat. Still, RAID 5 uses most of the capacity of the drives in the array for actual data storage, and is very often used in servers. As you can see from the description, RAID 5 requires at least three drives.
There are a number of other RAID levels: 2, 3, 4, 6, 7, and 53. If you want descriptions of them, as well as graphical representations of how data is arranged on these arrays, have a look at AC&NC's excellent RAID guide.