IP Library Granted Patent US 12,164,804
Granted Patent B2
US 12,164,804 · App. 17/552,237 · Granted Dec 10, 2024

Memory sub-system media management groups

Inventors: Karl D. Schuh (Santa Cruz, CA); Jiangang Wu (Milpitas, CA); Kishore K. Muchherla (Fremont, CA); Ashutosh Malshe (Fremont, CA); Vamsi Pavan Rayaprolu (San Jose, CA)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0616G06F3/064G06F3/0653G06F3/0679
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 12,164,804
App. No.
17/552,237
Granted
Dec 10, 2024
Kind
B2
Abstract

A system includes a memory device and a processing device coupled to the memory device. The processing device can assign each of a plurality of superblocks to one of a plurality of groups. The processing device can monitor an order that each of the groups have been written to. The processing device can write data to a first block of a first superblock of a first of the plurality of groups.

Claims (61)

1. A system, comprising:

a memory device; and

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

monitoring an order in which a plurality of groups of superblocks have been written, wherein:

each superblock comprises a set of data blocks; and

each of the plurality of groups of superblocks comprises at least two superblocks, wherein each of the superblocks of the plurality of groups of superblocks is assigned thereto for performance of a media management operation, and wherein a number of superblocks in each of the plurality of groups of superblocks is determined by a quantity of storage locations available to track data such that there is a first number of superblocks in each of the plurality of groups of superblocks when there is a first quantity of storage locations available to track the data and there is a second number of superblocks in each of the plurality of groups of superblocks that is less than the first number of superblocks when there is a second quantity of storage locations available to track the data that is more than the first quantity of storage locations available to track the data;

writing the data to a particular portion of a first superblock of a first group of the plurality of groups of superblocks based, at least in part, on the monitored order; and

writing additional data to an additional portion of a second superblock of a second group of the plurality of groups of superblocks based, at least in part, on the monitored order and an occurrence of an event.

2. The system of claim 1 , wherein:

the media management operation comprises a wear leveling operation; and

the event comprises one of:

receipt of a request by a host to switch to a different group than the first group of the plurality of groups of superblocks;

a threshold wear limit of the first group of the plurality of groups of superblocks being reached; or

occurrence of a programming error; or

a combination thereof.

3. The system of claim 1 , wherein each of the plurality of groups of superblocks comprises a plurality of blocks of memory of the memory device.

4. The system of claim 1 , wherein the processing device is to further perform operations comprising:

writing data to each of the blocks of each of the superblocks in the first group; and

in response to writing to an end of the first group, continuing to write data to a beginning portion of the first group and overwriting previously written data at the beginning portion.

5. The system of claim 1 , wherein the processing device is to further perform operations comprising erasing a third superblock of the first group, wherein:

the third superblock is ordered as written to subsequent to the first superblock; and

the third superblock is erased concurrently with the writing of the data to the first block of the first superblock.

6. The system of claim 5 , wherein the processing device is to further perform operations, in response to a failure of writing to the first block, writing additional data to the third superblock.

7. The system of claim 1 , wherein the processing device is to further perform operations comprising, in response to receiving a request from a host to write to a second group of the plurality of groups of superblocks, record a last write location that data was written to at reception of the request.

8. The system of claim 7 , wherein the processing device is to further perform operations comprising determining an additional group of the plurality of groups of superblocks to write data to based on wear leveling characteristics.

9. A method, comprising:

monitoring, at the processing device, an order in which a plurality of groups of superblocks have been written, wherein:

each superblock comprises a set of data blocks; and

each of the plurality of groups of superblocks comprises at least two superblocks, wherein each of the superblocks of the plurality of groups of superblocks is assigned thereto for performance of a media management operation, and wherein a number of superblocks in each of the plurality of groups of superblocks is determined by a quantity of storage locations available to track data such that there is a first number of superblocks in each of the plurality of groups of superblocks when there is a first quantity of storage locations available to track the data and there is a second number of superblocks in each of the plurality of groups of superblocks that is less than the first number of superblocks when there is a second quantity of storage locations available to track the data that is more than the first quantity of storage locations available to track the data;

