Virtual Data Storage Cluster Engine I/O Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual data storage cluster engines introduce additional overhead, making data caching challenging in systems with multiple virtual machines accessing data across different sites without centralized management.

Innovation Solution

A distributed system where virtual machines access a virtual data storage cluster engine that transfers I/O data and caches it, allowing some I/O operations to bypass the cluster engine, with drivers routing operations directly to volumes and managing cache data, and caching only frequently accessed shared volumes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a virtual data storage cluster engine is used to manage data access and caching, then data caching availability is improved, but system overhead increases

Engineering Contradiction:
Improvedata caching availabilityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments I/O operations into two paths: a centralized path through the virtual data storage cluster engine for caching operations, and a direct path from VM drivers to storage volumes that bypasses the engine. This segmentation allows caching functionality to be preserved while reducing overhead for operations that don't require centralized management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual data storage cluster engine acts as an intermediary that coordinates caching operations between multiple VMs and storage volumes. It manages the cache memory and coordinates data transfers, enabling centralized caching without requiring all I/O operations to pass through the engine.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If all I/O operations pass through the virtual data storage cluster engine, then centralized data management is improved, but access speed decreases

Engineering Contradiction:
Improvecentralized data managementVSAvoiddata access speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The I/O path is segmented into centralized management functions (cache coordination, metadata management) handled by the virtual data storage cluster engine, and direct data transfer paths that bypass the engine. This allows centralized management of caching while maintaining fast direct access for data transfers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies centralized management partially - only for operations that benefit from caching coordination (read/write operations that may be cached), while allowing direct unmanaged access for operations that don't require caching. This partial application of centralized management maintains speed while providing caching where beneficial.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If a distributed system without centralized management is used, then system overhead is reduced, but data caching becomes difficult

Engineering Contradiction:
Improvesystem overheadVSAvoiddata caching availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The virtual data storage cluster engine serves as a lightweight intermediary that enables distributed caching coordination. It manages cache memory allocation, tracks cached data locations, and coordinates transfers between cache and volumes, enabling caching in a distributed architecture without requiring full centralized management of all I/O operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The virtual data storage cluster engine provides multiple functions: it manages caching operations, coordinates data transfers between sites, and handles cache consistency across distributed VMs. This multi-functionality allows a single component to enable caching in a distributed system without requiring separate centralized management infrastructure.

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

4Productivity

If I/O operations are routed directly to volumes, then access efficiency is improved, but cache consistency becomes challenging

Engineering Contradiction:
Improvedata access efficiencyVSAvoidcache consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the virtual data storage cluster engine monitors I/O operations routed directly to volumes and updates cache state accordingly. When direct I/O operations occur, the engine receives notifications and updates its cache metadata to maintain consistency, ensuring that subsequent cached operations reflect the current state of data.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before routing I/O operations directly to volumes, the system performs preliminary checks with the virtual data storage cluster engine to determine if data should be cached. For write operations, the engine may pre-allocate cache slots and establish consistency protocols before the direct I/O occurs, preventing consistency issues before they arise.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10620845B1Out of band I/O transfers
Publication Date: 2020.04.14 EMC IP HLDG CO LLC
  • US10620845B1 patent drawing
  • US10620845B1 patent drawing
  • US10620845B1 patent drawing

AI summary

Handling I/O operations between a plurality of virtual machines and a plurality of data storage volumes containing data for the virtual machines includes the virtual machines accessing a virtual data storage cluster engine that transfers I/O data between the virtual machines and the data storage volumes and caches at least some of the I/O data, where the virtual data storage cluster appears as a data storage volume to the virtual machines and includes drivers of at least some of the virtual machines routing at least some I/O operations directly to the volumes, where data for I/O operations that is directly routed does not pass through the virtual data storage cluster engine. Drivers for at least one of the virtual machines on a local site may communicate with drivers on a remote site in response to performing an I/O operation with at least one volume on the remote site.