Home12345678910111213141516171819202122232425262728
Prev
Next

With either three or four disks, the Promise FastTrak S150 SX4 can be configured to support another combination of striping and redundancy, called RAID-5 (pronounced raid five). Striping works as in RAID-0, with data blocks split up across multiple drives. Protection from single-disk failures is provided by a method called parity calculation. Parity calculation works by basically adding up the data values in different stripes and storing the resultant value in another stripe. The data and parity stripes are spread across multiple drives, and one disk worth of space used up by the results of the parity calculations.

The characteristics of a RAID-5 array can be derived from knowledge of this mechanism. A RAID-5 array must have at least three disks, because with two disks it would become essentially a mirrored array. A RAID-5 array can have an unlimited number of drives beyond three. Each additional drive increases both the read performance and the processing burden of the controller. Finally, regardless of the number of drives, exactly one disk failure can be tolerated and exactly one disk worth of space is used for the parity data.

Because parity calculation is like addition, if any one of the values in the calculation is missing due to a drive failure, it can be recovered by performing a reverse calculation. This is demonstrated in the table below. If two or more values are missing, then there is not enough information and the array has crashed. The actual parity calculation uses binary exclusive-OR (XOR), not addition. However, XOR is commutative and associative just like addition, so the equations can be solved similarly. (Just replace + and - with XOR in the formulas.)

The Parity Calculation: stripe1 + stripe2 = parity
stripe1 stripe2 parity Recovery Calculation
missing available available stripe1 = parity - stripe2
available missing available stripe2 = parity - stripe1
available available missing parity = stripe1 + stripe2
The equation can be solved for one missing value, but not more.