Low-latency processing in a network node

US10218645B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10218645-B2
Application numberUS-201414247255-A
CountryUS
Kind codeB2
Filing dateApr 8, 2014
Priority dateApr 8, 2014
Publication dateFeb 26, 2019
Grant dateFeb 26, 2019

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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F13/382Primary

    using universal interface adapter · CPC title

  • H04L49/90Primary

    Buffering arrangements · CPC title

  • including multiple buffers, e.g. buffer pools · 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 US10218645B2 cover?
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 accelerat…
Who is the assignee on this patent?
Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/382. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).