Adaptive Storage Scheduling for Non-Volatile Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face challenges in responding promptly to changes in host input/output traffic due to static scheduling mechanisms that do not account for variations in access command types and quantities, leading to increased latency and reduced throughput, particularly when write operations occupy non-volatile memory arrays, blocking or slowing down read operations.

Innovation Solution

Implementing adaptive/dynamic scheduling based on I/O statistics and non-volatile memory layout, which allows the data storage device to adjust the execution of access commands in real-time, predicting future workloads, and optimizing the scheduling to balance throughput and latency, while considering the layout of non-volatile memory arrays to prevent write commands from blocking read commands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static scheduling mechanism is used, then device complexity is reduced, but latency increases and throughput decreases when workload changes

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoidaccess command latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements dynamic scheduling that adapts to changing workload conditions by monitoring I/O statistics and adjusting scheduling decisions in real-time. The system transitions from static to dynamic scheduling based on detected workload patterns, allowing it to respond to changes in access command types and quantities while maintaining reasonable complexity through structured adaptation mechanisms.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring I/O statistics including pending access statistics and completed access statistics. This feedback loop enables the scheduling mechanism to detect workload changes and adjust scheduling behavior accordingly, reducing latency by responding to actual system conditions rather than relying on fixed schedules.

Inventive Principle:
Principle #23Feedback

2Productivity

If write commands are prioritized, then productivity is improved, but read operations are blocked or slowed down

Engineering Contradiction:
Improvewrite operation throughputVSAvoidread operation speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent changes scheduling parameters dynamically based on workload conditions and memory state. When write operations are detected as priority tasks, the system adjusts scheduling parameters to favor writes; when read operations need attention, parameters are adjusted to prevent write blocking. This parameter adaptation allows the system to optimize for different operation types as needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling mechanism dynamically adjusts its behavior based on real-time conditions, transitioning between write-prioritized and read-prioritized modes. This dynamic adjustment prevents write commands from permanently blocking read operations while still maintaining high write throughput when appropriate, balancing productivity and read speed based on actual system state.

Inventive Principle:
Principle #15Dynamics

3Productivity

If adaptive scheduling is implemented, then throughput and latency are optimized, but device complexity increases

Engineering Contradiction:
Improveaccess command throughputVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the scheduling system into distinct functional components: I/O statistic monitoring, pending access tracking, completed access analysis, and scheduling decision-making. This segmentation allows each component to perform its specific function with manageable complexity, while the overall system achieves adaptive scheduling capabilities through the coordinated interaction of these modular elements.

Inventive Principle:
Principle #1Segmentation

4Measurement precision

If monitoring of I/O statistics is performed, then scheduling accuracy is improved, but use of energy increases

Engineering Contradiction:
Improveworkload detection accuracyVSAvoidpower consumption for monitoring
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system performs partial monitoring by tracking specific I/O statistics that are most relevant to scheduling decisions rather than monitoring all possible parameters. By focusing on key metrics such as pending access counts and completed access patterns, the system achieves sufficient workload detection accuracy while minimizing the energy overhead associated with comprehensive monitoring.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11630609B2Scheduling access commands for data storage devices
Publication Date: 2023.04.18 SANDISK TECHNOLOGIES LLC
  • US11630609B2 patent drawing
  • US11630609B2 patent drawing
  • US11630609B2 patent drawing

AI summary

Systems and methods are disclosed for scheduling access commands for a data storage device. A data storage device determines a layout of a plurality of non-volatile memory arrays. The data storage device also determine completed access statistics and pending access statistics for a first set of the plurality of non-volatile memory arrays during a monitoring period. The data storage device further generates a schedule based on the layout of the plurality of non-volatile memory arrays, the completed access statistics, and the pending access statistics and executes access commands based on schedule.