In a non-volatile memory, the displacement current generated in non-selected
word
lines that results when the voltage levels on an array's bit lines are changed
can result in disturbs. Techniques for reducing these currents are presented. In
a first aspect, the number of cells being simultaneously programmed on a word line
is reduced. In a non-volatile memory where an array of memory cells is composed
of a number of units, and the units are combined into planes that share common
word lines, the simultaneous programming of units within the same plane is avoided.
Multiple units may be programmed in parallel, but these are arranged to be in separate
planes. This is done by selecting the number of units to be programmed in parallel
and their order such that all the units programmed together are from distinct planes,
by comparing the units to be programmed to see if any are from the same plane,
or a combination of these. In a second, complementary aspect, the rate at which
the voltage levels on the bit lines are changed is adjustable. By monitoring the
frequency of disturbs, or based upon the device's application, the rate at which
the bit line drivers change the bit line voltage can be adjusted. This can be implemented
by setting the rate externally, or by the controller based upon device performance
and the amount of data error being generated.