IP Library Granted Patent US 9,529,674
Granted Patent B2
US 9,529,674 · App. 13/920,731 · Granted Dec 27, 2016

Storage device management of unrecoverable logical block addresses for RAID data regeneration

Inventors: David M. Pereira (Austin, TX); Chandrashekar Nelogal (Round Rock, TX)
Assignee: Dell Product, LP
G06F11/1088G06F11/076
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 9,529,674
App. No.
13/920,731
Filed
Jun 18, 2013
Granted
Dec 27, 2016
Kind
B2
Art Unit
2132
USPC
711/114
Abstract

A host processing system includes a processor, a RAID controller, and a data storage device coupled to the RAID controller and operable to detect first unrecoverable data at a first logical block address (LBA) of the data storage device, log the first LBA in an unrecoverable LBA table of the data storage device, provide the unrecoverable LBA table to the RAID controller, and in response to receiving a write to the first LBA, remove the first LBA from the unrecoverable LBA table.

Claims (73)

1. A Redundant Array of Independent Drives (RAID) controller, comprising:

a memory; and

a processor operable to:

request a subset of an unrecoverable logical block address (LBA) table from a data storage device coupled to the RAID controller, wherein the subset of the unrecoverable LBA table includes unrecoverable LBAs associated with a particular physical block address;

determine, from the subset of the unrecoverable LBA table, a first LBA of the data storage device that includes first unrecoverable data;

reconstruct the first unrecoverable data at a time when the RAID controller is idle;

and issue a write of the reconstructed data to the first LBA;

determine, from the subset of the unrecoverable LBA table, a second LBA of the data storage device that includes second unrecoverable data;

determine that a number of LBAs that include unrecoverable data from the subset of the unrecoverable LBA table exceeds a first threshold failure rate based upon the determination that the second LBA includes second unrecoverable data; and

indicate that the storage device is in danger of failing based upon the determination that the number of LBAs that include unrecoverable data exceeds the first threshold failure rate.

2. The RAID controller of claim 1 , wherein the subset of the unrecoverable LBA table comprises information related to a failure to read data stored at the first LBA.

3. The RAID controller of claim 2 , wherein the information includes a source of detecting the failure.

4. The RAID controller of claim 3 , wherein the source of detecting the failure includes at least one of a RAID controller read error, a data storage device self test error, and a data storage device background media scan.

5. The RAID controller of claim 2 , wherein the information includes a physical block of the data storage device associated with the first LBA.

6. The RAID controller of claim 2 , wherein the information includes a timestamp for the failure.

7. The RAID controller of claim 1 , wherein the processor is further operable to:

determine, from the subset of the unrecoverable LBA table, a third LBA of the data storage device that includes third unrecoverable data;

determine that a rate at which the data storage device detected the first unrecoverable data and the third recoverable data exceeds a second threshold failure rate; and

indicate that the data storage device is in danger of failing based upon the determination that the rate at which the data storage device detected the first unrecoverable data and the third recoverable data exceeds the second threshold failure rate.

8. A host processing system, comprising:

a processor;

a Redundant Array of Independent Drives (RAID) controller; and

a data storage device coupled to the RAID controller and operable to:

detect first unrecoverable data at a first logical block address (LBA) of the data storage device;

log the first LBA in an unrecoverable LBA table of the data storage device;

detect second unrecoverable data at a second LBA of the data storage device;

log the second LBA in an unrecoverable LBA table of the data storage device;

provide a subset of the unrecoverable LBA table to the RAID controller; and

in response to receiving a write to the first LBA, remove the first LBA from the unrecoverable LBA table; wherein the RAID controller is operable to:

request the subset of the unrecoverable LBA table from the data storage device, wherein the subset of the unrecoverable LBA table includes unrecoverable LBAs associated with a particular physical block address;

determine, from the subset of the unrecoverable LBA table, a third LBA of the data storage device that includes third unrecoverable data;

reconstruct the third unrecoverable data at a time when the RAID controller is idle; and issue a write of the reconstructed data to the third LBA;

determine, from the subset of the unrecoverable LBA table, a fourth LBA of the data storage device that includes fourth unrecoverable data;

determine that a number of LBAs that include unrecoverable data from the subset of the unrecoverable LBA table exceeds a first threshold failure rate based upon the determination that the fourth LBA includes fourth unrecoverable data; and

