PCIe Error Filtering Device for Root Complex Overload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing systems with switched fabric hierarchies, such as PCIe, the capacity to handle correctable error messages is often overwhelmed, leading to timely error reporting issues and reduced system reliability due to the generation of a large number of error messages within a short period, which can cause the root complex to be overrun, especially in high-performance systems with multiple endpoints.
Innovation Solution
Implementing on-chip hardware in PCIe devices to filter correctable errors, where the root complex detects repeated or related errors and instructs a filtering device to mask further correctable error messages from the offending endpoint, allowing normal messages to pass through while determining when to cease filtering and restore monitoring.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the root complex monitors all correctable error messages from multiple endpoints, then error detection capability is improved, but system performance deteriorates due to resource overwhelming
Solution Approach 1:
An error filtering device is introduced as an intermediary component between endpoints and the root complex. This device filters correctable error messages before they reach the root complex, preventing resource overwhelming while maintaining error detection capability. The filtering device acts as a mediator that selectively passes or blocks error messages based on filtering criteria.
Solution Approach 2:
The error monitoring function is segmented into two parts: (1) the root complex that handles critical error monitoring and system-level error detection, and (2) the error filtering device that handles preliminary filtering of correctable errors from multiple endpoints. This segmentation allows the root complex to maintain reliability without being overwhelmed by volume.
2Loss of information
If the root complex handles all error messages from endpoints, then complete error information is obtained, but the root complex becomes overrun and loses reliability
Solution Approach 1:
The error filtering device serves as an intermediary that preserves error information completeness while protecting root complex stability. It maintains error message queues and can forward filtered error information to the root complex, ensuring that important error data is not lost while preventing the root complex from being overrun by excessive error messages.
Solution Approach 2:
Error filtering is performed in advance before error messages reach the root complex. The filtering device pre-processes error messages, removing duplicates and low-priority correctable errors, so that when error information is forwarded to the root complex, it is already refined and manageable, preventing overload.
3Loss of energy
If filtering is applied to reduce error message volume, then system resource consumption is reduced, but error monitoring capability may be compromised
Solution Approach 1:
The error filtering device as an intermediary maintains error monitoring capability while reducing resource consumption. It implements configurable filtering criteria that can be adjusted based on system needs, allowing selective monitoring of error types. The device can forward filtered error information to the root complex, ensuring that monitoring capability is preserved for important errors while consuming fewer resources overall.
Solution Approach 2:
The filtering device implements dynamic filtering where error message handling can be adjusted based on system conditions. Filtering criteria and thresholds can be modified runtime, allowing the system to adapt between aggressive filtering (when resources are constrained) and permissive filtering (when monitoring capability is prioritized), thus dynamically balancing resource consumption against monitoring capability.
Data Source
AI summary
A switched fabric hierarchy (e.g., a PCIe hierarchy) may utilize hardware, firmware, and/or software for filtering duplicative or otherwise undesirable correctable error messages from reaching a root complex. An operating system of the root complex may detect a persistent stream or storm of correctable errors from a particular endpoint and activate filtering of correctable errors from that endpoint. A filtering device may receive filtering commands and parameters from the operating system, implement the filtering, and monitor further correctable errors from the offending device. While an offending device is being filtered, correctable error messages from the offending device may be masked from the operating system, while correctable error messages from other devices in the switched fabric hierarchy may be transmitted. At such time as the filtering device may detect that conditions for ending filtering of a device are met, the filtering device may cease filtering of the offending device and return monitoring responsibilities to the operating system.


