RAID 6 isn't as standard and recognized as RAID 0-5, so there may be varieties. This is the most commonly seen setup calling itself RAID 6.

RAID 6 is essentially RAID 5 for either the paranoid or those who cannot tolerate downtime. RAID 6 offers two dimensional parity. To understand the following, it is helpful to understand how parity and one dimensional striped parity (RAID 5) works. The layout of blocks on a RAID 6 device is as follows:

Controller
| Disk
|____0___1___2___3
| | | |
S 0 A1 A2 1P* AP*
t 1 2P* BP* B2 B1
r 2 C4 C3 CP* 3P*
i 3 DP* 4P* D3 D4
p
e
Key:
xP parity for that set
* Flag parity blocks for visual appeal
Note: Each data block belongs to two parity sets.

The advantage here is now multiple disk failures can be sustained. This can be hard to see so a sample reconstruction is provided below.

1. Disk 0 and 2 crash and are replaced with blanks
Disk
|____0___1___2___3
| | | |
S 0 A2 AP*
t 1 BP* B1
r 2 C3 3P*
i 3 4P* D4
p
e
2. AP* XOR A2 = A1
BP* XOR B1 = B2
3P* XOR C3 = D3
4P* XOR D4 = C4
Disk
|____0___1___2___3
| | | |
S 0 A1 A2 AP*
t 1 BP* B2 B1
r 2 C4 C3 3P*
i 3 4P* D3 D4
p
e
3. Rebuild parity data (A1 XOR B1 = 1P* etc.)
Disk
|____0___1___2___3
| | | |
S 0 A1 A2 1P* AP*
t 1 2P* BP* B2 B1
r 2 C4 C3 CP* 3P*
i 3 DP* 4P* D3 D4
p
e

One can quickly see that this will work for any two missing disks. This same method can be applied with more disks as well, just add more columns and rows. You now have the ability to let

**any** two drives

fail simultaneously, at the cost of two extra drives.

The problem with RAID 6 lies in the fact that there is now much overhead for data writes. Plus, the RAID controller becomes very complicated (it has to do twice the parity calculations a RAID 5 does per write).

All in all this is a solution for those who are willing to pay a lot (money plus time costs) for reliability that covers an unlikely circumstance (two hard drives failing at the same time).

Much of the information on RAID 6 has come from: Stephenson; Dale J., *RAID architecture with two-drive fault tolerance*, Patent No. 6,353,895: Feb 16, 1999.