Apparatus and methods related to the packaging and cabling infrastructure of a distributed switch fabric

In some embodiments, a system includes a chassis having a group of horizontal slots in which a first group of line cards is disposed and a group of vertical slots in which a second group of line cards is disposed. Each port of a line card from the first group of line cards is operatively coupled to a different line card from the second group of line cards when the system is in a first configuration. A first set of ports and a second set of ports of a line card from the first group of line cards are operatively coupled to a first line card and a second line card from the second group of line cards, respectively, when the system is in a second configuration.

BACKGROUND

Embodiments described herein relate generally to switch fabrics and more particularly, to the packaging and cabling infrastructure of switch fabrics such as Clos networks.

Clos networks are multi-stage switch networks that provide non-blocking connections between multiple input ports and multiple output ports. A non-blocking network is a network in which a data path through the network can always be established between an idle input port and an idle output port. A three-stage Clos network, for example, has a middle stage connected between an input stage and an output stage. Each stage includes multiple modules. Each input stage module has multiple input ports (n) and is operatively coupled to each middle stage module. Similarly, each output stage module has n output ports and is connected to each middle stage module.

Multiple connections are used to operatively couple the middle stage modules between the input stage modules and the output stage modules. Some known Clos networks use cables to connect the modules. Such cabling can be complex, unorganized and thus, difficult to properly connect and maintain. Other known Clos networks use a midplane disposed between line cards associated with the input stage and the output stage, and line cards associated with the middle stage. In such Clos networks, every position on the midplane to which a line card associated with the middle stage can be coupled includes a line card associated with the middle stage. Accordingly, in switch fabrics that do not use the full capacity of the switch fabric, many middle stage line cards remain underutilized. Such underutilized line cards can take up space, can increase power usage and can be costly.

Thus, a need exists for a switch fabric that is easily connected and maintained. Additionally, a need exists for a switch fabric that can properly and easily be scaled to include the number of switch fabric modules actually used.

SUMMARY

In some embodiments, a system includes a chassis having a group of horizontal slots in which a first group of line cards is disposed and a group of vertical slots in which a second group of line cards is disposed. Each port of a line card from the first group of line cards is operatively coupled to a different line card from the second group of line cards when the system is in a first configuration. A first set of ports and a second set of ports of a line card from the first group of line cards are operatively coupled to a first line card and a second line card from the second group of line cards, respectively, when the system is in a second configuration.

DETAILED DESCRIPTION

In some embodiments, a system includes a chassis, a first group of line cards, and a second group of line cards. The chassis includes a first portion and a second portion. The first portion defines a group of horizontal slots and the second portion defines a group of vertical slots. The first group of line cards is disposed within the group of horizontal slots. Each line card from the group of line cards has multiple ports and a depth substantially similar to a depth of the chassis. The second group of line cards is disposed within the vertical slots. Each line card from the second group of line cards has multiple ports. Each port of a line card from the first group of line cards is operatively coupled to a different line card from the second group of line cards when the system is in a first configuration. A first set of ports of a line card from the first group of line cards is operatively coupled to a first line card from the second group of line cards and a second set of ports of the line card from the first group of line cards is operatively coupled to a second line card from the second group of line cards when the system is in a second configuration. The first set of ports and the second set of ports are mutually exclusive.

With multiple configurations, a user or system administrator can tailor the system to meet their specific requirements without wasting and/or underutilizing resources. If the user uses greater connectivity, the user can operate the system in the first configuration. If the user uses less connectivity, the user can operate the system in the second configuration. Reconfiguring the system between the first configuration and the second configuration can be accomplished by adding line cards to and/or removing line cards from an existing chassis.

In some embodiments, a system includes a chassis, a first line card, a second line card and a third line card. The chassis defines a set of horizontal slots and a set of vertical slots. The first line card is disposed within a horizontal slot from the set of horizontal slots and has multiple ports. The first line card is associated with a first stage and a third stage of a multi-stage switch. The second line card is disposed within a first vertical slot from the set of vertical slots and has multiple ports. The third line card is disposed within a second vertical slot from the plurality of vertical slots, the third line card having a plurality of ports, the second line card and the third line card being associated with a second stage of the multi-stage switch. A first port from the multiple ports of the first line card is operatively coupled to a port from the multiple ports of the second line card via a first cable and a second port from the multiple ports of the first line card is operatively coupled to a port from the multiple ports of the third line card via a second cable.

Disposing the first line card perpendicular to the second line card and the third line card simplifies the cabling, as described in further detail herein. In some embodiments, for example, the cables operatively coupling the line cards can be shorter because of the perpendicular relationship between the line cards. In some embodiments, the first port from the multiple ports of the first line card can be substantially aligned with a port from the second line card to which the first port from the multiple ports of the first line card is coupled. Additionally, in such embodiments, the second port from the multiple ports of the first line card can be substantially aligned with a port from the third line card to which the second port from the multiple ports of the first line card is coupled. This alignment further simplifies the cabling by reducing and/or eliminating the number of cables that are crossed when the system is fully connected.

