IP Library Granted Patent US 8,473,779
Granted Patent B2
US 8,473,779 · App. 12/395,529 · Granted Jun 25, 2013

Systems and methods for error correction and detection, isolation, and recovery of faults in a fail-in-place storage array

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,473,779
App. No.
12/395,529
Granted
Jun 25, 2013
Kind
B2
Abstract

Systems and methods for recovering from a fault in an array of data storage devices are provided. Fault recovery includes determining that a first data storage device of the array of data storage devices is more likely to fail that other storage devices of the array of data storage devices. A second data storage device in the array of data storage devices is selected to be used in recovering from a failure of the first data storage device. Data from the first data storage device is stored at the second storage device. In the event of a failure at the first data storage device, data storage operations are performed using the second storage device.

Claims (57)

1. A method for recovering from a fault in an array of data storage devices, comprising:

arranging the array of devices into an outside pair of device columns and an inside pair of device columns, the devices of one outside column mirroring the devices of the other outside column as mirrored outside device pairs, and the devices of one inside column mirroring the devices of the other inside column as mirrored inside device pairs;

designating a portion of the mirrored outside device pairs and a portion of the mirrored inside device pairs as spare devices;

determining that a first data storage device of the array of data storage devices is more likely to fail than other storage devices of the array of data storage devices;

selecting a first spare device, selected from the device column of which the first data storage device is a member, to be used in recovering from a failure of the first data storage device;

storing data from the first data storage device at the first spare device, and at the mirrored device of the first spare device;

in the event of a failure at the first data storage device, continuing data storage operations at the array of data storage devices using the first spare device, and the mirrored device of the first spare device;

determining that a second data storage device of the array of data storage devices is more likely to fail than the first data storage device;

selecting a second spare device, selected from the device column of which the second data storage device is a member, to be used in recovering from a failure of the second data storage device;

storing data from the second data storage device at the second spare device, and at the mirrored device of the second spare device;

in the event of a failure at the second data storage device, continuing data storage operations at the array of data storage devices using the second spare device, and the mirrored device of the second spare device;

determining that an additional data storage device of the array of data storage devices is more likely to fail than the first data storage device;

determining that no further spare data storage devices are available from the device column of which the additional data storage device is a member; and

selecting an additional spare device, selected from one of the device columns not having the additional data storage device as a member, and not having a mirrored data storage device of the additional data storage device as a member, the additional spare device to be used in recovering from a failure of the additional data storage device.

2. The method, as claimed in claim 1 , further comprising:

providing the first spare device as available for data storage operations prior to the first data storage device failing.

3. The method, as claimed in claim 1 , further comprising:

sealing the array of devices in an enclosure, prior to said determining that a first data storage device of the array of data storage devices is more likely to fail than other storage devices of the array of data storage devices.

4. The method, as claimed in claim 1 , wherein in the event of a failure of a data storage device of said array of data storage devices, the failed device is not replaced.

5. The method, as claimed in claim 1 , further comprising collecting operational data from each of the data storage devices that relate to the operation of each of the data storage devices, wherein said operational data comprises at least one of power-on hours, temperature, reallocated sectors, ECC errors, and ICRC errors for the respective data storage device.

6. The method, as claimed in claim 1 , wherein:

the data storage devices are disc drives comprised of rotatable actuators having rotational axes;

the rotational axes of the disc drives of one of the outside pair of columns is orthogonal to the rotational axes of the disc drives of the other of the outside pair of columns; and

the rotational axes of the disc drives of one of the inside pair of columns is orthogonal to the rotational axes of the disc drives of the other of the inside pair of columns, and parallel to the rotational axes of the disc drives of the one of the outside pair of columns.

7. The method, as claimed in claim 1 , wherein:

the columns of the array of devices are subdivided into groups of rows, each of the groups of rows comprising at least a first expander in communication with a portion of one of the columns of the outside pair of device columns and a portion of one of the columns of the inside pair of device columns, and at least a second expander in communication with a portion of the other of the columns of the outside pair of device columns and a portion of the other of the columns of the inside pair of device columns; and

wherein each portion of one of the columns of the outside pair of device columns, of one of the columns of the inside pair of device columns, of the other of the columns of the outside pair of device columns, and of the other of the columns of the inside pair of device columns includes only one spare device.

