Patent GB-1031186-A (GB)
Title: Error checking system
IPC: H04L1/00
Filed: 1964-03-19
Abstract: 1,031,186. Error detection and correction. INTERNATIONAL BUSINESS MACHINES CORPORATION. March 19, 1964 [April 18, 1963], No. 11583/64. Heading G4A. The invention is an error checking system for providing and utilizing check signals for a data word, the system being capable of handling words of different lengths. Referring to Fig. 1 (not shown) a word is sent serially over transmission links 116 which may be connections between a computer and an output device (e.g. magnetic tape recorder), or telephony wires or space (in the case of radio telegraphy). The five-bit word is sent from a computer memory (flip-flops or magnetic) serially through flip-flops I1 and T1 in turn to links 116, and followed into flip-flop T1 by four check bits derived by an encoder register 132 from the bits of the word when in flip-flop I1. Encoder register 132 comprises four flip-flops F1 to F4 so connected that the exclusive- or " sum " of the contents of flip-flops. I1, F3, F4 is put into F1 and the contents of F1, F2, F3 are respectively put into F2, F3 and F4. Thus when the word has passed entirely from flip-flop I1, register 132 stores four check bits each the modulo-two sum of a selection of the word bits (an " m sequence "). The check bits are then shifted, the modulo-two sum of the contents of flip-flops F3 and F4 at each shift being passed to flip-flop T1. The duration of the word as it arrives at flip-flop I1 is delineated by start and end signals on separate lines 160, 161 which set and reset a word flip-flop W1 respectively. When flip-flop W1 is reset, an encoder counter 131 starts counting (in step with the delivery of the check bits from encoder register 132) and at the count of four (= no. of check bits) produces a signal Eg. The start signal and signal Eg set and reset respectively a data group flipflop W2 via links 116. The data group (= word + check bits) from links 116 is shifted into a received data register 136 and also sent to a decoder register 138 identical to encoder register 138 which produces in its four stages a check word which will be zero in the absence of error and in the case of a single error will indicate its position. The data group is then shifted (backwards) out of register 136 to an output flip-flop O1 except that in the case of error the flip-flop O1 is made responsive to the inverse output of the last flip-flop (R1) in register 136 (rather than the true) in the case of the erroneous bit, to effectively complement it. This is achieved by sequencing the decoder register 138 in reverse during the backwards shift, i.e. the flip-flops G1 to G4 of register 138 are filled as follows: G1, G2 and G3 with the contents of G2, G3 and G4 respectively, and G4 with the modulo-2 sum of the contents of G1 and G4. Data group flip-flop W2 controls a decoder counter 140 to count up and down during shift into and out of received data register 136 respectively. This counter 140 produces an end of message signal on reaching zero during countdown. Extra check bits may be provided to enable detection and correction of double errors (adjacent or non-adjacent) or triple adjacent errors.