Adaptive Scheduling for Non-Volatile Memory Read Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory systems face challenges in optimizing response time to host read requests, as maximizing channel throughput may not always result in the best overall performance, especially when queue depth is low or high.
Innovation Solution
A non-volatile memory system that adapts by generating schedules for data transfer commands based on queue depth, prioritizing either minimizing response time or maximizing channel throughput depending on the queue depth threshold, ensuring optimal performance in transferring data units to a temporary storage area.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the schedule prioritizes maximizing channel throughput, then channel throughput is improved, but response time for host read requests deteriorates
Solution Approach 1:
The scheduling approach dynamically adjusts between two different scheduling schemes based on queue depth conditions. When queue depth is below the threshold, the system uses a first scheduling scheme that prioritizes response time. When queue depth is at or above the threshold, the system switches to a second scheduling scheme that prioritizes channel throughput. This dynamic adaptation allows the system to optimize performance based on real-time operational state.
Solution Approach 2:
The system changes the scheduling parameter (scheduling scheme) based on the queue depth parameter. By monitoring queue depth and comparing it to a threshold, the system switches between different scheduling strategies, effectively using parameter changes to resolve the contradiction between response time and channel throughput optimization.
2Loss of time
If the schedule prioritizes minimizing response time, then response time is improved, but channel throughput deteriorates
Solution Approach 1:
The system dynamically switches scheduling schemes based on queue depth. When queue depth is low (below threshold), it adopts a response-time优先 schedule that may leave channels underutilized. When queue depth increases (at or above threshold), it transitions to a throughput-optimizing schedule that maximizes channel utilization. This dynamic behavior resolves the contradiction by adapting to system state.
Solution Approach 2:
The scheduling parameter is changed based on the queue depth parameter. The system monitors queue depth and switches between scheduling schemes accordingly, using parameter changes to balance between response time optimization and channel throughput optimization based on current operational conditions.
3Productivity
If multiple channels are used to transfer data in parallel, then channel throughput is improved, but scheduling complexity increases
Solution Approach 1:
The scheduling problem is segmented into two distinct scheduling schemes based on queue depth conditions. Rather than creating a single complex scheduling algorithm that must handle all scenarios, the system divides the operational space into two regimes (below threshold and at/above threshold), each with its own optimized scheduling strategy. This segmentation simplifies the overall scheduling complexity.
Data Source
AI summary
A non-volatile memory system may include a controller that issues data transfer commands to have data units associated with a host read request transferred from non-volatile memory to a temporary storage area before the data is sent to a host. The controller may be configured to generate a schedule that identifies when the data transfer commands are issued. The schedule may be generated according to one of a plurality of scheduling schemes, each with a different priority in having the data units transferred to the temporary storage area. Which scheduling scheme the controller selects may depend on a queue depth of a read request queue.


