IP Library Granted Patent US 7,234,024
Granted Patent B1
US 7,234,024 · App. 11/364,230 · Granted Jun 19, 2007

Application-assisted recovery from data corruption in parity RAID storage using successive re-reads

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,234,024
App. No.
11/364,230
Granted
Jun 19, 2007
Kind
B1
Abstract

An apparatus or method that tracks the identity of stripe units or group of stripe units from which data has been previously read by an application program running on a computer system. In one embodiment, the present invention stores the identity of previously read stripe units or groups of stripe units in a table. If the application program requests data of one of stripe unit or groups of stripe units whose identity is stored in the table, the requested data is regenerated from parity data and data of the stripe or stripes other than the requested data. This generated data is returned to the application program rather then the existing data stored in the stripe unit groups of stripe units.

Claims (25)

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

receiving a first request to read data of a first stripe unit of a stripe, wherein the first request is received from a computer system in data communication with the RAID data storage system;

returning data of the first stripe unit to the computer system in response to receiving the first request;

receiving a second request to read data of the first stripe unit, wherein the second request is received from the computer system;

generating reconstructed data for the first stripe unit in response to receiving the second request;

returning the reconstructed data to the computer system;

comparing data of the first strip unit with the reconstructed data;

generating reconstructed parity data for the stripe in response to comparing data of the first strip unit with the reconstructed data.

2. The method of claim 1 wherein the reconstructed parity data is generated as a function of all stripe units of the stripe.

3. The method of claim 2 further comprising writing the reconstructed parity data to a parity block of the stripe.

4. In a RAID data storage system, a method comprising:

receiving a first request to read data of a first stripe unit of a stripe, wherein the first request is received from a computer system in data communication with the RAID data storage system;

generating reconstructed data for the first stripe unit in response to receiving the first request;

comparing data of the first stripe unit with the reconstructed data.

5. The method of claim 4 further comprising notifying the computer system of data inconsistency if the comparison shows the data in first stripe unit is different from the reconstructed data.

6. The method of claim 4 wherein the reconstructed data is generated as a function of error correction data and data of stripe units of the stripe other than the first stripe unit.

7. The method of claim 4 further comprising overwriting data for the first stripe unit with the reconstructed data unless the RAID data storage system receives another request to read data of the first stripe unit within a predetermined amount of time.

8. The method of claim 4 further comprising returning the reconstructed data to the computer system.

9. A computer readable medium storing instructions executable by a first computer system in a RAID data storage system, wherein the RAID data storage system comprises a stripe, wherein the stripe comprises a plurality of stripe units including a first stripe unit, wherein the first computer system performs a method in response to executing instructions stored on the computer readable medium, the method comprising:

generating reconstructed data for the first stripe unit in response to the RAID data storage system receiving a first request to read data of a first stripe unit of a stripe, wherein the first request is received from a second computer system in data communication with the RAID data storage system;

comparing data of the first stripe unit with the reconstructed data;

returning the reconstructed data to the computer system.

10. The computer readable medium of claim 9 wherein the method further comprises notifying the computer system of data inconsistency if the comparison shows the data in first stripe unit is different from the reconstructed data.

11. The computer readable medium of claim 9 wherein the reconstructed data is generated as a function of error correction data and data of stripe units of the stripe other than the first stripe unit.

12. The computer readable medium of claim 9 wherein the method further comprises overwriting data for the first stripe unit with the reconstructed data unless the RAID data storage system receives another request to read data of the first stripe unit within a predetermined amount of time.

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 →