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 by adjacent cells. To
account for the shift, compensations are applied when reading. When
reading a selected word line, the adjacent word line is read first and
the data stored in a set of data latches for each bit line. One latch for
each bit line stores an indication that the data is from the adjacent
word line. The selected word line is then read with compensations based
on the different states of the cells on the adjacent word line. Each
sense module uses the data from the adjacent word line to select the
results of sensing with the appropriate compensation for its bit line.
The data from the adjacent word line is overwritten with data from the
selected word line at the appropriate time and the indication updated to
reflect that the latches store data from the selected word line. The
efficient use of the data latches eliminates the need for separate
latches to store data from the adjacent word line.