8. A method for recovering from a fault in an array of data storage devices, comprising:

arranging the array of devices into an outside pair of device columns and an inside pair of device columns, the devices of one outside column mirroring the devices of the other outside column as mirrored outside device pairs, and the devices of one inside column mirroring the devices of the other inside column as mirrored inside device pairs;

designating a portion of the mirrored outside device pairs and a portion of the mirrored inside device pairs as spare devices;

collecting operational data from each of the data storage devices that relate to the operation of each of the data storage devices;

analyzing the operational data to determine that a first data storage device of the array of data storage devices is more likely to fail than other storage devices of the array of data storage devices;

selecting a first spare device, selected from the device column of which the first data storage device is a member, to be used in recovering from a failure of the first data storage device;

storing data from the first data storage device at the first spare device, and at the mirrored device of the first spare device;

in the event of a failure at the first data storage device, continuing data storage operations at the array of data storage devices using the first spare device, and the mirrored device of the first spare device;

analyzing the operational data to determine that a second data storage device of the array of data storage devices is more likely to fail than the first data storage device;

selecting a second spare device, selected from the device column of which the second data storage device is a member, to be used in recovering from a failure of the second data storage device;

storing data from the second data storage device at the second spare device, and at the mirrored device of the second spare device;

in the event of a failure at the second data storage device, continuing data storage operations at the array of data storage devices using the second spare device, and the mirrored device of the second spare device;

determining that an additional data storage device of the array of data storage devices is more likely to fail than the first data storage device;

determining that no further spare data storage devices are available from the device column of which the additional data storage device is a member; and

selecting an additional spare device, selected from one of the device columns not having the additional data storage device as a member, and not having a mirrored data storage device of the additional data storage device as a member, the additional spare device to be used in recovering from a failure of the additional data storage device.

9. The method, as claimed in claim 1 , wherein the selecting a first spare device is performed in a manner that minimizes vibration in the array of storage devices.

10. The method, as claimed in claim 8 , wherein the selecting a first spare device is performed in a manner that minimizes vibration in the array of storage devices.

11. The method, as claimed in claim 8 , further comprising:

providing the first spare device as available for data storage operations prior to the first data storage device failing.

12. The method, as claimed in claim 8 , further comprising:

sealing the array of devices in an enclosure, prior to said determining that a first data storage device of the array of data storage devices is more likely to fail than other storage devices of the array of data storage devices.

13. The method, as claimed in claim 8 , wherein in the event of a failure of a data storage device of said array of data storage devices, the failed device is not replaced.

14. The method, as claimed in claim 8 , wherein the operational data comprises at least one of power-on hours, temperature, reallocated sectors, ECC errors, and ICRC errors for the respective data storage device.

15. The method, as claimed in claim 8 , wherein:

the data storage devices are disc drives comprised of rotatable actuators having rotational axes;

the rotational axes of the disc drives of one of the outside pair of columns is orthogonal to the rotational axes of the disc drives of the other of the outside pair of columns; and

the rotational axes of the disc drives of one of the inside pair of columns is orthogonal to the rotational axes of the disc drives of the other of the inside pair of columns, and parallel to the rotational axes of the disc drives of the one of the outside pair of columns.

16. The method, as claimed in claim 8 , wherein:

the columns of the array of devices are subdivided into groups of rows, each of the groups of rows comprising at least a first expander in communication with a portion of one of the columns of the outside pair of device columns and a portion of one of the columns of the inside pair of device columns, and at least a second expander in communication with a portion of the other of the columns of the outside pair of device columns and a portion of the other of the columns of the inside pair of device columns; and

wherein each portion of one of the columns of the outside pair of device columns, of one of the columns of the inside pair of device columns, of the other of the columns of the outside pair of device columns, and of the other of the columns of the inside pair of device columns includes only one spare device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2011
From: ATRATO, INC.
To: ASSURANCE SOFTWARE AND HARDWARE SOLUTIONS, LLC
Reel/Frame 025975/0379 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2009
From: BOEHNKE, LARS E.; SIEWERT, SAMUEL BURK; CLARK, PHILLIP
To: ATRATO, INC.
Reel/Frame 022967/0773 →