1. 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, with a respective plurality of the stored bits being stored in each of the cells, the method comprising the steps of: (a) reading the cells, thereby obtaining, for each cell, a respective 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 at least in part on information obtained as a result of said reading, said information being confined to respective values of said read bits, wherein at least one said probability is different from at least one other said probability, 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, and wherein the respective probability is derived based on a number of threshold voltage shifts between the read values and one or more possible alternative values.