IP Library Granted Patent US 7,096,332
Granted Patent B1
US 7,096,332 · App. 11/242,216 · Granted Aug 22, 2006

Use of read data tracking and caching to recover from data corruption

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,096,332
App. No.
11/242,216
Granted
Aug 22, 2006
Kind
B1
Abstract

In a system in which read data tracking and caching is used to recover from data corruption, a first request to read data from a primary data mirror is received from a computer system. Data is read from the primary data mirror in response to receiving the first request. Additionally data from a mirrored copy of the primary data mirror is read. Data read from the primary data mirror is returned to the computer system. Data read from the mirrored copy is stored into a memory device. If a second request is received from the computer system to read the same data of the first request, data stored in the memory device may be returned in response thereto.

Claims (45)

1. A method comprising:

reading data from a first memory configured to store a data volume in response to receiving a first request to read data from the data volume, wherein the first request is received from a computer system;

reading data from a second memory configured to store a mirrored copy of the data volume in response to receiving the first request;

comparing the data read from the first memory with the data read from the second memory;

returning the data read from the first memory to the computer system, wherein the data read from the first memory is returned regardless of whether the data read from the first memory compares equally to the data read from the second memory;

storing the data read from the second memory into a memory device.

2. The method of claim 1 further comprising invalidating the data stored in the memory device if the data read from the first memory compares equally to the data read from the second memory.

3. The method of claim 1 further comprising an act of reading the data stored in the memory device in response to receiving a second request to read data from the data volume, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

4. The method of claim 3 further comprising an act of returning the data read from the memory device to the computer system if the second request is received within a predetermined amount of time after receiving the first request.

5. The method of claim 1 further comprising an act of invalidating the data stored in the memory device in response receiving a second request to read data from the data volume within a predetermined amount of time after receiving the first request, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

6. The method of claim 1 further comprising an act of overwriting data of the data volume with the data stored in the memory device if the data read from the data volume compares unequally to the data read from the mirrored copy.

7. The method of claim 1 wherein the data of the data volume is overwritten with the data stored in the memory device unless a second request is received in a predetermined amount of time from the time the first request is received, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

8. The method of claim 1 further comprising invalidating data stored in the memory device in response to receiving a request to modify data of the data volume, wherein the request to modify data is received from the computer system or another computer system, and wherein the data to be modified by the request to modify is the same as the data read in response to the first request.

9. A computer readable medium comprising instructions executable by a first computer system, wherein the first computer system performs a method in response to executing the instructions, the method comprising:

reading data from a first memory configured to store a data volume in response to receiving a first request to read data from the data volume, wherein the first request is received from a second computer system;

reading data from a second memory configured to store a mirrored copy of the data volume in response to receiving the first request;

comparing the data read from the first memory with the data read from the second memory;

returning the data read from the first memory to the second computer system, wherein the data read from the first memory is returned regardless of whether the data read from the first memory compares equally to the data read from the second memory;

storing the data read from the second memory into a memory device.

10. The computer readable medium of claim 9 wherein the method further comprises an act of invalidating the data stored in the memory device if the data read from the first memory compares equally to the data read from the second memory.

11. The computer readable medium of claim 9 wherein the method further comprises an act of reading the data stored in the memory device in response to receiving a second request to read data from the data volume, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

12. The computer readable medium of claim 11 wherein the method further comprises an act of returning the data read from the memory device to the computer system if the second request is received within a predetermined amount of time after receiving the first request.

13. The computer readable medium of claim 9 wherein the method further comprises an act of invalidating the data stored in the memory device in response receiving a second request to read data from the data volume within a predetermined amount of time after receiving the first request, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

14. The computer readable medium of claim 9 wherein the method further comprises an act of overwriting data of the data volume with the data stored in the memory device if the data read from the data volume compares unequally to the data read from the mirrored copy.

15. The computer readable medium of claim 9 wherein the data of the data volume is overwritten with the data stored in the memory device unless a second request is received in a predetermined amount of time from the time the first request is received, wherein the second request is received from the computer system, and wherein the first and second requests are for the same data.

16. The computer readable medium of claim 9 wherein the method further comprises an act invalidating data stored in the memory device in response to receiving a request to modify data of the data volume, wherein the request to modify data is received from the computer system or another computer system, and wherein the data to be modified by the request to modify is the same as the data read in response to the first request.

17. A data processing system comprising;

a first memory for storing a data volume;

a second memory for storing a mirrored copy of the data volume;

a first computer system coupled to the first and second memories, wherein the first computer system comprises a computer readable medium that stores instructions executable by the first computer system, wherein the first computer system performs a method in response to executing the instructions, the method comprising:

reading data from the first memory in response to receiving a first request to read data from the data volume, wherein the first request is received from a second computer system in data communication with the first computer system;

reading data from the second memory in response to receiving the first request;

comparing the data read from the first memory with the data read from the second memory

returning the data read from the first memory to the second computer system, wherein the data read from the first memory is returned regardless of whether the data read from the first memory compares equally to the data read from the second memory;

storing the data read from the second memory into a memory device of the first computer system.

18. The system of claim 17 wherein the method further comprises:

reading the data stored in the memory device in response to receiving a second request to read data from the data volume, wherein the second request is received from the second computer system, and wherein the first and second requests seek the same data;

returning the data read from the memory device to the second computer system.

19. A data processing system comprising;

means for receiving a first request to read data from a data volume, wherein the first request is received from a computer system;

means for reading data from a first memory for storing the data volume in response to receiving the first request;

means for reading data from a second memory for storing a mirrored copy of the data volume in response to receiving the first request;

means for returning the data read from the first memory to the computer system, regardless of whether the data read from the first memory compares equally to the data read from the second memory;

means for storing the data read from the second memory into a memory device;

means for comparing the data from the first memory with the data from the second memory.

Assignments (15)
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 →