Method and System for Blending Data Reclamation and Data Integrity Garbage Collection
US-2017286288-A1 · Oct 5, 2017 · US
US10496293B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10496293-B2 |
| Application number | US-201715458684-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 14, 2017 |
| Priority date | Mar 14, 2017 |
| Publication date | Dec 3, 2019 |
| Grant date | Dec 3, 2019 |
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.
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.
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).
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.