Host I/O Sequence Routing for Storage Resource Overhead Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face inefficiencies in managing I/O operations across multiple paths, leading to resource management challenges and suboptimal performance, particularly when handling sequences of operations directed to the same logical address subrange.
Innovation Solution
A method and system that detect sequences of I/O operations targeting the same logical address subrange, allowing resources to be retained or released based on indicators within the I/O operations, optimizing resource usage by sending these operations to the same target port and processing them efficiently, including determining the start and end of sequences to manage resource allocation effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If I/O operations are sent to different target ports for load balancing, then resource utilization is improved, but resource acquisition and release overhead increases
Solution Approach 1:
The system performs preliminary actions by detecting sequences of I/O operations and pre-establishing that they should be sent to the same target port. The host driver identifies sequential I/O patterns and proactively routes them to a single target port before the operations are executed, avoiding the need for repeated resource acquisition and release that would occur with dynamic port selection.
Solution Approach 2:
The invention segments I/O operations into sequences that share common characteristics (same logical address subrange, sequential nature) and routes each segment to a dedicated target port. This segmentation allows the system to maintain multiple paths for different sequences while keeping resources held for shorter durations within each sequence, thereby reducing overall overhead.
2Productivity
If resources are retained for sequence processing, then processing efficiency is improved, but resource availability for other operations deteriorates
Solution Approach 1:
The system performs preliminary detection of I/O sequences and pre-allocates target ports for these sequences. By identifying sequential patterns in advance, the system can hold resources for the duration of the sequence without interfering with the allocation of resources to other non-sequential I/O operations, thus maintaining both processing efficiency and resource availability.
3Reliability
If multiple paths are used for I/O operations, then path redundancy is improved, but resource management complexity increases
Solution Approach 1:
The invention segments the multipath management problem by identifying distinct I/O sequences and assigning each sequence to a specific target port. This segmentation simplifies resource management within each sequence while maintaining multiple paths across different sequences, thereby reducing the complexity of managing resources across all paths simultaneously.
Solution Approach 2:
The system applies local quality by allowing different resource management strategies for different I/O sequences. Each sequence can be routed to a specific target port with dedicated resource allocation, while other sequences use different paths. This localized approach maintains path redundancy without requiring complex global resource management.
Data Source
AI summary
Techniques for processing I/O operations may include: detecting, at a host, a sequence of I/O operations to be sent from the host to a data storage system, wherein each of the I/O operations of the sequence specifies a target address included in a first logical address subrange of a first logical device; sending, from the host, the sequence of I/O operations to a same target port of the data storage system, wherein each of the I/O operations of the sequence includes an indicator denoting whether resources used by the same target port in connection with processing said each I/O operation are to be released subsequent to completing processing of said each I/O operation; receiving the sequence of I/O operations at the same target port of the data storage system; and processing the sequence of I/O operations.


