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

Architecture for an expandable transaction-based switching bus

Assignee: Cisco Technology Inc
•
Filing: 1996-03-28
•
Granted: 1998-08-18
•
Expires: 2016-03-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A switching bus architecture enables efficient transfer of data within a network switch having a plurality of ports interconnected by a high-performance switching bus. The architecture is preferably implemented as novel port interface and forwarding engine circuitry that cooperate to efficiently transmit data to, and receive data from, the switching bus in accordance with a 2-tier arbitration policy that ensures adequate port access to the bus. As a result of such a cooperating arrangement, the architecture improves the transfer efficiency of the switch by providing all ports sufficient bus access to convey accurate data throughout the switch.

Inventors

  • 👤 Mario Mazzola
  • 👤 Tom Edsall
  • 👤 Massimo Prati
  • 👤 Luca Cafiero

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 12:25
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/10; H04L49/102; H04L49/20; H04L49/205; H04L49/25; H04L49/253; H04L49/254; H04L49/30; H04L49/35; H04L49/351

Claims Analysis

Total Claims: 26
Claim 1
Independent Claim 182 words
A switching bus architecture for transferring data within a network switch having a plurality of ports contained on a plurality of cards interconnected by a switching bus, the architecture comprising: a plurality of port interface circuits for passing data to and from the switching bus, each port interface circuit controlling an associated port and appending a header portion to the data passed through the port to the bus; a forwarding engine cooperating with the port interface circuits to generate a unique index for translation to a port select signal in response to the header portion of the data, the port select signal selecting a port as a destination for the data transferred over the bus; and a multi-level arbitration mechanism that ensures each port adequate access to transfer data over the bus, the multi-level mechanism comprising a local arbiter contained on each card for aggregating bus requests generated by said port interface circuits on behalf of the ports contained on the card and a central arbiter for aggregating bus requests generated by each local arbiter on behalf of each of the cards.
Claim 2
Dependent Claim 182 words
A switching bus architecture for transferring data within a network switch having a plurality of ports contained on a plurality of cards interconnected by a switching bus, the architecture comprising: a plurality of port interface circuits for passing data to and from the switching bus, each port interface circuit controlling an associated port and appending a header portion to the data passed through the port to the bus; a forwarding engine cooperating with the port interface circuits to generate a unique index for translation to a port select signal in response to the header portion of the data, the port select signal selecting a port as a destination for the data transferred over the bus; and a multi-level arbitration mechanism that ensures each port adequate access to transfer data over the bus, the multi-level mechanism comprising a local arbiter contained on each card for aggregating bus requests generated by said port interface circuits on behalf of the ports contained on the card and a central arbiter for aggregating bus requests generated by each local arbiter on behalf of each of the cards.
Claim 3
Dependent Claim 65 words
The switching bus architecture of claim 1, wherein each of said plurality of port interface circuits comprises means for generating a bus request signal when desiring access to the switching bus; and said local arbiter includes means, responsive to said bus request signal of each port interface circuit, for determining which of said plurality of port interface circuits to grant access to the switching bus.
Claim 4
Dependent Claim 20 words
The switching bus architecture of claim 1 wherein said local arbiter communicates with said central arbiter via the switching bus.
Claim 5
Dependent Claim 43 words
The switching bus architecture of claim 3 wherein each of said plurality of port interface circuits comprises means for generating a bus request signal when it desires access to the switching bus; and a frame buffer for temporarily storing a received data frame.
Claim 6
Dependent Claim 35 words
The switching bus architecture of claim 1 wherein the unique index comprises a first value representing a slot number of a selected card and a second value representing a port number of the selected port.
Claim 7
Dependent Claim 22 words
The switching bus architecture of claim 5 wherein the slot number is concatenated with the port number to form the unique index.
Claim 8
Dependent Claim 84 words
The switching bus architecture of claim 1 wherein the unique index further corresponds to one of (i) a broadcast address that selects all ports of the network switch as destinations for the data transferred over the bus, (ii) a multicast address that selects a subset of all the ports of the network switch as destinations for the data transferred over the bus, and (iii) a blocking address that selects no ports of the network switch as destinations for the data transferred over the bus.
Claim 9
Dependent Claim 276 words
A network switch for transferring data between a plurality of network entities, the switch comprising: A. a switching bus; B. at least one card connected to said switching bus, each card comprising B1. a plurality of port interface circuits, each uniquely associated with one of the plurality of network entities for receiving data from the network entity and issuing a bus request signal when it desires access to said switching bus; B2. a local arbiter, responsive to said plurality of bus request signals, for issuing a slot request signal when at least one of said port interface circuits requests said switching bus, and for arbitrating which of said port interface circuits shall be granted access to said switching bus when said card is granted access; C. a supervisor card interconnected to said switching bus and comprising C1. a central arbiter, responsive to said slot request signals, for determining which of said cards to grant access to said switching bus, and for providing a grant message signal over said switching bus to said cards indicating which of said cards is granted access to said switching bus, wherein said local arbiter determines which of said port interface circuits on the selected card is granted access to said switching bus in response to said grant signal; and C2. a forwarding engine circuit which receives a data frame on said switching bus from said port interface circuit currently accessing said switching bus, and determines the destination of said data frame based upon a destination address within said data frame, and transmits said data frame over said switching bus to said plurality of port interface circuits associated with said destination address.
Claim 10
Dependent Claim 276 words
A network switch for transferring data between a plurality of network entities, the switch comprising: A. a switching bus; B. at least one card connected to said switching bus, each card comprising B1. a plurality of port interface circuits, each uniquely associated with one of the plurality of network entities for receiving data from the network entity and issuing a bus request signal when it desires access to said switching bus; B2. a local arbiter, responsive to said plurality of bus request signals, for issuing a slot request signal when at least one of said port interface circuits requests said switching bus, and for arbitrating which of said port interface circuits shall be granted access to said switching bus when said card is granted access; C. a supervisor card interconnected to said switching bus and comprising C1. a central arbiter, responsive to said slot request signals, for determining which of said cards to grant access to said switching bus, and for providing a grant message signal over said switching bus to said cards indicating which of said cards is granted access to said switching bus, wherein said local arbiter determines which of said port interface circuits on the selected card is granted access to said switching bus in response to said grant signal; and C2. a forwarding engine circuit which receives a data frame on said switching bus from said port interface circuit currently accessing said switching bus, and determines the destination of said data frame based upon a destination address within said data frame, and transmits said data frame over said switching bus to said plurality of port interface circuits associated with said destination address.
Claim 11
Dependent Claim 215 words
A network switch for transferring data between a plurality of network entities, the switch comprising: A. a switching bus; B. a plurality of port interface circuits, each uniquely associated with one of the plurality of network entities, each interface circuit comprising a first interface for receiving data from and transmitting data to its associated network entity; a second interface for receiving data from said switching bus, and for transmitting data onto said switching bus in response to a bus access granted signal; means for generating and providing a bus request signal when access to said switching bus is desired; C. a supervisor card interconnected to said switching bus, comprising means responsive to said bus request signals, for generating a bus access granted signal indicative of which of said plurality of port interface circuits may initiate transmission of data onto said switching bus; a forwarding engine circuit which receives a data frame on said switching bus from said port interface circuit which has access to said switching bus, determines the destination of said data frame based upon a frame destination address within said data frame, and transmits a command signal over said switching bus instructing said plurality of port interface circuits which are not the intended destination of said data frame to disregard said data frame.
Claim 12
Dependent Claim 215 words
A network switch for transferring data between a plurality of network entities, the switch comprising: A. a switching bus; B. a plurality of port interface circuits, each uniquely associated with one of the plurality of network entities, each interface circuit comprising a first interface for receiving data from and transmitting data to its associated network entity; a second interface for receiving data from said switching bus, and for transmitting data onto said switching bus in response to a bus access granted signal; means for generating and providing a bus request signal when access to said switching bus is desired; C. a supervisor card interconnected to said switching bus, comprising means responsive to said bus request signals, for generating a bus access granted signal indicative of which of said plurality of port interface circuits may initiate transmission of data onto said switching bus; a forwarding engine circuit which receives a data frame on said switching bus from said port interface circuit which has access to said switching bus, determines the destination of said data frame based upon a frame destination address within said data frame, and transmits a command signal over said switching bus instructing said plurality of port interface circuits which are not the intended destination of said data frame to disregard said data frame.
Claim 13
Independent Claim 149 words
A method of transmitting information within a network switch between first port interface circuit, a forwarding engine and a plurality of second port interface circuits interconnected by a switching bus, the method comprising the steps of: at the first port interface circuit, transmitting a data frame having a destination address onto the switching bus; receiving the data frame at the forwarding engine and at the plurality of second port interface circuits, such that: at the forwarding engine, generating a unique index value in response to the destination address, translating the unique index value to port select signals and transmitting the port select signals to the plurality of second port interface circuits; and at the plurality of second port interface circuits, one of retaining the data frame in response to receiving an asserted port select signal and discarding the data frame in response to receiving a non-asserted port select signal.
Claim 14
Independent Claim 149 words
A method of transmitting information within a network switch between first port interface circuit, a forwarding engine and a plurality of second port interface circuits interconnected by a switching bus, the method comprising the steps of: at the first port interface circuit, transmitting a data frame having a destination address onto the switching bus; receiving the data frame at the forwarding engine and at the plurality of second port interface circuits, such that: at the forwarding engine, generating a unique index value in response to the destination address, translating the unique index value to port select signals and transmitting the port select signals to the plurality of second port interface circuits; and at the plurality of second port interface circuits, one of retaining the data frame in response to receiving an asserted port select signal and discarding the data frame in response to receiving a non-asserted port select signal.
Claim 15
Dependent Claim 25 words
The method of claim 10, wherein said unique index value comprises a plurality of bits encoded to implement one of unicast, multicast and broadcast addressing.
Claim 16
Dependent Claim 47 words
The method of claim 10, further comprising the step, performed prior to said step of transmitting a data frame, of receiving at the first port interface circuit a bus access signal granting the first port interface circuit access to the switching bus for transmitting the data frame.
Claim 17
Dependent Claim 75 words
The method of claim 10 further comprising the step of, wherein the port interface circuits are contained on a plurality of network cards, arbitrating for access to the switching bus in accordance with a multi-level arbitration mechanism comprising a local arbiter for aggregating bus requests on behalf of selected of the port interface circuits contained on a selected network card and a central arbiter for aggregating bus requests on behalf of all the network cards.
Claim 18
Dependent Claim 116 words
The method of claim 13 wherein the step of arbitrating comprises the steps of: issuing encoded port request signals from the selected port interface circuits to the local arbiter; examining, at the local arbiter, all of the issued port request signals; asserting, at the local arbiter, bus request signals for reception by the central arbiter; at the central arbiter, providing a grant message to the local arbiter of the selected network card in response to the asserted bus request signals, the grant message allowing bus access by the selected network card for a current bus transaction; and allocating bus access from the local arbiter to the first port interface circuit in response to the grant message.
Claim 19
Dependent Claim 38 words
The method of claim 14 wherein the step of issuing encoded port request signals comprises the step of subscribing to a particular priority level by asserting priority request signals encoded to represent a plurality of port request states.
Claim 20
Dependent Claim 24 words
The method of claim 15 wherein the step of examining comprises the step of organizing the issued port request signals according to priority levels.
Claim 21
Dependent Claim 28 words
The method of claim 16 wherein the grant message comprises at least one signal identifying the selected network card and at least one signal identifying the priority level.
Claim 22
Dependent Claim 26 words
The method of claim 14 wherein the step of allocating comprises the step of allocating bus access to other port interface circuits in a round-robin manner.
Claim 23
Dependent Claim 36 words
The method of claim 14 further comprising the step of, at the local arbiter, informing the central arbiter to allocate the bus to a next selected network card prior to completion of the current bus transaction.
Claim 24
Dependent Claim 58 words
The method of claim 19 further comprising the steps of: at the central arbiter, granting bus access to the next selected network card in response to the step of informing; and at the local arbiter, waiting until the current bus transaction is complete before granting bus access to another port interface circuit of the next selected network card.
Claim 25
Dependent Claim 118 words
A switching bus architecture that facilitates transfer of data within a network switch having a plurality of ports contained on cards interconnected by a switching bus, the architecture comprising: a plurality of port interface circuits that pass data to and from the switching bus, each port interface circuit controlling an associated port and appending a header portion to the data passed through the port to the bus; and a forwarding engine cooperating with the port interface circuits to generate a unique index for translation to a port select signal in response to the header portion of the data, the port select signal selecting a port of a card as a destination for the data transferred over the bus.
Claim 26
Dependent Claim 118 words
A switching bus architecture that facilitates transfer of data within a network switch having a plurality of ports contained on cards interconnected by a switching bus, the architecture comprising: a plurality of port interface circuits that pass data to and from the switching bus, each port interface circuit controlling an associated port and appending a header portion to the data passed through the port to the bus; and a forwarding engine cooperating with the port interface circuits to generate a unique index for translation to a port select signal in response to the header portion of the data, the port select signal selecting a port of a card as a destination for the data transferred over the bus.

References Cited (Backward Citations)

US4862451A Cited
US4885741A Cited
US4993019A Cited
US5394402A Cited
US5581553A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-17 2002-02-16 2002-08-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-17 2006-02-16 2006-08-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-17 2010-02-16 2010-08-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag