PCIe Error Reporting via Hybrid Hardware-Software Mediation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error reporting systems in devices, which rely solely on hardware, lack flexibility and scalability, requiring costly and time-consuming hardware modifications for feature upgrades, bug fixes, and changes in device functions.

Innovation Solution

A hybrid approach combining device hardware and software for error reporting, where the device hardware generates interrupts and the software determines error attributes and owners, allowing for flexible and scalable error management without modifying the hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If error reporting is performed solely by device hardware, then error reporting capability is provided, but flexibility and scalability are limited requiring hardware re-spin for changes

Engineering Contradiction:
Improveflexibility and scalability of error reportingVSAvoidhardware modification requirements
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a device software component as an intermediary between the hardware error detection mechanism and the host computer. The hardware continues to detect errors and generate interrupts, but the device software (firmware) now determines error attributes, classifies errors, and manages reporting. This intermediary layer provides flexibility and scalability without requiring hardware modifications, as software can be updated independently to add features, fix bugs, or change error handling behavior.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If device hardware is modified for feature upgrades or bug fixes, then device functionality is improved, but additional time and money are required

Engineering Contradiction:
Improvedevice functionality and error handlingVSAvoidtime and cost for hardware re-spin
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic error reporting system where the device software can be updated independently of the hardware. The hardware provides stable error detection capabilities while the software layer can be dynamically modified to improve functionality, fix bugs, or adapt to new requirements. This separation allows continuous improvement of device reliability without the time-consuming and costly process of hardware re-spinning.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If hardware is used for error reporting, then error detection is provided, but scalability to support multiple virtual functions is limited

Engineering Contradiction:
Improvesupport for multiple virtual functionsVSAvoidhardware modification cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments the error reporting functionality into hardware error detection and software error management. The hardware handles the fundamental error detection and interrupt generation, while the device software handles the complex tasks of determining error attributes, classifying errors by type and severity, and managing reporting to multiple virtual functions. This segmentation allows the system to scale to support multiple virtual functions through software configuration rather than hardware modification.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10846163B1Hybrid hardware and software reporting management
Publication Date: 2020.11.24 AMAZON TECH INC
  • US10846163B1 patent drawing
  • US10846163B1 patent drawing
  • US10846163B1 patent drawing

AI summary

Described herein is a hybrid approach to error reporting, using a combination of hardware and software, for peripheral component interconnect (PCI) express devices. The device hardware detects an error on a packet, where the packet is for a transaction and received from a host computer. Upon detecting the error, the device hardware generates an interrupt that is processed in software. In certain embodiments, the software based processing involves determining, based on the packet, that the transaction is directed to an address space of an emulated configuration register. The software based processing further involves identifying a function as being associated with the error, determining attributes associated with the error, and storing the attributes and an identifier associated with the function in a location available to the device hardware, thereby enabling the device hardware to report the attributes and identifier to the host computer.