Heterogeneous ports switch

Abstract: A communication switch having heterogeneous ports. The heterogeneous ports are connected to nodes which may be operating at different frequencies and which may have different optical characteristics. In addition to the ports, the switch of the present invention includes a matrix controller and a matrix switch which is connected to the ports. When two ports want to communicate, the matrix controller commands the matrix switch to establish a physical connection between the ports. According to the present invention, data is transferred between the ports via the matrix switch in a serial and asynchronous manner. Because data is serially and asynchronously transmitted, high data rates through the matrix switch may be achieved.

Description: The present invention relates generally to communication switches, and more particularly to communication switches having heterogeneous ports. US 4,064,370 discloses a switching system for switching serial digital data words synchronously received on time multiplexed lines in a first code format. The data words are converted to a second format and are then transmitted to a network. Different bit rates are not supported by this switching system. A conventional dynamic communication switch provides system-wide, non-blocking connectivity. A connection is established and broken in the switch based on a starting delimiter of a transmitted frame and on information contained in the transmitted frame's header. Once the connection is established through the switch, the switch becomes transparent to transmitted frames (that is, circuit switching is implemented). An example of such a conventional dynamic communication switch is the International Business Machines (IBM) ESCON Director 9032, 9033. Conventionally, the communication switch assumes that all transmissions between switch ports and external attachments to the switch ports take place at the same bit rate. Additionally, the communication switch assumes that light sources associated with the switch ports and external attachments all have the same optical characteristics. The communication switch further assumes that photodetectors associated with the switch ports and external attachments have optical wavelength sensitivities which match the light source characteristics. Thus, the conventional communication switch is limited because it does not support ports with different light sources (such as .8u laser and 1.3u LEDs or 1.3u lasers). Also, the conventional communication switch is limited because it does not support simultaneous, different bit-rates (such as 200 Mbit/second, 1 Gigabit/second, and 265 Mbit/second) at its ports. A prior solution to the above problem is presented in U.S. Patent No. 4,639,910 to Toegel et al. Toegel describes an interconnect fabric for ports having different data rates. However, Toegel uses a time division multiplexed (TDM) bus. Thus, Toegel's TDM bus approach is flawed because data rate capability and number of nodes are limited. Another prior solution to the above problem is presented in U.S. Patent No. 4,885,741 to Douskalis. Douskalis describes a matrix switch which uses a time division multiplexed bus arrangement. Like Toegel, Douskalis is flawed because data rate capability and number of nodes are limited. The invention as claimed in claim 1 and in claim 4 solves advantageously the problem stated above. It is directed to a communication switch having heterogeneous ports. The communication switch of the present invention supports fiber optic interconnections to "nodes" having different optical characteristics. Also, the communication switch of the present invention supports fiber optic interconnection to "nodes" having different bit-rates. A "node" consists of an optical transmitter and optical receiver, associated optoelectronic conversion electronics, and system interface electronics. The communication switch of the present invention includes multiple ports. The ports are connected to nodes which may be operating at different frequencies and which may have different optical characteristics. The switch includes a matrix controller and a matrix switch which is connected to the ports. When two ports want to communicate, the matrix controller commands the matrix switch to establish a physical connection between the ports. According to the present invention, data is transferred between the ports via the matrix switch in a serial and asynchronous manner. Because data is serially and asynchronously transmitted, high data rates through the matrix switch may be achieved. Each port contains a receive component and a transmit component. A receive component in a port receives data at a first frequency from a source node. The receive component sends the data via the matrix switch to a transmit component in another port at a second frequency. The transmit component sends the data to a destination node at the second frequency. According to the present invention, the first and second frequencies may be different. Therefore, the switch of the present invention supports nodes having different data rates. The receive components in the ports have photodetectors which are optically sensitive to multiple wavelengths of interest (such as 1.3u and .8u). The transmit components in the ports have light sources which may transmit at multiple optical wavelengths. Because it detects and emits optical signals of different wavelengths, the switch of the present invention simultaneously supports nodes having different optical characteristics. 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 drawing, wherein: Fig. 1 illustrates a heterogeneous ports switch 102 according to the present invention; Fig. 2 illustrates a port 106 of the present invention; Fig. 3 illustrates a programmable phase locked loop 204 of the present invention; Fig. 4 illustrates a voltage controlled oscillator 310 of the present invention; and Fig. 5 illustrates a block diagram of a programmable light source 501 according to the present invention. Fig. 1 illustrates a heterogeneous ports switch 102 according to the present invention. The switch 102 includes multiple ports 106, a matrix switch 108, a matrix controller 110, and a configuration table 112. The configuration table 112 may be stored in a random access memory contained in the matrix controller 110. The matrix controller 110 is connected to the ports 106 via a common bus having configuration lines 114 and control lines 116. The ports 106 are connected to the matrix switch 108 via data lines 118. The ports 106 are connected to external nodes 104. In a preferred embodiment of the present invention, the ports 106 are connected to the external nodes via fiber optic links. As shown in Fig. 1, the nodes 104 have different characteristics. For example, the node 104A has a long wavelength (LW) light source and operates at 200 MBit/second. The node 104B has a short wavelength (SW) light source and operates at 800 MBit/second. As evident by Fig. 1, the switch 102 of the present invention simultaneously supports nodes 104 which have different fiber optic light sources and which operate at different bit speeds. Fig. 2 illustrates one of the ports 106 in greater detail. The ports 106 each contain a receive component 224 and a transmit component 226. The receive component 224 contains a receiver (RX) 202, a programmable phase locked loop (PLL) 204, an elastic buffer 208, a selector circuit 210, and pacing circuitry 212. The transmit component 226 contains a phase synchronizer circuit 220 and a programmable frequency synthesizer 221. The phase synchronizer circuit 220 may contain an elastic buffer. The operation of the switch 102 of the present invention is described below with reference to Figs. 1 and 2. For illustrative purposes, a scenario wherein the node 104A is transmitting to the node 104B is used to describe the operation of the switch 102. In the following discussion, the port 106A is also called the receiving port 106A. The port 106B is also called the transmitting port 106B. The node 104A transmits a frame to the receive component 224 of the port 106A. In the preferred embodiment of the present invention, all frames have the same frame format (that is, delimiters and header information). Also, in the preferred embodiment of the present invention, the frame is embedded in a serial optical data stream which is carried on the fiber optic link connecting the node 104A to the port 106. The receiver 202 receives the frame and converts the frame from an optical signal to an electrical signal. The receiver 202 also amplifies the electrical signal. The general structure and operation of the receiver 202 is well known in the art. The frame is received by the programmable PLL 204. The PLL 204 adjusts for frequency and phase disparities. The PLL 204 extracts the frame's clock frequency 206 from the frame. In this patent document, the frame's clock frequency 206 is also called the frame's received clock 206. Conventionally, the PLL 204 has a single nominal frequency. However, according to the present invention, the PLL 204 has multiple available nominal frequencies. The nominal frequencies are selected by the matrix controller 110. Specifically, the configuration table 112 stores a switch configuration. The switch configuration identifies the nodes 104 which are connected to the ports 106. At initial program load (IPL), the matrix controller 110 determines the data rates of the nodes 104. The matrix controller 110 then appropriately selects the nominal frequencies in the PLLs 204 using the configuration lines 114 such that the nominal frequencies in the PLLs 204 are equal to the data rates of their respective nodes 104. According to the present invention, the nominal frequencies may be different in the PLLs 204 of different ports 106. Therefore, the switch 102 of the present invention simultaneously supports nodes 104 which operate at different bit speeds. After the PLL 204 extracts the received clock 206 from the frame, the frame serially travels to the elastic buffer 208. The pacing circuitry 212 controls the rate at which the frame enters the elastic buffer 208. Specifically, the pacing circuitry 212 clocks the frame into the elastic buffer 208 at a rate equal to the received clock 206. The pacing circuitry 212 performs a second function, as described below. The frame is stored in the elastic buffer 208 until it is transmitted to the matrix switch. In the preferred embodiment of the present invention, the elastic buffer 208 has a depth equal to the maximum frame length, such as 1 kbyte. Logic circuitry (not shown in Fig. 2) extracts connection information from the frame while the frame is in the elastic buffer 208. The connection information identifies the destination of the frame. The connection information is sent to the matrix controller 110 on the control lines 116. Upon receiving the connection information, the matrix controller 110 attempts to make a connection in the matrix switch 108 between the source port 106A and the destination port 106B. For illustrative purposes, assume that such a connection is made in the matrix switch 108. The connection in the matrix switch 108 operates as a physical connection between the source port 106A and the destination port 106B. After establishing a connection in the matrix switch 108, the matrix controller 110 instructs the port 106A via the control line 116 to transmit the frame in the elastic buffer 208 to the matrix switch 108. Upon receiving the instruction to transmit from the matrix controller 110, the frame is serially transmitted from the elastic buffer 208 to the matrix switch 108. As noted above, the pacing circuitry 212 controls the rate at which the frame enters the elastic buffer 208. Additionally, the pacing circuitry 212 controls the rate at which the frame is transmitted from the elastic buffer 208. Specifically, the matrix controller 110 accesses the configuration table 112 and determines the data rate of the destination node 104B. The matrix controller 110 then accesses the selector circuit 210 and selects a data transfer frequency 211 which is equal to the data rate of the destination node 104B. The pacing circuitry 212 then serially clocks the frame from the elastic buffer 208 to the matrix switch 108 at a rate equal to the selected data transfer frequency 211. According to the present invention, the matrix controller 110 may use the selector circuit 210 to choose from a number of available data transfer frequencies 211. The data transfer frequencies 211 may either be generated locally from a low frequency source or may be generated in a central location and distributed to the ports 106. Note that the receiving port 106A receives at one frequency (that is, the received clock 206) and the transmitting port 106B transmits at another frequency (that is, the data rate of the destination node 104B or, equivalently, the selected data transfer frequency 211). Therefore, the switch 102 of the present invention simultaneously supports nodes 104 which operate at different bit speeds. Note also that frames are transmitted through the matrix switch 108 in a serial and asynchronous fashion (the frames are said to be transmitted asynchronously since a central clock is not used to coordinate the receiving port 106A and transmitting port 106B). Because data is serially and asynchronously transmitted, high data rates through the matrix switch 108 may be achieved. The frame from the receiving port 106A is serially routed through the matrix switch 108 and arrives at a phase synchronizer circuit 220 of the transmit component 226 of the transmitting port 106B. The phase synchronizer circuit 220 receives a nominal frequency from a programmable frequency synthesizer 221. The programmable frequency synthesizer 221, which is based on PLL concepts, has multiple available nominal frequencies. The matrix controller 110 selects one of the available nominal frequencies. Specifically, at initial program load (IPL), the matrix controller 110 accesses the configuration table 112 and determines the data rate of the destination node 104B connected to the transmitting port 106B. The matrix controller 110 then appropriately selects the nominal frequency of the programmable frequency synthesizer 221 in the transmitting port 106B using the configuration lines 114 such that the nominal frequency of the programmable frequency synthesizer 221 equals the data rate of the destination node 104B. Since the frame is asynchronously transmitted through the matrix switch 108, the selected data transfer frequency 211 may be out of phase with the transmit frequency (that is, the frequency at which data is transmitted from the transmitting port 106B to the destination node 104B, or equivalently, the data rate of the destination node 104B). Therefore, the phase synchronizer circuit 220 in the transmitting port 106B adjusts for phase of the incoming data to align with the transmit frequency. The phase synchronizer circuit 220 can be implemented in a number of ways which are well known in the art. One way is to use a phase lock loop. Other ways are described in many publically available documents such as "1 Gb/s High-Speed Bit Synchronization LSI for B-ISDN" by Otsuka ( Electronics Letters , Vol. 26, No. 10, May 10, 1990). The receiving port 106A may send idles to the transmitting port 106B prior to transmitting the frame in order to establish phase synch between the two ports 106A and 106B. A phase synchronized signal 223 coming from the phase synchronizer circuit 220 is then sent to the transmitter 222. The transmitter 222 converts the frame from an electrical signal to an optical signal and serially sends the frame to the destination node 104B at the transmit frequency. Aspects of the switch 102 of the present invention shall now be described in greater detail. Fig. 3 illustrates the programmable PLL 204. The PLL 204 has an all-digital voltage controlled oscillator (VCO) 310. The general structure and operation of the PLL 204 (other than the programmable aspects of the PLL 204) are well known in the art and are described in many publicly available documents, such as "Fully Integrated Gb/s Clock Recovery Circuit" by J. Ewen (1988 OFC Conference). The PLL 221 in the transmit component 226 may also be implemented as shown in Figs. 3 and 4. Fig. 4 illustrates the VCO 310 in greater detail. The VCO 310 of the present invention includes a selectable nominal frequency such that the nominal frequency of the PLL 204 may be programmed. The VCO 310 of the present invention is now described. The VCO 310 of the present invention contains three chains 312. At any time, only one of the three chains 312 is enabled. The chains 312 are enabled by enabling their respective control (cntl) signals 310. The control signals 310 are sent from the matrix controller 110. Each chain 312 corresponds to a different nominal frequency. Thus, the VCO 310 shown in Fig. 4 has three available (and selectable) nominal frequencies (generally, the VCO 310 of the present invention may contain more than three chains 312). The chain 312A corresponds to a high nominal frequency (such as 1 Gigabit/second). The chain 312B corresponds to a medium nominal frequency (such as 265 Mbit/second). The chain 312C corresponds to a low nominal frequency (such as 200 Mbit/second). The matrix controller 110 selects one of the three available nominal frequencies by enabling the respective control signal 310. Each chain 312 contains an AND gate 304 (for receiving the control signal 310) and a series of logic gates 302. The gates 302, 304 receive operating current from a digital to analog converter 306 on lines 308. The chains 312, since they contain different numbers of logic gates 302, continuously generate pulses at different frequencies. Therefore, the chains 312 generate the different nominal frequencies for the PLL 204. The receiver 202 in the receiver component 224 of each port 106 contains a photodetector for receiving the optical signals from the sources 104. In the switch 102 of the present invention, the photodetector is a dual wavelength (DW) photodetector which is optically sensitive to multiple wavelengths of interest (such as 1.3u and .8u). Such DW photodetectors are commercially available. For example, one such DW photodetector is the "Epitaxx ETX-GR" series photodiodes. The transmitter 226 in the transmit component 226 of each port 106 contains a light source for optically transmitting the frames to the nodes 104. Fig. 5 illustrates a block diagram of a light source 501 according to the present invention. The light source 501 may transmit at multiple wavelengths (that is, .8u and 1.3u). A select and drive circuit 502, which is controlled by the matrix controller 110, selects either a .8u laser 504 or a 1.3u laser 506 (alternatively, light emitting diodes may be used). An optical combiner is fabricated with passive waveguides 508 on a common carrier with the light sources 504, 506. These techniques enable a low-cost, physically small assembly. Because it detects and emits optical signals of different wavelengths, the switch 102 of the present invention simultaneously supports nodes 104 having different optical characteristics. The matrix controller 110 of the present invention recognizes various combinations of port connections (based on information in the switch configuration table 112) and sets up appropriate controls at the ports 106. Various cases are possible. First, a lower-speed port may be connected to a higher-speed port. In this case, the matrix controller 110 sets up a path in the matrix switch 108 and transmits idles from the lower-speed port to the higher-speed port. The incoming data in the lower-speed port accumulates in the elastic buffer 208 until a threshold is reached (this depends on the difference in bit-rates and the maximum frame size). Once the threshold is reached, the data is allowed to flow out of the buffer 208 and to the higher-speed port. If another frame is received, following the first frame, it is trapped in the elastic buffer 208 until the threshold condition is met. At the end of the first frame, the higher-speed port receives idles, until the second frame is sent out of the buffer 208. Second, a higher-speed port may be connected to a lower-speed port. In this case, the matrix controller 110 allows the incoming data in the higher-speed port to flow immediately out of the higher-speed port's elastic buffer 208 to the lower-speed port. At the end of the frame, the transmitting node 104 to the higher-speed port sends idles. The higher-speed port ignores the idles from the node 104. That is, the idles are not loaded into the buffer. The idles provide necessary pacing between the different bitrate transmissions. While the invention has been particularly shown and described with reference 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.

