IP Library Granted Patent US 9,711,237
Granted Patent B2
US 9,711,237 · App. 14/485,696 · Granted Jul 18, 2017

Method and structure for reliable electrical fuse programming

Inventor: Shine C. Chung (San Jose, CA)
Assignee: Attopsemi Technology Co., Ltd.
G11C17/16G11C17/18G11C29/027
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,711,237
App. No.
14/485,696
Granted
Jul 18, 2017
Kind
B2
Abstract

A method of programming electrical fuses reliably is disclosed. If a programming current exceeds a critical current, disruptive mechanisms such as rupture, thermal runaway, decomposition, or melt, can be a dominant programming mechanism such that programming is not be very reliable. Advantageously, by controlled programming where programming current is maintained below the critical current, electromigration can be the sole programming mechanism and, as a result, programming can be deterministic and very reliable. In this method, fuses can be programmed in multiple shots with progressive resistance changes to determine a lower bound that all fuses can be programmed satisfactorily and an upper bound that at least one fuse can be determined failed. If programming within the lower and upper bounds, defects due to programming can be almost zero and, therefore, defects are essentially determined by pre-program defects.

Claims (72)

1. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line, the at least one OTP element having a resistance; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

one-time programming the at least one OTP cell into a different logic state by applying a plurality of voltage or current pulses to at least one OTP cell via the first and the second supply voltage lines to turn on the selector and to thereby progressively change the resistance so as to change the OTP logic state,

wherein the one-time programming of the at least one OTP cell comprises:

obtaining a critical program current that would cause the at least one OTP cell to undergo a drastic resistance change; and

limiting the program current below the critical program current.

2. A method of programming as recited in claim 1 , wherein the at least one OTP element includes at the electrical fuse which includes or couples to at least a portion of a heat sink, heat generator, or extended area.

3. A method of programming OTP memory as recited in claim 1 , wherein whether the at least one OTP cell has been programmed or not is not clearly visible by optical microscope or scanning electronic microscope.

4. A method of programming as recited in claim 1 , wherein the electrical fuse is constructed from at least one of a polysilicon, silicide, silicided polysilicon, CMOS metal gate, a metal interconnect, a polymetal, a local interconnect, a metal alloy, or a thermally isolated active area.

5. A method of programming as recited in claim 1 , wherein the selector is built on a thermally isolated substrate or on a 3D fin structure.

6. A method of programming as recited in claim 1 , wherein the at least one selector comprises a MOS device that can be turned on in a junction diode or in a channel of the MOS device for programming or reading the OTP cells.

7. A method of programming as recited in claim 1 , wherein the selector has a gate or dummy gate and wherein the gate or dummy gate has a thicker oxide than that in core devices.

8. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line, the at least one OTP element having a resistance; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

one-time programming the at least one OTP cell into a different logic state by applying a plurality of voltage or current pulses to at least one OTP cell via the first and the second supply voltage lines to turn on the selector and to thereby progressively change the resistance so as to change the OTP logic state,

wherein the one-time programming of the at least one OTP cell programs the at least one electrical fuse with the corresponding at least one OTP cell, and

wherein the one-time programming of the at least one electrical fuse comprises:

determining a destructive program current that the at least one electrical fuse can undergo a drastic resistance change; and

limiting the program current below the destructive program current.

9. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line, the at least one OTP element having a resistance; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

one-time programming the at least one OTP cell into a different logic state by applying a plurality of voltage or current pulses to at least one OTP cell via the first and the second supply voltage lines to turn on the selector and to thereby progressively change the resistance so as to change the OTP logic state,

wherein the one-time programming of the at least one OTP cell comprises:

programming a portion of the OTP memory using initially a relatively low program voltage or current and gradually incrementally increase the program voltage or current until all the OTP cells in the portion of OTP memory are programmed and read verified correctly, so as to determine a lower bound of the program voltage or current; and

continuously incrementally increase the program voltage or current and programming the portion of the OTP memory until an excessive voltage or current is identified where at least one OTP cell, either programmed or not, is read with an error, so as to determine an upper bound of the program voltage or current.

10. A method of programming OTP memory as recited in claim 9 , wherein the one-time programming of the at least one OTP cell comprises:

changing the duration of the voltage or current pulses; and

obtaining the lower bound and higher bound of the program voltage, the obtaining comprising (i) programming a portion of the OTP memory using initially a relatively low program voltage and gradually incrementally increasing the program voltage until all the OTP cells in the portion of OTP memory are programmed and read verified correctly, so as to determine the lower bound of the program voltage; and (ii) incrementally increasing the program voltage and program the portion of the OTP memory until an excessive voltage is identified where at least one OTP cell, either programmed or not, is read with an error, so as to determine an upper bound of the program voltage.

11. A method of programming OTP memory as recited in claim 9 , wherein the one-time programming of the at least one OTP cell comprising subsequently programming at least one portion of an OTP memory by applying a voltage between the lower and higher bounds of the program voltage in one pulse.

12. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line, the at least one OTP element having a resistance; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

one-time programming the at least one OTP cell into a different logic state by applying a plurality of voltage or current pulses to at least one OTP cell via the first and the second supply voltage lines to turn on the selector and to thereby progressively change the resistance so as to change the OTP logic state,

wherein the one-time programming of the at least one OTP cell, and

wherein the OTP cell current of a programmed or unprogrammed cell can be determined by:

