Packet switch having a crossbar switch that connects multiport receiving and transmitting elements
First Claim
1. Switching apparatus for switching packets of data, the apparatus comprising:
- a plurality of devices, each device having a receiving part which receives packets from a plurality of sources and an outputting part which outputs packets to a plurality of destinations specified by destination specifiers in the packets;
a plurality of output data paths, there being for each device separate output paths connecting the device'"'"'s input part to the device'"'"'s output part and the output parts for each of the other devices; and
routing apparatus which responds to the destination specifier by routing the packet from the receiving part via the output data path of the plurality which connects the receiving part to the outputting part which outputs packets to the specified destination.
12 Assignments
0 Petitions
Accused Products
Abstract
An integrated circuit on which are implemented a number of devices that conform to the Rapidio network architecture. Included in the integrated circuit are two addressed RapidIO devices and switching devices which provide 24 switching ports. The devices have a packet receiving side and a packet transmitting side; the packet receiving side of each of the devices is connected by 128-bit wide paths termed poles its own packet transmitting side and each of the other transmitting sides. Features of the integrated circuit include centralized multicasting and configuration control for all of the devices on the integrated circuit, provisions for having more than one address in a RapidIO device, techniques for defining the address space routed by a routing table, techniques for managing congestion, and advanced buffer management techniques.
31 Citations
52 Claims
-
1. Switching apparatus for switching packets of data, the apparatus comprising:
-
a plurality of devices, each device having a receiving part which receives packets from a plurality of sources and an outputting part which outputs packets to a plurality of destinations specified by destination specifiers in the packets;
a plurality of output data paths, there being for each device separate output paths connecting the device'"'"'s input part to the device'"'"'s output part and the output parts for each of the other devices; and
routing apparatus which responds to the destination specifier by routing the packet from the receiving part via the output data path of the plurality which connects the receiving part to the outputting part which outputs packets to the specified destination. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
2. Apparatus which implements a plurality of packet network devices in an integrated circuit, the packet network devices being defined by an architecture for a packet network that has addressable and non-addressable devices and the apparatus comprising:
-
an addressable device in the integrated circuit which is a destination for packets defined by the architecture; and
a non-addressable device in the integrated circuit which routes packets to their destinations, the non-addressable device being coupled to the addressable device and responding to a packet whose destination is the addressable device by routing the packet thereto and responding to a packet whose destination is not the addressable device by routing the packet as required by the destination. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
3. Apparatus which implements a plurality of packet network devices in an integrated circuit, the apparatus comprising:
-
the plurality of packet network devices; and
a device manager which performs functions for each of the packet network devices as required by that packet network device. - View Dependent Claims (4, 5)
-
-
6. A method of preventing a packet from being stalled in apparatus wherein packets having differing priorities contend for access to a resource, the access to the resource being controlled by an arbiter and the method including the steps of:
-
establishing a threshold time for determining whether a particular packet is stalled; and
responding in the arbiter when the threshold time is exceeded by treating the particular packet during arbitration for the resource as if the particular packet had a higher priority. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35)
-
-
7. Apparatus used with a routing table whose indexes have a first length to define an address space of addresses which the routing table will route, the addresses in the address space having a second length that is longer than the first length and the apparatus comprising:
a processing unit having access to memory, the memory containing the routing table;
a base value; and
an address having the second length, the processing unit using non-index bits of the address that are not used to index the routing table and the base value to determine whether the address belongs to the address space, and if the address does belong to the address space, using index bits of the address to index the routing table. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47)
-
18. A method of switching packets in a switching apparatus that includes
a plurality of devices, each device having a receiving part which receives packets from a plurality of sources and an outputting part which outputs packets to a plurality of destinations specified by destination specifiers in the packets and a plurality of output data paths, there being for each device separate output paths connecting the device'"'"'s input part to the device'"'"'s output part and the output parts for each of the other devices, the method comprising the steps performed in a receiving part of: -
receiving packets in the receiving part; and
routing each packet to an outputting part via the output data path to the output part which outputs the packet to the destination specified in the packet'"'"'s destination specifier. - View Dependent Claims (19, 20, 21, 22)
-
-
36. Apparatus for ensuring that lower-priority packets receive access to a shared resource, the apparatus comprising:
-
a plurality of queues, the packets at the heads of the queues contending for access to the shared resource;
for each one of the queues, a stall indicator that indicates whether the packet at the head of the queue is stalled; and
an arbiter for the resource that arbitrates among the packets at the heads of the queues according to the priorities of the packets, the arbiter responding to the stall indicator by treating the packet at the head of the queue as having a stalled priority that is higher than others of the priorities. - View Dependent Claims (37, 38, 39, 40)
-
-
48. A method of routing addresses that have a first length and belong to a first address space, the method employing a routing table whose indexes have a second length that is shorter than the first length and the method comprising the steps of:
-
using a non-index portion of the address and the base value to determine whether the address belongs to the address space; and
if the address does belong to the address space, using an index portion of the address to index the routing table. - View Dependent Claims (49, 50, 51, 52)
-
Specification