by Steve Brown
Perhaps you've heard that RAID can be used to increase the performance of your hard drives. Or perhaps you've heard that you can use RAID to increase the reliability of your hard drives. Both of these are possible, thanks to the various ways that you can use RAID in your computer. Some RAID configurations are targeted towards enterprise environments that require the highest fault tolerance (at a high cost), but some of the RAID levels can be used by home users, using inexpensive equipment, to achieve significant gains.
The first step to using RAID is to decide which RAID level you want to use. Each RAID level defines a different configuration of how data is read and written to the hard drives and what fault-tolerance features are employed; for example, one RAID level may just provide higher performance while another level will also provide fault tolerance. When it comes to RAID, most of the work is done by an expansion card called a RAID controller; this controller may be a stand-alone card, or it may be built into your computer's motherboard. Many motherboards include a controller that can do either RAID level 0 (also called RAID0) or RAID 1 and possibly a few other RAID levels.
RAID0 is extremely popular with computer users looking for higher performance from their hard drives. When you use RAID0, data is written across and read from all of the hard drives in the array (known as striping), from two drives up to the maximum number that your controller can handle. Having two hard drives in RAID0 won't cut read and write times in half, as some might speculate, but files will read and write significantly faster than with a single hard drive.
Unlike most of the other RAID levels, RAID0 doesn't add any fault tolerance. That is, if one of the hard drives in your RAID array fails, all of the data in the array is lost. The read/write speed improvements, however, make RAID0 a popular choice with gamers and other performance enthusiasts.
RAID1 employs a process called mirroring; this means that data written to one drive in the array is also written to a second drive in the array. The advantage is that if one of the hard drives fails, you'll still have a complete copy of the data. It's particularly convenient because the RAID controller is handling all of the data duplication for you.
Compared to some of the other RAID levels, RAID1's method of fault tolerance is considered simple and inefficient. More sophisticated RAID levels provide fault tolerance without requiring a separate hard drive to keep a complete duplicate of your data. However, a controller that supports RAID1 is generally far less expensive than the controllers required for the other RAID levels.
If your RAID1 controller is able to read from both drives in the array, then you can get increased read performance compared to a single hard drive. Write performance will generally be the same as with a single hard drive. If one of your drives fails and you replace that hard drive, the RAID controller will handle the process of rebuilding the existing data on the new hard drive.
Some RAID controllers may do what's called RAID 0+1, which will mirror each pair of hard drives in an array (like RAID1) and then stripe across each of these pairs (like RAID0). You'll need at least four hard drives to do this RAID level, but you'll benefit in both performance and fault tolerance.
RAID5 is the other RAID level that's commonly seen supported by the RAID controllers that are integrated onto motherboards. This RAID level will, for the most part, treat each hard drive in the array as an independent disk. However, when data is written to a hard drive, information on how to reconstruct that data is generated and stored across the other drives in the array. Unlike RAID1, this doesn't make a complete copy of the data; instead, it uses what's called "parity" information that can be used to reconstruct the data.
When one of the hard drives in the array fails, you replace that hard drive; then the RAID controller will begin reconstructing the data that was originally on the failed hard drive. The reconstruction process is not nearly as fast as with RAID1, where reconstruction basically just means copying the data to the new hard drive, but the user will be able to utilize much more disk space from the hard drives in the array.
There are several other RAID levels and there will likely be new levels in the future. These other levels employ features such as more sophisticated fault-tolerance schemes or combination of fault-tolerance schemes and striping. The RAID controllers for these other levels often get very expensive, making them more relevant to data centers and other enterprise environments.