Efficient network device work queue

US12224950B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12224950-B2
Application numberUS-202217979018-A
CountryUS
Kind codeB2
Filing dateNov 2, 2022
Priority dateNov 2, 2022
Publication dateFeb 11, 2025
Grant dateFeb 11, 2025

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.

In one embodiment, a system includes a memory to store a work queue including work queue entry slots, a processing device to write work queue entries to the work queue in a consecutive and cyclic manner, and a network device including a network interface to share packet over a network, and packet processing circuitry to read the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with the packets, dequeue respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue, add the work queue entries to an execution database used to track execution of the work queue entries, and execute the work queue entries in the execution database.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a memory to store a work queue including a plurality of work queue entry slots; a processing device to write work queue entries to the work queue in the work queue entry slots in a consecutive and cyclic manner so that a new work queue entry is added to a next one of the work queue entry slots; and a network device including: a network interface to share packets over a network; and packet processing circuitry to: read the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with the packets; dequeue respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue; add the work queue entries to an execution database used to track execution of the work queue entries; and execute the work queue entries in the execution database. 2. The system according to claim 1 , wherein the respective work queue entries are dequeued from the work queue independently of completion of the execution of the respective work queue entries. 3. The system according to claim 1 , wherein the memory is disposed in the processing device, or the network device, or a peer device. 4. The system according to claim 1 , further comprising an internal hardware database, which includes the execution database. 5. The system according to claim 1 , wherein the work queue entries are executed in an order different to the order of the work queue entries in the work queue. 6. The system according to claim 1 , wherein the packet processing circuitry is configured to generate execution completion notices notifying the processing device that the work queue entries have completed execution. 7. The system according to claim 6 , wherein: the work queue entries include respective identifications which identify the work queue entries independently of the identifications of the work queue slots; and the packet processing circuitry is configured to generate the execution completion notices to include the respective identifications of the work queue entries that have completed execution. 8. The system according to claim 6 , wherein: the processing device is configured to define a work queue entry group for a group of the work queue entries; and the packet processing circuitry is configured to generate one of the execution completion notices for the work queue entry group notifying the processing device when all the work queue entries in the work queue entry group have completed execution. 9. The system according to claim 8 , wherein the work queue entry group is user defined. 10. The system according to claim 6 , wherein the packet processing circuitry is configured to generate the execution completion notices to provide the processing device of an indication of at least one of the work queue entry slots that are occupied with work queue entries and/or empty. 11. The system according to claim 6 , wherein the packet processing circuitry is configured to generate consumption notices to notify the processing device when work queue entries are dequeued from the work queue. 12. The system according to claim 6 , wherein the packet processing circuitry is configured to generate a consumption notice to notify the processing device when a batch of work queue entries are dequeued from the work queue. 13. The system according to claim 6 , further comprising a work queue status counter, wherein the packet processing circuitry is configured to update the work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 14. The system according to claim 1 , wherein the packet processing circuitry is configured to generate consumption notices to notify the processing device when work queue entries are dequeued from the work queue. 15. The system according to claim 1 , wherein the packet processing circuitry is configured to generate a consumption notice to notify the processing device when a batch of work queue entries are dequeued from the work queue. 16. The system according to claim 1 , further comprising a work queue status counter, wherein the packet processing circuitry is configured to update the work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 17. A work queue management method, comprising: storing a work queue including a plurality of work queue entry slots; writing work queue entries to the work queue in the work queue entry slots in a consecutive and cyclic manner so that a new work queue entry is added to a next one of the work queue entry slots; reading by a network device the work queue entries from the work queue in a consecutive and cyclic manner, the work queue entries indicating work to be performed associated with packets; dequeuing by a network device respective ones of the work queue entries read from the work queue responsively to reading the respective work queue entries from the work queue; adding by a network device the work queue entries to an execution database used to track execution of the work queue entries; and executing by a network device the work queue entries in the execution database. 18. The method according to claim 17 , wherein the respective work queue entries are dequeued from the work queue independently of completion of the execution of the respective work queue entries. 19. The method according to claim 17 , wherein the work queue entries are executed in an order different to the order of the work queue entries in the work queue. 20. The method according to claim 17 , further comprising generating execution completion notices notifying that the work queue entries have completed execution. 21. The method according to claim 20 , wherein: the work queue entries include respective identifications which identify the work queue entries independently of the identifications of the work queue slots; and the generating includes generating the execution completion notices to include the respective identifications of the work queue entries that have completed execution. 22. The method according to claim 20 , further comprising defining a work queue entry group for a group of the work queue entries, and wherein the generating includes generating one of the execution completion notices for the work queue entry group notifying when all the work queue entries in the work queue entry group have completed execution. 23. The method according to claim 22 , wherein the work queue entry group is user defined. 24. The method according to claim 20 , wherein the generating includes generating the execution completion notices to provide an indication of at least one of the work queue entry slots that are occupied with work queue entries and/or empty. 25. The method according to claim 17 , further comprising generating consumption notices to notify when work queue entries are dequeued from the work queue. 26. The method according to claim 17 , further comprising generating a consumption notice to notify when a batch of work queue entries are dequeued from the work queue. 27. The method according to claim 17 , further comprising updating a work queue status counter to indicate the work queue entries that have been dequeued from the work queue. 28. A network device comprising: a network

Assignees

Inventors

Classifications

  • Fixed service order, e.g. Round Robin · CPC title

  • based on priority · CPC title

  • queue load conditions, e.g. longest queue first · 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 US12224950B2 cover?
In one embodiment, a system includes a memory to store a work queue including work queue entry slots, a processing device to write work queue entries to the work queue in a consecutive and cyclic manner, and a network device including a network interface to share packet over a network, and packet processing circuitry to read the work queue entries from the work queue in a consecutive and cyclic…
Who is the assignee on this patent?
Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/6275. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 11 2025 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).