# US 2014/0195752 A1 · Efficient copying between storage devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0195752 A1
- Document ID: US20140195752A1
- Status: Published application
- Kind: A1
- Application number: 13/736,810
- Filed: 2013-01-08
- Published: 2014-07-10
- Earliest claimed: 2013-01-08
- Assignees: Red Hat Israel, Ltd.
- Applicants: Red Hat Israel, Ltd.
- Inventors: Ayal Baron; Saggi Y. Mizrahi
- Web page: https://patentgrep.com/patent/US20140195752A1

## CPC

- G06F 11/1466: {to make the backup process non-disruptive}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1456: {Hardware arrangements for backup}
- G06F 2201/815: Virtual
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method are disclosed for efficiently copy a disk image between storage devices. In accordance with one example, a computer system issues a request to create on a first storage device a snapshot of a first disk image that is stored on the first storage device. The computer system then issues a request to create on the first storage device a second disk image based on the snapshot, and copies the snapshot on to a second storage device. The computer system issues a request to create on the second storage device a third disk image based on the snapshot. The computer system then issues a request to compute a difference between the second disk image and the snapshot, and the difference is overwritten on to the third disk image.

## Claims

### Claim 1

A method comprising:
issuing, by a computer system, a request to create on a first storage device a snapshot of a first disk image that is stored on the first storage device;
issuing, by the computer system, a request to create on the first storage device a second disk image based on the snapshot;
copying, by the computer system, the snapshot on to a second storage device;
issuing, by the computer system, a request to create on the second storage device a third disk image based on the snapshot;
issuing, by the computer system, a request to compute a difference between the second disk image and the snapshot; and
overwriting, by the computer system, the difference on to the third disk image.

### Claim 2 (depends on 1)

The method of claim 1 wherein the difference is computed by the first storage device.

### Claim 3 (depends on 1)

The method of claim 1 wherein the difference is computed by one or more processors of the computer system.

### Claim 4 (depends on 1)

The method of claim 1 wherein the snapshot is created by the first storage device.

### Claim 5 (depends on 4)

The method of claim 4, wherein when the second storage device does not support native snapshotting, the copying of the snapshot on to the second storage device comprises creating, by the computer system, a structure on the second storage device.

### Claim 6 (depends on 5)

The method of claim 5 wherein the structure is a a Quick EMUlator (QEMU) Copy On Write structure.

### Claim 7 (depends on 4)

The method of claim 4, wherein when the second storage device supports native snapshotting, the copying of the snapshot on to the second storage device comprises creating a native snapshot of the first disk image on the second storage device.

### Claim 8 (depends on 1)

The method of claim 1 wherein the snapshot is created by the computer system.

### Claim 9 (depends on 1)

The method of claim 1 wherein the first disk image is a virtual disk of a virtual machine.

### Claim 10

An apparatus comprising:
an interface device to connect one or more processors to one or more storage devices; and
a processor, coupled to the interface device, to:
create on the first storage device, via the interface device, a snapshot of a first disk image that is stored on the first storage device;
create on the first storage device, via the interface device, a second disk image based on the snapshot;
copy, via the interface device, the snapshot on to a second storage device;
create on the second storage device, via the interface device, a third disk image based on the snapshot;
compute a difference between the second disk image and the snapshot; and
overwrite, via the interface device, the difference on to the third disk image.

### Claim 11 (depends on 10)

The apparatus of claim 10, wherein when the second storage device does not support native snapshotting, the copying of the snapshot on to the second storage device comprises creating a structure on the second storage device.

### Claim 12 (depends on 11)

The apparatus of claim 11 wherein the structure is a a Quick EMUlator (QEMU) Copy On Write structure.

### Claim 13 (depends on 10)

The apparatus of claim 10, wherein when the second storage device supports native snapshotting, the copying of the snapshot on to the second storage device comprises creating a native snapshot of the first disk image on the second storage device.

### Claim 14

A non-transitory computer readable storage medium, having instructions stored therein, which when executed, cause a computer system to perform operations comprising:
issuing, by the computer system, a request to create on a first storage device a snapshot of a first disk image that is stored on the first storage device;
issuing, by the computer system, a request to create on the first storage device a second disk image based on the snapshot;
copying, by the computer system, the snapshot on to a second storage device;
issuing, by the computer system, a request to create on the second storage device a third disk image based on the snapshot;
issuing, by the computer system, a request to compute a difference between the second disk image and the snapshot; and
overwriting, by the computer system, the difference on to the third disk image.

### Claim 15 (depends on 15)

The non-transitory computer readable storage medium of claim 15 wherein the difference is computed by the first storage device.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15 wherein the first disk image is a virtual disk of a virtual machine.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15 wherein the snapshot is created by the first storage device.

### Claim 18 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein when the second storage device does not support native snapshotting, the copying of the snapshot on to the second storage device comprises creating a structure on the second storage device.

### Claim 19 (depends on 18)

The non-transitory computer readable storage medium of claim 18, wherein when the second storage device supports native snapshotting, the copying of the snapshot on to the second storage device comprises creating a native snapshot of the first disk image on the second storage device.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15 wherein the snapshot is created by the computer system.
