US 12,008,018 B2
Synchronous remote replication of snapshots
Bhaskar Bora, Shrewsbury, MA (US); Deepak Vokaliga, Hopkinton, MA (US); Mark J. Halstead, Holliston, MA (US); Jeffrey Wilson, Franklin, MA (US); William R. Stronge, Westford, MA (US); and Ian Adams, Cambridge, MA (US)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Apr. 22, 2021, as Appl. No. 17/237,127.
Prior Publication US 2022/0342908 A1, Oct. 27, 2022
Int. Cl. G06F 16/27 (2019.01); G06F 11/14 (2006.01)
CPC G06F 16/275 (2019.01) [G06F 16/27 (2019.01); G06F 11/1446 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
8. A system comprising:
a first storage system;
a second storage system;
a third storage system;
a logical storage unit synchronously replicated between the first storage system and the second system, wherein the logical storage unit is asynchronously replicated from the first storage system to the third storage system and asynchronously replicated from the second storage system to the third storage system; and
executable logic that implements a method including:
while performing synchronous replication synchronously replicating write requests, that are directed to the first logical storage unit of the first storage system, to the second logical storage unit of the second data storage system, concurrently performing first processing that remotely replicates snapshots of the first logical storage unit to the second logical storage unit, said first processing including:
at a first point in time while performing said synchronous replication, the first storage system suspending initiating of processing of new write requests for the first logical storage unit that are received at the first storage system from the host system after the first point in time;
after said suspending, recording at least a first outstanding write request for the first logical storage unit on the first storage system, wherein each outstanding write request of the at least first outstanding write request is received from the host system at the first storage system and is outstanding at the first point in time when initiating processing of new write requests for the first logical storage unit is suspended by said suspending, and wherein said each outstanding write request is outstanding in that servicing of the said each outstanding write request has been initiated and the first storage system has not yet returned an acknowledgement to the host system regarding completion of said each outstanding write request;
after said recording, taking the first snapshot on the first storage system;
after said taking the first snapshot on the first storage system, the first storage system sending an instruction to the second storage system to initiate taking a second snapshot of the second logical storage unit;
responsive to the second storage system receiving, from the first storage system, the instruction to initiate the second storage system taking the second snapshot, the second storage system taking the second snapshot of the second logical storage unit;
responsive to taking the second snapshot, sending an acknowledgment from the second storage system to the first storage system regarding the taking of the second snapshot of the second logical storage unit; and
after the recording, the taking the first snapshot and the taking the second snapshot, performing processing including:
resuming the initiating of processing of new write requests for the first logical storage unit on the first storage system; and
applying the at least first outstanding write request to the second snapshot so that after performing said applying, the second snapshot is a remote replica of the first snapshot.