Parallel Sub-I/O Request Handling in Data Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems, existing methods for processing host I/O requests are inefficient due to serial handling of extents, which limits performance and resource utilization, especially when underlying storage is allocated on an as-needed basis for 'thin' logical units (TLUs).
Innovation Solution
The technique involves issuing multiple sub-I/O requests concurrently for extents of underlying storage, with the option to reorder transfer initiation responses to maintain address ordering, and returning mapping information in a single response to enhance efficiency and performance, utilizing a memory-based storage cache for optimized data transfer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple sub-I/O requests are issued concurrently for extents of underlying storage, then processing performance and resource utilization are improved, but complexity of request management and re-ordering logic increases
Solution Approach 1:
The host I/O request is segmented into multiple sub-I/O requests, each targeting a specific extent of underlying storage. This segmentation enables concurrent processing of different extents while maintaining the ability to manage each sub-request independently, thus improving performance without overwhelming system complexity
Solution Approach 2:
Mapping information for all extents is obtained in advance before issuing sub-I/O requests. This preliminary action allows the system to prepare all necessary mapping data and request structures beforehand, enabling efficient concurrent processing while reducing the complexity of real-time request management
2Loss of energy
If mapping information for all extents is returned in a single mapping response, then messaging overhead is reduced and efficiency is improved, but the complexity of handling and processing the consolidated information increases
Solution Approach 1:
Mapping information for all extents is merged into a single mapping response instead of being returned separately for each extent. This consolidation reduces the number of messages exchanged and lowers messaging overhead, while the structured format of the combined response makes it manageable for processing
3Stability of the object's composition
If extents are transferred in address order to maintain logical ordering, then interface consistency is maintained, but transfer speed may be reduced compared to parallel transfer
Solution Approach 1:
The system dynamically handles the transfer of extents by initiating multiple sub-I/O requests concurrently and then re-ordering the responses to match address order before presenting them to the host-side interface. This dynamic approach maintains consistency while maximizing transfer speed through parallel operations
Solution Approach 2:
A re-ordering mechanism acts as an intermediary between the concurrent sub-I/O requests and the host-side interface. This intermediary receives responses in any order from parallel transfers, re-orders them according to address sequence, and then presents them to the interface, thus maintaining consistency without sacrificing transfer speed
Data Source
AI summary
A method in a data storage system includes receiving a host I/O request from a host-side interface that specifies a range of logical block addresses (LBAs) of a mapped logical unit (MLU) of storage that is mapped through a device-side interface to underlying logical units of storage. Mapping information is obtained for extents of the underlying logical units of storage mapped to sub-ranges of the range of LBAs. Sub-I/O requests for the extents are concurrently issued to the device-side interface based on the mapping information. The device-side interface provides transfer initiation responses to initiate transfer of the extents, the responses being received and forwarded to the host-side interface to cause the host-side interface to transfer the extents in a transfer phase. The transfer initiation responses may be re-ordered as necessary to enable the host-side interface to transfer the extents in address order in satisfaction of the host I/O request.


