Memory Controller Scheduler Buffer Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The memory controller's limited scheduler buffer size restricts utilization, and existing methods to increase efficiency, such as reducing read/write switching and optimizing bank requests, are either costly or inefficient, leading to varying performance based on command orders.
Innovation Solution
A method and apparatus that dynamically control the scheduler buffer by determining command types and adapting the proportions of read and write requests based on request information stored in the interface and scheduler buffers, using a state predictor and selector to optimize memory operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the scheduler buffer size is increased to allow various request selections and increase utilization, then memory operation efficiency is improved, but device cost increases
Solution Approach 1:
The patent applies dynamics by making the scheduler buffer size adjustable rather than fixed. The memory controller dynamically changes the buffer size based on the current command sequence pattern (read-intensive, write-intensive, or mixed). This allows the system to optimize for different workloads without permanently increasing the hardware buffer size, thus improving efficiency without proportionally increasing device complexity or cost.
Solution Approach 2:
The patent changes the parameter of buffer size based on operational conditions. By detecting whether the current workload is read-intensive, write-intensive, or mixed, the controller adjusts the scheduler buffer size accordingly. This parameter adaptation allows the system to achieve high utilization for specific patterns without requiring a large buffer for all scenarios, resolving the contradiction between efficiency and complexity.
2Adaptability or versatility
If read and write commands are processed in arbitrary order, then request handling flexibility is improved, but waiting time increases due to row buffer conflicts
Solution Approach 1:
The patent applies preliminary action by analyzing the command sequence pattern before processing requests. The memory controller detects whether upcoming commands are read-intensive, write-intensive, or mixed, and pre-configures the scheduler buffer size and scheduling strategy accordingly. This advance preparation prevents row buffer conflicts by ensuring that commands of the same type are batched together, reducing waiting time while maintaining flexibility in handling different request patterns.
Solution Approach 2:
The patent uses feedback by continuously monitoring the command sequence pattern and adjusting the scheduler buffer size and command ordering strategy based on this information. The controller detects the workload type and feeds this information back to the scheduling mechanism, which then optimizes the processing order to minimize row buffer conflicts. This closed-loop control maintains flexibility while reducing waiting time.
Data Source
Figure 1a
Figure 1b
Figure 2
AI summary
A method for controlling a memory operation includes determining a number of commands for each memory address based on information of requests stored in an interface buffer and a scheduler buffer, determining a control state of the memory operation according to a command type with a largest number of commands, and determining types of a request transmitted to the scheduler buffer from the interface buffer and a request output from the scheduler buffer according to a control state of the memory operation. Other embodiments including an apparatus for controlling a memory are also disclosed.