Patent ID: 8400915

Claim:
A packet switch comprising: ingress ports configured to receive packets; egress ports configured to advertise credits corresponding to the egress ports; a pipeline scheduler coupled to the ingress ports and the egress ports, the pipeline scheduler comprising: a request pipeline stage configured to generate packet requests corresponding to the packets based on an available credit state and store a packet request state including the packet requests, each of the packet requests identifying at least one of the egress ports as a destination egress port for the corresponding packet and credits requested for routing the corresponding packet to the destination egress port; a grant pipeline stage configured to select packets based on the packet request state, generate port grants corresponding to the selected packets and store a port grant state including the port grants; and a credit update pipeline stage configured to initialize the available credit state based on the advertised credits, store the available credit state, and update the available credit state based on the port grant state by determining a minimum number of credits requested for routing a packet to an egress port based on the packet requests, updating an available credit indicator corresponding to the egress port to indicate the minimum credits are requested for routing a packet to the egress port and updating the available credit indicator corresponding to the egress port based on a port grant corresponding to the packet and identifying the egress port to indicate additional credits requested for routing the packet to the egress port; and a switch fabric coupled to the ingress ports, the egress ports, and the pipeline scheduler, the switch fabric configured to route each of the selected packets to each destination egress port of the selected packet.