Method and mechanism for generating a live snapshot in a computing system
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;
wherein the initially copied storage portion includes one or more blocks containing part of an operating system kernel.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and mechanism for generating a snapshot in a computing system. On initiating a snapshot of a first storage, 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. Responsive 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. 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 recorded in the copy map. The successive copying can be performed as a background task.
17 Citations
28 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; wherein the initially copied storage portion includes one or more blocks containing part of an operating system kernel. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A carrier medium comprising program instructions, wherein the program instructions are executable:
-
on initiating a snapshot, initially to copy to snapshot storage the content of a portion of a 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 copying to the snapshot storage the content of the block, prior to writing to it, and to recording in the copy map a copied indication for the copied block; and successively to 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; wherein the initially copied storage portion includes one or more blocks containing part of an operating system kernel. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer system comprising:
-
first storage that is logically subdivided into a plurality of blocks; snapshot storage for holding a snapshot of the first storage; and a snapshot generator for generating a snapshot of the first storage, the snapshot generator being operable, on initiating the snapshot to 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; wherein the initially copied storage portion includes one or more blocks containing part of an operating system kernel. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification