Resolving cache slot locking conflicts for remote replication

US11567876B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11567876-B2
Application numberUS-202017084835-A
CountryUS
Kind codeB2
Filing dateOct 30, 2020
Priority dateOct 30, 2020
Publication dateJan 31, 2023
Grant dateJan 31, 2023

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.

Cache slots on a storage system may be shared between entities processing write operations for logical storage unit (LSU) tracks and entities performing remote replication for write operations for the LSU tracks. If a new write operation is received on a first storage system (S1) for a track of an LSU (R1) when the cache slot mapped to the R1 track is locked by a process currently transmitting data of the cache slot to a second storage system (S2), a new cache slot may be allocated to the R1 track, the data of the original cache slot copied to the new cache slot, and the new write operation for the R1 track initiated on S1 using the new cache slot; while the data of the original cache slot is independently, and perhaps concurrently, transmitted to S2 to be replicated in R2, the LSU on S2 that is paired with R1.

First claim

Opening claim text (preview).

What is claimed is: 1. For a data storage system including a cache including a plurality of cache slots, a method comprising: in response to receiving a write request that specifies first data and a write operation for a first portion of a logical storage unit, determining that the first portion is mapped to a first cache slot of the plurality of cache slots; determining that the first cache slot is locked by a remote replication process executing on the storage system; responsive to determining that the first cache slot is locked by the remote replication process executing on the storage system, issuing a request to release the first cache slot that is locked; and responsive to receiving the request to release the first cache slot that is locked, performing processing including: allocating a second cache slot to the first portion; copying second data from the first cache slot to the second cache slot; and re-mapping the first portion from the first cache slot to the second cache slot. 2. The method of claim 1 , further comprising: performing the write operation, including staging the first data in the second cache slot. 3. The method of claim 2 , further comprising: after staging the first data in the second cache slot, unlocking the second cache slot. 4. The method of claim 1 , further comprising: transmitting the second data from the first cache slot to a remote storage system. 5. The method of claim 1 , wherein the remote replication process executes asynchronous replication. 6. The method of claim 1 , wherein a first data structure has a plurality of entries, each entry representing a portion of the logical storage unit, including a first entry representing the first portion, and wherein re-mapping the first portion includes: modifying the first entry from pointing to the first cache slot to pointing to the second cache slot. 7. For a data storage system including a cache including a plurality of cache slots, a method comprising: in response to receiving a write request that specifies first data and a write operation for a first portion of a logical storage unit, determining that the first portion is mapped to a first cache slot of the plurality of cache slots; determining that the first cache slot is locked by a remote replication process executing on the storage system; allocating a second cache slot to the first portion; copying second data from the first cache slot to the second cache slot; and re-mapping the first portion from the first cache slot to the second cache slot, and wherein: the remote replication process maintains a plurality of cycles, each cycle corresponding to a respective period of time and including a queue of cache slots, a first cycle of the plurality of replication cycles corresponding to a first period of time is in a transfer phase during which data stored in cache slots in the queue of the cache slots of the first cycle are replicated from the storage system to a remote storage system, a second cycle of the plurality of replication cycles corresponding to a second period of time, after the first period, wherein during the second cycle the write request is received and the second cycle is in a capture phase during which a queue of cache slots of the second cycle are being populated with cache slots mapped to logical storage unit portions for which write operations were initiated during the second period, and wherein the first cache slot is in the first cycle and the second cache slot is in the second cycle. 8. A data storage system comprising: a cache including a plurality of cache slots; and executable logic that implements a method comprising: in response to receiving a write request that specifies first data and a write operation for a first portion of a logical storage unit, determining that the first portion is mapped to a first cache slot of the plurality of cache slots; determining that the first cache slot is locked by a remote replication process executing on the storage system; responsive to determining that the first cache slot is locked by the remote replication process executing on the storage system, issuing a request to release the first cache slot that is locked; and responsive to receiving the request to release the first cache slot that is locked, performing processing including: allocating a second cache slot to the first portion; copying second data from the first cache slot to the second cache slot; and re-mapping the first portion from the first cache slot to the second cache slot. 9. The data storage system of claim 8 , wherein the method further comprises: performing the write operation, including staging the first data in the second cache slot. 10. The data storage system of claim 9 , wherein the method further comprises: after staging the first data in the second cache slot, unlocking the second cache slot. 11. The data storage system of claim 8 , wherein the method further comprises: transmitting the second data from the first cache slot to a remote storage system. 12. The data storage system of claim 8 , wherein the remote replication process executes asynchronous replication. 13. The data storage system of claim 8 , wherein a first data structure has a plurality of entries, each entry representing a portion of the logical storage unit, including a first entry representing the first portion, and wherein re-mapping the first portion includes: modifying the first entry from pointing to the first cache slot to pointing to the second cache slot. 14. A data storage system comprising: a cache including a plurality of cache slots; and executable logic that implements a method comprising: in response to receiving a write request that specifies first data and a write operation for a first portion of a logical storage unit, determining that the first portion is mapped to a first cache slot of the plurality of cache slots; determining that the first cache slot is locked by a remote replication process executing on the storage system; allocating a second cache slot to the first portion; copying second data from the first cache slot to the second cache slot; and re-mapping the first portion from the first cache slot to the second cache slot, and wherein: the remote replication process maintains a plurality of cycles, each cycle corresponding to a respective period of time and including a queue of cache slots, a first cycle of the plurality of replication cycles corresponding to a first period of time is in a transfer phase during which data stored in cache slots in the queue of the cache slots of the first cycle are replicated from the storage system to a remote storage system, a second cycle of the plurality of replication cycles corresponding to a second period of time, after the first period, wherein during the second cycle the write request is received and the second cycle is in a capture phase during which a queue of cache slots of the second cycle are being populated with cache slots mapped to logical storage unit portions for which write operations were initiated during the second period, and wherein the first cache slot is in the first cycle and the second cache slot is in the second cycle. 15. For a data storage system including a cache including a plurality of cache slots, one or more non-transitory computer-readable media having software stored thereon, the software comprising: executable code that, in response to receiving a write request that specifies first data and a write operation for a first portion of a logical storage unit, determines that the first portion is mapped to a first ca

Assignees

Inventors

Classifications

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

  • Copy directories (local copy tags for implementing a bus snooping protocol G06F12/0831) · CPC title

  • with a network or matrix configuration · CPC title

  • Allocation or management of cache space · CPC title

  • Track or segment · 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 US11567876B2 cover?
Cache slots on a storage system may be shared between entities processing write operations for logical storage unit (LSU) tracks and entities performing remote replication for write operations for the LSU tracks. If a new write operation is received on a first storage system (S1) for a track of an LSU (R1) when the cache slot mapped to the R1 track is locked by a process currently transmitting …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 31 2023 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).