Multi-level electrical fuse using one programming device

A multi-level electrical fuse system comprises at least one fuse box having at least one electrical fuse, a programming device serially coupled to the electrical fuse, and a variable power supply coupled to the fuse box and configured to generate two or more voltage levels.

BACKGROUND

The present invention relates generally to an integrated circuit (IC) design, and more particularly to a system of circuit designs used for programming an electrical fuse using only one programming device.

Electrical fuses are often utilized for modern semiconductors for making adjustments and repairs that are performed as late as after a semiconductor chip is packaged. They are designed to be blown when a current through the fuses exceeds a predetermined threshold, thus causing energy build-up that in turn blows the fuses. By blowing a fuse during programming, nonvolatile data storage can be provided. Electrical fuses can be flexibly positioned even in the most complex semiconductor designs, since wirings are allowed above and below the fuses, thereby making electrical fuses a desirable component for higher density memory devices.

A conventional system used for the programming of electrical fuses is designed to only program two-state fuses that can only provide one of the two states: “1” or a “0”. As such, it is difficult to achieve high data volume, such as 64 k-bits or more since there will be a very high bit count that requires a large number of electrical fuses. As the bit count reaches an even higher number, the probability that the semiconductor circuit may malfunction due to a bit malfunctioning increase, thereby reducing overall yield. To improve the efficiency of electrical fuses, multi-level electrical fuses that can be programmed into one of three states have been used recently. These multi-level electrical fuses can increase in density and can be implemented in a smaller effective area. For example, by using 10 cells, a three-state electrical fuse system can yield 3^10 or 59,049 data options, while a two-state electrical fuse system can only yield 2^10 or 1,024 data options. However, the original design for a multi-level electrical fuse circuit requires an additional programming device in order to program the multi-level fuse properly. This additional programming device is a penalty that space-conscious semiconductor designers can ill afford.

Desirable in the art of integrated circuit designs is a new multi-level electrical fuse system that achieves a higher data volume without resorting to larger bit count and increasing the number of programming devices.

SUMMARY

In view of the foregoing, this invention provides a multi-level electrical fuse system. In one embodiment, the multi-level electrical fuse system comprises at least one fuse box having at least one electrical fuse, a programming device serially coupled to the electrical fuse, and a variable power supply coupled to the fuse box and configured to generate two or more voltage levels.

In another embodiment, the multi-level electrical fuse system comprises at least one fuse box having at least one electrical fuse, a programming device serially coupled to the electrical fuse, and a fuse writing circuit having a comparator having a first input coupled to the fuse box and a second input coupled to a controllable state reference circuit, wherein when the first input voltage is higher than the second input voltage, the comparator outputs a first logic state and when the first input voltage is lower than the second input voltage, the comparator outputs a second logic state complementary to the first logic state, and a control circuit coupled between an output of the comparator and the programming device.

DESCRIPTION

The following will provide a detailed description of a system for programming an electrical fuse at multiple levels using only one programming device.

FIG. 1Aillustrates a circuit diagram100showing a conventional system for programming electrical fuses with a programming device. The programming device is typically a NMOS type programming device or a PMOS type programming device. In the circuit diagram100, an NMOS type programming device102is coupled with an electrical fuse104, which is placed between the NMOS type program device102and a power supply source105. Control signals will enter through a select line106when the electrical fuse104is assigned to be programmed. The NMOS or PMOS type programming device used for programming an electrical fuse is designed to be large in physical size since a large current is typically required to program electrical fuses such as the electrical fuse104.

However, this conventional system is designed to only program two-state fuses that can only provide one of the two states: a “1” or a “0”. As such, it is difficult to achieve a higher data volume, such as 64 k-bits or more, since there will be a very high bit count requiring a large number of electrical fuses.

FIG. 1Billustrates a circuit diagram of a conventional multi-level electrical fuse circuit108where an electrical fuse can be programmed by one of two programming devices in order to increase a high data volume without the need for high bit counts. The multi-level electrical fuse circuit108comprises an electrical fuse110, a small programming device112, a large programming device114, two sense amplifiers116and118, and a logic device120. The electrical fuse110is designed to be programmed into one of three possible states, or levels. The state of the electrical fuse110is determined by the resistance of the electrical fuse110. In order to program the electrical fuse110, the small programming device112and the large programming device114are coupled to the electrical fuse110at a node122. The small programming device112is designed to program the electrical fuse110by slightly blowing the electrical fuse110, thus leaving it in a state with a lower resistance while the large programming device114is designed to program the electrical fuse110by applying a larger current to flow to the fuse, thus leaving it in a state with a higher resistance. By having these two programmed resistance states and a non-programmed state, the electrical fuse110can be programmed with one of the three states.

