File System I/O List Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face performance issues due to cascading sequential ordering of overlapping I/O lists, which leads to adverse impacts on data integrity and storage system performance, as they serially commit overlapping writes to the same file block, impacting efficiency and speed.

Innovation Solution

A method is introduced to manage concurrent I/O operations by identifying conflicts between I/O lists, modifying them to eliminate overlaps, and allowing non-conflicting lists to be flushed concurrently, while ensuring data integrity by merging data values and removing conflicting blocks, thus enabling parallel flushing of I/O lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If overlapping I/O lists are serially committed to maintain data integrity, then data integrity is preserved, but storage system performance deteriorates due to sequential processing

Engineering Contradiction:
Improvedata integrityVSAvoidstorage system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the I/O lists by identifying and separating conflicting I/O lists from non-conflicting I/O lists. Conflicting I/O lists (those that overlap in the sequential order) are processed separately from non-conflicting lists, allowing parallel processing of independent segments while maintaining data integrity for overlapping regions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts the processing strategy based on conflict detection. The system transitions from a static sequential processing model to a dynamic model where the processing order and parallelism are determined by real-time conflict analysis between I/O lists, enabling flexible optimization of both integrity and performance.

Inventive Principle:
Principle #15Dynamics

2Reliability

If I/O lists are processed sequentially in conflict resolution, then data integrity is maintained, but processing time increases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary conflict detection and classification of I/O lists before the actual commit operation. By identifying conflicting and non-conflicting lists in advance, the system can prepare parallel processing paths beforehand, reducing the time lost during the actual commit phase while ensuring data integrity through pre-validated conflict resolution.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If all I/O lists are flushed sequentially to ensure proper ordering, then sequential consistency is maintained, but throughput decreases

Engineering Contradiction:
Improvesequential consistencyVSAvoidthroughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the I/O flush operation into multiple parallel streams based on conflict relationships. Non-conflicting I/O lists are grouped into separate segments that can be flushed simultaneously to different storage locations or through different channels, while conflicting lists maintain their sequential order, thereby achieving both throughput improvement and sequential consistency where required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallel processing by flushing I/O lists through multiple independent paths or channels. Instead of a single sequential flush path, the system creates parallel flush paths for non-conflicting lists, effectively transforming the one-dimensional sequential process into a multi-dimensional parallel process that maintains consistency while increasing throughput.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS10514865B2Managing concurrent I/O operations
Publication Date: 2019.12.24 EMC IP HLDG CO LLC
  • US10514865B2 patent drawing
  • US10514865B2 patent drawing
  • US10514865B2 patent drawing

AI summary

Techniques for a managing concurrent I/Os in a file system may include receiving a sequence of conflicting I/O lists of write data stored in a cache, the sequence specifying a sequential order in which the I/O lists are to be flushed to a file stored on non-volatile storage; determining a first I/O list of the sequence having a conflict with a second I/O list of the sequence, wherein the conflict between the first I/O list and the second I/O list is a first common block written to by both the first and second I/O lists; and performing first processing that modifies the first I/O list and the second I/O list to remove the conflict.