Time and space efficient technique for creating virtual volume copies
Assignee3PAR, Inc.
InventorsGeorge R. Cameron, Hueichian Huang
Life of this patent
Estimating the term…
Abstract
A snapshot tree structure includes a base volume storing a current user data at a current time, a first read-only snapshot descending from the base volume, and a second read-only snapshot descending from the first read-only snapshot. The first read-only snapshot is created at a first time earlier than the current time. The first read-only snapshot stores a first data of the base volume at the first time before the first data is modified in the base volume. The second read-only snapshot is created at a second time earlier than the first time. The second read-only snapshot stores a second data of the base volume at the second time before the second data is modified in the base volume.
Claims14
A non-transitory computer readable medium for a data storage device encoded with a snapshot tree structure and code for managing the snapshot tree structure to provide point-in-time backups of a base volume, wherein:
- the snapshot tree structure comprises:
- a first branch, comprising:
- the base volume storing a current user data;
- a first read-only snapshot descending from the base volume, the first read-only snapshot being created at a first time, the first read-only snapshot storing a first data of the base volume at the first time before the first data is modified in the base volume;
- and
- a second read-only snapshot descending from the first read-only snapshot, the second read-only snapshot being created at a second time earlier than the first time, the second read-only snapshot storing a second data of the base volume at the second time before the second data is modified in the base volume;
- and
- the code comprises instructions to retrieve data from the snapshot tree structure and transmitting the retrieved data to a host device.
A method for a data storage device to store snapshots that provide point-in-time backups of a base volume using a snapshot tree structure, the method comprising:
- creating a first branch, comprising:
- creating the base volume storing a current user data;
- creating a first read-only snapshot descending from the base volume, the first read-only snapshot being created at a first time;
- storing in the first read-only snapshot a first data of the base volume at the first time before the first data is modified in the base volume;
- creating a second read-only snapshot descending from the base volume, the second read-only snapshot being created at a second time later than the first time;
- storing in the second read-only snapshot a second data of the base volume at the second time before the second data is modified in the base volume;
- and
- inserting the second read-only snapshot between the base volume and the first read-only snapshot, wherein the first read-only snapshot now descends from the second read-only snapshot;
- and
- retrieving data from the snapshot tree structure and transmitting the retrieved data to a host device.
A method for a data storage device to retrieve a point-in-time backup of a base volume by reading a value of a data block from a snapshot tree structure having the base volume, a first snapshot descending from the base volume, and a second snapshot descending from the first snapshot, the method comprising:
- searching for the data block in the second snapshot;
- if the data block is not found in the second snapshot:
- following a link in the second snapshot to the first snapshot;
- and
- searching for the data block in the first snapshot;
- and
- transmitting the data block to a host device after the data block is found.
Dependencies are inferred from the claim text.