I/O Error Handling via Device Capability-Based Configuration Modes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Shared I/O links in host systems are vulnerable to errors during configuration and runtime, which can lead to system malfunctions and crashes, especially when devices lack error recovery capabilities, necessitating effective error handling mechanisms to prevent downtime and ensure system stability.
Innovation Solution
A method for handling I/O errors involves validating devices during configuration, identifying their error recovery capabilities, and configuring them in High Availability (HA) or Non-HA modes accordingly, while implementing an error recovery system that includes a health checker daemon, error event queuing, and error recovery drivers to detect, isolate, and recover from errors during runtime, ensuring system resilience and minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If devices without error recovery capabilities are configured in the system, then device functionality is maintained, but system reliability deteriorates due to potential crashes from I/O errors
Solution Approach 1:
The system applies different configuration modes (HA mode and Non-HA mode) to different devices based on their error recovery capabilities. Devices with error recovery capabilities are configured in HA mode for maximum reliability, while devices without such capabilities are configured in Non-HA mode to maintain functionality. This local differentiation resolves the contradiction by allowing each device to be configured according to its specific characteristics rather than applying a uniform configuration approach.
2Reliability
If comprehensive error checking is performed on all devices during configuration, then error detection capability is improved, but configuration time and system complexity increase
Solution Approach 1:
The system performs error recovery capability examination during the device configuration phase rather than during runtime operation. By preliminarily identifying which devices have error recovery capabilities and configuring them accordingly, the system avoids the need for extensive error checking during configuration, thereby reducing configuration time while maintaining reliable error detection for HA-mode devices.
3Reliability
If I/O error handling is implemented for all devices, then system resilience is improved, but device complexity and overhead increase
Solution Approach 1:
The error handling mechanism is applied locally only to devices configured in HA mode that have error recovery capabilities. Devices in Non-HA mode or without error recovery capabilities do not receive the full error handling treatment, reducing overall system complexity while maintaining resilience where it is most needed.
Solution Approach 2:
Devices with error recovery capabilities are expected to handle their own errors through their built-in recovery mechanisms when operating in HA mode. This self-service approach reduces the burden on the system-wide error handling mechanism, thereby reducing overall complexity while maintaining system resilience for critical devices.
Data Source
AI summary
A method and system for handling errors on an Input/Output (I/O) link of a system is provided. The link is being shared by a plurality of devices of the system; each device may be shared by one or more operating systems. The method of error handling during configure of the system includes steps of checking a device for an error during configuration of the system and restricting the device from being configured, if an error is detected. The method includes the steps of examining the device capabilities to recover from errors, and; configuring the device in a first mode if the device has capabilities to recover from errors, else configuring the device in a second mode or not configuring the device. Further the handling of error may also be performed during runtime of the system, for doing so the step of checking is followed by a step of isolating and deleting the device if value of a number indicative of errors encountered for the device is greater than a threshold value. Else the method provides step of initiating a recovery process for the device and reporting result of the recovery process.


