ATM cell error processing system

Abstract: An ATM cell error processing system includes a plurality of error detectors (30) for respectively detecting predetermined cell errors and for respectively generating decision signals, an error editing unit (31) which is operatively coupled to the error detector and determines, on the basis of the decision signals, whether or not a cell related to the decision signals should be discarded. A buffer (32), which is coupled to at least one of the error detector, temporarily stores the cell. An error cell discarding unit (33), which is coupled to the error editing unit and the buffer, discards the cell from the buffer when the error editing unit determines that the cell should be discarded and relays the cell when the error editing unit does not determine that the cell should be discarded.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to communications networks employing an ATM (Asynchronous Transfer Mode) transmission system. More particularly, the present invention is concerned with an ATM cell error processing system which detects an error in an ATM cell and processes such a defective ATM cell in a predetermined manner. 2. Description of the Prior Art Recently, there has been considerable activity in the development of an ATM transmission system. As is well known, ATM cells have a format shown in Fig. 1. Fig. 1-(a) shows an ATM layer data format, and Fig. 1-(b) shows an AAL (ATM Adaptation Layer) data format. In the AAL, there are four types of data formats with respect to services in upper layers. Fig. 1-(b) shows a data format of the class-3 AAL, which is one of the four types of data formats, and which provides connection-oriented data communications services. The ATM cell consists of a header having five bytes (B), and an information field having 48 bytes. The ATM header includes a four-bit (b) undefined GFC (Generic Flow Control) field, an 8-bit VPI (Virtual Path Identifier) field, and a 16-bit VCI (Virtual Channel Identifier) field. The VPI and VCI are basic data used when an ATM switch determines a route. Further, the ATM cell includes a 2-bit PT (Payload Type), a one-bit RS (Reserved) field, a one-bit CLP (Cell Loss Priority) field, and an 8-bit HEC (Header Error Control) field. Data in the CLP field shows whether or not the ATM cell should be discarded. The HEC is a CRC (Cyclic Redundancy Check) for the ATM header. The ATM header consists of 40 bits, which is equal to five bytes. The information field contains 44-byte information and other four-byte data, as shown in Fig. 1-(b). The four-byte data contained in the information field includes two-bit data showing a segment type (ST), four-bit data showing a sequence number (SN), 10 received bits (RES), six-bit length identifier (LI) data, and 10-bit CRC data. The segment type (ST) data is used for identifying the beginning and end of a message. The sequence number (SN) data shows the position of the cell in the message. The length identifier (LI) data shows the actual length of information. The 10-bit CRC data is an error correction code for the information field. Fig. 2 shows an overview of an ATM switching system, which comprises an ATM switch (or TC layer terminating equipment), and a message processing unit 2. The message processing unit 2 comprises a sender-side cell processor 2a, and a receiver-side cell processor 2b. The message processing unit 2 exchanges ATM cells with protocol data units (messages) in an upper layer. The sender-side cell processor 2a segments a message from the upper layer into units, each consisting of 44 bytes, and forms ATM cells conforming to the format shown in Fig. 1. The receiver-side cell processor 2b assembles ATM cells from the ATM switch 1 into a message conforming to the upper layer. It is required that the receiver-side cell processor 2b has a function of detecting an error in cell unit in order to determine whether or not each cell is correct. Fig. 3 shows the types of cell errors. In Fig. 3, three cell errors to be detected are defined for the ATM layer, and four cell errors to be detected are defined for the AAL. Fig. 4 is a diagram showing an overview of a conventional ATM cell error processing system. As shown in Fig. 4, the system includes a plurality of serially connected error processors 10 equal in number to the types of cell errors to be detected. The error processors 10 operate independently from each other, and each have the function of detecting a predetermined cell error, discarding an error cell and notifying a failure monitor unit 20 of detected error information. Fig. 5 shows the structure of each of the error processors 10 shown in Fig. 4. Each error processor 10 comprises an error check unit 21, a cell buffer 22 and an error cell discarding unit 23. The error check unit 21 receives an ATM cell and determines whether or not the ATM cell has a predetermined error. During this determination process, the ATM cell is queued in the cell buffer 22. If the error check unit 21 determines that the ATM cell has the predetermined error, it outputs a cell discarding instruction to the error cell discarding unit 23. In response to receipt of the cell discarding instruction, the error cell discarding unit 23 discards the ATM cell. The error check unit 21 then informs the failure monitor unit 20 of the result of the check. However, the conventional ATM cell error processing systems as described above have the following disadvantages. Firstly, the cell buffer 22 must be provided in each error processor 10 in order to detect an error cell and discard it. Hence, a large quantity of hardware is needed to configure the system and a large amount of cell delay takes place. It should be noted that the cell error detecting processes are sequentially carried out by the error processors 10 in a predetermined order, because if a cell error has been detected during a series of error detecting processes, it is no longer necessary to execute the remaining cell error detecting processes. For example, the procedure for detecting cell errors is carried out in order of HEC, VCI, PT, CRC, ST, SN, MID and LI. Secondly, with respect to some check items, it is necessary to determine whether or not each ATM cell has cell errors defined in these check items, but is not necessary to discard each ATM cell even if the cell errors have been detected. The above is called an error masking function. In order to establish the error masking function, the system shown in Fig. 4 is modified, as shown in Fig. 6. The failure monitor unit 20 outputs mask instructions to the error processors 10 that are to execute the error masking function. However, the system shown in Fig. 6 has the following disadvantages. That is, the control process of the failure monitor unit 20 is very complicated because it must individually output mask instructions to the error processors 10. Further, the ATM cells must be held in the cell buffers 22 even when these ATM cells are defective but not discarded. Thirdly, an error editing process based on the results of error check is very complicated or impossible because the error processors 10 separately generate the cell discarding instructions. For example, it is impossible to discard an ATM cell when it has a plurality of errors selected from among the predetermined cell error types. A further known arrangement is described in document US-A-4 975 906. This document describes a network system having a plurality of LANs each connected with a plurality of terminals. The data received from LANs is segmented into packets. An arrangement of error detection is described which includes storing the packet in a memory. An error check is performed on the packet and a decision signal generated indicating the result of the error check. LAN transmission control function is activated only if there is no error. SUMMARY OF THE INVENTION It is a general object of the present invention to provide an improved ATM cell error processing system in which the above disadvantages are eliminated. A more specific object of the present invention is to efficiently detect cell errors and efficiently execute an error editing process. The above objects of the present invention are achieved by an ATM cell error processing system According to the present invention there is provided a system for detecting and processing errors of an ATM cell comprising: a plurality of error detection means each for respectively detecting a predetermined different type of cell error and for respectively generating decision signals; buffer means for temporarily storing said cell and error cell discarding means for discarding cells that contain errors, characterized in that: there is provided error editing means common to said plurality of error detection means, operatively coupled to said error detection means, for determining, on the basis of the decision signals, whether or not a cell related to the decision signals should be discarded; the buffer means is common to said plurality of error detection means and is coupled to at least one of the error detection means; and the error cell discarding means is coupled to said error editing means and said buffer means, for discarding said cell from said buffer means when said error editing means determines that said cell should be discarded and for relaying said cell when said error editing means does not determine that said cell should be discarded. BRIEF DESCRIPTION OF THE DRAWINGS Other objects, features and advantages of the present invention will become more apparent from the following detailed description when read in conjunction with the accompanying drawings, in which: Fig. 1 is a diagram showing ATM cell formats; Fig. 2 is a block diagram showing an overview of a conventional ATM switching system; Fig. 3 is a diagram showing types of cell errors; Fig. 4 is a block diagram of a conventional ATM cell error processing system; Fig. 5 is a block diagram of each error processor shown in Fig. 4; Fig. 6 is a block diagram of another conventional ATM cell error processing system; Fig. 7 is a block diagram of an ATM cell error processing system according to a first embodiment of the present invention; Fig. 8 is a block diagram of an error detector shown in Fig. 7; Fig. 9 is a timing chart showing the operation of the error detector shown in Fig. 8; Fig. 10 is a block diagram of an ATM cell error processing system according to a second embodiment of the present invention; Fig. 11 is a block diagram of a check result addition circuit shown in Fig. 10; Fig. 12 is a timing chart showing the operation of an error detector shown in Fig. 10; Fig. 13 is a diagram showing error flags used in the second embodiment of the present invention; Fig. 14 is a block diagram of an error editing unit used in the embodiments of the present invention; Fig. 15 is a block diagram of another structure of the error editing unit used in the embodiments of the present invention; Fig. 16 is a block diagram of yet another structure of the error editing unit used in the embodiments of the present invention; and Fig. 17 is a block diagram of an ATM cell error processing system according to a third embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 7 shows an ATM cell error processing system according to a first embodiment of the present invention. The system shown in Fig. 7 comprises error detectors 30 connected in series through a cell data line. The ATM cells and the check results are transferred through the error detectors 30. When it is required that n types of cell errors be detected, n error detectors 30 are connected in series. An error editing unit 31, which is connected to an output terminal of the error detector 30 of the final stage, receives error information therefrom, and executes an error process, such as a cell discarding process. A cell buffer 32, which is connected to the output terminal of the error detector 30 of the final stage, temporarily stores an ATM cell received therefrom. An error cell discarding unit 33, which is connected to an output terminal of the cell buffer 32, discards an error cell in response to receipt of a cell discarding instruction from the error editing unit 31. A failure monitor unit 20 communicates with the error editing unit 31. Each of the error detectors 30 checks whether or not the received cell has a predetermined cell error, and notifies the subsequent error detector 30 of the result of the check. It should be noted that each of the error detectors 30 does not have the function of discarding cells. The error editing unit 31 receives the results of the check obtained in the error detectors 30 via the error detector 30 of the final stage, and creates the cell discarding instruction on the basis of the received result of the check. It should be noted that each of the error detectors 30 does not have a cell buffer as shown in Fig.5. Hence, it becomes possible to reduce the hardware structure of the system. In addition, the results of the check obtained by the error detectors 30 are gathered in the error editing unit 31. Hence it becomes possible to conduct error editing efficiently. There are available two different means for informing the error editing unit 31 of the result of the check obtained by the error detectors 30. The first means has the function of placing the check result obtained in each of the error detectors 30 in a predetermined bit position of the next cell. The second means has the function of laying an error flag signal line carrying an error flag signal so that the error editing unit 31 is connected to the error detectors 30, and the results of check are placed in predetermined bit positions of the error flag signal. Fig. 8 shows the structure of each of the error detectors 30, which conform to the above-mentioned first means. Each of the error detectors 30 comprises a selector 40, an error check unit 41, and an error register 42. The selector 40 allows an input signal IN2 to pass in only a specific time slot, and allows an input signal IN1 to pass in other time slots. The above selecting operation of the selector 40 is controlled by a timing signal TIM generated by a timing controller 34. The timing signal TIM is maintained at, for example, a high level in only the specific time slot. The error check unit 41 receives the cell and determines whether or not the cell has a predetermined cell error. More specifically, the error check unit 41 drops, from the received cell, data necessary for determining whether or not the cell received has the predetermined cell error. Data showing the result of the check is written into the error register 42, so that the content of the error register 42 is updated at each cell. In response to receipt of the timing signal TIM, the selector 40 selects the error register 42. In this manner, the result of the check obtained by the error detector shown in Fig. 8 is placed in a predetermined position in the cell data. Fig. 9 is a time chart showing the operation of one of the error detectors 30. The error detector 30 being considered determines whether or not the sequence number contained in the cell is correct and inserts the result of this check into the HEC field of the next cell. Fig. 9-(a) shows the beginnings of the cells, Fig. 9-(b) shows cell data, Fig. 9-(c) shows the results of checks cell, and Fig. 9-(d) shows the timing signal TIM. The result of the sequence number check on the cell #n-1 is written into the HEC field of the cell #n. The error check unit 41 executes the sequence number check on the cell #n during the time when the #n cell is passing through the error detector 30. The result of the sequence number check is written into the error register 42, and then written into the HEC field of the #n+1 cell subsequent to the cell #n while the cell #n+1 is passing through the error detector 30. Fig. 10 is a block diagram of the ATM cell error processing system of a second embodiment of the present invention designed to realize the aforementioned second means for informing the error editing unit 31 of the results of the checks obtained in the error detectors 30. An error signal flag line 50 is provided separately from the cell data line. Each of the error detectors 30 comprises error check units 43, and check result addition units 44. The error flag signal is synchronized with the cell data, and the bit position from the beginning of the cell shows the error content. The output terminal of the check result addition unit 44 of the final stage is connected to the input terminal of the error editing unit 31. The error check units 43 check the respective cells, and inform the corresponding check result addition units 44 of the results of the checks. For example, the check result addition units 44 are informed of data "0" when no errors have been detected, and data "1" when the predetermined errors have been respectively detected. Fig. 11 shows the structure of each of the check result addition units 44. Each unit 44 comprises an AND gate 44a, and an OR gate 44b. The AND gate 44a receives data showing the result of the check and a timing signal TIM for inserting the result of the check in the predetermined bit position. The timing signal TIM is generated by, for example, the timing generator 34 shown in Fig. 8. The OR gate 44b receives the error flag signal and an output signal of the AND gate 44a, and outputs the error flag signal together with the check result from the AND gate 44a inserted therein. The timing signal TIM indicates the bit position in the error flag signal into which the check result should be inserted. In this manner, the results of the checks are inserted into the respective bit positions in the error flag signal. The error editing unit 31 receives the error flag signal thus formed, and executes a predetermined editing process, such as a cell discarding process. Fig. 12 is a time chart showing the operation of one of the error detectors 30, which determines whether or not the sequence number is correct. Fig. 12-(a) shows the beginnings of the cells, Fig. 12-(b) shows cell data, Fig. 12-(c) shows the timing signal for inserting the result of check into the predetermined bit position, and Fig. 12-(d) shows the error flag signal. When the error check unit 42 detects an error in the sequence number SN, the result of the check is inserted into the predetermined bit position in response to the timing signal TIM. Fig. 13 is a diagram showing error flags to be detected in the above-mentioned embodiment. In Fig. 13, cell data is illustrated so that it is processed in parallel form in groups of eight bits. Fig. 14 shows the structure of the error editing unit 31 in detail. In Fig. 14, parts which are the same as those shown in the previously described figures are given the same reference numerals. The following description of the error editing unit 31 will be given without distinguishing the aforementioned first and second means from each other. The error editing unit 31 comprises an error register 61, an error register 62, a decision making unit 63, and a controller 64, such as a processor. The error register 61 drops the error information from the cell data (first means) or the error flag signal (second means), and temporarily stores the error information. The error register 62 is updated when the error information concerning all error types to be detected for the cell being considered has been written in the error register 61. Under the control of the controller 64, the decision making unit 63 makes a decision, on the basis of the error information stored in the error register 62, on whether or not the cell being considered should be discarded. For example, if at least one cell error has been detected, the cell is discarded. If the cell should be discarded, the decision making unit 63 outputs the cell discarding instruction to the error cell discarding unit 33. In response to receipt of the cell discarding instruction, the error cell discarding unit 33 discards the error cell. In the above manner, each cell is temporarily stored (queued) in only the cell buffer 32. This facilitates error editing processing. Fig. 15 is a block diagram showing another structure of the error editing unit 31. In Fig. 15, those parts which are the same as those shown in the previously described figures are given the same reference numerals. The error editing unit 31 shown in Fig. 15 comprises an error register 65, and a logic circuit 70. The error register 65 has the functions of both the registers 61 and 62 shown in Fig. 14. The controller 64 shown in Fig. 14 is omitted in Fig. 15 for the sake of simplicity. Error information concerning all the error items is supplied to the failure monitor unit 20. The logic circuit 70 functions to define arbitrary combinations of necessary error data in the error information stored in the error register 65, and to discard mask information supplied from, for example, the failure monitor unit 20. The discard mask information may be supplied from the controller 64. The logic circuit 70 comprises a plurality of AND gates 71, and an OR gate 72. The AND gates 71 are supplied with the error information concerning the error items and the discard mask information. That is, each of the AND gates 71 receives one of the bits forming the error information and one of the bits forming the discard mask information, and outputs a resultant signal to the OR gate 72. When both bits are "1", the AND gate 71 outputs the cell discarding signal. By determining which bits of the discard mask information should be masked, it becomes possible to obtain arbitrary error mask functions. It is also possible to replace the OR gate 72 with another logic gate or circuit. In the above-mentioned manner, it becomes possible to execute arbitrary error editing processes based on more than one error item. The ATM cell error processing system of the present invention can be tested in the following manner. In test, a test cell is used. The test cell is a special cell for use in testing, and a special header value, such as special VPI/VCI or special PT different from that of normal cells, and a test cell identification bit which shows the test cell and which is placed in a predetermined bit position in the error flag signal. Fig. 16 is a block diagram of a test system for testing the ATM cell error processing system of the present invention. In Fig. 16, those parts which are the same as those shown in the previous figures are given the same reference numerals. The test system comprises a test cell generator/decision making unit 80, a selector 81, and an output unit 82. The unit 80 generates the above-mentioned test cell in which the special bit that shows the test cell is placed in the predetermined bit position. The test cell is supplied to the selector 81. During testing, the selector 81 selects a test cell in response to a select signal from the unit 80. The test cell passes through the selector 81, and is sequentially tested by the error detectors 30. The error editing unit 31 receives the error flag signal relating to the test cell from the error detector 30 of the final stage by detecting the test cell identification flag contained therein, and notifies the unit 80 of the identified error flag signal. The unit 80 checks the contents of the error flag signal, and determines whether or not each error detector 30 is operating normally. The results of this check are visually output through the output unit 82, which has a display and/or printer. The error editing unit 31 outputs the cell discarding instruction to the error cell discarding unit 33 in order to discard the test cell. The above test can be held in either a state where the inflow of normal cells is inhibited (off line) or a state where the test cell is inserted between normal cells (on line). It should be noted that the error detectors 30 can be tested in the same manner as in the case of the error editing processing. This means that the system does not require a special device for extracting the test cell, and a special device for discarding the test cell. Fig. 17 is a block diagram of an ATM cell error processing system according to a third embodiment of the present invention. In Fig. 17, those parts which are the same as those shown in the previous figures are given the same reference numerals. The error detectors 30 are connected in parallel, as shown in Fig. 17. A cell (normal cell or test cell) passes through the selector 81, and is simultaneously applied to the cell buffer 32 and each of the error detectors 30. It will be noted that the error flag signal lines extending between the selector 81 and each of the error detectors 30, and between each of the error detectors 30 and the error editing unit 31 are omitted for the sake of convenience. The cell and the error flag signal are applied to each of the error detectors 30. When a cell error is detected, an error flag is set. In this manner, one-bit error flag signals are output to the error editing unit 31 from the respective error detectors 30. The error editing unit 31 executes a predetermined error editing process on the basis of the error flag signals. It is also possible to use the error flag signal used in the previously described system. That is, the previously described error flag signal contains error flags of the respective error detectors 30. According to the present invention, the following advantages are obtained. Firstly, it is not necessary to provide each error detector with a cell buffer. Hence, the hardware structure can be diminished, and the time delay can be reduced. Secondly, it is possible to execute arbitrary cell editing processing based on the results of the checks obtained at the error detectors. For example, the cell is discarded when two types of error have been detected. Thirdly, it is easy to test the ATM cell error processing system. The present invention is not limited to the specifically disclosed embodiments, and variations and modifications may be made without departing from the scope of the present invention. Reference signs in the claims are intended for better understanding and shall not limit the scope.

Claims: A system for detecting and processing errors of an ATM cell comprising: a plurality of error detection means (30) each for respectively detecting a predetermined different type of cell error and for respectively generating decision signals; buffer means (32) for temporarily storing said cell and error cell discarding means (33) for discarding cells that contain errors, characterized in that: there is provided error editing means (31) common to said plurality of error detection means (30), operatively coupled to said error detection means, for determining, on the basis of the decision signals, whether or not a cell related to the decision signals should be discarded; the buffer means (32) is common to said plurality of error detection means and is coupled to at least one of the error detection means; and the error cell discarding means (33) is coupled to said error editing means and said buffer means, for discarding said cell from said buffer means when said error editing means determines that said cell should be discarded and for relaying said cell when said error editing means does not determine that said cell should be discarded. A system as claimed in claim 1, characterized in that: the plurality of error detection means are connected in series; and one of the plurality of error detection means located at a final stage of a series of the error detection means is coupled to said error editing means and said buffer means. A system as claimed in claim 1, characterized in that: the plurality of error detection means are connected in parallel and coupled to said error editing means; and said cell is simultaneously applied to the plurality of error detection means and said buffer means. A system as claimed in claim 2, characterized in that the plurality of error detection means respectively comprise means (40) for inserting the decision signals into respective, predetermined bit positions of a next cell subsequent to said cell. A system as claimed in claim 4, characterized in that each of said decision signals is a one-bit signal. A system as claimed in claim 1, characterized in that said ATM cell error processing system further comprises transfer means (44, 50) for transferring the decision signals to said error editing means through a signal line different from a signal line through which said cell is transferred. A system as claimed in claim 6, characterized in that: said signal line transfers an error flag signal; and the plurality of cell error detection means respectively comprises means (44) for inserting, as error flags, the decision signals into said error flag signal. A system as claimed in claim 7, characterized in that said error flag signal is synchronized with outputting of said cell. A system as claimed in claim 1, characterized in that said error editing means comprises logic means (63, 70) for executing a predetermined logic operation on said decision signals and for determining whether or not said cell should be discarded based on a result of said predetermined logic operation. A system as claimed in claim 9, characterized in that said predetermined logic operation comprises a logic operation that determines that said cell should be discarded when at least two of said decision signals indicate cell errors. A system as claimed in claim 9, characterized in that said error editing means comprises error register means (61, 62), coupled to said logic means, for temporarily storing said decision signals transferred from the plurality of error detection means. A system as claimed in claim 1, characterized in that said error editing means comprises: error register means (61, 62), coupled to said logic means, for temporarily storing said decision signals transferred from the plurality of error detection means; masking logic means (20, 70), coupled to said error register means, for executing a masking logic operation on said decision signals from said error register means and error masking information, so that necessary decision signals among said decision signals from said error register means are selected by said masking information; and cell discarding logic means (33), coupled to said masking logic mans, for executing a cell discarding logic operation on the basis of said necessary decision signals from said masking logic means. A system as claimed in claim 12, characterized in that: said error register means comprises AND gates (71); and said cell discarding logic means comprises an OR gate (72). A system as claimed in claim 2, characterized in that said ATM cell error processing system further comprises: test cell generating means (80) for generating a test cell having, in a predetermined bit position thereof, a bit for identifying the test cell; and selector means (81), coupled to said test cell generating means, for outputting either said cell or the test cell to one of the plurality of error detection means located at a first stage of a series of the error detection means. A system as claimed in claim 3, characterized in that said ATM cell error processing system further comprises: test cell generating means (80) for generating a test cell having, in a predetermined bit position thereof, a bit for identifying the test cell; and selector means (81), coupled to said test cell generating means, for outputting either said cell or test cell to the plurality of error detection means.

Inventors: HAJIKANO KAZUO, KAMOI JYOEI, KAWASAKI TAKESHI, KUROYANAGI SATOSHI, SHIMOE TOSHIO, TAKECHI RYUICHI, HAJIKANO, KAZUO, KAMOI, JYOEI, KAWASAKI, TAKESHI, KUROYANAGI, SATOSHI, SHIMOE, TOSHIO, TAKECHI, RYUICHI, Hajikano, Kazuo, c/o Fujitsu Limited, Kamoi, Jyoei, c/o Fujitsu Limited, Kawasaki, Takeshi, c/o Fujitsu Limited, KUROYANAGI, SATOSHI, C/O FUJITSU LIMITED, Shimoe, Toshio, c/o Fujitsu Limited, TAKECHI, RYUICHI, C/O FUJITSU LIMITED
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1992
Main classification: H04L12
IPC codes: H04Q11, H04L1, H04L12