Circuit for programming antifuse bits
Circuitry for programming antifuse elements is provided which permits all antifuse elements in a bank to be programmed simultaneously, thereby enhancing the speed at which antifuse elements may be programmed. In one embodiment, a feedback circuit is associated with each antifuse element to stop the flow of current through the antifuse element once it is programmed. In another embodiment, circuitry is provided for generating a separate programming pulse for each antifuse element, which is selected for programming.
1. Field of the Invention
The present invention relates generally to integrated circuit memory products, and, more particularly, to circuitry for programming antifuse bits in such products.
2. Description of the Prior Art
Contemporary memory products, e.g. DRAMs, require a high degree of redundancy in order to improve manufacturing yields. Present redundancy techniques in such memory products include providing extra memory array columns and/or extra memory array rows which can be used to replace defective columns and/or rows.
One application in which antifuses have been used is as nonvolatile programmable memory elements to store logic states which would be used in DRAMs for row and column redundancy implementation. An antifuse is, by definition, a device which functions as an open circuit until programmed to be a permanent short circuit. Antifuses for redundancy implementation are usually constructed in the same manner as the memory cell capacitors in the DRAM array.
In contemporary memory products, banks of antifuse elements are typically provided, and one such bank is illustrated in
A particular antifuse element, e.g. AFi, is selected for programming when Ai * and PGM* are both zero volts. In this condition the output of NGi is approximately +5 volts which turns on the selection transistor STi to which it is connected. When this selection occurs, a path exists between the bottom plate of the selected antifuse device and ground. Hence, the selected antifuse device AFi sees a large voltage CGND, e.g. 9 to 12 volts, between its top and bottom plates, which is a sufficient voltage to program the antifuse element. When two or more antifuse elements are to be programmed, the same voltage CGND is applied in parallel to the antifuse elements to be programmed.
Several shortcomings exist in utilizing the programming technique for antifuse elements such as shown in
Once programming of antifuse elements is completed, it is important that the user verify that those elements which are to be programmed are in fact programmed. Also, it is important that the user verify that antifuse elements which are not to be programmed are functioning properly. In the latter regard, unprogrammed antifuse devices may leak and appear to be programmed devices. No such verification circuitry has heretofore been available.
SUMMARY OF THE INVENTIONIn accordance with the present invention, improved circuitry is provided for programming antifuse devices. With the present invention, the speed of programming antifuse elements is enhanced, because all of the antifuse elements in a bank may be programmed simultaneously.
In one embodiment of the present invention, the same programming voltage CGND is still applied in parallel across all antifuse elements to be programmed by enabling this respective selection transistors. However, in this embodiment, a feedback circuit is associated with each antifuse element to stop the flow of current from CGND through the antifuse element once it is programmed. With this feedback circuitry, a programmed antifuse element can no longer affect the voltage across and current through antifuse elements which are slower to program.
In another embodiment of the present invention, circuitry is provided which generates a separate programming voltage pulse for each antifuse element in a bank which is selected for programming. In this embodiment, the same voltage source is not applied in parallel across all of the antifuse elements that are to be programmed, and the programming voltage across and current through an antifuse element that is to be programmed is unaffected by other antifuse elements which may have programmed more quickly.
In accordance with the present invention, method and apparatus are provided to verify that an antifuse element is programmed properly. The method and apparatus also verify if a nonprogrammed antifuse element is functioning properly.
BRIEF DESCRIPTION OF THE DRAWINGSIn the accompanying drawings:
It will be appreciated that the present invention may take many forms and embodiments. Some embodiments of the invention are described so as to give an understanding of the invention. It is not intended that the limited embodiments described herein should affect the scope of the present invention.
With reference to
In
In operation, each node TNi for i=0, 1 . . . n is precharged to zero volts just prior to the beginning of a programming operation when the signal PGMPCHRG enables transistor 202 to connect node TNi to ground. When programming is to occur, the output of NOR gate 201 enables selection transistor STi for each antifuse element to be programmed. The enablement of transistor STi causes the voltage CGND to appear across antifuse element AFi, and this voltage is sufficient to cause programming of antifuse element AFi .
When programming of antifuse element AFi occurs, current flows through antifuse element AFi, and transistors PTi and STi . The voltage developed across the serial combination of transistors PTi and STi from this current causes the voltage at node TNi to rise to a positive level which is sufficient to be detected as a logic 1. This positive voltage at node TNi is fedback to the third input of NOR gate 201. At this time, the output of NOR gate 201 falls zero volts, which disables transistor STi, stopping the flow of current through programmed antifuse element AFi . Thus, through the use of the feedback circuit shown in
Referring now to
Referring to
Only one bank of antifuse elements in
In accordance with the present invention, each driver DRVRi, i=0, . . . n, of
Another input to NAND gate 501 is connected to the signal PGM, which is normally 0 volts and which is brought to a logic one level, e.g. +5 volts, when antifuse elements are to be programmed. The logical value of the signal at the output of inverter 504 is the complement of the signal PGM.
The circuitry of
The output of NAND gate 501 is a logic zero when programming of its associated antifuse is to occur. At this time transistor 509 is disabled and p-channel transistor 506 is enabled since the voltage on its gate is zero volts. At this time, a high voltage programming signal CGNDi is generated for each antifuse AFi to be programmed.
The duration of each programming signal CGNDi is determined by the width of the logic zero pulse at the output of its associated NAND gate 501, which in turn is determined by the propagation delay of the combination of inverters 502-04 and capacitor 505. When the duration of the logic zero pulse at the output of NAND gate 501 is completed, (i.e., when the output of NAND gate 501 rises from a logic 0 to a logic 1), transistor 509 is enabled which pulls each programming pulse CGNDi to zero volts. At this time, p-channel transistor 507 is enabled, and the full programming voltage CGND is applied to the gate of p-channel transistor 506, and this programming voltage ensures that transistor 506 is disabled at the end of the programming pulse CGNDi .
If any of the antifuses AFi in the selected bank is programmed before the others in the selected bank, the programming of that antifuse element cannot adversely affect the programming of the other elements. Since the programming pulses CGNDi that are provided by drivers DRVRi are independent of one another, all antifuse elements that are to be programmed will be provided a sufficient voltage to effect programming, even though some of the antifuse elements in the selected bank are slower to program than others.
The circuitry of
Referring to
Prior to beginning an operation to program antifuses, the RESET signal is generated, which forces the output Q of NOR gate 610 to a logic 1. For each antifuse element AFi to be programmed, Ai * will be a logic zero. When programming is to begin, PGM* is a logic zero, which results in the output of NAND 612 being a logic zero. Transistor 623 is disabled, and p-channel transistor 621 is enabled, since the voltage on its gate is zero volts. A high voltage programming signal CGNDi is thus generated. The magnitude of CGNDi is about 9 to 12 volts, which is sufficient to effect programming of antifuse AFi .
Before antifuse AFi is programmed, the voltage drop across transistors 602-604 is such that the voltage at the output of transistor 604 is slightly higher than the minimum voltage that can be recognized as a logic 1. For example, when CGNDi is the high programming voltage, the voltage on the output of transistor 604 may be about +3 volts.
When the selected antifuse element AFi does program, the magnitude of CGNDi drops, which results in the voltage at the output of transistor 604 decreasing to a level which is lower than the maximum voltage level that can be recognized as a logic zero. The falling edge of the signal which is at the output of transistor 604 is detected by the sense circuit comprising inverters 605-607, capacitor 608 and NOR gate 609, with the output of NOR gate 609 pulsing to a logic 1 upon detection of that falling edge. This logic 1 pulse forces the output Q of the latch composed of NOR gates 610 and 611 to a logic zero and the output of NAND 612 to a logic 1. At this time, transistor 623 is enabled, and the programming signal CGNDi is pulled to zero volts. P-channel transistor 624 is thus enabled, and the full programming voltage CGND appears on the gate of p-channel transistor 621, thereby assuring that p-channel transistor 621 is disabled once programming of the antifuse AFi has been effected.
In this embodiment, the programming pulses CGNDi that are provided by drivers DRVRi are also independent of one another, and all antifuse devices that are to be programmed will be provided a sufficient voltage to effect programming, even though some of the antifuse elements in the selected bank are slower to program than others.
The circuitry 725 of
In accordance with the present invention, verification circuitry is provided for verifying that: (a) an unprogrammed antifuse does not have a resistive short, i.e., is not leaky; and (2) a programmed antifuse is programmed properly. This useful result is realized in a preferred embodiment combining P-channel transistor 704 with circuitry 725 as illustrated in
With reference still to
During the programming operation, transistor 700 was disabled. However, once the programming operation is completed transistor 700 is enabled by the signal in FUSEISO*. In series with transistor 700 is transistor 701 whose gate is driven by the signal DVC2E. The magnitude of the signal DVC2E is approximately 1.5 to 2 volts which enables transistor 701 to act as a current limiter. Thus, during the verification process, one side of antifuse AFi is connected to the node constituting the input to inverter 706. Each transistor 700, 701 has a width/length of 10/2.
The verification circuitry of FIGS. 7 also includes P-channel transistors 702, 703, 704, and 705, all connected as shown in
In operation, the verification circuitry of
To verify that a programmed antifuse element is correctly programmed, both transistors 703 and 704 are enabled by signals A and B to attempt to charge the voltage at the input to inverter 706. The charge presented to the input to inverter 706 from enabling both transistors 703 and 704 is greater than the charge at the input to inverter 706 from just enabling transistor 704.
If the antifuse element AFi is properly programmed, its resistance will be less than 27 Kohms, which is sufficiently low to prevent the voltage on the node at the input to inverter 706 from being charged to +5 volts. In this situation, the signal F is a logic 0, while the signal F* is a logic 1. On the other hand, if the antifuse element AFi did not program properly, it will have a resistance greater than 27 Kohms, and the voltage on the node at the input to inverter 706 will charge to a level that is detected as a logic 1. Hence, in this situation, the signal F will be a logic 1 and the signal F* will be a logic 0. This state of the signals F and F* thus indicate that an antifuse which was to be programmed did not program properly.
Claims
1. An integrated circuit memory product comprising:
- at least one bank of antifuse elements in which the top plates of the antifuse elements are joined in a common connection to a programming voltage;
- a selection transistor in series with each antifuse element in the bank, the enablement of a particular selection transistor resulting in a path being provided for the programming of the antifuse element associated with the enabled selection transistor; and
- a feedback circuit associated with each antifuse element in the bank to stop the flow of current through its associated antifuse element once the antifuse element is programmed.
2. The apparatus of claim 1 further comprising circuitry for verifying that antifuse elements have been programmed correctly and that unprogrammed antifuse elements are functioning properly.
3. The apparatus of claim 2, wherein the verification circuitry includes:
- circuitry for connecting the antifuse element in series with a node;
- circuitry including a transistor that is sufficient to charge the voltage at the node from a first voltage to a second voltage; and
- circuitry for detecting whether (a) the node is charged to the second voltage or (b) has remained at the first voltage which indicates that an unprogrammed antifuse is leaky.
4. The apparatus of claim 2, wherein the verification circuitry includes:
- circuitry for connecting the antifuse element in series with a node;
- circuitry including a parallel combination of a first transistor and a second transistor that is sufficient to charge the node from a first voltage to a second voltage; and
- circuitry for detecting whether (a) the node is charged to the second voltage or (b) the node remains at the first voltage thereby indicating that the antifuse element is programmed properly.
5. An integrated circuit memory product comprising:
- a plurality of banks of antifuse elements, each bank including a plurality of antifuse elements;
- circuitry for selecting one of the banks of antifuse elements for programming; and
- circuitry for providing a separate programming pulse to each of the antifuse elements in the selected bank that is to be programmed.
6. The apparatus of claim 1 further comprising circuitry for verifying that antifuse elements have been programmed correctly and that unprogrammed antifuse elements are functioning properly.
7. The apparatus of claim 2, wherein the verification circuitry includes:
- circuitry for connecting the antifuse element in series with a node;
- circuitry including a transistor that is sufficient to charge the voltage at the node from a first voltage to a second voltage; and
- circuitry for detecting whether (a) the node is charged to the second voltage; or (b) has remained at the first voltage which indicates that an unprogrammed antifuse is leaky.
8. The apparatus of claim 2, wherein the verification circuitry includes:
- circuitry for connecting the antifuse element in series with a node;
- circuitry including a parallel combination of a first transistor that is sufficient to charge the node from a first voltage to a second voltage; and
- circuitry for detecting whether (a) the node is charged to the second voltage or (b) has remained at the first voltage thereby indicating that the antifuse element is programmed properly.
9. A method of verifying antifuses in a semiconductor memory, comprising:
- connecting the antifuse in series with a node;
- providing current to the node which is sufficient to charge the node from a first to a second voltage; and
- detecting whether (a) the node charges to the second voltage; or (b) remains at the first voltage thereby indicating that the antifuse is leaky.
10. The method of claim 9, further comprising:
- providing charging current to the node through the parallel combination of a first transistor and a second transistor, which current is sufficient to charge the node from a first voltage to a second voltage; and
- detecting whether the voltage at the node (a) charges to the second voltage; or (b) remains at the second voltage which indicates that the antifuse is properly programmed.
Type: Application
Filed: Apr 28, 2005
Publication Date: Sep 15, 2005
Inventors: Patrick Mullarkey (Meridian, ID), Casey Kurth (Eagle, ID), Jason Graalum (Boise, ID), Daryl Habersetzer (Boise, ID)
Application Number: 11/117,080