Method, apparatus, and computer program product for providing cache service

US11010301B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11010301-B2
Application numberUS-201916572929-A
CountryUS
Kind codeB2
Filing dateSep 17, 2019
Priority dateOct 30, 2018
Publication dateMay 18, 2021
Grant dateMay 18, 2021

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 provide cache service in a storage system. Such techniques involve a storage cell pool, a cache and an underlying storage system. The storage cell pool includes multiple storage cells, a storage cell among the multiple storage cells being mapped to a physical address in the underlying storage system via an address mapping of the storage system. Specifically, an access request for target data at a virtual address in the storage cell pool is received, and the type of the access request is determined. The access request is served with the cache on the basis of the determined type, where the cache is used to cache data according to a format of a storage cell in the storage cell pool. The cache directly stores data in various storage cells in the pool that is visible to users, so that response speed for the access request may be increased.

First claim

Opening claim text (preview).

We claim: 1. A method for providing cache service in a storage system, the storage system comprising a storage cell pool, a cache and an underlying storage system, the storage cell pool comprising multiple storage cells, a storage cell among the multiple storage cells being mapped to a physical address in the underlying storage system via an address mapping of the storage system, the method comprising: receiving an access request for target data at a virtual address in the storage cell pool; determining the type of the access request, the type comprising a read request for reading the target data from the storage system and a write request for writing the target data to the storage system; and serving the access request with the cache on the basis of the determined type, wherein the cache is used to cache data in at least one part of storage cells in the storage cell pool according to a format of a storage cell in the storage cell pool; wherein the storage system further comprises a peer cache, the peer cache being used to cache data in at least one part of storage cells in the storage cell pool according to a format of a storage cell in the storage cell pool, the method further comprising: synchronizing the target data with the peer cache; and setting a peer state of the synchronized target data in the peer cache to “dirty” so as to indicate the synchronized target data in the peer cache are not yet flushed to the underlying storage system. 2. The method of claim 1 , further comprising: serving a second access request with the cache including: in response to determining the second access request is a read request, obtaining a second virtual address from the read request; determining whether data corresponding to the second virtual address exist in the cache or not; in response to determining the data exist in the cache, reading the data from the cache; and returning the read data so as to respond to the read request. 3. The method of claim 1 , further comprising: serving a second access request with the cache including: in response to determining the second access request is a read request, obtaining a second virtual address from the read request: determining whether data corresponding to the second virtual address exist in the cache or not: in response to determining the data do not exist in the cache, determining a physical address of the target data in the underlying storage system on the basis of the address mapping; reading the target data from the physical address in the underlying storage system so as to load the read target data to the cache; and returning the read target data so as to respond to the read request. 4. The method of claim 1 , further comprising: determining candidate data to be read by a next read request on the basis of a second access request; and loading the candidate data to the cache from the underlying storage system. 5. The method of claim 4 , wherein loading the candidate data to the cache from the underlying storage system comprises: obtaining a candidate address of the candidate data in the storage cell pool; determining a physical address in the underlying storage system which corresponds to the candidate address on the basis of the address mapping; and reading the candidate data from the physical address of the underlying storage system so as to load the read candidate data to the cache. 6. The method of claim 1 , wherein serving the access request with the cache comprises: in response to determining the access request is a write request, writing the target data to the cache; and setting a state of the target data in the cache to “dirty” so as to indicate the target data in the cache are not yet flushed to the underlying storage system. 7. The method of claim 6 , further comprising: determining a physical address in the underlying storage system which corresponds to the virtual address on the basis of the address mapping; and writing the target data to the physical address in the underlying storage system. 8. The method of claim 7 , wherein writing the target data to the physical address in the underlying storage system comprises: flushing the target data in the cache to the physical address in the underlying storage system; and setting the state to “clean” so as to indicate the target data in the cache have been flushed to the underlying storage system. 9. The method of claim 1 , further comprising: setting the peer state to “clean” in response to the target data in the cache having been flushed to the underlying storage system. 10. The method of claim 1 , wherein the format of the storage cell in the storage pool is based on a predefined addressing scheme; and wherein the method further comprises: parsing the access request in accordance with the predefined addressing scheme to obtain the virtual address. 11. An apparatus for providing cache service in a storage system, the storage system comprising a storage cell pool, a cache and an underlying storage system, the storage cell pool comprising multiple storage cells, a storage cell among the multiple storage cells being mapped to a physical address in the underlying storage system via an address mapping of the storage system, the apparatus comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the apparatus to perform acts comprising: receiving an access request for target data at a virtual address in the storage cell pool; determining the type of the access request, the type comprising a read request for reading the target data from the storage system and a write request for writing the target data to the storage system; and serving the access request with the cache on the basis of the determined type, wherein the cache is used to cache data in at least one part of storage cells in the storage cell pool according to a format of a storage cell in the storage cell pool; wherein the storage system further comprises a peer cache, the peer cache being used to cache data in at least one part of storage cells in the storage cell pool according to a format of a storage cell in the storage cell pool, the acts further comprising: synchronizing the target data with the peer cache; and setting a peer state of the synchronized target data in the peer cache to “dirty” so as to indicate the synchronized target data in the peer cache are not yet flushed to the underlying storage system. 12. The apparatus of claim 11 , wherein the acts further comprise: serving a second access request with the cache including: in response to determining the second access request is a read request, obtaining a second virtual address from the read request; determining whether data corresponding to the second virtual address exist in the cache or not; in response to determining the data exist in the cache, reading the data from the cache; and returning the read data so as to respond to the read request. 13. The apparatus of claim 11 , wherein the acts further comprise: serving a second access request with the cache including: in response to determining the second access request is a read request, obtaining a second virtual address from the read request: determining whether data corresponding to the second virtual address exist in the cache or not: in response to determining the data do not exist in the cache, determining a physical address of the target data in the underlying storage system on the basis of the address mapping; reading the target data from the ph

Assignees

Inventors

Classifications

  • Multiuser, multiprocessor or multiprocessing cache systems · CPC title

  • Mapping of cache memory to specific storage devices or parts thereof · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

  • using clearing, invalidating or resetting means · CPC title

  • the data cache being concurrently virtually addressed · 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 US11010301B2 cover?
Techniques provide cache service in a storage system. Such techniques involve a storage cell pool, a cache and an underlying storage system. The storage cell pool includes multiple storage cells, a storage cell among the multiple storage cells being mapped to a physical address in the underlying storage system via an address mapping of the storage system. Specifically, an access request for tar…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0806. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 18 2021 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).