Non-volatile memory read operations compensate for floating gate coupling
when the apparent threshold voltage of a memory cell may have shifted. A
memory cell of interest can be read using a reference value based on a
level of charge read from a neighboring memory cell. Misreading the
neighboring cell may have greater effects in particular programming
methodologies, and more specifically, when reading the neighboring cell
for particular states or charge levels in those methodologies. In one
embodiment, memory cells are programmed to create a wider margin between
particular states where misreading a neighboring cell is more
detrimental. Further, memory cells are read in one embodiment by
compensating for floating gate coupling based on the state of a
neighboring cell when reading at certain reference levels but not when
reading at other reference levels, such as those where a wider margin has
been created.