A method, apparatus and computer program product for decoding a code word

A method for decoding a codeword is received from a flash memory is proposed. The flash memory includes a plurality of multi-level flash memory cells, each such multi-level flash memory cell stores a sign of the code word. An ECC decoder is arranged for decoding the codeword into a decoded code word and is designed for correcting a maximum number of errors. The method includes a Fehlerprufschritt for determining the number of errors in the code word. If the number of errors is greater than the maximum number of errors that can correct for the ECC decoder, a first character modification step and / or a second character modification step are carried out. In the first character modification step, a first modified code word is produced by raising the value of the character to the next higher value level and in the second character modification step, a second modified code word is generated by lowering the value of the character (Si) to the next lower value level. In an analyzing step, the correction effect of the character modification steps is calculated and in a return step, the decoded code word or a deletion of the code word is determined on the basis of the correction effect.

[1]  J. Kessenich,et al.  Bit error rate in NAND Flash memories , 2008, 2008 IEEE International Reliability Physics Symposium.