IP Library Granted Patent US 11,327,679
Granted Patent B2
US 11,327,679 · App. 16/778,022 · Granted May 10, 2022

Method and system for bitmap-based synchronous replication

Inventors: Tianfang Xiong (Shanghai, CN); Wai Yim (Merrimack, NH); Yifeng Lu (Shanghai, CN); Yue Yang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/065G06F3/064G06F3/0619G06F3/0673G06F16/2237
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,327,679
App. No.
16/778,022
Granted
May 10, 2022
Kind
B2
Abstract

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.

Claims (45)

1. A method for bitmap-based synchronous replication in a data storage system, the method comprising:

upon re-establishing communication with a first storage node, requesting, by a second storage node, a first bitmap from the first storage node, the first bitmap identifying data not replicated from the first storage node to the second storage node;

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 second bitmap identifying data not replicated from the second storage node to the first storage node; and

sending, by the second storage node to the first storage node, the set of data blocks so as to overwrite data blocks on the first storage node with the set of data blocks from the second storage node.

2. The method of claim 1 , wherein determining the set of data blocks to change on the first storage node comprises:

identifying data blocks corresponding to set bits in the first bitmap and set bits in the second bitmap.

3. The method of claim 1 , wherein determining the set of data blocks to change on the first storage node comprises:

merging, by the second storage node, the first bitmap and the second bitmap; and

identifying, by the second storage node, the set of data blocks based on set bits in the merged bitmap.

4. The method of claim 3 , wherein merging the first bitmap and the second bitmap comprises:

setting bits in the second bitmap based on the bits that are set in the first bitmap.

5. The method of claim 1 , wherein set bits in the first bitmap correspond to a first set of data blocks that are inconsistent between the first and second storage nodes.

6. The method of claim 1 , wherein set bits in the second bitmap correspond to a second set of data blocks that are inconsistent between the first and second storage nodes.

7. The method of claim 1 , further comprising:

receiving, by the second storage node, confirmation from the first storage node that a data block in the set of data blocks has been stored on the first storage node; and

clearing, by the second storage node, the bit in the second bitmap corresponding to the data block whose storage has been confirmed.

8. A system for use in bitmap-based synchronous replication in a data storage system, the system comprising a processor configured to:

upon re-establishing communication with a first storage node, request a first bitmap from the first storage node, the first bitmap identifying data not replicated from the first storage node to the second storage node;

determine a set of data blocks to change on the first storage node based on the first bitmap and a second bitmap on a second storage node, the second bitmap identifying data not replicated from the second storage node to the first storage node; and

send the set of data blocks from the second storage node to the first storage node so as to overwrite data blocks on the first storage node with the set of data blocks from the second storage node.

9. The system of claim 8 , wherein the processor is further configured to:

identify data blocks corresponding to set bits in the first bitmap and set bits in the second bitmap.

10. The system of claim 8 , wherein the processor is further configured to:

merge the first bitmap and the second bitmap; and

identify the set of data blocks based on set bits in the merged bitmap.

11. The system of claim 10 , wherein the processor is further configured to:

set bits in the second bitmap based on the bits that are set in the first bitmap.

12. The system of claim 8 , wherein set bits in the first bitmap correspond to a first set of data blocks that are inconsistent between the first and second storage nodes.

13. The system of claim 8 , wherein set bits in the second bitmap correspond to a second set of data blocks that are inconsistent between the first and second storage nodes.

14. The system of claim 8 , wherein the processor is further configured to:

receive confirmation from the first storage node that a data block in the set of data blocks has been stored on the first storage node; and

clear the bit in the second bitmap corresponding to the data block whose storage has been confirmed.

15. One or more non-transitory computer-readable storage media to store instructions executable by one or more processors to perform operations comprising:

upon re-establishing communication with a first storage node, request, by a second storage node, a first bitmap from the first storage node, the first bitmap identifying data not replicated from the first storage node to the second storage node;

determine, 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 second bitmap identifying data not replicated from the second storage node to the first storage node; and

send, by the second storage node to the first storage node, the set of data blocks so as to overwrite data blocks on the first storage node with the set of data blocks from the second storage node.

16. The one or more non-transitory computer-readable storage media of claim 15 , further comprising instructions executable by one or more processors to identify data blocks corresponding to set bits in the first bitmap and set bits in the second bitmap.

17. The one or more non-transitory computer-readable storage media of claim 15 , further comprising instructions executable by one or more processors to:

merge, by the second storage node, the first bitmap and the second bitmap; and

identify, by the second storage node, the set of data blocks based on set bits in the merged bitmap.

18. The one or more non-transitory computer-readable storage media of claim 17 , further comprising instructions executable by one or more processors to set bits in the second bitmap based on the bits that are set in the first bitmap.

19. The one or more non-transitory computer-readable storage media of claim 15 , wherein set bits in the first bitmap correspond to a first set of data blocks that are inconsistent between the first and second storage nodes.

20. The one or more non-transitory computer-readable storage media of claim 15 , further comprising instructions executable by one or more processors to:

receive, by the second storage node, confirmation from the first storage node that a data block in the set of data blocks has been stored on the first storage node; and

clear, by the second storage node, the bit in the second bitmap corresponding to the data block whose storage has been confirmed.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2022
From: XIONG, TIANFANG; YIM, WAI; LU, YIFENG; YANG, YUE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 059227/0030 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →