Cross-bar switch employing a multiple entry point FIFO
First Claim
Patent Images
1. An apparatus comprising:
- set of input ports;
a FIFO storage buffer;
request logic coupling said set of input ports to said FIFO storage buffer;
a memory in communication with said request logic, wherein said memory concurrently maintains a plurality of pointers, wherein each pointer in said plurality of pointers corresponds to a different location in said FIFO storage buffer for storing data from an input port in said set of input ports, wherein the request logic simultaneously writes data to the FIFO storage buffer for at least two of the input ports;
a set of data rings in communication with said set of input ports;
a ring interface coupled to said set of data rings to accent data from a plurality of sources and supoly said data on a plurality of outputs, said FIFO storage buffer in communication with said ring interface to receive and store said data from said ring interface; and
an output port coupled to said FIFO storage buffer to receive data from said FIFO storage buffer and transmit said data from said FIFO storage buffer on a communications link.
3 Assignments
0 Petitions
Accused Products
Abstract
A cross-bar switch includes a set of input ports for receiving data packets and a set of sink ports coupled to the input ports to accept and forward the data packets. Each sink port includes a multiple entry point FIFO with multiple data inputs for receiving data packets. In one implementation, the multiple entry point FIFO includes a FIFO storage buffer and request logic coupling the multiple entry point FIFO'"'"'s data inputs to the FIFO storage buffer. The multiple entry point FIFO concurrently maintains separate pointers into the FIFO storage buffer for each data packet being received on the multiple entry point FIFO'"'"'s data inputs.
-
Citations
39 Claims
-
1. An apparatus comprising:
-
set of input ports; a FIFO storage buffer; request logic coupling said set of input ports to said FIFO storage buffer; a memory in communication with said request logic, wherein said memory concurrently maintains a plurality of pointers, wherein each pointer in said plurality of pointers corresponds to a different location in said FIFO storage buffer for storing data from an input port in said set of input ports, wherein the request logic simultaneously writes data to the FIFO storage buffer for at least two of the input ports; a set of data rings in communication with said set of input ports; a ring interface coupled to said set of data rings to accent data from a plurality of sources and supoly said data on a plurality of outputs, said FIFO storage buffer in communication with said ring interface to receive and store said data from said ring interface; and an output port coupled to said FIFO storage buffer to receive data from said FIFO storage buffer and transmit said data from said FIFO storage buffer on a communications link. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising:
-
set of input ports; a FIFO storage buffer; request logic coupling said set of input ports to said FIFO storage buffer, wherein the request logic simultaneously writes data to the FIFO storage buffer for at least two of the input ports; a memory in communication with said request logic, wherein said memory concurrently maintains a plurality of pointers, wherein each pointer in said plurality of pointers corresponds to a different location in said FIFO storage buffer for storing data from an input port in said set of input ports; a set of data rings in communication with said set of input ports, a ring interface coupled to said set of data rings, said FIFO storage buffer in communication with said ring interface to receive and store said data from said ring interface; and an output port coupled to said FIFO storage buffer to receive data from said FIFO storage buffer and transmit said data from said FIFO storage buffer on a communications link, wherein said memory maintains a data identifier for each pointer in said plurality of pointers, wherein each data identifier identifies a data source, and wherein said memory includes; a first entry that maintains a pointer corresponding to a first location in said FIFO storage buffer for storing a first set of data from an input port in said set of input ports, and a second entry that maintains a pointer corresponding to a second location in said FIFO storage buffer for storing a second set of data from an input port in said set of input ports. - View Dependent Claims (9, 10, 11)
-
-
12. A sink port for a cross-bar switch, said sink port comprising:
-
a multiple entry point FIFO having a plurality of data inputs in communication with a set of input ports to simultaneously accept and store data for at least two of the input ports; a ring interface coupled to a set of data rings in communication with said set of input ports to accept the data, said multiple entry point FIFO in communication with said ring interface to receive and store said data from said ring interface; and an output port coupled to said multiple entry point FIFO to receive said data from said multiple entry point FIFO and transmit said data on a communications link. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A cross-bar switch comprising:
-
a set of input ports to receive data packets; a set of sink ports in communication with said set of input ports to accept and forward said data packets, wherein a first sink port in said set of sink ports includes a multiple entry point FIFO having a plurality of data inputs that simultaneously store data from data packets accepted by said first sink port for at least two of the input ports; and a set of data rings in communication with said set of input ports and said set of sink ports, wherein said first sink port includes; a ring interface coupled to said set of data rings to accept data from a plurality of sources and supply said data on a plurality of outputs, said multiple entry point FIFO in communication with said plurality of outputs on said ring interface to receive and store said data from said ring interface; and an output port coupled to said multiple entry point FIFO to receive data from said multiple entry point FIFO and transmit said data from said multiple entry point FIFO on a communications link. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A cross-bar switch comprising:
-
a set of input ports to receive data packets; a set of sink ports in communication with said set of input ports to accent and forward said data packets, wherein a first sink port in said set of sink ports includes a multiple entry point FIFO having a plurality of data inputs that simultaneously store data from data packets accepted by said first sink port for at least two of the input ports, a set of data rings in communication with said set of input ports and said set of sink ports, wherein said first sink port snoops data packets on each data ring in said set of data rings and determines whether to accept a first data packet based on a set of criteria, wherein said set of criteria includes; said first sink port having sufficient storage space for storing said first data packet, said first sink port supporting a destination targeted by said first data packet, and a total number of packets being received by said first sink port not exceeding a predetermined number of packets.
-
-
31. A method for a sink port in a cross-bar switch to collect data in a FIFO, said method comprising the steps of:
-
(a) accepting data from a first data packet, wherein said data accepted in said step (a) is a subset of said first data packet; (b) storing said data from said first data packet in said FIFO; (c) accepting data from a second data packet at substantially the same time as the data from the first data packet, wherein said data accepted in said step (c) is a subset of said second data packet; and (d) storing said data from said second data packet in said FIFO at substantially the same time as the data from the first data packet, wherein accepting in said steps (a) and (c) includes snooping data packets on each data ring in a set of data rings and determining whether to accept the first data packet and the second data packet based on a set of criteria, wherein said set of criteria includes said sink port having sufficient storage space for storing said first data packet, said sink port supporting a destination targeted by said first data packet and a total number of packets being received by said sink port not exceeding a predetermined number of packets. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
Specification