IP Library Granted Patent US 8,001,417
Granted Patent B2
US 8,001,417 · App. 11/967,248 · Granted Aug 16, 2011

Method and apparatus for repairing uncorrectable drive errors in an integrated network attached storage device

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 8,001,417
App. No.
11/967,248
Granted
Aug 16, 2011
Kind
B2
Abstract

In one embodiment, the invention provides a method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices. The method comprises the steps of identifying a disk error associated with the defective storage device; effecting an error recovery pause based on the disk error; processing one or more outstanding data storage or retrieval requests; and generating a new data storage request instructing the physical disk device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the disk device error, whereby the defective storage device is repaired.

Claims (79)

1. A storage-system-implemented method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices, comprising:

a. a storage system receiving a plurality of data storage or retrieval requests from an upstream device;

b. the storage system transmitting the plurality of data storage or retrieval requests to the physical storage-device array;

c. the storage system receiving responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

d. the storage system identifying, from among the plurality of data storage or retrieval requests transmitted to the physical storage-device array, a second subset of requests for which physical storage-device array responses have not been received;

e. the storage system identifying an error associated with the defective storage device;

f. the storage system effecting error recovery based on the error by:

i. the storage system processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error, wherein processing one or more outstanding data storage or retrieval requests includes storing response and status information associated with the request being processed; and

ii. the storage system generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired.

2. The method of claim 1 , wherein identifying an error includes at least one of:

a. detecting a parity error based on corrupted data returned from the defective storage device;

b. receiving an error message in response to a retrieval request; and

c. receiving from the defective storage device a Device-to-Host message indicating that an Uncorrectable Error (UNC) has occurred.

3. The method of claim 1 , wherein identifying an error includes storing information about the error in a status register.

4. The method of claim 1 , wherein identifying an error includes transmitting an interrupt signal to an application processor.

5. The method of claim 1 , wherein effecting error recovery includes disabling at least one interface connected to the physical storage-device array.

6. The method of claim 5 wherein processing one or more outstanding data storage or retrieval requests includes re-enabling at least one interface connected to the physical storage-device array.

7. The method of claim 1 , wherein effecting error recovery includes inhibiting new data storage or retrieval requests from being generated by the upstream device.

8. The method of claim 1 , wherein effecting error recovery includes causing a state machine to enter a pause state.

9. The method of claim 1 , wherein processing one or more outstanding data storage or retrieval requests includes storing the one or more outstanding data storage or retrieval requests.

10. The method of claim 1 , wherein processing one or more outstanding data storage or retrieval requests includes reading information stored in a Request Information Response register.

11. The method of claim 1 , wherein processing one or more outstanding data storage or retrieval requests includes terminating the error recovery pause.

12. The method of claim 1 , wherein the one or more outstanding data storage or retrieval requests are processed sequentially.

13. The method of claim 1 , wherein processing one or more outstanding data storage or retrieval requests includes effecting an error recovery pause after processing each outstanding data storage or retrieval request.

14. The method of claim 1 , wherein generating a new data storage request comprises generating a new data retrieval request instructing to physical storage-device array to retrieve reconstructable data associated with the data storage or retrieval request corresponding to the error.

15. The method of claim 1 , further comprising reconstructing valid data associated with the data storage or retrieval request corresponding to the error.

16. The method of claim 1 , wherein defective sectors in the defective storage device are logically re-mapped to non-defective sectors within the defective storage device.

17. Apparatus for repairing a defective storage device in a physical storage-device array having a plurality of storage devices, the apparatus comprising a storage system adapted to:

a. receive a plurality of data storage or retrieval requests;

b. transmit the plurality of data storage or retrieval requests to the physical storage-device array;

c. receive responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

d. identify, from among the plurality of data storage or retrieval requests, a second subset of requests for which physical storage-device array responses have not been received;

e. identify an error associated with the defective storage device;

f. effect an error recovery based on the error by:

i. processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error, wherein processing one or more outstanding data storage or retrieval requests includes storing response and status information associated with the request being processed; and

