Smart Add-in Card PCIe Error Injection Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesystem flexibilityVSAvoidmalicious software vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive error testing is performed on expansion cards, then reliability and security are improved, but system complexity and testing difficulty increase

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
ImprovesecurityVSAvoidservice disruption
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10261880B1Error generation using a computer add-in card
Publication Date: 2019.04.16 AMAZON TECH INC
  • US10261880B1 patent drawing
  • US10261880B1 patent drawing
  • US10261880B1 patent drawing

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.