In some embodiments, an apparatus includes a chassis and a set of line cards. The chassis has a first portion defining a set of horizontal slots and a second portion defining a set of vertical slots. The first portion and the second portion are mutually exclusive. The set of line cards are associated with a multi-stage switch having a first configuration and a second configuration. A first line card from the set of line cards includes multiple ports, is associated with a first stage and a final stage of the multi-stage switch, and is disposed within a horizontal slot from the set of horizontal slots when the multi-stage switch is in the first configuration and the second configuration. A second line card from the set of line cards is disposed within a first vertical slot from the set of vertical slots and a third line card from the set of line cards is disposed within a second vertical slot from the set of vertical slots when the multi-stage switch is in the first configuration and the second configuration. The second line card and the third line card are associated with a second stage of the multi-stage switch. A fourth line card from the set of line cards being disposed within a third vertical slot from the set of vertical slots and a fifth line card from the set of line cards being disposed within a fourth vertical slot from the set of vertical slots when the multi-stage switch is in the second configuration. The fourth line card and the fifth line card are associated with a second stage of the multi-stage switch. A first set of ports from the multiple ports are operatively coupled to the second line card and a second set of ports from the multiple ports are operatively coupled to the third line card via a set of cables when the multi-stage switch is in the first configuration. A first subset of ports from the first set of ports is operatively coupled to the second line card, a first subset of ports from the second set of ports is operatively coupled to the third line card, a second subset of ports from the first set of ports is operatively coupled to the fourth line card and a second subset of ports from the second set of ports is operatively coupled to the fifth line card when the multi-stage switch is in the second configuration.

As used herein, a switch fabric system can be a system that includes a switch fabric and devices coupled to the switch fabric. In some embodiments, for example, a switch fabric system can include multiple input/output modules (e.g., an edge device, an access switch, etc.) operatively coupled to the switch fabric such that the input/output modules can send data to and receive data from the switch fabric. Additionally, in some embodiments, the switch fabric system can include peripheral devices (e.g., servers, storage devices, gateways, workstations, etc.) operatively coupled to the input/output modules such that the peripheral devices can send data to and receive data from the switch fabric via the input/output modules. In such embodiments, for example, a first peripheral device can send data to a second peripheral device via the input/output modules and the switch fabric, as described in further detail herein.

As used herein, a switch fabric can be a network that includes multiple stages of switches that operatively connect one or more input devices (e.g., a first edge device) with one or more output devices (e.g., a second edge device). A switch fabric can be configured to receive a signal from an input device, forward the signal through the multiple stages of switches, and output the signal to an output device. Each switch of the multiple stages of switches routes the signal such that the signal arrives at its destination. Such a switch fabric can be referred to, for example, as a Clos network.

As used herein, a module that is within a switch fabric can be any assembly and/or set of operatively coupled electrical components that defines one or more switches within a stage of a switch fabric. An input/output module (e.g., an edge device, an access switch, etc.) can be any assembly and/or set of operatively coupled electrical components configured to send data to and/or receive data from a switch fabric. In some embodiments, for example, an input/output module can be an access switch or an edge device configured receive data from a server, prepare data to enter into the switch fabric, and send the data to the switch fabric. In some embodiments, a module can include, for example, a memory, a processor, electrical traces, optical connectors, and/or the like.

As used in this specification, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, the term “a module” is intended to mean a single module or a combination of modules.

The terms “first stage”, “second stage” and so on refer to portions, modules or nodes within a switch fabric. In some instances, these terms refer to a specific stage within a given switch fabric. For example, a three-stage Clos network includes three consecutive stages from ingress to egress; such a switch fabric has three stages that can be referred to as the “first stage” (the first stage with respect to the ingress to egress direction) through the “third stage” (the third and final stage with respect to the ingress to egress direction). For example,FIGS. 1-9refer to specific stages within a given switch fabric. In other instances, however, the terms “first stage”, “second stage” and so on refer to any stage within the stage fabric and correspond to the order of discussion of a given stage. For example, the “first stage” can refer to the first stage discussed and can correspond to any stage within the switch fabric (e.g., the third stage within a three-stage Clos network), and the “second stage” can refer to a remaining stage within the switch fabric (e.g., the second stage within the three-stage Clos network). Thus, it should be understood that the specific context will indicate whether the terms “first stage”, “second stage” and so on can refer to a specific ordinal stage within a switch fabric or can refer to any particular stage within the switch fabric.

FIG. 1is a schematic illustration of a switch fabric100, according to an embodiment. Switch fabric100is a three-stage, non-blocking Clos network and includes a first stage140, a second stage142, and a third stage144. The first stage140includes modules112. Each module112of the first stage140is an assembly of electronic components and circuitry. In some embodiments, for example, each module is an application-specific integrated circuit (ASIC). In other embodiments, multiple modules are contained on a single ASIC or a single chip package. In still other embodiments, each module is an assembly of discrete electrical components.

In some embodiments, each module112of the first stage140is a switch (e.g., a packet switch, a frame switch and/or a cell switch). The switches are configured to redirect data (e.g., data packets, data cells, etc.) as it flows through the switch fabric100. In some embodiments, for example, each switch includes multiple input ports operatively coupled to write interfaces on a memory buffer (not shown inFIG. 1). Similarly, a set of output ports are operatively coupled to read interfaces on the memory buffer. In some embodiments, the memory buffer can be a shared memory buffer implemented using on-chip static random access memory (SRAM) to provide sufficient bandwidth for all input ports to write one incoming cell (e.g., a portion of a data packet) or data packet per time period (e.g., one or more clock cycles) and all output ports to read one outgoing cell or data packet per time period. Each switch operates similar to a crossbar switch that can be reconfigured subsequent each time period.

