IP Library Granted Patent US 7,519,059
Granted Patent B2
US 7,519,059 · App. 11/402,068 · Granted Apr 14, 2009

Switch fabric with memory management unit for improved flow control

Assignee: Broadcom Corporation
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 7,519,059
App. No.
11/402,068
Granted
Apr 14, 2009
Kind
B2
Abstract

A method for controlling a flow of packet data in a memory management unit of a network switch fabric is disclosed. A first portion of a data packet is received at a port on an ingress bus ring of the network switch fabric. A class of service for the data packet is determined based on the first portion and the portion is stored in a packer RAM of the port based on the class of service. Subsequent portions of the data packet are stored in the packer RAM. Once the predetermined number of portions have been received, the predetermined number of portions is sent to a packet pool RAM. A reference pointer to a first predetermined number of portions is sent to a transaction queue once an end of packet is detected and an egress scheduler detects a presence of a ready packet in the transaction queue and notifies an unpacker of the ready packet. The unpacker puts the ready packet into a FIFO and the ready packet is sent to an ingress/egress module.

Claims (24)

1. A method of forwarding data in a network switch fabric, said method comprising:

receiving a data packet at a first port of the fabric;

reading a first portion of the data packet, the first portion being less than a full packet length, of the packet, to determine corresponding packet information;

determining a class of service for the data packet based on the first portion of the data packet;

storing the first portion of the data packet in a packer memory of the first port in a logical FIFO and according to the class of service;

storing subsequent portions of the data packet in the packer memory of the first port to accumulate at least one cell;

writing the cell into a packet pool memory to facilitate transmission;

updating a link list array, the link list array comprising pointers correlating the packet with the at least one cell and a counter representing a total number of cells stored in the packet pool memory that correspond to the packet.

2. The method of claim 1 , further comprising:

identifying whether each of the data packets is a unicast packet, a multicast packet, a broadcast packet, or a result of a destination lookup failure using an opcode value from the corresponding packet information.

3. The method of claim 1 , further comprising:

writing cells from packer memories of a plurality of ports into the packet pool memory in a round robin manner.

4. The method of claim 3 , wherein the writing of cells from packer memories is performed in a manner germane to a selected bandwidth and a time period corresponding to accumulating a cell.

5. A network switch fabric for forwarding data, the network switch fabric comprising:

means for receiving a data packet at a first port of the fabric;

means for reading a first portion of the data packet, the first portion being less than a full packet length, to determine corresponding packet information;

means for determining a class of service for the data packet based on the first portion of the data packet;

means for storing the first portion of the data packets in a packer memory of the first port in a logical FIFO and according to the class of service,

the storing means also for storing subsequent portions of the data packet in the packer memory of the first port to accumulate at least one cell;

means for writing the cell into a packer pool memory to facilitate transmission; and

means for updating a link list array, the link list array comprising pointers correlating the packet with the at least one cell and a counter representing a total number of cells stored in the packet pool memory that correspond to the packet.

6. The switch fabric of claim 5 , wherein said corresponding packet information includes an opcode value that identifies whether each of the data packets is a unicast packet, a multicast packet, a broadcast packet or resulted in a destination lookup failure.

7. The apparatus of claim 5 , wherein the writing means is for writing cells from packer memories of a plurality of ports into the packet pool memory in a round robin manner.

8. The apparatus of claim 7 , wherein the writing of cells from packer memories is performed in a manner germane to a selected bandwidth and a time period corresponding to accumulating a cell.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
Continuity (4)
Continuation 0988338100 · Jun 19, 2001
Provisional Application 6022930500 · Sep 1, 2000
Provisional Application 6021259200 · Jun 19, 2000
Related Publication 20060182112A1 · Aug 17, 2006