An apparatus and method for detecting an over-programming condition in a
multistate memory cell. The invention is also directed to identifying the
over-programmed cells and providing an alternate location at which to
write the data intended for the over-programmed cell. An over-programmed
state detection circuit generates an error signal when the data contained
in a multistate memory cell is found to be over-programmed relative to
its intended programming (threshold voltage level) state. Upon detection
of an over-programmed cell, the programming operation of the memory
system is modified to discontinue further programming attempts on the
cell. The over-programmed state detection circuit is also used to assist
in correcting for the over-programming state, permitting the programming
error to be compensated for by the memory system.