Storage Controller Programmable Switch Data Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data migration between heterogeneous storage platforms incurs significant CPU overhead and network congestion due to the need for host system involvement and specific hardware or APIs, limiting efficiency and causing disruptions.

Innovation Solution

Implementing a method that uses a storage controller to establish interfaces with a programmable switch, updating its flow table to route data directly between source and destination storage servers, thereby bypassing host system involvement and optimizing data migration through software-defined networking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If host system software is used to initiate and coordinate data copy operations between heterogeneous storage platforms, then data migration can be achieved, but significant CPU overhead is incurred

Engineering Contradiction:
Improvedata migration capabilityVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

A storage class intermediary is introduced between the host system and storage platforms. This intermediary manages data migration operations independently, allowing the host system to remain unaware of the migration process. The intermediary coordinates copy operations between source and destination storage platforms without requiring continuous host CPU involvement, thereby reducing CPU overhead while maintaining migration capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is transferred through the host system from source storage server to destination storage platform, then data migration is achieved, but network congestion occurs

Engineering Contradiction:
Improvedata migration capabilityVSAvoidnetwork congestion
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The storage class intermediary acts as a mediator that establishes direct communication paths between source and destination storage platforms. This eliminates the need for data to traverse through the host system's network path, thereby avoiding the network congestion that would occur if data went through the host system's network interfaces and processing paths.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The data migration function is extracted from the host system and placed in the storage class intermediary. This extraction allows data migration to occur independently of host system operations, enabling parallel data transfer paths that do not congest the host system's network resources.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If customized hardware or APIs are used for data migration optimization, then migration efficiency is improved, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improvedata migration efficiencyVSAvoidcustomized hardware and APIs
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The storage class intermediary implements a universal data migration mechanism that works across different storage platform types and network protocols. Rather than requiring customized hardware or protocol-specific APIs for each storage platform, the intermediary provides a standardized interface that can migrate data between heterogeneous platforms using existing network infrastructure, thereby reducing device complexity while maintaining migration efficiency.

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

Data Source

PatentUS9832269B2Methods for migrating data between heterogeneous storage platforms and devices thereof
Publication Date: 2017.11.28 NETAPP INC
  • US9832269B2 patent drawing
  • US9832269B2 patent drawing
  • US9832269B2 patent drawing

AI summary

A method, non-transitory computer readable medium, and storage controller computing device that establishes an application interface and a source interface to a programmable switch. A flow table of the programmable switch is updated to insert routing actions associated with the application and source interfaces. Next, when an application request received from an application is locally serviceable is determined. When the determination indicates the application request is not locally serviceable, a migration request for data associated with the application request is sent to the programmable switch from the source interface and a destination address of a source storage server is used. Additionally, a migration response to the migration request including the data from the source storage server is received from the source interface. The data is then stored locally in a destination storage server and thereby is migrated from the source storage server.