Enabling off-host data migration using volume translation mappings, snappoint maps and linked volume technologies
First Claim
Patent Images
1. A method comprising:
- a first computer copying data contents of n data blocks of a first data volume to n data blocks, respectively, of a second data volume;
a second computer modifying data contents of a first plurality of the n data blocks of the first data volume after the first computer begins copying data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume;
the second computer creating a volume translation map which maps the n data blocks of the first data volume to n physical memory blocks, respectively, of a data storage system;
the first computer receiving a copy of the volume translation map from the second computer;
the first computer using the copy of the volume translation map to copy data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume;
the second computer creating a first snap-point map before contents of any of the n data blocks of the first data volume are copied to the n data blocks, respectively, of the second data volume;
wherein the first snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume;
wherein all of the n bits of the first snap-point map are initially set to indicate that data contents of the n data blocks, respectively, have not been modified since creation of the first snap-point map;
the second computer setting a first plurality of the n bits, wherein the first plurality of the n bits correspond to the first plurality of data blocks, wherein the first plurality of n bits are set to indicate that data contents of the first plurality of data blocks, respectively, have been modified since creation of the first snap-point map;
transmitting a copy of the first snap-point map to the first computer after the second computer sets the first plurality of n bits;
after the first computer copies data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume, the first computer copying data contents of the first plurality of data blocks of the first volume to respective blocks of the second volume;
the second computer creating a second snap-point map after creation of the first snap-point map, wherein the second snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume;
wherein the n bits of the second snap-point map are initially set to indicate that data contents of the n data blocks, respectively, have not been modified since creation of the second snap-point map.
8 Assignments
0 Petitions
Accused Products
Abstract
Enabling an off-host computer to migrate data of a data volume. In one embodiment, the off-host computer copies data contents of n data blocks of a first data volume to n data blocks, respectively, of a second data volume. A host computer is capable of modifying data contents of a first plurality of data blocks of the n data blocks of the first data volume after the off-host computer begins copying data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume.
-
Citations
9 Claims
-
1. A method comprising:
-
a first computer copying data contents of n data blocks of a first data volume to n data blocks, respectively, of a second data volume; a second computer modifying data contents of a first plurality of the n data blocks of the first data volume after the first computer begins copying data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume; the second computer creating a volume translation map which maps the n data blocks of the first data volume to n physical memory blocks, respectively, of a data storage system; the first computer receiving a copy of the volume translation map from the second computer; the first computer using the copy of the volume translation map to copy data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume; the second computer creating a first snap-point map before contents of any of the n data blocks of the first data volume are copied to the n data blocks, respectively, of the second data volume; wherein the first snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume; wherein all of the n bits of the first snap-point map are initially set to indicate that data contents of the n data blocks, respectively, have not been modified since creation of the first snap-point map; the second computer setting a first plurality of the n bits, wherein the first plurality of the n bits correspond to the first plurality of data blocks, wherein the first plurality of n bits are set to indicate that data contents of the first plurality of data blocks, respectively, have been modified since creation of the first snap-point map; transmitting a copy of the first snap-point map to the first computer after the second computer sets the first plurality of n bits; after the first computer copies data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume, the first computer copying data contents of the first plurality of data blocks of the first volume to respective blocks of the second volume; the second computer creating a second snap-point map after creation of the first snap-point map, wherein the second snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume; wherein the n bits of the second snap-point map are initially set to indicate that data contents of the n data blocks, respectively, have not been modified since creation of the second snap-point map. - View Dependent Claims (2, 3, 4)
-
-
5. A computer readable memory storing instructions executable by a first computer, wherein the first computer implements a method in response to executing the instructions, the method comprising:
-
copying data contents of n data blocks of a first data volume to n data blocks, respectively, of a second data volume, while a second computer modifies data contents of a first plurality of the n data blocks of the first data volume; using a copy of a volume translation map received from the second computer to copy data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume, wherein the translation map maps the n data blocks of the first data volume to n physical memory blocks, respectively, of a data storage system; the first computer receiving a copy of a first snap-point map from the second computer after the first computer copies data contents of the n data blocks of the first volume to the n data blocks, respectively, of the second data volume, wherein the first snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume; the first computer, after copying data contents of the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume, copying data contents of a first plurality of data blocks of the first volume to respective blocks of the second volume in response to receiving the copy of the first snap-point map, wherein a first plurality of the n bits in the first snap-point map are set to indicate that the first plurality of data blocks, respectively, of the first data volume were modified after the first computer began copying the n data blocks of the first data volume to the n data blocks, respectively, of the second data volume; the first computer storing a copy of a second snap-point map received from the second computer after the first computer receives the copy of the first snap-point map, wherein the second snap-point map comprises n bits corresponding to the n data blocks, respectively, of the first data volume. - View Dependent Claims (6, 7, 8, 9)
-
Specification