IP Library Granted Patent US 7,318,135
Granted Patent B1
US 7,318,135 · App. 11/382,851 · Granted Jan 8, 2008

System and method for using file system snapshots for online data backup

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,318,135
App. No.
11/382,851
Granted
Jan 8, 2008
Kind
B1
Abstract

A system includes a storage device, a backup storage device, and an intermediate storage device. Backup is on-line and copies data blocks from the storage device into the backup storage device, optionally through the intermediate storage device. When a write is directed to a data storage block has not yet been backed up, that data storage block is copied from the storage device to the intermediate storage device, the write is executed on the identified data storage block, 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 backup if the intermediate storage device has reached a selected capacity; and copies a selected amount of data from the intermediate storage device to the backup storage device.

Claims (66)

1. A system for online data backup comprising:

a storage device;

a backup storage; and

an intermediate storage,

wherein a backup is performed online and copies data blocks from the storage device into the intermediate storage and then to the backup storage,

wherein, in response to a “write” directed to a data block in the storage device that is subject to the online backup, if that data block has already been copied, then that data block is written to, and

if the data block that is subject to the online backup is unavailable, that data block is marked as invalid and operations are continued with other data blocks in the storage device;

wherein the system suspends writing to the storage device during the online data backup if the intermediate storage has reached a selected data capacity; and

wherein the system slows down processes whose activity results in write operations into a non-backed-up area, in response to an indication that the intermediate storage device is close to overload.

2. The system of claim 1 , wherein the intermediate storage comprises any of an external storage device, a selected partition of the storage device, and a selected file located in a file system.

3. The system of claim 2 , wherein the file system writes dirty pages to the storage device before initiating a data backup process.

4. The system of claim 3 , wherein the suspended write operations relating to the dirty pages are added to a list, and a parameter is returned to an operating system, informing the operating system that these write operations have a “pending” status.

5. The system of claim 4 , wherein the online backup is performed based on a bitmap that is created without using operating system drivers of the operating system, and which represents only non-utilized blocks.

6. The system of claim 2 , wherein the system:

copies a selected amount of data from the intermediate storage to the backup storage.

7. The system of claim 2 , further comprising:

a file system driver used for transmitting the “write” to the storage device; and

a storage device driver used for reading from the storage device and writing to the storage device in block mode in response to the “write”.

8. The system of claim 7 , wherein the file system driver translates the “write” received from a user process and addressed to a file located in the storage device into one or more block write operations.

9. The system of claim 8 , wherein the file system driver provides a data block number associated with a block in response to the “write” directed to the data block during an online backup.

10. The system of claim 1 , wherein data blocks in the storage device that are subject to the online data backup includes all blocks of an underlying storage device used by file system data and does not include free space blocks.

11. The system of claim 1 , wherein an order in which data blocks are scheduled for backup is changed based on information received from an external source.

12. The system of claim 1 , wherein, in the case of error during the “write,” the system continues the copy process.

13. The system of claim 1 , wherein, in the case of error during a read operation, the system continues the read process.

14. The system of claim 1 , wherein the online backup is performed based on a bitmap that is created without using operating system drivers of the operating system, and which represents only non-utilized blocks.

15. A method for online backup, comprising:

in response to a “write” directed to a data block in a storage device that is subject to the online backup, determining if that data block has been copied;

writing to that data block if that data block has been copied;

suspending writing to the storage device during the online backup if an intermediate storage has reached a selected data capacity;

upon receiving an indication that the intermediate data storage is close to overload, slowing down processes whose activity results in write operations into a non-backed-up area; and

if the data block that is subject to the online backup is unavailable, marking that data block as invalid and continuing operations with other data blocks in the storage device.

16. The method of claim 15 , further comprising the step of copying the identified data block from the intermediate storage to a backup storage.

17. The method of claim 15 , further comprising flagging a data block once the data block has been copied to the backup storage.

