1. A data encoder comprising: an encoding logic circuit configured to encode input data to apply run length limiting using state splitting of a code trellis; and a lookup table configured to apply a block-enumerable map on an un-split version of the code trellis, wherein entries in the lookup table are compressed.