Bridge IP Out-of-Order Response Reordering Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing bridge IP solutions struggle with converting transactions between protocols, particularly when requests are split and responses are received out of order, as simple FIFO-based solutions cannot effectively reorder out-of-order split responses to meet initiator request ordering requirements.
Innovation Solution
The implementation of ordered and static queue pairs to form a single logical queue, allowing for independent access and handling of out-of-order transactions, where each target request is assigned a unique transaction ID, and responses are reordered before being issued in the correct order on the initiator interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a simple FIFO-based solution is used to store and correlate requests and responses, then the device complexity is reduced, but the ability to handle out-of-order split responses is lost
Solution Approach 1:
The patent segments the request-response handling into multiple independent queue structures (FIFO queue for ordering, and additional data structures for tracking split responses). This allows the system to maintain simple FIFO-based request storage while adding specialized structures to handle out-of-order responses without increasing overall system complexity significantly
Solution Approach 2:
The patent introduces an intermediary correlation mechanism that matches split responses back to their parent requests using request identifiers. This intermediary layer reconciles the out-of-order responses with the ordered request stream, enabling the simple FIFO structure to work with complex out-of-order response scenarios
2Reliability
If the bridge IP combines out-of-order split responses to form a single initiator response, then the protocol compliance is improved, but the processing time is increased
Solution Approach 1:
The patent performs preliminary buffering and tracking of split responses as they arrive out of order. By pre-organizing the responses in the buffer with their associated request identifiers, the system prepares the data for quick combination once all parts are received, reducing the actual processing time when compliance is needed
Solution Approach 2:
The patent implements a feedback mechanism where the system tracks which responses have been received and which are still pending. This feedback allows the bridge IP to know exactly when all split responses are available for combination, enabling efficient processing without unnecessary waiting or retransmissions
3Adaptability or versatility
If multiple target requests are generated from a single initiator request, then the protocol conversion flexibility is improved, but the response reordering complexity is increased
Solution Approach 1:
The patent extracts the reordering logic from the core FIFO queue operation and places it in a separate correlation mechanism. This extraction allows the main FIFO structure to remain simple while handling protocol conversion flexibility, with the extracted reordering logic managing the complexity of matching split responses back to parent requests
Solution Approach 2:
The patent uses copying of request identifiers and correlation data to track multiple split responses without duplicating the entire request structure. By copying only the essential identification information, the system maintains protocol conversion flexibility while minimizing the complexity overhead of tracking and reordering operations
Data Source
AI summary
Upon receiving a request (203) in an initiator interface protocol identifying information to be returned in-order, an integrated circuit protocol bridge circuit device (200) allocates, to the ordered request, entries in a first ordered queue (e.g., 211) and a first static queue (e.g., 213) for the initiator interface protocol, generates a plurality of split target requests in a target interface protocol from the ordered request, and allocates the plurality of split target requests to entries in a second ordered queue (e.g., 217) and a second static queue (e.g., 218) for the target interface protocol, so that, upon receiving a plurality of out-of-order target responses, an allocated entry in the first ordered queue (211) for the first ordered initiator request is deleted only after a plurality of counter fields in the first static queue indicate that target responses have been received for all of the plurality of split target requests.


