Memory Sub-System Dynamic Command Scheduling Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional memory sub-systems implementing the first-ready, first-come, first-serve (FRFCFS) command scheduling policy with read priority suffer from reduced bandwidth due to bus turnaround penalties and inefficient handling of read and write commands, particularly when dealing with read-modify-write transactions and commands accessing the same memory bank.
Innovation Solution
The memory sub-system prioritizes commands based on the number of bank accesses, adjusting the priority of write and read commands to optimize bandwidth by considering the readiness of other commands in the queue and using threshold parameters to trade off latency for increased bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the FRFCFS command scheduling policy with read priority is implemented, then read latency is reduced, but bandwidth is reduced due to bus turnaround penalties
Solution Approach 1:
The patent implements dynamic command scheduling that adapts based on queue conditions. The controller dynamically adjusts scheduling behavior by evaluating the number of ready commands in queues and selectively applying FRFCFS with read priority only when beneficial, otherwise falling back to standard FRFCFS to avoid bus turnaround penalties and maintain bandwidth.
Solution Approach 2:
The patent changes the scheduling parameter based on system state. By monitoring the number of ready commands and their types (read vs. write), the system dynamically selects between different scheduling policies (FRFCFS with read priority vs. standard FRFCFS), effectively changing the scheduling parameter to optimize for either latency or bandwidth depending on current conditions.
2Speed
If read commands are prioritized in the command queue, then read performance is improved, but write command throughput decreases due to frequent bus turnarounds
Solution Approach 1:
The system dynamically adjusts read command prioritization based on the state of the command queue. When there are many ready read commands, FRFCFS with read priority is applied to improve read performance. When write commands dominate or bus turnaround would be frequent, the system reduces read prioritization to maintain write throughput, creating a dynamic balance between the two performance metrics.
3Ease of operation
If commands are scheduled strictly by arrival order (FRFCFS), then scheduling simplicity is maintained, but bandwidth efficiency decreases due to suboptimal command sequencing
Solution Approach 1:
The patent introduces dynamic decision-making into the FRFCFS scheduler. The controller dynamically evaluates whether to apply read priority based on the number of ready commands and their types. This dynamic approach maintains the simplicity of FRFCFS while adding conditional logic to improve bandwidth efficiency when appropriate, avoiding the complexity of fully adaptive schedulers.
Data Source
AI summary
Initialization is performed based on the commands received at the command queue. To perform initialization, a bank touch count list that includes a list of banks being accessed by the commands and a bank touch count for each of the banks in the list is updated. The bank touch count identifies the number of commands accessing each of the banks. The bank touch count list is updated by assigning a bank priority rank to each of the banks based on their bank touch count, respectively. Once initialized, the commands in the command queue are scheduled by inserting each of the commands into priority queues based on the bank touch count list.


