Redundant Array of Independent Disks [RAID]

« Glossary Index

A disk subsystem that increases performance or provides fault tolerance (or both).

RAID uses two or more physical disk drives and a RAID controller, which are usually independent cards plugged into a computer motherboard (although some are integrated).

The types of RAID are:

JBOD – “Just a Bunch Of Disks” – it’s just linear capacity expansion, taking a 40 GB and a 60 GB disk for instance and making them seem like one big 100 GB disk.

RAID 0 – “Striping” – no redundancy, only improved performance and only then on larger files using sequential transfers.  Very short files actually show reduced performance.  Requires two or more disks, and loss of one disk causes loss of the entire array.  Used in scratch disk stacks involving alot of data, such as engineering modeling, and in entheusiast PCs.

RAID 1 – “Mirroring” – two disks, one holds a copy of the other.  Typically used for boot drives on large servers and for the sole drive on smaller servers, as well as low-end workstations.  Higher random read performance than a single disk due to the ability of the array to service two requests at once, but slower write performance.  Requires two or more disks and can sustain the failure of all but one disk in the array.

RAID 2 – “Hamming” – obsolete, it is one of the original RAID levels developed by IBM.  On modern systems, it requires so much processing power that the RAID coprocessor (which is required for this level, as it cannot be done in software) is typically more powerful than the system processor.  It provides protection to each bit on each disk and is only used where data integrity counts more than anything else.  Requires three to eight disks and can sustain a single disk failure.

RAID 3/4 – “Striping with Parity” – basically a RAID 0 array with a dedicated parity disk, the difference between the two is that RAID 3 does the parity on a bit-by-bit basis while RAID 4 does the parity calculations in blocks.  Sustained read speed is good, but write speed is poor as it is bottlenecked by the parity processor and parity disk.  Requires three or more disks and can sustain a single disk failure.

RAID 5 – “Striped Parity” – take RAID 4 and move the parity so it itself is striped over all of the disks.  It is the most common level used on general purpose large servers as it combines good performance and redundancy.  Requires three or more disks and can sustain the loss of one of them

RAID 6 – “Striped Parity with spare space” – Take RAID 5 and create spare space on each disk so that in the event of the failure of one disk the data which was on the disk is written to that extra space in each disk in the array.  Requires four or more disks and can sustain the loss of two of them.

RAID 7 – “Striped Mirrored Parity” – Takes RAID 5 as the base again and either puts parity on the parity or just copies a mirror of the parity so that it can sustain a the failure of a second disk.  Requires four, can loose two before you loose your data.

You can also combine these RAID levels to form other ones, such as 10 (striped mirror sets), 01 (mirrored stripe sets), 50 (striped striped parity sets), 51 (mirrored striped parity sets) et nausium.

At one time this was referred to as “Redundant Array of INEXPENSIVE Disks” (citation needed).

Leave a Reply

Your email address will not be published. Required fields are marked *