Synchronous Replication via Zero-Copy Parallel Splitting
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If multiple synchronous copies are maintained, then data protection is improved, but client latency increases due to additional write operations required
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.
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.
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
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.
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.
Data Source
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.


