Claims
- 1. A memory management unit for a network switch fabric for forwarding data comprising:
an ingress port interface receiving portions of a data packet; an egress port interface, connected to ingress ports of the fabric through an ingress bus ring; a cell packer, where the cell packer groups packet data into cells; a packet pool memory, where the packet pool memory stores cells received from the cell packer; and a cell unpacker, where the cell unpacker separates stored cells before releasing the cells to an egress port.
- 2. A memory management unit as recited in claim 1, further comprising a plurality of egress port interfaces and wherein said ingress bus ring is configured such that outputs of one of the plurality of egress port interfaces are physically connected to inputs of an adjacent one of the plurality of egress port interfaces.
- 3. A memory management unit as recited in claim 2, wherein each of said plurality of egress port interfaces has a same physical layout to facilitate placement and testing of the egress port interfaces.
- 4. A memory management unit as recited in claim 1, wherein each port of the switch fabric has a memory for storing packet data and each port memory is configured such that port memory for non-active ports buffers packet data for active ports upon request of the active ports.
- 5. A memory management unit as recited in claim 1, further comprising an egress scheduler communicating with the cell unpacker, where the egress scheduler determines which packet data should be retrieved from the packet pool memory according to priority rules.
- 6. A memory management unit as recited in claim 5, further comprising a series of transaction queues that store entry points to beginnings of packets in the packet pool memory and a link list array that provides a mapping of the cells in the packet pool memory;
wherein the link list array communicates with the transaction queues and the packet pool memory and the transaction queues communicates with the egress scheduler.
- 7. A memory management unit as recited in claim 5, wherein the predetermined priority rules comprise a deficit round robin scheduling algorithm.
- 8. A memory management unit as recited in claim 5, wherein the predetermined priority rules comprise a weighted round robin scheduling algorithm.
- 9. A memory management unit as recited in claim 6, wherein transaction queues are configured to monitor an age of packet data in the transaction queues and purge the packet data when the age is greater than a predetermined value.
- 10. A method as recited in claim 1, transaction queues are configured to determine if a class of service class in the transaction queues has reached a limit and purge the data packet when the transaction queue has reached the limit.
- 11. A memory management unit as recited in claim 1, wherein the packer is configured to wait until a cell is filled before sending the cell to the packet pool memory.
- 12. A memory management unit as recited in claim 11, wherein a cell length of the cell is 640 bits.
- 13. A memory management unit as recited in claim 1, further comprising a memory error detector and a means for recovering from a detected memory error.
- 14. A network switch fabric having a memory management unit as recited in claim 1.
- 15. A network switch fabric as recited in claim 14, wherein the ingress bus ring comprises a series of buses, where the number of said series of buses is equal to the number of ingress ports.
- 16. A network switch fabric as recited in claim 15, wherein the ingress bus ring is configured to optimize power usage by examining an egress map for a packet arriving at one of the ingress ports and only forwarding packet data on the ring when a subsequent ingress port on the ring is specified in the egress map.
- 17. A network switch fabric as recited in claim 14, further comprising a message ring connected to ingress and egress port stations of the network switch fabric, used to pass messages between stations.
- 18. A network switch fabric as recited in claim 17, further comprising a central processing unit connected to the fabric and communicating with the ingress and egress port stations through the message ring.
REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority of U.S. Provisional Patent Application Serial No. 60/212,592, filed on Jun. 19, 2000 and U.S. Provisional Patent Application Serial No. 60/229,305, filed on Sep. 1, 2000. The contents of the provisional applications are hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60212592 |
Jun 2000 |
US |
|
60229305 |
Sep 2000 |
US |