PCIe Error Reporting via Hybrid Hardware-Software Mediation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Reliability
If device hardware is modified for feature upgrades or bug fixes, then device functionality is improved, but additional time and money are required
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.
3Adaptability or versatility
If hardware is used for error reporting, then error detection is provided, but scalability to support multiple virtual functions is limited
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.
Data Source
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.


