Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
AssigneeBroadcom Corporation
InventorsAlistair D. Black, Kurt Chan
Life of this patent
Estimating the term…
Loading patent…
AssigneeBroadcom Corporation
InventorsAlistair D. Black, Kurt Chan
Estimating the term…
A switch, switched architecture and process for transferring data through an FCAL switch is disclosed. The switch uses multiple switch control circuits each coupled to one FCAL network and all connected to a crossbar switch. The switch control circuits are coupled together by a protocol bus for coordination purposes. Local conversations can occur on each FCAL loop and crossing conversations through the switch can occur concurrently. The OPN primitive is used to establish the connection before any data is transferred thereby eliminating the need for buffer memory in the switch control circuits. The destination address of each OPN is used to address a lookup table in each switch control circuit to determine if the destination node is local. If not, the destination is looked up and a connection request made on the protocol bus. If the remote port is not busy, it sends a reply which causes both ports to establish a data path through the backplane crossbar switch.
A bufferless switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the OPN and RRDY primitives of the FCAL protocol for hold back flow control to eliminate the need for a buffer and said ports and crossbar switch structured to provide multiple simultaneous loop tenancies.
A bufferless switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the OPN and RRDY primitives of the FCAL protocol for hold back flow control to eliminate the need for a buffer and said ports and crossbar switch structured to provide dual simplex communication across said switch.
A bufferless switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the OPN and RRDY primitives of the FCAL protocol for hold back flow control to eliminate the need for a buffer and said ports and crossbar switch structured to provide multiple simultaneous loop tenancies and dual simplex communication across said switch, each said port including a local bypass data path which can be switched to keep primitives and data frames generated on a local FCAL net coupled to said port routed so as to stay on said local FCAL net such that local loop tenancies on each local FCAL net coupled to a port which do not involve transmission of data or primitives from one port to another can occur simultaneously, and each port including local learning memory means for storing a routing table and scoreboard table, and functioning to fully cache the 8-bit addresses of all nodes on each said local FCAL net coupled to a port along with the ID of the port coupled to each node in said routing table and the busy, available or no privilege status of each other port and whether each busy port is available for dual simplex communications in said scoreboard table, each port structured to write the contents of each said routing table and scoreboard table by learning either from watching local traffic in said port bound for local destination nodes or remote traffic leaving said port and crossing said crossbar switch bound for remote destination nodes or by conducting an active discovery process, each port structured to write the contents of said scoreboard table by learning from watching messages posted on a protocol bus, each said port structured to use destination addresses in OPN primitives transmitted by nodes on said local FCAL net as search keys to search said routing table to determine whether the destination node is local or remote and to which port it is connected and, if local, to switch said local bypass to keep the loop tenancy confined to said local FCAL net, or, if remote, to generate a connection request message to said port coupled to said destination node, each said port being structured to receive such connection requests and respond by arbitrating for control of its local FCAL net and pick a data path through said crossbar switch and generate a reply message naming the data path through said crossbar switch to use in exchanging data frames and primitives, each said port also being structured to respond to receipt or generation of said reply message by generating commands to establish said data path named in said reply message through said crossbar switch, each said port also structured to circulate a fairness token on a fairness token bus coupled to all such ports and to used said fairness token to increase its priority level of access privilege to busy nodes when the fairness token is in possession of the port so that no port can be starved, and then to circulate said fairness token to a neighboring port such that all ports eventually get said fairness token.
A switch for selectively, concurrently coupling the nodes on a plurality of a Fibre Channel Arbitrated Loops together comprising:
A packet switching switch for coupling a plurality of Fibre Channel NL nodes and/or Fibre Channel Arbitrated Loop network (herafter FCAL nets) together to all concurrent data exchanges between a plurality of pairs comprised of one NL node or FCAL net and one other NL node or FCAL net, comprising:
A process for communicating data between a source node and a destination node through one or more ports of a switch in a Fibre Channel protocol network, comprising:
A packet switching switch for coupling a plurality of Fibre Channel NL nodes and/or Fibre Channel Arbitrated Loop network (herafter FCAL nets) together to all concurrent data exchanges between a plurality of pairs comprised of one NL node or FCAL net and one other NL node or FCAL net, comprising:
A packet switching switch for coupling a plurality of Fibre Channel NL nodes and/or Fibre Channel Arbitrated Loop network (herafter FCAL nets) together to all concurrent data exchanges between a plurality of pairs comprised of one NL node or FCAL net and one other NL node or FCAL net, comprising:
An apparatus comprising:
A switch for coupling a plurality of FCAL nets, comprising:
In a distributed system comprised of a plurality of nodes which are data consumers and data senders coupled by a switch and a plurality of Fibre Channel Arbitrated Loops, a process for establishing one or more concurrent data transfers between different pairs of nodes comprising the steps:
In a distributed system comprised of a plurality of nodes which are data consumers and data senders coupled by a switch and a plurality of Fibre Channel Arbitrated Loops, a process for establishing one or more concurrent data transfers between different pairs of nodes comprising the steps:
In a distributed system comprised of a plurality of nodes which are data consumers and data senders coupled by a switch and a plurality of Fibre Channel Arbitrated Loops, a process for establishing one or more concurrent data transfers between different pairs of nodes comprising the steps:
A switch for selectively, concurrently coupling the nodes on a plurality of a Fibre Channel Arbitrated Loops together comprising:
A switch for selectively coupling pairs of nodes on a plurality of FCAL nets to each other for one or more simultaneous conversations, comprising:
A bufferless switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the OPN and RRDY primitives of the FCAL protocol for hold back flow control to eliminate the need for a buffer and said ports and crossbar switch structured to provide multiple simultaneous loop tenancies during switch mode or to couple all FCAL nets together as one big FCAL net during hub mode, and wherein said switch can be switched back and forth between hub mode and switch mode by going through an intermediate locked mode.
A process for carrying out dual simplex communications in a FCAL switch coupling a plurality of FCAL nets, comprising:
A process for dual simplex communication using a switch coupling a plurality of FCAL nets, comprising:
A process for dual simplex communication using a switch coupling a plurality of FCAL nets, comprising:
A switch apparatus comprising a plurality of integrated circuits each comprising a slice of an FCAL switch and coupled together to form said FCAL switch, each integrated circuit having a plurality of port circuits, each port circuit having substantially less buffer memory to store data than prior art FL ports in prior art fabric switches, each said integrated circuit also comprising a portion of a distributed, scaleable crossbar switch such that any number of said integrated circuit slices can be coupled together to form an FCAL switch which has as many ports as are necessary for the size of network in which the switch is to be used, limited only by the available FCAL address space of 128 nodes.
A process for insuring fairness is achieved in an switch having a plurality of switch ports, each coupled to a an FCAL net having one or more nodes coupled thereto, comprising:
An FCAL buffered switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the destination address of the OPN to find the destination node and destination port and including switching circuitry coupled to said crossbar switch by by multiple paths including at least a straight through path and paths through one or more buffer memorys to exchange data frames and FCAL primitives with one or more destination nodes and structured to use one or more buffer memories to store data output by a source node destined for a destination node which has a busy status at the time the data is output by said source node, said ports and crossbar switch structured to provide multiple simultaneous loop tenancies.
An FCAL buffered switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the destination address of the OPN to find the destination node and destination port and including switching circuitry coupled to said crossbar switch by by multiple paths including at least a straight through path and paths through one or more buffer memorys to exchange data frames and FCAL primitives with one or more destination nodes and structured to use one or more buffer memories to store data output by a source node destined for a destination node which has a busy status at the time the data is output by said source node, said ports and crossbar switch structured to provide multiple simultaneous loop tenancies and said ports and crossbar switch also structured to provide dual simplex communication across said switch.
An FCAL buffered switch for coupling to a plurality of FCAL nets and having a crossbar switch and FCAL loop interface port circuits structured to use the destination address of the OPN to find the destination node and destination port and including switching circuitry coupled to said crossbar switch by by multiple paths including at least a straight through path and paths through one or more buffer memorys to exchange data frames and FCAL primitives with one or more destination nodes and structured to use one or more buffer memories to store data output by a source node destined for a destination node which has a busy status at the time the data is output by said source node, said ports and crossbar switch structured to provide multiple simultaneous loop tenancies and said ports and crossbar switch also structured to provide dual simplex communication across said switch, each said port including a local bypass data path which can be switched to keep primitives and data frames generated on a local FCAL net coupled to said port routed so as to stay on said local FCAL net such that local loop tenancies on each local FCAL net coupled to a port which do not involve transmission of data or primitives from one port to another can occur simultaneously, and each port including local learning memory means for storing a routing table and scoreboard table, and functioning to fully cache the 8-bit addresses of all nodes on each said local FCAL net coupled to a port along with the ID of the port coupled to each node in said routing table and the busy, available or no privilege status of each other port and whether each busy port is available for dual simplex communications in said scoreboard table, each port structured to write the contents of each said routing table and scoreboard table by learning either from watching local traffic in said port bound for local destination nodes or remote traffic leaving said port and crossing said crossbar switch bound for remote destination nodes or by conducting an active discovery process, each port structured to write the contents of said scoreboard table by learning from watching messages posted on a protocol bus, each said port structured to use destination addresses in OPN primitives transmitted by nodes on said local FCAL net as search keys to search said routing table to determine whether the destination node is local or remote and to which port it is connected and, if local, to switch said local bypass to keep the loop tenancy confined to said local FCAL net, or, if remote, to generate a connection request message to said port coupled to said destination node, each said port being structured to receive such connection requests and respond by arbitrating for control of its local FCAL net and pick a data path through said crossbar switch and generate a reply message naming the data path through said crossbar switch to use in exchanging data frames and primitives, each said port also being structured to respond to receipt or generation of said reply message by generating commands to establish said data path named in said reply message through said crossbar switch, each said port also structured to circulate a fairness token on a fairness token bus coupled to all such ports and to used said fairness token to increase its priority level of access privilege to busy nodes when the fairness token is in possession of the port so that no port can be starved, and then to circulate said fairness token to a neighboring port such that all ports eventually get said fairness token.
Dependencies are inferred from the claim text.