IP Library Granted Patent US 11,152,071
Granted Patent B1
US 11,152,071 · App. 16/885,147 · Granted Oct 19, 2021

Erase operation reattempt to recover misidentified bad blocks resulting from consecutive erase failures

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,152,071
App. No.
16/885,147
Granted
Oct 19, 2021
Kind
B1
Abstract

Aspects of a storage device including a controller are provided which recovers misidentified bad blocks that fail to erase due to charge leakage from a previously programmed open block. The controller programs an open block, and attempts to erase a plurality of closed blocks following the programming of the open block. When the closed blocks fail to erase, the controller marks the closed blocks as bad blocks. The controller then determines whether a number of consecutive erase failures after programming the open block meets a threshold, in response to which the controller resets a die including the closed blocks and reattempts to erase the closed blocks. The controller then unmarks as bad blocks the closed blocks which successfully erased in response to the re-attempt.

Claims (47)

1. A storage device, comprising:

a memory including non-volatile memory; and

a controller coupled to the memory and comprising at least one processor that is configured to execute instructions stored in the memory that causes the at least one processor to:

program an open block of the non-volatile memory,

perform an attempt to erase a plurality of closed blocks of the non-volatile memory after programming of the open block,

mark one or more of the plurality of closed blocks that fail to erase as bad blocks,

determine a number of consecutive erase failures based on the attempt to erase the plurality of closed blocks,

perform a re-attempt to erase the plurality of closed blocks when the number of consecutive erase failures meets a threshold, and

unmark the one or more of the plurality of closed blocks identified as bad blocks that successfully erase based on the re-attempt.

2. The storage device of claim 1 , wherein the at least one processor is further configured to update an erase failure counter indicating the number of consecutive erase failures in response to a failed attempt to erase one of the plurality of closed blocks.

3. The storage device of claim 2 , wherein the at least one processor is further configured to reset the erase failure counter after the re-attempt to erase the plurality of closed blocks.

4. The storage device of claim 1 , wherein the memory comprises a die that includes the plurality of closed blocks, wherein the at least one processor is further configured to reset the die when the number of consecutive erase failures meets the threshold.

5. The storage device of claim 4 , wherein the at least one processor is further configured to re-attempt to erase the plurality of closed blocks after resetting the die.

6. The storage device of claim 1 , wherein, when the one or more of the plurality of closed blocks is successfully erased in response to the re-attempt, the at least one processor is further configured to identify the open block as a bad block.

7. The storage device of claim 6 , wherein the at least one processor is further configured to:

store multiple lists of open blocks in the memory after multiple successful re-attempts to erase the plurality of closed blocks, and

identify the open block that is common across the multiple lists as the bad block.

8. A storage device, comprising:

a memory including non-volatile memory; and

a controller coupled to the memory and comprising at least one processor that is configured to execute instructions stored in the memory that causes the at least one processor to:

program an open block of the non-volatile memory,

perform an attempt to erase a plurality of closed blocks of the non-volatile memory after programming of the open block being programmed,

mark the plurality of closed blocks as bad blocks when the attempt to erase the plurality of closed blocks fails,

perform a re-attempt to erase the plurality of closed blocks when a number of consecutive erase failures associated with the attempt to erase the plurality of closed blocks meets a threshold, and

unmark the plurality of closed blocks as bad blocks when the re-attempt to erase the plurality of closed blocks is successful.

9. The storage device of claim 8 , wherein the at least one processor is further configured to update an erase failure counter indicating the number of consecutive erase failures when the attempt to erase each of the plurality of closed blocks fails.

10. The storage device of claim 8 , wherein the memory comprises a die that includes the plurality of closed blocks, wherein the at least one processor is further configured to send a reset command to the die when the number of consecutive erase failures meets the threshold.

11. The storage device of claim 10 , wherein the at least one processor is further configured to perform the re-attempt to erase the plurality of closed blocks after transmitting the reset command.

12. The storage device of claim 8 , wherein when each of the plurality of closed blocks is successfully erased in response to the re-attempt, the at least one processor is further configured to identify the open block as a bad block.

13. The storage device of claim 12 , further comprising a memory, wherein the at least one processor is further configured to:

store a list of open blocks in the memory after each successful re-attempt to erase the plurality of closed blocks, and

identify the open block that is common across multiple lists of open blocks as the bad block.

14. A storage device, comprising:

a memory including non-volatile memory; and

a controller coupled to the memory and comprising at least one processor that is configured to execute instructions stored in the memory that causes the at least one processor to:

program an open block of the non-volatile memory,

perform an attempt to erase a plurality of closed blocks of the non-volatile memory after programming of the open block,

mark the plurality of closed blocks as bad blocks when the attempt to erase the plurality of closed blocks fails,

perform a re-attempt to erase the plurality of closed blocks when a number of consecutive erase failures associated with the attempt to erase the plurality of closed blocks meets a threshold, and

unmark each of the plurality of closed blocks as bad blocks when each of the plurality of closed blocks is successfully erased based on the re-attempt.

15. The storage device of claim 14 , wherein the at least one processor is further configured to update an erase failure counter indicating the number of consecutive erase failures after each failed attempt to erase one of the plurality of closed blocks.

16. The storage device of claim 15 , wherein the at least one processor is further configured to reset the erase failure counter after unmarking the plurality of closed blocks that successfully erased.

17. The storage device of claim 14 , wherein the memory comprises a die that includes the plurality of closed blocks, wherein the at least one processor is further configured to reset the die before performing the re-attempt to erase the plurality of closed blocks.

18. The storage device of claim 14 , wherein, when at least one of the plurality of closed blocks is successfully erased in response to the re-attempt, the at least one processor is further configured to identify the open block as a bad block.

19. The storage device of claim 18 , wherein the at least one processor is further configured to:

store multiple lists of open blocks in the memory after multiple re-attempts to erase the plurality of closed blocks, and

identify the open block that is common across the multiple lists as the bad block.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2020
From: ARORA, NIKHIL; ARORA, LOVLEEN; SANKULE, SOURABH; HIWARE, SAMEER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053321/0922 →