SQUARE SWITCHING ARCHITECTURE

Abstract: The invention relates to a packet switch with a switching architecture comprising a cross network of input and output switching links crossing each other. The output switching links form a number of tree structures, which each includes an upper buffering level, which includes a number of intermediate storing buffers (34) for packets entering on the input links, and a lower buffering level with at least one output buffer (42), which is connected for reception of the contents in at least two of the intermediate storing buffers of the upper buffering level, and the output of which forms an output of the output link in question.

Description: Square switching architecture Technical field The present invention relates to a packet switch with a switching architecture comprising a cross network of input- and output switching links respectively crossing each other. State of the art Below follows a survey of some practically existing or suggested architectures: - Square matrix - Common medium of ring or bus type - Single-path-network, e.g. Batcher-Banyan- or Delta- networks. - Multi-path-networks, e.g. Clos- or Benes-networks. As large switches are concerned architectures which are not of square structure are foremost discussed internationally. packet switch with a square matrix has, however, many desire properties. It is free of congestion, it admits simple routing and manages point to multi point connections. On th other hand it is difficult to expand as the amount of hardware grows in proportion to the square. It is also difficult in large matrixes to solve the problem of multi¬ plexing traffic from the rows to the columns of the matrix. Proposals for solving this problem mostly imply that some form of control algorithm communicates towards the buffers the cross points and thereby distributes the bandwidth of t column between the cross points. Up to a maximum size a switch with a common medium has the same properties as the square one. It has, however, a limited size as the common medium shall carry the sum of bandwidths connected to the switch. It is therefore not suitable for a large broadband packet switch. A switch consisting of a single-path-network has the property that two packets can desire to reserve an internal link in the network simultaneously. As there is no bufferin in the network one of the packets therefore has to be eliminated (a form of internal lock) . To prevent this there must be complicated algorithms for selection and sorting of the packets. There is so far no good and simple solution to this problem. In some cases a multi-path-network is an extension of single-path-networks for solving the problem described above. These networks can be dimensioned to decrease the internal congestion and, as far as CLOS-networks are concerned, also be dimensioned free of congestion. As the name indicates there are several alternative routes through the switching network to one and the same output. Thus the routing algorithm becomes considerably more complex than for the single-path-networks. Through US 4,876,681 a packet switch is known, which has a network configuration aiming at enabling network expansion and change of configuration. The switch includes a number of "configuration units" connected in a hierarchical tree structure, where the number of hierarchical steps or levels can be selected according to the size of the network. In the respective configuration units of the tree struc¬ ture a fifo buffer is arranged. The packet tranfers to the next step of the hierarchical tree structure are made in dependence of supervision of the state of the fifo buffer in said next step. If the fifo buffer in the next step is not empty the packet data is kept in the own internal fifo buffer. Description of the invention The object of the invention is to provide a switching architecture, which in a simple way and to a reasonable cost admits the design of large as well as small packet switches. This object has been achieved by a switch of the kind defined by way of introduction, characterized by the output switching links forming a number of tree structures, each comprising an upper buffering level including a number of intermediate storing buffers for packets entering on the input links, and a lower buffering level with at least one output buffer, which is connected for reception of the content in at least two of the intermediate storing buffers of the upper buffering level, and the output of which forms an output of the output link in question. According to one embodiment the connection between said output buffer and the intermediate storing buffers of the upper buffering level can pass via one or several intermediate levels with further intermediate storing buffers. According to one advantageous further embodiment the buffers of the upper buffering level can be connected each for receiving packets intended for each a number of at least two output links, a corresponding number of output buffers being arranged in a demultiplexing unit for these output links. According to a preferable and very advantageous further embodiment the functions of the switch are distributed among two types of a number of functional units, viz., on the one hand, an input unit with functions for converting serial bitstreams to parallel formats, recreating the phase positio of the bitstream from the input links, and recovering packet limits and adjusting the phase positions of these so that they will land on complete words in the following buffers, and, on the other hand, a cross point unit including a storing buffer. Said functional units can be utilized in the packet switch so as to make the latter to be made of a number of input link and output link units with each an input unit and a number of following cross point units, arranged in series, said storing buffers of the input link units forming the upper buffer level intermediate storing buffers, and said storing buffers of the output link units forming the lower buffer level output buffers. Description of the Figures The invention will now be described in detail with reference to the enclosed drawings, on which Figures 1 and 2 schematically illustrate the design of two conventional square switching matrixes, Figure 3 shows a circuit diagram of a packet switch desi gned according to the invention, Figure 4 shows a detail of the switch according to Figu 3, illustrating the tree structure of one of the columns of the switch, Figures 5 and 6 illustrate further developments of the tree structure acccording to Figure 3, Figure 7 shows the implementation of a basic block, designated to be used at the realization of a practical implementation of a switching matrix according to the invention, and Figure 8 and 9 show the design of two embodiments of a switching architecture by means of basic blocks according to Figure 7. A more detailed description of the background of the invention will now first follow with reference to Figures l and 2. A conventionally designed switching matrix for a packet switch can have the appearance shown in Figure 1. The matrix has N input rows 2 and N output columns 4. Thereby N*N cross points are achieved, of which one has been indicated at 6. The matrix should realize a space switching function, i.e. packets entering the matrix on an arbitrary row should be guided out on one or several arbitrary columns. In each cross point 6 there is therefore some form of intelligence, typically an address interpreter, which translates the addresses of the packets to a decision with respect to whether the packet should be guided out or not. There is furthermore an intermediate storing buffer 8, which stores packets waiting for the output to be unoccupied. The object of this is to resolve the contention problem, i.e. the problem with packets from several rows which should be guided simultaneously to the column and thus "compete" about the column as a resource. These buffers are realized with commercially available semiconductor memories in the form of RAM:s (Random Access Memory), organized as fifos (First In First Out) . A problem which must be solved for broadband applications of the kind intended in the present case, is the limited ability of a RAM to swallow bandwidth. A RAM having a width of one bit of a word can only manage a limited bandwidth for ' a given technology. The technology available today admits perhaps up to 100 Mbit/s. It can therefore be stated that a RAM has a certain bandwidth limitation per bit width of a word. The weakness of this type of matrixes is therefore that they grow in proportion to the square (N*N) which requires a large amount of hardware for large switches. At the same time it is very difficult to solve the problem of multiplexing the packets from the rows out to a column for a large number of rows (for a given technology the number of rows which can be multiplexed to a column is limited) . The first step to increase tha capacity of a RAM is therefore to increase the number of bits in parallel, so that the buffers of a column can be brought together to a common fifo buffer 10 according to what is shown in Figure 2. The multiplexing is then done towards this common buffer. There is, however, even for this a form of a practical limitation, since when the number of bits in parallel is approaching 100-200, the words start to become so wide that they are unmanageable. This provides problems with very wide buses, which are difficult to lay out on a circuit board etc. For ATM there is besides a limitation in that a so called AT cell comprises 424 bits, which implies that it is fundamentally impossible to have a larger width than that o a word in the buffers included in the switching matrix. With technology available today it is approximately possible to multiplex 16, 32, or up to 64 rows toward a buffer. Preferred embodiments According to the invention the problems mentioned above have been solved in a way, which is schematically illustrate in Figure 3. The matrix shown in Figure 3 is composed of a number of matrix modules which are fundamentally of the design shown i Figure 2. Four of the matrix modules are indicated at 20, 22, 24 and 26, respectively. The matrix has a total of 2n inputs, indicated with a common line 28. Each matrix module has n rows, the matrix modules 20 and 24 sharing the same n rows, as indicated with a common line 30, and the matrix modules 2 and 26 sharing the same n rows, as indicated with a common line 32. In the same way as in Figure 2 the n respective rows of each matrix module 20, 22, 24, 26 are multiplexed toward n common fifo buffers 34, the respective outputs of which correspond to each one of n columns of each matrix module. (In Figure 3 the buffers 34 of the matrix modules 20 and 24 are not visible) . In the matrix modules 20 and 22 column buffers 34 with the same column number are multiplexed (thus, in this case in pairs) towards a common fifo buffer 36 of a following node. The same is valid for the matrix modules 24 and 26, the column buffers 34 of which having the same column number are multiplexed towards a common fifo buffer 38. The outputs of the altogether 2n fifo buffers 36 and 38 form the output columns 40 of the composed matrix shown in Figure 3. From Figure 3 together with the above description it appears that each column in the composed matrix forms a tree structure where the 2n rows 30 and 32 are multiplexed towards a fifo buffer 34 in the leaves of the tree and that all rows are evenly distributed among the leaves of the column tree. The fifo buffer 34 of the leaf is then emptied with a constant bandwidth down into the fifo buffer 36, 38 of the next node, several leaves being emptied towards this buffer so that the structure gets thinner towards the root of the tree. With reference to Figure 4, which shows the first column of the matrix in a further schematized form, the leaf buffer 34 of both the matrix module 20 and the matrix module 22 being visible, also the space switching will be illustrated here. The space switching is done by assigning to each packe entering the switching matrix a kind of label, which indicates the column or columns, to which the packet should be transmitted. The label thus constitutes a direct address to a column. The columns are configured such that they get a physical address from zero up to the number of columns of th matrix. Each unit has knowledge of the column to which a buffer belongs, and thereby the situation can be regarded as if each buffer has an address, even if it shares this addres with all buffers in the same column. Address decoding is effected in each buffer stage throug the column tree down to the root, and is done by an address interpreter 41 comparing the address of the packet against the address identity of its column. If the address of the packets is the same as the address of the column, the packet will be copied into the buffer, and in the opposite case no copying is done. One of the conditions for a switching matrix of the kind here indicated is that the bandwidth of a column should be a large as the bandwidth of a row. The bandwidth requirement i the buffer structure is thereby caused foremost by the varying burst density in the arrivals of traffic to the firs buffer stage 34. By this is meant that there can arrive packets on several rows simultaneously, which should be guided towards the same column, while in between there can appear intervals without packets to this buffer. To cope wit this the first buffer stage must be able to manage the sum o the bandwidths of the number of connected rows. In a practical case this bandwidth can be of an order of magnitud of 200 Mbit/s per row. The suggested tree structure is implemented with a leaf buffer, which aided by the best technology is able to manage the largest possible bandwidth and thereby allows the connec tion of n rows. When this is not enough for large switching matrixes the number of rows is distributed over more leaf buffers in a tree structure. (Per se, it is, however, normally desirable to limit the number of buffer stages in the column) . As it is known that the bandwidth out from a root buffer of a column never is larger than the bandwidth of a row, the bandwidth out from a leaf buffer will neither never be large than on a row. It could therefore be said that the traffic i the leaf buffer of the tree has been concentrated by filtering out, by means of the addressing mechanism, the traffic (packets) , which should not be guided to this column Thereby the bandwidth towards the root buffer has been concentrated a factor n, and if the root buffer is implemented according to the same principle as the leaf buffer, the tree can be expanded to comprise n leaf buffers and thereby n*n rows before further buffer stages must be introduced. With reference to Figure 5, which illustrates one of the tree structures of a further developement of the matrix acor- ding to Figure 3, fifo buffers 34 with the same column number are also emptied with a constant bandwidth to the next buffer (node) 36 and 38, respectively, and so on down to the root of the tree, the fifo buffer of which is here designated 42. The root of the tree corresponds to the output of the column out from the matrix. In this way indefinitely large matrixes can, basically, be created by the trees of the columns being ex- panded with a suitable number of nodes. From Figure 5 it also appears how the tree in the column is expanded depending upon the number of rows which are included in the matrix. The two lowest row lines 30, 32 are the same as in Figure 3. For a given application of the packet switch there are requirements on a specified bandwidth for each row and column in the matrix. It is then easy to understand that it is an advantage to carry out the space switching in the matrix on a larger bandwidth than that on a row and a column, respectively. This is done in combination with a demultiplexing of the larger bandwidth at the output (the root) . This depends upon the fact that the number of leaves grows in proportion to the square in the matrix while the demultiplexing gives a linear growth of the number of fifos in the root of the tree. The result is a tree structure according to Figure 6. In Figure 6 the bandwidth between the leaf buffers 48, which correspond to the buffers 34 in Figure 4, and the node buffers 50, which correspond to the buffers 42, 44 in Figure 4, is a factor two larger than the bandwidth on the rows of the matrix and the output of the column. In other words, the traffic of two columns is emptied into each buffer 48. This implies that the leaves and nodes of two columns can be coordinated in one and the same tree (by the space switching being made on a higher "level") . On the other hand, the root of the tree must be completed with a fifo buffer 52 and 54, respectively, for each column belonging to the tree, i.e. the root must include a demultiplexing function, designated 56. In an implementation of a square switching matrix according to the structure, which has been shown schema¬ tically in the earlier sections, there is a great need for connections at on physical level. All rows should be distributed to all cross points in a row and the columns should collect all cross points in a column. This together with the requirement that each row and column in a broadband switch should carry the highest possible serial bandwidth, creates a great need for good transmission properties. A functional partition of the functions of the matrix into two implementation units provides these good properties. With reference to Figure 7, the functions can be shared among an input unit 60 and a cross point unit 62. The input unit 60 manages and terminates serial bit streams entering on the rows 64 and converts these to a simpler parallel format, as seen from the point of view of transmission ability. The cross point unit 62 performs space switching and buffers the packets in fifo 66 in the cross point. It is connected to the input unit via the parallel interface. These two units together form a structure according to Figure 7, here called "Pipe". The Pipe outlined in Figure 7 is a basic block, which can be used at the implementation of the switching matrix. Into the Pipe serial bit streams are connected to the input unit 60. It is possible to connect up to n bit streams which are converted to parallel format and are further transmitted out to a parallel interface towards the first cross point unit 62. The parallel connection between two cross point units can be of the type point to point, which implies that a cross point unit is an active part of the connection, i.e. the parallel connection enters into and through the cross point unit. Each cross point unit can include an amplifying function. In such a way very good transmisson properties can be achieved on the connection betweeen two units 62. The size or length of the Pipe can be varied by providing it with an arbitrary number of cross point units 62, by whic the number of outputs, m in the Figure, can be varied arbitrarily. By making the Pipe unit with an input unit and a cross point unit many advantages are achieved considering the grea need for bandwidth on rows and columns (by order of magnitude of 200 Mbit/s and more) . At bandwidths of this size special solutions are required for designing synchronous system. A problem is that the propagation time of a data signal from transmitter to receiver even for short transmission paths rather soon exceeds the pulse width of a data bit. Therefore it is required that the receiver can recover the phase position of the data signal with respect to a referenc clock in the synchronous system. Further the phase position of the packets (ATM-cells) must be recovered, which is in turn dependent on the packets being buffered as a whole number of words in the RAM-based buffers. These two functions are relatively expensive to implement, foremost with respect to power consumption and silicon area. It is therefore an advantage if they can be broken out as a common part for several units, which has bee done with the Pipe-unit shown in Figure 7. Thus, the input unit 60 comprises functions for recovering, on the one hand, the phase position of the data stream from the n connections, and for recovering, on the other hand, the packet limits and adjusting the phase positions of these so that they get into complete words in the following buffers. This can be made in a manner well known by the man of the art and it is therefore not necessar to describe further details thereof here. A requirement for it to provide any advantage is that the successive interface are "simple" from a transmission point of view and that they will not destroy the recovered phase position. This is likewise achieved with the unit shown in Figure 7. Since the input unit and the cross point units are located on the same circuit board they can be placed in a row, and thus, the distance circuit to circuit becomes very short with good transmission properties. The principle of providing a tree structure for a 2n*2n switching matrix with six Pipe-units appears from Figure 8, only four of these units being shown in the Figure. The division into Pipe-units is primarily determined by the manner of design to be used, e.g. the size of the circuit board decides the number of input and cross point units 60 and 62, respectively, for which there is room on the circuit board. The Figure describes an ideal relationship when a maximum number of inputs and outputs of the Pipe-unit limits its size. More particularly, the 2n rows and the 2n columns have been distributed so that the number of rows has been distributed among two Pipe-units 80 and 82, respectively. Each of these two units connects n of the rows of the matrix and comprises 2n of the leaf buffers of the matrix. As a total there are thus 4n leaf buffers in the switching matrix Thus, a column tree consists of a leaf buffer 83 from each of the Pipe-units 82 and 84, respectively, and of one root buffer 86 of each of four column collecting Pipe-units, of which only two are shown, viz. 88 and 90. These column collecting units can as a maximum provide n/2 root buffers, due to the maximum of n inputs to the Pipe-unit. In Figure 9 an embodiment alternative to that of Figure is shown, which is different from the latter only by each column tree of the matrix being formed by a short Pipe-unit. Only three column trees are shown at 92, 94 and 96, respectively. These short units consist each of an input uni 98 and a cross point unit 100 with a root buffer 102. Also nodes, if any, in the tree can be provided with the aid of each a short Pipe-unit. If the bandwidth of the bit streams from the leaf buffers is larger than the bandwidth out from the root, a demultiplexing function, of the kind which has been desribed above with reference to Figure 6, is implemented in the short Pipe. To sum up, rows and cross points of a matrix can be implemented with a number of long Pipe-units, which include the leaf buffers. The length of such a Pipe is the same as the number of rows in the matrix or less dependent on whethe the bandwidth between the leaf and the root of the coulumn tree is larger than the bandwidth of a row or the bandwidth out from the root of the column tree. The root and possible nodes in the tree are implemented in a short Pipe, which connects serial bit streams from the fifo buffers of the leaves. If the bandwidth of the bit streams from the leaves is larger than the bandwidth out from the root, a demultiplexing function is also implemented in the short Pipe. As the address decoding is also made at the root of th tree it is possible to implement several root buffers in the same Pipe-unit. If the unit only utilizes one root buffer no decoding of the address of the packets needs to be done in this stage, but detection is only done with respect to whether there is a packet present, which in such case is copied into the buffer. With this arbitrary Pipe a switch matrix with a modular design is achieved which can be expanded to an arbitrary size. Besides the functionality can be implemented with the aid of two implementation units which is the same as two types of integrated circuits. By the invention a switch is provided which is, i.a., suitable for packets according to the ATM-standard (Asynchronous Transfer Mode) . The architecture is free of congestion, expandable, resolves contention and manages multipoint connections. Besides it can utilize the developement of the technology in a flexibel and efficient way. These properties make the architecture very suitable for the realization of a general ATM-switch for Broadband Integrated Services Digital Networks (B-ISDN) .

