IP Library Granted Patent US 7,028,156
Granted Patent B1
US 7,028,156 · App. 10/610,604 · Granted Apr 11, 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,028,156
App. No.
10/610,604
Granted
Apr 11, 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 (29)

1. In a data-storage system, a method comprising:

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

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

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

returning the data read from the first memory to the computer system;

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

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 seek the same data;

comparing time T1 with time T2, wherein time T1 is the time when the first request was received, and wherein time T2 is the time when the second request was received.

2. The method of claim 1 further comprising:

reading the data stored in the memory device in response to receiving the second request only if time T2 occurs within a predetermined amount of time after T1;

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

3. The method of claim 2 further comprising invalidating the data stored in the memory device.

4. 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 first memory, wherein the request to modify data of the first memory 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 sought by the first request.

5. The method of claim 1 further comprising invalidating the data stored in the memory device if time T2 does not occur within a predetermined amount of time after time T2.

6. 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 in data communication with the first 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;

returning the data read from the first memory to the second computer system;

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

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 seek the same data;

comparing time T1 with time T2, wherein time T1 is the time when the first request was received, and wherein time T2 is the time when the second request was received.

7. The computer readable medium of claim 6 , wherein the method further comprises:

invalidating data stored in the memory device in response to receiving a request to modify data of the first memory, wherein the request to modify data of the first memory is received from the second computer system or another computer system, and wherein the data to be modified by the request to modify is the same as the data sought by the first request.

8. The computer readable medium of claim 6 , wherein the method further comprises:

reading the data stored in the memory device only if time T2 occurs within a predetermined amount of time after T1;

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

9. The computer readable medium of claim 6 , wherein the method further comprises invalidating the data stored in the memory device if time T2 does not occur within a predetermined amount of time after T1.

10. The computer readable medium of claim 6 , wherein the method further comprises invalidating data stored in the memory device in response to receiving a request to modify data of the first memory, wherein the request to modify data of the first memory is received from the second computer system or another computer system, and wherein the data to be modified by the request to modify is the same as the data sought by the first request.

Assignments (16)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2025
From: COHESITY, INC.
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 072830/0475 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2004
From: VERITAS SOFTWARE CORPORATION
To: VERITAS OPERATING CORPORATION
Reel/Frame 015924/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2003
From: KISELEV, OLEG; KARR, RONALD S.
To: VERITAS SOFTWARE CORPORATION
Reel/Frame 014255/0286 →