Patent ID: 8161347

Claim:
A method of satisfying a specified run length constraint, including: receiving a systematically error correction encoded sequence of received symbols, wherein the received symbols include data symbols and parity symbols; and using a processor interleave the parity symbols with the data symbols to produce interleaved symbols that satisfy the specified run length constraint, wherein: the interleaving does not uniformly interleave the symbols; and an interleaving pattern is deterministic and a shortest distance between two parity symbols is no shorter than a smaller value of G and 2I, wherein G is a maximum number of zeroes between two ones in the systematically error correction encoded sequence and when looking at two different subsequences, one composed of each odd bit in the systematically error correction encoded sequence and the other composed of each even bit in the systematically error correction encoded sequence, I is a maximum number of zeroes between two ones in either subsequence.