# US 7,467,329 B1 · Method of estimating storage system reliability

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

- Number: US 7,467,329 B1
- Document ID: US7467329B1
- Status: Granted
- Kind: B1
- Application number: 11/166,851
- Filed: 2005-06-23
- Granted: 2008-12-16
- Earliest claimed: 2005-06-23
- Assignees: Hewlett-Packard Development Company, L.P.
- Inventors: Kimberly K. Keeton; Arif Merchant
- Web page: https://patentgrep.com/patent/US7467329B1

## CPC

- G06F 11/008: {Reliability or availability analysis}
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An embodiment of a method of estimating storage system reliability begins with a first step of modeling a storage system design in operation under a workload to determine location of retrieval points. The retrieval points provide sources for primary storage recovery for a plurality of failure scenarios. The method continues with a second step of finding a most recent retrieval point relative to a target recovery time that is available for recovery for a particular failure scenario. In a third step, a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point is determined. The difference indicates a data loss time period.

## Claims

### Claim 1

A computer-implemented method of estimating storage system reliability comprising the steps of:
modeling a storage system design in operation under a workload by employing a hierarchical model to determine location of retrieval points, the hierarchical model having levels corresponding to each of a primary storage location and a plurality of secondary storage locations, the primary and secondary storage locations serving as sources for retrieval points of successively lower levels of the hierarchical model, and the retrieval points providing sources for primary storage recovery for a plurality of failure scenarios; and
for a particular failure scenario:
receiving a target recovery time, which is a point-in-time to which restoration of data is desired;
determining a range of times of the retrieval points for each of the secondary storage locations;
finding a most recent retrieval point relative to the target recovery time that is available for recovery, the most recent retrieval point being at a secondary storage location among the plurality of secondary storage locations; and
determining a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, the difference indicating a data loss time period.

### Claim 2 (depends on 1)

The method of claim 1 wherein the workload comprises a workload capacity demand.

### Claim 3 (depends on 2)

The method of claim 2 wherein the workload further comprises an average access rate.

### Claim 4 (depends on 2)

The method of claim 2 wherein the workload further comprises an average update rate.

### Claim 5 (depends on 2)

The method of claim 2 wherein the workload further comprises a ratio of peak update rate to the average access rate.

### Claim 6 (depends on 2)

The method of claim 2 wherein the workload further comprises a batch update rate.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
determining one or more additional data loss time periods for one or more additional failure scenarios;
weighting each data loss time period for the particular failure scenario and the one or more additional failure scenarios by a probability of occurrence to determine weighted data loss time periods; and
summing the weighted data loss time periods to determine an expected reliability for the particular failure and the one or more additional failure scenarios.

### Claim 8 (depends on 1)

The method of claim 1 wherein the step of finding the secondary storage location for the most recent retrieval point relative to the target recovery time that is available for the recovery includes considering secondary storage locations having successively older retention periods for the retrieval points until the most recent retrieval point is found.

### Claim 9 (depends on 1)

The method of claim 1 wherein the step of determining the difference between the target recovery time and the retrieval point creation time for the most recent retrieval point includes considering a worst case scenario for the difference.

### Claim 10 (depends on 1)

The method of claim 1 wherein the data loss time period is a first data loss time period and further comprising determining a second data loss time period for another retrieval point at another secondary storage location, the other retrieval point comprising a local most recent retrieval point for the other secondary storage location, the first and second data loss time periods forming a reliability range.

### Claim 11 (depends on 1)

The method of claim 1 wherein the primary storage location and the secondary storage locations are arranged as a branched hierarchy.

### Claim 12 (depends on 1)

The method of claim 1 wherein each of the secondary storage locations employs a data protection technique.

### Claim 13 (depends on 1)

The method of claim 1 wherein the secondary storage locations are selected from a snapshot, a split mirror, a local mirror, a remote mirror, a wide-area mirroring system, a wide-area erasure coding system, a backup system, and a vault for storage of backup media.

### Claim 14 (depends on 1)

The method of claim 1 wherein the particular failure scenario is selected from a data object failure, a partial failure of the primary storage, a complete failure of the primary storage, a site failure, and a region failure.

### Claim 15 (depends on 1)

The method of claim 1 wherein the primary storage comprises a disk array.

### Claim 16 (depends on 1)

The method of claim 1 wherein the primary storage comprises a plurality of disk arrays.

### Claim 17 (depends on 1)

The method of claim 1 wherein a first secondary storage location comprises a mirror.

### Claim 18 (depends on 17)

The method of claim 17 wherein the mirror is selected from a local mirror and a remote mirror.

### Claim 19 (depends on 17)

