Abstract:
In an integrated circuit for programming a memory cell in a non-volatile memory register which is associated with a memory matrix wherein the non-volatile memory register is used to store a redundancy address, the memory cell has at least one programmable non-volatile memory element having a control electrode and a data electrode and is suitable to store one bit of information. A load circuit associated to the memory element reads the information stored therein. The integrated circuit has switching means connected in series between the data electrode and a respective address signal line of an address signal bus which also supplies a decoding circuitry of the memory matrix. The switching means are controlled by a signal which determines the switching means to electrically connect the data electrode of the memory element to the address signal line when the memory cell of the non-volatile memory register is to be programmed, and to electrically disconnect the data electrode of the memory element from the address signal line when the information stored in the memory element is to be read by the load circuit.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 08/347,267, filed Nov. 30, 1994, now abandoned. 
    
    
     TECHNICAL FIELD 
     The present invention relates to an integrated circuit for the programming of a memory cell in a non-volatile memory register. 
     BACKGROUND OF THE INVENTION 
     Non-volatile memory registers are commonly used in memory device chips to implement redundancy. In such applications, address configurations corresponding to defective memory elements in the memory array of the memory device are stored in said non-volatile registers during the in-factory device testing, so that the defective memory elements can be replaced by redundant memory elements. In this way the manufacturing process yield is greatly improved. The memory registers must be non-volatile, since they must retain the information stored therein even in absence of the power supply, and not accessible to the end user. Depending on the particular kind of memory device, and on the manufacturing process, fuses or electrically programmable MOS transistors may be utilized as non-volatile memory elements for the memory registers. 
     In general, redundancy provides for the existence of both rows and columns of redundant memory elements; each redundant row or column has an associated non-volatile register. A defective memory element in the memory matrix can be replaced by a redundant memory element by substituting either the matrix row or matrix column to which it belongs with a redundant row or column, respectively; this requires that the defective row or column address is stored during testing in a non-volatile register, which, in consequence, must be made up of a number of cells equal to the number of bits in the row or column address bus. 
     During the memory device operation, each non-volatile memory register performs a comparison between the address configuration stored in it and the address currently supplied to the memory device and, if a matching occurs, the selection of the defective row or column is inhibited and in substitution the selection of the redundant row or column is enabled. 
     According to a known technique of implementing redundancy in a Flash EEPROM device, each register cell comprises two programmable non-volatile memory elements, represented by two electrically erasable and programmable MOS transistors, connected to respective load transistors in latch configuration. The register cell further comprises a program load circuit comprising two pairs of selection transistors, the transistors in each pair being connected in series between a high voltage supply and a respective programmable MOS transistor. A first transistor in each pair is controlled by a first signal, supplied in common to all the cells of all the non-volatile memory registers, which is normally at the ground level, but when during the device testing a defective memory element is found is raised to the high voltage supply value to enable the programming of the programmable MOS transistors of the non-volatile registers. A second transistor in each pair is instead controlled by a selection signal which is used to select one particular non-volatile memory register among all those available, so that only the programmable MOS transistors of the selected memory register are programmed to store a particular address configuration corresponding to a defective matrix row or column. The control gates of the programmable MOS transistors in each register cell are controlled by two signals, one of which is the logical complement of the other, which during programming are connected either to ground or to the high voltage supply depending on the logical state of the bit of the address configuration which must be stored in the register cell. 
     In other words, when the logical state of an address bit is to be memorized into the register cell, each programmable MOS transistor is connected to a high voltage supply through selection transistors, and the datum to be programmed is translated into a voltage applied to the control gate of the programmable MOS transistor: if the datum is a logical &#34;0&#34;, the control gate potential is raised to, let&#39;s say, 12 V, while if the datum is a logical &#34;1&#34;, the control gate potential is kept to the ground level. 
     A register cell architecture such as that described above has some disadvantages: first of all it is necessary to supply said first signal, connected to the output of a ground/high-voltage switch, to all the cells of all the non-volatile memory registers; secondly, a number of different selection signals corresponding to the number of non-volatile memory registers must be generated, so that in each register a different address configuration can be programmed; thirdly, it is necessary to generate two complementary signals for each register cell to drive the control gates of the programmable MOS transistors. Furthermore, to prevent the programming current of the programmable MOS transistors from being reduced, the transistors in the program load circuit must be highly conductive, and occupy a significant area. Finally, it would be desirable to reduce the number of transistors of each program load circuit. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide a circuit for the programming of a memory cell of a non-volatile memory register which is not affected by the above-mentioned drawbacks. 
     According to the present invention, such object is attained by means of an integrated circuit for the programming of a memory cell in a non-volatile memory register, said memory cell comprising at least one programmable non-volatile memory element having a control electrode and a data electrode and being suitable to store one bit of information, and a load circuit associated to said memory element to read the information stored therein, characterized in that it comprises switching means, connected in series between the data electrode of said at least one memory element and a respective data line carrying a datum to be programmed into said memory element, said switching means being controlled by a signal which determines the switching means to electrically connect the memory element to the data line when the memory cell of the non-volatile memory register is to be programmed. 
     In other words, if for example the programmable memory element is represented by a programmable floating-gate MOS transistor, the datum to be memorized is translated into a voltage which is applied to the data electrode of the floating-gate MOS transistor, instead of to the control electrode (i.e., the control gate) as in the known art. 
     Thanks to the present invention, the programming circuit is greatly simplified, the number of transistors required is minimized, and the area occupied by the circuit is therefore reduced. The number of signals required to perform the programming of a particular memory register among the others available is also reduced. It is also made possible to use as data lines signal lines already present in the memory device, such as the address signal lines supplying the decoding circuitry of the memory device. 
     The features of the present invention shall be made more evident by the following detailed description of two particular embodiments, described as non-limiting examples of the present invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram of a first type of memory cell of a non-volatile memory register, with a programming circuit according to a first embodiment of the present invention. 
     FIG. 2 is a schematic diagram of a second type of memory cell of a non-volatile memory register, with a programming circuit according to a second embodiment of the invention. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A non-volatile memory register suitable for example to store an address configuration corresponding to a defective row or column of a memory matrix of a memory device, for example a Flash EEPROM, comprises a number of memory cells corresponding to the number of row or column address bits in the memory device address bus. 
     In its simplest form, shown in FIG. 1, each register cell comprises an electrically erasable and programmable floating-gate transistor TF, identical to those composing the memory matrix, having a source electrode connected to a source line 9, normally connected to a ground reference voltage, and a drain electrode connected to a node 12. The register cell comprises a load circuit LC connected to the node 12 and suitable to read the information stored in TF; an output D of the load circuit LC can assume two logical states depending on the information stored in TF. 
     The register cell also comprises switching means substantially represented by an N-channel MOSFET TS with source connected to the node 12, and drain connected to a data line A carrying the datum to be programmed into TF. The data fine A corresponds to one bit of the address configuration to be programmed into the non-volatile memory register, and is already present in the memory device since it is used for decoding purposes. The use of an already existent line simplifies the circuitry and accordingly reduces the circuitry&#39;s size in the chip area. TS has a gate electrode connected to the output 7 of a first switch 1, controlled by a signal 10. TF has a control gate electrode connected to the output of a second switch 2. 
     Each register cell further comprises a comparison circuit (not shown) suitable to compare the datum stored in the floating gate transistor TF, represented by the voltage on node D, with the current logical value of the address bit A. 
     When, during testing, a defective memory element is found, the matrix row or column to which said element belongs can be substituted by a redundant row or column, provided that redundant elements are currently available. To this purpose, the address configuration of bits that normally address the defective row or column must be stored in a non-volatile register corresponding to the redundant row or column that has been chosen to replace the defective one. To program said address configuration in the selected non-volatile register, the second switch 2 raises the voltage on the control gate of the floating gate transistor TF of all the cells of all the non-volatile memory registers to a high voltage value; the selection signal 10 drives the first switch 1 to raise the gate voltage of the MOSFET TS of all the cells of the selected non-volatile memory register to the high voltage value, thus turning TS on; in the cells of the non-selected non-volatile memory registers the gate voltage of TS is instead kept low (i.e., the gate electrode of TS is connected to the ground voltage). 
     The floating gate transistor TF of each cell of the selected non-volatile register is therefore programmed according to the voltage value on its drain, i.e., to the logical value of the respective address bit: if for example the cell shown in the drawing is associated to an address bit which is at a logical &#34;1&#34; when a defective memory element is addressed, the data line A will be at a logical &#34;1&#34;; the logical &#34;1&#34; present on line A will be transferred to the drain 12 of TF, which will undergo an injection of electrons into its floating gate. 
     When the memory device is operated in the normal reading condition, the first switch 1 keeps the voltage on the gate electrode of TS to ground, thus keeping TS in the off state, and the second switch 2 keeps the voltage on the floating gate of TF to the usual supply value VDD. The information stored in TF is read by the load circuit LC, and supplied to the comparison circuit of the register cell. 
     When the exact configuration of address bits is encountered, all the cells of the non-volatile register detect the matching, and a redundant row or column is addressed instead of the defective one. 
     In FIG. 2 a second type of register cell is shown, comprising two electrically erasable and programmable floating gate transistors TF0 and TF1, identical to those composing the memory array, whose sources are commonly connected to the source line 9 that is normally connected to a ground reference voltage as a means for producing a reference voltage, and whose drains are connected to respective nodes 5 and 4. The register cell comprises a load circuit comprising two N-channel MOSFETs T2 and T3 with sources respectively connected to nodes 5 and 4 and drain connected to nodes D and DN; the load circuit further comprises two P-channel MOSFETs T0 and T1 whose sources are connected to a common voltage supply line VDD, and whose drains are respectively connected to the nodes D and DN. The gates of T0 and T1 are cross-connected to DN and D, respectively, so that a latch configuration is obtained. The gates of T2 and T3 are connected to a common node 8 which is driven by a bias voltage 11 suitable to limit the voltage value on the drains of the floating gate transistors TF0 and TF1. 
     The register cell comprises a program load circuit which comprises two N-channel MOSFETs T4 and T5 whose sources are connected to the nodes 5 and 4 respectively, and thus to the drains of the floating gate transistors TF0 and TF1, and whose drains are connected to respective programming data lines A and AN, which are already present in the memory device and used for decoding purposes. In a preferred embodiment that implements redundancy in a memory device, the programming data lines A and AN correspond to one bit A of the address configuration to be programmed, and to its logical complement AN. As already noted with reference to the first embodiment, the use of already existent lines simplifies the circuit&#39;s design. Accordingly, the overall chip area is reduced. The gates of T4 and T5 are connected to a common node 7 whose potential is controlled by the output of a first switch 1. The signal on node 7 is commonly supplied to all the memory cells of a given memory register, and allows the selection of one particular memory register among those available to store the address configuration corresponding to a defective matrix row or column. To this purpose, a number of different selection signals 10 equal to the number of distinct non-volatile memory registers must be generated. The control gates of the floating gate transistors TF0 and TF1 are both connected to a node 6 which is common to all the cells of all the non-volatile memory registers; node 6 is also connected to the output of a second switch 2. 
     Each register cell further comprises a comparison circuit (not shown) suitable to compare the data stored in the floating gate transistors TF0, TF1, represented by the voltages on nodes D and DN, with the logical value of the current address supplied to the memory device. 
     When, during testing, a defective memory element is found, the matrix row or column to which said element belongs can be substituted by a redundant row or column, provided that redundant elements are currently available. To this purpose, the address configuration of bits that normally address the defective row or column must be stored in a non-volatile register corresponding to the redundant row or column that has been chosen to replace the defective one. To program said address configuration in the selected non-volatile register, the second switch 2 raises the voltage on the control gate of the floating gate transistors TF0, TF1 of all the cells of all the non-volatile memory registers to a high voltage value; the selection signal 10 drives the first switch 1 to raise the gate voltage of the MOSFETs T4, T5 of all the cells of the selected non-volatile memory register to the high voltage value, thus turning T4 and T5 on; in the cells of the non-selected non-volatile memory registers the gate voltage of T4 and T5 is instead kept low (i.e., the gates of T4 and T5 are connected to the ground voltage). 
     The floating gate transistors TF0 and TF1 of each cell of the selected non-volatile register are therefore programmed according to the voltage value on their drains, i.e., to the logical value of the respective address bit: if for example the cell shown in the drawing is associated to an address bit which is at a logical &#34;1&#34; when a defective memory element is addressed, the data line A will be at a logical &#34;1&#34;, while the data line AN will be at a logical &#34;0&#34;; the logical &#34;1&#34; present on line A will be transferred to the drain 5 of TF0, which will undergo an injection of electrons into its floating gate; the logical &#34;0&#34; present on line AN, transferred to the drain 4 of TF1, will prevent TF1 from being programmed: TF1 will remain in its original, i.e., virgin, state. 
     When the memory device is operated in the normal reading condition, the first switch 1 keeps the voltage on node 7 to ground, thus keeping T4 and T5 in the off state, and the second switch 2 keeps the voltage on the floating gates of TF0 and TF1 to the usual supply value VDD. The gates of T2 and T3 are biased by a voltage of about 2 V, to limit the voltage on the drains of TF0 and TF1 so that soft programming is prevented. Since TF0 has been previously programmed, it will be in the off state, and node 5 is therefore left floating; the voltage on node D raises towards VDD and causes T1 to turn off; since instead TF1 is not programmed, it will drain current, and node 4 is grounded; the voltage on node DN lowers correspondingly. The information stored in TF0 and TF1 is therefore transferred into the latch T0-T1, and supplied to the comparison circuit of the register cell. 
     When the exact configuration of address bits is encountered, all the cells of the non-volatile register detect the matching, and a redundant row or column is addressed instead of the defective one. 
     Even if the circuit according to the invention has been described with reference to its application for implementing redundancy in a Flash EEPROM device, it can also be used in general in memory cells of non-volatile memory registers; in such a case, the two data lines A and AN will no further represent the address bit associated to the register cell and its logical complement, but in general two lines carrying the data to be programmed and its logical complement. 
     The above-described detailed description will enable those skilled in the art to make various modifications that do not depart from the spirit and scope of the present invention. Accordingly, the present invention is not limited to the above described preferred embodiments.