IP Library Granted Patent US 7,516,287
Granted Patent B2
US 7,516,287 · App. 11/536,215 · Granted Apr 7, 2009

Methods and apparatus for optimal journaling for continuous data replication

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 7,516,287
App. No.
11/536,215
Granted
Apr 7, 2009
Kind
B2
Abstract

Methods and systems for continuous data replication, including receiving a write transaction from a production site, the write transaction including raw data (RWNEW), a size indicator (SZ 1 ) for the size of the raw data, and a start address (ADD 1 ) for writing the raw data, copying the raw data (RWNEW) into a first journal data stream at a current journal address (JADD 1 ), and copying the size indicator (SZ 1 ), the start address (ADD 1 ) and the journal address (JADD 1 ) into a first journal meta-data stream.

Claims (60)

1. A method for continuous data replication, comprising:

receiving a write transaction from a production site, the write transaction including first raw data (RWNEW), a first size indicator (SZ 1 ) for the size of the raw data, and a first start address (ADD 1 ) for writing the first raw data;

copying the first raw data (RWNEW) into a first journal data stream starting at a first current journal address (JADD 1 ); and

copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into a first journal meta-data stream.

2. The method according to claim 1 , further including copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into the end of the first journal meta-data stream.

3. The method of claim 2 further comprising:

reading a second size indicator (SZ 2 ), a second start address (ADD 2 ), and a second journal address (JADD), from the beginning of the first journal meta-data stream;

reading second raw data (RW) from the first journal data stream beginning at the second journal address (JADD) and extending to a size of the second size indicator (SZ 2 ); and

copying the second raw data (RW) to a storage unit, beginning at a third start address (ADD).

4. The method of claim 3 , further comprising, prior to the copying of the second raw data (RW) to the storage unit:

reading third raw data (RWOLD) from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 );

copying the third raw data (RWOLD) to an undo journal data stream at the second current journal address (JADD 2 ); and

copying size the second indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into an undo journal meta-data stream, at the end of the undo journal meta-data stream.

5. The method of claim 3 , further comprising, prior to the copying of the second raw data (RW) to the storage unit:

conditionally reading the third raw data (RWOLD), from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 ) if a size of the first journal data stream exceeds a selected length;

conditionally copying the third raw data (RWOLD) to a second journal data stream at the third current journal address (JADD 2 ) if the size of the first journal data stream exceeds the selected length; and

conditionally copying the second size indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into a second journal meta-data stream, at the end of the second journal meta-data stream, if the size of the first journal data stream exceeds the selected length.

6. The method of claim 5 wherein the selected length corresponds to a percentage of maximum capacity for the first journal data stream.

7. The method of claim 5 wherein the selected length corresponds to a recovery time.

8. An article comprising:

a computer-readable storage medium having stored thereon instructions that when executed by a machine result in the following:

receiving a write transaction from a production site, the write transaction including first raw data (RWNEW), a first size indicator (SZ 1 ) for the size of the raw data, and a first start address (ADD 1 ) for writing the first raw data;

copying the first raw data (RWNEW) into a first journal data stream starting at a first current journal address (JADD 1 ); and

copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into a first journal meta-data stream.

9. The article according to claim 8 , further including instructions to enable copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into the end of the first journal meta-data stream.

10. The article of claim 9 further including instructions to enable:

reading a second size indicator (SZ 2 ), a second start address (ADD 2 ), and a second journal address (JADD), from the beginning of the first journal meta-data stream;

reading second raw data (RW) from the first journal data stream beginning at the second journal address (JADD) and extending to a size of the second size indicator (SZ 2 ); and

copying the second raw data (RW) to a storage unit, beginning at a third start address (ADD).

11. The article of claim 10 , further including instructions to enable, prior to the copying of the second raw data (RW) to the storage unit:

conditionally reading the third raw data (RWOLD), from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 ) if a size of the first journal data stream exceeds a selected length;

conditionally copying the third raw data (RWOLD) to a second journal data stream at the third current journal address (JADD 2 ) if the size of the first journal data stream exceeds the selected length; and

conditionally copying the second size indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into a second journal meta-data stream, at the end of the second journal meta-data stream, if the size of the first journal data stream exceeds the selected length.

12. The article of claim 11 , wherein the selected length corresponds to a percentage of maximum capacity for the first journal data stream.

13. The article of claim 11 wherein the selected length corresponds to a recovery time.

14. The article of claim 9 , further including instructions to enable, prior to the copying of the second raw data (RW) to the storage unit:

reading third raw data (RWOLD) from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 );

copying the third raw data (RWOLD) to an undo journal data stream at the second current journal address (JADD 2 ); and

copying size the second indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into an undo journal meta-data stream, at the end of the undo journal meta-data stream.

15. A system, comprising:

a source side storage system to store write transaction data, the source side storage system including a source data protection appliance coupled to a source journal logical unit and a source side logical unit;

a target side storage system to replicate write transaction data stored in the source side storage system, the target side storage system including a target data protection appliance coupled to a target journal logical unit;

the target side storage system having a memory for storing instructions to enable:

receiving a write transaction including first raw data (RWNEW), a first size indicator (SZ 1 ) for the size of the raw data, and a first start address (ADD 1 ) for writing the first raw data;

copying the first raw data (RWNEW) into a first journal data stream starting at a first current journal address (JADD 1 ); and

copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into a first journal meta-data stream.

16. The system according to claim 15 , further including instructions to enable copying the first size indicator (SZ 1 ), the first start address (ADD 1 ), and the first current journal address (JADD 1 ) into the end of the first journal meta-data stream.

17. The system of claim 16 further including instructions to enable:

reading a second size indicator (SZ 2 ), a second start address (ADD 2 ), and a second journal address (JADD), from the beginning of the first journal meta-data stream;

reading second raw data (RW) from the first journal data stream beginning at the second journal address (JADD) and extending to a size of the second size indicator (SZ 2 ); and

copying the second raw data (RW) to a storage unit, beginning at a third start address (ADD).

18. The system of claim 17 , further including instructions to enable, prior to the copying of the second raw data (RW) to the storage unit:

reading third raw data (RWOLD) from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 );

copying the third raw data (RWOLD) to an undo journal data stream at the second current journal address (JADD 2 ); and

copying size the second indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into an undo journal meta-data stream, at the end of the undo journal meta-data stream.

19. The system of claim 18 , further including instructions to enable, prior to the copying of the second raw data (RW) to the storage unit:

conditionally reading the third raw data (RWOLD), from the storage unit beginning at the second start address (ADD 2 ) and extending to a size of the second size indicator (SZ 2 ) if a size of the first journal data stream exceeds a selected length;

conditionally copying the third raw data (RWOLD) to a second journal data stream at the third current journal address (JADD 2 ) if the size of the first journal data stream exceeds the selected length; and

conditionally copying the second size indicator (SZ 2 ), the second start address (ADD 2 ), and the third journal address (JADD 2 ) into a second journal meta-data stream, at the end of the second journal meta-data stream, if the size of the first journal data stream exceeds the selected length.

20. The system of claim 19 wherein the selected length corresponds to a percentage of maximum capacity for the first journal data stream and/or a recovery time.

Assignments (9)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2016
From: EMC ISRAEL DEVELOPMENT CENTER, LTD.
To: EMC CORPORATION
Reel/Frame 039619/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2007
From: AHAL, SHLOMO; NATANZON, ASSAF; SECHNER, TZACH; KEDEM, ODED; DRUKH, EVGENY
To: EMC ISRAEL DEVELOPMENT CENTER, LTD.
Reel/Frame 018974/0325 →