Method and apparatus for caching data
US-2018173435-A1 · Jun 21, 2018 · US
US11093141B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11093141-B2 |
| Application number | US-201916572188-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 16, 2019 |
| Priority date | Dec 21, 2016 |
| Publication date | Aug 17, 2021 |
| Grant date | Aug 17, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Cache consistency protocols · CPC title
Power saving in storage systems · CPC title
for multiprocessing or multitasking · CPC title
in relation to throughput · CPC title
Mirrored cache memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.