Bypass storage class memory read cache based on a queue depth threshold
AssigneeHewlett Packard Enterprise Development LP
InventorsGurinder Shergill, Kouei Yamada
Life of this patent
Estimating the term…
Abstract
Examples may bypass storage class memory (SCM) read cache based on a queue depth threshold. Examples may adjust a queue depth threshold for an SCM read cache based on an amount of data read from and written to the SCM read cache in a time period, and may bypass the SCM read cache based on a comparison of a number of outstanding IOs for the SCM read cache to a queue depth threshold for the SCM read cache.
Claims20
A method of a storage system comprising:
- determining, with at least one processing resource of the storage system, a total amount of data read from and written to a storage class memory (SCM) read cache in a given time period, the storage system comprising a main cache, the SCM read cache, and backend storage;
- adjusting at least one queue depth threshold for the SCM read cache in response to a determination that a data rate threshold for the SCM read cache is exceeded, based on the determined amount of data;
- in response to an input/output (IO) request for the SCM read cache, comparing a queue depth for the SCM read cache to one of the at least one queue depth threshold for the SCM read cache;
- 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 total amount of data read from and written to a storage class memory (SCM) read cache in a given time period;
- adjust at least one of a read and a write queue depth threshold for the SCM read cache in response to a determination that a data rate threshold for the SCM read cache is exceeded, based on the determined amount of data;
- in response to an input/output (IO) request for the SCM read cache:
- when processing the IO request includes writing to the SCM read cache and a current number of write IOs outstanding for the SCM read cache is greater than the write queue depth threshold, drop the IO request;
- and
- when the IO request is a read request for requested data and a current number of read IOs outstanding for the SCM read cache is greater than the read queue depth threshold, bypass the SCM read cache and read the requested data from backend storage of the storage system or from a remote computing device into the main cache of the storage system.
A storage system comprising:
- at least one processing resource;
- a main cache;
- a storage class memory (SCM) read cache;
- backend storage;
- and
- at least one non-transitory machine-readable storage medium comprising instructions executable by the at least one processing resource to:
- perform a background process comprising:
- determining an amount of data transferred to and from the SCM read cache in a given time period;
- and
- adjusting at least one of a read and a write queue depth threshold for the SCM read cache in response to a determination that, based on the determined amount of data, a data rate threshold for the SCM read cache is exceeded;
- and
- perform an input/output (IO) process comprising:
- in response to an IO request for the SCM read cache:
- when the IO request is a request to destage data to the SCM read cache and a write queue depth of the SCM read cache is greater than the write queue depth threshold, drop the IO request without writing the data to the SCM read cache;
- and
- when the IO request is a read request for requested data and a read queue depth of the SCM read cache is greater than the read queue depth threshold, bypass the SCM read cache and read the requested data from the backend storage or from a remote computing device into the main cache.
Dependencies are inferred from the claim text.