Memory Controller Port Arbitration With Dynamic Priority Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory controller technologies face inefficiencies in prioritizing memory access requests from multiple ports, leading to unsatisfactory performance in managing simultaneous data transfers.
Innovation Solution
The implementation of an arbitration circuitry with a dynamic priority list that configures and manages command ports, enabling and disabling them as needed to prioritize data transfers based on user-defined priorities during field programming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple command ports are enabled simultaneously to handle concurrent data transfers, then the productivity of the memory controller increases, but the complexity of arbitration and priority management increases
Solution Approach 1:
The patent implements dynamic enabling and disabling of command ports based on current system conditions and priority requirements. The arbitration circuitry can selectively activate specific command ports (e.g., command port 0 for high-priority requests, command port 1 for normal-priority requests) rather than keeping all ports permanently active, thus managing concurrency while controlling arbitration complexity through conditional activation
Solution Approach 2:
The arbitration logic is segmented into separate priority levels with dedicated command ports for each level. High-priority arbitration is handled independently from normal-priority arbitration, allowing the system to manage multiple concurrent transfers by dividing the arbitration function into discrete, manageable segments rather than using a single complex arbitration mechanism
2Device complexity
If a fixed priority scheme is used for command ports, then the device complexity is reduced, but the adaptability to different application requirements deteriorates
Solution Approach 1:
The patent employs configurable priority parameters that can be programmed through configuration memory cells to define the priority order of different command ports. This allows the arbitration behavior to be adjusted by changing parameter values (priority assignments) without altering the fundamental arbitration logic structure, thereby maintaining low device complexity while achieving high adaptability to different application requirements
Solution Approach 2:
The arbitration circuitry is designed with universal functionality to handle multiple priority schemes and command port configurations through a single unified structure. The same arbitration logic can adapt to different priority requirements by interpreting configurable parameters, making the device versatile across various applications without requiring multiple specialized arbitration units
3Productivity
If command ports are dynamically enabled and disabled based on priority, then the productivity is optimized for specific transfer scenarios, but the ease of operation deteriorates
Solution Approach 1:
The arbitration circuitry automatically performs enabling and disabling of command ports based on the priority of incoming requests and the current system state, without requiring external control signals or manual intervention. The system self-manages port activation/deactivation through its internal arbitration logic, which monitors request priorities and dynamically activates appropriate command ports, thereby optimizing transfer efficiency while maintaining ease of operation
Data Source
AI summary
A device has first circuitry and also second circuitry that includes an interface and command ports that can each receive commands from the first circuitry, each command requesting an information transfer through the interface. A technique relating to the device involves dynamically enabling and disabling at least one of the command ports under control of the first circuitry, and using a priority list specifying an order of priority for a group of the command ports to identify and cause a command to be accepted from the command port of highest priority that contains a command and is currently enabled.


