High bandwidth packet switch
First Claim
1. A fast packet switch for routing data packets from a source to a destination, said data packets having a destination address, said switch comprising:
- a plurality of input ports, a plurality of output ports, a buffer connected to said input ports and said output ports, a buffer manager connected to said input ports and said output ports, and a router connected to said input ports and said output ports;
said buffer manager selecting a location in said buffer in response to notification of receipt of a data packet at one of said input ports and producing data representing said buffer location, said input ports each having means responsive to receipt of said data representing said buffer location for delivering said incoming packet to said buffer location;
said router having means responsive to receipt of said data representing said buffer location and said destination address from said input ports for delivering said data representing said buffer location to a selected one of said plurality of output ports responsive to said destination address;
each of said output ports having means responsive to receipt of said data representing said buffer location for retrieving said data packet from said buffer location, transmitting said data packet and returning said data representing said buffer location to said buffer manager.
1 Assignment
0 Petitions
Accused Products
Abstract
A fast packet switch comprising one buffer directly connected between a plurality of input ports and a plurality of output ports to effect rapid throughput of data packets. A pointer to a location in the buffer is allocated by a buffer manager upon receipt of notification of an incoming packet at the receiving input port and the input port delivers the packet as it is received to the location designated by the pointer. After the data packet is received, the input port delivers the pointer and a destination address for the packet to a router, which selects one of the plurality of output ports based on the destination address. The router queues the pointer in a queue for the selected output port. The output port then retrieves the data packet from the buffer using the pointer to determine the location, and transmits the data packet. After the transmission is complete, the output port returns the pointer to the buffer manager. This packet switch may be pipelined to receive, route, and transmit simultaneously on adjacent data packets.
233 Citations
28 Claims
-
1. A fast packet switch for routing data packets from a source to a destination, said data packets having a destination address, said switch comprising:
-
a plurality of input ports, a plurality of output ports, a buffer connected to said input ports and said output ports, a buffer manager connected to said input ports and said output ports, and a router connected to said input ports and said output ports; said buffer manager selecting a location in said buffer in response to notification of receipt of a data packet at one of said input ports and producing data representing said buffer location, said input ports each having means responsive to receipt of said data representing said buffer location for delivering said incoming packet to said buffer location; said router having means responsive to receipt of said data representing said buffer location and said destination address from said input ports for delivering said data representing said buffer location to a selected one of said plurality of output ports responsive to said destination address; each of said output ports having means responsive to receipt of said data representing said buffer location for retrieving said data packet from said buffer location, transmitting said data packet and returning said data representing said buffer location to said buffer manager. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for use in a packet switch for routing data packets from a source to a destination, said data packets each having a destination address and an end of packet signal, said packet switch comprising an input port, a plurality of output ports, a buffer connected to said input port and said output port, a buffer manager for allocating and deallocating pointers to locations in said buffer, and a router means for selecting one of said plurality of output ports, said method comprising:
-
responsive to receipt of a data packet from said source, said input port requesting a pointer from said buffer manager; responsive to said pointer request, said buffer manager allocating a pointer corresponding to a specific buffer location; responsive to receipt of said pointer, said input port delivering said data packet to said buffer, starting at said location, as said data packet is received from said source; responsive to receipt of said end of packet signal, said input port delivering said pointer and said destination address to said router means; responsive to receipt of said pointer and said destination address, said router selecting one of said plurality of output ports, and delivering said pointer to said selected output port; responsive to receipt of said pointer, said selected output port retrieving said data packet from said buffer and transmitting said data packet to said destination; and responsive to transmitting said end of packet signal, said selected output port returning said pointer to said buffer manager. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A fast packet switch for routing data packets from a source to a destination, said data packets having a destination address, said switch comprising:
-
buffer means having a plurality of locations for storing data; pointer control means for controlling storage of said data packets in said buffer means; input means for receiving data packets from said source and delivering said data packets to said buffer means under control of said pointer control means; a plurality of output means for sending said data packet to said destinations, said output means determining the destinations of said data packets in response to said pointer control means; and routing means for selecting one of said plurality of said output means responsive to said pointer control means and said destination address. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification