Generalized X-Code: An Efficient RAID-6 Code for Arbitrary Size of Disk Array
In generalized X-code, redundant elements are moved along their cal- culation diagonals in X-code onto two specific disks and change two data elements into redundant elements. It adapts to arbitrary size of the disk array as well.
Veritical code: redundant elements and data elements can be stored on any disk within a stripe.
Motivation: 1. Horizontal code cannot attain a theoretical optimal updating complexity of two; 2. the size of disk array in vertical code must be a prime number; 3. for vertical code, adding new disks requires changing all the diagonals, which means all the redundant elements need to be recalculated.
Generalized X-code
Encoding: p0: XOR all data, p1: special element introduced in each data element
Decoding: same as original. If the (p-1/2)th disk fails, special element should be recovered during decoding.
As a vertical code, Generalized X-code doesnot require the size of the disk array as prime number. The number of disk should be prime though.
It make sure that it tolerates any two 2 disks’ failure.