Patent ID: 7221678

Claim:
An apparatus, comprising: a first input port; a second input port; a first input buffer configured to store a first packet in response to the first input port receiving the first packet; a second input buffer configured to store a second packet in response to the second input port receiving the second packet; a plurality of output ports configured to transmit packets, the plurality of output ports coupled to receive packets from the first input buffer and the second input buffer; a centralized scheduler comprising a plurality of entries, wherein the centralized scheduler is configured to allocate a first entry of the plurality of entries in response to the first input port receiving the first packet and to allocate a second entry of the plurality of entries in response to the second input port receiving the second packet, and wherein the first entry is configured to store first identification data that identifies a location of the first packet in the first buffer and at least a first output port of the plurality of output ports to which the first packet is to be routed, and wherein the second entry is configured to store second identification data that identifies a location of the second packet in the second buffer and at least a second output port of the plurality of output ports to which the second packet is to be routed; and scheduler control logic coupled to the centralized scheduler, the first input buffer, the second input buffer, and the plurality of output buffers, wherein the scheduler control logic is configured to schedule the first packet to be transmitted responsive to the first identification data in the first entry of the centralized scheduler, and wherein the scheduler control logic is configured to cause the first packet to be transmitted from the first input buffer to the first output port responsive to scheduling the first packet, and wherein the scheduler control logic is configured to schedule the second packet to be transmitted responsive to the second identification data in the second entry of the centralized scheduler, and wherein the scheduler control logic is configured to cause the second packet to be transmitted from the second input buffer to the second output port responsive to scheduling the second packet.