Memory Controller Transaction Scheduling for Bank Interleaving
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional transaction-based memory systems suffer from non-optimized performance due to loosely coupled master and slave controllers, where the slave controller has limited resources and capabilities, limiting scheduling and row buffer management, and the master controller lacks address mapping information to enhance performance.
Innovation Solution
A memory system with a master controller that includes an address mapping decoder and scheduler, which decodes and reorders memory transaction requests using address mapping information to improve performance by optimizing bank interleaving and row buffer management, and employs an extended open page policy to manage memory transactions more effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the slave controller is designed with limited resources to reduce power consumption and cost, then power efficiency and cost are improved, but scheduling and row buffer management capabilities deteriorate
Solution Approach 1:
The system divides the controller functionality into two segments: a simplified slave controller with limited resources that handles basic memory operations, and a master controller with full resources that handles complex scheduling and management tasks. This segmentation allows the slave controller to consume less power while the master controller provides the necessary scheduling capability.
Solution Approach 2:
The master controller acts as an intermediary between the host computer and the slave controller, translating high-level memory access requests into optimized memory commands that the slave controller can execute efficiently. This intermediary role enables the slave controller to maintain simplicity while achieving high performance through intelligent command sequencing.
2Adaptability or versatility
If the master controller and slave controller are loosely coupled to provide design flexibility, then design flexibility is improved, but performance optimization deteriorates
Solution Approach 1:
The system implements feedback mechanisms where the master controller monitors the state of the slave controller and dynamically adjusts memory access patterns based on real-time conditions. This feedback loop enables performance optimization while maintaining the loose coupling architecture, as the master controller can adapt commands based on slave controller status without requiring tight integration.
Solution Approach 2:
The master controller dynamically generates and sequences memory commands based on real-time system state, transforming the static loose coupling architecture into a dynamic system that adapts to changing conditions. This dynamic command generation allows the system to achieve optimized performance despite the architectural separation between master and slave controllers.
3Reliability
If the slave controller handles all rank/bank interleaving and row buffer management alone, then controller independence is improved, but memory system performance deteriorates
Solution Approach 1:
The master controller performs preliminary analysis of memory access patterns and pre-sequences commands to optimize bank interleaving and row buffer utilization before commands reach the slave controller. This preliminary action allows the slave controller to maintain independence while executing pre-optimized command sequences that maximize memory system performance.
Solution Approach 2:
The system merges the intelligence of command sequencing (in the master controller) with the execution capability (in the slave controller), combining the strengths of both controllers. The master controller handles complex scheduling logic while the slave controller handles precise memory interface control, achieving both controller independence and high performance through functional merging.
Data Source
AI summary
A memory system includes a master controller, an interface with a host computer, and a link bus configured to couple with a slave controller. The master controller includes an address mapping decoder, a transaction queue, and a scheduler. The address mapping decoder is configured to decode address mapping information of a memory device coupled to the slave controller. The scheduler of the master controller is configured to reorder memory transaction requests received from the host computer in the transaction queue using the address mapping information of the memory device. The memory system employs an extended open page policy based on the pending memory transaction requests in the transaction queue of the master controller.


