The invention relates generally to switching networks, and more particularly, to multi-stage switching networks.
Numerous designs exist for switching fabrics or networks. A switching fabric provides for the set up and release of connections between transmission channels in a dynamic manner or on an “as-needed basis”. A switching fabric may be designed as an array of crosspoints, each crosspoint providing a connection from a transmission input directly to a transmission output through the associated crosspoint. The switching crosspoints are organized in stages. The switch fabric may include one or more stages. A one-to-one correspondence exists between an input and output pair, and a switching crosspoint, for a single stage switching fabric. Alternatively, an input may be connected to an output through multiple crosspoints or switching stages. A stage of a multi-stage switching fabric provides connectivity between an input group of transmission inputs and an output group of transmission outputs. The input group or output group or both may represent connections internal to the switching fabric, and thus interconnect the stages of the switching fabric in contrast to transmission inputs and outputs of the overall switching fabric. Switching fabrics having multiple stages have been discussed in Digital Telephony by John C. Bellamy, John Wiley & Sons, Inc.; 3rd Ed Edition (Jul. 7, 2000).
The logic layout or schematic for a multi-stage switching fabric may be segmented into sections of circuitry. Each section may then be packaged into an integrated circuit (IC) logic device. E.g. Examples of logic devices include a application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), gate arrays, application specific standard products (ASSPs), and any other similar logic devices. Typically, the logic of the switching fabric is organized and viewed as a vertical structure of columns (vertical slices), each column comprised of a plurality of switch elements. Each column represents a stage of the multi-stage switching fabric. A switching element may be viewed as a combination of multiplexers configured to allow any one of a group of transmission inputs to connect to any one of a group of transmission outputs. Typically, a set of switch elements of a column or stage are grouped for implementation into an IC or ASIC. A column or functional stage is typically implemented as one or more ASICs. The ASICs of each stage are interconnected to the ASICs of other stages to perform the logic functions of the switching fabric.
An alternative to interconnecting a group of ASICs to perform the logic functions of a switching fabric is to build one large chip or ASIC. However, as the amount of circuitry in a single ASIC increases, the cost of the ASIC also increases. The cost-to-ASIC-size relationship is generally linear until a certain ASIC size is reached, whereupon increasing the size of the ASIC dramatically increases the cost in a non-linear fashion. Thus, the packaging of the switching logic of a switch fabric into one single chip is limited by the cost of producing such a chip.
However, segmenting the switching fabric into vertical columns whereby each column is associated with a switching stage, and implementing each column or stage as a set of ASICs, also has drawbacks and inefficiencies. There may be a significant amount of switching logic in each chip or ASIC, and the ASIC logic may not be fully utilized in each stage of the multi-stage fabric. The total logic implemented in the ASICs for a switching fabric may be under utilized. Furthermore, the number of interconnections between the ASICs may be numerous and increase in complexity as the fabric size increases.
A need exists for further reduction in logic device size and logic device interconnections for implementing multi-stage switching fabrics.