Patent ID: 8050086

Claim:
A method for operating a memory, comprising: storing data in a group of analog memory cells of the memory as respective first voltage levels, selected from a set of possible values corresponding to respective possible combinations of data bits to be stored in the analog memory cells; after storing the data, reading from the analog memory cells respective second voltage levels, which are affected by cross-coupling interference causing the second voltage levels to differ from the respective first voltage levels; processing the second voltage levels to derive respective hard decisions, each hard decision specifying a respective combination of the data bits selected from among the possible combinations of the data bits; calculating respective differences between the second voltage levels that were read from the analog memory cells and the respective first voltage levels corresponding to the hard decisions; estimating cross-coupling coefficients, which quantify the cross-coupling interference among the analog memory cells, based on the differences; and reconstructing the data stored in the group of analog memory cells from the read second voltage levels using the estimated cross-coupling coefficients.