Method and system for data replication
AssigneeStorMagic Limited
InventorChristopher John Farey
Life of this patent
Estimating the term…
Abstract
A method and system of replicating data stored on a storage device where an update is stored in a snapshot. The update includes a copy of at least one portion of the data stored on the storage device. Metadata relating to the update is also stored. The replica is periodically updated by copying the contents of the snapshot into the replica in accordance with the stored metadata. After the replica is updated, the snapshot can be deleted.
Claims14
A method for replicating a physical block storage device, the method comprising the steps:
- i) providing a data volume stored on a physical block storage device configured to read and write data in blocks of a predetermined size;
- ii) providing a replica of said data volume stored on a second storage device;
- iii) providing a snapshot stored separately from the replica and data volume, wherein the snapshot contains at least one update that comprises at least one block of data copied from the data volume;
- iv) providing a journal for storing metadata associated with each update contained in the snapshot, the journal being separate from the snapshot, the data volume and the replica;
- v) prior to changing the contents of at least one particular block of data of the data volume, taking a copy of said at least one particular block of data of the data volume and storing said copy as an update in said snapshot, and storing in said journal metadata associated with the update stored in v), wherein the metadata includes
- a Logical Block Address specifying the first address in the replica where the update stored in v) is to be copied to, and
- a Block Count specifying how many data blocks the update stored in v) is to occupy in the replica;
- vi) changing the contents of said at least one block of data stored on the physical block storage device;
- and
- vii) periodically updating the replica after expiry of a predefined period of time by copying the contents of the snapshot into the replica in accordance with metadata stored in the journal such that the update stored in v) is copied from the snapshot into the replica starting at said Logical Block Address and occupying the number of data blocks specified in said Block Count.
A system for replicating the contents of a physical block storage device, the system comprising:
- a plurality of storage means for storing:
- i) a data volume which is the contents of the physical block storage device, wherein the contents of the physical block storage device comprise data in blocks of a predetermined size;
- ii) a replica of said data volume stored on a second storage device;
- iii) a snapshot stored separately from the replica and data volume, wherein the snapshot contains at least one update that comprises at least one block of data copied from the data volume;
- iv) a journal for storing metadata associated with each update contained in the snapshot, the journal being separate from the snapshot, the data volume and the replica;
- v) software configured to perform first operations prior to changing the contents of at least one particular block of data of the data volume, wherein the first operations include taking a copy of said at least one particular block of data of the data volume and storing said copy as an update in said snapshot, and storing in said journal metadata associated with the update stored by the first operations, wherein the metadata includes
- a Logical Block Address specifying the first address in the replica where the update stored by the first operations of v) is to be copied to, and
- a Block Count specifying how many data blocks the update stored by the first operations of v) is to occupy in the replica;
- and
- vi) software configured to periodically update the replica after expiry of a predefined period of time by copying the contents of the snapshot into the replica in accordance with metadata stored in the journal such that the update stored by the first operations of v) is copied from the snapshot into the replica in accordance with its associated metadata starting at said Logical Block Address and occupying the number of data blocks specified in said Block Count.
Dependencies are inferred from the claim text.