Cache usage optimization for remote data replication
One or more aspects of the present disclosure relate to optimizing cache utilization in storage arrays with remote replication. When a write operation is received at a local array, write data is stored in an unmirrored cache slot rather than traditional mirrored slots. The system initiates parallel operations: a synchronous cut-through write to temporary disk space in the local array and a remote write to mirrored cache slots in a remote array. The cut-through write bypasses the backend adapter to write directly to disk, completing in microseconds compared to milliseconds for remote writes. After receiving acknowledgments from both operations, a write completion is sent to the host. The system maintains fault tolerance through multiple redundancy mechanisms while reducing DRAM usage from four copies to three across the primary and secondary arrays.
1 . A method comprising:
receiving a write input/output (IO) operation at a local array;
storing write data corresponding to the write IO operation in an unmirrored cache slot in the local array;
initiating, in parallel:
a synchronous cut-through write of the write data to a temporary disk space in the local array, and
a remote write of the write data to one or more mirrored cache slots in a remote array;
receiving acknowledgments of completion of the synchronous cut-through write and the remote write; and
sending a write completion acknowledgment to a host associated with the write IO operations after receiving the acknowledgments of completion of the synchronous cut-through write and the remote write.
2 . The method of claim 1 , further comprising:
determining that the write IO operation targets a device enabled for synchronous remote replication; and
selecting the unmirrored cache slot based on the determination.
3 . The method of claim 1 , further comprising:
asynchronously destaging the write data from the unmirrored cache slot to a disk drive in the local array according to data reduction and RAID protection rules.
4 . The method of claim 1 , further comprising:
retrieving the write data from the temporary disk space in response to a failure of the unmirrored cache slot in the local array.
5 . The method of claim 1 , further comprising:
maintaining access to the write data through the unmirrored cache slot and the temporary disk space in the local array in response to a failure of the remote array and a network connecting the local and remote arrays.
6 . The method of claim 1 , further comprising:
retrieving the write data from the one or more mirrored cache slots in the remote array in response to failures of the unmirrored cache slot and the temporary disk space in the local array.
7 . The method of claim 1 , further comprising:
executing the synchronous cut-through write by bypassing a backend adapter to write directly to the temporary disk space.
8 . The method of claim 1 , further comprising:
clearing a write pending status for the unmirrored cache slot after completing an asynchronous destaging; and
freeing the unmirrored cache slot for reuse.
9 . The method of claim 1 , further comprising:
reducing memory usage in the local array by storing the write data in the unmirrored cache slot instead of a mirrored cache slot while maintaining fault tolerance through the temporary disk space and remote array copies.
10 . The method of claim 1 , further comprising:
completing the synchronous cut-through write in less time than the remote write to avoid adding latency to the write IO operation.
11 . An apparatus with a memory and processor, the apparatus configured to:
receive a write input/output (IO) operation at a local array;
store write data corresponding to the write IO operation in an unmirrored cache slot in the local array;
initiate, in parallel:
a synchronous cut-through write of the write data to a temporary disk space in the local array, and
a remote write of the write data to one or more mirrored cache slots in a remote array;
receive acknowledgments of completion of the synchronous cut-through write and the remote write; and
send a write completion acknowledgment to a host associated with the write IO operations after receiving the acknowledgments of completion of the synchronous cut-through write and the remote write.
12 . The apparatus of claim 11 , further configured to:
determine that the write IO operation targets a device enabled for synchronous remote replication; and
select the unmirrored cache slot based on the determination.
13 . The apparatus of claim 11 , further configured to:
asynchronously destage the write data from the unmirrored cache slot to a disk drive in the local array according to data reduction and RAID protection rules.
14 . The apparatus of claim 11 , further configured to:
retrieve the write data from the temporary disk space in response to a failure of the unmirrored cache slot in the local array.
15 . The apparatus of claim 11 , further configured to:
maintain access to the write data through the unmirrored cache slot and the temporary disk space in the local array in response to a failure of the remote array and a network connecting the local and remote arrays.
16 . The apparatus of claim 11 , further configured to:
retrieve the write data from the one or more mirrored cache slots in the remote array in response to failures of the unmirrored cache slot and the temporary disk space in the local array.
17 . The apparatus of claim 11 , further configured to:
execute the synchronous cut-through write by bypassing a backend adapter to write directly to the temporary disk space.
18 . The apparatus of claim 11 , further configured to:
clear a write pending status for the unmirrored cache slot after completing an asynchronous destaging; and
free the unmirrored cache slot for reuse.
19 . The apparatus of claim 11 , further configured to:
reduce memory usage in the local array by storing the write data in the unmirrored cache slot instead of a mirrored cache slot while maintaining fault tolerance through the temporary disk space and remote array copies.
20 . The apparatus of claim 11 , further configured to:
complete the synchronous cut-through write in less time than the remote write to avoid adding latency to the write IO operation.