In alternate embodiments, each module of the first stage is a crossbar switch having input bars and output bars. Multiple switches within the crossbar switch connect each input bar with each output bar. When a switch within the crossbar switch is in an “on” position, the input is operatively coupled to the output and data can flow. Alternatively, when a switch within the crossbar switch is in an “off” position, the input is not operatively coupled to the output and data cannot flow. Thus, the switches within the crossbar switch control which input bars are operatively coupled to which output bars.

Each module112of the first stage140includes a set of input ports160configured to receive data (e.g., a signal, a cell of a packet, a data packet, etc.) as it enters the switch fabric100. In this embodiment, each module112of the first stage140includes the same number of input ports160.

Similar to the first stage140, the second stage142of the switch fabric100includes modules114. The modules114of the second stage142are structurally similar to the modules112of the first stage140. Each module114of the second stage142is operatively coupled to each module112of the first stage140by a data path120. Each data path120between a given module112of the first stage140and a given module114of the second stage142is configured to facilitate data transfer from the modules112of the first stage140to the modules114of the second stage142.

The data paths120between the modules112of the first stage140and the modules114of the second stage142can be constructed in any manner configured to facilitate data transfer from the modules112of the first stage140to the modules114of the second stage142. In some embodiments, for example, the data paths120are optical or electrical connectors (e.g., cables) between the modules. In other embodiments, the data paths are within a midplane. Such a midplane can be similar to that described in U.S. application Ser. No. 12/345,500, filed Dec. 29, 2008, and entitled “System Architecture for a Scalable and Distributed Multi-Stage Switch Fabric,” which is incorporated herein by reference in its entirety. Such a midplane can be used to connect each module of the second stage with each module of the first stage. In still other embodiments, two or more modules are contained within a single chip package and the data paths are electrical traces.

In some embodiments, the switch fabric100is a non-blocking Clos network. Thus, the number of modules114of the second stage142of the switch fabric100varies based on the number of input ports160of each module112of the first stage140. In a rearrangeably non-blocking Clos network (e.g., a Benes network), the number of modules114of the second stage142is greater than or equal to the number of input ports160of each module112of the first stage140. Thus, if n is the number of input ports160of each module112of the first stage140and m is the number of modules114of the second stage142, m≧n. In some embodiments, for example, each module of the first stage has five input ports. Thus, the second stage has at least five modules. All five modules of the first stage are operatively coupled to all five modules of the second stage by data paths. Said another way, each module of the first stage can send data to any module of the second stage.

The third stage144of the switch fabric100includes modules116. The modules116of the third stage144are structurally similar to the modules112of the first stage140. The number of modules116of the third stage144is typically equivalent to the number of modules112of the first stage140. Each module116of the third stage144includes output ports162configured to allow data to exit the switch fabric100. Each module116of the third stage144includes the same number of output ports162. Further, the number of output ports162of each module116of the third stage144is typically equivalent to the number of input ports160of each module112of the first stage140.

Each module116of the third stage144is connected to each module114of the second stage142by a data path124. The data paths124between the modules114of the second stage142and the modules116of the third stage144are configured to facilitate data transfer from the modules114of the second stage142to the modules116of the third stage144.

The data paths124between the modules114of the second stage142and the modules116of the third stage144can be constructed in any manner configured to facilitate data transfer from the modules114of the second stage142to the modules116of the third stage144. In some embodiments, for example, the data paths124are optical or electrical connectors (e.g., cables) between the modules. In other embodiments, the data paths are within a midplane. Such a midplane can be used to connect each module of the second stage with each module of the third stage. In still other embodiments, two or more modules are contained within a single chip package and the data paths are electrical traces.

FIGS. 2 and 3show a rear view and a front view of a chassis200, respectively, according to another embodiment. The chassis200houses a switch fabric, functionally similar to the switch fabric100shown and described above in relation toFIG. 1. The chassis200includes a first portion210, a second portion220and a third portion230. The third portion230is disposed between the first portion210and the second portion220.

The first portion210of the chassis200defines multiple slots212. Each slot212is configured to receive and hold a line card214in a horizontal configuration. The slots212can be any suitable size. In some embodiments, for example, each slot is 1 rack unit (1U). In other embodiments, the slots have a size of greater than 1U (e.g., 2U, 4U, etc.). In still other embodiments, each slot has a size of less than 1U.

The line cards214are sized to fit into the slots212. As such, the line cards214have a width substantially similar to a width of the chassis200(e.g., distance between the front (FIG. 3) to the back (FIG. 2) of the chassis200). In some embodiments, each line card214is a 1U line card. In other embodiments, each line card has a size greater than 1U (e.g., 2U, 4U, etc.). In still other embodiments, each line card has a size of less than 1U.

Each line card214includes multiple front ports218(FIG. 3), multiple rear ports216(FIG. 2) and at least one switching module (not shown inFIGS. 2 and 3) associated with a first stage and a third stage of the switch fabric. The front ports218can be any suitable ports configured to operatively couple the line cards214to edge devices (not shown inFIGS. 2 and 3). In some embodiments the front ports218can be optical or electrical interface sockets such as, for example, small form-factor pluggable (SFP, SFP+, etc.) transceivers, quad small form-factor pluggable (QSFP) transceivers, CXP transceivers and/or the like. The edge devices to which the front ports218are coupled are configured to couple peripheral devices to the switch fabric, as described in further detail herein. Such peripheral devices can be, for example, servers, storage devices, gateways, workstations, and/or the like.

