Asynchronous receive and transmit packet crosspoint
AssigneeCalix Networks, Inc.
InventorJames W. Jones
Life of this patent
Estimating the term…
Abstract
A packet crosspoint works with an arbiter to control the number of packets being received at the input ports of the cross-connect from traffic sources coupled thereto. This is accomplished by monitoring the number of packets waiting in buffers in the output ports, as well as the number of other packets which the arbiter has already granted for transmission to the input ports of the cross-connect, but which have not as of yet been received in the output queue of the destination output port. An audit mechanism is included for ensuring that output port grant counters do not drift upward based on the fact that some granted packets are lost in the system.
Claims13
A method of regulating the rate of packet grants for an asynchronous cross-point switch, said method comprising:
- incrementing, in a plurality of output ports of the asynchronous cross-point switch, a corresponding plurality of grant counters, in response to packet grants issued by an arbiter to multiple traffic sources that maintain virtual output queues (VOQs);
- wherein the packet grants are to be used for release, by the multiple traffic sources on corresponding multiple buses to the input ports of the asynchronous cross-point switch, of packets having particular output ports of the asynchronous cross-point switch as destinations, for transfer through the asynchronous cross-point switch;
- and
- decrementing a grant counter when a packet with a particular output port as destination is read out from a corresponding buffer in the asynchronous cross-point switch;
- and
- instructing the arbiter to cease issuing grants for packets having an output port as destination once a corresponding grant counter for said output port has exceeded a predetermined threshold;
- wherein the arbiter issues packet grants based on VOQ images in the arbiter, and responsive to instructions from the asynchronous cross-point switch.
A method of regulating the rate of packet grants for an asynchronous cross-point switch, said method comprising:
- snooping packet grants issued by an arbiter to multiple traffic sources that maintain virtual output queues (VOQs);
- wherein the packet grants are issued to be used by the traffic sources to release to input ports of the asynchronous cross-point switch, packets having particular output ports of the asynchronous cross-point switch as destinations;
- incrementing in the asynchronous cross-point switch, a plurality of grant counters associated with particular output ports as destinations, in response to said snooping;
- decrementing a grant counter when a packet with a particular output port as destination is read out from a corresponding buffer in the asynchronous cross-point switch;
- instructing the arbiter to cease issuing grants for packets having an output port as destination once a corresponding grant counter for said output has exceeded a predetermined threshold;
- negating the instruction to the arbiter to cease issuing grants, based at least on a hysteresis setting;
- instructing the arbiter to cease issuing grants for packets to be stored in the corresponding buffer once the corresponding buffer has exceeded an additional predetermined threshold;
- and
- auditing the grant counters to avoid upward drift due to loss of packets,
- wherein the arbiter issues packet grants based on VOQ images in the arbiter, and responsive to instructions from the asynchronous cross-point switch.
An asynchronous cross-point switch that regulates the rate of packet grants, the asynchronous cross-point switch comprising:
- an interface for receiving packet grants issued by an arbiter to traffic sources that maintain virtual output queues (VOQs);
- wherein the packet grants are for release by the traffic sources of packets having particular output ports as destinations, to be transferred through the asynchronous cross-point switch;
- a plurality of grant counters, for particular output ports as destinations;
- means, coupled to the grant counters and to the interface, for incrementing the grant counters in response to receipt of the packet grants issued by the arbiter;
- a plurality of buffers, for holding packets with particular output ports as destinations;
- means, coupled to the grant counters and to the buffers, for decrementing a grant counter when a packet with a particular output port as destination is read out from a corresponding buffer;
- and
- means, coupled to the grant counters, for instructing the arbiter to cease issuing grants for packets having an output port as destination once a corresponding grant counter for said output port has exceeded a predetermined threshold.
Dependencies are inferred from the claim text.