Using a migration threshold and a candidate list for cache management of sequential write storage

US9348517B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9348517-B2
Application numberUS-201414471438-A
CountryUS
Kind codeB2
Filing dateAug 28, 2014
Priority dateAug 28, 2014
Publication dateMay 24, 2016
Grant dateMay 24, 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.

Embodiments of the invention relate to cache management of sequential write storage. Cache states of cache blocks in cache storage are tracked. The tracking incudes creating a migration candidate list that organizes the cache blocks into virtual volumes. Based on determining that a cache migration threshold has been reached, at least a subset of the cache blocks are selected from the migration candidate list for migration. The selected cache blocks are ordered into a sequential order based on the migration candidate list. At least a subset of the selected cache blocks are migrated in the sequential order, the migrating including writing contents of the selected cache blocks to the sequential write storage.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of cache management for sequential write storage, the method comprising: tracking cache states of cache blocks in a cache storage, the tracking including creating a migration candidate list that organizes the cache blocks into virtual volumes; determining that a migration threshold has been reached; and based on reaching the migration threshold: selecting a plurality of the cache blocks from the migration candidate list for migration; ordering the selected cache blocks into a sequential order based on the migration candidate list, wherein the selected cache blocks that are located on the same virtual volume are grouped together in the sequential order; and migrating, in the sequential order, at least a subset of the selected cache blocks, the migrating comprising, for each of the selected cache blocks in the subset, writing contents of the selected cache blocks to the sequential write storage. 2. The method of claim 1 , wherein the migrating further comprises: periodically, based on the writing being completed for one or more of the selected cache blocks in the subset, updating the cache state of the one or more of the selected cache blocks in the subset to indicate that contents of the one or more of the selected cache blocks in the subset have completed migration to the sequential write storage. 3. The method of claim 2 , wherein: the ordering includes assigning migration sequence numbers (MSNs) to the selected cache blocks to indicate the sequential order; and the updating the cache state includes updating a commit sequence number (CSN) with an MSN associated with a selected cache block whose contents have completed migration to the sequential write storage. 4. The method of claim 3 , wherein: a selected cache block has not completed migration to the sequential write storage and is in a cache state of dirty when the MSN assigned to the selected cache block is larger than the CSN; and the selected cache block has completed migration to the sequential write storage and is in a cache state of clean when the MSN assigned to the selected cache block is less than or equal to the CSN. 5. The method of claim 1 , wherein the migration threshold is based on an amount of free space in the cache storage. 6. The method of claim 1 , wherein the migration threshold is based on at least one of a number of modified cache blocks belonging to one or more virtual volumes, an elapsed time since a write to one or more of the cache blocks, and a minimum amount of data stored in cache blocks having a cache state of dirty and modified. 7. The method of claim 1 , wherein only cache blocks that have a cache state of dirty and modified are selected for migration. 8. The method of claim 1 , wherein the selecting is based on at least one of an access sequence and a modification order. 9. The method of claim 1 , wherein the selecting is based on at least one of an elapsed time since a write to a cache block and a number of modified cache blocks in one or more virtual volumes. 10. The method of claim 1 , wherein the migration candidate list organizes the cache blocks into the virtual volumes based on application access. 11. The method of claim 1 , wherein the migration candidate list organizes the cache blocks within the virtual volumes based on at least one of a last write timestamp and a virtual extent number. 12. A memory system, comprising: a cache storage comprising a cache storage device; and a storage controller coupled to the cache storage and to a sequential write storage device, the memory system configured for: tracking cache states of cache blocks in a cache storage, the tracking including creating a migration candidate list that organizes the cache blocks into virtual volumes; determining that a migration threshold has been reached; and based on reaching the migration threshold: selecting a plurality of the cache blocks from the migration candidate list for migration; ordering the selected cache blocks into a sequential order based on the migration candidate list, wherein the selected cache blocks that are located on the same virtual volume are grouped together in the sequential order; and migrating, in the sequential order, at least a subset of the selected cache blocks, the migrating comprising, for each of the selected cache blocks in the subset, writing contents of the selected cache blocks to the sequential write storage. 13. The system of claim 12 , wherein the migrating further comprises: periodically, based on the writing being completed for one or more of the selected cache blocks in the subset, updating the cache state of the one or more of the selected cache blocks in the subset to indicate that contents of the one or more of the selected cache blocks in the subset have completed migration to the sequential write storage. 14. The system of claim 13 , wherein: the ordering includes assigning migration sequence numbers (MSNs) to the selected cache blocks to indicate the sequential order; the updating the cache state includes updating a commit sequence number (CSN) with an MSN associated with a selected cache block whose contents have completed migration to the sequential write storage; a selected cache block has not completed migration to the sequential write storage and is in a cache state of dirty when the MSN assigned to the selected cache block is larger than the CSN; and the selected cache block has completed migration to the sequential write storage and is in a cache state of clean when the MSN assigned to the selected cache block is less than or equal to the CSN. 15. The system of claim 12 , wherein the migration threshold is based on an at least one of an amount of free space in the cache storage, a number of modified cache blocks belonging to one or more virtual volumes, an elapsed time since a write to one or more of the cache blocks, and a minimum amount of data stored in cache blocks having a cache state of dirty and modified. 16. The system of claim 12 , wherein the selecting is based on at least one of an access sequence, a modification order, an elapsed time since a write to a cache block, and a number of modified cache blocks in one or more virtual volumes. 17. The system of claim 12 , wherein the migration candidate list organizes the cache blocks into the virtual volumes based on application access. 18. A computer program product for cache management for sequential write storage, the computer program product comprising: a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processing circuit to cause the processing circuit to perform a method comprising: tracking cache states of cache blocks in a cache storage, the tracking including creating a migration candidate list that organizes the cache blocks into virtual volumes; determining that a migration threshold has been reached; and based on reaching the migration threshold: selecting a plurality of the cache blocks from the migration candidate list for migration; ordering the selected cache blocks into a sequential order based on the migration candidate list, wherein the selected cache blocks that are located on the same virtual volume are grouped together in the sequential order; and migrating, in the sequential order, at least a subset of the selected cache blocks, the migrating comprising, for each of the selected cache blocks in the subset, writing contents of the selected cache blocks to the sequential write storage.

Assignees

Inventors

Classifications

  • Allocation or management of cache space · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Details relating to cache allocation · CPC title

  • G06F3/061Primary

    Improving I/O performance · 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 US9348517B2 cover?
Embodiments of the invention relate to cache management of sequential write storage. Cache states of cache blocks in cache storage are tracked. The tracking incudes creating a migration candidate list that organizes the cache blocks into virtual volumes. Based on determining that a cache migration threshold has been reached, at least a subset of the cache blocks are selected from the migration …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).