IP Library Granted Patent US 9,223,658
Granted Patent B2
US 9,223,658 · App. 13/892,640 · Granted Dec 29, 2015

Managing errors in a raid

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,223,658
App. No.
13/892,640
Granted
Dec 29, 2015
Kind
B2
Abstract

An apparatus, system, and method are disclosed for configuring a plurality of storage devices for a RAID and setting a time-out value for the plurality of storage devices, determining whether a response time for a storage device of the plurality of storage devices exceeds the time-out value, and recovering data from the RAID in response to the storage device exceeding the time-out value.

Claims (41)

1. An apparatus comprising:

a processor;

a RAID subsystem accessible by the processor; and

a memory storing modules for execution by the processor, the modules comprising:

a configuration module configuring a plurality of storage devices for a RAID and setting a time-out value for each of the plurality of storage devices in a register of respective storage devices, wherein the set time-out value is less than a default time-out value for the plurality of storage devices;

a determination module determining whether a response time for a storage device of the plurality of storage devices exceeds the time-out value;

a data recovery module that recovers data from the RAID in response to the storage device exceeding the time-out value; and

an adjustment module that adjusts the time-out value based on a percentage of the storage devices exceeding the time-out value.

2. The apparatus of claim 1 , further comprising a receiver module configured to receive the time-out value, the configuration module setting the received time-out value for the plurality of storage devices.

3. The apparatus of claim 2 , wherein the receiver module receives the time-out value from a host device.

4. The apparatus of claim 1 , wherein the RAID comprises one or more of RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, RAID 10, and a nested RAID.

5. The apparatus of claim 1 , wherein each of the plurality of storage devices comprises a storage array, each storage array being configured with a different time-out value.

6. The apparatus of claim 1 , wherein the adjustment module is configured to increase the time-out in response to the determination module determining that a threshold number of the plurality of storage devices have exceeded the time-out value.

7. The apparatus of claim 1 , wherein the adjustment module is configured to decrease the time-out value in response to determining that a threshold number of the plurality of storage devices have not exceeded the time-out value.

8. A method comprising:

configuring a plurality of storage devices for a RAID subsystem, the RAID subsystem;

setting a time-out value for each of the plurality of storage devices in a register of respective storage devices, wherein the set time-out value is less than a default time-out value for the plurality of storage devices;

determining whether a response time for a storage device of the plurality of storage devices exceeds the time-out value; and

recovering data from the RAID in response to the storage device exceeding the time-out value; and

adjusting the time-out value based on a percentage of the storage devices exceeding the time-out value.

9. The method of claim 8 , further comprising receiving the time-out value.

10. The method of claim 9 , wherein the receiving comprises one of receiving the time-out value from a host device, and receiving the time-out value from a storage controller.

11. The method of claim 8 , further comprising counting a number of times a storage device of the plurality exceeds the time-out value, and removing the storage device from the RAID in response to determining that the number of times the storage device has exceeded the time-out value is above a threshold value.

12. The method of claim 8 , further comprising replacing a storage device that exceeds the time-out value one or more times.

13. The method of claim 8 , wherein each of the plurality of storage devices comprises a storage array, wherein setting a time-out value for the plurality of storage devices comprises setting each storage array with a different time-out value.

14. The method of claim 8 , wherein adjusting the time-out value comprises increasing the time-out value in response to determining that a threshold number of the plurality of storage devices have exceeded the time-out value.

15. The method of claim 8 , wherein adjusting the time-out value comprises decreasing the time-out value in response to determining that a threshold number of the plurality of storage devices have not exceeded the time-out value.

16. A system comprising:

a plurality of storage devices forming a RAID, the storage devices configured to receive a time-out value that is less than a default time-out value for the plurality of storage devices, the received time-out value limiting internal recovery procedures for the storage devices;

a storage controller controlling the RAID, the storage controller configured to set a time-out value for the storage devices by storing the time-out value in a register of respective storage devices, the storage controller further configured to recover data from the RAID in response to one or more storage devices exceeding the time-out value, wherein the storage controller is further configured to adjust the time-out value based on a percentage of the storage devices exceeding the time-out value;

a system memory; and

one or more processor in communication with the storage controller and transferring data to the system memory.

17. The system of claim 16 , wherein the storage controller is configured to receive the time-out from one of a host device, a module, a driver, a controller, an operating system, and an application.

18. The system of claim 16 , wherein each of the plurality of storage devices comprises a storage array, wherein the storage controller sets each storage array with a different time-out value.

19. A program product comprising a computer readable storage medium comprising machine readable code executable by a processor, the code comprising operations to:

configure a plurality of storage devices for a RAID subsystem;

setting a time-out value for each of the plurality of storage devices in a register of respective storage devices, wherein the set time-out value is less than a default time-out value for the plurality of storage devices;

determine whether a response time for a storage device of the plurality of storage devices exceeds the time-out value; and

recover data from the RAID in response to the storage device exceeding the time-out value; and

adjusting the time-out value based on a percentage of the storage devices exceeding the time-out value.

20. The program product of claim 19 , wherein each of the plurality of storage devices comprises a storage array, the code further comprising operations to set each storage array with a different time-out value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: LENOVO (SINGAPORE) PTE. LTD.
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 049687/0976 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2013
From: POSTAGE, ROBERT BRIAN; PACHECO, JOAQUIN F.
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 030403/0504 →