Dynamic Flow-Control Packing Circuit for Full Flit Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for packing transaction messages into network flits in data processing systems result in inefficient data transfer due to partially filled flits and latency issues caused by state machines and arbitration mechanisms.
Innovation Solution
A dynamic priority packing circuit using a lookup table in hardware to determine message priorities and packing decisions based on pending message counts, available slots, and protocol type, allowing for efficient packing of mixed message types without additional latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If state machine solutions are used for packing logic, then packing control is achieved, but latency is introduced
Solution Approach 1:
The patent replaces the mechanical/state machine-based packing logic with a hardware lookup table approach. Instead of using sequential state transitions that introduce latency, the system pre-computes packing decisions in a lookup table and retrieves them in parallel, eliminating the latency associated with state machine processing while maintaining packing control functionality.
Solution Approach 2:
The patent implements preliminary action by pre-computing packing decisions in a lookup table before actual message packing occurs. The lookup table stores pre-determined packing configurations based on message types and flit structures, allowing the packing logic to retrieve and apply pre-computed decisions immediately without sequential processing delays.
2Productivity
If arbitration mechanisms are used to select message types, then message selection control is achieved, but performance is limited due to separate grouping
Solution Approach 1:
The patent merges multiple message types into a single unified packing process using a lookup table, eliminating the need for separate arbitration groups. Instead of processing messages in distinct arbitration rounds, the system combines all message type selections into a single parallel lookup operation, achieving higher productivity while reducing the complexity of multiple arbitration mechanisms.
Solution Approach 2:
The lookup table serves as a universal packing decision mechanism that handles all message types simultaneously. Rather than requiring separate arbitration logic for different message groups, the single lookup table structure provides multi-functional message selection capability, improving overall system productivity.
3Quantity of substance
If flits are packed with message types grouped separately, then protocol compliance is maintained, but flit utilization becomes inefficient
Solution Approach 1:
The patent introduces dynamic packing decisions through the lookup table that adapts to different message types and flit structures. Instead of static separate grouping, the system dynamically determines optimal message combinations based on the specific flit configuration and message characteristics, maximizing the quantity of messages that can be packed into each flit while maintaining protocol compliance.
Solution Approach 2:
The lookup table enables parameter changes in packing configurations based on different message types and flit structures. The system can adjust packing parameters such as message ordering, type grouping, and flit allocation dynamically, optimizing the number of messages per flit and improving overall data transfer efficiency.
Data Source
AI summary
Messages and data are dynamically selected for packing into an information packet for transmission across a communication link of the data processing network. The number of messages (zero or more) of each message kind to be packed is determined based, at least in part, on the number of slots available to be packed, on the number of pending messages of each kind and on a dynamically determined priority setting. The priority may be user controlled, dependent on input backpressure and/or dependent on target loading, for example. The number of messages of each message kind to be packed may be determined using a hardware lookup table.


