Semiconductor memory device having self-correcting function

Abstract: A semiconductor memory device having a self-correcting func­ tion comprises a plurality of non-volatile memory cells (2) and first and second read circuits (5, 6) for reading bit data from the memory cells. Part of the memory cells (1a) store data, whereas another part (1b) store parity bits on the data. Each memory cell (2) selectively stores "0" or "1" by causing itself to be charged with an electric charge. The first and second read circuits (5, 6) receive a plurality of bit data from a plurality of selected memory cells in order to output correct data with correct parity. The criteria of detecting "0" and "1" in the first and second read circuits (5, 6) are set to different values, so that the first read circuit (5) detects a current value smaller than the value of the current flowing through the memory cell holding a bit error because of charge depletion, whereas the second read circuit (6) detects a current value greater than that value. Consequently, even if the variation of the threshold resulting from the charge de­ pletion allows the presence of a faulty memory cell therein, one of the read circuits (5, 6) can make correct data read.

Description: Technical Field The present invention relates to semiconductor memory devices having self-correcting functions and more particularly to a semiconductor memory device having a self-correcting function for correcting errors without using an error-correcting circuit in an EEPROM which employs a MOS floating-gate having a tunnel oxide film on the drain as a memory cell. Prior Art The probability that faulty bits occur increases in the case of a ROM having a capacity of over 1M bits and this results in decreasing product yield. For this reason, redundant memory cells have heretofore been provided to improve the product yield and simultaneously to remedy faulty memory cells or the whole faulty memory. A memory cell for storing a parity bit, a parity check circuit, a built-in ECC circuit and the like are otherwise provided to detect errors in bits, so that faulty bits are partially remedied. However, the use of such redundant memory cells makes it troublesome to remedy the faulty bits by means of internal wiring. The drawback in this case is that chip dimensions are likely to become doubled in the system of making a spare memory cell 100% redundant. In the remedial method using the ECC circuitry, on the other hand, a memory cell for storing parity data is required and if the cell is made to have an error-correcting function in particular, it is insufficient to add a 1-bit parity bit to each data. With 4-bit parity relative to 8-bit data, for instance, the whole cell volume will increase by 1.5 times, compared with normal data storage. However, this arrangement is disadvantageous in that the chip area also tends to increase. A further self-correcting semiconductor memory is disclosed in EP-A-0 305 987. This memory repeats a read-cycle with a different sense voltage applied to the selected memory cells when a parity error has been detected in a first read cycle. This technique has the disadvantage that the time necessary to obtain the corrected data is extended. EP-A-0 307 958 discloses a semiconductor memory which includes in addition to normal sense amplifiers a circuit for detecting whether a signal voltage from a memory cell lies within an intermediate level region between the correct signal voltages for the stored data bits "0" and "1", i.e. whether a memory cell is at least partly discharged. The data of the discharged memory cell is recovered by a parity check method. This technique has the disadvantage that three different threshold voltages have to be set to predetermined values, i.e. the threshold voltage of the normal sense amplifiers and the threshold voltages which define the intermediate level region. SUMMARY OF THE INVENTION It is an object of the present invention to provide a semiconductor memory having a simple but effective self-correcting function. This object is solved by the memory set forth in claim 1. The subclaims are directed to preferred embodiments of the invention. The semiconductor memory device having a self-correcting function according to an implementation of the present invention comprises a plurality of nonvolatile memory cells, a first and a second read circuit for reading a plurality of bit data from the plurality of memory cells, wherein one part of the group of memory cells comprises memory cells for storing data, whereas the other part of the group thereof comprises memory cells for storing parity bit data on data being stored, and wherein each memory cell selectively stores bit data of "0" or "1" by causing itself to be charged with an electric charge, either electrons or holes, whereas the first and the second read circuit receive a plurality of bit data out of the bit data stored in the plurality of memory cells from the plurality of the same selected memory cells in order to output correct data with correct parity out of the plurality of bit data. Moreover, the criterion of detecting the bit data of "0" and "1" in the first read circuit is set smaller in value than the current read in such a state that the electric charge charged in the memory cell stored with data of either "0" or "1" becomes depleted. On the other hand, the criterion of detecting the bit data of "0" and "1" in the second read circuit is set greater in value than the current read in such a state that the electric charge charged in the memory cell stored with the other data of either "1" or "0" becomes depleted. As memory cells for storing it data of either "0" or "1" by being charged with either electrons or holes, there is a known EEPROM comprising MOS floating-gate memory cells, each having a tunnel oxide film on the drain. However, the EEPROM has the disadvantage of deteriorated reloadability as the characteristics deteriorate if programming/erasure is frequently repeated. Such performance is generally expressed by the number of reloads. Given the threshold voltage Vtc(V) of a standard memory cell being charged and discharged as a function of the number of reload cycles, resultant values conform to those plotted in Fig. 2(a), which will be explained later, and the possible number of reloads becomes approximately 10⁴-10⁶. In Fig. 2(a), THo refers to a threshold when no electric charge exists on the floating gate; THh to thresholds when data is erased from the memory cell after electrons are injected into the floating gate; and THL to thresholds when data is written to the memory cell after an electric charge (holes) is injected into the floating gate (or after electrons escape from the floating gate). The reasons for the generation of defective bits (or faulty bits) during the production of EEPROMs, ROMs or the like include disconnection of wiring in a memory cell, unsatisfactory formation of an area where elements are formed and the like. With the recent improvement of manufacturing technique, however, what causes faults other than those enumerated above is often considered attributable to a memory cell whose floating gate is not sufficiently charged with nor caused to discharge an electric charge (or electrons). Charge depletion occurs likewise in the case of the aforementioned reload cycle and most of the bit cells become often faulty as the gate threshold voltage is not set at the intended value. Consequently, it is possible to remedy almost all memory faults, provided any memory cell in which a normal threshold voltage cannot be set is subjected to error correction. Simultaneously with the recent improvement of manufacturing technique, the provision of the self-correcting function by furnishing a number of redundant and parity cells has heretofore caused production cost per chip area to increase. As set forth above, the first and the second read circuit for reading the data stored in the memory cells by applying sense voltage thereto are provided for the first read circuit to detect a current smaller than what flows through a memory cell causing a bit error because of charge depletion and for the second read circuit to detect a current greater than what flows through a memory cell causing a bit error because of charge depletion. Even if the variation of the threshold resulting from the charge depletion allows the presence of a faulty memory cell, one of the read circuits can make a correct data read. Since whether or not the data is correct is identifiable by adding one parity bit, it is hardly necessary to increase the capacity of the memory. Therefore, a memory having a small area occupied by a chip can be materialized without the necessity of a large-capacity parity cell, an ECC circuit and the like. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of an EEPROM with the application of a semiconductor memory device having a self-correcting function. Figs. 2(a) and 2(b) are graphs explanatory of operating threshold-number of write-time characteristics and memory cell current-sense amplifier current characteristics of the EEPROM, respectively. Figs. 3(a) and 3(b) are diagrams explanatory of the correcting principle. DESCRIPTION OF THE PREFERRED EMBODIMENT In Fig. 1, numerals 1 and 2 denote a memory cell array and a configuration of each of the memory cells constituting the memory cell array, respectively. The memory cell array 1 is, as shown by the memory cell 2, a MOS floating gate and an arrangement of memory cells, each locally having a tunnel oxide film 2c on the drain, a selection transistor 2a and its storage transistor 2b. The memory cell array 1 is provided with a parity memory cell 1b, word lines 1c, bit lines 1d, a sense line 1e, a cell ground line 1f and the like in addition to data memory cells 1a, 1a,... The word lines 1c are connected to a row decoder 3 and the bit lines 1d are connected to respective switches 4a which are switched by a column decoder 4. The bit lines 1d are further connected via the switches to the first and second corresponding sense amplifiers 5a, 6a, 5b, 6b,...5i, 6i,..., 5n, 6n in pairs, respectively. Moreover, the sense line 1e is connected via the predetermined switch out of the group of switches 4a to a sense voltage line 9. In this case, the first sense amplifiers (SA1) 5a, 5b,..., 5i,...,5n and the second sense amplifiers (SA2) 6a, 6b,..., 6i,..., 6n are different in detected current value. As will be described later, the first sense amplifier 5 (represented by 5a, 5b,..., 5n) has a first current threshold different from a predetermined threshold at the level normally detected in an EEPROM and detects a current value smaller than the value of a current flowing through a memory cell holding a bit error ("1") due to charge depletion after the erasure state (storage value "0"). The second sense amplifier 6 (represented by 6a, 6b,..., 6n) has the first current threshold different from the predetermined threshold at the level normally detected therein likewise and detects a current value greater than the value of the current flowing through the memory cell holding a bit error ("0") due to charge depletion after the write state. One of the first and second sense amplifiers 5, 6 receives 1-bit parity data from the parity memory cell 1b. Numeral 7 denotes a parity check circuit comprising an EXOR circuit 7a for receiving the output of each sense amplifier 5 to obtain the EXOR of the output and another EXOR circuit 7b for receiving the output of each sense amplifier 6 to obtain the EXOR of the output. The outputs of the EXOR circuits 7a, 7b are fed to an output switch circuit 8. Numeral 10 denotes an output selection circuit comprising a group of gate circuits corresponding to the first and the second sense amplifier 5, 6, the group of gate circuits comprising gate circuits 10a, 11a, 10b, 11b,...10n, 11n. According to gate signals (G, G ) from the output switch circuit 8, the output selection circuit 10 selects either output on the side of the gate circuit 10 x (represented by 10a, 10b,..., 10n) corresponding to the first sense amplifier 5 or output on the side of the gate circuit 11 (represented by 11a, 11b,..., 11n) corresponding to the second sense amplifier 6 so as to make one of the outputs of the first and the second sense amplifier 5, 6 pass therethrough as an effective one and to send out the output to buffers 12a, 12b,..., 12n corresponding to the respective outputs. A detailed description will subsequently be given of the operation of the EEPROM with reference to Figs. 2 and 3. Fig. 2(a) shows the relation between the number of reloading times and the thresholds in the floating-gate EEPROM having a tunnel oxide film on the drain. There are shown variations THh, THo, THL of the erasure/write threshold voltage with respect to the number of reloading times shown on the abscissa axis. As the number of reloading times exceeds 10⁵, the difference among the thresholds diminishes and the characteristics deteriorate. As stated above, THo denotes a threshold while the floating gate remains uncharged and is normally at approximately 1 V. THh denotes thresholds when electrons are injected into the floating gate to place the memory cell in the erasure state and is normally at approximately 7 V. THL denotes thresholds when an electric charge (holes) is injected into the floating gate (or when electrons escape from the floating gate) to have data written to the memory cell and is normally at approximately -4 V. In this case, the deterioration of the characteristics at reloading times exceeding 10⁵ results from charge (holes or electrons) depletion (charge depletion) with which the floating gate is charged; the same thing is said to occur in the memory cell holding a faulty bit. Fig. 2(b) shows the relation between the values of the current flowing through the memory cell with and without charge depletion and those of the detected current flowing through the sense amplifier. The values [µA] of the current flowing through the memory cell are indicated on the ordinate axis. In this case, Io denotes the value of the current flowing through the memory cell 2 when the electric charge charged in the floating gate has completely been depleted; I₁ the current value of the memory cell when the positive electric charges are accumulated; and I₂ the current value thereof likewise when the negative electric charges are accumulated. In addition, IS₁ denotes the current value of the first sense amplifier 5 as a detecting criterion, which corresponds to the aforementioned first current threshold; IS₂ the current value of the second sense amplifier 6 as a detecting criterion, which corresponds to the aforementioned second current threshold. This example refers to a case, for instance, where the voltage applied to the sense line 1d (sense voltage line 9) is set constant (e.g., at 2 V). The following relationship requires being established between the reference current values IS₁, IS₂ of the respective sense amplifiers and the current value Io of the memory cell which undergoes the charge depletion: IS₂ > Io > IS₁ With this relationship thus established, the second sense amplifier 6 is able to detect the read data "1" and output "0" when the memory cell current exceeds IS₂. While the memory cell current remains to be less than IS₂, the second sense amplifier 6 is able to detect the read data "0" and output "1." Since the output of the sense amplifier reverses, depending on the current value, it normally indicates "0" in the data write state and "1" in the erasure state contrary to the contents of the data. While the memory cell current remains to be over IS₁, the first sense amplifier 5 detects the read data "1" and outputs "0" and while it remains to be less than IS₁, it is able to detect the read data "0" and output "1." What has been stated above refers to the memory cell 2 corresponding to the charge-depletion-free state (i.e., the characteristics up to approximately 10⁵ in the graph of Fig. 2(a)) and it also refers to a case where "0" (the write state) or "1" (the erasure state) is detected according to the amount of the current flowing through each sense amplifier in compliance with the first and the second current threshold by adding the predetermined sense voltage (e.g., approximately 2 V) to the sense line 1e. However, the memory cell in which the faulty bit occurs is different in a sense that the charge depletion has been generated. In other words, as shown by 0 →  of Fig. 2(b) (i)-(iii), the floating gate of the memory cell that has stored the "0" bit data undergoes the charge depletion and causes the positive electric charge (holes) in the write state to be discharged, thus making the value of the current flowing through the memory cell shift to the current value Io side. In the case of the memory cell that has stored the "1" bit data, on the contrary, the floating gate undergoes the charge depletion as shown by 0 →  of (iv), (v) and causes the negative electric charge (electrons) in the write state to be discharged, thus making the current value shift to the current value side Io likewise. Even though the memory cell 2 is in such a state as mentioned above, however, it is possible to read correct data by means of either first or second sense amplifier 5, 6. More specifically, each current value in the charge depletion state is located above the detected reference current value (first current threshold) IS₁ of the first sense amplifier 5 while the states (i) - (iii) exist, whereby the first current threshold IS₁ allows correct data to be read, despite the charge depletion. While the states shown by (iv), (v) exist, each current value in the charge depletion state is located under the detected reference current value (second current threshold) IS₂ of the second sense amplifier 6, whereby the second current threshold IS₂ allows correct data to be read, despite the charge depletion. Although a description has been given of the charge depletion in the states (i) - (iii) with the memory cell having "0" recorded thereon and the states (iv) - (v) with the memory cell having "1" recorded thereon, the relation between the "0" and "1" data is reversed if an inversion amplifier is provided between the sense amplifier and the memory cell. Therefore, the storage states of "0", "1" as viewed from the sense amplifier are relative and the states of (i) - (iii) are considered those in which the memory cell has "1" recorded, whereas those of (iv) - (v) are considered the states in which it has "0" recorded. Fig. 3 is a diagram illustrating operations in the charge depletion state, wherein as shown by (i) of Fig. 3(a), correct data bits of one word (having 8 bits with digits of Do, D₁, D₂, D₃, D₄, D₅, D₆, D₇) are assumed "10100111", for instance, a parity bit (P) as even parity in this case being assumed "1." Although the even parity has been established in the correct data bits, the D₃ bit changes from "0" to "1" and is read as a wrong data with respect to (i), (ii) of Fig. 2(b) when the data (i) of "10100111" is read by the second sense amplifier 6 if it is assumed that "0" has changed to "1." The result becomes "10110111" as shown by (ii). At this time, the parity bit remains to be "1" and no parity is established in the EXOR circuit 7b of the parity check circuit 7. When the data "10100111" of (i) in the charge depletion state is read by the first amplifier 5, on the other hand, the bit "0" of D₃ remains to be "0" and as shown by (iii), the read data becomes "10100111", so that correct data is obtained. The parity bit at this time remains to be "1" and parity is established in the EXOR circuit 7a of the parity check circuit 7. If the correct data with the parity established is selected in conformity with the output of the EXOR circuit 7a, the error is corrected and correct data (iv) is obtained. In this way, the data from the first and the second sense amplifier 5, 6 are subjected to parity check in the parity check circuit 7. The outputs (of the EXOR circuits 7a, 7b) thus detected are added to the respective terminals A, B of the output switch circuit 8 and gate signals on the side corresponding to the output on the side where the parity has been established are caused to produce from the respective terminals G, G of the output switch circuit 8. The gate signals are then sent to the respective gate circuits of the output selection circuit 10 and respectively set as data selection signals therefor (the outputs on the side where no parity has been established are simultaneously sent to the other gate circuits and set as non-selection signals). The gate circuits (the pair of 10a, 10b,..., 10n or 11a, or 11b,..., 11n) of the output selection circuit 10 allow correct data to pass therethrough, whereby the correct data can be transferred to the buffer 12 (represented by 12a, 12b,... 12n). Contrary to the case of Fig. 3(a), Fig. 3(b) refers to a case where "1" of D₅ is replaced with "0" as the storage data whose data bit is "1" undergoes charge depletion. When the data "10100111" of (v) is read by the second sense amplifier 6, the bit "1" of D₅ is shown as "1" at (vi). Correct data of "10100111" is read, whereby parity has also been established then. When the data "10100111" of (v) is read by the first sense amplifier 5, on the other hand, the bit "1" of D₅ changes to "0" and as shown by (vii), wrong data of "10100011" is obtained. No parity remains established then. In this case, correct data of (vii) is selected by the output selection circuit 10 and transferred to the buffer 12 as a data bit (viii). The cases stated above refer to the one where the bit "0" becomes "1" because of the charge depletion and the other where the bit "1" becomes "0" because of the charge depletion, with respect to certain storage data. Apart from these cases, parity is established when two bits in the storage data undergo charge depletion, respectively. However, such a case is quite seldom and therefore negligible because no problem is posed in many cases, provided a 1-bit error is correctable. Apart from this case, the output selection circuit 8 needless to say selects the output of what has established the parity first whenever both the first and the second sense amplifier 5, 6 read correct data. As set forth above, the EEPROM has been referred to as an example in this embodiment. Notwithstanding, the present invention is applicable to any one of memories and not limited to EEPROMs on condition that the memory is equipped with the first and the second sense amplifier and capable of causing the current values detected by these sense amplifiers to have the following relation: IS₂ > Io > IS₁ where IS₁ = current value as a detecting criterion of the first sense amplifier; IS₂ = current value as a detecting criterion of the second sense amplifier; and Io = current value at which an electric charge has been depleted completely in the memory cell for storing data of "1" or "0" in the form of a positive or negative electric charge. Although errors are corrected without using the ECC circuit in the embodiment, the present invention does not preclude the possibility of employing such an ECC circuit in addition to the use of the sense amplifiers as shown in the embodiment of the present invention for correcting errors to a degree in order to remedy defective memory cells other than those suffering from charge depletion. Although the parity check circuit and the output selection circuit are provided in the semiconductor device in the embodiment, these circuits may be incorporated in a control circuit such as a CPU or the like without providing them as part of the memory in such a circuit as what combines the memory and the control circuit like a one-chip microcomputer or the like. When these circuits are incorporated in the CPU, parity check and correct data selection can be conducted through processing programs.

