Aborted operation detection for nonvolatile memory with non-uniform erase
An apparatus includes one or more control circuits that are configured to connect to a plurality of nonvolatile memory cells. The one or more control circuits are configured to detect a first boundary between written and unwritten portions of an open block and, in response to detecting the first boundary, check for a second boundary between written and unwritten portions of the open block in order to determine if the open block was subject to a non-uniform erase operation.
1 . An apparatus comprising:
one or more control circuits configured to connect to a plurality of nonvolatile memory cells that are arranged in blocks,
the one or more control circuits are configured to:
detect a first boundary between written and unwritten portions of an open block and in response to detecting the first boundary to check for a second boundary between written and unwritten portions of the open block to determine if the open block is partially-erased by an aborted non-uniform erase operation, the non-uniform erase operation causes different nonvolatile memory cells of the block to be erased at different times such that the aborted non-uniform erase operation leaves written and unwritten portions.
2 . The apparatus of claim 1 , wherein the one or more control circuits are configured to detect the first boundary by performing a binary search of word lines of the open block until at least one written word line is identified and at least one unwritten word line is identified.
3 . The apparatus of claim 2 , wherein the one or more control circuits are configured to check for the second boundary by reading a test word line that is a predetermined offset from a detected written word line.
4 . The apparatus of claim 3 , wherein the non-uniform erase operation is an odd-even erase operation that separately erases odd word lines and even word lines and the test word line is immediately adjacent to the detected written word line.
5 . The apparatus of claim 4 , wherein the one or more control circuits are configured to prepare the open block for erase without copying data from the open block in response to determining that the test word line is erased.
6 . The apparatus of claim 1 , wherein the one or more control circuits are further configured to find a location of the first boundary in response to finding no second boundary between written and unwritten portions of the open block is found.
7 . The apparatus of claim 6 , wherein the one or more control circuits are further configured to copy data on a written side of the first boundary from the open block to another block if no second boundary between written and unwritten portions of the open block is found.
8 . The apparatus of claim 1 , wherein the one or more control circuits are configured to prepare the open block for erase without copying data from the open block in response to determining that the open block was subject to a non-uniform erase operation.
9 . The apparatus of claim 1 , wherein the one or more control circuits are located on a control die that is configured to be connected to a memory die that includes the plurality of nonvolatile memory cells.
10 . A method comprising:
identifying a plurality of open blocks of a nonvolatile memory;
detecting a first boundary between written and unwritten portions of each open block of the plurality of open blocks;
subsequently, in response to detecting the first boundary between the written and unwritten portions of each open block, checking for a second boundary between written and unwritten portions of each open block to determine if the open block was subject to an aborted non-uniform erase operation;
in response to finding the second boundary in a first open block, identifying the first open block as partially erased by an aborted non-uniform erase operation and preparing the first open block for erase without copying data from the first open block; and
in response to failing to find the second boundary in a second open block, identifying the second open block as partially written and copying data from the second open block.
11 . The method of claim 10 , wherein detecting the first boundary includes performing a binary search of word lines of the open block until at least one written word line is identified and at least one unwritten word line is identified.
12 . The method of claim 11 , wherein checking for the second boundary includes reading a test word line that is a predetermined offset from a detected written word line.
13 . The method of claim 12 , wherein the non-uniform erase operation is an odd-even erase operation that separately erases odd word lines and even word lines and the test word line is immediately adjacent to the detected written word line.
14 . The method of claim 13 , further comprising preparing the open block for erase without copying data from the open block in response to determining that the test word line is erased.
15 . The method of claim 10 , further comprising finding a location of the first boundary in response to finding no second boundary between written and unwritten portions of the open block.
16 . The method of claim 15 , further comprising copying data on a written side of the first boundary from the open block to another block in response to finding no second boundary between written and unwritten portions of the open block.
17 . The method of claim 11 , further comprising preparing the open block for erase without copying data from the open block in response to determining that the open block was subject to a non-uniform erase operation.
18 . A data storage system comprising:
a plurality of nonvolatile memory cells arranged in blocks; and
means for detecting a first boundary between written and unwritten portions of an open block and in response to detecting the first boundary checking for a second boundary between written and unwritten portions of the open block to determine if the open block was subject to a non-uniform erase operation to erase different nonvolatile memory cells of the block at different times such that an aborted non-uniform erase operation leaves written and unwritten portions in the block.
19 . The data storage system of claim 18 , wherein the non-uniform erase operation is an odd-even erase operation that separately erases odd word lines and even word lines and checking for the second boundary between written and unwritten portions includes checking a test word line located immediately adjacent to a word line determined as written.
20 . The data storage system of claim 18 , wherein the plurality of nonvolatile memory cells are located on a memory die and the means for detecting the first boundary is located on a control die connected to the memory die.