Synchronous Replication via Zero-Copy Parallel Splitting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data replication techniques face challenges in maintaining synchronous replication relationships between storage controllers, particularly due to issues like storage controller failures and transient network problems, which can cause replicated copies to become out-of-sync.

Innovation Solution

The implementation of synchronous replication using a parallel splitting based architecture allows for multiple synchronous copies to be maintained without increasing client latency or overhead. This includes features like quick reconciliation, inflight time tracking, zero-copy operations, and load balancing between replication storage objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous replication is implemented between storage controllers, then data consistency is improved, but system complexity increases due to network connectivity requirements and coordination overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments replication relationships into hierarchical levels: primary storage controller to secondary storage controller, and secondary to witness storage controller. This segmentation isolates complexity into manageable components where each controller pair handles specific replication tasks, reducing overall system complexity while maintaining data consistency through structured coordination protocols.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The witness storage controller acts as an intermediary that receives replication data from secondary storage controllers and provides coordination information back to primary controllers. This intermediary role simplifies the primary-secondary coordination by introducing a dedicated component that handles synchronization state tracking and failure detection, reducing the complexity burden on primary controllers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple synchronous copies are maintained, then data protection is improved, but client latency increases due to additional write operations required

Engineering Contradiction:
Improvedata protectionVSAvoidclient latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing replication relationships and pre-configuring witness storage controllers before failures occur. Write operations are batched and processed in preliminary groups, allowing the system to maintain multiple synchronous copies through pre-planned replication sequences rather than reactive copying, thereby reducing the time penalty for maintaining data protection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses efficient copying mechanisms where the primary storage controller sends replication data to secondary controllers, which then copy data to witness controllers. This multi-level copying approach distributes the replication burden across multiple components, allowing each copy operation to be optimized independently and reducing the overall time impact on client write operations.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If storage controllers are located at remote sites, then disaster recovery capability is improved, but network bandwidth requirements increase for maintaining synchronization

Engineering Contradiction:
Improvedisaster recovery capabilityVSAvoidnetwork bandwidth requirements
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by allowing storage controllers at remote sites to operate with locally-optimized replication parameters. Each remote site can configure its own replication frequency, data block sizes, and synchronization intervals based on local network conditions and disaster recovery requirements. This localized configuration reduces unnecessary network bandwidth consumption while maintaining adequate disaster recovery capability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements periodic action through scheduled replication cycles between remote storage controllers and witness controllers. Instead of continuous real-time synchronization, data is replicated at periodic intervals that balance disaster recovery requirements with network bandwidth constraints. This periodic approach allows remote sites to maintain synchronization adequacy while significantly reducing sustained network bandwidth requirements.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS12282678B2Synchronous replication
Publication Date: 2025.04.22 NETAPP INC
  • US12282678B2 patent drawing
  • US12282678B2 patent drawing
  • US12282678B2 patent drawing

AI summary

One or more techniques and/or computing devices are provided for synchronous replication. For example, synchronous replication relationships are established between a first storage object (e.g., a file, a logical unit number (LUN), a consistency group, etc.), hosted by a first storage controller, and a plurality of replication storage objects hosted by other storage controllers. In this way, a write operation to the first storage object is implemented in parallel upon the first storage object and the replication storage objects in a synchronous manner, such as using a zero-copy operation to reduce overhead otherwise introduced by performing copy operations. Reconciliation is performed in response to a failure so that the first storage object and the replication storage objects comprise consistent data. Failed write operations and replication write operations are retried, while enforcing a single write semantic. Dependent write order consistency is enforced for dependent write operations, such as overlapping write operations.