Non-volatile semiconductor storage unit having a correction coding circuit

Abstract: A semiconductor storage unit includes: a first PROM; a second PROM for storing parity data based on data stored in the first PROM; an error detecting circuit for detecting an error in read data outputted from the first PROM on the basis of the parity data outputted from the second PROM to generate an error detection signal; an error correcting circuit for outputting the data read out from the first PROM as it is when no error detection signal is supplied thereto, and for outputting error corrected data when the error detection signal is supplied thereto; a specific-mode detecting circuit for generating a specific-mode detection signal when detecting a specific mode; and a different-data generating means for generating data different from data outputted from the error correcting circuit as output data when both of the error detection signal and the specific-mode detection signal are generated.

Description: The present invention relates to a non-volatile semiconductor device, and more particularly to a non-volatile semiconductor storage unit having a correction coding circuit. In recent years, a programmable read only memory (PROM), which is one of non-volatile semiconductor devices, includes an error correcting code circuit (ECC circuit). The ECC circuit is a circuit that conducts, when an error occurs in data written in a memory cell, an error correction so that correct data is read out. In general, it is assumed that an error in the data written in the memory cell is generated for the following three causes. A first cause is that a defect occurs in the memory cell at the stage of manufacturing a PROM. A second cause is that when data is written in the PROM, the data fails to be written in the memory cell. A third cause is that the data correctly written in the memory cell becomes defective thereafter. All of the data errors occurring for these three causes can be remedied by the ECC circuit. The first and second causes of these three causes occur at the time of manufacturing the PROM. If the ECC circuit of the PROM functions for the data errors occurring for these first and second causes, the ECC circuit can no longer conduct data correction with respect to new data error, or becomes an ECC that is reduced in the number of data which can be corrected. There arises such a problem that the PROM low in reliability is manufactured as a product. Therefore, there is required to detect and remove the PROM where a defect occurs in data written in the memory cell at the manufacture stage or writing stage. Up to now, the check of data written in the memory cell is conducted by a method in which written data is read out to the exterior and it is examined whether the data is correctly written or not. The ECC built-in PROM includes, in addition to a memory cell that stores data, a parity memory cell that stores parity data which is produced from the stored data through calculation. In other words, it is necessary to read out the parity data to the exterior and check it. Because the parity data is data which is automatically internally calculated from data to be written, when the parity data is checked externally, it is necessary to additionally provide the expected value of the parity data. Hence, the check of the parity data and the provision of the expected value are required, thereby leading to a problem that an excessive work is necessary. Furthermore, in order to read out data to the external and check it, there arises a problem that a PROM writer for a normal PROM cannot be used because a specific function is required. US-A-4,726,021 discloses a semiconductor memory having a built-in error correction function. In order to avoid error correction of errors due to a single defective memory cell which would result in testing in an apparent error-free memory, the error correction function uses an ECC which can test the memory cells per se for storing redundant bits of the ECC. To this end the semiconductor memory has encoding means for adding check bits to data in accordance with an error-correction code and decoding means for error-correcting the data having the check bits and means for inhibiting the operation of an error correction by the decoding circuit. In view of the above, an object of the present invention is to provide a semiconductor storage unit which is capable of detecting that a defect occurs in data written in a memory cell at a manufacturing stage or a writing stage without reading out data to the exterior. In order to achieve the above object, according to the present invention, there is provided a semiconductor storage unit which comprises: a first PROM; a second PROM for storing parity data based on data stored in the first PROM; an error detecting circuit for detecting an error in read data outputted from the first PROM on the basis of the parity data outputted from the second PROM to generate an error detection signal; an error correcting circuit for outputting the data read out from the first PROM as it is when no error detection signal is supplied thereto, and for outputting error corrected data when the error detection signal is supplied thereto; a specific-mode detecting circuit for generating a specific-mode detection signal when detecting a specific mode; and a different-data generating means for generating data different from data outputted from the error correcting circuit as output data when both of the error detection signal and the specific-mode detection signal are generated. This above-mentioned and other objects, features and advantages of the present invention will become more apparent by reference to the following detailed description of the invention taken in conjunction with the accompanying drawings, wherein; Fig. 1 is a block diagram showing a non-volatile semiconductor storage unit having a correction coding circuit in accordance with a first embodiment of the present invention; Fig. 2 is a circuit diagram showing a specific example of a different-data generating circuit shown in Fig. 1; and Fig. 3 is a block diagram showing a non-volatile semiconductor storage unit having a correction coding circuit in accordance with a second embodiment of the present invention. Now, a description will be given in more detail of preferred embodiments of the present invention with reference to the accompanying drawings. A PROM cell 1 for main data outputs main data A written therein to an error detecting circuit 3 and an error correcting circuit 4. A PROM cell 2 for parity data stores parity data B obtained from the main data A through internal calculation and outputs the stored parity data B to the error detecting circuit 3. Upon detection of an error, the error detecting circuit 3 outputs an error detection signal F to the error correcting circuit 4 and a two-input AND circuit 8. An output G from a verify-mode detecting circuit 7 is also inputted to the two-input AND circuit 8. The error correcting circuit 4 outputs data C to a different-data generating circuit 5. The different-data generating circuit 5 outputs an output signal D, which is responsive to an output signal H from the two-input AND circuit 8, to an output circuit 6, and the output circuit 6 outputs a final output E. The error detecting circuit 3 compares the main data A with the parity data B to judge whether an error exists in the main data A or the parity data B, and outputs an error detection signal F of "H" level if there is an error, and an error detection signal F of "L" level if there is no error. The error correcting circuit 4 corrects the data if the error detection signal F is in "H" level with respect to the main data A, and outputs the data as the data C without any change if it is in "L" level. Generally, a PROM is provided with a verify mode. The verify mode means a mode in which written data is read out to check the writing of data while a high voltage is kept immediately after data is written in a PROM cell at the high voltage. The verify-mode detecting circuit 7 detects that reading has been conducted when a write power supply of the PROM is set to a higher voltage than a normal operation voltage, and outputs the signal G of H level. The two-input AND circuit 8 inputting the error detection signal F and the output signal G sets the output signal H to H level only when an error exists either in the main data A or in the parity data B and the mode is the verify mode, and requests the different-data generating circuit 5 to output the data D as data different from the data C. The different-data generating circuit 5 is made up of, for example, an exclusive OR circuit as shown in Fig. 2, and outputs data equivalent to the data C as the data D if the output signal H of the two-input AND circuit 8 is L level, and outputs data reverse to the data C as the data D if it is H level so that the signal D is outputted from the output circuit 6 to the exterior as the output signal E. Since the output signal H of the two-input AND circuit is always L level except for the verify mode, the different-data generating circuit 5 allows the inputted data to be passed when it is in the read-out mode. If a defect occurs at the manufacturing stage or the writing stage, because the defect exists within the main data A or the parity data B when executing verification to verify writing, the error detection signal F becomes H level. Therefore, the output signal H of the two-input AND circuit 8 also becomes H level. As a result, because the different-data generating circuit 5 outputs data different from the data C, that is, the reverse data of the data C as the data D, data different from the written data is outputted as the final output signal E. With the comparison of this data E with the written data, it is found that writing of data results in failure. A second embodiment of the present invention will be described with reference to Fig. 3. A PROM cell 1 for main data outputs main data A to an error detecting circuit 3 and an error correcting circuit 4. A PROM cell 2 for parity data outputs parity data B to the error detecting circuit 3. The error detecting circuit 3 outputs an error detection signal F to the error correcting circuit 4 and a different-data generating circuit 5. The error correcting circuit 4 outputs data C to the different-data generating circuit 5 and a data selector 9. The different-data generating circuit 5 also outputs data D of the output signal to the data selector 9. Furthermore, a verify-mode detecting circuit 7 alsc outputs an output signal G to the data selector 9. The data selector 9 outputs data I of the output signal through an output circuit 6 as a final output E. The error detecting circuit 3 compares the main data A with the parity data B to judge whether an error exists in the main data A or the parity data B, and outputs the error detection signal F of H level if there is an error and the error detection signal F of L level if there is no error. The error correcting circuit 4 corrects the data to output it as the data C if the error detection signal F is H level with respect to the main data A, and to output the data A as the data C without any change if the error detection signal F is L level. Since the error detection signal F is also inputted to the different-data generating circuit 5, if the detection signal F is H level, the error corrected data C is inputted to the data selector 9 as the data D different from the corrected data. On the other hand, the output signal G of the verify mode detecting circuit 7 becomes H level in the verify-mode and L level in other modes. Since the signal G is inputted to the data selector 9, the data selector 9 selects the data C in the read-out mode and the data D in the verify mode to output the selected data. Since the data selector 9 always selects the data C outputted from the error correcting circuit 4 and outputs the selected data C as the data I, the final output E is the data A as it is if there is no error in the data A, and the error corrected data C if there is an error therein. As in Fig. 1, since a case in which the data different from the data C is outputted as the final output E occurs only when the error detecting circuit 3 detects an error and the mode is the verify mode, it is found whether a defect of the main data A and the parity data B exists, or not, by only verification even in this embodiment. Since it is found that no defect exists within the main data A and the parity data B if correct data can be read out at the time of verification in both of the first and second embodiments of the present invention, a troublesomeness for providing the expected value of the parity data B as well as an increase in work for examining the parity data is not required. Also, since it is found whether or not a defect exists in the main data A and the parity data B by conducting only verification, the PROM writer for a normal PROM can be used. Although the invention has been described with reference to specific embodiments, this description is not met to be construed in a limiting sense. Various modifications of the disclosed embodiments will become apparent to persons skilled in the art upon reference to the description of the invention. It is therefore contemplated that the appended claims will cover any modifications or embodiments as fall within the true scope of the invention.

