Bank Arbiter Prioritizing Access by Request Count
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-bank memory access arbitration methods result in inefficiencies due to overhead cycles when the accessing order is not properly arbitrated, leading to reduced system speed and unsatisfied high memory bandwidth requirements in application systems.
Innovation Solution
An arbiter that calculates the number of access requests for each bank and grants higher priorities to masters accessing the bank with the largest number of requests, while also utilizing a write buffer to temporarily store write requests and generate new request information, thereby optimizing bank interleaving and reducing read/write turn-around time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If conventional bank interleaving method is used without arbitration, then simple access control is achieved, but overhead cycles increase and system speed decreases
Solution Approach 1:
The arbiter performs preliminary analysis of pending requests and bank states before granting access. By calculating the number of pending requests for each bank in advance and comparing bank states (busy/idle), the system determines the optimal access sequence before execution, thereby eliminating overhead cycles and improving system speed without significantly increasing complexity
Solution Approach 2:
The arbitration method dynamically adjusts access grants based on real-time bank states and request patterns. The arbiter continuously monitors which banks are busy versus idle and which masters have pending requests, then adapts the access sequence dynamically to maximize throughput and eliminate wasted overhead cycles
2Loss of time
If bank access is granted without considering request count, then fast access decision is made, but memory bandwidth efficiency is reduced
Solution Approach 1:
The arbiter implements a feedback mechanism by continuously monitoring the number of pending requests from multiple masters for each bank and the current state of banks (busy/idle). This feedback information is used to dynamically adjust access grants, ensuring that banks with higher demand are prioritized, thereby maximizing memory bandwidth efficiency while maintaining fast access decision times
Solution Approach 2:
The system changes the arbitration parameter from simple round-robin or fixed priority to a dynamic parameter based on the count of pending requests and bank state. By calculating and comparing the number of requests for each bank, the system optimizes access patterns to maximize memory bandwidth utilization without significantly increasing access decision time
3Productivity
If overhead cycles are eliminated through proper arbitration, then memory bandwidth increases, but arbitration complexity increases
Solution Approach 1:
The arbitration process is segmented into distinct functional units: a state detection unit that monitors bank states (busy/idle), a request counting unit that tracks pending requests per bank, and a grant determination unit that compares states and counts to decide access. This segmentation allows the complex arbitration logic to be implemented in a modular, manageable way that achieves high memory bandwidth without overwhelming system complexity
Data Source
AI summary
Provided are an arbiter capable of improving memory access efficiency in a multi-bank memory, a memory access arbitration system including the arbiter, and an arbitration method thereof, where the arbiter detects requests that are not included in a busy bank, and allows the requests corresponding to a bank receiving the largest number of pending requests priorities; and write request information generated by masters is stored in a predetermined buffer to be output as additional master request information, and provides the corresponding master with an opportunity to generate new request information.


