IP Library › Granted Patent US 11,373,729
Granted Patent B2
US 11,373,729 · App. 16/903,066 · Granted Jun 28, 2022

Grown bad block management in a memory sub-system

Inventors: Tao Liu (San Jose, CA); Chun Sum Yeung (Milpitas, CA); Xiangang Luo (Fremont, CA)
Assignee: Micron Technology, Inc.
G11C29/76G11C29/44G11C29/52G11C29/808G11C29/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,373,729
App. No.
16/903,066
Granted
Jun 28, 2022
Kind
B2
Abstract

A replacement block pool for a memory device is established. The replacement block pool comprises one or more valid blocks from a set of valid blocks in the memory device determined based on a constraint defining a minimum number of valid blocks for the memory device. A grown bad block is detected in the memory device. The grown bad block is replaced with a replacement block from the replacement block pool in response to detecting the grown bad block.

Claims (66)

1. A memory sub-system comprising:

a memory device comprising a set of valid blocks; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

establishing a replacement block pool comprising one or more valid blocks from the set of valid blocks determined based on a constraint defining a minimum number of valid blocks for the memory device;

detecting a grown bad block in the set of valid blocks of the memory device;

in response to detecting the grown bad block, replacing the grown bad block with a replacement block from the replacement block pool;

based on replacing the grown bad block with the replacement block, identifying, from the set of valid blocks, an additional replacement block to add to the replacement block pool; and

adding the additional replacement block from the set of valid blocks to the replacement pool based on replacing the grown bad block with the replacement block.

2. The memory sub-system of claim 1 , wherein the replacing the grown bad block comprises:

determining whether the replacement block pool comprises at least one extra valid block.

3. The memory sub-system of claim 2 , wherein the replacing the grown bad block further comprises:

replacing the grown bad block with an extra valid block in response to determining the replacement block pool comprises at least one extra valid block.

4. The memory sub-system of claim 2 , wherein the replacing the grown bad block further comprises:

in response to determining the replacement block pool does not include any extra valid blocks, replacing the grown bad block with an unused block from the set of valid blocks.

5. The memory sub-system of claim 1 , wherein the operations further comprise:

determining the replacement block pool is empty;

determining no additional replacement blocks are available in the memory device; and

in response to determining the replacement block pool is empty and there are no additional replacement blocks available, placing the memory device in a read-only mode.

6. The memory sub-system of claim 1 , wherein establishing the replacement block pool comprises:

identifying at least one free block that is unallocated and unused; and

identifying at least one extra block that is in excess of the minimum number of valid blocks for the memory device.

7. The memory sub-system of claim 1 , wherein replacing the grown bad block with the replacement block comprises:

copying data from the grown bad block to the replacement block; and

remapping one or more logical addresses corresponding to the data to one or more physical addresses corresponding to the replacement block.

8. The memory sub-system of claim 1 , wherein the replacement block pool comprises:

a first set of replacement blocks dedicated for replacing single level cell (SLC) blocks; and

a second set of replacement blocks dedicated for replacing multi-level cell (MLC) blocks.

9. The memory sub-system of claim 8 , wherein:

the grown bad block is a SLC block; and

the replacing of the grown bad block with the replacement block from the replacement block pool comprises:

selecting the replacement block from the first set of replacement blocks.

10. The memory sub-system of claim 8 , wherein:

the grown bad block is an MLC block; and

the replacing of the grown bad block with the replacement block from the replacement block pool comprises:

selecting the replacement block from the second set of replacement blocks.

11. The memory sub-system of claim 8 , wherein:

the replacement block pool comprises a third set of replacement blocks dedicated for replacing either SLC or MLC blocks; and

the replacing of the grown bad block with the replacement block from the replacement block pool comprises:

selecting the replacement block from the third set of replacement blocks.

12. The memory sub-system of claim 1 , wherein the one or more valid blocks are identified as being in excess of the minimum number of valid blocks for the memory device.

13. The memory sub-system of claim 1 , wherein the grown bad block comprises a failed or defective block.

14. A method comprising:

establishing a replacement block pool for a memory device, the replacement block comprising one or more valid blocks from a set of valid blocks of the memory device determined based on a constraint defining a minimum number of valid blocks for the memory device, the establishing of the replacement block pool comprising reserving the one or more valid blocks for the replacement block pool;

detecting a grown bad block in the set of valid blocks of the memory device;

in response to detecting the grown bad block, replacing the grown bad block with a replacement block from the replacement block pool;

based on replacing the grown bad block with the replacement block, identifying, from the set of valid blocks, an additional replacement block to add to the replacement block pool; and

adding the additional replacement block from the set of valid blocks to the replacement pool based on replacing the grown bad block with the replacement block.

15. The method of claim 14 , wherein the replacing the grown bad block comprises:

determining whether the replacement block pool comprises at least one extra valid block.

16. The method of claim 15 , wherein the replacing the grown bad block further comprises:

replacing the grown bad block with an extra valid block in response to determining the replacement block pool comprises at least one extra valid block.

17. The method of claim 15 , wherein the replacing the grown bad block further comprises:

in response to determining the replacement block pool does not include any extra valid blocks, replacing the grown bad block with an unused block from the set of valid blocks.

18. The method of claim 14 , further comprising:

determining the replacement block pool is empty;

determining no additional replacement blocks are available in the memory device; and

in response to determining the replacement block pool is empty and there are no additional replacement blocks available, placing the memory device in a read-only mode.

19. The method of claim 14 , wherein replacing the grown bad block with the replacement block comprises:

copying data from the grown bad block to the replacement block; and

remapping one or more logical addresses corresponding to the data to one or more physical addresses corresponding to the replacement block.

20. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, configure the processing device to perform operations comprising:

reserving one or more valid blocks from a set of valid blocks of a memory device for a replacement block pool for the memory device, the one or more valid blocks determined based on a constraint defining a minimum number of valid blocks for the memory device;

detecting a grown bad block in the set of valid blocks of the memory device; and

in response to detecting the grown bad block, replacing the grown bad block with a replacement block from the replacement block pool;

based on replacing the grown bad block with the replacement block, identifying, from the set of valid blocks, an additional replacement block to add to the replacement block pool; and

adding the additional replacement block from the set of valid blocks to the replacement pool.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2020
From: LIU, TAO; YEUNG, CHUN SUM; LUO, XIANGANG
To: MICRON TECHNOLOGY, INC.
Reel/Frame 053618/0216 →
Continuity (1)
Related Publication 20210391029A1 · Dec 16, 2021
Cited By (1)
US 12,299,282