Maintaining write consistency on distributed multiple page writes
US-9933947-B1 · Apr 3, 2018 · US
US11567876B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11567876-B2 |
| Application number | US-202017084835-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 30, 2020 |
| Priority date | Oct 30, 2020 |
| Publication date | Jan 31, 2023 |
| Grant date | Jan 31, 2023 |
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.