PCI Read Transaction Error Reporting via Response Packet Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Communication over a Peripheral Component Interconnect (PCI) interface is prone to errors, leading to time-consuming and complex error handling processes, where the distinction between actual data and error indicators can be ambiguous, potentially causing system shutdowns.

Innovation Solution

Modifying the read request length to include additional bytes for error information, allowing the PCI device to report issues without requiring a sideband communication channel or protocol modification, enabling transparent error handling without searching for error markers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the PCI controller poisons the data by replacing erroneous data with an error indicator, then the application can detect the error, but the process becomes time-consuming and complex requiring data analysis and controller queries

Engineering Contradiction:
Improveerror detection capabilityVSAvoiderror handling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts error information from the data stream by adding a dedicated error status field to the PCI response packet. This separates the error detection function from the data transmission, allowing the application to quickly identify errors without analyzing the entire data payload for error indicators.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a feedback mechanism where the PCI controller provides explicit error status information back to the application through the response packet. This feedback loop eliminates the need for the application to query the controller or analyze data for error markers, directly providing error status information.

Inventive Principle:
Principle #23Feedback

2Reliability

If the application searches for error indicators in the data, then error detection is possible, but the distinction between actual data and error indicators becomes ambiguous

Engineering Contradiction:
Improveerror detection accuracyVSAvoiderror indicator distinction difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments the PCI response packet into distinct fields: data payload and error status field. This segmentation clearly separates the actual data from the error information, eliminating ambiguity about whether a particular byte represents valid data or an error indicator.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary error status field that acts as a mediator between the data transmission and error indication. This intermediary field explicitly communicates error status without requiring the application to interpret ambiguous patterns within the data itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the entire data must be analyzed for legitimate error indicators, then comprehensive error detection is achieved, but the process is time-consuming

Engineering Contradiction:
Improvecomprehensive error detectionVSAvoiderror handling time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by having the PCI controller set the error status field before the application processes the data. This pre-computed error status information is immediately available to the application, eliminating the need to scan through the entire data payload to detect errors.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10970155B1Error reporting when reading data
Publication Date: 2021.04.06 AMAZON TECH INC
  • US10970155B1 patent drawing
  • US10970155B1 patent drawing
  • US10970155B1 patent drawing

AI summary

System and method for performing a read transaction between a requester device, such as a host processor, and a completer device, such as a peripheral device. A device driver operating on the requester device receives a read request including a target address at which target data is to be read on the completer device. The length of the read request is increased from an initial length by an additional length for exchanging information with the completer device. The completer device generates and sends a read response comprising the target data and information about the target data. The length of the target data is equal to the initial length and the length of the information about the target data is less than or equal to the additional length. The device driver receives the read response and performs a resolution operation.