IP Library Granted Patent US 11,442,895
Granted Patent B2
US 11,442,895 · App. 17/029,709 · Granted Sep 13, 2022

Method for copying data, electronic device and computer program product

Inventors: Bo Hu (Chengdu, CN); Qian Wu (Chengdu, CN); Jing Ye (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F11/1451G06F11/1464G06F16/1756
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,442,895
App. No.
17/029,709
Granted
Sep 13, 2022
Kind
B2
Abstract

Techniques for replicating data involve: acquiring a first snapshot of a data block set, the first snapshot being a snapshot before a first subset of the data block set starts to be replicated; acquiring a second snapshot of the data block set, the second snapshot being a snapshot of the data block set when replication of the first subset is completed; and determining, based on a difference between the second snapshot and the first snapshot, a second subset of the data block set, the second subset being different from the first subset. Accordingly, such techniques can improve data protection efficiency in asynchronous replication.

Claims (53)

1. A method for replicating data, comprising:

acquiring a first snapshot of a data block set, the first snapshot being a snapshot before a first subset of the data block set starts to be replicated;

acquiring a second snapshot of the data block set, the second snapshot being a snapshot of the data block set when replication of the first subset is completed;

determining, based at least in part on a difference between the second snapshot and the first snapshot, a second subset of the data block set, the second subset being different from the first subset, wherein the difference between the second snapshot and the first snapshot indicates data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set, and wherein the second subset includes both the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set and data blocks in the data block set that have not yet been replicated; and

completing replication of the data block set by replicating the data blocks in the second subset of the data block set.

2. The method according to claim 1 , further comprising:

acquiring operating frequencies of data blocks in the data block set; and

determining data blocks having an operating frequency lower than a threshold frequency as data blocks in the first subset.

3. The method according to claim 2 , wherein the operating frequency comprises a data write-in frequency.

4. The method according to claim 1 , wherein determining the second subset comprises:

determining a third subset of the data block set, the third subset comprising the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set;

determining a fourth subset of the data block set, the fourth subset comprising the data blocks in the data block set that have not yet been replicated; and

obtaining the second subset by merging the third subset and the fourth subset.

5. The method according to claim 4 , wherein determining the third subset comprises:

determining data blocks associated with the difference between the second snapshot and the first snapshot as data blocks in the third subset.

6. The method according to claim 4 , wherein determining the fourth subset comprises:

determining data blocks in the data block set other than the first subset as data blocks in the fourth subset.

7. An electronic device, comprising:

a processor; and

a memory storing computer program instructions, wherein the processor runs the computer program instructions in the memory to control the electronic device to perform actions comprising:

acquiring a first snapshot of a data block set, the first snapshot being a snapshot before a first subset of the data block set starts to be replicated;

acquiring a second snapshot of the data block set, the second snapshot being a snapshot of the data block set when replication of the first subset is completed;

determining, based at least in part on a difference between the second snapshot and the first snapshot, a second subset of the data block set, the second subset being different from the first subset, wherein the difference between the second snapshot and the first snapshot indicates data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set, and wherein the second subset includes both the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set and data blocks in the data block set that have not yet been replicated; and

completing replication of the data block set by replicating the data blocks in the second subset of the data block set.

8. The electronic device according to claim 7 , wherein the actions further comprise:

acquiring operating frequencies of data blocks in the data block set; and

determining data blocks having an operating frequency lower than a threshold frequency as data blocks in the first subset.

9. The electronic device according to claim 8 , wherein the operating frequency comprises a data write-in frequency.

10. The electronic device according to claim 7 , wherein determining the second subset comprises:

determining a third subset of the data block set, the third subset comprising the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set;

determining a fourth subset of the data block set, the fourth subset comprising the data blocks in the data block set that have not yet been replicated; and

obtaining the second subset by merging the third subset and the fourth subset.

11. The electronic device according to claim 10 , wherein determining the third subset comprises:

determining data blocks associated with the difference between the second snapshot and the first snapshot as data blocks in the third subset.

12. The electronic device according to claim 10 , wherein determining the fourth subset comprises:

determining data blocks in the data block set other than the first subset as data blocks in the fourth subset.

13. A computer program product tangibly stored in a non-transitory computer storage medium and comprising machine-executable instructions, wherein the machine-executable instructions, when executed by a device, cause the device to perform actions comprising:

acquiring a first snapshot of a data block set, the first snapshot being a snapshot before a first subset of the data block set starts to be replicated;

acquiring a second snapshot of the data block set, the second snapshot being a snapshot of the data block set when replication of the first subset is completed;

determining, based at least in part on a difference between the second snapshot and the first snapshot, a second subset of the data block set, the second subset being different from the first subset, wherein the difference between the second snapshot and the first snapshot indicates data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set, and wherein the second subset includes both the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set and data blocks in the data block set that have not yet been replicated; and

completing replication of the data block set by replicating the data blocks in the second subset of the data block set.

14. The computer program product according to claim 13 , wherein the actions further comprise:

acquiring operating frequencies of data blocks in the data block set; and

determining data blocks having an operating frequency lower than a threshold frequency as data blocks in the first subset.

15. The computer program product according to claim 14 , wherein the operating frequency comprises a data write-in frequency.

16. The computer program product according to claim 13 , wherein determining the second subset comprises:

determining a third subset of the data block set, the third subset comprising the data blocks in the first subset of the data block set that have changed during the replication of the first subset of the data block set;

determining a fourth subset of the data block set, the fourth subset comprising the data blocks in the data block set that have not been replicated; and

obtaining the second subset by merging the third subset and the fourth subset.

17. The computer program product according to claim 16 , wherein determining the third subset comprises:

determining data blocks associated with the difference between the second snapshot and the first snapshot as data blocks in the third subset.

18. The computer program product according to claim 16 , wherein determining the fourth subset comprises:

determining data blocks in the data block set other than the first subset as data blocks in the fourth subset.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2021
From: HU, BO; WU, QIAN; YE, JING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054817/0324 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →