CA1114067A - Error detection system - Google Patents
Error detection systemInfo
- Publication number
- CA1114067A CA1114067A CA330,177A CA330177A CA1114067A CA 1114067 A CA1114067 A CA 1114067A CA 330177 A CA330177 A CA 330177A CA 1114067 A CA1114067 A CA 1114067A
- Authority
- CA
- Canada
- Prior art keywords
- error
- write
- read
- words
- ecc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
Error detection circuitry for use in a data processing system which utilizes a programmable logic array for controlling, during a write operating mode, the generation of a write error word by an error register, which write error word is thereupon stored together with the associated data words in a data storage device and for controlling, during a read operating mode, the generation of a read error word, the error register thereupon effectively comparing the read error word with the originally stored write error word to produce a remainder word when an error is present.
Error detection circuitry for use in a data processing system which utilizes a programmable logic array for controlling, during a write operating mode, the generation of a write error word by an error register, which write error word is thereupon stored together with the associated data words in a data storage device and for controlling, during a read operating mode, the generation of a read error word, the error register thereupon effectively comparing the read error word with the originally stored write error word to produce a remainder word when an error is present.
Description
~ i 7 Introduction This invention relates generally to data processing systems and, more particularly, to error detection circuitry for use therein, such cir- `
cuitry utilizing error detection code generators for determining whether an error is present in data words which are being read from a data storage element.
Background of the Invention In reading data words from a data storage device for use in a data processing system, it is desirable to determine whether or not the data words, as read out, are the same as the data words which have previously been wri-ten into such storage device, i.e., to detect the presence of one or more incorrect data bits therein. Such data storage device, for example, may be a magnetic storage disk onto which a serial data bit stream forming a block data words has been written, which data words are read out therefrom at a later time.
In conventional error detection circuits, in order to make such a determination the data words which are written onto the disk are accompanied during the "write" mode of operation by an additional error word which has been generated in accordance with a selected polynomial function from the data words which are being stored. During the "read" mode of operation a j "read" error word is generated in accordance with a selected polynomial which is equivalent to the "write" polynomial from the data words which are being read out from the storage device. The "write" error word which is then read out from the disk is effectively compared with the "read" error word which is generated during the readout process and, if no error is present in the data words which have been read out, the remainder from an error correction code reglster utilized for such purpose is zero. If, on the other hand, an error is present, a non-zero remainder is present in the error correction code ,' - 1 -.ilL
.~ qP
.. - . . . . ...
. . . . .
; . - . . . ~ . .
1~14~ 7 register. Such non-zero remainder can thereupon be recovered and supplied to the data processing system to signify that one or more errors are pre~ent.
Such remainder can then be appropriately interpreted for determininK the location of and for correcting the errors in accordance uith techniques knoun in the art.
Generally, such error detection circuitry requires relatively com-plex multiplexing logic and further complex polynomial selection and genera-tion logic requiring a relatively large number of logical elements. Such complexity not only increa~es the cost of the error detection circuitry but also decreases its reliability. It is desirable, therefore, to simplify as much as possible the error detection circuitry configuration so that harduare complexity and cost considerations can be considerably reauced.
Brief Summary of the Invention In accordance with the invention there is provided error detection circuitry for use in a data processing system having a data storage device comprising first register means capable of accepting data words in parallel form and supplying said parallel data words in serial form and further capable of accepting data words in serial form and supplying said serial data words in parallel form;
error register means capable of accepting serial data uords and producing an error word in response thereto;
progrsmable logic array means programmed to perform the following opera-tions:
(1) controlling, during a write operating mode, the supplying of serial data uords from said first register means to said data storage device and to said error register means, said error register means thereby producing a write error uord, ' . '' . ` . . ' ,' . , . . .................... - ,,: ,. .
. , ' : ' ' . ' :
cuitry utilizing error detection code generators for determining whether an error is present in data words which are being read from a data storage element.
Background of the Invention In reading data words from a data storage device for use in a data processing system, it is desirable to determine whether or not the data words, as read out, are the same as the data words which have previously been wri-ten into such storage device, i.e., to detect the presence of one or more incorrect data bits therein. Such data storage device, for example, may be a magnetic storage disk onto which a serial data bit stream forming a block data words has been written, which data words are read out therefrom at a later time.
In conventional error detection circuits, in order to make such a determination the data words which are written onto the disk are accompanied during the "write" mode of operation by an additional error word which has been generated in accordance with a selected polynomial function from the data words which are being stored. During the "read" mode of operation a j "read" error word is generated in accordance with a selected polynomial which is equivalent to the "write" polynomial from the data words which are being read out from the storage device. The "write" error word which is then read out from the disk is effectively compared with the "read" error word which is generated during the readout process and, if no error is present in the data words which have been read out, the remainder from an error correction code reglster utilized for such purpose is zero. If, on the other hand, an error is present, a non-zero remainder is present in the error correction code ,' - 1 -.ilL
.~ qP
.. - . . . . ...
. . . . .
; . - . . . ~ . .
1~14~ 7 register. Such non-zero remainder can thereupon be recovered and supplied to the data processing system to signify that one or more errors are pre~ent.
Such remainder can then be appropriately interpreted for determininK the location of and for correcting the errors in accordance uith techniques knoun in the art.
Generally, such error detection circuitry requires relatively com-plex multiplexing logic and further complex polynomial selection and genera-tion logic requiring a relatively large number of logical elements. Such complexity not only increa~es the cost of the error detection circuitry but also decreases its reliability. It is desirable, therefore, to simplify as much as possible the error detection circuitry configuration so that harduare complexity and cost considerations can be considerably reauced.
Brief Summary of the Invention In accordance with the invention there is provided error detection circuitry for use in a data processing system having a data storage device comprising first register means capable of accepting data words in parallel form and supplying said parallel data words in serial form and further capable of accepting data words in serial form and supplying said serial data words in parallel form;
error register means capable of accepting serial data uords and producing an error word in response thereto;
progrsmable logic array means programmed to perform the following opera-tions:
(1) controlling, during a write operating mode, the supplying of serial data uords from said first register means to said data storage device and to said error register means, said error register means thereby producing a write error uord, ' . '' . ` . . ' ,' . , . . .................... - ,,: ,. .
. , ' : ' ' . ' :
(2) controlling, durine said write operating mode, the supplying of said write error word from said error register means to said data storage device ~or storage therein wnth said data words,
(3) controlling, during a read operating mode, the supplying of data words from said data storage device to said first regiæter means and to said error register mean~, said error register means thereby producing a read error word in response thereto,
(4) controlling, during said read operating mode, the supplying of said write error word from said data storage device to said error register means when said read error word has been produced therein, said error register means thereby providing a remainder word,
(5) controlling, during said read operating mode, the supplying of said remainder word to said first register means.
In accordance with the invention, an error detection ~ystem for use in detecting errors in serial data which has been read out from a data stor-age device i~ greatly simplified by performing the complicated multiplexing and polynomial generation operations with the use of a programmed logic array, the inputs to which are selected to produce desired selected outputs in a manner which greatly simplifies the error detection hardware and reduces the cost of the overall error detection system. ~he use of a programmed logic array not only eliminates the multiplexing and polynomial generation logic which is normally required but also sets up appropriate controls for the read and write operations.
Description of the Invention The invention is described in more detail with reference to the following figures wherein:
Figure 1 shows a block diagram of a conventional error detection ~ystem as used in the prior art;
, , ~ '' ~ '"' , : .
, Figures 2 and 3 show in more detail the conventional prior art logic for generating the polynomials used in the prior art system of Figure l;
Figure 4 is a general block diagram of a preferred embodiment of the error detection system of the invention, and Figure 5 i5 a more detailed block diagram of the system of the invention shown in Figure 4.
As can be seen in Figure 1, a conventional error detection system utilizes a shift register 10, an error correction code (ECC) register 11, suitable multiplexing logic 12 and 13, and relatively complex polynomial selection and generation logic 14. A system of thç type shown in Figure 1 may be found, for example, in the Technical Manual for DG/DISC Storage Sub-~y~tems (6060 Series, 100 Megabyte), published by Data General Corporation.
Southboro, Massachusetts as Manual No. 015-000061-00 for the Data General 8eries 6060 products.
In the operation of such a prior art error detection system, data which is to be used in a data processing system is generally obtained from or supplied to such system in parallel form. Shift register 10 converts such data obtained from the data processing system from parallel to series form for storage in a storage device, such as a magnetic disk storage unit, or obtains serial data from the storage device and provides such data in paral-lel form to the data processing system. Thus, during the write mode of operation, a block of parallel data words, e.g., 16-bit data words, are entered into shift register ~0, the data words being supplied in serial form to the disk and to an error correction code (ECC) regi~ter 11 via polynomial selection and generation logic 14. Such logic is arranged so that the ECC
register 11 thereupon provides an error word, e.g., a 32-bit word, in accord-ance with a suitable selected polynomial function, from the dat~ words which are entered into register 11 and are being written onto the disk. Such a ~ ' , polynomial is a pre-selected one, the selection thereof being based upon well-known mathematical techniques which are known to the art for such purpose.
The ECC register 11 provides a number of operations during the write and/or read modes. First of ~11, during the write mode discussed above, it produces the write error word, based on the selected polynomial, Yor writing onto the disk, such error word being generated in accordance with a desired implementation of logic elements utilizing exclusive-OR (X-OR) logic gates suitably interconnected in a feedback configuration, as discussed below. Secondly, the ECC register 11 fhnctions as a shift register during 10 the write mode for writing the write error word onto the disk after the data-word6 have been written. ~hirdly, during the read mode, the ECC register 11 produces a read error word from the data words being read out ~rom the disk in accordance with a read polynomial utilizing a different impl~mentation of exclusive-OR logic gates in a different feedback configuration. Finally, register 11 runctions as a shift register for comparing the write error word with the read error word and for providing a zero or a non-zero remain-der as a result of such comparison. The remainder is thereupon supplied to th0 data processing system together with the data words and if the remainder is non-zero, it will signiYy that an error iB present.
Extensive combinational logic i9 required to enable and disable the exclusive-OR gates in accordance with the desired feedback configurations required for the different operational modes of the ECC register. Such com-binational logic gives rise to increasing time delays between stages of the ECC register operation so that at very high data rates, which may in some cases at the present time appraoch 10 MHz., for example, very high speed, and high power-consuming, circuits are required. Further, when writing data onto the disk it is necessary to write both the original data words and the ECC
register error word content. Such operation, in effect, requires a multi-; - 5 -.
~.: ' , . ' : :, ' -. - ~
;'7 plexing process for multiplexing the contents of the shift register 1~ and the ECC register 11. Further, when reading data from the disk it i8 neces-sary to be able to read the contents of both the data words and the write error word from the disk as well as to generate a read error and the remain-der from a comparison of the error words in the ECC register. Such a process also requires the use of multiplexing operations, under suitable control.
Figuxes 2 and 3 show exemplary exclusive-OR feedback configurations o~ the prior art for utilization with the ECC register 11 to generate the desired write and read error woras in accordance with selected polynomial functions. In a particular example for a 32-bit ~CC register, a polynomial, as previously selected by those in the art, which can be utilized during the write mode iB as follows:
32 + X23 ~ X21 + xll ~ x2 ~ 1 A selected read polynomial which is equivalent to the write poly-nomial is in the form of two factors as follows:
(xll + X2 + 1) (x21 ~ 1) In the conventional error detection system of Figure 1 exclusive-OR
feedback logic for each of such polynomials is shown in Figures 2 and 3, respectively. As can be seen therein, in order to implement the polynomial generation logic for both the write and read mode, relatively complex X-OR
gating circuitry is required. Further, relatively complicated multiplexing logic is also needed. Accordingly, the overall gate count becomes relatively high and the overall power consumption correspondingly large. Because of the time delays involved, operation at higher speed becomes difficult unless high speed and high power-consuming elements are utilized. Moreover, the laying out of the error detection circuitry on a program control board for use in a data processine system becomes complicated and the total area which must be utilized on such board becomes larger than is desired. Further, , ,, , : , - . . . : :
: . , .. . , , . - . . . : . , . . . . .~ .~: . . . .
'7 because of the large number of logic elements required there is an inherent reliability problem since there are so many elements present which can be sub~ect to failure.
In order to overcome such disadvantages, this invention effectively replaces the polynomial selection and generation logic 14, as well as the loeic required for the multiplexing operations discussed above, by a single programmed logic array as shown in Figure 4. As can be seen in the latter figure, parallel data to and from a data processing system is supplied to or taken from series/parallel shift register 10, essentially of the type shown in Figure 1. An ECC register 11, also the type as shown in Figure 1, is used. Control of the read and write modes of operation, the generation of the necessary polynomial functions, and the multiplexing o~ various opera-tions therefor is lodged in the program logic array 15.
~he program logic array, which is described in more detail below, is appropri&tely arranged not only to provide the desired multiplexing operations during the various operating modes, but also to generate the de~ired error words in accordance with the polynomial functions during the read and write modes. Suitable timing of the overall operation is provided by appropriate and conventional timing logic circuitry 16.
The structure and operation of the system of the invention shown in Figure 4 can be understood in more detail with reference to Figure 5. As seen therein, the shift register 10 provides appropriate terminals for supplying 16-bit, parallel data words to the data processing system or for receiving 16-bit, parallel data words from the system, as depicted by the 16 bits identified as BUS A0 through BUS A15. Such data bits are suitably supplied in parallel to and from the data processing system on an appropriate data bus (not shQwn) in accordance with conventional techniques. Serial data is also supplied to or from the shift register 10, the input terminal iden-( ' -- ,, . . -: . ~ - :: . . . :
:.,,. . : .. . :: : , , : . : : :, :: . . , . . : :
.. .. : . . : .. .. . : . . . ~: .
- \ :
$~ 7 tified as SR0 being available at one end of the register when supplying data at the input to the register and the output terminal identi~ied as SR15 available at the other end for supplying serial data at the output of the register.
The ECC register 11 comprises four 8-bit registers 11~. through llD
for providing a 32-bit error word having bits ECC0 through ECC31, bits ECC~
through ECC7 being associated with register llA, bits ECC8 through ECC15 being associated with register llB, bits ECC15 through ECC23 being associated with register llC, and bits ECC24 through ECC31 being associated with register llD. Specific ECC data bits required for use in a programmed logic array to generate the desired polynomial functions are more specifically identified in Figure 5 as ECC bit 0, ECC bit 9, ECC bit 10, ECC bit 2~, ECC bit 21, ECC bit 29, ECC bit 30 and ECC bit 31.
Programmed logic array 15 has the capability of receiving up to 16 inputs at 16 input terminals and of providing up to 8 outputs at 8 output terminals. A plurality of control signals as discussed below are also sup-plied thereto and timing logic 16 is also depicted. In utilizing the pro-gram~ed logic array 15 in accordance with the invention, the output functions which are to be generated are suitably selected and the input signals which are required for generating such output functions are also suitably selected, together with the desired functional relationships therebetween as needed for 6uch generation. It is such selected functional relationships which are suitably programmed in the programm~d logic array unit.
Programmed logic array units (sometimes known as field program-mable logic arrays) which are usable for such purpose are presently available to those in the art, typical logic arrays which can be used in the context of applicant's invention being made and 601d, for example, by Signetics Corporation of Sunnyvale, California under the Model designations Nos.
. . .
.
.,. . . ~ . . . . . ~, . . .. .
. : . , . , . .:
. ~ . : . : . . . , . :
. . . . ~ . . . ., - . . . . . . .
~14~7 82S100 or 82S101. A general description o~ such program logic arrays, for example, is contained in a brochure entitled "Signetics Field Programmable Logic Arrayæ", published by and available from Signetics Corporation and dated February lg76.
In accordance with applicant's invention, such a program logic array can be utilized for generating the desired write and read error words in accordance with the selected polynomial functions and for performing the desired multiplexing operations of the invention by providing the following selected outputs therefrom:
1. Input to ECC bit 31 2. Input to ECC bit 29 3. Input to ECC bit 20 . Input to ECC bit 10 5. Input to ECC bit 8
In accordance with the invention, an error detection ~ystem for use in detecting errors in serial data which has been read out from a data stor-age device i~ greatly simplified by performing the complicated multiplexing and polynomial generation operations with the use of a programmed logic array, the inputs to which are selected to produce desired selected outputs in a manner which greatly simplifies the error detection hardware and reduces the cost of the overall error detection system. ~he use of a programmed logic array not only eliminates the multiplexing and polynomial generation logic which is normally required but also sets up appropriate controls for the read and write operations.
Description of the Invention The invention is described in more detail with reference to the following figures wherein:
Figure 1 shows a block diagram of a conventional error detection ~ystem as used in the prior art;
, , ~ '' ~ '"' , : .
, Figures 2 and 3 show in more detail the conventional prior art logic for generating the polynomials used in the prior art system of Figure l;
Figure 4 is a general block diagram of a preferred embodiment of the error detection system of the invention, and Figure 5 i5 a more detailed block diagram of the system of the invention shown in Figure 4.
As can be seen in Figure 1, a conventional error detection system utilizes a shift register 10, an error correction code (ECC) register 11, suitable multiplexing logic 12 and 13, and relatively complex polynomial selection and generation logic 14. A system of thç type shown in Figure 1 may be found, for example, in the Technical Manual for DG/DISC Storage Sub-~y~tems (6060 Series, 100 Megabyte), published by Data General Corporation.
Southboro, Massachusetts as Manual No. 015-000061-00 for the Data General 8eries 6060 products.
In the operation of such a prior art error detection system, data which is to be used in a data processing system is generally obtained from or supplied to such system in parallel form. Shift register 10 converts such data obtained from the data processing system from parallel to series form for storage in a storage device, such as a magnetic disk storage unit, or obtains serial data from the storage device and provides such data in paral-lel form to the data processing system. Thus, during the write mode of operation, a block of parallel data words, e.g., 16-bit data words, are entered into shift register ~0, the data words being supplied in serial form to the disk and to an error correction code (ECC) regi~ter 11 via polynomial selection and generation logic 14. Such logic is arranged so that the ECC
register 11 thereupon provides an error word, e.g., a 32-bit word, in accord-ance with a suitable selected polynomial function, from the dat~ words which are entered into register 11 and are being written onto the disk. Such a ~ ' , polynomial is a pre-selected one, the selection thereof being based upon well-known mathematical techniques which are known to the art for such purpose.
The ECC register 11 provides a number of operations during the write and/or read modes. First of ~11, during the write mode discussed above, it produces the write error word, based on the selected polynomial, Yor writing onto the disk, such error word being generated in accordance with a desired implementation of logic elements utilizing exclusive-OR (X-OR) logic gates suitably interconnected in a feedback configuration, as discussed below. Secondly, the ECC register 11 fhnctions as a shift register during 10 the write mode for writing the write error word onto the disk after the data-word6 have been written. ~hirdly, during the read mode, the ECC register 11 produces a read error word from the data words being read out ~rom the disk in accordance with a read polynomial utilizing a different impl~mentation of exclusive-OR logic gates in a different feedback configuration. Finally, register 11 runctions as a shift register for comparing the write error word with the read error word and for providing a zero or a non-zero remain-der as a result of such comparison. The remainder is thereupon supplied to th0 data processing system together with the data words and if the remainder is non-zero, it will signiYy that an error iB present.
Extensive combinational logic i9 required to enable and disable the exclusive-OR gates in accordance with the desired feedback configurations required for the different operational modes of the ECC register. Such com-binational logic gives rise to increasing time delays between stages of the ECC register operation so that at very high data rates, which may in some cases at the present time appraoch 10 MHz., for example, very high speed, and high power-consuming, circuits are required. Further, when writing data onto the disk it is necessary to write both the original data words and the ECC
register error word content. Such operation, in effect, requires a multi-; - 5 -.
~.: ' , . ' : :, ' -. - ~
;'7 plexing process for multiplexing the contents of the shift register 1~ and the ECC register 11. Further, when reading data from the disk it i8 neces-sary to be able to read the contents of both the data words and the write error word from the disk as well as to generate a read error and the remain-der from a comparison of the error words in the ECC register. Such a process also requires the use of multiplexing operations, under suitable control.
Figuxes 2 and 3 show exemplary exclusive-OR feedback configurations o~ the prior art for utilization with the ECC register 11 to generate the desired write and read error woras in accordance with selected polynomial functions. In a particular example for a 32-bit ~CC register, a polynomial, as previously selected by those in the art, which can be utilized during the write mode iB as follows:
32 + X23 ~ X21 + xll ~ x2 ~ 1 A selected read polynomial which is equivalent to the write poly-nomial is in the form of two factors as follows:
(xll + X2 + 1) (x21 ~ 1) In the conventional error detection system of Figure 1 exclusive-OR
feedback logic for each of such polynomials is shown in Figures 2 and 3, respectively. As can be seen therein, in order to implement the polynomial generation logic for both the write and read mode, relatively complex X-OR
gating circuitry is required. Further, relatively complicated multiplexing logic is also needed. Accordingly, the overall gate count becomes relatively high and the overall power consumption correspondingly large. Because of the time delays involved, operation at higher speed becomes difficult unless high speed and high power-consuming elements are utilized. Moreover, the laying out of the error detection circuitry on a program control board for use in a data processine system becomes complicated and the total area which must be utilized on such board becomes larger than is desired. Further, , ,, , : , - . . . : :
: . , .. . , , . - . . . : . , . . . . .~ .~: . . . .
'7 because of the large number of logic elements required there is an inherent reliability problem since there are so many elements present which can be sub~ect to failure.
In order to overcome such disadvantages, this invention effectively replaces the polynomial selection and generation logic 14, as well as the loeic required for the multiplexing operations discussed above, by a single programmed logic array as shown in Figure 4. As can be seen in the latter figure, parallel data to and from a data processing system is supplied to or taken from series/parallel shift register 10, essentially of the type shown in Figure 1. An ECC register 11, also the type as shown in Figure 1, is used. Control of the read and write modes of operation, the generation of the necessary polynomial functions, and the multiplexing o~ various opera-tions therefor is lodged in the program logic array 15.
~he program logic array, which is described in more detail below, is appropri&tely arranged not only to provide the desired multiplexing operations during the various operating modes, but also to generate the de~ired error words in accordance with the polynomial functions during the read and write modes. Suitable timing of the overall operation is provided by appropriate and conventional timing logic circuitry 16.
The structure and operation of the system of the invention shown in Figure 4 can be understood in more detail with reference to Figure 5. As seen therein, the shift register 10 provides appropriate terminals for supplying 16-bit, parallel data words to the data processing system or for receiving 16-bit, parallel data words from the system, as depicted by the 16 bits identified as BUS A0 through BUS A15. Such data bits are suitably supplied in parallel to and from the data processing system on an appropriate data bus (not shQwn) in accordance with conventional techniques. Serial data is also supplied to or from the shift register 10, the input terminal iden-( ' -- ,, . . -: . ~ - :: . . . :
:.,,. . : .. . :: : , , : . : : :, :: . . , . . : :
.. .. : . . : .. .. . : . . . ~: .
- \ :
$~ 7 tified as SR0 being available at one end of the register when supplying data at the input to the register and the output terminal identi~ied as SR15 available at the other end for supplying serial data at the output of the register.
The ECC register 11 comprises four 8-bit registers 11~. through llD
for providing a 32-bit error word having bits ECC0 through ECC31, bits ECC~
through ECC7 being associated with register llA, bits ECC8 through ECC15 being associated with register llB, bits ECC15 through ECC23 being associated with register llC, and bits ECC24 through ECC31 being associated with register llD. Specific ECC data bits required for use in a programmed logic array to generate the desired polynomial functions are more specifically identified in Figure 5 as ECC bit 0, ECC bit 9, ECC bit 10, ECC bit 2~, ECC bit 21, ECC bit 29, ECC bit 30 and ECC bit 31.
Programmed logic array 15 has the capability of receiving up to 16 inputs at 16 input terminals and of providing up to 8 outputs at 8 output terminals. A plurality of control signals as discussed below are also sup-plied thereto and timing logic 16 is also depicted. In utilizing the pro-gram~ed logic array 15 in accordance with the invention, the output functions which are to be generated are suitably selected and the input signals which are required for generating such output functions are also suitably selected, together with the desired functional relationships therebetween as needed for 6uch generation. It is such selected functional relationships which are suitably programmed in the programm~d logic array unit.
Programmed logic array units (sometimes known as field program-mable logic arrays) which are usable for such purpose are presently available to those in the art, typical logic arrays which can be used in the context of applicant's invention being made and 601d, for example, by Signetics Corporation of Sunnyvale, California under the Model designations Nos.
. . .
.
.,. . . ~ . . . . . ~, . . .. .
. : . , . , . .:
. ~ . : . : . . . , . :
. . . . ~ . . . ., - . . . . . . .
~14~7 82S100 or 82S101. A general description o~ such program logic arrays, for example, is contained in a brochure entitled "Signetics Field Programmable Logic Arrayæ", published by and available from Signetics Corporation and dated February lg76.
In accordance with applicant's invention, such a program logic array can be utilized for generating the desired write and read error words in accordance with the selected polynomial functions and for performing the desired multiplexing operations of the invention by providing the following selected outputs therefrom:
1. Input to ECC bit 31 2. Input to ECC bit 29 3. Input to ECC bit 20 . Input to ECC bit 10 5. Input to ECC bit 8
6. Serial data to the disk
7. Serial data from the disk The first five outputs listed above are supplied on lines 17-21 to the corresponding bit locations o~ the ECC register 11 which, in accordance with the polynomial functions as described above in connection with Figures 2 and 3, reguire feedback to be applied thereto. All other bit locations of the ECC register 11 are simply the contents of the next higher location delayed by one clock time period.
; The sixth output listed above as supplied on line 22 is the serial data which is to be written onto the disk and is, in effect, the multiplexed output of the serial data words received from the data processing system for writing onto the disk plus the error word from the ECC register as generated during the write mode of operation. Such data is appropriately synchronized ~or such purpose by flip-flop circuitry 25 the operation of which is suitably _ g _ : ... .
.~ : , , ~ ,. ,.. .:.: ,~ , :. ,, , - : - ..
: : . : - : : . , .:
,, , ,: .. ~ ~ , . . , .
controlled by the write clock signal (WR CLOCK) and the WRITE GATE signal for supplying the synchronized data as WR DATA therefrom.
The seventh output listed above as supplied on line 23 is the serial data which is received from the disk during a read mode of operation and is the multiplexed combination of the data words from the disk and the remainder word left in the ECC register after the effective compari~on of the write error word and the read error word. Such output is supplied to the system via shift register 10 which converts the data from serial to parallel form.
In order to generate the above outputs the following selected in-puts are utilized in accordance with the invention:
l. Output from ECC bit 0 2. Output from ECC bit 9 3. Output from ECC bit 11 4. Output from ECC bit 21 5. Output from ECC bit 30 6. Serial bit 15 (SRl5) - serial output from shift register 10 7. Serial bit 0 (SR0) - serial input to shift register 10 ô. DA~A IN ~serial data from the disk) 9. E~ ECC CLK
lO. RD ECC
ll. SHIFT ECC
The first five inputs listed above are all ECC bits from register ll which bits are appropriately combined to produce the desired write or read error word~ in accordance with the selected polynomial functions discussed in connection with Figures 2 and 3.
The ~ixth and seventh input~ listed above are data inputs from or to the shi~t register 10, respectively, for use in implementing the logic .. -~ .
.:
, ~ , , , - - , . : . .- :: .
.- ., ., : ., .:
.:. . -, . . . ~ . -. . , ... , . ... - .
' , '' '': ' ~ :' ~ ' ' -" ~$3.~'7 equations discussed below in more detail in the write and read operating modes. ~he data to be written or to be read is supplied in a multiplex manner by the logic array as input ~o the ECC register for producing error words, as input data to the disk in the case of the write operation, or as output data from the disk to the shift register in the case of the read operation. The output data from the disk in the latter case issupplied to the logic array as DATA IN and thereupon from the logic array to shift reg-ister 10 on line 26.
The EN ECC CLK input is a control signal which enables the ECC
register operation.
The RD ECC and SHIFT ECC inputæ are coded control signals for con-trolline four desired modes of operation, i.e., a first mode (where such inputs are 0,0) for generating the error word during the write mode, a sec-ond mode (where such inputs are 1,0) for writing the error word onto the disk during the write mode, a third mode (where such inputs are 0,1) for generating the error word during the read mode, and a fourth mode (where such inputs are 1,1) for checkine the ECC reeister to produce the remainder there-from during the read mode. Such control sienals can be appropriately gen-erated by a central processor unit of the data processing system for use during the read and write operating modes in a manner well known to those in the art.
In order to provide the desired operation of the program logic array for such purpose in accordance with the invention, the following selected logic equations have been derived for implementing the programmed logic array to generate the desired error words and to provide the desired multiplexing operations as required during the write and read modes of operation. Such logic equations are set forth below as Equations (1) through (7) and, as can be seen therein, the seven selected output functions are all .. : . , . ~ . .-:, : - , . , :
:, . .. . . ::~: - : .. .. .
. . . ,:. ,, ~, . :. :: . - ,. . ' : . :
:. : .. .: ::: : .. . . -:, : . ' ' ' , : - :' ' ' ' . :': ' - . : - ' ' . :
'7 appropriatel~ related to the eleven input variables in accordance with the selected relations set forth therein. Although a typical programmed logic array of the type referred to above has 16 available inputs and 8 available outputs, only 11 of the inputs and 7 of the outputs need be utilized in the particular application described herein.
SELECTED LOGIC EQUATIONS
Bit 31 Input = SHIFT ECC-RD ECC-EN ECC-[SR15 ~ ECC 0] +
SHIFT ECC RD ECC-EN ECC-[SR0 ~ ECC 21]
Bit 29 Input = SHIFT ECC-RD ECC-EN ECC~[SR15 ~ ECC0 ~ ECC30] +
SHIFI ECC-RD ECC-EN ECC-[SR0 ~3 ECC30 ~ ECC21] +
Bit 20 Input = SHIFT ECC RD ECC-EN ECC [SR15 ~ ECC21 ~ ECC0] +
SHIFT ECC-EN ECC-ECC21 +
SHIFT ECC-RD ECC-EN ECC.[SR0 ~ ECC0]
Bit lO Input = SHIF~ ECC-RD ECC-EN ECC-[SR15 ~ ECCll ~ ECC0] +
SHIFT ECC EN ECC~ECCll +
SHIFT ECC-RD ECC-EN ECC-ECCll Bit ô Input = SHIF~ ECC-RD ECC EN ECC-~SR15 ~ ECC9 ~ ECC0]
SHIFT ECC-EN ECC-ECC9 +
SHIFT ECC-RD ECC-EN E¢C~ECC9 Serial Data Out = SHIFT ECC-RD ECC-EN ECC-ECC0 +
EN ECC SR15 +
Serial Data In = SHIFT ECC-RD ECC-EN ECC-ECC0 +
, EN ECC-DATA IN +
SHIFT ECC RD ECC-EN ECC-DATA IN
- 12 ~
:' : ' ~ : ' : , , . . ' - . ' `6'7 The above logic equations are derived from the particular selected exemplary polynomial functions discussed above. As an example of how such derivations can be made, logic equation (1~ can be considered as follows:
Bit 31 Input = SHIFT ECC-RD ECC-EN ECC-[SR15 ~ ECC 0] +
SHIFT ECC-RD ECC-EN ECC-~SR0 ~3 ECC 21]
During the generation of the error word in accordance with the 32 ~ 23 I x21 ~ xll ~ x2 1 1, as can be understood with reference to the feedback configuration of Figure 2, the bit 31 input is the exclusive-OR'd output of the serial data input from regieter 10 to the di~k (SR15) and the ~-bit from the ECC register (ECC0). During such write mode the ECC register must be enabled (EN ECC) and the above discussed coded con-trol signals (inputs 10 and 11 above) must be in such coded form as to pro-vide for generating an error word during the write mode (SHIFT ECC
RD ECC), i.e., a (0,0) code.
Further, during the read mode generation of the error word in accordance with the read polynomial function, (x + x I 1) (x21 + 1), as can be understood with reference to the feedback configuration of Figure 3, the bit 31 input i~ the exclusive-OR'd output of the serial data into register 10 from the disk (SR0), which data is supplied via logic array from the DATA IN input thereto and thence on line 23 therefrom, and bit 21 from the ECC register (ECC21). Moreover, during the read mode the ECC register must be enabled as before (EN ECC) and the coded control signals must be in ~uch coded form as to provide for generating an error word during the read mode (SHIF~ ECC RD ECC), i.e., a (0,1) code. The remaining logic equations are similarly derived.
Such logic equations (1) through (7) can be implemented by the programmed logic array in accordance with known techniques described, for ' ' ' .' '` '-, : . :. -: ~ : . . .
.
. .
,,, ~ , : - ~:
-: ~ .
. . :. -. . : .-- `
example, in the above-identified Signetics brochure, once the logic equations having the selected input and outputs and selected relations therebetween have been set up.
Other shift register (SR) and ECC register control ~ignals shown in Figure 5 (SR MODE SEL 1, SR EN OUT, DIORESET, SR CLOCK, CLEAR ECC) can all be generated in suitable and known manners in the central processing unit of the data processing system as would be within the skill of the art.
In summary, during the write moee, parallel data wordæ are sup-plied to shift register 10 and thence in serial form from the serial output terminal SR15 to the programmed logic array 15. The data words are then supplied on output line 22 to the synchronizing means 25 (i.e., syncronized to the WR CLOCK signal generated by timing logic 16) for supply to the disk as WR DATA. ~he data words are also supplied to the ECC register 11 on line 17 to the bit 31 input thereof for use in generating the desired write error word in accordance with the selected polynomial functlon. The write error word is then supplied to the logic array 15 from the ECC bit 0 terminal of the ECC register 11 on line 27 for subsequent supply to the disk on line 22 as part of the WR DATA (also suitably synchronized). Thus, the d~ta words incoming from the data processing system and the write error word generated by the error detection circuitry are written onto the disk.
During the read mode, the data words and write error word from the disk are supplied to the logic array 15 at the DATA IN terminal and, thence, the data words are supplied to the shift register 10 in serial form on line 23 to the 0-bit input terminal thereof. Such data words are thereupon sup-plied to the system in parallel form therefrom. The data words are also supplied to the ECC register 11 on line 17 for use in producing a read error word. The write error word is thereupon supplied to the ECC regi~ter in which the read error word has been generated and, if the write and read error - 14 _ ~., . : . - ................................. ....
. . . :
: . . - ~ . . .
words are equivalent (i.e., the data words that have been read out from the disk are the same as the data words that have been written thereon and no errors exist), a zero re~ainder word i9 present in the ECC register. On the other hand, i~ an error in the data words as read out is present, a non-zero remainder word exists in the ECC register, which non-zero remainder word is thereupon supplied to the logic array on line 27 and thence to the shift register on line 23 for subsequent supply to the system in order to Rigni~y that one or more errors are present, the reaminder word being appropriately interpreted for identifying and correcting the errors involved.
The implementation of the above logic equations having the selected input variables ~or produci~g the desired selected output variables in the program logic array in accordance with the invention greatly reduces the o~erall number of logic elements needed for error detection in comparison with prior art systems and provides the desired advantages thereover in terms of increased speed of operation, lower power requirements, increased reli-ability, and reduced cost.
:. . , . . . .: ,, . ., . . : .
- . -: - - - , -:, : ., - : ~ . - : : :
- ~ . . , , . . : - :
... , . . , . . . . : ,..... . : .:: :
; The sixth output listed above as supplied on line 22 is the serial data which is to be written onto the disk and is, in effect, the multiplexed output of the serial data words received from the data processing system for writing onto the disk plus the error word from the ECC register as generated during the write mode of operation. Such data is appropriately synchronized ~or such purpose by flip-flop circuitry 25 the operation of which is suitably _ g _ : ... .
.~ : , , ~ ,. ,.. .:.: ,~ , :. ,, , - : - ..
: : . : - : : . , .:
,, , ,: .. ~ ~ , . . , .
controlled by the write clock signal (WR CLOCK) and the WRITE GATE signal for supplying the synchronized data as WR DATA therefrom.
The seventh output listed above as supplied on line 23 is the serial data which is received from the disk during a read mode of operation and is the multiplexed combination of the data words from the disk and the remainder word left in the ECC register after the effective compari~on of the write error word and the read error word. Such output is supplied to the system via shift register 10 which converts the data from serial to parallel form.
In order to generate the above outputs the following selected in-puts are utilized in accordance with the invention:
l. Output from ECC bit 0 2. Output from ECC bit 9 3. Output from ECC bit 11 4. Output from ECC bit 21 5. Output from ECC bit 30 6. Serial bit 15 (SRl5) - serial output from shift register 10 7. Serial bit 0 (SR0) - serial input to shift register 10 ô. DA~A IN ~serial data from the disk) 9. E~ ECC CLK
lO. RD ECC
ll. SHIFT ECC
The first five inputs listed above are all ECC bits from register ll which bits are appropriately combined to produce the desired write or read error word~ in accordance with the selected polynomial functions discussed in connection with Figures 2 and 3.
The ~ixth and seventh input~ listed above are data inputs from or to the shi~t register 10, respectively, for use in implementing the logic .. -~ .
.:
, ~ , , , - - , . : . .- :: .
.- ., ., : ., .:
.:. . -, . . . ~ . -. . , ... , . ... - .
' , '' '': ' ~ :' ~ ' ' -" ~$3.~'7 equations discussed below in more detail in the write and read operating modes. ~he data to be written or to be read is supplied in a multiplex manner by the logic array as input ~o the ECC register for producing error words, as input data to the disk in the case of the write operation, or as output data from the disk to the shift register in the case of the read operation. The output data from the disk in the latter case issupplied to the logic array as DATA IN and thereupon from the logic array to shift reg-ister 10 on line 26.
The EN ECC CLK input is a control signal which enables the ECC
register operation.
The RD ECC and SHIFT ECC inputæ are coded control signals for con-trolline four desired modes of operation, i.e., a first mode (where such inputs are 0,0) for generating the error word during the write mode, a sec-ond mode (where such inputs are 1,0) for writing the error word onto the disk during the write mode, a third mode (where such inputs are 0,1) for generating the error word during the read mode, and a fourth mode (where such inputs are 1,1) for checkine the ECC reeister to produce the remainder there-from during the read mode. Such control sienals can be appropriately gen-erated by a central processor unit of the data processing system for use during the read and write operating modes in a manner well known to those in the art.
In order to provide the desired operation of the program logic array for such purpose in accordance with the invention, the following selected logic equations have been derived for implementing the programmed logic array to generate the desired error words and to provide the desired multiplexing operations as required during the write and read modes of operation. Such logic equations are set forth below as Equations (1) through (7) and, as can be seen therein, the seven selected output functions are all .. : . , . ~ . .-:, : - , . , :
:, . .. . . ::~: - : .. .. .
. . . ,:. ,, ~, . :. :: . - ,. . ' : . :
:. : .. .: ::: : .. . . -:, : . ' ' ' , : - :' ' ' ' . :': ' - . : - ' ' . :
'7 appropriatel~ related to the eleven input variables in accordance with the selected relations set forth therein. Although a typical programmed logic array of the type referred to above has 16 available inputs and 8 available outputs, only 11 of the inputs and 7 of the outputs need be utilized in the particular application described herein.
SELECTED LOGIC EQUATIONS
Bit 31 Input = SHIFT ECC-RD ECC-EN ECC-[SR15 ~ ECC 0] +
SHIFT ECC RD ECC-EN ECC-[SR0 ~ ECC 21]
Bit 29 Input = SHIFT ECC-RD ECC-EN ECC~[SR15 ~ ECC0 ~ ECC30] +
SHIFI ECC-RD ECC-EN ECC-[SR0 ~3 ECC30 ~ ECC21] +
Bit 20 Input = SHIFT ECC RD ECC-EN ECC [SR15 ~ ECC21 ~ ECC0] +
SHIFT ECC-EN ECC-ECC21 +
SHIFT ECC-RD ECC-EN ECC.[SR0 ~ ECC0]
Bit lO Input = SHIF~ ECC-RD ECC-EN ECC-[SR15 ~ ECCll ~ ECC0] +
SHIFT ECC EN ECC~ECCll +
SHIFT ECC-RD ECC-EN ECC-ECCll Bit ô Input = SHIF~ ECC-RD ECC EN ECC-~SR15 ~ ECC9 ~ ECC0]
SHIFT ECC-EN ECC-ECC9 +
SHIFT ECC-RD ECC-EN E¢C~ECC9 Serial Data Out = SHIFT ECC-RD ECC-EN ECC-ECC0 +
EN ECC SR15 +
Serial Data In = SHIFT ECC-RD ECC-EN ECC-ECC0 +
, EN ECC-DATA IN +
SHIFT ECC RD ECC-EN ECC-DATA IN
- 12 ~
:' : ' ~ : ' : , , . . ' - . ' `6'7 The above logic equations are derived from the particular selected exemplary polynomial functions discussed above. As an example of how such derivations can be made, logic equation (1~ can be considered as follows:
Bit 31 Input = SHIFT ECC-RD ECC-EN ECC-[SR15 ~ ECC 0] +
SHIFT ECC-RD ECC-EN ECC-~SR0 ~3 ECC 21]
During the generation of the error word in accordance with the 32 ~ 23 I x21 ~ xll ~ x2 1 1, as can be understood with reference to the feedback configuration of Figure 2, the bit 31 input is the exclusive-OR'd output of the serial data input from regieter 10 to the di~k (SR15) and the ~-bit from the ECC register (ECC0). During such write mode the ECC register must be enabled (EN ECC) and the above discussed coded con-trol signals (inputs 10 and 11 above) must be in such coded form as to pro-vide for generating an error word during the write mode (SHIFT ECC
RD ECC), i.e., a (0,0) code.
Further, during the read mode generation of the error word in accordance with the read polynomial function, (x + x I 1) (x21 + 1), as can be understood with reference to the feedback configuration of Figure 3, the bit 31 input i~ the exclusive-OR'd output of the serial data into register 10 from the disk (SR0), which data is supplied via logic array from the DATA IN input thereto and thence on line 23 therefrom, and bit 21 from the ECC register (ECC21). Moreover, during the read mode the ECC register must be enabled as before (EN ECC) and the coded control signals must be in ~uch coded form as to provide for generating an error word during the read mode (SHIF~ ECC RD ECC), i.e., a (0,1) code. The remaining logic equations are similarly derived.
Such logic equations (1) through (7) can be implemented by the programmed logic array in accordance with known techniques described, for ' ' ' .' '` '-, : . :. -: ~ : . . .
.
. .
,,, ~ , : - ~:
-: ~ .
. . :. -. . : .-- `
example, in the above-identified Signetics brochure, once the logic equations having the selected input and outputs and selected relations therebetween have been set up.
Other shift register (SR) and ECC register control ~ignals shown in Figure 5 (SR MODE SEL 1, SR EN OUT, DIORESET, SR CLOCK, CLEAR ECC) can all be generated in suitable and known manners in the central processing unit of the data processing system as would be within the skill of the art.
In summary, during the write moee, parallel data wordæ are sup-plied to shift register 10 and thence in serial form from the serial output terminal SR15 to the programmed logic array 15. The data words are then supplied on output line 22 to the synchronizing means 25 (i.e., syncronized to the WR CLOCK signal generated by timing logic 16) for supply to the disk as WR DATA. ~he data words are also supplied to the ECC register 11 on line 17 to the bit 31 input thereof for use in generating the desired write error word in accordance with the selected polynomial functlon. The write error word is then supplied to the logic array 15 from the ECC bit 0 terminal of the ECC register 11 on line 27 for subsequent supply to the disk on line 22 as part of the WR DATA (also suitably synchronized). Thus, the d~ta words incoming from the data processing system and the write error word generated by the error detection circuitry are written onto the disk.
During the read mode, the data words and write error word from the disk are supplied to the logic array 15 at the DATA IN terminal and, thence, the data words are supplied to the shift register 10 in serial form on line 23 to the 0-bit input terminal thereof. Such data words are thereupon sup-plied to the system in parallel form therefrom. The data words are also supplied to the ECC register 11 on line 17 for use in producing a read error word. The write error word is thereupon supplied to the ECC regi~ter in which the read error word has been generated and, if the write and read error - 14 _ ~., . : . - ................................. ....
. . . :
: . . - ~ . . .
words are equivalent (i.e., the data words that have been read out from the disk are the same as the data words that have been written thereon and no errors exist), a zero re~ainder word i9 present in the ECC register. On the other hand, i~ an error in the data words as read out is present, a non-zero remainder word exists in the ECC register, which non-zero remainder word is thereupon supplied to the logic array on line 27 and thence to the shift register on line 23 for subsequent supply to the system in order to Rigni~y that one or more errors are present, the reaminder word being appropriately interpreted for identifying and correcting the errors involved.
The implementation of the above logic equations having the selected input variables ~or produci~g the desired selected output variables in the program logic array in accordance with the invention greatly reduces the o~erall number of logic elements needed for error detection in comparison with prior art systems and provides the desired advantages thereover in terms of increased speed of operation, lower power requirements, increased reli-ability, and reduced cost.
:. . , . . . .: ,, . ., . . : .
- . -: - - - , -:, : ., - : ~ . - : : :
- ~ . . , , . . : - :
... , . . , . . . . : ,..... . : .:: :
Claims (9)
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. Error detection circuitry for use in a data processing system having a data storage device comprising first register means capable of accepting data words in parallel form and supplying said parallel data words in serial form and further capable of accepting data words in serial form and supplying said serial data words in parallel form;
error register means capable of accepting serial data words and produc-ing an error word in response thereto;
programable logic array means programmed to perform the following opera-tions:
(1) controlling, during a write operating mode, the supplying of serial data words from said first register means to said data storage device and to said error register means, said error register means thereby producing a write error word, (2) controlling, during said write operating mode, the supplying of said write error word from said error register means to said data storage device for storage therein with said data words, (3) controlling, during a read operating mode, the supplying of data words from said data storage device to said first register means and to said error register means, said error register means thereby producing a read error word in response thereto, (4) controlling, during said read operating mode, the supplying of said write error word from said data storage device to said error register means when said read error word has been produced therein, said error reg-ister means thereby providing a remainder word, (5) controlling, during said read operating mode, the supplying of said remainder word to said first register means.
error register means capable of accepting serial data words and produc-ing an error word in response thereto;
programable logic array means programmed to perform the following opera-tions:
(1) controlling, during a write operating mode, the supplying of serial data words from said first register means to said data storage device and to said error register means, said error register means thereby producing a write error word, (2) controlling, during said write operating mode, the supplying of said write error word from said error register means to said data storage device for storage therein with said data words, (3) controlling, during a read operating mode, the supplying of data words from said data storage device to said first register means and to said error register means, said error register means thereby producing a read error word in response thereto, (4) controlling, during said read operating mode, the supplying of said write error word from said data storage device to said error register means when said read error word has been produced therein, said error reg-ister means thereby providing a remainder word, (5) controlling, during said read operating mode, the supplying of said remainder word to said first register means.
2. Error detection circuitry in accordance with claim 1 wherein said data storage device is a magnetic disk storage unit.
3. Error detection circuitry in accordance with claim 2 wherein said programmable logic array means has a first selected number of inputs which includes a plurality of bits from said error register means;
serial data words from said first register means to be supplied to said magnetic disk storage unit;
serial data words from said magnetic disk storage unit to be supplied to said first register means;
a control signal for controlling the enabling of said error register means, and coded control signals for controlling the generation of said write and read error words during said write and read operating modes, respectively;
for controlling the supplying of said write error to said magnetic disk storage unit; and for controlling the supplying of said remainder word to said first register means.
serial data words from said first register means to be supplied to said magnetic disk storage unit;
serial data words from said magnetic disk storage unit to be supplied to said first register means;
a control signal for controlling the enabling of said error register means, and coded control signals for controlling the generation of said write and read error words during said write and read operating modes, respectively;
for controlling the supplying of said write error to said magnetic disk storage unit; and for controlling the supplying of said remainder word to said first register means.
4. Error detection circuitry in accordance with claim 3 wherein said programmable logic array means is programmed so as to provide said write error word in accordance with a first selected polynomial function determined by a first selected number of said plurality of bits from said error register and so as to provide said read error word in accordance with a second select-ed polynomial function determined by second selected ones of said plurality of bits from said error register means, said second polynomial function being equivalent to said first polynomial function.
5. Error detection circuitry in accordance with claim 4 wherein said first selected polynomial function is the function x32 + x23 + x21 + x11 + x2 + 1 and said second polynomial function is the function (x11 + x2 + 1) (x21 + 1).
6. Error detection circuitry in accordance with claim 5 wherein said error register means is a 32-bit register and said first selected ones of said plurality of bits from said error register means are bits 0, 9, 11, 21 and 30 and said second selected ones of said plurality of bits from said error register means are bits 8, 10, 20, 29 and 31.
7. Error detection circuitry for use in a data processing system comprising means for producing write and read error words in response to data words during write and read operating modes, respectively, and for comparing said write and read error words to produce remainder words therefrom; and programmable logic array means programmed to control the producing of said write and read error words and to control the producing of said remain-der words in accordance with said comparison.
8. Error detection circuitry in accordance with claim 7 wherein said programmable logic array means is programmed to control the producing of said write and said read error words in accordance with selected poly-nomials.
9. Error detection circuitry in accordance with claims 7 or 8 wherein said programmable logic array means is programmed to control the producing of said write and said read error words and the producing of said remainder words in a multiplexed manner.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US917,519 | 1978-06-21 | ||
US05/917,519 US4171765A (en) | 1977-08-29 | 1978-06-21 | Error detection system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1114067A true CA1114067A (en) | 1981-12-08 |
Family
ID=25438904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA330,177A Expired CA1114067A (en) | 1978-06-21 | 1979-06-20 | Error detection system |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS553097A (en) |
CA (1) | CA1114067A (en) |
DE (1) | DE2923380A1 (en) |
FR (1) | FR2429466A1 (en) |
GB (1) | GB2023895B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5984317A (en) * | 1982-11-05 | 1984-05-16 | Sony Corp | Reproducing device |
JPH0770176B2 (en) * | 1987-03-23 | 1995-07-31 | 三菱電機株式会社 | Error control device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3697949A (en) * | 1970-12-31 | 1972-10-10 | Ibm | Error correction system for use with a rotational single-error correction, double-error detection hamming code |
JPS5019226A (en) * | 1973-05-18 | 1975-02-28 | ||
US3836957A (en) * | 1973-06-26 | 1974-09-17 | Ibm | Data storage system with deferred error detection |
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
CA1099022A (en) * | 1976-08-12 | 1981-04-07 | Gary J. Goss | Parallel calculation of serial cyclic redundancy check |
-
1979
- 1979-04-12 GB GB7913019A patent/GB2023895B/en not_active Expired
- 1979-05-16 FR FR7912456A patent/FR2429466A1/en active Granted
- 1979-06-08 DE DE19792923380 patent/DE2923380A1/en not_active Withdrawn
- 1979-06-11 JP JP7346379A patent/JPS553097A/en active Pending
- 1979-06-20 CA CA330,177A patent/CA1114067A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS553097A (en) | 1980-01-10 |
GB2023895B (en) | 1982-10-13 |
FR2429466A1 (en) | 1980-01-18 |
DE2923380A1 (en) | 1980-01-10 |
FR2429466B1 (en) | 1984-08-31 |
GB2023895A (en) | 1980-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4509118A (en) | Method and apparatus for defining magnetic disk track field lengths using a programmable counter | |
US4210959A (en) | Controller for magnetic disc, recorder, or the like | |
EP0391584A2 (en) | Fifo memory system | |
EP0054243A2 (en) | Memory controlling apparatus | |
EP0016827A4 (en) | High density memory system. | |
US4175287A (en) | Elastic store slip control circuit apparatus and method for preventing overlapping sequential read and write operations | |
US4733366A (en) | Apparatus for providing an interrupt signal in response to a permanent or transient power failure | |
US4858038A (en) | System of disk device selector circuits for disk controller | |
WO2009079175A2 (en) | Self-timed error correcting code evaluation system and method | |
EP0047859A2 (en) | Two speed recirculating memory system | |
JPS5864844A (en) | Synchronism detecting system | |
US4759021A (en) | Test pattern generator | |
US4978955A (en) | Data randomizing/de-randomizing circuit for randomizing and de-randomizing data | |
EP0442580B1 (en) | Sequential finite-state machine circuit and integrated circuit comprising such a circuit | |
US3883891A (en) | Redundant signal processing error reduction technique | |
US4171765A (en) | Error detection system | |
CA1114067A (en) | Error detection system | |
JPS5848944B2 (en) | processing equipment | |
JPS5833577B2 (en) | integrated circuit | |
US3500330A (en) | Variable delay system for data transfer operations | |
US5515506A (en) | Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle | |
US5003540A (en) | Error correction coding and decoding circuit for digitally coded information | |
US5023822A (en) | Pulse ratio system | |
US4771402A (en) | Address comparator | |
JPH02126321A (en) | Decoder for instruction code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry |