Adaptive Storage Scheduling for Non-Volatile Memory
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Device complexity
If static scheduling mechanism is used, then device complexity is reduced, but latency increases and throughput decreases when workload changes
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.
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.
2Productivity
If write commands are prioritized, then productivity is improved, but read operations are blocked or slowed down
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.
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.
3Productivity
If adaptive scheduling is implemented, then throughput and latency are optimized, but device complexity increases
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.
4Measurement precision
If monitoring of I/O statistics is performed, then scheduling accuracy is improved, but use of energy increases
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.
Data Source
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.


