# US 2014/0195845 A1 · Fault isolation with abstracted objects

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

- Number: US 2014/0195845 A1
- Document ID: US20140195845A1
- Status: Published application
- Kind: A1
- Application number: 13/734,094
- Filed: 2013-01-04
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: International Business Machines Corporation
- Inventors: Christopher Tung Phan; Zane Coy Shelley
- Web page: https://patentgrep.com/patent/US20140195845A1

## 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/0724: {in a multiprocessor or a multi-core unit (multiprocessors per se G06F15/80)}
- G06F 11/22: Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F 11/26: Functional testing
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In response to a notification of a fault captured in a system, a fault isolator serially analyzes each clock object to determine captured faults associated with the clock object. For each of the clock objects determined to have a captured fault, the fault isolator initiates a repair action for the chip represented by the clock object. The fault isolator concurrently analyzes the non-clock objects to determine captured faults associated with the non-clock objects after analysis of the clock objects. For each of the non-clock objects determined to have a captured fault, the fault isolator initiates a repair action for the chip represented by the non-clock object.

## Claims

### Claim 1

A method comprising:
generating, for each of a plurality of chips in a system, a clock object and a non-clock object, wherein the clock object indicates at least one of data and program code for clock related functionality of the chip and the non-clock object indicates at least one of data and program code for functionality of the chip that is not related to clock functionality;
in response to a notification of a fault captured in the system,
serially analyzing each of the clock objects to determine captured faults associated with the clock objects;
for each of the clock objects determined to have a captured fault, initiating a repair action for the chip represented by the clock object; and
after said serially analyzing each of the clock objects,
concurrently analyzing the non-clock objects to determine captured faults associated with the non-clock objects;
for each of the non-clock objects determined to have a captured fault, initiating a repair action for the chip represented by the non-clock object.

### Claim 2 (depends on 1)

The method of claim 1, wherein said serially analyzing each of the clock objects comprises serially analyzing each of the clock objects in accordance with a prioritization that is based, at least in part, on a type of the chip corresponding to the clock object.

### Claim 3 (depends on 1)

The method of claim 1 further comprising serially analyzing a different set of clock objects in a first clock domain to determine captured faults associated with the different set of clock objects in the first clock domain concurrently with said serially analyzing each of the clock objects, wherein the clock objects are in a first clock domain.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first clock domain and the second clock domain are defined by different clock sources.

### Claim 5 (depends on 1)

The method of claim 1, wherein said concurrently analyzing the non-clock objects comprises analyzing the non-clock objects in accordance with a prioritization that is based, at least in part, on chip types corresponding to the non-clock objects.

### Claim 6 (depends on 5)

The method of claim 5, wherein said analyzing the non-clock objects in accordance with the prioritization that is based, at least in part, on chip types corresponding to the non-clock objects comprises:
concurrently analyzing a first set of the non-clock objects each of which corresponds to a first chip type; and
after said concurrently analyzing the first set of the non-clock objects, concurrently analyzing a second set of the non-clock objects each of which corresponds to a second chip type, wherein the first chip type is defined with a higher priority than the second chip type.

### Claim 7 (depends on 1)

The method of claim 1, wherein said generating the clock objects and the non-clock objects is based, at least partly, on information about the system discovered during system initialization.

### Claim 8

A method comprising:
receiving notification of a fault in a system having a plurality of chips;
in response to the notification,
serially analyzing each of a first plurality of clock objects for indications of faults captured in the system and, for each of the first plurality of clock objects with an indication of a captured fault, initiating a repair action defined for the captured fault and the chip of the plurality of chips represented by the clock object, wherein the first plurality of clock objects represent clock aspects of a first set of the plurality of chips;
serially analyzing each of a second plurality of clock objects for indications of faults captured in the system and, for each of the second plurality of clock objects with an indication of a captured fault, initiating a repair action defined for the captured fault and the chip of the plurality of chips represented by the clock object, wherein the second plurality of clock objects represent non-clock aspects of a second set of the plurality of chips, wherein the first plurality of clock objects are serially analyzed prior to the second plurality of clock objects; and
after analysis of the clock objects,
concurrently analyzing non-clock objects for indications of captured faults,
for each of the non-clock objects with an indication of a captured fault, initiating a repair action defined for the captured fault and for the chip represented by the non-clock object.

