Patent ID: 8910012

Claim:
A system for encoding data, the system comprising: logic adapted for receiving data comprising one or more sub data sets; a C1 encoder module adapted for generating a plurality of C1 codewords during C1 error correction code (ECC) encoding of the one or more sub data sets, each of the C1 codewords comprising a plurality of symbols; logic adapted for interleaving the plurality of C1 codewords into C1 codeword interleaves (CWIs), each CWI having a predetermined number of C1 codewords interleaved therein; a C2 encoder module adapted for generating a plurality of C2 codewords during C2 ECC encoding of the one or more sub data sets, each of the C2 codewords comprising a plurality of symbols, wherein each C2 codeword has at most one symbol from each C1 codeword in each CWI, and wherein each C2 codeword has one symbol from at least two different C1 codewords in each CWI; and logic adapted for writing the one or more encoded sub data sets to a storage medium.