# US 2017/0286206 A1 · Faulty component isolation in storage systems

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

- Number: US 2017/0286206 A1
- Document ID: US20170286206A1
- Status: Published application
- Kind: A1
- Application number: 15/083,528
- Filed: 2016-03-29
- Published: 2017-10-05
- Earliest claimed: 2016-03-29
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Jonathan FISCHER-TOUBOL; Ronen GAZIT; Afief HALUMI; Lior SHLOMOV; Ariel WAIZEL
- Web page: https://patentgrep.com/patent/US20170286206A1

## CPC

- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- 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/076: {by exceeding a count or rate limit, e.g. word- or bit count limit}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- 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 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/079: {Root cause analysis, i.e. error or fault diagnosis (in a hardware test environment G06F11/22; in a software test environment G06F11/36)}
- G06F 2201/81: Threshold
- G11C 2029/0409: {Online test}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

Methods, computing systems and computer program products implement embodiments of the present invention that include configuring, at a first time, a clustered storage system comprising multiple modules to store and process storage requests for respective sets of data objects. While processing the storage requests, respective subsets of the data objects having one or more data errors are identified, and at a second time subsequent to the first time, respective modules storing each of the data objects having at least one data error are identified. computing, based on the identified modules, a frequency distribution of the identified data errors in the data objects over the multiple modules. Based on the frequency distribution, a failure in a given module is identified, and the identified module is removed from the storage system. In some embodiments, prior to the second time, the data objects can be redistributed among the modules of the storage system.

## Claims

### Claim 1

A method, comprising:
configuring, at a first time, a storage system comprising multiple modules to store and process storage requests for respective sets of data objects;
identifying, while processing the storage requests, respective subsets of the data objects having one or more data errors;
identifying, at a second time subsequent to the first time, respective modules storing each of the data objects having at least one data error;
computing, based on the identified modules, a frequency distribution of the identified data errors in the data objects over the multiple modules;
identifying, based on the frequency distribution, a failure in a given module; and
removing the identified module from the storage system.

### Claim 2 (depends on 1)

The method according to claim 1, and comprising prior to the second time, moving a given data object from a first given module to a second given module, and reconfiguring the second given module to process storage requests for the given data object.

### Claim 3 (depends on 1)

The method according to claim 1, wherein determining the failure comprises identifying that the respective error counter for the one of the modules exceeds a specified threshold.

### Claim 4 (depends on 1)

The method according to claim 1, wherein determining the failure in the given module is in response to comparing a number of detected errors in the given module to an average of respective numbers of detected errors in the remaining modules.

### Claim 5 (depends on 1)

The method according to claim 1, and comprising deactivating the storage system upon determining, based on the analysis, a failure in the storage system.

### Claim 6 (depends on 5)

The method according to claim 5, wherein determining the failure comprises determining that a sum of the error counters exceeds a specified threshold.

### Claim 7 (depends on 1)

The method according to claim 1, wherein each of the modules comprises multiple components, wherein identifying the failure in the given module comprises identifying the failure in a given component in the given module, and wherein removing the identified module from the storage system comprises removing the given component from the storage system.

### Claim 8

A storage system, comprising:
multiple modules configured at a first time to store and process storage requests for respective sets of data objects, each of the modules configured:
to identify, while processing the storage requests, respective subsets of the data objects having one or more data errors,
to identify, at a second time subsequent to the first time, respective modules storing each of the data objects having at least one data error,
to compute, based on the identified modules, a frequency distribution of the identified data errors in the data objects over the multiple modules,
to identify, based on the frequency distribution, a failure in a given module, and
to remove the identified module from the storage system.

### Claim 9 (depends on 8)

The storage system according to claim 8, wherein the storage system is configured to move a given data object from a first given module to a second given module, and to reconfigure the second given module to process storage requests for the given data object.

### Claim 10 (depends on 8)

The storage system according to claim 8, wherein a given module is configured to determine the failure by identifying that the respective error counter for the identified module exceeds a specified threshold.

### Claim 11 (depends on 8)

The storage system according to claim 8, wherein the storage system is configured to determining the failure in the given module in response to comparing a number of detected errors in the given module to an average of respective numbers of detected errors in the remaining modules.

### Claim 12 (depends on 8)

The storage system according to claim 8, wherein the storage system is configured to deactivate the storage system upon determining, based on the analysis, a failure in the storage system.

### Claim 13 (depends on 13)

The storage system according to claim 13, wherein the storage system is configured to determine the failure by determining that a sum of the error counters exceeds a specified threshold.

### Claim 14 (depends on 8)

The storage system according to claim 8, wherein each of the modules comprises multiple components, wherein a given module is configured to identify the failure in the given module by identifying the failure in a given component in the given module, and wherein the given module is configured to remove the identified module from the storage system by removing the given component from the storage system.

### Claim 15

A computer program product, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to arrange, at a first time, a storage system comprising multiple modules to store and process storage requests for respective sets of data objects;
computer readable program code configured to identify, while processing the storage requests, respective subsets of the data objects having one or more data errors;
computer readable program code configured to identify, at a second time subsequent to the first time, respective modules storing each of the data objects having at least one data error;
computer readable program code configured to compute, based on the identified modules, a frequency distribution of the identified data errors in the data objects over the multiple modules;
computer readable program code configured to identify, based on the frequency distribution, a failure in a given module; and
computer readable program code configured to remove the identified module from the storage system.

### Claim 16 (depends on 15)

The computer program product according to claim 15, and comprising computer readable program code configured, prior to the second time, to move a given data object from a first given module to a second given module, and to reconfigure the second given module to process storage requests for the given data object.

### Claim 17 (depends on 15)

The computer program product according to claim 15, wherein the computer readable program code is configured to determine the failure by identifying that the respective error counter for the one of the modules exceeds a specified threshold.

### Claim 18 (depends on 15)

The computer program product according to claim 15, and comprising computer readable program code configured to deactivate the storage system upon determining, based on the analysis, a failure in the storage system.

### Claim 19 (depends on 18)

The computer program product according to claim 18, wherein the computer readable program code is configured to determine the failure by determining that a sum of the error counters exceeds a specified threshold.

### Claim 20 (depends on 15)

The computer program product according to claim 15, wherein each of the modules comprises multiple components, wherein the computer readable program code is configured to identify the failure in the given module by identifying the failure in a given component in the given module, and wherein the computer readable program code configured to remove the identified module from the storage system by removing the given component from the storage system.
