Managing provisioning of storage resources
US-9934069-B2 · Apr 3, 2018 · US
US10146469B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10146469-B2 |
| Application number | US-201515129522-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2015 |
| Priority date | Sep 29, 2015 |
| Publication date | Dec 4, 2018 |
| Grant date | Dec 4, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A technique for performing storage tiering in a data storage system includes monitoring storage demands over time to generate a time-based record of storage demands. Based on the time-based record, the data storage system makes predictions of future demand and proactively performs storage tiering based on the predictions. The technique therefore readies the data storage system for predictable changes in demand, such that, should those changes occur, the data storage system is already configured to manage them efficiently.
Opening claim text (preview).
What is claimed is: 1. A method of performing storage tiering in a data storage system having multiple storage tiers, each storage tier providing a respective quality of service, the method comprising: processing IO (Input/Output) requests, the IO requests specifying reads and writes of data in the data storage system; monitoring IO characteristics of the IO requests as they are being processed to generate a time-based record of IO characteristics; generating predictions of future IO characteristics based on the time-based record, the predictions including a predicted level of IO characteristics at a predicted time in the future; and prior to the predicted time and when the IO characteristics are different from the predicted level, proactively migrating portions of data between the storage tiers, based on the predictions of future IO characteristics, to prepare the data storage system efficiently to manage the predicted level of IO characteristics at the predicted time, wherein the method further comprises (i) monitoring accuracy of the predictions of future IO characteristics and (ii) in response to accuracy of the predictions being low, falling back to a reactive data migration scheme in which the portions of data on the storage extents are moved only after average IO traffic to those storage extents changes. 2. The method of claim 1 , further comprising: receiving an IO request specifying new data to be written to the data storage system; and performing a data placement operation on the new data to identify a storage tier on which to place the new data in the data storage system based on the generated predictions of future IO characteristics. 3. The method of claim 1 , wherein proactively migrating the portions of data includes, for each portion of data, performing a data placement operation to identify a target storage tier on which to place that portion of data based on the predictions of future IO characteristics. 4. The method of claim 3 , further comprising: identifying, based on the predictions of future IO characteristics, a window of time during which the predictions indicate that the data storage system will be relatively inactive compared with other times, wherein proactively migrating the portions of data is performed during the identified window of time. 5. The method of claim 3 , wherein the data storage system includes a set of storage extents, each storage extent in the set of storage extents backed by a respective single storage tier, and wherein monitoring the IO characteristics of the IO requests is performed on a per-storage-extent basis, such that IO characteristics are monitored for each of the set of storage extents to generate a respective time-based sub-record for each of the set of storage extents, and wherein generating the predictions of future IO characteristics includes generating a respective predicted level of IO characteristics at the predicted time for each of the set of storage extents based on the respective time-based sub-record for that storage extent. 6. The method of claim 5 , wherein proactively migrating the portions of data is performed on a per-storage-extent basis, wherein, prior to proactively migrating the portions of data, each of the portions of data is stored in a respective one of the set of storage extents on a respective one of the storage tiers, and wherein proactively migrating the portions of data includes copying each of the portions of data to a different storage tier. 7. The method of claim 6 , wherein the monitored IO characteristics include, on the per-storage-extent basis, a measure of IO requests received per second (IOPs), an indication of whether each IO request is a read or a write, and an IO size identifying an amount of data specified in each IO request. 8. The method of claim 7 , wherein the monitored IO characteristics further include, on the per-storage-extent basis, an indication of whether each IO request specifies a random read or write of data or a sequential read or write of data. 9. The method of claim 1 , wherein generating the predictions of future IO characteristics includes performing a time-series analysis on the time-based record of IO characteristics, the time-series analysis including: a seasonal component indicating seasonal variations; and a cyclic component indicating cyclic variations of a non-seasonal nature, wherein generating the predictions of future IO characteristics includes separately generating a seasonal prediction based on the seasonal component and a cyclic prediction based on the cyclic component, and combining the seasonal and cyclic predictions to produce an overall prediction. 10. A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to perform a method of storage tiering among multiple storage tiers, each storage tier providing a respective quality of service, the method comprising: processing IO (Input/Output) requests, the IO requests specifying reads and writes of data in the data storage system; monitoring IO characteristics of the IO requests as they are being processed to generate a time-based record of IO characteristics; generating predictions of future IO characteristics based on the time-based record, the predictions including a predicted level of IO characteristics at a predicted time in the future; and prior to the predicted time and when the IO characteristics are different from the predicted level, proactively migrating portions of data between the storage tiers, based on the predictions of future IO characteristics, to prepare the data storage system efficiently to manage the predicted level of IO characteristics at the predicted time, wherein generating the predictions of future IO characteristics includes— performing a time-series analysis on the time-based record of IO characteristics, the time-series analysis including (i) a seasonal component indicating seasonal variations and (ii) a cyclic component indicating cyclic variations of a non-seasonal nature; and separately generating a seasonal prediction based on the seasonal component and a cyclic prediction based on the cyclic component, and combining the seasonal and cyclic predictions to produce an overall prediction. 11. The data storage system of claim 10 , wherein the method further comprises: receiving an IO request specifying new data to be written to the data storage system; and performing a data placement operation on the new data to identify a storage tier on which to place the new data in the data storage system based on the generated predictions of future IO characteristics. 12. The data storage system of claim 10 , wherein proactively migrating the portions of data includes, for each portion of data, performing a data placement operation to identify a target storage tier on which to place that portion of data based on the predictions of future IO characteristics. 13. A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a data storage system, cause the control circuitry to perform a method for performing storage tiering in a data storage system having multiple storage tiers, each storage tier providing a respective quality of service, the method comprising: processing IO (Input/Output) requests, the IO requests specifying reads and writes of data in the data storage system; monitoring IO characteristics of the IO requests as they are being processed to generate a time-based record of IO characteristics; generating predictions of future IO c
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
in relation to response time · CPC title
Lifecycle management · CPC title
Migration mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.