3枚のディスクのRAID-6は簡単です:ちょうどディスク1、ディスク2とディスク任意の2枚のディスクが失敗する可能性が3で同じ情報を保存し、あなたはまだデータを回復することができます。つまり、3ディスクRAID-6は基本的に3ディスクRAID-1にすぎません。
では4つのディスクケース、二つのデータ「ディスク」(レッツ・コールにそれらがあると)と2つのパリティ「ディスク」(レッツ・コールそれらと)。さらに、各ディスクの2ビットを同時に操作する必要があるため、最小データアイテム(ここではパリティ生成を示します)は4ビットです。ディスク 2ビットとディスク 2ビットです。これにより、2ビットのパリティと2ビットのパリティが生成されます。より多くのビットがある場合は、必要に応じてこのスキームを繰り返します。ABPQABPQ
最初のパリティは、標準のXOR()スキームを使用して通常どおり計算されます。P⊕
P=A⊕B
2番目のパリティについては、XORを実行する前にデータ項目の1つをマングルする必要があるため、とは異なります。QP
Q=A⊕B∗
マングルから算出されるを次のように最初のビットからの両方のビットのXORである、及び第二のビットの最初のビットのコピーであり、:B∗BB∗BB∗B
B∗=(B∗1,B∗2)=(B1⊕B2,B1)
上記の式は、から計算するための次の表になります。B∗B
00→00
01→10
10→11
11→01
値は変更されたままですが、他の値はの3つのサイクルを通過します。0001→10→11→01
マングリングの解除はかなり簡単です。循環プロパティのため、マングリングを2回繰り返すだけで、マングリングを解除できます。または、上記の式を逆にすると、次のようになります。B∗
B=(B∗2,B∗1⊕B∗2)
したがって、アンマンリングは、マングリングと対称的です。
魔法がやって来て、後でシナリオで2つのデータディスクに障害が発生し、パリティディスクだけが生き残るという魔法が起こりますとがXORされるとどうなりますか?それでは、見てみましょう:BB∗
B⊕B∗=(B1,B2)⊕(B1⊕B2,B1)=(B1⊕B1⊕B2,B1⊕B2)=(B2,B1⊕B2)
良い結果:とのXORは、符号化解除ステップを実行することと同じです。こうしてから回収することができる、それにマングルを適用することにより:。また、は2つのパリティ値とのXORの結果であるため、パリティディスクのみからのリカバリが可能になります。BB∗BBB⊕B∗B=(B⊕B∗)∗(B⊕B∗)PQ
これですべてが揃いましたとをRAID-6に格納、最初にマングルされたデータを計算し、次にとから標準パリティを計算し、次にとからマングルパリティを計算し。ABB∗PABQAB∗
B∗=(B1⊕B2,B1)
P=A⊕B
Q=A⊕B∗
2つのディスクの障害後の回復は次のとおりです。
- と存続する場合は、と再計算します。
ABPQ
- と存続する場合は、回復し、を再計算します。
APB=P⊕AQ
- と存続する場合、 P⊕Bを回復し、を再計算します。BPA=P⊕BQます。
- 場合及び、回復生き残る、その後回復から unmangle操作(又は二重マングル)を介して、次いで再計算AQB∗=Q⊕ABB∗P。
- 場合および生き残る、マングルされた計算から、そして回復、その後、再計算BQB∗BA=Q⊕B∗P。
- 場合及び生き残る、式を使用して上述、その後回復。
PQB=(P⊕Q)∗A=P⊕B
5枚のディスクの場合、3枚のデータディスクが存在する、及びと再び2つのパリティディスク及び。最も顕著な違いは、マングルが行われていること、である二回に計算する際に、:ABCPQCQ
P=A⊕B⊕C
Q=A⊕B∗⊕C∗∗
5つのディスクの場合のリカバリは、4つのディスクの場合と同じ原則に従います。これらの場合、2つのデータディスクとまたはいずれかが存続すると、1つではなく2つの値をパリティから取り出し、場合は正しいアンマングル関数を実行する必要があります。たとえば、は、、から次のように復元されます:。PQQCABQC=(Q⊕A⊕B∗)∗
最もトリッキーなケースは、ディスク、、および存続する場合です。次に、は最初にとからXORされ、次に P⊕Aがマングルされて Q⊕AとXORされます。これはをマップし、プレーンなを残します。APQAPQ(P⊕A)(Q⊕A)BC
(P⊕A)∗⊕(Q⊕A)=(A⊕B⊕C⊕A)∗⊕(A⊕B∗⊕C∗∗⊕A)=
=(B⊕C)∗⊕(B∗⊕C∗∗)=(B∗⊕C∗)⊕(B∗⊕C∗∗)=
=B∗⊕C∗⊕B∗⊕C∗∗=B∗⊕B∗⊕C∗⊕C∗∗=(C⊕C∗)∗=
=(C∗∗)∗=C∗∗∗=C
以下のために6枚の以上のディスク、原理は同じままですが、マングル操作は、長いサイクルを有するものに交換する必要があります。これには、より多くのビットを使用する必要もあります。4ビットの場合、考えられるマングル操作は次のとおりです。
M∗=(M1⊕M4,M1,M2,M3)
0000再び上でマッピングされている:他のすべての値は、15段階のサイクルを通過しながら、00000001→1000→1100→1110→1111→0111→1011→0101→1010→1101→0110→0011→1001→0100→0010→0001
15段階のサイクルで、このマングル演算は最大15のデータディスクと2つのパリティディスクに使用できます。以下のためパリティ、全ての値は、のように一緒にXORされ、そしてためれる、最初のディスクのデータは第三のディスクのデータが二回マングルなどされ、第二のディスクデータムを一度マングルされ、マングルされていません。PQ