Mapping Driver I/O Command Segmentation for Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems (DSSs) face inefficiencies when handling Input/Output (I/O) operations, as they are limited by the fixed number of tracking data structures, leading to maximum I/O size constraints and increased processing complexity, especially when using finer granularities like 512-byte sectors, which can reduce the maximum permitted I/O size significantly.
Innovation Solution
A mapping driver in the DSS splits incoming I/O operations into smaller constituent parts, allowing these to be processed internally without exceeding the fixed number of provisioned tracking data structures, enabling any sized I/O to be processed by issuing the smaller parts sequentially or in parallel, thus eliminating the need for a maximum I/O size constraint.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the DSS uses a fixed number of tracking data structures to process I/O commands, then the system structure remains simple and manageable, but the maximum permitted I/O size is limited
Solution Approach 1:
The patent divides a large I/O command into multiple smaller sub-I/O commands, each of which can be processed by the fixed number of tracking data structures. This segmentation allows the system to handle I/O operations larger than the maximum permitted size by processing them in chunks, thereby resolving the contradiction between limited tracking structures and large I/O size requirements.
2Reliability
If the DSS enforces a maximum permitted I/O size based on fixed tracking data structures, then the system operates within resource constraints, but I/O operations exceeding this size fail or require complex host-side splitting
Solution Approach 1:
The mapping driver automatically performs the splitting of large I/O commands into smaller sub-commands without requiring host intervention. This self-service approach eliminates the need for the host to know about or handle the maximum I/O size limitation, improving reliability while keeping the host-side complexity low.
3Manufacturing precision
If the DSS uses finer granularity (e.g., 512-byte sectors) for storing data, then storage precision and flexibility improve, but the maximum permitted I/O size is reduced due to the fixed number of tracking data structures
Solution Approach 1:
The patent applies segmentation to divide large I/O operations into smaller sub-operations that can be tracked using the fixed number of tracking data structures. This allows the system to maintain fine granularity (512-byte sectors) for precise data management while still supporting large I/O sizes by processing them as sequences of smaller tracked operations.
Data Source
AI summary
A method performed by a mapping driver executing on a DSS includes (a) receiving a data storage command that identifies a portion of storage of the DSS having a given size to which the data storage command is directed, (b) generating a plurality of derived data storage (DDS) instructions from the received data storage command, each DDS instruction of the plurality of DDS instructions identifying a respective sub-portion of the portion to which that DDS instruction is directed, each sub-portion having a respective sub-portion size smaller than the given size, and (c) issuing each DDS instruction separately to a data storage coordination driver also executing on the DSS, the data storage coordination driver being configured to cause each DDS instruction to be performed with respect to storage of the DSS. An apparatus, system, and computer program product for performing a similar method are also provided.


