RAID is an acronym for redundant array of independent disks, also known as redundant array of inexpensive disks. This is a technology that provides increased storage functions and reliability through redundancy from low-cost and less reliable PC-class disk-drive components. It uses the technique of arranging the devices into arrays for redundancy.
RAID combines two or more physical hard disks into a single logical unit using special hardware or software. Hardware solutions are often designed to present themselves to the attached system as a single hard drive, so that the operating system would be unaware of the technical workings.
There are three key concepts in RAID: mirroring, the writing of identical data to more than one disk; striping, the splitting of data across more than one disk; and error correction, where redundant parity data is stored to allow problems to be detected and possibly repaired (known as fault tolerance).
RAID is now used as an umbrella term for computer data storage schemes that can divide and replicate data among multiple hard disk drives. The different schemes/architectures are named the word RAID followed a number, as in RAID 0, RAID 1, etc.
Types or Level of RAID
RAID 0: It has block-level striping without parity or mirroring and has no redundancy. It provides improved performance and additional storage but no fault tolerance. Any disk failure destroys the array, and the likelihood of failure increases with more disks in the array.
RAID 1: It has mirroring without parity or striping. Data is written identically to multiple disks. Any number of disks may be used; normally only two are used. Array provides fault tolerance from disk errors or failures and continues to operate as long as at least one drive in the mirrored set is functioning.
RAID 2: It has bit-level striping with dedicated parity. All disk spindle rotation is synchronized, and data is striped such that each sequential bit is on a different disk. Parity is calculated across corresponding bits on disks and stored on at least one parity disk.
RAID 3: It has byte-level striping with dedicated parity. All disk spindle rotation is synchronized, and data is striped so each sequential byte is on a different disk. Parity is calculated across corresponding bytes on disks and stored on a dedicated parity disk.
RAID 4: It has block-level striping with dedicated parity. It is identical to RAID 5, but confines all parity data to a single disk, which can create a performance bottleneck. In this setup, files can be distributed between multiple disks. Each disk operates independently which allows Input/Output requests to be performed in parallel, though data transfer speeds can suffer due to the type of parity. The error detection is achieved through dedicated parity and is stored in a separate, single disk unit. RAID 5: It has block-level striping with distributed parity. It distributes parity along with the data and requires all drives but one to be present to operate; drive failure requires replacement, but the array is not destroyed a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user.
RAID 6: It has block-level striping with double distributed parity. It provides fault tolerance from two drive failures; array continues to operate with up to two failed drives. This makes larger RAID groups more practical, especially for high-availability systems. This becomes increasingly important as large-capacity drives lengthen the time needed to recover from the failure of a single drive.