The rear ports216are configured to be coupled to the rear ports238of the line cards234associated with a second stage of the switch fabric, as described in further detail herein. The rear ports216are structurally similar to the front ports218. As such, the rear ports216can be optical or electrical interface sockets such as, for example, small form-factor pluggable (SFP, SFP+, etc.) transceivers, quad small form-factor pluggable (QSFP) transceivers, CXP transceivers and/or the like. While shown inFIGS. 2 and 3as having sixteen front ports218and eight rear ports216, in other embodiments, each line card214can have any suitable number of front ports and/or rear ports.

The second portion220of the chassis200is structurally and functionally similar to the first portion210. As such, the second portion220defines multiple slots222, each configured to receive and hold a line card224in a horizontal configuration. As such, each line card224is configured to be disposed within the chassis200such that it is positioned substantially parallel to the line cards214.

The line cards224are structurally and functionally similar to the line cards214. As such, each line card includes multiple front ports228(FIG. 3) configured to operatively couple the line card224with an edge device, multiple rear ports226(FIG. 2) configured to operatively couple the line card224with a line card associated with the second stage of the switch fabric, and at least one module associated with the first stage and the third stage of the switch fabric.

The third portion230of the chassis200defines multiple slots232. Each slot232is configured to receive and hold a line card234in a vertical configuration. As such, each line card234is configured to be disposed within the chassis200such that it is positioned substantially perpendicular to the line cards214and the line cards224. Similarly stated, a longitudinal axis defined by each slot232defines a substantially right angle with a longitudinal axis defined by each slot212and222.

The slots232can be any suitable size. In some embodiments, for example, each slot is 1 rack unit (1U). In other embodiments, the slots have a size of greater than 1U (e.g., 2U, 4U, etc.). In still other embodiments, each slot has a size of less than 1U. In some embodiments, each slot232defines a volume substantially similar to a volume defined by the slots212and/or the slots222.

The line cards234are sized to fit into the slots232. As such, the line cards234have a width substantially similar to a width of the chassis200(e.g., distance between the front (FIG. 3) to the back (FIG. 2) of the chassis200). In some embodiments, each line card234is a 1U line card. In other embodiments, each line card has a size greater than 1U (e.g., 2U, 4U, etc.). In still other embodiments, each line card has a size of less than 1U.

Each line card234includes multiple front ports236(FIG. 3), multiple rear ports238(FIG. 2) and at least one switching module (not shown inFIGS. 2 and 3) associated with a second stage of the switch fabric. The rear ports238can be any suitable ports configured to operatively couple the line cards234to the rear ports216of the line cards214and the rear ports226of the line cards224associated with the first stage and the third stage of the switch fabric. In some embodiments the rear ports238can be optical or electrical interface sockets such as, for example, small form-factor pluggable (SFP, SFP+, etc.) transceivers, quad small form-factor pluggable (QSFP) transceivers, CXP transceivers and/or the like.

The front ports236can be structurally similar to the rear ports216of the line cards214or the rear ports226of the line cards224. In some embodiments, the front ports236are left uncoupled as they are unnecessary for operation. Having a line card234with multiple front ports236allows multiple instances of a single line card to be used for the line cards214, the line cards224and the line cards234, as described in further detail herein. In other embodiments, the line cards234do not include front ports.

The rear ports216,226of the line cards214and the line cards224are configured to be coupled to the rear ports238of the line cards234using optical and/or electrical cables240. In some embodiments, for example, the cables240can be passive twinaxial copper cables, active twinaxial copper cables having electronic signal repeaters, optical fibers and/or the like. For clarity,FIG. 2does not show all of the cables240between the line cards214,224and the line cards234.

Each line card214,224is coupled to each line card234(again,FIG. 2shows some cables240for clarity, but it should be understood that more cables are present such that each line card214,224is coupled to each line card234). Additionally, because each line card214,224includes eight rear ports216,226and eight line cards234are disposed within the middle portion230of the chassis200, each rear port216of a line card214is operatively coupled to a different line card234and each rear port226of a line card224is operatively coupled to a different line card234. The perpendicular relationship of the line cards214,224to the line cards234simplifies the cabling, as described in further detail herein.

As shown inFIG. 2, a first port216aof a line card214adisposed in a first slot212a(e.g., a top most slot) of the first portion210is operatively coupled to a first port238aof a line card234adisposed in a first slot232aof the third portion230. Similarly, the first port216bof a line card214bdisposed in a second slot212b(e.g., the second to the top most slot) is operatively coupled to a second port238bof the line card234adisposed in the first slot232a. The first ports of the other line cards214(e.g., the other six line cards214) are coupled to the line card234adisposed in the first slot232ain a similar manner. This takes up eight of the sixteen ports238on the line card234a.

A first port226aof a line card224adisposed in a first slot222a(e.g., the bottom most slot) of the second portion220is operatively coupled to a sixteenth port238cof the line card234adisposed in the first slot232aof the third portion230. Similarly, the first port226bof a line card224bdisposed in a second slot222b(e.g., the second to the bottom most slot) is operatively coupled to a fifteenth port238dof the line card234adisposed in the first slot232a. The first ports of the other line cards224(e.g., the other six line cards224) are coupled to the line card234adisposed in the first slot232ain a similar manner. Accordingly, the first port216of the eight line cards214in the first portion210and the first port226of the eight line cards224in the second portion220are operatively coupled to one of the sixteen rear ports238of the line card234adisposed in the first slot232a.