ii. generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired.

18. The apparatus of claim 17 , wherein the apparatus is embodied in an integrated circuit.

19. A computer system comprising:

a. a computer having a processor and an interface;

b. a physical storage-device array having a plurality of storage devices including a defective storage device; and

c. a storage system coupled to the computer via the interface and adapted to access the physical storage-device array, the storage system adapted to:

i. receive a plurality of data storage or retrieval requests;

ii. transmit the plurality of data storage or retrieval requests to the physical storage-device array;

iii. receive responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

iv. identify, from among the plurality of data storage or retrieval requests, a second subset of requests for which physical storage-device array responses have not been received;

v. identify an error associated with the defective storage device;

vi. effect error recovery based on the error by:

1. processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error, wherein processing one or more outstanding data storage or retrieval requests includes storing response and status information associated with the request being processed; and

2. generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired.

20. A storage-system-implemented method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices, comprising:

a. a storage system receiving a plurality of data storage or retrieval requests from an upstream device;

b. the storage system transmitting the plurality of data storage or retrieval requests to the physical storage-device array;

c. the storage system receiving responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

d. the storage system identifying, from among the plurality of data storage or retrieval requests transmitted to the physical storage-device array, a second subset of requests for which physical storage-device array responses have not been received;

e. the storage system identifying an error associated with the defective storage device;

f. the storage system effecting error recovery based on the error by:

i. the storage system processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error; and

ii. the storage system generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired, and

wherein effecting error recovery includes inhibiting new data storage or retrieval requests from being generated by the upstream device.

21. A storage-system-implemented method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices, comprising:

a. a storage system receiving a plurality of data storage or retrieval requests from an upstream device;

b. the storage system transmitting the plurality of data storage or retrieval requests to the physical storage-device array;

c. the storage system receiving responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

d. the storage system identifying, from among the plurality of data storage or retrieval requests transmitted to the physical storage-device array, a second subset of requests for which physical storage-device array responses have not been received;

e. the storage system identifying an error associated with the defective storage device;

f. the storage system effecting error recovery based on the error by:

i. the storage system processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error; and

ii. the storage system generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired, and

wherein processing one or more outstanding data storage or retrieval requests includes reading information stored in a Request Information Response register.

22. A storage-system-implemented method for repairing a defective storage device in a physical storage-device array having a plurality of storage devices, comprising:

g. a storage system receiving a plurality of data storage or retrieval requests from an upstream device;

h. the storage system transmitting the plurality of data storage or retrieval requests to the physical storage-device array;

i. the storage system receiving responses from the physical storage-device array in response to a first subset of requests among the plurality of data storage or retrieval requests;

j. the storage system identifying, from among the plurality of data storage or retrieval requests transmitted to the physical storage-device array, a second subset of requests for which physical storage-device array responses have not been received;

k. the storage system identifying an error associated with the defective storage device;

l. the storage system effecting error recovery based on the error by:

i. the storage system processing one or more outstanding data storage or retrieval requests among the second subset of requests, in order to identify at least one request corresponding to the error; and

ii. the storage system generating a new data storage request instructing the physical storage-device array having the defective storage device to store valid data associated with the data storage or retrieval request corresponding to the error, whereby the defective storage device is repaired, and

wherein processing one or more outstanding data storage or retrieval requests includes effecting an error recovery pause after processing each outstanding data storage or retrieval request.

Assignments (12)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
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: AGERE SYSTEMS LLC
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035365/0634 →
CERTIFICATE OF CONVERSION Recorded Aug 29, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 033663/0948 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2008
From: BYRNE, RICHARD J.; KLUCSARITS, THOMAS; HEINTZE, NEVIN C.; ARULAMBALAM, AMBALAVANAR; HUNTER, MICHAEL J.; ZHAO, XING; HE, ZHI PING; PENG, YUN; XU, QIAN GAO; GOH, EU GENE; TJANDRA, SILVESTER
To: AGERE SYSTEMS INC.
Reel/Frame 021673/0279 →