Storage System Read Latency Reduction via Priority Queue Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems experience increased read latency due to write pressure, where synchronous read requests are delayed by asynchronous write requests, leading to prolonged data retrieval times and potential timeouts.
Innovation Solution
Implementing a queue management system that prioritizes high-priority read requests by separating them from write requests, using distinct queues such as BKG, SYNC, and INTERMEDIATE queues, and employing an NVMe arbitration mechanism to ensure timely processing of read requests without starving other IO operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If all read and write requests are placed in a single queue for processing, then the queue management structure remains simple, but read latency increases significantly under write pressure
Solution Approach 1:
The patent segments the single queue into multiple priority-based queues (high-priority queue for synchronous read requests, low-priority queue for asynchronous operations). This segmentation allows read requests to be processed independently from write requests, preventing read latency from increasing under write pressure while maintaining manageable system complexity through structured queue organization.
Solution Approach 2:
The patent implements dynamic priority-based queue management where the system can adaptively select which queue to process based on current load conditions. The arbitration mechanism dynamically adjusts processing priority between high-priority read requests and low-priority write requests, optimizing read latency performance without requiring complex manual intervention.
2Productivity
If synchronous read requests are processed with asynchronous write requests in the same queue, then resource utilization is maximized, but read requests get stuck behind write requests increasing latency
Solution Approach 1:
The patent divides the request processing into separate segments: a high-priority queue for synchronous read requests and a low-priority queue for asynchronous write requests. This segmentation ensures that read requests are processed independently and not blocked by write requests, maintaining both resource utilization efficiency and read latency performance.
Solution Approach 2:
The patent introduces an arbitration mechanism as an intermediary between the queue management and request processing. This intermediary selectively mediates between high-priority read requests and low-priority write requests, ensuring that read requests receive timely processing while still allowing write requests to be processed when appropriate, thus balancing resource utilization with read latency requirements.
3Productivity
If write requests are processed asynchronously without differentiation from read requests, then write throughput is maintained, but read requests experience increased latency and potential timeouts
Solution Approach 1:
The patent segments request processing into distinct priority levels: high-priority queue for synchronous read requests that require reliable timely completion, and low-priority queue for asynchronous write requests that can tolerate delays. This segmentation maintains write throughput while ensuring read request reliability by preventing read requests from being starved by write requests.
Solution Approach 2:
The patent implements feedback mechanisms through the arbitration system that monitors queue conditions and adjusts processing priorities accordingly. When read requests are present in the high-priority queue, the arbitration mechanism ensures they are processed before low-priority write requests, providing feedback that maintains read reliability without significantly impacting overall write throughput.
Data Source
AI summary
A processing device is configured to receive a plurality of input-output requests in a storage system, the input-output requests comprising read requests and write requests, to determine priorities of respective ones of the read requests, to place one or more of the read requests each having a relatively low priority in a first one of a plurality of queues in one of a plurality of processing cores of the storage system, to place one or more of the read requests each having a relatively high priority in a second one of the plurality of queues in the processing core, and to place the write requests in the first queue. The storage system services the read requests and the write requests from their corresponding ones of the first and second queues, illustratively resulting in reduced read latency for one or more relatively high priority read requests placed in the second queue.


