Kernel IO Entry Function Replacement for Protocol-Agnostic Data Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data migration techniques require host device downtime or reconfiguration for final synchronization, leading to inefficiencies in storage systems due to the need for pathing software and underlying transport protocol compatibility.

Innovation Solution

Implementing kernel-level IO entry function replacement to reroute IO operations from a source volume to a destination volume, allowing seamless data migration without host device downtime or reconfiguration, even when different transport protocols or multipath drivers are used.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional data migration techniques are used, then data can be migrated from source volume to destination volume, but host device downtime or reconfiguration is required for final synchronization

Engineering Contradiction:
Improvedata migration completenessVSAvoidhost device downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a pathing device as an intermediary component that sits between the host device and storage volumes. This pathing device intercepts and redirects I/O operations during data migration, allowing the host device to continue operating without downtime while data is synchronized from source to destination volume. The pathing device acts as a mediator that manages the complexity of migration transparently to the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary setup of the pathing device and destination volume before actual data migration begins. The pathing device is configured in advance to recognize and redirect I/O operations, and the destination volume is prepared to receive data. This preliminary configuration eliminates the need for host device reconfiguration during migration, as the pathing device handles all changes beforehand.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If host device reconfiguration is performed for final synchronization, then data consistency can be ensured, but storage system efficiency decreases due to host device unavailability

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage system efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The pathing device serves as an intermediary that manages data consistency without requiring host device involvement. It automatically redirects I/O operations to the appropriate volume (source or destination) and ensures that all writes are properly synchronized. This eliminates the need for host device reconfiguration while maintaining data consistency, thereby preserving storage system efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data migration process into independent components: the pathing device handles I/O redirection, the source volume maintains original data, and the destination volume receives migrated data. This segmentation allows each component to operate independently, with the pathing device managing consistency without requiring the host device to stop operations or be reconfigured.

Inventive Principle:
Principle #1Segmentation

3Reliability

If pathing software compatibility is required for data migration, then proper routing can be achieved, but system complexity increases due to protocol matching requirements

Engineering Contradiction:
ImproveI/O operation routingVSAvoidpathing software compatibility
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The pathing device is designed with universal functionality that allows it to handle multiple transport protocols (SCSI, NVMe, and others) through a single unified interface. Instead of requiring separate pathing software for each protocol, the pathing device provides multi-protocol support, eliminating the need for protocol matching and reducing system complexity while maintaining reliable I/O routing.

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

4Reliability

If multiple synchronization iterations are performed to ensure data consistency, then data accuracy improves, but migration time increases

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

Solution Approach 1:

The pathing device enables continuous I/O operations during data migration by automatically redirecting writes to the destination volume while maintaining the appearance of normal operation to the host. This continuous operation eliminates the need for multiple synchronization iterations, as data is migrated in real-time alongside normal I/O workloads, achieving both data accuracy and time efficiency.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11126358B2Data migration agnostic of pathing software or underlying protocol
Publication Date: 2021.09.21 EMC IP HLDG CO LLC
  • US11126358B2 patent drawing
  • US11126358B2 patent drawing
  • US11126358B2 patent drawing

AI summary

An apparatus in one embodiment comprises a host device configured to communicate with a storage system. Responsive to an instruction to migrate data from a source volume to a destination volume, the host device replaces an input-output entry function of a source pathing device associated with the source volume with a migration input-output entry function that is configured, in response to receiving an input-output operation, to call an input-output entry function of a destination pathing device associated with the destination volume and to call the input-output entry function of the source pathing device. Responsive to an indication that a migration of data has completed, the host device replaces the migration input-output entry function with a post-migration input-output entry function. The post-migration input-output function is configured to call the input-output entry function of the destination pathing device in response to receiving an input-output operation.