Claims: Claims 1. A packet switch with a switching architecture compri¬ sing a cross network of input and output switching links crossing each other, characterized by said output switching links forming a number of tree structures each including an upper buffering level containing a number of intermediate storing buffers (34) for packets entering on said input links, and a lower buffering level with at least one output buffer (42) , which is connected for receiving the content in at least two of said intermediate storing buffers of said upper buffering level, and the output of which forms an output of said output link in question. 2. A packet switch according to claim 1, characterized by the connection between said output buffer (42) and said intermediate storing buffers (34) of said upper buffering level passing via one or more intermediate levels with further intermediate storing buffers (36,38). 3. A packet switch acording to claim 1 or 2, charac- terized by said buffers (48) of said upper buffering level being each connected for receiving packets intended for each a number of at least two output links, and a corresponding number of output buffers (52) being arranged in a demultiplexing unit (56) for these output links. 4. A packet switch according to any of the claims 1-3, characterized by its inputs being distributed among the inputs of at least two matrix modules (20,22) arranged in parallel, each output of which towards an ouput link including an intermediate buffer (34) on said upper buffering level to which all input links of each matrix module are connected in common, the outputs of said intermediate storing buffers (34) of the different matrix modules for each output towards an output link of said matrix modules being connecte to a common further buffer (36,38). 5. A packet switch according to claim 4, characterized b the outputs of said further buffers (42) being connected to common output buffer (46) of the switch for each output of the latter. 6. A packet switch acording to any of the claims 1-5, characterized by the switching functions of the switch being distributed among two types of a number of functional units, viz., on the one hand, a cross point unit (62) including a storing buffer (62) and, on the other hand, an input unit (60) terminating serial bit streams and converting the format to a simpler internal format, as seen from the point of view of transmission properties, between said input unit and one or more cross point units. 7. A packet switch according to claim 6, characterized by said input unit (60) having functions for conversion of serial bit streams to parallel formats, recreation of the phase position of the bit streams from the input links, and recover of packet limits and adjustment of the phase positions of these so that they will fall into complete words in the following buffers. 8. A packet switch according to claim 6 or 7, charac¬ terized by a design comprising a number of input and output link units each with an input unit and a number of cross point units following thereafter in series, said storing buffers of said input link units forming said upper buffer level intermediate storing buffers, and said storing buffers of said output link units forming said lower buffer level output buffers. AMENDED CLAIMS [received by the International Bureau on 25 October 1993 (25.10.93); original claims 1-8 replaced by amended claims 1-11 (3 pages)] 1. A packet switch with a switching architecture comprising a cross network of input and output switching links crossing each other, characterized by said output switching links forming a number of tree structures each including an upper buffering level containing a number of intermediate storing buffers (34) for packets entering on said input links, and a lower buffering level with at least one output buffer (42) , which is connected for receiving the content in at least two of said intermediate storing buffers of said upper buffering level, and the output of which forms an output of said output link in question. 2. A packet switch according to claim 1, characterized by the connection between said output buffer (42) and said intermediate storing buffers (34) of said upper buffering level passing via one or more intermediate levels with further intermediate storing buffers (36,38). 3. A packet switch acording to claim 1 or 2, characterized by said buffers (48) of said upper buffering level being each connected for receiving packets intended for each a number of at least two output links, and a corresponding number of output buffers (52) being arranged in a demultiplexing unit (56) for these output links. 4. A packet switch according to any of the claims 1-3, characterized by its inputs being distributed among the inputs of at least two matrix modules (20,22) arranged in parallel, each output of which towards an ouput link including an intermediate buffer (34) on said upper buffering level to which all input links of each matrix module are connected in common, the outputs of said intermediate storing buffers (34) of the different matrix modules for each output towards an output link of said matrix modules being connected to a common further buffer (36,38). 5. A packet switch according to claim 4, characterized by the outputs of said further buffers (42) being connected to a common output buffer (46) of the switch for each output of the latter. 6. A packet switch acording to any of the claims 1-5, characterized by the switching functions of the switch being distributed among two types of a number of functional units, viz., on the one hand, a cross point unit (62) including a storing buffer (62) and, on the other hand, an input unit (60) terminating serial bit streams and converting the format to a simpler internal format, as seen from the point of view of transmission properties, between said input unit and one or more cross point units. 7. A packet switch according to claim 6, characterized by said input unit (60) having functions for conversion of serial bit streams to parallel formats, recreation of the phase position of the bit streams from the input links, and recover of packet limits and adjustment of the phase positions of these so that they will fall into complete words in the following buffers. 8. A packet switch according to claim 6 or 7, characterized by a design comprising a number of input and output link units each with an input unit and a number of cross point units following thereafter in series, said storing buffers of said input link units forming said upper buffer level intermediate storing buffers, and said storing buffers of said output link units forming said lower buffer level output buffers. 9. A packet switch with a switching architecture comprising a cross network of input and output switching links crossing each other, characterized by the switching functions of the switch being distributed among two types of a number of functional units, viz., on the one hand, a cross point unit (62) including a storing buffer (62) and, on the other hand, an input unit (60) terminating serial bit streams and converting the format to a simpler internal format, as seen from the point of view of transmission properties, between said input unit and one or more cross point units. 10. A packet switch according to claim 9, characterized by said input unit (60) having functions for conversion of serial bit streams to parallel formats, recreation of the phase position of the bit streams from the input links, and recover of packet limits and adjustment of the phase positions of these so that they will fall into complete words in the following buffers. 11. A packet switch according to claim 9 or 10, characterized by a design comprising a number of input and output link units each with an input unit and a number of cross point units following thereafter in series, said storing buffers of said input link units forming said upper buffer level intermediate storing buffers, and said storing buffers of said output link units forming said lower buffer level output buffers.

Inventors: LUNGBERG PER ARVID MARTIN, SANDIN ROLF STEFAN, LUNGBERG, PER, ARVID, MARTIN, SANDIN, ROLF, STEFAN
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET L M ERICSSON
Application year: 1993
Main classification: H04L12
IPC codes: H04L12