Method, electronic device and computer program product for managing storage system

US11663127B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11663127-B2
Application numberUS-202117469321-A
CountryUS
Kind codeB2
Filing dateSep 8, 2021
Priority dateJan 22, 2021
Publication dateMay 30, 2023
Grant dateMay 30, 2023

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.

Techniques for managing a storage system involve flushing a target page in a cache device to a persistent storage device of the storage system. The techniques further involve releasing a resource storing a page descriptor of the target page to a resource pool. The resource pool is configured to provide resources to store page descriptors of pages to be flushed in the cache device. The techniques further involve: if it is determined that an auxiliary descriptor of the target page is located at a tail of a queue of auxiliary descriptors of the pages to be flushed, removing the auxiliary descriptor of the target page from the queue. The auxiliary descriptors of the pages to be flushed are configured to describe the page descriptors of the pages to be flushed. Accordingly, the page flushing performance of the storage system can be improved, thereby improving the input/output performance.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for managing a storage system, comprising: dividing a plurality of pages to be flushed into a plurality of groups based on respective logical addresses of the plurality of pages to be flushed in a cache device of the storage system, the logical addresses of the pages to be flushed in the same group being located in the same address range, and the plurality of groups corresponding to different address ranges; selecting a predetermined number of the target pages from at least one of the plurality of groups based on positions of the auxiliary descriptors of the pages to be flushed in each group in the queue; flushing a target page in the cache device to a persistent storage device of the storage system; releasing a resource storing a page descriptor of the target page to a resource pool, the resource pool being configured to provide resources to store page descriptors of pages to be flushed in the cache device; and if it is determined that an auxiliary descriptor of the target page is located at a tail of a queue of auxiliary descriptors of the pages to be flushed, removing the auxiliary descriptor of the target page from the queue, the auxiliary descriptors of the pages to be flushed being configured to describe the page descriptors of the pages to be flushed. 2. The method according to claim 1 , wherein the number of the auxiliary descriptors that the queue can hold is a multiple of the number of the page descriptors that the resource pool can store, and the multiple is greater than 1. 3. The method according to claim 1 , wherein flushing of the pages to be flushed whose logical addresses are located in the different address ranges is handled by different transactions. 4. The method according to claim 1 , wherein selecting the predetermined number of the target pages from at least one of the plurality of groups comprises: determining, for each of the plurality of groups, an offset of the auxiliary descriptor of an oldest page to be flushed in the queue relative to the tail; sorting the plurality of groups based on the offsets respectively determined for the plurality of groups; and sequentially selecting the predetermined number of pages to be flushed from at least one of the plurality of groups as the target page based on the sorting. 5. The method according to claim 1 , wherein the auxiliary descriptors indicate at least the following: a position of the auxiliary descriptor in the queue, and a position of the page descriptor in the resource pool. 6. The method according to claim 1 , wherein the queue is stored in a volatile storage device of the storage system, and the resource pool is provided by at least one of the following: the volatile storage device, or the cache device. 7. The method according to claim 1 , further comprising: if it is determined that an other page is stored in the cache device, allocating a resource from the resource pool to store a page descriptor of the other page; and adding an auxiliary descriptor of the other page to a head of the queue. 8. The method according to claim 1 , wherein the auxiliary descriptors are smaller than the page descriptors. 9. An electronic device, comprising: a processor; and a memory coupled to the processor, the memory having instructions stored therein, and the instructions, when executed by the processor, causing the device to execute actions comprising: dividing a plurality of pages to be flushed into a plurality of groups based on respective logical addresses of the plurality of pages to be flushed in a cache device of the storage system, the logical addresses of the pages to be flushed in the same group being located in the same address range, and the plurality of groups corresponding to different address ranges; selecting a predetermined number of the target pages from at least one of the plurality of groups based on positions of the auxiliary descriptors of the pages to be flushed in each group in the queue; flushing a target page in the cache device to a persistent storage device of the storage system; releasing a resource storing a page descriptor of the target page to a resource pool, the resource pool being configured to provide resources to store page descriptors of pages to be flushed in the cache device; and if it is determined that an auxiliary descriptor of the target page is located at a tail of a queue of auxiliary descriptors of the pages to be flushed, removing the auxiliary descriptor of the target page from the queue, the auxiliary descriptors of the pages to be flushed being configured to describe the page descriptors of the pages to be flushed. 10. The electronic device according to claim 9 , wherein the number of the auxiliary descriptors that the queue can hold is a multiple of the number of the page descriptors that the resource pool can store, and the multiple is greater than 1. 11. The electronic device according to claim 9 , wherein flushing of the pages to be flushed whose logical addresses are located in the different address ranges is handled by different transactions. 12. The electronic device according to claim 9 , wherein selecting the predetermined number of the target pages from at least one of the plurality of groups comprises: determining, for each of the plurality of groups, an offset of the auxiliary descriptor of an oldest page to be flushed in the queue relative to the tail; sorting the plurality of groups based on the offsets respectively determined for the plurality of groups; and sequentially selecting the predetermined number of pages to be flushed from at least one of the plurality of groups as the target page based on the sorting. 13. The electronic device according to claim 9 , wherein the auxiliary descriptors indicate at least the following: a position of the auxiliary descriptor in the queue, and a position of the page descriptor in the resource pool. 14. The electronic device according to claim 9 , wherein the queue is stored in a volatile storage device of the storage system, and the resource pool is provided by at least one of the following: the volatile storage device, or the cache device. 15. The electronic device according to claim 9 , wherein the actions further comprise: if it is determined that an other page is stored in the cache device, allocating a resource from the resource pool to store a page descriptor of the other page; and adding an auxiliary descriptor of the other page to a head of the queue. 16. The electronic device according to claim 9 , wherein the auxiliary descriptors are smaller than the page descriptors. 17. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a storage system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: dividing a plurality of pages to be flushed into a plurality of groups based on respective logical addresses of the plurality of pages to be flushed in a cache device of the storage system, the logical addresses of the pages to be flushed in the same group being located in the same address range, and the plurality of groups corresponding to different address ranges; selecting a predetermined number of the target pages from at least one of the plurality of groups based on positions of the auxiliary descriptors of the pages to be flushed in each group in the queue; flushing a target page in the cache device to a persistent storage device of the storage system; releasing a resource storing a page

Assignees

Inventors

Classifications

  • Performance improvement · CPC title

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Capacity control, e.g. partitioning, end-of-life degradation · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · 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 US11663127B2 cover?
Techniques for managing a storage system involve flushing a target page in a cache device to a persistent storage device of the storage system. The techniques further involve releasing a resource storing a page descriptor of the target page to a resource pool. The resource pool is configured to provide resources to store page descriptors of pages to be flushed in the cache device. The technique…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0804. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 30 2023 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).