IP Library Granted Patent US 11,099,938
Granted Patent B2
US 11,099,938 · App. 16/051,456 · Granted Aug 24, 2021

System and method for creating linked clones of storage objects with surface snapshots

Inventors: Asit Desai (Palo Alto, CA); Derek Uluski (Palo Alto, CA); Alexander T. Garthwaite (South Hamilton, MA); Sunil Satnur (Palo Alto, CA); Ilya Languev (Palo Alto, CA); Anoop Jaishankar (Cupertino, CA)
Assignee: VMware, Inc.
G06F11/1451G06F3/067G06F3/0614G06F3/0664G06F11/1464G06F16/128G06F16/9027G06F2201/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 11,099,938
App. No.
16/051,456
Granted
Aug 24, 2021
Kind
B2
Abstract

System and method for creating linked clones of storage objects stored in a storage uses a target storage structure that includes a linked clone being created from a selected snapshot of a storage object and surface snapshots. The linked clone is created in the target storage structure with references to the selected snapshot of the storage object in a source storage structure without completely copying the selected snapshot to the target storage structure. The surface snapshots, which correspond to other snapshots of the storage object in the source storage structure, are created in the target storage structure with references to the other snapshots without completely copying the other snapshots to the target storage structure to produce the linked clone with similar snapshots as the storage object at a point in time when the selected snapshot was captured.

Claims (29)

1. A computer-implemented method for creating linked clones of storage objects stored in a storage system, the method comprising:

receiving a request to create a linked clone of a storage object using a selected snapshot of the storage object, the storage object and the selected snapshot both being included in a source storage structure in the storage system, wherein the selected snapshot is associated with other prior snapshots of the storage object that were captured prior to the selected snapshot and wherein the linked clone is a copy of the storage object and has a reference link to the selected snapshot to use information of the selected snapshot;

in response to the request to create the linked clone, creating a target storage structure that includes the linked clone with references to the selected snapshot of the storage object in the source storage structure without completely copying the selected snapshot of the storage object to the target storage structure, including copying a root node of a B+ tree structure for the selected snapshot to the linked clone with references to other nodes of the B+ tree structure for the selected snapshot; and

creating surface snapshots in the target storage structure that correspond to other prior snapshots of the storage object in the source storage structure with references to the other prior snapshots of the storage object without completely copying the other prior snapshots of the storage object to the target storage structure to produce the linked clone with similar prior snapshots as the storage object at a point in time when the selected snapshot was captured, including copying root nodes of the B+ tree structure for the other prior snapshots of the storage object to the surface snapshots in the linked clone with references to other nodes of the B+ tree structure for the other prior snapshots, wherein the surface snapshots in the target storage structure are pseudo copies of the other prior snapshots of the storage object in the source storage structure and have reference links to the other prior snapshots of the storage object to use information of the other prior snapshots.

2. The method of claim 1 , further comprising determining an order in which the other prior snapshots of the storage object were created in the source storage structure.

3. The method of claim 2 , wherein determining the order in which the other prior snapshots of the storage object were created in the source storage structure includes processing creation generation numbers for the other prior snapshots of the storage object in the source storage structure to determine the order.

4. The method of claim 3 , further comprising generating new creation generation numbers for the surface snapshots in the target storage structure that correspond to the order in which the other prior snapshots of the storage object were created in the source storage structure.

5. The method of claim 3 , wherein the source storage structure includes at least an archive section, a metadata section and a data section, and wherein the creation generation numbers for the other prior snapshots of the storage object are stored in the archive section of the source storage structure.

6. The method of claim 1 , wherein the selected snapshot of the storage object is a first snapshot type and each of the other prior snapshots of the storage object is a second snapshot type.

7. A non-transitory computer-readable storage medium containing program instructions for creating linked clones of storage objects stored in a storage system, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:

receiving a request to create a linked clone of a storage object using a selected snapshot of the storage object, the storage object and the selected snapshot both being included in a source storage structure in the storage system, wherein the selected snapshot is associated with other prior snapshots of the storage object that were captured prior to the selected snapshot and wherein the linked clone is a copy of the storage object and has a reference link to the selected snapshot to use information of the selected snapshot;

