1. A method of reading at least one flash memory cell, comprising the steps of: (a) for each cell: (i) comparing a threshold voltage of said each cell to at least one integral reference voltage, (ii) comparing said threshold voltage of said each cell to at least one fractional reference voltage, and (iii) based at least in part on outcomes of said comparisons, calculating a respective estimated probability measure of each bit of a bit pattern of said each cell, thereby obtaining a plurality of estimated probability measures; and (b) estimating a respective original bit pattern of each cell, based at least in part on at least two of said estimated probability measures.