United States Patent Office PaSenled
INFORMATION HANDLING APPARATUS William M. Kalm, Brighton, Mass., assignor to Minneapolis-Honeywell Regulator Company, Minneapolis, Minn., a corporation of Delaware
Filed June 17,1959, Ser. No. 820,903
9 Claims. (CI. 235—153)
A general object of the present invention is to provide a new and improved apparatus for checking the operation of digital data processing apparatus. More specifically, the present invention is concerned with a new and improved means for producing a checking facility for a data processor where the power of the check has been increased manifold times over checking schemes heretofore known and wherein the checked data is readily adapted for being reconstructed in the event that some of the data may be in error in a subsequent processing operation.
In the processing of digital data, it is essential that the data processed be processed without error or, in the event that an error should occur, it is essential that there be an immediate indication of this fact so that appropriate steps may be taken to either eliminate the error or the effects of the error if the data processing operation is to be continued. In a patent issued to R. M. Bloch bearing Reissue Number 24,447, there is disclosed a checking scheme for data to be processed. As disclosed in this patent, the data is arranged in words of uniform length. That is to say, when the information in the data processing system word is considered, the words are each of uniform length in terms of the number of bits included therein. As taught in the Bloch patent, each system word carries with it a weight count which represents a number generated by adding in accordance with a predetermined modulus the binary bits of a selected bit type in the word. This form of check may be of a simple modulo 2 type, which is sometimes referred to as a parity check. In another form, the bits of the system word may be so arranged that selected bits are weighted in accordance with the binary progression, and a predetermined summing is effected in accordance with a modulus of a higher number.
The particular check number generating scheme adopted will, in part, depend upon the type of data processing equipment with which the checking scheme is utilized. In accordance with the teachings of the present invention, it is intended that the utilization apparatus be of the type which, for example, manipulates the system word in terms of a plurality of frames, each of which has a fixed number of bits therein. Each frame may include therewith a suitable parity bit. When such a word is arranged for recording on a storage tape, the system word will again be considered as a plurality of frames wherein each frame is recorded transversely in a plurality of channels in the storage tape. This recording technique means that any one system word may be a plurality of frames recorded in a plurality of channels across the tape. By providing a parity check pulse for each frame, it is possible to provide a reliable check for each frame. However, this has been found to be insufficient in certain instances and it is desirable to provide a more powerful check.
■In accordance with the teachings of the present invention, a check word is developed where a plurality of system words are to be manipulated or recorded in a block of information. This check word is of the same length as
the normal system words of which it is composed, and is generated by adding, modulo 2, the corresponding bit locations in each of the words making up the block of information. This check word is then available for record
5 ing along with the information and provides a check which may be considered as a longitudinal check on the information in conjunction with and in addition to the transverse check provided by the frame parity bit. In order to provide an even more powerful check, it
10 has been found desirable in certain instances to provide a ■second check word. Bach frame of data for the said second check wond is generated by adding, modulo 2, all of the bits of a particular word falling within a system word and within a fixed channel. In order for all frames of
15 said second check word to be a function of the block of information, the number of words in the block must be at least equal to or greater than the number of frames normally occurring in the system word. Once the foregoing check words have been developed
20 and appended to the information being processed, it is possible to provide a very high degree of protection of a data processing record, and to insure that should an error occur, there is a very high probability that the error cannot go undetected whether it be a single error or a mul
25 tiple-bit error. In addition, the presence of the check words provides a ready medium by which it is possible to reconstruct information found to be in error in accordance with the principles hereinafter set forth. It is therefore a further more specific object of the pres
30 ent invention to provide a new and improved apparatus for producing a plurality of check words for a block of data processing information wherein that block comprises a plurality of data processing words. Another more specific object of the present invention
35 is to provide a means whereby a check word for a data processing block of data may be generated by adding, modulo 2, corresponding bit positions of each word and storing the data in the check word on a recording medium with a plurality of channels and frames for each word.
40 The foregoing objects and features of novelty which characterize the invention, as well as other objects of the invention, are pointed out with particularity in the claims annexed to and forming a part of the present specification. For a better understanding of the invention, its advantages
45 and specific objects attained with its use, reference should be had to the accompanying drawings and descriptive matter in which there is' illustrated and described a preferred embodiment of the invention. Of the drawings:
s" FIGURE 1 is a representation of how data may be arranged on a storage tape along with appropriate check words and parity bits for that data;
FIGURE 2 including FIG. 2A is a diagrammatic representation of those elements required for producing the check words used in the apparatus; and
FIGURE 3 represents a diagrammatic showing of the apparatus required for restoring the data in error and/or checking for errors.
Referring first to FIGURE 1, there is here illustrated
60 a storage medium such as a record tape of the magnetic or punched variety. The storage tape is one having a plurality of channels extending transversely across the tape and may be prepared either by suitable magnetic recording means in the case of a magnetic tape, or by