JP3881641B2 - フューズ回路 - Google Patents

フューズ回路 Download PDF

Info

Publication number
JP3881641B2
JP3881641B2 JP2003290861A JP2003290861A JP3881641B2 JP 3881641 B2 JP3881641 B2 JP 3881641B2 JP 2003290861 A JP2003290861 A JP 2003290861A JP 2003290861 A JP2003290861 A JP 2003290861A JP 3881641 B2 JP3881641 B2 JP 3881641B2
Authority
JP
Japan
Prior art keywords
fuse
data
circuit
program
enable bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003290861A
Other languages
English (en)
Other versions
JP2005063535A (ja
Inventor
伸朗 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003290861A priority Critical patent/JP3881641B2/ja
Priority to US10/692,951 priority patent/US6992945B2/en
Priority to CNB2004100794854A priority patent/CN100345294C/zh
Publication of JP2005063535A publication Critical patent/JP2005063535A/ja
Application granted granted Critical
Publication of JP3881641B2 publication Critical patent/JP3881641B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links

Description

本発明は、標準CMOSプロセスで形成できる電気的にプログラム可能なフューズ素子に対するリード/プログラム制御回路に関し、特に、電気的(electrically)-フューズ素子、アンチフューズ素子などから構成されるフューズ回路に使用される。
従来、半導体集積回路内においてデータを不揮発に記憶しようとした場合、その半導体集積回路内に何らかしらのメモリ素子を配置しなければならない。
例えば、記憶するデータのデータ量が非常に多く、かつ、データの書き換えが多数回行われるような場合には、スタックトゲート構造のフラッシュメモリセルによりそのデータを記憶する。ここで、フラッシュメモリセルは、標準CMOSプロセスとは異なる特殊プロセスにより形成される。このため、ロジックLSIなどの標準CMOSプロセスで形成される半導体集積回路内にフラッシュメモリセルを配置する場合には、メモリ容量の大容量化を図るなど、特殊プロセスを用いることによるコストオーバーヘッドを抑える工夫が必要になる。
しかし、例えば、1チップ内に複数の機能を混載させたシステムLSIなどの半導体集積回路においては、データ量の多いデータを不揮発に記憶する、という要求がなされることは、ほとんどない。このような半導体集積回路では、回路動作に関するトリミングデータ、チップID、セキュリティデータ、DRAMやSRAMなどのリダンダンシイデータなどの少ないデータ量のデータを不揮発に記憶するための小容量のメモリ素子が存在していれば足りる。
また、このようなデータは、1回、又は、多くても数回の書き換えが行えれば、それで十分であり、フラッシュメモリセルのような10万回といったデータ書き換え回数を保障する必要は全くない。
従って、システムLSIなどの半導体集積回路においては、特殊プロセスではなく、標準CMOSプロセスで形成することができる不揮発性メモリセルによりこのようなデータを記憶し、コストの低下を図ることが重要となる。
ところで、標準CMOSプロセスで形成できる不揮発性メモリセルとしては、フューズ素子がある(例えば、特許文献1,2参照)。
フューズ素子と言えば、従来、メタル配線やポリシリコン配線をレーザにより切断するレーザ溶断タイプフューズ素子がよく知られていたが、現在では、パッケージング後にもプログラムを可能にする、という要望から、このようなレーザ溶断タイプフューズに代わって、電気的にプログラム可能なフューズ素子( E(electrical)-fuse、Anti-fuse など)を用いることが主流となりつつある。
電気的にプログラム可能なフューズ素子としては、例えば、過大電流による配線の溶断によりプログラムを行うタイプのものや、電圧ストレスによる絶縁体の破壊によりプログラムを行うタイプのものなどがある。前者のフューズ素子では、配線の溶断により導通状態から非導通状態になるが、後者のフューズ素子では、絶縁体の破壊により非導通状態から導通状態になる。
また、前者のフューズ素子と後者のフューズ素子の中間的なものとして、サリサイド層とポリシリコン層とからなる配線をフューズ素子として用いたものがある。このフューズ素子では、過大電流によるサリサイド層の破壊(抵抗値の増大)によりプログラムを行い、サリサイド層の破壊の前後の抵抗比を用いてデータを読み出す。
図18は、従来のフューズ回路(フューズセット1個分)の例を示している。
このフューズ回路は、1個のイネーブルビットフューズ素子及びm個のデータフューズ素子からなるフューズセットFSと、これら(m+1)個のフューズ素子にプログラムされるデータEn,Din1,Din2,・・・Dinmをラッチするプログラムデータラッチ回路PDLと、これら(m+1)個のフューズ素子から読み出されるデータEn,Dout1,Dout2,・・・Doutmをラッチするリードデータ(フューズデータ)ラッチ回路RDLとから構成される。
イネーブルビットデータEn及びプログラムデータDin1,Din2,・・・Dinmは、このフューズ回路が形成されるチップの内部で生成されてもよいし、そのチップの外部から供給されてもよい。また、イネーブルビットデータEn及びフューズデータDout1,Dout2,・・・Doutmは、例えば、パワーオン時に、リードデータラッチ回路RDLにラッチされた後、チップ内の回路に供給される。
イネーブルビットデータEnは、m個のデータフューズ素子に記憶されたデータの有効/無効を判断するために使用される。例えば、イネーブルビットデータEnがプログラムされた状態、例えば、“1”(=“H”)ならば、m個のデータフューズ素子に記憶されたデータは有効となるが、イネーブルビットデータEnがプログラムされていない状態、例えば、“0”(=“L”)ならば、m個のデータフューズ素子に記憶されたデータは、無効となる。
図19は、図18のフューズ回路の一部を具体的に示している。
本例では、フューズ素子FUSEとして、絶縁体の破壊によりプログラムを行うアンチフューズ素子を使用する。
プログラム前においては、フューズセットFS内の全てのフューズ素子FUSEは、非導通状態となっている(初期状態)。ここで、プログラムデータDin1,Din2,・・・Dinmの値に応じて、フューズ素子FUSEに対するプログラミングを実行する。
プログラム時、プログラムの対象となるフューズセットにおけるイネーブルビットデータEnは、“1”となり、プログラムデータラッチ回路PDL(En)にラッチされる。この時、プログラムデータラッチ回路PDL(En)の出力は、“L”、例えば、接地電位になる。選択信号SELが“H”になると、トランジスタN2がオンし、フューズセットFS(En)内のフューズ素子FUSEの両端に高電圧VPPが印加される。
その結果、フューズ素子FUSEにデータ“1”がプログラムされる。即ち、フューズ素子FUSEを構成する絶縁体が破壊され、フューズ素子FUSEは、非導通状態から導通状態に変化する。
また、プログラム時、プログラムデータDin1,Din2,・・・Dinmは、“1”又は“0”になる。例えば、プログラムデータDin1が“1”のときは、イネーブルビットデータEnのときと同様に、フューズ素子FUSEにデータ“1”がプログラムされる。プログラムデータDin1が“0”のときは、フューズセットFS(Din1)内のフューズ素子FUSEの両端に高電圧VPPが印加されない。このため、フューズ素子FUSEを構成する絶縁体が破壊されず、フューズ素子FUSEには、“0”がプログラムされる。
実際に、フューズデータを使用するためには、フューズ素子FUSEに記憶されたアナログデータをデジタルデータに変換しなければならない。そこで、例えば、パワーオン時に、フューズデータを読み出し、これをリードデータ(フューズデータ)ラッチ回路RDLにラッチする。
具体的には、まず、パワーオン時、リセット信号RSTが一時的に“H”になり、ラッチ回路の状態がリセットされる、即ち、出力データEn,Dout1,Dout2,・・・Doutmは、全て、“L”となる。この後、フューズ素子FUSEのデータがリードデータラッチ回路RDLに転送される。
例えば、フューズセットFS(En)内のフューズ素子FUSEが破壊状態(フューズデータ“1”)にあるときは、リードデータラッチ回路RDLには、“1”がラッチされ、その出力データEnは、“H”になる。また、フューズセットFS(En)内のフューズ素子FUSEが非破壊状態(フューズデータ“0”)にあるときは、リードデータラッチ回路RDLには、“0”がラッチされ、その出力データEnは、“L”になる。
そして、電源が入っている間は、リードデータラッチ回路RDLは、常に、フューズデータをラッチしており、このフューズデータは、出力データDout1,Dout2,・・・Doutmとして、データバスを経由して、内部回路やチップの外部に出力される。
特開2002−76126号公報 特開2002−368096号公報
このように、電気的にプログラム可能なフューズ素子によれば、パッケージング後にもフューズプログラムを行える、という利点を有するが、プログラム自体は、配線の溶断、絶縁体又はサリサイド層の破壊など、部材の物理的な変化に基づいており、一度、プログラムを行うと、プログラム前の元の状態に戻すことはできない。
つまり、従来のフューズ回路では、1つのフューズセットに対するプログラミングは、1回のみであり、同一のフューズセットに対してフューズデータの書き換えを行う、ということは、不可能である。
しかし、近年の半導体集積回路においては、少数回ではあるが、フューズデータの書き換えを行いたい、という要望がある。
この要望を満たす一つの案としては、フラッシュメモリセルを搭載する、というものがあるが、上述のように、特殊プロセスが必要となり、コストの増大を招くため、採用することはできない。また、他の案としては、複数のフューズセットを外部信号により選択する機能を設けてフューズデータの書き換えを可能とする、というものも考えられるが、この場合、回路規模の増大や複雑化を招く。
本発明の目的は、標準CMOSプロセスで形成でき、かつ、1つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができるフューズ回路を提案することにある。
本発明の例に関わるフューズ回路は、複数のブロックから構成されるフューズセットを備え、複数のブロックの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットと、複数のフューズ素子に対するプログラムを制御するプログラム制御回路とを有し、複数のフューズ素子のうちの1つは、サブフューズセットの有効/無効を示すイネーブルビットであり、プログラム制御回路は、イネーブルビットの値に基づいて、複数のブロックのなかからプログラムの対象となるブロックを決定する。
本発明の例によれば、標準CMOSプロセスで形成でき、かつ、1つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができるフューズ回路を提供することができる。
以下、図面を参照しながら、本発明の例を実施するための最良の形態について詳細に説明する。
1. 概要
小さな容量のデータを不揮発に記憶するためのメモリを、標準CMOSプロセスにより形成しようとする場合、そのメモリは、フューズ素子(例えば、MOSトランジスタのゲート構造を利用したアンチフューズなど)となる。しかし、フューズ素子に対するデータプログラムは、部材の溶断や破壊などにより物理的に行われるため、フューズ素子自体を元の状態に戻すことはできない。
そこで、本発明の例では、フューズデータの書き換えを行うために、1つのフューズセットを複数のフューズブロックから構成する。各フューズブロック内には、複数のフューズ素子からなるサブフューズセットが配置され、このサブフューズセットにフューズデータがプログラムされる。本発明の例に関わるフューズ回路よれば、1つのフューズセットに対するデータの書き換え回数の最大値は、その1つのフューズセット内のフューズブロックの数に等しくなる。
フューズデータのプログラム時には、プログラム制御回路により、複数のフューズブロックのうちから1つのフューズブロックが選択される。その選択は、各フューズブロック内のイネーブルビットデータの値に基づいて行われる。イネーブルビットデータは、フューズデータをプログラミングするときに、これと同時にプログラミングされるため、複数のフューズブロックを直列接続することにより、データ書き換えに応じて、自動的に、プログラミングの対象となるフューズブロックを選択できる。
フューズデータのリード時には、最も新しいフューズデータがプログラムされているフューズブロックからフューズデータを、リードし、かつ、ラッチ回路にラッチする必要がある。つまり、データ書き換えを行った場合には、古いフューズデータがリードされないように、それを無効としなければならない。そこで、リード制御回路により、複数のフューズブロックのうちから、その最も新しいフューズデータがプログラムされている1つのフューズブロックを選択する。その選択は、各フューズブロック内のイネーブルビットデータの値に基づいて、容易に行うことができる。
このように、本発明の例に関わるフューズ回路では、1つのフューズセットを複数のフューズブロック(複数のサブフューズセット)から構成する。このような場合においても、プログラムデータとしては、小容量で、かつ、書き換え回数が少数回で足りるのものを対象とするため、面積的なペナルティは、それほど大きくならない。逆に、このような構成を採用することで、特殊プロセスを採用することなく、標準CMOSプロセスのみで、半導体集積回路を形成できるため、安価で、適用範囲の広いフューズ回路を提供できる。
また、フューズデータのプログラム/リードに関しては、プログラム/リード制御回路を用いて、特定のフューズブロックに対して自動的に行うため、チップ外部から見た場合には、本発明の例に関わるフューズ回路は、従来の書き換えを行うことができないフューズ回路に対して何ら変わるところはない。
2. フューズ回路
図1は、フューズ回路の概要を示している。
フューズ回路1は、内部回路の動作に関するトリミングデータなど、小容量のデータを不揮発に記憶するため、LSIチップ上の任意の領域に配置される。
イネーブルビットデータEn,プログラムデータDin1,Din2,・・・Dinmは、内部回路又はLSIチップの外部から供給され、プログラムデータラッチ回路PDLに一時的にラッチされる。プログラムデータラッチ回路PDLは、例えば、1個又は複数個、本例では、k個のフューズセットに対して1つのみ設けられる。
フューズ回路1内には、k個のフューズセットが配置される。本例では、1個のフューズセットと1個のリードデータラッチ回路とは、ペアとなっており、1つのフューズセットからフューズデータDout1,Dout2,・・・Doutmが出力される。
データのプログラム時には、例えば、選択信号SEL1,SEL2,・・・SELkにより1つのフューズセットが選択され、この選択されたフューズセットに対して、データのプログラミングが実行される。
ここで、従来のフューズ回路では、1つのフューズセットに対しては、一度、データをプログラミングしたら、その後、そのデータを書き換える、ということはできない。これに対し、本発明の例に関わるフューズ回路では、1つのフューズセットに対しては、予め決められた所定の回数だけ、データの書き換えを行うことができる。
このようなデータの書き換えは、後述するように、1つのフューズセット内に配置される複数個のサブフューズセットにより実現される。つまり、データ書き換えの度に、複数個のサブフューズセットのうちの1つにプログラムデータをプログラムし、かつ、最新のプログラムデータがプログラムされたサブフューズセットから常にデータが読み出されるようにする。
なお、データ書き換え回数の上限は、1つのフューズセット内に配置されるサブフューズセットの数に等しくなる。
以下、このようなデータ書き換えが可能なフューズ回路の具体例について説明する。
3. 第1実施例
(1) フューズセット
図2は、本発明の第1実施例に関わるフューズ回路の主要部を示している。
同図に示す構成は、図1の1つのフューズセットに対応している。1つのフューズセットは、n(nは、複数)個のフューズブロックBLK1,BLK2,・・・BLKnを有する。また、各フューズブロックBLKi(i=1,2,・・・n)は、(m+1)個のフューズ素子(mは、複数)から構成されるサブフューズセットSFSiと、このサブフューズセットSFSiに対応して設けられる(m+1)個のプログラム制御回路PCNTi及び(m+1)個のリードデータラッチ回路RDLiとを有する。
また、各フューズブロックBLKiは、リード制御回路RCNTiを有している。リード制御回路RCNTiは、イネーブルビットデータを除く、mビットのフューズデータをラッチするm個のリードデータラッチ回路RDLiに対応して、m個だけ設けられる。
プログラムデータラッチ回路PDLは、例えば、n個のフューズブロックBLK1,BLK2,・・・BLKnに対して1つのみ設けられる。プログラムデータラッチ回路PDLは、イネーブルビットデータEn及びプログラムデータDin1,Din2,・・・Dinmを一時的にラッチする。これら入力データEn,Din1,Din2,・・・Dinmは、選択された1つのフューズブロックBLKiに転送される。
ここで、n個のフューズブロックBLK1,BLK2,・・・BLKnは、直列接続される。そして、プログラム制御回路PCNT1,PCNT2,・・・PCNTnは、イネーブルビットデータに基づいて、n個のフューズブロックBLK1,BLK2,・・・BLKnのうちから、プログラミングの対象となる1つのフューズブロックBLKjを選択する。
即ち、i(i=1,2、・・・n)番目のフューズブロックBLKiでは、プログラム制御回路PCNTiは、フューズブロックBLKi内のイネーブルビットデータEniの値と、1つ前の(i−1)番目のフューズブロックBLK(i−1)内のイネーブルビットデータEn(i−1)の値とに基づいて、データプログラムに関し、フューズブロックBLKiの選択/非選択を決定する。
但し、最初(1番目)のフューズブロックBLK1では、1つ前のフューズブロックが存在しない。また、最初にプログラムの対象となるフューズブロックは、フューズブロックBLK1である。そこで、最初のフューズブロックBLK1では、プログラム制御回路PCNT1は、フューズブロックBLK1内のイネーブルビットデータEn1の値と、入力データEn0の値(“H”固定)とに基づいて、フューズブロックBLK1の選択/非選択を決定する。
なお、各フューズブロックBLKi内のイネーブルビットデータEniは、例えば、パワーオンの後、直ちに、リードラッチ回路RDLiにラッチされ、イネーブルビットデータEniとして、各フューズブロックBLKiにフィードバックされる。
また、リード制御回路RCNT1,RCNT2,・・・RCNTnは、イネーブルビットデータに基づいて、n個のフューズブロックBLK1,BLK2,・・・BLKnのうちから、データリードの対象となる1つのフューズブロックBLKjを選択する。
即ち、i(i=1,2、・・・n)番目のフューズブロックBLKiでは、リード制御回路RCNTiは、フューズブロックBLKi内のイネーブルビットデータEniの値と、1つ後の(i+1)番目のフューズブロックBLK(i+1)内のイネーブルビットデータEn(i+1)の値とに基づいて、データリードに関し、フューズブロックBLKiの選択/非選択を決定する。
但し、最後(n番目)のフューズブロックBLKnでは、1つ後のフューズブロックが存在しない。また、フューズブロックBLKnは、最後にプログラムの対象となるフューズブロックである。そこで、最後のフューズブロックBLKnでは、リード制御回路RCNTnは、フューズブロックBLKn内のイネーブルビットデータEnnの値と、入力データEn(n+1)の値(“L”固定)とに基づいて、フューズブロックBLKnの選択/非選択を決定する。
(2) 回路例
図3乃至図5は、図2のフューズセットを構成するブロックBLKiの回路例を示している。
[1] ブロックBLK1
図3は、ブロックBLK1の回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En)は、イネーブルビットデータEnをラッチする。プログラムデータラッチ回路PDL(Din1),・・・PDL(Dinm)は、mビットのプログラムデータDin1,・・・Dinmに対応してm個だけ設けられ、かつ、プログラムデータDin1,・・・Dinmをラッチする。
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)は、全て、同じ回路構成を有している。
インバータI1及びクロックドインバータCI1により、ラッチ回路が構成される。ラッチ回路の出力信号は、ノア回路NR1の一方の入力端子に入力される。ノア回路NR1の他方の入力端子には、プログラム信号PROGの反転信号bPROGが入力される。
プログラム時には、プログラム信号PROGが“H”となり、かつ、その反転信号が“L”となる。このため、プログラム時には、ノア回路NR1は、ラッチ回路にラッチされたデータに応じた出力信号を出力する。
例えば、ラッチ回路にラッチされたデータが“1”、即ち、クロックドインバータCI1の出力信号が“L”のときは、ノア回路NR1の出力信号は、“H”となる。その結果、NチャネルMOSトランジスタN1は、オンになる。また、ラッチ回路にラッチされたデータが“0”、即ち、クロックドインバータCI1の出力信号が“H”のときは、ノア回路NR1の出力信号は、“L”となる。その結果、NチャネルMOSトランジスタN1は、オフになる。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn0(“H”固定)及びイネーブルビットデータEn1の反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、例えば、図1及び図2に示すように、フューズセット1に対するプログラミングを実行するときに、“H”となる。イネーブルビットデータEn1は、サブフューズセットSFS1に対するプログラミング前においては、“L”、即ち、リードデータラッチ回路RDL1(En1)の出力信号は、“L”(アンチフューズの絶縁体が未破壊状態)となっている。
従って、選択信号SEL1が“H”になると、アンド回路AD1の出力信号は、“H”となる。また、プログラムスイッチPSWは、NチャネルMOSトランジスタであるため、アンド回路AD1の出力信号が“H”になると、オンになる。つまり、サブフューズセットSFS1を構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
ここで、プログラム時、例えば、プログラムデータが“1”のときは、NチャネルMOSトランジスタN1,PSWが、共に、オンとなるため、フューズ素子FUSEの両端には、高電圧Vfuseが印加される。その結果、例えば、フューズ素子(アンチフューズ)FUSEを構成する絶縁体が破壊され、データ“1”がプログラミングされる。
また、例えば、プログラムデータが“0”のときは、NチャネルMOSトランジスタPSWは、オンであるが、NチャネルMOSトランジスタN1は、オフとなるため、フューズ素子FUSEの両端には、高電圧Vfuseが印加されない。その結果、例えば、フューズ素子(アンチフューズ)FUSEを構成する絶縁体が破壊されず、データ“0”がプログラミングされる。
3. リードデータラッチ回路
リードデータラッチ回路RDL1(En1),RDL1(Dout1),・・・RDL1(Doutm)は、(m+1)個のフューズ素子FUSEに対応して、(m+1)個だけ設けられている。リードデータラッチ回路RDL1(En1),RDL1(Dout1),・・・RDL1(Doutm)の回路構成は、例えば、図19に示すようになる。
リードデータラッチ回路RDL1(En1),RDL1(Dout1),・・・RDL1(Doutm)の回路例については、既に、図19の説明において詳細に述べたため、ここでは、その説明については、省略する。
重要な点は、例えば、パワーオン時に、リードデータラッチ回路RDL1(En1),RDL1(Dout1),・・・RDL1(Doutm)は、“0”状態、即ち、出力信号として、“L”を出力する状態に初期化されること、その直後、リードデータラッチ回路RDL1(En1),RDL1(Dout1),・・・RDL1(Doutm)の状態は、フューズデータに応じて変化することにある。
4. リード制御回路
リード制御回路RCNT1は、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNT1は、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。つまり、本例では、イネーブルビットEn1がプログラムされるフューズ素子FUSEに対応するリード制御回路は、存在しない。
但し、イネーブルビットEn1がプログラムされるフューズ素子FUSEに対応するリード制御回路を設けても構わない。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEn1及びイネーブルビットデータEn2の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEn1は、サブフューズセットSFS1に対するプログラミング前においては、“L”であり、サブフューズセットSFS1に対するプログラミング後においては、“H”である。イネーブルビットデータEn2は、サブフューズセットSFS2に対するプログラミング前においては、“L”であり、サブフューズセットSFS2に対するプログラミング後においては、“H”である。
つまり、サブフューズセットSFS1にデータがプログラムされ、サブフューズセットSFS2にデータがプログラムされていないときは、サブフューズセットSFS1にプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
また、サブフューズセットSFS1,SFS2のいずれにも、データがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。サブフューズセットSFS1,SFS2の双方にデータがプログラムされているときは、サブフューズセットSFS2にプログラムされているデータが最新のものとなるため、リードスイッチRSWは、オンとなり得ない。
[2] ブロックBLKi(i=2,3,・・・n−1)
図4は、ブロックBLKiの回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)の構成については、既に、ブロックBLK1の項目において説明したため、ここでは、その説明を省略する。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn(i−1)及びイネーブルビットデータEniの反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、既に説明したように、フューズセット1に対するプログラミングを実行するときに、“H”となる。
イネーブルビットデータEn(i−1)は、サブフューズセットSFS(i−1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(i−1)に対するプログラミング後においては、“H”である。また、イネーブルビットデータEniは、サブフューズセットSFSiに対するプログラミング前においては、“L”であり、サブフューズセットSFSiに対するプログラミング後においては、“H”である。
つまり、アンド回路AD1の出力信号は、サブフューズセットSFS(i−1)に対するプログラミング後であって、サブフューズセットSFSiに対するプログラミング前において、“H”となり得る。
アンド回路AD1の出力信号が“H”になると、プログラムスイッチPSWとしてのNチャネルMOSトランジスタは、オンになる。つまり、サブフューズセットSFSiを構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
3. リードデータラッチ回路
リードデータラッチ回路RDLi(Eni),RDLi(Dout1),・・・RDLi(Doutm)は、(m+1)個のフューズ素子FUSEに対応して、(m+1)個だけ設けられている。リードデータラッチ回路RDLi(Eni),RDLi(Dout1),・・・RDLi(Doutm)の回路構成については、既に説明したため、ここでは、その説明については、省略する。
4. リード制御回路
リード制御回路RCNTiは、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNTiは、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEni及びイネーブルビットデータEn(i+1)の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEniは、サブフューズセットSFSiに対するプログラミング前においては、“L”であり、サブフューズセットSFSiに対するプログラミング後においては、“H”である。イネーブルビットデータEn(i+1)は、サブフューズセットSFS(i+1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(i+1)に対するプログラミング後においては、“H”である。
つまり、サブフューズセットSFSiにデータがプログラムされ、サブフューズセットSFS(i+1)にデータがプログラムされていないときは、サブフューズセットSFSiにプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
また、サブフューズセットSFSi,SFS(i+1)のいずれにも、データがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。サブフューズセットSFSi,SFS(i+1)の双方にデータがプログラムされているときは、サブフューズセットSFS(i+1)にプログラムされているデータが最新のものとなるため、リードスイッチRSWは、オンとなり得ない。
[3] ブロックBLKn
図5は、ブロックBLKnの回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)の構成については、既に、ブロックBLK1の項目において説明したため、ここでは、その説明を省略する。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn(n−1)及びイネーブルビットデータEnnの反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、既に説明したように、フューズセット1に対するプログラミングを実行するときに、“H”となる。
イネーブルビットデータEn(n−1)は、サブフューズセットSFS(n−1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(n−1)に対するプログラミング後においては、“H”である。また、イネーブルビットデータEnnは、サブフューズセットSFSnに対するプログラミング前においては、“L”であり、サブフューズセットSFSnに対するプログラミング後においては、“H”である。
つまり、アンド回路AD1の出力信号は、サブフューズセットSFS(n−1)に対するプログラミング後であって、サブフューズセットSFSnに対するプログラミング前において、“H”となり得る。
アンド回路AD1の出力信号が“H”になると、プログラムスイッチPSWとしてのNチャネルMOSトランジスタは、オンになる。つまり、サブフューズセットSFSnを構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
3. リードデータラッチ回路
リードデータラッチ回路RDLn(Enn),RDLn(Dout1),・・・RDLn(Doutm)は、(m+1)個のフューズ素子FUSEに対応して、(m+1)個だけ設けられている。リードデータラッチ回路RDLn(Eni),RDLn(Dout1),・・・RDLn(Doutm)の回路構成については、既に説明したため、ここでは、その説明については、省略する。
4. リード制御回路
リード制御回路RCNTnは、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNTnは、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEnn及びイネーブルビットデータEn(n+1)の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEnnは、サブフューズセットSFSnに対するプログラミング前においては、“L”であり、サブフューズセットSFSnに対するプログラミング後においては、“H”である。イネーブルビットデータEn(n+1)は、常に、“L”に固定されている。
つまり、サブフューズセットSFSnにデータがプログラムされているときは、このサブフューズセットSFSnにプログラムされているデータが最新のものとなるため、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
なお、サブフューズセットSFSnにデータがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。
(3) 動作
次に、図1乃至図5におけるフューズ回路の動作について説明する。
まず、フューズ回路の一般的な動作を説明する。
図6は、フューズ回路の動作の概要を示している。
パワーオンにより、例えば、LSIチップに電源が供給されると、まず、フューズセットの状態が検査される。即ち、フューズセットからフューズデータを読み出すフューズデータリードが実行される。この時、例えば、フューズセット内の一部のフューズ素子に記憶されたイネーブルビットデータも読み出される(ステップST1〜ST2)。
この後、例えば、LSIチップ内の制御回路又はLSIチップ外のCPUなどからフューズプログラムのためのコマンドが供給されると、フューズプログラムが実行される(ステップST3)。
ここで、従来では、フューズプログラムは、1回のみであるか、又は、特殊な制御によりフューズセットを選択し、フューズプログラムを行う必要があるが、本発明の例では、フューズプログラムに関しては、選択動作などの特殊な制御なしに、フューズプログラムのためのコマンドを与えるだけで、自動的に、フューズデータの書き換えを行うことができる。
以下、具体的に、本発明の例に関わるフューズ回路の動作について説明する。
なお、図1乃至図5に示すように、1つのフューズセットは、n(nは、複数)個のブロック、即ち、n個のサブフューズセットから構成され、各々のサブフューズセットは、1ビットのイネーブルビットデータを記憶する1個のフューズ素子と、m(mは、複数)ビットのフューズデータを記憶するm個のフューズ素子とから構成されるものとする。
本発明の例では、フューズデータのリード/プログラム動作の制御及びフューズデータの書き換え動作については、フューズ回路内において、イネーブルビットデータに基づいて自動的に行われる。
[初期状態]
まず、初期状態について説明する。
Figure 0003881641
表1に示されるように、初期状態、即ち、1つのフューズセットに対して、未だ、1回もフューズプログラム動作を行っていない状態では、全てのサブフューズセットSFS1,SFS2,・・・SFSn内のフューズ素子(例えば、アンチフューズ素子)は、非破壊状態にある。
このため、例えば、パワーオンによりLSIチップに電源が供給されると、その1つのフューズセット内のサブフューズセットSFS1,SFS2,・・・SFSnから、それぞれ、イネーブルビットデータEn1,En2,・・・Ennとして、“0”(“L”レベル)が読み出され、これらがリードデータラッチ回路にラッチされる。
ここで、最初のサブフューズセットSFS1を除く、残りの(n−1)個のサブフューズセットSFS2,・・・SFSnでは、図4及び図5に示すアンド回路AD1,AD2の出力信号は、全て、“L”となる。このため、プログラムスイッチPSW及びリードスイッチRSWは、いずれもオフ状態であり、これらサブフューズセットSFS2,・・・SFSnは、フューズプログラム又はフューズデータリードの対象とはならない。
一方、最初(1番目)のサブフューズセットSFS1では、それより前のサブフューズセットが存在しないため、図3に示すアンド回路AD1に対する入力信号の一つとして、イネーブルビット信号En0が入力される。このイネーブルビット信号En0は、“H”に固定されているため、サブフューズセットSFS1では、アンド回路AD1の出力信号が“H”になる。このため、プログラムスイッチPSWは、オン状態であり、サブフューズセットSFS1は、プログラムデータラッチ回路に電気的に接続される。
なお、この段階では、図3に示すアンドAD2の出力信号は、“L”であるため、リードスイッチRSWは、オフ状態となっている。
従って、パワーオン後、例えば、フューズデータをプログラムするためのコマンドがLSIチップに供給され、かつ、イネーブルビットデータEn(“1”)及びプログラムデータ(“0”又は“1”)がLSIチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータEn及びプログラムデータの値に基づいて、サブフューズセットSFS1内のフューズ素子FUSEに対するプログラミングが実行される。
つまり、イネーブルビットデータEnは、“1”(=“H”)であるため、イネーブルビットデータEnを記憶するフューズ素子FUSEの両端には、高電圧Vfuseが印加され、その結果、フューズ素子FUSEは、破壊される。また、プログラムデータに関しては、“0”又は“1”であるため、“0”のときは、フューズ素子FUSEは、未破壊のままとなり、“1”のときは、フューズ素子FUSEは、破壊される。
サブフューズセットSFS1に対するフューズプログラミングが終了すると、サブフューズセットSFS1内のイネーブルビットデータEn1の値は、“0”(=“L”)から“1”(=“H”)に変化する。
従って、サブフューズセットSFS1では、図3に示すアンド回路AD1の出力信号が“H”から“L”に変化し、プログラムスイッチPSWは、オフ状態になる。これとほぼ同時に、サブフューズセットSFS1では、図3に示すアンドAD2の出力信号が“L”から“H”に変化し、リードスイッチRSWは、オン状態になる。
[フューズプログラム(1回目)終了後の初期状態]。
Figure 0003881641
表2に示されるように、フューズプログラム(1回目)終了後の初期状態では、最初のサブフューズセットSFS1内のフューズ素子(イネーブルビットデータ)は、破壊状態にあり、残りのサブフューズセットSFS2,・・・SFSn内のフューズ素子(イネーブルビットデータ)は、非破壊状態にある。
このため、例えば、再度、パワーオンによりLSIチップに電源が供給されると、サブフューズセットSFS1からは、イネーブルビットデータEn1として、“1”(“H”レベル)が読み出され、また、サブフューズセットSFS2,・・・SFSnからは、イネーブルビットデータEn2,・・・Ennとして、“0”(“L”レベル)が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
ここで、最初(1番目)のサブフューズセットSFS1では、イネーブルビットデータEn0,En1が“H”であるため、図3に示すアンド回路AD1の出力信号は、全て、“L”となる。このため、プログラムスイッチPSWは、オフ状態となる。一方、イネーブルビットデータEn1が“H”、イネーブルビットデータEn2が“L”であるため、図3に示すアンドAD2の出力信号は、“H”となる。このため、リードスイッチRSWは、オン状態となる。
従って、最初のサブフューズセットSFS1に関しては、既に、フューズプログラムされているため、フューズプログラムの対象にはならないが、最新のフューズデータを記憶しているため、フューズデータリードの対象となる。
2番目のサブフューズセットSFS2では、イネーブルビットデータEn1が“H”、イネーブルビットデータEn2が“L”であるため、図4に示すアンドAD1の出力信号は、全て、“H”となる。このため、プログラムスイッチPSWは、オン状態となる。一方、イネーブルビットデータEn2、En3が“L”であるため、図4に示すアンドAD2の出力信号は、“L”となる。このため、リードスイッチRSWは、オフ状態となる。
従って、2番目のサブフューズセットSFS2に関しては、フューズプログラムの対象(データ書き換えの対象)になるが、フューズデータリードの対象にはならない。
3番目以降のサブフューズセットSFS3,・・・SFSnでは、イネーブルビットデータEn2,En3,・・・Ennが全て“L”であるため、図4及び図5に示すアンド回路AD1,AD2の出力信号は、全て、“L”となる。このため、プログラムスイッチPSW及びリードスイッチRSWは、いずれもオフ状態であり、これらサブフューズセットSFS3,・・・SFSnは、フューズプログラム又はフューズデータリードの対象とはならない。
従って、パワーオン後、まず、サブフューズセットSFS1のフューズデータが読み出され、フューズセットの状態が確認される。この時、イネーブルビットデータEn0,En1が“H”、イネーブルビットデータEn2,・・・Ennが“L”に確定し、サブフューズセットSFS2がプログラムデータラッチ回路に電気的に接続される。
この後、例えば、フューズデータをプログラムするためのコマンドがLSIチップに供給され、かつ、イネーブルビットデータEn(“1”)及びプログラムデータ(“0”又は“1”)がLSIチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータEn及びプログラムデータの値に基づいて、サブフューズセットSFS2内のフューズ素子FUSEに対するプログラミングが実行される。
つまり、イネーブルビットデータEnは、“1”(=“H”)であるため、イネーブルビットデータEnを記憶するフューズ素子FUSEの両端には、高電圧Vfuseが印加され、その結果、フューズ素子FUSEは、破壊される。また、プログラムデータに関しては、“0”又は“1”であるため、“0”のときは、フューズ素子FUSEは、未破壊のままとなり、“1”のときは、フューズ素子FUSEは、破壊される。
サブフューズセットSFS2に対するフューズプログラミングが終了すると、サブフューズセットSFS2内のイネーブルビットデータEn2の値は、“0”(=“L”)から“1”(=“H”)に変化する。
従って、サブフューズセットSFS2では、図4に示すアンド回路AD1の出力信号が“H”から“L”に変化し、プログラムスイッチPSWは、オフ状態になる。これとほぼ同時に、サブフューズセットSFS2では、図4に示すアンドAD2の出力信号が“L”から“H”に変化し、リードスイッチRSWは、オン状態になる。
[フューズプログラム(2回目)終了後の初期状態]。
Figure 0003881641
表3に示されるように、フューズプログラム(2回目)終了後の初期状態では、サブフューズセットSFS1,SFS2内のフューズ素子(イネーブルビットデータ)は、破壊状態にあり、残りのサブフューズセットSFS3,・・・SFSn内のフューズ素子(イネーブルビットデータ)は、非破壊状態にある。
このため、例えば、再度、パワーオンによりLSIチップに電源が供給されると、サブフューズセットSFS1,SFS2からは、イネーブルビットデータEn1,En2として、“1”(“H”レベル)が読み出され、また、サブフューズセットSFS3,・・・SFSnからは、イネーブルビットデータEn3,・・・Ennとして、“0”(“L”レベル)が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
この場合の動作は、「フューズプログラム(2回目)終了後の初期状態」の欄で説明したのと同じとなるため、詳細な説明は、省略する。ただ、ここでは、サブフューズセットSFS2に最新のプログラムデータが記憶されているため、サブフューズセットSFS2のリードスイッチRSWがオン状態となる。また、データ書き換えにより、新たにプログラムデータをフューズ素子に記憶させるときは、サブフューズセットSFS3がプログラムの対象となる。従って、サブフューズセットSFS3内のプログラムスイッチPSWがオンとなる。
[フューズプログラム(n回目)終了後の初期状態]。
Figure 0003881641
表4に示されるように、フューズプログラム(n回目)終了後の初期状態では、全てのサブフューズセットSFS1,SFS2,・・・SFSn内のフューズ素子(イネーブルビットデータ)は、破壊状態にある。
このため、例えば、パワーオンによりLSIチップに電源が供給されると、サブフューズセットSFS1,SFS2,・・・SFSnからは、イネーブルビットデータEn1,En2,・・・Ennとして、“1”(“H”レベル)が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる。
ここで、サブフューズセットSFSnの次のサブフューズセットは存在しないため、本発明の例に関わるフューズ回路のデータ書き換え回数は、最大でn回となる。また、サブフューズセットSFSnの次のサブフューズセットは存在しないため、図5に示すように、イネーブルビットデータEn(n+1)として、“L”(固定)の反転信号、即ち、“H”を、サブフューズセットSFSn内のアンド回路AD2に与える。従って、サブフューズセットSFSn内のリードスイッチRSWがオン状態となる。
(4) まとめ
このように、本発明の例に関わるフューズ回路では、1つのフューズセットをn(nは、複数)個のサブフューズセットから構成することで、n回のフューズデータの書き換えを可能にする。
また、このような構成にしても、フューズデータのリード/プログラム又は書き換えは、フューズデータをフューズ回路に入力するだけで、特殊な制御なく、自動的かつ容易に行うことができる。
つまり、プログラムに関しては、サブフューズセット内のイネーブルビットデータの値をフューズ回路内でフィードバックさせることにより、どのサブフューズセットにデータを書き込んだらよいかを自動的に決めることができる。また、リードに関しても、サブフューズセット内のイネーブルビットデータの値をフューズ回路内でフィードバックさせることにより、どのサブフューズセットからデータを読み出したらよいかを自動的に決めることができる。
以上をまとめると、本発明の例に関わるフューズ回路では、フューズセットに対するプログラムは、最大でn回行うことができ、かつ、データ書き換えを行う度に、プログラミングの対象は、サブフューズセットSFS1からサブフューズセットSFSnに向かって、1つずつ、順次、ずれていく。
このような動作の制御は、フューズ回路内でのみ行われるため、例えば、このフューズ回路にプログラムデータを与える制御回路から見ると、フューズ回路には、プログラムデータを与えるだけでよく、実質的に、1回のみしかプログラムを行えない従来のフューズセットに対するプログラム手法をそのまま適用できる。
つまり、本発明の例に関わるフューズ回路では、n個のサブフューズセットのうち、どのサブフューズセットに対してプログラミングを実行し、どのフューズセットに対してフューズデータのリードを行うかは、フューズ回路内で自動的に行われるため、データ書き換えのための特殊な制御は、不要である。
なお、本例では、全てのサブフューズセットSFS1,SFS2,・・・SFSnのレイアウトを同じにするため、最初のサブフューズセットSFS1では、“H”に固定されたイネーブルビットデータEn0を使用し、かつ、最後のサブフューズセットSFSnでは、“L”に固定されたイネーブルビットデータEn(n+1)を使用している。
しかし、最初のサブフューズセットSFS1では、イネーブルビットデータEn0をなくし、アンド回路AD1に入力される信号を2つとし、また、最後のサブフューズセットSFSnでは、イネーブルビットデータEn(n+1)をなくし、アンド回路AD2に入力される信号を2つとしてもよい。
4. 第2実施例
第2実施例は、上述の第1実施例と比べると、プログラムに関する回路については同じであるが、フューズデータのリードに関する回路が大きく異なっている。そのポイントは、フューズデータに対するリードデータラッチ回路を、n(nは、複数)個のサブフューズセットで共有化した点にある。
第1実施例では、サブフューズセットごとに、フューズデータに対するリードデータラッチ回路を設けているが、この場合、サブフューズセットの数、即ち、データ書き換え回数の最大値が大きくなればなる程、リードデータラッチ回路の数も増え、フューズ回路のレイアウト面積が大きくなる。
そこで、フューズ回路のレイアウト面積の増大を抑えるため、第2実施例では、リードデータラッチ回路を、n個のサブフューズセットに対して、共通に、1個だけ設ける。そして、どのサブフューズセットをリードデータラッチ回路に電気的に接続するかは、第1実施例と同様に、フューズ回路内のリード制御回路により決定する。
なお、第2実施例においても、共通化できるのは、内部回路で使用するデータに対するリードデータラッチ回路であり、サブフューズセットが有効か否かを示すイネーブルビットデータに対するリードデータラッチ回路は、サブフューズセットごとに、個別に設ける必要がある。
なぜなら、本発明の例に関わるフューズ回路では、イネーブルビットデータの値に基づいて、データの書き換え動作、即ち、どのサブフューズセットに対してプログラムを実行し、どのサブフューズセットからフューズデータを読み出すか、を制御しているからである。
つまり、本発明の例に関わるフューズ回路では、パワーオン後、全てのサブフューズセット内のイネーブルビットデータの値を直ちに認識する必要があるため、イネーブルビットデータに対するリードデータラッチ回路に関しては、サブフューズセットごとに、個別に設けておく。
なお、第1実施例では、パワーオン時におけるフューズデータの読み出し動作、即ち、リードデータラッチ回路へのラッチ動作が1回で済むのに対して、第2実施例では、パワーオン時におけるフューズデータの読み出し動作、即ち、リードデータラッチ回路へのラッチ動作が2回必要になる。
具体的には、第1実施例では、パワーオン時に、全てのサブフューズセットのフューズデータを一度ラッチしておき(1回のみの読み出し)、この後、イネーブルビットデータに基づいて、選択されたサブフューズセットのみからフューズデータを出力する、ということが可能である。
しかし、第2実施例では、パワーオン後、まず、イネーブルビットデータをラッチし、サブフューズセットの選択を行う必要がある(1回目の読み出し)。この後、選択されたサブフューズセットのフューズデータをラッチし、かつ、出力する(2回目の読み出し)、という動作が必要である。
以下、第2実施例に関わるフューズ回路について詳細に説明する。
(1) フューズセット
図7は、本発明の第2実施例に関わるフューズ回路の主要部を示している。
同図に示す構成は、図1の1つのフューズセットに対応している。1つのフューズセットは、n(nは、複数)個のフューズブロックBLK1,BLK2,・・・BLKnを有する。また、各フューズブロックBLKi(i=1,2,・・・n)は、(m+1)個のフューズ素子(mは、複数)から構成されるサブフューズセットSFSiと、このサブフューズセットSFSiに対応して設けられる(m+1)個のプログラム制御回路PCNTi及びイネーブルビットデータをラッチするための1個のリードデータラッチ回路RDL(Eni)とを有する。
また、各フューズブロックBLKiは、リード制御回路RCNTiを有している。リード制御回路RCNTiは、イネーブルビットデータを除く、mビットのフューズデータを記憶するm個のサブフューズセットSFSiに対応して、m個だけ設けられる。
さらに、本例では、1つのフューズセットは、n個のフューズブロックBLK1,BLK2,・・・BLKnに共有されるリードデータラッチ回路RDLを有している。リードデータラッチ回路RDLは、リード制御回路RCNTiにより選択された1個のフューズブロックBLKiに対して、イネーブルビットデータを除く、mビットのフューズデータをラッチする。
プログラムデータラッチ回路PDLは、イネーブルビットデータEn及びプログラムデータDin1,Din2,・・・Dinmを一時的にラッチする。これら入力データEn,Din1,Din2,・・・Dinmは、選択された1個のフューズブロックBLKiに転送される。
ここで、n個のフューズブロックBLK1,BLK2,・・・BLKnは、直列接続される。そして、プログラム制御回路PCNT1,PCNT2,・・・PCNTnは、イネーブルビットデータに基づいて、n個のフューズブロックBLK1,BLK2,・・・BLKnのうちから、プログラミングの対象となる1個のフューズブロックBLKjを選択する。
即ち、i(i=1,2、・・・n)番目のフューズブロックBLKiでは、プログラム制御回路PCNTiは、フューズブロックBLKi内のイネーブルビットデータEniの値と、1つ前の(i−1)番目のフューズブロックBLK(i−1)内のイネーブルビットデータEn(i−1)の値とに基づいて、データプログラムに関し、フューズブロックBLKiの選択/非選択を決定する。
但し、最初(1番目)のフューズブロックBLK1では、1つ前のフューズブロックが存在しない。また、最初にプログラムの対象となるフューズブロックは、フューズブロックBLK1である。そこで、最初のフューズブロックBLK1では、プログラム制御回路PCNT1は、フューズブロックBLK1内のイネーブルビットデータEn1の値と、入力データEn0の値(“H”固定)とに基づいて、フューズブロックBLK1の選択/非選択を決定する。
なお、各フューズブロックBLKi内のイネーブルビットデータEniは、例えば、パワーオンの後、直ちに、リードラッチ回路RDL(Eni)にラッチされ、イネーブルビットデータEniとして、各フューズブロックBLKiにフィードバックされる。
また、リード制御回路RCNT1,RCNT2,・・・RCNTnは、イネーブルビットデータに基づいて、n個のフューズブロックBLK1,BLK2,・・・BLKnのうちから、データリードの対象となる1個のフューズブロックBLKjを選択する。
即ち、i(i=1,2、・・・n)番目のフューズブロックBLKiでは、リード制御回路RCNTiは、フューズブロックBLKi内のイネーブルビットデータEniの値と、1つ後の(i+1)番目のフューズブロックBLK(i+1)内のイネーブルビットデータEn(i+1)の値とに基づいて、データリードに関し、フューズブロックBLKiの選択/非選択を決定する。
但し、最後(n番目)のフューズブロックBLKnでは、1つ後のフューズブロックが存在しない。また、フューズブロックBLKnは、最後にプログラムの対象となるフューズブロックである。そこで、最後のフューズブロックBLKnでは、リード制御回路RCNTnは、フューズブロックBLKn内のイネーブルビットデータEnnの値と、入力データEn(n+1)の値(“L”固定)とに基づいて、フューズブロックBLKnの選択/非選択を決定する。
選択された1個のフューズブロックBLKiからは、フューズデータが出力される。このフューズデータは、全てのブロックBLK1,BLK2,・・・BLKnで共有化されたリードデータラッチ回路RDLに転送され、そこにラッチされる。
(2) 回路例
図8乃至図11は、図7のフューズセットを構成するブロックBLKiの回路例を示している。
[1] ブロックBLK1
図8は、ブロックBLK1の回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En)は、イネーブルビットデータEnをラッチする。プログラムデータラッチ回路PDL(Din1),・・・PDL(Dinm)は、mビットのプログラムデータDin1,・・・Dinmに対応してm個だけ設けられ、かつ、プログラムデータDin1,・・・Dinmをラッチする。
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)は、全て、同じ回路構成を有している。
インバータI1及びクロックドインバータCI1により、ラッチ回路が構成される。ラッチ回路の出力信号は、ノア回路NR1の一方の入力端子に入力される。ノア回路NR1の他方の入力端子には、プログラム信号PROGの反転信号bPROGが入力される。
プログラム時には、プログラム信号PROGが“H”となり、かつ、その反転信号が“L”となる。このため、プログラム時には、ノア回路NR1は、ラッチ回路にラッチされたデータに応じた出力信号を出力する。
例えば、ラッチ回路にラッチされたデータが“1”、即ち、クロックドインバータCI1の出力信号が“L”のときは、ノア回路NR1の出力信号は、“H”となる。その結果、NチャネルMOSトランジスタN1は、オンになる。また、ラッチ回路にラッチされたデータが“0”、即ち、クロックドインバータCI1の出力信号が“H”のときは、ノア回路NR1の出力信号は、“L”となる。その結果、NチャネルMOSトランジスタN1は、オフになる。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn0(“H”固定)及びイネーブルビットデータEn1の反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、例えば、図1及び図7に示すように、フューズセット1に対するプログラミングを実行するときに、“H”となる。イネーブルビットデータEn1は、サブフューズセットSFS1に対するプログラミング前においては、“L”、即ち、リードデータラッチ回路RDL1(En1)の出力信号は、“L”(アンチフューズの絶縁体が未破壊状態)となっている。
従って、選択信号SEL1が“H”になると、アンド回路AD1の出力信号は、“H”となる。また、プログラムスイッチPSWは、NチャネルMOSトランジスタであるため、アンド回路AD1の出力信号が“H”になると、オンになる。つまり、サブフューズセットSFS1を構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
ここで、プログラム時、例えば、プログラムデータが“1”のときは、NチャネルMOSトランジスタN1,PSWが、共に、オンとなるため、フューズ素子FUSEの両端には、高電圧Vfuseが印加される。その結果、例えば、フューズ素子(アンチフューズ)FUSEを構成する絶縁体が破壊され、データ“1”がプログラミングされる。
また、例えば、プログラムデータが“0”のときは、NチャネルMOSトランジスタPSWは、オンであるが、NチャネルMOSトランジスタN1は、オフとなるため、フューズ素子FUSEの両端には、高電圧Vfuseが印加されない。その結果、例えば、フューズ素子(アンチフューズ)FUSEを構成する絶縁体が破壊されず、データ“0”がプログラミングされる。
3. リードデータラッチ回路
イネーブルビットデータEn1をラッチするためのリードデータラッチ回路RDL(En1)は、フューズ素子FUSEに対応して、1個だけ設けられる。また、イネーブルビットデータEn1を除く、残りのmビットのフューズデータをラッチするためのリードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)は、m個のフューズ素子FUSEに対応して、m個だけ設けられる。
但し、リードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)は、上述したように、1つのフューズセット内の複数のブロックに対して、共通に、1個だけ設けられる。
リードデータラッチ回路RDL(En1),RDL(Dout1),・・・RDL(Doutm)の回路構成については、例えば、図19に示すようになる。リードデータラッチ回路RDL(En1),RDL(Dout1),・・・RDL(Doutm)の回路構成については、既に、図19の説明において詳細に述べたため、ここでは、その説明については、省略する。
4. リード制御回路
リード制御回路RCNT1は、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNT1は、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。つまり、本例では、イネーブルビットEn1がプログラムされるフューズ素子FUSEに対応するリード制御回路は、存在しない。
但し、イネーブルビットEn1がプログラムされるフューズ素子FUSEに対応するリード制御回路を設けても構わない。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEn1及びイネーブルビットデータEn2の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEn1は、サブフューズセットSFS1に対するプログラミング前においては、“L”であり、サブフューズセットSFS1に対するプログラミング後においては、“H”である。イネーブルビットデータEn2は、サブフューズセットSFS2に対するプログラミング前においては、“L”であり、サブフューズセットSFS2に対するプログラミング後においては、“H”である。
つまり、サブフューズセットSFS1にデータがプログラムされ、サブフューズセットSFS2にデータがプログラムされていないときは、サブフューズセットSFS1にプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
また、サブフューズセットSFS1,SFS2のいずれにも、データがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。サブフューズセットSFS1,SFS2の双方にデータがプログラムされているときは、サブフューズセットSFS2にプログラムされているデータが最新のものとなるため、リードスイッチRSWは、オンとなり得ない。
[2] ブロックBLKi(i=2,3,・・・n−1)
図9は、ブロックBLKiの回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)の構成については、既に、ブロックBLK1の項目において説明したため、ここでは、その説明を省略する。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn(i−1)及びイネーブルビットデータEniの反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、既に説明したように、フューズセット1に対するプログラミングを実行するときに、“H”となる。
イネーブルビットデータEn(i−1)は、サブフューズセットSFS(i−1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(i−1)に対するプログラミング後においては、“H”である。また、イネーブルビットデータEniは、サブフューズセットSFSiに対するプログラミング前においては、“L”であり、サブフューズセットSFSiに対するプログラミング後においては、“H”である。
つまり、アンド回路AD1の出力信号は、サブフューズセットSFS(i−1)に対するプログラミング後であって、サブフューズセットSFSiに対するプログラミング前において、“H”となり得る。
アンド回路AD1の出力信号が“H”になると、プログラムスイッチPSWとしてのNチャネルMOSトランジスタは、オンになる。つまり、サブフューズセットSFSiを構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
3. リードデータラッチ回路
リードデータラッチ回路RDL(Eni),RDL(Dout1),・・・RDL(Doutm)は、(m+1)個のフューズ素子FUSEに対応して、(m+1)個だけ設けられている。但し、上述したように、イネーブルビットデータEniを除く、他のmビットのフューズデータをラッチするためのm個のリードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)については、1つのフューズセット内の複数のブロックに共有化される。
リードデータラッチ回路RDL(Eni),RDL(Dout1),・・・RDL(Doutm)の回路構成については、既に説明したため、ここでは、その説明については、省略する。
4. リード制御回路
リード制御回路RCNTiは、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNTiは、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEni及びイネーブルビットデータEn(i+1)の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEniは、サブフューズセットSFSiに対するプログラミング前においては、“L”であり、サブフューズセットSFSiに対するプログラミング後においては、“H”である。イネーブルビットデータEn(i+1)は、サブフューズセットSFS(i+1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(i+1)に対するプログラミング後においては、“H”である。
つまり、サブフューズセットSFSiにデータがプログラムされ、サブフューズセットSFS(i+1)にデータがプログラムされていないときは、サブフューズセットSFSiにプログラムされているデータが最新のものとなり、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
また、サブフューズセットSFSi,SFS(i+1)のいずれにも、データがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。サブフューズセットSFSi,SFS(i+1)の双方にデータがプログラムされているときは、サブフューズセットSFS(i+1)にプログラムされているデータが最新のものとなるため、リードスイッチRSWは、オンとなり得ない。
[3] ブロックBLKn
図10は、ブロックBLKnの回路例である。
1. プログラムデータラッチ回路
プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)の構成については、既に、ブロックBLK1の項目において説明したため、ここでは、その説明を省略する。
2. プログラム制御回路
プログラム制御回路PCNT1は、アンド回路AD1とプログラムスイッチPSWとから構成される。
アンド回路AD1には、フューズセットの選択信号SEL1、イネーブルビットデータEn(n−1)及びイネーブルビットデータEnnの反転信号が、それぞれ入力される。フューズセットの選択信号SEL1は、既に説明したように、フューズセット1に対するプログラミングを実行するときに、“H”となる。
イネーブルビットデータEn(n−1)は、サブフューズセットSFS(n−1)に対するプログラミング前においては、“L”であり、サブフューズセットSFS(n−1)に対するプログラミング後においては、“H”である。また、イネーブルビットデータEnnは、サブフューズセットSFSnに対するプログラミング前においては、“L”であり、サブフューズセットSFSnに対するプログラミング後においては、“H”である。
つまり、アンド回路AD1の出力信号は、サブフューズセットSFS(n−1)に対するプログラミング後であって、サブフューズセットSFSnに対するプログラミング前において、“H”となり得る。
アンド回路AD1の出力信号が“H”になると、プログラムスイッチPSWとしてのNチャネルMOSトランジスタは、オンになる。つまり、サブフューズセットSFSnを構成するフューズ素子FUSEの一端が、プログラムデータラッチ回路PDL(En),PDL(Din1),・・・PDL(Dinm)に電気的に接続される。
3. リードデータラッチ回路
リードデータラッチ回路RDL(Enn),RDL(Dout1),・・・RDL(Doutm)は、(m+1)個のフューズ素子FUSEに対応して、(m+1)個だけ設けられている。但し、上述したように、イネーブルビットデータEniを除く、他のmビットのフューズデータをラッチするためのm個のリードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)については、1つのフューズセット内の複数のブロックに共有化される。
リードデータラッチ回路RDL(Eni),RDL(Dout1),・・・RDL(Doutm)の回路構成については、既に説明したため、ここでは、その説明については、省略する。
4. リード制御回路
リード制御回路RCNTnは、アンド回路AD2とリードスイッチRSWとから構成される。リード制御回路RCNTnは、フューズデータDin1,・・・Dinmがプログラムされるm個のフューズ素子FUSEに対応して、m個だけ設けられている。
アンド回路AD2には、リセット信号RSTの反転信号、イネーブルビットデータEnn及びイネーブルビットデータEn(n+1)の反転信号が、それぞれ入力される。リセット信号RSTは、例えば、パワーオン時に、一時的に“H”となり、その後、“L”を維持し続ける。
イネーブルビットデータEnnは、サブフューズセットSFSnに対するプログラミング前においては、“L”であり、サブフューズセットSFSnに対するプログラミング後においては、“H”である。イネーブルビットデータEn(n+1)は、常に、“L”に固定されている。
つまり、サブフューズセットSFSnにデータがプログラムされているときは、このサブフューズセットSFSnにプログラムされているデータが最新のものとなるため、例えば、パワーオン時に、リードスイッチRSWは、オンとなる。
なお、サブフューズセットSFSnにデータがプログラムされていないときは、リードスイッチRSWは、オンとなり得ない。
(3) 動作
次に、図7乃至図10におけるフューズ回路の動作について説明する。
第2実施例に関わるフューズ回路の動作は、全体としては、第1実施例に関わるフューズ回路の動作とほぼ同じであるが、パワーオン時におけるフューズデータのラッチ動作が2回になる点が異なる。
以下、具体的に、本発明の例に関わるフューズ回路の動作について説明する。
なお、図7乃至図10に示すように、1つのフューズセットは、n(nは、複数)個のブロック、即ち、n個のサブフューズセットから構成され、各々のサブフューズセットは、1ビットのイネーブルビットデータを記憶する1個のフューズ素子と、m(mは、複数)ビットのフューズデータを記憶するm個のフューズ素子とから構成されるものとする。
[初期状態]
初期状態、即ち、1つのフューズセットに対して、未だ、1回もフューズプログラム動作を行っていない状態では、全てのサブフューズセットSFS1,SFS2,・・・SFSn内のフューズ素子(例えば、アンチフューズ素子)は、非破壊状態にある。
このため、例えば、パワーオンによりLSIチップに電源が供給されると、その1つのフューズセット内のサブフューズセットSFS1,SFS2,・・・SFSnから、それぞれ、イネーブルビットデータEn1,En2,・・・Ennとして、“0”(“L”レベル)が読み出され、これらがリードデータラッチ回路RDL(En1),RDL(En2),・・・RDL(Enn)にラッチされる(1回目のラッチ動作)。
ここで、最初のサブフューズセットSFS1を除く、残りの(n−1)個のサブフューズセットSFS2,・・・SFSnでは、図9及び図10に示すアンド回路AD1,AD2の出力信号は、全て、“L”となる。このため、プログラムスイッチPSW及びリードスイッチRSWは、いずれもオフ状態であり、これらサブフューズセットSFS2,・・・SFSnは、フューズプログラム又はフューズデータリードの対象とはならない。
一方、最初(1番目)のサブフューズセットSFS1では、それより前のサブフューズセットが存在しないため、図8に示すアンド回路AD1に対する入力信号の一つとして、イネーブルビット信号En0が入力される。このイネーブルビット信号En0は、“H”に固定されているため、サブフューズセットSFS1では、アンド回路AD1の出力信号が“H”になる。このため、プログラムスイッチPSWは、オン状態であり、サブフューズセットSFS1は、プログラムデータラッチ回路に電気的に接続される。
なお、この段階では、図8に示すアンドAD2の出力信号は、“L”であるため、リードスイッチRSWは、オフ状態となっている。
イネーブルビットデータEn1,En2,・・・Ennがリードデータラッチ回路RDL(En1),RDL(En2),・・・RDL(Enn)にラッチされると、各ブロック内のリード制御回路RCNT1,2,・・・nは、その値に基づいて、リードスイッチRSWのオン/オフを決定する。
ここでは、いずれのブロック内のサブフューズセットSFS1,SFS2,・・・SFSnにも、フューズデータが書き込まれていないため、全てのブロックにおいて、リードスイッチRSWは、オフ状態である。このため、この後、フューズデータのラッチ動作(2回目のラッチ動作)が実行されるが、ラッチデータ自体が存在しないため、全てのリードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)のデータは、“0”となる。
パワーオン後、例えば、フューズデータをプログラムするためのコマンドがLSIチップに供給され、かつ、イネーブルビットデータEn(“1”)及びプログラムデータ(“0”又は“1”)がLSIチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータEn及びプログラムデータの値に基づいて、サブフューズセットSFS1内のフューズ素子FUSEに対するプログラミングが実行される。
つまり、イネーブルビットデータEnは、“1”(=“H”)であるため、イネーブルビットデータEnを記憶するフューズ素子FUSEの両端には、高電圧Vfuseが印加され、その結果、フューズ素子FUSEは、破壊される。また、プログラムデータに関しては、“0”又は“1”であるため、“0”のときは、フューズ素子FUSEは、未破壊のままとなり、“1”のときは、フューズ素子FUSEは、破壊される。
サブフューズセットSFS1に対するフューズプログラミングが終了すると、サブフューズセットSFS1内のイネーブルビットデータEn1の値は、“0”(=“L”)から“1”(=“H”)に変化する。
従って、サブフューズセットSFS1では、図8に示すアンド回路AD1の出力信号が“H”から“L”に変化し、プログラムスイッチPSWは、オフ状態になる。これとほぼ同時に、サブフューズセットSFS1では、図8に示すアンドAD2の出力信号が“L”から“H”に変化し、リードスイッチRSWは、オン状態になる。
[フューズプログラム(1回目)終了後の初期状態]
フューズプログラム(1回目)終了後の初期状態では、最初のサブフューズセットSFS1内のフューズ素子(イネーブルビットデータ)は、破壊状態にあり、残りのサブフューズセットSFS2,・・・SFSn内のフューズ素子(イネーブルビットデータ)は、非破壊状態にある。
このため、例えば、再度、パワーオンによりLSIチップに電源が供給されると、サブフューズセットSFS1からは、イネーブルビットデータEn1として、“1”(“H”レベル)が読み出され、また、サブフューズセットSFS2,・・・SFSnからは、イネーブルビットデータEn2,・・・Ennとして、“0”(“L”レベル)が読み出される。そして、これらデータは、リードデータラッチ回路RDL(En1),RDL(En2),・・・RDL(Enn)にラッチされる(1回目のラッチ動作)。
ここで、最初(1番目)のサブフューズセットSFS1では、イネーブルビットデータEn0,En1が“H”であるため、図8に示すアンド回路AD1の出力信号は、全て、“L”となる。このため、プログラムスイッチPSWは、オフ状態となる。一方、イネーブルビットデータEn1が“H”、イネーブルビットデータEn2が“L”であるため、図8に示すアンドAD2の出力信号は、“H”となる。このため、リードスイッチRSWは、オン状態となる。
従って、最初のサブフューズセットSFS1に関しては、既に、フューズプログラムされているため、フューズプログラムの対象にはならないが、最新のフューズデータを記憶しているため、フューズデータリードの対象となる。
2番目のサブフューズセットSFS2では、イネーブルビットデータEn1が“H”、イネーブルビットデータEn2が“L”であるため、図9に示すアンドAD1の出力信号は、全て、“H”となる。このため、プログラムスイッチPSWは、オン状態となる。一方、イネーブルビットデータEn2、En3が“L”であるため、図9に示すアンドAD2の出力信号は、“L”となる。このため、リードスイッチRSWは、オフ状態となる。
従って、2番目のサブフューズセットSFS2に関しては、フューズプログラムの対象(データ書き換えの対象)になるが、フューズデータリードの対象にはならない。
3番目以降のサブフューズセットSFS3,・・・SFSnでは、イネーブルビットデータEn2,En3,・・・Ennが全て“L”であるため、図9及び図10に示すアンド回路AD1,AD2の出力信号は、全て、“L”となる。このため、プログラムスイッチPSW及びリードスイッチRSWは、いずれもオフ状態であり、これらサブフューズセットSFS3,・・・SFSnは、フューズプログラム又はフューズデータリードの対象とはならない。
このように、イネーブルビットデータEn1,En2,・・・Ennがリードデータラッチ回路RDL(En1),RDL(En2),・・・RDL(Enn)にラッチされた後、各ブロック内のリード制御回路RCNT1,2,・・・nは、その値に基づいて、リードスイッチRSWのオン/オフを決定する。
ここでは、サブフューズセットSFS1にフューズデータが書き込まれているため、最初のブロックBLK1においては、リードスイッチRSWは、オン状態である。このため、この後、フューズデータのラッチ動作(2回目のラッチ動作)が実行されるが、このラッチ動作では、リード制御回路RCNT1,RCNT2,・・・RCNTnにより最初のブロックBLK1が選択され、サブフューズセットSFS1に記憶されたラッチデータが、リードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)にラッチされる。
また、パワーオン後、イネーブルビットデータEn0,En1が“H”、イネーブルビットデータEn2,・・・Ennが“L”となっているため、サブフューズセットSFS2がプログラムデータラッチ回路に電気的に接続される。
従って、例えば、フューズデータをプログラムするためのコマンドがLSIチップに供給され、かつ、イネーブルビットデータEn(“1”)及びプログラムデータ(“0”又は“1”)がLSIチップに供給されると、これらデータは、プログラムデータラッチ回路にラッチされる。
また、プログラムデータラッチ回路にラッチされたイネーブルビットデータEn及びプログラムデータの値に基づいて、サブフューズセットSFS2内のフューズ素子FUSEに対するプログラミングが実行される。
サブフューズセットSFS2に対するフューズプログラミングが終了すると、サブフューズセットSFS2内のイネーブルビットデータEn2の値は、“0”(=“L”)から“1”(=“H”)に変化する。
従って、サブフューズセットSFS2では、図9に示すアンド回路AD1の出力信号が“H”から“L”に変化し、プログラムスイッチPSWは、オフ状態になる。これとほぼ同時に、サブフューズセットSFS2では、図9に示すアンドAD2の出力信号が“L”から“H”に変化し、リードスイッチRSWは、オン状態になる。
[フューズプログラム(n回目)終了後の初期状態]
フューズプログラム(n回目)終了後の初期状態では、全てのサブフューズセットSFS1,SFS2,・・・SFSn内のフューズ素子(イネーブルビットデータ)は、破壊状態にある。
このため、例えば、パワーオンによりLSIチップに電源が供給されると、サブフューズセットSFS1,SFS2,・・・SFSnからは、イネーブルビットデータEn1,En2,・・・Ennとして、“1”(“H”レベル)が読み出される。そして、これらデータは、リードデータラッチ回路にラッチされる(1回目のラッチ動作)。
ここで、サブフューズセットSFSnの次のサブフューズセットは存在しないため、本発明の例に関わるフューズ回路のデータ書き換え回数は、最大でn回となる。また、サブフューズセットSFSnの次のサブフューズセットは存在しないため、図10に示すように、イネーブルビットデータEn(n+1)として、“L”(固定)の反転信号、即ち、“H”を、サブフューズセットSFSn内のアンド回路AD2に与える。従って、サブフューズセットSFSn内のリードスイッチRSWがオン状態となる。
ここでは、全てのサブフューズセットSFS1,SFS2,・・・SFSnにフューズデータが書き込まれているため、最後のブロックBLKnにおけるリードスイッチRSWのみがオン状態になる。
このため、この後、フューズデータのラッチ動作(2回目のラッチ動作)が実行されるが、このラッチ動作では、リード制御回路RCNT1,RCNT2,・・・RCNTnにより最後のブロックBLKnが選択され、サブフューズセットSFSnに記憶されたラッチデータが、リードデータラッチ回路RDL(Dout1),RDL(Dout2),・・・RDL(Doutm)にラッチされる。
(4) まとめ
このように、第2実施例に関わるフューズ回路においても、第1実施例に関わるフューズ回路と同様に、1つのフューズセットをn(nは、複数)個のサブフューズセットから構成することで、n回のフューズデータの書き換えが可能になる。
また、このような構成にしても、フューズデータのリード/プログラム又は書き換えは、フューズデータをフューズ回路に入力するだけで、特殊な制御なく、自動的かつ容易に行うことができる。
5. 応用例
本発明の例に関わるフューズ回路を有するLSIチップ及びそのLSIを利用したシステムの例について説明する。
図11は、システムLSIのチップレイアウトの一例を示している。
LSIチップ上には、CPU、ロジック回路、SRAM及びDRAMが形成される。また、LSIチップ上の任意の位置に、本回路、即ち、本発明の例に関わるフューズ回路が配置される。チップの外部から見た場合には、チップに与える信号や制御方法などに関して、従来と本発明の例とで、何ら変わるところはない。つまり、本発明の例では、複雑な制御なしに、フューズセットのデータ書き換えを可能にする。
なお、LSIチップに関し、そのチップ内に組み込まれる機能(ブロック)としては、本例に限定されるものではなく、当然に、図11の例に対して、LSIチップ内に組み込まれる機能(ブロック)の追加、減少、変更などが可能である。
図12は、汎用LSIのチップレイアウトの一例を示している。
本例では、汎用メモリのチップレイアウトを示す。メモリチップ上には、メモリセルアレイ及びその周辺回路が形成される。また、メモリチップ上の任意の位置に、本回路、即ち、本発明の例に関わるフューズ回路が配置される。チップの外部から見た場合には、チップに与える信号や制御方法などに関して、従来と本発明の例とで、何ら変わるところはない。つまり、本発明の例では、複雑な制御なしに、フューズセットに対するデータ書き換えを可能にする。
なお、本例では、汎用メモリのレイアウトについて説明したが、例えば、その他のLSIチップ、例えば、メモリとロジック回路とを混載したメモリ混載ロジックLSIなどに、本発明の例に関わるフューズ回路を適用することもできる。
図13は、接触式ICカードの概略を示している。
プラスチックカード10には、コネクタ部11及びICカード用MPU12が搭載されている。コネクタ部11は、外部電極を有しており、この外部電極を外部装置(リーダ/ライタ)18に直接接触させることによりデータなどのやりとりを行う。一般に、コネクタ部11とICカード用MPU12は、モジュール化され、ICモジュールとなっており、このICモジュールをプラスチックカード10のエンボス領域に嵌め込むことでICカードが出来上がる。
ICカード用MPU12は、制御部13、演算部14、ROM15及びRAM16を備えている。ROM15には、データ処理用のプログラムが保存されている。例えば、このROM15に、本発明の例に関わるフューズ回路を適用できる。また、RAM16は、データの一時記憶用として用いられる。EEPROM17は、データ保存用として用いられる。
図14は、無線式ICカードの概略を示している。
プラスチックカード20には、アンテナ21及びICカード用MPU22が内蔵されている。アンテナ21は、外部装置(リーダ/ライタ)30との間でデータなどのやりとりを行うためのものである。ICカード用MPU22は、変復調回路23、入出力制御回路24、CPU25、ROM26、RAM27及びバス29を備えている。
アンテナ21において受信された無線信号は、変復調回路23を経由して入出力制御回路24に入力される。また、ROM26には、データ処理用のプログラムが保存されている。例えば、このROM26に、本発明の例に関わるフューズ回路を適用できる。SRAM27は、データの一時記憶用として用いられる。EEPROM28は、データ保存用として用いられる。
なお、本発明の例に関わるフューズ回路は、1枚のカードで様々なアプリケーションを処理できるマルチカード(例えば、コンビカードなど)内に搭載されるチップに適用することもできる。
図15は、ICカードの外観を示している。
プラスチックカード10は、一定の厚さを有し、その表面の一部には、エンボス領域が設けられている。ICモジュール53には、IC(チップ)が搭載されている。ICモジュール53のICが搭載される側の面に対して反対側の面には、外部端子(電極)54が形成されている。ICモジュール53は、外部端子54が剥き出しになるようにしてエンボス領域に嵌め込まれる。
図16は、ICモジュールを示している。また、図17は、図16のXVII−XVII線に沿う断面図である。なお、図16において、外部端子は、省略している。
ICモジュール53の一面側には、IC(チップ)55が搭載されている。IC55は、樹脂56により覆われている。また、ICモジュール53の他面側には、外部電極54が形成されている。
6. まとめ
本発明の例に関わるフューズ回路によれば、標準CMOSプロセスで形成でき、かつ、1つのフューズセットに対して、フューズデータの書き換えを、特殊な制御なしに、自動的に行うことができる。
ところで、本発明の例では、フューズデータの書き換えは、パッケージング(アセンブリ)工程後におけるユーザ側での書き換えを主眼に置いているが、当然に、その他の時期、例えば、パッケージング工程前に、フューズデータの書き換えをする必要性が生じたならば、そのときに、本発明を適用することもできる。
本発明の例に関わるフューズ回路は、ロジック回路(ASICなど)とメモリ回路(DRAM,SRAMなど)とを混載したメモリ混載ロジックLSIに有効である。例えば、このような混載LSIにおいて、本発明の例に関わるフューズ回路を、メモリ回路(リダンダンシイ回路)における不良アドレス(リダンダンシイデータ)のプログラムに適用することができる。
本発明の例に関わるフューズ回路は、リダンダンシイ回路における不良アドレスのリード/プログラムに限られず、様々なデータのプログラム、特に、容量の少ないデータ(例えば、512キロビット以下)のプログラムに効果的である。
例えば、本発明の例に関わるフューズ回路は、回路動作に関するトリミングデータ、チップID、セキュリティコード、さらには、携帯電話の液晶ディスプレイのコントラストに関するデータなどをプログラムする場合に適用できる。
本発明の例に関わるフューズ回路では、各フューズブロック内のサブフューズセットのビット数は、全て等しく設定されているが、異なっていてもよい。また、1つのフューズセット(図1参照)内の各フューズブロック内のサブフューズセットのビット数を等しく設定し、異なるフューズセット間で、プログラムできるビット数を異ならせるようにしても構わない。
7. その他
本発明は、上述の形態に限定されるものではなく、その要旨を逸脱しない範囲で、構成要素を変形して具体化できる。また、上述の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる形態の構成要素を適宜組み合わせてもよい。
本発明の例に関わるフューズ回路は、特に、少ないデータを不揮発に記憶する必要があると共に、少数回ではあるが、これらデータを書き換える必要もある混載LSI、システムLSI、ロジックLSI、メモリLSIなどの半導体集積回路に有効である。
フューズ回路の例を示す図。 第1実施例に関わるフューズ回路の概要を示す図。 第1実施例に関わるフューズ回路を示す回路図。 第1実施例に関わるフューズ回路を示す回路図。 第1実施例に関わるフューズ回路を示す回路図。 パワーオン時のチップ動作を示す図。 第2実施例に関わるフューズ回路の概要を示す図。 第2実施例に関わるフューズ回路を示す回路図。 第2実施例に関わるフューズ回路を示す回路図。 第2実施例に関わるフューズ回路を示す回路図。 システムLSIのチップレイアウトの例を示す図。 汎用LSIのチップレイアウトの例を示す図。 接触式ICカードの例を示す図。 無線式ICカードの例を示す図。 ICカードの外観を示す図。 ICモジュールの例を示す図。 図16のXVII−XVII線に沿う断面図。 従来のフューズ回路の概要を示す図。 従来のフューズ回路を示す回路図。
符号の説明
1: フューズ回路、 PDL: プログラムデータラッチ回路、 PCNT1,PCNT2,・・・PCNTn: プログラム制御回路、 SFS1,SFS2,・・・SFSn: サブフューズセット、 RDL1,RDL2,・・・RDLn: リードデータラッチ回路、 RCNT1,RCNT2,・・・RCNTn: リード制御回路、 I1: インバータ、 CI1: クロックドインバータ、 NR1: ノア回路、 PSW: プログラムスイッチ、 RSW: リードスイッチ、 AD1,AD2: アンド回路、 FUSE: フューズ素子。

