Techniques for data prefetching

US9830266B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9830266-B1
Application numberUS-201414156678-A
CountryUS
Kind codeB1
Filing dateJan 16, 2014
Priority dateDec 20, 2007
Publication dateNov 28, 2017
Grant dateNov 28, 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.

Described are techniques for processing a data operation in a data storage system. A front-end component of the data storage system receives the data operation. In response to receiving the data operation, the front-end component performs first processing. The first processing includes determining whether the data operation is a read operation requesting to read a data portion which results in a cache miss; and if said determining determines that the data operation is a read operation resulting in a cache miss, performing read miss processing. Read miss processing includes sequential stream recognition processing performed by the front-end component to determine whether the data portion is included in a sequential stream.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method for processing a data operation in a data storage system comprising: receiving, by a front-end component of the data storage system, the data operation from a requester; and in response to receiving the data operation, performing first processing by the front-end component, said first processing including: determining whether the data operation is a read operation requesting to read a data portion which results in a cache miss; and if said determining determines that said data operation is a read operation resulting in a cache miss, performing read miss processing, said read miss processing including determining whether said read operation is associated with a regular device or a non-regular device, and, if said read operation is associated with a regular device, instructing a back-end component of the data storage system to perform second processing, said second processing including sequential stream recognition processing and prefetching processing and retrieving data causing said cache miss from one or more physical devices of the data storage system, and otherwise, if said read operation is associated with a non-regular device, said sequential stream recognition processing and prefetch processing is performed by said front-end component in said first processing, and the second processing performed by the back-end component includes retrieving data causing said cache miss from one or more physical devices of the data storage system without performing the sequential stream recognition processing and prefetching processing, wherein said sequential stream recognition processing determines whether said data portion of said read operation is included in a sequential stream, wherein said prefetch processing includes determining an amount of data in a detected sequence to be prefetched, wherein said non-regular device is a device including at least one portion of a sequential stream from said requester's point of view which said back-end component cannot recognize and said front-end component can recognize, wherein said back-end component is a disk adapter that includes a first processor and accesses said one or more physical devices of the data storage system and said front-end component is a front-end adapter that includes a second processor different from the first processor, that receives the data operation over a network connection from the requester connected to the data storage system over the network connection, and that does not access said one or more physical devices of the data storage system, wherein the first processing performed by the front-end component is partitioned from the second processing performed by the back-end component, and wherein at least some logical device information corresponding to the read operation is available to the front-end component and is not available to the back-end component. 2. The non-transitory computer readable medium of claim 1 , wherein said non-regular device is a device using one or more logical device mappings which are not available for use by said back-end component and which are available for use by said front-end component. 3. The non-transitory computer readable medium of claim 1 , wherein the method further comprises performing processing, by the front end component, including: determining whether the data operation is a read operation wherein all data needed to service said read operation is included in cache; and if said determining determines that all data requested in connection with said read operation is in cache, performing read hit processing, said read hit processing including: determining whether a prefetch indicator for a first of one or more data portions associated with said read operation is on; and if said prefetch indicator is on, setting said prefetch indicator to off and performing additional processing to determine whether to prefetch additional data. 4. The non-transitory computer readable medium of claim 1 , wherein said front-end component is a fibre-channel adapter. 5. The non-transitory computer readable medium of claim 1 , wherein said sequential stream recognition processing includes: determining whether each of one or more data portions occurring immediately prior to data of said read operation is in cache; if each of said one or more data portions is not in cache, determining that no sequential stream exists; and if each of said one or more data portions is in cache, determining an occurrence of a sequential stream, said sequential stream including said one or more data portions and said data portion from said read operation resulting in said cache miss. 6. The non-transitory computer readable medium of claim 5 , wherein said one or more data portions is a number of data portions selected in accordance with a selected sequence length. 7. The non-transitory computer readable medium of claim 5 , wherein said step of determining whether each of one or more data portions occurring immediately prior to said data of said read operation is in cache includes examining one or more indicators included in a table, said table including an entry associated with each of said one or more data portions, said entry including an indicator indicating whether a cache slot is associated with said each data portion, and wherein said step of determining whether each of one or more data portions is in cache includes, for each data portion associated with a cache slot, examining a bitmap in a header of said cache slot, said bitmap indicating what data of said each data portion is stored in said cache slot. 8. The non-transitory computer readable medium of claim 5 , wherein the additional data portions to prefetch are included in said sequential stream immediately following said data of said read operation; and instructing said back-end component to store said additional data portions being prefetched in cache. 9. A system comprising: a processor; and a memory comprising instructions stored therein that, when executed, performs a method for processing a data operation in a data storage system comprising: receiving, by a front-end component of the data storage system, the data operation from a requester; and in response to receiving the data operation, performing first processing by the front-end component, said first processing including: determining whether the data operation is a read operation requesting to read a data portion which results in a cache miss; and if said determining determines that said data operation is a read operation resulting in a cache miss, performing read miss processing, said read miss processing including determining whether said read operation is associated with a regular device or a non-regular device, and, if said read operation is associated with a regular device, instructing a back-end component of the data storage system to perform second processing, said second processing including sequential stream recognition processing and prefetching processing and retrieving data causing said cache miss from one or more physical devices of the data storage system, and otherwise, if said read operation is associated with a non-regular device, said sequential stream recognition processing and prefetch processing is performed by said front-end component in said first processing, and the second processing performed by the back-end component includes retrieving data causing said cache miss from one or more physical devices of the data storage system without performing the sequential stream recognition processing and prefetching processing, wherein said sequential stream recognition processing determines whether

Assignees

Inventors

Classifications

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 US9830266B1 cover?
Described are techniques for processing a data operation in a data storage system. A front-end component of the data storage system receives the data operation. In response to receiving the data operation, the front-end component performs first processing. The first processing includes determining whether the data operation is a read operation requesting to read a data portion which results in …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0862. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).