### Claim 9 (depends on 8)

The method of claim 8, wherein the first plurality of clock objects have priority in fault isolation over the second plurality of clock objects based on chip types of the first and the second set of chips.

### Claim 10 (depends on 8)

The method of claim 8 further comprising:
concurrently analyzing a second plurality of non-clock objects for indications of captured faults after said concurrently analyzing the non-clock objects,
for each of the second plurality of non-clock objects with an indication of a captured fault, initiating a repair action defined for the captured fault and for the chip represented by the non-clock object,
wherein the non-clock objects have priority in fault isolation over the second plurality of non-clock objects based on chip types of the first set of chips, which are represented by the non-clock objects, and the second set of chips, which are represented by the second plurality of non-clock objects.

### Claim 11

A computer program product for fault isolation, the computer program product comprising:
a computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising a computer usable program code configured to:
generate, for each of a plurality of chips in a system, a clock object and a non-clock object, wherein the clock object indicates at least one of data and program code for clock related functionality of the chip and the non-clock object indicates at least one of data and program code for functionality of the chip that is not related to clock functionality;
in response to a notification of a fault captured in the system,
serially analyze each of the clock objects to determine captured faults associated with the clock objects;
for each of the clock objects determined to have a captured fault, initiate a repair action for the chip represented by the clock object; and
after analysis of the clock objects,
concurrently analyze the non-clock objects to determine captured faults associated with the non-clock objects;
for each of the non-clock objects determined to have a captured fault, initiate a repair action for the chip represented by the non-clock object.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the computer usable program code configured to serially analyze each of the clock objects comprises the computer usable program code configured to serially analyze each of the clock objects in accordance with a prioritization that is based, at least in part, on a type of the chip corresponding to the clock object.

### Claim 13 (depends on 11)

The computer program product of claim 11 further comprising computer usable program code configured to serially analyze a different set of clock objects in a first clock domain to determine captured faults associated with the different set of clock objects in the first clock domain concurrently with serial analysis of each of the clock objects, wherein the clock objects are in a first clock domain.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the first clock domain and the second clock domain are defined by different clock sources.

### Claim 15 (depends on 11)

The computer program product of claim 11, wherein the computer usable program code configured to concurrently analyze the non-clock objects comprises the computer usable program code configured to analyze the non-clock objects in accordance with a prioritization that is based, at least in part, on chip types corresponding to the non-clock objects.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the computer usable program code configured to analyze the non-clock objects in accordance with the prioritization that is based, at least in part, on chip types corresponding to the non-clock objects comprises the computer usable program code configured to:
concurrently analyze a first set of the non-clock objects each of which corresponds to a first chip type; and
after concurrent analysis of the first set of the non-clock objects, concurrently analyze a second set of the non-clock objects each of which corresponds to a second chip type, wherein the first chip type is defined with a higher priority than the second chip type.

### Claim 17 (depends on 11)

The method of claim 11, wherein the computer usable program code configured to generate the clock objects and the non-clock objects is based, at least partly, on information about the system discovered during system initialization.

### Claim 18

An apparatus comprising:
a plurality of chips; and
a service processor configured to,
generate, for each of the plurality of chips, a clock object and a non-clock object, wherein the clock object indicates at least one of data and program code for clock related functionality of the chip and the non-clock object indicates at least one of data and program code for functionality of the chip that is not related to clock functionality;
in response to a notification of a fault captured in the apparatus,
serially analyze each of the clock objects to determine captured faults associated with the clock objects;
for each of the clock objects determined to have a captured fault, initiate a repair action for the chip represented by the clock object; and
after analysis of the clock objects,
concurrently analyze the non-clock objects to determine captured faults associated with the non-clock objects;
for each of the non-clock objects determined to have a captured fault, initiate a repair action for the chip represented by the non-clock object.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the plurality of chips comprises a processor chip, a memory chip, and an input/output hub chip.

### Claim 20 (depends on 18)

The apparatus of claim 18, wherein the service processor configured to serially analyze each of the clock objects comprises the service processor configured to serially analyze each of the clock objects in accordance with a prioritization that is based, at least in part, on a type of the chip corresponding to the clock object.
