IP Library Granted Patent US 9,378,093
Granted Patent B2
US 9,378,093 · App. 14/224,431 · Granted Jun 28, 2016

Controlling data storage in an array of storage devices

Inventors: Alastair Cooper (Winchester, GB); Gordon D. Hutchison (Eastleigh, GB)
Assignee: GLOBALFOUNDRIES INC.
G06F11/1092G06F11/108
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,378,093
App. No.
14/224,431
Filed
Mar 25, 2014
Granted
Jun 28, 2016
Kind
B2
Art Unit
2114
USPC
714/6.1
Abstract

Methods, apparatus and computer programs have been provided for mitigating a problem of non-optimal recovery from storage device failures. A method involves determining a required write performance for rebuilding data of a failed device, based at least partly on the potential read performance of storage devices in a data rebuild; and allocating a virtual storage area within available storage, which allocation of virtual storage is based at least partly on the required write performance. Data is rebuilt by writing to the allocated virtual storage area, and data recovery is completed by migrating this rebuilt data to at least one data storage device such as a spare physical storage device within the array.

Claims (28)

1. A method of data recovery, for responding to failure of a storage device in an array of storage devices, the method comprising:

determining a required write performance for rebuilding data of a failed device, based at least partly on the potential read performance of storage devices in a data rebuild;

allocating a virtual storage area within available storage, which allocation of virtual storage is based at least partly on the required write performance;

rebuilding data of a failed device by writing to the allocated virtual storage area; and

migrating the rebuilt data to at least one data storage device to complete the data recovery.

2. The method of claim 1 , wherein the potential read performance is determined by reference to a potential number of read input/output operations per second (IOPS) of data storage devices to be read during a data rebuild and/or the potential amount of data read in each read operation.

3. The method of claim 1 , wherein determining a required write performance comprises calculating the required size of virtual storage area and/or a required write speed for rebuilding data of a failed device.

4. The method of claim 1 , wherein the allocating comprises one or more of:

selecting an optimal number of devices from the available data storage devices within the array;

selecting an optimal type of device from the available types of data storage device within the array.

5. The method of claim 1 , for use in a data storage array that has respective high performance and low performance tiers of data storage devices in the data storage array, wherein the allocating comprises selecting at least one device from a high performance tier of the array.

6. The method of claim 1 , wherein the migration is started on one of: expiry of a predetermined period of time following the start of the rebuilding of lost data onto the virtual storage area; detection of availability of the at least one storage device following the start of rebuilding of lost data onto the virtual storage area; completion of the rebuild of data onto the virtual storage area; completion of a predefined portion of the rebuild of data onto the virtual storage area.

7. The method of claim 1 , wherein the determining the required write performance prevents a bottleneck when writing to the allocated virtual storage area.

8. The method of claim 7 , wherein the allocating is based on physical characteristics of underlying physical devices including at least one of: speed, storage capacity of a failed device; RAID array size; and a number of devices in an array.

9. The method of claim 8 , further comprising allocating the at least one data storage device, wherein the migrating the rebuilt data is based on allocating the at least one data storage device.

10. A data storage controller for data recovery in response to failure of a storage device of a storage array, the controller being operable to:

determine a required write performance for rebuilding data of a failed device, based at least partly on the potential read performance of storage devices in a data rebuild;

allocate a virtual storage area within available storage, which allocation of virtual storage is based at least partly on the required write performance;

rebuild data of a failed device by writing to the allocated virtual storage area; and

migrate the rebuilt data to at least one data storage device to complete the data recovery.

11. A data storage controller according to claim 10 , wherein the potential read performance is determined by reference to a potential number of bytes per second read from available storage devices of the array.

12. A data storage controller according to claim 10 , wherein the potential read performance is determined by reference to a potential number of read input/output operations per second of storage devices to be read during a data rebuild and/or the potential amount of data read in each read operation.

13. A data storage controller according to claim 10 , wherein the determination of a required write performance includes determining a required data capacity and write speed.

14. A data storage controller according to claim 10 , wherein the allocating comprises at least one of: selecting an optimal number of devices from the available data storage devices within the array; selecting an optimal type of device from the available types of data storage device within the array.

15. A data storage controller according to claim 10 , wherein the data rebuilt onto the allocated virtual storage area is migrated to a single physical storage device to complete the data recovery.

16. A data storage controller according to claim 10 , wherein the at least one storage device to which data is migrated is allocated for use in recovery before starting rebuilding lost data onto the virtual storage area.

17. A data storage controller according to claim 10 , wherein the at least one data storage device to which data is migrated is allocated for use in recovery during or after rebuilding lost data onto the virtual storage area, on expiry of a predetermined period of time, on detection of availability of the physical storage means, or on detection of completion of the rebuild.

18. A data storage controller according to claim 10 , wherein the migration is started on one of: expiry of a predetermined period of time following the start of the rebuilding of lost data onto the virtual storage area; detection of availability of the at least one storage device following the start of rebuilding of lost data onto the virtual storage area; completion of the rebuild of data onto the virtual storage area; completion of a predefined portion of the rebuild of data onto the virtual storage area.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2020
From: GLOBALFOUNDRIES INC.
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 054633/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2014
From: COOPER, ALASTAIR; HUTCHISON, GORDON D.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032518/0232 →
Priority Claims (1)
GB 1307463.8 · Apr 25, 2013 · national
Continuity (1)
Related Publication 20140325262A1 · Oct 30, 2014