# US 8,751,858 B2 · System, method, and computer program product for physical drive failure identification, prevention, and minimization of firmware revisions

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

- Number: US 8,751,858 B2
- Document ID: US8751858B2
- Status: Granted
- Kind: B2
- Application number: 13/112,922
- Filed: 2011-05-20
- Published: 2012-11-22
- Granted: 2014-06-10
- Earliest claimed: 2011-05-20
- Assignees: International Business Machines Corporation
- Applicants: Felipe A. Barajas
- Inventors: Felipe A. Barajas
- Web page: https://patentgrep.com/patent/US8751858B2

## CPC

- G06F 11/0727: {in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units 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 11/008: {Reliability or availability analysis}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a system includes logic adapted for receiving information relating to disk drive media (DDM) failures in an installed base of DDM across multiple virtual tape servers, a storage device adapted for storing the information relating to the DDM failures in a data repository, and a processor adapted for analyzing the information stored in the data repository to identify problems in an installed base of DDM, the analysis comprising analyzing comparative DDM failure data comprising vectors. In another embodiment, a method for managing DDM failures includes receiving DDM failure information in virtual tape servers, storing the DDM failure information in a data repository, and analyzing the information to identify problems in an installed base of DDM. Other systems, methods, and computer program products are also described according to more embodiments.

## Claims

### Claim 1

A computer program product for managing disk drive media (DDM) failures, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to receive information relating to DDM failures in virtual tape servers;
computer readable program code configured to store the information relating to the DDM failures in a data repository; and
computer readable program code configured to analyze the information stored in the data repository to identify problems in an installed base of DDM, the analysis comprising analyzing comparative DDM failure data.

### Claim 2 (depends on 1)

The computer program product as recited in claim 1, wherein the comparative DDM failure data comprises vectors generated from the information relating to the DDM failures, wherein the analyzing comprises computing a cosine of the vectors.

### Claim 3 (depends on 1)

The computer program product as recited in claim 1, wherein the comparative DDM failure data comprises vectors generated from the information relating to the DDM failures, wherein the analyzing comprises analyzing the vectors for determining whether to perform a firmware and/or hardware update on at least one of the DDM.

### Claim 4 (depends on 3)

The computer program product as recited in claim 3, wherein the computer readable program code configured to analyze the information comprises:
calculating a mean value for each of the at least one data type;
calculating a deviation from the mean value for each of the at least one data type for each data entry in the data repository;
calculating a vector for each data entry in the data repository, the vector comprising a dimension for each of the at least one data type;
comparing each vector for each data entry in the data repository via a pairwise vector projection;
calculating a unit vector for each vector for each data entry in the data repository;
generating a unit vector matrix comprising the unit vector for each vector for each data entry in the data repository;
generating a correlation matrix comprising a dot product of the unit vector matrix and a transpose of the unit vector matrix;
identifying at least one data entry in the data repository satisfying a performance threshold; and
identifying at least one related data entry in the data repository satisfying a correlation threshold.

### Claim 5 (depends on 4)

The computer program product as recited in claim 4, wherein identifying at least one data entry in the data repository satisfying a performance threshold comprises identifying a best performing DDM.

### Claim 6 (depends on 5)

The computer program product as recited in claim 5, wherein identifying at least one related data entry in the data repository satisfying a correlation threshold comprises identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the best performing DDM that is closest to 1.0.

### Claim 7 (depends on 6)

The computer program product as recited in claim 6, wherein identifying at least one data entry in the data repository satisfying a performance threshold further comprises identifying a worst performing DDM by identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the best performing DDM that is closest to −1.0.

### Claim 8 (depends on 4)

The computer program product as recited in claim 4, wherein identifying at least one data entry in the data repository satisfying a performance threshold comprises identifying a worst performing DDM.

### Claim 9 (depends on 8)

The computer program product as recited in claim 8, wherein identifying at least one related data entry in the data repository satisfying a correlation threshold comprises identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the worst performing DDM that is closest to 1.0.

### Claim 10 (depends on 1)

The computer program product as recited in claim 1, further comprising computer readable program code configured to update microcode of the virtual tape server with firmware based on the problems in the installed base of the at least one DDM.

### Claim 11 (depends on 1)

The computer program product as recited in claim 1, wherein the information relating to the DDM failures comprises at least one failure type, and wherein the at least one failure type comprises: a hard failure; a soft failure; and a manual failure.

### Claim 12 (depends on 11)

The computer program product as recited in claim 11, wherein the computer readable program code configured to store information relating to the DDM failures comprises:
creating data entries comprising the information relating to the DDM failures in the data repository, or
updating existing data entries in the data repository with the information relating to the DDM failures.

### Claim 13

A method for managing disk drive media (DDM) failures, the method comprising:
receiving information relating to DDM failures in virtual tape servers;
storing the information relating to the DDM failures in a data repository; and
analyzing the information stored in the data repository to identify problems in an installed base of DDM, the analysis comprising analyzing comparative DDM failure data from multiple virtual tape servers for determining whether to perform a firmware and/or hardware update on at least one of the virtual tape servers.

### Claim 14 (depends on 13)

The method as recited in claim 13, further comprising updating microcode of at least one of the virtual tape servers with firmware based on the problems in the installed base of DDM, and wherein the information relating to the DDM failures comprises at least one failure type, and wherein the at least one failure type comprises: a hard failure; a soft failure; and a manual failure.

### Claim 15 (depends on 13)

The method as recited in claim 13, wherein storing the information relating to the DDM failures comprises, for each of the DDM failures:
creating a data entry comprising the information relating to the DDM failure in the data repository, or
updating an existing data entry in the data repository with the information relating to the DDM failure.

### Claim 16 (depends on 13)

The method as recited in claim 13, wherein analyzing the information comprises:
calculating a mean value for each of the at least one data type;
calculating a deviation from the mean value for each of the at least one data type for each data entry in the data repository;
calculating a vector for each data entry in the data repository, the vector comprising a dimension for each of the at least one data type;
comparing each vector for each data entry in the data repository via a pairwise vector projection;
calculating a unit vector for each vector for each data entry in the data repository;
generating a unit vector matrix comprising the unit vector for each vector for each data entry in the data repository;
generating a correlation matrix comprising a dot product of the unit vector matrix and a transpose of the unit vector matrix;
identifying at least one data entry in the data repository satisfying a performance threshold; and
identifying at least one related data entry in the data repository satisfying a correlation threshold.

### Claim 17 (depends on 16)

The method as recited in claim 16, wherein identifying at least one data entry in the data repository satisfying a performance threshold comprises:
identifying a best performing DDM; and
identifying a worst performing DDM by identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the best performing DDM that is closest to −1.0,
wherein identifying at least one related data entry in the data repository satisfying a correlation threshold comprises identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the best performing DDM that is closest to 1.0.

### Claim 18 (depends on 16)

The method as recited in claim 16, wherein identifying at least one data entry in the data repository satisfying a performance threshold comprises identifying a worst performing DDM, and wherein identifying at least one related data entry in the data repository satisfying a correlation threshold comprises identifying at least one entry in the data repository having a value in the correlation matrix corresponding to the worst performing DDM that is closest to 1.0.

### Claim 19

A system, comprising:
logic configured to receive information relating to disk drive media (DDM) failures in an installed base of DDM extending across multiple virtual tape servers;
a storage device configured to store the information relating to the DDM failures in a data repository; and
a processor configured to analyze the information stored in the data repository to identify problems in an installed base of DDM, the analysis comprising analyzing comparative DDM failure data comprising vectors.

### Claim 20 (depends on 19)

The system as recited in claim 19,
wherein the information relating to the DDM failures comprises at least one failure type,
wherein the at least one failure type comprises: a hard failure; a soft failure; and a manual failure, and
wherein analyzing the information comprises:
calculating a mean value for each of the at least one data type;
calculating a deviation from the mean value for each of the at least one data type for each data entry in the data repository;
calculating a vector for each data entry in the data repository, the vector comprising a dimension for each of the at least one data type;
comparing each vector for each data entry in the data repository via a pairwise vector projection;
calculating a unit vector for each vector for each data entry in the data repository;
generating a unit vector matrix comprising the unit vector for each vector for each data entry in the data repository;
generating a correlation matrix comprising a dot product of the unit vector matrix and a transpose of the unit vector matrix;
identifying at least one data entry in the data repository satisfying a performance threshold; and
identifying at least one related data entry in the data repository satisfying a correlation threshold.
