(57)【特許請求の範囲】
【請求項１】
Ｌ個のメモリライン及びｎ個のアドレスラインを含み、第１の抵抗状態を有する第１のアドレス素子と、該第１のアドレス素子よりも大型で第２の抵抗状態を有する第２のアドレス素子とを含むアドレス構成のシーケンスを使用する方法であって、
Ｌ個のブロックを形成することを含み、該ブロックのそれぞれの最上位列が、前記第２のアドレス素子が隣接排反して同一のシフトされていない前記シーケンスを含むように、前記シーケンスで充填されており、
前記ブロックのそれぞれの最下位列のエントリが、前記第２のアドレス素子が隣接排反して循環的にシフトされるように、前記各ブロックの最下位列が前記シーケンスで充填されており、
それにより、前記Ｌ個のブロックが、Ｌ２個のメモリラインと２ｎ個のアドレスラインのためのアドレス構成を含む、方法。
【請求項２】
前記ブロックのそれぞれに対する前記循環的シフトが固有である、請求項１に記載の方法。
【請求項３】
前記ブロックのそれぞれの前記最上位列のｉ番目のエントリが、前記シーケンスのｉ番目のエントリと等しい、請求項１に記載の方法。
【請求項４】
ｋ番目のブロックの前記最下位列のｉ番目のエントリが、前記シーケンスの（ｉ＋ｓ（ｋ））番目のエントリと等しい（但し、ｓ（ｋ）はシフト量）、請求項１に記載の方法。
【請求項５】
Ｌが奇数の場合、ｓ（ｋ）＝ｓ（ｋ−２）−２である、請求項４に記載の方法。
【請求項６】
前記Ｌ個のブロックが第１のテーブルを有し、Ｌが偶数である場合、該第１のテーブルからツインテーブルを形成することをさらに含む、請求項１に記載の方法。
【請求項７】
前記第１のテーブルが前記ツインテーブルの最後に追加される、請求項６に記載の方法。
【請求項８】
前記ツインテーブルが前記第１のテーブルの最後に追加される、請求項６に記載の方法。
【請求項９】
Ｌ個のメモリラインを含む前記シーケンスが隣接排反であり、さらに以下の６つの条件、すなわち、ｃ０およびｃ１が異なるパリティを（整数として）有し、ｃ２およびｃ３が異なるパリティを（整数として）有し、Ｔ（ｃ１＋１）∧Ｔ（ｃ２）＝０であり、Ｔ（ｃ０＋１）∧Ｔ（ｃ１）＝０であり、Ｔ（ｃ２＋１）∧Ｔ（ｃ３）＝０であり、Ｔ（ｃ３＋１）∧Ｔ（ｃ０）＝０である（但しＴ（ｊ）はｊ番目のメモリラインのアドレス構成）、という前記条件が満足されるように、１とＬとの間にインデックスｃ０、ｃ１、ｃ２およびｃ３が存在する、請求項６に記載の方法。
【請求項１０】
前記シーケンスがルックアップテーブルから獲得される、請求項１に記載の方法。
【請求項１１】
第１の抵抗状態を有する第１のアドレス素子と、該第１のアドレス素子よりも大型で第２の抵抗状態を有する第２のアドレス素子と、を含むメモリデバイスのアドレス構成を生成する方法であって、
Ｌ個のメモリライン及びｎ個のアドレスラインのためのアドレス構成のシーケンスにアクセスするステップと、
Ｌ個のブロックを形成するステップと、を含み、
該ブロックのそれぞれの最上位列においては、前記第２のアドレス素子が隣接排反していると共に、該最上位列のｉ番目のエントリが前記シーケンスのｉ番目のエントリと等しく、ｋ番目のブロックの最下位列においては、前記第２のアドレス素子が隣接排反していると共に、該最下位列のｉ番目のエントリが前記シーケンスの（ｉ＋ｓ（ｋ））番目のエントリと等しく（但しｓ（ｋ）はシフト量）、
前記Ｌ個のブロックが、Ｌ２個のメモリラインと２ｎ個のアドレスラインのためのアドレス構成を含む、方法。
【請求項１２】
前記ブロックのそれぞれに対するシフト量が固有である、請求項１１に記載の方法。
【請求項１３】
Ｌが奇数の場合、ｓ（ｋ）＝ｓ（ｋ−２）−２である、請求項１１に記載の方法。
【請求項１４】
前記Ｌ個のブロックが第１のテーブルを有し、Ｌが偶数である場合に該第１のテーブルからツインテーブルを形成するステップをさらに含む、請求項１１に記載の方法。
【請求項１５】
前記シーケンスがルックアップテーブルから獲得される、請求項１１に記載の方法。
【請求項１６】
Ｌ個のメモリライン及びｎ個のアドレスライン用のアドレス構成を含むルックアップテーブルを使用して、第１の抵抗状態を有する第１のアドレス素子と、該第１のアドレス素子よりも大型で第２の抵抗状態を有する第２のアドレス素子と、を含むメモリデバイスのアドレス構成を生成する方法であって、
Ｌ個のブロックを形成することを含み、該ブロックのそれぞれの最上位列においては、前記第２のアドレス素子が隣接排反していると共に、該最上位列のｉ番目のエントリが前記シーケンスのｉ番目のエントリと等しく、ｋ番目のブロックの最下位列においては、前記第２のアドレス素子が隣接排反していると共に、該最下位列のｉ番目のエントリが前記シーケンスの（ｉ＋ｓ（ｋ））番目のエントリと等しく（但しｓ（ｋ）はシフト量）、
前記Ｌ個のブロックが、Ｌ２個のメモリラインと２ｎ個のアドレスラインのためのアドレス構成を含む、
方法。
【請求項１７】
前記ブロックのそれぞれに対するシフト量が固有である、請求項１６に記載の方法。
【請求項１８】
Ｌが奇数の場合、ｓ（ｋ）＝ｓ（ｋ−２）−２である、請求項１６に記載の方法。
【請求項１９】
前記Ｌ個のブロックが第１のテーブルを有し、Ｌが偶数である場合に該第１のテーブルからツインテーブルを形成することをさらに含む、請求項１６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報記憶装置に関する。より詳細には、本発明は、半導体メモリのためのアドレスロジックに関する。
【０００２】
【従来の技術】
ＰＤＡ、ハンドヘルドコンピュータ、デジタルカメラおよびデジタルミュージックプレイヤ等の携帯機器は、データ、デジタルイメージおよびＭＰ３ファイルを格納するためのメモリを有する。これら携帯機器に対して異なるタイプのメモリが入手可能である。従来のメモリタイプには、フラッシュメモリ、小型ハードドライブ、小型コンパクトディスクおよび磁気テープが含まれる。しかしながら、これらメモリタイプの各々には、以下の限界のうちの１つまたは複数がある。すなわち、物理サイズが大きいこと、記憶容量が低いこと、コストが相対的に高いこと、頑強性に乏しいこと、アクセス時間が低速であること、消費電力が高いこと、である。
【０００３】
半導体ダイオードベースのＯＴＰメモリが、２００１年６月５日に出願された本願と同一の譲受人に譲渡された米国特許出願第０９／８７５，３５６号に開示されている。従来のメモリと比較して、ダイオードベースのメモリは、耐衝撃性が高く、消費電力が低く、アクセス時間が高速であり、転送速度が適度であり、記憶容量が十分である。ダイオードベースのメモリは、携帯機器の標準携帯インタフェース（例えば、ＰＣＭＣＩＡ、ＣＦ）に適合することができる。
【０００４】
複数レベルを有するダイオードベースのメモリ装置では、各レベルがメインメモリとアドレスロジックとを有する（ＤＲＡＭ等の従来の半導体メモリとは異なる）。ダイオードベースのメモリ装置のアドレスロジックは、プログラム可能である。アドレスロジックは、各レベルが製作された後にプログラムされることが可能である。いかなるマスキングも必要でないため、物理的処理は簡略化される。
【０００５】
【発明が解決しようとする課題】
メモリ容量を増大させることは、メモリ製造業者の継続的な目的である。しかしながら、メモリ容量が増大するにしたがい、アドレスラインおよびメモリラインの数もまた増大する。それによって、アドレスラインの増大に適応するためにアドレス構成が長くなり、メモリラインの増大に適応するためにアドレス構成の数が増大する。
【０００６】
アドレス構成の効率的な生成が必要である。
【０００７】
【課題を解決するための手段】
本発明の一態様によれば、方法は、Ｌ個のメモリライン及びｎ個のアドレスラインを有するアドレス構成のシーケンスを使用することを含む。本方法は、Ｌ個のブロックを形成する。各ブロックの最上位列が同じシフトされていないシーケンスを含むように、各ブロックの最上位列にはシーケンスが充填される。ブロックの最下位列のエントリが循環的にシフトされるように、各ブロックの最下位列にはシーケンスが充填される。Ｌ個のブロックが、Ｌ２個のメモリラインと２ｎ個のアドレスラインとに対するアドレス構成を含む。
【０００８】
本発明の他の態様および利点は、例として本発明の原理を例示している添付図面に関連して、以下の詳細な説明から明らかとなろう。
【０００９】
【発明の実施の形態】
例示の目的のために図面に示すように、本発明は、ダイオードベースのＯＴＰメモリ装置において具体化される。以下の段落では、ＯＴＰメモリ装置の構造を説明し、その後２つのアドレスプロトコルを説明する。アドレスプロトコルのうちの一方は、耐故障性を持つアドレス構成を提供することができる。他方のアドレスプロトコルは、耐故障性を持つアドレス構成とともに隣接排反(neighborhood-disjoint)アドレス構成を提供することができる。耐故障性を持つアドレスロジックは、製造歩留まりを向上させることができ、隣接排反アドレスロジックは、メモリ装置をより高い分解能で形成することができる。アドレスプロトコルの説明の後に、ルックアップを使用してアドレス構成を大型メモリアレイに拡張する方法を説明する。
【００１０】
図１は、マルチレベル半導体メモリ装置１１０を示す。複数のレベル１１２は、互いの上に積重ねられている。各レベル１１２は、メインメモリとアドレスロジックとを有する。レベル１１２は、メモリシステムインタフェース１１６によって制御／インタフェース回路１１４に接続される。制御／インタフェース回路１１４は、基板上に形成される。制御／インタフェース回路１１４は、装置１１０を動作させるための機能とともに、誤り符号訂正（ｅｒｒｏｒ  ｃｏｄｅ  ｃｏｒｒｅｃｔｉｏｎ（ＥＣＣ））と欠陥管理機能とを実行する。これら機能には、書込み電圧を設定すること、書込みイネーブルラインを設定しパワーセンスストライピングを制御することと、論理アドレスを物理メモリロケーションにアクセスするために必要なアドレスラインパターンに変換することによってメモリに対してアドレス指定すること、センスライン出力のデータ読出し処理と、が含まれる。
【００１１】
システムインタフェース１１６は、アドレスラインを含む。各レベル１１２のアドレスロジックは、同じアドレスラインを共有する。データが装置１１０に書込まれる時、ビットはあるレベル以上の隣接するメモリ素子には格納されない。代りに、ワードのビットは、異なるレベル１１２に格納される。
【００１２】
アドレスロジックが耐故障性を持つ場合、１つのレベルで１つのアドレスラインに欠陥がある可能性があり、別のレベルで別のアドレスラインに欠陥がある可能性があるが、各レベルは独立して欠陥に対して耐性がある。
【００１３】
ここで、図２を参照するが、この図は、半導体メモリ装置のレベル２０８を示す。レベル２０８は、メインメモリ２１０とプログラマブルアドレスロジック２１２、２１４とを有する。メインメモリ２１０は、ＯＴＰメモリ素子２１６と、メモリ素子２１６の行に沿って延在するワードライン２１８と、メモリ素子２１６の列に沿って延在するビットライン２２０と、からなるクロスポイント抵抗アレイを有する。メモリ素子２１６の各行に対して１つのワードライン２１８と、メモリ素子２１６の各列に対して１つのビットライン２２０と、があってよい。各メモリ素子２１６は、ワードライン２１８とビットライン２２０とのクロスポイントに配置される。レベル２０８の図を簡略化するために、比較的少ない数のメモリ素子２１６のみが示されている。実際には、いかなるサイズのアレイが使用されてもよい。
【００１４】
メモリラインは、ワードライン２１８かまたはビットライン２２０のいずれかを指してもよい。
【００１５】
アドレスロジック２１２、２１４は、組合せダイオードロジックを使用して読出しおよび書込み動作中にメモリ素子２１６をアドレス指定する。アドレスロジック２１２、２１４は、ワードライン２１８を選択するＯＴＰ行デコーダ２１２を含む。行デコーダ２１２は、行アドレスライン２２２に供給されるアドレスをデコードすることによってワードライン２１８を選択する（アドレスは、外部行アドレスドライバ２２４によって供給されてもよい）。行デコーダ２１２は、複数のＯＴＰアドレス素子２２６を有する。行デコーダ２１２の各アドレス素子２２６は、ワードライン２１８と行アドレスライン２２２とのクロスポイントにある。
【００１６】
アドレスロジック２１２、２１４はまた、ビットライン２２０を選択するＯＴＰ列デコーダ２１４も有する。列デコーダ２１４は、列アドレスライン２２８に供給されるアドレスをデコードすることによりビットライン２２０を選択する（アドレスは、外部列アドレスドライバ２３０によって供給されてもよい）。列デコーダ２１４もまた、複数のＯＴＰアドレス素子２２６を有する。列デコーダ２１４の各アドレス素子２２６は、ビットライン２２０と列アドレスライン２２８とのクロスポイントにある。
【００１７】
各ワードライン２１８の一端は、行センスロジック２３４で終端する。行センスロジック２３４は、複数のセンス抵抗器２３６を有し、各センス抵抗器２３６は行パワーライン２３８とワードライン２１８の端部との間に接続される。行センスライン２４０は、ワードライン２１８と交差する。行センスロジック２３４はまた、複数のセンス素子２４２も有し、各センス素子２４２は、行センスライン２４０とワードライン２１８との間に接続される。
【００１８】
各ビットライン２２０の一端は、列センスロジック２４４で終端する。列センスロジック２４４は、複数のセンス抵抗器２３６を有し、各センス抵抗器２３６は、列パワーライン２４６とビットライン２２０の端部との間に接続される。列センスライン２４８は、ビットライン２２０と交差する。列センスロジック２４４はまた、複数のセンス素子２４２を有し、各センス素子２４２は、列センスライン２４８とビットライン２２０との間に接続される。
【００１９】
メインメモリ２１０と行デコーダ２１２との間の行プログラミングライン２５０は、ワードライン２１８と交差する。プログラミング素子２５２は、行プログラミングライン２５０とワードライン２１８との間に接続される。
【００２０】
メインメモリ２１０と列デコーダ２１４との間の列プログラミングライン２５４は、ビットライン２２０と交差する。プログラミング素子２５２は、列プログラミングライン２５４とビットライン２２０との間に接続される。
【００２１】
メモリ素子２１６と、アドレス素子２２６と、センス素子２４２と、プログラミング素子２５２と、は、すべてダイオードベースであってよい。これによって、レベル２０８の製作が容易になる。
【００２２】
図３ａ乃至図３ｃに、異なるタイプのプログラマブル素子２１６／２２６／２４２／２５２を示す。図３ａのプログラマブル素子は、ダイオード３１２と直列に連結されたヒューズ３１０を含む。プログラミングの前は、かかる素子の抵抗状態はローであり、ヒューズ３１０は元のまま（変化しない、intact）である。プログラミング中、素子の抵抗状態は、ヒューズ３１０の「飛び(blowing)」によってローからハイに変化することができる。
【００２３】
図３ｂのプログラマブル素子は、ダイオード３２２と直列に連結された抵抗器３２０を含む。プログラミングの前は、かかる素子の抵抗状態はローであり、ヒューズ３２０は元のままである。プログラミング中、素子の抵抗状態は、抵抗器３２０の「飛び(blowing)」によりローからハイに変化することができる。
【００２４】
図３ｃのプログラマブル素子は、ダイオード３３２のみを含む。プログラミングの前は、ダイオード３３２は元のままであるため、その抵抗状態はローである。プログラミング中、ダイオード３３２は、その抵抗状態をローからハイに変化させるように開放されることが可能である。かかるダイオード３３２は、ヒューズとして機能する。代替的に、ダイオード３３２は、プログラミング中に高抵抗状態から低抵抗状態になるアンチヒューズとして機能することができる。
【００２５】
プログラマブル素子２１６／２２６／２４２／２５２は、図３ａ乃至図３ｃに示すタイプに限定されない。例えば、プログラマブル素子２１６／２２６／２４２／２５２は、ダイオードの代りにトランジスタを含むことができる。
【００２６】
図２に戻ると、レベル２０８は以下のように製作することができる。基板上に列ライン２２０が形成され、列ライン２２０上にシリコンの多層膜が形成され、膜の上にワードライン２１８が形成される。各プログラマブル素子２１６／２２６／２４２／２５２は、２つの交差トレース（Ｔ）（図４参照）間において膜（Ｆ）のその部分として形成されてよい。プログラマブル素子２１６／２２６／２４２／２５２のサイズは、交差するライン間のオーバラップ部分と膜の厚さとによって確定される。例えば、メインメモリ２１０のダイオードは、交差するワードライン２１８とビットライン２２０との間において膜のその部分として形成されてよい。
【００２７】
膜の異なる層は、ダイオード３１２、３２２、３３２を形成するために適当なドーピング（および／または結晶およびアモルファスシリコンの組合せ）を有する。抵抗器３２０、ヒューズ３１０またはアンチヒューズを形成するために、適当なドーピングにより更なる層を追加することができる。センス抵抗器２３６は、ワードおよびビットライン２１８および２２０の端部を変更することによって形成されてよい。行および列アドレスドライバ２２４および２３０は、基板上に制御／インタフェース回路１１４の一部として形成されてよい。
【００２８】
データは、行および列アドレスを行および列デコーダ２１２および２１４に供給することによって、メインメモリ２１０に書込むことができる。書込み電流は、選択されたワードライン２１８と選択されたビットライン２２０とを流れ、したがって選択されたワードおよびビットライン２１８および２２０のクロスポイントにおいてメモリ素子２１６を流れる。書込み電流の大きさは、選択された要素の抵抗状態を変更するためには十分である（例えば、図３ａのヒューズ３１０を開放すること、図３ｂの抵抗器３２０を開放すること、図３ｃのダイオード３３２を開放すること、アンチヒューズを短絡させることによる）。
【００２９】
メモリ素子２１６の抵抗状態は、行および列デコーダ２１２および２１４に行および列アドレスを供給することによって検知することができる。行センスライン２４０に電圧が印加され、列センスライン２４８には反対の極性の電圧が印加される。センス電流は、選択されたワードライン２１８と選択されたビットライン２２０とに流れ、したがって、選択されたワードおよびビットライン２１８および２２０のクロスポイントにおいてメモリ素子２１６を流れる。センス電流の大きさは、選択されたメモリ素子２１６の抵抗状態を示す。
【００３０】
ここで、図４ａを参照する。行および列デコーダ２１２および２１４は、装置製作（４１２）前に構成されてよく（４１０）、レベル２０８が製作された後にプログラムされる（４１４）。デコーダ２１２および２１４は、メモリラインにアドレス構成を割当てることによって構成されてよい。各アドレス構成は、論理１と論理０とのビットパターンを含む。アドレス構成の各ビットは、メモリラインに接続されたプログラマブルアドレス素子２２６に対応する。アドレス素子２２６は、アドレス構成にしたがって製作される。例えば、「０」のアドレス構成ビット値に対応するアドレス素子２２６は、「１」のアドレス構成ビットに対応するアドレス素子２２６とは異なる通電容量を有する。ここで、アドレス素子の製作およびプログラミングをより詳細に説明する。アドレス構成を生成するアドレスプロトコルについては後述する。
【００３１】
図５を参照する。塗潰しゼロ（●）によって示される高通電容量素子は、アドレス構成ビットの第１の論理値に対応する。バツ印（×）によって示される低通電容量素子は、アドレス構成ビット状態の第２の論理値に対応する。塗潰しゼロによって示されるアドレス素子２２６は、プログラミング中に抵抗状態が変化しない。バツ印によって示されるアドレス素子は、プログラミング中抵抗状態が変化する。単に例示の目的のために、バツ印によって示される素子は論理「０」に対応し、塗潰しゼロによって示される素子は論理「１」に対応する。論理「１」は、必ずしも高電圧に対応しない。
【００３２】
行デコーダ２１２のプログラミング中、行プログラミングライン２５０にわたって電圧（−Ｖ）が印加され、行センスライン２４０に反対の極性の電圧（＋Ｖ）が印加される。（列デコーダ２１４のプログラミング中、列プログラミングライン２５４の前後に電圧が印加され、列センスライン２４８に反対の極性の電圧が印加される。）これによって、背合せに接続された２つのダイオードの前後に有効に電圧が印加される。電圧は、すべてのアドレス素子が逆バイアスされ、センス素子が順方向バイアスされるように印加される。したがって、電流はアドレス素子２２６を流れる。この電流により、バツ印によって示されるアドレス素子２２６のリンクは断絶されるが、塗潰しゼロによって示されるアドレス素子２２６のリンクは断絶されない。このように、塗潰しゼロによって示されるアドレス素子２２６は元のままの(intact)状態を維持する。行デコーダ２１２のメモリラインＭ１〜Ｍ９は、元のままの（変化しない）および変化したアドレス素子２２６からなる異なるパターンに接続され、それによってアドレスラインのセットがメモリラインのうちの１つを除くすべてを除外することになる。
【００３３】
さらに、メモリラインのダイオードパターン（プログラミング後）を示す図５ａを参照する。アドレス素子２２６のダイオードは、ワイヤードロジック素子を形成するアクティブな素子である。アドレスラインＡ０〜Ａ５にアドレスａ０ａ１ａ２ａ３ａ４ａ５＝１１０１１０が与えられると、アドレスラインＡ０、Ａ１、Ａ３およびＡ４に接続されたダイオードは逆バイアスされる。その結果、電流（矢印で示す）は、メモリラインからメインメモリ２１０に流れることができるようになる。
【００３４】
同じアドレスａ０ａ１ａ２ａ３ａ４ａ５＝１１０１１０が、図５ｂに示すメモリラインを除外する。例えば、アドレスラインＡ２に論理「０」を与えると、アドレスラインＡ２とメモリラインとの間に接続されたダイオードが順方向バイアスされることになる。その結果、電流は順方向バイアスされたダイオードに分流し、メインメモリ２１０に流れなくなる。
【００３５】
ここで図６ａ乃至図６ｃを参照する。高通電容量を有するアドレス素子２２６ｂは、低通電容量を有するアドレス素子２２６ａより物理的に大型に作製される可能性がある。アドレスプロトコルが、いずれの列にも大型のアドレス素子２２６ｂが隣接していないことを保証することができる場合、アドレスロジックは、図６ａに示す構成を有することができる。図６ａは、列がいかなる隣接する大型のアドレス素子２２６ｂも含まない行デコーダ２１２を示す。そのようには示されてはいないが、アドレス素子２２６ａおよび２２６ｂは、フルコンタクトピッチで形成されてよい。
【００３６】
アドレスプロトコルがかかる保証を提供することができない場合、それによってアドレスロジックは列に隣接する大型のアドレス素子を含む可能性があるため、ワードライン２１８間の距離が増大する可能性がある。しかしながら、これによって、メインメモリのデータ記憶密度が低減する。
【００３７】
代りに、図６ｂに示すように、行デコーダ２１２は、間隔が空けられた２つのセット２１２ａおよび２１２ｂに分割されてよい。奇数ワードライン２１８ａは偶数ワードライン２１８ｂと交互に噛合うように配置される。アドレスラインの第１のセット２２２ａは、奇数ワードライン２１８ａと交差し、アドレスラインの第２のセット２２２ｂは、偶数ワードライン２１８ｂと交差する。アドレスラインの第１および第２のセット２２２ａおよび２２２ｂは、同じアドレス信号を受取る。
【００３８】
この方法によって、隣接するアドレス素子２２６ｂのサイズは３倍に拡大されるが、それでもなお他のアドレス素子２２６ａを高分解能で製作することができる。アドレスプロトコルが、いずれの列にも大型のアドレス素子２２６ｂが隣接していないことを保証することができる場合、隣接しない大型のメモリ素子２２６ｂのサイズを５倍に拡大することができる（図６ｃを参照）。
【００３９】
図６ａ乃至図６ｃでは、行デコーダ２１２に関連して説明した。しかしながら、同じ原理を列デコーダ２１４に適用してよい。
【００４０】
アドレスプロトコルは、ｎビットアドレス構成をＬ個のメモリライン（例えばＬ行またはＬ列）の各々に１：１にマップすることを含み、それにより、いずれの２つの行にも同じアドレス構成が割当てられず、いずれの２つの列にも同じアドレス構成が割当てられない。
【００４１】
表１に示すアドレス構成を考慮する。６つのメモリラインＭ１〜Ｍ６と４つのアドレスラインＡ０〜Ａ３とがある。アドレスラインに与えられる論理「０」は、変化しない(intact)素子によってそのアドレスラインに接続されるすべてのメモリラインを除外する。アドレスラインＡ０、Ａ１、Ａ２およびＡ３にアドレスａ０ａ１ａ２ａ３＝１１００が供給される場合、第１のメモリラインＭ１を除くすべてのメモリラインＭ２〜Ｍ６が除外される（第１のメモリラインＭ１の第１および第２のアドレス素子は変化せず、第１のメモリラインの第３および第４のアドレス素子は変化する）。
【００４２】
【表１】
0004081350.tif 000002
【００４３】
アドレスラインは、物理的かつ電気的に層のすべての対応するアドレス素子に接続されるため、層のいずれかにおける単一の欠陥接続によって使用不可能となる場合がある。アドレスラインは、経年変化または環境プロセスにより長い間に発生する欠陥によって使用不可能となる可能性がある。アドレスラインＡ０、Ａ１、Ａ２またはＡ３のうちの１つが使用不可能となった場合、そのアドレスラインはいくつかのメモリラインを除外することができなくなる。アドレスラインＡ３に欠陥が生じると、それは、メモリラインＭ２、Ｍ４およびＭ６を除外することができなくなる。
【００４４】
この問題は、耐故障性を持つアドレス構成を備えるアドレスプロトコルを使用することによって回避することができる。耐故障性は、欠陥が発生した場合であってもメモリ装置が正確に機能することができるようにする組込み冗長性を含む。このため、耐故障性は、製造歩留まりを向上させることができる。その代わり、アドレスラインが増大する。
【００４５】
図７を参照する。耐故障性は、ｔが欠陥のあるアドレスラインの最大許容可能数である場合、少なくともｔ＋１の対称距離を有する非包含的なアドレス構成のセットを割当てることによって達成することができる（７１０）。
【００４６】
ここで、いくつかの条件を説明する。ｕ１，ｕ２∈｛０，１｝ｎとする。単方向距離ｄＵ（ｕ１，ｕ２）は、ｕ１が１を有し、かつｕ２が０を有する位置の数である。対称距離は、ｄＳ（ｕ１，ｕ２）＝ｍｉｎ｛ｄＵ（ｕ１，ｕ２），ｄＵ（ｕ２，ｕ１）｝である。ハミング距離は、ｄＨ（ｕ１，ｕ２）＝ｄＵ（ｕ１，ｕ２）＋ｄＵ（ｕ２，ｕ１）である。ハミング距離は、対称距離の少なくとも２倍である。すなわち、ｄＨ（ｕ１，ｕ２）≧２ｄＳ（ｕ１，ｕ２）である。例えば、ｕ１＝１１１０およびｕ２＝１００１である場合、ｄＵ（ｕ１，ｕ２）＝２およびｄＵ（ｕ２，ｕ１）＝１であり、ｄＨ（ｕ１，ｕ２）＝３であり、ｄＳ（ｕ１，ｕ２）＝１である。少なくとも２つのｎビットワードのセットＵの場合、対称距離ｄＳ（Ｕ）は、セットＵにおける任意の２つの別個のワードの間における最小の対称距離であり、ハミング距離ｄＨ（Ｕ）は、セットＵにおける任意の２つの別個のワードの間における最小ハミング距離である。
【００４７】
ｄＵ（ｕ１，ｕ２）＝０である場合、ｕ２はｕ１を包含する。したがって、ｕ２がｕ１を包含するかまたはｕ１がｕ２を包含する場合に限って、ｄＳ（ｕ１，ｕ２）＝０である。いずれのアドレス構成も他のアドレス構成を包含しないように、メモリラインにアドレス構成が割当てられる。この制約により、単一アドレスが複数のメモリラインを選択することが無くなる。
【００４８】
したがって、あるセットにおけるｎビットワードが非包含的である場合、ワードのセットは、ｎ個のアドレスラインに対するアドレス構成として割当てられてよい。
【００４９】
これら制約を満足するワードの１つのセットは、ｔ−Ｓｐｅｒｎｅｒ（ｎ，Ｌ）コードワードである。ｔ−Ｓｐｅｒｎｅｒ（ｎ，Ｌ）コードは、ｄＳ（Ｕ）≧ｔ＋１であるように、Ｌ個のｎビットワードからなるセットＵである。１−Ｓｐｅｒｎｅｒ（７，６）コードの例は、Ｕ＝｛１１００１００，１０１００１０，１００１１０１，０１１０００１，０１０１０１０，００１１１００｝である。ハミング距離は、ｄＨ（Ｕ）＝４である。アドレスラインのｔ＝１に欠陥が生じる場合であっても、いずれのワードも他のワードを包含しない。
【００５０】
アドレスワードは、ｔ−Ｓｐｅｒｎｅｒワードのタイプである一定重みコード（ｃｏｎｓｔａｎｔ  ｗｅｉｇｈｔ  ｃｏｄｅ（ＣＷＣ））ワードであってよい。ｎビットワードのセットＣは、セットＣの各ワードがハミング重み（ｗ）を有しｄＨ（Ｃ）≧２ｔ＋２である場合、ＣＷＣ（ｎ，２ｔ＋２，ｗ）である。これら条件は、Ｃがｔ−Ｓｐｅｒｎｅｒ（ｎ，Ｌ）コードであることを意味する。
【００５１】
表２のアドレス構成を考慮する。さらなる３つのアドレスライン（Ａ４、Ａ５およびＡ６）が追加されている。いかなるｔ＝１アドレスラインが使用不可能である場合であっても、いずれのアドレス構成も他のアドレス構成を包含しない。このため、欠陥のあるアドレスラインの最大許容可能数は、ｔ＝１である。
【００５２】
【表２】
0004081350.tif 000003
【００５３】
アドレスラインＡ１が使用不可能となった場合、残りの６つのアドレスラインＡ０とＡ２〜Ａ６とは、６つのメモリラインＭ１〜Ｍ６の各々を明白に選択することができるようになる。アドレスａ０ａ２ａ３ａ４ａ５ａ６＝１００１００がまだ、第１のメモリラインＭ１を除くすべてのメモリラインＭ２〜Ｍ６を除外する。
【００５４】
メモリ装置は、隣接排反(neighborhood-disjoint)アドレス構成を生成するアドレスプロトコルを使用することによって、より高い分解能で製作することができる。かかるアドレスプロトコルは、いずれの列においても大型のアドレス素子２２６ｂが隣接していないことを保証する。
【００５５】
ここで図８を参照すると、隣接排反アドレス構成は、ｗがコードワードの重みであり、ｎがアドレスラインの数であり、ｔが欠陥アドレスラインの最大許容可能数である場合に、不等式（２ｗ＋ｔ＋１）≦ｎを満足する一定重みコードワードのセットを割当てることによって生成される。
【００５６】
ｂ番目のメモリラインＭｂのアドレス構成をＴ（ｂ）とする。アドレス指定が隣接排反である場合、Ｔ（ｂ）とＴ（ｂ＋１）は、すべてのｂに対して不一致となるが(disjoint)、それは隣接するアドレスは同じ位置で１を有さないということである。すなわち、すべてのｂに対してＴ（ｂ）∧Ｔ（ｂ＋１）＝０であり、さらにＴ（Ｌ）∧Ｔ（１）＝０である場合、アドレス指定は隣接排反である。演算子∧は、ビットに関して「ＡＮＤ（論理積）」を表す。
【００５７】
表３に示すアドレス構成を考慮する。ハミング重みはｗ＝３であり、アドレスラインの数はｎ＝９であり、欠陥アドレスラインの最大許容可能数はｔ＝１である。いずれの列においても、大型のダイオード（塗潰しゼロで表される）が隣接していない。したがって、アドレス構成は、隣接排反である。さらに、いずれか１つのアドレスラインが使用不可能である可能性があるが、それでもまだ残りのアドレスラインはメモリラインを明確に選択することができる。耐故障性と隣接排反性に対する代価は、アドレスラインの数が４から９に増大するということである。
【００５８】
【表３】
0004081350.tif 000004
【００５９】
表３のアドレス構成は、ｔ−Ｓｐｅｒｎｅｒ（ｎ，Ｌ）コードから選択され、この例ではｔ＝１、ｎ＝９およびＬ＝６である。この隣接排反特性を満足させるために、ｋ番目のメモリライン（Ｍｋ）に割当てられるアドレス構成は、ｋ−１番目のメモリラインに割当てられる構成と隣接排反である残りのコードワードからランダムに選択される。残りのコードワード間に隣接排反コードワードを見つけることができない場合、ｋ−１番目のアドレス構成は削除され、ｋ−１番目のアドレス構成に対する別の選択が行われる。そして、ｋ番目のアドレス構成が選択される。
【００６０】
耐故障性のみ、隣接排反のみ、又は耐故障性かつ隣接排反であるかに関らず、アドレス構成は、ルックアップテーブルを使用することによってメモリラインに割当てることができる。ルックアップテーブルは、ｎ個のアドレスラインとＬ個のメモリラインとを有するメモリ装置に対してｎビットアドレス構成のすべてを提供することができる。しかしながら、かかるルックアップテーブルは、メモリ装置の記憶容量が増大するにしたがって非常に大きくなる可能性がある。
【００６１】
図９は、ｎ個のアドレスラインとＬ個のメモリラインとに対するｎビットアドレス構成のシーケンスを提供するルックアップテーブルを用いる方法を示す。本方法は、ルックアップテーブルを使用して２ｎ個のアドレスラインとＬ２個のメモリラインとに対するアドレス構成を生成することを含む。
【００６２】
ここで図９を参照する。合計Ｌ個のブロックが形成される（９１０）。「最上位列」は、各ブロックの左半分を言う。「最下位列」は、各ブロックの右半分を言う。
【００６３】
各ブロックの最上位列にはシーケンスが充填され、各ブロックの最上位列が同じシーケンスを含む（９１２）。各ブロックの最上位列のｉ番目のエントリは、ルックアップテーブルのｉ番目のエントリと等しい。
【００６４】
各ブロックの最下位列にはシーケンスが充填されることで、第２のブロックのシーケンスが第１のブロックのシーケンスに関して循環的にシフトされ、第３のブロックのシーケンスが第２のブロックに関して循環的にシフトされ、と続く（９１４）。シーケンスは循環的にシフトされ、ｋ番目のブロックの最下位列のｉ番目のエントリがルックアップテーブルの（ｉ＋ｓ（ｋ））番目のエントリと等しくなる。ここでｓ（ｋ）は第１のブロックに対するｋ番目のブロックのシフトの量である。この合計がＬより大きい場合、ｉ＋ｓ（ｋ）からＬを減算しなければならない。
【００６５】
Ｌが奇数である場合、ｋ番目のブロックの最下位列のシフトの量ｓ（ｋ）は、ｋ−１番目のブロックのシフトの量ｓ（ｋ−１）から２を引いたものから取得されてよい。すなわち、ｓ（ｋ）＝ｓ（ｋ−１）−２である。減算の結果が負の値となる場合、Ｌが加算される。すなわち、ｓ（ｋ−１）＜２である場合、ｓ（ｋ）＝ｓ（ｋ−１）−２＋Ｌである。隣接排反特性が侵されないように、ｓ（Ｌ／２＋１）の奇数値が選択される場合、（Ｌ／２＋１）番目のブロックを除き、Ｌが偶数である場合も同じことが適用される。
【００６６】
各ブロック（ｋ）に対する循環的シフトｓ（ｋ）は別個である。結果として、Ｌ個のブロックは、Ｌ２個のメモリラインと２ｎ個のアドレスラインとに対するアドレス構成を含む。
【００６７】
ここで、図９の方法の第１の実施例を提供する。表４に示すルックアップテーブルは、Ｌ＝３個のメモリライン、ｎ＝３個のアドレスラインおよびｔ＝０、１個のアドレス構成を提供する。アドレス構成はシーケンスＡＢＣを形成し、ここでＡ、ＢおよびＣは、それぞれ３ビット構成００１ｂ、０１０ｂおよび１００ｂを表す。
【００６８】
図９の方法を使用して、２ｎ＝６個アドレスラインとＬ２＝９個のメモリラインとに対する隣接排反アドレス構成を生成する。表５に示すように、各ブロックの最上位列（ｂ０）は、同じシフトされていないシーケンス（ＡＢＣ）を有し、ｉ番目の最上位列のエントリは表４のルックアップテーブルのｉ番目のエントリと同じである。最下位列（ｂ１）の各ブロックのシーケンスがシフトされる。この実施例では、ｓ（１）＝０、ｓ（２）＝１およびｓ（３）＝２である（第１のブロックにはシフトが無く、第２のブロックではシフトが１であり、第３のブロックではシフトが２である）。このより大きいアドレス指定プロトコルに対してもまた、隣接排反特性が維持される。
【００６９】
【表４】
0004081350.tif 000005
【００７０】
【表５】
0004081350.tif 000006
【００７１】
表６に別の実施例を提供する。シーケンスＡＢＣＤは、ｎ個のアドレスラインと４個のメモリラインとに対するＬ＝４隣接排反アドレス構成を表す。アスタリスク（*）は、アドレス構成ＤおよびＢが隣接排反であること、アドレス構成ＡおよびＤが隣接排反であることを仮定する。すなわち、Ａ∧Ｄ＝０およびＢ∧Ｄ＝０である。
【００７２】
各ブロックの最上位列（ｂ０）は、同じシーケンス（ＡＢＣＤ）を有し、各最上位列（ｂ０）のｉ番目のエントリはシーケンスのｉ番目のエントリと同じである。最下位列（ｂ１）のシーケンスは、各ブロックにおいてその相を変化させる。この実施例では、ｓ（１）＝０、ｓ（２）＝２、ｓ（３）＝３およびｓ（４）＝１である。最後の２ｎビット構成が最初のビット構成から排反する以外は、このより大きいアドレス指定プロトコルにおいても隣接排反特性が維持される。
【００７３】
【表６】
0004081350.tif 000007
【００７４】
Ｌ＝４個のメモリラインに対するアドレス構成がｔまでの欠陥アドレスライン（ｎ個のアドレスラインから）に対して耐性を有することができる場合、合計Ｌ２＝１６個のメモリラインが、同じ数の欠陥アドレスラインに対して耐性を有することができる。さらに、最上位列にはｔ個までの欠陥アドレスラインがあってよく、最下位列にはｔ個までの欠陥アドレスラインがあってよい。
【００７５】
この実施例では、ｎビット構成アドレスＡ**が、構成アドレスＤおよびＡと隣接排反するｎビット構成アドレスによって置換えられない限り、隣接排反特性は循環的であり続けない。
【００７６】
Ａ**を置換える代りに、「ツイン（ｔｗｉｎ）」テーブルを構成し表６に追加することができる。表７は、かかるツインテーブルである（なおＢ∧Ｄ＝０という仮定の下にある）。表７は循環的でないが、Ａ∧Ｃ＝０である場合、隣接排反特性を侵害することなく表７を表６に追加することができる。同様に、Ａ∧Ｃ＝０である場合、表６は、その特性を侵すことなく表７に続くことができる。
【００７７】
【表７】
0004081350.tif 000008
【００７８】
Ｌ３個のラインのアドレス指定の場合、ここではツインテーブルは３つの列（ｂ０、ｂ１およびｂ２）を有し、図１０ａおよび図１０ｂに示す構造を有する。図１０ａおよび図１０ｂの各々において、右の列は、左の列に連結されている。数字１０１０は、表６の最初の２つの列を含むブロックを示し、数字１０１２は、表７の最初の２つの列を含むブロックを示す。数字１０１４は、４回繰返されるシーケンスＡＢＣＤを示し、数字１０１６は、４回繰返されるシーケンスＣＤＡＢを示し、数字１０１８は、４回繰返されるシーケンスＤＡＢＣを示し、数字１０２０は、４回繰返されるシーケンスＢＣＤＡを示す。
【００７９】
図９の方法を、Ｌ４個のメモリラインおよび４ｎ個のアドレスライン等に拡張することができる。
【００８０】
Ｌ個のメモリラインに対するオリジナルアドレスプロトコルＴが隣接排反であり、さらに以下の６つの条件が満足されるように、１とＬとの間にインデックスｃ０、ｃ１、ｃ２およびｃ３がある場合、ツインテーブルの構成と大型メモリアレイへの拡張とを行うことができる。すなわち、
（ａ）ｃ０およびｃ１が異なるパリティを有する（整数として）
（ｂ）ｃ２およびｃ３が異なるパリティを有する（整数として）
（ｃ）Ｔ（ｃ０＋１）∧Ｔ（ｃ１）＝０
（ｄ）Ｔ（ｃ１＋１）∧Ｔ（ｃ２）＝０
（ｅ）Ｔ（ｃ２＋１）∧Ｔ（ｃ３）＝０
（ｆ）Ｔ（ｃ３＋１）∧Ｔ（ｃ０）＝０
Ｌ＋１のインデックス値を、１として解釈しなければならない。このため、Ｌ＝４、Ｔ（１）＝Ａ、Ｔ（２）＝Ｂ、Ｔ（３）＝ＣおよびＴ（４）＝Ｄであり、かつＡ∧Ｃ＝０かつＢ∧Ｄ＝０である場合、
ｃ０＝１
ｃ１＝４
ｃ２＝３
ｃ３＝２
に対して条件（ａ）〜（ｆ）が成り立つ。
【００８１】
図９の方法は、図７および図８に示す方法によって生成される耐故障性および／または隣接排反アドレス構成の拡張に限定されない。アドレス構成は、他の方法によって同様に生成されてよい。
【００８２】
上記アドレスプロトコルは、上述したメモリ装置に限定されない。それらは、組合せのアドレスロジックを使用していかなる装置に適用されてもよい。
【００８３】
本発明は、上に説明し例示した特定の実施形態に限定されない。代りに、本発明は、上述した特許請求の範囲にしたがって解釈される。この発明は例として、次の実施形態を含む。
【００８４】
（１）Ｌ個のメモリライン及びｎ個のアドレスラインを有するアドレス構成のシーケンスを使用する方法であって、
Ｌ個のブロックを形成し（９１０）、各ブロックの最上位列が同一のシフトされていない前記シーケンスを含むように、各ブロックの最上位列に前記シーケンスを充填し（９１２）、
該ブロックの最下位列のエントリが循環的にシフトされるように、各ブロックの最下位列に前記シーケンスを充填し（９１４）、
それにより、前記Ｌ個のブロックが、Ｌ２個のメモリラインと２ｎ個のアドレスラインのためのアドレス構成を含む方法。
【００８５】
（２）各ブロックに対する前記循環的シフトは、固有である（１）に記載の方法。
【００８６】
（３）各ブロックの前記最上位列のｉ番目のエントリは、前記シーケンスのｉ番目のエントリと等しい（１）に記載の方法。
【００８７】
（４）ｋ番目のブロックの前記最下位列のｉ番目のエントリは、ｓ（ｋ）がシフトの量である場合、前記シーケンスの（ｉ＋ｓ（ｋ））番目のエントリと等しい（１）に記載の方法。
【００８８】
（５）Ｌが奇数の場合、ｓ（ｋ）＝ｓ（ｋ−２）−２である（４）に記載の方法。
【００８９】
（６）Ｌ個のブロックは第１のテーブルを含み、Ｌが偶数である場合に該第１のテーブルからツインテーブルを形成することをさらに含む（１）に記載の方法。
【００９０】
（７）前記第１のテーブルを、前記ツインテーブルの最後に追加する（６）に記載の方法。
【００９１】
（８）前記ツインテーブルを、前記第１のテーブルの最後に追加する（６）に記載の方法。
【００９２】
（９）Ｌ個のメモリラインを包含する前記シーケンスが隣接排反であり、さらに以下の６つの条件、すなわち、ｃ０およびｃ１が異なるパリティを有し（整数として）、ｃ２およびｃ３が異なるパリティを有し（整数として）、Ｔ（ｊ）がｊ番目のメモリラインのアドレス構成である場合、Ｔ（ｃ１＋１）∧Ｔ（ｃ２）＝０であり、Ｔ（ｃ０＋１）∧Ｔ（ｃ１）＝０であり、Ｔ（ｃ２＋１）∧Ｔ（ｃ３）＝０であり、Ｔ（ｃ３＋１）∧Ｔ（ｃ０）＝０であるということが満足されるように、１とＬとの間にインデックスｃ０、ｃ１、ｃ２およびｃ３が存在する（６）に記載の方法。
【００９３】
（１０）前記シーケンスもまた、請求項１記載の方法を使用して生成したものである（１）に記載の方法。
【図面の簡単な説明】
【図１】マルチレベル半導体メモリ装置の図である。
【図２】アドレスロジックを含む、半導体メモリ装置のレベルの図である。
【図３ａ】レベルにおける異なるタイプのプログラマブル素子の図である。
【図３ｂ】レベルにおける異なるタイプのプログラマブル素子の図である。
【図３ｃ】レベルにおける異なるタイプのプログラマブル素子の図である。
【図４】プログラマブル素子の他の図である。
【図４ａ】アドレスロジックを形成する方法の図である。
【図５】メモリラインのアドレスパターンの図である。
【図５ａ】メモリラインのダイオードパターンの図である。
【図５ｂ】メモリラインのダイオードパターンの図である。
【図６ａ】アドレスロジックのアドレス素子の異なるレイアウトの図である。
【図６ｂ】アドレスロジックのアドレス素子の異なるレイアウトの図である。
【図６ｃ】アドレスロジックのアドレス素子の異なるレイアウトの図である。
【図７】アドレスロジックのためのアドレス構成を生成する第１の方法の図である。
【図８】アドレスロジックのためのアドレス構成を生成する第２の方法の図である。
【図９】ルックアップテーブルを使用してアドレスロジックのためアドレス構成を拡張する方法の図である。
【図１０ａ】例示的なツインルックアップテーブルを示す。
【図１０ｂ】例示的なツインルックアップテーブルを示す。
【符号の説明】
２１０    メインメモリ
２２０    ビットライン
２２２    行アドレスライン
２２６    OTPアドレス素子
２２８    列アドレスライン
２３６    センス抵抗器
３１２，３２２，３３２    ダイオード
【図１】
0004081350.tif 000009
【図２】
0004081350.tif 000010
【図３ａ】
0004081350.tif 000011
【図３ｂ】
0004081350.tif 000012
【図３ｃ】
0004081350.tif 000013
【図４】
0004081350.tif 000014
【図４ａ】
0004081350.tif 000015
【図５】
0004081350.tif 000016
【図５ａ】
0004081350.tif 000017
【図５ｂ】
0004081350.tif 000018
【図６ａ】
0004081350.tif 000019
【図６ｂ】
0004081350.tif 000020
【図６ｃ】
0004081350.tif 000021
【図７】
0004081350.tif 000022
【図８】
0004081350.tif 000023
【図９】
0004081350.tif 000024
【図１０ａ】
0004081350.tif 000025
【図１０ｂ】
0004081350.tif 000026