(57)【要約】  抵抗変化素子が不良状態であっても、正常に利用できるようにしたクロスバースイッチ型メモリ回路を提供するため、第１抵抗変化素子の一端が接続される第１列配線と、該第１列配線と電源ノードとの接続を制御する第１電源側トランジスタと、第１列配線と接地ノードとの接続を制御する第１電源側トランジスタと逆動作タイプの第１接地側トランジスタと、第１電源側トランジスタ及び第１接地側トランジスタの制御端子に接続されて、極性信号端子からの極性信号により第１電源側トランジスタと第１接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第１極性制御線と、を含む第１ユニットと、第２抵抗変化素子の一端が接続される第２列配線と、該第２列配線と電源ノードとの接続を制御する第１電源側トランジスタと同動作タイプの第２電源側トランジスタと、第２列配線と接地ノードとの接続を制御する第２電源側トランジスタと逆動作タイプの第２接地側トランジスタと、極性信号端子からの極性信号の極性を反転して出力する論理反転回路と、第２電源側トランジスタ及び第２接地側トランジスタの制御端子に接続されて、論理反転回路からの極性信号第２電源側トランジスタと第２接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第２極性制御線と、を含む第２ユニットと、第１及び第２抵抗変化素子の他端が接続されたｎ本（ｎは正の整数）の行配線と、を備える。
2016139926.tif 000002
【特許請求の範囲】
【請求項１】
抵抗変化素子の抵抗状態により情報を記憶するクロスバースイッチ型メモリ回路であって、
第１抵抗変化素子の一端が接続される第１列配線と、該第１列配線と電源ノードとの接続を制御する第１電源側トランジスタと、前記第１列配線と接地ノードとの接続を制御する前記第１電源側トランジスタと逆動作タイプの第１接地側トランジスタと、前記第１電源側トランジスタ及び前記第１接地側トランジスタの制御端子に接続されて、極性信号端子からの極性信号により前記第１電源側トランジスタと前記第１接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第１極性制御線と、を含む第１ユニットと、
第２抵抗変化素子の一端が接続される第２列配線と、該第２列配線と前記電源ノードとの接続を制御する前記第１電源側トランジスタと同動作タイプの第２電源側トランジスタと、前記第２列配線と前記接地ノードとの接続を制御する前記第２電源側トランジスタと逆動作タイプの第２接地側トランジスタと、前記極性信号端子からの極性信号の極性を反転して出力する論理反転回路と、前記第２電源側トランジスタ及び前記第２接地側トランジスタの制御端子に接続されて、前記論理反転回路からの極性信号により前記第２電源側トランジスタと前記第２接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第２極性制御線と、を含む第２ユニットと、
前記第１及び第２抵抗変化素子の他端が接続されたｎ本（ｎは正の整数）の行配線と、を備えて、
前記第１抵抗変化素子と前記第２抵抗変化素子とにより１ビットのメモリが形成されて、該メモリに記憶された情報が前記行配線から出力されることを特徴とするクロスバースイッチ型メモリ回路。
【請求項２】
請求項１に記載のクロスバースイッチ型メモリ回路であって、
前記第１列配線と前記第１電源側トランジスタの間に設けられ、かつ、当該第１電源側トランジスタと同動作タイプの第１電圧切離用トランジスタと、
前記第１列配線と前記第１接地側トランジスタの間に設けられ、かつ、当該第１接地側トランジスタと同動作タイプの第１接地切離用トランジスタと、
前記第２列配線と前記第２電源側トランジスタの間に設けられ、かつ、当該第２電源側トランジスタと同動作タイプの第２電圧切離用トランジスタと、
前記第２列配線と前記第２接地側トランジスタの間に設けられ、かつ、当該第２接地側トランジスタと同動作タイプの第２接地切離用トランジスタと、を備えることを特徴とするクロスバースイッチ型メモリ回路。
【請求項３】
請求項２に記載のクロスバースイッチ型メモリ回路であって、
前記第１電源側トランジスタ、前記第１電圧切離用トランジスタ、前記第１接地側トランジスタ、前記第１接地切離用トランジスタ、前記第２電源側トランジスタ、前記第２電圧切離用トランジスタ、前記第２接地側トランジスタ、前記第２接地切離用トランジスタは、電界効果トランジスタであることを特徴とするクロスバースイッチ型メモリ回路。
【請求項４】
請求項１乃至３のいずれか１項に記載のクロスバースイッチ型メモリ回路であって、
前記第１及び第２抵抗変化素子は、当該抵抗変化素子に印加される印加電圧の極性に対応して抵抗状態が変化するバイポーラ型スイッチ、ユニポーラ型スイッチ、２つの前記バイポーラ型スイッチを逆極性で接続してなるスイッチのいずれか１つであることを特徴とするクロスバースイッチ型メモリ回路。
【請求項５】
抵抗変化素子により形成されたクロスバースイッチにより論理回路を再構成する際に用いるルックアップテーブル回路であって、
請求項１乃至４のいずれか１項に記載のクロスバースイッチ型メモリ回路と、
前記クロスバースイッチ型メモリ回路から出力される複数のデータから１つのデータを選択する選択回路と、
を備えることを特徴とするルックアップテーブル回路。
【請求項６】
請求項５に記載のルックアップテーブル回路であって、
前記選択回路で選択して出力されたデータの信号レベルが、当該選択回路で電圧降下している場合に、当該電圧降下を補償するプルアップ回路を設けたことを特徴とするルックアップテーブル回路。
【請求項７】
請求項６に記載のルックアップテーブル回路であって、
前記電源ノードから出力される電圧の極性を交流的に変化させた際に、前記第１及び第２抵抗変化素子の抵抗状態に対応した前記クロスバースイッチ型メモリ回路から出力される前記データが前記電源ノードから出力される電圧に同期して変動しても、当該データの変動を補償するデータ反転回路を設けたことを特徴とするルックアップテーブル回路。
【請求項８】
請求項７に記載のルックアップテーブル回路であって、
前記プルアップ回路からの出力を前記極性信号に同期して反転させる２入力ＸＯＲ回路のデータ反転回路を備えることを特徴とするルックアップテーブル回路。
【請求項９】
請求項５乃至８のいずれか１項に記載のルックアップテーブル回路であって、
前記第１抵抗変化素子を介して前記行配線に流れるリーク電流と、前記第２抵抗変化素子を介して前記行配線に流れるリーク電流とを計測し、リーク電流の少ない抵抗変化素子を高抵抗状態にすることを特徴とするルックアップテーブル回路。
【請求項１０】
第１及び第２抵抗変化素子の抵抗状態が相補的にプログラムされてデータが記憶されるクロスバースイッチ型メモリ回路のプログラム方法であって、
前記第１抵抗変化素子を高抵抗状態又は低抵抗状態にプログラムし、前記第２抵抗変化素子を低抵抗状態又は高抵抗状態にプログラムして書込んだ情報を書込データとし、書き込まれた情報を読出して得た情報を読出データとした際に、前記クロスバースイッチ型メモリ回路に書き込んだ前記書込データと、そのときに読み出された前記読出データとが一致していない場合には、前記書込データを極性反転させたデータで再度書き込みを行うことを特徴とするクロスバースイッチ型メモリ回路のプログラム方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロスバースイッチ型メモリ回路、ルックアップテーブル回路、及び、プログラム方法に関する。
【背景技術】
【０００２】
微細化技術によって、半導体装置における電界効果トランジスタ（ＭＯＳＦＥＴ：Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）の集積度は、３年で４倍のペースで大規模化している。【０００３】
また、所望の機能を製造後の半導体装置に対して、設計者が電気的に再構成できるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の利用が増えている。しかし、ＦＰＧＡがカスタム設計の半導体装置と同じ機能を有するためには、１桁以上も多いトランジスタの集積数が必要となる。このため、現状のＦＰＧＡでは面積効率が悪く、また消費電力も大きい問題があった。【０００４】
そこで、近年、多層配線層の回路基板に抵抗変化素子を搭載して、当該抵抗変化素子の抵抗状態をプログラムすることにより、ＦＰＧＡのオーバーヘッドを低減すると共に、省電力化する研究が行われている。【０００５】
抵抗変化素子としては、遷移金属酸化物を用いたＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やイオン伝導体を用いたＮａｎｏ  ｂｒｉｄｇｅ（登録商標）などがある。【０００６】
特許文献１及び非特許文献１には、電界等の印加によってイオンが自由に動くことのできる固体（イオン伝導体）を用いて、金属イオンの移動と電気化学反応とを利用した抵抗変化素子が開示されている。【０００７】
この抵抗変化素子は、イオン伝導層と、該イオン伝導層を挟んで配置された第１電極と第２電極とから構成されている。このとき、第１電極からイオン伝導層に金属イオンが供給されるが、第２電極からは金属イオンは供給されない。そして、印加電圧の極性を変えることでイオン伝導体の抵抗値を変化させ、２つの電極間の導通状態を制御している。【０００８】
また、特許文献１及び非特許文献１には、抵抗変化素子をＵＬＳＩ（Ｕｌｔｒａ−Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）にクロスバースイッチとして利用する技術が開示されている。このクロスバースイッチは、配線を切り換える作用をなして、回路要素の組み替え（再構成論理回路）を行う際に用いられている。この回路要素としては、任意の真理値を表現するためのルックアップテーブル回路（Ｌｏｏｋ−Ｕｐ  Ｔａｂｌｅ：ＬＵＴ回路）が挙げられる。図１１は、このようなＬＵＴ回路１００を例示した図である。【０００９】
ＬＵＴ回路１００は、真理値を記憶するためのメモリ部１０１、外部信号入力部１０２、データ選択部１０３を備え、外部信号入力部１０２からの外部信号（選択信号）に従ってデータ選択部１０３がメモリ部１０１からのデータを選択して、出力するようになっている。【００１０】
このＬＵＴ回路１００をＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）回路により構成する場合には、一般的にメモリ部１０１にＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が広く用いられる。無論、ＳＲＡＭの代わりに抵抗変化素子を利用してＬＵＴ回路を構成することも可能である。【００１１】
抵抗変化素子を使用してＬＵＴ回路を実現するためには、そのメモリ部１０１としてＳＲＡＭの代わりにｎ×２の構成（ｎはＬＵＴ回路１００の入力ビット数）のクロスバースイッチを使用することが考えられる。このクロスバースイッチは、列配線と行配線との交点に抵抗変化素子を接続し、行配線に接続された２つの抵抗変化素子を相補的にＬ抵抗状態状態（以下、Ｌ抵抗状態）とＨ抵抗状態（以下、Ｈ抵抗状態）とにプログラムする（設定する）。これにより、１ビットのデータが表現できる。図１２は、列配線１１１（１１１ａ，１１１ｂ）と行配線１１２とに抵抗変化素子１１３（１１３ａ，１１３ｂ）を接続してクロスバースイッチ１１４を構成した図である。【００１２】
ＬＵＴ回路の動作時には一方の列配線（例えば列配線１１１ａ）を低電圧レベル、他方の列配線（例えば列配線１１１ｂ）を高電圧レベルにプログラムする。これにより、各行配線１１２は、プログラム条件に応じて高電圧レベル、又は、低電圧レベルとなる。以下、低電圧レベルはＬレベル、高電圧レベルはＨレベルと記載する。【００１３】
なお、本明細書において、抵抗変化素子をＨ抵抗状態やＬ抵抗状態に設定することをプログラムすると記載する。かかるプログラミングは、抵抗変化素子に所定の電圧値を印加又は電流を流すことにより行われる。【００１４】
この行配線１１２の信号は選択回路（ＭＵＸ）１１５に入力し、この選択回路１１５により１つの信号が選択される。従って、選択回路１１５で選択された信号を読出回路（不図示）によって読み出すことにより抵抗変化素子の抵抗状態、即ちプログラムして記憶されているデータを読出すことができる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００５−１０１７３５号公報
【非特許文献】
【００１６】
【非特許文献１】Shunichi Kaeriyama et al.,"A Nonvolatile Programmable Solid-Electrolyte Nanometer Switch",IEEE Journal of Solid-State Circuits,Vol.40,No.1,pp.168-176,January 2005.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、抵抗変化素子は、初期状態、又は、プログラムを行っている時に（使用中の意味）、オープン状態やショート状態等の不良状態になることがある。なお、オープン状態は断線状態であるので抵抗変化素子はＨ抵抗状態となり、ショート状態は短絡状態であるので抵抗変化素子はＬ抵抗状態となる。【００１８】
また、抵抗変化素子をＨ抵抗状態にプログラムしても十分に抵抗の高いＨ抵抗状態にならず、Ｈ抵抗状態とＬ抵抗状態との中間の状態となる場合がある。このような中間の抵抗状態では、例えばＨ抵抗状態として期待する抵抗値よりも一桁〜三桁程度小さい抵抗値となって、大きなリーク電流が発生してしまう。【００１９】
上述した不良状態（オープン状態、ショート状態、リーク状態）が発生した場合には、誤動作の原因となると共に、大きなスタンバイ電流が流れてしまうという問題が生じる。図１３は、抵抗変化素子の抵抗状態を例示した図で、黒四角は正常なＬ抵抗状態、白四角は正常なＨ抵抗状態、クロスハッチ四角は不良のリーク状態、右下ハッチ四角は不良のショート状態、左下ハッチ四角は不良のオープン状態を例示している。【００２０】
図１４Ａ、図１４Ｂは、このような抵抗変化素子で構成されたクロスバースイッチ型メモリ回路を例示した図である。本来はＨ抵抗状態にプログラムすべき抵抗変化素子Ｐ１がショート状態のとき、Ｌ抵抗状態に書き込まれている他方の抵抗変化素子Ｐ２を介してＨレベルの列配線Ｋ１とＬレベルの列配線Ｋ２とがショートして、貫通電流が流れてしまう。図１４Ａは、この状態を例示した図である。なお、図１４Ｂは、抵抗変化素子Ｐ１がオープン状態のときを示している。【００２１】
この場合、貫通電流が流れるばかりか、ショート状態の抵抗変化素子Ｐ１の抵抗値が、本来のＬ抵抗値と同程度である場合には、読出し行である列配線Ｋ３は中間レベルとなってしまい、後段の読出し回路で誤った論理レベルに読出されて、再構成可能回路が誤動作してしまう恐れがある。【００２２】
同様にＬ抵抗状態にプログラムすべき抵抗変化素子にオープン不良があった場合、貫通電流は流れないものの、行配線は不定状態（中間レベル）となってしまい、後段の読出し回路で誤った論理レベルに読みだされて、再構成可能回路が誤動作してしまうという恐れがある。【００２３】
このようなオープン不良やショート不良は、製造工程で発生する初期不良以外にも、抵抗変化素子の抵抗状態のプログラム処理に起因して後発的に発生する場合もあり、製品出荷時における選別処理では困難であった。【００２４】
そこで、本発明の主目的は、抵抗変化素子が不良状態であっても、正常に利用できるようにしたクロスバースイッチ型メモリ回路、ルックアップテーブル回路、及び、プログラム方法を提供することである。
【課題を解決するための手段】
【００２５】
上記課題を解決するため、抵抗変化素子の抵抗状態により情報を記憶するクロスバースイッチ型メモリ回路にかかる発明は、第１抵抗変化素子の一端が接続される第１列配線と、該第１列配線と電源ノードとの接続を制御する第１電源側トランジスタと、第１列配線と接地ノードとの接続を制御する第１電源側トランジスタと逆動作タイプの第１接地側トランジスタと、第１電源側トランジスタ及び第１接地側トランジスタの制御端子に接続されて、極性信号端子からの極性信号により第１電源側トランジスタと第１接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第１極性制御線と、を含む第１ユニットと、第２抵抗変化素子の一端が接続される第２列配線と、該第２列配線と電源ノードとの接続を制御する第１電源側トランジスタと同動作タイプの第２電源側トランジスタと、第２列配線と接地ノードとの接続を制御する第２電源側トランジスタと逆動作タイプの第２接地側トランジスタと、極性信号端子からの極性信号の極性を反転して出力する論理反転回路と、第２電源側トランジスタ及び第２接地側トランジスタの制御端子に接続されて、論理反転回路からの極性信号第２電源側トランジスタと第２接地側トランジスタとの一方をＯＮし、他方をＯＦＦさせる第２極性制御線と、を含む第２ユニットと、第１及び第２抵抗変化素子の他端が接続されたｎ本（ｎは正の整数）の行配線と、を備えて、第１抵抗変化素子と第２抵抗変化素子とにより１ビットのメモリが形成されて、該メモリに記憶された情報が行配線から出力されることを特徴とする。【００２６】
また、抵抗変化素子により形成されたクロスバースイッチにより論理回路を再構成する際に用いるルックアップテーブル回路にかかる発明は、上記のクロスバースイッチ型メモリ回路と、クロスバースイッチ型メモリ回路から出力される複数のデータから１つのデータを選択する選択回路と、を備えることを特徴とする。【００２７】
さらに、第１及び第２抵抗変化素子の抵抗状態が相補的にプログラムされてデータが記憶されるクロスバースイッチ型メモリ回路のプログラム方法にかかる発明は、第１抵抗変化素子を高抵抗状態又は低抵抗状態にプログラムし、第２抵抗変化素子を低抵抗状態又は高抵抗状態にプログラムして書込んだ情報を書込データとし、書き込まれた情報を読出して得た情報を読出データとした際に、クロスバースイッチ型メモリ回路に書き込んだ書込データと、そのときに読み出された読出データとが一致していない場合には、書込データを極性反転させたデータで再度書き込みを行うことを特徴とする。
【発明の効果】
【００２８】
本発明によれば、抵抗変化素子が不良状態であっても、クロスバースイッチ型メモリ回路を正常に利用できるようになる。
【図面の簡単な説明】
【００２９】
【図１Ａ】印加電圧値が所定のセット電圧値を超えた際にＨ抵抗状態からＬ抵抗状態に遷移するユニポーラ型スイッチの特性を示す図である。
【図１Ｂ】印加している正電圧値がセット電圧値を超え再びＨ抵抗状態からＬ抵抗状態に遷移するユニポーラ型スイッチの特性を示す図である。
【図１Ｃ】セット電圧値を超えてＨ抵抗状態からＬ抵抗状態に遷移するユニポーラ型スイッチの特性を示す図である。
【図１Ｄ】印加している負電圧値がセット電圧値を超えて再びＨ抵抗状態からＬ抵抗状態に遷移するユニポーラ型スイッチの特性を示す図である。
【図２Ａ】印加電圧値がセット電圧値を超えてＨ抵抗状態からＬ抵抗状態に遷移するユニポーラ型スイッチの特性を示す図である。
【図２Ｂ】印加電圧値を大きくした際に示すバイポーラ型スイッチのオーミックな電流−電圧値特性を示す図である。
【図２Ｃ】負電圧値の印加電圧値がリセット電圧値を超えてＬ抵抗状態からＨ抵抗状態に遷移するバイポーラ型スイッチの特性を示す図である。
【図２Ｄ】Ｈ抵抗状態のバイポーラ型スイッチにセット電圧値を超える正電圧値を印加してＨ抵抗状態からＬ抵抗状態に遷移するバイポーラ型スイッチの特性を示す図である。
【図３】抵抗変化素子に不良が生じている際のプログラム方法の説明に適用されるクロスバースイッチ型メモリ回路の構成図である。
【図４】不良救済手順を示すフローチャートである。
【図５Ａ】ユニポーラ型抵抗変化素子の抵抗変化素子の接続構成を示す図である。
【図５Ｂ】バイポーラ型抵抗変化素子の抵抗変化素子の接続構成を示す図である。
【図５Ｃ】接続極性を逆にしたバイポーラ型抵抗変化素子の抵抗変化素子の接続構成を示す図である。
【図５Ｄ】バイポーラ型抵抗変化素子を２つ設けた場合の接続構成を示す図である。
【図６】クロスバースイッチ型メモリを利用したＬＵＴ回路の回路図である。
【図７】第２実施形態にかかるＬＵＴ回路の回路図である。
【図８】実施例の説明に適用されるクロスバースイッチ型メモリ回路の回路図である。
【図９】プログラム方法を示すフローチャートである。
【図１０】不良判断プログラム処理のフローチャートである。
【図１１】関連技術の説明に適用されるＬＵＴ回路の回路図である。
【図１２】列配線と行配線とに抵抗変化素子を接続してクロスバースイッチを構成した図である。
【図１３】抵抗変化素子の抵抗状態を例示した図である。
【図１４Ａ】１つの抵抗変化素子がショート状態のときの抵抗変化素子で構成されたクロスバースイッチ型メモリ回路を例示した図である。
【図１４Ｂ】１つの抵抗変化素子がオープン状態のときの抵抗変化素子で構成されたクロスバースイッチ型メモリ回路を例示した図である。
【発明を実施するための形態】
【００３０】
本発明の実施形態の説明に先立ち、基本となる抵抗変化素子について説明する。抵抗変化素子には、２つの電極（第１電極と第２電極）の間に抵抗変化層が配置されて形成され、電圧印加条件によりＨ抵抗状態とＬ抵抗状態とを取る。このような抵抗変化素子を用いたスイッチとして、バイポーラ型スイッチとユニポーラ型スイッチとがある。
【００３１】
（ユニポーラ型スイッチ）
図１Ａ〜図１Ｄは、ユニポーラ型スイッチの動作特性を示す図である。ユニポーラ型スイッチは、第１電極に正電圧値を印加し、この印加電圧値が所定のセット電圧値を超えると、Ｈ抵抗状態からＬ抵抗状態に遷移する（図１Ａ）。
【００３２】
なお、セット電圧値は、後述するリセット電圧値と共に、抵抗変化層の膜厚や組成、密度などに依存して決まる特性値である。また、抵抗変化層の抵抗値がＨ抵抗状態からＬ抵抗状態に遷移する電圧値がセット電圧値であり、逆にＬ抵抗状態からＨ抵抗状態に遷移する電圧値がリセット電圧値である。
【００３３】
このようなＬ抵抗状態にあるユニポーラ型スイッチにリセット電圧値より大きな電圧値が印加されると、ユニポーラ型スイッチはＬ抵抗状態からＨ抵抗状態に遷移する。さらに、印加している正電圧値を大きくして、電圧値がセット電圧値を超えると、ユニポーラ型スイッチは、再びＨ抵抗状態からＬ抵抗状態に遷移する（図１Ｂ）。
【００３４】
一方、第１電極に負電圧値を印加し、その電圧値がセット電圧値を超えると、ユニポーラ型スイッチはＨ抵抗状態からＬ抵抗状態に遷移する（図１Ｃ）。
【００３５】
このようなＬ抵抗状態にあるユニポーラ型スイッチにおいて、第１電極に印加している負電圧値がリセット電圧値を超えると、ユニポーラ型スイッチはＬ抵抗状態からＨ抵抗状態に遷移する。さらに、印加している負電圧値がセット電圧値を超えると、ユニポーラ型スイッチは、再びＨ抵抗状態からＬ抵抗状態に遷移する（図１Ｄ）。
【００３６】
このようにユニポーラ型スイッチは、印加する電圧値の極性には依存せず、印加電圧値にのみ依存して、図１Ａ、図１Ｂの抵抗変化特性と、図１Ｃ、図１Ｄの抵抗変化特性とを示す特徴がある。
【００３７】
（バイポーラ型スイッチ）
かかるユニポーラ型スイッチに対し、バイポーラ型スイッチは、印加する電圧値の極性（第１電極に印加されている電圧値が第２電極に印加されている電圧値より高いとき正極とする）に応じて、Ｈ抵抗状態とＬ抵抗状態とが切替えられる。
【００３８】
図２Ａ〜図２Ｄは、バイポーラ型スイッチの動作特性を示す図である。第１電極に正電圧値を印加する。そして、印加電圧値が、セット電圧値を超えると、バイポーラ型スイッチはＨ抵抗状態からＬ抵抗状態に遷移する（図２Ａ）。以下、このような電圧値印加条件を順バイアスと記載する。
【００３９】
続いて、印加電圧値を大きくすると、バイポーラ型スイッチは、オーミックな電流−電圧値特性を示すようになる（図２Ｂ）。
【００４０】
次に、第１電極に負電圧値を印加する。印加電圧値がリセット電圧値を超えると、バイポーラ型スイッチは、Ｌ抵抗状態からＨ抵抗状態に遷移する（図２Ｃ）。以下、このような電圧値印加条件を逆バイアスと記載する。
【００４１】
さらに、Ｈ抵抗状態のバイポーラ型スイッチの第１電極に、再び正電圧値を印加する。そして、正電圧値が、セット電圧値より大きくなると、バイポーラ型スイッチはＨ抵抗状態からＬ抵抗状態に遷移する（図２Ｄ）。
【００４２】
このように、バイポーラ型スイッチは、印加電圧値の極性に応じてＨ抵抗状態とＬ抵抗状態とが切り替えられる。
【００４３】
次に、このような抵抗変化素子に不良が生じている際のプログラム方法について説明する。図３は、上述した抵抗変化素子（ユニポーラ型であるかバイポーラ型であるかは問わない）を用いて構成したクロスバースイッチ型メモリ回路１０の構成図である。
【００４４】
このクロスバースイッチ型メモリ回路１０は、列配線１１（１１ａ，１１ｂ）、ｎ本（ｎは正の整数）の行配線１２、抵抗変化素子１３、電源側トランジスタ１５、接地側トランジスタ１６、極性制御線１７、インバータ（論理反転回路）１９を備える。
【００４５】
なお、電源側トランジスタ１５は、電源ノード１４ａ側に配置されたトランジスタであり、接地側トランジスタ１６は、接地ノード１４ｂ側に配置されたトランジスタである。
【００４６】
列配線１１には、第１列配線１１ａと第２列配線１１ｂとが含まれる。行配線１２は、クロスバースイッチ型メモリ回路１０がｎビットのデータメモリとして機能する場合には、ｎ本設けられる。
【００４７】
抵抗変化素子１３には、第１抵抗変化素子１３ａ、第２抵抗変化素子１３ｂが含まれる。各抵抗変化素子１３の一方の電極は、行配線１２に接続され、他方の電極は列配線１１に接続されている。
【００４８】
電源側トランジスタ１５には、第１電源側トランジスタ１５ａと、第２電源側トランジスタ１５ｂとが、含まれる。第１電源側トランジスタ１５ａは、一端が電源ノード１４ａに接続され、他端が第１列配線１１ａに接続されている。また、第２電源側トランジスタ１５ｂは、一端が電源ノード１４ａに接続され、他端が第２列配線１１ｂに接続されている。
【００４９】
接地側トランジスタ１６には、第１接地側トランジスタ１６ａと、第２接地側トランジスタ１６ｂとが含まれる。第１接地側トランジスタ１６ａは、一端が接地ノード１４ｂに接続され、他端が第１列配線１１ａに接続されている。また、第２接地側トランジスタ１６ｂは、一端が接地ノード１４ｂに接続され、他端が第２列配線１１ｂに接続されている。
【００５０】
第１電源側トランジスタ１５ａ、及び、第２電源側トランジスタ１５ｂは、ｐ型電界効果トランジスタ（Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ：ＦＥＴ）により形成され、第１接地側トランジスタ１６ａ、及び、第２接地側トランジスタ１６ｂはｎ型ＦＥＴにより形成されている。ｐ型、ｎ型は動作タイプが逆タイプであるため、以下においては動作タイプの異なることを逆動作タイプと記載し、同じ動作タイプを同動作タイプと記載する。
【００５１】
このとき、ＦＥＴのゲート端子を制御端子、ソース端子やドレイン端子を入力端子や出力端子と適宜記載する。なお、第１電源側トランジスタ１５ａ、第２電源側トランジスタ１５ｂ等は、３端子トランジスタであるので、バイポーラトランジスタを用いることも可能である。この場合は、制御端子はベース端子、カソード端子やコレクタ端子は入力端子や出力端子となる。
【００５２】
極性制御線１７には、第１極性制御線１７ａと第２極性制御線１７ｂとが含まれる。第１極性制御線１７ａは、一端が第１電源側トランジスタ１５ａと第１接地側トランジスタ１６ａとの制御端子に接続され、他端が極性信号端子１８に接続されている。また、第２極性制御線１７ｂは、一端が第２電源側トランジスタ１５ｂと第２接地側トランジスタ１６ｂとの制御端子に接続され、他端がインバータ１９の出力に接続されている。
【００５３】
なお、列配線１１と行配線１２とは、鎖交した状態で配線されて、抵抗変化素子１３の一方の電極が列配線１１に接続され、他方の電極が行配線１２に接続されている。これにより、列配線１１と行配線１２とが、抵抗変化素子１３を介して接続されてなるクロスバースイッチが構成される。
【００５４】
インバータ１９の入力端子は、極性信号が入力する極性信号端子１８に接続されている。従って、第２極性制御線１７ｂにはインバータ１９で論理反転（レベル反転）した極性信号が入力する。なお、極性信号は、第１電源側トランジスタ１５ａ、第２電源側トランジスタ１５ｂ、第１接地側トランジスタ１６ａ、第２接地側トランジスタ１６ｂのＯＮ，ＯＦＦを制御する信号である。
【００５５】
これにより、第１列配線１１ａと第２列配線１１ｂとの一方の列配線１１が、電源ノード１４ａと等しいＨレベルにバイアスされ、他方の列配線１１が接地ノード１４ｂと等しいＬレベルにバイアスされることになる。即ち、第１抵抗変化素子１３ａと第２抵抗変化素子１３ｂとは、相補的にプログラムされる。この結果、行配線１２には抵抗変化素子１３の抵抗状態に応じて、Ｈレベル又はＬレベルが出力され、ｎビットのデータメモリとして機能する。
【００５６】
なお、第１ユニットは、第１列配線１１ａ、第１電源側トランジスタ１５ａ、第１接地側トランジスタ１６ａ、第１極性制御線１７ａにより構成される。この第１列配線１１ａには、第１抵抗変化素子１３ａの一端が接続されている。第１電源側トランジスタ１５ａは、第１列配線１１ａと電源ノード１４ａとの接続を制御する。第１接地側トランジスタ１６ａは、第１列配線１１ａと接地ノード１４ｂとの接続を制御する。第１極性制御線１７ａは、第１電源側トランジスタ１５ａ及び第１接地側トランジスタ１６ａの制御端子に接続されて、極性信号端子１８からの極性信号により第１電源側トランジスタ１５ａと第１接地側トランジスタ１６ａとの一方をＯＮし、他方をＯＦＦさせる。
【００５７】
また、第２ユニットは、第２列配線１１ｂ、第２電源側トランジスタ１５ｂ、第２接地側トランジスタ１６ｂ、インバータ１９、第２極性制御線１７ｂにより構成される。この第２列配線１１ｂには、第２抵抗変化素子１３ｂの一端が接続される。第２電源側トランジスタ１５ｂは、該第２列配線１１ｂと電源ノード１４ａとの接続を制御する。第２接地側トランジスタ１６ｂと、は、第２列配線１１ｂと接地ノード１４ｂとの接続を制御する。インバータ１９は、極性信号端子１８からの極性信号の極性を反転して出力する。第２極性制御線１７ｂは、第２電源側トランジスタ１５ｂ及び第２接地側トランジスタ１６ｂの制御端子に接続されて、インバータ１９からの極性信号により第２電源側トランジスタ１５ｂと第２接地側トランジスタ１６ｂとの一方をＯＮし、他方をＯＦＦさせる。
【００５８】
このような抵抗変化素子１３は、常に正常状態であることが好ましい。しかし、抵抗変化素子１３は、製造過程や使用状況に応じて不良状態となることがある。不良モードとして、図１３に示したように、リーク状態、ショート状態、オープン状態が考えられる。
【００５９】
ここで、第１抵抗変化素子１３ａが、オープン状態である場合を考える。第１抵抗変化素子１３ａがオープン状態のときは、どのようなレベルにプログラムされてもＨ抵抗状態のままである。従って、第１抵抗変化素子１３ａをＨ抵抗状態にする場合には、特に問題は生じない。即ち、行配線１２の信号レベルは正常レベルとなる。
【００６０】
しかし、Ｌ抵抗状態にする場合には、第１抵抗変化素子１３ａはＬ抵抗状態にプログラムできず、他方の第２抵抗変化素子１３ｂはＨ抵抗状態にプログラムされる。従って、抵抗変化素子１３は共にＨ抵抗状態となり、行配線１２は不定状態となって、メモリとして正しく機能しなくなる。
【００６１】
次に、第１抵抗変化素子１３ａが、ショート状態である場合を考える。第１抵抗変化素子１３ａがショート状態のときは、どのようなレベルでプログラムされてもＬ抵抗状態のままである。従って、第１抵抗変化素子１３ａにＬ抵抗状態をプログラムする場合には、特に問題は生じない。即ち、行配線１２の信号レベルは正常レベルとなる。
【００６２】
しかし、Ｈ抵抗状態にプログラムする場合には、第１抵抗変化素子１３ａはＨ抵抗状態にプログラムできず、他方の第２抵抗変化素子１３ｂはＬ抵抗状態にプログラムされる。従って、抵抗変化素子１３は共にＬ抵抗状態となる。従って、行配線１２と列配線１１とは、導通状態となる。そして、導通程度に応じて行配線のレベルは、ＨレベルとＬレベルの中間レベルとなってしまう。
【００６３】
そこで、本実施形態では、以下の手順により、不良の抵抗変化素子１３の影響を救済する。図４は、不良救済手順を示すフローチャートである。
【００６４】
ステップＳＡ１：（テストプログラム処理）
まず、２×ｎクロスバースイッチ型メモリ回路１０の各抵抗変化素子１３を意図する抵抗状態に設定するプログラム信号（極性信号）を極性信号端子１８に印加する。ここで、意図する抵抗状態として、第１抵抗変化素子１３ａをＨ抵抗状態、第２抵抗変化素子１３ｂをＬ抵抗状態にプログラムする場合を例とする。このときプログラムにより行配線１２に出力されると期待される信号（情報）を書込データと記載する。即ち、書込データは、２×ｎクロスバースイッチ型メモリ回路１０に記憶させるデータで、抵抗変化素子１３が正常な場合には行配線１２から出力される信号レベルである。これに対し、後述する読出データは、行配線１２から出力されたデータである。
【００６５】
ステップＳＡ２，ＳＡ３：（テスト結果検出処理），（データ一致判断処理）
次に、極性信号端子１８に読出信号（極性信号）を入力して、行配線１２の信号レベルを検出する。この信号が読出データである。そして、読出データと書込データとの一致を判断する。
【００６６】
読出データが、書込データと一致している場合には、各抵抗変化素子１３は正常であると判断する。一方、読出データと書込データとが不一致の場合は、各抵抗変化素子１３に不良が存在すると判断してステップＳＡ４に進む。
【００６７】
ステップＳＡ４：（反転テストプログラム処理）
読出データと書込データとが不一致の場合、各抵抗変化素子１３に対して再度プログラムを行う。このときのプログラム条件は、ステップＳＡ１でプログラムした際の抵抗状態と逆の抵抗状態にする条件（レベル反転印加）である。即ち、ステップＳＡ１における書込データが、第１抵抗変化素子１３ａをＨ抵抗状態、第２抵抗変化素子１３ｂをＬ抵抗状態に設定するデータの場合には、反転テストプログラム処理における書込データは、第１抵抗変化素子１３ａをＬ抵抗状態、第２抵抗変化素子１３ｂをＨ抵抗状態に設定するデータである。
【００６８】
ステップＳＡ５，ＳＡ６：（再テスト結果検出処理），（データ一致判断処理）
そして、ステップＳＡ２，ＳＡ３と同様の処理を行い、書込データと読出データとの一致性を判断する。以下、再テスト結果検出処理及びデータ一致判断処理における書込データと読出データとを再書込データと再読出データと記載する。
【００６９】
再書込データと再読出データとが不一致の場合は、相補的に設けられた１対の抵抗変化素子１３が、共に不良であると判断して、ステップＳＡ７に進む。一方、再書込データと再読出データとが一致している場合は、正常にプログラムできたと判断する。
【００７０】
再書込データと再読出データとが一致しているとの判断は、反転テストプログラム処理で、１対の抵抗変化素子１３が不良であったが、プログラム条件を変えることにより、当該不良が救済できたことを意味する。
【００７１】
ステップＳＡ７：  再書込データと再読出データとが不一致の場合には、プログラム条件を変えても（書込データを反転させても）、当該不良が救済できないため、処理は終了する。このとき、不良情報を出力するようにしても良い。
【００７２】
以上により、１対の抵抗変化素子の内の１つが不良であっても、当該不良の影響が現れないようにプログラムできるので、２×ｎクロスバースイッチ型メモリ回路の信頼性が向上する。
【００７３】
なお、上記説明では、電源側トランジスタにはｐ型ＦＥＴを使用し、接地側トランジスタにはｎ型ＦＥＴを使用したが、電源側トランジスタにｎ型ＦＥＴを使用して、接地側トランジスタにｐ型ＦＥＴを使用してもよい。この場合、１対の列配線１１の電圧値が、それぞれｎＦＥＴとｐＦＥＴのＶｔｈだけ低くなるため、抵抗変化素子におけるリーク電流の削減が可能になる。
【００７４】
また、リーク電流は、列配線と行配線とに流れる電流であるため、この電流を直接計測しても良い。そして、第１抵抗変化素子と第２抵抗変化素子とでリーク電流値が少ない方を高抵抗状態に設定する。
【００７５】
また、抵抗変化素子１３は、図５Ａ〜図５Ｄに示すように、ユニポーラ型抵抗変化素子及びバイポーラ型抵抗変化素子のどちらを使用しても良く、またその組み合わせであってもよい。図５Ａ〜図５Ｄは、抵抗変化素子の接続構成を示す図である。図５Ａはユニポーラ型抵抗変化素子、図５Ｂはバイポーラ型抵抗変化素子、図５Ｃは図５Ｂの場合と接続極性を逆にした場合、図５Ｄはバイポーラ型抵抗変化素子を２つ設けた場合を示す図である。
【００７６】
バイポーラ型抵抗変化素子を使用する際には、電源ノード１４ａ側に第１電極を接続する場合と第２電極を接続する場合の両方が可能であるが、第２電極を電源ノード１４ａ側に接続する方がより好適である。これは、クロスバースイッチ型メモリの動作時には、Ｈ抵抗状態の抵抗変化素子に常にＨレベルの電圧が印加される。従って、電源ノード１４ａ側に第２電極を接続する場合は、電源ノード１４ａは抵抗変化素子がＨ抵抗へと遷移する方向に電圧を印加するので、動作時中にＬ抵抗状態に遷移してしまう誤動作が防止できるためである。なお、本実施形態においては、列配線の極性が反転する場合があるため、予め電源ノード１４ａ側に第２電極を接続する構成となることがない。
【００７７】
特に、信頼性を向上させるためには、図５Ｄに示すようにバイポーラ型抵抗変化素子を異なる極性で直列に接続した構成がさらに望ましい。このような構成を取ることで列配線の信号レベルに関わらず、直列に接続したバイポーラ型抵抗変化素子のどちらかはＨ抵抗状態となるように電源ノード１４ａの電圧が印加されるため、全体としてＯＮ耐性を高くすることができる。
【００７８】
次に、このようなクロスバースイッチ型メモリをＬＵＴ回路として利用する場合について説明する。図６は、このようなＬＵＴ回路２Ａの回路図である。ＬＵＴ回路２Ａは、図３に示したクロスバースイッチ型メモリ回路１０、データ選択回路２０、プルアップ回路３０を備える。
【００７９】
データ選択回路２０はｎ入力マルチプレクサ回路であり、ｎ本の行配線１２に接続された選択トランジスタ２１（２１ａ〜２１ｄ）を備える。さらに、このデータ選択回路２０は、該選択トランジスタ２１ａ，２１ｂの出力に接続された選択トランジスタ２１（２１ｅ，２１ｆ）、選択信号が入力するセレクト線２２、選択信号を反転させるインバータ２３（２３ａ，２３ｂ）を備える。
【００８０】
選択トランジスタ２１はトーナメント式に結線され、選択信号によって複数の行配線１２を介して入力したデータのなかから１つのデータを選択して出力する。
【００８１】
プルアップ回路３０は、プルアップトランジスタ３１、インバータ３２を備える。プルアップトランジスタ３１は、選択トランジスタ２１と逆動作タイプ（プルアップトランジスタ３１がｎ型ＦＥＴであれば、選択トランジスタ２１はｐ型ＦＥＴの意味）で形成されて、インバータ３２の出力はプルアップトランジスタ３１の制御端子に入力している。
【００８２】
これにより選択トランジスタ２１で生じる電圧降下が補償される。即ち、インバータ３２の入力がＬレベルの時は、その出力はＨレベルとなるので、プルアップトランジスタ３１はＯＦＦする。一方、インバータ３２の入力がＨレベルの時は、その出力はＬレベルとなるので、プルアップトランジスタ３１はＯＮする。プルアップトランジスタ３１がＯＮすることで、インバータ３２の入力レベルは、電源ノード１４ａのレベルまで引き上げられる。これにより選択トランジスタ２１で生じる電圧降下が補償される。
【００８３】
なお、選択トランジスタはｎ型ＦＥＴを例に説明したが、ｐ型ＦＥＴを使用してもよく、またｎ型ＦＥＴとｐ型ＦＥＴを並列に接続したトランスミッション制御端子を使用しても良い。さらに、公知の方法で組み合わせ回路によりマルチプレクサ回路を形成しても良い。
【００８４】
以上説明したように、抵抗変化素子に不良のある場合でも、適正にプログラムすることが可能になるので、ＬＵＴ回路の信頼性が向上する。
【００８５】
＜第２実施形態＞
次に、本発明の第２実施形態を説明する。なお、第１実施形態と同一構成に関しては同一符号を用い説明を適宜省略する。
【００８６】
一般に抵抗変化素子は、継続的に電圧印加を繰り返す（プログラムを繰り返す）と、意図しない抵抗状態に遷移することがある。例えば、Ｈ抵抗状態の抵抗変化素子にプログラミング電圧値以下の電圧値を継続的に印加すると、Ｌ抵抗状態に遷移することがある。
【００８７】
このような電圧印加に起因する不良（以下、ストレス不良と記載する）は、電圧の極性が変化しない条件での印加（以下、直流的印加）させ続けた方が、電圧の極性が交流的に変化する条件で印加した場合（以下、交流的印加と記載する）よりも発生し易いことが知られている。
【００８８】
そこで、本実施形態においては、抵抗変化素子に印加する電圧を所定時間毎に極性反転させた交流的印加を行うことで、かかるストレス不良の発生を抑制する。
【００８９】
ところで、抵抗変化素子に交流的印加すると、クロスバースイッチ型メモリ回路１０の出力も変化してしまう。このため、抵抗変化素子に交流的印加してもクロスバースイッチ型メモリ回路１０の出力が変化しないようにしなければならない。
【００９０】
図７は、かかる観点から構成されたＬＵＴ回路２Ｂである。図６に示すＬＵＴ回路２Ａにデータ反転回路４０が追加された構成となっている。
【００９１】
データ反転回路４０は、ＸＯＲ論理回路により形成されて、一方の入力端子は、インバータ３２の出力端子に接続され、他方の入力端子は極性信号端子１８に接続されている。従って、データ反転回路４０は、クロスバースイッチ型メモリ回路１０と同期して動作する。
【００９２】
このような構成により、交流的印加により列配線の信号レベルとＬＵＴ回路２Ｂから出力される信号レベルが同時に反転しても、データ反転回路４０の出力レベルは、交流的印加条件に依存しなくなる。即ち、抵抗変化素子に交流印加してもＬＵＴ回路２Ｂの出力は、直流的印加の場合と変わらないようになる。
【００９３】
従って、クロスバースイッチ型メモリ回路１０の信頼性が向上する。
【００９４】
＜具体例＞
次に、クロスバースイッチ型メモリ回路の具体例を説明する。図８は、本具体例にかかるクロスバースイッチ型メモリ回路の回路図である。
【００９５】
クロスバースイッチ型メモリ回路は、図３で示したｎビットのクロスバースイッチ型メモリ回路１０と１ビットの極性記憶ビットからなる２ｘ（ｎ＋１）規模のクロスバースイッチ回路である。
【００９６】
そして、第１列配線１１ａは、第１電源側トランジスタ１５ａ（１５）と第１電源切離用トランジスタ５４ａ（５４）とを介して電源ノード１４ａに接続され、また第１接地側トランジスタ１６ａと第１接地切離用トランジスタ５７ａを介して接地ノード１４ｂに接続されている。
【００９７】
また、第２列配線１１ｂは、第２電源側トランジスタ１５ｂと第２電源切離用トランジスタ５４ｂを介して電源ノード１４ａに接続され、第２接地側トランジスタ１６ｂ（１６）と第２接地切離用トランジスタ５７ｂ（５７）を介して接地ノード１４ｂに接続されている。ここで、電源側トランジスタとしてｐ型ＦＥＴ、接地側トランジスタとしてｎ型ＦＥＴを用いる。
【００９８】
第１電源側トランジスタ１５ａと第１接地側トランジスタ１６ａとの制御端子には、第１極性制御線１７ａ（１７）が接続され、第２電源側トランジスタ１５ｂと第２接地側トランジスタ１６ｂとの制御端子には、第２極性制御線１７ｂ（１７）が接続される。
【００９９】
第２極性制御線１７ｂには、極性反転回路として機能するインバータ１９により極性信号が論理反転して入力する。
【０１００】
また、第１電源切離用トランジスタ５４ａと第２電源切離用トランジスタ５４ｂとは、プログラミングイネーブル線６１に接続され、第１接地切離用トランジスタ５７ａと第２接地切離用トランジスタ５７ｂとには、インバータ６２を介してプログラミングイネーブル信号の反転信号が与えられる。
【０１０１】
さらに、抵抗変化素子１３のプログラミングと読出しのために、各列配線１１に対して選択トランジスタ６８（６８ａ，６８ｂ）を介してプログラミングドライバ６３ａ（６３）が接続され、行配線１２に対して選択トランジスタ６６を介してプログラミングドライバ６３ｂ（６３）が接続されている。また、このプログラミングドライバ６３の出力には電圧値読出回路６４（６４ａ，６４ｂ）が接続されている。なお、プログラミングドライバ６３は、列配線１１及び行配線１２に対して、それぞれ共通に１つずつ設ければ良い。
【０１０２】
（ｎ＋１）本の行配線１２のうち、ｎ本の行配線１２の信号はメモリデータとして使用され、図示しないが後段の回路に出力される。例えば、後段に上述したＬＵＴ回路を設ける場合は、このＬＵＴ回路の構成要素をなす選択回路に出力される。そして、残りの１つの行配線１２からの出力された信号は、極性信号生成回路６５に入力する。
【０１０３】
本具体例では極性信号生成回路６５は、セット付きＤ型フリップフロップにより構成し、行配線１２からの信号はデータ端子に入力する。そして、極性信号生成回路６５の出力は、第１極性制御線１７ａに出力される。
【０１０４】
さらに極性信号生成回路６５は、セット端子６５ａ及びクロック端子６５ｂを有する。
【０１０５】
次に、このような構成のクロスバースイッチ型メモリ回路におけるプログラム方法を説明する。図９は、プログラム方法を示すフローチャートである。
【０１０６】
ステップＳＢ１：（列配線切離処理）
先ず、プログラミングイネーブル線６１からＨレベルのプログラミングイネーブル信号を入力する。これにより、第１電源切離用トランジスタ５４ａ及び第２電源切離用トランジスタ５４ｂがＯＦＦし、第１接地切離用トランジスタ５７ａ及び第２接地切離用トランジスタ５７ｂがＯＦＦする。従って、列配線１１は、電源ノード１４ａ及び接地ノード１４ｂから切り離される。
【０１０７】
ステップＳＢ２：（テストプログラム処理）
選択信号線６７を介して選択信号が複数の選択トランジスタ６６，６８の制御端子に入力する。なお、選択信号線６７は、選択トランジスタ６６，６８に接続されているが、図８においては、これらをバス的に太線で示している。この選択信号により複数の選択トランジスタ６６，６８が個別に制御される。
【０１０８】
この状態で、プログラミングドライバの一方（プログラミングドライバ６３ａとする）の出力電圧値をプログラミング電圧値とし、他方（プログラミングドライバ６３ｂとする）の出力電圧値を接地ノード１４ｂの電圧値とする。これにより、抵抗変化素子１３の両端（第１電極と第２電極）にはプログラム電圧値が印加されて、プログラムが実行される。この処理は、ＯＮする選択トランジスタ６６を順次切り換えて、全ての選択トランジスタ６６に対して行うことにより、全ての抵抗変化素子１３に対してプログラミングを行う。
【０１０９】
ステップＳＢ３：  （テスト結果検出処理）
プログラミングドライバ６３の出力電位は、抵抗変化素子１３の抵抗状態により変化するため、出力電位をプログラミングドライバ６３と並列に接続された電圧値読出回路６４で別途与えられる参照電圧値と比較することで、抵抗変化素子１３が、Ｈ抵抗状態かＬ抵抗状態であるかを読出すことができる。
【０１１０】
ステップＳＢ４：  （データ一致判断処理）
そこで、クロスバースイッチ型メモリ回路のすべての抵抗変化素子１３のプログラムと読出しが終了したのち、プログラミングデータ（書込データ）と読出しデータ（読出データ）との一致を判断する。
【０１１１】
書込データと読出データとが一致する場合、プログラム対象のクロスバースイッチ型メモリ回路は、正常にプログラムされたと判断する。
【０１１２】
ステップＳＢ５〜ＳＢ６：  （反転テストプログラム処理），（再テスト結果検出処理）
書込データと読出データとが不一致の場合、抵抗変化素子１３の１つがオープン不良かショート不良の状態にあると判断する。そして、この場合には、全ての書込データを反転して、再度プログラムを行い、その結果を検出する。
【０１１３】
ステップＳＢ７〜ＳＢ８：  再度プログラムの結果、再書込データと再読出データとが一致すれば、クロスバースイッチ型メモリは、不良状態の影響から救済されたと判断する。一方、再書込データと再読出データとが不一致の場合には、プログラム条件を変えても、当該不良が救済できないため、処理は終了する。このとき、不良情報を出力するようにしても良い。
【０１１４】
ステップＳＢ９：  そして、プログラミングイネーブル信号をＬレベルにする。プログラミングイネーブル信号をＬレベルにすることにより、電源ノード１４ａ及び接地ノード１４ｂからの列配線１１の切離しが解除される。
【０１１５】
次に、クロスバースイッチ型メモリ回路における抵抗変化素子の不良の有無を判断して、不良が有る場合にはその不良の影響が救済できるようにする不良判断プログラム処理について説明する。図１０は、かかる不良判断プログラム処理のフローチャートである。
【０１１６】
ステップＳＣ１：  （規定値設定処理）
まず、極性信号生成回路６５に接続される行配線１２と第１列配線１１ａとの交点に設けられている第１抵抗変化素子１３ａをＨ抵抗状態に、行配線１２と第２列配線１１ｂとの交点に設けられている第２抵抗変化素子１３ｂをＬ抵抗状態にプログラムする。そして、この状態を極性信号ビットの規定値と呼称して、定義する。
【０１１７】
ステップＳＣ２：  （列配線のレベル設定処理）
次に、極性信号生成回路６５のセット端子をＨレベルにする。これにより極性信号生成回路６５からＨレベルの信号が出力されて第１列配線１１ａのレベルは、接地ノード１４ｂのレベルとなり、第２列配線１１ｂのレベルは電源ノード１４ａのレベルとなる。
【０１１８】
ステップＳＣ３：  （診断用パルス入力処理）
このとき、極性信号ビットが規定値でプログラムされている場合は、極性信号生成回路６５の入力端子には、同様にＨレベルの信号が入力する。そこで、極性信号生成回路６５のクロック端子にＨレベルの信号を１パルス入力させる。
【０１１９】
ステップＳＣ４：  （極性信号ビットの適正判断）
このクロック端子に入力させたパルス信号によっても、極性信号生成回路６５の出力はＨレベルのままである。従って、極性制御線１７の極性信号は変化しない。
【０１２０】
しかし、極性信号ビットが規定値でプログラムされていない場合、極性信号生成回路６５の出力はＨレベルにセットされていると、極性信号生成回路６５の入力にはＬレベルの信号が入力する。
【０１２１】
ステップＳＣ５：  （反転用パルス入力処理）
そこで、極性信号生成回路６５のクロック端子にＨレベルの信号を１パルス入力させる。このパルス入力により、極性信号生成回路６５の出力レベルはＬレベルに変化する。従って、第１列配線１１ａの信号レベルはＨレベルになり、第２列配線１１ｂの信号レベルはＬレベルになる。
【０１２２】
以上より、所定のプログラミングデータと共に規定値の極性信号ビットデータを与えるように、クロスバースイッチ型メモリをプログラムするならば、クロスバースイッチ型メモリから正しいデータを出力することができる。
【０１２３】
また、不良ビット救済のため、所定のプログラミングデータと期待値の極性ビットデータをすべて反転して再プログラムを行った場合は、列配線極性が反転し、結果としてクロスバースイッチ型メモリは同様に所定のデータを出力することができる。
【０１２４】
本具体例の構成を取ることにより、ｎビットデータを出力するクロスバースイッチ型メモリに１ビットの極性信号ビットを付加することで、クロスバースイッチ型メモリの構成する抵抗変化素子１３のビット不良を救済することが可能である。
【０１２５】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２６】
この出願は、２０１５年３月３日に出願された日本出願特願２０１５−０４１４５５を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１２７】
１０    クロスバースイッチ型メモリ回路
１１    列配線
１１ａ    第１列配線
１１ｂ    第２列配線
１２    行配線
１３    抵抗変化素子
１３ａ    第１抵抗変化素子
１３ｂ    第２抵抗変化素子
１４ａ    電源ノード
１４ｂ    接地ノード
１５    電源側トランジスタ
１５ａ    第１電源側トランジスタ
１５ｂ    第２電源側トランジスタ
１６    接地側トランジスタ
１６ａ    第１接地側トランジスタ
１６ｂ    第２接地側トランジスタ
１７    極性制御線
１７ａ    第１極性制御線
１７ｂ    第２極性制御線
１８    極性信号端子
１９    インバータ（論理反転回路）
２０    データ選択回路
２１（２１ａ〜２１ｆ）    選択トランジスタ
２２    セレクト線
３０    プルアップ回路
３１    プルアップトランジスタ
３２    インバータ
４０    データ反転回路
５４    電源切離用トランジスタ
５４ｂ    第２電源切離用トランジスタ
５４ａ    第１電源切離用トランジスタ
５７    接地切離用トランジスタ
５７ａ    第１接地切離用トランジスタ
５７ｂ    第２接地切離用トランジスタ
６１    プログラミングイネーブル線
６２    インバータ
６３    プログラミングドライバ
６３ａ    一方プログラミングドライバ
６３ｂ    他方プログラミングドライバ
６４    電圧値読出回路
６５    極性信号生成回路
６６，６８    選択トランジスタ
６７    選択信号線
【図１Ａ】
2016139926.tif 000003
【図１Ｂ】
2016139926.tif 000004
【図１Ｃ】
2016139926.tif 000005
【図１Ｄ】
2016139926.tif 000006
【図２Ａ】
2016139926.tif 000007
【図２Ｂ】
2016139926.tif 000008
【図２Ｃ】
2016139926.tif 000009
【図２Ｄ】
2016139926.tif 000010
【図３】
2016139926.tif 000011
【図４】
2016139926.tif 000012
【図５Ａ】
2016139926.tif 000013
【図５Ｂ】
2016139926.tif 000014
【図５Ｃ】
2016139926.tif 000015
【図５Ｄ】
2016139926.tif 000016
【図６】
2016139926.tif 000017
【図７】
2016139926.tif 000018
【図８】
2016139926.tif 000019
【図９】
2016139926.tif 000020
【図１０】
2016139926.tif 000021
【図１１】
2016139926.tif 000022
【図１２】
2016139926.tif 000023
【図１３】
2016139926.tif 000024
【図１４Ａ】
2016139926.tif 000025
【図１４Ｂ】
2016139926.tif 000026
【国際調査報告】
2016139926.tif 000027
2016139926.tif 000028