(57)【要約】【課題】一つのヒューズへ多数のプログラメーション・パルスを供給することにより引き起こされるプログラミングのし過ぎを防止し、ヒューズの状態を変更するのをプログラメーション・パルスが失敗することによるプログラミングの不足を防止する。【解決手段】最初に希望するプログラミング状態を決定する（３０１）。希望するデータが第１デジタル状態を有する各電気ヒューズへ、一つのプログラメーション・パルスを供給する（３０３）。ヒューズの状態を読み取る（３０４）。先行するプログラメーションにおいて変更されていないヒューズを反映するために、希望するデータが更新される（３０６）。選択的プログラミングのステップ（３０３）、読み取りのステップ（３０４）および前記データを再形成するステップ（３０６）を繰返し、全てのヒューズが希望する状態になるまで（３０５）繰り返す。【選択図】図３
2004185613.tif 000002
【特許請求の範囲】
【請求項１】
プログラメーション・ソースからプログラムされるべきヒューズのアレイのために、希望するデータを読み込むステップと、
希望するデータの対応するビットが第１デジタル状態を有するヒューズへ、一つのプログラメーション・パルスを加え、希望するデータにおける対応するビットが第２デジタル状態を有するヒューズに対しては、プログラメーション・パルスを加えないことにより、前記ヒューズのアレイをプログラムするステップと、
前記ヒューズのプログラメーションを読み取ることと、
前記希望するデータの対応するビットが第１デジタル状態を有し、ヒューズの読み取り状態が前記希望する状態の対応するビットに一致しないヒューズに一つのプログラメーション・パルスを加え、また、前記希望するデータ内の対応するビットが、第２デジタル状態を有するヒューズにはプログラメーション・パルスを与えず、そして、前記希望するデータの対応するビットが第１デジタル状態を有し、ヒューズの読み取り状態が前記希望する状態の対応するビットに一致しないヒューズにはプログラメーション・パルスを与えないことにより、前記ヒューズのアレイをプログラミングすることのシーケンスを、全てのヒューズが、前記希望する状態の対応するビットに一致するまで繰り返すステップ
とを含む電気ヒューズをプログラミングする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の技術分野は、電気ヒューズの選択的作動による集積回路プログラミングである。
【背景技術】
【０００２】
プログラマブル・デバイスは、集積回路デバイスに大きな影響を与えてきた。特定のタスクを効率的に行なうために、デバイスをプログラミングする可能性は、安価な「専用プロセッサ」を現実のものにした。プログラマブル・デバイスは、親デバイスの量産能力を有する広く多様な製造者から得られる。プログラメーションは、反復可能で複雑でない方法でデバイスを「カスタム化」する方法論に依存していることが多い。プログラマブル・ロジック内の接続の「ヒュージング」は、プログラメーション（ｐｒｏｇｒａｍｍａｔｉｏｎ）の最も一般的な処理である。多くのヒューズ可能な相互接続リンクは、ドープされたポリシリコンのような物質により構成されている。
【０００３】
ＶＬＳＩシリコン・デバイスにおけるこれらの電気ヒューズ（ｅヒューズ）は、通常大量の電力をヒューズ本体に与えて、ヒューズ本体物質を融解し分離するようにプログラムされてきた。これは、ヒューズ抵抗を低いブロー（ｂｌｏｗ）前抵抗から高いブロー後抵抗へ変化させる。この結果をセンスして、ｅヒューズの状態、すなわち未ブローかまたはブロー済みかを決定できる。処理技法がますます小さな寸法へ進歩するにつれて、最大動作電圧も縮小へ向かって寸法が決められ、ｅヒューズのために大電力を得ることが一層困難になってきた。一方プログラミング動作が必要とする電流の量を最小化して、これによりｅヒューズに電力を供給する金属化電力バスが大きくなくても良いようにすることは、常に望ましいことである。
【０００４】
たとえば、かなりの電圧の制限があるサブ・ナノメータ技術におけるｅヒューズをプログラミングする際に出会う一般的な困難の一つは、単一のプログラミング・パルスにおいてヒューズを確実にブローするのに充分な電力を供給することである。望ましい抵抗を達成するために、多重のプログラミング・パルスを使用できることが示されてきた。
（ｅヒューズ・インプリメンテーション）
【０００５】
従来のプログラマブル・デバイス・アプリケーションのためのｅヒューズは、ときには数百のｅヒューズとサポーティング・ロジックを含む、線形アレイまたは二次元アレイとして、通常構成されている。eヒューズのインプリメンテーションの定義を明らかにするための助けになるいくつかの定義を下記する。
１．  「ｅヒューズ」自体は回路素子であって、自然な未プログラム状態を有するが、反対の状態へ永久的にプログラムされ得る。
２．  「eヒューズ素子」は、一つのｅヒューズと共に、そのプログラミング回路およびセンシング回路を含む。
３．  一つの「ｅヒューズセル」は、一つのｅヒューズ素子およびそれをeヒューズ・アレイへ組み込むのに必要なローカル・ロジックを含む。
４．  一つの「ｅヒューズ・アレイ」は直列またはアレイに接続された一つまたはそれ以上のｅヒューズ・セルの集合である。一つのｅヒューズ・コントローラはｅヒューズ・アレイにアクセスするように設計された制御ロジックを含む。
５．  一つの未プログラムｅヒューズは、あらかじめ定義された最大の「低」抵抗値を有するように定義されている。
６．  一つのプログラムされたｅヒューズは、あらかじめ定義された最小の「高」抵抗値を有するように定義されている。
【０００６】
ｅヒューズ・アレイは、アレイ全体の個別の素子について、一つのレコードを含む「プログラミング・データベース」へ、希望する「ヒューズ状態」位置と「ノン・ヒューズ状態」位置をロードすることにより、プログラムされる。それから、それらの値を各ｅヒューズへシーケンシャルにプログラムすることを開始できる。
【０００７】
ｅヒューズのブローを成功させるためにいくつかのパルスが必要なので、通常の解決法は、プログラミング・データセットをそのｅヒューズへ適応することにより実験して、一つのアレイに希望するｅヒューズを複数回プログラムして、歩留まりを増加させることを試みる。ヒューズ本体の物理的性質のために４つの可能な結果が観察され、２つは望ましく、２つは望ましくない。
【０００８】
（望ましい結果の可能性）
１．  ｅヒューズは、プログラムされるのに望ましくなく、プログラミング処理の完了後も低い抵抗のままに留まっている。
２．  パルスが加えられた後に、ｅヒューズが受け入れ可能な高い抵抗値へブローされた。
【０００９】
（望ましくない結果の可能性）
３．  ｅヒューズが、いくつかのパルスの後に受け入れ可能な高い抵抗へブローされたが、全てのパルスの完了後に悪化して、その抵抗が受け入れ可能よりも低くなってしまった。
４．  ヒューズは、受け入れ可能な高い抵抗へ全くブローされず、プログラミング処理に歩留まりの損失を引き起こさせる原因になった。
【００１０】
上記のケース３は最も重大な問題領域を表現するが、本発明の焦点である特別なプログラミング・アルゴリズムにより緩和することができる。ブローされたｅヒューズを横切って充分に高い電界を加えることにより、その本体を充分に加熱して、その物質が再び溶解して、受け入れがたいより低い抵抗を生成するように戻すことができる。この方法により、良好なｅヒューズが、後続するプログラミング・パルスの後に悪くなることがある。本発明の焦点は、ヒューズが、ヒューズされていない状態になるという問題への解決法である。
【００１１】
図１は、従来のｅヒューズ・セル回路構成を図示し、ｅヒューズ素子１０１およびそれをｅヒューズ・アレイ内に統合するのに必要なローカル・ロジックを含む。このロジックは、イネーブル・クロック１０８によりクロックされアレイ内にセル・データを記憶するＣデータ・フリップ・フロップ１０３と、データ・クロック１０６によりクロックされｅヒューズ・セルへ渡されるプログラム・データをラッチするＰデータ・フリップ・フロップ１０２を含む。
【００１２】
「プログラム」モードにおいて、入ってくるＰデータＩｎ１０７が、Ｐデータ・フリップ・フロップ１０２へラッチされて、プログラム入力１１０で開始される一つまたはそれ以上のプログラム・パルスの発生に際して、ｅヒューズ素子内へプログラムされる。Ｐデータは、パス１１５を介して、ｅヒューズ・セルへ渡される。また、「プログラム」モードにおいて、ＰデータＯｕｔが、マルチプレクサ１０４とマルチプレクサ１０５を通過して、Ｃデータ・フリップ・フロップ１０２へラッチされる。ＶＰＰ１０９は、プログラミング電力源のための入力である。プログラム・データは、Ｐデータ出力線１１５において、アレイ内で次のセルへ直列に渡される。
【００１３】
「テスト」モードにおいて、Ｃデータ・フリップ・フロップが、現在のセルからのデータをラッチして、それをセル・データ出力１１６へパスする。現在のセルからのこのデータは、マルチプレクサ１０４とマルチプレクサ１０５を通じて、テスト入力１１１により指示された通りに渡される。
【００１４】
初期入力１１２が動作して、プログラミング・サイクルに先立って、セル・アレイ内の全てのフリップ・フラップを初期化する。マージン入力１１４が作動増幅器のための基準入力への調整を可能にし、これにより、プログラム素子のために望ましい「高い」抵抗値が修正される。
【００１５】
図２は従来のｅヒューズ・システムの略図を図示し、ｅヒューズ・コントローラ２００と、アレイの入力端および出力端で２０１および２１０により表現された多数の直列接続のｅヒューズ・セルとを有し、各セル２０１と２１０は、これらのセルを一つのeヒューズアレイに統合するための図１のローカル・ロジックを有する。アレイ２１０の最後のステージにおいて、PデータＯｕｔ２０８とCデータＯｕｔ２０９が、「プログラム」モードおよび「テスト」モードにおいて、要求される通りにコントローラへ戻される。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、プログラミング・パルスの以前のセットにより連続的にブローされた後に、引き続くプログラミング・パルスのためにｅヒューズの抵抗が低くなる機会を防止する手段を説明する。
【課題を解決するための手段】
【００１７】
この解決法は、ｅヒューズをブローするために適応プログラミング・アルゴリズムを使用することを通じて、達成される。この適応アルゴリズムにおいては、ブローされたeヒューズ上で充分に高い抵抗が一度達成されると、それをより低い抵抗にする原因になり得る追加のプログラミング・パルスをそれが受け付けない。
【発明を実施するための最良の形態】
【００１８】
パルスの完全なセットが加えられたときまでにｅヒューズが戻ることを防止するこの解決法は、ｅヒューズをブローするための適応プログラミング・アルゴリズムを開発することにより解決される。この適応アルゴリズムは、図３のフローチャートに図示されたように作用する。また、図３を参照して、個別の処理ステップを、下記に説明する。
【００１９】
（メイン・シーケンス）
１．  ｅヒューズ・アレイへプログラムされるデータを決定する。希望するプログラメーション・データをデータベースへ読み込む［３０１］。
２．  希望するデータをアレイにロードして［３０２］、ブローしたい適当なｅヒューズへプログラム・パルスを加える［３０３］。
３．  ブローされたｅヒューズ上の結果を読み取り、決定する［３０４］。
【００２０】
（適応シーケンス）
４．  アレイ素子上で全体的なテスト［３０５］を遂行して、プログラミング完了［３０８］｛Ｙｅｓ、結果が正しい｝へ進み、または、帰還ループ［３０６］｛Ｎｏ、結果が正しくない｝へ進む。
５．  ブローされるべきであったが引き続きブローされなかったデータのみを含むようにデータを再生する（これは、このルーチンの適応的な部分である）［３０６］。引き続きブローされたヒューズは、次のパスにおいて、「０」入力を割り当てられ、これは、「ブローしない」セルと同様である。
６．  「希望するデータをロードする」３０２および「プログラミング・パルスを加える」３０３シーケンスを、希望するアレイ結果が得られるまで所定の回数だけ繰り返し適用する。
【００２１】
図３の適応アルゴリズムにおいて、充分に高い抵抗がブローされたｅヒューズ上で一度達成されると、それを「高抵抗」状態から下げて測定可能に低い抵抗リンクになるようにする他のプログラミング・パルスを受け付けない。この適応アルゴリズムにより、ｅヒューズ・アレイ上でプログラミングの歩留まりが、最大になることを可能にする。
【００２２】
表１は、１６素子ｅヒューズ・アレイのための適応ｅヒューズ・プログラメーション・アルゴリズムの一例を図示する。この表の第１行は、アレイ内の全てのｅヒューズについての初期値が、プログラミング以前にバージン状態にあって、従って全て０であることを示す。第２行（第８行の希望するプログラメーションと一致する）は、第１回目のパスにおいて完全に試みられる所望のプログラメーション・データを示す。所与の位置にロードされた「１」が、そのｅヒューズをブローする。第３行は、第１パスの後に読まれる結果を示す。「１」と目標をつけたｅヒューズ内の４つのｅヒューズが、ブローされない。第４行は、第２パスのプログラメーション・データであって、第１のパスでブローが成功しなかった４つのｅヒューズのみをブローするように修正されている。第５行は、第２パスの後で読まれる結果を示す。第２パスにおいて「１」により目標とされた二つのｅヒューズが、ブローされない。第６行は、第３パスのためのプログラメーション・データを示し、第２パスでブローが成功しなかった二つのｅヒューズのみをブローするように修正されている。第７行は、第３パスの後で読まれる結果を示す。元のプログラメーション・データ内で「１」により目標とされた全てのｅヒューズが、今やブローされている。こうして、各パスのためのプログラメーション・データおよび各パスの後のｅヒューズ・アレイの状態における結果が、表の中に行の連続するペアとして示されている。第３のパスにおいて成功が達成された希望する状態が、表の下部の第８行に示されている。
【００２３】
2004185613.tif 000003
【００２４】
プログラミング処理に対するこの解決法の諸利点は、下記の通り要約される。この適応プログラミング・アルゴリズムは、下記の通りである。
１．  最高のプログラミング歩留まり（正しくプログラムされるデバイスのパーセンテージ）を達成できる。
２．  一層低い電圧をプログラミングに使用でき、これは、ｅヒューズ実施における信頼性に関する懸念を減少させる。
３．  プログラミングのために一層低い電流を使用でき、これは、電力バス幅の要件を減少させて、シリコン領域の節約を結果する。
４．  必要なテスト時間を減少させて、これにより、プログラミング・コストを低くする。
【００２５】
適応プログラミング・アルゴリズムの将来のアプリケーションには、導入される新技術へそれを使用することが含まれる。その他の可能性には、新しいｅヒューズ本体構成の導入の際に歩留まりを強化することが含まれる。ｅヒューズ本体は、ポリシリコンに限定されない。プログラマブル接点と、金属化方法も使用可能であり、このアルゴリズムを、なお適応できる。しかしながら、新しい構成の解決法を使用したｅヒューズ・プログラミング歩留まり改良への努力は、電圧が減少し続けるので、ますます多く制限されるであろう。本発明の方法はまた、「アンチ・ヒューズ」のプログラミングへ容易に拡張することができ、これらは、非プログラミング状態で高抵抗であり、プログラミング状態で「低い」抵抗である。
【００２６】
以上の説明に関して、更に以下の項を開示する。
（１）  プログラメーション・ソースからプログラムされるべきヒューズのアレイのために、希望するデータを読み込むステップと、
希望するデータの対応するビットが第１デジタル状態を有するヒューズへ、一つのプログラメーション・パルスを加え、希望するデータにおける対応するビットが第２デジタル状態を有するヒューズに対しては、プログラメーション・パルスを加えないことにより、前記ヒューズのアレイをプログラムするステップと、
前記ヒューズのプログラメーションを読み取ることと、
前記希望するデータの対応するビットが第１デジタル状態を有し、ヒューズの読み取り状態が前記希望する状態の対応するビットに一致しないヒューズに一つのプログラメーション・パルスを加え、また、前記希望するデータ内の対応するビットが、第２デジタル状態を有するヒューズにはプログラメーション・パルスを与えず、そして、前記希望するデータの対応するビットが第１デジタル状態を有し、ヒューズの読み取り状態が前記希望する状態の対応するビットに一致しないヒューズにはプログラメーション・パルスを与えないことにより、前記ヒューズのアレイをプログラミングすることのシーケンスを、全てのヒューズが、前記希望する状態の対応するビットに一致するまで繰り返すステップ
とを含む電気ヒューズをプログラミングする方法。
【００２７】
（２）  全ての電気ヒューズが最初は低い抵抗を有し、また、いくつかのヒューズがプログラメーションの後で高い抵抗の希望する状態を有する第（１）項記載の方法。
【００２８】
（３）  全ての電気ヒューズが最初は高い抵抗を有し、また、いくつかのヒューズがプログラメーションの後で低い抵抗の希望する状態を有する第（１）記載の方法。
【００２９】
（４）  希望する状態にあるヒューズを表現するデータ・ビットが第２デジタル状態を有し、また、希望する状態にないヒューズを表現するデータ・ビットが第１デジタル状態を有する入力プログラメーション・データを配置することと、前記第１デジタル状態のデータを有するヒューズに対してのみ一つのプログラミング・パルスを加え、また、前記第２デジタル状態を有するヒューズに対して何のプログラミング・パルスも加えないことを、前記ヒューズのアレイをプログラミングする前記ステップが含む第（１）項記載の方法。
【００３０】
（５）  電気ヒューズをプログラミングする方法は、最初に希望するプログラミング状態を決定する（３０１）。この方法は、希望するデータが第１デジタル状態を有する各電気ヒューズへ、一つのプログラメーション・パルスを供給する（３０３）。この方法はヒューズの状態を読み取る（３０４）。先行するプログラメーションにおいて変更されていないヒューズを反映するために、希望するデータが更新される（３０６）。この方法は、選択的プログラミングのステップ（３０３）、読み取りのステップ（３０４）および前記データを再形成するステップ（３０６）を繰返し、全てのヒューズが希望する状態になるまで（３０５）繰り返す。この方法は、一つのヒューズへ多数のプログラメーション・パルスを供給することにより引き起こされるプログラミングのし過ぎを防止し、またヒューズの状態を変更するのをプログラメーション・パルスが失敗することによるプログラミングの不足を防止する。
【図面の簡単な説明】
【００３１】
本発明のこれらおよび他の面は、下記の図面に図示されている。
【図１】従来のｅヒューズ・セル回路構成を図示し、ｅヒューズ素子に加えてそれをｅヒューズ・アレイへ組み込むのに必要なローカル・ロジックを含む（先行技術）。
【図２】ｅヒューズ・コントローラとｅヒューズ・アレイ内に組み込まれた多数の直列接続ｅヒューズ・セルとを有する単純な従来のｅヒューズ・システムを図示する（先行技術）。
【図３】本発明に説明される適応アルゴリズム・ｅヒューズ・プログラミング方法のためのフロー・チャートを図示する。
【符号の説明】
【００３２】
１０１  ｅヒューズ素子
１０２  Ｐデータ・フリップ・フロップ
１０３  Ｃデータ・フリップ・フロップ
１０４  マルチプレクサ
１０５  マルチプレクサ
１０６  データ・クロック
１０７  ＰデータＩｎ
１０８  イネーブル・クロック
１１０  プログラム入力
【図１】
2004185613.tif 000004
【図２】
2004185613.tif 000005
【図３】
2004185613.tif 000006