SRIOV Adapter Error Handling via Partition Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for error handling in shared hardware I/O adapters, such as SRIOV adapters, are inadequate as they require coordination across multiple partitions, which is not effectively managed, leading to inefficiencies in error recovery operations.

Innovation Solution

The method involves partitioning the hardware I/O adapter into multiple endpoints, where each endpoint is managed independently for limited actions and as a group for adapter-wide actions, allowing for error isolation and recovery without coordination between adapter and VF device drivers, enabling efficient error handling and recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error handling coordinates across multiple partitions in shared hardware I/O adapters, then error recovery completeness is improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improveerror recovery completenessVSAvoidcoordination overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The error handling system is segmented into partition-specific error handlers and adapter-wide error handlers. Each partition has its own error handling logic that operates independently, while the adapter-wide handler manages global error states. This segmentation eliminates the need for complex coordination between partitions, as each handles its own errors locally while the adapter handler manages shared resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary error handling layer that sits between partition-specific error handlers and the hardware adapter. This intermediary manages the coordination by receiving error notifications from any partition, determining the appropriate recovery action, and executing it without requiring direct communication between partitions. The intermediary abstracts the complexity of multi-partition coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If error handling isolates failures to single partitions, then system stability is improved, but error recovery scope is limited

Engineering Contradiction:
Improvesystem stabilityVSAvoiderror recovery scope
Core Design Contradiction:
Stability of the object's compositionVSReliability

Solution Approach 1:

The error handling system dynamically adjusts its scope based on the nature and severity of the error. For localized errors affecting single partitions, the system isolates recovery to that partition maintaining stability. For adapter-wide errors, the system dynamically expands the recovery scope to include all partitions. This dynamic adaptation allows the system to balance stability and recovery scope based on actual error conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments error handling into hierarchical levels: partition-level error isolation for stability, and adapter-level error recovery for comprehensive scope. The segmentation allows errors to be contained at the partition level when possible, preventing system-wide instability, while still providing the capability for broader recovery when errors affect the entire adapter.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple device drivers manage shared adapter endpoints, then adapter functionality is improved, but error coordination difficulty increases

Engineering Contradiction:
Improveadapter functionalityVSAvoiderror coordination difficulty
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Each device driver is equipped with self-service error handling capabilities that allow it to detect and recover from errors affecting its specific partition without requiring coordination with other drivers. The driver independently manages its own error state, recovers from failures, and continues operation, eliminating the need for complex inter-driver coordination protocols.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An intermediary error management layer is introduced that receives error notifications from multiple device drivers and coordinates the recovery process centrally. This intermediary abstracts the complexity of multi-driver coordination by providing a unified error handling interface, allowing drivers to operate independently while ensuring coherent system-wide error management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9304849B2Implementing enhanced error handling of a shared adapter in a virtualized system
Publication Date: 2016.04.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9304849B2 patent drawing
  • US9304849B2 patent drawing
  • US9304849B2 patent drawing

AI summary

A method, system and computer program product are provided for implementing enhanced error handling for a hardware I/O adapter, such as a Single Root Input/Output Virtualization (SRIOV) adapter, in a virtualized system. The hardware I/O adapter is partitioned into multiple endpoints, with each Partitionable Endpoint (PE) corresponding to a function, and there is an adapter PE associated with the entire adapter. The endpoints are managed both independently for actions limited in scope to a single function, and as a group for actions with the scope of the adapter. An error or failure of the adapter PE freezes the adapter PE and propagates to the VF PEs associated with the adapter, causing the VF PEs to be frozen. An adapter driver and VF device drivers are informed of the error, and start recovery. The hypervisor locks out the VF device drivers at key points enabling adapter recovery to successfully complete.