1. Field of the Invention
The present invention relates to a packet switch device for large-scale packet switching.
2. Description of the Related Art
With the explosive expansion of the Internet and with the advent of media handling large-amount or high-quality information, expectations have been running high in recent years for an improvement in a large-scale communications infrastructure that can flexibly handle a massive amount of data. Additionally, there has been a growing interest in a switch having a capacity of several hundreds of gigabytes to several terabytes, which is a key to actualization.
In this configuration, a crossbar switch is a simple switch that is positioned at a stage succeeding input buffers, and that switches on/off each intersection point in a matrix generated when input and output HWs (highways) are arranged vertically and horizontally. At the exit of the input buffers, the crossbar switch can be configured not to include buffers. Namely, input packets are grouped into packets destined for output ports #1 through #N within the input buffers, and the grouped packets are stored. A scheduler outputs, for example, the packets to be output to the output port #1 at the appropriate timing so that they do not collide within the crossbar switch.
To expand the capacity of such a crossbar switch, a method connecting HWs in multiple stages in a matrix state, and a method bit-slicing one HW and arranging switches in parallel are considered as conventional techniques.
This figure shows the configuration which achieves its object by adding crossbar switches 11-1 through 11-3 in a matrix state when a single crossbar switch 10 which originally uses 4-input and 4-output lines is expanded to be a switch using 8-input and 8-output lines. In this configuration, the expansion method is simple. However, the number of crossbar switches is squared each time the capacity is expanded, leading to a very large hardware configuration.
Assume that one M×M matrix switch is first arranged, and switching is made, for example, in units of 8-bit packets with the expansion method shown in
To further expand the capacity with the bit-slicing method shown in
With the connections of crossbar switches in multiple stages shown in
If a packet having a payload composed of 63 words having 8-bit length is switched in units of packets, one tag may be attached to this packet. Namely, in
Furthermore, the following problems exist.
An object of the present invention is to provide a large-scale packet switch device that can reduce a process overhead while preventing hardware from increasing when the capacity of the switch is expanded.
A packet switch device according to the present invention, which switches a packet, comprises: a distributing unit sequentially distributing input packets to a plurality of paths in an arrival order in units of packets; a switching unit switching a packet input from the distributing unit via the plurality of paths, and outputting the packet; and a multiplexing unit multiplexing the packet output from the switching unit by performing a process reverse to the packet distribution process performed by the distributing unit.
According to the present invention, switching is made after slicing is performed in units of packets. Therefore, a tag used for switching may be attached to each packet, thereby reducing a process overhead in comparison with the bit-slicing method attaching a tag to each bit.
Additionally, the capacity of a packet switch can be easily expanded by arranging small-capacity packet switches in parallel, which prevents useless hardware from being increased.
This figure exemplifies the case where two 4×4 crossbar switches are used. In this preferred embodiment, switching is made in units of packets. Input packets are distributed to the switches in the same order in a cyclic manner. Namely, as shown in
Within the switches, switching is made by referencing tags (numerical values written in the slots in
With the packet slicing method, only one switching tag is required for each packet, whereby an overhead can be reduced in comparison with the bit-slicing method, and the length of a packet is not varied within a packet switch device. Furthermore, even if a fault occurs in one switch, a packet passes via a different switch, thereby decreasing the influence of the fault.
Each of the switches handles the multiplexed packets output from the two HWs as a chunk, switches the packets according to the tags of the packets (for example, the order of the packets input from the input port #0 is changed by the 4×4 switch in
In this way, the number of ports of the switches can be reduced.
Unlike
In this figure, the switch circuit acts as a switch which operates at the same HW speed, and whose capacity is one half the switch shown in
The operations of this switch circuit are similar to those shown in
In the case shown in
In the meantime, in the case shown in
The circuit shown in
By way of example, if the circuit acts as the 2×2 switch that does not multiplex HWs and is shown in
If the circuit acts as the 4×4 switch that multiplexes two HWs and is shown in
If the circuit acts as the converting unit that does not multiplex HWs, the counter value is fixed to 0. The offset adding unit for the input port #0 uses a counter value unchanged as an output number. After the packet is switched according to the output number, the selector alternately selects and outputs switch outputs #0 and #1 for the port 0, and switch outputs #2 and #3 for the port 1, and the packet is output to the selected port. Furthermore, if the circuit acts as each of two 2×2 switches that multiplex two HWs (if the 4×4 switch shown in
A demultiplexing unit demultiplexes a packet input from a port #0 or #1 based on the value of a counter, and outputs the demultiplexed packets to their ports #0 through #3. For example, the demultiplexed packets are alternately output to the output ports #0 and #1 of the demultiplexing unit. In this way, data input in units of two packets is disassembled into packets, and can be input to the switch. A tag extracting unit extracts the tag attached to a packet, and inputs the extracted tag to an offset adding unit. The offset adding unit adds an offset value to the value of the tag based on the number held in a register, so that the packets to be input to input ports #0 to #3 of the switch are output to desired output ports #0 through #3. The packets output from the output port of the switch are input to a selector.
The selector outputs any of the input packets based on the value set in a register, and inputs the packet to a buffer. The buffer temporarily stores the packet output from the selector, and inputs the packet to a multiplexing selector. The multiplexing selector selects and multiplexes packets in order to transmit a multiplexed packet from its output port. In this way, the input packet is switched and output.
In this case, data of input HWs #0 through #3 input to upward HW-IFs (highway-interfaces) are alternately distributed for respective time slots by a distributing unit, and input to converting units. Each of the converting units has a configuration shown in
Accordingly, with the configuration shown in
Data output from the converting units are input to the four 4×4 switches in the XB-SW unit in units of packets or time slots. The 4×4 switches switch and connect the packet data, and input the data to converting units of downward HW-IF units. Each of the downward converting units has a configuration similar to that of the upward converting unit, and distributes input data packets to multiplexing units for output highways #0 through #33. The multiplexing units alternately multiplex the input data packets, and output the multiplexed data to the respective output HWs.
Control for such data packet distribution operations is performed by adjusting the numbers stored in the respective registers shown in
Packets to which output HWs are assigned are input to time slots A through D of input HWs #0 through #3. A distributing unit of an upward HW-IF unit alternately outputs, for example, the packets in the time slots A through D to two ports. As a result, the distributing unit to which the data from the input HW #0 is input outputs the packets A3 and C0 to one of its output ports, and outputs the packets B1 and D2 to the other. Also the operations of the other distributing units are similar to those of the input HW #0.
A converting unit 15 of the upward HW-IF unit distributes input packets to four 4×4 switches within the XB-SW unit for respective time slots. Namely, in the example shown in
The 4×4 switches 10 through 13 switch and output respective two packets as pairs for each output HW, and input the pairs to converting units 16 of downward HW-IFs. The converting units 16 switch and connect the input packets for each output HW, and transmit the packets to multiplexing units. The multiplexing units multiplex and output the input packets to output HWs.
In the case shown in
As shown in
Packets destined for the output HWs #0 and #2, which are arranged in time slots A through D, are input from the input HWs #0 and #2. Distributing units alternately output these packets in units of time slots, and input the packets to converting units 20. The converting units 20 input the packets in the time slots A and C to the switch 22, and the packets in the time slots B and D to the switch 23. The switches 22 and 23 switch the packets in the respective time slots, and output the packets to converting units 21.
The converting units 21 output the received packets unchanged, and input the packets to multiplexing units. In this way, the packets destined for the output HWs #0 and #2 are input to the multiplexing units, which multiplex the packets and output the multiplexed packets to the output HWs #0 and #2.
If the operations of a converting unit and an XB-SW unit are changed during a packet transmission when the XB-SW is expanded online, there is a possibility that the packet is output to an HW different from a target HW or is discarded. This phenomenon can be prevented by once suspending a packet read from an input buffer (which is not explicitly referred to in the above described preferred embodiment, but actually, arranged to wait for a packet input, etc.) before an operation mode is switched, by changing the operation mode upon completion of the output of all packets of the converting unit and the XB-SW unit, and by resuming the packet read from the input buffer. A series of operations is instructed by a switch controlling unit.
First of all, when an XB-SW unit is expanded online, the switch controlling unit issues an instruction to suspend a buffer read in step S1. As a result, no packets are output from the buffer. Next, in step S2, completion of the output of packets remaining within the XB-SW unit is waited. This completion is verified, for example, by detecting that no packets are output for a predetermined amount of time on the output side of the XB-SW unit. When the completion of the packet output from the XB-SW unit is verified, the XB-SW unit is expanded and the operation mode is switched, that is, new switching setting is made in step S3. In step S4, an instruction to resume the packet read from the buffer is issued. In this way, the XB-SW unit can be securely expanded online.
While an operation mode is switched, reading from an input buffer is suspended. Packets arrived during that time are stored in a buffer. Therefore, a delay occurs due to the mode switching. Discarding no packets is preferable to some data traffic delay. However, a delay sometimes exerts more influence than that of some noise caused by packet discarding as in the case of a telephone. Therefore, whether an arrived packet is either discarded or stored in a buffer is selected depending on the type of traffic in order to cope with such a case. An identifier identifying the type of traffic is attached to a packet, and an at-switching process table is referenced according to this identifier. In the at-switching process table, information such that a packet having which identifier type is to be discarded and a packet having which identifier to be stored in the input buffer are registered. For example, a data traffic packet is stored in an input buffer, whereas an audio traffic packet is discarded. As stated earlier, a process for either discarding or storing a packet is performed according to a result of referencing the at-switching process table. Here, if queues of input buffers are separated depending on the types of traffic, an influence such that even a packet which prioritizes the avoidance of a delay occurrence is retarded due to many packets which does not prioritize the avoidance of a delay occurrence and remain in the input buffer after the operation mode is switched, can be prevented.
If the number of XB-SW units to be arranged within a packet switch device is changed, it is necessary to change the registers for an offset addition and a selector selection, which are shown in
If the number of XB-SWs arranged within the system is large, there is a possibility that the number of registers becomes very large, which exerts a considerable influence on hardware scale. To avoid this problem, only two registers are prepared. One of the registers is used as a register for an operation, and the other is used as a register for rewrite. After the register for rewrite is changed beforehand when the number of XB-SW units is changed, a buffer read is suspended and the operation mode is switched. In this way, the buffer read suspension time can be shortened with the small-scale hardware. By way of example, if a register 0 is a currently used register, that is, the register for an operation in
First of all, in step S10, a register for rewrite is updated. Next, in step S11, an instruction to suspend a buffer read is issued. In step S12, completion of packet output from an XB-SW unit is waited. Then, in step S13, an instruction to switch the register for an operation is issued. In step S14, an instruction to resume an input buffer read is issued.
In this way, it becomes possible to implement a packet switch that can be expanded online.
In this figure, each HW is connected to each of 8 upward buffers. In each of the upward buffers, a distributing unit (indicated by DIV) is arranged, and each HW is divided into 8 lines by the distributing unit. All of these lines are connected to a switch LSI. For the switch LSI, 64 input and output ports are respectively arranged to accommodate all of the respective 8 lines from the 8 buffers. The switch LSI makes the same switching as that in the above described preferred embodiment. A switched packet is output from an output port of the switch LSI, and input to each of 8 downward buffers. A multiplexing unit (indicated by MRG) is arranged in each of the downward buffers, which multiplexes the packets input from the 8 lines and outputs the multiplexed packet to a HW.
In this figure, 8 switch LSIs shown in
In the case shown in
Each of downward converting units (D-CNVs) has a configuration similar to that of the upward converting unit. Packets output from the switch LSIs are switched and connected by the downward converting units, multiplexed by downward buffers, and output to output HWs.
In the duplexed configuration shown in
A packet input to an expansion IF card unit is copied by switching units of currently used (ACT) and standby (SBY) systems. The copied packet is then input to buffer cards of the currently used and standby systems. Here, a means for determining whether a packet is either of a currently used or a standby system packet is arranged in the expansion IF card unit or the buffer unit, so that a packet is prevented from being input to the switching unit via the buffer card of the standby system. In this case, the exit of the buffer card of the standby system may be merely closed.
In this way, a packet is input to the switch unit. After the switch unit switches the packet, it copies the packet to generate two identical packets, which are respectively input to the buffer cards of the currently used and standby systems. Packets output from the buffer cards of the currently used and standby systems are respectively input to the switching units within the expansion IF card units of the currently used and standby systems, and only the packet transmitted from the buffer card of the currently used system is output.
In the configuration shown in this figure, N 64×64 switch LSIs are prepared as switch LSIs of a currently used (ACT) system, whereas one 64×64 switch LSI is prepared as a switch LSI of a standby (SBY) system. Within a buffer card, switch LSIs that act as converting units are arranged in addition to a buffer. The switch LSI which inputs a packet to the switch unit is configured in a way such that a packet input to the switch LSI of the currently used system can be input to the switch LSI of the standby system by being switched. In the meantime, the switch LSI which receives a packet from the switch unit and acts as the converting unit which inputs the packet to the buffer is configured in a way such that packets from the N switch LSIs of the currently used system are received, and also packets from the switch LSI of the standby system can be output by being switched.
In the configuration shown in
A redundant selector unit shown in this figure is a block making the switching between the currently used and standby systems of the N+1-plex configuration, and has a configuration such that data received from a redundant input (RDD) is switched to an output of the currently used system depending on need. An ACT bit filtering unit determines whether or not 1 indicating a currently used data packet is set in the ACT bit field of the input data packet. This unit discards the data packet if 1 is not set. A matrix switch unit has the following capabilities.
A data copy unit is a block having a capability for generating copies of an input packet, and for outputting input data to a plurality of HWs according to settings. Especially, this unit can be used to support an APS (Automatic Protection Switching) capability. Furthermore, this unit provides an SNOP capability (output port snooping capability) for suspending a packet output for multiplexing of two lines and for each output port, or for copying data of a specified output line for a test output line. A redundant copy unit provides a capability for switching between the currently used and standby systems of the N+1 redundant configuration. Namely, one line is selected from the input data of the currently used system, and the data is output to a redundant output (RDD).
First of all, packets input from an external HW to a buffer card #0 (64 buffer cards are used in all) are sliced (divided) into 8 rows in an arrival order (1). In the case shown in
This figure shows only one of the 8 slices.
First of all, input data are packet-sliced by buffer units, and respective sliced data are transferred to different upward converting units (U-CNVs) (1). Next, each of the U-CNVs distributes the packets to output routes according to time slots. Namely, an earlier arrived packet (the sequence number of which is 0) is transferred to a switch LSI #0, and a later arrived packet (the sequence number of which is 8) is transferred to a switch LSI #1 (2). In the switch unit (SW unit), each switch LSI switches the packet according to its tag. Namely, a packet is transferred from an output route connected to a downward converting unit (D-CNV) which accommodates a destination buffer. At this time, a packet having a smaller destination number is transferred earlier (3). D-CNVs distribute the packets on the output routes according to the time slots (a process similar to that in (2)) (4). Then, the 8 sliced data are multiplexed by buffer units on the output side, and transferred in a sequence order (5).
Here, the switch LSIs of the SW unit, the U-CNVs and D-CNVs are the same. However, their operation modes are different. Namely, the SW unit switches a packet according to its tag. In the meantime, the U-CNVs and the D-CNVs distribute two inputs to two routes according to time slots, and do not reference tag values.
A switch LSI acts as a plurality of reduced switches into which one LSI is logically divided in order to effectively use the resource of the LSI, when being configured as reduced switches (accommodating a small number of HWs). This capability is implemented by setting an offset value in each input port in a matrix switch unit.
In
By making the above described settings, it becomes possible to respectively divide the switch LSIs #0 and #1 into 4, and to respectively use the divided LSIs as 16×16 switches. Outputs of the divided switches formed by the offset values are respectively input to 16 downward buffers #0 through #15, multiplexed, and transferred.
Each input port adds a preset offset value to the tag value (destination information: fundamental switching information) of the header of an input packet, so that switching is made according to their sum (final switching information). Offset values assigned to the input ports are externally preset in registers.
In
If a packet is input to a divided switch having an offset value 16, it is transferred to a port #16 as a result of adding 16 when the tag is 0. If the tag is 15, the packet is transferred to a port #31 as a result of adding 16 to the tag. If the tag is N, the packet is transferred to a port #(N+16) as a result of adding 16 to the tag. The packets transferred to the ports #16, #31, and #(N+16) are respectively transferred to buffers #0, #15, and #N.
If a packet is switched by a switch LSI, the packet is output to a port having a number to which an offset value is added as described above. The buffer to which the packet is output, however, is the buffer indicated by the original value of the tag.
A switch LSI that is used as a converting unit (U-CNV or D-CNV) when the configuration shown in
Namely, the switch LSI used as a U-CNV or a D-CNV does not use the tag of a packet as fundamental switching information, and the fundamental information is set to a fixed value (0 in this figure) for all of the ports, as shown in
The SNIP (Snooping of Incoming Port) capability is a capability for copying a data packet input from a specified line, and for outputting the copied packet to a test line. For SNIP target lines, test lines the number of which is equal to that of the SNIP target lines are required. Furthermore, a normal output line is used as a test line. Accordingly, if the SNIP capability is used, a substantial switching capacity decreases.
As shown in
With the SNOP (Snooping of Outgoing Port) capability, a data packet output from a specified line is copied and output to a test line. Test lines the number of which is equal to that of SNOP target lines are required. Additionally, a normal output line is used as a test line. Therefore, if the SNOP capability is used, a substantial switching capacity decreases.
As shown in
If the N+1 redundant configuration of a switch card is applied as a system, a capability for switching the data packet flow between the switch and buffer cards from an ACT to an SBY system is required. This switching capability is provided by a switch LSI mounted on the buffer card. As shown in
In this figure, data output from each U-CNV (converting unit) is always copied for a corresponding RDD selector, and the copied data is transferred to the selector. If a fault is detected in a certain switch (SW), a processor that receives a faulty alarm transmits a select signal to each RDD selector. The selector that receives the signal selects the data from the U-CNV connected to the SW in which the fault occurs, and transfers the selected data to an SBY system switch (SW). The data output from the SBY system SW is transmitted from the RDD to the selector, which transfers the data to the output port specified by the select signal from the processor.
If a duplexed switch unit or buffer unit configuration is provided as a system, data input from an SBY system buffer card or switch card must be discarded.
As shown in
Explained next is an SW mode in which a circuit acts as an XB-SW unit in the case where the circuit implementing both of the capabilities of the XB-SW unit and a converting unit is used as a switch LSI.
In this preferred embodiment, a 64×128 matrix switch in which one output HW is separated into two output ports so as to process two packets simultaneously. Input ports transfer packets to the 64×128 matrix switch in an arrival order. This transfer is a process conscious of a 2-packet unit based on a synchronization frame. This is because 128 destinations attached to the tag of an input packet do not overlap in the 2-packet unit. Notice that 2-to-1 selectors within a data copy unit multiplex the output ports. Furthermore, to support a frame assembly capability in a buffer unit, an input line number is assigned to a tag after a destination is extracted from the tag value.
Namely, in
First of all, each input port switches an arrived packet according to its tag, and outputs the packet to a corresponding output port. At this time, the internal matrix state is determined by referencing the value of the extracted tag (destination port number), and an input line number is assigned to the self-switching tag (tag is converted). Here, after the destination port number is extracted from the tag value, the tag is rewritten to the input line number. Since two lines are multiplexed for one HW, two line numbers are alternately assigned based on a synchronization frame ((1) and (2))
In this figure, a tag extracting block extracts a tag (destination information) of an input data packet. The destination information is transferred as fundamental switching information to an offset adding unit via an SW/CNV-mode selector (which switches whether a switch LSI having the same configuration is used either as a matrix switch or as a converting unit) Additionally, Enable information of the tag value is transferred in units of 1 bit at the same time.
An HW multiplexing setting register is externally set to determine whether or not an HW multiplexing method is applied (whether two packets are multiplexed for one HW). The value set in this register is referenced by a selector signal counter and a 2-to-1 selector of the data copy unit, and their operations are defined.
The selector signal counter provides an operation signal for the input line number assigning (tag converting) unit.
As shown in
This count operation is driven to High based on a frame pulse, and synchronizes a packet processing clock within a switch LSI.
The output of the selector signal counter falls into two types.
The SW/CNV mode selector shown in
In an offset setting register within the offset adding unit, 7-bit code [0–127] is externally preset. Its default value is [0] . An adder transfers to the matrix switch the value obtained by adding the value of the offset setting register to the fundamental switching information received from the SW/CNV mode selector as switching information.
The input line assigning unit writes a transmission source (input) line number to the tag field of all of input packets.
A tag converter receives the following two signals.
The tag field of the input packet in (1) and the value received from the selector in (4) are converted and transferred to the matrix switch (3).
The selector uses the signal (2) from the selector signal counter as an operation signal, and selects an input line number setting register-0 (IHWLN-0) if this signal is Low (5), or selects an input line number setting register-1 (IHWLN-1) if this signal is High (6).
The value of the selected register is transferred to the tag converter unchanged (4). (If HW multiplexing is not applied (two packets are not multiplexed for one HW), the signal (2) is always Low. Therefore, the input line number setting register 0 is selected in all cases).
To the input line number setting register-0/1, an input line number to be assigned is externally set with 7-bit code.
When the HW multiplexing is applied (two packets are multiplexed for one HW), two line numbers multiplexed for one HW are set in respective registers. In this case, numbers of lines first multiplexed for an HW are set in the register-0 based on a frame pulse.
When the HW multiplexing is not applied, only the register-0 s used.
The matrix switch extends the switching information received from the offset adding unit into a 128-bit map with a decoder, determines the state of a selector based on that value, and switches the data packets which are received from the input line number assigning unit via 64 ports to 128 routes.
The decoder receives 7-bit switching information and 1-bit Enable information. If the Enable information is “valid”, the decoder decodes the switching information to a 128-bit map and transfers the map to each select signal selector. If the Enable information is “invalid”, the decoder outputs “ALL0” (all bit values are 0). Namely, the data packet from the corresponding input line number assigning unit is not selected by the selector.
The select signal selector transmits an SNIP line to the selector as a select signal if the Enable information is valid. If the Enable information is invalid, the select signal selector outputs the switching signal as a select signal.
Here, if two or more valid bits exist in the switching signal, the select signal is output as “ALL0”. That is, the selector is closed due to an output line conflict, and no data packets are passed through.
At this time, the number of discarded packets is counted. A counter for counting this number is 35 bits, and stops at its maximum value. Additionally, this counter has a tag bit error state flag (included in the header of an IP packet).
The SNIP includes an SNIP setting register (7-bit code) and an SNIP Enable register (1 bit), and outputs an SNIP Enable signal (1 bit) and an SNIP line number (64-bit map) to the select signal selector.
An SNIP setting method varies as follows depending on whether or not the HW multiplexing method is applied.
In the case where the HW multiplexing method is not applied: Always outputting an SNIP setting register value.
In the case where the HW multiplexing is applied: Since two lines are multiplexed for one HW, it is necessary to enable only a corresponding time slot used by the line for which the SNIP is set. The following operations are therefore performed.
If the lowest bit of the SNIP setting register is [0], even-numbered time slots output the value obtained by decoding the upper 6 bits of the SNIP setting register value with reference to a frame pulse, and odd-numbered time slots output “ALL0” based on a frame pulse.
If the lowest bit is [1], odd-numbered time slots output the value obtained by decoding the upper 6 bits of the SNIP setting register value, and even-numbered time slots output “ALL0”.
The selector selects one of the data packets which are received from the input line number assigning units via the 64 ports, and outputs the selected data packet to a corresponding output port according to the signal from the select signal selector. If the selector does not receive a valid select signal, it outputs “ALL0”.
To provide the duplexed configuration of the buffer unit and the APS capability, a data copy transfer capability is required for a switch LSI.
When the copy capability is set, an HW input set in an ACT system is copied to an SBY system. At this time, no packet is input from an SBY system HW. Or, a packet is discarded by an ACT bit filtering unit. An output HW at a copy destination is preset externally. Besides, the output HW at the copy destination may be preset arbitrarily. Additionally, this capability can be used also for the SNOP.
Furthermore, the data copy unit has a capability for again multiplexing to 64 HWs a data stream that the matrix switch unit demultiplexes into 128 lines.
In this figure, each data copy selector selects one of data packets received from input ports (#0 through #127) according to the value of a copy destination setting register, and outputs the selected packet to a corresponding FIFO.
In the copy destination setting register (DTCP), 7-bit code (0 to 127) is externally set for each port. The default value is its port number. By setting the port number of the copy source in the register of the copy output destination port, data copy is implemented. Furthermore, since the register value can be arbitrarily set, this capability can be applied also to a usage as a crossconnect.
In this figure, input ports #0 to #3 are used to simply the illustration.
As shown in
Turning back to
An HW multiplexing counter provides the operation signals of the FIFOs and the HW multiplexing selector. The count operation varies depending on whether or not the HW multiplexing is applied. (The HW multiplexing setting register is referenced to determine whether or not the HW multiplexing is applied.)
If the HW multiplexing is applied: Low and High are repeatedly output every packet time within the switch LSI based on a frame pulse.
If the HW multiplexing is not applied: Low is continuously output.
The FIFOs are arranged to adopt the HW multiplexing method, and to assign two lines to one terminal of a switch LSI for processing in units of two packets, if a 128×128 switch is provided as a system. To implement this, a 2-to-1 selector for multiplexing 2 HWs as its output is required for a data copy unit, and FIFOs for 2 packets are arranged for waiting at the stage preceding this selector. A pair of FIFOs is assigned for one HW multiplexing selector.
The timing at which a FIFO is read follows the select signal from the HW multiplexing counter, and the read operation varies depending on whether the number of the port accommodating the FIFO is either odd- or even-numbered. even-numbered port: If the select signal is Low, data is read from a FIFO. If the select signal is High, “ALL0” is output. odd-numbered port: If the select signal is High, data is read from a FIFO. If the select signal is low, “ALL0” is output.
As described above, data is alternately read from a pair of FIFOs for a 2-to-1 multiplexing selector in units of packets, if the HW multiplexing method is enabled. If the HW multiplexing method is disabled, data is continuously read from one FIFO for a 2-to-1 multiplexing selector.
The HW multiplexing selector multiplexes 2 HWs when the HW multiplexing is applied.
This 2-to-1 selector operates as follows according to the signal from the HW multiplexing counter.
If the select signal is Low, data from a FIFO of an even-numbered port is selected. If the select signal is High, data from a FIFO of an odd-numbered port is selected.
If the HW multiplexing method is applied, data packets input from two ports are alternately read. If the HW multiplexing method is not applied, an even-numbered port is always selected.
If buffers having different capabilities coexist, and if the switch card is expanded online, data output must be suspended. To suspend a packet data output, a (1-bit) selector Enable setting register (SELEN) is arranged for each of 64 HW multiplexing selectors. When the selector is disabled, setting is made to suspend data packet output. If setting is made to suspend packet data output, data “ALL0” is output.
The process that the data copy unit must perform at the time of APS capability setting is to copy a valid packet of an active line to an inactive line. A controlling system (not shown) assigns the output line number of an active line to a copy destination setting register arranged in a data copy selector of an inactive line having the APS capability, so that this process is implemented.
If the SNOP capability setting is made, the number of the output line to which the SNOP capability is provided is assigned to the copy destination setting register arranged in the data copy selector for a test port.
When a switch card is expanded, the SNOP capability is once suspended and reset upon completion of the expansion. This is because the correspondence between the port number of the data copy selector and an output line may sometimes be changed.
An ACT bit filtering unit discards packets other than ACT packets among HW user packets. At this time, the ACT fields of the HW user packets are referenced, and the packets having the ACT field values other than 1 are discarded in units of packets. Whether the ACT bit filtering unit is either operated or suspended is externally set in a dedicated register. Furthermore, if setting is made to operate the ACT bit filtering unit, a valid packet number counter counts the number of ACT packets according to the register setting.
Since the redundant copy unit and the redundant selector unit do not function in the SW mode, their explanations are omitted here.
Next, a U/D-CNV mode capability acting as a converting unit in the case where the circuit implementing both of the XB-SW unit and the converting unit is adopted as a switch LSI is described.
Because the operations of the matrix switch unit are the same regardless of whether a CNV is either a U- or a D-CNV, these figures illustrate the matrix switch unit without making a distinction between the U- and D-CNVs .
A switch LSI distributes packets input from a two-input HW interface to two routes according to time slots. The base point of the time slots is a frame pulse received at predetermined time intervals. 32 U/D-CNVs are logically accommodated within one switch LSI. Additionally, since processes are performed in units of two packets, one U/D-CNV includes a 2×4 matrix switch in which one output HW is demultiplexed into two ports. Accordingly, the 64×128 matrix switch within the switch LSI is divided into 32 2×4 matrix switches logically.
The operations of a U/D-CNV are described in pursuit of
Here, the configuration of the matrix switch unit for the U/D-CNV is similar to that shown in
First of all, a tag extracting block transfers a received data packet that is not used in the CNV mode to an input line number assigning unit unchanged.
An HW multiplexing setting register operates in a similar manner as in the above described SW mode. A selector signal counter provides an offset adding unit with fundamental switching information via an SW/CNV mode selector. Its internal configuration and operations are similar to those in the SW mode.
The SW/CNV mode selector selects data by referencing the fundamental switching information. A selector selection is uniquely defined depending on whether the mode is either the SW or the CNV mode. In the CNV mode, a selector signal counter is selected as a reference source. Accordingly, the operation for distributing packets input from one HW to two routes according to time slots is implemented.
The offset adding unit operates in a similar manner as in the SW mode. An input line number assigning (tag converting) unit does not function in the CNV mode. Therefore, the data packet received from the tag extracting block is transferred to the matrix switch unchanged. The matrix switch operates in a similar manner as in the SW mode. However, SNIP setting cannot be made in the CNV mode. Accordingly, the value of an SNIP Enable register is continuously set to “invalid”.
The operations of the data copy unit are similar to those in the SW mode. However, the APS and SNOP capabilities cannot be set.
The redundant copy unit provides an N+1 copying capability required to switch between the ACT and SBY of an N+1 redundant configuration. This capability operates only in a CNV mode switch LSI acting as a U-CNV.
URDD selectors, the number of which is 8, respectively correspond to output HWs #0 to #7/#8 to #15/ . . . /#48 to #55/#56 to #63. Each of the URDD selectors receives data packet from the corresponding 8 input ports, selects one of the packets, and outputs the selected data packet to an output RDD. If an Enable register value is “invalid”, “ALL0” is output.
A URDD selector Enable register (URDDEN: 1 bit) is arranged for each URDD selector in order to forcibly suspend the flow of a data packet from an RDD output.
When the N+1 switching of the switch cards is made, the following information is transmitted from a controlling system (not shown).
If (1) is valid, each URDD selector selects the data packet from a corresponding input port by using the information (2) as a select signal. At this time, the URDD selector disabled by the URDD selector Enable register does not operate.
Furthermore, the following status register is arranged to allow the selection state of the N+1 switch cards to be monitored externally.
The redundant selector unit provides an N+1 selection capability required to switch between the ACT and the SBY of the N+1 redundant configuration. This capability functions only in a CNV mode switch LSI acting as a D-CNV.
DRDD selectors are arranged respectively for input HWs #0 to #7/#8 to #15/ . . . /#48 to #55/#56 to #63. RDD inputs (#0 to #7) are respectively connected to each of the blocks. Each of the selectors selects one of data received from the 8 HWs according to a select signal, and replaces the data from that of an RDD input.
Each block includes a 2-to-1 selector for each input HW. Each selector receives data from a corresponding input HW and RDD input, and outputs the data selected according to a select signal to an output port. An Enable register (DRDDEN: 1 bit) is arranged to forcibly suspend the selector operation according to a select signal.
Information listed below are transmitted from a controlling system (not shown) when the N+1 switching of switch cards.
If the information (1) is valid, a corresponding 2-to-1 selector specified with (2) becomes an operation target in each DRDD selector block.
If the information (3) is 0, data received from an RDD input is selected and output. If the information (3) is 1, data received from a corresponding input HW is selected and output.
At this time, the DRDD selector disabled by the DRDD register does not operate.
Furthermore, the ACT bit filtering unit operates in a similar manner as in the SW mode.
With the system according to this preferred embodiment, 4 types of a switch card configuration according to a switch capacity, and 4 types of a buffer card according to the number of accommodated lines are implemented.
Furthermore, a CNV mode switch LSI is mounted on all of the types of the buffer card. This is because the data connection difference between a buffer LSI and a switch card is absorbed with the crossconnect capability of the CNV mode.
The system according to this preferred embodiment does not allow all of combinations of these switch card configurations and buffer cards. This restriction is imposed due to the scheduling method adopted by this system.
Described below are the setting values for respective registers, which are required to connect cards, when a switch card is increased or decreased or when buffer cards of different types are mixed in one system as described above (only for a main signal system).
Hereinafter, a method connecting LSI external terminals between main signal system buffer CNV switches, which is required to allow buffer cards of different types to be mixed within one system, is described for each buffer card type.
The tables shown in
The connection configuration of CNV external terminals varies depending on inputs and outputs. The inputs and the outputs are distinguished by the orientation of an arrow of a connecting line.
Additionally, in the connection configurations of CNV external terminals in
The connection configuration of CNV external terminals is common to inputs and outputs. The connection configuration of external terminals is shown in a table 7 of
When buffer cards of different types are mixed, or when a switch card is increased/decreased, settings must be changed for the following registers.
Setting values for the above described registers are described below.
Different settings are required depending on the type of a card to be mounted or the configuration of a switch card. Setting values for each card are listed below.
In these settings, switch division depending on a switch card configuration is as follows.
Switch Card Configuration
Similarly, the setting values of the offset setting register for a 160 G buffer card, an 80 G buffer card, a 40 G buffer card, and a 20 G buffer card are respectively shown in tables 10 through 14 of
Common settings are made for the HW multiplexing setting register regardless of the type of a card to be mounted or an operation mode (the SW or the CNV mode) switch card configuration: 8 cards (2.56 T bits): Setting [1].
Settings for this register must be made only for a switch LSI (SW mode) mounted on a switch card (settings are not required in the CNV mode)
The settings are as follows.
Assuming that the value of a port number is [N], setting values are those shown in
Different settings are required depending on the type of a card to be mounted or a switch card configuration.
Always setting “ALL1” for a switch card.
Setting values of the selector Enable setting register in the case where a 160 G buffer card is mounted are those shown in a table 15 of
Similarly, the setting values of the selector Enable setting register for the 80 G buffer card, the 40 G buffer card, and the 20 G buffer card are respectively shown in tables 16 through 19 of
For the copy destination setting register:
Additionally, settings of the URDD selector and the DRDD selector Enable register are common.
Namely,
Next, a switch card online expansion capability in the case where the circuit implementing both of an XB-SW unit and a converting unit is used as a switch LSI.
When the configuration of a switch card is changed, the above described setting values of the registers must be altered. Furthermore, if a switch card is expanded online, it is necessary to instantaneously change the setting values. Accordingly, an online expansion setting unit making these settings in a hardware manner is arranged to cope with the online expansion of a switch card.
The online expansion setting unit is composed of the following blocks.
Holding the value of a signal indicating the number of switch cards to be changed (3-bit code), which is externally provided.
Including 4 registers for an offset reference. Values corresponding to the above described card types are preset in these registers.
At the time of online expansion, one of the four registers is selected according to the value of the number register, and the offset value is changed.
Referencing the value of the number register at the time of online expansion, calculating the above described IHWLN setting value, and changing the value of the IHWLN.
Including 2 registers for a DTCP reference. Register values corresponding to the above described card types are preset.
At the time of online expansion, one of the 2 registers is selected according to the value of the number register, and the value of a DTCP is changed.
Including 4 registers for an SELEN reference. Register values corresponding to the above described card types are preset.
At the time of online expansion, one of the 4 registers is selected according to the value of the number register, and the value of an SELEN is changed.
Including 4 registers for a U/DRDDEN reference. Register values corresponding to the above described card types are preset.
At the time of online expansion, one of the 4 registers is selected according to the value of the number register, and the values of URDDEN and DRDDEN are changed.
According to the present invention, a large-scale packet switch device that can prevent a process overhead from being increased while preventing an increase in hardware amount when the capacity of the packet switch is expanded, can be provided.
Number | Date | Country | Kind |
---|---|---|---|
2000-262058 | Aug 2000 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5253251 | Aramaki | Oct 1993 | A |
5293378 | Shimizu | Mar 1994 | A |
6507584 | Moriwaki et al. | Jan 2003 | B1 |
20020131442 | Garg et al. | Sep 2002 | A1 |
Number | Date | Country |
---|---|---|
0 918 419 | May 1999 | EP |
07327036 | Dec 1995 | JP |
11-154954 | Jun 1999 | JP |
Number | Date | Country | |
---|---|---|---|
20020024949 A1 | Feb 2002 | US |