IP Library Granted Patent US 7,694,171
Granted Patent B2
US 7,694,171 · App. 11/607,625 · Granted Apr 6, 2010

Raid5 error recovery logic

Assignee: LSI Corporation
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,694,171
App. No.
11/607,625
Granted
Apr 6, 2010
Kind
B2
Abstract

A method for recovering errors on a multiple disk system. The method including the steps of (a) determining a location and type for one or more errors in a plurality of blocks on the multiple disk system, (B) determining a current error of the one or more errors that is closest to a start of the plurality of blocks, (C) recovering data for the current error using data read from drives other than the drive containing the current error and (D) determining whether any further errors are present on the drive that contained the current error.

Claims (38)

1. A method for recovering errors on a multiple disk system comprising the steps of:

A) determining a location and type for two or more errors in a plurality of blocks on said multiple disk system;

B) determining a current error of said two or more errors as the error with a lowest physical block address;

C) recovering data for the current error using data read from drives other than the drive containing the current error;

D) determining whether any further errors are present on the drive that contained the current error; and

E) determining the current error of any remaining errors as the remaining error with the next lowest physical block address.

2. The method according to claim 1 , wherein said multiple disk system comprises a RAID5 system.

3. The method according to claim 1 , wherein said plurality of blocks comprise a stripe.

4. The method according to claim 1 , wherein when the current error of said two or more errors comprises a media error, the data recovered for the current error is written back to the drive containing the current error.

5. The method according to claim 1 , wherein when the current error of said two or more errors comprises a non-recoverable error, the data recovered for the current error is not written back to the drive containing the current error.

6. The method according to claim 1 , wherein said plurality of blocks are arranged in strips.

7. The method according to claim 6 , wherein one of said strips comprises parity information.

8. The method according to claim 6 , further comprising the step of:

F) recovering any remaining data in a strip on the drive that contained the current error.

9. The method according to claim 8 , wherein the steps D through F are repeated for each error detected in the plurality of blocks.

10. An apparatus for recovering errors on a multiple disk system comprising:

means for determining a location and type for two or more errors in a plurality of blocks on said multiple disk system;

means for determining a current error of said two or more errors as the error with a lowest physical block address;

means for recovering data for the current error using data read from drives other than the drive containing the current error;

means for determining whether any further errors are present on the drive that contained the current error; and

means for determining the current error of any remaining errors as the remaining error with the next lowest physical block address.

11. An apparatus for recovering errors on a multiple disk system comprising:

a plurality of disk drives linked together as a single logical unit; and

an error recovery logic circuit configured to (i) determine a location and type for two or more errors occurring in a plurality of strips on the plurality of disk drives, (ii) determine a current error of said two or more errors as the error with a lowest physical block address, (iii) recover data for the current error using data read from drives other than the drive containing the current error, (iv) determine whether any further errors are present on the drive that contained the current error, and (v) determine the current error of any remaining errors as the remaining error with the next lowest physical block address.

12. The apparatus according to claim 11 , wherein said plurality of disk drives are configured as a RAID5 system.

13. The apparatus according to claim 11 , wherein said plurality of strips comprise a stripe.

14. The apparatus according to claim 11 , wherein when said current error of said two or more errors comprises a media error, the data recovered for the current error is written back to the drive containing the current error.

15. The apparatus according to claim 11 , wherein when said current error of said two or more errors comprises a non-recoverable error, the data recovered for the current error is not written back to the drive containing the current error.

16. The apparatus according to claim 11 , wherein one of said plurality of strips comprises parity information.

17. The apparatus according to claim 11 , wherein said error recovery logic is further configured to recover any remaining data on the drive that contained the current error.

18. The apparatus according to claim 11 , wherein the error recovery logic is further configured to recover each error detected in the plurality of strips based on a respective physical block address of each error.

19. The apparatus according to claim 11 , wherein the error recovery logic is implemented within a RAID core layer of a RAID driver.

20. The apparatus according to claim 11 , wherein the error recovery logic comprises:

a peer read module configured to read data from one or more peer data drives and a parity data drive;

a check and preparation module configured to determine whether the two or more detected errors are recoverable and order the two or more errors for recovery based upon the physical block address of each error;

a cleanup module configured to clean up the error recovery logic after a recovery process is completed;

a write verify module configured to perform a write verify operation on a block in which a current recoverable error occurred; and

a read remainder module configured to read remaining data of a strip following the current recoverable error.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 47630 FRAME: 344. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 21, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0267 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 9/5/2018 PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0687. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0344 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047196/0687 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
MERGER Recorded Feb 13, 2010
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 023934/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2006
From: MANOJ, JOSE K.
To: LSI LOGIC CORPORATION
Reel/Frame 018660/0642 →
Continuity (1)
Related Publication 20080133969A1 · Jun 5, 2008