The second port216,226of each line card214,224through the eighth port216,226of each line card214,216are operatively coupled to the second line card234to the eighth line card234, respectively. This configuration simplifies the cabling by reducing the number of cables240that are crossed when being coupled between the line cards214,224and the line cards234. This configuration also reduces the length of the cables240used to couple the line cards214,224to the line cards234.

In use, data is transferred from a first edge device (not shown inFIGS. 2 and 3) to a second edge device (not shown inFIGS. 2 and 3) via the switch fabric. The first edge device sends data to a switching module associated with the first stage of the switch fabric on a line card214or224via a front port218or228. The switching module associated with the first stage forwards the data to a switching module associated with a second stage of the switch fabric on a line card234via a cable240.

The switching module associated with the second stage determines how to send the data using, for example, a routing table and accordingly redirects the data to a line card214or224via a cable240. Because each line card234is operatively coupled to each line card214and224, the switching module associated with the second stage can use a routing table to ensure that the data is sent to a switching module associated with the third stage on a line card214,224that is operatively coupled to the second edge device. The data is sent to a switching module associated with the third stage on a line card214,224. The switching module associated with the third stage then sends the data to the second edge device through a front port218,228.

In some embodiments, the first edge device separates the data into separate portions (e.g., cells) and the switching module associated with the first stage forwards a portion of the data to various switching modules associated with the second stage to which the switching module associated with the first stage is operatively coupled. Each switching module associated with the second stage then determines how to send the portions of the data using, for example, a routing table and redirects the portions of the data back to a single switching module associated with the third stage. The received portions of the data are sent to the second edge device. The second edge device can then reconstruct the data from the received portions.

FIG. 4is a schematic illustration of a line card300, according to another embodiment. The line card300includes a first set of ports318, a second set of ports316, and a module system312. In some embodiments, instances of the line card300can be used as the line cards214, the line cards224and the line cards234, shown and described with respect toFIGS. 2 and 3. Using multiple instances of a single line card300reduces the costs and allows a user to easily reconfigure the system as needed.

The first set of ports318includes sixteen ports318. Each port318from the first set of ports318can be any suitable port configured to receive a cable. In some embodiments the ports318can be optical or electrical interface sockets such as, for example, small form-factor pluggable (SFP, SFP+, etc.) transceivers, quad small form-factor pluggable (QSFP) transceivers, CXP transceivers and/or the like. The second set of ports316includes eight ports316. Each port316from the second set of ports316can be structurally similar to the ports318from the first set of ports318. While shown inFIG. 4as having sixteen and eight ports respectively, in other embodiments, the first set of ports and/or the second set of ports can include any number of ports.

FIG. 5shows the module system312of the line card300in greater detail. The module system312includes switching modules342that route data through the switch fabric. The switching modules342can be associated with a first stage of the switch fabric, associated with the second stage of the switch fabric or associated with the third stage of the switch fabric, depending on the configuration of the line card300within the system. For example, if the line card300is used as a line card214or a line card224as shown and described with respect toFIGS. 2 and 3, the switching modules342can be associated with the first stage and the third stage of the switch fabric (e.g., one switching module342can be associated with the first stage and one switch module342can be associated with the third stage). If the line card300is used as a line card234, the switching modules342can be associated with the second stage of the switch fabric.

As shown inFIG. 4, the module system312is operatively coupled to each of the ports318from first set of ports318and each of the ports316from the second set of ports316. This allows the module system312to receive data from and/or send data to any of the modules and/or devices operatively coupled to the ports318,316. For example, if the line card300is used as a line card214or a line card224, each of the ports318can be similar to the front ports218(FIG. 3) and can thus be operatively coupled to an edge device via a cable. Further, each of the ports316can be similar to the rear ports216(FIG. 2) and can thus be operatively coupled to a line card234associated with the second stage of the switch fabric. Similarly, if the line card300is used as a line card234, each of the ports318can be similar to the rear ports218(FIG. 2) and can thus be operatively coupled to a line card214or a line card224. Further, each of the ports318can be similar to the front ports216(FIG. 3).

As shown inFIGS. 2 and 3, when using multiple instances of the line card300for the line cards214,224and234, the line cards214and224are positioned within the chassis200in a different orientation as the line cards234. For example, when the line card300is used as a line card214or224, the line card300is horizontally positioned within the chassis200such that the ports318of the line card300face forward (FIG. 3). Further, when the line card300is used as a line card234, the line card is vertically positioned within the chassis200such that the ports318of the line card300face rearward. Using such positioning, multiple instances of a single line card300can be used for the line cards214,224, and234.

FIG. 6is a rear view of a portion of a chassis400housing a set of line cards, according to another embodiment. The chassis400includes a first portion420and a second portion430. The first portion420is similar to the second portion220shown and described with respect toFIGS. 2 and 3. As such, the first portion420defines multiple slots422, each configured to receive and hold a line card424in a horizontal configuration (while the first portion420can include any number of slots422, for clarity, only two slots422holding line cards424are shown inFIG. 6). The second portion430is similar to the third portion230shown and described above with respect toFIGS. 2 and 3. As such, the second portion430defines multiple slots432, each configured to receive and hold a line card434in a vertical configuration.

The line cards424and the line cards434are structurally and functionally similar to the line cards224and234, respectively. Accordingly, the line cards424include ports426and the line cards434include ports438. The ports426are configured to be operatively coupled to the ports438via cables.

