Telecommunications channels often carry traffic that is multiplexed from several sources. For example, a 2.488 Gb/s SONET STS-48 channel carries 48 51.84 Mb/s SONET STS-1 channels that are time multiplexed on a byte-by-byte basis. That is, the channel carries bytes 1.1, 2.1, 3.1, . . . , 48.1, 1.2, 2.2, 3.2, . . . , 48.2, 1.3, 2.3, 2.3, . . . where n.m denotes byte m of subchannel n. Details of the SONET format can be found in Ming-Chwan Chow, Understanding SONET/SDH: Standards & Applications, Andan Pub, ISBN 0965044823, 1995 and in ANSI Standard T1.105-1995.
An STS-1 SONET frame is a repeating structure of 810 bytes arranged into 9 rows of 90 columns. The frame structure is transmitted in row-major order. That is, all 90-bytes of row 0 are transmitted, then all 90 bytes of row 1, and so on. At higher multiplexing rates, each byte of the STS-1 frame is replaced by a number of bytes, one from each of several multiplexed sources. For example, at STS-48, 48 bytes, one from each of 48 STS-1 subframes, are transmitted during each column interval. In this case, the order of transmission is to send all 48 subframe bytes for one column before moving on to the next column and to send all of the columns of a row before moving on to the next row.
A digital cross connect is a network element that accepts a number of multiplexed data channels, for example 72 STS-48 channels, and generates a number of multiplexed output channels where each output channel carries an arbitrary set of the subchannels from across all of the input ports. For example, one of the STS-48 output channels may contain STS-1 channels from different input channels in a different order than they were originally input.
An example of digital cross connect operation is shown in
A digital cross connect can be implemented in a straightforward manner by demultiplexing each input port, switching all of the time slots of all of the input ports with a space switch, and then multiplexing each output port. This approach is illustrated in
The space-switch architecture for a digital cross connect as shown in
A more economical digital cross connect can be realized using a time-space-time (T-S-T) switch architecture as illustrated in
An example of the operation of a T-S-T digital cross connect on the configuration of
A three-stage T-S-T digital cross connect is logically equivalent to a 3-stage Clos network with P T×T input stages, T P×P middle stages, and P T×T output stages. To route a configuration of input time slots to output time slots on such a switch a middle-stage time slot must be assigned to each connection. This routing is described in detail in Clos, Charles, “A Study of Non-Blocking Switching Networks”, Bell System Technical Journal, March 1953, pp. 406-424, and V. E. Benes, “On Rearrangeable Three-Stage Connecting Networks”, The Bell System Technical Journal, vol. XLI, No. 5, September 1962, pp. 1481-1492. These references show that a 3-stage Clos network, and hence a T-S-T digital cross connect, is rearrangeably non-blocking for unicast traffic but cannot, in general route multicast traffic.
A network is rearrangeably non-blocking, or rearrangeable, for unicast traffic, if for every input to output permutation, there exists an assignment of middle stage time slots that will route that permutation. A network is strictly non-blocking if an existing configuration can be augmented to handle any new connection between an idle input time slot and an idle output time slot without changing the time slots assigned to any existing connection.
From its input and output terminals, a rearrangeable network is indistinguishable from a strictly non-blocking network if its configuration changes are (1) aligned to the start of a frame and (2) frame synchronized so that all TSIs and space switches switch their configurations at the start of the same frame. Such frame synchronized switching is referred to as hitless because it does not hit or corrupt the contents of any frames. There is no impact of rearranging existing connections as long as such rearrangement is hitless. Thus, with hitless switching, there is little advantage to strictly non-blocking switches. Hitless switching is provided in Lucent 800 and 900 series digital cross connects (see http://www.chipcenter.com/telecommunications/mdp/webscan/mn00e/mn00e016.htm; http://connectivity1.avaya.com/exchangemax/).
A typical system includes a FIFO which aligns input data with a global frame clock before that data is then read into a time slot interchanger. In accordance with the present invention, frame alignment and time slot interchange are both implemented in a single module. An interchange random access memory receives an input data frame, out of alignment with a global frame clock, at an input. A write address generator addresses the random access memory to write subframes, out of alignment with the global frame clock, in a received order. A read address generator addresses the random access memory to read subframes in interchanged order and aligned to the global frame clock.
In particular embodiments, the read address generator transforms a global frame counter to generate the read address. The global frame counter may be transformed in a random access memory. The write address generator may generate the address from a local frame counter synchronized to the input data frame.
The interchange random access memory may form N greater than 2 buffers, the local frame counter being between one and N−1 buffer lengths ahead of the global frame counter. In one embodiment, the input data frames are SONET STS-M frames, and the interchange random access memory comprises three buffers, each of M bytes. A local frame counter includes a modulo three counter field which selects one of the three buffers. In one embodiment M equals 48.
The interchange random access memory may be noncontiguously addressed. A predecoder maps address space to instantiated locations in the random access memory. The predecoder may include at least one n-to-(2n−p) decoder for some integers n and p.
Preferably, the time slot interchanger is included in a digital cross connect comprising plural switching stages. Each stage has plural switches receiving plural frames of time multiplexed input data, and the switches switch the data in time and space.
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
A description of preferred embodiments of the invention follows.
To realize very large digital cross connects, it is advantageous to cascade a number of T-S-T switches in multiple stages. For example,
Each of the stages switches multiplexed channels that each contain T time slots. In effect, the switch is a T-S-T-T-S-T-T-S-T switch. However, back-to-back TSIs are redundant, so the output TSI on the input stage and the input TSI on the output stage are configured straight through and the switch is actually a T-S-T-S-T-S-T switch.
Hitless switching is particularly difficult in networks that are composed of multiple stages of T-S-T switches. The configuration of all TSIs and all space switches must be switched at the start of the same frame. Note that this start of frame occurs at different times in different stages.
The present embodiment provides hitless configuration of a digital cross connect composed of an arbitrary number of T-S-T stages. This is accomplished through the following process.
The PTS signal carries two bits of information (1) that the signal is present, and (2) which configuration should be selected. The presence indication is needed to distinguish channels received from the master from channels received from non-master middle stages that do not carry PTS signals.
The PTS signal may be carried on a separate wire, may be carried out-of-band on the same wire or wires as the data, or may be embedded in the data by replacing redundant data. In the preferred embodiment, this signal is embedded in the data by replacing two of the 48 A1 bytes of an STS-48 SONET frame with a PTS signal. The second A1 byte of the frame is inverted (from a hex F6 to a hex 09) to signal the PTS is present, and the third A1 byte of the frame carries the selected configuration repeated in all 8 bits of the byte (i.e., 00 selects configuration 0 as primary and FF selects configuration 1 as primary). These A1 bytes are restored to their fixed value before the SONET frame leaves the last stage of the switch.
As with the PTS signal, the CNS signal may be carried on a separate wire, carried out of band on the data wire or wires, or embedded in the data. In the preferred embodiment, the CNS signal is embedded in the data by replacing one of the A1 bytes of an STS-48 SONET frame. In particular the selected configuration is repeated in all 8 bits of the fourth A1 byte of the frame.
This seven stage process performs a synchronized configuration switch across all TSIs and space switches of a multi-stage digital cross connect in response to a single user command to the master middle-stage switch. In the preferred embodiment, the PTS and CNS signaling is embedded in the data so that the synchronized configuration switching is performed without adding any new signals to the cross connect.
The timing of the configuration switch operation is illustrated in the Gantt chart of
The sequence begins when the master middle-stage switch receives a request to change configuration while it is handling frame 1. The master middle-stage switch responds to this request by embedding a PTS signal, denoted by P in the figure, in the 2nd and 3rd A1 bytes of frame 2. This PTS signal is propagated to all last-stage switches as illustrated in the third row of the figure. After each last-stage switch receives the PTS signal, it passes the selected configuration, from the 3rd A1 byte of frame 2, to the corresponding first-stage switch which in the preferred embodiment is located on the same chip. Each first-stage switch responds to this selected configuration signal by switching its configuration at the start of frame 3, as denoted by the cross-hatched portion of the figure, and by embedding a CNS signal, denoted by C in the figure, in the 4th A1 byte of frame 3. As frame 3 propagates through each stage, that stage switches its configuration at the start of frame 3 and propagates the CNS signal to downstream stages.
A block diagram of the preferred embodiment of a multi-stage digital cross connect incorporating the present invention is illustrated in
Realizing the first and last stages of the switch on a single chip has two advantages. First, this enables the selected configuration signal to be passed on chip from the last stage to the first stage eliminating the need for an off-chip signal. Second, this configuration makes more efficient use of the input and output ports. The first-stage switch is expanding, having twice as many outputs as inputs, while the last-stage switch is concentrating, having twice as many inputs as outputs. If the first-stage and last-stage switches were realized on separate chips, half of the input ports would be idle on the first-stage switch and half the output ports would be idle on the last-stage switch. By combining a first-stage switch and a last-stage switch on a single chip, the demands for input and output ports are balanced and no ports are left idle.
The sequence of the synchronized configuration change on the system of
Frame Clock Distribution in a Multi-stage Cross Connect
In a multi-stage digital cross connect such as those shown in
The internal operations of the cross connect are sequenced by a frame counter, synchronized to the frame clock, that sequences the 38,880 bytes within each frame. The frame counter is typically divided into three fields corresponding to the row (0-8), column (0-89), and subframe (0-48) within the SONET frame. A particular byte of the frame is present on an internal bus of the cross connect when the counter value is equal to the position of that byte within the frame. For example, the B1 parity byte is present when the counter reads 2.0.0 corresponding to row 2, column 0, and subframe 0. The frame counter is synchronized by the frame clock so that the count starts with all fields zero (a count of 0.0.0) on the rising edge of the frame clock.
Each field of the counter accepts three input signals: reset, inc, and clk, and produces two outputs: count and limit, as illustrated by the field 64 of
The frame counter of
The “byte clock” for a given chip must be “mesochronous” with the byte clocks for all of the other chips. That is, it must have exactly the same frequency but can have an arbitrary phase (no skew requirements). Typically the byte clock originates at a pair of master oscillators. The two master oscillators are on separate cards, so one can be replaced while the other is running. The two master oscillator signals are distributed via dedicated cables throughout the system. On each circuit card a local oscillator is slaved to the selected master oscillator. If that master fails, the local oscillator continues running while it is automatically switched to be slaved to the other master oscillator.
In a multi-stage switch, the distribution of the frame clock should match the distribution of the data signals so that as data signals are delayed they remain properly aligned to the frame clock. In the present embodiment, this distribution is accomplished by propagating the frame clock along paths identical to the data signals. As with the configuration switching signal, the frame clock can be propagated along a dedicated wire that follows the same path as the data wires, it can be carried out-of-band on the data wire or wires, or it can be encoded in-band in the data signal. The frame timing can be embedded in the data signal by modifying the signal to carry this timing or can just be derived from the data signal by using known patterns in the signal to extract the timing. In one embodiment using the latter approach and discussed below, when a SONET input is selected as the frame clock, the clock transition occurs on the first byte of the frame, the first A1 byte.
In the disclosed embodiment, each cross connect component maintains two frame counters. Each frame counter can be synchronized to a frame clock that is derived from either an external frame clock input, or to the start of frame on any of the 72 inputs to the component. The selection of the frame clock for one of the two frame counters is made by a 73-input multiplexer 68 as shown in
The start-of-frame signals are derived from the data frames on incoming channels through respective start-of-frame select logic 76a-76n. In a SONET STS-N frame, there are N A1 bytes each of which has a fixed value of hexadecimal F6. These are followed by N A2 bytes each of which has a fixed value of hexadecimal 28. The start-of-frame logic looks for the F6 28 boundary and synchronizes a respective local frame counter 74 (
Looking for the A1A2 boundary is preferred since the last bytes of the previous frame can be any value, including F6. Hence finding 48 F6 bytes does not guarantee that the 48 A1 bytes have been found. Finding several F6 bytes followed by several 28 bytes does, with high probability, guarantee that you have found the A1 A2 boundary. More specifically, to make sure that it stays properly framed in the presence of errors, the start of frame select logic 76 uses a simple finite state machine (FSM) that keeps track of framing. To acquire framing, the FSM must see the F6 28 pattern twice in the same position. Once acquired, the local frame counter holds this framing until the expected F6 28 pattern is missed four times. This behavior is specified in Bellcore specification GR-253 which is incorporated by reference in its entirety.
Providing two frame counters facilitates using a single component to implement both an input and output stage of a multistage switch as shown in
Allowing the frame clock for each frame counter to be derived from an input enables the frame clocks for a multi-stage digital cross-connect system to be distributed embedded in the SONET signals themselves. The distribution follows a pattern identical to that used to distribute the configuration switch signal as illustrated in
Each stage 1/3 chip selects this global frame clock by configuring the multiplexer of
The non-master middle stage chips (Stage 2 Chip 2 through Stage 2 Chip 48 in
At this point, the frame clock has been distributed to every chip in the system and all of the frame counters can be synchronized by programming the appropriate delay value into the delay element of
One skilled in the art will understand that many variations on this frame clock distribution method are possible. For example, to provide tolerance to any single point of failure, two or more middle-stage switches (e.g., Stage 2 Chips 1 and 2) may both select external frame clocks to synchronize their respective counters and distribute independent frame clocks over their output signals to the stage 1/3 chips.
Frame Alignment Integrated with a Time-slot Interchanger
All input channels to a digital cross connect must have their frames aligned so that when a particular byte, say the B1 byte, of one frame is input to the cross connect the same byte of all other frames is input to the cross connect. Further, since there may be skew in the cabling between the chips of one stage (e.g., the input stage) and the chips of the next stage (e.g., the middle stage), alignment may be provided in all stages, not just the input stage. In practice this alignment is accomplished in two steps. First, an external circuit aligns the input frames to start within a small window centered at a fixed offset from this frame clock signal. Then a small FIFO buffer within the cross connect is used to bring the input frames into exact byte alignment.
In the preferred embodiment, each channel performs both frame alignment and time-slot interchange in a single module that writes data into only a single RAM as illustrated in
Note that while the RAM is addressed with an 8-bit address (256 possible values), only 144 locations in the RAM are used since the six sts bits (64 possible values) need only define 48 bytes, and these 144 locations do not occur at contiguous addresses. In hexadecimal notation, only locations 0-2F, 40-6F, and 80-AF are used. Below we describe how we exploit this sparse usage pattern by building a non-contiguously addressed RAM to economize on RAM area and power.
The time-slot-interchange function is performed under control of the low two fields of the global frame counter (global_column and global_sts) using the read port of the input data RAM as illustrated in
To ensure that the read pointer does not attempt to read a value before it is written, the local frame counter (which is also used as the write pointer) must be between 48 and 96 byte times ahead of the global frame counter. This relationship between local and global frame counters is illustrated in
Although the single dual port RAM module is preferred, the Input Data RAM could be formed of multiple smaller single port RAM modules.
Non-contiguously Addressed RAM
The three 48-byte buffers of
A block diagram of the non-contiguously addressed RAM 78 of the present invention is shown in
As shown in
While in the disclosed embodiment the non-contiguously addressed RAM uses 2-to-3 decoders, in general such a RAM can be implemented with an n-to-(2n−p) decoder. For the preferred embodiment n=2 and p=1. However, such a RAM could also be implemented using 3-to-6 decoders where n=3 and p=2.
The non-contiguous addressing of the RAM is achieved by using 2-to-3 decoders in the predecoder to map a non-contiguous address space to a contiguous set of RAM rows. When a valid address, a, (one that lies within one of the three buffers) is presented to the predecoder, it asserts one line of each of its four one-hot outputs: paa[i], pab[j], pac[k], and pad[m] so that a=i+4*j+16*k+64*m. Because the most significant two two-bit fields of the 8-bit address are decoded with 2-to-3 decoders, this address, a, selects a row, b, given by b=j+4*k+12*m. The effect of mapping a to b is to compress out the unused portions of the address space. This compression is illustrated in
The row decoder 94 decodes the coincidence of a particular line from each of pab, pac, and pad into the selection of one of 36 word lines using 36 three-input AND gates 104 as illustrated in
Two frame counters 114,116 support a combined first-stage/last-stage switch on a single chip. One counter provides timing to all inputs and outputs that are used for the first stage, and the second counter provides timing to all inputs and outputs used for the last stage. As shown in
While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 60/237,086 filed Sep. 28, 2000 and U.S. Provisional Application No. 60/195,998 filed Apr. 11, 2000. The entire teachings of the above applications are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3576398 | Dejean et al. | Apr 1971 | A |
3632883 | Augaard | Jan 1972 | A |
3735049 | Buchner et al. | May 1973 | A |
3736381 | Johnson et al. | May 1973 | A |
3832492 | Charransol et al. | Aug 1974 | A |
3927267 | Voyer et al. | Dec 1975 | A |
4004103 | Liu et al. | Jan 1977 | A |
4035584 | Lurtz | Jul 1977 | A |
4038638 | Hwang | Jul 1977 | A |
4123624 | Gagnier et al. | Oct 1978 | A |
4394541 | Seiden | Jul 1983 | A |
4470139 | Munter | Sep 1984 | A |
4566007 | Richards | Jan 1986 | A |
4764918 | Waters | Aug 1988 | A |
4771420 | Deschaine et al. | Sep 1988 | A |
4797589 | Collins | Jan 1989 | A |
4817083 | Richards | Mar 1989 | A |
4849964 | van Baardewijk | Jul 1989 | A |
4885738 | Bowers et al. | Dec 1989 | A |
4935921 | Ishizaki et al. | Jun 1990 | A |
4967405 | Upp et al. | Oct 1990 | A |
5040170 | Upp et al. | Aug 1991 | A |
5111414 | Arrathoon | May 1992 | A |
5144297 | Ohara | Sep 1992 | A |
5189410 | Kosugi et al. | Feb 1993 | A |
5303077 | Bottle et al. | Apr 1994 | A |
5311506 | Beisel | May 1994 | A |
5323390 | Pawelski | Jun 1994 | A |
5345441 | Paker et al. | Sep 1994 | A |
5408231 | Bowdon | Apr 1995 | A |
5430716 | Pawelski | Jul 1995 | A |
5436890 | Read et al. | Jul 1995 | A |
5469154 | Karp | Nov 1995 | A |
5526359 | Read et al. | Jun 1996 | A |
5627826 | Kameda et al. | May 1997 | A |
5629932 | Kim | May 1997 | A |
5987027 | Park et al. | Nov 1999 | A |
6034947 | Yoshida et al. | Mar 2000 | A |
6041055 | Chopping | Mar 2000 | A |
6243400 | Deutsch et al. | Jun 2001 | B1 |
6674752 | Colizzi et al. | Jan 2004 | B1 |
6778529 | Field et al. | Aug 2004 | B1 |
Number | Date | Country | |
---|---|---|---|
20010033584 A1 | Oct 2001 | US |
Number | Date | Country | |
---|---|---|---|
60237086 | Sep 2000 | US | |
60195998 | Apr 2000 | US |