A non-volatile memory device includes the ability to recover data in event
of a program failure without having to maintain a copy of the data until
the write is completed. As the integrity of the data can thus be
maintained with having to save a copy, buffers can be freed up for other
data or even eliminated, reducing the amount of controller space that
needs to devoted data buffering. In exemplary embodiments, the data is
recovered by logically combining the verify data for the (failed) write
process maintained in data latches with the results of one or more read
operations to reconstitute the data. The exemplary embodiments are for
memory cells storing multi-state data, both in the format of independent
upper page, lower page form, as well as in 2-bit form. This can be
accomplished by a state machine and data latches in the sense amp area on
the memory, without use of the controller.