Each of a plurality of flash memory cells is programmed to a respective
one of L.gtoreq.2 threshold voltage states within a threshold voltage
window. A histogram is constructed by determining how many of some or all
of the cells have threshold voltages in each of two or more of m.gtoreq.2
threshold voltage intervals within the threshold voltage window.
Reference voltages for reading the cells are selected based on estimated
values of shape parameters of the histogram. Alternatively, the cells are
read relative to reference voltages that define m.gtoreq.2 threshold
voltage intervals that span the threshold voltage window, to determine
numbers of at least a portion of the cells whose threshold voltages are
in each of two or more of the threshold voltage intervals. Respective
threshold voltage states are assigned to the cells based on the numbers
without re-reading the cells.