IP Library Granted Patent US 9,529,640
Granted Patent B2
US 9,529,640 · App. 14/670,934 · Granted Dec 27, 2016

Work request processor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,529,640
App. No.
14/670,934
Granted
Dec 27, 2016
Kind
B2
Abstract

A network processor includes a schedule, sync and order (SSO) module for scheduling and assigning work to multiple processors. The SSO includes an on-deck unit (ODU) that provides a table having several entries, each entry storing a respective work queue entry, and a number of lists. Each of the lists may be associated with a respective processor configured to execute the work, and includes pointers to entries in the table. pointer is added to the list based on an indication of whether the associated processor accepts the WQE corresponding to the pointer.

Claims (21)

1. scheduling processor for scheduling work for a plurality of processors, the scheduling processor comprising:

an add work engine (AWE) configured to forward a work queue entry (WQE) to one of a plurality of input queues (IQs);

an on-deck unit (ODU) comprising a table having a plurality of entries, each entry storing a respective WQE; and a plurality of lists, each of the lists being associated with a respective processor configured to execute WQEs and comprising a plurality of pointers to entries in the table, each of the lists adding a pointer based on an indication of whether the associated processor accepts the WQE corresponding to the pointer; and

a get work engine (GWE) configured to move WQEs from the plurality of IQs to the table of the ODU.

2. The scheduling processor of claim 1 , wherein the indication is received from the associated processor itself.

3. The scheduling processor of claim 1 , wherein the indication is based on one or more of: a work group corresponding to the WQE, a comparison of a priority of the WQE against a priority of other WQEs stored at the list, and an identifier of the IQ storing the WQE.

4. The scheduling processor of claim 1 , further comprising a plurality of work slots, each of the work slots being associated with a respective processor and configured to receive a WQE from the list associated with the processor.

5. The scheduling processor of claim 4 , wherein the respective processor executes the WQE at the work slot.

6. The scheduling processor of claim 4 , wherein each of the lists includes pointers to a common WQE in the table.

7. The scheduling processor of claim 6 , wherein each of the lists is updated by removing a pointer when the associated WQE is moved to a work slot of a processor not associated with the list.

8. method of processing work requests in a network, comprising:

forwarding a work queue entry (WQE) to one of a plurality of input queues (IQs);

moving the WQE from the IQ to one of a plurality of entries at a table;

configuring a plurality of lists to store a plurality of pointers to entries in the table, each of the lists being associated with a respective processor configured to execute WQEs and; and

adding a pointer to one of the plurality of lists based on an indication of whether the associated processor accepts the WQE corresponding to the pointer.

9. The method of claim 8 , wherein the indication is received from the associated processor itself.

10. The method of claim 8 , wherein the indication is based on one or more of: a work group corresponding to the WQE, a comparison of a priority of the WQE against a priority of other WQEs stored at the list, and an identifier of the IQ storing the WQE.

11. The method of claim 8 , further comprising receiving a WQE from the list to one of a plurality of work slots, each of the work slots being associated with a respective processor.

12. The method of claim 11 , further comprising executing, at the respective processor, the WQE at the work slot.

13. The method of claim 11 , wherein each of the lists includes pointers to a common WQE in the table.

14. The method of claim 13 , further comprising updating each of the lists by removing a pointer when the associated WQE is moved to a work slot of a processor not associated with the list.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CERTIFICATE OF CONVERSION AND CERTIFICATE OF FORMATION Recorded Oct 2, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047185/0422 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: KRAVITZ, DAVID; DEVER, DANIEL E.; SNYDER, WILSON P., II
To: CAVIUM, INC.
Reel/Frame 035277/0263 →