IP Library Granted Patent US 8,630,304
Granted Patent B2
US 8,630,304 · App. 13/204,145 · Granted Jan 14, 2014

Method and apparatus for reducing pool starvation in a shared memory switch

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,630,304
App. No.
13/204,145
Granted
Jan 14, 2014
Kind
B2
Abstract

A switch includes a reserved pool of buffers in a shared memory. The reserved pool of buffers is reserved for exclusive use by an egress port. The switch includes pool select logic which selects a free buffer from the reserved pool for storing data received from an ingress port to be forwarded to the egress port. The shared memory also includes a shared pool of buffers. The shared pool of buffers is shared by a plurality of egress ports. The pool select logic selects a free buffer in the shared pool upon detecting no free buffer in the reserved pool. The shared memory may also include a multicast pool of buffers. The multicast pool of buffers is shared by a plurality of egress ports. The pool select logic selects a free buffer in the multicast pool upon detecting an IP Multicast data packet received from an ingress port.

Claims (25)

1. A switch comprising:

a plurality of ingress ports;

a plurality of egress ports;

a plurality of reserved pools of buffers in a shared memory, first and second reserved pools of the plurality of reserved pools of buffers reserved for respective first and second egress ports of the plurality of egress ports;

a shared pool of buffers in the shared memory, the shared pool of buffers shared by the plurality of egress ports; and

pool select logic configured to:

i) select a buffer to allocate from the first reserved pool when there is at least one free buffer in the first reserved pool that includes all of those buffers of the switch that are reserved for the first egress port, the buffer in the first reserved pool configured to store data received from any ingress port of the ingress ports that is to be forwarded to the first egress port; and

ii) otherwise select a free buffer in the shared pool when there is no free buffer in the first reserved pool to store the data.

2. The switch as claimed in claim 1 wherein if the data is stored in the buffer in the first reserved pool, the pool select logic is further configured to deallocate the buffer in the first reserved pool after the data has been forwarded to the first egress port.

3. The switch as claimed in claim 1 further comprising a multicast pool of buffers in the shared memory, the multicast pool of buffers shared by the plurality of egress ports.

4. The switch as claimed in claim 3 wherein allocation of a free buffer from the multicast pool of buffers is based upon detection of multicast data received from one of the ingress ports.

5. The switch as claimed in claim 1 further comprising a total free counter configured to store what number of free buffers are in the shared memory, the total free counter preset to a total number of buffers in the shared memory.

6. The switch as claimed in claim 1 further comprising a reserved free counter configured to store what number of free buffers are in reserved pools of buffers, the reserved free counter preset to a total number of buffers in the reserved pools of buffers.

7. The switch as claimed in claim 1 wherein the second reserved pool includes all buffers of the switch reserved for the second egress port, and buffers in the second reserved pool being configured to store other data received from any ingress port of the ingress ports that is to be forwarded to the second egress port.

8. The switch as claimed in claim 1 further comprising an ingress ports engine configured to forward a packet having a packet header and received from an ingress port of the plurality of ingress ports, based upon the packet header, to an appropriate address in the shared memory.

9. The switch as claimed in claim 1 wherein the shared memory comprises a reserved pool of buffers assigned to each specific egress port and a shared pool of buffers available for any of the egress ports of the plurality of egress ports.

10. A switch comprising:

a plurality of ingress ports;

a plurality of egress ports;

a reserved pool of buffers in a shared memory, the reserved pool of buffers reserved for an egress port of the plurality of egress ports; and

a shared pool of buffers in the shared memory, the shared pool of buffers shared by the plurality of egress ports, and

the switch is an output buffered switch within which a buffer is allocated from the reserved pool of buffers for storing data received from an ingress port of the plurality of ingress ports to be forwarded to the egress port unless there is no free buffer available from the reserved pool of buffers to store the data, in which case a free buffer is allocated from the shared pool of buffers.

11. The switch as claimed in claim 10 further comprising a multicast pool of buffers in the shared memory, the multicast pool of buffers shared by the plurality of egress ports.

12. The switch as claimed in claim 11 wherein upon detection of multicast data received from any ingress port of the plurality of ingress ports, the multicast data is allocated to and stored in a free buffer from the multicast pool of buffers.

13. The switch as claimed in claim 10 further comprising an ingress ports engine configured to forward a packet having a packet header and received from an ingress port of the plurality of ingress ports, based upon the packet header, to an appropriate address in the shared memory.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054278/0333 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2011
From: BROWN, DAVID A.
To: MOSAID TECHNOLOGIES, INC.
Reel/Frame 026709/0278 →
CHANGE OF ADDRESS Recorded Aug 5, 2011
From: MOSAID TECHNOLOGIES INCORPORATED
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 026711/0562 →