A run-length limited (RLL) encoder includes a problematic-block detection
module that receives a data block and that generates coding bits that
indicate whether at least one of N portions of the data block include one
of all ones and all zeros, where N is an integer greater than one. A
mapping module generates an RLL codeword based on the data block and the
coding bits. The RLL codeword includes N portions. One of the N portions
of the RLL codeword is populated with the coding bits. At least another
one of the remaining portions of the RLL codeword is populated with at
least part of the data from one of the N portions of the data block that
corresponds with the one of the N portions of the RLL codeword.