Methods for improving flow cache bandwidth utilization and devices thereof
US-9244843-B1 · Jan 26, 2016 · US
US2016011964A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016011964-A1 |
| Application number | US-201414330710-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 14, 2014 |
| Priority date | Jul 14, 2014 |
| Publication date | Jan 14, 2016 |
| Grant date | — |
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 data storage device may be configured to direct access to at least a portion of a host memory of a host device. For example, the data storage device may store data at the host memory, such as data predicted to be subject to a read request from the host device. When the data storage device receives a read request from the host device to read the data, the data storage device may send an indication to the host device to enable the host device to read the data directly from the host memory.
Opening claim text (preview).
1 - 29 . (canceled) 30 . A method comprising: in a data storage device including a non-volatile memory, the data storage device coupled to a host device that includes a host memory, wherein a portion of the host memory is accessible to the data storage device, performing: sending, to the host device, a copy of data predicted to be subject to a read request from the host device; and storing an indication, wherein the indication includes information signifying to the data storage device that the copy of the data is already available at the portion of the host memory and that the data storage device can avoid transferring the copy of the data in responding to the read request from the host device. 31 . The method of claim 30 , further comprising: receiving a read ahead command from the host device, wherein the read ahead command identifies an address or a location of the data; and predicting, based on the read ahead command, that the data is to be subject to the read request from the host device. 32 . The method of claim 30 , further comprising: receiving a pre-fetch command from the host device, wherein the pre-fetch command identifies an address or a location of the data; and predicting, based on the pre-fetch command, that the data is to be subject to the read request from the host device. 33 . The method of claim 30 , further comprising: tracking multiple read requests received from the host device; identifying a pattern or a sequence corresponding to the read requests, wherein the pattern or the sequence includes a first read request to read a first logical address followed by a second read request to read a second logical address, wherein the second logical address corresponds to the data; and after identifying the pattern or sequence: receiving the first read request; and in response to receiving the first read request, predicting the data to be subject to the read request. 34 . The method of claim 30 , wherein the data storage device stores the indication at the non-volatile memory, at a random access memory (RAM) of the data storage device, or at the portion of the host memory. 35 . The method of claim 30 , wherein the portion of the host memory is controlled by the data storage device. 36 . The method of claim 30 , wherein the data storage device is configured to use the portion of the host memory as a working memory of the data storage device. 37 . The method of claim 30 , further comprising instructing the host device to store the copy of the data at the portion of the host memory. 38 . The method of claim 30 , further comprising: receiving, from the host device, a read request to read the data from the non-volatile memory; determining a location identifier based on the stored indication, wherein the location identifier is associated with a location of the host memory that stores the copy of the data; and sending the location identifier to the host device to enable the host device to read the copy of the data directly from the host memory. 39 . The method of claim 30 , wherein the non-volatile memory includes a three-dimensional (3D) memory configuration that is monolithically formed in one or more physical levels of arrays of memory cells having an active area disposed above a silicon substrate, and wherein the data storage device includes circuitry associated with operation of the memory cells. 40 . A data storage device comprising: a non-volatile memory storing data received from a host device; and a controller operatively coupled to the non-volatile memory, wherein the controller is configured to send, to the host device, a copy of data predicted to be subject to a read request from the host device, wherein the host device includes a host memory having a portion that is accessible to the controller, and wherein the controller is configured to store an indication, the indication including information signifying that the copy of the data is stored at the host memory and that the controller is relieved from transferring the data to the host device responsive to the read request. 41 . The data storage device of claim 40 , wherein the controller is configured to store the data at the non-volatile memory and, subsequent to the data being stored at the non-volatile memory, to identify the data as predicted data, wherein the controller is configured to send the copy of the data to the host device in response to the data being identified as the predicted data, and wherein the predicted data includes read ahead data or pre-fetch data. 42 . The data storage device of claim 40 , wherein the controller is configured to instruct the host device to access the portion of the host memory. 43 . The data storage device of claim 40 , wherein the controller is configured to maintain a tracking table that corresponds to the portion of the host memory, and wherein the indication is stored in the tracking table. 44 . A method comprising: in a data storage device including a non-volatile memory, the data storage device coupled to a host device that includes a host memory, wherein a portion of the host memory is accessible to the data storage device, performing: receiving, from the host device, a read request to read data stored at the non-volatile memory; and sending, to the host device, a location identifier associated with a location of a copy of the data stored in the portion of the host memory, wherein sending the location identifier relieves the data storage device from transferring the data from the non-volatile memory to the host device responsive to the read request. 45 . The method of claim 44 , wherein sending the location to the host device enables the host device to read the copy of the data directly from the location. 46 . The method of claim 44 , further comprising: sending, to the host device, the copy of the data to be stored at the portion of the host memory prior to receiving the read request; and in response to the read request, determining whether the copy of the data is stored at the host memory. 47 . The method of claim 44 , further comprising sending, to the host device, a response message indicating that the data storage device completed execution of the read request, wherein the data storage device sends the response message without sending the data to the host device responsive to the read request. 48 . A data storage device comprising: a non-volatile memory storing data received from a host device; and a controller operatively coupled to the non-volatile memory, wherein the controller is configured to receive, from the host device, a read request to read data stored at the non-volatile memory, wherein the host device includes a host memory having a portion that is accessible to the controller, wherein the controller is configured to send, to the host device, a location identifier associated with a location of a copy of the data stored in the portion of the host memory, and wherein sending the location identifier relieves the controller from transferring the data from the non-volatile memory to the host device responsive to the read request. 49 . The data storage device of claim 48 , wherein the controller is configured to, prior to receiving the read request, send the copy of the data to the host device to be written to the portion of the host memory. 50 . The data storage device of claim 48 , wherein the controller is configured to receive an acknowledgement message from the host device that indicates th
in block erasable memory, e.g. flash memory · CPC title
Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers} · CPC title
Single storage device · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Performance improvement · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.