PCI error resilience
AssigneeNetApp, Inc.
InventorJohnny Kang-wing Chan
Life of this patent
Estimating the term…
Abstract
Error handling and recovery, implemented in a storage server, detects an error in a peripheral device of the storage server. If the error is recoverable, the system contains the error by isolating the peripheral device to prevent the generation of additional interrupt signals and migrates operations of the peripheral device to a back-up peripheral device. The system initiates error recovery by calling a recovery routine and a reinitialization routine, both provided by a device driver for the peripheral device. After device recovery is complete, the system migrates operations of the back-up peripheral device back to the peripheral device.
Claims11
A method comprising:
- detecting, by a processor, an error in a peripheral device and sending an error message to an error handler domain;
- containing the error within the error handler domain, wherein the error handler domain isolates the peripheral device to prevent propagation of the error, and wherein preventing propagation of the error comprises setting up the peripheral device to stop reporting the error and marking a device driver of the peripheral device to not accept further operating system requests;
- signaling, by the error handler domain, an error recovery domain that the peripheral device is setup for error recovery;
- migrating, by the error handler domain, operations of the peripheral device to a back-up peripheral device;
- calling, by the error recovery domain, an error recovery routine provided by a device driver;
- receiving, by the error recovery domain, a reset policy code specifying a result of the error recovery routine from the device driver;
- calling, by the error recovery domain, a device reinitialization routine provided by the device driver;
- receiving, by the error recovery domain, a reinitialization value specifying a result of the device reinitialization routine from the device driver;
- and
- migrating, by the error handler domain, operations of the back-up peripheral device back to the peripheral device.
A system comprising:
- a peripheral device having a device driver;
- a back-up peripheral device;
- a processor unit;
- and
- a memory, coupled to the processor unit, the memory storing instructions, executable by the processor unit, for:
- detecting, by the processor, an error in the peripheral device and sending an error message to an error handler domain;
- the error handler domain to receive the error message;
- the error handler domain to prevent the peripheral device from propagating the error, and wherein preventing propagation of the error comprises setting up the peripheral device to stop reporting the error and marking a device driver of the peripheral device to not accept further operating system requests;
- the error handler domain to signal an error recovery domain that the peripheral device is setup for error recovery;
- the error handler domain to migrate operations of the peripheral device to the back-up peripheral device;
- the error recovery domain to call an error recovery routine provided by the device driver and to receive a reset policy code specifying a result of the error recovery routine provided by the device driver;
- the error recovery domain to call a device reinitialization routine provided by the device driver;
- and
- the error recovery domain to receive a reinitialization value specifying a result of the device reinitialization routine.
A system, comprising:
- a processor unit;
- and
- a memory, coupled to the processor unit, storing instructions which, when executed by the processor unit, cause the system to:
- detect, by a processor, an error in a peripheral device and send an error message to an error handler domain;
- contain the error within the error handler domain, wherein the error handler domain isolates the peripheral device to prevent the propagation of the error, and wherein preventing propagation of the error comprises setting up the peripheral device to stop reporting the error and marking a device driver of the peripheral device to not accept further operating system requests;
- signal, by the error handler domain, an error recovery domain that the peripheral device is setup for error recovery;
- migrate, by the error handler domain, operations of the peripheral device to a back-up peripheral device;
- call, by the error recovery domain, an error recovery routine provided by a device driver;
- receive, by the error recovery domain, a reset policy code specifying a result of the error recovery routine provided by a device driver;
- call, by the error recovery domain, a device reinitialization routine provided by the device driver;
- receive, by the error recovery domain, a reinitialization value specifying a result of the device reinitialization routine;
- and
- migrate, by the error handler domain, operations of the back-up peripheral device back to the peripheral device.
Dependencies are inferred from the claim text.