Write abort detection for multi-state memories
First Claim
1. A method of operating a non-volatile memory circuit, comprising:
- initiating a programming operation on a first block of the non-volatile memory circuit, the non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, wherein the memory cells store data in an N-bit per cell, multi-state format in which each word line stores N pages of data, where N is greater than or equal to two, and where the word lines of a block are sequentially written in a write sequence from a first end of the block to a second end thereof with each of the word lines being written from an erased state with N pages of data;
aborting the programming operation prior to completion;
subsequently performing a determination of a degree to which the first block was written during the programming operation prior to aborting, including;
searching the first block to determine the first word line in the write sequence that is in the erased state;
subsequently performing, for the word line in the write sequence preceding the determined first word line to be in the erased state, a first read operation to determine whether the preceding word line is readable for the most programmed of the multi-states;
in response to the first read operation determining that the preceding word line is not readable for the most programmed of the multi-states, performing for the preceding word line a second read operation for the least programmed of the multi-states above the erased state; and
based on the second read operation, determining whether programming began on the next word line in the write sequence when the programming operation was aborted.
3 Assignments
0 Petitions
Accused Products
Abstract
Techniques are presented to determine whether a multi-state memory device suffers has a write operation aborted prior to its completion. In an example where all the word lines of a memory block is first programmed to an intermediate level (such as 2 bits per cells) before then being fully written (such as 4 bits per cell), after determining that intermediate programming pass completed, the block is searched using the read level for the highest multi-state to find the last fully programmed word line, after which the next word line is checked with the lowest state'"'"'s read level to determine whether the full programming had begun on this word line. In an example where each word line is fully written before beginning the next word line of the block, after determining the first erased word line, the preceding word line is checked as the highest state to see if programming completed and, if not, checked at the lowest read level to see if programming began.
156 Citations
21 Claims
-
1. A method of operating a non-volatile memory circuit, comprising:
-
initiating a programming operation on a first block of the non-volatile memory circuit, the non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, wherein the memory cells store data in an N-bit per cell, multi-state format in which each word line stores N pages of data, where N is greater than or equal to two, and where the word lines of a block are sequentially written in a write sequence from a first end of the block to a second end thereof with each of the word lines being written from an erased state with N pages of data; aborting the programming operation prior to completion; subsequently performing a determination of a degree to which the first block was written during the programming operation prior to aborting, including; searching the first block to determine the first word line in the write sequence that is in the erased state; subsequently performing, for the word line in the write sequence preceding the determined first word line to be in the erased state, a first read operation to determine whether the preceding word line is readable for the most programmed of the multi-states; in response to the first read operation determining that the preceding word line is not readable for the most programmed of the multi-states, performing for the preceding word line a second read operation for the least programmed of the multi-states above the erased state; and based on the second read operation, determining whether programming began on the next word line in the write sequence when the programming operation was aborted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of operating a non-volatile memory circuit, comprising:
-
initiating a programming operation on a first block of the non-volatile memory circuit, the non-volatile memory circuit having a plurality of blocks formed according to a NAND type architecture in which memory cells of a block are formed along a plurality of word lines, wherein the memory cells store data in an N-bit per cell, multi-state format in which each word line stores N pages of data, where N is greater than or equal to two, and where the word lines of a block are sequentially written in a write sequence from a first end of the block to a second end thereof in a first pass in which each of the word lines being written from an erased state with M pages of data, where M is less than N, and are subsequently written from the first end of the block to the second end thereof in a second pass, in which with each of the word lines are further written with (N−
M) pages of data;aborting the programming operation prior to completion; subsequently performing a determination of a degree to which first block was written during the programming operation prior to aborting, including; determining whether the first pass has completed by performing one or more read operations for the most programmed state of the first pass; in response to determining that the first pass has completed, searching the first block to determine the last word line in the write sequence for the second pass that is readable for the most programmed of the multi-states; subsequently performing, for the next word line in the write sequence after the determined last word line, a read operation for the least programmed of the multi-states above the erased state; and based on the read operation, determining whether programming began on the next word line in the write sequence when the programming operation was aborted. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
Specification