System abstraction layer, processor abstraction layer, and operating system error handling
First Claim
1. A computer system comprising:
- a non volatile memory in which is stored a firmware error handling routine for handling errors; and
at least one processor wherein each of the at least one processors detects errors and executes the firmware error handling routine on detecting an error to handle the error and wherein the firmware error handling routine logs error information to a log.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for error handling are disclosed. The systems and methods may be utilized for single or multiple processor computer systems to handle errors in a coordinated manner between hardware and any firmware or software layers. A computer system includes a non volatile memory and at least one processor. A firmware error handling routine is stored on the non volatile memory. The firmware error handling routine is for handling errors. Each of the at least one processors detects errors. Each processor executes the firmware error handling routine on detecting an error. The executed firmware error handling routine handles the error. The executed firmware error handling routine also logs error information to a log.
The systems and methods provide for coordinated error handling that enhance error recovery, provide error containment and maintain system availability.
107 Citations
25 Claims
-
1. A computer system comprising:
-
a non volatile memory in which is stored a firmware error handling routine for handling errors; and
at least one processor wherein each of the at least one processors detects errors and executes the firmware error handling routine on detecting an error to handle the error and wherein the firmware error handling routine logs error information to a log. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer system comprising:
-
a non volatile memory in which is stored a processor abstraction layer error handling routine and a system abstraction layer error handling routine; and
a processor coupled to the non volatile memory for executing the processor abstraction layer error handling routine and the system abstraction layer error handling routine on detecting an error. - View Dependent Claims (8, 9, 10)
-
-
11. A computer system comprising:
a plurality of systems comprising;
a non volatile memory in which is stored a first error handling routine and a second error handling routine; and
a processor coupled to the non volatile memory to execute the first error handling routine and the second error handling routine and to generate an error log on detecting an error.
-
12. A system for cooperative error handling comprising:
-
a memory in which is stored a first error handling routine for correcting errors and a second error handling routine for correcting errors; and
a detecting processor coupled to the non volatile memory to detect errors, to execute the first error handling routine on detecting an error, to execute the second error handling routine on failure of the first error handling routine to correct the error. - View Dependent Claims (13)
-
-
14. A system comprising:
-
a processor;
a system memory; and
a non-volatile memory in which is stored;
a first error handling routine executed on an error to access state information, store the state information to a log and to attempt to correct the. - View Dependent Claims (15, 16, 17)
-
-
18. A method for cooperative error handling in a computer system comprising:
-
detecting an error by a detecting processor;
executing error handling code of a first layer of software, by the detecting processor, to perform the following;
saving state information;
attempting to correct the error;
on failure to correct the error, executing error handling code of a second layer of software by the detecting processor to perform the following;
determining severity of error by analyzing state information and the error received from the first layer;
saving additional state information; and
halting the computer system if necessary; and
on failure to correct the error by the second layer of software, executing error handling code of an operating system by the detecting processor to perform the following;
checking state information and the error to see if processing can continue;
halting the computer system if processing unless processing can continue; and
attempting to correct the error.
-
-
19. A method for handling errors in a system comprising:
-
detecting an error;
determining if the error is global or local;
on the error being global, signaling other processors of the error and allowing one processor to control error handling;
determining if the error is unrecoverable;
on the error being unrecoverable, halting the system;
correcting the error. - View Dependent Claims (20, 21)
-
-
22. A method comprising:
-
detecting an error;
sending a signal to a processor abstraction layer, a system abstraction layer, and an operating system of the error;
interrupting processing if necessary;
attempting to correct the error by the processor abstraction layer and informing the system abstraction layer of success or failure in correcting the error;
upon success by the processor abstraction layer, informing operating system of the correction;
upon failure by the processor abstraction layer, attempting to correct the error by the system abstraction layer and informing the operating system of success or failure;
upon failure by the system abstraction layer, attempting to correct the error by the operating system; and
upon failure by the operating system, initiating a system reboot. - View Dependent Claims (23)
-
-
24. A computer readable medium containing computer instructions for instructing a processor to perform a method for cooperatively handling errors comprising:
-
attempting to correct an error by a detecting processor;
on failure, executing firmware code to correct the error; and
on failure, executing operating system code to correct the error.
-
-
25. The computer readable medium containing computer instructions for instructing a processor to perform a method for cooperatively handling errors, further comprising:
on the operating system being a legacy operating system, sending compatible instructions to the operating system.
Specification