Memory system and host device
US-2024394189-A1 · Nov 28, 2024 · US
US9830266B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9830266-B1 |
| Application number | US-201414156678-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jan 16, 2014 |
| Priority date | Dec 20, 2007 |
| Publication date | Nov 28, 2017 |
| Grant date | Nov 28, 2017 |
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.
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.
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
with prefetch · CPC title
History based prefetching · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.