System and method for concurrent distributed snapshot management
First Claim
1. A computer-implemented method for managing data snapshots among at least first and second storage volumes, comprising:
- invoking a snapshot relationship between the volumes;
in response to the invoking act, establishing a logical copy of data from the first storage volume on the second storage volume;
establishing respective first and second snapshot tables for the volumes, each table including a source volume column and a target volume column;
in response to a read request for one or more read chunks in a “
read”
one of the volumes, accessing the snapshot table associated with the “
read”
volume, either one of the first and second storage volumes being selectable as the read volume;
directing the read to the source volume as indicated for the read chunks in the source column of the snapshot table associated with the “
read”
volume;
in response to a write request for one or more write chunks in a “
write”
one of the volumes, accessing the table associated with the “
write”
volume, either one of the first and second storage volumes being selectable as the write volume; and
directing the write to the target volume as indicated for the write chunks in the target column of the table associated with the “
write”
volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method for managing data snapshots among storage volumes to facilitate transitive, distributed snapshot operations such that a read request or write request can be made to any volume in a snapshot includes establishing respective snapshot tables for the volumes. Each table can correlate, for each chunk of data, a source volume and a target volume. In response to a read request for chunks in one the volumes, the respective snapshot table is accessed, and the read directed to the source volume indicated in the snapshot table. Likewise, in response to a write request for chunks in a storage volume, the table associated with the volume is accessed, and the write is directed to the target volume indicated in the table. For each chunk, the source volume is the same across all tables, such that a read or write involves no more than a single storage volume.
-
Citations
9 Claims
-
1. A computer-implemented method for managing data snapshots among at least first and second storage volumes, comprising:
-
invoking a snapshot relationship between the volumes;
in response to the invoking act, establishing a logical copy of data from the first storage volume on the second storage volume;
establishing respective first and second snapshot tables for the volumes, each table including a source volume column and a target volume column;
in response to a read request for one or more read chunks in a “
read”
one of the volumes, accessing the snapshot table associated with the “
read”
volume,either one of the first and second storage volumes being selectable as the read volume;
directing the read to the source volume as indicated for the read chunks in the source column of the snapshot table associated with the “
read”
volume;
in response to a write request for one or more write chunks in a “
write”
one of the volumes, accessing the table associated with the “
write”
volume,either one of the first and second storage volumes being selectable as the write volume; and
directing the write to the target volume as indicated for the write chunks in the target column of the table associated with the “
write”
volume. - View Dependent Claims (2, 3, 4)
-
-
5. A computer program product, comprising:
-
a computer program storage device;
computer-readable instructions on the storage device for causing a computer to undertake method acts to facilitate transitive, distributed snapshot operations, the method acts comprising;
establishing a snapshot relationship wherein data chunks on a source volume are to be logically mirrored on a target volume;
for each volume, establishing an associated table that can list, for each chunk, a source volume and a target volume;
permitting subsequent I/O requests to either the source or target volume; and
in response to the I/O events, accessing the table of the source or target volume and directing the I/O event according to one or more entries therein. - View Dependent Claims (6, 7, 8, 9)
-
Specification