# US 8,543,862 B2 · Data corruption diagnostic engine

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

- Number: US 8,543,862 B2
- Document ID: US8543862B2
- Status: Granted
- Kind: B2
- Application number: 13/304,563
- Filed: 2011-11-25
- Published: 2012-03-22
- Granted: 2013-09-24
- Earliest claimed: 2007-10-19
- Assignees: Oracle International Corporation
- Applicants: Mark Dilman; Michael James Stewart; Wei-Ming Hu; Balasubrahmanyam Kuchibhotla; Margaret Susairaj; Hubert Ken Sun
- Inventors: Mark Dilman; Michael James Stewart; Wei-Ming Hu; Balasubrahmanyam Kuchibhotla; Margaret Susairaj; Hubert Ken Sun
- Web page: https://patentgrep.com/patent/US8543862B2

## 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/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/1004: {to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00)}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/327: {Alarm or error message display}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer is programmed to execute a diagnostic procedure either on a pre-set schedule or asynchronously in response to an event, such as an error message, or a user command. When executed, the diagnostic procedure automatically checks for integrity of one or more portions of data in the computer, to identify any failure(s). In some embodiments, the failure(s) may be displayed to a human, after revalidation to exclude any failure that no longer exists.

## Claims

### Claim 1

A computer-implemented method to process errors related to a data storage system, the method comprising:
one or more processors responding to occurrence of an error, during access of data in the data storage system, by automatically using the error with at least a map to identify from among a plurality of predetermined diagnostic procedures, a specific diagnostic procedure to check the data storage system;
wherein each error in a plurality of errors is associated by at least the map with at least one diagnostic procedure among the plurality of predetermined diagnostic procedures;
checking the data storage system by execution of at least the specific diagnostic procedure; and
storing in a memory of a computer, a failure identified by the checking.

### Claim 2 (depends on 1)

The method of claim 1 wherein the failure is hereinafter “first failure”, the method further comprising:
identifying a second failure; and
automatically creating a third failure based at least partially on information related to each of the first failure and the second failure;
wherein the third failure is identified in the memory as a parent of the first failure and the second failure.

### Claim 3 (depends on 2)

The method of claim 2 wherein each failure has a type and each failure has at least one parameter and the method further comprises:
checking whether the second failure is of same type as the first failure;
wherein the third failure is created with a third value for said parameter based on a first value of the first failure and a second value of the second failure.

### Claim 4 (depends on 1)

The method of claim 1 wherein:
the storing of the failure comprises marking the failure as open and storing an identifier of revalidation software;
the revalidation software comprises a portion of the first diagnostic procedure;
the method further comprising executing the revalidation software to revalidate the failure and marking the failure as closed when execution of the revalidation software finds the failure no longer exists.

### Claim 5 (depends on 1)

The method of claim 1 wherein:
the checking checks relationships between blocks;
the relationships comprise references, pointers or offsets from one block to another, existing in an index of a database; and
the database is accessible through a relational database management system, via queries expressed in a structured query language.

### Claim 6 (depends on 1)

The method of claim 1 wherein:
the failure identified by the checking is pre-selected to be of a type that has known repairs.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
using a first type of the failure to identify a second type of a repair;
wherein a plurality of failures including the failure are of the first type; and
wherein a plurality of repairs including the repair are of the second type.

### Claim 8 (depends on 1)

The method of claim 1 wherein:
the checking checks integrity of data in the data storage system.

### Claim 9 (depends on 1)

The method of claim 1 wherein said map is hereinafter a first map, the method further comprising:
using the failure with at least a second map to determine a repair.

### Claim 10

A computer-implemented method to process errors related to a data storage system, the method comprising:
one or more processors responding to occurrence of a first error, during access of data in the data storage system, by checking the data storage system by execution of at least a specific diagnostic procedure;
prior to the checking, determining whether a second error identical to the first error had occurred within a predetermined duration prior to the first error; and
performing the checking only if a result of the determining is false;
wherein the specific diagnostic procedure is identified from among a plurality of predetermined diagnostic procedures, based on the first error.

### Claim 11

One or more non-transitory computer-readable storage media comprising instructions to be executed by one or more processors to process errors related to a data storage system, the one or more non-transitory computer-readable storage media comprising:
instructions responsive at least partially to occurrence of an error, during access of data in the data storage system, to automatically use the error with at least a map to identify from among a plurality of predetermined diagnostic procedures, a specific diagnostic procedure to check the data storage system;
wherein each error in a plurality of errors is associated by at least the map with at least one diagnostic procedure among the plurality of predetermined diagnostic procedures;
instructions to check the data storage system by execution of at least the first specific diagnostic procedure; and
instructions to store in a memory of a computer, a failure identified by execution of the instructions to check.

