Memory Bandwidth Allocation With Round-Robin Bonus Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In communication environments with limited bandwidth, efficiently allocating bandwidth among multiple applications while ensuring fair access and preventing interference, particularly in safety-critical systems like automotive systems, is challenging, as existing methods often lead to delays and imbalanced resource utilization.
Innovation Solution
Implementing a freedom from interference (FFI) arbitration scheme with a round-robin approach and bonus count mechanism to allocate bandwidth dynamically among different groups, ensuring no single application dominates and maintaining low latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single application dominates bandwidth usage, then that application achieves high bandwidth utilization, but other applications cannot access bandwidth when needed
Solution Approach 1:
The patent segments bandwidth allocation into multiple arbitration groups, where each group can be independently controlled. This segmentation prevents a single application from dominating all bandwidth by dividing the arbitration space into separate controllable units, ensuring that no single group can monopolize the shared resource.
Solution Approach 2:
The patent dynamically changes arbitration parameters (such as group identifiers and allocation ratios) based on system conditions. By adjusting these parameters, the system can prevent any single application from consistently dominating bandwidth while ensuring fair access is maintained across different applications.
2Reliability
If arbitration waits to assess other potential masters before granting access, then bandwidth allocation fairness is improved, but access latency increases
Solution Approach 1:
The patent performs preliminary arbitration assessments by maintaining information about potential masters and their access patterns in advance. This preliminary action allows the arbitration logic to make faster decisions without waiting to fully assess all conditions at the moment of access request, thereby reducing latency while maintaining fairness.
Solution Approach 2:
The arbitration mechanism uses self-service principles where the system maintains its own state information about applications and bandwidth usage. This self-knowledge allows for quicker arbitration decisions without requiring extensive external assessment, reducing access latency while ensuring fair allocation.
3Productivity
If limited bandwidth is shared among multiple applications, then resource efficiency is improved, but ensuring each application gets needed bandwidth becomes challenging
Solution Approach 1:
The patent implements feedback mechanisms that monitor bandwidth usage and application needs in real-time. This feedback information is used to dynamically adjust arbitration decisions, ensuring that each application receives appropriate bandwidth while maintaining overall resource efficiency. The feedback loop enables the system to respond to changing conditions without manual intervention.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Aspects of the disclosure are directed to allocating bandwidth. As may be implemented in accordance with one or more embodiments, respective amounts of bandwidth are allocated to respective application groups for each memory access cycle in a set of memory access cycles. Initial bonus bandwidth is provided to a first one of the application groups during one of the memory access cycles. The bonus bandwidth may include at least a portion of bandwidth allocated to and unused by one of the other respective application groups during the memory access cycle. Additional bonus bandwidth is selectively provided to the first application group during one of the memory access cycles based on the initial bonus bandwidth and a maximum amount of bonus bandwidth defined for the set of memory access cycles, in response to bandwidth allocated to one of the other respective application groups during the subsequent memory access cycle being unused.