Hardware Queue Storage Control for Ordered IO Delivery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing file systems in multi-core processor environments face issues with IO requests being out of order, leading to suspension of the system due to inefficient serial delivery of IO requests, which wastes hardware queue resources and deteriorates user experience.
Innovation Solution
A storage sequence preserving system that includes a storage control apparatus and apparatus, utilizing a hardware queue to manage IO requests by identifying key IOs and non-key IOs, where key IOs are prioritized and non-key IOs are rate-limited, ensuring sequential delivery and efficient use of the hardware queue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If IO requests are delivered in serial manner to preserve address sequence, then storage reliability is improved, but system productivity deteriorates due to hardware queue resource waste and suspension
Solution Approach 1:
The patent segments IO requests into two categories: sequence-preserving IO requests (which must maintain address order) and non-sequence-preserving IO requests (which can be processed freely). This segmentation allows the system to process different types of requests through different pathways, resolving the contradiction between maintaining sequence reliability and achieving high productivity.
Solution Approach 2:
The patent introduces a sequence preserving manager as an intermediary component between the file system and storage device. This manager acts as a mediator that identifies sequence-preserving IO requests, manages the hardware queue, and coordinates with the storage device to ensure proper sequencing without blocking non-sequence-preserving requests, thus maintaining both reliability and productivity.
2Productivity
If hardware queue is fully utilized for concurrent IO processing, then system productivity is improved, but storage reliability deteriorates due to out-of-order delivery causing suspension
Solution Approach 1:
The patent implements dynamic management of the hardware queue by the sequence preserving manager, which adaptively controls the delivery of sequence-preserving IO requests based on the current state of the storage device and queue. This dynamic approach allows the system to maximize concurrent processing while maintaining sequence integrity when necessary, resolving the contradiction between productivity and reliability.
Solution Approach 2:
The patent changes the parameter of IO request classification by introducing the concept of sequence-preserving versus non-sequence-preserving requests. This parameter change enables the system to differentiate handling strategies, allowing full hardware queue utilization for non-sequence-preserving requests while applying sequence control only where necessary, thus achieving both high productivity and reliability.
3Reliability
If serial delivery of IO requests is implemented to maintain address sequence, then storage reliability is improved, but device complexity increases due to rate limiting and key IO identification mechanisms
Solution Approach 1:
The storage device itself performs the sequence preservation function through its native hardware queue mechanism. The sequence preserving manager leverages the storage device's existing capabilities rather than adding complex external control mechanisms. This self-service approach maintains sequence reliability while minimizing additional device complexity.
Solution Approach 2:
The sequence preserving manager serves multiple functions: identifying sequence-preserving IO requests, managing hardware queue delivery, coordinating with the storage device, and handling both sequence-preserving and non-sequence-preserving requests. This multi-functionality reduces the need for separate dedicated mechanisms, thereby maintaining reliability while controlling overall system complexity.
Data Source
Figure 1
Figure 2
Figure 3a
AI summary
This application provides a storage control method, and relates to the terminal field. At least one key IO is identified from a plurality of IOs, the at least one key IO is delivered to a hardware queue, and at least one non-key IO other than the at least one key IO in the plurality of IOs is delivered to the hardware queue through rate limiting. During the delivery through the rate limiting, a quantity of at least one non-key IO is less than a quantity of IOs that the hardware queue is able to contain. In the method, the key IO in the plurality of IOs is delivered to the hardware queue, and the non-key IO is delivered to the hardware queue through rate limiting, so that the entire IO delivery queue can not only maintain a sequence for execution, but also fully utilize the hardware queue. This avoids system suspension.