Method, apparatus and computer program product for managing cache

US11263080B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11263080-B2
Application numberUS-201916445990-A
CountryUS
Kind codeB2
Filing dateJun 19, 2019
Priority dateJul 20, 2018
Publication dateMar 1, 2022
Grant dateMar 1, 2022

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 manage a cache. Such techniques involve creating a primary cache by a cache management module in a storage system. Such techniques further involve: in response to the primary cache being created, sending a first request to a hardware management module to obtain first information about a first virtual disk. Such techniques further involve: in response to receiving the first information from the hardware management module, creating a secondary cache using the first virtual disk. Such techniques further involve: in response to an available capacity of the primary cache being below a predetermined threshold, flushing at least one cache page in the primary cache to the secondary cache. In certain techniques, it is possible to use spare extents in the disk array to create the secondary cache to increase a total capacity of the cache in the system, thereby improving the access performance of the system.

First claim

Opening claim text (preview).

We claim: 1. A method of managing a cache, comprising: creating a primary cache by a cache management module in a storage system; in response to the primary cache being created, sending a first request to a hardware management module in the storage system to obtain first information about a first virtual disk in the storage system, wherein the storage system comprises at least one physical disk having a plurality of extents, the plurality of extents comprise a first group of extents for creating a first disk array, and the first virtual disk is created by the hardware management module based on at least one spare extent from the first group of extents, the at least one spare extent from the first group of extents being reserved for rebuilding the first disk array; in response to receiving the first information from the hardware management module, creating a secondary cache using the first virtual disk; and in response to an available capacity of the primary cache being below a predetermined threshold, flushing at least one cache page in the primary cache to the secondary cache. 2. The method according to claim 1 , wherein the primary cache is a read-write cache, and the secondary cache is a read-only cache. 3. The method according to claim 1 , further comprising: in response to receiving, from the hardware management module, a second request to remove the first virtual disk from the secondary cache to rebuild the first disk array with the at least one spare extent, removing the first virtual disk from the secondary cache. 4. The method according to claim 1 , wherein the first information includes at least one of an identifier and a capacity of the first virtual disk. 5. The method according to claim 2 , further comprising: in response to receiving, from an application, a third request to write first data to the storage system, determining whether a first cache page for caching data in an address to which the first data is to be written is present in the primary cache; and in response to determining that the first cache page is present in the primary cache, writing the first data to the first cache page. 6. The method according to claim 5 , further comprising: in response to determining that the first cache page is absent from the primary cache, determining whether a second cache page for caching data in an address to which the first data is to be written is present in the secondary cache; and in response to determining that the second cache page is absent from the secondary cache, writing the first data into the at least one physical disk. 7. The method according to claim 6 , further comprising: in response to determining that the second cache page is present in the secondary cache, invalidating the second cache page; allocating, in the primary cache, a third cache page for caching data in the address to which the first data is to be written; and writing the first data into the third cache page. 8. The method according to claim 2 , wherein flushing the at least one cache page in the primary cache to the secondary cache comprises: in response to the available capacity of the primary cache being below the predetermined threshold, determining, from the primary cache, the at least one cache page that does not need to be flushed to the at least one physical disk; and flushing the at least one cache page to the secondary cache. 9. The method according to claim 1 , further comprising: in response to the secondary cache being created and second information about a second virtual disk in the storage system being received from the hardware management module, extending the secondary cache using the second virtual disk, wherein the plurality of extents further comprise a second group of extents for creating a second disk array, and the second virtual disk is created by the hardware management module based on at least one spare extent from the second group of extents, the at least one spare extent from the second group of extents being reserved for rebuilding the second disk array. 10. The method according to claim 1 , further comprising: in response to the secondary cache being created and third information about a third virtual disk in the storage system being received from the hardware management module, extending the secondary cache using the third virtual disk, wherein the plurality of extents further comprise a third group of extents for extending the first disk array, and the third virtual disk is created by the hardware management module based on at least one spare extent from the third group of extents, the at least one spare extent from the third group of extents being reserved for rebuilding the extended first disk array. 11. The method according to claim 1 , further comprising: in response to receiving, from the hardware management module, an indication that the first virtual disk fails, removing the first virtual disk from the secondary cache. 12. An apparatus for managing a cache, comprising: at least one processing unit; at least one memory, the at least one memory being coupled to the at least one processing unit and has instructions stored thereon and executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts, the acts comprising: creating a primary cache in a storage system; in response to the primary cache being created, sending a first request to a hardware management module in the storage system to obtain first information about a first virtual disk in the storage system, wherein the storage system comprises at least one physical disk having a plurality of extents, the plurality of extents comprise a first group of extents for creating a first disk array, and the first virtual disk is created by the hardware management module based on at least one spare extent from the first group of extents, the at least one spare extent from the first group of extents being reserved for rebuilding the first disk array; in response to receiving the first information from the hardware management module, creating a secondary cache using the first virtual disk; and in response to an available capacity of the primary cache being below a predetermined threshold, flushing at least one cache page in the primary cache to the secondary cache. 13. The apparatus according to claim 12 , wherein the primary cache is a read-write cache, and the secondary cache is a read-only cache. 14. The apparatus according to claim 12 , wherein the acts further comprise: in response to receiving, from the hardware management module, a second request to remove the first virtual disk from the secondary cache to rebuild the first disk array with the at least one spare extent, removing the first virtual disk from the secondary cache. 15. The apparatus according to claim 12 , wherein the first information includes at least one of an identifier and a capacity of the first virtual disk. 16. The apparatus according to claim 13 , wherein the acts further comprise: in response to receiving, from an application, a third request to write first data to the storage system, determining whether the a first cache page for caching data in an address to which the first data is to be written is present in the primary cache; and in response to determining that the first cache page is present in the primary cache, writing the first data to the first cache page. 17. The apparatus according to claim 16 , wherein the acts further comprise: in response to determining that the first cache page is absent

Assignees

Inventors

Classifications

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Space efficiency improvement · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • at device level, e.g. emulation of a storage device or system · 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 US11263080B2 cover?
Techniques manage a cache. Such techniques involve creating a primary cache by a cache management module in a storage system. Such techniques further involve: in response to the primary cache being created, sending a first request to a hardware management module to obtain first information about a first virtual disk. Such techniques further involve: in response to receiving the first informatio…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2022 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).