C-Codes: Cyclic Lowest-Density MDS Array Codes Constructed Using Starters for RAID 6
Array codes are a class of linear codes whose information and parity bits are placed in a two-dimensional (or multidimensional) array rather than a one-dimensional vector. A common property of array codes is that they are implemented based on only simple eXclusive-OR (XOR) operations. This is an attractive advantage in contrast to the family of Reed-Solomon codes whose encoding and decoding processes use complex finite-field operations. Thus, array codes are ubiquitous in data storage applications. The distance-3 cyclic lowest-density MDS array code (called the C-Code) is a good candidate for RAID 6 because of its optimal storage efficiency, optimal update complexity, optimal length, and cyclic symmetry. In this paper, the underlying connections between C-Codes (or quasi-C-Codes) and starters in group theory are revealed.