in response to the request to create the linked clone, creating a target storage structure that includes the linked clone with references to the selected snapshot of the storage object in the source storage structure without completely copying the selected snapshot of the storage object to the target storage structure, including copying a root node of a B+ tree structure for the selected snapshot to the linked clone with references to other nodes of the B+ tree structure for the selected snapshot; and

creating surface snapshots in the target storage structure that correspond to other prior snapshots of the storage object in the source storage structure with references to the other prior snapshots of the storage object without completely copying the other prior snapshots of the storage object to the target storage structure to produce the linked clone with similar prior snapshots as the storage object at a point in time when the selected snapshot was captured, including copying root nodes of the B+ tree structure for the other prior snapshots of the storage object to the surface snapshots in the linked clone with references to other nodes of the B+ tree structure for the other prior snapshots, wherein the surface snapshots in the target storage structure are pseudo copies of the other prior snapshots of the storage object in the source storage structure and have reference links to the other prior snapshots of the storage object to use information of the other prior snapshots.

8. The computer-readable storage medium of claim 7 , wherein the steps further comprise determining an order in which the other prior snapshots of the storage object were created in the source storage structure.

9. The computer-readable storage medium of claim 8 , wherein determining the order in which the other prior snapshots of the storage object were created in the source storage structure includes processing creation generation numbers for the other prior snapshots of the storage object in the source storage structure to determine the order.

10. The computer-readable storage medium of claim 9 , wherein the steps further comprise generating new creation generation numbers for the surface snapshots in the target storage structure that correspond to the order in which the other prior snapshots of the storage object were created in the source storage structure.

11. The computer-readable storage medium of claim 9 , wherein the source storage structure includes at least an archive section, a metadata section and a data section, and wherein the creation generation numbers for the other prior snapshots of the storage object are stored in the archive section of the source storage structure.

12. The computer-readable storage medium of claim 7 , wherein the selected snapshot of the storage object is a first snapshot type and each of the other prior snapshots of the storage object is a second snapshot type.

13. A computer system comprising:

a storage system having computer data storage devices to store at least one storage structure;

memory; and

a processor configured to:

receive a request to create a linked clone of a storage object using a selected snapshot of the storage object, the storage object and the selected snapshot both being included in a source storage structure in the storage system, wherein the selected snapshot is associated with other prior snapshots of the storage object that were captured prior to the selected snapshot and wherein the linked clone is a copy of the storage object and has a reference link to the selected snapshot to use information of the selected snapshot;

in response to the request to create the linked clone, create a target storage structure that includes the linked clone with references to the selected snapshot of the storage object in the source storage structure without completely copying the selected snapshot of the storage object to the target storage structure, including copying a root node of a B+ tree structure for the selected snapshot to the linked clone with references to other nodes of the B+ tree structure for the selected snapshot; and

create surface snapshots in the target storage structure that correspond to other prior snapshots of the storage object in the source storage structure with references to the other prior snapshots of the storage object without completely copying the other prior snapshots of the storage object to the target storage structure to produce the linked clone with similar snapshots as the storage object at a point in time when the selected snapshot was captured, including copying root nodes of the B+ tree structure for the other prior snapshots of the storage object to the surface snapshots in the linked clone with references to other nodes of the B+ tree structure for the other prior snapshots, wherein the surface snapshots in the target storage structure are pseudo copies of the other prior snapshots of the storage object in the source storage structure and have reference links to the other prior snapshots of the storage object to use information of the other prior snapshots.

14. The computer system of claim 13 , wherein the processor is configured to determine an order in which the other prior snapshots of the storage object were created in the source storage structure.

15. The computer system of claim 14 , wherein the processor is configured to:

process creation generation numbers for the other prior snapshots of the storage object in the source storage structure to determine the order; and

generate new creation generation numbers for the surface snapshots in the target storage structure that correspond to the order in which the other prior snapshots of the storage object were created in the source storage structure.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2019
From: DESAI, ASIT; ULUSKI, DEREK; GARTHWAITE, ALEXANDER T.; SATNUR, SUNIL; LANGUEV, ILYA; JAISHANKAR, ANOOP
To: VMWARE, INC.
Reel/Frame 049010/0885 →
Continuity (1)
Related Publication 20200042396A1 · Feb 6, 2020
Cited By (1)
US 12,307,279