PCIe Error Handling via Advanced Reporting Extension
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
PCIe devices lack a standard set of actions for error handling, leading to compromised data integrity and increased burden on system software to distinguish between original and subsequent errors, ensure recovery, and restore application state.
Innovation Solution
The PCIe error handling and recovery mechanism introduces an Advanced Error Reporting (AER) extension that defines specific actions for error handling, allowing devices to advertise and configure error handling capabilities, minimizing side effects by flushing affected transactions and resetting links as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If PCIe devices continue normal operation after error detection, then device availability is maintained, but data integrity is compromised
Solution Approach 1:
The patent changes the operational parameters of the PCIe device by introducing error-specific action controls that modify device behavior based on error type. Instead of a single continuous operation mode, the device transitions to specific recovery actions (flush, reset, or no action) based on the detected error, thereby ensuring data integrity while maintaining availability through selective recovery strategies.
Solution Approach 2:
The patent makes the device operation dynamic by allowing it to adapt its behavior in real-time based on error conditions. The device can dynamically switch between different operational states (normal operation, flush state, reset state) depending on the error type detected, enabling it to maintain availability for non-critical errors while ensuring integrity for critical errors.
2Ease of operation
If no standard error handling actions are defined, then device flexibility is maintained, but system software burden increases
Solution Approach 1:
The patent segments error handling into distinct, standardized action types (flush, reset, no action) that can be independently selected and configured. This segmentation provides a systematic framework that reduces system software burden by offering clear, predefined handling strategies while maintaining device flexibility through configurable selection of appropriate actions for different error types.
Solution Approach 2:
The patent introduces configurable parameters that allow devices to advertise their error handling capabilities and enable system software to configure desired actions. This parameter-based approach standardizes error handling while preserving flexibility, as devices can indicate support for different action types and specific actions can be configured based on application requirements.
3Reliability
If entire device is reset after error, then data integrity is ensured, but device productivity decreases
Solution Approach 1:
The patent applies local quality by allowing error handling to be scoped to specific functions or transaction types rather than requiring a complete device reset. The flush action can be applied locally to affected transactions while leaving other device operations unaffected, thereby ensuring data integrity for error-affected data while maintaining productivity for unaffected operations.
Solution Approach 2:
The patent segments the device into multiple independent functional units that can be selectively flushed or reset based on error location. Instead of a monolithic reset, the system can apply recovery actions to specific functions, transactions, or data paths, ensuring integrity where needed while maintaining operation continuity in other segments of the device.
Data Source
AI summary
An apparatus and method of PCIe error handling and recovery actions taken in the event of an error. An error reporting extension defines a set of commonly used actions that are taken by a device in response to the detection of an error. This minimizes the side effects of continued device operation following the occurrence of an error. The device's error handling capabilities are advertised and the system software specifies the desired device action to take upon occurrence of a particular error. The particular error handling action is defined uniquely for each PCIe function and error type, such that different errors trigger a different type of action, thereby affecting only specific device functions or the entire device, depending on the configuration. Error handling actions and control fields are placed in the extension portion of the PCI Express Advanced Error Reporting configuration space.


