Chapter 4. IBM System Storage DS planning and configuration 107
RAID 6: High availability with additional fault tolerance
RAID 6 (see Figure 4-4) is a RAID level that employs n+2 drives, which can survive the failure
of any two drives. RAID 6 stripes blocks of data and parity across an array of drives and it
calculates two sets of information for each block of data (p+q). For the purposes of RAID 6
p+q, they can be used to generate up to two missing values from a set of data. The key to this
method is the q, which is a codeword based upon Reed-Solomon error correction. As such, q
is more like a CRC than parity. Based upon principles of set theory and linear algebra,
Reed-Solomon codes are well-known codes that are also maximum distance separable
(MDS).
The calculation of q is complex. In the case of the DS5000 storage subsystem, this
calculation is made by the hardware and thus more performant than the software-based
implementation found in other storage systems.
By storing two sets of distributed parities, RAID 6 is designed to tolerate two simultaneous
disk failures. This is a good implementation for environments using SATA disks.
Due to the added impact of more parity calculations, in terms of writing data, RAID 6 is slower
than RAID 5, but might be faster in random reads thanks to the spreading of data over one
more disks.
Figure 4-4 RAID 6
RAID 6 is striping with Dual Rotational Parity.
...
D3
D2
D1
...
E3
Q0
E2
E1
...
C3
C2
P2-parity
Q2
...
B3
P3-parity
Q3
B1
...
P4-parity
Q4
A2
RAIDset
etc.
Block 5
Block 4
Block 3
Block 2
Block 1
Block 0
Logical Drive
A1
A0
Disk 1
Host View
B0
Disk 2
C0
Disk 3
P1-parity
Q1
Disk 4
P0-parity
Disk 5