Each of the line cards434define a vertical axis. As shown inFIG. 6, for example, line card434adefines a first vertical axis AL1and line card434bdefines a second vertical axis AL2. Each of the ports426on the line cards424are spaced such that the ports426are substantially aligned along a vertical axis defined by a line card424. For example, the ports426aand426bare positioned such that they are substantially aligned with the first vertical axis AL1. Because the ports426aand426bare so aligned, they can be easily coupled to the ports438on the line card434a. Similarly, the ports426cand426dare positioned such that they are substantially aligned with the second vertical axis AL2. Because the ports426cand426dare so aligned, they can be easily coupled to the ports438on the line card434b. Substantially aligning the ports426with one of the vertical axes decreases the complexity and the cable length needed to operatively couple the ports426to the ports438.

FIG. 7is a rear view of a chassis500housing a set of line cards, according to another embodiment. The chassis500is structurally similar to the chassis200. As such, the chassis500is configured to house a switch fabric functionally similar to the switch fabric100, shown and described above in relation toFIG. 1. The switch fabric housed by the chassis500is in a configuration smaller than the switch fabric200shown and described above with respect toFIGS. 2 and 3. The switch fabric500can be easily upgraded from the configuration shown inFIG. 7to the configuration shown inFIGS. 2 and 3, as described in further detail herein. Similarly, the switch fabric200can be easily downgraded from the configuration shown inFIGS. 2 and 3to the configuration shown inFIG. 7.

The chassis500includes a first portion510, a second portion520, and a third portion530disposed between the first portion510and the second portion520. The first portion510of the chassis500defines multiple slots512. Each slot512is configured to receive and hold a line card514in a horizontal configuration. Similarly, the second portion520of the chassis500defines multiple slots522. Each slot522is configured to receive and hold a line card524in a horizontal configuration. Accordingly, the line cards514are configured to be disposed substantially parallel to the line cards524when disposed within the chassis500. While shown inFIG. 7as each having eight slots512,522, in other embodiments, the first portion and/or the second portion can have any number of slots.

The third portion530of the chassis defines multiple slots532. Each slot532is configured to receive and hold a line card534in a vertical configuration. Accordingly, the line cards534are configured to be disposed substantially perpendicular to the line cards514and the line cards524when disposed within the chassis500. Similarly stated, a longitudinal axis defined by each slot532is substantially perpendicular to a longitudinal axis defined by each slot512and522. While shown inFIG. 7as having eight slots532, in other embodiments, the third portion530can have any number of slots.

The line cards514,524and534are substantially similar to the line cards214,224and234, shown and described above with respect toFIGS. 2 and 3and are sized to fit into the slots512,522, and532, respectively. Each line card514,524includes multiple rear ports516,526, multiple front ports (not shown inFIG. 7), and at least one switching module (not shown inFIG. 7) associated with a first stage and a third stage of the switch fabric. The front ports can be any suitable ports configured to operatively couple the line cards514to edge devices (not shown inFIG. 7).

The rear ports516,526are configured to be coupled to the rear ports538of the line cards534associated with a second stage of the switch fabric, as described in further detail herein. While shown inFIG. 7as having eight rear ports516,526in other embodiments, each line card514,524can have any suitable number of front ports and/or rear ports.

Similarly, each line card534includes multiple front ports (not shown inFIG. 7), multiple rear ports538and at least one switching module (not shown inFIG. 7) associated with a second stage of the switch fabric. The rear ports538can be any suitable ports configured to operatively couple the line cards534to the rear ports516of the line cards514and the rear ports526of the line cards524associated with the first stage and the third stage of the switch fabric.

The front ports of each line card534can be structurally similar to the rear ports516of the line cards514or the rear ports526of the line cards524. In some embodiments, the front ports are left uncoupled as they are unnecessary for operation. Having a line card534with multiple front ports allows multiple instances of a single line card to be used for the line cards514, the line cards524and the line cards534. In other embodiments, the line cards534do not include front ports.

The rear ports516,526of the line cards514and the line cards524are configured to be coupled to the rear ports538of the line cards534using optical and/or electrical cables540. In some embodiments, for example, the cables540can be passive twinaxial copper cables, active twinaxial copper cables having electronic signal repeaters, optical fibers and/or the like. For clarity,FIG. 7does not show all of the cables540between the line cards514,524and the line cards534.

As shown inFIG. 7, each line card514,524is coupled to each line card534(again,FIG. 7shows some cables for clarity, but it should be understood that more cables540are present such that each line card514,524is coupled to each line card534). Because each line card514,524includes eight rear ports516,526and four line cards534are disposed within the middle portion530of the chassis500, two rear ports516of each line card514are operatively coupled to each line card534and two rear ports526of a each line card524are operatively coupled to a different line card534. The perpendicular relationship of the line cards514,524to the line cards534simplifies the cabling, as described in further detail herein.

As shown inFIG. 7, a first port516aof a line card514adisposed in a first slot512a(e.g., the top most filled slot) of the first portion510is operatively coupled to a first port538aof a line card534adisposed in a first slot532aof the third portion530. Similarly, the second port516bof the line card514ais operatively coupled to a second port538bof the line card534adisposed in the first slot532a. The first and second ports of the other line cards514(e.g., the other three line cards514) are coupled to the line card534adisposed in the first slot532ain a similar manner. This takes up eight of the sixteen ports538on the line card534a.