The sense amplifiers116and118are also coupled to the node122to detect the resistance state of the electrical fuse110for a reading process. The sense amplifiers116and118are coupled to reference resistors124and126, respectively. In this example, the reference resistor124is a 600-ohm resistor and the reference resistor126is a 2.5 k-ohm resistor. By comparing the resistance of the electrical fuse110with the resistance of the reference resistors124and126, the sense amplifiers116and118can determine the resistance state of the electrical fuse110. The output of the sense amplifiers116and118is received by the logic device120where a binary output of the state of the electrical fuse110is provided.

With this system, an electrical fuse can be programmed to be one of the multiple states, or levels, thus allowing a device to achieve a high data volume without a high number of bit counts. However, the need for both the small programming device112and the large programming device114greatly increases the area necessary for implementing this conventional multi-level electrical fuse circuit108.

FIG. 2is a schematic diagram illustrating a multi-level electrical fuse circuit200with a reading circuit208in accordance with one embodiment of the present invention. The multi-level electrical fuse circuit200comprises the programming device202, the electrical fuse204and the reading circuit208. The reading circuit may be implemented as two sense amplifiers206and208, and a logic device210. The electrical fuse204is designed to be programmable into one of three possible states using only one programming device202. The state of the electrical fuse204is determined by the resistance of the electrical fuse204. Unlike the conventional multi-level electrical fuse circuit100shown inFIG. 1B, the electrical fuse204is designed to be programmable into one of the three states based on the different levels of voltage applied to the electrical fuse204during a programming process. By contrast, the multi-level electrical fuse circuit200is similar to the circuit diagram100inFIG. 1Ain that the electrical fuse in both is programmed using only one programming device coupled with the electrical fuse. A lower level of voltage applied to the electrical fuse204can program the electrical fuse204by slightly blowing the fuse, thus leaving it in a state with a lower resistance while a higher level of voltage applied to the electrical fuse204can further blow the fuse, thus leaving it in a state with a higher resistance. By having these two programmed resistance states and a non-programmed state, the electrical fuse204can be programmed with one of the three states.

The sense amplifiers206and208are coupled to a node212in order to detect the resistance state of the electrical fuse204during a reading process. The sense amplifiers206and208are respectively coupled to reference resistors214and216. In this example, the reference resistor214is a 600-ohm resistor and the reference resistor216is a 2.5 k-ohm resistor. By comparing the resistance of the electrical fuse204with the resistances of the reference resistors214and216, the sense amplifiers206and208can determine the resistance state of the electrical fuse204. The output of the sense amplifiers206and208are received by the logic device210where a binary output of the state of the electrical fuse204is provided.

By implementing only one programming device202, the effective cell size can be reduced while keeping the same area necessary for the traditional fuse structure. In a preferred embodiment, an effective 58% increase in bit capacity, given a similar semiconductor footprint, may be achieved. In this scenario, an estimate 1-to-3 ratio between fuse area and programming device area is achieved. Also, resistance distribution is reduced due to the simplicity of the design. Furthermore, the interface to control programming is also reduced because only one, not two, programming device needs to be controlled.

FIG. 3is a schematic diagram illustrating a multi-level electrical fuse circuit300with a fuse writing circuit in accordance with the embodiment of the present invention. The multi-level electrical fuse circuit300comprises an electrical fuse302, a programming device304, a voltage regulator306, a state reference circuit308, a comparator310, and a control circuit312. The electrical fuse302may be a silicide poly fuse, a non-volatile fuse, or a contact fuse. The programming device304may be implemented as a NMOS transistor as shown inFIG. 3. In this case, the NMOS programming device304is coupled with the electrical fuse302through its drain while its source is coupled to the ground. Note that it is also possible for a PMOS transistor to be used as the programming device304without deviating from the spirit of this invention. In the case wherein the programming device304is a PMOS transistor, the circuit300is modified such that the source of the PMOS transistor is coupled with the voltage regulator while the drain is coupled with one end of the electrical fuse302. The voltage regulator306, which is shown as a multiplexer and acts as a voltage selection device, is designed to provide the electrical fuse302with a desired voltage level during a fuse writing process. For example, if the electrical fuse302is to be programmed to have a higher resistance state, the multiplexer306will provide a higher level of fuse writing voltage, and if the electrical fuse302is to be programmed to a lower resistance state, the multiplexer306will provide a lower level of fuse writing voltage.

