Dynamic tuning of garbage threshold to reduce unreclaimable garbage overhead
US-2024126689-A1 · Apr 18, 2024 · US
US10049040B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10049040-B2 |
| Application number | US-201113011228-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 21, 2011 |
| Priority date | Jan 21, 2011 |
| Publication date | Aug 14, 2018 |
| Grant date | Aug 14, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The disclosure is related to systems and methods of managing a memory. In a particular embodiment, a memory is disclosed that includes multiple garbage collection units. The memory also includes a controller that determines whether to select a garbage collection unit of the multiple garbage collection units for garbage collection based on a variable threshold number of the multiple garbage collection units to garbage collect.
Opening claim text (preview).
What is claimed is: 1. A memory comprising: a plurality of physical garbage collection units divided into different usage groups with each of the different usage groups comprising one or more different ones of the plurality of garbage collection units; and a controller configured to perform just in time garbage collection of the plurality of physical garbage collection units by: monitoring erased garbage collection unit usage in the different usage groups; scheduling garbage collection requests for submission to a particular one of the different usage groups based on the erased garbage collection unit usage within the particular usage group; assigning a higher garbage collection priority to the particular usage group if a demand for garbage collection units within the particular usage group increases relative to a demand for garbage collection units within other ones of the usage groups; and if erased garbage collection units are unavailable in the particular usage group after the particular usage group is assigned the higher garbage collection priority, increasing a variable threshold number of erased garbage collection units for the particular usage group, and wherein the controller is further configured to alter the variable threshold number of erased garbage collection units for the particular usage group in response an erased garbage collection unit count in the particular usage group passing the variable threshold number of erased garbage collection units for the particular usage group. 2. The memory of claim 1 and wherein the controller is further configured to perform just in time garbage collection of the plurality of garbage collection units based on a fixed minimum threshold number of erased garbage collection units for the particular usage group. 3. The memory of claim 2 and wherein the controller is further configured to perform just in time garbage collection of the plurality of physical garbage collection units based on a fixed maximum threshold number of erased garbage collection units for the particular usage group. 4. The memory of claim 1 wherein the variable threshold number of erased garbage collection units for the particular usage group is a variable maximum threshold number of erased garbage collection units for the particular usage group. 5. The memory of claim 1 and wherein the different garbage collection units of the plurality of physical garbage collection units belong to the different usage groups based on nature of usage. 6. The memory of claim 1 and wherein the controller is further configured to reassign a physical garbage collection unit, of the plurality of physical garbage collection units, which belongs to a first usage group of the different usage groups to a second usage group of the different usage groups based on one more predetermined reassignment criteria. 7. The memory of claim 6 wherein the one or more reassignment criteria include a predetermined amount of time for consumption by host traffic. 8. The memory of claim 2 and wherein the controller is further configured to alter the variable threshold number of erased garbage collection units for the particular usage group in response to the erased garbage collection unit count passing the fixed minimum threshold number of erased garbage collection units for the particular usage group. 9. A method comprising: providing a plurality of physical garbage collection units divided into different usage groups with each of the different usage groups comprising one or more different ones of the plurality of garbage collection units; establishing a variable threshold number of erased garbage collection units for each of the different usage groups; and performing just in time garbage collection of the plurality of physical garbage collection units by: monitoring erased garbage collection unit usage in the different usage groups; scheduling garbage collection requests for submission to a particular one of the different usage groups based on the erased garbage collection unit usage within the particular usage group; assigning a higher garbage collection priority to the particular usage group if a demand for garbage collection units within the particular usage group increases relative to a demand for garbage collection units within other ones of the usage groups; and if erased garbage collection units are unavailable in the particular usage group after the particular usage group is assigned the higher garbage collection priority, increasing the variable threshold number of erased garbage collection units for the particular usage group, and altering the variable threshold number of erased garbage collection units for the particular usage group in response an erased garbage collection unit count in the particular usage group passing the variable threshold number of erased garbage collection units for the particular usage group. 10. The method of claim 9 and further comprising performing just in time garbage collection of the plurality of physical garbage collection units based on a fixed minimum threshold number of erased garbage collection units for the particular usage group. 11. The method of claim 10 and further comprising performing just in time garbage collection of the plurality of physical garbage collection units based on a fixed maximum threshold number of erased garbage collection units for the particular usage group. 12. The method of claim 9 wherein the variable threshold number of erased garbage connection units of the plurality of physical garbage collection units is a variable maximum threshold number of erased garbage collection units for the particular usage group. 13. The method of claim 9 and further comprising: selecting one of the plurality of physical garbage collection units; and performing a garbage collection operation on the selected physical garbage collection unit.
Generational garbage collection · CPC title
Garbage collection, i.e. reclamation of unreferenced memory · CPC title
in block erasable memory, e.g. flash memory · CPC title
Incremental or concurrent garbage collection, e.g. in real-time systems (G06F12/0261 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.