SoC Transaction Ordering via Pointer Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional transaction ordering systems in SoCs require significant resources and increased manufacturing costs due to the need for comparison circuits to manage out-of-order transactions, complicating the ordering process.
Innovation Solution
A transaction ordering system that uses pointer values to manage transactions initiated by a master device with a slave device, ensuring that data packets are transmitted in the correct order by updating pointer values based on transaction IDs, eliminating the need for comparison circuits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional transaction ordering systems use comparison circuits to manage out-of-order transactions, then transaction ordering reliability is improved, but device complexity and manufacturing cost increase significantly
Solution Approach 1:
The patent extracts and removes the comparison circuits from the transaction ordering system. Instead of using comparison circuits to determine transaction order, the system uses a simplified pointer-based mechanism where the master device tracks transaction order through pointer values stored in memory, eliminating the need for complex comparison logic in the ordering system.
Solution Approach 2:
The patent introduces pointer values as an intermediary mechanism between the master device and the transaction ordering process. These pointers act as mediators that track transaction order without requiring comparison circuits, allowing the slave device to execute transactions out-of-order while maintaining correct ordering through the intermediary pointer tracking mechanism.
2Measurement precision
If conventional transaction ordering systems use multiple counters and comparison circuits, then transaction ordering precision is improved, but the size of the ordering system increases
Solution Approach 1:
The patent removes the comparison circuits and multiple counters from the ordering system. Instead, it uses a single set of pointer values stored in memory to track transaction order, significantly reducing the area required for the ordering system while maintaining precise transaction ordering capability.
Solution Approach 2:
The patent changes the parameter representation from multiple counters and comparison results to pointer values. These pointer values directly encode the transaction ordering information, allowing precise ordering with minimal hardware resources and reduced system area.
3Productivity
If the slave device executes transactions out-of-order to improve productivity, then transaction execution speed increases, but the complexity of the ordering system increases
Solution Approach 1:
The patent enables dynamic transaction execution where the slave device can execute transactions in any order without compromising correctness. The pointer-based ordering mechanism dynamically tracks which transactions have been executed and maintains the correct order for data packet transmission, allowing out-of-order execution with simplified system architecture.
Solution Approach 2:
The patent extracts the complexity of order management from the execution process. By using pointer values to track transaction state, the system allows the slave device to execute transactions out-of-order for improved productivity while the simplified pointer mechanism handles the ordering complexity without requiring complex comparison circuits.
Data Source
AI summary
A transaction ordering system is configured to order various transactions initiated by one device for execution with another device. The transaction ordering system includes ordering circuitry that is configured to generate two pointer values such that one pointer value corresponds to a transaction identifier (ID) of a transaction that is to be processed, and another pointer value corresponds to a transaction ID of a latest initiated transaction. Based on the two pointer values, the ordering circuitry orders the transactions such that if a first transaction is initiated before a second transaction, a set of data packets associated with the first transaction is transmitted to the transaction initiating device before a set of data packets associated with the second transaction is transmitted.