A first port526aof a line card524adisposed in a first slot522a(e.g., the bottom most filled slot) of the second portion520is operatively coupled to a fifteenth port538cof the line card534adisposed in the first slot532aof the third portion530. Similarly, the second port526bof the line card524bis operatively coupled to a sixteenth port538dof the line card534adisposed in the first slot532a. The first and second ports526of the other line cards524(e.g., the other three line cards524) are coupled to the line card534adisposed in the first slot532ain a similar manner. Accordingly, the first and second ports516of the four line cards514in the first portion510, and the first port and second ports526of the four line cards524in the second portion520, are operatively coupled to two of the sixteen rear ports538of the line card534adisposed in the first slot532a.

The third and fourth rear ports516,526, the fifth and sixth rear ports516,526, and the seventh and eighth rear ports516,526of each line card514,524are operatively coupled to the second line card534, the third line card534and the fourth line card534, respectively. This configuration simplifies the cabling by reducing the number of cables540that are crossed when being coupled between the line cards514,524and the line cards534. This configuration also reduces the length of the cables240used to couple the line cards514,524to the line cards534.

The configuration of the switch fabric within the chassis500shown and described with respect toFIG. 7can be upgraded to the configuration of the switch fabric within the chassis200shown and described with respect toFIGS. 2 and 3. As shown inFIG. 7, the first portion510includes four slots512in which line cards514are not disposed. In upgrading the switch fabric to the configuration shown inFIGS. 2 and 3, a line card514is inserted into each empty slot512. Similarly, the second portion520and the third portion530each include four slots522,532in which line cards524,534are not disposed. In upgrading the switch fabric to the configuration shown inFIGS. 2 and 3, a line card524,534is inserted into the empty slots522,532. Thus, a total of eight line cards514,524,534are disposed within the slots512,522,532of each of the first portion510, the second portion520and the third portion530, respectively.

After the slots512,522,532, of the chassis500are filled, the cables540can be reconfigured to resemble the cabling configuration shown inFIG. 2. After the cables540have been reconfigured, the switch fabric within the chassis500is in the configuration of the switch fabric within the chassis200shown and described with respect toFIGS. 2 and 3.

