Method, device and computer program product for managing storage system

US10761993B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10761993-B2
Application numberUS-201816225808-A
CountryUS
Kind codeB2
Filing dateDec 19, 2018
Priority dateApr 28, 2018
Publication dateSep 1, 2020
Grant dateSep 1, 2020

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.

Various techniques manage a storage system. Such techniques involve, in response to receiving an Input/Output (I/O) request for a first slice of a logic storage unit in a storage system, obtaining a first bitmap with respect to the logic storage unit, the logic storage unit being divided into a plurality of slices including the first slice, and one bit in the first bitmap indicating whether a cache function is enabled for a respective one of the plurality of slices. The techniques further involve determining, based on the first bitmap, whether the cache function is enabled for the first slice. Moreover, the techniques further involve, in response to determining that the cache function is enabled for the first slice, processing the I/O request at least with a cache in the storage system. Such techniques can control the use of cache in the storage system in a finer granularity.

First claim

Opening claim text (preview).

We claim: 1. A method for managing a storage system, comprising: in response to receiving an Input/Output (I/O) request for a first slice of a logic storage unit in a storage system, obtaining a first bitmap with respect to the logic storage unit, the logic storage unit being divided into a plurality of slices including the first slice, and one bit in the first bitmap indicating whether a cache function is enabled for a respective one of the plurality of slices; determining, based on the first bitmap, whether the cache function is enabled for the first slice; and in response to determining that the cache function is enabled for the first slice, processing the I/O request at least with a cache in the storage system; wherein the cache comprises a plurality of cache pages, and wherein processing the I/O request at least with the cache comprises: obtaining a second bitmap with respect to the logic storage unit, one bit in the second bitmap indicating whether one of the plurality of cache pages corresponding to a respective one of the plurality of slices is valid or not; determining, based on the second bitmap, whether a first cache page in the plurality of cache pages corresponding to the first slice is valid or not; and in response to determining that the first cache page is invalid, forwarding the I/O request to the logic storage unit for processing. 2. The method of claim 1 , further comprising: in response to determining that the cache function is disabled for a different slice, forwarding an I/O request for the different slice to the logic storage unit for processing. 3. The method of claim 1 , wherein processing the I/O request at least with the cache comprises: in response to determining that the first cache page is valid, increasing a reference count for the first cache page; and in response to the reference count exceeding a predetermined threshold, caching a first data associated with the I/O request in the first cache page. 4. The method of claim 3 , wherein caching the first data in the first cache page comprises: obtaining a third bitmap with respect to the logic storage unit, one bit in the third bitmap indicating whether data cached in the cache for a respective one of the plurality of slices is dirty or not; setting the third bitmap to indicate that data associated with the first slice is dirty; and caching the first data in the first cache page. 5. The method of claim 4 , further comprising: determining, based on the third bitmap, whether a second data cached in the cache for a second slice in the plurality of slices is dirty data; in response to determining that the second data is dirty, flushing the second data into the second slice; and setting the third bitmap to indicate that data associated with the second slice is clean. 6. The method of claim 1 , further comprising: in response to receiving a first command to enable the cache function for a third slice in the plurality of slices, setting a first bit in the first bitmap corresponding to the third slice to enable the cache function for the third slice. 7. The method of claim 1 , further comprising: in response to receiving a second command to disable the cache function for a fourth slice in the plurality of slices, setting a second bit in the first bitmap corresponding to the fourth slice to disable the cache function for the fourth slice. 8. The method of claim 1 , further comprising: in response to receiving a third command to invalidate a second cache page corresponding to a fifth slice in the plurality of slices, setting a third bit in the second bitmap corresponding to the fifth slice to invalidate the second cache page. 9. The method of claim 1 , further comprising: in response to the I/O request, storing data in the first cache page in the plurality of cache pages corresponding to the first slice, after the data is stored in the first cache page, determining that the cache function for the first slice has become disabled, and in response to determining that cache function for the first slice has become disabled, releasing the data in first cache page. 10. A device for managing a storage system, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform actions comprising: in response to receiving an Input/Output (I/O) request for a first slice of a logic storage unit in a storage system, obtaining a first bitmap with respect to the logic storage unit, the logic storage unit being divided into a plurality of slices including the first slice, and one bit in the first bitmap indicating whether a cache function is enabled for a respective one of the plurality of slices; determining, based on the first bitmap, whether the cache function is enabled for the first slice; and in response to determining that the cache function is enabled for the first slice, processing the I/O request at least with a cache in the storage system; wherein the cache comprises a plurality of cache pages, and wherein processing the I/O request at least with the cache comprises: obtaining a second bitmap with respect to the logic storage unit, one bit in the second bitmap indicating whether one of the plurality of cache pages corresponding to a respective one of the plurality of slices is valid or not; determining, based on the second bitmap, whether a first cache page in the plurality of cache pages corresponding to the first slice is valid or not; and in response to determining that the first cache page is invalid, forwarding the I/O request to the logic storage unit for processing. 11. The device of claim 10 , wherein the actions further comprise: in response to determining that the cache function is disabled for a different slice, forwarding an I/O request for the different slice to the logic storage unit for processing. 12. The device of claim 10 , wherein processing the I/O request at least with the cache comprises: in response to determining that the first cache page is valid, increasing a reference count for the first cache page; and in response to the reference count exceeding a predetermined threshold, caching a first data associated with the I/O request in the first cache page. 13. The device of claim 12 , wherein caching the first data in the first cache page comprises: obtaining a third bitmap with respect to the logic storage unit, one bit in the third bitmap indicating whether data cached in the cache for a respective one of the plurality of slices is dirty or not; setting the third bitmap to indicate that data associated with the first slice is dirty; and caching the first data in the first cache page. 14. The device of claim 13 , wherein the actions further comprise: determining, based on the third bitmap, whether a second data cached in the cache for a second slice in the plurality of slices is dirty data; in response to determining that the second data is dirty, flushing the second data into the second slice; and setting the third bitmap to indicate that data associated with the second slice is clean. 15. The device of claim 10 , wherein the actions further comprise: in response to receiving a first command to enable the cache function for a third slice in the plurality of slices, setting a first bit in the first bitmap corresponding to the third slice to enable the cache function for the third slice. 16. The device of claim 10 , wherein

Assignees

Inventors

Classifications

  • Single storage device · CPC title

  • using selective caching, e.g. bypass · CPC title

  • Monitoring involving counting · CPC title

  • at device level, e.g. emulation of a storage device or system · CPC title

  • Performance improvement · 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 US10761993B2 cover?
Various techniques manage a storage system. Such techniques involve, in response to receiving an Input/Output (I/O) request for a first slice of a logic storage unit in a storage system, obtaining a first bitmap with respect to the logic storage unit, the logic storage unit being divided into a plurality of slices including the first slice, and one bit in the first bitmap indicating whether a c…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0888. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 01 2020 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).