Memory Command Scheduling Component for Performance Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Iterating through all commands in a memory sub-system to schedule and assign priorities decreases performance due to time and processing power consumption, diverting resources from other essential functions.
Innovation Solution
Implementing a command scheduling component that iterates through less than the full amount of commands received, allowing saved resources to be allocated to other functions, thereby enhancing performance by prioritizing and executing only necessary commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the memory sub-system iterates through all received commands to schedule and assign priorities, then command execution completeness is improved, but performance decreases due to increased time and processing power consumption
Solution Approach 1:
The patent applies partial action by iterating through only a subset of commands rather than all received commands. The command scheduling component selectively processes commands based on priority levels and execution criteria, examining fewer commands than the total received to achieve acceptable scheduling outcomes while reducing processing overhead and improving system performance.
2Measurement precision
If the memory sub-system iterates through all received commands to assign priorities, then scheduling accuracy is improved, but processing power consumption increases
Solution Approach 1:
The system performs partial prioritization by assigning priorities to only the most critical or recently received commands rather than all commands in the queue. This selective approach maintains adequate scheduling accuracy for time-sensitive operations while significantly reducing the processing power required for priority assignment.
3Reliability
If the memory sub-system iterates through all commands for scheduling, then command prioritization completeness is improved, but time consumption increases
Solution Approach 1:
The command scheduling component implements partial iteration by processing only a portion of the command queue during each scheduling cycle. It focuses on commands that meet specific criteria such as high priority flags or time-sensitive markers, thereby achieving sufficient prioritization completeness for critical commands while minimizing the time spent on full queue iteration.
Data Source
AI summary
A system includes a processing device that determines whether a memory bank is active and adds an activate command for a row of the memory bank accessed by an oldest command for the memory bank to a command scheduler in response to determining the memory bank is not active. The processing device determines whether the row of the memory bank has a corresponding row command in response to determining the memory bank is active. The processing device determines whether a close page mode is enabled or an open row timer has expired on the row and adds a precharge command to the command scheduler in response to determining the close page mode is enabled or the open row timer has expired. The processing device executes a command in the command scheduler based on a priority of commands included in the command scheduler.