Claims: A method for transferring data from a first to a second port (106 A-D) of a communication switch (102), wherein a source node (104 A) operating at a first frequency is coupled to the first port (106 A) and a destination node (104 B) operating at a second frequency is coupled to the second port (106 B), said method comprising the steps of: (a) serially receiving at the first port (106 A) the data from the source node (104 A) according to the first frequency; (b) selecting a third frequency, wherein said second and third frequencies are the same; (c) establishing a physical connection between the first and second ports; (d) serially and asynchronously transmitting the data from the first port (106 A) to the second port (106 B) via said physical connection according to said third frequency; (e) receiving at the second port (106 B) said data and adjusting for a phase difference between the data of said third frequency with the second frequency; and (f) serially transmitting from the second port said data to said destination node (104 B) according to said second frequency. The method of claim 1, further comprising the steps of: (1) extracting said first frequency from the data; and (2) serially clocking said data into a buffer (208) according to said first frequency. The method of claim 1 or 2, further comprising the step of transmitting idles when not transmitting said data from the first port to the second port when said first frequency is less than said second frequency. A communication switch comprising: (1) a first port (106 A), coupled to a source node (104 A) transmitting at a first frequency, for receiving data from said source node; (2) a second port (106 B), coupled to a destination node (104 B) receiving at a second frequency; (3) switch means (108), coupled to said first and second ports, for establishing a physical connection between said first and second ports; (4) means for serially and asynchronously transmitting said data from said first port to said second port via said physical connection; (5) a configuration table (112); (6) control means (110), coupled to said configuration table, for controlling said first port, second port, and switch means; wherein said first port (106 A) comprises: (a) selector means (210), coupled to said control means, for selecting a third frequency, wherein said second and third frequencies are the same; and wherein said second port (106 B) comprises: (a) phase synchronizing means (220) for adjusting for a phase difference between the data of said third frequency with the second frequency. The switch of claim 4, wherein said first port further comprises: (b) phase locked loop means (204) for extracting said first frequency from said data; (c) buffer means (208) coupled to said switch means; (d) first pacing means (212) for serially clocking said data into said buffer according to said first frequency; (e) second pacing means (212) for serially transmitting said data from said buffer to said switch means according to said third frequency; and wherein said source node and first port are connected preferably via a fiber optic link carrying optical signals. The switch of claim 5, wherein said phase locked loop means (204) comprises: (i) means (310) for generating multiple nominal frequencies; and (ii) means for selecting one of said nominal frequencies, wherein said selected nominal frequency equals said first frequency. The switch of claim 5 or 6, further comprising receiver means (202), coupled to said source node, for receiving said optical signals, said receiver means comprising photodetector means for detecting said optical signals having different optical characteristics. The switch of claim 4, wherein said second port (106 B) comprises: (b) transmitter means (222), coupled to said phase synchronizing means (220), for serially transmitting said data to said destination at said second frequency, and wherein said destination node and second port are connected preferably via a fiber optic link carrying optical signals. The switch of claim 8, wherein said transmitter means (222) comprises light source means for generating said optical signals having different optical characteristics. The switch of anyone of claims 4 to 9, wherein said data comprises sequential data frames, and wherein said control means (110) comprises means for transmitting idles when not transmitting said data frames said said first port to said second port said said first frequency is less than said second frequency.

Inventors: GEORGIOU CHRISTOS JOHN, LARSEN THOR ARNE, GEORGIOU, CHRISTOS JOHN, LARSEN, THOR ARNE
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1992
Main classification: H04Q11
IPC codes: H04Q3, H04B10, H04Q11