### Claim 12 (depends on 11)

The one or more non-transitory computer-readable storage media of claim 11 wherein the failure is hereinafter “first failure”, the one or more non-transitory computer-readable storage media further comprising:
instructions to identify a second failure; and
instructions to automatically create a third failure based at least partially on information related to each of the first failure and the second failure;
wherein the third failure is identified in the memory as a parent of the first failure and the second failure.

### Claim 13 (depends on 12)

The one or more non-transitory computer-readable storage media of claim 12 wherein each failure has a type and each failure has at least one parameter and the non-transitory computer-readable storage medium further comprising:
instructions to check whether the second failure is of same type as the first failure;
wherein the third failure is created with a third value for the parameter based on a first value of the first failure and a second value of the second failure.

### Claim 14 (depends on 11)

The one or more non-transitory computer-readable storage media of claim 11 further comprising:
instructions to determine an attribute that is indicative of impact of the failure; and
instructions to store in the memory, the attribute for the failure.

### Claim 15 (depends on 11)

The one or more non-transitory computer-readable storage media of claim 11 wherein:
the instructions to store the failure comprise instructions to mark the failure as open and store an identifier of revalidation software, the revalidation software comprising a portion of the first diagnostic procedure;
the one or more non-transitory computer-readable storage media further comprising instructions to execute the revalidation software to revalidate the failure and mark the failure as closed when execution of the revalidation software finds the failure no longer exists.

### Claim 16 (depends on 11)

The non-transitory computer-readable storage medium of claim 11 wherein:
the instructions to check, when executed, check integrity of data in the data storage system.

### Claim 17 (depends on 11)

The one or more non-transitory computer-readable storage media of claim 11 wherein said map is hereinafter a first map, the one or more non-transitory computer-readable storage media further comprising:
instructions to use the failure with at least a second map to determine a repair.

### Claim 18

One or more non-transitory computer-readable storage media comprising instructions to be executed by one or more processors to process errors related to a data storage system, the instructions comprising:
instructions to respond to occurrence of a first error, during access of data in the data storage system, by executing instructions to check the data storage system by performing at least a specific diagnostic procedure;
instructions, to be executed prior to the instructions to check, to determine whether a second error identical to the first error had occurred within a predetermined duration prior to the first error; and
instructions to invoke execution of the instructions to check only if a result of execution of the instructions to determine is false;
wherein the specific diagnostic procedure is identified from among a plurality of predetermined diagnostic procedures, based on the first error.

### Claim 19

A system, implemented at least partially by a computer responsive to errors related to data storage in the computer, the system comprising:
means responsive at least partially to occurrence of an error, during access of data, by using the error with at least a map to identify from among a plurality of predetermined diagnostic procedures, a specific diagnostic procedure to check the data;
wherein each error in a plurality of errors is associated by at least the map with at least one diagnostic procedure among the plurality of predetermined diagnostic procedures;
means for checking the data by execution of at least the specific diagnostic procedure; and
means for storing in a memory of the computer, a failure identified by said means for checking.

### Claim 20 (depends on 19)

The database management system of claim 19 wherein said failure is hereinafter “first failure”, the database management system further comprising:
means for identifying a second failure; and
means for creating a third failure based at least partially on information related to each of said first failure and said second failure;
wherein said third failure is identified in said memory as a parent of the first failure and the second failure.

### Claim 21 (depends on 19)

The system of claim 19 wherein:
the means for checking checks integrity of data.

### Claim 22 (depends on 19)

The system of claim 19 further comprising:
means for using the failure with at least a second map to determine a repair.

### Claim 23

A database management system, implemented at least partially by a computer responsive to a plurality of predetermined errors related to a data storage system in the computer, the database management system comprising:
means, responsive to occurrence of a first error, during access of data in the data storage system, for checking the data storage system by performing at least a specific diagnostic procedure;
means for determining whether a second error identical to said first error had occurred within a predetermined duration prior to said first error; and
means for performing said checking only if a result from said means for determining is false;
wherein the specific diagnostic procedure is identified from among a plurality of predetermined diagnostic procedures, based on the first error.
