US7995472B2

Flexible network processor scheduler and data flow

Summary by NHIP

Flexible Network Processor Scheduler

The network processor dataflow chip selects transmission and scheduling circuit structures using specific indicators. It features full internal scheduling driven by dedicated physical memory areas and logic residing in a calendar page loader and clock element.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A network processor dataflow chip and method for flexible dataflow are provided. The dataflow chip comprises a plurality of on-chip data transmission and scheduling circuit structures. The data transmission and scheduling circuit structures are selected responsive to indicators. Data transmission circuit structures may comprise selectable frame processing and data transmission functions. Selectable frame processing may comprise cut and paste, full dispatch and store and dispatch frame processing. Scheduling functions include full internal scheduling, calendar scheduling in communication with an external scheduler, and external calendar scheduling. In another aspect of the present invention, data transmission functions may comprise low latency and normal latency external processor interfaces for selectively providing privileged access to dataflow chip resources.

US7995472B2, drawing sheet 1
Sheet 1 of 8

Term

Term ended

Expired 6 August 2025, 1.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

15 claims: 1 independent, 14 dependent

  1. 1
    Broadest claimClaim Score 12, narrow(NHIP)A network processor dataflow chip, comprising:a plurality of on-chip data transmission circuit structures, the on-chip data transmission circuit structures comprising a plurality of selectable frame processing circuit structures and a plurality of selectable data transmission circuit structures;and a plurality of scheduling circuit structures, the plurality of scheduling circuit structures comprising a full internal scheduling circuit structure, a calendar scheduling circuit structure in communication with an external scheduler chip and an external calendar scheduling circuit structure;wherein one of the plurality of data transmission circuit structures is configured to be selected responsive to a data transmission selection indicator;wherein one of the plurality of scheduling circuit structures is configured to be selected responsive to a scheduling function selection indicator;wherein the full internal scheduling circuit structure comprises calendar and queue control circuit structures configured to be driven by the dataflow chip, and the calendar circuit structures are each defined by a plurality of dedicated physical memory areas located in data store blocks;and wherein the full internal scheduling circuit structure comprises logic configured for internal calendar functions residing in a calendar page loader and a clock element, and the calendar circuit structures each comprise a plurality of calendar pages, each of the plurality of calendar pages comprising a plurality of calendar entries, wherein the dataflow chip is configured to read a calendar page for each clock element tick;the dataflow chip scheduler circuit structure further comprising a guaranteed bandwidth scheduling circuit structure and a best effort scheduling circuit structure a round-robin LIFO buffer having a plurality of memory blocks ranked from highest to lowest priority, first weight accumulation logic for best effort bandwidth scheduling, and second weight accumulation logic for best effort bandwidth scheduling;and wherein the data flow chip is configured to provide best effort dispatching by: applying the first weight accumulation logic and the second weight accumulation logic to a data packet;selecting a memory block and placing the data packet into the selected memory block in the LIFO buffer responsive to relative amounts of first weight and second weight characteristics, wherein packets with the higher first weight relative to the second weight and placed in higher priority memory blocks;and dropping data packets from the lowest priority memory blocks.