h1

RAID

January 21, 2008

The many different techniques for using multiple drives for data protection and increasing speeds were organized by a couple of sharp guys at the University of California at Berkeley in 1987. This organization was presented under the name RAID (Redundant Array of Independent Disks). RAID is designed to improve the fault tolerance and performance of computer storage systems.

Initially, RAID was conceived to simply enable all the individual drives in the array to work together as a single, larger drive with the combined storage space of all the individual drives added up.

An organization called the RAID Advisory Board (RAB) was formed in July 1992 to standardize, classify and educate on the subject of RAID. The RAB has developed specifications for RAID, a conformance program for the various RAID levels, and a classification program for RAID hardware.

Currently, seven standard RAID levels are defined by the RAID Advisory Board, called RAID 0-6. RAID typically is implemented by a RAID controller board, although software-only implementations are possible (but not recommended). The levels are as follows:

RAID Level 0 – Striping. File data is written simultaneously to multiple drives in the array, which act as a single, larger drive. Requires a minimum of two drives to implement.

RAID Level 1 – Mirroring. Data written to one drive is duplicated on another, providing excellent fault tolerance (if one drive fails, the is used and no data is lost), but no real increase in performance as compared to a single drive. Requires a minimum of two drives to implement (same capacity as one drive).

RAID Level 2 – Bit-Level ECC. Data is split one bit at a time across multiple drives, and error correction codes (ECCs) are written to other drives. Provides high data rates with good fault tolerance, but large number of drives are required.

RAID Level 3 – Striped with Parity. Combines RAID Level 0 striping with an additional drive used for parity information. This RAID level is really an adaptation of RAID Level 0 that sacrifices some capacity for the same number of drives. It also achieves a high level of data integrity or fault tolerance because usually can be rebuilt if one drive fails. Requires a minimum of three drives to implement (two or more for data, one for parity).

RAID Level 4 – Blocked Data with Parity. Similar to RAID 3, except data is written in larger blocks to the independent drives, offering faster read performance with larger files. Requires a minimum of three drives to implement (two or more for data, one for parity).

RAID Level 5 – Blocked Data with Distributed Parity. Similar to RAID 4, but offers improved performance by distributing the parity stripes over a series of hard drives. Requires a minimum of three drives to implement (two or more for data, one for parity).

RAID Level 6 – Blocked Data with Double Distributed Parity. Similar to RAID 5, except parity information is written twice using two different parity schemes to provide even better fault tolerance in case of multiple drive failures. Requires a minimum of four drives to implement (two or more for data, two for parity).

Additional RAID levels exist that are not supported by the RAID Advisory Board but which are instead custom implementations by specific companies. Note that a higher number doesn’t necessarily mean increased performance or fault tolerance; the numbered order of RAID level was entirely arbitrary.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: