A REDUNDANCY STRUCTURE IN A DIGITAL SWITCH

Abstract: A functional entity in a digital switch (102) is triplicated in planes operating in parallel. From each plane a respective passing data flow is spread to each of the planes in parallel therewith. A majority vote function (502) receives the data flows of the own plane and the planes in parallel therewith, and compares these on a bit level for creating a majority voted data flow (DATAMV). A plane condition sensing function (514) indicates whether links of the planes (A, B, C) have meaningful information and synchornism, and emits, as a result, a link condition indicating signal (INSYAI, INSYBI, INSYCI) for each plane forming an indication thereof. A priority select function (506) is connected for receiving the majority voted data flow (DATAMV) and the link condition indicating signals. If the link condition indicating signals indicate a fault condition, the priority select function lets the majority voted data flow (DATAMV) through as an outgoing data flow (DATAOUT) from the functional entity. In case a fault condition is indicated in one or more of the link condition indicating signals, the priority select function selects the data flow from one of the planes as an outgoing dataflow (DATAOUT) based upon an established priority order.

Description: A redundancy structure in a digital switch. Technical Field of the Invention. The present invention according to a first aspect relates to a redundancy system for a functional entity in a digital switch, and a method for providing such a redundancy system. According to a second aspect the invention relates to a redundancy system for a digital switch with switch inputs and switch outputs and switch equipment therebetween. The switch equipment comprises a switch core and functional entities, a connection path for data flows between a switch input and a switch output being able to comprise a number of such functional entities on both sides of the core. The redundancy system comprises switch planes working in parallel and having mutually essentially identical switch equipment and majority vote functions, distributing means for distributing a data flow coming in from the outside to the equipments of the switch planes, and assembling means for assembling the data flows coming from the switch planes. According to the second aspect the invention also relates to a method for providing a redundancy structure for a digital switch with switch inputs and switch outputs and switch equipment therebetween, that comprises a switch core and functional entities, a connection path for data flows between a switch input and a switch output being able to comprise a number of such functional entities on both sides of the core. Description of Related Art. US 4,706,150 relates to a switching protocol for multiple autonomous switching planes. Supervision is performed of switching in the planes and retrials are provided when connection attempts are unsuccessful. The retrials can consist in a user having established connections through a majority of the planes emitting a retrial request that sets aside the already estab¬ lished connections in the remaining planes. According to an alternative form all users emit retry requests, the planes in accordance with a priority scheme among the users accepting a 5 higher prioritized request and rejecting a lower one. US 5,278,843 discloses a multiple processor system in which appearance of faults in the microprocessors is decided in accordance with a majority rule and selection is performed on the basis thereof and a predetermined priority order, an output 0 signal being emitted from the microprocessor in which there is no fault and the priority order of which is higher. In EP 097,781 there is described a method for testing very fast logic systems while using a slow testing device. Different test patterns are used at the testing. 5 US 4,393,490 relates to digital switch systems with built-in fault identification, there being used i.a. a fault pattern injection. US 4,535,442, GB 1,393,645, GB 1,439,568 and GB 1,582,456 describe different types of digital switch systems with fault 20 supervision. Majority vote functions in triplicated redundancy systems have been used during a long time, e.g. in telecommunication equipments. An example of this appears e.g. from the Swedish patent 25 466,475. Use only of majority votes have in certain cases turned out to be unsufficient when all three planes are not fault free. In particular this is true in case of problems arising at managing the planes in a system due to a fault when a plane or a card is 30 replaced or the system is expanded or reconfigured when changing card types. This can give rise to disturbances on a system level. Summary. A first general object of the invention is to provide an 35 improved redundancy system for telecommunication equipments, in particular digital time switches. In a redundancy system building upon use of majority vote functions there is a second object to introduce functionality enabling handling of problems caused by one or more of the planes being not fault free. A third particular object is to introduce functionality that results in improved handling of the planes due to faults when planes or cards are exchanged, or when the system is expanded or reconfigured in case of changing card types. A fourth particular object in the just mentioned context is to enable handling of cards without disturbances on a system level. Further objects will appear from the closer description henceforth of the invention and its advantages, in particular the description of embodiments with reference to the drawings. The above objects have been attained by that stated in the attached patent claims. In the redundancy system according to the first aspect, the functional entity is at least triplicated in planes working in parallel, means are provided for spreading from each plane a respective passing-by data flow to each plane in parallel therewith. Each plane has a unit for maintenance functions including a majority vote function that receives the data flows of the own plane and the planes in parallel therewith and compares these on a bit level for creating a majority voted data flow. A plane condition sensing function indicates if links of the planes have meaningful information and synchronism and as a result emits a link condition indicating signal for each plane, that forms an indication thereof. A priority select function is connected to receive the majority voted data flow and the link condition indicating signals and, if the later do not indicate a fault condition, lets through the majority voted data flow as an outgoing data flow from the functional unit. In case of in¬ dication of a fault condition in one or more of the link condition indicating signals the priority select function selects the data flow from one of the planes as an outgoing data flow on the basis of a determined priority order. The redundancy system according to the second aspect is distributed to at least a plurality of the functional entities on each of the connection paths for data flow between switch output and switch input, in a way that each such functional entity has its own redundancy subsystem with planes working in parallel and comprising means for spreading from the equipment of each plane a respective passing-by data flow to each equipment in parallel therewith. Each plane and each switch output has a unit for maintenance functions including a majority vote function that receives the data flows of the own plane and the planes in parallel therewith and compares these on a bit level for creating a majority voted data flow. A plane condition sensing function indicates if links of the planes have meaningful information and synchronism and as a result emits a link condition indicating signal for each plane, that forms an indication thereof. A priority select function is connected to receive the majority voted data flow and the link condition indicating signals. If the link condition indicating signals do not indicate a fault condition, the priority select function lets through the majority voted data flow as an outgoing data flow, but in case of indication of a fault condition in one or more of the link condition indicating signals the priority select function selects the data flow from one of the planes as an outgoing data flow on the basis of a determined priority order. The redundancy systems according to the first and second aspects have a number of preferred and important embodiments, of which some are stated below. The unit for maintenance functions suitably also includes a plane comparison function that compares the parallel data flows with the majority voted data flow and in case of deviation from this emits a fault indicating signal for the deviating data flows. The majority vote function and plane comparison function can, in that connection, be tested by successively temporarily changing the look of the data flows from the planes in a way that in the data flow from one plane at a time there is introduced a sequence of known test bit patterns. A pattern detecting function can, in that connection, be connected to the output of the priority select function for sensing in the outgoing data flow said test bit pattern during determined sections of the data flow. According to a very important embodiment, the plane condition sensing function receives a link condition indicating input signal for each plane and forwards these signals as link state indicating ouput signals to the priority select function. The plane condition sensing function then includes means to impart, for testing purpose, to one or more of the link condition indicating output signals link fault indicating values during said determined section of the data flow. The priority select function is tested by deactivating one or more of the link condition indicating signals and sending other signal patterns from the plane expected to be selected than from the other two planes in such a way that all cases are simulated that can appear according to the determined priority order. Furthermore, there are preferably means in each plane for continuously rewriting/updating memory positions between the planes, as well as means for reading out one position from a memory in the own plane and in each of the other planes to a majority vote/priority select function in the respective plane. Means are furthermore provided for returning the result from the majority vote/priority selection to the memory of the own plane and writing it in on the same position. For fault localization of circuit cards there can further¬ more, according to one embodiment, be provided means for producing a count of a checksum for each circuit card interface in all of the planes, means for plane comparison of check sums on a bit level in turn in the respective planes, and means for indicating, in case of deviation in some checksum, from any plane, this deviation and pointing out the check sum that is wrong. In the method according to the first aspect at least triplication of the functional entity in planes working in parallel, and spreading from each plane a respective passing-by data flow to the equipment of each plane in parallel therewith is performed. In each plane the data flows of the own plane and the planes in parallel therewith are compared on a bit level for creating a majority voted data flow. Indication is performed of whether the links of the planes have meaningful information and synchronism and as a result a link condition indicating signal is emitted. If the link condition indicating signals do not indicate a fault condition, the majority voted data flow is emitted as an outgoing data flow, but in case of indication of a fault condition in one or more of the link condition indicating signals, the data flow from one of the planes is selected as an outgoing data flow on the basis of a determined priority order. In the method according to the second aspect the redundancy system is distributed to at least a plurality of the functional entities on each of the connection paths for data flow from switch input to switch output, in a way that each such functional entity has its own redundancy subsystem with planes working in parallel. From the equipment of each plane a respective passing- by data flow is spread to each equipment in parallel therewith, and in each plane and each switch output the data flows of the own plane and the planes in parallel therewith are compared on a bit level for creating a majority voted data flow. Indication is performed of whether links of the planes have meaningful information and synchronism and as a result a link condition indicating signal is emitted for each plane, that forms an indication thereof. If the link condition indicating signals do not indicate a fault condition, the majority voted data flow is let through as an outgoing data flow from the functional unit, but in case of indication of a fault condition in one or more of the link condition indicating signals the data flow from one of the planes is selected as an outgoing data flow on the basis of a determined priority order. The methods according to the first and second aspects have a number of preferred and important embodiments, of which some are stated below. The parallel data flows are compared with the majority voted data flow and in case of deviation from this a fault indicating signal is emitted for the deviating data flows. The majority vote and the plane comparison is tested by successively temporarily changing the look of the data flows from the planes in a way that in the data flow from one plane at a time there is introduced a sequence of known test bit patterns. In the outgoing data flow the test bit pattern is sensed during determined sections of the data flow. A link condition indicating input signal is received for each plane and is forwarded as link state indicating ouput signals to the priority selection, and to one or more of the link condition indicating output signals are link fault indicating values imparted during determined sections of the data flow. The priority selection is tested by deactivating one or more of the link condition indicating signals and sending other signal patterns from the plane expected to be selected than from the other two planes in such a way that all cases are simulated that can appear according to the determined priority order. Rewriting/updating between the planes of memory positions is continuously performed by reading out one position from a memory in the own plane and in each of the other planes and exposing the position to a majority vote/priority selection in the respective plane, and the result from the majority vote/priority selection is passed back to the memory of the own plane and is written into the same position. For fault localization of circuit cards a checksum is counted for each circuit card interface in all of the planes, plane comparison of check sums is performed on a bit level in turn in the respective planes, and, in case of deviation in some checksum, from any plane, this deviation is indicated and the check sum that is wrong is pointed out. Accordingly there is suggested, in accordance with that defined more in detail above, a mechanism that admits prioriti¬ zing according to a determined order between the planes as soon as all three planes are not fault free. The main advantage appears at handling of the planes due to faults when a plane or a card are exchanged or when the system is expanded or recon- figured in case of changing of card types. The prioritizing enables handling of cards without disturbances on a system level. The proposal also includes routine tests for supervision and maintenance. Likewise functionality for updating between the planes is included, that is used in case of soft faults and card exchange for making them synchronous. Updating is used for all memories the information of which has a certain duration in time. Without updating, soft faults in these memories could at last imply that disturbances affect connected devices due to double faults. To sum up, a switch implementation of the invention can include use of: - majority vote in operation, - transition to priority selection when one or more links are out of synchronism, - switch plane comparison for εwitch operation maintenance, - routine tests based upon use of test patterns, - updating between the switch planes. The maintenance in the switch is based upon the fact that it consists of three identical and synchronously operating switch planes. Data to connected devices is selected by majority vote before forwarding them. Use of majority vote makes the switch tolerant to bit faults in one switch plane at a time. For attaining enough fault localization, data are also majority voted on the switch core side of a multiplexer/demultiplexer step between a switch port and the switch core. Majority vote is also used together with cross connections between the switch planes for giving to different memories the same contents in the three switch planes. The majority vote is performed on a bit level but works with parallel data. If some switch plane goes out of synchronism priority selection is started. The logic for majority vote, switch plane comparison and priority selection is autonomously tested by regularly sending out a determined test pattern in a time slot in the frame. This time slot is used for automatic routine tests of circuits for switch plane comparison, majority vote and priority selection. Differences between the switch planes are deliberately introduced in this time slot. The fault indication obtained is interpreted as a confirmation that the fault detecting circuits operate correctly. Brief Description of the Drawings. The invention will now be described more closely below with reference to the attached drawings on which Fig. 1 is a schematic logical picture of the essential design of a STM switch, Fig. 2 is a view schematically illustrating the connection of devices via multiplexers in a switch according to Fig. 1, with a three plane redundancy structure, Fig. 3 schematically illustrates a three plane redundancy structure in its entirety for a connection extending over the switch core between an incoming and an outgoing switch port of a switch according to Figs. 1 and 2, Fig. 4 schematically illustrates a principle for cross connection between the planes for a multiplexer included in Fig. 1, Fig. 5 shows the essential design of a maintenance func¬ tionality a number of which being included in the redundancy structure illustrated in Fig. 3, Fig. 6 illustrates the principle for majority vote performed by a majority vote function included in the maintenance func¬ tionality according to Fig. 5, Fig. 7 in more detail shows some of the funtions included in the maintenance functionality according to Fig. 5, Figs. 8a-c show tables over test patterns used for routine tests of functions included in the maintenance functionality according to Fig. 5, Fig. 9 schematically illustrates updating of memories between the planes of a three plane redundancy structure according to Fig. 3, Fig. 10 illustrates how to base fault localization within the switch core of a switch according to Figs. 1-3 on a plane comparison between the three planes A, B and C of a worked out check sum. Detailed Description of Embodiments. Fig. 1 schematically shows a logical picture of the essential design of a STM εwitch (Synchronous Transfer Mode) . A switch core, generally designated 102, haε a so called time/space structure, by which is meant a switch in which two choices are performed, one time choice and one space choice. The data flow in the switch is assumed, as an example, to be organized in 125 uS long frames containing a number of time slots. The time slots consist of data time slots used for data, and control time slots. The switch core 102 contains switch memories 104 arranged in rows and columns in a square matrix, wherein each row of switch memories is filled with data from an incoming link. Each one of blocks 106.0-106.n represents a number of switch ports which are two-way connected to the core 102. The writing into the memories 104 is cyclical. Outgoing links are controlled from control memories 108 for eεtablishing calls. The time slots in an outgoing link are selected from frameε stored in switch memories 104, which belong to different incoming links. Fig. 2 is intended to schematically illustrate the device connection and redundancy structure in a switch according to Fig. 1. Referring to Fig. 2 devices 202.0-202.n are connected, independent of type and band requirement, via a respective switch port 204.0-204.n to the switch core 102. The connection between each switch port and the switch core is of the two-way type. By devices 202 is here meant all types of subscriber connections, trunk connections and processors etc. For the switch port 204.0 this device connection is shown to extend directly, via a transport link 206.0, whereas for the switch ports 204.1-204.n the connection extendε over multiplexer/demultiplexer εtepε, containing one or εeveral ultiplexerε/demultiplexerε 208.1- 208.n+m, via tranεport linkε 206.1-206.n+q. For illuεtrating the two-way connection between the switch ports 204 and the switch core 102, the connection 206.1 via the multiplexer/demultiplexer 208.1 between the switch port 204.1 and the switch core 102 has been marked in Fig. 2 by a double set of lines marked with Du and Di, respectively, for data out from the switch port and for data in to the switch port, reεpectively. By meanε of the multiplexer/demultiplexer εtepε 208 many deviceε 202 with varying band width demand can be connected to the εwitch core 102. More particularly, the multiplexers 208 have the task of performing mapping of data time slots to the links towards the switch core 102, and speed transforming between incoming links 206 with different clasεes of speed. All data time slots coming from the switch core 102 shall be sent further towards the devices 202 in a certain order. This order can be stated by mapping memories in each demultiplexer, i.e. the demultiplexing can be controllable. Information of how to perform this is loaded in εuch a case in the mapping memories. Fig. 2 also indicates a redundancy structure by each multiplexer/demultiplexer 208 and the switch core 102 being shown triplicated. The eεsential design of this redundancy structure is shown in Fig. 3 for a connection extending over the triplicated εwitch core 102 between an incoming and an outgoing εwitch port 204. i and 204.u, respectively. The εwitch core 102 aε well aε multiplexerε 208.1 and demultiplexers 208.u are each shown as being triplicated in three switch planes A, B, C, which are identical and synchronously operating. In the εwitch port 204. i spreading is performed to the three switch planes A, B, C and in the switch port 204.u assemblance from the three εwitch planeε iε performed. Incoming and outgoing multiplexer planeε 208. i and 208.u, reεpectively, aε well aε the outgoing εwitch port 204.u contain a number of identical maintenance functions generically indicated at 302 in Fig. 3. As will be described more closely below these maintenance functions comprise i.a. the following: - If the three switch planes A, B, C work synchronously, data out to the devices 202 is generated by means of majority vote of the data flows from the three switch planeε. The majority vote iε performed on a bit level, reεulting in transparancy to single faults, and makes that single bit faults in a switch plane will not be observed in a device. - Switch plane compariεon baεed upon the majority vote is used for fault localization. - If one or more switch planes lack meaningful information and synchroniεm, transition is performed to single plane operation by choosing one switch plane by means of a prioritizing method . - Teεting functionality for the above mentioned three functions. - Updating between the switch planes. The switch planes A, B, C are cross connected for admitting plane comparison and majority vote in all planes. For this purpose there are connections between the planes for spreading, from the multiplexing step 208.i, the switch core 102 and the demultiplexing step 208.u of each switch plane, a respective passing dataflow DATAA, DATAB and DATAC to each multiplexing step 208. i, switch core 102 and demultiplexing step 208.u, respective¬ ly, of each switch plane in parallel therewith. The principle of the cross connection is more closely illustrated in Fig. 4, the triplicated multiplexer/demultiplexer 208.1 between the εwitch port 204.1 and the switch core 102 in Fig. 2 having been choεen as an example. In Fig. 4 the three planes A, B and C are spread out for elucidating the cross connection principle. Data out from the switch port 204.1 via the planes A, B and C are designated Dua, Dub and Due, respectively. Data in to the switch port 204.1 via the planes A, B and C is designated Dia, Dib and Die, respectively. Functionality included in the multiplexer/demultiplexer 208.1 is commonly designated 402 and comprises multiplexing and demultiplexing functionality. In each plane there is included, on the one hand, a spreading function 404u for spreading outgoing data from the multiplexing functionality of the functionality 402 to the other planes, and, on the other hand, a spreading function 404i for εpreading incoming data Di to the other planeε. In each plane outgoing data from the spreading function 404u of the three planes A, B and C, respectively is received in a maintenance function 302u for outgoing data, on the output of which majority voted/priority selected outgoing data Dua leaves the multiplexer 208.1. Thiε spreading is completely εhown in the Figure by dashed lineε with flow arrowε. In each plane incoming data from the respective spreading function 404i of the three planes A, B and C is furthermore received in a maintenance function 302i for incoming data, which can be identically similar to the maintenance function 302u. On the output of the maintenance function 302i majority voted/- priority selected data is received that is taken care of by the demultiplexing function of the functionality 402 to be forwarded to devices 202.1 via the switch port 204.1. For the sake of clearness this spreading is shown in the Figure only for data to the maintenance function 302i of the plane A from the respective spreading functions 404i of the planes A, B, C. In the maintenance functionε 302u and 302i, A, B and C designate inputs for data from the planes A, B and C, respec¬ tively. Switch plane comparison performed on a bit level implieε 100% fault diεcovery and furthermore fault localization to a fault affected switch plane. Majority vote performed on a bit level implies possibility of 100% fault isolation. In other words, a fault in a switch plane is isolated by the majority vote and is not passed further. This enables the switch to be transparent to all single faults in the hardware. For obtaining 100% fault discovery, fault iεolation and fault localization to a fault affected εwitch plane in the εwitch, there iε only needed the εwitch plane comparison and the majority vote performed in the switch port. Fault localization only to a fault affected switch plane iε, however, not enough. The amount of printed circuit cardε that could be εuεpected for faults has turned out to be unacceptably great. To obtain a refined fault localization and to prevent fault spreading (which makes more difficult fault localization) within the switch planes, a number of εwitch plane compariεons and majority votes are introduced in the device connection, as well as εwitch plane compariεon in the εwitch core 102. In the device connection, i.e. all between the switch core 102 and the switch ports 204, switch plane compariεon has thus been introduced in all multiplexerε 208. Thereby fault εpreading iε prevented from device 202 and multiplexer 208 to the εwitch core 102, and fault affected device cards can be localized as early as posεible. To be able to perform majority vote on a bit level, croεs connection has been introduced for the linkε 206. The cross connection between multiplexers 208 in the three switch planeε is preferably arranged on the switch core side of the multiplexer εtep 208, where the number of linkε 206 to be croεs connected is normally considerably lesε than on the device side. In Fig. 5 the design of the maintenance function 302 is shown in more detail. As an example, the circuit of Fig. 5 is presumed to be made with 9-bit data buses for a certain type of interface, but can also be uεed, with small changes, for other types of interfaces. Of the time slots of a frame, nine are reserved for link maintenance, below indicated as maintenance time slots, of which one, below referred to as BWP (Bit Wandering Pattern) , includes a test pattern. Furthermore the flow of frames through the switch is presumed to be divided into a number of, e.g., four groups, forming a multiframe. Each frame in the multiframe has a unique code in two of the maintenance time slots, below referred to as FRC1 and FRC2 (FRame Counter) . The value of the code is stepped forward with one step within each group but jumps at the transition to the next group. The frames in a multiframe are identified by a frame counter FRC by means of the code value. The frame counter FRC is created centrally in the switch. FRC values are majority voted between the planeε so as to make them identical. FRC on each other place iε principally a copy of the centrally generated FRC. After clocks included in the switch have started, the multiframe counter FRC shall be εynchronized between the planes. FRC is distributed within a plane from a central logic. The value of the multiframe counter is sent on a maintenance frame, to be described more closely below, to the other planes so that all planes have acceεε to the FRC value of all. The planes then perform majority vote on the FRC information. The result of the majority vote iε uεed to reload the FRC counter of the own plane. Thiε implieε that FRC will be identical between the planeε after εome frame. For illuεtrating that said above, an example of a majority vote of FRC values will be given here. Presume that the decimal FRC values of the planes are: 17, 2559 and 19. Binary, these values correspond to 0000 0001 0001, 1001 llll llll and 0000 0001 0011. The value majority voted bit for bit from these values then becomes 0000 0001 0011, this being the same as 19 decimally. This implies that only one εimple majority vote needs to be used in order to have the FRC of the planes to run uniformly. The next frame will thus be denominated number 20 in all of the three planes. In Fig. 5 DATAA, DATAB and DATAC come in from the εwitch plane A, the εwitch plane B and the switch plane C, respectively, on each a 9 bit bus. These buses are connected, on the one hand, to a majority vote function 502, on the other hand, to a switch plane comparison function 404 and, on the third hand, to a priority select function 506. The majority vote function 502 performs majority vote on a bit level and as a result tranεmits majority voted data DATAMV on a 9 bit bus. To perform the majority vote on bit level haε the advantage that it makeε the implementation εimple but effective when it comes to taking care of single plane faults. In Fig. 6 there is shown for one time εlot an example of bit patternε of DATAA, DATAB and DATAC, and the reεulting majority voted bit pattern DATAMV. The majority comparison seemingly showε that the third bit is the same for DATAA and DATAC but differs for DATAB, and that the last bit is the same for DATAA and DATAB but not for DATAC. The erroneous bits are shadowed. The plane compariεon function 504 compareε each of the εignals DATAA, DATAB and DATAC with DATAMV and reports εwitch plane faultε with εignalε PFA, PFB and PFC. More particularly, the signals PFA, PFB and PFC appear in the form of a positive pulse when a switch plane fault haε been detected in data from the εwitch plane A, the switch plane B and the switch plane C, respectively, and is εent to each a counter 508, 510 and 512, reεpectively, for counting the pulεeε. In the example according to Fig. 6 both PFB and PFC will report switch plane faults for the time εlot in question. When a switch plane is out of sync, the PF signals for the two operating switch planes will still indicate difference, if any, between the switch planes, but it is of course impoεεible to know which of the two switch planes that is correct. In this case priority selection should be used. The priority select function 506 is a multiplexer that receives data DATAA, DATAB, DATAC and DATAMV. The multiplexer 506 is controlled by signals INSYAI, INSYBI and INSYCI, to be described more closely below, to generate majority voted or priority selected data DATAOUT, that is emitted on an output in the form of a 9 bit buε. More particularly, the εignalε INSYAI, INSYBI and INSYCI give an indication of whether the links to switch planes A, B and C have meaningful information and synchronism. If this iε true for all three switch planes the multiplexer 506 lets through DATAMV as DATAOUT to the output. If the opposite is true for one or εeveral εwitch planeε, the multiplexer performs selection of a plane based upon an establis- hed priority order. A preferred embodiment of εuch a priority order iε given below: Plane A lackε sync: Select data from plane B. Plane B lacks εync: Select data from plane A. Plane C lackε sync: Select data from plane A. Planes A and B lack sync: Select data from plane C. Planes A and C lack sync: Select data from plane B. Planes B and C lack sync: Select data from plane A. No plane has sync: Select data from plane A. A sync deactivating function 514 haε three inputs for receiving signals INSYA, INSYB and INSYC, respectively, which by an 1 indicate if the links of the switch planes A, B and C, respectively, have meaningful information and synchronism. In the opposite case they contain a 0. The signals INSYA, INSYB and INSYC are obtained from a link receiver, not described here, that searches a frame sync word and a correct link code. If thiε is found an 1 will be the result, otherwiεe a 0. Normally, these signals are let through unchanged by the function 514 as the above mentioned signals INSYAI, INSYBI and INSYCI, respectively. For the purpose of routine teεt to bring the signals INSYAI, INSYBI and INSYCI to 0 during certain test time εlots the sync deactivating function 514 is, however, controlled by two signals FRC.εign and BWP.sign. More particulary, this iε done during certain time slots for each multiframe when the test pattern BWP is generated and FRC.sign indicates particular values. FRC.sign is obtained from the above mentioned counter FRC, which is a 14- bit frame counter. The signal BWP.sign indicates that a current time slot is a BWP time slot. In Fig. 7 the essential design of the majority vote function 502, the priority select function 506 and the sync deactivating function 514 is shown in more detail. Fig. 7 illustrates the majority voting and priority selecting course on a bit level, i.e. for each bit of the parallel data flows DATAA, DATAB and DATAC, respectively, coming in on a corresponding 9 bit buε. Each bit in the parallel data word, one from each of the planes A, B and C, respectively, is supplied to a set of three AND gates 702, 704 and 706, respec¬ tively, followed by an OR gate 708, said elements being included in the majority vote function 502. The three bits are also supplied to a corresponding multiplexer 710 included in the priority select function 506. More particularly, the three bitε are supplied to each a first input of the AND gate 702, 704 and 706, respectively, in the majority vote function 502. On a εecond input of the AND gateε 702, 704 and 706, the bit from the data flow DATAB, DATAC and DATAA, respectively, is supplied. The bits from the outputs of the AND gates 702, 704 and 706 are supplied to each an input of the OR gate 708. If all three data bits appear and are identical, the same bit iε obtained for each of the outputs of the AND gates 702, 704 and 706 as well as on the output of the OR gate 708, in accordance with known ruleε for logical operationε. If, to the contrary, there εhould be difference, a majority voted bit iε obtained in the reεulting data flow DATAMV. The priority select function 506 includes, besides nine multiplexers 710, one for each bit, an inverting AND gate 712 and a selector function 714. The three bits from the reεpective data flow DATAA, DATAB and DATAC are also supplied to eight inputs 0-7 of the multiplexer 710. More particularly, the bit from the data flow DATAA iε supplied to the inputs 0, 1, 3, 5 and 7, the bit from the data flow DATAB is supplied to the inputs 2 and 6, and the bit from the data flow DATAC is supplied to the input 4. The signals INSYAI, INSYBI and INSYCI from the sync 5 deactivating function 514 are supplied to each an input 710A, 710B and 710C, respectively of the multiplexer 710, as well as to each an input of the inverting AND gate 712. If any or some of the signalε INSYAI, INSYBI or INSYCI would be 0, an 1 appears on the output of the gate 712, otherwise a 0. 0 The outputs of the OR function 708 and the multiplexer 710 are connected to each an input of the selector function 714. The selector function 714 is controlled by the signal appearing on the output of the gate 712 in a way that when this is 1 the output of the multiplexer is εelected, otherwiεe the DATAMV bit 5 from the OR gate 708 iε εelected. The function of the multiplexer 708 can be described such that it can be said to be controlled by the binary number that is formed by the inputε 710A, 710B and 7IOC. If the binary number correεponds to any of the digits 0-7, the multiplexer 708 selects 0 the one of the inputε 0-7, which haε a correεponding numbering. The connections for the inputs 0-7 for receiving the data flows DATAA, DATAB and DATAC are then so arranged that in each particular caεe the output is selected, that suits in the priority order that haε been described earlier. 5 With reference to the sync deactivating function 514 shown more closely in Fig. 7 and a table according to Figs. 8a-c, routine testing functions included in the redundancy structure will now be described more closely. In the sync deactivating function 514 the signals INSYA, 30 INSYB and INSYC are supplied from the planes A, B and C, respectively, to a firεt input of each an AND gate 716A, 716B and 716C, reεpectively. The signal FRC.sign from the frame counter 718 is supplied to a comparator 720, that has three outputs connected to each a second input of the respective AND gate 716A, 35 716B and 716C. The comparator 720 compares selected frame code values with FRC.sign. In the table according to Fig. 8a-c these frame code valueε are indicated in column 2, with the heading FRC [11:0], from line 4, aε being the valueε 0-73. [11:0] indicateε that the values are indicated with the bits 11 to 0. As mentioned earlier, the flow of frameε through the εwitch iε conceived to be divided into four groupε. Column 1 in the table, with the heading FRC [13:12], indicateε these groupε with the values 0-3 on the four first lines. [13:12] indicates that these values are given with the bits 13 and 12. The routine tests are accordingly performed in group 3. The comparator 720 also receives the signal BWP.sign as a control signal. When this control signal indicates that the BWP time slot appearε in any of the planeε A, B, C, at the εame time as FRC.sign iε equal to one of the εelected frame code valueε, the comparator 720 emitε the output εignal 0 on the output that iε connected to the corresponding AND gate 716A, 716B or 716C. The result will be that the resulting signal INSYAI, INSYBI or INSYCI, reεpectively, obtains the value 0. In column 6 in the table the one or those of INSYAI, INSYBI and INSYCI is indicated that is forced to take the value 0. If more than one of these signals are set to 0, this is marked by one of the signals being written in its entirety, whereas the following signals are indicated with the two last letters, e.g. INSYAI, BI, CI for the frames 67 and 68. Referring to Fig. 5 the output signal DATAOUT is εupplied from the priority εelect function 506 for testing purpose to a pattern detecting function 516 that, controlled by the signal BWP.sign, generates εignalε PRIH and PRIL, respectively. The signals PRIH and PRIL are both a positive pulse when the binary number 1 llll llll and the binary number 0 0000 0000, respec¬ tively, is found in DATAOUT during a BWP time slot. The signalε PRIH and PRIL are supplied to each a counter 518 and 520, respectively, for counting the pulses. In column 7 in the table the one or those of the functions 504, 502, 506 and 516 being tested are indicated. For the routine testing functions the logic is autonomously tested by sending a determined test pattern in the BWP time εlot during subgroup 3 in the multiframe. These test patterns are different for all three switch planeε and cauεe a known number of pulεes on PFA, PFB, PFC, PRIH and PRIL for each multiframe. In column 8 in the table those of PFA, PFB, PFC, PRIH and PRIL being pulsed are indicated. During the other groupε all three switch planes send the binary number 1 1100 0111 in the BWP time slot, as appears from lines 1-3 and the last line in the table. The test patterns are designed so as to cause, for each multiframe, the following number of pulses in the counters 508, 510, 512, 518, 520 when the logic works correctly: 508: 28 PFA 510: 24 PFB 512: 22 PFC 518: 10 PRIH 520: 10 PRIL The background to the selected test patterns is as follows: The majority vote function 502 and the switch plane comparison function 504 are tested by sending a pattern sequence with a wandering 1 and another sequence with a wandering 0 from one switch plane at a time and checks the results of the counting of PFA, PFB and PFC in the counters 508, 510 and 512, respec- tively, against that expected. The pattern detecting function 516 is tested by forcing, during the same εequenceε, one or two of INSYAI, INSYBI, INSYCI to 0 in order to affect DATAOUT and check the result of the counting of PRIH and PRIL in the counters 518 and 520 against that expected. The priority select function 506 is tested by deactivating, in the εync deactivating function 514, one, two or all three of INSYAI, INSYBI, INSYCI and εending another pattern from the switch plane expected to be εelected than from the other two switch planeε. The patternε are binary 1 llll llll and 0 0000 0000 and both are sent from the switch plane that is expected to be selected. The whole is done so that all the seven caseε of priority εelection will be tested. The sync deactivating function 514 is also tested, since if it forces INSYAI, INSYBI, INSYCI to 0 during the wrong BWP time slots, the number of PRIH and PRIL will be erroneous. While referring to the table shown in Fig. 8a-c a closer description will now be made of the teεt course discussed above in short. As an introduction a summary of the tasks of the BWP time slot will first be given here. The BWP time slot is used for automatic routine tests of circuits for switch plane comparison, majority vote and priority selection. Differences between switch planes are deliberately in¬ troduced in this time slot. An obtained fault indication is interpreted as a confirmation that the fault detecting circuits work correctly. The BWP time slot is correlated to the frame counting. The tests are performed during one of the frame groups, viz. frame group 3. In all other frames BWP has the constant value of 1 1100 0111 on all switch planes. The test courses proceed according to the following while, for the below mentioned frames, the columns 6, 7 and 8 as mentioned above indicate which of INSYAI, INSYBI and INSYCI that is forced to 0, which of PC, MV, PRI and 516 that is tested, respectively which of the signals PFA, PFB, PFC, PRIH and PRIL that is pulsed. The BWP time slot is firεt set to 1 llll llll. In the switch plane A the nine bits are set one by one to 0. This is done in the frames 0-8 in the frame group 3. Thereupon the procedure is repeated but with the values reverεed. The value iε εet to 0 0000 0000 and in the εwitch plane A the nine bits are set one by one to 1. This is done in the frames 9-17 i the frame group 3. However, there are two exceptions: in frame 0 bit 7 is changed from 1 to 0 in all the three switch planes. In frame 10 bit 8 is changed from 0 to 1 in all the three switch planes. The reason for these exceptionε iε that the link code cannot tranεfer all possible combinations of nine bits in a time slot. In the frames 18-21 of the subgroup 3 the BWP time slot is used to test the priority selection. Thereupon follow frames 20-40 with wandering zeros and ones in the switch plane B followed by two frames 41, 42 with test of the priority selection. Thereupon follow frames 43-59 with wandering zeroε and ones in the switch plane C followed by 14 frames 60-73 with teεt of the priority selection. The remaining BWP time slots in the multiframe are not used for testing. They are set to 1 1100 0111. Fig. 9 schematically illustrateε rewriting/updating between the switch planes A, B and C of memory poεitions in a three plane redundancy structure of the kind described above. The updating is performed continuously by reading out in each plane a position 902AP, 902BP and 902CP from a memory 902A, 902B and 902C, respectively, in each of the planes according to arrows 904, 906 and 908 to a majority vote/priority select function 910A, 910B and 910C, respectively in the own plane. The majority voted/- priority selected information is sent back according to arrows 912, 914 and 916, respectively, to the memory 902A, 902B and 902C, respectively, from which the reading was done and is rewritten in the same position 902AP, 902BP and 902CP, respec¬ tively. The majority vote/priority select functionε 910 can be of essentially the same kind as has been deεcribed earlier for handling the data flowε on a bit level between εwitch core and εwitch portε. Rewriting/updating iε uεed, on the one hand, for removing the effect of εo-called soft errors in memory circuits and, on the other hand, for obtaining an automatic updating in case of change of card. At rewriting/updating of information in various memories also plane comparison is performed besideε majority vote/priority εelection. The switch core 102 can contain many printed circuit cards, as opposed to the multiplexers 208 and the switch ports 204. For fault localization within e.g. the switch core 102 a plane comparison is done between the three planes A, B and C of a counted check εum according to the principle Cyclic Redundancy Check (CRC) . A check sum is counted for each printed circuit card interface synchronously in the three planes A, B and C. Although the switch core has here been mentioned as an example, such a fault localization can be generally done between all printed circuit cardε where majority vote is not uεed for some reason. Fig. 10 for each plane A, B and C shows two interconnected printed circuit cards AK1 and AK2 , BK1 and BK2 and CK1 and CK2 , respectively. At CRC1, CRC2 and CRC3 , respectively a function is indicated in the respective plane for counting a check sum for the interfaces between the respective shown cards. The check sums for all printed circuit interfaces, in the present example the three card interfaceε in Fig. 10, are plane compared on a bit level in turn in the respective planes. Functions for plane comparison are shown in Fig. 10 at 1002, 1004 and 1006, respectively, which are connected to the functionε CRC1, CRC2 and CRC3 for receiving the check sums from all the three planes. Devices 1008, 1010 and 1012 are used to inveεtigate if some checksum, from any plane, differs from an expected value and, if this is the case, point to the check sum that is wrong. The majority voted check sums can e.g. be transferred in a maintenan¬ ce frame, the pointing out being performed by searching the poεition of the erroneouε check sum in the maintenance frame. From this position the card interface affected by a fault appears directly. In this way fault localization in the switch core can always limit the number of fault suspected printed circuit cards to just two. That deεcribed above is a type of CRC generation, below denominated CRCMV (CRC Majority Vote) , that is generated for each incoming data link to a printed circuit card. This CRC iε assembled centrally together with the CRC of all other links to a maintenance loop that is majority voted. Arisen bit faults result in fault flags uεed for fault identification. Another type of CRC generation is used only for checking if the maintenance link iε fault free. It would be meaningless to send a lot of CRCMV check sums to the majority vote logic if the maintenance link itself, carrying this information, is erroneouε. CRC iε generated framewiεe on data tranεferred on the maintenance link. Thiε CRC iε put into a certain time slot in the frame. At the receiver end CRC is generated in the same way and is compared to the transmitted CRC from the sender side. These CRC check sums are below denominated CRCLG and CRCLC, reεpectively, where LG stands for Link Generate and LC stands for Link Check. If CRCLG does not agree with CRCLC this will of course affect the judgement of transmitted fault flags on the maintenance link. Only maintenance links are provided with CRCLG/LC. Most of the other links are provided with CRCMV. The same transport paths are used for transferring check sums as for performing updating of information according to that deεcribed above with reference to Fig. 9.

Claims: Claims . 1. A redundancy syεtem for a functional entity (208,204u) in a digital εwitch (102), characterized in that the functional entity iε at least triplicated in planeε (A,B,C) working in parallel, meanε (404i,404u) are provided for εpreading from each plane a reεpective paεsing-by data flow to each plane in parallel therewith, each plane has a unit (302i,302u) for maintenance functions including a majority vote function (502) that receives the data flows of the own plane and the planes in parallel therewith and compares these on a bit level for creating a majority voted data flow (DATAMV) , a plane condition senεing function (514) , that indicates if links of the planes (A,B,C) have meaningful information and synchronism and as a result emits a link condition indicating signal (INSYAI,INSYBI,INSYCI) for each plane, that forms an indication thereof, a priority select function (506) , that is connected to receive the majority voted data flow (DATAMV) and the link condition indicating εignals and if the later do not indicate a fault condition, lets the majority voted data flow (DATAMV) through aε an outgoing data flow (DATAOUT) from the functional unit, but in caεe of indication of a fault condition in one or more of the link condition indicating εignalε selects the data flow from one of the planes as an outgoing data flow (DATAOUT) on the basis of a determined priority order. 2. A redundancy system for a digital switch (102) with switch inputs (106) and switch outputs (106) and switch equipment therebetween, that comprises a switch core (102) and functionally entities (208) , a connection path for data flow between a switch input and a switch output being able to include a number of such functional entitieε on both εideε of the core, said redundancy system including switch planeε (A,B,C) working in parallel and having mutually essentially identical switch equipment and majority vote functions, spreading means for spreading a data flow coming in from the outside to the equipments of the switch planes, and assembling means for assembling the data flows coming from the switch planes, characterized in that the redundancy system is distributed to at least a plurality of the functional entities (208) on each of said connection paths, in a way that each such functional entity has its own redundancy subεyεtem with planeε (A,B,C) working in parallel and comprising means (404i,404u) for spreading from the equipment of each plane a respective passing- by data flow to each equipment in parallel therewith, wherein each plane and each switch output has a unit (302i,302u) for maintenance functions including a majority vote function (502) that receiveε the data flowε of the own plane and the planeε in parallel therewith and co pareε theεe on a bit level for creating a majority voted data flow (DATAMV) , a plane condition εenεing function (514), that indicates if links of the planes (A,B,C) have meaningful information and synchroniεm and aε a reεult emitε a link condition indicating signal (INSYAI, INSYBI,INSYCI) for each plane, that forms an indication thereof, a priority select function (506) , that iε connected to receive the majority voted data flow (DATAMV) and the link condition indicating εignals and if the later do not indicate a fault condition, lets through the majority voted data flow (DATAMV) as an outgoing data flow (DATAOUT) from the functional unit, but in case of indication of a fault condition in one or more of the link condition indicating signals selects the data flow from one of the planes as an outgoing data flow (DATAOUT) on the basis of a determined priority order. 3. A redundancy syεtem according to claim 1 or 2, charac¬ terized in that the unit (302i,302u) for maintenance functionε also includes a plane comparison function (504) that compares the parallel data flows (DATAA,DATAB,DATAC) with the majority voted data flow (DATAMV) and in caεe of deviation from this emitε a fault indicating εignal (FTA, FTB, FTC) for the deviating data flowε. 4. A redundancy system according to claim 1 or 2 and 3, characterized in that the majority vote function (502) is tested by succesεively temporarily changing the look of the data flows from the planes (A,B,C) in a way that in the data flow from one 5 plane at a time there is introduced a sequence of known teεt bit patternε. 5. A reduncy εyεtem according to claim 4, characterized in that a pattern detecting function (516) is connected to the output of the priority select function (506) for sensing in the 0 outgoing data flow (DATAOUT) said test bit pattern during determined sections (BWP) of the data flow. 6. A redundancy syεtem according to claim 5, characterized in that the plane condition sensing function (514) receives a link condition indicating input εignal (INSYA, INSYB, INSYC) for 5 each plane (A,B,C) and forwardε these as link state indicating ouput signalε (INSYAI, INSYBI, INSYCI) to the priority εelect function (506) , and includes means (514) to impart to one or more of the link condition indicating output signalε (INSYAI, INSYBI, INSYCI) link fault indicating valueε during εaid determined 0 section (BWP) of the data flow. 7. A redundancy εyεtem according to claim 6, characterized in that the priority εelect function (506) is tested by deac¬ tivating one or more of the link condition indicating εignals (INSYAI, INSYBI, INSYCI) and εending other εignal patterns from the 5 plane expected to be selected than from the other two planes in εuch a way that all cases are simulated that can appear according to the determined priority order. 8. A redundancy system according to any of the preceding claims, characterized by 30 means in each plane for continuously rewriting/updating memory positions (902AP, 902BP, 902CP) between the planes (A,B,C), means for reading out (904,906,908) one position from a memory (902A, 902B,902C) in the own plane and in each of the other planes to a majority vote/priority select function (910A,910B, 35 910C) in the respective plane, and means for returning (912,914,916) the result from the majority vote/priority selection to the memory of the own plane and writing it in on the same position. 9. A redundancy system according to any of the preceding claims, characterized in that for fault localization of circuit cards there are means (CRC) for producing a count of a checksum for each circuit card interface in all of the planeε, means (1002,1004,1006) for plane comparison of check sums on a bit level in turn in the respective planeε, means (1008,1010,1012) for indicating, in case of deviation in some checksum, from any plane, this deviation and pointing out the check sum that is wrong. 10. A method for providing a redundancy structure for a functional entity in a digital switch, characterized by at least triplicating the functional entity in planes working in parallel, spreading from each plane a respective passing-by data flow to each plane in parallel therewith, performing in each plane the following steps: the data flows of the own plane and the planes in parallel therewith are compared on a bit level for creating a majority voted data flow, indication is performed of whether the links of the planes have meaningful information and synchroniεm and aε a reεult a link condition indicating εignal is emitted, if the link condition indicating signals do not indicate a fault condition, the majority voted data flow is emitted as an outgoing data flow, but in case of indication of a fault condition in one or more of the link condition indicating signals, the data flow from one of the planes is selected as an outgoing data flow on the basiε of a determined priority order. 11. A method for providing a redundancy εtructure for a digital switch with switch inputs and switch outputs and switch equipment therebetween, that comprises a switch core and functional entities, a connection path for data flows between a switch input and a switch output being able to comprise a number of such functional entities on both sides of the core, characterized by diεtributing the redundancy syεtem to at least a plurality of the functional entities on each of said connection paths, in a way that each such functional entity obtains its own redundancy subsystem with planes working in parallel, and spreading from the equipment of each plane a respective passing-by data flow to each equipment in parallel therewith, and performing in each plane and each switch output the following further stepε of comparing data flows of the own plane and the planes in parallel therewith on a bit level for creating a majority voted data flow, indicating whether links of the planes have meaningful information and synchronism and as a result emitting a link condition indicating signal for each plane, that forms an indication thereof, letting through, if the link condition indicating signals do not indicate a fault condition, the majority voted data flow as an outgoing data flow, but selecting, in case of indication of a fault condition in one or more of the link condition indicating signals, the data flow from one of the planes as an outgoing data flow on the basis of a determined priority order. 12. A method according to claim 10 or 11, characterized by comparing parallel data flows with the majority voted data flow and emitting, in case of deviation from this, a fault indicating signal for the deviating data flow or flows. 13. A method according to claim 12, characterized by testing the majority vote and the plane comparison by successively temporarily changing the look of the data flows from the planes by introducing in the data flow from one plane at a time a sequence of known test bit patterns. 14. A method according to claim 13, characterized by sensing, in the outgoing data flow, the test bit pattern during determined sectionε of the data flow. 15. A method according to claim 14, characterized by receiving a link condition indicating input εignal for each plane and forwarding these signals as link state indicating ouput signalε to the priority selection, and, for testing the pattern detecting function, imparting link fault indicating values during determined sections of the data flow to one or more of the link condition indicating output signals. 16. A method according to claim 15, characterized by testing the priority selection by deactivating one or more of the link condition indicating signals, and sending other signal patterns from the plane expected to be selected than from the other two planes so as to simulate all cases that can appear according to the determined priority order. 17. A method according to any of claims 10-16, characterized by continuously performing, between the planes, rewriting/up¬ dating of memory positions by the steps of reading out one position from a memory in the own plane and in each of the other planes and exposing the position to a majority vote/priority selection in the respective plane, and passing the result from the majority vote/priority selection back to the memory of the own plane and writing it into the same position. 18. A method according to any of clia s 10-17, characterized by performing, for fault localization of circuit cards, the steps of counting a checksum for each circuit card interface in all of the planes, performing plane comparison of check sums on a bit level in turn in the reεpective planes, and in case of deviation in some checksum, from any plane, indicating this deviation and pointing out the erroneous check sum.

Inventors: BJENNE ANDERS, LUNDH PETER, BJENNE, ANDERS, LUNDH, PETER
Applicants: BJENNE ANDERS, ERICSSON TELEFON AB L M, LUNDH PETER, BJENNE, ANDERS, LUNDH, PETER, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 1996
Main classification: H04Q11
IPC codes: H04L12, H04Q11