Overlay snaps
AssigneeEMC IP Holding Company LLC
InventorsJehuda Shemer, Assaf Natanzon, Ran Goldschmidt
Life of this patent
Estimating the term…
Abstract
An overlay snap is generated by generating a snapshot of a logical storage volume, writing a data stream to the overlay snap, generating pointers indicating locations of new data written to the overlay snap, and generating null pointers for locations that do not have new data written to the overlay snap. The overlay snap comprises the pointers and the null pointers. The overlay snap may be applied to a volume to generate a current snapshot of the volume. The overlay snap may be used maintain write order fidelity during continuous data replication by creating a copy of a snapshot on a target storage device and writing new data to an overlay snap on the target storage device.
Claims34
A computer-implemented method, comprising:
- generating a first overlay snap, the first overlay snap being generated before a first snapshot of a non-empty storage volume is created, the first overlay snap being empty when generated containing corresponding empty entries for each storage location of the storage volume;
- and
- writing a first data stream to the first overlay snap, the first overlay snap including changes from the first data stream for the storage volume as new data,
- wherein writing the first data stream to the first overlay snap comprises generating first pointers overwriting respective entries corresponding to the storage locations of the storage volume being written to, the first pointers indicating locations of the new data written to the overlay snap, wherein the new data written to the first overlay snap from the first data stream is physically stored in the first overlay snap, and any entries not receiving changes in the first data stream remain empty, the generated first pointers pointing to the new data stored within the first overlay snap, and
- wherein generating the first overlay snap further comprises generating first null pointers for the empty locations that do not have new data written to the overlay snap, wherein the first overlay snap comprises the first pointers and the first null pointers.
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
- generate a first overlay snap, the first overlay snap being generated before a first snapshot of a non-empty storage volume is created, the first overlay snap being empty when generated containing corresponding empty entries for each storage location of the storage volume;
- and
- write a first data stream to the first overlay snap, the first overlay snap including changes from the first data stream for the storage volume as new data, wherein writing the first data stream to the first overlay snap comprises generating first pointers overwriting respective entries corresponding to the storage locations of the storage volume being written to, the first pointers indicating locations of the new data written to the overlay snap, wherein the new data written to the first overlay snap from the first data stream is physically stored in the first overlay snap, and any entries not receiving changes in the first data stream remain empty, the generated first pointers pointing to the new data stored within the first overlay snap, and
- wherein generating the first overlay snap further comprises generating first null pointers for the empty locations that do not have new data written to the overlay snap, wherein the first overlay snap comprises the first pointers and the first null pointers.
A computer-implemented method for continuous data replication of a source volume on a source storage device, comprising:
- generating a first overlay snap of a replica volume on a target storage device, the first overlay snap being generated before a first snapshot of a non-empty source volume is created, the first overlay snap being empty when generated containing corresponding empty entries for each storage location of the source volume;
- writing a first data stream from the source storage device to the first overlay snap, the first overlay snap including changes from the first data stream for the source volume as new data, wherein writing the first data stream to the first overlay snap comprises generating first pointers overwriting respective entries corresponding to the storage locations of the source volume being written to, the first pointers indicating locations of the new data written to the first overlay snap, wherein the new data written to the first overlay snap from the first data stream is physically stored in the first overlay snap, and any entries not receiving changes in the first data stream remain empty, the generated first pointers pointing to the new data stored within the first overlay snap, wherein the first overlay snap is generated by generating first null pointers for the empty locations that do not have new data written to the first overlay snap, wherein the first overlay snap comprises the first pointers and the first null pointers;
- receiving an initial data stream including taking a snapshot of the source storage device and performing a sweep on the snapshot;
- and
- writing the initial data stream to the replica volume on the target storage device.
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions for continuous data replication of a source volume on a source storage device, the instructions causing a machine to:
- generate a first overlay snap of a replica volume on a target storage device, the first overlay snap being generated before a first snapshot of a non-empty source volume is created, the first overlay snap being empty when generated containing corresponding empty entries for each storage location of the source volume;
- write a first data stream from the source storage device to the first overlay snap, the first overlay snap including changes from the first data stream for the source volume as new data;
- receive an initial data stream, including taking a snapshot of the source storage device and performing a sweep on the snapshot, wherein writing the first data stream to the first overlay snap comprises generating first pointers overwriting respective entries corresponding to the storage locations of the source volume being written to, the first pointers indicating locations of the new data written to the first overlay snap, wherein the new data written to the first overlay snap from the first data stream is physically stored in the first overlay snap, and any entries not receiving changes in the first data stream remain empty, the generated first pointers pointing to the new data stored within the first overlay snap, wherein the first overlay snap is generated by generating first null pointers for the empty locations that do not have new data written to the first overlay snap, wherein the first overlay snap comprises the first pointers and the first null pointers;
- and
- write the initial data stream to the replica volume on the target storage device, wherein the circuitry comprises at least one of a processor, a memory, a programmable logic device, or a logic gate.
Dependencies are inferred from the claim text.