(Redundant Array of Independent Disks) A disk subsystem that is used to increase performance or provide fault tolerance or both. RAID uses two or more ordinary hard disks and a RAID disk controller. In the past, RAID has also been implemented via software only.
In the late 1980s, the term stood for "redundant array of inexpensive disks," being compared to large, expensive disks at the time. As hard disks became cheaper, the RAID Advisory Board changed "inexpensive" to "independent."
Small and Large
RAID subsystems come in all sizes from desktop units to floor-standing models (see NAS and SAN). Stand-alone units may include large amounts of cache as well as redundant power supplies. Initially used with servers, desktop PCs are increasingly being retrofitted by adding a RAID controller and extra IDE or SCSI disks. Newer motherboards often have RAID controllers.
Disk Striping
RAID improves performance by disk striping, which interleaves bytes or groups of bytes across multiple drives, so more than one disk is reading and writing simultaneously.
Mirroring and Parity
Fault tolerance is achieved by mirroring or parity. Mirroring is 100% duplication of the data on two drives (RAID 1). Parity is used to calculate the data in two drives and store the results on a third (RAID 3 or 5). After a failed drive is replaced, the RAID controller automatically rebuilds the lost data from the other two. RAID systems may have a spare drive (hot spare) ready and waiting to be the replacement for a drive that fails.
The parity calculation is performed in the following manner: a bit from drive 1 is XOR'd with a bit from drive 2, and the result bit is stored on drive 3 (see OR for an explanation of XOR).
RAID Levels
RAID 0 - Speed
Level 0 is disk striping only, which interleaves data across multiple disks for better performance. It does not provide safeguards against failure. RAID 0 is widely used in gaming machines for higher speed.
RAID 1 - Fault Tolerance
Uses disk mirroring, which provides 100% duplication of data. Offers highest reliability, but doubles storage cost. RAID 1 is widely used in business applications.
RAID 2 - Speed
Bits (rather than bytes or groups of bytes) are interleaved across multiple disks. The Connection Machine used this technique, but this is a rare method.
RAID 3 - Speed and Fault Tolerance
Data are striped across three or more drives. Used to achieve the highest data transfer, because all drives operate in parallel. Parity bits are stored on separate, dedicated drives.
RAID 4 - Speed and Fault Tolerance
Similar to Level 3, but manages disks independently rather than in unison. Not often used.
RAID 5 - Speed and Fault Tolerance
Data are striped across three or more drives for performance, and parity bits are used for fault tolerance. The parity bits from two drives are stored on a third drive and are interspersed with user data. RAID 5 is widely used on servers to provide speed and fault tolerance.
RAID 6 - Speed and Fault Tolerance
Highest reliability, but not widely used. Similar to RAID 5, but performs two different parity computations or the same computation on overlapping subsets of the data.
RAID 10 - Speed and Fault Tolerance
A combination of RAID 1 and RAID 0 combined. Raid 0 is used for performance, and RAID 1 is used for fault tolerance.
Hope this helps...