Claims
- 1. A method comprising:
receiving a first portion of a packet on a network switch, wherein the network switch comprises a random access memory, wherein the random access memory comprises a plurality of memory portions configured for use in storing packets in the network switch; and storing the first portion of the packet in a first one or more of the plurality of memory portions; wherein, when the first portion of the packet is received and stored, insufficient of the memory portions are available for storing one or more other portions of the packet not yet received on the network switch.
- 2. The method as recited in claim 1, further comprising:
releasing a second one or more of the plurality of memory portions subsequent to said receiving the first portion of the packet, wherein said releasing makes the second one or more memory portions available on the network switch; receiving a second portion of the packet on the network switch after said releasing; and storing the second portion of the packet in a third one or more of the plurality of memory portions, wherein the third one or more of the plurality of memory portions includes at least a portion of the released second one or more of the plurality of memory portions; wherein, prior to said releasing, insufficient of the memory portions are available for storing the second portion of the packet.
- 3. The method as recited in claim 1, wherein the packet is received by the network switch on a port configured to receive Gigabit Ethernet traffic not using control frame-based flow control.
- 4. The method as recited in claim 1, further comprising:
receiving a second portion of the packet on the network switch after said receiving the first portion of the packet, wherein, when the second portion of the packet is received, insufficient of the memory portions are available for storing the second portion of the packet; and marking the packet to indicate the packet is to be dropped by the network switch in response to there being insufficient of the memory portions available for storing the second portion of the packet.
- 5. The method as recited in claim 4, further comprising dropping the packet after said marking the packet to be dropped.
- 6. The method as recited in claim 5, wherein said dropping the packet is performed by an output port of the network switch.
- 7. The method as recited in claim 4, further comprising providing a packet descriptor for the packet on the network switch, wherein said marking the packet to indicate the packet is to be dropped comprises setting an indicator in the packet descriptor to indicate that the packet is to be dropped.
- 8. The method as recited in claim 1, wherein the memory portions are clusters, wherein a cluster comprises one or more cells, wherein a cell is a minimum number of bytes that are read from the random access memory in one read operation or written to the random access memory in one write operation.
- 9. The method as recited in claim 1, further comprising storing the first portion in an input FIFO memory prior to said storing the first portion of the packet in the random access memory.
- 10. A method comprising:
receiving a first portion of a packet on a network switch, wherein the network switch comprises a random access memory, wherein the random access memory comprises a plurality of memory portions configured for use in storing packets in the network switch; storing the first portion of the packet in a first one or more memory portions of the plurality of memory portions;
a) receiving a second portion of the packet on the network switch; b) determining if sufficient of the plurality of memory portions are available for storing the received second portion of the packet; c) if sufficient of the plurality of memory portions are available, storing the second portion of the packet in a second one or more memory portions of the plurality of memory portions; and d) if sufficient of the plurality of memory portions are not available, marking the packet to indicate the packet is to be dropped by the network switch.
- 11. The method as recited in claim 9, further comprising, if c) is true, repeating a) through d) for one or more portions of the packet received after the second portion of the packet.
- 12. The method as recited in claim 9, wherein the packet is received by the network switch on a port configured to receive Gigabit Ethernet traffic not using control frame-based flow control.
- 13. The method as recited in claim 9, further comprising dropping the packet after said marking the packet to be dropped.
- 14. The method as recited in claim 13, wherein said dropping the packet is performed by an output port of the network switch.
- 15. The method as recited in claim 9, further comprising providing a packet descriptor for the packet on the network switch.
- 16. The method as recited in claim 15, wherein said marking the packet to indicate the packet is to be dropped comprises setting an indicator in the packet descriptor to indicate that the packet is to be dropped.
- 17. The method as recited in claim 9, wherein, during said receiving the first portion of the packet on the network switch, insufficient of the plurality of memory portions are available for storing the second portion of the packet not yet received on the network switch.
- 18. The method as recited in claim 17, further comprising, prior to said receiving the second portion of the packet, releasing at least enough of the plurality of memory portions to store the second portion of the packet.
- 19. The method as recited in claim 9, wherein the memory portions are clusters, wherein a cluster comprises one or more cells, wherein a cell is a minimum number of bytes that are read from the random access memory in one read operation or written to the random access memory in one write operation.
- 20. A network switch comprising:
one or more ports configured to receive packets for the network switch; a random access memory comprising a plurality of memory portions configured for use in storing the packets in the network switch; and packet admission logic coupled between the one or more ports and the random access memory, wherein the packet admission logic is configured to:
receive a first portion of a packet on a first port of the one or more ports; and store the first portion of the packet in a first one or more of the plurality of memory portions; wherein, when the first portion of the packet is received and stored, insufficient of the memory portions are available for storing one or more other portions of the packet not yet received on the first port.
- 21. The network switch as recited in claim 20, wherein the network switch is configured to release a second one or more of the plurality of memory portions after said receiving the first portion of the packet, wherein said releasing makes the second one or more memory portions available to the packet admission logic;
wherein the packet admission logic is further configured to:
receive a second portion of the packet on the first port after said releasing; and store the second portion of the packet in a third one or more of the plurality of memory portions, wherein the third one or more of the plurality of memory portions includes at least a portion of the released second one or more of the plurality of memory portions; wherein, prior to said releasing, insufficient of the memory portions are available for storing the second portion of the packet not yet received on the first port.
- 22. The network switch as recited in claim 20, wherein the first port is a port configured to receive Gigabit Ethernet traffic not using control frame-based flow control.
- 23. The network switch as recited in claim 20, wherein the packet admission logic is further configured to:
receive a second portion of the packet on the first port after said receiving the first portion of the packet; determine there is insufficient of the memory portions available for storing the second portion of the packet; and mark the packet to indicate the packet is to be dropped by the network switch in response to said determining there is insufficient of the memory portions available for storing the second portion of the packet.
- 24. The network switch as recited in claim 23, wherein the network switch is configured to drop the packet after said marking the packet to be dropped.
- 25. The network switch as recited in claim 23, wherein the network switch further comprises an output port configured to convey packets received on the first port out of the network switch, wherein the output port is further configured to drop the packet after said marking the packet to be dropped.
- 26. The network switch as recited in claim 23, wherein the packet admission logic is further configured to provide a packet descriptor for the packet after said receiving the first portion of the packet, wherein said marking the packet to indicate the packet is to be dropped comprises setting an indicator in the packet descriptor to indicate that the packet is to be dropped.
- 27. The network switch as recited in claim 20, wherein the plurality of memory portions are clusters, wherein a cluster comprises one or more cells, wherein a cell is a minimum number of bytes that are read from the random access memory in one read operation or written to the random access memory in one write operation.
- 28. The network switch as recited in claim 20, further comprising an input FIFO memory, wherein the packet admission logic is further configured to store the first portion in the input FIFO memory prior to said storing the first portion of the packet in the random access memory.
- 29. A network switch comprising:
one or more ports configured to receive input packets for the network switch; a random access memory comprising a plurality of memory portions configured for use in storing packets in the network switch; and packet admission logic coupled between the one or more ports and the random access memory, wherein the packet admission logic is configured to:
receive a first portion of a packet on a first port of the one or more ports; store the first portion of the packet in a first one or more memory portions of the plurality of memory portions;
a) receive a second portion of the packet on the first port; b) determine if sufficient of the plurality of memory portions are available for storing the received second portion of the packet; c) if sufficient of the plurality of memory portions are available, store the second portion of the packet in a second one or more memory portions of the plurality of memory portions; and d) if sufficient of the plurality of memory portions are not available, mark the packet to indicate the packet is to be dropped by the network switch.
- 30. The network switch as recited in claim 29, wherein the packet admission logic is further configured to, if c) is true, repeat a) through d) for one or more portions of the packet received after the second portion of the packet.
- 31. The network switch as recited in claim 29, wherein the first port is configured to receive Gigabit Ethernet traffic not using control frame-based flow control.
- 32. The network switch as recited in claim 29, wherein the network switch is configured to drop the packet after said marking the packet to be dropped.
- 33. The network switch as recited in claim 32, wherein the network switch further comprises an output port configured to convey packets received on the first port out of the network switch, wherein the output port is further configured to drop the packet after said marking the packet to be dropped.
- 34. The network switch as recited in claim 29, wherein the packet admission logic is further configured to provide a packet descriptor for the packet after said receiving the first portion of the packet, wherein said marking the packet to indicate the packet is to be dropped comprises setting an indicator in the packet descriptor to indicate that the packet is to be dropped.
- 35. The network switch as recited in claim 29,
wherein, during said receiving the first portion of the packet, insufficient of the plurality of memory portions are available for storing the second portion of the packet not yet received on the first port; wherein the network switch is configured to release a third one or more of the plurality of memory portions after said storing the first portion of the packet and prior to said receiving the second portion of the packet, wherein said releasing makes the third one or more memory portions available to the packet admission logic; and wherein, after said releasing, sufficient of the plurality of memory portions are available for storing the second portion of the packet not yet received on the first port.
- 36. The network switch as recited in claim 29, wherein the plurality of memory portions are clusters, wherein a cluster comprises one or more cells, wherein a cell is a minimum number of bytes that are read from the random access memory in one read operation or written to the random access memory in one write operation.
1. CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/309,154, filed Jul. 31, 2001.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60309154 |
Jul 2001 |
US |