US 20050013187 A1
A method and electrical fuse circuit design for reducing the testing time for a semiconductor device manufactured with redundant eFuse circuitry. A two-to-one multiplexer (MUX) is provided at each eFuse circuit in addition to the fuse latch and pattern latch and other logic components the eFuse circuit. Information on which fuse is to be blown is stored in the fuse's pattern latch. The output generated by the pattern latch is ANDed with a program input to provide a select signal for the MUX. Based on the select signal, the MUX allows the shifted “1” to either go to the next latch in the shift chain or bypass the next latch or latches in the shift chain depending on whether the next fuse is to be blown. Accordingly, rather than serially shifting through each fuse latch within the device, the invention enables only those fuse latches associated with fuses that are to be blown to hold up the propagation of the shifted “1” to the next eFuse circuits.
1. A circuit for programming and testing electrical fuse (eFuse) circuits in a device, said circuit comprising:
an eFuse circuit that includes a fuse, a blow device, and a control input for said blow device;
a first circuit capable of determining when to blow said fuse; and
a second circuit capable of triggering a bypass of a pre-blow process within said eFuse circuit when said fuse is not to be blown, wherein a shifted 1 propagating through a plurality of eFuse circuits within said device is passed to a next downstream eFuse circuit without delay attributable to said pre-blow process.
2. The circuit of
a first latch component having multiple inputs and which provides a true output;
a second latch component having multiple inputs and which provides both a second true output and a complement output;
wherein said second latch component is programmed with a blow value for said fuse such that the blow value dictates when a fuse is to be blown; and
a program signal that together with said true output and said second true output provides the control input to said blow device.
3. The circuit of
4. The circuit of
an AND gate having a first input coupled to said complement output of said second latch, a second input coupled to said program signal, and a result output;
a multiplexer (MUX) having a first MUX input coupled to the true output of said first latch component, a second MUX input coupled to a selected output of a previous MUX of a third eFuse circuit sequentially before said eFuse circuit, a select input coupled to said result output of said AND gate, and a select output.
5. The circuit of
said first MUX input is selected when said result output is low (0);
said second MUX input is selected when said result output is high (1); and
said blow device is triggered to blow said fuse when said first MUX input is selected and both said true output and said second true output are high.
6. In a device that includes multiple, serially connected, electrical fuse (eFuse) circuits, a system for programming and testing eFuse circuits, said system comprising:
an AND gate having two inputs and a result output;
a multiplexer (MUX) having a first input, a second input, a select input, and a MUX output, wherein select input is coupled to said result output of said AND gate;
wherein, said eFuse circuit includes a fuse coupled to a switch that is controlled by signals from a fuse latch, a pattern latch, and a program signal source, said pattern latch being programmed with a fuse blow status indicating whether or not said fuse is to be blown during device testing; and
an enabling circuit capable of enabling a bypass of a pre-blow process within said eFuse circuit when said fuse blow status indicates that said fuse is not to be blown, such that a time delay associated with said fuseblow process is substantially eliminated as a testing operation proceeds to each eFuse circuit within said device.
7. The system of
8. The circuit of
a first input of said AND gate is coupled to a complement of a signal from said pattern latch indicating the fuse blow status;
a second input of said AND logic is coupled to said program signal source;
said first input of said MUX is coupled to said fuse latch; and
said second input of said MUX is coupled to a MUX output of a previous MUX.
9. The system of
10. The system of
11. The system of
a routing circuit capable of routing said shifted 1 through said fuse latch of said first eFuse circuit, subsequently bypassing a fuse latch of said second eFuse circuit, and then routing said shifted 1 through a fuse latch of said third eFuse circuit, wherein only said first eFuse circuit and said third eFuse circuit utilizes processing time for routing said shifted 1 through respective fuse latches before forwarding said shifted 1 to a next eFuse circuit.
12. ln a device that includes multiple, serially connected eFuse circuits, each having a fuse, a fuse switch, a fuse latch, a pattern latch, a fuse program signal, AND logic and a bypass multiplexer (MUX), a method for reducing programming and testing time for said device comprising:
storing a fuse blow status within said pattern latch;
ANDing a complement of said fuse blow status with said fuse program signal;
selecting one of two inputs of said MUX based on a result of said ANDing step, said inputs including a first input coupled to a true output of said fuse latch and a second input coupled to a MUX output of a previous eFuse circuit;
forwarding a shifted 1 propagating through said device to a next eFuse circuit without waiting for a pre-blow processing time to elapse when said second input is selected, wherein a time delay for propagating said shifted 1 through said eFuse circuit is substantially eliminated.
1. Technical Field
The present invention relates generally to semiconductor devices and in particular to electrical programming of on-chip fuses of semi-conductor devices. Still more particularly the present invention relates to reducing fusing time during electrical programming of on-chip fuses of semiconductor devices.
2. Description of the Related Art
Current semiconductors and other similar devices are often manufactured with a large number of fuse elements which are used to invoke the replacement of failing cells or components, and provide DAC trimming, etc. During testing of the device, selected fuses are usually blown by either a laser beam or an electrical current, depending on the design of the fuse/device. In an electrical fuse design, electronically programmable fuses are blown by passing a current through the fuse link. The electrical current then causes a permanent change to the resistance of the fuse. The fuses that are blown are selected via one or more programming methods, which are generally known to those skilled in the art.
As illustrated, the two chains of latches (fuse latches 103 and pattern latches 113) are connected in serial fashion, with each latch receiving it's shift input from the previous latch and sending it's shift output to the next latch in the chain. With this topology, enabling an electrical fuse to be programmed requires that both the output of the fuse latch 103 and pattern latch 113 corresponding to a specific fuse be set high (utilizing and AND logic function 105). Prior to fuse programming, the FSOURCE input 109 is set to a voltage high enough to program the fuses. Other inputs, including clock inputs ACLK 110 and BCLK 111, for example, along with input logic 116-119 are utilized to set the values within the latches. During the time that both latches are set high and global input GATEN is high, the programming transistor 107 for the eFuse turns on, blowing the connected fuse 106.
A major cost adder to the production of semiconductor devices (such as ASIC—application-specific integrated circuit—logic chips) is the time and financial costs incurred when testing the device. A major portion of the testing and associated costs involves the fusing process (i.e., the process by which the fuses are selected and electrically blown). Current electrical fusing times are on the order of 200 us per fuse. Due to the fusing current and on chip routing of relatively high voltage and high current busses, fusing multiple fuses at a time is not a practical solution for typical semiconductor devices. With fusing current as high as 15 mA per fuse, multiple simultaneous fuse blow becomes difficult and requires more device I/O's to be dedicated to the fuse blow input (called FSOURCE) supply. Using many input pads on a chip/package to support electrical fusing is not a cost effective solution. Thus, fuses are currently blown in a serial manner (i.e., one at a time) during testing because of the high fusing current and other factors described. With electrical fuses it is desirable to reduce fusing time as much as possible.
The fusing process can require a significant amount of time compared to the overall testing time. This is mainly due to the microsecond time scale used in fusing versus the nanosecond timings used for test. The fusing time is controlled by the rate at which a single ‘1’ is clocked or shifted through the fuse latches 103. Only one fuse latch 103 is set high at a time, guaranteeing only one fuse 106 is “blown” at a time. With this design, fusing time required for one fuse is spent on every latch in the fuse latch shift chain.
For example, assume the fusing process takes 1 clock cycle to blow each fuse. Then, the number of total clock cycles required for completing the test when the fuses are serially blown equals at least the number of fuses in the device. With the large number of fuses in current devices, typically hundreds or thousands, this serial implementation requires significant time commitment and is extremely inefficient for devices that only require a small percentage of the available fuses to be blown.
Another primary concern with current designs is the area overhead incurred due to the need to individually address electrical fuses on-chip. U.S. Pat. No. 6,426,911 provides one solution that addresses this area overhead problem by creating a shift register by a serial in/serial out wiring of the fuse latches and the connection of the gates of the blow transistors to the serial out port of each fuse latch. However, the problem of fuse time remains as the technique provided by the patent fails to reduce the one-by-one propagation of the signal through each latch of the fuse scan chain. That is, the programming information is propagated from latch to latch as a single “1” acting as a pointer that activates only one fuse latch per clock cycle. Also, only one fuse is blown per clock cycle to prevent the problems associated with high electrical current and other overhead issues described above.
From the perspective of a scan path, particular types of latches are provided to enable a scan chain evaluation for the device. In
As illustrated by
The present invention recognizes the inefficiencies that exist in the design and testing of current devices and recognizes that it would be desirable to reduce the time and costs associated with the fusing process, particularly when only a small fraction of the total number of fuses are actually being blown. A method and device that enables efficient completion of the fuse blowing stage of device testing would be a welcomed improvement. It would be further desirable if the method and device also enabled reduced area overhead along with the reduced fusing time. These and other benefits are provided by the invention described below.
Disclosed is a method and electrical fuse circuit design for reducing the testing time for a semiconductor device which uses fuse circuitry. A two-to-one multiplexer (MUX) is provided at each fuse circuit in addition to the fuse latch and pattern latch associated with the fuse circuit. Information on which fuse is to be blown is stored in the fuse's pattern latch. Utilizing the output generated by the pattern latch, the MUX then allows the shifted “1” to either go only to the current latch in the shift chain (program state) or go to the current latch and the next latch in the shift chain (bypass state). Any number of MUXes in a row could be in the bypass state causing the walking “1” to follow the bypass paths of the MUXes until it reaches a latch and MUX in the program state. Since the AND logic to program a fuse requires the fuse and pattern latch be set, only the latch that is in the program state will program the fuse. The fuse latches in the bypass state also load a “1” but since their corresponding pattern latches are not set, the AND logic will not program the associated fuses. Accordingly, rather than serially shifting through each fuse latch within the device one at a time, the invention enables the shifted “1” to go directly to the next fuse to be programmed.
According to one embodiment, a ‘1’ is utilized in the pattern latch to specify that a fuse is to be blown and a “0” specifies that a fuse is not to be blown. The complement output of the pattern latch is ANDed with a control signal to select the MUX state from among an upper (latch) input and a lower (MUX bypass) input. The control signal is asserted to a high state during fuse blow. If the pattern latch output indicates the fuse is to be blown, the high (1) input of the MUX is selected and the shift path is routed through the fuse latch. When the pattern latch output indicates the fuse is not to be blown, the low (0) input of the MUX is selected, which in effect results in a bypass of the latch. This latter operation bypasses the fuse latch and sends the walking “1” downstream to the next latch of the sequence of latches (or eFuse circuits) at which the pattern latch indicates the fuse is to be blown.
Since only a small percentage of the total number of fuses is to be blown during testing (e.g., 10 percent of the total number of fuses), a substantial time-savings is provided (i.e., almost 10× improvement for the example) by the invention with minimal circuit overhead. When serial readout of the fuse latches is required, the control signal is held low. This forces all the MUXes to select the high input and also forces all of the fuse latches to be in the shift path regardless of the state of the pattern latches. This forced non-bypass state can also used for testing of the fuse latches where each latch needs to be in the shift path. Implementation of the invention thus reduces processing time for traditional eFuse circuit devices and testing procedures thereof.
The above as well as additional objectives, features, and advantages of the present invention will become apparent in the following detailed written description.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself however, as well as a preferred mode of use, further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
The present invention provides a novel method and device design for reducing electrical fusing times in semiconductor devices during testing. The invention comprises a circuit design and methodology for completing more efficient testing of electrical fuses within a semiconductor device by selectively walking the blow signal to only those fuses that are to be blown.
Referring now to
Each fuse circuit 220 comprises a fuse 206, which may be blown when current signals are provided to a source and gate of transistor 207. Each eFuse circuit 220 further comprises fuse sense latch or fuse latch (FL0) 203, utilized to read the state of the fuse and during the fusing process to enable the fuse that is currently being blown. Also, each eFuse circuit 220 comprises pattern latch (PL0) 213, utilized to store the fuse solution previously calculated and programmed for the device.
As mentioned above, in addition to these components, eFuse circuit 220 comprises a two-to-one” multiplexer (MUX) 221 (also labeled M0 to indicate the first of the series of MUXes, M0 to MN, where N is an integer) and an AND logic 225 (also labeled A0 to indicate a first in a series, A0 to AN), whose output serves as the select signal for MUX 221. MUX 221 is utilized to allow the shifted ‘1’ or walking ‘1’ to either go to the next fuse latch in the shift chain or bypass (from a timing perspective) the next fuse latch (or latches) in the shift chain depending on whether the corresponding fuse is to be blown. The first (or upper) MUX input is coupled to the true output (L2T) of the previous fuse latch 203 and is a low (0) input. The second (or lower) MUX input is coupled to the previous MUX 221 in the series of eFUSE circuits and is a high (1) input.
Notably, although the illustrative embodiments assigns the upper input of MUX 221 to the true output of the fuse latch (L2T) and the lower input of MUX 221 to the component output of the pattern latch (L2C), the invention may likewise be implemented with the inputs assigned in the reverse manner. That is, a reverse configuration of MUX inputs may be implemented, but with some additional change to the AND logic and/or the pattern latch. With a reversed-input MUX configuration, the AND logic is replaced by a NAND gate and/or the output from AND logic is passed through an inverter. Other implementations are possible and all fall within the teachings of the present invention.
The information on whether a fuse is to be blown is programmed and stored in pattern latch 213, which is local to each eFuse circuit 220. According to the invention, pattern latch 213 provides an output that indicates when the associated fuse is to be blown and sends that output to MUX 221. For the illustrative embodiment, pattern latch 213 is programmed with a ‘1’ when the associated fuse 206 is to be blown, and pattern latch 213 is programmed with a ‘0’ when the fuse 206 is not to be blown.
In the illustrative embodiment, the complement output (i.e., the output of port L2C) of PL0 213 is utilized as one input to AND logic 225. AND logic 225 also receives a program input, EFUSEPROGRAM (EFP) 223, and both EFP 223 and the complement of the value stored/programmed in PL0 213 are ANDed together to select one of the two inputs to MUX 221. The upper input of MUX 221 is the input corresponding to the serial flow of the shifted “1” through the fuse latches (i.e., L2T) that in certain circumstances results in the fuse 206 being blown. The lower input, however, operates as a bypass trigger for the eFuse circuit so that the fuse latch is not triggered to initiate programming of the fuse. Rather, the shifted 1 is passed on to a next sequential MUX of a next sequential eFuse circuit and so on. This process is also illustrated by the flow chart of
If the MUX selects the fuse latch input, a fuse blow process is indicated for the eFuse circuit as shown at block 431, and fuse blow process is completed before the shifted 1 is passed to the next eFuse circuit. However, when the MUX does not select the fuse lath input, the MUX bypass input is selected and the shifted 1 is sent to the next eFuse circuit as shown at block 429. The processing at the current eFuse circuit then ends, as shown at block 433.
With reference again to
If the PL0 latch 213 is set low, the corresponding L2C output is high and the MUX 221 chooses its lower input corresponding to the bypass input that is received from the previous MUX. The FL0 is bypassed (i.e., time to switch through latches, etc. does not hold up the propagation of the walking “1” to the next eFuse circuit) and the walking ‘1’ is sent downstream to the latches where the L2C output from the pattern latch is high. All fuse latches that have a corresponding pattern latch set low (L2C=“1”) still load the walking “1” but the fuse does not blow due to the pattern latch L2T output that goes to the AND logic. Since L2T is low for a fuse that is not to be blown, the programming device (A1) cannot turn on. Accordingly, the MUX logic allows the number of “walking 1” shift cycles to equal the number of fuses to be blown from a timing perspective.
The pre-programmed pattern latch outputs are illustrated in the first row with a 1 indicating that the fuse is to be blown and a zero indicating the fuse should not be blown (i.e., bypassed). Pattern logic of eFuse circuits 1 and 4 are programmed to blow their fuses. Accordingly, the second row indicates which logic component is triggered/selected by the MUX during the serial shifting of the shifted 1 through the eFuse circuits. Again fuse latch input is selected for both eFuse circuits 1 and 4, while the MUX (bypass) input is selected for all other eFuse circuits.
With respect to the time (clock cycles) required to complete each operation at each circuit, row 3 provides the 1 to 1 ratio of clock cycles to number of circuits as required by the prior art methods. Row 4 provides the clock cycles based on the novel methodology and circuit design of the invention. As can be seen, only the fuse blow process of circuits 1 and 4 utilizes the full clock cycle to complete blow operation at those eFuse circuits. The other circuits are bypassed and do not require a time of processing the full clock cycle before proceeding to the next circuit as in the prior art.
During serial readout of the fuse latches (i.e., where all the fuse latches are required to be in the shift path), EFUSEPROGRAM is held low, forcing all MUXes 221 to choose the upper input (from the fuse latches). This also forces all fuse latches to be in the shift path regardless of the state of the pattern latches. The pattern latch register thus controls the “effective length” of the fuse latch register to equal the number of ‘1’s onset latches in the pattern register only when EFUSEPROGRAM is high.
One advantage of the method implemented by the invention is that “one at a time” fusing is maintained, requiring only one FSOURCE input signal for many eFuse circuits. However, rather than spending 200 μs at every eFuse circuit location (as with prior art), the invention enables the 200 μs be spent only on those fuses that are to be blown. Thus, for example, if only 10 percent of the fuses are to be blown, a blow operation completed during testing of a device designed according to the invention achieves a 10× improvement in fusing time over the previous serial methods. More importantly, this 10× improvement comes without additional power requirement and with very little circuit overhead. The fusing design is a time-efficient blowing method that substantially reduces by several magnitudes the testing time for the device.
While the invention has been particularly shown and described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention.