(57)【要約】  論理ビットを有するメモリセルは、第１のＯＴＰメモリ素子出力を供給する第１のワンタイムプログラマブル（「ＯＴＰ」）メモリ素子と、第２のＯＴＰメモリ素子出力を供給する第２のＯＴＰメモリ素子とを有する。論理演算子が第１のＯＴＰメモリ素子出力および第２のＯＴＰメモリ素子出力に結合され、メモリセルのバイナリメモリ出力を供給する。特定の実施形態において、第１のＯＴＰメモリ素子は第２のＯＴＰメモリ素子とは異なる種類のＯＴＰメモリである。
2010507255.tif 000002
【特許請求の範囲】
【請求項１】
論理ビットを備え、
前記論理ビットは、第１のＯＴＰメモリ素子出力を供給する第１のワンタイムプログラマブル（「ＯＴＰ」）メモリ素子と、
第２のＯＴＰメモリ素子出力を供給する第２のＯＴＰメモリ素子とを有し、さらに、
第１のＯＴＰメモリ素子出力および第２のＯＴＰメモリ素子出力に結合され、メモリセルのメモリ出力を供給する論理演算子を備える、メモリセル。
【請求項２】
第１のＯＴＰメモリ素子は第１のヒューズであり、第２のＯＴＰメモリ素子は第２のヒューズであり、論理演算子はＯＲゲートである、請求項１に記載のメモリセル。
【請求項３】
第１のヒューズは第１の選択されたヒューズ種であり、第２のヒューズは第２の選択されたヒューズ種であり、第１の選択されたヒューズ種は第２の選択されたヒューズ種とは異なる、請求項２に記載のメモリセル。
【請求項４】
第１の選択されたヒューズ種は第１のプログラミング処理ウィンドウであり、第２の選択されたヒューズ種は第２のプログラミング処理ウィンドウであり、第１のプログラミング処理ウィンドウは、論理ビットプログラミング処理ウィンドウをもたらすように第２のプログラミング処理ウィンドウと少なくとも部分的に重複する、請求項３に記載のメモリセル。
【請求項５】
第１のヒューズはポリシリコンヒューズであり、第２のヒューズは金属ヒューズ、コンタクトヒューズおよびビアヒューズからなるグループから選択される、請求項２に記載のメモリセル。
【請求項６】
第１のヒューズは、第１のヒューズネック幅を有する第１のヒューズネックを含む第１のポリシリコンヒューズであり、第２のヒューズは、第２のヒューズネック幅を有する第２のヒューズネックを含む第２のポリシリコンヒューズであり、第２のヒューズネック幅は第１のヒューズネック幅より選択的に幅広い、請求項２に記載のメモリセル。
【請求項７】
第１のＯＴＰメモリ素子はアンチヒューズであり、第２のＯＴＰメモリ素子はヒューズおよびアンチヒューズからなるグループから選択される、請求項１に記載のメモリセル。
【請求項８】
第１のＯＴＰメモリ素子および第２のＯＴＰメモリ素子は、相補的な金属−酸化物−半導体（ＣＭＯＳ）製造処理を用いて製造される、請求項１に記載のメモリセル。
【請求項９】
論理ビットは復号化キーの一部分である、請求項１に記載のメモリセル。
【請求項１０】
論理ビットは、集積回路の構成要素の識別をもたらす、請求項１に記載のメモリセル。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は概して集積回路に関し、特にワンタイムプログラマブルロジックメモリを組込んだ集積回路に関する。
【背景技術】
【０００２】
発明の背景
ワンタイムプログラマブル（「ＯＴＰ」）メモリ素子は、不揮発性メモリ（「ＮＶＭ」）を設けるために集積回路（「ＩＣ」）において使用される。ＮＶＭのデータは、ＩＣがオフでも失われない。ＮＶＭによって、ＩＣ製造業者がたとえばＩＣ上にロット番号とセキュリティデータとを記憶させることが可能となり、ＮＶＭは多くの他の用途において有用である。ヒューズおよびアンチヒューズとして一般に知られている装置がＯＴＰメモリ素子の例である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＩＣにＮＶＭを設けるために、フラッシュメモリなどの他の種類の装置を使用することもできる。しかし、余分な処理工程が典型的に必要となるため、フラッシュメモリをＣＭＯＳ  ＩＣに組込むと費用が大幅に増加する。ポリシリコンヒューズ、金属ヒューズ、コンタクトヒューズおよびビアヒューズといった標準的なＣＭＯＳ処理に適合する多くの種類のヒューズが存在する。しかし、高密度ＯＴＰメモリは典型的に、同様のサイズのフラッシュメモリよりも信頼性が低く、プログラミング歩留まりが少ない。したがって、信頼性および歩留まりがより高いＯＴＰメモリ素子を提供することが望ましい。
【課題を解決するための手段】
【０００４】
発明の概要
論理ビットを有するメモリセルは、第１のＯＴＰメモリ素子出力を供給する第１のワンタイムプログラマブル（「ＯＴＰ」）メモリ素子と、第２のＯＴＰメモリ素子出力を供給する第２のＯＴＰメモリ素子とを有する。論理演算子が第１のＯＴＰメモリ素子出力および第２のＯＴＰメモリ素子出力に結合され、メモリセルのメモリ出力を供給する。特定の実施形態において、第１のＯＴＰメモリ素子は第２のＯＴＰメモリ素子とは異なる種類のＯＴＰメモリである。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施形態に係るメモリ素子を有するＩＣの図である。
【図２】本発明の一実施形態に係るメモリセルの回路図である。
【図３】一実施形態に係る異なる２種類のＯＴＰ装置を有するメモリ素子の平面図である。
【図４】一実施形態に係るＯＴＰ型論理ビットのプログラミング条件を示す図である。
【図５】一実施形態に係るＦＰＧＡの平面図である。
【図６】発明の一実施形態に係るメモリセルを動作させる方法のフローチャートである。
【発明を実施するための形態】
【０００６】
図面の詳細な説明
図１は、発明の一実施形態に係る論理ビット１０２を有するＩＣ１００の図である。論
理ビット１０２は、出力１０６にデータを供給するメモリセル１０４の一部である。データは、たとえばバイナリ「１」または「０」論理値であり、典型的にＩＣの他の回路（図示せず）によって読出される。メモリセル１０４の追加的な部分、たとえばセンスアンプおよびラッチ（図２参照）がＯＴＰメモリ分野の当業者にはよく知られており、図示を簡単かつ明確にするために省略される。
【０００７】
論理ビット１０２は、２個のＯＴＰメモリ素子１０８および１１０、たとえば２個のヒューズを有する。特定の実施形態において、第１のＯＴＰメモリ素子１０８は第１の種類のヒューズであり、第２のＯＴＰメモリ素子１１０は第２の種類のヒューズである。たとえば、第１のＯＴＰメモリ素子はポリシリコンベースのヒューズ（「ポリヒューズ」）であり、第２のＯＴＰメモリ素子は薄膜金属ヒューズであるか、または第１のＯＴＰメモリ素子は細いポリヒューズであり、第２のＯＴＰメモリ素子は幅広いポリヒューズである。ヒューズの「種類」という用語は、第１の種類のＯＴＰメモリ素子が第２の種類の素子とは意図的に異なることを示すのに用いられる。代替的な実施形態において、第１のＯＴＰメモリ素子は第１の種類のヒューズであり、第２のＯＴＰメモリ素子は第１と同じ種類のヒューズである。２個のＯＴＰメモリ素子を１個の論理ビットに設けるとＩＣチップのより大きな面積を消費するが、結果として得られるＮＶＭの歩留まりおよび信頼性が向上するため、冗長なＯＴＰメモリ素子を有する論理セルが望ましいものとなる。
【０００８】
一般に、異なる種類のヒューズは、プログラミング処理中に異なってプログラムされる。所与のプログラミング処理において（たとえば、１０ｍＡの電流を約３．３Ｖのプログラミング電圧にて約５００マイクロ秒から約１２００マイクロ秒間ヒューズに加える）、ヒューズ素子は、比較的低抵抗状態（典型的に約１００Ωから約３００Ω）から比較的高抵抗状態（典型的に約１０ｋΩから約１００ＭΩを上回る）に変換される。プログラムされた状態とプログラムされていない状態とを容易に区別するために、最終的な（プログラムされた）抵抗が当初の（プログラムされていない）抵抗と十分異なることが望ましい。これらの状態は、ヒューズがメモリ素子として用いられる場合、異なる論理状態を表わす。メモリアレイにおけるヒューズ素子は、製造処理およびプログラミング処理中の物理的な変動から生じる、プログラムされていない抵抗とプログラムされた抵抗との両方の分布を有する。つまり、ヒューズリンクは幅、厚さおよび導電率が若干変動することになり、当初の抵抗および最終的な抵抗とプログラミング性とに影響を与える。ヒューズリンクからの熱損失も、プログラムされた抵抗に変動を加え得る。プログラミング処理は、典型的にある種類のヒューズに最適化されるが、プロセス変動がプログラミング結果（最終的な抵抗分布（検知電流分布）および歩留まり）に影響を及ぼし得る。たとえば、弱くプログラムされたヒューズ（たとえばプログラムされた抵抗が約１ｋΩであるヒューズ）はプログラム検証を通過し得るが、時間が経つにつれて導電率が上昇し、信頼性の不良を引起す。
【０００９】
１つの論理ビット１０２に２個のＯＴＰメモリ素子１０８および１１０を設けることによって、ＯＴＰベースのオンチップメモリの歩留まり（特にプログラムされる量）および信頼性が向上する。ある論理ビットにおいて同じ種類のＯＴＰメモリ素子を使用しても利点は得られるが、１個の論理ビットにおいて異なる２種類のＯＴＰメモリ素子を用いることが特に望ましい。なぜならこのような配置によって、製造処理およびプログラミング処理の両方についてマージンがより大きくなるためである。
【００１０】
ＯＴＰメモリ素子１０８および１１０のそれぞれの出力１０９および１１１は、この例ではＯＲゲートである論理演算子（「ゲート」）１１２に供給される。論理演算子１１２は、メモリセル１０４の論理出力１０６を供給する。たとえば、ＯＴＰメモリ素子１０８および１１０のいずれかが論理「１」状態にプログラムされている場合、メモリセル（出力１０６）は、メモリセル１０４について論理値「１」を示す。第１のＯＴＰメモリ素子
が正常にプログラムされた場合は、第２のＯＴＰメモリ素子は論理ビットの値に影響しないという点で、第２のＯＴＰメモリ素子は冗長である場合が多い。しかし、第１のＯＴＰメモリ素子がプログラミングまたは検知（読出）のいずれかにおいて不良である場合は、適切に動作する第２のＯＴＰメモリ素子によって、論理ビットが正確な値を与えることが確実となる。典型的な用途において、ＯＴＰベースのＮＶＭメモリアレイにおける論理ビットの大部分またはすべてが、第１のＯＴＰメモリ素子および第２の（すなわち冗長）ＯＴＰメモリ素子の両方を含む。例示的な動作において、ＯＴＰメモリ素子１０８および１１０の両方がプログラムされる。一実施形態では、両方が同じプログラミング処理を用いてプログラムされる。この手法は、第１のＯＴＰメモリ素子が第１の種類であり、第２のＯＴＰメモリ素子が第２の種類であり、プログラミング処理中に第１の種類のＯＴＰメモリ素子または第２の種類のＯＴＰメモリ素子のうち少なくとも一方のプログラミング歩留まりが増大するようにＯＴＰメモリ素子の種類が選択されている実施形態において特に望ましい。このような技術は、たとえば両方の種類の装置のプログラミングウィンドウ（図４参照）が重複している場合に使用することができるが、これは必須ではない。別の実施形態においては、１つの種類のＯＴＰメモリ素子は第２の種類のＯＴＰメモリ素子と同じ電圧および電流でプログラムされるが、プログラミング信号は、異なる種類のＯＴＰメモリ素子に異なる長さの時間与えられる。
【００１１】
たとえば、いくつかの論理ビットには規格外である第１の種類のＯＴＰメモリ素子についてプログラムされた抵抗が通常の製造変動によって生じるならば、第１の種類が正常にプログラムされないときに正常にプログラムされ得る第２の種類のＯＴＰメモリ素子を選択することによって、論理ビットのプログラミング歩留まりが向上する。特定の例において、第１のＯＴＰメモリ素子は、比較的細く短いネック（可溶性リンク）を有する第１の種類のポリヒューズであり、第２の種類は、比較的幅広の長いネックを有するポリヒューズである。特定の実施形態において、第１の種類のヒューズは、第２の種類のヒューズのネックよりも少なくとも３０％細いネックを有する。
【００１２】
幅広のヒューズがあるプログラミング条件（たとえば第１のプログラミング継続時間）で最適にプログラムされ得るのに対し、細いヒューズは異なるプログラミング条件（たとえば第２のプログラミング継続時間）でプログラムされ得る。２種類のＯＴＰ装置を組合せることで１つの論理値が得られる。プログラミング条件が一部のヒューズを必然的に他と異なるようにプログラムしても、１個の論理ビットに冗長なＯＴＰメモリ素子を設けることによって論理ビットのプログラム量および信頼性が向上する。
【００１３】
代替的な実施形態において、第１のＯＴＰメモリ素子１０８は第１のプログラミング処理を用いてプログラムされ、第２のＯＴＰメモリ素子１１０は第２のプログラミング処理（技術またはシーケンス）を用いてプログラムされる。結果として得られるＯＴＰベースのメモリアレイは、各論理ビットについてＯＴＰメモリ素子を１個のみ有する従来のＯＴＰメモリアレイと比較して、プログラミング歩留まりが増大し、信頼性および検知マージンが向上する。
【００１４】
図２は、発明の一実施形態に係るメモリセル２００の回路図である。各論理ビットについて１個のＯＴＰメモリ素子を有するメモリセルが当該分野で周知である。したがって、メモリセルおよびその動作について簡単な説明のみを行なう。メモリセル２００は、２個のＯＴＰメモリ素子１０８および１１０、たとえばヒューズまたはアンチヒューズを有する。特定の実施形態において、第１のＯＴＰメモリ素子１０８は第１の種類であり、第２のＯＴＰメモリ素子１１０は第２の種類である。プログラムイネーブルトランジスタ２０２および２０４は、関連付けられたプログラミングパッド２０６および２０８において供給されるプログラミング電流用の電流経路をもたらす。プログラミング電圧Ｖfsがプログラミングパッド２０６および２０８に印加され、プログラミング信号Ｖppをゲート端子に
選択された期間Ｔpgm与えることによって、プログラミングトランジスタ２０２および２０４がオンとなる。プログラミングトランジスタ２０２、２０４およびＶppは、プログラミング中に所望のプログラミング電流をヒューズ素子を介して供給するように選択することができる。
【００１５】
ＯＴＰメモリ素子１０８および１１０をプログラムした後、ＯＴＰメモリ素子の論理状態（抵抗）は、当該分野で周知のように検知イネーブルトランジスタ２１０、２１２、２１４および２１６を用いて検知される。各ＯＴＰメモリ素子について検知された論理状態は、関連付けられたラッチ２１８および２２０によって取込まれ、ＯＴＰメモリ素子１０８および１１０の出力（論理状態）１０９および１１１がＯＲゲート１１２に供給される。ＯＴＰメモリ素子の一方または両方が論理「１」状態を示す場合、メモリセル２００の出力１０６は「１」である。もちろん当業者であれば、本例で選択された論理値および機能は例に過ぎず、他の値および機能が代替的に使用されることを理解するであろう。たとえば、両方のＯＴＰメモリ素子は代替的にアンチヒューズ装置であり、論理演算子はＮＯＲゲートであるか、またはＯＴＰメモリ素子の一方がヒューズであり、他方がＯＲ演算子との間にインバータを有するアンチヒューズであるか、またはＯＲ演算子はＮＡＮＤ演算子と置換される。
【００１６】
図３は、一実施形態に係る異なる２種類のＯＴＰ装置３０２および３０４を有する論理ビット３００の平面図である。第１のＯＴＰ装置３０２は、アノード３０８と、カソード３１０と、幅３１４および長さ３１５を有するヒューズネック３１２とを有する細いポリヒューズである。第２のＯＴＰ装置３０４は、第２のアノード３１６と、第２のカソード３１８と、第２の幅３２２および第２の長さ３２３を有する第２のヒューズネック３２０とを有する幅広のポリヒューズである。「細い」および「幅広の」という用語は、第２のヒューズネック３２０が第１のヒューズネック３１２よりも選択的に幅広く設計されることを意味する（すなわち幅３２２は幅３１４より大きい）。
【００１７】
特定の実施形態において、第１のネック３１２は約８０ｎｍ幅および約８００ｎｍ長さであり、第２のネック３２０は約１２０ｎｍ幅および約１．２μｍ長さであって同じ抵抗二乗（「Ｒ二乗」）値を維持し、本質的に同じプログラムされていない抵抗を各種のヒューズに供給し、したがって同じプログラミング電流を使用することができる。ヒューズは典型的に１個ずつプログラムされる。プログラミング電流は、プログラミングトランジスタによって供給され、ＯＴＰヒューズプログラミング分野で知られているようにヒューズに切替えられる。本質的に同じプログラムされていない抵抗を有する異なる２種類のＯＴＰ装置を設けることによって、各装置がプログラムされる際にプログラミングトランジスタから同様の電流が引出される。これにより、両方の種類のヒューズをプログラムする際に、共通の安定した電流源の使用が可能となる。プログラミングヒューズに使用される電流を正確に制御することが望ましい。他のプログラミングパラメータ、たとえばプログラミング電流の継続時間は、ヒューズの各種類について別個に最適化され得る。電流の継続時間は、正確に制御および変化させることが比較的容易である。
【００１８】
第１のポリヒューズ３０２および第２のポリヒューズ３０４は、標準的なＣＭＯＳ製造処理を用いて論理ビットを有するＩＣに製造される。つまり、ＣＭＯＳ  ＩＣ製造技術の一部ではない材料も処理工程も不要である。これは、ＩＣ製造シーケンスに追加的な処理を加えることなくＩＣ上にＯＴＰベースのＮＶＭを供給するため望ましい。
【００１９】
一例において、ポリヒューズはＣＭＯＳ  ＩＣにおけるゲート構造と同様である。ヒューズネックは、従来からゲート絶縁層と称されているもの、特定の例ではＳＴＩ酸化層の上に製造される。ヒューズネックは、ゲート絶縁層上に形成されたｐ＋ドープポリシリコンの層を有し、ケイ化ニッケルなどのケイ化物の層がポリシリコン上に形成される。窒化
シリコンの層がケイ化物上に形成される。プログラミング中、電子がカソードからアノードに流れるにつれて導電性ケイ化素子が電気泳動し、素子のケイ化物がアノード側に蓄積される。したがって、ヒューズネックの位置にはケイ化物はほとんどまたは全く残存せず、ヒューズネックが高抵抗となり、ジュール加熱が生じる。このジュール加熱による高温が、ポリヒューズネック内のドーパント種（たとえばボロンイオン）をヒューズのアノード側およびカソード側に枯渇させる。その後、ヒューズは自己消滅して冷却し、非常に高抵抗にプログラムされる。
【００２０】
図４は、一実施形態に係るＯＴＰ型論理ビットのプログラミング条件を示す。第１のプログラミング処理ウィンドウ４００は、ポリヒューズなどの第１の種類（種類１）のＯＴＰメモリ素子の信頼性が高いプログラミングをもたらすプログラミング電流および電圧条件を示す。第２のプログラミング処理ウィンドウ４０２は、第２の種類のポリヒューズなどの第２の種類（種類２）のＯＴＰメモリ素子の信頼性が高いプログラミングをもたらすプログラミング電流および電圧条件を示す。第１のプログラミング処理ウィンドウおよび第２のプログラミング処理ウィンドウは重複し、重複処理ウィンドウ４０４（点線によって規定）を形成する。４０６の電流および電圧によって規定されるようなプログラミング条件は、種類１のＯＴＰメモリ素子および種類２のＯＴＰメモリ素子の両方を確実にプログラムする。代替的な一実施形態では、選択されたＯＴＰメモリ素子のプログラミング処理ウィンドウは重複しない。なお、代替的な実施形態において、さらに高い信頼性を得るために３個以上のＯＴＰメモリ素子を使用してもよい。
【００２１】
プログラム電圧がたとえば点４０８まで高くドリフトすると、種類１のＯＴＰメモリ素子が確実にプログラムされ得なくても、種類２のＯＴＰメモリ素子は確実にプログラムされたままである。プログラム電圧がたとえば点４１０まで低くドリフトすると、種類２のＯＴＰメモリ素子が確実にプログラムされ得なくても、種類１のＯＴＰメモリ素子は確実にプログラムされたままである。種類１のＯＴＰメモリ素子および種類２のＯＴＰメモリ素子の両方を有する論理ビットのためのプログラミング処理ウィンドウは、第１のプログラミング処理ウィンドウ４００および第２のプログラミング処理ウィンドウ４０２の実線の外周４１２によって規定される。このプログラミング処理ウィンドウ４１２内のどこに生じるプログラミング条件も、種類１のＯＴＰメモリ素子または種類２のＯＴＰメモリ素子の少なくとも一方をプログラムし、一部の例では両方を確実にプログラムするものと考えられる。
【００２２】
したがって、実施形態に係る論理ビットは、１種類のＯＴＰメモリ素子のみを有する従来の論理ビットよりも広い範囲のプログラミング条件について確実にプログラムされる。
【００２３】
異なる種類のＯＴＰメモリ素子を有する論理ビットが、より広い範囲のプログラミングおよびＯＴＰメモリ素子製造処理変動についてプログラミング歩留まりを向上させることを同様に例示するために、他のプログラミングパラメータを用いることができる。
【００２４】
６５ｎｍＣＭＯＳ製造処理を用いて、異なる２種類のポリヒューズを有するテストチップが製造された。第１のプログラミング処理を用いて第１の種類のポリヒューズをプログラムし、第２のプログラミング処理を用いて第２の種類のポリヒューズをプログラムした。２種類のプログラミング処理は、各種のヒューズについて最適化された。テストチップは、プログラミング品質（プログラムされた抵抗）について評価された。これらのテストチップから得られたデータは、論理ビットのプログラミングの信頼性およびプログラミング歩留まりの向上を示した。
【００２５】
図５は、本発明の一実施形態に係る集積回路５００の平面図である。当該集積回路は、機能ブロックのいくつかにおいてたとえばＲＡＭおよびロジックにおいてＣＭＯＳ部分を
含むＦＰＧＡ（フィールドプログラマブルゲートアレイ）であり、ＣＭＯＳ製造処理を用いて製造される。発明の１つ以上の実施形態に係る複数のＯＴＰメモリ素子を有する論理ビットは、ＩＣのいくつかの機能ブロック、たとえばメモリブロック、論理ブロック、Ｉ／Ｏブロック、クロック回路、送受信装置または他の機能ブロックのいずれかにおいて、多くの機能ブロック内において、またはＦＰＧＡ５００の物理的な部分もしくは区分内において組込まれる。本発明の実施形態に係る冗長（デュアル）ＯＴＰメモリ素子（たとえばヒューズ）を有する論理ビットがＦＰＧＡにおいて特に望ましい。なぜなら、さまざまな目的で信頼性が高く安全なオンチップＮＶＭがもたらされるからである。たとえば、構成要素を認識するために、または外部ソースからオンチップＮＶＭに記憶されたデータをＩＣにダウンロードする必要性をなくすために使用され得る。これは時間がかかり、遮断されることがある。別の例示的な用途において、外部ソースからＦＰＧＡに転送されるビットストリーム、たとえばデータまたは設定ファイルを（たとえば１つ以上の復号化キーを記憶することによって）復号化するために、一実施形態に係るオンチップＯＴＰ  ＮＶＭが使用され得る。たとえば、暗号化されていない設定ビットストリームは転送中に遮断されることがある。設定ビットストリームを暗号化し、ＦＰＧＡにおいてＯＴＰベースのＮＶＭを使用することで設定ビットストリームを復号化することによって、ＦＰＧＡにおける設計安全性が可能となり得る。オンチップ暗号化／復号化キーをＯＴＰ  ＮＶＭに記憶させるのに必要なメモリは比較的少なく、したがってＩＣ上のスペースをあまり消費しない。デュアルＯＴＰメモリ素子のメモリアレイは単一ＯＴＰメモリ素子のメモリアレイよりも大きなチップ領域を消費するものの、この不利益は軽微であり、製造可能性および信頼性の向上に値する。デュアルＯＴＰメモリ素子メモリの別の例示的な使用法は、少数のビット（典型的に１００ビット以下）を記憶して、オンチップ増幅器または発振器の調整などのデジタル調整機能を設けることである。発明の実施形態は、製造が容易で信頼性が高いオンチップＮＶＭを提供し、低密度記憶用途におけるサイズの不利益を最小とする。ＮＶＭは電源がオフの際もその情報を保持するため、バッテリによるバックアップまたはＦＰＧＡへの他の継続的な電力供給の必要がない。
【００２６】
ＦＰＧＡアーキテクチャは、マルチギガビット送受信装置（ＭＧＴ５０１）、設定可能論理ブロック（ＣＬＢ５０２）、ランダムアクセスメモリブロック（ＢＲＡＭ５０３）、入力／出力ブロック（ＩＯＢ５０４）、設定およびクロックロジック（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ５０５）、デジタル信号処理ブロック（ＤＳＰ５０６）、専用入力／出力ブロック（Ｉ／Ｏ５０７）（たとえば設定ポートおよびクロックポート）、ならびにデジタルクロックマネージャ、アナログデジタル変換器、システム監視ロジックなどの他のプログラマブルロジック５０８等を含む多数の異なるプログラマブルタイルを含む。一部のＦＰＧＡは、専用の処理ブロック（ＰＲＯＣ５１０）も含む。一部のＦＰＧＡにおいて、各プログラマブルタイルは、各隣接タイルにおいて対応する相互接続素子との標準化接続を有するプログラマブル相互接続素子（ＩＮＴ５１１）を含む。したがって、プログラマブル相互接続素子を合わせると、例示されたＦＰＧＡのためのプログラマブル相互接続構造が実現される。プログラマブル相互接続素子（ＩＮＴ５１１）は、図５の上部に含まれる例によって示されるように、同じタイル内のプログラマブル論理素子との接続も含む。たとえばＣＬＢ５０２は、ユーザロジックを実現するようにプログラムすることができる設定可能論理素子（ＣＬＥ５１２）と１個のプログラマブル接続素子（ＩＮＴ５１１）とを含み得る。ＢＲＡＭ５０３は、１個以上のプログラマブル相互接続素子に加えて、ＢＲＡＭ論理素子（ＢＲＬ５１３）を含み得る。典型的に、１個のタイルに含まれる相互接続素子の数はタイルの高さに依存する。図示した実施形態では、ＢＲＡＭタイルは４個のＣＬＢと同じ高さであるが、他の数（たとえば５個）を使用することもできる。ＤＳＰタイル５０６は、適切な数のプログラマブル相互接続素子に加えてＤＳＰ論理素子（ＤＳＰＬ５１４）を含み得る。ＩＯＢ５０４は、たとえば、１インスタンスのプログラマブル相互接続素子（ＩＮＴ５１１）に加えて、２インスタンスの入力／出力論理素子（ＩＯＬ５１５）を含み得る。当業者には明らかであろうが、たとえばＩ／Ｏ論理素子５１５に接続される
実際のＩ／Ｏパッドは、さまざまな図示の論理ブロックの上方に積層された金属を用いて製造され、典型的に入力／出力論理素子５１５の領域には限定されない。図示した実施形態において、ダイの中心付近の列領域（図５において影付きで示す）は、設定、クロックおよび他の制御ロジックに用いられる。
【００２７】
図５に示されるアーキテクチャを用いた一部のＦＰＧＡは、ＦＰＧＡの大部分を構成する規則的な列構造を分断する追加的な論理ブロックを含む。追加的な論理ブロックは、プログラマブルブロックおよび／または専用ロジックであり得る。たとえば、図５に示される処理ブロックＰＲＯＣ５１０は、複数列のＣＬＢおよびＢＲＡＭに及ぶ。
【００２８】
なお、図５は例示的なＦＰＧＡアーキテクチャのみを例示するものである。１列の論理ブロック数、列の相対的な幅、列の数および順序、列に含まれる論理ブロックの種類、論理ブロックの相対的な寸法、ならびに図５の上部に含まれる相互接続／ロジックの実装は、単なる例示である。たとえば、実際のＦＰＧＡにおいては、ＣＬＢがどこに出現しても、隣接する２本以上のＣＬＢの列が典型的に含まれ、ユーザロジックの効率的な実装が容易となる。
【００２９】
図６は、発明の一実施形態に係るメモリセルを動作させる方法６００のフローチャートである。ある論理ビットの第１のワンタイムプログラマブル（「ＯＴＰ」）メモリ素子に第１のプログラミング条件が与えられる（ステップ６０２）。当該論理ビットの第２のＯＴＰメモリ素子に第２のプログラミング条件が与えられる（ステップ６０４）。
【００３０】
特定の実施形態において、第１のプログラミング条件（たとえばプログラミング電圧、プログラミング電流および電流パルス継続時間）は第２のプログラミング条件と同じである。代替的な実施形態において、第１のプログラミング条件は第１のＯＴＰメモリ素子をプログラムするために最適化され、第２のプログラミング条件は第２のＯＴＰメモリ素子をプログラムするために最適化される。特定の実施形態において、第１のプログラミング条件は第１のプログラミング処理ウィンドウを有し、第２のプログラミング条件は第２のプログラミング処理ウィンドウを有する。第１のプログラミング処理ウィンドウは、第２のプログラミング処理ウィンドウと少なくとも部分的に重複し、論理ビットについて重複プログラミング処理ウィンドウを形成する。
【００３１】
論理ビットにおける第１のＯＴＰメモリ素子からの第１のメモリ素子出力および第２のＯＴＰメモリ素子からの第２のメモリ素子出力は、メモリセルの論理演算子に結合され（ステップ６０６）、論理演算子は、第１のメモリ素子出力、第２のメモリ素子出力および論理演算子に従ってメモリセルからの論理出力を供給するように演算される（ステップ６０８）。特定の実施形態において、第１のＯＴＰメモリ素子および第２のＯＴＰメモリ素子はヒューズであり、論理演算子はＯＲゲートである。特定の実施形態において、メモリセルからの論理出力は復号化キーの一部である。さらなる実施形態において、メモリセルからの論理出力は、フィールドプログラマブルゲートアレイの設定ビットストリームを復号化するのに用いられる。代替的な実施形態において、メモリセルからの論理出力はＦＰＧＡの構成要素の識別をもたらす。
【００３２】
本発明を具体的な実施形態に関連して説明したが、当業者にはこれらの実施形態の変形が自明であろう。したがって添付の請求項の精神および範囲は、上記の説明に限定されるべきではない。
【図１】
2010507255.tif 000003
【図２】
2010507255.tif 000004
【図３】
2010507255.tif 000005
【図４】
2010507255.tif 000006
【図５】
2010507255.tif 000007
【図６】
2010507255.tif 000008
【手続補正書】
【提出日】平成21年4月17日(2009.4.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
論理ビットを備え、
前記論理ビットは、第１の種類の第１のＯＴＰメモリ素子出力を供給する第１のワンタイムプログラマブル（「ＯＴＰ」）メモリ素子と、
第２のＯＴＰメモリ素子出力を供給する第２の種類の第２のＯＴＰメモリ素子とを有し、さらに、
第１のＯＴＰメモリ素子出力および第２のＯＴＰメモリ素子出力に結合され、メモリセルのメモリ出力を供給する論理演算子を備え、
第１の種類は第２の種類とは異なる、メモリセル。
【請求項２】
第１のＯＴＰメモリ素子は第１のヒューズであり、第２のＯＴＰメモリ素子は第２のヒューズであり、論理演算子はＯＲゲートである、請求項１に記載のメモリセル。
【請求項３】
第１のヒューズは第１の選択されたヒューズ種であり、第２のヒューズは第２の選択されたヒューズ種であり、第１の選択されたヒューズ種は第２の選択されたヒューズ種とは異なる、請求項２に記載のメモリセル。
【請求項４】
第１の選択されたヒューズ種は第１のプログラミング処理ウィンドウであり、第２の選択されたヒューズ種は第２のプログラミング処理ウィンドウであり、第１のプログラミング処理ウィンドウは、論理ビットプログラミング処理ウィンドウをもたらすように第２のプログラミング処理ウィンドウと少なくとも部分的に重複する、請求項３に記載のメモリセル。
【請求項５】
第１のヒューズはポリシリコンヒューズであり、第２のヒューズは金属ヒューズ、コンタクトヒューズおよびビアヒューズからなるグループから選択される、請求項２に記載のメモリセル。
【請求項６】
第１のヒューズは、第１のヒューズネック幅を有する第１のヒューズネックを含む第１のポリシリコンヒューズであり、第２のヒューズは、第２のヒューズネック幅を有する第２のヒューズネックを含む第２のポリシリコンヒューズであり、第２のヒューズネック幅
は第１のヒューズネック幅より選択的に幅広い、請求項２に記載のメモリセル。
【請求項７】
第１のＯＴＰメモリ素子はアンチヒューズであり、第２のＯＴＰメモリ素子はヒューズおよびアンチヒューズからなるグループから選択される、請求項１に記載のメモリセル。
【請求項８】
第１のＯＴＰメモリ素子および第２のＯＴＰメモリ素子は、相補的な金属−酸化物−半導体（ＣＭＯＳ）製造処理を用いて製造される、請求項１に記載のメモリセル。
【請求項９】
１個の論理ビットは復号化キーの一部分である、請求項１に記載のメモリセル。
【請求項１０】
１個の論理ビットは、集積回路の構成要素の識別をもたらす、請求項１に記載のメモリセル。
【国際調査報告】
2010507255.tif 000009
2010507255.tif 000010
2010507255.tif 000011