Scheduling of reconstructive I/O read operations in a storage environment
First Claim
1. A computer system comprising:
- a data storage medium comprising a plurality of storage devices configured to store data in at least one redundant array of independent disks (RAID) group; and
a data storage controller coupled to the data storage medium;
wherein the data storage controller is configured to;
receive a read request targeted to the data storage medium;
identify at least a first storage device of the plurality of storage devices which currently contains data targeted by the read request; and
make a determination, based on whether the first storage device has exceeded a first time period for responding to the read request without exceeding a second time period for responding to the read request, to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The storage controller is configured to receive a read request targeted to the data storage medium, and identify at least a first storage device of the plurality of storage devices which contains data targeted by the read request. In response to either detecting or predicting the first storage device will exhibit variable performance, the controller is configured to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device.
-
Citations
19 Claims
-
1. A computer system comprising:
-
a data storage medium comprising a plurality of storage devices configured to store data in at least one redundant array of independent disks (RAID) group; and a data storage controller coupled to the data storage medium; wherein the data storage controller is configured to; receive a read request targeted to the data storage medium; identify at least a first storage device of the plurality of storage devices which currently contains data targeted by the read request; and make a determination, based on whether the first storage device has exceeded a first time period for responding to the read request without exceeding a second time period for responding to the read request, to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for use in a computing system, the method comprising:
-
receiving a read request targeted to a data storage medium comprising a plurality of storage devices configured to store data in at least one RAID group; identifying at least a first storage device of the plurality of storage devices which currently contains data targeted by the read request; and making a determination, based on whether the first storage device has exceeded a first time period for responding to the read request without exceeding a second time period for responding to the read request, to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer readable storage medium comprising program instructions, wherein when executed by a processing device, the program instructions are operable to:
-
receive a read request targeted to a data storage medium comprising a plurality of storage devices configured to store data in at least one RAID group; identify at least a first storage device of the plurality of storage devices which currently contains data targeted by the read request; and make a determination, based on whether the first storage device has exceeded a first time period for responding to the read request without exceeding a second time period for responding to the read request, to generate a reconstruct read request configured to obtain the data from one or more devices of the plurality of storage devices other than the first storage device.
-
Specification