Concurrent Sub-I/O Request Processing in Data Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face inefficiencies in processing host I/O requests due to serial handling of sub-I/O requests, which can lead to suboptimal performance and resource management challenges, especially when dealing with 'thin' logical units where underlying storage is allocated on an as-needed basis.

Innovation Solution

The technique involves issuing multiple sub-I/O requests concurrently based on mapping information, with reordering capabilities to maintain address order and efficient use of sub-I/O request tracking structures, allowing for reliable and efficient data transfer across multiple underlying storage units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sub-I/O requests are issued serially for extents of underlying storage, then the processing is simple to manage, but the performance is suboptimal due to sequential handling

Engineering Contradiction:
ImproveI/O request processing performanceVSAvoidsub-I/O request tracking structure management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments a single host I/O request into multiple sub-I/O requests corresponding to different extents of underlying storage. Each extent is mapped to specific underlying logical units, and sub-I/O requests are issued concurrently for each extent rather than serially. This segmentation enables parallel processing of storage operations while maintaining the ability to track each sub-request individually through dedicated tracking structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces sub-I/O request tracking structures as intermediary components that mediate between the concurrent sub-I/O requests and the host-side interface. These tracking structures monitor the completion status of each sub-request, manage the reordering of responses, and coordinate the aggregation of results. This intermediary layer enables concurrent processing while maintaining the ordering requirements of the host interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple sub-I/O requests are issued concurrently for different extents, then processing performance improves, but resource management becomes more challenging due to tracking multiple requests

Engineering Contradiction:
Improveconcurrent sub-I/O request processingVSAvoidtracking structure resource management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a pool of sub-I/O request tracking structures that are allocated for concurrent requests and then recovered (freed) upon completion. When sub-I/O requests complete, their associated tracking structures are released back to the pool for reuse by subsequent host I/O requests. This allocation and recovery mechanism enables efficient resource management for concurrent processing without requiring permanent tracking structures for each request.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The tracking structures serve multiple functions: they track the status of individual sub-I/O requests, manage the reordering of responses to maintain address ordering, coordinate data transfer between device-side and host-side interfaces, and facilitate the pooling and reuse of resources. This multi-functionality reduces the overall system complexity despite handling multiple concurrent requests.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If extents are transferred in address order to maintain host-side interface requirements, then interface compatibility is maintained, but transfer speed may be reduced compared to parallel transfer

Engineering Contradiction:
Improvehost-side interface compatibilityVSAvoidextent transfer speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent performs preliminary actions by issuing all sub-I/O requests for different extents concurrently at the device-side interface before data transfer begins. The tracking structures are pre-configured to handle the reordering of responses. This preliminary concurrent issuance maximizes the parallel processing benefit, while the reordering mechanism ensures that responses are delivered to the host-side interface in the correct address order, thus maintaining compatibility without sacrificing transfer speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10037289B1Data storage system with efficient processing of single mapping callback for host I/O requests
Publication Date: 2018.07.31 EMC IP HLDG CO LLC
  • US10037289B1 patent drawing
  • US10037289B1 patent drawing
  • US10037289B1 patent drawing

AI summary

In a data storage system a host I/O request is received from a host-side interface, the host I/O request specifying a range of logical block addresses (LBAs) of a mapped logical unit (MLU). Mapping information is obtained for a plurality of extents of the underlying logical units of storage. If there are a sufficient number of free sub-I/O request tracking structures to track completion of a plurality of respective sub-I/O requests for the extents, then the sub-I/O requests are concurrently issued to the device-side interface, using the mapping information. Upon receiving transfer initiation responses for the sub-I/O requests to initiate transfer of the respective extents, they are forwarded to the host-side interface to cause the respective extents to be transferred to/from the host. As the transfer initiation responses are forwarded to the host-side interface, the respective sub-I/O request tracking structures are freed for use in processing subsequent host I/O requests.