Write Re-order Buffer for In-Order Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, the reordering of write transaction requests and responses through an interconnect fabric can lead to incorrect data access due to dependencies between write transactions, causing issues with data integrity and execution order.

Innovation Solution

A write re-order buffer (WROB) is employed to assign group identifiers to write transaction requests, ensuring that transactions with the same group ID are executed in-order by routing logic within the interconnect fabric, thereby maintaining the correct execution order of dependent write transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If write transaction requests are allowed to take different latency paths through the interconnect fabric, then the speed of transaction execution is improved, but the execution order of dependent transactions cannot be guaranteed

Engineering Contradiction:
Improvetransaction execution speedVSAvoidexecution order guarantee
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments transactions into different groups using group identifiers (IDs). Transactions are assigned to groups based on their dependency relationships, allowing independent groups to be executed in parallel through different paths while maintaining order within each group. This segmentation enables both high-speed parallel execution and reliable ordering within groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the group ID assignment and routing logic) that mediates between the conflicting requirements of speed and ordering. The routing logic uses group IDs as intermediaries to determine execution order, allowing transactions to be reordered or held back without blocking entire transaction streams, thus maintaining both speed and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If write transaction requests are executed in parallel through the interconnect fabric, then productivity is improved, but data integrity may be compromised due to reordering of dependent transactions

Engineering Contradiction:
Improvetransaction throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By segmenting transactions into groups with unique IDs, the system enables parallel execution of independent groups while maintaining integrity within each group. Transactions that depend on each other are placed in the same group and executed in order, while independent groups can proceed in parallel, achieving both high throughput and data integrity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of transaction identification by introducing group IDs. This parameter change allows the system to track and enforce ordering constraints without blocking parallel execution. The group ID parameter enables the routing logic to make informed decisions about execution order based on dependency relationships.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If reordering of write transaction requests is permitted in the interconnect fabric, then the loss of time is reduced, but harmful factors increase due to incorrect data access

Engineering Contradiction:
Improvetransaction latencyVSAvoiddata corruption
Core Design Contradiction:
Loss of timeVSObject-generated harmful factors

Solution Approach 1:

The group ID acts as an intermediary that enables safe reordering. The routing logic uses group IDs to determine when reordering is safe (between different groups) and when it would be harmful (within the same group). This intermediary mechanism allows the system to maximize latency reduction while preventing data corruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

By changing the transaction parameter structure to include group IDs, the system can track dependency relationships and enforce ordering constraints. This parameter change allows the interconnect fabric to perform aggressive reordering for latency optimization while maintaining data integrity through group-based ordering enforcement.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11899969B1Re-order buffer for in-order execution of dependent write transactions
Publication Date: 2024.02.13 AMAZON TECH INC
  • US11899969B1 patent drawing
  • US11899969B1 patent drawing
  • US11899969B1 patent drawing

AI summary

Techniques are described for maintaining in-order execution when a dependency exists between write transactions. In some embodiments, a write re-order buffer (WROB) is configured to assign the same group ID to an incoming write transaction upon determining that the incoming write transaction is dependent on a pending write transaction. The WROB forwards the incoming write transaction to an interconnect fabric for routing to a completer device. The interconnect fabric enforces in-order execution when write transactions share the same group ID. The WROB can maintain a transaction log of pending write transactions and also track the statuses of responses for such transactions. Transaction responses can include responses sent from a completer to confirm that a transaction has actually been completed. Additionally, the WROB can send a response indicating completion back to the requester of the transaction. In some embodiments, the WROB is configured to send an early response to the requester.