In some embodiments, the upgrade of the switch fabric from the configuration ofFIG. 7to the configuration ofFIGS. 2 and 3can occur while maintaining operation of the switch fabric. In such embodiments, reconfiguring the cables540occurs incrementally. For example, the cables540coupled to the line card514acan be reconfigured while the other line cards514,524,534are in operation. Similarly, the line card514acan be in operation (e.g., in the upgraded configuration (FIGS. 2 and 3) while the other cables540and line cards524,524,534are reconfigured. This allows for little to no downtime when upgrading the switch fabric.

Once in the configuration ofFIGS. 2 and 3, the switch fabric can be operatively coupled to twice as many edge devices because the switch fabric includes twice as many line cards214,224. This allows a greater number of peripheral devices to be operatively coupled to the switch fabric. Accordingly, a greater number of peripheral devices can send data to each other across the switch fabric.

The configuration of the switch fabric within the chassis200(FIGS. 2 and 3) can similarly be downgraded to the configuration of the switch fabric within the chassis500(FIG. 7) depending on the requirements of the switch fabric. Thus, if the connectivity requirements of the switch fabric decreases, the switch fabric can be downgraded to include the optimal number of line cards. Additionally, the upgraded or downgraded switch fabric can use the same chassis as the original system. Thus, upgrading and/or downgrading the switch fabric can easily occur any number of time throughout the life of the switch fabric as the connectivity requirements of the switch fabric varies.

While shown inFIGS. 2,3and7as being upgradable between having four line cards514, four line cards524and four line cards534, and having eight line cards214, eight line cards224and eight line cards234, the switch fabric can be upgraded and/or downgraded to include any number of line cards depending on the connectivity requirements of the switch fabric. In some embodiments, for example, the switch fabric can include two line cards in each portion of the chassis. In other embodiments, the switch fabric can include sixteen line cards in each portion of the chassis.

FIG. 8is a rear view of a chassis600housing a set of line cards, according to another embodiment. The chassis600includes a first portion610having multiple horizontal slots, a second portion620having multiple horizontal slots620and a third portion630having multiple horizontal slots. The chassis600is shown inFIG. 8as having two line cards614disposed within the first portion610, two line cards624disposed within the second portion620and two line cards634disposed within the third portion630.

The line cards614,624and634are substantially similar to the line cards214,224and234, shown and described above with respect toFIGS. 2 and 3. As such, each line card614,624,634includes multiple rear ports616,626,638, multiple front ports (not shown inFIG. 8), and at least one switching module (not shown inFIG. 8) associated with a stage of the switch fabric.

As shown inFIG. 8, each line card614,624is coupled to each line card634. Because each line card614,624includes eight rear ports616,626and two line cards634are disposed within the middle portion630of the chassis600, four rear ports616,626of each line card614,624are operatively coupled to each line card634. For clarity,FIG. 8does not show all of the cables640disposed between the line cards614,624and the line cards634. Similar to the other embodiments shown and described herein, the switch fabric within the chassis600can be upgraded and/or downgraded as needed by adding and/or removing line cards614,624,634and cables640from the chassis600.

FIG. 9is a flow chart illustrating a method700of upgrading a switch fabric system, according to another embodiment. The method includes installing a first line card in a horizontal slot within a first portion of a chassis within a first time period, at702. The first line card has multiple ports and is associated with a first stage and a final stage of a switch fabric. In some embodiments, the chassis can be similar to the chassis200shown and described with respect toFIGS. 2 and 3. Similarly, the first line card can be similar to the line card300shown and described with respect toFIGS. 4 and 5.

A second line card is installed in a first vertical slot within a second portion of the chassis within the first time period, at704. The second line card is associated with a middle stage of the switch fabric. A third card is installed in a second vertical slot within the second portion of the chassis within the first time period, at706. The third line card is associated with the middle stage of the switch fabric. In some embodiments, the second line card and the third line card are substantially similar to the first line card. In such embodiments, for example, the first line card, the second line card and the third line card can be multiple instances of a line card.

A first set of the multiple ports is operatively coupled to the second line card and a second set of the multiple ports is operatively coupled to the third line card using a set of cables within the first time period, at708. The switch fabric is in a first configuration after the first time period and before the second time period.

A fourth line card is installed in a third vertical slot within the second portion of the chassis within the second time period, at710. The fourth line card is associated with the middle stage of the switch fabric. A fifth line card is installed in a fourth vertical slot within the second portion of the chassis within the second time period, at712. The fifth line card is associated with the middle stage of the switch fabric. In some embodiments, the fourth line card and the fifth line card are substantially similar to the first line card.

A first subset of the first set of the multiple ports is operatively coupled to the second line card, a first subset of the second set of the multiple ports is operatively coupled to the third line card, a second subset of the first set of the multiple ports is operatively coupled to the fourth line card, and a second subset of the second set of the multiple ports is operatively coupled to the fifth line card using the set of cables within the second time period, at714. The switch fabric is in a second configuration after the second time period. In some embodiments, the switch fabric can maintain operation during the second time period.

In some embodiments, the second configuration can be an upgraded configuration from the first configuration. In such embodiments, additional edge devices can be operatively coupled to the switch fabric when in the second configuration. In some embodiments, the switch fabric can be downgraded from the second configuration to the first configuration as the connectivity requirements of the switch fabric are reduced.

In some embodiments, the switch fabric can include more than a single chassis. In such embodiments, a first portion of the switch fabric can be disposed within a first chassis and a second portion of the switch fabric can be disposed within a second chassis. The line cards of the first portion can be operatively coupled to the line cards of the second portion in any suitable manner. For example, optical and/or electrical cables can be used to operatively couple the line cards of the first portion to the line cards of the second portion. In other embodiments, a wireless connection can be used to operatively couple the line cards.

While shown and described above as being a three-stage switch fabric, in other embodiments, the switch fabric can include any number of stages. In some embodiments, for example, the switch fabric can be a five stage switch fabric similar to the switch fabric shown and described in U.S. patent application Ser. No. 12/345,500, filed on Dec. 29, 2008, and entitled “System Architecture for a Scalable and Distributed Multi-Stage Switch Fabric,” and co-pending U.S. patent application Ser. No. 12/345,502, filed on Dec. 29, 2008, and entitled “Methods and Apparatus Related to a Modular Switch Architecture,” each of which is incorporated herein by reference in its entirety. Such a five stage switch fabric can be disposed within any number of chassis and can be upgraded and/or downgraded as needed.

In some embodiments, for example, a chassis housing a five-stage switch fabric can include five portions: two portions housing line cards associated with the first stage and the fifth stage of the switch fabric, two portions housing line cards associated with the second stage and the fourth stage of the switch fabric, and a portion housing line cards associated with the third stage of the switch fabric. Each portion of the chassis housing line cards associated with the second stage and the fourth stage can be disposed between one of the portions housing line cards associated with the first stage and the fifth stage and the portion housing line cards associated with the third stage. To simplify the cabling, the portions housing the line cards associated with the first stage and the fifth stage and the portion housing the line cards associated with the third stage of can be disposed in horizontal slots within the chassis while the line cards associated with the second stage and the fourth stage can be disposed within vertical slots within the switch fabric. In other embodiments, the switch fabric can include any other number of stages such as seven, nine or eleven stages.

Some embodiments described herein relate to a computer storage product with a computer- or processor-readable medium (also can be referred to as a processor-readable medium) having instructions or computer code thereon for performing various computer-implemented operations. The media and computer code (also can be referred to as code) may be those designed and constructed for the specific purpose or purposes. Examples of computer-readable media include, but are not limited to: magnetic storage media such as hard disks, floppy disks, and magnetic tape; optical storage media such as Compact Disc/Digital Video Discs (CD/DVDs), Compact Disc-Read Only Memories (CD-ROMs), and holographic devices; magneto-optical storage media such as optical disks; carrier wave signal processing modules; and hardware devices that are specially configured to store and execute program code, such as general purpose microprocessors, microcontrollers, Application-Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs), and Read-Only Memory (ROM) and Random-Access Memory (RAM) devices.

Examples of computer code include, but are not limited to, micro-code or micro-instructions, machine instructions, such as produced by a compiler, code used to produce a web service, and files containing higher-level instructions that are executed by a computer using an interpreter. For example, embodiments may be implemented using Java, C++, or other programming languages (e.g., object-oriented programming languages) and development tools. Additional examples of computer code include, but are not limited to, control signals, encrypted code, and compressed code.

Although various embodiments have been described as having particular features and/or combinations of components, other embodiments are possible having a combination of any features and/or components from any of embodiments where appropriate. For example, any suitable number of line cards having any suitable number of ports can be disposed within a chassis. Such line cards can be coupled to each other in any suitable manner (e.g., using cables, a backplane, a midplane, etc.).