Configurable Error Recovery for I/O Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage driver sub-systems face challenges in efficiently managing input/output (I/O) operations, particularly in handling failures, as they often continue to attempt operations indefinitely without user control over error recovery levels, leading to performance degradation and complexity in error handling protocols.

Innovation Solution

The solution allows users to select and specify error recovery levels for I/O operations, enabling customizable error handling through a management interface or embedded signals in commands, independent of the operating system, to manage retries and failures effectively across various storage devices and protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the device driver continuously attempts I/O operations indefinitely, then reliability of data access is improved, but productivity deteriorates due to unnecessary delays and wasted time

Engineering Contradiction:
Improvedata access reliabilityVSAvoidI/O operation completion speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic error recovery by allowing the error recovery level to be changed without re-initializing the device driver. The system can adapt the error recovery behavior (number of retries, recovery strategies) dynamically based on application needs and device state, resolving the contradiction between continuous retry attempts and operational efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of error recovery level from a fixed value set during driver initialization to a configurable parameter that can be modified at runtime. This allows the system to adjust the balance between reliability (more retries) and productivity (fewer retries) based on specific operational contexts without re-initializing the driver

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the device driver implements complex error recovery logic, then reliability of error handling is improved, but device complexity increases

Engineering Contradiction:
Improveerror handling reliabilityVSAvoiddevice driver complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex error recovery logic from the device driver layer and places it in the application layer or operating system layer. The device driver simply executes the error recovery instructions provided by higher layers, reducing driver complexity while maintaining reliable error handling through centralized control

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention introduces an intermediary mechanism where the application or operating system specifies the error recovery level, which then mediates the error recovery process. This intermediary layer manages the complexity of error handling strategies while the device driver remains relatively simple in its execution of these strategies

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If error recovery is invoked by the underlying device driver, then reliability of data access is improved, but productivity deteriorates due to unnecessary delays in I/O completion

Engineering Contradiction:
Improvedata access reliabilityVSAvoidI/O operation delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent allows the error recovery level parameter to be changed dynamically based on the specific I/O operation and application requirements. For time-sensitive operations, the system can set a lower error recovery level to minimize delays, while for critical data access, a higher recovery level can be specified, resolving the time-reliability tradeoff on a per-operation basis

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7478265B2Error recovery for input/output operations
Publication Date: 2009.01.13 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7478265B2 patent drawing
  • US7478265B2 patent drawing
  • US7478265B2 patent drawing

AI summary

Method, system, and apparatus for executing input/output operations. The method including selecting a level of error recovery for input/output operations, receiving a request to execute the input/output operation, attempting the input/output operation, and when the input/output operation fails, performing the level of error recovery specified. The selection of the error recovery level may be done by a user, or embedded within the input/output request itself.