← Back to Patent Explorer
US6335932B2 Expired / Lapsed US ⏱️ 0.0 years remaining

High performance self balancing low cost network switching architecture based on distributed hierarchical shared memory

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1999-06-30
•
Granted: 2002-01-01
•
Expires: 2019-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data switch for network communications includes at least one first data port interface which supports a plurality of data ports which transmit and receive data at a first data rate. At least one second data port interface is provided; the at least one second data port interface supports a plurality of data ports transmitting and receiving data at a second data rate. A CPU interface is provided, with the CPU interface configured to communicate with a CPU. An internal memory is provided, and communicates with the at least one first data port interface and the at least one second data port interface. A memory management unit is provided, and includes an external memory interface for communicating data from at least one of the first data port interface and the second data port interface and an external memory. A communication channel is provided, with the communication channel communicating data and messaging information between the at least one first data port interface, the at least one second data port interface, the internal memory, and the memory management unit. The memory management unit directs data from one of the first data port and the second data port to one of the internal memory and the external memory interface, according to a predetermined algorithm.

Inventors

  • 👤 Shiri Kadambi
  • 👤 Shekhar Ambe

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 13:18
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L12/28; H04L12/46; H04L12/4604; H04L12/462; H04L12/4625; H04L12/4641; H04L12/4645; H04L12/467; H04L12/5602; H04L45/00; H04L45/24; H04L45/245; H04L45/74; H04L45/742; H04L47/00; H04L47/10; H04L47/12; H04L47/125; H04L47/24; H04L47/2408; H04L47/2441; H04L47/2458; H04L47/30; H04L47/50; H04L47/52; H04L47/522; H04L47/525; H04L47/62; H04L47/6205; H04L47/6215; H04L47/622; H04L47/6225; H04L47/623; H04L49/00; H04L49/10; H04L49/102; H04L49/103; H04L49/104; H04L49/105; H04L49/107; H04L49/108; H04L49/109; H04L49/30; H04L49/3081; H04L49/309; H04L49/35; H04L49/351; H04L49/352; H04L49/60; H04L49/606; H04L49/90; H04L49/901; H04L49/9047; H04L49/9057; H04L49/9063; H04L49/9068; H04L49/9073; H04L67/00; H04L67/01; H04L67/10; H04L69/00; H04L69/16; H04L69/161; H04L12/02; H04L12/16; H04L12/18; H04L12/42; H04L2012/5638; H04L2012/5646; H04L2012/5651; H04L2012/5665; H04L2012/5667; H04L2012/5678; H04L2012/5679; H04L2012/568; H04L2012/5681; H04L2012/5682; H04L2012/5683; H04L49/20; H04L49/201; H04L49/205; H04L49/25; H04L49/253; H04L49/254; H04L49/3009; H04L49/3036; H04L49/3072; H04L49/354; H04L49/602; H04L69/14; H04L69/30; H04L69/32; H04L69/322; H04L69/323; H04L69/329; Y; Y02; Y02D; Y02D30/00; Y02D30/50; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99941; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 40
Claim 1
Independent Claim 232 words
A network switch for network communications, said network switch comprising: a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate; a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate; a CPU interface, said CPU interface configured to communicate with a CPU; an internal memory, said internal memory communicating with said first data port interface and second data port interface; a memory management unit, said memory management unit including an external memory interface for communicating data from at least one of said first port interface and said second data port interface and an external memory; and a plurality of independent communication channels acting in cooperation, said communication channels communicating data and messaging information between said first data port interface, said second data port interface, said internal memory, and said memory management unit, wherein said memory management unit directs data from one of said first data port interface and said second data port interface to one of said internal memory and said external memory interface according to a predetermined algorithm; and wherein said predetermined algorithm allocates memory locations between the internal memory and the external memory based upon an amount of said internal memory available for each of said plurality of data ports.
Claim 2
Dependent Claim 232 words
A network switch for network communications, said network switch comprising: a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate; a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate; a CPU interface, said CPU interface configured to communicate with a CPU; an internal memory, said internal memory communicating with said first data port interface and second data port interface; a memory management unit, said memory management unit including an external memory interface for communicating data from at least one of said first port interface and said second data port interface and an external memory; and a plurality of independent communication channels acting in cooperation, said communication channels communicating data and messaging information between said first data port interface, said second data port interface, said internal memory, and said memory management unit, wherein said memory management unit directs data from one of said first data port interface and said second data port interface to one of said internal memory and said external memory interface according to a predetermined algorithm; and wherein said predetermined algorithm allocates memory locations between the internal memory and the external memory based upon an amount of said internal memory available for each of said plurality of data ports.
Claim 3
Dependent Claim 64 words
A network switch as recited in claim 1 , wherein said memory management unit directs data to said internal memory and said external memory interface according to the predetermined algorithm wherein the internal memory and external memory interface results in a distributed hierarchical shared memory configuration, with a hierarchy between the internal memory and the external memory interface, and hierarchies within the internal memory.
Claim 4
Dependent Claim 49 words
A network switch as recited in claim 2 , wherein said memory management unit dynamically allocates internal memory space to selected ports of said plurality of data ports in the first data port interface and in the second data port interface based upon traffic flow through the network switch.
Claim 5
Dependent Claim 76 words
A network switch as recited in claim 1 , wherein said first data port interface includes a packet slicing unit for slicing variable length packets into a plurality of equal length cells, said packet slicing unit including a padding unit for including padding bits into a last cell of the plurality of equal length cells if the last cell does not include a sufficient number of bits to match a length of the equal length cells.
Claim 6
Dependent Claim 67 words
A network switch as recited in claim 4 , wherein said memory management unit includes an internal memory counting unit and an external memory counting unit, said internal memory counting unit keeping a running count of the number of cells in the internal memory, and the external memory counting unit keeping track of the number of cells sent to the external memory through the external memory interface.
Claim 7
Dependent Claim 24 words
A network switch as recited in claim 1 , wherein said plurality of independent communication channels comprises three independent communication channels acting in cooperation.
Claim 8
Dependent Claim 92 words
A network switch as recited in claim 6 , wherein said three communication channels include a first channel for communicating cell data between the plurality of data ports in the first data port interface, the plurality of data ports in the second data port interface, the internal memory, and the external memory interface, and a second channel, synchronously locked with the first channel, for communicating message information corresponding to the cell data on the first channel, and a third channel, independent from said first and second channel, for communicating sideband message information.
Claim 9
Dependent Claim 21 words
A network switch as recited in claim 1 , wherein said first data port interface is an ethernet data port interface.
Claim 10
Dependent Claim 22 words
A network switch as recited in claim 1 , wherein said second data port interface is a gigabit ethernet data port interface.
Claim 11
Dependent Claim 48 words
A network switch as recited in claim 1 , wherein said first data port interface, said second data port interface, said CPU interface, said internal memory, said memory management unit, and said plurality of independent communication channels are integrated on a single application specific integrated circuit (ASIC) chip.
Claim 12
Dependent Claim 19 words
A network switch as recited in claim 1 , wherein said internal memory is static random access memory (SRAM).
Claim 13
Dependent Claim 25 words
The network switch as recited in claim 1 , wherein said external memory interface is configured to interface to external dynamic random access memory (DRAM).
Claim 14
Dependent Claim 46 words
A network switch as recited in claim 1 , wherein said first data port interface, said second data port interface, said CPU interface, said internal memory, said memory management unit, and said plurality of independent communication channels are configured to perform layer two switching at wirespeed.
Claim 15
Dependent Claim 52 words
A network switch as recited in claim 1 , wherein said at least one first data port interface, said at least one second data port interface, said CPU interface, said internal memory, said memory management unit, and said plurality of independent communication channels are configured to perform layer three switching at wirespeed.
Claim 16
Dependent Claim 56 words
A network switch as recited in claim 1 , wherein said CPU interface is configured to provide communication between a remote CPU and the plurality of independent communication channels, wherein said remote CPU can program operations of the memory management unit while one of the first and second data port interfaces are receiving or transmitting data.
Claim 17
Dependent Claim 33 words
A network switch as recited in claim 15 , wherein said CPU interface is configured to provide communication between the remote CPU and a sideband channel of the plurality of independent communication channels.
Claim 18
Dependent Claim 36 words
A network switch as recited in claim 1 , said network switch including a plurality of semiconductor-implemented lookup tables therein, said plurality of lookup tables including address resolution lookup/layer three lookup, rules tables, and VLAN tables.
Claim 19
Dependent Claim 49 words
A network switch as recited in claim 17 , wherein said first data port interface communicates table information with said second data port interface, such that incoming address information can be updated at a plurality of data port interfaces while the information is received at one data port interface.
Claim 20
Dependent Claim 55 words
A network switch as recited in claim 17 , wherein said first data port interface and said second data port interface share a common address lookup/layer three table, and a common VLAN table, and wherein each of the first data port interface and the second data port interface has a unique rules table associated therewith.
Claim 21
Dependent Claim 35 words
A network switch as recited in claim 1 , wherein said first data port interface includes an auto-negotiating unit for negotiating a maximum communication speed between a source data port and a destination data port.
Claim 22
Dependent Claim 20 words
A network switch as recited in claim 1 , wherein said first data rate is a maximum of 100 Mbps.
Claim 23
Dependent Claim 20 words
A network switch as recited in claim 21 , wherein said first data rate is a maximum of 10 Mbps.
Claim 24
Dependent Claim 20 words
A network switch as recited in claim 1 , wherein said second data rate is a maximum of 1000 Mbps.
Claim 25
Dependent Claim 38 words
A network switch as recited in claim 1 , further comprising a priority assignment unit for assigning a weighted priority value to untagged packets entering one of the first data port interface and the second data port interface.
Claim 26
Dependent Claim 41 words
A network switch as recited in claim 24 , wherein said weighted priority is one of eight weighted priorities which are defined by a priority queue, said priority queue being provided in one of the first and second data port interfaces.
Claim 27
Dependent Claim 54 words
A network switch as recited in claim 24 , wherein the priority assignment unit assigns priority based upon one of a source priority field or a destination priority field, said source priority field and said destination priority field being determined by a lookup table, said lookup table being dynamically configured based upon traffic flow.
Claim 28
Dependent Claim 34 words
A network switch as recited in claim 26 , wherein said priority assignment unit assigns priority based upon the setting and unsetting of a priority bit in the lookup table entry for the packet.
Claim 29
Dependent Claim 21 words
A network Switch as recited in claim 5 , further comprising a priority assignment unit for assigning a weighted priority value.
Claim 30
Dependent Claim 41 words
A network switch as recited in claim 28 , wherein said weighted priority is one of eight weighted priorities which are defined by a priority queue, said priority queue being provided in one of the first and second data port interfaces.
Claim 31
Dependent Claim 245 words
A network switch for network communications, said network switch comprising: a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate; a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate; a CPU interface, said CPU interface configured to communicate with a CPU; a memory management unit in communication with said first data port interface and said second data port interface; an internal memory in communication with said first data port interface and said second data port interface; an external memory interface in communication with said first data port interface and said second data port interface, wherein said external memory interface is configured to communicate with an external memory; and a plurality of independent communication channels acting in cooperation, said communication channels communicating data and messaging information between said first data port interface, said second data port interface, said internal memory, and said memory management unit, wherein said memory management unit directs data from one of said first data port interface and said second data port interface to one of said internal memory and said external memory interface according to a predetermined algorithm; and wherein said predetermined algorithm allocates memory locations between the internal memory and the external memory based upon an amount of said internal memory available for each of said plurality of data ports.
Claim 32
Dependent Claim 245 words
A network switch for network communications, said network switch comprising: a first data port interface, said first data port interface supporting a plurality of data ports transmitting and receiving data at a first data rate; a second data port interface, said second data port interface supporting a plurality of data ports transmitting and receiving data at a second data rate; a CPU interface, said CPU interface configured to communicate with a CPU; a memory management unit in communication with said first data port interface and said second data port interface; an internal memory in communication with said first data port interface and said second data port interface; an external memory interface in communication with said first data port interface and said second data port interface, wherein said external memory interface is configured to communicate with an external memory; and a plurality of independent communication channels acting in cooperation, said communication channels communicating data and messaging information between said first data port interface, said second data port interface, said internal memory, and said memory management unit, wherein said memory management unit directs data from one of said first data port interface and said second data port interface to one of said internal memory and said external memory interface according to a predetermined algorithm; and wherein said predetermined algorithm allocates memory locations between the internal memory and the external memory based upon an amount of said internal memory available for each of said plurality of data ports.
Claim 33
Dependent Claim 68 words
A network switch as recited in claim 30 , wherein said memory management unit directs data to said internal memory and said external memory interface according to the predetermined algorithm, and wherein the configuration of the internal memory and external memory interface result in a distributed hierarchical shared memory configuration with a hierarchy between the internal memory and the external memory interface, and hierarchies within the internal memory.
Claim 34
Dependent Claim 49 words
A network switch as recited in claim 31 , wherein said memory management unit dynamically allocates internal memory space to selected ports of said plurality of data ports in the first data port interface and in the second data port interface based upon traffic flow through the network switch.
Claim 35
Dependent Claim 52 words
A network switch as recited in claim 30 , wherein said first data port interface, said second data port interface, said CPU interface, said internal memory, said memory management unit, said external memory interface, and said plurality of independent communication channels are integrated on a single application specific integrated circuit (ASIC) chip.
Claim 36
Dependent Claim 52 words
A network switch as recited in claim 30 , wherein said first data port interface, said second data port interface, said CPU interface, said internal memory, said memory management unit, said external memory interface, and said plurality of independent communication channels are configured to cooperatively perform layer two switching at line speed.
Claim 37
Dependent Claim 38 words
A network switch as recited in claim 30 , further comprising a priority assignment unit for assigning a weighted priority value to untagged packets entering one of the first data port interface and the second data port interface.
Claim 38
Dependent Claim 41 words
A network switch as recited in claim 35 , wherein said weighted priority is one of eight weighted priorities which are defined by a priority queue, said priority queue being provided in one of the first and second data port interfaces.
Claim 39
Dependent Claim 54 words
A network switch as recited in claim 35 , wherein the priority assignment unit assigns priority based upon one of a source priority field or a destination priority field, said source priority field and said destination priority field being determined by a lookup table, said lookup table being dynamically configured based upon traffic flow.
Claim 40
Dependent Claim 34 words
A network switch as recited in claim 35 , wherein said priority assignment unit assigns priority based upon the setting and un-setting of a priority bit in the lookup table entry for the packet.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-12-31 2005-07-02 2006-01-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-12-31 2009-07-02 2010-01-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-12-31 2013-07-02 2014-01-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag