1. A computer implemented method of determining a probability that a memory cell was programmed to an input level, comprising: receiving an output level read from a memory cell; for each of a plurality of programming levels, determining a probability that the programming level corresponds to the output level, the probability based on a variance determined by a relative position of the output level with respect to a mean value of a distribution corresponding to the programming level; generating a probability value from the plurality of determined probabilities; and providing the probability value for use at a demodulator.