# US 2019/0377649 A1 · Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays

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

- Number: US 2019/0377649 A1
- Document ID: US20190377649A1
- Status: Published application
- Kind: A1
- Application number: 16/549,967
- Filed: 2019-08-23
- Published: 2019-12-12
- Earliest claimed: 2017-06-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Min Fang; Yang Liu; Bo Zou
- Web page: https://patentgrep.com/patent/US20190377649A1

## CPC

- G06F 11/2056: {by mirroring}
- G06F 11/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/2058: {using more than 2 mirrored copies}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- G06F 2201/845: Systems in which the redundancy can be transformed in increased performance
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods that copy data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays are provided. One method includes requesting a subset of the data from a backup system mirroring the set of data at a remote location in response to detecting an error in a storage device of an array of primary storage devices storing a set of data. The method further includes receiving the subset of the data from the backup system and storing the subset of the data in an array of auxiliary storage devices co-located with the array of primary storage devices in which the subset of the data can correspond to data stored on the storage device. Systems and computer program products for performing the above method are also provided.

## Claims

### Claim 1

A system, comprising:
a backup module located on a primary site that:
receives a subset of data mirrored on a remote site, and
stores the subset of data in an array of auxiliary storage devices; and
a management module located on the primary site that:
uses a second storage device in the array of auxiliary storage devices storing the subset of the data on the primary site to restore a first storage device of an array of primary storage devices in response to an error being detected in the first storage device,
wherein:
the subset of data corresponds to original data stored on the first storage device, and
at least a portion of said modules comprises one or more of a set of hardware circuits, a set of programmable hardware devices, and executable code stored on a set of computer-readable storage media.

### Claim 2 (depends on 1)

The system of claim 1, wherein the array of auxiliary device is co-located with an array of primary storage devices on the primary site storing an original version of the data mirrored on the remote site.

### Claim 3 (depends on 1)

The system of claim 1, wherein the primary site comprises a processor including the backup module and the management module.

### Claim 4 (depends on 1)

The system of claim 1, wherein the array of auxiliary storage devices includes a same geometry as the array of primary storage devices.

### Claim 5 (depends on 1)

The system of claim 1, further comprising:
an error detection module that identifies the first storage device as experiencing the error; and
a secondary backup module that stores the backup data on a second storage device in the array of auxiliary storage devices corresponding to the primary storage device in the array of primary storage devices.

### Claim 6 (depends on 1)

The system of claim 1, further comprising:
a replacement module that replaces the primary storage device in the array of primary storage devices with the second storage device in the array of auxiliary storage devices in response to the subset of the data being stored in the second storage device.

### Claim 7 (depends on 1)

The system of claim 1, wherein the remote site and the primary site are different sites.

### Claim 8

A method, comprising:
receiving, by a processor, a subset of data mirrored on a remote site
storing the subset of data in an array of auxiliary storage devices; and
using a second storage device in the array of auxiliary storage devices storing the subset of the data on the primary site to restore a first storage device of an array of primary storage devices in response to an error being detected in the first storage device,
wherein the subset of data corresponds to original data stored on the first storage device.

### Claim 9 (depends on 8)

The method of claim 8, wherein the processor, the array of primary storage devices, and the array of auxiliary storage devices are located on the primary site.

### Claim 10 (depends on 8)

The method of claim 8, wherein the array of auxiliary storage devices includes a same geometry as the array of primary storage devices.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
identifying the first storage device as experiencing the error; and
storing the backup data on a second storage device in the array of auxiliary storage devices corresponding to the primary storage device in the array of primary storage devices.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
replacing the primary storage device in the array of primary storage devices with the second storage device in the array of auxiliary storage devices in response to the subset of the data being stored in the second storage device.

### Claim 13 (depends on 8)

The method of claim 8, wherein the remote site and the primary site are different sites.

### Claim 14

A computer program product comprising a computer-readable storage medium including program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
receive a subset of data mirrored on a remote site;
store the subset of data in an array of auxiliary storage devices; and
use a second storage device in the array of auxiliary storage devices storing the subset of the data on the primary site to restore a first storage device of an array of primary storage devices in response to an error being detected in the first storage device,
wherein the subset of data corresponds to original data stored on the first storage device.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the array of auxiliary device is co-located with an array of primary storage devices on the primary site storing an original version of the data mirrored on the remote site.

### Claim 16 (depends on 14)

The computer program product of claim 14, wherein the processor is located on the primary site.

### Claim 17 (depends on 14)

The computer program product of claim 14, wherein the array of auxiliary storage devices includes a same geometry as the array of primary storage devices.

### Claim 18 (depends on 14)

The computer program product of claim 14, wherein the processor is further configured to:
identify the first storage device as experiencing the error; and
store the backup data on a second storage device in the array of auxiliary storage devices corresponding to the primary storage device in the array of primary storage devices.

### Claim 19 (depends on 14)

The computer program product of claim 14, wherein the processor is further configured to:
replace the primary storage device in the array of primary storage devices with the second storage device in the array of auxiliary storage devices in response to the subset of the data being stored in the second storage device.

### Claim 20 (depends on 14)

The computer program product of claim 14, wherein the remote site and the primary site are different sites.
