Bitmap-Based Synchronous Replication for Storage Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional synchronous replication techniques in data storage systems are time-consuming, resource-intensive, and inefficient, particularly when data inconsistencies arise between storage nodes due to communication failures or node transitions, leading to inefficient synchronization and resource wastage.
Innovation Solution
The method employs bitmap-based synchronous replication, where a secondary storage node requests and merges bitmaps from primary and secondary nodes to identify and reconcile inconsistent data blocks, sending only necessary blocks for synchronization, thereby reducing latency and resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional synchronous replication techniques are used to ensure data consistency between storage nodes, then data reliability is improved, but synchronization time and resource consumption increase significantly
Solution Approach 1:
The patent segments the replication process by using bitmaps to identify and track specific data blocks that require synchronization. Instead of treating the entire dataset as a single unit, the system divides it into individual block-level operations, allowing selective replication of only changed blocks rather than full dataset synchronization.
Solution Approach 2:
The system performs preliminary actions by maintaining and updating bitmaps that track the state of each data block before synchronization occurs. These bitmaps are updated in real-time as data changes, so when synchronization is needed, the system already has pre-computed information about which blocks need to be replicated, eliminating the need for time-consuming pre-synchronization checks.
2Reliability
If conventional synchronous replication techniques are used to maintain data consistency, then data reliability is improved, but resource consumption increases
Solution Approach 1:
The patent segments the replication process by using bitmaps to identify and track specific data blocks that require synchronization. Instead of treating the entire dataset as a single unit, the system divides it into individual block-level operations, allowing selective replication of only changed blocks rather than full dataset synchronization.
Solution Approach 2:
The system applies partial action by performing synchronization only on the subset of data blocks that have changed, as indicated by the bitmap. Rather than replicating the entire dataset or performing excessive full-synchronization operations, the system precisely targets only the necessary blocks, reducing unnecessary resource consumption while maintaining data consistency.
3Reliability
If full data synchronization is performed between storage nodes, then data consistency is ensured, but data transfer volume and storage allocation increase
Solution Approach 1:
The patent extracts only the necessary information for synchronization by using bitmaps to identify specifically which data blocks have changed. Instead of transferring entire datasets or performing bulk synchronization operations, the system extracts and transfers only the minimal required data blocks, significantly reducing data transfer volume while ensuring consistency.
Solution Approach 2:
The patent segments the replication process by using bitmaps to identify and track specific data blocks that require synchronization. Instead of treating the entire dataset as a single unit, the system divides it into individual block-level operations, allowing selective replication of only changed blocks rather than full dataset synchronization.
Data Source
AI summary
A method is used for bitmap-based synchronous replication in a data protection system. The method includes, upon re-establishing communication with a first storage node, requesting, by a second storage node, a first bitmap from the first storage node. The method includes determining, by the second storage node, a set of data blocks to change on the first storage node based on the first bitmap and a second bitmap on the second storage node. The method also includes sending, by the second storage node to the first storage node, the set of data blocks.


