IP Library Granted Patent US 8,051,044
Granted Patent B1
US 8,051,044 · App. 12/060,452 · Granted Nov 1, 2011

Method and system for continuous data protection

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 8,051,044
App. No.
12/060,452
Granted
Nov 1, 2011
Kind
B1
Abstract

Continuous data protection is performed as two parallel processes: copying a data block from the storage device into the backup storage device (creating initial backup) and copying the data block to be written to the data storage into the incremental backup. When a write command is directed to a data storage block, it's intercepted and redirected to the backup storage, and data, which is to be written in accord to the write request, is written to the incremental backup on the backup storage. If write command is also directed to a data storage block identified for backup that has not yet been backed up, the identified data storage block is copied from the storage device to the intermediate storage device, the write command is executed on the identified data storage block from the storage device, and the data storage block is copied from the intermediate storage device to the backup storage device. In case of an error accessing a block on the storage device, the block is marked as invalid. The system suspends a write command to the storage device during the initial data backup process if the intermediate storage device has reached a selected data capacity; and copies a selected amount of data from the intermediate storage device to the backup storage device.

Claims (42)

1. A computer system providing online continuous data protection, the computer system comprising:

a storage device storing block data;

a backup storage device storing block data; and

wherein the computer system is operable to:

creating a single bitmap of data storage blocks on the storage device that are subject to an initial backup;

copying blocks marked in the bitmap as an initial backup to the backup storage device;

in case of error when accessing the storage device, indicating in the bitmap, that the data storage block that caused the error is invalid;

creating an editable incremental backup on the backup storage device, such as that any block in the editable incremental backup is subject to being rewritten so long as the editable incremental backup is open; and

during the creation of the editable incremental backup, intercepting a write command directed to a data storage block marked in the bitmap and redirecting the write command to the editable incremental backup on the backup storage device, and

for data that is to be written in the write command, writing the data to editable incremental backup on the backup storage by executing the redirected write command,

wherein, if the data block that is the subject of the write command was backed up in a latest incremental backup, replacing the old data block in the latest incremental backup with the data block that is the subject of the write command,

wherein the latest incremental backup reflects latest changed data on the data storage device; and

after intercepting the write command, duplicating the write command on the data storage device.

2. The computer system of claim 1 , further comprising creating a new incremental backup when a previous incremental backup is closed and not subject to editing.

3. The computer system of claim 1 , wherein the computer system is further operable to restore the backed up data to the storage device from the current incremental backup.

4. The computer system of claim 1 , wherein the computer system is further operable to restore the backed up data to the storage device from any previous incremental backup.

5. The computer system of claim 4 , wherein the restoring is performed over a network.

6. The computer system of claim 1 , wherein an intermediate block data container is used to store data that has not yet been backed up, wherein the computer system is operable to write a data block from the data storage device into the intermediate block data container and to then copy that data block from the intermediate block data container into the backup storage device.

7. The computer system of claim 1 , wherein the incremental backup is opened for editing.

8. The computer system of claim 1 , wherein the computer system is operable to:

suspend a write command to the data storage device if the intermediate block data container has reached a selected data capacity; and

copy a selected amount of data from the intermediate block data container to the backup storage device.

9. A method for providing continuous data protection for data stored on a data storage device of a computer system, the method comprising the steps of:

creating a single bitmap of data storage blocks on the storage device that are subject to an initial backup;

copying blocks marked in the bitmap as an initial backup to the backup storage device;

in case of error when accessing the storage device, indicating in the bitmap that the data storage block that caused the error is invalid;

creating an editable incremental backup on the backup storage device, such as that any block in the editable incremental backup is subject to being rewritten so long as the editable incremental backup is open; and

during the creation of the editable incremental backup, intercepting a write command directed to a data storage block marked in the bitmap and redirecting the write command to the editable incremental backup on the backup storage device; and

for data that is to be written in the write command, writing the data to the editable incremental backup on the backup storage by executing the redirected write command,

wherein, if the data block that is the subject of the write command was backed up in a latest incremental backup, replacing the old data block in the latest incremental backup with the data block that is the subject of the write command,

wherein the latest incremental backup reflects latest changed data on the data storage device; and

after intercepting the write command, duplicating the write command on the data storage device.

10. The method of claim 9 , further comprising creating a new incremental backup when a previous incremental backup is closed and not subject to editing.

11. The method of claim 9 , further comprising restoring the backed up data to the storage device from the current incremental backup.

12. The method of claim 9 , further comprising restoring the backed up data to the storage device from any previous incremental backup.

13. The method of claim 12 , wherein the restoring is performed over a network.

14. The method of claim 9 , wherein an intermediate block data container is used to store data that has not yet been backed up, wherein the computer system is operable to write a data block from the data storage device into the intermediate block data container and to then write that data block from the intermediate block data container into the backup storage device.

15. The method of claim 9 , wherein the incremental backup is an opened for editing.

16. The method of claim 9 , further comprising:

suspending a write command to the data storage device if the intermediate block data container has reached a selected data capacity; and

writing a selected amount of data from the intermediate block data container to the backup storage device.

17. A non-transitory computer useable storage medium having computer executable program logic stored thereon for executing on a processor, the computer executable program logic including a computer program code adapted to perform the method of claim 9 .

Assignments (10)
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Dec 5, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 051193/0366 →
PATENT SECURITY AGREEMENT Recorded Feb 27, 2014
From: ACRONIS INTERNATIONAL GMBH
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 032366/0328 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2014
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: ACRONIS INC.; ACRONIS, INC.; ACRONIS INTERNATIONAL GMBH
Reel/Frame 032296/0397 →
SECURITY AGREEMENT Recorded Apr 20, 2012
From: ACRONIS INTERNATIONAL GMBH
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 028081/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC. LTD.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 027898/0795 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC.
To: ACRONIS INC. LTD.
Reel/Frame 027898/0764 →
SECURITY AGREEMENT Recorded Jun 20, 2011
From: ACRONIS INC.
To: SILICON VALLEY BANK
Reel/Frame 026465/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2008
From: DYATLOV, DENNIS S.; TSIBROVSKYY, JURI V.; LYADVINSKY, MAXIM V.; BELOUSSOV, SERGUEI M.
To: ACRONIS INC.
Reel/Frame 020735/0922 →