Claims (3)

  1. 複数のブロックから構成されるフューズセットを具備し、前記複数のブロックの各々は、電気的にプログラム可能な複数のフューズ素子から構成されるサブフューズセットと、前記複数のフューズ素子に対するプログラムを制御するプログラム制御回路とを有し、前記複数のフューズ素子のうちの1つは、前記サブフューズセットの有効/無効を示すイネーブルビットであり、前記プログラム制御回路は、前記イネーブルビットの値に基づいて、前記複数のブロックのなかから前記プログラムの対象となるブロックを決定し、前記複数のブロックは、n(nは、複数)段に直列に接続され、i(2≦i≦n)段目のブロックでは、前記プログラム制御回路は、(i−1)段目のブロック内の前記イネーブルビットの値及び前記i段目のブロック内の前記イネーブルビットの値に基づいて、前記i段目のブロックが前記プログラムの対象となるか否かを決定することを特徴とするフューズ回路。
  2. 請求項1記載のフューズ回路において、さらに、前記プログラムの対象となるブロックに対するプログラムデータをラッチするプログラムデータラッチ回路を具備することを特徴とするフューズ回路。
  3. 前記複数のブロックの各々は、前記複数のフューズ素子のうちの1つからリードされた前記イネーブルビットをラッチするリードデータラッチ回路を有し、かつ、前記イネーブルビットを除く、残りのフューズデータをラッチするリードデータラッチ回路は、前記複数のブロックに共有されることを特徴とする請求項1記載のフューズ回路。
