12333175

Hypervisor-Assisted Migration or Cloning of Eager-Zeroed Virtual Disks

PublishedJune 17, 2025
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method of migrating or cloning a virtual disk stored in a first storage device of a host computer system having a hypervisor running therein, wherein the hypervisor employs a file system to organize data stored in the first storage device as files in units of blocks, and the virtual disk is one of the files containing blocks, said method comprising: upon creation of the virtual disk, writing zeroes into all blocks of the virtual disk; in response to receiving a command to migrate or clone the virtual disk, accessing a data structure that tracks for each block of the virtual disk to which zero was written upon creation of the virtual disk, whether or not the block has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each of a plurality of unique sets of blocks, determining using the data structure whether or not any of the blocks in the unique set has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each unique set determined to have at least one block that has been written to successfully since the writing of zero thereinto upon creation of the virtual disk, issuing a first copy command to make a copy of all blocks in the unique set in a second storage device; and issuing a second copy command to make a copy of the data structure in the second storage device.

2

2. The method of claim 1, wherein the blocks of the virtual disk each have the same size and the unique sets of blocks each have the same number of blocks.

3

3. The method of claim 2, wherein the number of blocks in each of the unique sets is more than one.

4

4. The method of claim 1, wherein the first copy command identifies the virtual disk and the second storage device, and specifies locations of the blocks to be copied.

5

5. The method of claim 4, wherein the locations of the blocks to be copied are specified using an offset value indicating an amount of offset from a beginning of the virtual disk and a length value indicating the total length of all the blocks to be copied.

6

6. The method of claim 1, further comprising: tracking the unique sets of blocks to be copied in a queue, wherein the first copy command is issued for each unique set of blocks to be copied when the queue is full.

7

7. The method of claim 1, further comprising: converting one or more first copy commands to a set of new copy commands; and issuing the set of new copy commands to the first storage device.

8

8. The method of claim 7, wherein the new copy commands offload copying operations to the first storage device.

9

9. The method of claim 8, wherein the file system performs the steps of converting and issuing, and the first storage device executes the copying operations in response to the new copy commands by transferring blocks to be copied between the first storage device and the second storage device without any transfer of blocks to be copied to the file system.

10

10. A non-transitory computer-readable medium comprising instruction executable in a computer system having a hypervisor running therein, wherein the instructions when executed in the computer system cause the computer system to carry out a method of migrating or cloning a virtual disk stored in a first storage device of the computer system, wherein the hypervisor employs a file system to organize data stored in the first storage device as files in units of blocks, and the virtual disk is one of the files containing blocks, said method comprising: upon creation of the virtual disk, writing zeroes into all blocks of the virtual disk; in response to receiving a command to migrate or clone the virtual disk, accessing a data structure that tracks for each block of the virtual disk to which zero was written upon creation of the virtual disk, whether or not the block has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each of a plurality of unique sets of blocks, determining using the data structure whether or not any of the blocks in the unique set has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each unique set determined to have at least one block that has been written to successfully since the writing of zero thereinto upon creation of the virtual disk, issuing a first copy command to make a copy of all blocks in the unique set in a second storage device; and issuing a second copy command to make a copy of the data structure in the second storage device.

11

11. The non-transitory computer readable-medium of claim 10, wherein the blocks of the virtual disk each have the same size and the unique sets of blocks each have the same number of blocks that is more than one.

12

12. The non-transitory computer readable-medium of claim 10, wherein the copy command identifies the virtual disk and the second storage device, and specifies locations of the blocks to be copied.

13

13. The non-transitory computer readable-medium of claim 12, wherein the locations of the blocks to be copied are specified using an offset value indicating an amount of offset from a beginning of the virtual disk and a length value indicating the total length of all the blocks to be copied.

14

14. The non-transitory computer readable-medium of claim 10, wherein the method further comprises: tracking the unique sets of blocks to be copied in a queue, wherein the first copy command is issued for each unique set of blocks to be copied when the queue is full.

15

15. The non-transitory computer readable-medium of claim 10, wherein the method further comprises: converting one or more first copy commands to a set of new copy commands; and issuing the set of new copy commands to the first storage device.

16

16. The non-transitory computer readable-medium of claim 15, wherein the new copy commands offload copying operations to the first storage device.

17

17. A computer system connected via a network to first and second storage devices and having a hypervisor running therein, said computer system comprising a processor and system memory, wherein the hypervisor employs a file system to organize data stored in the first storage device as files in units of blocks, and the processor is programmed to execute the steps of migrating or cloning a virtual disk stored in the first storage device, wherein the virtual disk is one of the files containing blocks and the steps executed by the processor comprise: upon creation of the virtual disk, writing zeroes into all blocks of the virtual disk; in response to receiving a command to migrate or clone the virtual disk, accessing a data structure that is stored in the system memory and tracks for each block of the virtual disk to which zero was written upon creation of the virtual disk, whether or not the block has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each of a plurality of unique sets of blocks, determining using the data structure whether or not any of the blocks in the unique set has been written to successfully since the writing of zero thereinto upon creation of the virtual disk; for each unique set determined to have at least one block that has been written to successfully since the writing of zero thereinto upon creation of the virtual disk, issuing a first copy command to make a copy of all blocks in the unique set in the second storage device; and issuing a second copy command to make a copy of the data structure in the second storage device.

18

18. The computer system of claim 17, wherein the copy command identifies the virtual disk and the second storage device, and specifies locations of the blocks to be copied.

19

19. The computer system of claim 18, wherein the locations of the blocks to be copied are specified using an offset value indicating an amount of offset from a beginning of the virtual disk and a length value indicating the total length of all the blocks to be copied.

20

20. The computer system of claim 17, wherein the steps further comprise: converting one or more first copy commands to a set of new copy commands; and issuing the set of new copy commands to the first storage device, wherein the new copy commands offload copying operations to the first storage device, and the first storage device executes the copying operations in response to the new copy commands by transferring blocks to be copied between the first storage device and the second storage device without any transfer of blocks to be copied to the file system.

Patent Metadata

Filing Date

Unknown

Publication Date

June 17, 2025

Inventors

Kashish Bhatia
Zubraj Singha
Goresh Vitthalrao Musalay

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “HYPERVISOR-ASSISTED MIGRATION OR CLONING OF EAGER-ZEROED VIRTUAL DISKS” (12333175). https://patentable.app/patents/12333175

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.