Adaptive Scheduling for Non-Volatile Memory Read Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If the schedule prioritizes maximizing channel throughput, then channel throughput is improved, but response time for host read requests deteriorates

Engineering Contradiction:
Improvechannel throughputVSAvoidresponse time
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If the schedule prioritizes minimizing response time, then response time is improved, but channel throughput deteriorates

Engineering Contradiction:
Improveresponse timeVSAvoidchannel throughput
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple channels are used to transfer data in parallel, then channel throughput is improved, but scheduling complexity increases

Engineering Contradiction:
Improvechannel throughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10037167B2Multiple scheduling schemes for handling read requests
Publication Date: 2018.07.31 SANDISK TECHNOLOGIES LLC
  • US10037167B2 patent drawing
  • US10037167B2 patent drawing
  • US10037167B2 patent drawing

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.