PCIe Protocol Completion Status Encode for Processor Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PCIe interconnects are limited in processing complex commands, such as read-modify-write commands, which are necessary for synchronizing multiple processors, leading to inefficiencies in processor coordination and shared data access.

Innovation Solution

Modifying the PCIe protocol to include a completion status encode associated with synchronization commands, allowing for the recognition and processing of read-modify-write commands, and employing I/O bridge logic to perform data modification without transmitting data to the accelerator logic, thereby enabling efficient synchronization of processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the PCIe interconnect is used with conventional protocol, then the system maintains simplicity and compatibility, but it cannot process complex synchronization commands like read-modify-write operations

Engineering Contradiction:
Improvecommand processing capabilityVSAvoidprotocol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The synchronization command is segmented into multiple phases: a read phase where data is fetched from memory, a modify phase where the data is processed according to the synchronization operation, and a write phase where the modified data is returned to memory. This segmentation allows the PCIe interconnect to handle complex operations through a series of simpler, standardized transactions rather than requiring a single complex command protocol.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-establishing the command structure and data paths before actual synchronization operations occur. The PCIe protocol is pre-configured with specific transaction types and completion status codes that enable synchronization operations, so that when a synchronization command is issued, the interconnect is already prepared to handle it through the predefined sequence of read-modify-write operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is transmitted to accelerator logic for modification, then processing can be distributed, but data transmission overhead increases

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoiddata transmission overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The invention extracts only the essential synchronization logic from the accelerator and places it in the PCIe interconnect itself. The interconnect reads data from memory, performs the modification locally using its own logic units, and writes the result back to memory without requiring the data to be transmitted to and from the accelerator. This extraction eliminates unnecessary data transmission while maintaining the productivity benefit of distributed processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The PCIe interconnect acts as an intermediary between the memory system and the accelerator logic. Instead of transmitting data between these components for synchronization operations, the interconnect mediates the operation by performing the read-modify-write sequence itself, using completion status codes to communicate the results back to the initiating processor. This intermediary role eliminates data transmission overhead while maintaining system productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the PCIe protocol is modified to include completion status encode, then synchronization commands can be properly recognized and processed, but the protocol becomes more complex

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The completion status encode is implemented as a dynamic field within the existing PCIe protocol framework. Rather than creating a separate complex protocol, the status field adapts its meaning based on the type of transaction being completed. The same basic protocol structure handles both traditional read/write commands and new synchronization commands, with the completion status dynamically indicating the appropriate outcome state. This dynamic approach maintains reliability while minimizing protocol complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7552269B2Synchronizing a plurality of processors
Publication Date: 2009.06.23 CAPROCK INTEGRATED TECHNOLOGIES LLC
  • US7552269B2 patent drawing
  • US7552269B2 patent drawing
  • US7552269B2 patent drawing

AI summary

In a first aspect, a first method of synchronizing a plurality of processors of a system is provided. The first method includes the steps of (1) modifying a peripheral component interconnect express (PCIe) protocol to include a completion status encode associated with a synchronization command that indicates whether a condition of the synchronization command is met; (2) providing a system including (a) a memory; (b) a first processor coupled to the memory; (c) a second processor; and (d) an interconnect coupling the second processor to the first processor and the memory; and (3) employing the modified PCIe protocol on the interconnect. Numerous other aspects are provided.