(57)【要約】【課題】電気ヒューズを用いたＯＴＰメモリのベリファイの検知能力を向上させ、検出された不良ビットを再プログラムして救済することにより、高歩留まり、高信頼性を可能にする半導体集積回路装置及びそのプログラム方法を提供することを目的としている。【解決手段】電気的プログラム可能な不可逆性の記憶素子２１−０〜２１−ｎを備えた半導体集積回路装置である。テスト時に、通常の使用時よりマージンが小さくなるように回路設定値を切り変えて記憶情報を読み出すことにより、プログラム不良ビット、マージナルな特性のビットを検出し、再プログラムを行って救済、または特性を改善することにより、高歩留まり、高信頼性を実現する。【選択図】      図１
2005302091.tif 000002
【特許請求の範囲】
【請求項１】
電気的に素子特性を不可逆的に変化させることによって情報がプログラムされる記憶素子と、
不可逆的に変化させた前記記憶素子の状態を、変化していない状態と区別して検知するように構成された状態検知回路と、
前記状態検知回路の検知能力を変化させるように構成された制御回路と
を具備することを特徴とする半導体集積回路装置。
【請求項２】
前記記憶素子にプログラムした情報と、前記状態検知回路により前記記憶素子から読み出した情報とを比較し、一致、不一致の比較結果を出力するように構成された比較回路と、前記比較結果が不一致であったビットを不良ビットとして個別に特定するように構成された不良検知回路とを更に具備し、
前記不良検知回路で特定した不良ビットの情報に基づいて、前記記憶素子に対して再度プログラムを実行することを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記状態検知回路は、前記記憶素子の抵抗値を対応するレベルの電圧に変換し、その電圧を参照電圧と比較することにより、前記記憶素子の状態を検出することを特徴とする請求項１及び２のいずれか１項に記載の半導体集積回路装置。
【請求項４】
前記制御回路は、前記参照電圧を変化、または前記記憶素子を流れる電流により容量を充電もしくは放電する時間を変化させることにより、前記状態検知回路の検知能力を変化させることを特徴とする請求項３に記載の半導体集積回路装置。
【請求項５】
通常の読み出し動作時に、不可逆的に変化させた記憶素子の状態を、変化していない状態と区別して検知することにより、前記記憶素子から情報が読み出される半導体集積回路装置のプログラム方法において、
電気的に素子特性を不可逆的に変化させることによって記憶素子に情報をプログラムするステップと、
不可逆的に変化させた前記記憶素子の状態を、前記通常の読み出し動作時の検知能力よりも検知能力を低くして、変化していない状態と区別して検知することにより、前記記憶素子から情報を読み出すステップと、
前記記憶素子にプログラムした情報と、前記記憶素子から読み出した情報とを比較し、一致、不一致の比較結果を出力するステップと、
前記比較結果が不一致であったビットを不良ビットとして個別に特定するステップと、
前記特定した不良ビットの情報に基づいて、前記記憶素子に対して再度プログラムを実行するステップと
を具備することを特徴とする半導体集積回路装置のプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体集積回路装置及びそのプログラム方法に関し、電気的にプログラム可能な不可逆性の記憶素子、いわゆるＯＴＰ（One-Time Programmable）メモリを備えた半導体集積回路装置、及びこの記憶素子への情報のプログラム方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路装置では、電源を落しても記憶された情報が消失しない不揮発性のＯＴＰメモリが不可欠な要素となっている。ＯＴＰメモリは、ＤＲＡＭやＳＲＡＭといった大容量のメモリにおけるリダンダンシ用途、アナログ回路のチューニング用途や暗キー等のコード格納用途、及び製造工程での履歴等のような管理用の情報を記憶する為のチップＩＤ用途等で広く使用されている。
【０００３】
例えば、メモリのリダンダンシ用途には、最も安価な不揮発性メモリとして、レーザー光を照射してブロウ（blow）することにより、不可逆的に情報を記憶するレーザーヒューズを用いたＲＯＭが使用されてきた。
【０００４】
上記レーザーヒューズＲＯＭには、特別なヒューズブロウ装置と、それを用いたブロウ工程が必要であり、その為のテストコストがかかる。また、レーザーヒューズは、その最小寸法が使用するレーザー光の波長で決まる為、他の回路部分と微細化の歩調が合わず、次第に占有する面積の割合が大きくなってきている。しかも、レーザーヒューズはそのプログラム方法の為、ウェファ状態でしかプログラムできず、パッケージ後の高速テストでの不良の救済、チップ内に搭載されたテスト回路によるビルトインセルフリペア（Built-in Self Repair）等に使用することはできない。このため、レーザーヒューズを用いているシステムでも、電気的にプログラム可能な不揮発性メモリを搭載したいという要求がある。
【０００５】
一方、複数のチップで構成するシステムでは、独立したＥＥＰＲＯＭのチップに各種の情報を格納することも可能であるが、システムを一つのチップ上に集積するＳｏＣ（System on Chip）においては、不揮発性メモリも内部に持たなければならない。しかし、フローティングゲートに電荷を蓄積するタイプの不揮発性メモリを混載することは、その為の追加のマスクやプロセスを必要とし、コストの上昇を招く。
【０００６】
上述したようなメモリのリダンダンシ情報を始め、不揮発性メモリに記憶する情報は、何回も書き換えが必要なものばかりではないので、標準的なＣＭＯＳプロセスで搭載可能なＯＴＰメモリは広い需要を持つと考えられる。ここでは、ＯＴＰメモリで使用される、素子特性を不可逆的に変化させることで情報を記憶するタイプの記憶素子を総称してヒューズ素子と呼ぶ。また、このヒューズ素子の中で、電気的に素子特性を不可逆的に変化させるものを総称して、電気ヒューズ（Electrical Fuse）と呼ぶことにする。
上記電気ヒューズの構成例としては、意図的に電流密度が高くなるようにしたポリシリコンあるいはメタルからなる配線に大きな電流を流して抵抗値を変化させるPoly（またはMetal）電気ヒューズ、集積回路を構成する素子の絶縁膜破壊を利用したアンチヒューズ等がある。破壊する絶縁膜としてＭＯＳトランジスタのゲート酸化膜を使用するゲート酸化膜破壊型アンチヒューズは、特別な追加プロセスを必要としない為、広くＣＭＯＳ製品に適用することが可能である（例えば特許文献１及び特許文献２参照）。
一般に、電気ヒューズは、大きな電流または電圧ストレスにより、短時間にヒューズ素子の状態を変化させるもの、すなわち電気的ストレスによる物理的あるいは組成的な構造の破壊でプログラムする機構である。
【０００７】
このように、破壊現象をプログラム機構とする電気ヒューズにおいては、プログラムは確率過程であり、ストレス印加後、直ちにプログラムされる素子もあれば、限られたプログラム時間内では十分にプログラムされない素子もでてくる。
【０００８】
このようなプログラムが不十分であった不良ビットを救済する為に、プログラム後、電気ヒューズからデータを読み出し（センス）、プログラムしたデータと読み出したデータとを比較する検証工程（ベリファイ）が必要となる。ベリファイにより一致（Ｐａｓｓ）、不一致（Ｆａｉｌ）を判定し、不一致であればこのプログラム不良ビットに対して再度プログラムを実行する必要がある。
【０００９】
プログラム後の素子特性は、広いバラツキを持って分布する。また、素子特性の経年変化を考慮すると、十分な余裕を持って不良ビットを検出できなければならない。しかしながら、これまでのベリファイでは、通常動作時と同じセンス動作を実行し、Ｐａｓｓ／Ｆａｉｌを判定しているため、マージナルな特性のビットを不良として検出できず、市場不良を起こす可能性がある。
【特許文献１】特開２０００−０１２６９９
【特許文献２】特開２００３−１６８７３４
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この発明は上記のような事情に鑑みてなされたもので、その目的とするところは、電気ヒューズを用いたＯＴＰメモリのベリファイの検知能力を向上させ、検出された不良ビットを再プログラムして救済することにより、高歩留まり、高信頼性を可能にする半導体集積回路装置及びそのプログラム方法を提供することにある。
【課題を解決するための手段】
【００１１】
この発明の一態様によると、電気的に素子特性を不可逆的に変化させることによって情報がプログラムされる記憶素子と、不可逆的に変化させた前記記憶素子の状態を、変化していない状態と区別して検知するように構成された状態検知回路と、前記状態検知回路の検知能力を変化させるように構成された制御回路とを具備する半導体集積回路装置が提供される。
【００１２】
また、この発明の一態様によると、通常の読み出し動作時に、不可逆的に変化させた記憶素子の状態を、変化していない状態と区別して検知することにより、前記記憶素子から情報が読み出される半導体集積回路装置のプログラム方法において、電気的に素子特性を不可逆的に変化させることによって記憶素子に情報をプログラムするステップと、不可逆的に変化させた前記記憶素子の状態を、前記通常の読み出し動作時の検知能力よりも検知能力を低くして、変化していない状態と区別して検知することにより、前記記憶素子から情報を読み出すステップと、前記記憶素子にプログラムした情報と、前記記憶素子から読み出した情報とを比較し、一致、不一致の比較結果を出力するステップと、前記比較結果が不一致であったビットを不良ビットとして個別に特定するステップと、前記特定した不良ビットの情報に基づいて、前記記憶素子に対して再度プログラムを実行するステップとを具備する半導体集積回路装置のプログラム方法が提供される。
【発明の効果】
【００１３】
この発明によれば、電気ヒューズを用いたＯＴＰメモリのベリファイの検知能力を向上させ、検出された不良ビットを再プログラムして救済することにより、高歩留まり、高信頼性を可能にする半導体集積回路装置及びそのプログラム方法が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明の実施の形態について図面を参照して説明する。  
この発明の実施の形態では、プログラムされた電気ヒューズに対応するデータを“１”、未プログラムの電気ヒューズに対応するデータを“０”としたときに、電気ヒューズを用いたＯＴＰメモリにおけるプログラム後のベリファイにおいて、電気ヒューズのデータを読み出すベリファイセンス（Verify Sense）時に、通常の読み出し動作（Normal Sense）時より、“１”データのセンスマージンを厳しくすることにより、マージナルな特性のビットも不良ビットとして検出可能にしている。
【００１５】
電気ヒューズにプログラムされたデータは、電気ヒューズの抵抗値を対応するレベルの電圧に変換して、その電圧を参照電圧と比較することで“０”，“１”として読み出される。信号電圧が電気ヒューズを介した容量の充電あるいは放電により生成される場合には、この充電、放電時間を変化させることで“１”データの信号量を変化させることができる。また、参照電圧を変化させることによっても、センスアンプから見た“１”データの信号量を変化させることができる。
【００１６】
従って、信号電圧の発展時間（Signal Development Time：ＳＤＴ）、参照電圧（ＶＲＥＦ）の一方または両方を制御して、ベリファイ時には“１”データのセンスマージンが厳しくなるようする。
【００１７】
更に、パスフェイルの結果の１ビットを外部に出力、またプログラムデータと一致しない不良ビットのみを再プログラムする回路を半導体集積回路装置の内部に設けることにより、ベリファイ、パスフェイル判定、再プログラムという一連の動作を効率良く実行できる。
【００１８】
次に、上述したようなベリファイ、パスフェイル判定、再プログラムという一連の動作を効率良く実行する半導体集積回路装置及びそのプログラム方法について図１乃至図８に示す実施形態により詳しく説明する。
【００１９】
図１は、半導体集積回路装置におけるＯＴＰメモリと、このＯＴＰメモリのプログラム及びセンス動作に関係する周辺回路を抽出して示すブロック図である。この回路は、メモリセルアレイ１１、制御回路１２、論理回路（Logic Circuits）１３、クロック発生回路（Clock Generator）１４、ＤＣ制御回路（DC control）１５、センスアンプ制御回路（SA control）１６、カウンタ（Counter）１７及びマルチプレクサ１８，１９等を含んで構成されている。
【００２０】
上記メモリセルアレイ１１は、メモリブロック１１−０，…，１１−ｎが複数段（ｎ＋１段）積み重ねて配置して構成している。各々のメモリブロック１１−０，…，１１−ｎは、電気的に素子特性を不可逆的に変化させることによって情報がプログラムされる記憶素子である電気ヒューズを有するメモリセル２１−０，…，２１−ｎと、不可逆的に変化させた電気ヒューズの状態を変化していない状態と区別して検知する状態検知回路として働くセンスアンプ２０−０，…，２０−ｎとを複数横に並べて構成している。
【００２１】
上記制御回路１２は、上記センスアンプ２０−０，…，２０−ｎの検知能力、すなわち十分にプログラムされたビットを検知する能力を変化させるために働くもので、上記各メモリブロック１１−０，…，１１−ｎに対応する制御ブロック１２−０，…，１２−ｎで構成されている。制御ブロック１２−０，…，１２−ｎは、メモリブロック１１−０，…，１１−ｎの各段に対応して電気ヒューズ２１−０，…，２１−ｎのリセット信号ＤＣｐを出力するフリップフロップ（ＦＦ）２２−０，…，２２−ｎ、センスアンプ２０−０，…，２０−ｎのイネーブル信号ＳＡＥｎを出力するフリップフロップ（ＦＦ）２３−０，…，２３−ｎ、センスアンプ２０−０，…，２０−ｎに参照電圧としての基準電圧ＶＲＥＦを供給する基準電圧発生回路（ＶＲＥＦ  Ｇｅｎ．）２４−０，…，２４−ｎ及び遅延回路（delay）２５−０，…，２５−ｎを備えている。
【００２２】
上記論理回路（インターフェイスロジック回路）１３には、外部から種々のコマンド（Command Signals）が入力される。この論理回路１３から出力されるセンス動作を指示する信号ＳＥＮＳＥは、クロック発生回路１４及びＤＣ制御回路１５に供給される。また、この論理回路１３から出力されるベリファイ動作を指示する信号ＶＥＲＩＦＹは、マルチプレクサ１８，１９に供給される。上記クロック発生回路１４で生成されたクロック信号ＣＬＫは、ＤＣ制御回路１５、センスアンプ制御回路１６及びカウンタ１７にそれぞれ供給される。
【００２３】
上記ＤＣ制御回路１５から出力される信号ＤＣＥＮは、上記制御ブロック１２−０中のフリップフロップ２２−０のデータ入力端Ｄに供給され、クロック信号ＤＣＣＬＫは、各制御ブロック１２−０，…，１２−ｎ中のフリップフロップ２２−０，…，２２−ｎのクロック入力端ＣＫにそれぞれ供給される。上記フリップフロップ２２−０の出力端Ｑから出力される信号ＤＣ［０］は、次段のフリップフロップ２２−１のデータ入力端Ｄに供給される。同様に、上記フリップフロップ２２−１〜２２−（ｎ−１）の出力端Ｑから出力される信号ＤＣ［１］〜ＤＣ［ｎ−１］は、順次次段のフリップフロップ２２−２〜２２−ｎのデータ入力端Ｄに供給される。そして、最終段のフリップフロップ２２−ｎの出力信号ＤＣＤＯＮＥは、ＤＣ制御回路１５に供給される。
【００２４】
上記カウンタ１７は、上記ＤＣ制御回路１５から出力される信号ＳＤＴＧＯをイネーブル端子ＥＮに受けて動作が制御され、このカウンタ１７の出力信号ＳＡＧＯがセンスアンプ制御回路１６に供給される。
【００２５】
上記センスアンプ制御回路１６から出力される信号ＳＡＥＮは、上記制御ブロック１２−０中のフリップフロップ２３−０のデータ入力端Ｄに供給され、クロック信号ＳＡＣＬＫは、各制御ブロック１２−０，…，１２−ｎ中のフリップフロップ２３−０，…，２３−ｎのクロック入力端ＣＫにそれぞれ供給される。上記フリップフロップ２３−０の出力端Ｑから出力される信号は、次段のフリップフロップ２３−１のデータ入力端Ｄに供給される。同様に、上記フリップフロップ２３−１〜２３−（ｎ−１）の出力端Ｑから出力される信号は、順次次段のフリップフロップ２３−２〜２３−ｎのデータ入力端Ｄに供給される。そして、最終段のフリップフロップ２３−ｎの出力信号ＳＡＤＯＮＥは、上記論理回路１３に供給される。
【００２６】
上記マルチプレクサ１８は、上記論理回路１３から出力される信号ＶＥＲＩＦＹに応答して信号ＴＳＤＴＮ［３−０］またはＴＳＤＴＶ［３−０］を選択するものであり、一方の信号ＤＳＤＴ［３−０］がカウンタ１７の初期設定端子ＩＮＩに供給される。上記マルチプレクサ１９は、上記信号ＶＥＲＩＦＹに応答して信号ＴＶＲＥＦＮ［３−０］またはＴＶＲＥＦＶ［３−０］を選択するもので、一方の信号ＤＶＲＥＦ［３−０］が上記各制御ブロック１２−０〜１２−ｎ中の基準電圧発生回路２４−０〜２４−ｎにそれぞれ供給される。
【００２７】
上記各制御ブロック１２−０，…，１２−ｎ中のフリップフロップ２２−０，…，２２−ｎのデータ出力端Ｄから出力される信号ＤＣ［０］，…，ＤＣ［ｎ］はそれぞれ対応する段のメモリブロック１１−０，…，１１−ｎに、電気ヒューズ２１−０，…，２１−ｎのリセット信号ＤＣｐとして供給される。また、フリップフロップ２３−０，…，２３−ｎのデータ出力端Ｄから出力される信号ＳＡＥ［０］，…，ＳＡＥ［ｎ］はそれぞれ遅延回路２５−０，…，２５−ｎを介して対応する段のメモリブロック１１−０，…，１１−ｎに、センスアンプ２０−０，…，２０−ｎのイネーブル信号ＳＡＥｎとして供給される。また、これらフリップフロップ２３−０，…，２３−ｎのデータ出力端Ｄから出力される信号は、それぞれ対応する基準電圧発生回路２４−０，…，２４−ｎに動作制御信号ＶＲＥＦＧＯ［０］，…，ＶＲＥＦＧＯ［ｎ］として供給される。そして、上記各基準電圧発生回路２４−０，…，２４−ｎから出力される基準電圧ＶＲＥＦがそれぞれ対応する段のメモリブロック１１−０，…，１１−ｎ中のセンスアンプ２０−０，…，２０−ｎに供給されるように構成されている。
【００２８】
図２は、上記図１に示した回路におけるメモリブロック１１−ｉ（ｉ＝１〜ｎ）の詳細な構成例を示すブロック図である。この図２は、図１では省略していた、センスしたデータを外部に読み出す為の回路と、電気ヒューズにデータをプログラムする為の回路の構成例を明示したものである。破線で囲んだ部分がそれぞれ１ビット分であり、ここではｍ＋１個縦続接続された例を示している。各々の１ビット分の回路には、電気ヒューズにプログラムした情報と電気ヒューズから読み出した情報とを比較し、一致、不一致の比較結果を出力する比較部（比較回路）と、電気ヒューズに不可逆的な特性の変化が無いか、もしくは特性の変化が不十分な不良ビットを個別に特定する不良検知部（不良検知回路）、センスアンプのデータを外部に転送、あるいはプログラムデータを外部から転送、格納する為のフリップフロップ、プログラムをコントロールするためのフリップフロップ並びにロジック回路が設けられている。このメモリブロック１１−ｉは、上記論理回路１３に入力されるコマンドにより制御される。
【００２９】
この図２に示す回路（メモリブロック）を複数段積み重ね、ｋ段目の出力端子ＳＯ，ＰＯをｋ＋１段目の入力端子ＳＩ，ＰＩにそれぞれ接続することによって図１に示したメモリセルアレイ１１が構成される。ここで、初段の入力端子ＳＩ，ＰＩに供給される信号、及び前段の出力端子ＳＯ，ＰＯから供給される以外の信号は、図１の論理回路１３から供給され、複数段が共通に制御される。
【００３０】
メモリブロック１１−ｉにおける初段の１ビット分のプログラム回路は、電気ヒューズ３１−０、ＭＯＳトランジスタ３２−０，３３−０、センスアンプ（Ｓ／Ａ）３４−０、ナンドゲート３５−０，３６−０，３７−０，３８−０，３９−０、フリップフロップ４０−０，４１−０及びアンドゲート４２−０，４３−０を備えている。
【００３１】
上記電気ヒューズ３１−０の一方の電極には電圧ＶＢＰが印加され、他方の電極はＭＯＳトランジスタ３２−０の電流通路の一端に接続される。上記ＭＯＳトランジスタ３２−０の電流通路の他端はセンスアンプ３４−０の入力端に接続されるとともにＭＯＳトランジスタ３３−０の電流通路の一端に接続され、このＭＯＳトランジスタ３２−０のゲートには電圧ＶＴＢが印加される。上記ＭＯＳトランジスタ３３−０の電流通路の他端は接地点ＧＮＤに接続され、ゲートはアンドゲート４３−０の出力端に接続されてプログラム信号ＰＲＧ［０］が供給されるようになっている。
【００３２】
上記センスアンプ３４−０の出力信号ＳＡｔ［０］はナンドゲート３５−０の一方の入力端に供給され、その反転信号ＳＡｃ［０］はナンドゲート３６−０の第１の入力端に供給される。上記ナンドゲート３５−０の他方の入力端には、信号ＳＡＬＤが供給される。上記ナンドゲート３６−０の第２の入力端には信号ＶＥＲＩＦＹが供給され、第３の入力端にはフリップフロップ４０−０の出力信号が供給される。上記ナンドゲート３７−０の一方の入力端は入力端子ＳＩに接続され、他方の入力端にはシフト信号ＳＨＩＦＴが供給される。
【００３３】
上記各ナンドゲート３５−０，３６−０，３７−０の出力信号はそれぞれナンドゲート３８−０に供給され、このナンドゲート３８−０の出力信号がフリップフロップ４０−０のデータ入力端Ｄに供給される。このフリップフロップ４０−０のクロック入力端ＣＫにはクロック信号ＦＤＣＬＫが供給され、出力端Ｑから当該ビットの出力信号ＳＯ［０］（次段の入力信号ＳＩ［１］に対応する）を次段のナンドゲート３７−１に供給するとともに、この信号をナンドゲート３９−０の一方の入力端に供給する。
【００３４】
フリップフロップ４１−０のデータ入力端Ｄには入力端子ＰＩが接続され、クロック入力端ＣＫには信号ＦＰＣＬＫが供給される。このフリップフロップ４１−０のデータ出力端Ｑから出力される信号ＰＭ［０］は、アンドゲート４３−０の第１の入力端に供給されるとともに、その反転信号がナンドゲート３９−０の他方の入力端に供給される。上記アンドゲート４３−０の第２の入力端には信号ＦＰＣＬＫが供給され、第３の入力端には次段のフリップフロップ４１−１の出力信号ＰＭ［１］が供給される。
【００３５】
上記ナンドゲート３９−０の出力信号は、アンドゲート４２−０の一方の入力端に供給される。このアンドゲート４２−０の他方の入力端には上記入力端子ＰＩが接続され、その出力信号が当該ビットの出力信号ＰＩ［１］として次段のフリップフロップ４１−１のデータ入力端Ｄ及びアンドゲート４２−１の一方の入力端に供給される。
【００３６】
二段目の１ビット分のプログラム回路は、初段と同様に電気ヒューズ３１−１、ＭＯＳトランジスタ３２−１，３３−１、センスアンプ（Ｓ／Ａ）３４−１、ナンドゲート３５−１，３６−１，３７−１，３８−１，３９−１、フリップフロップ４０−１，４１−１及びアンドゲート４２−１，４３−１を備え、初段と同様な回路構成になっている。
【００３７】
ｍ段目（最終段）の１ビット分のプログラム回路も、電気ヒューズ３１−ｍ、ＭＯＳトランジスタ３２−ｍ，３３−ｍ、センスアンプ（Ｓ／Ａ）３４−ｍ、ナンドゲート３５−ｍ，３６−ｍ，３７−ｍ，３８−ｍ，３９−ｍ、フリップフロップ４０−ｍ，４１−ｍ及びアンドゲート４２−ｍ，４３−ｍを備え、同様な回路構成になっている。
【００３８】
上記最終段のプログラム回路の出力側には、フリップフロップ４５が設けられている。このフリップフロップ４５のデータ入力端Ｄにはアンドゲート４２−ｍの出力信号が供給され、クロック入力端ＣＫには信号ＦＰＣＬＫが供給され、データ出力端Ｑから出力される信号ＰＭ［ｍ＋１］が反転されてアンドゲート４３−ｍの第３の入力端に供給される。
【００３９】
そして、上記アンドゲート４２−ｍの出力端に接続された出力端子ＰＯと上記フリップフロップ４０−０の出力端Ｑに接続された出力端子ＳＯから外部に信号を出力する。
【００４０】
ここでは、クロック信号ＦＤＣＬＫで動作するシリアル接続されたフリップフロップ群４０−０，…，４０−ｍをヒューズデータレジスタ、クロック信号ＦＰＣＬＫで動作するシリアル接続されたフリップフロップ群４１−０，…，４１−ｍをプログラムコントロールレジスタと呼ぶ。
【００４１】
図３は、上記図１及び図２に示したＯＴＰメモリセル２１とセンスアンプ３４の具体的な構成例を示す回路図である。ここでは、Ｐチャネル型ＭＯＳトランジスタＭＰ０でゲート酸化膜破壊型の電気ヒューズ３１−０〜３１−ｍをそれぞれ形成している。メモリセル２１は、このＭＯＳトランジスタＭＰ０とＮチャネル型ＭＯＳトランジスタＭＮ０，ＭＮ１（図２のＭＯＳトランジスタ３２−０〜３２−ｍと３３−０〜３３−ｍに対応する）で構成されている。
【００４２】
上記ＭＯＳトランジスタＭＰ０のソース、ドレイン及びバックゲートには電圧ＶＢＰが印加され、ゲートはＭＯＳトランジスタＮＭ０のドレイン（ノードＮ１）に接続される。上記ＭＯＳトランジスタＮＭ０のゲートには電圧ＶＢＴが印加され、ソースはＭＯＳトランジスタＮＭ１のドレイン（ノードＮ０）に接続される。このＭＯＳトランジスタＮＭ１のゲートには信号ＰＲＧｐが供給され、ソースは接地点ＧＮＤに接続される。上記ＭＯＳトランジスタＭＮ０は、ゲート電圧ＶＢＴを適当なレベルに制御することによって、ノードＮ０の電圧を“ＶＢＴ−Ｖｔｈ（ＭＯＳトランジスタＭＮ０のしきい値電圧）”までに制限し、ノードＮ０に接続されるトランジスタに高電圧（プログラム時の電圧ＶＢＰ）が掛かるのを防ぐ役割をしている。
【００４３】
センスアンプ３４は、Ｐチャネル型のＭＯＳトランジスタＭＰ１〜ＭＰ５とＮチャネル型のＭＯＳトランジスタＭＮ２〜ＭＮ８で構成された差動型であり、基準電圧ＶＲＥＦを参照電圧として用い、メモリセル２１のノードＮ０の電圧と基準電圧ＶＲＥＦとの電圧とを比較及び増幅して差動増幅信号ＳＡｃ，ＳＡｔを出力する。ＭＯＳトランジスタＭＮ２のドレインはノードＮ０に接続され、ソースは接地点ＧＮＤに接続され、ゲートには信号ＤＣｐが供給される。ＭＯＳトランジスタＭＰ１のソースは電源ＶＤＤに接続され、ゲートには信号ＳＡＥｎが供給される。このＭＯＳトランジスタＭＰ１のドレインには、ＭＯＳトランジスタＭＰ２，ＭＰ３のソースが接続される。上記ＭＯＳトランジスタＭＰ２のゲートは上記ノードＮ０に接続され、上記ＭＯＳトランジスタＭＰ３のゲートには基準電圧ＶＲＥＦが印加される。上記ＭＯＳトランジスタＭＰ２，ＭＰ３のドレインにはそれぞれ、ＭＯＳトランジスタＭＰ４，ＭＰ５のソースが接続される。これらＭＯＳトランジスタＭＰ４，ＭＰ５のドレインと接地点ＧＮＤ間にはそれぞれ、ＭＯＳトランジスタＭＮ３，ＭＮ４のドレイン，ソース間が接続される。上記ＭＯＳトランジスタＭＰ４，ＭＮ３のゲートは上記ＭＯＳトランジスタＭＰ５，ＭＮ４のドレイン共通接続点に接続され、このドレイン共通接続点から出力信号ＳＡｔが出力される。上記ＭＯＳトランジスタＭＰ５，ＭＮ４のゲートは上記ＭＯＳトランジスタＭＰ４，ＭＮ３のドレイン共通接続点に接続され、このドレイン共通接続点から出力信号ＳＡｃが出力される。
【００４４】
更に、ＭＯＳトランジスタＭＮ５のドレインはＭＯＳトランジスタＭＰ２とＭＰ４との接続点に接続され、ソースは接地点ＧＮＤに接続される。ＭＯＳトランジスタＭＮ６のドレインはＭＯＳトランジスタＭＮ３のゲートに接続され、ソースは接地点ＧＮＤに接続される。ＭＯＳトランジスタＭＮ７のドレインはＭＯＳトランジスタＭＮ４のゲートに接続され、ソースは接地点ＧＮＤに接続される。ＭＯＳトランジスタＭＮ８のドレインはＭＯＳトランジスタＭＰ３とＭＰ５との接続点に接続され、ソースは接地点ＧＮＤに接続される。これらＭＯＳトランジスタＭＮ５〜ＭＮ８のゲートには、信号ＳＡＥｎが供給されて動作が制御される。
【００４５】
なお、上記信号ＰＲＧｐの制御の為の回路や、出力信号ＳＡｔ，ＳＡｃの読み出しの為の回路が存在するが、ここでは省略している。
【００４６】
また、上記信号ＰＲＧｐ，ＤＣｐは、説明が無い場合はデフォルトでＧＮＤレベルに、信号ＳＡＥｎは説明が無い場合はデフォルトで電源電圧ＶＤＤレベルにあるとする。
【００４７】
更に、ここで使用する製造プロセスは、標準のＣＭＯＳプロセスを前提にしているが、２種類以上の厚さのゲート酸化膜を持つＭＯＳトランジスタをサポートしており、電気ヒューズであるＭＯＳトランジスタＭＰ０は薄いゲート酸化膜を持ち、それ以外のＭＯＳトランジスタは厚いゲート酸化膜を持っている。
【００４８】
上記のような構成において、電気ヒューズＭＰ０をプログラム、すなわちＭＯＳトランジスタＭＰ０のゲート酸化膜を破壊（ブレークダウン）するには、電圧ＶＢＰを十分に高いレベルに上げ、信号ＰＲＧｐを電源電圧ＶＤＤのレベルに上げることにより、ＭＯＳトランジスタＭＮ１をオン状態にする。これによって、ノードＮ０，Ｎ１はＧＮＤレベルに引き下げられ、ＭＯＳトランジスタＭＰ０のゲート酸化膜には高い電圧ＶＢＰが掛かり、ブレークダウンが発生して導通する。この導通状態は、ブレークダウン直後に狭いブレークダウンスポットに電流が集中して流れ込むことにより発生するジュール熱で比較的低抵抗な伝導性スポットが不可逆的に形成されることによるものと考えられている。
【００４９】
上記電気ヒューズＭＰ０のデータを読み出すには、電圧ＶＢＰを電源電圧ＶＤＤのレベルにし、ノードＮ０の電圧レベルのしきい値落ちを防ぐ為、電圧ＶＢＴをＶＤＤレベルよりしきい電圧以上高いレベルに上げる。そして信号ＤＣｐをＶＤＤレベルに上げてＭＯＳトランジスタＭＮ２をオンさせ、ノードＮ０，Ｎ１をＧＮＤレベルに引き落す。一定時間の後、信号ＤＣｐをＧＮＤレベルに落し、ＭＯＳトランジスタＭＮ２をオフ状態に戻す。電気ヒューズＭＰ０がプログラムされている場合、その抵抗値は低くなっているのでノードＮ０は充電されて時間とともに電位が上昇して行く。これに対し、電気ヒューズＭＰ０がプログラムされていない場合は、リーク電流のみでノードＮ０が充電されるので、ほぼＧＮＤレベルを保つ。適当なＳＤＴの後、基準電圧ＶＲＥＦをＧＮＤレベルとＶＤＤレベルとの間の適当な中間電位にして、信号ＳＡＥｎをＶＤＤレベルからＧＮＤレベルに下げると、センスアンプ３４が動作し、検知結果を増幅して保持する。その結果、ノードＮ０のレベルが基準電圧ＶＲＥＦより低ければ、出力信号ＳＡｔとしてＧＮＤレベルを出力し、基準電圧ＶＲＥＦより高ければＶＤＤレベルを出力する。
【００５０】
図４は、上記図１に示した回路における基準電圧発生回路２４−０，…，２４−ｎの具体的な構成例を示す回路図である。この基準電圧発生回路２４は、ＭＯＳ容量の電荷共有により、入力されたデジタル信号ＤＶＲＥＦ［３−０］を、対応するアナログ電圧ＶＲＥＦに変換する。この例では、デジタル信号ＤＶＲＥＦの各ビットに対応するＭＯＳ容量の比率を１：２：４：８のように２の冪乗で重みを付け、４ビットのデジタル値で１６レベルの基準電圧ＶＲＥＦを表現している。
【００５１】
すなわち、この基準電圧発生回路２４は、Ｐチャネル型ＭＯＳキャパシタ５１、インバータ５２、アンドゲート５３〜５６、Ｐチャネル型ＭＯＳトランジスタＭＰ６〜ＭＰ９、Ｎチャネル型ＭＯＳトランジスタＭＮ９〜ＭＮ１３及びＭＯＳキャパシタＣ１〜Ｃ４を備えている。
【００５２】
ＭＯＳキャパシタ５１の一方の電極は電源ＶＤＤに接続され、他方の電極には基準電圧ＶＲＥＦを出力する出力端子が接続される。
【００５３】
上記ＭＯＳトランジスタＭＮ９〜ＭＮ１３のドレインにはそれぞれ、上記基準電圧ＶＲＥＦを出力する出力端子が接続される。ＭＯＳトランジスタＭＮ９のソースは接地点ＧＮＤに接続され、ゲートはインバータ５２の出力端に接続される。このインバータ５２の入力端には、信号ＶＲＥＦＧＯが供給される。上記ＭＯＳトランジスタＭＮ１０〜ＭＮ１３のドレインにはそれぞれ、ＭＯＳキャパシタＣ１〜Ｃ４の一方の電極が接続され、ゲートにはアンドゲート５３〜５６の出力端が接続される。これらＭＯＳキャパシタＣ１〜Ｃ４の他方の電極は、接地点ＧＮＤに接続されている。ＭＯＳトランジスタＭＰ６〜ＭＰ９のソースは電源ＶＤＤに接続され、ドレインは上記ＭＯＳキャパシタＣ１〜Ｃ４の一方の電極にそれぞれ接続される。上記アンドゲート５３〜５６の一方の入力端には信号ＶＲＥＦＧＯが供給され、他方の入力端にはそれぞれデジタル信号ＤＶＲＥＦ［０］〜ＤＶＲＥＦ［３］が供給される。
【００５４】
次に、上記のような構成において、図５乃至図８のタイミングチャートにより動作を説明する。
【００５５】
図５は、上記図１に示した回路において、メモリブロック１１−０，…，１１−ｎが４段（ｎ＝４）積み重ねられている場合の、通常のセンス動作（ＶＥＲＩＦＹ＝Ｌ）を示すタイミングチャートである。
【００５６】
外部からセンスコマンドが入力されると、論理回路（インターフェイスロジック回路）１３により内部信号が随時発行される。まず、信号ＳＥＮＳＥが“Ｈ”レベルとなり、センス動作が開始されると、クロック発生回路１４が動き出す。また、上記信号ＳＥＮＳＥの“Ｈ”レベルによりＤＣ制御回路１５が動作し、上記クロック発生回路１４から出力されるクロック信号ＣＬＫに基づいて信号ＤＣＣＬＫが生成され、１サイクルにつきメモリブロック１段づつ電気ヒューズＭＰ０のノードＮ１のリセットを行う。全ての段のリセットが終了（ＤＣＤＯＮＥ＝Ｈ）すると、ＤＣ制御回路１５は信号ＤＣＣＬＫの出力を停止し、信号ＳＤＴＧＯが“Ｈ”レベルとなり、カウンタ１７がイネーブル状態となってクロック信号ＣＬＫの計数動作を開始する。このカウンタ１７は、マルチプレクサ１８から初期設定端子ＩＮＩに与えられた初期値をクロック信号ＣＬＫ毎にデクリメントし、計数値が０になると“Ｈ”レベルの信号ＳＡＧＯを出力する。
【００５７】
通常動作時は、ＶＥＲＩＦＹ＝０（“Ｌ”レベル）なので、マルチプレクサ１８によってＴＳＤＴＮ［３−０］の値が選択され、それに応じたＳＤＴとなる。センスアンプ制御回路１６は、上記信号ＳＡＧＯの“Ｈ”レベルを受けてセンスアンプイネーブル信号ＳＡＥＮを“Ｈ”レベルにするとともに、上記クロック信号ＣＬＫに基づいて信号ＳＡＣＬＫを発生する。信号ＳＡＣＬＫの１サイクルにつきメモリブロック１段づつの基準電圧ＶＲＥＦの発生とセンスアンプの活性化が行われる。
【００５８】
各制御ブロック１２−０，…，１２−ｎでは、フリップフロップ２３−０，…，２３−ｎから出力される信号ＶＲＥＦＧＯが“Ｈ”レベルとなると、基準電圧発生回路２４−０，…，２４−ｎによって基準電圧ＶＲＥＦが発生される。通常動作時はＶＥＲＩＦＹ＝０なので、マルチプレクサ１９によって信号ＴＶＲＥＦＮ［３−０］が選択され、各段の基準電圧発生回路２４−０，…，２４−ｎから、信号ＴＶＲＥＦＮ［３−０］の設定値に応じた基準電圧ＶＲＥＦが発生される。電荷共有により基準電圧ＶＲＥＦのレベルが十分上るまでを待つ為の遅延後、信号ＳＡＥ［ｎ］が“Ｈ”レベルから“Ｌ”レベルになり、電気ヒューズＭＰ０のノードＮ１の電圧値をセンスしてラッチする。
【００５９】
ベリファイ時は、ＶＥＲＩＦＹ＝Ｈとなるだけで、他の信号のシーケンスは全く変わらない。但し、カウンタ１７の初期値は信号ＴＳＤＴＶ［３−０］となり、基準電圧発生回路２４−０，…，２４−ｎは信号ＤＶＲＥＦＶ［３−０］で決るレベルの基準電圧ＶＲＥＦを発生する。従って、ＴＳＤＴＮ＞ＴＳＤＴＶ、ＴＶＲＥＦＮ＜ＴＶＲＥＦＶとなるように設定しておけば、ベリファイ時のＳＤＴと基準電圧ＶＲＥＦを変化させて“１”データのセンスマージンを厳しくすることができる。
【００６０】
図６は、上記図２に示したセンスアンプ３４−０〜３４−ｍにラッチされた電気ヒューズ３１−０〜３１−ｍの記憶データを外部に読み出す時の各信号のタイミングチャートである。まず、信号ＳＡＬＤ＝Ｈ、信号ＳＨＩＦＴ＝Ｌ、信号ＶＥＲＩＦＹ＝Ｌとしてクロック信号ＦＤＣＬＫを入力すると、ヒューズデータレジスタ（フリップフロップ４０−０，…，４０−ｍ）にセンスアンプ３４−０，…，３４−ｍの出力がロードされる。そして、信号ＳＨＩＦＴ＝Ｈ、信号ＳＡＬＤ＝Ｌ、信号ＶＥＲＩＦＹ＝Ｌとしてクロック信号ＦＤＣＬＫを入力すると出力端子ＳＯからシリアルにデータを読み出すことができる。
【００６１】
電気ヒューズ３１−０〜３１−ｍにプログラムする為には、図７のタイミングチャートに示すように、ＳＨＩＦＴ＝Ｈ、ＳＡＬＤ＝Ｌ，ＶＥＲＩＦＹ＝Ｌとしてクロック信号ＦＤＣＬＫにより入力端子ＳＩからプログラムすべきデータをヒューズデータレジスタ（フリップフロップ４０−０，…，４０−ｍ）にシリアルに入力する。続いて、図８のタイミングチャートに示すような手順にしたがってプログラム動作を行う。
【００６２】
ここでは、ビット１のヒューズデータレジスタ４０−１に“１”がセットされ、それ以外の全てのビットは“０”がセットされており、ＳＯ［０］＝０，ＳＯ［１］＝１，ＳＯ［２〜ｍ］＝０となっているものとする。
【００６３】
入力端子ＰＩが“Ｌ”レベルの時、全てのアンドゲート４２−０〜４２−ｍの出力信号ＰＩ［１］，ＰＩ［２］，…，ＰＩ［ｍ］が“Ｌ”レベルとなっているので、入力端子ＰＩを“Ｌ”レベルに設定したままクロック信号ＦＰＣＬＫを１サイクル入れることにより、プログラムコンロールレジスタ（フリップフロップ４１−０〜４１−ｍ）が初期化され、フリップフロップ４１−０〜４１−ｍの出力信号ＰＭ［０］，…，ＰＭ［ｍ＋１］が全て“０”となる。電圧ＶＢＴのレベルを上げ、電圧ＶＢＰをプログラム用の高電圧に昇圧した後、入力端子ＰＩを“Ｈ”レベルにして、クロック信号ＦＰＣＬＫを入力することにより、ヒューズデータレジスタに“１”がセットされ、ＳＯ［ｋ］＝１となっているビットに対してのみ、ＰＭ［ｋ］＝１かつＰＭ［ｋ＋１］＝０の状態が成立する。その時、信号ＦＰＣＬＫが“Ｈ”レベルの期間だけプログラム信号ＰＲＧ［ｋ］が“Ｈ”レベルとなり、プログラムが実行される。
【００６４】
なお、図８では、１ビットのみのプログラム動作について示すが、複数の“１”データをプログラムする場合も、ヒューズデータレジスタに“１”がセットされたビットのみがクロック毎に１ビットづつプログラムされる。最終段のビットについても、１ビット余分なプログラムコントロールレジスタ（フリップフロップ４５）が存在することにより、他のビットと同様にプログラムできる。
【００６５】
最後の“１”データのプログラム中に出力端子ＰＯが“Ｈ”レベルとなるので、プログラムの終りを外部で検出でき、トータルのプログラム時間を最小にできる。もし、ヒューズデータレジスタの全ビットが“０”ならば、入力端子ＰＩを“Ｈ”レベルにすると、クロック信号ＦＰＣＬＫを入力することなく出力端子ＰＯが“Ｈ”レベルとなる。
【００６６】
電圧ＶＢＰをセンス時の電位に設定し、プログラムしたデータをセンスする。センス時にＶＥＲＩＦＹ＝Ｈとしておけば、前述のようにマージナルなプログラム不良ビットは“０”としてセンスされる。ここでは、ビット１がプログラム不良となりＳＡｔ［１］＝０（ＳＡｃ［１］＝１）となったとする。そして、ＶＥＲＩＦＹ＝Ｈとしたまま、クロック信号ＦＤＣＬＫを入力するとＳＩ［１］（ＳＯ［０］）＝１，ＳＡｃ［１］＝１であるので、対応するヒューズデータレジスタには“１”がセットされることになる。“０”が記憶されているビットｋはＳＩ［ｋ］（ＳＯ［ｋ−１］）＝０，ＳＡｃ［１］＝１となり、ヒューズデータレジスタには“０”がセットされる。また不良してない“１”が記憶されたビットｋは、ＳＩ［ｋ］＝１，ＳＡｃ［ｋ］＝０となり、やはりＳＩ［ｋ］＝１，ＳＡｃ［ｋ］＝０となり、対応するヒューズデータレジスタには“０”がセットされる。すなわち、センスアンプとヒューズデータレジスタの値の演算結果をロードすることにより、ヒューズデータレジスタの“１”データをプログラムしようとして失敗したビットのみに“１”が再びセットされることになる。
【００６７】
これによって、１ビットでも不良があれば入力端子ＰＩを“Ｈ”レベルにしても、出力端子ＰＯは“Ｌ”レベルを保持し、不良が無ければ入力端子ＰＩを“Ｈ”レベルにすると出力端子ＰＯがクロック信号ＦＰＣＬＫを入力することなく“Ｈ”レベルとなるので、出力端子ＰＯの１ビットだけ見れば、プログラムのパスフェイルの判定をすることができる。また、不良があった場合、そのままプログラム動作を実行すれば、プログラム不良のビットのみに再プログラムを実行して救済することが可能となる。このように本実施形態では、電気ヒューズのベリファイ、パスフェイル判定、再プログラムが効率良く実行できる。
【００６８】
従って、上記のような構成によれば、不可逆的に変化させた記憶素子の状態を、通常の読み出し動作時の検知能力よりも検知能力を低くして、変化していない状態と区別して検知する、換言すればプログラムされた状態を区別して検知するマージンを低くして情報を読み出すことにより、プログラム後の状態を十分なマージンをもって検証することが可能となる。
【００６９】
また、内部に良／不良の検出回路と不良ビットの特定を行う回路を設けたことにより、不良ビットの救済を効率良く行うことができる。
【００７０】
従って、本実施形態により、高歩留まり、高信頼性、高い検査効率の半導体ワンタイムプログラマブルメモリを備えた半導体集積回路装置及びそのプログラム方法が実現できる。
【００７１】
なお、以上の実施形態の説明においては、電気ヒューズが、ＭＯＳトランジスタのゲート絶縁膜を破壊して導通させることによりプログラミングを行うGate-Ox電気ヒューズである場合を例に挙げて説明したが、電気ヒューズはGate-Ox電気ヒューズに限られない。例えば、電気ヒューズは、シリサイド層等の導電膜を破壊することによりプログラミングを行う導電膜破壊型であってもよい。
【００７２】
以上、実施形態を用いてこの発明の説明を行ったが、この発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【００７３】
【図１】半導体集積回路装置におけるＯＴＰメモリと、このＯＴＰメモリのプログラム及びセンス動作に関係する周辺回路を抽出して示すブロック図。
【図２】図１に示した回路におけるメモリブロックの詳細な構成例を示すブロック図。
【図３】図１及び図２に示したＯＴＰメモリセルとセンスアンプの具体的な構成例を示す回路図。
【図４】図１に示した回路における基準電圧発生回路の具体的な構成例を示す回路図。
【図５】図１に示した回路において、メモリブロックが４段積み重ねられている場合の、通常のセンス動作を示すタイミングチャート。
【図６】図２に示したセンスアンプにラッチされた電気ヒューズの記憶データを外部に読み出す時の各信号のタイミングチャート。
【図７】図２に示した電気ヒューズにプログラムする時の各信号のタイミングチャート。
【図８】図１乃至図４に示した半導体集積回路装置におけるプログラム動作のタイミングチャート。
【符号の説明】
【００７４】
１１…メモリセルアレイ、１１−０〜１１−ｎ…メモリセルブロック、１２…制御回路、１２−０〜１２−ｎ…制御ブロック、１３…論理回路、１４…クロック発生回路、１５…ＤＣ制御回路、１６…センスアンプ制御回路、１７…カウンタ、１８，１９…マルチプレクサ、２１−０〜２１−ｎ…メモリセル、２２−０〜２２−ｎ，２３−０〜２３−ｎ…フリップフロップ、２４−０〜２４−ｎ…基準電圧発生回路、２５−０〜２５−ｎ…遅延回路、３４−０〜３４−ｍ…センスアンプ。
【図１】
2005302091.tif 000003
【図２】
2005302091.tif 000004
【図３】
2005302091.tif 000005
【図４】
2005302091.tif 000006
【図５】
2005302091.tif 000007
【図６】
2005302091.tif 000008
【図７】
2005302091.tif 000009
【図８】
2005302091.tif 000010