Patent ID: 9569118
Date: 2017-02-14
CPC Classifications: G06F

Claim:
1. A method in a data storage system including a higher level controller and a lower level controller, the method comprising: storing data within the data storage array utilizing at least one level of striping across a plurality of storage components including a particular storage component; monitoring latencies of input/output operations (IOPs) requesting access to the data stored within the data storage array; in absence of a data error and in response to determining that a latency of a read IOP requesting read data stored in the particular storage component exceeds or will exceed a latency threshold, determining whether or not to reconstruct the read data from storage components among the plurality of storage components other than the particular storage component, wherein the determining is based on multiple criteria including (1) latency effects of read amplification on the plurality of storage components other than the particular storage component caused by reconstructing the read data and at least one criterion from a set including (2) a latency benefit expected to be obtained by reconstructing the read data and (3) whether reconstructing the read data would cause a read queue depth threshold to be exceeded for any of the plurality of storage components other than the particular storage component; in response to determining to not reconstruct the read data, servicing the read IOP by accessing the read data from the particular storage component; in response to determining to reconstruct the read data, servicing the read IOP by reconstructing the read data from storage components among the plurality of storage components other than the particular storage component; and the lower level controller providing feedback to the higher level controller to cause the higher level controller to reduce IOPs directed to at least the particular storage component.