I/O Error Handling Unit for Multi-Root Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared computer systems, implementing effective error detection and handling for multi-root, multi-function I/O devices is challenging due to the complexity of processing transactions from multiple processors and the difficulty in isolating and logging errors across multiple processor hierarchies and functions.

Innovation Solution

An I/O device with a host interface and error handling unit that processes transaction packets in real time, using a combination of hardware and firmware to detect errors, store error information, and subsequently process it, allowing for efficient error detection, logging, and reporting across multiple processor hierarchies and functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware resources are shared across multiple processing elements to increase utilization, then hardware resource utilization is improved, but error detection and handling complexity increases

Engineering Contradiction:
Improvehardware resource utilizationVSAvoiderror detection and handling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The error handling unit is segmented into distinct functional components: error detection logic that identifies errors in transaction packets, error information extraction that captures relevant error details, and separate processing paths for different error types. This segmentation allows the system to manage error handling complexity by dividing it into manageable, specialized subsystems while maintaining the shared hardware resource architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple processor hierarchies and functions access shared I/O resources, then I/O bandwidth utilization is improved, but isolating and logging errors across multiple hierarchies becomes difficult

Engineering Contradiction:
ImproveI/O bandwidth utilizationVSAvoiderror isolation and logging difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The error handling unit acts as an intermediary between multiple processor hierarchies and the error logging system. It receives transaction packets from various processors, detects errors, extracts error information, and systematically logs errors with identification of the originating processor hierarchy and function. This intermediary approach enables efficient error isolation and logging while maintaining multi-processor access to shared I/O resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If real-time error detection is implemented in hardware, then error detection speed is improved, but system complexity increases

Engineering Contradiction:
Improveerror detection speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The error detection logic is merged with the existing transaction packet processing pipeline in the host interface. By integrating error detection functionality into the hardware path that already processes transaction packets from multiple processors, the system achieves real-time error detection without adding separate, complex hardware subsystems. The error detection operates concurrently with normal I/O processing, maintaining speed while minimizing additional complexity.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8402320B2Input/output device including a mechanism for error handling in multiple processor and multi-function systems
Publication Date: 2013.03.19 ORACLE INT CORP
  • US8402320B2 patent drawing
  • US8402320B2 patent drawing
  • US8402320B2 patent drawing

AI summary

An I/O device includes a host interface that may be configured to receive and process a plurality of transaction packets sent by a number of processing units, with each processing unit corresponding to a respective root complex. The host interface includes an error handling unit having error logic implemented in hardware that may be configured to determine whether each transaction packet has an error and to store information corresponding to any detected errors within a storage. More particularly, the error handling unit may perform the error detection and capture of the error information as the transaction packets are received, or in real time, while the error handling unit may include firmware that may subsequently process the information corresponding to the detected errors.