JP2003290861A 2003-08-08 2003-08-08 フューズ回路 Expired - Fee Related JP3881641B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2003290861A JP3881641B2 (ja) 2003-08-08 2003-08-08 フューズ回路
US10/692,951 US6992945B2 (en) 2003-08-08 2003-10-27 Fuse circuit
CNB2004100794854A CN100345294C (zh) 2003-08-08 2004-08-07 熔丝电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003290861A JP3881641B2 (ja) 2003-08-08 2003-08-08 フューズ回路

Publications (2)

Publication Number Publication Date
JP2005063535A JP2005063535A (ja) 2005-03-10
JP3881641B2 true JP3881641B2 (ja) 2007-02-14

Family

ID=34190952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003290861A Expired - Fee Related JP3881641B2 (ja) 2003-08-08 2003-08-08 フューズ回路

Country Status (3)

Country Link
US (1) US6992945B2 (ja)
JP (1) JP3881641B2 (ja)
CN (1) CN100345294C (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4127678B2 (ja) 2004-02-27 2008-07-30 株式会社東芝 半導体装置及びそのプログラミング方法
TWI227501B (en) * 2004-04-14 2005-02-01 Novatek Microelectronics Corp Apparatus and method for reprogramming by using one-time programming element
US8134445B2 (en) * 2004-04-20 2012-03-13 Cooper Technologies Company RFID open fuse indicator, system, and method
CN101694700A (zh) * 2004-09-10 2010-04-14 株式会社半导体能源研究所 半导体装置
EP1839219B1 (en) * 2004-11-12 2017-03-22 ATI Technologies ULC Method for configuring an integrated circuit
JP4817701B2 (ja) 2005-04-06 2011-11-16 株式会社東芝 半導体装置
DE102005019587B4 (de) * 2005-04-27 2007-05-10 Infineon Technologies Ag Fuse-Speicherzelle mit verbessertem Schutz gegen unberechtigten Zugriff
US9652637B2 (en) 2005-05-23 2017-05-16 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for allowing no code download in a code download scheme
KR100739927B1 (ko) * 2005-06-29 2007-07-16 주식회사 하이닉스반도체 반도체 메모리 장치의 리페어 입출력 퓨즈 회로
JP2007048394A (ja) * 2005-08-11 2007-02-22 Matsushita Electric Ind Co Ltd 電気ヒューズモジュールを備えた半導体記憶装置
US20070104000A1 (en) * 2005-11-10 2007-05-10 Broadcom Corporation Field programmable memory repair for eprom
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US9489318B2 (en) 2006-06-19 2016-11-08 Broadcom Corporation Method and system for accessing protected memory
KR100855983B1 (ko) * 2007-02-27 2008-09-02 삼성전자주식회사 수직하게 적층된 캐패시터층들을 구비한 반도체 소자의캐패시턴스 트리밍회로
US20090031090A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for fast one-to-many microcode patch
US20090031109A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for fast microcode patch from memory
US20090031107A1 (en) * 2007-07-24 2009-01-29 Via Technologies On-chip memory providing for microcode patch overlay and constant update functions
US20090031103A1 (en) * 2007-07-24 2009-01-29 Via Technologies Mechanism for implementing a microcode patch during fabrication
US20090031110A1 (en) * 2007-07-24 2009-01-29 Via Technologies Microcode patch expansion mechanism
US20090031108A1 (en) * 2007-07-24 2009-01-29 Via Technologies Configurable fuse mechanism for implementing microcode patches
US20090031121A1 (en) * 2007-07-24 2009-01-29 Via Technologies Apparatus and method for real-time microcode patch
JP2009110582A (ja) * 2007-10-29 2009-05-21 Elpida Memory Inc アンチヒューズ回路及びこれを備える半導体装置、並びに、アンチヒューズ回路へのアドレス書き込み方法
US9415730B2 (en) 2008-04-23 2016-08-16 Littlefuse, Inc. Flexible power distribution module cover assembly
US7955133B2 (en) * 2008-04-23 2011-06-07 Littelfuse, Inc. Flexible power distribution module
JP2010146636A (ja) * 2008-12-18 2010-07-01 Toshiba Corp 半導体集積回路装置及びメモリシステム
KR101562985B1 (ko) 2009-02-25 2015-10-23 삼성전자주식회사 반도체 장치 및 그것의 퓨즈 프로그램 방법
JP2014056640A (ja) * 2013-11-21 2014-03-27 Ps4 Luxco S A R L 半導体装置
US9564243B2 (en) * 2014-04-23 2017-02-07 Globalfoundries Singapore Pte. Ltd. Equivalent fuse circuit for a one-time programmable read-only memory array
KR102106664B1 (ko) * 2016-06-22 2020-05-06 매그나칩 반도체 유한회사 Otp 셀 및 이를 이용한 otp 메모리 어레이
US9666307B1 (en) * 2016-09-14 2017-05-30 Micron Technology, Inc. Apparatuses and methods for flexible fuse transmission
US10381103B2 (en) 2017-08-18 2019-08-13 Micron Technology, Inc. Apparatuses and methods for latching redundancy repair addresses to avoid address bits overwritten at a repair block
US10443531B2 (en) 2017-08-18 2019-10-15 Micron Technology, Inc. Apparatuses and methods for storing redundancy repair information for memories
JP6869315B2 (ja) * 2019-02-19 2021-05-12 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. 電子ヒューズ回路及びその動作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3524216B2 (ja) * 1995-06-16 2004-05-10 沖電気工業株式会社 半導体集積回路
US5668818A (en) * 1996-08-06 1997-09-16 Hewlett-Packard Co. System and method for scan control of a programmable fuse circuit in an integrated circuit
US6462985B2 (en) * 1999-12-10 2002-10-08 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory for storing initially-setting data
JP4600792B2 (ja) * 2000-07-13 2010-12-15 エルピーダメモリ株式会社 半導体装置
JP3821637B2 (ja) * 2000-08-24 2006-09-13 株式会社東芝 半導体集積回路装置
JP3963636B2 (ja) 2000-09-01 2007-08-22 松下電器産業株式会社 半導体集積回路装置
JP2002279794A (ja) * 2001-03-21 2002-09-27 Mitsubishi Electric Corp 半導体記憶装置
JP2002368096A (ja) 2001-06-12 2002-12-20 Toshiba Corp 半導体装置
US6747481B1 (en) * 2002-11-22 2004-06-08 Texas Instruments Incorporated Adaptive algorithm for electrical fuse programming
US6876594B2 (en) * 2002-12-26 2005-04-05 Texas Instruments Incorporated Integrated circuit with programmable fuse array
JP3984209B2 (ja) * 2003-07-31 2007-10-03 株式会社東芝 半導体記憶装置

Also Published As

Publication number Publication date
JP2005063535A (ja) 2005-03-10
US6992945B2 (en) 2006-01-31
US20050041507A1 (en) 2005-02-24
CN100345294C (zh) 2007-10-24
CN1585124A (zh) 2005-02-23

Similar Documents

Publication Publication Date Title
JP3881641B2 (ja) フューズ回路
US7245546B2 (en) Reduced area, reduced programming voltage CMOS efuse-based scannable non-volatile memory bitcell
TWI383491B (zh) 用於混合式記憶體陣列之遮罩可編程及反熔絲架構
US8189388B2 (en) Fuse circuit and flash memory device having the same
EP0408002B1 (en) A programmable semiconductor memory apparatus
US7583554B2 (en) Integrated circuit fuse array
US20100085814A1 (en) Semiconductor integrated circuit device
KR101104643B1 (ko) 비동기식 이퓨즈 otp 메모리 셀 및 비동기식 이퓨즈 otp 메모리 장치
US10559350B2 (en) Memory circuit and electronic device
US6377486B1 (en) Block architecture option circuit for nonvolatile semiconductor memory devices
US20040076061A1 (en) On-system programmable and off-system programmable chip
US6842386B2 (en) Semiconductor integrated circuit, and a data storing method thereof
KR100269503B1 (ko) 용장 기능을 가지는 마스크 롬(Mask ROM Having Redundancy Function)
US20080186753A1 (en) High density one time programmable memory
US20020018362A1 (en) Programmable circuit and its method of operation
US20080212388A1 (en) Integrated circuit fuse array
US20060152991A1 (en) Non-volatile memory storage of fuse information
JP4409567B2 (ja) ヒューズメモリ素子を備えたメモリデバイスおよびその動作方法
US6225829B1 (en) device signature generator
CN117558328B (zh) 电子熔断器、控制方法以及计算机可读存储介质
KR102482147B1 (ko) 이퓨즈 otp 메모리
JP2002343099A (ja) 半導体記憶装置
US6704227B2 (en) Embedded memory and method of arranging fuses thereof
KR100363888B1 (ko) 오프셋 트리밍용 퓨징셀과, 오프셋 트리밍회로
US20020024870A1 (en) Semiconductor memory device with shorter signal lines

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees