US 12,135,685 B2
Verifying data has been correctly replicated to a replication target
David Grunwald, San Francisco, CA (US); Luke Paulsen, Mountain View, CA (US); Ronald Karr, Palo Alto, CA (US); Thomas Gill, Bury St Edmunds (GB); and Yao-Cheng Tien, Cupertino, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on May 17, 2021, as Appl. No. 17/322,113.
Application 17/322,113 is a continuation of application No. 16/174,498, filed on Oct. 30, 2018, granted, now 11,036,677.
Claims priority of provisional application 62/722,247, filed on Aug. 24, 2018.
Claims priority of provisional application 62/598,989, filed on Dec. 14, 2017.
Prior Publication US 2021/0279204 A1, Sep. 9, 2021
Int. Cl. G06F 16/20 (2019.01); G06F 3/06 (2006.01); G06F 16/11 (2019.01); G06F 16/27 (2019.01); G06F 21/78 (2013.01)
CPC G06F 16/128 (2019.01) [G06F 3/0619 (2013.01); G06F 3/0646 (2013.01); G06F 3/067 (2013.01); G06F 16/27 (2019.01); G06F 21/78 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
replicating a dataset stored at a first computing system to a second computing system, wherein the dataset is asynchronously replicated to the second computing system at a first time;
determining, by the first computing system comparing a first hash and a second hash, that the asynchronously replicated dataset stored at the second computing system is valid, wherein the first hash is generated by applying a hash function to the dataset stored at the first computing system and the second hash is generated by applying the hash function to the asynchronously replicated dataset stored at the second computing system and generated from the dataset replicated from the first computing system, and wherein the second hash is received by the first computing system from the second computing system;
replicating the dataset at the first computing system to the second computing system at a second time, the dataset comprising an updated portion of data that is different than the dataset at the first time and a same portion; and
determining whether the dataset is valid based on comparing a third hash generated by applying the hash function on only the updated portion of the dataset and a fourth hash generated by applying the hash function on only a replicated updated portion of the replicated dataset.