Using a common pool of blocks for user data and a system data structure

US12430243B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12430243-B2
Application numberUS-202218070844-A
CountryUS
Kind codeB2
Filing dateNov 29, 2022
Priority dateDec 31, 2018
Publication dateSep 30, 2025
Grant dateSep 30, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes identifying, by a processing device, a common pool of blocks comprising a first plurality of blocks allocated to system data and a second plurality of blocks allocated to user data; determining whether user data has been written to the second plurality of blocks within a threshold period of time; and responsive to determining that the user data has not been written to the second plurality of blocks within the threshold period of time, allocating a block from the second plurality of blocks to the first plurality of blocks.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: identifying, by a processing device, a common pool of blocks of a memory device, the common pool of blocks comprising a first plurality of blocks allocated to system data and a second plurality of blocks allocated to user data; responsive to determining that the user data has not been written to the second plurality of blocks within a threshold period of time, allocating a block from the second plurality of blocks to the first plurality of blocks of the memory device, wherein the block is designated for the user data before the allocating and designated for the system data after the allocating; and responsive to identifying, among the first plurality of blocks, an unused block, reallocating the unused block from the first plurality of blocks to the second plurality of blocks, wherein the unused block is designated for the system data before the reallocating and designated for the user data after the reallocating. 2. The method of claim 1 , further comprising: determining whether a size of data of the first plurality of blocks satisfies a garbage collection performance condition. 3. The method of claim 2 , wherein determining whether the size of data of the first plurality of blocks satisfies the garbage collection performance condition comprises: determining a size of valid data stored in a block, wherein the block is included in the first plurality of blocks. 4. The method of claim 2 , further comprising: responsive to determining that the size of data of the first plurality of blocks satisfies the garbage collection performance condition, allocating an unused block from the common pool to the first plurality of blocks. 5. The method of claim 2 , further comprising: responsive to determining that the size of data of the first plurality of blocks satisfies the garbage collection performance condition, performing a garbage collection operation on a first block of the first plurality of blocks allocated to a system data structure; and allocating the first block to the second plurality of blocks. 6. The method of claim 2 , further comprising: responsive to determining that the size of data of the first plurality of blocks does not satisfy the garbage collection performance condition, determining whether a number of the first plurality of blocks satisfies a threshold value. 7. The method of claim 6 , further comprising: responsive to determining that the number of the first plurality of blocks satisfies the threshold value, allocating an unused block from the common pool to the first plurality of blocks without performing a garbage collection operation on the first plurality of blocks. 8. The method of claim 6 , further comprising: responsive to determining that the number of the first plurality of blocks does not satisfy the threshold value, allocating a second block from the second plurality of blocks to the first plurality of blocks. 9. A system comprising: a memory device; a processing device operatively coupled to the memory device, the processing device to perform operations comprising: identifying, a common pool of blocks of the memory device, the common pool of blocks comprising a first plurality of blocks allocated to system data and a second plurality of blocks allocated to user data; responsive to determining that the user data has been written to the second plurality of blocks within a threshold amount of time, allocating the first block to the second plurality of blocks of the memory device, wherein the block is designated for the user data before the allocating and designated for the system data after the allocating; and responsive to identifying, among the first plurality of blocks, an unused block, reallocating the unused block from the first plurality of blocks to the second plurality of blocks, wherein the unused block is designated for the system data before the reallocating and designated for the user data after the reallocating. 10. The method of claim 9 , wherein the processing device is to perform further operations comprising: determining whether a size of data of the first plurality of blocks satisfies a garbage collection performance condition. 11. The method of claim 10 , wherein determining whether the size of data of the first plurality of blocks satisfies the garbage collection performance condition comprises: determining a size of valid data stored in a block, wherein the block is included in the first plurality of blocks. 12. The method of claim 10 , wherein the processing device is to perform further operations comprising: responsive to determining that the size of data of the first plurality of blocks satisfies the garbage collection performance condition, allocating an unused block from the common pool to the first plurality of blocks. 13. The method of claim 10 , wherein the processing device is to perform further operations comprising: responsive to determining that the size of data of the first plurality of blocks satisfies the garbage collection performance condition, performing a garbage collection operation on a second block of the first plurality of blocks allocated to a system data structure; and allocating the second block to the second plurality of blocks. 14. The method of claim 10 , wherein the processing device is to perform further operations comprising: responsive to determining that the size of data of the first plurality of blocks does not satisfy the garbage collection performance condition, determining whether a number of the first plurality of blocks satisfies a threshold value. 15. The method of claim 14 , further comprising: responsive to determining that the number of the first plurality of blocks satisfies the threshold value, allocating an unused block from the common pool to the first plurality of blocks without performing a garbage collection operation on the first plurality of blocks. 16. The method of claim 14 , further comprising: responsive to determining that the number of the first plurality of blocks does not satisfy the threshold value, allocating a second block from the second plurality of blocks to the first plurality of blocks. 17. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising: identifying a common pool of blocks of the memory device, the common pool of blocks comprising a first plurality of blocks allocated to system data and a second plurality of blocks allocated to user data; responsive to determining that the user data has not been written to the second plurality of blocks within a threshold period of time, allocating a block from the second plurality of blocks to the first plurality of blocks of the memory device, wherein the block is designated for the user data before the allocating and designated for the system data after the allocating; responsive to identifying, among the first plurality of blocks, an unused block, reallocating the unused block from the first plurality of blocks to the second plurality of blocks, wherein the unused block is designated for the system data before the reallocating and designated for the user data after the reallocating. 18. The non-transitory computer-readable storage medium of claim 17 , wherein the processing device is to perform further operations comprising: determining whether a size of data of the first plurality of blocks satisfies a garbage collection performance condition; and responsive to determining that the siz

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Details relating to dynamic memory management · CPC title

  • Cleaning, compaction, garbage collection, erase control · CPC title

  • Allocation control and policies · CPC title

  • Performance improvement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12430243B2 cover?
A method includes identifying, by a processing device, a common pool of blocks comprising a first plurality of blocks allocated to system data and a second plurality of blocks allocated to user data; determining whether user data has been written to the second plurality of blocks within a threshold period of time; and responsive to determining that the user data has not been written to the seco…
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 30 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).