the claimed embodiments provide methods , apparatuses and systems directed to run - length limited coding of data . in one implementation , concatenatable rll codes with run lengths of zeroes not exceeding k are constructed for any rate n / where n ≦ 2 k − 2 + k − 1 . as code rates increase , the value of k departs from the minimum possible value more slowly than that of many other codes . further , occurrences of k - bit run lengths occur only at the juncture of two codewords . due to this , the codes are mostly k − 1 . this quality makes the codes ideal for parity bit insertion applications such as ldpc channels . the method , in one implementation , places the bit addresses of violating sequences in a table at the beginning of the codeword , and the user data , occupying the locations where the table entries are placed , are moved into the locations of the violating sequences . this is done iteratively and in a way which provides for cases in which the violating sequence is inside the address table itself .