indicate that the storage device is in danger of failing based upon the determination that the number of LBAs that include unrecoverable data exceeds the first threshold failure rate.

9. The host processing system of claim 8 , wherein the log of the LBA in the unrecoverable LBA table comprises information related to a failure to read data stored at the first LBA.

10. The host processing system of claim 9 , wherein the information includes a source of detecting the failure.

11. The host processing system of claim 10 , wherein the source of detecting the failure includes at least one of a RAID controller read error, a self test error, and a background media scan.

12. The host processing system of claim 9 , wherein the information includes a physical block associated with the first LBA.

13. The host processing system of claim 9 , wherein the information includes a timestamp for the failure.

14. The host processing system of claim 8 , wherein the data storage device is further operable to:

detect fifth unrecoverable data at a fifth LBA of the data storage device;

log the fifth LBA in the unrecoverable LBA table of the data storage device;

determine that a rate at which the data storage device detected the first unrecoverable data and the fifth recoverable data exceeds a second threshold failure rate; and

provide an indication to the RAID controller that the data storage device is in danger of failing based upon determining that the rate at which the data storage device detected the first unrecoverable data and the fifth recoverable data exceeds the second threshold failure rate.

15. The host processing system of claim 8 , wherein:

the data storage device is further operable to:

detect fifth unrecoverable data at a fifth LBA of the data storage device;

log the fifth LBA in the unrecoverable LBA table of the data storage device; and

provide the unrecoverable LBA table to the RAID controller a second time; and the RAID controller is further operable to:

determine that a rate at which the data storage device detected the first unrecoverable data and the fifth recoverable data exceeds a threshold failure rate; and

indicate that the data storage device is in danger of failing based upon determining that the rate at which the data storage device detected the first unrecoverable data and the fifth recoverable data exceeds the threshold failure rate.

16. A method comprising:

detecting, by a data storage device, first unrecoverable data at a first logical block address (LBA) of the data storage device;

logging the first LBA in an unrecoverable LBA table of the data storage device;

detecting second unrecoverable data at a second LBA of the data storage device;

logging the second LBA in the unrecoverable LBA table of the data storage device;

receiving, at a Redundant Array of Independent Drives (RAID) controller, a subset of the unrecoverable LBA table, wherein the subset of the unrecoverable LBA table includes unrecoverable LBAs associated with a particular source of failure;

determining, from the subset of the unrecoverable LBA table, a third LBA of the data storage device that includes third unrecoverable data;

reconstructing, at the RAID controller, the third unrecoverable data in response to receiving the subset of the unrecoverable LBA table, wherein the reconstructing is at a time when the RAID controller is idle;

issuing, by the RAID controller, a write of the reconstructed data to the third LBA; and

in response to receiving a write to the third LBA, removing the third LBA from the unrecoverable LBA table;

determining, from the subset of the unrecoverable LBA table, a fourth LBA of the data storage device that includes fourth unrecoverable data;

determining that a number of LBAs that include unrecoverable data from the subset of the unrecoverable LBA table exceeds a first threshold failure rate based upon the determination that the fourth LBA includes fourth unrecoverable data; and

indicating that the storage device is in danger of failing based upon the determination that the number of LBAs that include unrecoverable data exceeds the first threshold failure rate.

17. The method of claim 16 , wherein the log of the first LBA in the unrecoverable LBA table comprises information related to a failure to read data stored at the first LBA.

18. The method of claim 17 , wherein the information includes a source of detecting the failure, the source of detecting the failure including at least one of a RAID controller read error, a self test error, and a background media scan.

19. The method of claim 17 , wherein the information includes at least one of a physical block associated with the first LBA, and a timestamp for the failure.

20. The method of claim 16 , further comprising:

detecting fifth unrecoverable data at a fifth LBA of the data storage device;

logging the fifth LBA in the unrecoverable LBA table of the data storage device;

determining that a rate at which the data storage device detected the first unrecoverable data and the second fifth recoverable data exceeds a second threshold failure rate; and

indicating that the data storage device is in danger of failing based upon determining that the rate at which the data storage device detected the first unrecoverable data and the second fifth recoverable data exceeds the second threshold failure rate.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2013
From: PEREIRA, DAVID M.; NELOGAL, CHANDRASHEKAR
To: DELL PRODUCTS, LP
Reel/Frame 030637/0508 →
Continuity (1)
Related Publication 20140372697A1 · Dec 18, 2014