RAID

Redundant Array of Independent Disks, originally named Redundant Array of Inexpensive Disks (RAID), is a data storage virtualisation technology that combines multiple physical disk drive components into one or more logical units for the purposes of data redundancy, performance improvement, or both.

  • Data striping is the segmenting of logically sequential data, for example a file, such that consecutive segments of it are stored on different physical storage devices. Striping is used across disk drives in redundant array of independent disks (RAID) storage, network interface controllers, different computers in clustered file systems and grid-oriented storage, and RAM (in some systems).
  • Disk mirroring is the replication of logical disk volumes onto separate physical hard disks in real time to ensure continuous availability.
  • Parity is a data recovery mechanism where missing data is calculated based on the data that exists. Parity data is used by some redundant array of independent disks (RAID) levels to achieve redundancy. If a drive in the array fails, remaining data on the other drives can be combined with the parity data (using the Boolean XOR function) to reconstruct the missing data. For example, a parity bit (check bit) is added to a string of binary code to ensure that the total number of 1-bits in the string is even or odd. Parity bits are used as the simplest form of error detecting code. Hamming codes are a family of linear error-correcting codes.

A number of standard schemes have evolved. These are called levels.

RAID 0 Striping, but no mirroring or parity A group of disks treated as one. If any drive fails it is difficult to retrieve data, unless done at a physical level. Capacity is the sum of the capacities of the disks in the set
RAID 1 Data mirroring, without parity or striping Data is written identically to two drives, thereby producing a “mirrored set” of paired drives.
RAID 2 Bit-level striping with dedicated Hamming-code parity. Each bit is written on a different drive/stripe and Hamming code is used for error correction. The number of discs in RAID 2 used to store information is equal to the logarithm of the number of discs that are protecting the mentioned data. All disks in RAID 2 work as one disk which has a capacity equal to the common capacity of all disks used to store data.
RAID 3 Byte-level striping with dedicated parity. Data is split up into a number of bytes that are written across all the drives in the array except for one disk used to store checksums and that supports a special processor in parity codes calculating thereby acting as a dedicated parity disk.
RAID 4 Block-level striping with dedicated parity. Data divided into blocks (16, 32, 64 or 128 kB). For each row of written data, a recorded block is written on a parity disk. RAID 4 requires at least three disks for complete implementation and configuration.
RAID 5 Block-level striping with distributed parity. The parity data are distributed between the physical disks and there is only one parity block per disk. This provides protection against one physical disk failure. The minimum number of disks to create a RAID 5 configuration is three.
RAID 6 Block-level striping with double distributed parity. The parity data are distributed between the physical disks and there are two parity blocks per disk. This provides protection against two physical disks failure. The minimum number of disks to create a RAID 6 configuration is four.