Performing a pre-warm-up procedure via intelligently forecasting as to when a host computer will access certain host data

US9612758B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9612758-B1
Application numberUS-201514643206-A
CountryUS
Kind codeB1
Filing dateMar 10, 2015
Priority dateMar 10, 2015
Publication dateApr 4, 2017
Grant dateApr 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A technique operates data storage equipment. The technique involves, during a first time period and while processing circuitry performs host I/O operations on behalf of a set of hosts, performing a data identification operation which provides a data identification result identifying particular data which is routinely accessed by the processing circuitry. The technique further involves, during a second time period after the first time period and in response to the data identification result, copying the particular data from secondary storage to an extension cache which forms part of primary storage to pre-fetch the particular data from the secondary storage for subsequent use by the processing circuitry. The technique further involves, during a third time period after the second time period and while the processing circuitry performs further host I/O operations on behalf of the set of hosts, accessing the particular data from the extension cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operating data storage equipment, the method comprising: during a first time period and while processing circuitry of the data storage equipment performs host input/output (I/O) operations on behalf of a set of external host computers, performing a data identification operation which provides a data identification result identifying particular data which is routinely accessed by the processing circuitry of the data storage equipment; during a second time period after the first time period and in response to the data identification result, copying the particular data from secondary storage of the data storage equipment to an extension cache which forms part of primary storage of the data storage equipment to pre-fetch the particular data from the secondary storage for subsequent use by the processing circuitry; and during a third time period after the second time period and while the processing circuitry of the data storage equipment performs further host I/O operations on behalf of the set of external host computers, accessing the particular data from the extension cache which forms part of the primary storage of the data storage equipment, wherein the primary storage includes random-access memory (RAM); wherein the extension cache resides in the RAM; wherein performing the data identification operation includes: measuring host I/O operation statistics while the processing circuitry performs the host I/O operations on behalf of the set of external host computers, and identifying the particular data based on the host I/O operation statistics which were measured while the processing circuitry performed the host I/O operations on behalf of the set of external host computers; wherein the secondary storage of the data storage equipment includes an array of storage devices which stores multiple logical units of storage (LUNs); wherein measuring the host I/O operation statistics includes collecting respective host I/O activity metrics for the multiple LUNs over a series of days of the first time period; wherein identifying the particular data based on the host I/O operation statistics includes selecting a particular LUN of the multiple LUNs based on the respective host I/O activity metrics which were collected over the series of days; wherein selecting the particular LUN of the multiple LUNs based on the respective host I/O activity metrics which were collected over the series of days of the first time period includes: based on the respective host I/O activity metrics, (i) detecting a high host I/O activity trend for the particular LUN which lasts a predefined number of days of the series of days, the predefined number of days being at least two days, and (ii) outputting a particular LUN identifier which uniquely identifies the particular LUN among the multiple LUNs; wherein detecting the high host I/O activity trend for the particular LUN which lasts the predefined number of days of the series of days includes: discovering that host I/O activity for the particular LUN exceeded a predefined high host I/O activity threshold during a particular time of day on each day of the predefined number of days of the series of days; wherein copying the particular data from the secondary storage to the extension cache includes: based on the particular LUN identifier, transferring at least a portion of the particular LUN to the extension cache during the second time period; and wherein transferring at least the portion of the particular LUN to the extension cache during the second time period includes: moving metadata of the particular LUN from the array of storage devices to the extension cache, the metadata being different from host data which is read and written by the set of external host computers. 2. A method as in claim 1 , further comprising: identifying a certain time of the day on each day of the predefined number of days of the series of days in which the host I/O activity for the particular LUN was less than a predefined low host I/O activity threshold, and setting the certain time of a particular day following the series of days as the second time period during which at least the portion of the particular LUN is transferred to the extension cache. 3. A method as in claim 2 wherein accessing the particular data from the extension cache during the third time period includes: accessing the portion of the particular LUN during the particular time of day of the particular day following the series of days. 4. A method as in claim 1 wherein the data storage equipment stores the host data in a block-based volume; and wherein moving the metadata includes: copying at least a portion of a logical block address (LBA) table for the particular LUN from the array of storage devices to the extension cache. 5. A method as in claim 1 wherein the data storage equipment stores the host data as files of a file system; and wherein moving the metadata includes: copying at least a portion of an mode table of the file system from the array of storage devices to the extension cache. 6. A method as in claim 1 wherein the primary storage of the data storage equipment includes (i) volatile memory which provides a standard access time which is faster than that provided by the array of storage devices and (ii) non-volatile flash memory which, operating as at least a portion of the RAM, forms the extension cache; and wherein the method further comprises: allocating a portion of the non-volatile flash memory which forms the extension cache as a pre-fetch cache to hold pre-fetched data. 7. A method as in claim 6 wherein allocating the portion of the non-volatile flash memory which forms the extension cache as the pre-fetch cache to hold pre-fetched data includes: defining, as the pre-fetch cache, an area of non-volatile memory formed by a set of solid state storage units, the particular data being copied from the secondary storage of the data storage equipment to the area of non-volatile memory formed by the set of solid state storage units during the second time period. 8. A method as in claim 6 wherein allocating the portion of the non-volatile flash memory which forms the extension cache as the pre-fetch cache to hold pre-fetched data includes: defining, as the pre-fetch cache, an area of non-volatile memory formed by a set of flash memory cards, the particular data being copied from the secondary storage of the data storage equipment to the area of non-volatile memory formed by the set of flash memory cards during the second time period. 9. A method as in claim 1 wherein performing the data identification operation further includes: identifying a particular time of day that the particular data is routinely requested based on prior input/output activity for the particular data, the prior input/output activity being retrieved from an activity log; and wherein transferring at least the portion of the particular LUN to the extension cache during the second time period is performed prior to reaching the particular time. 10. A method as in claim 1 wherein performing the data identification operation further includes: identifying a particular day of the week and time of that day that the particular data is routinely requested based on prior input/output activity for the particular data, the prior input/output activity being retrieved from an activity log; and wherein transferring at least the portion of the particular LUN to the extension cache during the second time period is performed at a time prior to reaching the particular time. 11. Data storage equipment, comprising: a communications interface to communicate with a set of external host computers; memo

Assignees

Inventors

Classifications

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Details relating to cache prefetching · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • with prefetch · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9612758B1 cover?
A technique operates data storage equipment. The technique involves, during a first time period and while processing circuitry performs host I/O operations on behalf of a set of hosts, performing a data identification operation which provides a data identification result identifying particular data which is routinely accessed by the processing circuitry. The technique further involves, during a…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).