The lowest programmed state in multi-state non-volatile flash memory
devices can suffer from an increased level of bit line to bit line
capacitive charge coupling when compared with other states. Program
voltages applied to memory cells as increasing voltage pulses can be
incremented using smaller values when programming memory cells to the
lowest programmable state. Smaller increments in the applied voltage
allow for greater precision and a narrower threshold voltage distribution
to compensate for the disproportionate charge coupling experienced by
cells programmed to this state. Smaller increment values can be used when
switching from lower page to upper page programming in some
implementations. In a pipelined programming architecture where cells
forming a physical page store two logical pages of data and programming
for one logical page begins before receiving data for the other logical
page, the increment value can be increased when switching from
programming the first logical page to programming both pages
concurrently.