18. The method of claim 15 , further comprising writing a dirty page to the storage device before informing an operating system driver that the data has been backed up.

19. The method of claim 15 , wherein the step of copying comprises copying the data block to intermediate storage, wherein the intermediate storage comprises any of an external storage device, a partition of the storage device, and a file located in a file system.

20. The method of claim 15 , further comprising:

suspending the “write” if the data block has not been copied;

copying the data block to an intermediate storage; and

executing the “write” on the data block in the intermediate storage.

21. The method of claim 20 , wherein suspending the “write” comprises:

determining whether the intermediate storage has reached a selected capacity; and

freeing up available space in the intermediate storage.

22. The method of claim 15 , wherein backed up data blocks are restored to a different storage device.

23. The method of claim 15 , further comprising creating a lockable bitmap of data blocks located in the storage device that are subject to the backup.

24. A computer useable recording medium having computer program logic recorded thereon for an online backup stored thereon, for executing on a processor, the computer program logic comprising:

in response to a write directed to a data block in a storage device that is subject to the online backup, computer program code means for determining if that data block has been copied;

computer program code means for writing to that data block if that data block has been copied;

computer program code means for suspending writing to the storage device during the online data backup if the intermediate storage has reached a selected data capacity;

computer program code means for, upon receiving an indication that the intermediate data storage is close to overload, slowing down processes whose activity results in write operations into a non-backed-up area; and

if the data block that is subject to the online backup storage device is unavailable, computer program code means for marking that data block as invalid and continuing operations with other data blocks in the storage device.

25. A system for online data backup comprising:

a storage device; and

an intermediate storage,

wherein a snapshot is performed online and copies data blocks from the storage device into the intermediate storage,

wherein, in response to a “write” directed to a data block in the storage device that is subject to the online backup, that data block is written to the intermediate storage,

wherein contents of the intermediate storage is used for restoring a previous state of the storage device upon user command,

wherein the system suspends writing to the storage device during the online data backup if the intermediate storage has reached a selected data capacity, and

wherein the system slows down processes whose activity results in write operations into a non-backed-up area, in response to an indication that the intermediate storage device is close to overload.

26. A system for online data backup comprising:

a storage device;

an intermediate storage,

wherein a snapshot is performed on-line and copies data blocks from the storage device into the intermediate storage,

wherein, in response to a “write” directed to a data block in the storage device that is subject to the online backup, that data block is written to the intermediate storage, and

wherein the system suspends writing to the storage device during the online data backup if the intermediate storage has reached a selected data capacity,

wherein the system slows down processes whose activity results in write operations into a non-backed-up area, in response to an indication that the intermediate storage device is close to overload; and

means for recovering a state of the storage device at a time the online backup started by using blocks from the intermediate storage instead of changed data blocks in the storage device.

Assignments (12)
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 Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
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.
To: ACRONIS INC. LTD.
Reel/Frame 027898/0764 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: ACRONIS INC. LTD.
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 027898/0795 →
SECURITY AGREEMENT Recorded Jun 20, 2011
From: ACRONIS INC.
To: SILICON VALLEY BANK
Reel/Frame 026465/0559 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL LIEN Recorded Mar 15, 2011
From: CAPITALSOURCE FINANCE LLC
To: ACRONIS, INC.; ACRONIS INC.; ACRONIS INTERNATIONAL GMBH
Reel/Frame 025956/0576 →
SECURITY AGREEMENT Recorded Nov 13, 2007
From: ACRONIS, INC.; ACRONIS INTERNATIONAL GMBH; ACRONIS INC.
To: CAPITALSOURCE FINANCE LLC
Reel/Frame 020105/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2006
From: TORMASOV, ALEXANDER G.; BELOUSSOV, SERGUEI M.; TSYPLIAEV, MAXIM V.; LYADVINSKY, MAXIM V.
To: ACRONIS INC.
Reel/Frame 017605/0523 →