Patent ID: 8650462

Claim:
A method of reading a plurality of data bits that are stored in a memory that includes a plurality of multi-bit cells, the storing being effected by computing a plurality of parity bits that correspond to the data bits and then storing the data bits and the parity bits as stored bits in the cells of the memory, the method comprising: (a) reading the cells, thereby obtaining a plurality of read bits; and (b) correcting said read bits that correspond to the data bits in accordance with said read bits that correspond to the parity bits, wherein said correcting is effected in accordance with respective probabilities, of at least two of said read bits being erroneous, that are based only on respective values of said read bits, wherein at least one said probability is different from at least one other said probability, and wherein a respective probability of a bit read from a cell being erroneous depends solely on read values of one or more further bits read from the same cell.