Claims: A semiconductor memory device having a self-correcting function, comprising a plurality of non-volatile memory cells (1a, 1b, 2) for selectively storing bit data of "0" or "1" by the electric charge of either electrons or holes, part of the memory cells being allotted to storing memory data and another part being allotted to storing parity bit data on said memory data, first and second read circuits (5, 6) each for reading a plurality of bit data from the same selected memory cells, wherein the threshold current (I S1 ) for distinguishing the bit data of "0" and "1" in the first read circuit (5) is smaller than the current (I₀) read when the-memory cell is discharged, whereas the threshold current (I S2 ) for distinguishing the bit data of "0" and "1" in the second read circuit (6) is greater than the current (I₀) read when the memory cell is discharged, a parity checker (7) for subjecting the data obtained by the first and second read circuits each to a parity check, and a selector (10) controlled by the parity checker (7) for selecting and outputting that data of the data obtained by the first read circuit and the data obtained by the second read circuit, which is deemed to be correct in accordance with the result of the parity check. A device according to claim 1, comprising a memory array (1) including said memory cells (1a, 1b, 2), transistors (2a, 2b) provided in said memory cells and having an electrode for storing said electric charge, word lines (1c) connected to the memory cells (2) for selecting at least one thereof, bit lines (1d) connected to the memory cells (2) for transmitting and receiving data to and from a selected memory cell, and a sense line (1e) connected to a gate electrode of at least one memory cell (2) selected by the word line, to which sense line a sense voltage is applied while reading the bit data. A device of claim 2, wherein said transistors (2a, 2b) are MOS transistors, said electrode being a floating gate formed via a tunnel oxide film provided on the drain of a MOS transistor, the memory array is an EEPROM memory array comprising memory cells for storing data and memory cells for storing parity bits, the first and second read circuits (5, 6) are sense amplifiers connected to the bit lines (1d), and the selector (10) is a gate circuit for selecting the output of that one of the first and second read circuits (5, 6) in which correct parity has been detected on the basis of the parity check from the parity checker (7).

Inventors: SAWADA KIKUZU DOERU HOSHINO RM, SAWADA, KIKUZU, DOERU HOSHINO, RM. NO. 201
Applicants: ROHM CO LTD, ROHM CO., LTD.
Application year: 1990
Main classification: G06F11
IPC codes: G06F11, G11C29, G11C17, G11C16