Bidirectional Replication for Active-Active Storage Arrays
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If the secondary array is restricted to read-only access, then data safety is improved through replication, but processing overhead increases
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
3Productivity
If bidirectional replication is implemented, then cross-site communication is reduced, but system complexity increases
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
Data Source
Figure 1
Figure 2
Figure 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.