Memory Controller Command Scheduling for Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory systems with mixed read and write operations, the frequent switching between processes leads to increased overhead and performance degradation, resulting in reduced throughput for both read and write processes.
Innovation Solution
Implementing a memory system with separate queues for read and write commands and a throughput-oriented scheduler that processes commands in dedicated blocks, allowing for continuous processing of either read or write commands for defined time periods to minimize switching overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the controller frequently switches between read process and write process to handle mixed I/O commands, then the responsiveness to host commands is improved, but the overhead increases and performance degrades
Solution Approach 1:
The patent segments the processing of I/O commands by separating read commands and write commands into different queues (read queue and write queue). This allows the controller to manage read and write operations independently, reducing the overhead of frequent context switching while maintaining responsiveness to mixed I/O commands from the host.
2Productivity
If the controller shares resources between read process and write process, then the resource utilization is improved, but the overhead from arbitration and context switching increases
Solution Approach 1:
The patent divides shared resources into dedicated resource sets for read operations and write operations. By allocating specific resources to each process type and managing them through separate queues, the controller eliminates the need for frequent arbitration and context switching, thereby reducing overhead while maintaining high resource utilization.
3Speed
If the controller prioritizes read operations by suspending write process, then the read performance is improved, but the write performance degrades significantly
Solution Approach 1:
The patent segments the command processing into independent read and write queues, allowing each queue to be processed without interfering with the other. This eliminates the need to suspend write operations to prioritize reads, as both can proceed independently through their respective queues, maintaining performance for both read and write processes.
Data Source
AI summary
A memory controller of a memory system classifies input and output commands issued by a host into a group of read commands and a group of write commands, and manages the group of read commands and the group of write commands using first and second queues, respectively. The controller continuously processes a first group of commands among the group of read commands and the group of write commands until a first time period has elapsed from a start of the continuous processing of the first group of commands. In response to the first time period having elapsed, the controller switches a process target from the first group of commands to a second group of commands that is different from the first group of commands and selected among the group of read commands and the group of write commands.


