Low Latency Data Delivery
US-2015268985-A1 · Sep 24, 2015 · US
US10218645B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10218645-B2 |
| Application number | US-201414247255-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 8, 2014 |
| Priority date | Apr 8, 2014 |
| Publication date | Feb 26, 2019 |
| Grant date | Feb 26, 2019 |
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 method in a network node that includes a host and an accelerator, includes holding a work queue that stores work elements, a notifications queue that stores notifications of the work elements, and control indices for adding and removing the work elements and the notifications to and from the work queue and the notifications queue, respectively. The notifications queue resides on the accelerator, and at least some of the control indices reside on the host. Messages are exchanged between a network and the network node using the work queue, the notifications queue and the control indices.
Opening claim text (preview).
The invention claimed is: 1. A network node, comprising: a host processor and a host memory coupled to the host processor; an acceleration processor and an accelerator memory coupled to the acceleration processor; and a network adapter network interface controller (NIC), which is configured to connect the network node to a network, to receive from the network inbound messages for processing by the accelerator, and responsively to one or more received inbound messages to query a control index, over a PCI-E bus, to determine whether the accelerator memory has sufficient resources to handle the one or more inbound messages, to store a notification of the received one or more inbound messages in an inbound notifications queue in the accelerator memory if determined that there are sufficient resources, and to update the control index of the inbound notifications queue to indicate the storing of the notification in the inbound notifications queue, wherein the control index is stored in the host memory, wherein the acceleration processor is configured to read the stored notification in the accelerator memory, to handle the one or more inbound messages responsively to the read notification and to update the control index of the inbound notifications queue to indicate removal of the notification from the inbound notifications queue. 2. The network node according to claim 1 , wherein the acceleration processor is configured to detect the stored notification by polling the inbound notifications queue. 3. The network node according to claim 1 , wherein the network adapter is configured to store the received one or more inbound messages in a receiver buffer of the network adapter, and to copy the received one or more inbound messages directly from the receiver buffer to the accelerator memory. 4. The network node according to claim 1 , wherein the acceleration processor is part of a storage system, and wherein the network adapter is configured to exchange data for storage in the storage system. 5. The network node according to claim 1 , wherein the acceleration processor is part of a network interface, and wherein the network adapter is configured to receive the inbound messages and to transmit outbound messages by exchanging data traffic between the network and one or more other networks. 6. A method, comprising: in a network node, which is connected to a network and which comprises a host and a corresponding host memory and an accelerator that is separate from the host, which has a corresponding accelerator memory: receiving, by a network interface controller (NIC) from the network, one or more inbound messages for processing by the accelerator; storing a notification of the received one or more inbound messages, by the NIC, in an inbound notifications queue in the accelerator memory; updating a control index of the inbound notifications queue to indicate the storing of the notification in the inbound notifications queue, wherein the control index is stored in the host memory; reading the stored notification in the accelerator memory, by the accelerator; handling the one or more inbound messages by the accelerator responsively to the read notification; and updating the control index of the inbound notifications queue to indicate removal of the notification from the inbound notifications queue, wherein the method further comprises querying the control index in the host memory, responsive to receiving the one or more inbound messages by the NIC, to determine whether the accelerator memory has sufficient resources to handle the one or more inbound messages, and storing the notification of the received one or more inbound messages if determined that there are sufficient resources, wherein querying the control index in the host memory comprises querying by the NIC over a PCI-E bus. 7. The method according to claim 6 , comprising detecting the stored notification by the accelerator, by polling the inbound notifications queue, and wherein reading the stored notification is performed responsive to the detection of the new inbound notification. 8. The method according to claim 6 , wherein receiving the one or more inbound messages comprises storing the received one or more inbound messages in a receiver buffer of the NIC, and further comprising copying the received one or more inbound messages directly from the receiver buffer to the accelerator memory. 9. The method according to claim 8 , wherein copying the received one or more inbound messages directly from the receiver buffer is performed by the NIC. 10. The method according to claim 8 , wherein copying the received one or more inbound messages directly from the receiver buffer is performed by the accelerator. 11. The method according to claim 6 , wherein handling the one or more inbound messages by the accelerator is started before the updating of the control index. 12. The method according to claim 6 , comprising holding an additional copy of the control index of the inbound notifications queue in the accelerator memory. 13. The method according to claim 12 , wherein the accelerator changes the copy of the control index in the accelerator memory, and the host occasionally updates its copy of the control index from the accelerator copy of the control index.
using universal interface adapter · CPC title
Buffering arrangements · CPC title
including multiple buffers, e.g. buffer pools · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.