Bidirectional Replication for Active-Active Storage Arrays

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems with replication functionality often restrict the secondary array to read-only access for hosts, leading to increased cross-site communication and complexity in cache coherency, which can result in poorer performance and higher processing overhead.

Innovation Solution

Implementing bidirectional replication technologies that allow both primary and secondary arrays to receive and process host writes as active targets, with the secondary array maintaining fenced writes until acknowledgment from the primary array, reducing cross-site communication and eliminating the need for complex cache coherency schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the secondary array is restricted to read-only access, then data safety is improved through replication, but cross-site communication increases and cache coherency complexity increases

Engineering Contradiction:
Improvedata safetyVSAvoidcache coherency complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic role assignment where arrays can switch between primary and secondary roles based on operational needs. The system dynamically manages replication directions and access rights, allowing the secondary array to become active for writes under certain conditions while maintaining read-only status otherwise, thus reducing cache coherency complexity while preserving data safety

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the access parameter of the secondary array from permanently read-only to conditionally writable. By modifying the write-access parameter based on replication status and operational context, the system achieves both data safety through replication and reduced complexity by avoiding unnecessary cross-site communication for local writes

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the secondary array is restricted to read-only access, then data safety is improved through replication, but processing overhead increases

Engineering Contradiction:
Improvedata safetyVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The secondary array serves itself by processing local write requests directly without requiring cross-site communication to the primary array. When the secondary array receives a write request, it can fulfill the request locally using its own cache and storage resources, eliminating the processing overhead associated with transmitting data back to the primary array for validation and replication

Inventive Principle:
Principle #25Self-service

3Productivity

If bidirectional replication is implemented, then cross-site communication is reduced, but system complexity increases

Engineering Contradiction:
Improvecross-site communication reductionVSAvoidreplication process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the replication process into distinct modes: synchronous replication mode for data safety-critical operations and asynchronous replication mode for performance-optimized operations. This segmentation allows the system to reduce cross-site communication for local writes while maintaining complexity management through clear mode differentiation and dedicated handling paths

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3462299B1Bidirectional replication
Publication Date: 2020.05.20 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3462299B1 patent drawingFigure 1
  • EP3462299B1 patent drawingFigure 2
  • EP3462299B1 patent drawingFigure 3

AI summary

An example data storage system includes a first storage array having a first LUN and a second storage array having a second LUN. The first and second storage arrays may implement replication from the first LUN as a primary LUN to the second LUN as a secondary LUN. The first and second LUNs may both be an active target for host write I/O. The second storage array may, in response to receiving from a host a write that is directed to the second LUN, send write data of the write to the first storage for replication array while maintaining a copy of the write data in a fenced portion of a cache of the second storage array. The second storage array may wait to release the copy of the write data to the second LUN until a write acknowledgment is received from the first storage array.