Storage Controller Parallel Read Scheduling for Lower Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face inefficiencies in processing read operations, particularly in managing parallel-read requests, leading to increased latency and response times due to suboptimal allocation of read commands across multiple cores.
Innovation Solution
A data storage system and method that dynamically assigns read commands to multiple cores, allowing for parallel processing based on the workload and operating speed of each core, optimizing read scheduling to minimize latency and maximize efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If read commands are processed sequentially by a single core, then device complexity is reduced, but read latency and response time increase
Solution Approach 1:
The patent divides the command processing function into multiple independent cores (first core and second core), where each core can process read commands independently and in parallel. This segmentation allows simultaneous execution of multiple read operations, reducing overall read latency while maintaining manageable complexity through modular design
Solution Approach 2:
The controller dynamically determines whether to process read commands sequentially or in parallel based on real-time conditions such as the number of unprocessed commands and host requirements. This dynamic adaptation allows the system to optimize between sequential simplicity and parallel performance based on actual workload demands
2Productivity
If parallel-read operations are implemented without dynamic scheduling, then read throughput increases, but system adaptability to varying workloads decreases
Solution Approach 1:
The system employs dynamic scheduling that adjusts the degree of parallelism based on workload characteristics. The controller evaluates the number of unprocessed commands and host read requirements to determine optimal processing strategies, enabling adaptation to varying workload intensities and patterns while maintaining high throughput when conditions favor parallel processing
Solution Approach 2:
The controller continuously monitors system state including command queues and processing status, using this feedback to make real-time decisions about parallel-read execution. This feedback mechanism ensures the system adapts to changing workload conditions while maintaining optimized read throughput through informed scheduling decisions
3Loss of time
If all read commands are processed in parallel, then response time decreases, but control complexity and scheduling difficulty increase
Solution Approach 1:
The patent segments read commands into different categories (first read commands and second read commands) that can be processed by different cores according to their characteristics. This segmentation simplifies scheduling by creating clear assignment rules while enabling parallel processing, reducing response time without proportionally increasing control complexity
Solution Approach 2:
The controller acts as an intermediary that manages the complexity of parallel scheduling by implementing a standardized command assignment mechanism. It translates diverse read requirements into structured parallel operations, handling scheduling complexity centrally while allowing individual cores to execute simple, well-defined tasks
Data Source
AI summary
The present technology provides a data storage system, comprising: a data storage device and a controller configured to receive read requests from a host and control the data storage device by generating first read commands to read the data corresponding to first addresses. The controller is further configured to: generate second read commands to read the data corresponding to second addresses that are consecutive to the first addresses, in response to presence of a parallel-read execution condition during processing of the first read commands; make a comparison of a read command number with an outstanding first read count; assign each of the first read commands and the second read commands to either a first command processing operation or a second command processing operation based on a result of the comparison; and perform the first and second command processing operations in parallel within the reference time.


