Patent ID: 8599611

Claim:
A method for operating a memory, comprising: storing data as respective first voltage levels in analog memory cells of the memory, in which a subset of the memory cells has correlative distortion; after storing the data, reading from one or more of the analog memory cells in the subset respective second voltage levels, which differ from the first voltage levels due to the correlative distortion; processing the second voltage levels read from the one or more of the analog memory cells in order to estimate respective distortion levels in the second voltage levels; reading a second voltage level from another analog memory cell in the subset; predicting a distortion level in the second voltage level read from the other analog memory cell based on the estimated respective distortion levels of the one or more of the analog memory cells in the subset; correcting the second voltage level read from the other memory cell using the predicted distortion level; and reconstructing the data stored in the other memory cell based on the corrected second voltage level; wherein the stored data is encoded with an Error Correcting Code (ECC), and wherein reconstructing the data comprises modifying a soft ECC metric of the second voltage level and decoding the ECC using the modified soft ECC metric.