×

Reading a portion of data to replicate a volume based on sequence numbers

  • US 10,185,505 B1
  • Filed: 10/28/2016
  • Issued: 01/22/2019
  • Est. Priority Date: 10/28/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • receiving a request to replicate a volume at a source solid-state storage array to a target solid-state storage array, the volume corresponding to a plurality of snapshots associated with data blocks that are stored at the source solid-state storage array;

    identifying a most recent snapshot of the plurality of snapshots corresponding to the volume at the source solid-state storage array that is present at the target solid-state storage array;

    identifying metadata organized into a plurality of logical groups, each of the logical groups corresponding to a sequence number range and including a portion of the metadata that is associated with a portion of the data blocks of the volume;

    determining a last sequence number associated with the most recent snapshot of the plurality of snapshots that is present at the target solid-state storage array;

    receiving identifiers associated with sequence numbers for data blocks specified by the next logical group of the plurality of logical groups of the metadata; and

    determining, based on the identifiers, whether the data blocks are associated with another sequence number range with prior values for another logical group of the plurality of logical groups than the sequence number range of the next logical group;

    identifying, by a processing device, a logical group of the plurality of logical groups with a corresponding sequence number range that includes the last sequence number associated with the most recent snapshot; and

    reading the metadata to identify a portion of the data blocks to transmit to the target solid-state storage array to replicate the volume based on a next logical group of the plurality of logical groups with a corresponding sequence number range with higher sequence numbers than the identified logical group, wherein reading the metadata comprises;

    determining to read a first portion of the metadata of the next logical group for data blocks associated with sequence numbers that are included in the sequence number range of the next logical group; and

    determining to not read a second portion of the metadata of the next logical group for data blocks associated with sequence numbers that are included in the another sequence number range with prior values than the sequence number range of the next logical group.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×