applying, in a program mode, a voltage to a program voltage pad VDDP lower enough that cannot program the OTP cell;

preventing the program voltage VDDP from supplying currents to an OTP macro other than the OTP memory array;

turning on the selector of the OTP cell to measure the cell current; and

measuring the current flowing through the program voltage pad VDDP.

13. A method of programming OTP memory as recited in claim 12 , wherein the one-time programming of the at least one OTP cell, comprises:

programming a portion of OTP memory using initially a relatively low program voltage and gradually incrementally increase the program voltage until all OTP cells in that portion of OTP memory are programmed and their cell currents are below a pre-determined value to determine a low bound of the program voltage; and

continuously incrementally increase the program voltage and programming the same portion of OTP memory until an excessive voltage is identified where at least one programmed OTP cell has the cell current above a pre-determine value or at least one un-programmed OTP cell has the cell current below another pre-determine value, to determine a high bound of the program voltage.

14. A method of programming OTP memory as recited in claim 13 , wherein the one-time programming of the at least one OTP cell comprises:

changing the duration of voltage or current pulses for programming; and

obtaining lower bound and higher bound of the program voltage, the obtaining comprising (i) programming a portion of OTP memory using initially a relatively low program voltage and gradually incrementally increase the program voltage until all OTP cells in that portion of OTP memory are programmed and their cell currents are below a pre-determined value to determine a low bound of the program voltage; and (ii) continuously incrementally increase the program voltage and programming the same portion of OTP memory until an excessive voltage is identified where at least one programmed OTP cell has the cell current above a pre-determine value or at least one un-programmed OTP cell has the cell current below another pre-determine value, to determine a high bound of the program voltage.

15. A method of programming OTP memory as recited in claim 13 , wherein the one-time programming of the at least one OTP cell by applying a voltage between the lower and higher bounds of the program voltage in one pulse.

16. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line, the at least one OTP element having a resistance; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

one-time programming the at least one OTP cell into a different logic state by applying a plurality of voltage or current pulses to at least one OTP cell via the first and the second supply voltage lines to turn on the selector and to thereby progressively change the resistance so as to change the OTP logic state,

wherein the selector comprises at least one diode including at least a first active region and a second active region, the second active region being isolated from the first active region, the first active region having a first type of dopant and a second active region having a second type of dopant, the first active region providing a first terminal of the diode, the second active region providing a second terminal of the diode, both the first and second active regions residing in a common CMOS well or on an isolated substrate, at least one of the first and second active regions being fabricated from sources or drains of CMOS devices.

17. A method of programming as recited in claim 16 , wherein at least one shallow trench isolation structure isolates the first and second terminals of the diode and/or adjacent OTP cells.

18. A method of programming as recited in claim 16 , wherein at least one dummy gate isolates the first and second terminals of the diode and/or adjacent OTP cells.

19. A method of programming One-Time Programmable (OTP) memory, comprising:

providing a plurality of OTP cells, at least one of the OTP cells having a resistance and including at least:

an OTP element including at least one electrical fuse having a first terminal coupled to a first supply voltage line; and

a selector coupled to the OTP element with an enable signal coupled to a second supply voltage line,

programming a first portion of the OTP memory using initially a relatively low program voltage and gradually incrementally increasing the program voltage until all the OTP cells in the first portion of the OTP memory are programmed and verified correctly, so as to determine a lower bound of the program voltage;

continuously incrementally increasing the program voltage and program the first portion or a second portion of the OTP memory until an excessive voltage is identified where at least one OTP cell, either programmed or not, is verified with an error, so as to determine an upper bound of the program voltage; and

recording the lower and higher bounds of the program voltage for subsequently use in programming a third portion of the OTP memory or another OTP memory.

20. A method of programming as recited in claim 19 , wherein the method comprises:

subsequently programming the third portion of the OTP memory by applying a voltage between the lower and higher bounds of the program voltage in a single pulse to at least one OTP cell in the third portion of the OTP memory.

21. A method of programming as recited in claim 19 , wherein the method comprises:

subsequently programming at least a portion of the another OTP memory by applying a voltage between the lower and higher bounds of the program voltage in a single pulse to at least one OTP cell in the another OTP memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2016
From: CHUNG, SHINE C.
To: ATTOPSEMI TECHNOLOGY CO., LTD
Reel/Frame 039919/0229 →
Continuity (20)
Continuation In Part 13835308 · Mar 15, 2013
Continuation 13471704 · May 15, 2012
Continuation In Part 13026752 · Feb 14, 2011
Continuation In Part 13026656 · Feb 14, 2011
Continuation In Part 14485696
Continuation In Part 13842824 · Mar 15, 2013
Continuation In Part 13471704 · May 15, 2012
Continuation In Part 14485696
Continuation In Part 13970562 · Aug 19, 2013
Continuation In Part 13471704 · May 15, 2012
Provisional Application 61609353 · Mar 11, 2012
Provisional Application 61981212 · Apr 18, 2014
Provisional Application 61880916 · Sep 21, 2013
Provisional Application 61375653 · Aug 20, 2010
Provisional Application 61375660 · Aug 20, 2010
Provisional Application 61728240 · Nov 20, 2012
Provisional Application 61668031 · Jul 5, 2012
Provisional Application 61684800 · Aug 19, 2012
Related Publication 20150003142A1 · Jan 1, 2015
Related Publication 20170133101A9 · May 11, 2017