Claims: A semiconductor storage unit, comprising: a first PROM (1); a second PROM (2) for storing parity data based on data stored in said first PROM (1); an error detecting circuit (3) for detecting an error in read data outputted from said first PROM (1) on the basis of the parity data outputted from said second PROM (2) to generate an error detection signal (F); an error correcting circuit (4) for outputting the data read out from said first PROM (1) as it is when no error detection signal (F) is supplied thereto, and for outputting error corrected data when the error detection signal (F) is supplied thereto; a specific-mode detecting circuit (7) for generating a specific-mode detection signal (G) when detecting a specific mode; and a different-data generating means for generating data different from data outputted from said error correcting circuit as output data when both of the error detection signal (F) and the specific-mode detection signal are generated (G). A semiconductor storage unit as claimed in claim 1, wherein said specific-mode detecting circuit (7) detects the verify mode to generate said specific-mode detection signal (G). A semiconductor storage unit as claimed in claim 1, wherein said different-data generating means comprises means (8) for generating a different-data selection signal (H) when both of the error detection signal (F) and the specific-mode detection signal (G) are generated; and a different-data generating circuit (5) for outputting data outputted from said error correcting circuit (4) as it is when no different-data selection signal is generated, and for outputting data different from data outputted from said error correcting circuit (4) when the different-data selection signal is generated. A semiconductor storage unit as claimed in claim 1, wherein said different-data generating means comprises a different-data generating circuit (5) for outputting data different from data outputted from said error correcting circuit (4) when the error detection signal is generated; and a selecting circuit (9) for selecting and outputting data outputted from said error correcting circuit (4) when no specific-mode detection signal is generated, and for selecting and outputting data outputted from said different-data generating circuit (5) when the specific-mode detection signal is generated.

Inventors: YOSHINOGAWA KUNIO, YOSHINOGAWA, KUNIO
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1997
Main classification: G06F11
IPC codes: G11C29, G11C16, G06F11, G11C17, G06F12