Shifts in the apparent charge stored by a charge storage region such as a
floating gate in a non-volatile memory cell can occur because of
electrical field coupling based on charge stored in adjacent (or other)
charge storage regions. Although not exclusively, the effects are most
pronounced in situations where adjacent memory cells are programmed after
a selected memory cell. To account for the shift in apparent charge, one
or more compensations are applied when reading storage elements of a
selected word line based on the charge stored by storage elements of
other word lines. Efficient compensation techniques are provided by
reverse reading blocks (or portions thereof) of memory cells. By reading
in the opposite direction of programming, the information needed to apply
(or select the results of) an appropriate compensation when reading a
selected cell is determined during the actual read operation for the
adjacent word line rather than dedicating a read operation to determine
the information.