Just in time garbage collection

US10049040B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10049040-B2
Application numberUS-201113011228-A
CountryUS
Kind codeB2
Filing dateJan 21, 2011
Priority dateJan 21, 2011
Publication dateAug 14, 2018
Grant dateAug 14, 2018

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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

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 US10049040B2 cover?
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 coll…
Who is the assignee on this patent?
Ebsen David S, Goss Ryan J, Seagate Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0253. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 14 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).