Validating integrity of replicated data

US12493580B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12493580-B2
Application numberUS-202418933628-A
CountryUS
Kind codeB2
Filing dateOct 31, 2024
Priority dateDec 14, 2017
Publication dateDec 9, 2025
Grant dateDec 9, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Verifying that data has been correctly replicated to a replication target, including: replicating a dataset stored at a first computing system to a second computing system; and determining, based at least on a comparison of a first hash and a second hash, validity of the dataset stored at the second computing system, wherein the first hash is generated by applying a hash function to a copy of the dataset that is stored at the first computing system and the second hash is generated by applying the hash function to a copy of the dataset that is stored at the second computing system.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: selecting, from a dataset at a first computing system, an updated portion of the dataset for validating via a hash comparison; generating a first hash of the selected updated portion of the dataset in parallel with replication of the dataset from the first computing system to a second computing system; and validating replication of the selected updated portion by comparing the first hash of the selected updated portion at the first computing system and a second hash of the selected updated portion as replicated to the second computing system. 2 . The method of claim 1 , wherein the first hash is generated by the first computing system and the second hash is generated by the second computing system after receiving the dataset. 3 . The method of claim 1 , wherein determining validity of the dataset stored at the second computing system is carried out by a hash validation engine, and wherein the dataset is asynchronously replicated. 4 . The method of claim 3 , wherein the hash validation engine is executed on one or more of the computing systems. 5 . The method of claim 3 , wherein the hash validation engine is executed externally to the computing systems. 6 . The method of claim 3 , wherein periodically or aperiodically after determining validity of the dataset stored at the second computing system, the hash validation engine continues to determine validity of the dataset stored at the second computing system by comparing an updated first hash and an updated second hash, wherein the updated first hash is generated by applying a hash function to a copy of the dataset that is stored at the first computing system and the updated second hash is generated by applying the hash function to a copy of the dataset that is stored at the second computing system. 7 . The method of claim 1 , wherein the dataset that is stored at the second computing system is a replicated snapshot of the dataset that is stored at the first computing system. 8 . The method of claim 1 , wherein the first computing system is a first storage system, wherein the second computing system is a second storage system, and wherein the dataset is synchronously replicated between the first storage system and the second storage system. 9 . An apparatus comprising: a memory; and a processing device, operatively coupled to the memory, configured to: selecting, from a dataset at a first computing system, an updated portion of the dataset for validating via a hash comparison; generate a first hash of the selected updated portion of the dataset in parallel with replication of the dataset from the first computing system to a second computing system; and validating replication of the selected updated portion by comparing the first hash of the selected updated portion at the first computing system and a second hash of the selected updated portion as replicated to the second computing system. 10 . The apparatus of claim 9 , wherein the first hash is generated by the first computing system and the second hash is generated by the second computing system after receiving the dataset. 11 . The apparatus of claim 9 , wherein determining validity of the dataset stored at the second computing system is carried out by a hash validation engine, and wherein the dataset is asynchronously replicated. 12 . The apparatus of claim 9 , wherein periodically or aperiodically after determining validity of the dataset stored at the second computing system, the processing device continues to determine validity of the dataset stored at the second computing system by comparing an updated first hash and an updated second hash, wherein the updated first hash is generated by applying a hash function to a copy of the dataset that is stored at the first computing system and the updated second hash is generated by applying the hash function to a copy of the dataset that is stored at the second computing system. 13 . The apparatus of claim 9 , wherein the dataset that is stored at the second computing system is a replicated snapshot of the dataset that is stored at the first computing system. 14 . The apparatus of claim 9 , wherein the first computing system is a first storage system, wherein the second computing system is a second storage system, and wherein the dataset is synchronously replicated between the first storage system and the second storage system. 15 . A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device to: selecting, from a dataset at a first computing system, an updated portion of the dataset for validating via a hash comparison; generating a first hash of the selected updated portion of the dataset in parallel with replication of the dataset from the first computing system to a second computing system; and validating replication of the selected updated portion by comparing the first hash of the selected updated portion at the first computing system and a second hash of the selected updated portion as replicated to the second computing system. 16 . The non-transitory computer readable storage medium of claim 15 , wherein the first hash is generated by the first computing system and the second hash is generated by the second computing system after receiving the dataset. 17 . The non-transitory computer readable storage medium of claim 16 , wherein determining validity of the dataset stored at the second computing system is carried out by a hash validation engine. 18 . The non-transitory computer readable storage medium of claim 17 , wherein the hash validation engine is executed on one or more of the computing systems. 19 . The non-transitory computer readable storage medium of claim 17 , wherein the hash validation engine is executed in a cloud environment. 20 . The non-transitory computer readable storage medium of claim 15 , wherein periodically or aperiodically after determining validity of the dataset stored at the second computing system, the processing device continues to determine validity of the dataset stored at the second computing system by comparing an updated first hash and an updated second hash, wherein the updated first hash is generated by applying a hash function to a copy of the dataset that is stored at the first computing system and the updated second hash is generated by applying the hash function to a copy of the dataset that is stored at the second computing system.

Assignees

Inventors

Classifications

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00) · CPC title

  • Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12493580B2 cover?
Verifying that data has been correctly replicated to a replication target, including: replicating a dataset stored at a first computing system to a second computing system; and determining, based at least on a comparison of a first hash and a second hash, validity of the dataset stored at the second computing system, wherein the first hash is generated by applying a hash function to a copy of t…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/128. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 09 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).