Các ba đĩa RAID-6 là tầm thường: Chỉ cần lưu trữ các thông tin tương tự trên đĩa 1, đĩa 2 và đĩa 3. Bất kỳ hai đĩa có thể thất bại và bạn vẫn có thể phục hồi dữ liệu. Vì vậy, một cuộc đột kích ba đĩa-6 về cơ bản chỉ là một cuộc đột kích ba đĩa-1.
Trong bốn trường hợp đĩa , có hai "đĩa" dữ liệu (hãy gọi chúng làA và B) và hai "đĩa" chẵn lẻ (hãy gọi chúng là P và Q). Hơn nữa, chúng ta phải hoạt động trên hai bit từ mỗi đĩa tại một thời điểm, vì vậy mục dữ liệu tối thiểu (có thế hệ chẵn lẻ được hiển thị ở đây) là bốn bit: Hai bit trên đĩaA và hai bit trên đĩa B. Điều này sẽ tạo ra hai bit chẵn lẻP và hai bit tương đương Q. Nếu chúng ta có nhiều bit hơn, chúng ta chỉ cần lặp lại sơ đồ này khi cần thiết.
Chẵn lẻ đầu tiên P được tính toán bình thường, sử dụng XOR tiêu chuẩn (⊕) kế hoạch:
P=A⊕B
Đối với chẵn lẻ thứ hai Q, chúng ta phải xử lý một trong các mục dữ liệu trước khi thực hiện XOR, để nó trở nên khác với P:
Q=A⊕B∗
Mangled B∗ được tính từ B như sau: Bit đầu tiên của B∗ là XOR của cả hai bit từ Bvà bit thứ hai của B∗ là bản sao của bit đầu tiên của B:
B∗=(B∗1,B∗2)=(B1⊕B2,B1)
Công thức trên dẫn đến bảng sau để tính B∗ từ B:
00→00
01→10
10→11
11→01
Lưu ý rằng giá trị 00 vẫn không thay đổi, khi được đọc sai, trong khi các giá trị khác trải qua chu kỳ ba: 01→10→11→01.
Unmangling khá đơn giản: Bởi vì thuộc tính tuần hoàn, chỉ cần lặp lại việc xáo trộn hai lần để thực hiện một thao tác unmangle. Hoặc đảo ngược công thức trên choB∗, dẫn đến:
B=(B∗2,B∗1⊕B∗2)
Vì vậy, unmangling có phần đối xứng với mangling.
Bây giờ đến phép màu, điều này sau đó sẽ cho phép chúng tôi phục hồi trong kịch bản, rằng hai đĩa dữ liệu bị lỗi và chỉ có các đĩa chẵn lẻ tồn tại: Điều gì xảy ra, nếu B và B∗được XOR? Bây giờ, hãy xem:
B⊕B∗=(B1,B2)⊕(B1⊕B2,B1)=(B1⊕B1⊕B2,B1⊕B2)=(B2,B1⊕B2)
Kết quả tốt đẹp: XORing B và B∗ giống hệt như thực hiện một bước không thay đổi trên B. Như vậyB có thể được phục hồi từ B⊕B∗ bằng cách áp dụng một mangle cho nó: B=(B⊕B∗)∗. Và như(B⊕B∗) là kết quả của XORing hai giá trị chẵn lẻ P và Q, phục hồi từ các đĩa chẵn lẻ trở nên có thể.
Bây giờ, chúng ta có mọi thứ cùng nhau: Để lưu trữ A và B trên RAID-6, trước tiên chúng tôi tính toán dữ liệu được xử lý B∗và sau đó là tương đương tiêu chuẩn P từ A và B và chẵn lẻ Q từ A và B∗:
B∗=(B1⊕B2,B1)
P=A⊕B
Q=A⊕B∗
Phục hồi sau thất bại của hai đĩa như sau:
- Nếu A và B tồn tại, chỉ cần tính toán lại P và Q.
- Nếu A và P sống sót, hồi phục B=P⊕A, sau đó tính toán lại Q.
- Nếu B và P sống sót, hồi phục A=P⊕B, sau đó tính toán lại Q.
- Nếu A và Q sống sót, hồi phục B∗=Q⊕A, sau đó phục hồi B từ B∗ thông qua một hoạt động unmangle (hoặc một mangle kép), sau đó tính toán lại P.
- Nếu B và Q sống sót, tính toán B∗ từ B, sau đó phục hồi A=Q⊕B∗, sau đó tính toán lại P.
- Nếu P và Q tồn tại, sử dụng công thức giải thích ở trên B=(P⊕Q)∗, sau đó phục hồi A=P⊕B.
Trong trường hợp năm đĩa , có ba đĩa dữ liệuA, B và C và một lần nữa hai đĩa chẵn lẻ P và Q. Sự khác biệt đáng chú ý nhất là, mangle được thực hiện hai lần vàoC, khi tính toán Q:
P=A⊕B⊕C
Q=A⊕B∗⊕C∗∗
Phục hồi trong trường hợp năm đĩa tuân theo các nguyên tắc tương tự như đối với trường hợp bốn đĩa. Trong những trường hợp đó, hai đĩa dữ liệu vàP hoặc là Qsống sót, người ta phải lấy ra hai giá trị từ tính chẵn lẻ thay vì chỉ một và tuân theo hàm unmangle chính xác trong trường hợpQ. Ví dụ,C được phục hồi từ A, B và Q như sau: C=(Q⊕A⊕B∗)∗.
Trường hợp khó khăn nhất là, nếu đĩa A, P và Qtồn tại Sau đóA là lần đầu tiên XOR ra khỏi P và Q, và sau đó (P⊕A) được đọc trước khi XORing với (Q⊕A). Bản đồ đóB và rời khỏi đồng bằng C:
(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
Đối với sáu đĩa trở lên , nguyên tắc vẫn giữ nguyên, nhưng thao tác mangle cần được thay thế bằng một đĩa có chu kỳ dài hơn. Điều này cũng đòi hỏi sử dụng nhiều bit hơn. Với bốn bit, một op mangle có thể là:
M∗=(M1⊕M4,M1,M2,M3)
0000 lại được ánh xạ 0000, trong khi tất cả các giá trị khác trải qua chu kỳ 15 giai đoạn: 0001→1000→1100→1110→1111→0111→1011→0101→1010→1101→0110→0011→1001→0100→0010→0001
Với chu kỳ 15 giai đoạn của nó, op mangle này có thể được sử dụng cho tối đa 15 đĩa dữ liệu và hai đĩa chẵn lẻ. ChoP chẵn lẻ, tất cả các giá trị được XOR cùng nhau, và cho Q, mốc dữ liệu của đĩa thứ nhất không được xử lý, dữ liệu của đĩa thứ hai được đọc một lần, dữ liệu của đĩa thứ ba được đọc hai lần, v.v.