Alignment fixing on a data protection system during continuous data replication to deduplicated storage
First Claim
Patent Images
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.
10 Assignments
0 Petitions
Accused Products
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.
105 Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
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.
-
Specification