writing the data to a first block of a first superblock of a first group of the plurality of groups of superblocks based, at least in part, on the monitored order;

erasing a second superblock of the first group concurrently with writing data to the first superblock of the first group;

determining an oldest group of the plurality of groups of superblocks; and

writing additional data to a first superblock of a second group of the plurality of groups of superblocks based, at least in part, on the monitored order and the determination of the oldest group.

10. The method of claim 9 , further comprising, in response to completing writing data to a particular block of the first group, writing data to a next-ordered block of the first group.

11. The method of claim 9 , further comprising, in response to completing writing data to a particular superblock of the first group, writing data to a next-ordered superblock of the first group.

12. The method of claim 9 , further comprising, in response to completing writing data to the first group, writing data to a beginning portion of the first group and overwriting previously written data.

13. The method of claim 9 , further comprising, in response to a program failure of the first block of the first superblock:

recording a block location and page location where the program failure occurred; and

writing subsequent data to a third superblock that was erased prior to initiation of the writing of data to the first block.

14. The method of claim 13 , further comprising, in response to a second program failure while writing to the third superblock, writing subsequent data to the erased second superblock.

15. The method of claim 9 , further comprising, in response to receiving a request from a host to send snapshot data, recording a last page location in a superblock that the processing device is writing to when receiving the request.

16. The method of claim 15 , further comprising:

sending the data written to the first group to the host as the snapshot data; and

writing subsequent data to a next-ordered group.

17. An apparatus, comprising:

a memory device comprising a plurality of superblocks, wherein each superblock comprises a set of data blocks;

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

monitoring, at the processing device, an order in which:

a plurality of groups of superblocks have been written and monitoring a wear leveling characteristic associated with each of the plurality of groups of superblocks; and

each of the superblocks associated with a respective group of the plurality of groups of superblocks are written;

wherein each of the plurality of groups of superblocks comprises at least two superblocks, wherein each of the superblocks of the plurality of groups of superblocks is assigned thereto for performance of a media management operation, and wherein a number of superblocks in each of the plurality of groups of superblocks is determined by a quantity of storage locations available to track data such that there is a first number of superblocks in each of the plurality of groups of superblocks when there is a first quantity of storage locations available to track the data and there is a second number of superblocks in each of the plurality of groups of superblocks that is less than the first number of superblocks when there is a second quantity of storage locations available to track the data that is more than the first quantity of storage locations available to track the data;

writing the data to a particular superblock of a first group of the plurality of groups of superblocks;

erasing an additional superblock that is ordered subsequent to the particular superblock in the first group; and

in response to a program failure occurring:

stopping the write to the particular superblock;

recording a block location and a page location where the program failure occurred;

continuing to write to the additional superblock previously erased; and

in response to returning to the particular superblock for subsequent writing, begin writing at the recorded block location and the recorded page location.

18. The apparatus of claim 17 , wherein the processing device is to further perform operations comprising, writing to a superblock that is ordered subsequent to the additional superblock after writing to the additional superblock.

19. The apparatus of claim 17 , wherein the processing device is to further perform operations comprising, in response to receiving a message from a host, stop writing to the first group and continue writing to a second group of the plurality of groups of superblocks ordered subsequent to the first group.

20. The apparatus of claim 19 , wherein the processing device is to further perform operations comprising, in response to writing to the second group, moving valid data previously written to the second group to the first group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: SCHUH, KARL D.; WU, JIANGANG; MUCHHERLA, KISHORE K.; MALSHE, ASHUTOSH; RAYAPROLU, VAMSI PAVAN
To: MICRON TECHNOLOGY, INC.
Reel/Frame 058402/0311 →
Continuity (2)
Provisional Application 63126330 · Dec 16, 2020
Related Publication 20220188034A1 · Jun 16, 2022