Coordinated dirty block tracking
First Claim
1. A computer-implemented method comprising:
- in response to obtaining first data for replication to a secondary storage area, causing an indicator to be set for a first location, whereinthe first data are stored in the first location of a first storage area, andthe indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area; and
causing an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location;
writing a record to a transaction log, wherein the record comprises the first location;
in response to receiving an acknowledgement that the first data have been received at the secondary storage area,causing the first location to be removed from each active transaction of at least one active transaction in the transaction log; and
if one active transaction of the at least one active transaction in the transaction log is completed,writing a second record to the transaction log indicating that the one active transaction is complete.
8 Assignments
0 Petitions
Accused Products
Abstract
A method, system, computer system, and computer-readable medium to maintain consistent, up-to-date copies of primary data that enable quick resumption of operations upon failure of the primary node, the secondary node, and/or the network connecting nodes. The current status of individual storage locations is tracked, indicating whether data in each individual storage location is synchronized between a primary node and a secondary node. Transaction logging by a transaction-logging application, such as a file system or database system, is used to track individual storage locations updated with each transaction. Acknowledgements of these updates are tracked during replication to determine whether individual storage locations containing primary and secondary data are synchronized. This coordinated transaction logging and acknowledgement tracking enables write operations and replication to be performed efficiently while maintaining the information necessary to resynchronize only individual storage locations when primary and secondary data become unsynchronized.
206 Citations
39 Claims
-
1. A computer-implemented method comprising:
-
in response to obtaining first data for replication to a secondary storage area, causing an indicator to be set for a first location, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area; and causing an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; writing a record to a transaction log, wherein the record comprises the first location; in response to receiving an acknowledgement that the first data have been received at the secondary storage area, causing the first location to be removed from each active transaction of at least one active transaction in the transaction log; and if one active transaction of the at least one active transaction in the transaction log is completed, writing a second record to the transaction log indicating that the one active transaction is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 24, 25, 26)
-
-
12. A system comprising:
-
causing means for causing an indicator to be set for a first location in response to obtaining first data for replication to a secondary storage area, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area; second causing means for causing an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; writing means for writing a record to a transaction log, wherein the record comprises the first location; third causing means for causing the first location to be removed from each active transaction of at least one active transaction in the transaction log in response to receiving an acknowledgement that the first data have been received at the secondary storage area; and second writing means for writing a second record to the transaction log indicating that one active transaction is complete if the one active transaction of the at least one active transaction in the log is completed. - View Dependent Claims (13, 14, 28, 29, 30)
-
-
15. A computer-readable medium comprising:
-
causing instructions to cause an indicator to be set for a first location in response to obtaining first data for replication to a secondary storage area, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area, and second causing instructions to cause an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; writing instructions to write a record to a transaction log, wherein the record comprises the first location; third causing instructions to cause the first location to be removed from each active transaction of at least one active transaction in the transaction log in response to receiving an acknowledgement that the first data have been received at the secondary storage area; and second writing instructions to write a second record to the transaction log, wherein the second record indicates that one active transaction of the at least one active transaction in the transaction log is completed. - View Dependent Claims (16, 17, 18, 19, 32, 33, 34, 35)
-
-
20. A system comprising:
-
a processor; and a memory, wherein the memory comprises; a causing module to cause an indicator to be set for a first location in response to obtaining first data for replication to a secondary storage area, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area, and a second causing module to cause an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; a writing module to write a record to a transaction log, wherein the record comprises the first location; a third causing module to cause the first location to be removed from each active transaction of at least one active transaction in the transaction log in response to receiving an acknowledgement that the first data have been received at the secondary storage area; and a second writing module to write a record to the transaction log indicating that one active transaction is complete if the one active transaction of the at least one active transaction in the transaction log is completed. - View Dependent Claims (21, 22, 23, 36, 37, 38, 39)
-
-
27. A method comprising:
-
causing an indicator to be set for a first location in response to obtaining first data for replication to a secondary storage area, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area; causing an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; determining whether the list of entries for the first location is empty in response to removing the entry from the list of entries for the first location; and resetting the indicator for the first location if the list of entries for the first location is empty, wherein the file system resets the indicator.
-
-
31. A system comprising:
-
causing means for causing an indicator to be set for a first location in response to obtaining first data for replication to a secondary storage area, wherein the first data are stored in the first location of a first storage area, and the indicator indicates that the first data are unsynchronized with corresponding data in a corresponding location of the secondary storage area; second causing means for causing an entry to be added to a list of entries for the first location, wherein each entry in the list is related to an update to data in the first location, and the list can be used to reset the indicator for the first location; determining means for determining whether the list of entries for the first location is empty in response to removing the entry from the list of entries for the first location; and resetting means for resetting the indicator for the first location if the list of entries for the first location is empty, wherein the file system resets the indicator.
-
Specification