IP Library Granted Patent US 8,656,123
Granted Patent B2
US 8,656,123 · App. 12/540,243 · Granted Feb 18, 2014

Snapshot preserved data cloning

Inventor: Kent Lee (Ladera Ranch, CA)
Assignee: Dot Hill Systems Corporation
G06F11/1446G06F11/2089G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,656,123
App. No.
12/540,243
Granted
Feb 18, 2014
Kind
B2
Abstract

A method and device for cloning snapshots is provided. A new snapshot can be created by cloning an existing snapshot. The clone snapshot may use the preserved data of the existing snapshot, thereby obviating the need to copy the preserved data. Additionally, the clone snapshot may be created with a data structure for storing write data. Since the clone snapshot initially has no write data to store, the creation of the entire clone snapshot can be accomplished without copying any preserved data or write data from the existing snapshot, thereby increasing the efficiency with which a clone snapshot can be created.

Claims (26)

1. A device for controlling a storage system, comprising:

a processor; and

a memory, coupled to the processor, comprising:

a cloning application, executed by the processor, adapted to create a first clone snapshot of a base snapshot, wherein the base snapshot is a point-in-time representation of a master volume and comprises a first data structure for maintaining first preserved data from the master volume and a second data structure for maintaining write data to the base snapshot directly from a host computer, wherein the second data structure does not include data from the master volume, wherein the first preserved data is copied from the master volume to the base snapshot during a copy-on-write operation prior to the host computer writing data directly to the master volume, and wherein the first clone snapshot references the first data structure for the first preserved data and comprises a third data structure for maintaining second write data to the first clone snapshot from the host computer.

2. The device of claim 1 , wherein the third data structure is initially empty upon creation of the first clone snapshot.

3. The device of claim 1 , wherein the second write data is directly written to the third data structure by the host computer, wherein no other portions of the first clone snapshot are affected by the second write data directly written to the third data structure by the host computer, wherein the third data structure does not include data from the master volume or the base snapshot.

4. The device of claim 3 , wherein the first data structure comprises a first top level page table (TLPT), wherein the second data structure comprises a second TLPT, and wherein the third data structure comprises a third TLPT.

5. The device of claim 4 , wherein the first TLPT comprises entries that point to at least one bottom level page table (BLPT), wherein the at least one BLPT is populated in response to copy on write commands.

6. The device of claim 1 , the memory further comprising:

an I/O application adapted to search for snapshot data from the first clone snapshot by first searching the third data structure, then searching the first data structure, then searching second preserved data from a snapshot of the master volume that is newer than the base snapshot, then searching the master volume corresponding to the first clone snapshot.

7. The device of claim 1 , wherein the cloning application is further adapted to create a second clone snapshot of the first clone snapshot, wherein the second clone snapshot references the first data structure for the first preserved data and comprises a fourth data structure for maintaining third write data in association with the second clone snapshot, wherein the fourth data structure does not include data from the master volume.

8. A method for cloning a snapshot, comprising:

taking a base snapshot of a master volume by a controller, the controller comprising a processor and memory coupled to the processor, wherein the base snapshot is a point-in-time representation of the master volume and comprises a first data structure for maintaining first preserved data from the master volume and a second data structure for maintaining write data to the base snapshot directly from a host computer, wherein the second data structure does not include data from the master volume, wherein the first preserved data is copied from the master volume to the base snapshot during a copy-on-write operation prior to the host computer writing data directly to the master volume; and

creating a first clone snapshot of the base snapshot, wherein the first clone snapshot references the first data structure for the first preserved data and comprises a third data structure for maintaining second write data to the first clone snapshot from the host computer.

9. The method of claim 8 , wherein the third data structure is initially empty upon creation of the first clone snapshot.

10. The method of claim 8 , wherein the second write data is directly written to the third data structure by the host computer, wherein no other portions of the first clone snapshot are affected by the second write data directly written to the third data structure by the host computer, wherein the third data structure does not include data from the master volume or the base snapshot.

11. The method of claim 10 , wherein the first data structure comprises a first top level page table (TLPT), wherein the second data structure comprises a second TLPT, and wherein the third data structure comprises a third TLPT.

12. The method of claim 11 , wherein the first TLPT comprises entries that point to at least one bottom level page table (BLPT), wherein the at least one BLPT is populated in response to copy on write commands.

13. The method of claim 8 , the method further comprising:

searching, by an I/O application stored in the memory, for snapshot data from the first clone snapshot comprising:

searching the third data structure;

after searching the third data structure, searching the first data structure; and

after searching the first data structure, searching second preserved data from a snapshot of the master volume that is newer than the base snapshot; and

after searching the second preserved data from the snapshot of the master volume that is newer than the base snapshot, searching the master volume corresponding to the first clone snapshot.

14. The method of claim 8 , further comprising:

creating, by a cloning application stored in the memory, a second clone snapshot of the first clone snapshot, wherein the second clone snapshot references the first data structure for the first preserved data and comprises a fourth data structure for maintaining third write data in association with the second clone snapshot, wherein the fourth data structure does not include data from the master volume.

Assignments (2)
CHANGE OF NAME Recorded Jan 29, 2025
From: DOT HILL SYSTEMS CORP.; SEAGATE CLOUD SYSTEMS, INC.; SEAGATE CLOUD SYSTEMS LLC
To: SEAGATE CLOUD SYSTEMS, INC.; SEAGATE CLOUD SYSTEMS LLC; SEAGATE TECHNOLOGY LLC
Reel/Frame 070047/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2009
From: LEE, KENT
To: DOT HILL SYSTEMS CORPORATION
Reel/Frame 023082/0004 →
Continuity (2)
Division 11734081 · Apr 11, 2007
Related Publication 20090307450A1 · Dec 10, 2009