US 12,216,548 B2
Storage resource resynchronization using pending IO requests
Vasudevan Subramanian, Chapel Hill, NC (US); Nagapraveen Veeravenkata Seela, Cary, NC (US); Michael C. Brundage, Cary, NC (US); and Alan L. Taylor, Cary, NC (US)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Feb. 3, 2023, as Appl. No. 18/164,382.
Prior Publication US 2024/0264908 A1, Aug. 8, 2024
Int. Cl. G06F 11/14 (2006.01); G06F 11/20 (2006.01)
CPC G06F 11/1456 (2013.01) [G06F 11/2082 (2013.01); G06F 2201/84 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
at least one processing device including a processor coupled to a memory;
the at least one processing device being configured to implement the following steps:
in response to detecting, at a source storage system including a source storage array, a failed network connection between the source storage system and a destination storage system including a destination storage array:
quiescing, at the source storage system, input/output (IO) activity in progress;
identifying, at the source storage system, impacted storage resources and pending IO requests associated with each impacted storage resource;
for each impacted storage resource:
creating, at the source storage system, a first snapshot comprising a snapshot of the impacted storage resource resident on the source storage array;
for each pending IO request associated with the impacted storage resource, marking blocks specified by the pending IO request as modified;
unquiescing, at the source storage system, the quiesced IO activity;
in response to detecting, at the source storage system, that the network connection has been restored between the source storage system and the destination storage system:
creating, at the source storage system, a second snapshot comprising a snapshot of each impacted storage resource resident on the source storage array;
performing remote mirroring, from the source storage system to the destination storage system, to store a copy of differences in data of each impacted storage resource resident on the source storage array to the impacted storage resource resident on the destination storage array, wherein the differences in data are identified based on comparing the first and the second snapshot for each impacted storage resource;
transmitting, from the source storage system, a snapshot request for the destination storage system to create a third snapshot comprising a snapshot of each impacted storage resource resident on the destination storage array; and
triggering, from the source storage system, the destination storage system to process the third snapshot to identify impacted storage resources for review from the destination storage array based on the differences in data from the source storage system.