Patent ID: 8782497

Claim:
A method for data storage, comprising: storing data, which is encoded with an Error Correction Code (ECC), in a group of analog memory cells by writing respective first storage values to the memory cells in the group; after storing the data, reading respective second storage values from the memory cells in the group, and processing the read second storage values so as to decode the ECC; responsively to a failure in decoding the ECC, identifying one or more of the second storage values that potentially caused the failure as suspect storage values; re-reading respective third storage values from only a subset of the memory cells in the group, including the memory cells holding the suspect storage values, wherein the number of memory cells in the subset of memory cells in the group is less than the number of memory cells in the group; computing respective soft decoding metrics of the third storage values; and re-decoding the ECC in a soft ECC decoding process using the third storage values and the respective soft decoding metrics, so as to reconstruct the stored data.