Data processing array interface having interface tiles with multiple direct memory access circuits
US-12164451-B2 · Dec 10, 2024 · US
US9946671B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9946671-B1 |
| Application number | US-201514969950-A |
| Country | US |
| Kind code | B1 |
| Filing date | Dec 15, 2015 |
| Priority date | Dec 15, 2015 |
| Publication date | Apr 17, 2018 |
| Grant date | Apr 17, 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.
Methods and systems for processing an input/output (I/O) requests are provided. The method includes generating an I/O request by an initiator adapter of a computing device that interfaces with a target adapter; indicating by the initiator adapter that the I/O request is sequential in nature. When the I/O request is a sequential read request, the target adapter notifies a target controller to read-ahead data associated with other sequential read requests; and stores the read ahead data at a cache such that data for the other sequential read requests is provided from the cache instead of a storage device managed by the target controller. A sequential write request is processed without claiming any cache space, when data for the write request is not to be accessed within a certain duration.
Opening claim text (preview).
What is claimed is: 1. A machine implemented method for processing an input/output (I/O) request sent by an initiator adapter to a target adapter coupled to a target controller, comprising: generating the I/O request by the initiator adapter of a computing device that interfaces with the target adapter; indicating by the initiator adapter an I/O request pattern to the target adapter, where the I/O request pattern indicates if the I/O request is sequential in nature; when the I/O request is a read request that is sequential in nature as indicated by the I/O request pattern, the target adapter notifying the target controller to read ahead data associated with other sequential read requests; storing the read ahead data at a cache such that data for the other sequential read requests is provided from the cache instead of a storage device managed by the target controller; and when the I/O request is a sequential write request as indicated by the I/O request pattern that also indicates that data associated with the sequential write request is to be accessed within a threshold duration, then processing the sequential write request by claiming space at the cache. 2. The method of claim 1 , wherein the I/O request is the sequential write request and the I/O request pattern also indicates that the data associated with the sequential write request is not to be accessed within the threshold duration. 3. The method of claim 2 , wherein the sequential write request is processed without claiming any cache space. 4. The method of claim 1 , wherein when the read request is not sequential, then the read request is processed without a read ahead operation. 5. The method of claim 1 , wherein a field in a header is used by the initiator adapter to indicate the I/O request pattern. 6. The method of claim 5 , wherein an unused bit of an originator identifier of a Fibre Channel header is used by the initiator to indicate the I/O pattern. 7. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method for processing an input/output (I/O) request sent by an initiator adapter to a target adapter coupled to a target controller, comprising machine executable code which when executed by at least one machine, causes the machine to: generate the I/O request by the initiator adapter of a computing device that interfaces with the target adapter; indicate by the initiator adapter an I/O request pattern to the target adapter, where the I/O request pattern indicates if the I/O request is sequential in nature; when the I/O request is a read request that is sequential in nature as indicated by the I/O request pattern, the target adapter notifies the target controller to read ahead data associated with other sequential read requests; store the read ahead data at a cache such that data for the other sequential read requests is provided from the cache instead of a storage device managed by the target controller; and when the I/O request is a sequential write request as indicated by the I/O request pattern that also indicates that data associated with the sequential write request is to be accessed within a threshold duration, then the sequential write request is processed by claiming space at the cache. 8. The non-transitory, storage medium of claim 7 , wherein the I/O request is the sequential write request and the I/O request pattern also indicates that the data associated with the sequential write request is not to be accessed within the threshold duration. 9. The non-transitory, storage medium of claim 8 , wherein the sequential write request is processed without claiming any cache space. 10. The non-transitory, storage medium of claim 7 , wherein when the read request is not sequential, then the read request is processed without a read ahead operation. 11. The non-transitory, storage medium of claim 7 , wherein a field in a header is used by the initiator adapter to indicate the I/O request pattern. 12. The non-transitory, storage medium of claim 11 , wherein an unused bit of an originator identifier of a Fibre Channel header is used by the initiator to indicate the I/O pattern. 13. A system comprising: an initiator adapter coupled to a computing device having a processor executing instructions out of a memory; and a target adapter communicating with the initiator adapter via a network connect, the target adapter coupled to a target controller that manages a storage device for storing and retrieving data on behalf of the initiator adapter; wherein the initiator adapter generates an input/out (I/O) request; and indicates an I/O request pattern to the target adapter, where the I/O request pattern indicates if the I/O request is sequential in nature; wherein when the I/O request is a read request that is sequential in nature as indicated by the I/O request pattern, the target adapter notifies the target controller to read ahead data associated with other sequential read requests; and stores the read ahead data at a cache such that data for the other sequential read requests is provided from the cache instead of a storage device managed by the target controller; and when the I/O request is a sequential write request as indicated by the I/O request pattern that also indicates that data associated with the sequential write request is to be accessed within a threshold duration, then the sequential write request is processed by claiming space at the cache. 14. The system of claim 13 , wherein the I/O request is the sequential write request and the I/O request pattern also indicates that the data associated with the sequential write request is not to be accessed within the threshold duration. 15. The system of claim 14 , wherein the sequential write request is processed without claiming any cache space. 16. The system of claim 13 , wherein a field in a header is used by the initiator adapter to indicate the I/O request pattern. 17. The system of claim 16 , wherein an unused bit of an originator identifier of a Fibre Channel header is used by the initiator to indicate the I/O pattern. 18. The method of claim 1 , wherein the cache is located at the target adapter. 19. The non-transitory, storage medium of claim 7 , wherein the cache is located at the target adapter. 20. The system of claim 13 , wherein the cache is located at the target adapter.
Allocation of cache space to multiple users or processors · CPC title
with prefetch · CPC title
Burst mode · CPC title
using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title
in relation to response time · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.