This page covers the more common RAID levels. For further information, and for details of proprietary and more esoteric RAID levels:
0 | 1 | 0+1 | 10 | 2 | 3 | 4 | 5 | 50 | 6 | 60 | JBOD & NRAID | Comparison
RAID technology enables data to be written to multiple sets of disks simultaneously, with data redundancy allowing one or more of the individual disk to fail without losing data. RAID technology has over the years been revised, refined, extended and enhanced to the point that it may now mean different things to different people.
RAID technology is divided into a number of levels whose different attributes define how data is stored and how data integrity is protected in different ways. Each defined RAID level specifies how sets of disk are arranged and the pattern in which data is written, read and verified for integrity. The RAID algorithm may be implemented in either hardware or in the operating system.
Hardware RAID controllers are intelligent disk controllers, usually with a dedicated microelectronics performing the complex RAID algorithms. Software RAID on the other hand depends on the host system microprocessor to perform RAID calculations and would therefore reduce the raw processing power available to run applications. The benefit of hardware RAID over software RAID is that it does not impinge on the host system CPU, allowing it to perform processing.
RAID 0, also known as Striping, is not, strictly speaking, a RAID level at all, because it does not offer redundancy, and was not originally defined as such. It consists of two or more disks being written or read simultaneously (or as near to simultaneously as is possible). The more disks in the RAID 0 array, the better the possible performance and capacity for both IO and transfer rate, and there is no disk cost penalty. However, RAID 0 is inherently vulnerable because any disk failure whatsoever will result in total data loss, and the more disks in use, the greater the chances of disk failure.
RAID 0 is excellent for applications that require maximum performance so long as the data is not kept permanently on the RAID 0 array. Applications such as image editing, pre-press and digital rendering can benefit greatly form RAID 0 IO performance and capacity characteristics.
RAID 1, also known as Mirroring, might be referred to as the opposite of RAID 0. Identical data is written across two or more disks, so that in the event of a disk failing, an complete copy of the data is still accessible, offering 100% redundancy. RAID 1 is inherently expensive because cost is doubled or (capacity halved) compared to a single disk. Read performance may be enhanced if the controller allows simultaneous reads from both drives, while write performance is reduced slightly because data has to be written twice, once to each disk. Where applicable, pairs of disks may be connected to different IO buses. This is known as Duplexing.
RAID 1 is typically used for applications where not only is redundancy paramount, but where the inconvenience of being forced to restore from backup needs to be avoided.
RAID 0+1 may be described as a Mirrored Stripeset. RAID 1 array is layered over two RAID 0 arrays to offer benefits of both levels; performance and redundancy. With the performance of RAID 0, RAID 0+1 increases reliability as well by keeping a mirror of the striped data. It requires a minimum of four disks to implement As multiple copies of the data is kept, the cost is double that of an equivalent capacity RAID 0 array.
Raid 10 may be described as Striped Mirroring. Multiple RAID 1 arrays are grouped into a single RAID 0 array. A RAID 10 array may lose all but one drive in all of the constituent RAID 1 arrays without compromising data integrity. However, if all the drives in one individual RAID 1 array should be lost, the entire RAID 10 array will be lost in a similar fashion to a single drive loss in a RAID 0 array.
RAID 10 is popular for high random request applications such as databases because write speeds are high and data security and integrity are acceptable.
RAID 2 uses something similar to parity checks implemented by splitting data at bit level and spreading it over a number of disks and a number of redundancy disks. The redundancy data is calculated using a form of Error Correction Code (ECC) known as Hamming codes. When data is subsequently read the codes are also read and checked to ensure that nothing has changed since writing, and single bit errors may be corrected automatically.
RAID 2 is no longer used because because ECC was introduced as standard into individual disks. Besides, the nature of the ECC data required large numbers of disk drives, complex controllers, and other RAID levels providing better efficiency, pricing and performance and protection.
RAID 3 or Striping with Dedicated Parity writes chunks of data which are smaller than the average IO size across a number of disks, with parity data stored on a single disk dedicated to that purpose. Because the data chunks are so small, data blocks are always distributed across all the disks, so any IO requires activity on every disk, which requires synchronised spindles to enable simultaneous seeks on all disks to the same position to enhance throughput in IO intensive environments.
RAID 3 is typically used for media applications requiring sequential request performance such as image editing, digital pre-press and live data streaming.
RAID 4 is similar to RAID 3 except that the striping is done at block rather than byte level. This means that blocks may be read or written by a single disk, so multiple blocks on separate disks my be read or written in parallel. This enhances sequential request performance even more, but at the expense of random request performance.
NOTE: whether RAID controllers are either RAID 3 or RAID 4 is actually arguable because the definition of block size is subjective. Indeed, some RAID controllers may be adaptive, automatically changing block size to enhance requests.
RAID 5 or Striping with Distributed Parity is similar to RAID 3 / 4 except that the parity data is written in a round robin fashion to alternate disks. Data chunks are much larger than the average IO size, and disks are able to satisfy requests independently, which enhances random read request performance. RAID 5 write request performance is not optimal because of the number of disk accesses required: old data and parity is read off separate disks; new parity is calculated; new data and parity is written to separate disks. Many controller manufacturers use write caching to enhance performance.
RAID 5 is currently one of the most commonly used RAID levels and is a reasonable choice for general file and application servers, database servers web, email and news servers.
RAID 50 consists of RAID 0 (Striping) over multiple RAID 5 arrays. RAID 50 gives an added performance boost over RAID 5 although it is twice as expensive (in the case of two RAID 5 sets are being combined into a RAID 50). The performance is achieved at the expense of one extra disk when compared to a RAID 5 array.
RAID 50 suffers from a similar intolerance as RAID 10 in terms of failure of two drives in a constituent RAID 5 set.
RAID 6 is an extension of RAID 5, with extra redundancy added with two sets of parity drive writes instead of one. This allows two drives to fail before an array is in a critical state, rather than one with RAID 3, 4 or 5. RAID 6 requires an extra disk and added processing power to offer similar performance, but as disks are cheap and the fixed costs of development are paid for, RAID 6 is fast becoming the default RAID level.
RAID 60 consists of RAID 0 over multiple RAID 6 arrays. RAID 60 gives an added performance boost over RAID 6 although it is twice as expensive (in the case of two RAID 6 sets are being combined into a RAID 60). The performance is achieved at the expense of two extra disks when compared to a RAID 6 array.
JBOD, meaning Just a Bunch of Disks is not actually RAID. The drives are seen as stand-alone disks, each as a logical drive. JBOD does not offer any redundancy.
NOTE: some controller manufacturers, especially those of low-end arrays, use the term JBOD to refer to what is actually NRAID.
NRAID, meaning Non-RAID, is also known as Volume Spanning, and may be thought of as the opposite of partitioning, where drives are combined to become one logical drive without any block striping. NRAID does not offer any redundancy but should a drive fail only the data residing on that drive should be lost.
NOTE: some controllers claim to offer NRAID but the loss of a single disk means the loss of all data on the array.
| USABLE CAPACITY | SEQUENTIAL READ | SEQUENTIAL WRITE | RANDOM READ | RANDOM WRITE | AVAILABILITY | |
| NRAID | Highest (N) | Normal | Normal | Normal | Normal | 10-100k Hr |
| RAID0 | Highest (N) | Highest | Highest | High | Highest | Low |
| RAID1 | Low (N/2) | High | Medium | Medium | Low | Highest |
| RAID2 | Moderate | Medium | Medium | Low | Low | High |
| RAID3 | Higher (N-1) | Medium | Medium | Medium | Low | High |
| RAID4 | Higher (N-1) | Higher | Higher | Lower | Lower | High |
| RAID5 | Higher (N-1) | Medium | Medium | High | Low | High |
| RAID6 | High (N-2) | Medium | Medium | High | Low | Higher |