RAID storage techniques

User data in RAID can be stored using various data storage techniques:

  • striping
  • mirroring
  • parity
  • combination of the above

Striping is a way of writing data to member disks in which the data flow is split onto the blocks of a certain size and then written to the disks in turn.

Mirroring - stores identical data copies on the array member disks.

Parity is a type of data organization where splitting data onto the blocks (striping) is used along with calculation of a certain checksum which then is written to the member disks.

RAID levels

Depending on the way the data in RAID are organized, the following RAID types (so called levels) can be distinguished.

RAID 0 - sometimes, this RAID level is called stripe set since it is based on a striping technique. This is a non-redundant array and it is created mainly to increase system performance because N-disks array provides N times read and write speed improvement as compared to a single disk. For a controller failure, RAID 0 recovery is relatively simple and straightforward, However, if one of the disks is unreadable, almost nothing can be recovered.

RAID 1 is based on a mirroring technique. It is used where system reliability is critical. RAID 1 is very easy to recover - just attach the disk to a known-good PC.

RAID 0+1, same as RAID 1+0 is based on mirroring and striping techniques. The array inherits RAID 1 fault tolerance and RAID 0 speed efficiency. There is a 100% disk space overhead in RAID 0+1 implementations. Such arrays are able to survive a single disk failure and, in some cases, multiple simultaneous disk failures as well. This is one of the most expensive RAID types, because the capacity overhead increases with a number of disks.

RAID 5 - sometimes called stripe set with parity - utilizes striping and parity techniques. Parity technique provides fault tolerance - in case of a single disk failure the missing data is reconstructed using parity data and data from other member disks. Read speed for the array with one failed disk degrades dramatically. This is relatively inexpensive RAID type because disk space overhead equals the capacity of one member disk and doesn't increase with a number of disks. RAID 5 recovery is more complicated than for RAID 0, but the data can still be recovered if one of the disks had failed. There are many variations of RAID 5 layout: left and right, synchronous and asyncronous, plus an optional delayed parity.

RAID 6 is similar to RAID 5 but utilizes two different parity functions. Usually one of them is the same as in RAID 5 (XOR), but the second is more complex. On the one hand, using the two parity functions enables RAID 6 to survive a dual hard drive failure, on the other hand, the need to store parity data of the two functions results in that the disk space overhead equals the capacity of two member disks. RAID 6 recovery is very complex.

Continue to Hybrid RAID.