8. The apparatus as recited in claim 7 , wherein the controller is configured to maintain a dictionary of codewords generated from the mapping of two output codewords, and wherein the converting step includes converting each read message to an input codeword based on the dictionary codewords.
9. The apparatus as recited in claim 8 , wherein the controller is configured to maintain a validity status of a first variable (p 1 ) and a second variable (p 2 ), and wherein codewords are added to the dictionary of codewords based on whether the input codeword exists in the dictionary and based on the validity status of at least one of the first variable and the second variable.