Split Requester Responder Architecture for Transaction Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy computer system interconnects face challenges in maintaining transaction ordering across different packet types, particularly with the introduction of high-performance fabrics like Gen-Z that relax ordering requirements, leading to complexities in supporting multiple transaction classes with varying ordering constraints.

Innovation Solution

A split requester/responder architecture that allows for independent injection of transaction requests and responses onto a fabric, using virtual channels to maintain ordering requirements, and buffering responses until pending posted transactions are complete, enabling the same queuing and arbitration logic to handle both relaxed and stricter ordering models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fabric ordering rules are specified to guarantee transaction ordering, then reliability is improved, but performance is reduced due to stricter ordering constraints

Engineering Contradiction:
Improvetransaction ordering guaranteeVSAvoidinterconnect performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments transactions into two distinct classes: ordered transactions (first class) and unordered transactions (second class). This segmentation allows the fabric to apply different ordering rules to different transaction types, enabling relaxed ordering for unordered transactions to improve performance while maintaining strict ordering for ordered transactions to ensure reliability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple transaction classes with varying ordering constraints are supported, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvesupport for multiple transaction classesVSAvoidlogic complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of having separate complex logic paths for ordered and unordered transactions, the patent inverts the approach by using a single unified logic path that defaults to relaxed ordering behavior. An explicit ordering indicator in the packet header triggers the application of strict ordering rules, simplifying the overall logic while supporting multiple transaction classes.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If packets are allowed to pass each other on the fabric, then performance is improved, but ordering constraints are violated

Engineering Contradiction:
Improvepacket throughputVSAvoidordering constraint compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies different quality attributes to different packets based on their ordering class. Unordered transaction packets are allowed to pass each other and change relative order on the fabric, while ordered transaction packets maintain their relative ordering. This local differentiation is achieved through the ordering indicator field that identifies which packets require strict ordering enforcement.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11593281B2Device supporting ordered and unordered transaction classes
Publication Date: 2023.02.28 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11593281B2 patent drawing
  • US11593281B2 patent drawing
  • US11593281B2 patent drawing

AI summary

A communications device that includes a requester and a responder may support multiple transaction classes, including an ordered transaction class, while maintaining a bifurcated requester/responder architecture. Before a responder has a non-posted transaction response to transmit on an interconnect, it receives an indication from the requester that there is not a pending posted transaction on the interconnect.