IP Library Granted Patent US 7,068,672
Granted Patent B1
US 7,068,672 · App. 09/874,395 · Granted Jun 27, 2006

Asynchronous receive and transmit packet crosspoint

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 7,068,672
App. No.
09/874,395
Granted
Jun 27, 2006
Kind
B1
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.

Claims (45)

1. 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.

2. The method of claim 1 further comprising:

negating the instruction to the arbiter to cease issuing grants, based at least on a hysteresis setting; and

discarding another packet if an input buffer in a traffic source has not been read when a time out occurs.

3. The method of claim 1 wherein:

the predetermined threshold is programmable by writing to a predetermined register.

4. The method of claim 1 further comprising:

periodically auditing the grant counters to avoid upward drift due to loss of packets.

5. The method of claim 1 further comprising:

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.

6. 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.

7. The method of claim 6 further comprising:

inserting, at the output ports of the asynchronous cross-point switch, the packet grants into packets to be transmitted to the traffic sources.

8. The method of claim 6 further comprising:

inserting, at the output ports of the asynchronous cross-point switch, packet grants and back-pressure fields into packets to be transmitted to the traffic sources.

9. 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.

10. The asynchronous cross-point switch of claim 9 further comprising:

means for negating the instruction to the arbiter to cease issuing grants, based at least on a hysteresis setting.

11. The asynchronous cross-point switch of claim 9 further comprising:

means for periodically auditing the grant counters to avoid upward drift due to loss of packets.

12. The asynchronous cross-point switch of claim 9 further comprising:

means for instructing the arbiter to cease issuing grants for packets to be stored in a buffer, once the buffer has exceeded an additional predetermined threshold.

13. The asynchronous cross-point switch of claim 9 comprising:

means for inserting, at the output ports of the asynchronous cross-point switch, packet grants and back-pressure fields into packets to be transmitted to the traffic sources.

Assignments (15)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
RELEASE OF SECURITY INTEREST Recorded Aug 9, 2017
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT FOR LENDERS
To: CALIX, INC.
Reel/Frame 043494/0549 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
RELEASE OF SECURITY INTEREST Recorded Jul 30, 2013
From: SILICON VALLEY BANK
To: CALIX NETWORKS, INC.
Reel/Frame 030906/0224 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030899/0597 →
CHANGE OF NAME Recorded May 14, 2010
From: CALIX NETWORKS, INC.
To: CALIX, INC.
Reel/Frame 024492/0841 →
RELEASE OF SECURITY INTEREST Recorded Nov 6, 2009
From: WHITE OAK GLOBAL ADVISORS, LLC
To: CALIX NETWORKS, INC.
Reel/Frame 023471/0944 →
SECURITY AGREEMENT Recorded Aug 29, 2008
From: CALIX NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 021462/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2008
From: CALIX NETWORKS, INC.
To: WHITE OAK GLOBAL ADVISORS, LLC
Reel/Frame 021371/0500 →
RELEASE OF SECURITY INTEREST Recorded Jan 4, 2008
From: GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK N.A.
To: CALIX NETWORKS, INC.
Reel/Frame 020317/0209 →
SECURITY AGREEMENT Recorded May 14, 2007
From: CALIX NETWORKS, INC.
To: GREATER BAY VENTURE BANKING, A DIVISION OF GREATER BAY BANK N.A.
Reel/Frame 019287/0059 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2001
From: JONES, JAMES W.
To: CALIX NETWORKS, INC.
Reel/Frame 012250/0865 →