Credit-based scheme for high performance communication between devices in a packet-based communication system
Assignee3Com Technologies
InventorsEugene O'Neill, Una Quinlan, Anne G. O'Connell
Life of this patent
Estimating the term…
Abstract
A network switch comprises a first device which includes a store for data packets, a second device which includes a plurality of ports from which the packets may be transmitted, a plurality of temporary stores each associated with one of the ports, a data bus connecting the first device to the second device, a unit for maintaining a count of units of storage space in respect of each of the ports, a unit for incrementing the respective count on transmission of data from one of the stores, and a unit for decrementing the count in response to dispatch of data from the temporary store in the first device to the second device.
Claims22
A network switch for receiving and transmitting of addressed data packets, the network switch comprising:
- a multiplicity of distinct application specific integrated circuits (ASICs), including at least one source ASIC and at least one destination ASIC, said source ASIC and said destination ASIC each having a multiplicity of ports for forwarding addressed data packets;
- said source ASIC including means for receiving data packets, means responsive to address data in received data packets to lookup to which destination port(s) the packets are destined and to allot packets to respective queues according to destination and means for maintaining a respective count of memory space credits for each of said ports of the destination ASIC, for decrementing the respective count on dispatch of a packet from said source ASIC and for incrementing the respective count;
- an internal data bus for transmitting data packets dispatched from said source device to said destination ASIC,
- said destination ASIC including means for receiving packets from said source ASIC by way of said internal data bus, and at least one temporary store for storing data packets, prior to dispatch of such packets from a port of said destination ASIC, received from said first ASIC by way of said internal data bus;
- and
- a controller responsive to transmission of packets from said temporary store to signal to said incrementing means in the source ASIC to increment the respective count.
A network switch comprising:
- a plurality of distinct ASICs;
- at least one ASIC being a destination ASIC having a multiplicity of ports for forwarding data packets and for each port a temporary store for data packets received from others of the ASICs;
- and
- at least two others of the ASICs being source ASICs, each source ASIC including receivers for data packets and memory for storing received data packets and each source ASIC performing a look-up in response to address data in said data packets to determine to which destination port(s) said packets are destined, wherein at least some of said data packets are destined for said ports of said destination ASIC;
- and
- an internal data bus coupling said ASICs for conveying data packets from said source ASICs to said destination ASIC;
- wherein each source ASIC maintains a respective count of storage space for packet data in each of said temporary stores, decrements a respective count when packet data is dispatched to said destination ASIC, and increments a respective count in response to status information from a respective temporary store when packet data. is dispatched from said respective temporary store in the destination ASIC.
A network switch comprising:
- a plurality of distinct ASICs, and an internal data bus system for conveying data packets between the ASICs, and wherein
- each of said distinct ASICs includes a multiplicity of destination ports for forwarding data packets;
- the plurality of ASICs includes at least one destination ASIC which includes at least one temporary store for data packets;
- the plurality of ASICs includes at least one source ASIC which includes receivers for data packets and a memory for storing received data packets and each source ASIC includes means for performing a look-up in response to address data in data packets to determine to which destination port(s) said data packets are destined, wherein at least some of said data packets are destined for a port of a destination ASIC and at least some others of said data packets are destined for a port of the respective source ASIC;
- and
- each source ASIC maintains a respective count of storage space for packet data in each temporary store, decrements a respective count when packet data is dispatched to a destination ASIC and increments a respective count in response to status information from a respective temporary store when packet data is dispatched from said respective temporary store in the destination ASIC.
A network switch comprising:
- a plurality of distinct ASICs, and an internal data bus system for conveying data packets between the ASICs, and wherein:
- each ASIC includes a multiplicity of ports for forwarding data packets;
- the plurality of distinct ASICs comprises at least one destination ASIC which includes a temporary store for each of the respective ports;
- the plurality of distinct ASICs comprises at least one source ASIC which includes receivers for data packets and memory for storing received data packets and each source ASIC includes means for performing a look-up in response to address data in data packets to determine to which destination port(s) said data packets are destined, wherein at least some of said data packets are destined for a port of the respective source ASIC and some other data packets are destined for a port of a destination ASIC;
- and
- each source ASIC maintains a respective count of storage space for packet data in each temporary store, decrements a respective count when packet data is dispatched to a respective temporary store and increments a respective count in response to status information from a respective temporary store when packet data is dispatched from said respective temporary store.
A network switch comprising:
- a plurality of distinct ASICs, and an internal data bus system for conveying data packets from each ASIC to each of the other ASICs, and wherein:
- each ASIC includes a multiplicity of ports for forwarding data packets;
- each ASIC includes a temporary store for each of the respective ports;
- the plurality of distinct ASICs comprises at least one source ASIC which includes receivers for data packets and memory for storing received data packets and each source ASIC includes means for performing a look-up in response to address data in data packets to determine to which destination port(s) said data packets are destined, wherein at least some of said data packets are destined for a port of the respective source ASIC and some other data packets are destined for a port of a destination ASIC of the plurality of distinct ASICs;
- and
- each source ASIC maintains a respective count of storage space for packet data in each temporary store, decrements a respective count when packet data is dispatched to a respective temporary store and increments a respective count in response to status information from a respective temporary store when packet data is dispatched from said respective temporary store.
Dependencies are inferred from the claim text.