The state reference circuit308, used for providing a reference voltage to the comparator310during a fuse writing process, can produce at least two predetermined reference states that may be generated by a resistive voltage divider. In this example, the state reference circuit308comprises three reference resistors314,316, and318, which are respectively coupled with resistance selectors320,322and324. For this example, the reference resistor314is a 500-ohm resistor, the reference resistor316is a 1 k-ohm resistor, and the reference resistor318is a 1.5 k-ohm resistor. The resistance selectors320,322, and324, shown as NMOS pass-gate transistors, are controlled by a logic device, not shown in this figure, and can be turned on and off to adjust the reference resistance which in turn affects the reference voltage provided to the comparator310. The resistance state of the state reference circuit308can be calculated by converting the state of the resistance of the electrical fuse302in a fixed time duration. For example, if the initial state is 10X+/−10% ohm, the first state is about 102X+/−10% ohm, and the second state is about 103X+/−10% ohm. With the reference resistors314,316, and318in this example, multiple reference resistance states can be achieved. Using the values provided in this example, the first reference resistance state may be about 480 ohms to about 520 ohms at a ramping program voltage of about 0.8V to about 1.2V. A second reference resistance state ranges from about 960 ohms to about 1,040 ohms at a ramping program voltage of about 1.1V to about 1.4V, and a third reference resistance state ranges from about 1,200 ohms to about 1,300 ohms at about 1.3V to 1.6V. With this information, a reference voltage can be used for comparison with the fuse voltage in the comparator310to determine the state of the electrical fuse302.

The comparator310, which has two input terminals, is designed to compare the states of the electrical fuse302with the states of the state reference circuit308. This can be done by comparing the fuse voltage at a node326with the reference voltage provided by the state reference circuit308. Note that the fuse voltage at the node326is dependent on the resistance state of the electrical fuse302. After the comparison, the output signal from the comparator310is then provided to the control circuit312which controls the programming device304. An output signal “1” would represent the case in which the reference voltage is higher than the fuse voltage, and an output signal “0” would represent the case where the reference voltage is lower than the fuse voltage.

The control circuit312, comprising an address decoder328, two AND-gates330and332, and a flip-flop334, is designed to turn off the programming device304when the comparator output signal reaches a predetermined state. Initially, the output of the flip-flip334is pre-set to “1” thus allowing the AND-gate330to turn on the address decoder328as well as the programming device304when the strobe signal is switched high. The addressing information is also provided as an input for the address decoder328. During a write operation, the AND-gate332, with one input terminal connected to a node336and another input terminal connected to the output of the comparator310, continuously receives the output signals from the comparator310. If the fuse voltage is less than the reference voltage, a “1” is outputted from the comparator310, thus allowing the AND-gate332to output a high signal to the flip-flop334and keeping the output of the flip-flop334high at “1”. This allows the control circuit312to remain in the same condition and keeps the programming device304turned on. If the fuse voltage is greater than the reference voltage, a “0” is outputted from the comparator310, thus causing the AND-gate332to output a low signal and allowing the output of the flip-flop334to switch low to “0” when a clock signal CK is initiated during the next clock cycle. This will result in the AND-gate330to output a low signal, thus turning off the address decoder328as well as the programming device304. With the flip-flop334switched to output a low signal, the node336is latched to a low state and cannot be switched back to high state even if the comparator310outputs a high signal. Then the fuse writing process is completed with the resistance of the fuse302reaching a target value, which is determined by the reference circuit308. Changing power supply voltage can certainly affect the resistance increasing rate of the electrical fuse302, allowing for longer time under a certain power supply voltage, which can also increase the resistance of the electrical fuse to the same desired level. No matter if it is changing voltage or changing time, once a target resistance is reached, the reference circuit308will inform the control circuit312to turn off the programming device304, hence stop the progressing process, so that the resistance of the fuse304can stay at the desired level.

In an example scenario where the electrical fuse302is to be programmed, the strobe signal provided for the AND-gate330of the control circuit will be switched high. The flip-flop334is pre-set to output “1” initially, thus allowing the AND-gate330to output a high signal that turns on the address decoder328. The address decoder328then uses the given address information to select the programming device304by providing a high signal to the NMOS transistor within. A desired level of voltage will be selected by the multiplexer306to program the electrical fuse302. During writing of the electrical fuse302, the comparator310will compare the fuse voltage at the node326with a predetermined reference voltage provided by the state reference circuit308. Once the resistance of the electrical fuse302is programmed to a desired level, the fuse voltage should be greater than the reference voltage, and a low signal “0” should be outputted by the comparator310. This will cause both the AND-gate332and the flip-flop334to output a low signal, thereby causing the node336to latch onto a low signal. With the node336latched onto a low signal, the programming device304will be turned off, thus stopping the fuse writing process, so that a targeted resistance of the fuse302has been reached.

The electrical fuse within the proposed multi-level electrical fuse circuit is designed to be connected to one programming device and an input voltage provided by a voltage selection device or a voltage regulator that is predefined with a different resistance value. By implementing an adjustable supply voltage for the electrical fuse, only one programming device is necessary for writing a multi-level electrical fuse, thus reducing the effective cell size. The data programmed at an electrical fuse is converted into a voltage at a level corresponding to the resistance of the electrical fuse. This voltage is compared at a comparator with a reference voltage provided by a state reference circuit to determine if the electrical fuse has been programmed. The comparison result may also read out as a high or low signal during a read operation.