IP Library Granted Patent US 9,772,789
Granted Patent B1
US 9,772,789 · App. 14/225,104 · Granted Sep 26, 2017

Alignment fixing on a data protection system during continuous data replication to deduplicated storage

Inventors: Assaf Natanzon (Tel Aviv, IL); Saar Cohen (Moshav, IL); Anestis Panidis (Saratoga, CA)
Assignee: EMC IP Holding Company LLC
G06F3/064G06F3/061G06F3/065G06F3/0673
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 9,772,789
App. No.
14/225,104
Filed
Mar 25, 2014
Granted
Sep 26, 2017
Kind
B1
Art Unit
2132
USPC
711/201
Abstract

The system, process, and methods herein describe a mechanism for aligning IOs with block sizes. The alignment may occur on a data protection appliance as part of a continuous replication process. The IO offset may be rounded down, and the size may be rounded up, so that each is a multiple of the block size.

Claims (40)

1. A method for IO alignment, comprising:

receiving an IO comprising a write to a storage device, wherein the IO includes data journal entries to store on a journal data file and metadata entries to store on a metadata journal file on a deduplicated storage;

determining that the data journal entries in the IO are not aligned with a storage block on the deduplicated storage;

aligning the IO with the storage block after determining that the IO and the storage block are not aligned by providing a primary storage offset for the IO that aligns the IO with the storage block;

writing the data journal entries to the storage block in the journal data file;

storing the primary storage offset in the metadata journal file apart from the data journal entries in the journal data file; and

synthesizing backup snapshots that include pointers to the data journal entries in prior snapshots and the data journal entries representing changes to the data journal entries in the prior snapshots after the prior snapshots were synthesized;

wherein the aligning of the IO prevents data journal entries movements during synthesizing of the backup snapshots and the backup snapshots are logical units identified by logical unit numbers on the deduplicated storage.

2. The method of claim 1 , further comprising:

determining a block size for the storage block; and

determining the primary storage offset from an IO size and the block size for the storage block.

3. The method of claim 2 , further comprising determining the IO is not aligned with the storage block when the IO offset is not a multiple of the block size.

4. The method of claim 3 , further comprising rounding the IO offset down to a start offset, wherein the start offset is a multiple of the block size.

5. The method of claim 4 , further comprising padding a difference between the start offset and the IO offset.

6. The method of claim 4 , further comprising sending a read request to the storage device, the read request comprising a request for data at the start offset.

7. The method of claim 4 , wherein the start offset is a nearest lower offset that is a multiple of the block size.

8. The method of claim 2 , further comprising determining the IO is not aligned with the storage block when the IO size is not a multiple of the block size.

9. The method of claim 8 , further comprising padding the IO to a new IO size, wherein the new IO size is a multiple of the block size.

10. The method of claim 9 , further comprising sending a read request to the storage device, the read request comprising a request for data on the storage device within the new IO size.

11. The method of claim 1 , further comprising tracking the IO when it is not aligned with the storage block.

12. The method of claim 11 , further comprising waiting for a host to flush an open IO to the storage device.

13. The method of claim 12 , further comprising sending a read request to the storage device.

14. The method of claim 13 , further comprising receiving a second IO from the host.

15. The method of claim 14 , further comprising determining whether the second IO comprises a write to a read data requested by the read request.

16. A computer program product for alignment, the computer program product comprising a non-transitory computer readable medium encoded with computer executable program, the code enabling:

receiving an IO comprising a write to a storage device, wherein the IO includes data journal entries to store on a journal data file and metadata entries to store on a metadata journal file on a deduplicated storage;

determining that the data journal entries in the IO are not aligned with a storage block on the deduplicated storage;

aligning the IO with the storage block after determining that the IO and the storage block are not aligned by providing a primary storage offset for the IO that aligns the IO with the storage block;

writing the data journal entries to the storage block in the journal data file;

storing the primary storage offset in the metadata journal file apart from the data journal entries in the journal data file; and

synthesizing backup snapshots that include pointers to the data journal entries in prior snapshots and the data journal entries representing changes to the data journal entries in the prior snapshots after the prior snapshots were synthesized;

wherein the aligning of the IO prevents data journal entries movements during synthesizing of the backup snapshots and the backup snapshots are logical units identified by logical unit numbers on the deduplicated storage.

17. A system for alignment comprising a memory and a processor, the processor configured to execute instructions comprising:

receiving an IO comprising a write to a storage device, wherein the IO includes data journal entries to store on a journal data file and metadata entries to store on a metadata journal file on a deduplicated storage;

determining that the data journal entries in the IO are not aligned with a storage block on the deduplicated storage;

aligning the IO with the storage block after determining that the IO and the storage block are not aligned by providing a primary storage offset for the IO that aligns the IO with the storage block;

writing the data journal entries to the storage block in the journal data file;

storing the primary storage offset in the metadata journal file apart from the data journal entries in the journal data file; and

synthesizing backup snapshots that include pointers to the data journal entries in prior snapshots and the data journal entries representing changes to the data journal entries in the prior snapshots after the prior snapshots were synthesized;

wherein the aligning of the IO prevents data journal entries movements during synthesizing of the backup snapshots and the backup snapshots are logical units identified by logical unit numbers on the deduplicated storage.

Assignments (11)
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: 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; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/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: 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 Apr 8, 2014
From: PANIDIS, ANESTIS
To: EMC CORPORATION
Reel/Frame 032629/0250 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2014
From: NATANZON, ASSAF; COHEN, SAAR
To: EMC CORPORATION
Reel/Frame 032522/0965 →