Split Requester Responder Architecture for Transaction Ordering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Adaptability or versatility
If multiple transaction classes with varying ordering constraints are supported, then adaptability is improved, but device complexity increases
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.
3Productivity
If packets are allowed to pass each other on the fabric, then performance is improved, but ordering constraints are violated
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.
Data Source
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.


