Smart Add-in Card PCIe Error Injection Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud computing systems face challenges in detecting and addressing errors on expansion cards, such as network interface cards (NICs), which can lead to vulnerabilities from malicious software and complications during system updates, particularly due to the difficulty in testing rare and hard-to-detect errors on high-speed communication buses like PCIe.
Innovation Solution
A 'smart' add-in card with an embedded CPU and memory is used to execute software tests that simulate error conditions on the communication bus, allowing the host server to test how it handles errors without affecting customer instances, and to monitor for malicious activity, leveraging the PCIe protocol for error reporting and handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If expansion cards are used to provide functionality to server computers, then system flexibility and adaptability are improved, but vulnerability to malicious software attacks and error detection difficulties increase
Solution Approach 1:
The patent introduces a root complex as an intermediary between the host and expansion cards. This root complex includes error injection logic that acts as a mediator to deliberately introduce errors into PCIe transactions, allowing the system to test error handling capabilities without direct exposure to malicious attacks on the expansion cards themselves.
Solution Approach 2:
The system performs preliminary error injection testing before deploying expansion cards into production environments. By pre-configuring error scenarios and testing error handling paths in advance, the system prepares defenses against potential malicious attacks and rare error conditions before they can exploit vulnerabilities.
2Reliability
If comprehensive error testing is performed on expansion cards, then reliability and security are improved, but system complexity and testing difficulty increase
Solution Approach 1:
The patent extracts the error injection and testing functionality from the expansion cards themselves and relocates it to the root complex. This separation allows the testing mechanism to be independent of the specific expansion card being tested, simplifying the testing process while maintaining comprehensive error detection capabilities.
Solution Approach 2:
The root complex is designed with universal error injection capabilities that can test multiple types of expansion cards through a single interface. The error injection logic can generate various error conditions (TLP errors, payload errors, etc.) that apply to different card types, reducing testing complexity while maintaining comprehensive coverage.
3Reliability
If error testing is performed on the host server, then security against malicious attacks is improved, but loss of customer instances and service disruption may occur
Solution Approach 1:
The patent segments the testing process from customer operations by implementing error injection at the root complex level rather than affecting customer instances directly. The testing functionality is separated into a dedicated error injection logic that operates independently, allowing security testing without disrupting customer services running on the host.
Solution Approach 2:
The system implements feedback mechanisms that monitor error conditions and adjust testing parameters in real-time. When errors are detected or testing is in progress, the system can provide feedback to pause or modify testing activities, preventing service disruption while maintaining security testing effectiveness.
Data Source
AI summary
A smart add-in card can be leveraged to perform testing on a host server computer. The add-in card can include an embedded processor and memory. Tests can be downloaded to the add-in card to test a communication bus between the host server computer (motherboard) and the add-in card. In a particular example, a PCIe communication bus couples the motherboard to the add-in card and the tests can inject errors on the PCIe communication bus. The tests can be developed to test errors that are typically difficult to test without the use of special hardware. However, the smart add-in card can be a simple Network Interface Card (NIC) that resides on the host server computer during normal operation and is used for communication other than error testing. By using the NIC as a testing device, repeatable and reliable testing can be obtained.


