Storage class memory queue depth threshold adjustment
AssigneeHewlett Packard Enterprise Development LP
InventorsGurinder Shergill, Kouei Yamada
Life of this patent
Estimating the term…
Abstract
Examples include storage class memory (SCM) queue depth threshold adjustment. Examples may adjust the SCM queue depth threshold of a controller based on whether an IO request latency threshold for an SCM read cache is exceeded. Examples may determine whether to process an IO request using the SCM read cache based on an SCM queue depth of the controller and the SCM queue depth threshold.
Claims20
A method of a storage system comprising:
- determining, with a first controller of the storage system, a representative input/output (IO) request latency between the first controller and a storage class memory (SCM) read cache during a given time period in which the first controller and a second controller of the storage system are sending IO requests to the SCM read cache, the first and second controllers each comprising a respective main cache, and the storage system comprising backend storage;
- determining a first total amount of data read from and written to the SCM read cache by the first controller during the given time period;
- determining, with the first controller, an estimated cumulative amount of data read from and written to the SCM read cache by the first and second controllers during the given time period, based on the determined representative IO request latency for the given time period and performance data for the SCM read cache;
- determining, based on the first total amount of data and the estimated cumulative amount of data, an adjustment amount for the at least one SCM queue depth threshold of the first controller;
- adjusting at least one SCM queue depth threshold of the first controller by the adjustment amount, in response to a determination that the determined representative IO request latency exceeds an IO request latency threshold for the SCM read cache;
- in response to an IO request of the first controller for the SCM read cache, comparing an SCM queue depth of the first controller to one of the at least one SCM queue depth threshold of the first controller;
- selecting between processing the IO request using the SCM read cache, dropping the IO request, and processing the IO request without using the SCM read cache, based on a type of the IO request and a result of the comparison;
- and
- performing the selected processing or dropping in response to the selection.
An article comprising at least one non-transitory machine-readable storage medium comprising instructions executable by at least one processing resource of a storage system to:
- determine a representative input/output (IO) request latency between a first controller of the storage system and a storage class memory (SCM) read cache during a given time period in which the first controller and a second controller of the storage system are sending IO requests to the SCM read cache;
- adjust an SCM read queue depth threshold or an SCM write queue depth threshold of the first controller based on a determination that the determined representative IO request latency exceeds an IO request latency threshold for the SCM read cache;
- drop a destage request at the first controller, when an SCM write queue depth of the first controller is greater than the SCM write queue depth threshold;
- and
- in response to a request, of the first controller, to read requested data from the SCM read cache, bypass the SCM read cache and read the requested data from backend storage of the storage system or from a remote computing device into a main cache of the first controller, when the SCM read queue depth of the first controller is greater than the SCM read queue depth threshold.
A storage system comprising:
- first and second controllers;
- a dual-ported storage class memory (SCM) read cache to receive and process IO requests from each of the first and second controllers;
- backend storage;
- and
- at least one non-transitory machine-readable storage medium comprising instructions executable by the at least one processing resource of the first controller to:
- determine a representative input/output (IO) request latency between the first controller the SCM read cache during a given time period;
- adjust an SCM queue depth threshold of the first controller, based on a determination that the representative IO request latency exceeds an IO request latency threshold for the SCM;
- in response to a request to destage data to the SCM read cache, drop the destage request without writing the data to the SCM read cache, when an SCM write queue depth is greater than an SCM write queue depth threshold of the first controller;
- and
- in response to a request to read requested data from the SCM read cache, bypass the SCM read cache and read the requested data from the backend storage or from a remote computing device, when an SCM read queue depth is greater than the SCM read queue depth threshold of the first controller.
Dependencies are inferred from the claim text.