Garbage collection based on temperature

US9304909B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9304909-B2
Application numberUS-201514873520-A
CountryUS
Kind codeB2
Filing dateOct 27, 2015
Priority dateDec 11, 2009
Publication dateApr 5, 2016
Grant dateApr 5, 2016

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 storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for performing garbage collection on a collection of segments stored on a flash cache, each of the segments including a plurality of blocks, the method comprising: receiving from a cache management routine a temperature of each of the blocks; selecting a segment from the collection of segments based on a first and second characteristic of each of the blocks within each of the segments, wherein the first characteristic is the temperature of the block, and the second characteristic is whether the block is obsolete; and erasing the selected segment from the flash cache. 2. The method of claim 1 , wherein the temperature of each of the blocks is received by a garbage collection routine. 3. The method of claim 1 , wherein the temperature of the block indicates a likelihood that the block will be accessed. 4. The method of claim 3 , wherein the likelihood that the block will be accessed is based on how frequently the block was accessed over a period of time. 5. The method of claim 1 , further comprising: for each of the blocks, determining whether the block is cold based on the temperature of the block. 6. The method of claim 5 , further comprising: copying non-cold and non-obsolete blocks from the selected segment to a new segment before easing the selected segment. 7. The method of claim 1 , wherein none of the blocks from the selected segment are copied to a new segment before erasing the selected segment. 8. The method of claim 1 , further comprising: for each of the blocks, determining whether the block is obsolete. 9. The method of claim 8 , wherein the block is determined to be obsolete if a more recent version of the block has been stored on the flash cache. 10. The method of claim 8 , wherein the block is determined to be obsolete if the block will no longer be accessed. 11. A storage system, comprising a flash cache that stores a collection of segments, each of the segments storing a plurality of blocks, and (ii) a controller communicatively coupled to the flash cache, wherein the controller is configured to: receive from a cache management routine a temperature of each of the blocks; select a segment from the collection of segments based on a first and second characteristic of each of the blocks within each of the segments, wherein the first characteristic is the temperature of the block, and the second characteristic is whether the block is obsolete; and erase the selected segment from the flash cache. 12. The storage system of claim 11 , wherein the temperature of each of the blocks is received by a garbage collection routine. 13. The storage system of claim 11 , wherein the temperature of the block indicates a likelihood that the block will be accessed. 14. The storage system of claim 13 , wherein the likelihood that the block will be accessed is based on how frequently the block was accessed over a period of time. 15. The storage system of claim 11 , wherein the controller is further configured to: for each of the blocks, determine whether the block is cold based on the temperature of the block. 16. The storage system of claim 15 , wherein the controller is further configured to: copy non-cold and non-obsolete blocks from the selected segment to a new segment before erasing the selected segment. 17. The storage system of claim 11 , wherein none of the blocks from the selected segment are copied to a new segment before erasing the selected segment. 18. The storage system of claim 11 , wherein the controller is further configured to: for each of the blocks, determine whether the block is obsolete. 19. The storage system of claim 18 , wherein the block is determined to be obsolete if a more recent version of the block has been stored in the flash cache. 20. The storage system of claim 18 , wherein the block is determined to be obsolete if the block will no longer be accessed.

Assignees

Inventors

Classifications

  • Hybrid memory, e.g. using both volatile and non-volatile memory · CPC title

  • Space efficiency improvement · CPC title

  • Details relating to dynamic memory management · CPC title

  • Details relating to cache allocation · CPC title

  • for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories · 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 US9304909B2 cover?
A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache…
Who is the assignee on this patent?
Nimble Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0866. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 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).