Deterministic PCIe NTB Error Indictment via Separate LERDS Channel
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in determining which compute node to indict when a fatal error occurs on a PCIe Non-Transparent Bridge (NTB) interconnecting two compute nodes of a storage engine, as existing methods lack determinism and efficiency in error reporting and comparison.
Innovation Solution
A deterministic hardware indictment process is implemented, where each compute node generates a Local Error Reporting Data Structure (LERDS) and transmits it to the other node using a separate transmission medium. The process involves self-indictment checks and error comparisons to determine which node should be indicted based on the severity of errors reported.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fatal error occurs on PCIe NTB, then system reliability is compromised, but existing error reporting methods lack determinism in identifying the faulty node
Solution Approach 1:
The patent implements preliminary error state capture by generating LERDS (Local Error Reporting Data Structure) immediately when a fatal error occurs, before the system state changes. This preliminary action preserves the error context and enables deterministic indictment by comparing pre-capture error states from both compute nodes to identify the faulty node with precision.
2Reliability
If error reporting is performed using the same PCIe NTB medium, then transmission may fail, but using a separate medium adds complexity to the error reporting mechanism
Solution Approach 1:
The patent introduces a separate transmission medium as an intermediary for LERDS communication between compute nodes. This intermediary channel isolates error reporting traffic from the faulty PCIe NTB, ensuring that error state information can be reliably exchanged even when the primary communication path is compromised, thereby improving error reporting reliability without significantly increasing overall system complexity.
3Stability of the object's composition
If deterministic indictment process is implemented, then indictment decision consistency is improved, but the process complexity increases
Solution Approach 1:
The patent segments the indictment process into distinct, deterministic stages: error detection on PCIe NTB, LERDS generation capturing error state, LERDS transmission via separate medium, and comparative analysis of error states. This segmentation transforms a complex, potentially non-deterministic process into a structured sequence of well-defined operations, improving indictment decision consistency while managing process complexity through modular organization.
4Productivity
If self-indictment check is performed when LERDS is not received, then indictment speed is improved, but false indictment risk increases
Solution Approach 1:
The patent implements a feedback mechanism where each compute node monitors whether it receives LERDS from its peer. When LERDS is not received within expected time, the node performs self-indictment check by examining its own error state and comparing it against expected healthy state. This feedback-driven approach enables rapid indictment when appropriate while incorporating validation checks to reduce false indictments, balancing speed and accuracy.
Data Source
AI summary
A deterministic hardware indictment process is used to indict one Compute Node (CN) of a pair of CNs in response to occurrence of a fatal error on a Peripheral Component Interconnect Express (PCIe) Non-Transparent Bridge (NTB) interconnecting the two CN. Status information is exchanged between the CNs on a communication medium that is separate from the NTB. The indictment process is run locally on each CN based on whatever information is available to the CN. When the CN does not receive status information from the other CN, the CN runs a self-indictment check. When status information is received, and only one CN reports an error, the indictment process indicts the compute node that reported the error. If both CNs report errors, an error severity comparison process is used to select a CN to be indicted. If the reported errors are equally severe, a default CN is indicted.


