Per-Function Downstream Port Containment for PCIe Error Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing PCIe error handling methods often result in complete link disablement following non-fatal errors, which can prevent access to operable functions and cause entire sub-fabrics to become inaccessible, especially in multi-function end-point devices and SR-IOV configurations.
Innovation Solution
Per-Function Downstream Port Containment (pF-DPC) selectively filters packets associated with affected functions while maintaining the link, using RID and address forwarding to isolate errors and allow error recovery without disabling the link between the PCIe port and end-point device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complete link disablement is performed following non-fatal errors, then error containment is improved, but access to operable functions is lost and entire sub-fabrics become inaccessible
Solution Approach 1:
The patent segments the error containment scope from the entire PCIe link to individual PCIe functions. When a non-fatal error occurs in a specific function, only that function is disabled while the link remains active for other functions. This is achieved by tracking errors at the function level (using function-specific identifiers like BDF numbers) and selectively disabling only the affected function's traffic flow, not the entire link.
Solution Approach 2:
The patent applies local quality by making the error containment effect localized to the specific function experiencing the error, rather than applying it globally to the entire link. Each function can be independently disabled/enabled based on its error state, allowing operable functions to continue operating normally while containing errors to their source.
2Object-affected harmful factors
If the link is completely disabled, then data corruption spread is prevented, but link connectivity is lost and error recovery is hindered
Solution Approach 1:
The patent segments the link into function-specific traffic flows, allowing selective disabling of only the function experiencing data corruption risks while maintaining connectivity for other functions. This prevents data corruption spread to the affected function without disrupting the entire link's connectivity.
Solution Approach 2:
The patent introduces an intermediary mechanism (the downstream port's error handling logic) that mediates between error detection and link disablement. Instead of directly disabling the entire link upon error detection, the intermediary selectively filters traffic for only the affected function while allowing other traffic to continue, thus preventing data corruption spread while preserving link connectivity.
3Reliability
If entire sub-fabrics are made inaccessible, then error isolation is improved, but system productivity decreases due to loss of operable functions
Solution Approach 1:
The patent segments error isolation from the entire sub-fabric to individual functions within the sub-fabric. When a non-fatal error occurs, only the affected function is isolated while other functions and their associated sub-fabric resources remain accessible. This maintains system productivity by allowing operable functions to continue operating without being affected by errors in other functions.
Solution Approach 2:
The patent applies local quality by making error isolation effects local to the specific function rather than global to the entire sub-fabric. Each function's error state is independently managed, allowing error isolation to be applied only where needed while preserving access to and productivity of operable functions throughout the sub-fabric.
4Ease of operation
If per-function error containment is implemented, then access to operable functions is maintained, but device complexity increases
Solution Approach 1:
The patent implements self-service by enabling downstream ports to automatically perform per-function error containment without requiring external intervention or complex coordination. The downstream port monitors errors at the function level and autonomously disables only the affected function's traffic flow, maintaining ease of operation while managing the complexity within the port's own error handling logic.
5Object-affected harmful factors
If selective function filtering is performed, then error impact is reduced, but measurement and detection difficulty increases
Solution Approach 1:
The patent extracts the function identifier information (such as BDF numbers) from the error messages and uses it to selectively filter traffic for only the affected function. This extraction approach allows the system to reduce error impact through selective filtering while managing detection complexity by focusing error detection efforts on extracting and processing function-specific identifiers from error messages.
Data Source
Figure 1~2
Figure 3A~3B
Figure 4~5
AI summary
Per-Function Downstream Port Containment (pF-DPC) is an extension to Downstream Port Containment (DPC) in the Peripheral Component Interconnect express (PCIe) standard. Pf-DPC confines non-fatal errors to specific functions of an end-point device without disabling the link between a PCIe port and the end-point device. PCIe ports configured for pF-DPC may filter (e.g., drop) packets carrying routing identifiers (RIDs) and/or addresses assigned to a function affected by a non-fatal error, while continuing to forward packets carrying RIDs/addresses associated with remaining operable functions over the corresponding link.