Data recovery methods in multi-state memory after program fail
First Claim
1. A method of operating a non-volatile memory, comprising:
- performing a program operation on one or more non-volatile memory cells to write a corresponding target data state to each of said memory cells, said program operation including maintaining verify data indicating whether each of said memory cells has been written to its respective target data state in one or more data latches corresponding to each of said memory cells;
determining whether the program operation has failed to successfully verify one or more of said memory cells as written to its target data state; and
in response to determining that the program operation has failed, performing a data recovery operation, the data recovery operation including;
performing one or more sensing operations on said memory cells; and
logically combining the results of the said sensing operations with the verify data maintained in said memory latches to recover the corresponding target data state of each of said memory cells.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
13 Claims
-
1. A method of operating a non-volatile memory, comprising:
-
performing a program operation on one or more non-volatile memory cells to write a corresponding target data state to each of said memory cells, said program operation including maintaining verify data indicating whether each of said memory cells has been written to its respective target data state in one or more data latches corresponding to each of said memory cells; determining whether the program operation has failed to successfully verify one or more of said memory cells as written to its target data state; and in response to determining that the program operation has failed, performing a data recovery operation, the data recovery operation including; performing one or more sensing operations on said memory cells; and logically combining the results of the said sensing operations with the verify data maintained in said memory latches to recover the corresponding target data state of each of said memory cells. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a memory system having a non-volatile array including a plurality of multi-state memory cells storing data as separate logical pages, a method comprising:
-
writing a first logical page of data to a first physical page of the array, where writing the first logical page includes writing memory cells to an intermediate data state; storing data for a second logical page of data for each cell in the first physical page in a corresponding first data latch; and performing a program operation to write the second logical page of data to said first physical page, wherein programming the second logical page includes further programming of the first logical page data from the intermediate state, the program operation to write a second logical page of data including; reading the first logical page data from the first physical page, the first page data of each cell in the first physical page being stored in a corresponding second data latch; programming the first physical page according to the content of the first and second data latches; and subsequent to the data in the first latches verifying and prior to the data in the second data latches beginning to verify, copying out the second data latch content. - View Dependent Claims (11)
-
-
12. In a memory system having a non-volatile array including a plurality of multi-state memory cells storing data as separate logical pages, a method comprising:
-
writing a first logical page of data to a first physical page of the array, where writing the first logical page includes writing memory cells to an intermediate data state; storing data for a second logical page of data for each cell in the first physical page in a corresponding first data latch; and performing a program operation to write the second logical page of data to said first physical page, wherein programming the second logical page includes further programming of the first logical page data from the intermediate state, the program operation to write a second logical page of data including; reading the first logical page data from the first physical page, the first page data of each cell in the first physical page being stored in a corresponding second data latch and in a corresponding third data latch; and programming the first physical page according to the content of the first and second latches while maintaining the copy of the first page data of each cell in the first physical page in the corresponding third data latch. - View Dependent Claims (13)
-
Specification