# US 8,751,761 B2 · Snapback-free logical drive duplication

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

- Number: US 8,751,761 B2
- Document ID: US8751761B2
- Status: Granted
- Kind: B2
- Application number: 12/707,426
- Filed: 2010-02-17
- Published: 2011-08-18
- Granted: 2014-06-10
- Earliest claimed: 2010-02-17
- Assignees: Xyratex Technology Limited
- Applicants: Robert P. Rossi; Douglas L. Anderson
- Inventors: Robert P. Rossi; Douglas L. Anderson
- Web page: https://patentgrep.com/patent/US8751761B2

## CPC

- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 11/2064: {while ensuring consistency}
- G06F 11/2082: {Data synchronisation}
- G06F 11/2087: {with a common controller}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

There is provided a method of duplicating a logical drive. The method includes sequentially copying data from a source logical drive to a destination logical drive and determining whether a write request is received to a data area on the source logical drive which has not yet been copied to the destination logical drive. If a write request is detected, the data at the write-requested data area is copied to the destination logical drive prior to executing the write request. By providing such a method, the destination logical drive can be used as the change-data store while in the process of the duplication operation, removing the need for a snapshot logical drive in the duplication process. This results in improvements in duplication speed and reduces drive wear due to the reduced number of data reads/writes.

## Claims

### Claim 1

A method of creating an identical copy of a source logical drive on a destination logical drive, the destination logical drive being directly accessible for read/write operations, the method comprising:
starting a duplication operation;
sequentially copying data from the source logical drive to the destination logical drive; and
determining whether, subsequent to starting said duplication operation, a write request is received to a data area on the source logical drive which has not yet been copied to said destination logical drive by said sequential copy process and, if such a write request is received during said sequential copy process:
copying, independently of said sequential copy process, the data at said write-requested data area to the destination logical drive;
executing said write request; and
ignoring the data at said write-requested data area during said sequential copying process.

### Claim 2 (depends on 1)

A method according to claim 1, wherein if said write request is received, the method further comprises the step of storing information regarding said write-requested data area in a data file or memory.

### Claim 3 (depends on 2)

A method according to claim 2, wherein said data file is a bitmap.

### Claim 4 (depends on 2)

A method according to claim 2, wherein said step of ignoring said data at said write-requested data area comprises determining, from said data file or memory, the data area to be ignored during said sequential copying.

### Claim 5 (depends on 1)

A method according to claim 1, wherein said data is arranged in a plurality of logical blocks.

### Claim 6 (depends on 5)

A method according to claim 5, wherein the step of sequential copying starts with the first or last logical block in a group of logical blocks.

### Claim 7 (depends on 6)

A method according to claim 6, wherein the step of sequential copying starts with the first or last logical block on the source drive.

### Claim 8

Apparatus for creating an identical copy of a source logical drive on a destination logical drive, the destination logical drive being directly accessible for read/write operations, the apparatus comprising:
a controller comprising a physical processor, the controller operable to start a duplication operation and to copy sequentially data from the source logical drive to the destination logical drive; and
an access manager operable to determine whether, subsequent to starting said duplication operation, a write request is received to a data area on the source logical drive which has not yet been copied to said destination logical drive by said sequential copy process and, if such a write request is received during said sequential copy process, the controller is further operable to:
copy, independently of said sequential copy process, the data at said write-requested data area to the destination logical drive;
execute said write request; and
ignore the data at said write-requested data area during said sequential copying process.

### Claim 9 (depends on 8)

Apparatus according to claim 8, wherein if said write request is received, the apparatus is operable to store information regarding said write-requested data area in a data file or a memory.

### Claim 10 (depends on 9)

Apparatus according to claim 9, wherein said data file is a bitmap.

### Claim 11 (depends on 9)

Apparatus according to claim 9, further operable to determine, from said data file or memory, the data area to be ignored during said sequential copying.

### Claim 12 (depends on 8)

Apparatus according to claim 8, wherein said data is arranged in a plurality of logical blocks.

### Claim 13 (depends on 12)

Apparatus according to claim 12, wherein the apparatus is further operable to start said sequential copying with the first or last logical block in a group of logical blocks.

### Claim 14 (depends on 13)

Apparatus according to claim 13, wherein the apparatus is further operable to start said sequential copying with the first or last logical block on the source drive.

### Claim 15 (depends on 8)

Apparatus according to claim 8 in the form of a controller.

### Claim 16 (depends on 15)

Apparatus according to claim 15 in the form of a RAID controller.

### Claim 17 (depends on 16)

Apparatus according to claim 16, wherein the RAID controller comprises firmware, software or a combination of both on a host.

### Claim 18 (depends on 16)

Apparatus according to claim 16, wherein the RAID controller comprises firmware, software or a combination of both in an off-host controller.

### Claim 19 (depends on 15)

A data storage resource comprising at least one physical drive and a controller according to claim 15.

### Claim 20 (depends on 1)

A non-transitory computer usable storage medium having a computer program product executable by a programmable processing apparatus, comprising one or more software portions for performing the steps of claim 1.
