Methods and systems for managing address list control blocks

US9753852B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9753852-B1
Application numberUS-201514919508-A
CountryUS
Kind codeB1
Filing dateOct 21, 2015
Priority dateOct 21, 2015
Publication dateSep 5, 2017
Grant dateSep 5, 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.

Methods and systems for a device coupled to a computing device are provided. As an example, one method includes receiving a request for processing an address list control block (ALCB) by an ALCB offload engine of an adapter coupled to a computing device; determining by the ALCB offload engine if the ALCB is located at a cache managed by a cache controller of the ALCB engine; forwarding the ALCB to an address computation module that determines an address of a memory location of the computing device, where the ALCB stores the address of the memory location in an address list; generating a direct memory access (DMA) request to retrieve the ALCB from an adapter memory, when the ALCB is not located at the cache; and storing the ALCB at the cache, after the ALCB is received in response to the DMA request.

First claim

Opening claim text (preview).

What is claimed is: 1. A machine implemented method, comprising: receiving a request for processing an address list control block (ALCB) by a hardware based, ALCB offload engine of an adapter coupled to a computing device, where the ALCB is for sending information by the adapter to a processor of the computing device; determining by the ALCB offload engine that the ALCB associated with the request is located at a cache of the ALCB offload engine that is managed by a cache controller of the ALCB offload engine; forwarding the ALCB to an address computation module of the ALCB offload engine that uses the ALCB to compute an address of a memory location of the computing device for transferring the information to the processor of the computing device, where the ALCB stores the address of the memory location in an address list; generating a direct memory access (DMA) request to retrieve the ALCB from an adapter memory location, when the ALCB is not located at the cache; and storing the ALCB at the cache, after the ALCB is received in response to the DMA request; wherein the ALCB stored at the cache is used for ALCB processing by the ALCB offload engine for another request received after the ALCB is stored at the cache; and wherein the ALCB offload engine offloads ALCB processing from a receive direct memory access (RxDMA) module of the adapter that transfers the information to the processor of the computing device. 2. The method of claim 1 , wherein the cache controller uses a memory region identifier and a block identifier as an index to determine if the ALCB is stored at the cache. 3. The method of claim 1 , wherein the ALCB offload engine uses a ternary content addressable memory (TCAM) that stores a tag for each cache entry with a valid bit indicating that a cache entry is valid, a dirty bit indicating that a cache entry is to be written to the adapter memory and a transit bit indicating that a cache entry is in use. 4. The method of claim 1 , wherein when the cache does not have space for the ALCB retrieved in response to the DMA request, then the cache controller flushes a least recently used entry to the adapter memory to create space for the ALCB. 5. The method of claim 1 , wherein the adapter is a host bus adapter configured to process input/output requests. 6. The method of claim 3 , wherein the request for the ALCB is generated by processing logic of the adapter. 7. The method of claim 1 , wherein the request is stored at a first in-first out memory device and retrieved by the cache controller for processing. 8. A non-transitory, machine readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to: receive a request for processing an address list control block (ALCB) by a hardware based, ALCB offload engine of an adapter coupled to a computing device, where the ALCB is for sending information by the adapter to a processor of the computing device; determine by the ALCB offload engine that the ALCB associated with the request is located at a cache of the ALCB offload engine that is managed by a cache controller of the ALCB offload engine; forward the ALCB to an address computation module of the ALCB offload engine that uses the ALCB to compute an address of a memory location of the computing device for transferring the information to the processor of the computing device, where the ALCB stores the address of the memory location in an address list; generate a direct memory access (DMA) request to retrieve the ALCB from an adapter memory location, when the ALCB is not located at the cache; and store the ALCB at the cache, after the ALCB is received in response to the DMA request; wherein the ALCB stored at the cache is used for ALCB processing by the ALCB offload engine for another request received after the ALCB is stored at the cache; and wherein the ALCB offload engine offloads ALCB processing from a receive direct memory access (RxDMA) module of the adapter that transfers the information to the processor of the computing device. 9. The non-transitory, storage medium of claim 8 , wherein the cache controller uses a memory region identifier and a block identifier as an index to determine if the ALCB is stored at the cache. 10. The non-transitory, storage medium of claim 8 , wherein the ALCB offload engine uses a ternary content addressable memory (TCAM) that stores a tag for each cache entry with a valid bit indicating that a cache entry is valid, a dirty bit indicating that a cache entry is to be written to the adapter memory and a transit bit indicating that a cache entry is in use. 11. The non-transitory, storage medium of claim 8 , wherein when the cache does not have space for the ALCB retrieved in response to the DMA request, then the cache controller flushes a least recently used entry to the adapter memory to create space for the ALCB. 12. The non-transitory, storage medium of claim 8 , wherein the adapter is a host bus adapter configured to process input/output requests. 13. The non-transitory, storage medium of claim 12 , wherein the request for the ALCB is generated by processing logic of the adapter. 14. The non-transitory, storage medium of claim 8 , wherein the request is stored a first in-first out memory device and retrieved by the cache controller for processing. 15. A device coupled to a computing device, comprising: processing logic for executing instructions out of a device memory and generating a request for processing an address list control block (ALCB) used for sending information to a processor of the computing device; and a hardware based ALCB offload engine having: a cache controller that is configured to receive the request for processing the ALCB; determine that the ALCB is located at a cache of the ALCB offload engine managed by the cache controller; forward the ALCB to an address computation module of the ALCB offload engine that uses the ALCB to compute an address of a memory location of the computing device, where the ALCB stores the address of the memory location in an address list; generate a direct memory access (DMA) request to retrieve the ALCB from the device memory, when the ALCB is not located at the cache; and store the ALCB at the cache, after the ALCB is received in response to the DMA request; wherein the ALCB stored at the cache is used for ALCB processing by the ALCB offload engine for another request received after the ALCB is stored at the cache; and wherein the ALCB offload engine offloads ALCB processing from a receive direct memory access (RxDMA) module of the adapter that transfers the information to the processor of the computing device. 16. The device of claim 15 , wherein the cache controller uses a memory region identifier and a block identifier as an index to determine if the ALCB is stored at the cache. 17. The device of claim 15 , wherein the ALCB offload engine uses a ternary content addressable memory (TCAM) that stores a tag for each cache entry with a valid bit indicating that a cache entry is valid, a dirty bit indicating that a cache entry is to be written to the adapter memory and a transit bit indicating that a cache entry is in use. 18. The device of claim 15 , wherein when the cache does not have space for the ALCB retrieved in response to the DMA request, then the cache controller flushes a least recently used entry to the adapter memory to create space for the ALCB. 19. The device of claim 15 , wherein the adapter is a host bus

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • of the least frequently used [LFU] type, e.g. with individual count value · CPC title

  • using clearing, invalidating or resetting means · CPC title

  • in combination with broadcast means (e.g. for invalidation or updating) · 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 US9753852B1 cover?
Methods and systems for a device coupled to a computing device are provided. As an example, one method includes receiving a request for processing an address list control block (ALCB) by an ALCB offload engine of an adapter coupled to a computing device; determining by the ALCB offload engine if the ALCB is located at a cache managed by a cache controller of the ALCB engine; forwarding the ALCB…
Who is the assignee on this patent?
Qlogic Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0833. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 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).