# US 9,436,571 B2 · Estimating data storage device lifespan

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

- Number: US 9,436,571 B2
- Document ID: US9436571B2
- Status: Granted
- Kind: B2
- Application number: 14/276,531
- Filed: 2014-05-13
- Published: 2015-11-19
- Granted: 2016-09-06
- Earliest claimed: 2014-05-13
- Assignees: NetApp, Inc.
- Applicants: NetApp, Inc.
- Inventors: David Slik
- Web page: https://patentgrep.com/patent/US9436571B2

## CPC

- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 3/06: Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers}
- G06F 11/008: {Reliability or availability analysis}
- G06F 11/0703: {Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/2058: {using more than 2 mirrored copies}
- G06F 11/2069: {Management of state, configuration or failover}
- G06F 11/3452: {Performance evaluation by statistical analysis}
- G06F 11/3471: {Address tracing}
- G06F 11/3089: {Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents (software debugging using additional hardware using a specific debug interface G06F11/3656; performance evaluation by tracing or monitoring G06F11/3466)}
- G06F 2201/81: Threshold
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F 2201/855: Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes
- G06F 2201/86: Event-based monitoring
- G06F 2201/88: Monitoring involving counting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In at least one embodiment, a method of metering lifespan consumption of data storage devices in a multiple-data-storage-devices enclosure is disclosed. The method includes: receiving a storage access request; identifying a first data storage device within the enclosure as being targeted by the storage access request, wherein the enclosure includes two or more data storage devices; accessing the first data storage device in response to the storage access request; and in response to the identifying or the accessing, updating a record of a lifespan consumption meter assigned to the first data storage device.

## Claims

### Claim 1

A method comprising:
receiving a storage access request;
identifying a data storage device within an enclosure as being targeted by the storage access request, wherein the enclosure includes a plurality of data storage devices;
accessing the data storage device in response to the storage access request;
in response to the identifying or the accessing, updating a record of a lifespan consumption meter associated with the data storage device;
determining, by a processing component of the enclosure, a risk factor for failure based, at least in part, on the record, wherein the risk factor is associated with the data storage device; and
sending the risk factor from the enclosure to a storage front-end system.

### Claim 2 (depends on 1)

The method of claim 1, wherein sending the risk factor is in response to receiving the storage access request from the storage front-end system.

### Claim 3 (depends on 1)

The method of claim 1, further comprising modifying an activation schedule for the data storage device based, at least in part, on the risk factor.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining whether the risk factor surpasses a threshold; and
in response to determining that the risk factor surpasses a threshold, performing a data protection process that includes the data storage device.

### Claim 5 (depends on 4)

The method of claim 4, wherein the data protection process comprises migrating or replicating data from the data storage device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the storage access request is a write request, wherein updating the record comprises updating a write access counter.

### Claim 7 (depends on 1)

The method of claim 1, wherein the storage access request is a read request, wherein updating the record comprises updating a read access counter.

### Claim 8 (depends on 1)

The method of claim 1, wherein updating the record comprises updating a written data size counter based, at least in part, on an amount of data associated with the storage access request.

### Claim 9 (depends on 1)

The method of claim 1, wherein updating the record comprises updating a read data size counter based, at least in part, on an amount of data associated with the storage access request.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
activating the data storage device;
wherein updating the record comprises updating an activation counter in response to activating the data storage device.

### Claim 11 (depends on 1)

The method of claim 1, further comprising deactivating the data storage device after executing the storage access request; wherein updating the record comprises updating a deactivation counter in response to deactivating the data storage device.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
activating the data storage device; and
deactivating the data storage device after continuous operation of the data storage device since the activating of the data storage device;
wherein updating the record comprises updating a total uptime counter based, at least in part, on a time of the continuous operation.

### Claim 13 (depends on 1)

The method of claim 1, further comprising transmitting the record to a storage front-end system.

### Claim 14

An apparatus comprising:
a processor;
a plurality of data storage devices; and
a machine-readable medium having instructions executable by the processor to cause the apparatus to:
receive, from a storage front-end system, a storage access request;
identify a data storage device of the plurality of data storage devices based, at least in part, on the storage access request;
access the data storage device in response to the storage access request;
in response to the identifying or the accessing of the data storage device, update a record of a lifespan consumption meter associated with the data storage device; and
send at least one of the record or a risk factor to a storage front-end system, wherein the risk factor is based, at least in part, on the record, wherein the risk factor is associated with the data storage device.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the instructions executable by the processor to cause the apparatus to send at least one of the record or the risk factor occur in response to receipt of the storage access request from the storage front-end system.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the storage access request is a write request; wherein the instructions executable by the processor to cause the apparatus to update the record comprises instructions executable by the processor to cause the apparatus to update a write access counter.

### Claim 17 (depends on 14)

The apparatus of claim 14, wherein the storage access request is a read request, wherein the instructions executable by the processor to cause the apparatus to update the record comprises instructions executable by the processor to cause the apparatus to update a read access counter.

### Claim 18 (depends on 14)

The apparatus of claim 14, wherein the instructions executable by the processor to cause the apparatus to update the record comprises instructions executable by the processor to cause the apparatus to update a written data size counter based, at least in part, on an amount of data associated with the storage access request.

### Claim 19 (depends on 14)

The apparatus of claim 14, wherein the instructions executable by the processor to cause the apparatus to update the record comprises instructions executable by the processor to cause the apparatus to update a read data size counter based, at least in part, on an amount of data associated with the storage access request.

### Claim 20

One or more non-transitory machine-readable media having program code for metering a lifespan of data storage devices stored therein, the program code to:
receive, from a storage front-end system, a storage access request;
identify a data storage device of a plurality of data storage devices based, at least in part, on the storage access request;
access the data storage device in response to the storage access request;
in response to the identifying or the accessing of the data storage device, update a record of a lifespan consumption meter associated with the data storage device; and
send at least one of the record or a risk factor to a storage front-end system, wherein the risk factor is based, at least in part, on the record, wherein the risk factor is associated with the data storage device.

### Claim 21 (depends on 20)

The non-transitory machine-readable media claim 20, wherein the program code to send at least one of the record or the risk factor occurs in response to receipt of the storage access request from the storage front-end system.

### Claim 22 (depends on 20)

The non-transitory machine-readable media claim 20, wherein the storage access request is a write request; wherein the program code to update the record comprises program code to update a write access counter.

### Claim 23 (depends on 20)

The non-transitory machine-readable media claim 20, wherein the storage access request is a read request, wherein the program code to update the record comprises program code to update a read access counter.

### Claim 24 (depends on 20)

The non-transitory machine-readable media claim 20, wherein the program code to update the record comprises program code to update a written data size counter based, at least in part, on an amount of data associated with the storage access request.
