Storage Queue Segmentation for Disk Head Seeking Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face performance constraints due to overwhelming backend resources and inefficient disk access, leading to delayed requests and reduced throughput, especially in scenarios with burst loads and uneven workload distribution.
Innovation Solution
Implementing a double queue technique with an incoming FIFO queue and an ordered queue for RAID group requests, where requests are processed in order by logical block address (LBA) and RAID group, preventing resource overload and optimizing disk head seeking.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If requests are processed using a single FIFO queue, then implementation is simple, but disk head seeking is excessive and throughput is reduced
Solution Approach 1:
The single FIFO queue is segmented into two separate queues: an incoming queue for receiving requests and an ordered queue for processing requests in LBA order. This segmentation allows the system to maintain simplicity in request reception while improving throughput through ordered processing, resolving the contradiction between simple implementation and high productivity.
2Productivity
If requests are processed in LBA order using an ordered queue, then disk head seeking is reduced, but request processing delay increases due to ordering overhead
Solution Approach 1:
Requests are preliminarily ordered by LBA in the ordered queue before being processed by the disk drive. By performing the ordering action in advance and maintaining a ready-to-process ordered queue, the system reduces disk head seeking during actual processing while minimizing the time loss associated with ordering operations.
3Productivity
If backend resources are overwhelmed with concurrent requests, then system capacity is utilized maximally, but request processing quality deteriorates and starvation occurs
Solution Approach 1:
The system dynamically manages the ordered queue by continuously transferring requests from the incoming queue to the ordered queue based on processing status. This dynamic adjustment allows the system to maintain high capacity utilization while ensuring fair processing through LBA ordering, preventing starvation of any particular request.
Data Source
AI summary
A method is used in managing accesses to storage objects. Access I/Os being directed to at least one storage object are received into a first queue that operates on a first in first out basis. In accordance with the first in first out basis, a batch of the access I/Os is created from the first queue. The batch is transferred to a second queue that is controlled by ordering logic. The batch in the second queue is ordered in accordance with the ordering logic. All of the access I/Os from the second queue are processed in order, before any additional access I/Os are added to the second queue.


