IP Library Granted Patent US 7,293,146
Granted Patent B1
US 7,293,146 · App. 11/134,932 · Granted Nov 6, 2007

Method and apparatus for restoring a corrupted data volume

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,293,146
App. No.
11/134,932
Filed
May 23, 2005
Granted
Nov 6, 2007
Kind
B1
Art Unit
2189
USPC
711/162
Abstract

Disclosed is a method and apparatus for restoring a corrupted data volume. In one embodiment, the method includes creating a backup copy of the data volume before the data volume is corrupted. Data transactions that modify the contents of the data volume are stored in a transaction log. After detection of the data corruption, a virtual copy of the backup copy is created. Thereafter, select data transactions stored in the transaction log, are applied to the virtual copy. Data of the corrupted data volume is then overwritten with data of the backup copy and data of the virtual copy after applying data transactions to the virtual copy.

Claims (46)

1. A method comprising:

creating a backup copy of a data volume before the data volume is corrupted;

creating a virtual copy of the backup copy after the data volume is corrupted;

modifying data of the virtual copy according to one or more transactions stored in a transaction log;

overwriting data of the corrupted data volume with modified data of the virtual copy.

2. The method of claim 1 wherein the corrupted data volume is overwritten modified data of the virtual copy until the data volume is in a data state that existed between a time the backup copy was created and a time the data volume was corrupted.

3. The method of claim 1 further comprising overwriting data of the corrupted data volume with data of the backup copy.

4. The method of claim 3 wherein the corrupted data volume is overwritten with data of the backup copy and modified data of the virtual copy until the data volume is in a data state that existed just before the data volume was corrupted.

5. The method of claim 3 wherein the corrupted data volume is overwritten with data of the backup copy and modified data of the virtual copy until the data volume is in a data state that existed between a time the backup copy was created and a time the data volume was corrupted.

6. A method comprising:

creating copies of first and second data portions of a data volume;

modifying data of the first and second data portions of the data volume according to first and second transactions, respectively, wherein the copies of the first and second data portions are created before modifying data of the first and second data portions of the data volume according to the first and second transactions, respectively;

creating a copy of the first data portion copy;

modifying data of the copy of the first data portion copy according to the first transaction;

overwriting the modified first data portion of the data volume with the modified data of the copy of the first data portion copy.

7. The method of claim 6 further comprising overwriting the second volume portion with the second data volume portion copy after the modification of data of the second data portion of the volume in accordance with the second transaction.

8. The method of claim 6 further comprising:

generating a third transaction for modifying data of the first data portion of the data volume, wherein the modified first data portion of the volume is overwritten with the modified data of the copy of the first data portion copy in response to generation of the third transaction;

modifying data of the first data portion of the volume in accordance with the third transaction after overwriting the modified first data portion of the data volume with the modified copy of the first data portion copy.

9. The method of claim 8 further comprising:

generating a fourth transaction to modify data of the second data portion of the volume, wherein the second data portion of the volume is overwritten with the second data portion copy stored response to generation of the fourth transaction;

wherein data of the second data portion of the volume is modified according to the fourth instruction, wherein the second data portion of the volume is overwritten with the second data portion copy before data of the second data portion of the volume is modified according to the fourth instruction.

10. A method comprising:

storing a plurality of data transactions in memory;

copying data from a plurality of volume blocks to a plurality of memory blocks, respectively;

modifying data in each of the plurality of volume blocks according to the plurality of data transactions, respectively, wherein data in each of the volume blocks is copied to a respective memory block before modification;

switching the state of a plurality of first bits in memory, wherein the plurality of first bits corresponds to the plurality of volume blocks, respectively;

switching the state of a plurality of second bits in memory, wherein the plurality of second bits corresponds to the plurality of memory blocks, respectively.

11. The method of claim 10 further comprising:

creating a copy of one of the plurality of memory blocks;

modifying data in the copy according to one of the plurality of data transactions.

12. The method of claim 11 further comprising:

overwriting data of one of the plurality of volume blocks with data of a respective memory block, and;

overwriting data of another of the plurality of volume blocks with data of the copy after data of the copy is modified according to one of the plurality of data transactions.

13. The method of claim 10 further comprising:

creating respective copies of data from a subset of the plurality of memory blocks;

modifying data in the copies in accordance with a subset of the plurality of data transactions, respectively.

14. The method of claim 13 further comprising:

overwriting data of a first subset of the plurality of volume blocks with data of respective memory blocks, and;

overwriting data of a second subset of the plurality of volume blocks with data of respective copies after modifying data in the respective copies in accordance with the subset of the plurality of data transactions, respectively.

15. The method of claim 13 further comprising:

switching the state of third bits in memory, wherein the third bits correspond to the copies, respectively.

16. The method of claim 15 further comprising:

overwriting data in volume blocks with data of respective copies if third bits corresponding to the respective copies were switched from one state to the other.

17. The method of claim 16 further comprising:

overwriting data of volume blocks with data of respective memory blocks for each volume block having (1) data which is not overwritten by data of a respective copy and (2) a corresponding first bit with a switched state.

Assignments (13)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →