Patent ID: 7966547

Claim:
A method for operating a collection of memory cells storing binary data, the method comprising: dividing a characteristic parameter in the collection of memory cells into a plurality of characteristic parameter bands; assigning a binary multi-bit value to each of the plurality of characteristic parameter bands such that adjacent characteristic parameter bands have assigned binary multi-bit values differing by only one bit; associating a group of memory cells in the collection of memory cells to at least one parity cell, the parity cell storing a multi-bit parity value, the multi-bit parity value indicating for the group of memory cells whether the number of occurrences of binary “true” values in each bit position of stored binary multi-bit values is odd or even so that each bit position in the group of memory cells and the parity cell has an expected parity check value; converting the binary multi-bit values and the multi-bit parity value to characteristic parameter values, the characteristic parameter values being in the characteristic parameter band associated with the assigned binary multi-bit value corresponding to the binary multi-bit value; storing the binary multi-bit values and the multi-bit parity value in the group of memory cells and the parity cell; retrieving the stored characteristic parameter values from the group of memory cells and the parity cell; converting the stored characteristic parameter values to retrieved binary multi-bit values according to the assigned binary multi-bit values; calculating an actual parity check value, the actual parity check value indicating for the group of memory cells whether the number of occurrences of binary “true” values in each bit position of the retrieved binary multi-bit values is odd or even; and if the actual parity check value is not equal to the expected parity check value, the method further comprising: a) for each memory cell in the group of memory cells and the parity cell, calculating a band probability that the stored characteristic parameter value belongs to the characteristic parameter band assigned to the binary multi-bit value; b) identifying at least one error memory cell having a low band probability, the at least one error memory cell corresponding to at least one of the memory cells in the group of memory cells and the parity cell; and c) assigning the error memory cell a corrected binary multi-bit value with the characteristic parameter value within the characteristic parameter band adjacent to the characteristic parameter band associated with the retrieved binary multi-bit value such that a second actual parity check value correctly indicates for the group of memory cells whether the number of occurrences of binary “true” values in each bit position of the retrieved and corrected binary multi-bit values is odd or even.