Method and apparatus for reducing pool starvation in a shared memory switch
AssigneeMosaid Technologies Incorporated
InventorDavid Brown
Life of this patent
Estimating the term…
Abstract
Reducing pool starvation in a switch is disclosed. The switch includes a plurality of egress ports, and a reserved pool of buffers in a shared memory. The reserved pool of buffers is one of a number of reserved pools of buffers, and the reserved pool of buffers is reserved for one of the egress ports. A shared pool of buffers and a multicast pool of buffers are in the shared memory. The shared pool of buffers is shared by the egress ports.
Claims16
A method for allocating a buffer from one of a multicast pool, a shared pool, and a reserved pool, the reserved pool being one of a number of reserved pools, and the method comprising the steps of:
- receiving a number of buffer pool selection determinants, said selection determinants including counter status information, multicast packet identification information, and egress port forwarding information, said egress port forwarding information dependent upon a header of an accepted data packet to be stored in a buffer, and said multicast packet identification information contained in said header;
- selecting one of the multicast pool, the shared pool and the reserved pool from which to allocate the buffer for data based on said selection determinants, wherein said egress port forwarding information only having direct consequence on the selecting one of the multicast pool, the shared pool and the reserved pool when the selecting is from the reserved pools;
- and
- allocating the buffer from the selected pool in a shared memory.
A switch comprising:
- a plurality of egress ports;
- a reserved pool of buffers in a shared memory, the reserved pool of buffers being one of a number of reserved pools of buffers, and the reserved pool of buffers being reserved for one of the egress ports;
- a shared pool of buffers in the shared memory, the shared pool of buffers shared by the egress ports;
- a multicast pool of buffers in the shared memory;
- an information receiver for receiving a number of buffer pool selection determinants, said selection determinants including counter status information, multicast packet identification information, and egress port forwarding information, said egress port forwarding information dependent upon a header of an accepted data packet to be stored in a buffer, and said multicast packet identification information contained in said header;
- and
- logic for selecting one of the multicast pool, the shared pool and the reserved pool from which to allocate the buffer for data based on said selection determinants, wherein said egress port forwarding information only having direct consequence on the selecting one of the multicast pool, the shared pool and the reserved pool when the logic selects from the reserved pools, wherein the buffer is allocated from the selected pool in the shared memory.
A switch comprising:
- pools of buffers including a multicast pool, a shared pool, and a plurality of reserved pools in a shared memory;
- hardware component means for receiving a number of buffer pool selection determinants, said selection determinants including counter status information, multicast packet identification information, and egress port forwarding information, said egress port forwarding information dependent upon a header of an accepted data packet to be stored in a buffer, and said multicast packet identification information contained in said header;
- and
- logic for selecting one of the multicast pool, the shared pool and a reserved pool of the plurality of the reserved pools from which to allocate the buffer for data based on said selection determinants, wherein said egress port forwarding information only having direct consequence on the selecting one of the multicast pool, the shared pool and the reserved pool when the logic selects from the plurality of the reserved pools, wherein the buffer is allocated from the selected pool in the shared memory.
Dependencies are inferred from the claim text.