IP Library Granted Patent US 11,074,989
Granted Patent B2
US 11,074,989 · App. 16/079,737 · Granted Jul 27, 2021

Uncorrectable ECC

Inventors: Jianmin Huang (San Carlos, CA); Deping He (Boise, ID); Xiangang Luo (Fremont, CA); Harish Reddy Singidi (Fremont, CA); Kulachet Tanpairoj (Santa Clara, CA); John Zhang (Shanghai, CN); Ting Luo (Santa Clara, CA)
Assignee: Micron Technology, Inc.
G11C29/42G11C29/14G11C29/20G11C29/44G11C29/886
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,074,989
App. No.
16/079,737
Granted
Jul 27, 2021
Kind
B2
Abstract

Disclosed in some examples are NAND devices, firmware, systems, methods, and devices that apply smart algorithms to process ECC errors by taking advantage of excess overprovisioning. In some examples, when the amount of overprovisioned blocks are above a predetermined threshold, a first ECC block error handling mode may be implemented and when the overprovisioned blocks are equal or less than the predetermined threshold, a second mode of ECC block error handling may be utilized.

Claims (65)

1. A NAND memory device comprising:

an array of NAND memory cells;

a controller configured to perform operations comprising:

reading a value from the array of NAND memory cells;

performing an Error Correction Code (ECC) check on the value;

determining that the ECC check failed;

comparing a value of a remaining number of overprovisioned blocks in the array against a determined threshold; and

based upon the comparison, executing a first error handling mode if the remaining number of overprovisioned blocks is greater than the determined threshold and a second error handling mode if the remaining number of overprovisioned blocks is less than or equal to the determined threshold.

2. The memory device of claim 1 , wherein the operations of executing the first error handling mode comprises:

marking a first block in the NAND memory cells where the value was stored as bad;

replacing the first block with a second block in the array, the second block being a block that is part of a pool of blocks designated as overprovisioning; and

decrementing the value of the remaining number of overprovisioned blocks.

3. The memory device of claim 2 , wherein the determined threshold is set during manufacturing to be a desired number of overprovisioned blocks given a storage capacity of the NAND memory device.

4. The memory device of claim 2 , wherein the first block is replaced with the second block in a superblock of the NAND memory device.

5. The memory device of claim 1 , wherein the operations of executing the second error handling mode comprises:

incrementing a failure counter for a block in the NAND memory cells where the value was stored;

determining that the failure counter for the block is over a threshold; and

responsive to determining that the failure counter is over the threshold, testing the block; and

returning the block to service if testing was successful.

6. The memory device of claim 1 , wherein the determined threshold is calculated based upon a size of the NAND memory device.

7. The memory device of claim 1 , wherein the operations of performing the Error Correction Code (ECC) check on the value comprise:

comparing an output of a mathematical operation on the value with a stored value, and wherein the operations of determining that the ECC check failed comprise determining that the output of the mathematical operation on the value does not match the stored value.

8. The memory device of claim 1 , wherein the NAND memory device is a three-dimensional NAND memory device.

9. A machine-readable medium comprising instructions, which when performed by a machine, cause the machine to perform operations comprising:

reading a value from an array of NAND memory cells;

performing an Error Correction Code (ECC) check on the value;

determining that the ECC check failed;

comparing a value of a remaining number of overprovisioned blocks in the array against a determined threshold; and

based upon the comparison, executing a first error handling mode if the remaining number of overprovisioned blocks is greater than the determined threshold and a second error handling mode if the remaining number of overprovisioned blocks is less than or equal to the determined threshold.

10. The machine-readable medium of claim 9 , wherein the operations of executing the first error handling mode comprises:

marking a first block in the NAND memory cells where the value was stored as bad;

replacing the first block with a second block in the array, the second block being a block that is part of a pool of blocks designated as overprovisioning; and

decrementing the value of the remaining number of overprovisioned blocks.

11. The machine-readable medium of claim 10 , wherein the determined threshold is set during manufacturing to be a desired number of overprovisioned blocks given a storage capacity of the NAND memory device.

12. The machine-readable medium of claim 10 , wherein the first block is replaced with the second block in a superblock of the NAND memory device.

13. The machine-readable medium of claim 9 , wherein the operations of executing the second error handling mode comprises:

incrementing a failure counter for a block in the NAND memory cells where the value was stored;

determining that the failure counter for the block is over a threshold; and

responsive to determining that the failure counter is over the threshold, testing the block; and

returning the block to service if testing was successful.

14. The machine-readable medium of claim 9 , wherein the determined threshold is calculated based upon a size of the NAND memory device.

15. The machine-readable medium of claim 9 , wherein the operations of performing the Error Correction Code (ECC) check on the value comprise:

comparing an output of a mathematical operation on the value with a stored value, and wherein the operations of determining that the ECC check failed comprise determining that the output of the mathematical operation on the value does not match the stored value.

16. The machine-readable medium of claim 9 , wherein the NAND memory device is a three-dimensional NAND memory device.

17. A NAND memory device management method comprising:

reading a value from an array of NAND memory cells;

performing an Error Correction Code (ECC) check on the value;

determining that the ECC check failed;

comparing a value of a remaining number of overprovisioned blocks in the array against a determined threshold; and

based upon the comparison, executing a first error handling mode if the remaining number of overprovisioned blocks is greater than the determined threshold and a second error handling mode if the remaining number of overprovisioned blocks is less than or equal to the determined threshold.

18. The method of claim 17 , wherein the operations of executing the first error handling mode comprises:

marking a first block in the NAND memory cells where the value was stored as bad;

replacing the first block with a second block in the array, the second block being a block that is part of a pool of blocks designated as overprovisioning; and

decrementing the value of the remaining number of overprovisioned blocks.

19. The method of claim 18 , wherein the determined threshold is set during manufacturing to be a desired number of overprovisioned blocks given a storage capacity of the NAND memory device.

20. The method of claim 18 , wherein the first block is replaced with the second block in a superblock of the NAND memory device.

21. The method of claim 17 , wherein the operations of executing the second error handling mode comprises:

incrementing a failure counter for a block in the NAND memory cells where the value was stored;

determining that the failure counter for the block is over a threshold; and

responsive to determining that the failure counter is over the threshold, testing the block; and

returning the block to service if testing was successful.

22. The method of claim 17 , wherein the determined threshold is calculated based upon a size of the NAND memory device.

23. The method of claim 17 , wherein the operations of performing the Error Correction Code (ECC) check on the value comprise:

comparing an output of a mathematical operation on the value with a stored value, and wherein the operations of determining that the ECC check failed comprise determining that the output of the mathematical operation on the value does not match the stored value.

24. The method of claim 17 , wherein the NAND memory device is a three-dimensional NAND memory device.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051026/0568 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050718/0764 →
SUPPLEMENT NO. 11 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048082/0860 →
SUPPLEMENT NO. 2 TO PATENT SECURITY AGREEMENT Recorded Jan 16, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048082/0889 →