Method for taking snapshots of data
First Claim
Patent Images
1. A method of taking a snapshot of data comprising:
- obtaining a first map data structure that records locations for a plurality of data blocks;
forming a second map data structure that is initially empty of locations, the second map data structure representing the snapshot after the snapshot is started; and
applying a write on data to the first map if the write arrives before the snapshot is started, and otherwise to the second map if the write arrives after the snapshot is started.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for taking snapshots of data. In an embodiment, a first map data structure is obtained that records locations for a plurality of data blocks. A second map data structure is formed that is initially empty of locations, the second map data structure representing the snapshot after the snapshot is started. Writes on data that arrive before the snapshot starts are applied to the first map, and writes that arrive after the snapshot starts are applied to the second map.
-
Citations
40 Claims
-
1. A method of taking a snapshot of data comprising:
-
obtaining a first map data structure that records locations for a plurality of data blocks;
forming a second map data structure that is initially empty of locations, the second map data structure representing the snapshot after the snapshot is started; and
applying a write on data to the first map if the write arrives before the snapshot is started, and otherwise to the second map if the write arrives after the snapshot is started. - View Dependent Claims (2, 3)
-
-
4. A method of taking a snapshot of data comprising:
-
obtaining a first map data structure that specifies a relationship of logical addresses to physical addresses for a plurality of data blocks of a volume, the first map data structure initially being identified as a current map for the volume;
forming a second map data structure that is initially empty, the second map data structure initially being identified as a tentative map data structure for the volume; and
committing the snapshot by identifying the second map data structure as the current map for the volume and identifying the first map data structure as a snapshot map for the volume. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A method of taking a snapshot of a data distributed among a plurality of data storage devices, the plurality of data storage devices redundantly storing the data and each having a map data structure that specifies a relationship of logical addresses to physical addresses for a plurality of blocks of the data, the method comprising:
-
forming new map data structures by at least a quorum of the storage devices, each new map data structure initially being empty of physical addresses and initially being identified as a tentative map data structure; and
committing the snapshot by at least a quorum of the storage devices by identifying the map data structures as snapshot maps for the data and identifying the new map data structures as current maps for the data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of taking a snapshot of a data distributed among a plurality of data storage devices, the plurality of data storage devices redundantly storing the data and each having a map data structure that specifies a relationship of logical addresses to physical addresses for a plurality of blocks of the data, the method comprising:
-
sending a first command to the plurality of storage devices instructing the snapshot of the data to be prepared;
receiving any affirmative responses from the plurality of storage devices, each affirmative response indicating that the corresponding storage device is able to form a new map data structure, the new map data structure initially being empty of physical addresses; and
sending a second command to the plurality storage devices, the second command instructing the snapshot to be committed if a quorum of affirmative responses is received and the second command instructing the snapshot to be aborted if a quorum of affirmative responses is not received. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A computer readable media comprising computer code for implementing a method of taking a snapshot of data, the method comprising the steps of:
-
obtaining a first map data structure that records locations for a plurality of data blocks;
forming a second map data structure that is initially empty of locations, the second map data structure representing the snapshot after the snapshot is started; and
applying a write on data to the first map if the write arrives before the snapshot is started, and otherwise to the second map if the write arrives after the snapshot is started.
-
Specification