The method of claim 17 wherein the mirror is selected from a synchronous mirror, an asynchronous mirror, and a batched asynchronous mirror.

### Claim 20 (depends on 1)

The method of claim 1 wherein a first secondary storage location comprises virtual snapshots.

### Claim 21 (depends on 1)

The method of claim 1 wherein a first secondary storage location comprises point-in-time copies.

### Claim 22 (depends on 21)

The method of claim 21 wherein the point-in-time copies employ a split mirror and configuration parameters for the split mirror include the split mirror occasionally splitting a point-in-time copy of primary storage data to form the retrieval points.

### Claim 23 (depends on 22)

The method of claim 22 wherein the configuration parameters include that at a given time the split mirror maintains a first subset of the retrieval points and resilvers a portion of the split mirror for splitting a next point-in-time copy of the primary storage data to form a next retrieval point.

### Claim 24 (depends on 23)

The method of claim 23 wherein the split mirror occasionally propagates a first-level retrieval point from the split mirror to a second-level secondary storage location.

### Claim 25 (depends on 24)

The method of claim 24 wherein the second-level secondary storage location comprises a backup system.

### Claim 26 (depends on 25)

The method of claim 25 wherein backups for the backup system are selected from full backups, cumulative incremental backups, differential incremental backups, and a combination thereof.

### Claim 27 (depends on 25)

The method of claim 25 wherein the backup system employs removable storage units.

### Claim 28 (depends on 27)

The method of claim 27 wherein the removable storage units are selected from tapes, disks, and optical disks.

### Claim 29 (depends on 25)

The method of claim 25 wherein backup configuration parameters include the backup system maintaining a second subset of the retrieval points that are older than the first subset of the retrieval points.

### Claim 30 (depends on 24)

The method of claim 24 wherein the second-level secondary storage location occasionally propagates a second-level retrieval point to a third-level secondary storage location.

### Claim 31 (depends on 30)

The method of claim 30 wherein the third-level secondary storage location is a remote vault and the second-level retrieval point is stored within one or more removable storage units.

### Claim 32

A computer-implemented method of estimating storage system reliability comprising the steps of:
modeling a storage system design in operation under a workload by employing a hierarchical model to determine location of retrieval points, the hierarchical model having levels corresponding to each of a primary storage location and a plurality of secondary storage locations, the primary and secondary storage locations serving as sources for retrieval points of successively lower levels of the hierarchical model, and the retrieval points providing sources for primary storage recovery for a plurality of failure scenarios; and
for a particular failure scenario:
receiving a target recovery time, which is a point-in-time to which restoration of data is desired;
finding a most recent retrieval point relative to the target recovery time that is available for recovery which includes considering the secondary storage locations among the plurality of secondary storage locations having successively older retention periods for the retrieval points until the most recent retrieval point is found; and
determining a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, the difference indicating a data loss time period.

### Claim 33

A computer readable medium comprising computer code which when executed implements a method of estimating storage system reliability, the method of estimating storage system reliability comprising the steps of:
modeling a storage system design in operation under a workload by employing a hierarchical model to determine location of retrieval points, the hierarchical model having levels corresponding to each of a primary storage location and a plurality of secondary storage locations, the primary and secondary storage locations serving as sources for retrieval points of successively lower levels of the hierarchical model, and the retrieval points providing sources for primary storage recovery for a plurality of failure scenarios; and
for a particular failure scenario:
receiving a target recovery time, which is a point-in-time to which restoration of data is desired;
determining a range of times of the retrieval points for each of the secondary storage locations;
finding a most recent retrieval point relative to the target recovery time that is available for recovery, the most recent retrieval point being at a secondary storage location among the plurality of secondary storage locations; and
determining a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, the difference indicating a data loss time period.

### Claim 34

A computer readable medium comprising computer code which when executed implements a method of estimating storage system reliability, the method of estimating storage system reliability comprising the steps of:
modeling a storage system design in operation under a workload by employing a hierarchical model to determine location of retrieval points, the hierarchical model having levels corresponding to each of a primary storage location and a plurality of secondary storage locations, the primary and secondary storage locations serving as sources for retrieval points of successively lower levels of the hierarchical model, and the retrieval points providing sources for primary storage recovery for a plurality of failure scenarios; and
for a particular failure scenario:
receiving a target recovery time, which is a point-in-time to which restoration of data is desired;
finding a most recent retrieval point relative to the target recovery time that is available for recovery which includes considering the secondary storage locations among the plurality of secondary storage locations having successively older retention periods for the retrieval points until the most recent retrieval point is found; and
determining a difference between the target recovery time and a retrieval point creation time for the most recent retrieval point, the difference indicating a data loss time period.
