| CPC G06F 3/0616 (2013.01) [G06F 3/064 (2013.01); G06F 3/0653 (2013.01); G06F 3/0679 (2013.01)] | 11 Claims |

|
1. A data storage device comprising:
a memory; and
one or more processors, individually or in combination, configured to:
in response to erasing a block in the memory:
determine whether a program-erase count of the block is equal to a maintenance program-erase count; and
in response to determining that the program-erase count of the block is equal to the maintenance program-erase count:
perform a maintenance operation on a non-data wordline in the block;
determine whether the maintenance operation was successful; and
in response to determining that the maintenance operation was not successful, mark the block as a grown bad block; and
in response to reading the block;
determine whether a bit error rate of the block is above a first threshold;
in response to determining that the bit error rate of the block is above the first threshold:
perform the maintenance operation on the non-data wordline in the block; and
in response to determining that the maintenance operation was not successful, mark the block as a grown bad block; and
in response to determining that the bit error rate of the block is not above the first threshold:
determine whether a lifetime total amount of data read from the block is above a second threshold; and
in response to determining that the lifetime total amount of data read from the block is above the second threshold:
perform the maintenance operation on the non-data wordline in the block; and
in response to determining that the maintenance operation was not successful, mark the block as a grown bad block.
|