IP Library Granted Patent US 12,141,463
Granted Patent B2
US 12,141,463 · App. 18/201,130 · Granted Nov 12, 2024

Stun free snapshots in virtual volume datastores using delta storage structure

Inventors: Indranil Bhattacharya (Bangalore, IN); Ashutosh Saraswat (Bangalore, IN); Thorbjoern Donbaek Jensen (Hoejbjerg, DK)
Assignee: VMware LLC
G06F3/065G06F3/0611G06F3/067
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 12,141,463
App. No.
18/201,130
Granted
Nov 12, 2024
Kind
B2
Abstract

The disclosure provides a method for virtual volume snapshot creation by a storage array. The method generally includes receiving a request to generate a snapshot of a virtual volume associated with a virtual machine, in response to receiving the request, preparing a file system of the storage array to generate the snapshot, wherein preparing the file system comprises creating a delta storage structure to receive write input/output (I/O) requests directed for the virtual volume when generating the snapshot of the virtual volume, deactivating the virtual volume, activating the delta storage structure, generating the snapshot of the virtual volume, and during the generation of the snapshot of the virtual volume: receiving a write I/O directed for the virtual volume and committing the write I/O in the delta storage structure.

Claims (89)

1. A method for virtual volume snapshot creation by a storage array, the method comprising:

receiving a request to generate a snapshot of a virtual volume associated with a virtual machine;

in response to receiving the request, preparing a file system of the storage array to generate the snapshot, wherein preparing the file system comprises creating a delta storage structure to receive write input/output (I/O) requests directed for the virtual volume when generating the snapshot of the virtual volume;

deactivating the virtual volume;

activating the delta storage structure;

generating the snapshot of the virtual volume; and

during the generation of the snapshot of the virtual volume:

receiving a write I/O directed for the virtual volume; and

committing the write I/O in the delta storage structure.

2. The method of claim 1 , wherein subsequent to generating the snapshot of the virtual volume, the method further comprises:

committing the write I/O committed in the delta storage structure to the virtual volume.

3. The method of claim 2 , further comprising:

deactivating the delta storage structure; and

re-activating the virtual volume.

4. The method of claim 2 , further comprising:

during the committing of the write I/O committed in the delta storage structure to the virtual volume:

receiving a read I/O requesting to read data from the virtual volume;

determining whether the data is stored in the delta storage structure; and

when the data is stored in the delta storage structure, retrieving the requested data from the delta storage structure; and

when the data is not stored in the delta storage structure, retrieving the requested data from the virtual volume.

5. The method of claim 1 , wherein:

the write I/O comprises a request to make modifications to a block of data in the virtual volume; and

committing the write I/O in the delta storage structure comprises capturing the modifications to the block of data in the delta storage structure.

6. The method of claim 1 , wherein:

the virtual volume belongs to a first consistency group comprising a first plurality of virtual volumes, including the virtual volume;

the virtual volume is synchronously deactivated with each of the first plurality of virtual volumes belonging to the first consistency group; and

the delta storage structure is synchronously activated with delta storage structures associated with each of the first plurality of virtual volumes belonging to the first consistency group.

7. The method of claim 6 , wherein the first plurality of virtual volumes of the first consistency group comprise:

virtual volumes associated with the virtual machine; or

virtual volumes associated with the virtual machine and one or more other virtual machines.

8. The method of claim 6 , wherein the virtual volume further belongs to a second consistency group comprising a second plurality of virtual volumes, including the virtual volume.

9. A system comprising:

a host machine comprising at least one first memory and one or more first processors configured to:

run a hypervisor; and

run a virtual machine; and

a storage array comprising:

one or more storage units configured to store a delta storage structure and a virtual volume associated with the virtual machine; and

at least one second memory and one or more second processors configured to:

run a storage array manager configured to:

receive a request to generate a snapshot of the virtual volume;

in response to receiving the request, prepare a file system of the storage array to generate the snapshot, wherein to prepare the file system comprises to create the delta storage structure to receive write input/output (I/O) requests directed for the virtual volume when generating the snapshot of the virtual volume;

deactivate the virtual volume;

activate the delta storage structure;

generate the snapshot of the virtual volume; and

during the generation of the snapshot of the virtual volume:

 receive a write I/O directed for the virtual volume; and

 commit the write I/O in the delta storage structure.

10. The system of claim 9 , wherein subsequent to generating the snapshot of the virtual volume, the storage array manager is further configured to:

commit the write I/O committed in the delta storage structure to the virtual volume.

11. The system of claim 10 , wherein the storage array manager is further configured to:

deactivate the delta storage structure; and

re-activate the virtual volume.

12. The system of claim 10 , wherein the storage array manager is further configured to:

during the committing of the write I/O committed in the delta storage structure to the virtual volume:

receive a read I/O requesting to read data from the virtual volume;

determine whether the data is stored in the delta storage structure; and

when the data is stored in the delta storage structure, retrieve the requested data from the delta storage structure; and

when the data is not stored in the delta storage structure, retrieve the requested data from the virtual volume.

13. The system of claim 9 , wherein:

the write I/O comprises a request to make modifications to a block of data in the virtual volume; and

to commit the write I/O in the delta storage structure comprises to capture the modifications to the block of data in the delta storage structure.

14. The system of claim 9 , wherein:

the virtual volume belongs to a first consistency group comprising a first plurality of virtual volumes, including the virtual volume;

the virtual volume is synchronously deactivated with each of the first plurality of virtual volumes belonging to the first consistency group; and

the delta storage structure is synchronously activated with delta storage structures associated with each of the first plurality of virtual volumes belonging to the first consistency group.

15. The system of claim 14 , wherein the first plurality of virtual volumes of the first consistency group comprise:

virtual volumes associated with the virtual machine; or

virtual volumes associated with the virtual machine and one or more other virtual machines.

16. The system of claim 14 , wherein the virtual volume further belongs to a second consistency group comprising a second plurality of virtual volumes, including the virtual volume.

17. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform operations for virtual volume snapshot creation by a storage array, the operations comprising:

receiving a request to generate a snapshot of a virtual volume associated with a virtual machine;

in response to receiving the request, preparing a file system of the storage array to generate the snapshot, wherein preparing the file system comprises creating a delta storage structure to receive write input/output (I/O) requests directed for the virtual volume when generating the snapshot of the virtual volume;

deactivating the virtual volume;

activating the delta storage structure;

generating the snapshot of the virtual volume; and

during the generation of the snapshot of the virtual volume:

receiving a write I/O directed for the virtual volume; and

committing the write I/O in the delta storage structure.

18. The non-transitory computer-readable medium of claim 17 , wherein subsequent to generating the snapshot of the virtual volume, the operations further comprise:

committing the write I/O committed in the delta storage structure to the virtual volume.

19. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

deactivating the delta storage structure; and

re-activating the virtual volume.

20. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

during the committing of the write I/O committed in the delta storage structure to the virtual volume:

receiving a read I/O requesting to read data from the virtual volume;

determining whether the data is stored in the delta storage structure; and

when the data is stored in the delta storage structure, retrieving the requested data from the delta storage structure; and

when the data is not stored in the delta storage structure, retrieving the requested data from the virtual volume.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: BHATTACHARYA, INDRANIL; SARASWAT, ASHUTOSH; JENSEN, THORBJOERN DONBAEK
To: VMWARE, INC.
Reel/Frame 063736/0230 →