Claims
- 1. An apparatus comprising:
a set of input ports to receive data packets; a set of sink ports coupled to said set of input ports to receive and forward said data packets; and a set of data rings coupling said set of input ports and said set of sink ports.
- 2. The apparatus of claim 1, wherein said set of data rings couples each sink port in said set of sink ports to each input port in said set of input ports
- 3. The apparatus of claim 1, wherein said set of data rings is a single ring.
- 4. The apparatus of claim 1, wherein said set of data rings includes three rings.
- 5. The apparatus of claim 1, wherein each sink port in said set of sink ports snoops data packets on each data ring in said set of data rings.
- 6. The apparatus of claim 1, wherein a first sink port in said set of sink ports snoops data packets on each data ring in said set of data rings to determine whether said data packets are destined for said first sink port.
- 7. The apparatus of claim 6, wherein said first sink port snoops each of said data packets to determine whether said each of said data packets contains a destination address supported by said first sink port.
- 8. The apparatus of claim 1, wherein a first set of input ports in said set of input ports is coupled to a first data ring in said set of data rings and a second set of input ports in said set of input ports is coupled to a second data ring in said set of data rings.
- 9. The apparatus of claim 1, wherein a first sink port in said set of sink ports snoops data packets on each data ring in said set of data rings and determines whether to accept a data packet based on a set of criteria.
- 10. The apparatus of claim 9, wherein said set of criteria includes said sink port having sufficient storage space for storing said data packet.
- 11. The apparatus of claim 10, wherein said set of criteria includes said sink port supporting a destination targeted by said data packet.
- 12. The apparatus of claim 11, wherein said set of criteria includes a total number of packets being received by said first sink port not exceeding a predetermined number of packets.
- 13. The apparatus of claim 1, wherein a sink port in said set of sink ports includes:
a ring interface coupled to said set of data rings to receive data from said data packets; a storage buffer coupled to said ring interface to receive and store said data; and an output port coupled to said storage buffer to receive said data from said storage buffer and transmit said data on a communications link.
- 14. The apparatus of claim 1, wherein an input port in said set of input ports includes:
a communications interface to receive said data packets from a communications link; and a storage buffer coupled to said communications link to store data from said data packets, said storage buffer coupled to at least one data ring in said set of data rings.
- 15. A cross-bar switch comprising:
a set of input ports to receive data packets from a communications link; a set of sink ports coupled to said set of input ports to receive said data packets from said set of input ports; and a set of data rings coupling each sink port in said set of sink ports to each input port in said set of input ports.
- 16. The cross-bar switch of claim 15, wherein each sink port in said set of sink ports snoops data packets on each data ring in said set of data rings.
- 17. The cross-bar switch of claim 15, wherein a first sink port in said set of sink ports snoops data packets on each data ring in said set of data rings to determine whether said data packets are destined for said first sink port.
- 18. The cross-bar switch of claim 17, wherein said first sink port snoops each of said data packets to determine whether said each of said data packets contains a destination address supported by said first sink port.
- 19. The cross-bar switch of claim 15, wherein a first set of input ports in said set of input ports is coupled to a first data ring in said set of data rings and a second set of input ports in said set of input ports is coupled to a second data ring in said set of data rings.
- 20. The cross-bar switch of claim 15, wherein a sink port in said set of sink ports includes:
a ring interface coupled to said set of data rings to receive data from said data packets; a storage buffer coupled to said ring interface to receive and store said data; and an output port coupled to said storage buffer to receive said data from said storage buffer and transmit said data on a communications link.
- 21. The cross-bar switch of claim 15, wherein an input port in said set of input ports includes:
a communications interface to receive data packets from a communications link; and a storage buffer coupled to said communications link to store data from said data packets, said storage buffer coupled to at least one data ring in said set of data rings.
- 22. An cross-bar switch comprising:
a set of input ports to receive data packets from a communications link; a set of sink ports coupled to said set of input ports to receive said data packets from said set of input ports; and a set of data rings coupling each sink port in said set of sink ports to each input port in said set of input ports, wherein each sink port in said set of sink ports snoops data packets on each data ring in said set of data rings.
- 23. The cross-bar switch of claim 22, wherein a first set of input ports in said set of input ports is coupled to a first data ring in said set of data rings and a second set of input ports in said set of input ports is coupled to a second data ring in said set of data rings.
- 24. The cross-bar switch of claim 22, wherein a sink port in said set of sink ports includes:
a ring interface coupled to said set of data rings to receive data from said data packets; a storage buffer coupled to said ring interface to receive and store said data; and an output port coupled to said storage buffer to receive said data from said storage buffer and transmit said data on a communications link.
- 25. A method for transferring data packets to targets, said method comprising the steps of:
(a) receiving a set of data packets; (b) transferring said set of data packets to a set of data rings, wherein a set of sink ports is coupled to said set of data rings; (c) a sink port in said set of sink ports, determining whether to accept data packets in said set of data packets, based on a set of criteria; and (d) said sink port, collecting data for data packets accepted by said sink port.
- 26. The method of claim 25, wherein said step (c) and said step (d) are performed by each sink port in said set of sink ports.
- 27. The method of claim 25, wherein said step (c) includes the step of:
(1) said sink port, determining whether a data packet includes a destination address in a predetermined set of destination addresses.
- 28. The method of claim 27, wherein said step (c) includes the step of:
(2) said sink port, determining whether to accept said data packet based on additional criteria in said set of criteria.
- 29. The method of claim 28, wherein said step (c) (2) includes the step of:
(i) determining whether said sink port is enabled to receive data packets.
- 30. The method of claim 29, wherein said step (c)(2) includes the step of:
(ii) determining whether said sink port has sufficient resources to store said data packet.
- 31. The method of claim 30, wherein said step (c)(2) includes the step of:
(iii) determining whether said sink port is currently receiving a maximum allowable number of packets.
- 32. The method of claim 31, wherein said step (c)(2) includes the step of:
(iv) determining whether said packet has a number of bytes within a predetermined range.
- 33. The method of claim 28, further including the step of:
(e) said sink port, issuing a rejection signal if said sink port determines not to accept said data packet in said step (2).
- 34. The method of claim 33, wherein said rejection signal terminates further reception of said data packet by said sink port.
- 35. The method of claim 25, further including the step of:
(f) said sink port transmitting said data packets collected in said step (d).
- 36. An apparatus for transferring data packets to targets, said apparatus comprising:
receiving means for receiving a set of data packets; a set of sink ports coupled to said receiving means to receive said set of data packets from said receiving means, each sink port in said set of sink ports including:
determining means for determining whether to accept data packets in said set of data packet, based on a set of criteria; and storage means for storing data for packets accepted by said sink port; and data ring means for coupling said receiving means to said set of sink ports.
- 37. A cross-bar switch comprising:
a set of input ports to receive data packets from a communications link; a set of sink ports coupled to said set of input ports to receive said data packets from said set of input ports, wherein each sink port in said set of sink ports includes:
a ring interface coupled to said set of data rings to receive data from said data packets, a storage buffer coupled to said ring interface to receive and store said data, and an output port coupled to said storage buffer to receive said data from said storage buffer and transmit said data on a communications link; and a set of data rings coupling each sink port in said set of sink ports to each input port in said set of input ports, wherein each sink port in said set of sink ports snoops data packets on each data ring in said set of data rings.
- 38. A method for transferring data packets to targets, said method comprising the steps of:
(a) receiving a set of data packets; (b) transferring said set of data packets to a set of data rings, wherein a set of sink ports is coupled to said set of data rings; (c) a sink port in said set of sink ports, determining whether to accept data packets in said set of data packets, based on a set of criteria, wherein said step (c) includes the steps of:
(1) said sink port, determining whether a data packet includes a destination address in a predetermined set of destination addresses, and (2) said sink port, determining whether to accept said data packet based on additional criteria in said set of criteria; (d) said sink port, collecting data for data packets accepted by said sink port; (e) said sink port, issuing a rejection signal if said sink port determines not to accept said data packet in said step (c)(2); and (f) said sink port transmitting said data packets collected in said step (d), wherein said step (c) and said step (d) are performed by each sink port in said set of sink ports.
Parent Case Info
[0001] This application claims the benefit of and is a continuation of U.S. patent application Ser. No. 09/900,514, “Cross-Bar Switch,” filed on Jul. 6, 2001, which is incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09900514 |
Jul 2001 |
US |
Child |
10036603 |
Dec 2001 |
US |