Method and apparatus for caching data

US11093141B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11093141-B2
Application numberUS-201916572188-A
CountryUS
Kind codeB2
Filing dateSep 16, 2019
Priority dateDec 21, 2016
Publication dateAug 17, 2021
Grant dateAug 17, 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.

Embodiments of the present disclosure relate to methods and apparatuses for caching data. A method comprises writing data into a first cache module on a first processor in response to receiving a first request for caching the data from a client module running on the first processor. The method further comprises transmitting, to the client module, a first indication that the data has been written into the first cache module. The method further comprises, in response to receiving from the client module a second request for synchronizing the data to a second processor, transmitting to the second processor a first command for causing the data to be written into a second cache module on the second processor. In addition, the method further comprises transmitting to the client module a second indication that the data has been synchronized.

First claim

Opening claim text (preview).

We claim: 1. A method for caching data, comprising: receiving, from a client module, a request to create mirrored memory pools on first and second cache modules running on first and second processors, respectively; in response to receiving the request, creating (i) a first memory pool in the first cache module and (ii) a second memory pool in the second cache module as a mirror of the first memory pool in the first cache module; and in response to the first memory pool being created, returning the created first memory pool to the client module. 2. The method of claim 1 , further comprising receiving, by the first cache module, a request from the client module to allocate mirrored storage objects from the mirrored memory pools for caching the data. 3. The method of claim 2 , wherein receiving the request to allocate the mirrored storage objects is operative in response to the first memory pool being created. 4. The method of claim 2 , further comprising, in response to receiving the request to allocate the mirrored storage objects, allocating a first storage object from the first memory pool for caching the data. 5. The method of claim 4 , further comprising, in response to receiving the request to allocate the mirrored storage objects, allocating a second storage object from the second memory pool for caching the data. 6. The method of claim 5 , wherein allocating the second storage object from the second memory pool for caching the data is performed by the second processor in response to receiving a command from the first cache module. 7. The method of claim 5 , wherein the first cache module includes a transient storage medium and a persistent storage medium, wherein the data is cached in the transient storage medium, and wherein the method further comprises: in response to receiving a first signal indicative of occurrence of a power supply failure, transferring the data from the transient storage medium to the persistent storage medium; in response to receiving a second signal indicative of recovery of the power supply failure, transferring the data from the persistent storage medium back to the transient storage medium; and transmitting, to the client module, an indication that the caching of the data has recovered from the power supply failure. 8. The method of claim 7 , wherein transferring the data from the persistent storage medium back to the transient storage medium comprises: re-creating the first memory pool in the transient storage medium; re-allocating the first storage object from the first memory pool; and transferring the data from the persistent storage medium to the first storage object. 9. A storage system comprising a first storage processor and a second storage processor communicatively coupled to the first storage processor, the first storage processor including a first cache component, the second storage processor including a second cache component, the first storage processor and the second storage processor forming control circuitry constructed and arranged to: receive, from a client module, a request to create mirrored memory pools on the first and second cache modules running on the first and second storage processors, respectively; in response to receipt of the request, create (i) a first memory pool in the first cache module and (ii) a second memory pool in the second cache module as a mirror of the first memory pool in the first cache module; and in response to creation of the first memory pool, return the created first memory pool to the client module. 10. The storage system of claim 9 , wherein the control circuitry is further constructed and arranged to: receive, by the first cache module, a request from the client module to allocate mirrored storage objects from the mirrored memory pools for caching the data; and in response to the request to allocate the mirrored storage objects, (i) allocate a first storage object from the first memory pool for caching the data and (ii) allocate a second storage object from the second memory pool for caching the data. 11. The storage system of claim 10 , wherein the control circuitry constructed and arranged to receive the request to allocate the mirrored storage objects is operative in response to the first memory pool being created. 12. The storage system of claim 11 , wherein the control circuitry constructed and arranged to allocate the second storage object from the second memory pool for caching the data is performed by the second storage processor in response to receipt by the second storage processor of a command from the first cache module. 13. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a storage system, cause the control circuitry to perform a method for caching data, the method comprising: receiving, from a client module, a request to create mirrored memory pools on first and second cache modules running on first and second processors, respectively, of the control circuitry; in response to receiving the request, creating (i) a first memory pool in the first cache module and (ii) a second memory pool in the second cache module as a mirror of the first memory pool in the first cache module; and in response to the first memory pool being created, returning the created first memory pool to the client module. 14. The computer program product of claim 13 , wherein the method further comprises receiving, by the first cache module, a request from the client module to allocate mirrored storage objects from the mirrored memory pools for caching the data. 15. The computer program product of claim 14 , wherein receiving the request to allocate the mirrored storage objects is operative in response to the first memory pool being created. 16. The computer program product of claim 14 , wherein the method further comprises, in response to receiving the request to allocate the mirrored storage objects, allocating a first storage object from the first memory pool for caching the data. 17. The computer program product of claim 16 , wherein the method further comprises, in response to receiving the request to allocate the mirrored storage objects, allocating a second storage object from the second memory pool for caching the data. 18. The computer program product of claim 17 , wherein allocating the second storage object from the second memory pool for caching the data is performed by the second processor in response to receiving a command from the first cache module. 19. The computer program product of claim 17 , wherein the first cache module includes a transient storage medium and a persistent storage medium, wherein the data is cached in the transient storage medium, and wherein the method further comprises: in response to receiving a first signal indicative of occurrence of a power supply failure, transferring the data from the transient storage medium to the persistent storage medium; in response to receiving a second signal indicative of recovery of the power supply failure, transferring the data from the persistent storage medium back to the transient storage medium; and transmitting, to the client module, an indication that the caching of the data has recovered from the power supply failure. 20. The computer program product of claim 19 , wherein transferring the data from the persistent storage medium back to the transient storage medium comprises: re-creating the first memory pool in the transient storage medium; re-allo

Assignees

Inventors

Classifications

  • Cache consistency protocols · CPC title

  • Power saving in storage systems · CPC title

  • for multiprocessing or multitasking · CPC title

  • G06F3/0613Primary

    in relation to throughput · CPC title

  • Mirrored cache memory · 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 US11093141B2 cover?
Embodiments of the present disclosure relate to methods and apparatuses for caching data. A method comprises writing data into a first cache module on a first processor in response to receiving a first request for caching the data from a client module running on the first processor. The method further comprises transmitting, to the client module, a first indication that the data has been writte…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0815. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 17 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).