Techniques for selecting storage blocks for garbage collection based on longevity information

US10496293B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10496293-B2
Application numberUS-201715458684-A
CountryUS
Kind codeB2
Filing dateMar 14, 2017
Priority dateMar 14, 2017
Publication dateDec 3, 2019
Grant dateDec 3, 2019

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 technique for operating a data storage system includes accessing respective absolute expiration times for valid pages in one or more candidate storage blocks. Garbage collection is performed on ones of the candidate storage blocks that include a first predetermined number of the valid pages that do not expire, as indicated by the absolute expiration times, prior to a first predetermined time period. Garbage collection is deferred on ones of the candidate storage blocks that include a second predetermined number of the valid pages that expire, as indicated by the absolute expiration times, prior to a second predetermined time period.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating a data storage system, comprising: determining, by a controller of the data storage system, that two or more candidate storage blocks of the data storage system are candidates for garbage collection; accessing, by the controller, respective absolute expiration times for valid pages in the two or more candidate storage blocks; performing, by the controller, garbage collection on a first one of the candidate storage blocks that includes a first predetermined number of the valid pages that do not expire, as indicated by the absolute expiration times, prior to a first predetermined time period; and deferring until a subsequent garbage collection determination, by the controller, garbage collection on a second one of the candidate storage blocks that includes a second predetermined number of the valid pages that expire, as indicated by the absolute expiration times, prior to a second predetermined time period that is the same as or different than the first predetermined time period. 2. The method of claim 1 , wherein the absolute expiration times are generated based on longevity information for a file that is created by an application. 3. The method of claim 2 , wherein the longevity information includes an expiration time for a file. 4. The method of claim 3 , wherein the longevity information includes a creation time for the file. 5. The method of claim 2 , further comprising: storing, by the controller, the longevity information in association with an entry in a flash translation table (FTT) that includes information for translating a logical block address (LBA) to a physical block address (PBA). 6. The method of claim 2 , wherein the longevity information is derived from copyservices snapshot metadata. 7. The method of claim 2 , wherein the file corresponds to a snapshot. 8. The method of claim 2 , further comprising: storing, by the controller, the absolute expiration times in association with the valid pages. 9. The method of claim 1 , wherein the first predetermined number is the same as the second predetermined number and the first predetermined time period is the same as the second predetermined time period. 10. A data storage system, comprising: one or more non-volatile memories; and a controller coupled to the non-volatile memories, wherein the controller is configured to: determine that two or more candidate storage blocks of the data storage system are candidates for garbage collection; access respective absolute expiration times for valid pages in the two or more candidate storage blocks of the non-volatile memories; perform garbage collection on a first one of the candidate storage blocks that includes a first predetermined number of the valid pages that do not expire, as indicated by the absolute expiration times, prior to a first predetermined time period; and defer, until a subsequent garbage collection determination, garbage collection on a second one of the candidate storage blocks that includes a second predetermined number of the valid pages that expire, as indicated by the absolute expiration times, prior to a second predetermined time period that is the same as or different than the first predetermined time period. 11. The data storage system of claim 10 , wherein the absolute expiration times are generated based on longevity information for a file that is created by an application. 12. The data storage system of claim 11 , wherein the longevity information includes an expiration time for a file. 13. The data storage system of claim 12 , wherein the longevity information includes a creation time for the file. 14. The data storage system of claim 11 , further comprising: storing, by the controller, the longevity information in association with an entry in a flash translation table (FTT) that includes information for translating a logical block address (LBA) to a physical block address (PBA). 15. The data storage system of claim 11 , wherein the longevity information is derived from copyservices snapshot metadata. 16. The data storage system of claim 11 , wherein the file corresponds to a snapshot. 17. The data storage system of claim 11 , further comprising: storing, by the controller, the absolute expiration times in association with the valid pages. 18. The data storage system of claim 10 , wherein the first predetermined number is the same as the second predetermined number and the first predetermined time period is the same as the second predetermined time period. 19. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a controller, to cause the controller to: determine that two or more candidate storage blocks of a data storage system are candidates for garbage collection; access respective absolute expiration times for valid pages in the two or more candidate storage blocks of the non-volatile memories; perform garbage collection on a first one of the candidate storage blocks that includes a first predetermined number of the valid pages that do not expire, as indicated by the absolute expiration times, prior to a first predetermined time period; and defer, until a subsequent garbage collection determination, garbage collection on a second one of the candidate storage blocks that includes a second predetermined number of the valid pages that expire, as indicated by the absolute expiration times, prior to a second predetermined time period that is the same as or different than the first predetermined time period. 20. The computer program product of claim 19 , wherein the absolute expiration times are generated based on longevity information for a file that is created by an application and the longevity information includes an expiration time for a file and a creation time for the file, and wherein the program instructions are further configured to cause the controller to: store the longevity information in association with an entry in a flash translation table (FTT) that includes information for translating a logical block address (LBA) to a physical block address (PBA).

Assignees

Inventors

Classifications

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

  • Logical to physical mapping or translation of blocks or pages · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • characterised by the use of retention policies (retention policies for HSM systems G06F16/185) · CPC title

  • Cleaning, compaction, garbage collection, erase control · 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 US10496293B2 cover?
A technique for operating a data storage system includes accessing respective absolute expiration times for valid pages in one or more candidate storage blocks. Garbage collection is performed on ones of the candidate storage blocks that include a first predetermined number of the valid pages that do not expire, as indicated by the absolute expiration times, prior to a first predetermined time …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 03 2019 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).