Live memory snapshot
First Claim
1. A method of generating a snapshot of first storage that is logically subdivided into a plurality of blocks, the method comprising:
- on initiating the snapshot, initially copying to snapshot storage the content of a portion of the first storage that includes at least one block and recording in a copy map a copied indication for each copied block;
in response to any write request to a block for which no copied indication has been recorded in the copy map, copying to the snapshot storage the content of the block, prior to writing to it, and recording in the copy map a copied indication for the copied block; and
successively copying to the snapshot storage the content of other blocks for which no copied indication has been recorded in the copy map and recording in the copy map a copied indication for each copied block, until the content of the plurality of blocks have been copied to the snapshot storage.
2 Assignments
0 Petitions
Accused Products
Abstract
A live snapshot of a first storage that is logically subdivided into a plurality of blocks is generated in a running computer system a manner to minimise the impact on the running of the computer system. On initiating the snapshot, the content of a portion of the first storage that includes at least one block is copying to snapshot storage and a copied indication for each copied block is recording in a copy map. In response to any write request to a block for which no copied indication has been recorded in the copy map, the content of the block is copied to the snapshot storage, prior to writing to that block. A copied indication for the copied block is also recorded in the copy map. The content of other blocks for which no copied indication has been recorded in the copy map is successively copied to the snapshot storage. A copied indication for each copied block is also recorded in the copy map. This process then continues until the content of all of the plurality of blocks has been copied to the snapshot storage. The successive copying can be performed as a background task.
-
Citations
32 Claims
-
1. A method of generating a snapshot of first storage that is logically subdivided into a plurality of blocks, the method comprising:
-
on initiating the snapshot, initially copying to snapshot storage the content of a portion of the first storage that includes at least one block and recording in a copy map a copied indication for each copied block;
in response to any write request to a block for which no copied indication has been recorded in the copy map, copying to the snapshot storage the content of the block, prior to writing to it, and recording in the copy map a copied indication for the copied block; and
successively copying to the snapshot storage the content of other blocks for which no copied indication has been recorded in the copy map and recording in the copy map a copied indication for each copied block, until the content of the plurality of blocks have been copied to the snapshot storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20)
-
-
13. A computer program comprising program code for generating a snapshot of first storage that is logically subdivided into a plurality of blocks, the program code being operable
on initiating the snapshot, initially to copy to snapshot storage the content of a portion of the first storage that includes at least one block and recording in a copy map a copied indication for each copied block; -
in response to any write request to a block for which no copied indication has been recorded in the copy map, to copy to the snapshot storage the content of the block, prior to writing to it, and to record in the copy map a copied indication for the copied block; and
successively to copy to the snapshot storage the content of other blocks for which no copied indication has been recorded in the copy map and recording in the copy map a copied indication for each copied block, until the content of the plurality of blocks has been copied to the snapshot storage.
-
-
21. A computer system comprising:
-
first storage that is logically subdivided into a plurality of blocks;
snapshot storage for holding a snapshot of he first storage; and
a snapshot generator for generating a snapshot of the first storage, the snapshot generator being operable, on initiating the snapshot initially copying to the snapshot storage the content of a portion of the first storage that includes at least one block and recording in a copy map a copied indication for each copied block;
in response to any write request to a block for which no copied indication has been recorded in the copy map, copying to the snapshot storage the content of the block, prior to writing to it, and recording in the copy map a copied indication for the copied block; and
successively copying to the snapshot storage the content of other blocks for which no copied indication has been recorded in the copy map and recording in the copy map a copied indication for each copied block, until the content of the plurality of blocks has been copied to the snapshot storage. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification