Hardware Data Structure for Tracking Partially Ordered Transactions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-transactional hardware designs face challenges in tracking and enforcing the order of transactions due to the complexity of existing FIFO-based data structures, which complicates formal verification and can lead to hazards when multiple transactions access shared resources simultaneously.
Innovation Solution
A hardware data structure comprising counters to track the number of in-flight transactions and a table to track the age of each transaction for each master, with control logic verifying that transaction responses are issued in the correct order based on the tracked age, allowing for efficient tracking and verification of ordered transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If FIFO-based data structures are used to track transactions for each requestor, then transaction ordering is maintained, but formal verification becomes difficult and device complexity increases
Solution Approach 1:
The patent uses a simplified shadow copy approach where a separate data structure (the patent's invention) maintains transaction state information without requiring complex FIFO structures. This shadow copy tracks transaction ages and ordering information independently, verifying correctness without the verification complexity of traditional FIFO implementations.
Solution Approach 2:
The patent transforms the tracking mechanism from FIFO queue operations to age-based parameter tracking. Instead of managing complex queue insertions and deletions, the system uses simple age counters and comparison operations to enforce ordering, significantly simplifying the data structure while maintaining the same functional guarantee.
2Reliability
If traditional FIFO structures with multiple pointers are used, then transaction tracking is achieved, but formal verification difficulty increases
Solution Approach 1:
The invention creates a simplified verification model that copies only the essential ordering information from the complex FIFO structure. This shadow data structure uses simple age comparisons rather than complex pointer manipulations, making formal verification tractable while still providing complete ordering guarantees.
Solution Approach 2:
The patent extracts only the essential ordering verification functionality from the complex FIFO structure. By separating the ordering verification logic from the transaction processing logic and implementing it with simple age-based comparisons, the patent makes formal verification feasible while maintaining transaction ordering guarantees.
3Productivity
If multiple in-flight transactions access shared resources simultaneously, then system throughput is improved, but hazards occur when transactions access the same resource
Solution Approach 1:
The patent implements a feedback mechanism where the age of each in-flight transaction is continuously tracked and compared. When a transaction completes, the system checks its age against other in-flight transactions to verify ordering correctness, providing continuous feedback that prevents hazards while allowing multiple transactions to proceed in parallel.
Solution Approach 2:
The patent performs preliminary ordering verification by tracking transaction ages from the moment they are issued. Before transactions access shared resources, their relative ordering is already established and verified through age comparison, preventing hazards before they can occur while maintaining high system throughput.
Data Source
AI summary
Methods and hardware data structures are provided for tracking ordered transactions in a multi-transactional hardware design comprising one or more slaves configured to receive transaction requests from a plurality of masters. The data structure includes one or more counters for keeping track of the number of in-flight transactions; a table that keeps track of the age of each of the in-flight transactions for each master using the one or more counters; and control logic that verifies that a transaction response for an in-flight transaction for a particular master has been issued by the slave in a predetermined order based on the tracked age for the in-flight transaction in the table.


