(57)【特許請求の範囲】
【請求項１】
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットのプログラム方法であって、
プログラム回路が、前記第１の抵抗変化素子に第１のパルスを供給して、前記第１の抵抗変化素子を、高抵抗状態と低抵抗状態との中間の状態である中間抵抗状態に遷移させ、その後、前記第２の抵抗変化素子に第２のパルスを供給して、前記第２の抵抗変化素子を、前記中間抵抗状態に遷移させ、その後、前記第１の抵抗変化素子に、前記第１のパルスと同じ極性であり且つ前記第１のパルスの電圧値よりも絶対値が小さい電圧値の第３のパルスを供給して、前記第１の抵抗変化素子を、前記低抵抗状態に遷移させ、その後、前記第２の抵抗変化素子に、前記第２のパルスと同じ極性であり且つ前記第２のパルスの電圧値よりも絶対値が小さい電圧値の第４のパルスを供給して、前記第２の抵抗変化素子を、前記低抵抗状態に遷移させる、相補型スイッチユニットのプログラム方法。
【請求項２】
前記中間状態の抵抗値が前記低抵抗状態の抵抗値の２倍以上である、請求項１に記載の相補型スイッチユニットのプログラム方法。
【請求項３】
前記第３のパルスのパルス幅が前記第１のパルスのパルス幅よりも大きく、前記第４のパルスのパルス幅が前記第２のパルスのパルス幅よりも大きい、請求項１または２に記載の相補型スイッチユニットのプログラム方法。
【請求項４】
前記第３のパルスの電圧値が前記第１のパルスの電圧値よりも小さく、前記第４のパルスの電圧値が前記第２のパルスの電圧値よりも小さい、請求項１から３のいずれか１項に記載の相補型スイッチユニットのプログラム方法。
【請求項５】
前記第１及び第２のパルスの波形が同じであり、前記第３及び第４のパルスの波形が同じである、請求項１から４のいずれか１項に記載の相補型スイッチユニットのプログラム方法。
【請求項６】
前記第１及び第２の抵抗変化素子はそれぞれ、金属析出型の抵抗変化素子である、請求項１から５のいずれか１項に記載の相補型スイッチユニットのプログラム方法。
【請求項７】
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットと、
前記第１及び第２の抵抗変化素子にパルスを供給するプログラム回路と、を有し、
前記プログラム回路が、前記第１の抵抗変化素子に第１のパルスを供給して、前記第１の抵抗変化素子を、高抵抗状態と低抵抗状態との中間の状態である中間抵抗状態に遷移させ、その後、前記第２の抵抗変化素子に第２のパルスを供給して、前記第２の抵抗変化素子を、前記中間抵抗状態に遷移させ、その後、前記第１の抵抗変化素子に、前記第１のパルスと同じ極性であり且つ前記第１のパルスの電圧値よりも絶対値が小さい電圧値の第３のパルスを供給して、前記第１の抵抗変化素子を、前記低抵抗状態に遷移させ、その後、前記第２の抵抗変化素子に、前記第２のパルスと同じ極性であり且つ前記第２のパルスの電圧値よりも絶対値が小さい電圧値の第４のパルスを供給して、前記第２の抵抗変化素子を、前記低抵抗状態に遷移させる、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相補型抵抗変化素子のプログラミング方法、および半導体装置に関する。
【背景技術】
【０００２】
半導体集積回路は、トランジスタ等の複数の素子とこれら素子を接続する配線とを半導体基板上に形成したものである。配線は、素子が形成された層とは異なる層に形成されている。トランジスタや配線のパターンは、集積回路の設計段階で決められており、半導体集積回路の製造後に、トランジスタ同士の接続を変更することは困難である。
そこで、ＦＰＧＡ（Field Programmable Gate Array）などのプログラマブル論理集積回路（再構成可能回路）が提案されている。このプログラマブル論理集積回路では、論理演算回路の論理動作や配線の接続を示す構成情報をメモリに記憶する。メモリに記憶した構成情報を書き換えることで、論理動作や配線の接続の変更が可能である。一般に、構成情報を記憶するメモリ素子として、ＳＲＡＭ（Static Random Access Memory）セル、アンチフューズ、フローティングゲートＭＯＳ（Metal Oxide Semiconductor）トランジスタなどが用いられている。
【０００３】
しかし、上記のメモリ素子は、トランジスタと同じ層に形成されるため、チップ面積が大きくなり、製造コストが増大する。また、論理演算回路同士の接続を変更する配線やスイッチの面積が大きくなるために、チップ面積に占める論理演算回路の割合が低下する。このため、再構成可能回路に実装される回路の動作速度の低下や動作電力の増大を招く。
そこで、電圧を印加することで電気抵抗が変化する抵抗変化素子を利用したプログラマブル論理集積回路が提案されている(非特許文献１参照)。このプログラマブル論理集積回路によれば、製造後に、配線接続の変更、回路の不具合の修正や仕様の変更が可能であり、電源投入時の回路構成情報をロードする手間を省くことも可能である。また、抵抗変化素子は配線層に形成可能であることから、チップ面積の縮小や電力性能比の向上を図ることができる。
【０００４】
別の例として、第１の配線層と、その上部に形成される第２の配線層との間に、金属イオンを含有する固体電解質材料から構成される抵抗変化素子を備えたプログラマブル論理集積回路が記載されている（特許文献１、２参照）。抵抗変化素子の両端に順バイアス、あるいは逆バイアスを印加することで、抵抗変化素子の抵抗値を変えることができる。抵抗変化素子の低抵抗状態(オン状態)と高抵抗状態(オフ状態)の比は１０の５乗、あるいはそれ以上である。この抵抗変化素子は、２つの配線間を電気的に接続、あるいは切断できるスイッチ手段として機能する。このように、抵抗が変化する際の電圧に極性があるものをバイポーラ型と呼び、極性がないものはユニポーラ型と呼ばれている。
抵抗変化素子をスイッチ用途で用いる場合、抵抗変化素子は信号伝送線上で使われるため、常時、抵抗変化素子を動作させる必要がある。抵抗変化素子を備えたスイッチユニットとして、１つのトランジスタと２つの抵抗変化素子とからなる１Ｔ２Ｒ構造の相補型スイッチユニットが提案されている（特許文献３、４参照）。また、１つの抵抗変化素子と１つのトランジスタとから構成される１Ｔ１Ｒ構造のスイッチユニット（特許文献５参照）も提案されている。
【０００５】
相補型スイッチユニットにおいて、第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子は、同一の極性とされ、共通ノードを形成している。トランジスタの一端が共通ノードに接続されている。トランジスタを導通させ、第１の抵抗変化素子の一端とトランジスタの他端との間に基準値を超える電圧を印加することで、第１の抵抗変化素子の抵抗状態を変化させる、すなわちプログラムすることができる。同様に、トランジスタを導通させ、第２の抵抗変化素子の一端とトランジスタの他端との間に基準値を超える電圧を印加することで、第２の抵抗変化素子の抵抗状態を変化させる、すなわちプログラムすることができる。なお、第１及び第２の抵抗変化素子を同時にプログラムすることはできないため、通常、一方の抵抗変化素子をプログラムした後に、他方の抵抗変化素子をプログラムする。
上記の相補型スイッチユニットは、１Ｔ１Ｒ構造のスイッチユニットと比較して、高性能で、かつ、信頼性が高い。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４３５６５４２号公報
【特許文献２】国際公開第２０１２−０４３５０２号公報
【特許文献３】国際公開第２０１３−１９０７４２号公報
【特許文献４】国際公開第２０１４−０３０３９３号公報
【特許文献５】特開２０１２−２２１５２５号公報
【非特許文献】
【０００７】
【非特許文献１】M. Miyamura, et al., "First demonstration of logic mapping on nonvolatile programmable cell using complementary atom switch," IEEE IEDM Dig. Tech. Papers, pages 10.6.1-10.6.4, 2012.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したように、特許文献３や特許文献４に記載されたような相補型スイッチユニットは、特許文献５に記載されたような１Ｔ１Ｒ構造のスイッチユニットと比較して、高性能であり、信頼性も高いという利点がある。しかし、この相補型スイッチユニットには、以下のような問題がある。
一方の抵抗変化素子をプログラムした後、他方の抵抗変化素子をプログラムする際に、プログラム中に、先にプログラムされた抵抗変化素子の抵抗状態が変動する。このため、先にプログラムされた抵抗変化素子を、再度、プログラムすることが必要となり、その結果、プログラムに要する時間が長くなり、利便性が低下し、テストコストが高くなるという問題がある。
本発明の目的は、上記問題を解決し、プログラムに要する時間を短くすることができ、テストコストを削減することができる、相補型スイッチユニットのプログラム方法及び半導体装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一態様によれば、
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットのプログラム方法であって、
波形が異なる複数のパルスを前記第１及び第２の抵抗変化素子それぞれに異なるタイミングで供給する、相補型スイッチユニットのプログラム方法が提供される。
【００１０】
本発明の別の態様によれば、
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットと、
波形が異なる複数のパルスを前記第１及び第２の抵抗変化素子それぞれに異なるタイミングで供給するプログラム回路と、を有する、半導体装置が提供される。
【発明の効果】
【００１１】
本発明によれば、最初にプログラムされる抵抗変化素子の変動を抑制することができ、プログラム歩留り(書込み率)を増加させることができる。これにより、プログラムの利便性が向上し、テストコストを低減することができる。
【図面の簡単な説明】
【００１２】
【図１Ａ】本発明の一実施形態である半導体装置に用いられる抵抗変化素子の構造を示す模式図である。
【図１Ｂ】図１Ａに示す抵抗変化素子の回路図である。
【図１Ｃ】図１Ｂに示す抵抗変化素子の印加電圧と抵抗状態との関係を説明するための図である。
【図２】本発明の一実施形態である半導体装置の主要部を示す回路図である。
【図３】複数の相補型スイッチユニットがマトリクス状に配置されたクロスバースイッチの構造を示す回路図である。
【図４】選択トランジスタを備えた相補型スイッチユニットの一例を示す回路図である。
【図５】複数の相補型スイッチユニットがマトリクス状に配置された別のクロスバースイッチの構造を示す回路図である。
【図６】図４に示す相補型スイッチユニットの書き込み動作を説明するための模式図である。
【図７】図４に示す相補型スイッチユニットの書き込み動作を説明するめのタイミングチャートである。
【図８】本発明の一実施形態である相補型スイッチユニットのプログラム方法を説明するためのタイミングチャートである。
【図９】初期状態から中間状態を介して最終状態に遷移させた場合の抵抗変化素子の抵抗値の分布を示す図である。
【図１０】比較例のプログラム方法における抵抗変化素子のプログラム動作を説明するためのタイミングチャートである。
【図１１Ａ】図１０に示す比較例のプログラム方法におけるディスターブ不良を説明するための図である。
【図１１Ｂ】図１０に示す比較例のプログラム方法におけるディスターブ不良を説明するための図である。
【図１２Ａ】本発明の一実施形態である相補型スイッチユニットのプログラム方法の作用効果を説明するための図である。
【図１２Ｂ】本発明の一実施形態である相補型スイッチユニットのプログラム方法の作用効果を説明するための図である。
【図１２Ｃ】本発明の一実施形態である相補型スイッチユニットのプログラム方法の作用効果を説明するための図である。
【図１２Ｄ】本発明の一実施形態である相補型スイッチユニットのプログラム方法の作用効果を説明するための図である。
【図１３】本発明の一実施形態である半導体装置に用いられる相補型スイッチユニットの一例を示す模式図である。
【発明を実施するための形態】
【００１３】
次に、本発明の実施形態について図面を参照して説明する。
図１Ａに、本発明の一実施形態である半導体装置に用いられる抵抗変化素子の構造を模式的に示す。図１Ｂに、図１Ａに示す抵抗変化素子の回路図を示す。
図１Ａ及び図１Ｂを参照すると、抵抗変化素子１０は、イオン伝導層１１と、イオン伝導層１１の一方の面に接して設けられた第１電極１２と、イオン伝導層１１の他方の面に接して設けられた第２電極１３とを有する。図１Ｂにおいて、ＴＲ［１］は、第１電極１２である第１端子を示し、ＴＲ［２］は、第２電極１３である第２端子を示す。抵抗変化素子１０は、例えば、遷移金属酸化物を用いたＲｅＲＡＭ(Resistance Random Access Memory)や、イオン伝導体を用いたNanoBridge(登録商標)などで形成してもよい。
【００１４】
抵抗変化素子１０では、第１電極１２からイオン伝導層１１に金属イオンが供給されるが、第２電極１３からイオン伝導層１１へは金属イオンは供給されない。第１電極１２（第１端子ＴＲ［１］）と第２電極１３（第２端子ＴＲ［２］）との間に印加される電圧の極性を変えることで、イオン伝導体１１の抵抗値を変化させ、それにより、２つの電極１２、１３間の導通状態（抵抗変化素子の抵抗状態）を制御することができる。
図１Ｃに、印加電圧と抵抗変化素子１０の抵抗状態との関係を示す。第１端子ＴＲ［１］を「High」レベルに、第２端子ＴＲ［２］を「Low」レベルに設定すると、抵抗変化素子１０は高抵抗状態（オフ状態）から低抵抗状態（オン状態）に遷移する。一方、第１端子ＴＲ［１］を「Low」レベルに、第２端子ＴＲ［２］を「High」レベルに設定すると、抵抗変化素子１０は低抵抗状態（オン状態）から高抵抗状態（オフ状態）に遷移する。ここでは、抵抗変化素子１０を高抵抗状態（オフ状態）から低抵抗状態（オン状態）に遷移させる動作をセット動作と呼び、抵抗変化素子１０を低抵抗状態（オン状態）から高抵抗状態（オフ状態）に遷移させる動作をリセット動作と呼ぶ。
【００１５】
図２は、本発明の一実施形態である半導体装置の主要部を示す回路図である。図２を参照すると、半導体装置は、相補型スイッチユニット２０とプログラム回路２１を有する。
相補型スイッチユニット２０は、印加電圧に応じて電気抵抗が変化する２つの抵抗変化素子１０ａ、１０ｂを有する。抵抗変化素子１０ａ、１０ｂは直列に接続され、互いの接続された端子が同一の極性である。抵抗変化素子１０ａ、１０ｂとして、図１Ａ〜図１Ｃを用いて説明した抵抗変化素子を用いることができる。ここで、互いの接続された端子が同一の極性であるとは、抵抗変化素子１０ａ、１０ｂの第１端子ＴＲ［１］（第１電極１２）同士を接続すること、又は、抵抗変化素子１０ａ、１０ｂの第２端子ＴＲ［２］（第２電極１３）同士を接続することを意味する。図２に示した例では、抵抗変化素子１０ａの第２端子ＴＲ［２］（第２電極１３）が、抵抗変化素子１０ｂの第２端子ＴＲ［２］（第２電極１３）と接続されている。
【００１６】
相補型スイッチユニット２０は、３つの端子Ｔ１、Ｔ２、ＴＳを備える。端子Ｔ１は、抵抗変化素子１０ａの第２端子ＴＲ［２］である。端子Ｔ２は、抵抗変化素子１０ｂの第２端子ＴＲ［２］である。端子ＴＳは、抵抗変化素子１０ａ、１０ｂの第２端子ＴＲ［２］（第２電極１３）同士を接続した共通ノードに接続されている。
プログラム回路２１は、波形が異なる複数のパルスを抵抗変化素子１０ａ、１０ｂそれぞれに異なるタイミングで供給する。プログラム回路２１は、抵抗変化素子１０ａへのパルスの供給と抵抗変化素子１０ｂへのパルスの供給とを交互に行うことができる。抵抗変化素子１０ａへのパルスの供給は、端子Ｔ１、ＴＳを介して行われる。抵抗変化素子１０ｂへのパルスの供給は、端子Ｔ２、ＴＳを介して行われる。
【００１７】
例えば、プログラム回路２１は、第１のパルスを抵抗変化素子１０ａに供給して抵抗変化素子１０ａを第１の抵抗状態に遷移させる。次いで、プログラム回路２１は、第２のパルスを抵抗変化素子１０ｂに供給して抵抗変化素子１０ｂを第１の抵抗状態に遷移させる。次いで、プログラム回路２１は、第１のパルスとは波形が異なる第３のパルスを抵抗変化素子１０ａに供給して抵抗変化素子１０ａを第１の抵抗状態とは抵抗値が異なる第２の抵抗状態に遷移させる。最後に、プログラム回路２１は、第２のパルスとは波形が異なる第４のパルスを抵抗変化素子１０ｂに供給して抵抗変化素子１０ｂを第２の抵抗状態に遷移させる。
第２の抵抗状態は、高抵抗状態（オフ状態）または低抵抗状態（オン状態）を示す。第１の抵抗状態は、高抵抗状態と低抵抗状態の中間の抵抗状態を示す。第２の抵抗状態が低抵抗状態である場合、第１の抵抗状態の抵抗値は、第２の抵抗状態の抵抗値の２倍以上であることが望ましい。
【００１８】
また、第３のパルスの電流値（プログラム電流）が第１のパルスの電流値（プログラム電流）よりも大きくてもよく、第４のパルスの電流値（プログラム電流）が第２のパルスの電流値（プログラム電流）よりも大きくてもよい。一般に、抵抗変化素子の抵抗状態はプログラム電流によって制御することが可能であるため、最初のプログラム電流は、最後のプログラム電流よりも小さいことが望ましい。
さらに、第３のパルスのパルス幅が第１のパルスのパルス幅よりも大きくてもよく、第４のパルスのパルス幅が第２のパルスのパルス幅よりも大きくてもよい。一般に、抵抗変化素子の抵抗状態は、印加される電荷に依存するため、パルス幅が小さいほど、抵抗変化素子の抵抗値は高くなる。このため、最初のプログラムパルスのパルス幅は、最後のプログラムパルスのパルス幅よりも小さいことが望ましい。
【００１９】
さらに、第３のパルスの電圧値が第１のパルスの電圧値よりも小さくてもよく、第４のパルスの電圧値が第２のパルスの電圧値よりも小さくてもよい。最初のプログラムパルスは、抵抗変化素子の抵抗状態を変化させる必要があるため、高い電圧を要とする。一方、最後のプログラムパルスは、必ずしも高い電圧を必要としない。このため、最後のプログラムパルスの電圧値を低くすることで、ディスターブ（最初にプログラムした抵抗変化素子１０ａの抵抗状態の反転）を抑制することができる。
さらに、第１及び第２のパルスの波形が同じであってもよく、第３及び第４のパルスの波形が同じであってもよい。
さらに、抵抗変化素子１０ａ、１０ｂは、バイポーラ型の不揮発性抵抗変化素子を構成してもよい。
さらに、抵抗変化素子１０ａ、１０ｂはそれぞれ、金属析出型の抵抗変化素子であってもよい。
【００２０】
また、図２において、相補型スイッチユニット２０は１つしか示されていないが、複数の相補型スイッチユニット２０が設けられてもよい。この場合は、プログラム回路２１は、複数の相補型スイッチユニット２０に対して選択的にパルスを供給する。プログラム回路２１は、上述したパルス供給動作を各相補型スイッチユニット２０に対して行う。
図３に、複数の相補型スイッチユニット２０がマトリクス状に配置されたクロスバースイッチの構造を示す。図３において、便宜上、プログラム回路２１は示されていない。また、相補型スイッチユニット２０は４つしか示されていないが、相補型スイッチユニット２０の数は４つに限定されない。
【００２１】
図３を参照すると、垂直方向の信号用配線ＲＶ［ｎ］、ＲＶ［ｎ＋１］と水平方向の信号用配線ＲＨ［ｎ］、ＲＨ［ｎ＋１］とが互いに交差するように配置されている。信号用配線ＲＶ［ｎ］、ＲＶ［ｎ＋１］と信号用配線ＲＨ［ｎ］、ＲＨ［ｎ＋１］との各交差部に、相補型スイッチユニット２０が配置されている。
信号用配線ＲＶ［ｎ］と信号用配線ＲＨ［ｎ］との交差部に設けられた相補型スイッチユニット２０において、端子Ｔ１は信号用配線ＲＶ［ｎ］に接続され、端子Ｔ２は信号用配線ＲＨ［ｎ］に接続されている。これと同様、他の交差部の相補型スイッチユニット２０においても、端子Ｔ１、Ｔ２が対応する信号用配線ＲＶ、ＲＨに接続されている。
【００２２】
プログラム回路２１は、信号用配線ＲＶ、ＲＨを用いてマトリクス状に配置された複数の相補型スイッチユニット２０のうちから１つの相補型スイッチユニット２０を選択し、選択した相補型スイッチユニット２０に対してパルスを供給する。
相補型スイッチユニット２０を選択してパルスを供給する際に、選択対象でない相補型スイッチユニット２０に、パルスが誤って供給されることを防止するために、選択トランジスタを用いることが望ましい。
【００２３】
図４に、選択トランジスタを備えた相補型スイッチユニットの一例を示す。図４に示す相補型スイッチユニット２０ａは、図２に示した抵抗変化素子１０ａ、１０ｂと選択トランジスタ１１とを有する。相補型スイッチユニット２０ａは、３つの端子Ｔ１、Ｔ２、ＴＳを備える。端子Ｔ１は、抵抗変化素子１０ａの第２端子ＴＲ［２］である。端子Ｔ２は、抵抗変化素子１０ｂの第２端子ＴＲ［２］である。抵抗変化素子１０ａの第２端子ＴＲ［２］（第２電極１３）と抵抗変化素子１０ｂの第２端子ＴＲ［２］（第２電極１３）とが互いに接続されて共通ノードを形成している。選択トランジスタ１１の一端は、共通ノードに接続されている。選択トランジスタ１１の他端は、端子ＴＳに接続されている。
【００２４】
図５に、複数の相補型スイッチユニット２０ａがマトリクス状に配置されたクロスバースイッチの構造を示す。図５において、便宜上、プログラム回路２１は示されていない。また、相補型スイッチユニット２０ａは４つしか示されていないが、相補型スイッチユニット２０ａの数は４つに限定されない。
図５を参照すると、垂直方向の信号用配線ＲＶ［ｎ］、ＲＶ［ｎ＋１］と水平方向の信号用配線ＲＨ［ｎ］、ＲＨ［ｎ＋１］とが互いに交差するように配置されている。信号用配線ＲＶ［ｎ］、ＲＶ［ｎ＋１］と信号用配線ＲＨ［ｎ］、ＲＨ［ｎ＋１］との各交差部に、相補型スイッチユニット２０ａが配置されている。
【００２５】
信号用配線ＲＶ［ｎ］と信号用配線ＲＨ［ｎ］との交差部に設けられた相補型スイッチユニット２０ａにおいて、端子Ｔ１は信号用配線ＲＶ［ｎ］に接続され、端子Ｔ２は信号用配線ＲＨ［ｎ］に接続されている。これと同様、他の交差部の相補型スイッチユニット２０ａにおいても、端子Ｔ１、Ｔ２が対応する信号用配線ＲＶ、ＲＨに接続されている。
各交差部の相補型スイッチユニット２０ａにおいて、選択トランジスタ１１のゲート端子ＴＧは垂直方向の書き込み制御線ＳＶ（不図示）に接続され、端子ＴＳは、水平方向の書き込み制御線ＧＨ（不図示）に接続されている。書き込み制御線ＳＶ、ＧＨは、選択トランジスタ１１を制御するために用いられる。
垂直方向の書き込み制御線ＳＶは、垂直方向の信号用配線ＲＶと平行に複数設けられている。水平方向の書き込み制御線ＧＨは、水平方向の信号用配線ＲＨと平行に複数設けられている。プログラム回路２１は、書き込み制御線ＳＶ、ＧＨの直交性を利用してクロスバースイッチ内の相補型スイッチユニット２０ａを選択する。プログラム回路２１は、信号用配線ＲＶ、ＲＨを経由して抵抗変化素子１０ａ、１０ｂに対する書き込みを行う書込みドライバを有する。選択された相補型スイッチユニット２０では、選択トランジスタ１１を介して、書込みドライバから信号用配線ＲＶ、ＲＨを経由してパルスが供給され、抵抗変化素子１０ａ、１０ｂに対する書き込みが行われる。
【００２６】
図６に、選択トランジスタ１１を介した抵抗変化素子１０ａ、１０ｂに対する書き込み動作を模式的に示す。図７に、抵抗変化素子１０ａ、１０ｂに対する書き込み動作を説明するためのタイミングチャートを示す。
図６に示すように、抵抗変化素子１０ａに対して電圧、および、電流が供給される書き込み動作Ｗ１が行われ、抵抗変化素子１０ｂに対して電圧、および、電流が供給される書き込み動作Ｗ２が行われる。これら書き込み動作Ｗ１、Ｗ２は、同時に行うことはできない。これは、一方の抵抗変化素子が先に高抵抗状態から低抵抗状態に遷移すると、共通ノード(node0)の電位が増加し、他方の抵抗変化素子の端子間(node0-T2間)に必要な電圧を供給できないためである。このため、２つの抵抗変化素子は、どちらかを先に書くかどうかの順序が存在する。
【００２７】
図７に、抵抗変化素子１０ａ、１０ｂを書き込み動作の一例を示す。
抵抗変化素子１０ａを書き込む際は、信号用配線ＲＨ上に配置されたトランスミッションゲートを利用するか、もしくは、書込みドライバ自体をHigh-Z状態にして、端子Ｔ２をフローティング(High-Z)状態にする。同様に、抵抗変化素子１０ｂを書き込む際は、端子Ｔ１をフローティング状態にする。
まず、抵抗変化素子１０ａを第１のパルスで中間状態にプログラムし、次いで、抵抗変化素子１０ｂを第２のパルスで中間状態にプログラムする。この時、中間状態の抵抗値は、最終状態の抵抗値の２倍以上であることが好ましい。
例えば、ユニットスイッチをオフ状態からオン状態にプログラムする場合に、初期状態（オフ）の抵抗値が１ＧΩで、最終状態（オン）状態が１ｋΩである場合には、中間状態の抵抗値は少なくとも２ｋΩ以上であり、より好ましくは、５ｋΩ〜５０ｋΩの範囲である。
【００２８】
図８に、抵抗変化素子１０ａ、１０ｂのプログラム動作を説明するためのタイミングチャートを示す。図８において、上段の波形は抵抗変化素子１０ａ、１０ｂに供給されるパルスの電流レベルを示し、中段の波形は抵抗変化素子１０ａ、１０ｂに供給されるパルスの電圧レベルを示し、下段の波形は抵抗変化素子１０ａ、１０ｂそれぞれの抵抗レベルの変化を示す。
最初に、抵抗変化素子１０ａに、電圧（ｖ１）、電流（ｉ１）、パルス幅（ｗ１）の第１のプログラミングパルスを与え、抵抗変化素子１０ａを第１の抵抗状態（ｒ１）へプログラムする。
【００２９】
次に、抵抗変化素子１０ｂに電圧（ｖ２）、電流（ｉ２）、パルス幅（ｗ２）の第２のプログラミングパルスを与え、抵抗変化素子１０ｂを第１の抵抗状態（ｒ２）へプログラムする。このとき、第１のプログラミングパルスと第２のプログラミングパルスは、同一波形（ｖ１＝ｖ２、ｉ１＝ｉ２、ｗ１＝ｗ２）を用いることができる。第１の抵抗状態は、５ｋΩ〜５０ｋΩとすることが好ましい。
次に、抵抗変化素子１０ａに電圧（ｖ３）、電流（ｉ３）、パルス幅（ｗ３）の第３のプログラミングパルスを与え、抵抗変化素子１０ａを第２の抵抗状態（ｒ３）へプログラムする。
最後に、抵抗変化素子１０ｂに電圧（ｖ４）、電流（ｉ４）、パルス幅（ｗ４）の第４のプログラミングパルスを与え、抵抗変化素子１０ｂを第２の抵抗状態（ｒ４）へプログラムする。このとき、第３のプログラミングパルスと第４のプログラミングパルスは同一波形（ｖ３＝ｖ４、ｉ３＝ｉ４、ｗ３＝ｗ４）を用いることができる。
【００３０】
最終状態の抵抗値よりも高い抵抗値を有する中間状態へ遷移させるためには、ｉ１はｉ３よりも小さく、ｉ２はｉ４よりも小さいことが好ましい。例えば、ｉ１＝１００ｕＡ、ｉ３＝４００ｕＡで、ｉ１＜ｉ３（あるいはｉ２＜ｉ４）に制御することが好ましい。また、ｗ１はｗ３よりも小さく、ｗ２はｗ４よりも小さいことが好ましい。プログラムされた抵抗値は流れる電荷に依存して小さくなることから、中間抵抗を高く保つためには、パルス幅を短くすることが好ましい。
抵抗変化素子１０ａのディスターブ不良を低減するためには、ｖ３はｖ１よりも小さく、ｖ４はｖ２よりも小さいことが好ましい。これにより、先にプログラムされた抵抗変化素子１０ａを最終状態にプログラムする際に印可される電圧を低くすることができる。例えば、抵抗変化素子１０ａ、１０ｂをｖ１＝ｖ２＝３．０Ｖで中間状態にプログラムした後、ｖ３＝ｖ４＝２．０Ｖで最終状態にプログラムする。このように、初期状態から中間状態を介して最終状態に遷移させることで、最終状態への遷移のために必要なプログラム電圧を低くする。これにより、抵抗変化素子１０ｂのプログラム時に印可されるディスターブ電圧を１Ｖ下げることができるので、不良を効果的に抑制することができる。
【００３１】
図９に、初期状態から中間状態を介して最終状態に遷移させた場合の抵抗変化素子の抵抗値の分布を示す。
第１のプログラムパルスを用いて抵抗変化素子１０ａ、１０ｂを初期状態から中間状態へプログラムし、次いで、第２のプログラムパルスを用いて抵抗変化素子１０ａ、１０ｂを中間状態から最終状態へプログラムする。第１のプログラムパルスにおいて、Ｖ＝３．０Ｖ、Ｉ＝１００μＡ、Ｗ＝１００ｎｓである。第２のプログラムパルスにおいて、Ｖ＝２．３Ｖ、Ｉ＝３００μＡ、Ｗ＝１μｓである。図８から分かるように、抵抗変化素子１０ａは不良なくプログラムされている。
【００３２】
次に、比較例を挙げて、本実施形態の半導体装置にて行われるプログラム方法の作用効果を説明する。比較例であるプログラム方法では、抵抗変化素子１０ａ、１０ｂを中間状態を介さずに初期状態から最終状態へプログラムする。
図１０に、比較例のプログラム方法における抵抗変化素子１０ａ、１０ｂのプログラム動作を説明するためのタイミングチャートを示す。図１０において、上段の波形は抵抗変化素子１０ａ、１０ｂに供給されるパルスの電流レベルを示し、中段の波形は抵抗変化素子１０ａ、１０ｂに供給されるパルスの電圧レベルを示し、下段の波形は抵抗変化素子１０ａ、１０ｂそれぞれの抵抗レベルの変化を示す。
【００３３】
図１０に示すように、比較例のプログラム方法では、最初に、抵抗変化素子１０ａに第１のプログラミングパルスを与え、抵抗変化素子１０ａを初期状態から最終状態へプログラムする。次に、抵抗変化素子１０ｂに第２のプログラミングパルスを与え、抵抗変化素子１０ｂを初期状態から最終状態へプログラムする。
図１１Ａ及び図１１Ｂは、図１０に示した比較例のプログラム方法におけるディスターブ不良を説明するための図である。図５に示したクロスバースイッチと同様、比較例のプログラム方法においても、抵抗変化素子１０ａ、１０ｂへのプログラム電流の供給は、ユニットスイッチ毎に配置されている選択トランジスタによって選択される。抵抗変化素子１０ａ、１０ｂに流れるプログラム電流は、選択トランジスタのゲート電圧によって制御することができる。
【００３４】
先に抵抗変化素子１０ａがプログラムされ、その抵抗値（最終状態）は１ｋΩである。この状態で、抵抗変化素子１０ｂを、抵抗値（最終状態）が１ＧΩとなるようにプログラムする。
図１１Ａに示すように、抵抗変化素子１０ｂをプログラムするために、抵抗変化素子１０ｂの一端にプログラム電圧（Ｖｓｅｔ）を印加する。このとき、抵抗変化素子１０ａの一端は、Ｈｉｇｈ−Ｚか、プログラム電圧Ｖｓｅｔの１／２の値に制御される。
抵抗変化素子１０ｂの抵抗状態の変化が始まるまでは、印加されたプログラム電圧Ｖｓｅｔがほぼ抵抗変化素子１０ｂに印加される。抵抗変化素子１０ｂの抵抗状態の変化が始まると、供給電圧が分圧されると同時に、プログラムするための電流ｉ２が抵抗変化素子１０ｂに流れ、電流ｉ３がトランジスタ１１に流れ、電流ｉ１が抵抗変化素子１０ａに流れる。図１０Ｂには、抵抗変化素子１０ｂが最終状態に到達した直後の状態が示めされている。このとき、電流ｉ１は抵抗変化素子１０ａをリセット方向（高抵抗化する方向）に流れる。プログラム電圧Ｖｓｅｔが大きいほど、Ｈｉｈｇ−ｚについている寄生容量が大きいほど、抵抗変化素子１０ｂの抵抗変化が急峻であるほど、リセット方向に電流ｉ１が流れる。この電流ｉ１は、抵抗変化素子１０ａのディスターブ不良を起こす可能性を高くする。電流ｉ１によって反転してしまった素子については、再度プログラムする必要が生じるため、テストコストの増大を招く。例えば、ユニットスイッチの書き込みに、約２００ｐｐｍ以上の再プログラミングが必要である。
【００３５】
図１２Ａ〜図１２Ｄは、本実施形態の半導体装置にて行われるプログラム方法の作用効果を説明するための図である。
図１２Ａに示す状態では、抵抗変化素子１０ａ、１０ｂのそれぞれが中間状態にプログラムされており、それぞれの抵抗値は１０ｋΩである。中間状態の抵抗値１０ｋΩは、最終状態の抵抗値よりも１０倍大きいため、ディスターブ不良をひき起こす電流ｉ２が小さくなり、その結果、ディスターブ不良は無視できるほど小さくなる。
図１２Ｂには、抵抗変化素子１０ａを１ｋΩにプログラムする場合の電流の流れる状態が示されている。抵抗変化素子１０ａはすでに中間状態へ遷移しており、低い電圧（Ｖｓｅｔ２）でプログラムすることができるので、抵抗変化素子１０ｂへのディスターブ不良を小さくすることができる。抵抗変化素子１０ｂは中間状態であり、その抵抗値は大きいので、抵抗変化素子１０ｂに流れ込む電流ｉ２は小さい。これによっても、抵抗変化素子１０ｂへのディスターブ不良を小さくすることができる。
【００３６】
図１２Ｃ及び図１２Ｄには、抵抗変化素子１０ｂを１ｋΩにプログラムする回路の動作状態が示されている。抵抗変化素子１０ｂはすでに中間状態へプログラムされており、低い電圧（Ｖｓｅｔ２）でプログラムすることができるので、抵抗変化素子１０ａに流れ込む電流ｉ１を小さくすることができ、その結果、抵抗変化素子１０ａのディスターブ不良を小さくすることができる。本プログラム方法によれば、約２００ｐｐｍ以上の再プログラミングが必要であった比較例のプログラム方法と比較して、これを一桁以上低減することができる。
上述した本実施形態の半導体装置およびプログラム方法において、構成及び動作は、適宜に変更することができる。例えば、相補型スイッチユニットは、図１３に示すような３端子固体電解質スイッチの形態であってもよい。
【００３７】
図１３を参照すると、抵抗変化素子９９９は、下層の銅配線層９１０ａの銅配線９０８ａ及び下層の銅配線層９１０ｂの銅配線９０８ｂをそれぞれ第２の電極として利用し、３端子固体電解質スイッチを構成している。抵抗変化膜９０３は、固体電解質により形成され、「イオン伝導層」として機能する。
第１の電極は、第１上部電極９０４ａと第２上部電極９０４ｂからなる積層構造を有し、抵抗変化膜９０３の上面に接するように設けられている。第１上部電極９０４ａは、抵抗変化膜９０３の上面に接している。第２上部電極９０４ｂの上面には、上面保護膜９０７が設けられている。
【００３８】
抵抗変化素子９９９の抵抗変化膜９０３と第１の電極は、第１の層間絶縁膜９０１の上面に形成されている。
抵抗変化膜９０３は、第１の層間絶縁膜９０１に開口されたホールを介して、銅配線層９１０ａの銅配線９０８ａの表面、ならびに、銅配線層９１０ｂの銅配線９０８ｂの表面に接している。開口されたホール部分では、抵抗変化膜９０３の下面は、銅配線層９１０ａの銅配線９０８ａと銅配線層９１０ｂの銅配線９０８ｂとからなる第２の電極に接し、抵抗変化膜９０３の上面は、第１の電極と接する。換言すると、抵抗変化素子９９９は、二つの「銅フィラメント析出型抵抗変化素子」が第２の電極を介して並列に連結されていた３端子固体電解質スイッチと呼ぶことができる。
【００３９】
抵抗変化膜９０３、第１上部電極９０４ａ及び第２上部電極９０４ｂからなる部分の上面は、上面保護膜９０７で被覆され、側面は、保護絶縁膜９０６で被覆されている。
例えば、抵抗変化膜９０３は、ＳｉＯを含む有機ポリマー膜等の固体電解質を用いて形成してもよい。また、第１上部電極９０４ａは、Ｒｕを用いて形成してもよく、第２上部電極９０４ｂは、Ｔａ、あるいはＴａＮを用いて形成してもよい。
上面保護膜９０７及び保護絶縁膜９０６は、同一材料を用いて形成することが好ましい。保護絶縁膜９０６及び上面保護膜９０７は、第２の層間絶縁膜９０２を形成する過程で、抵抗変化膜９０３、第１上部電極９０４ａ及び第２上部電極９０４ｂが、酸素による酸化を受けることを防止し、また、水分の侵入を防止する機能を有する。さらには、抵抗変化膜９０３を形成する固体電解質として、イオン伝導性を示す酸化膜を採用する場合には、保護絶縁膜９０６は、固体電解質からの酸素の脱離を防ぐ機能を有する。保護絶縁膜９０６及び上面保護膜９０７は、例えば、ＳｉＮ膜、ＳｉＣＮ膜等を用いて形成することが好ましい。
【００４０】
銅配線層９１０ａは、層間絶縁膜９１１に形成された第１の配線溝に、バリアメタル９０９ａを介して埋め込まれた銅配線９０８ａを有する。銅配線層９１０ｂは、層間絶縁膜９１１に形成された第２の配線溝に、バリアメタル９０９ｂを介して埋め込まれた銅配線９０８ｂを有する。銅配線層９１０ａ及び銅配線層９１０ｂの上面には、第１の層間絶縁膜９０１が形成されている。第１の層間絶縁膜９０１は、銅配線層９１０ａ及び銅配線層９１０ｂの上面から銅が拡散するのを防止するための絶縁性バリア膜として機能する。絶縁性バリア膜として機能を付与するため、第１の層間絶縁膜９０１の形成には、ＳｉＮ膜、ＳｉＣＮ膜などを用いることが好ましい。
第２の層間絶縁膜９０２は、第１の層間絶縁膜９０１と直接接している。さらに、第２の層間絶縁膜９０２の上部に、第３の層間絶縁膜９１６が形成されている。第３の層間絶縁膜９１６は、第２の層間絶縁膜９０２と直接接している。
【００４１】
第３の層間絶縁膜９１６には、銅配線層９１５が形成されている。銅配線層９１５は、第２の層間絶縁膜９０２に形成されるビア部分と一体に形成されている。銅配線層９１５とビア部分は、第３の層間絶縁膜９１６に形成される配線溝と第２の層間絶縁膜９０２に形成されるビアホールに、バリアメタル９１３を介して埋め込まれた銅配線９１４よりなる。銅配線層９１５に設けるビアホールは、上面保護膜９０７に形成された開口を介して、第２上部電極９０４ｂに開通している。
銅配線層９１５の表面は、銅配線９１４から銅が拡散することを防止するため、絶縁性バリア膜９１２で被覆されている。第１の層間絶縁膜９０１と同様に、絶縁性バリア膜９１２は、ＳｉＮ膜、ＳｉＣＮ膜などで形成されてもよい。
【００４２】
銅配線層９１０ａのバリアメタル９０９ａは、銅配線９０８ａの側面および底面を被覆する、バリア性を有する導電性膜である。バリアメタル９０９ａは、銅配線層９１０ａの銅配線９０８ａの主成分である銅が、層間絶縁膜９１１中に拡散することを防止する。銅配線層９１０ｂのバリアメタル９０９ｂは、銅配線９０８ｂの側面および底面を被覆する、バリア性を有する導電性膜である。バリアメタル９０９ｂは、銅配線層９１０ｂの銅配線９０８ｂの主成分である銅が、層間絶縁膜９１１中に拡散することを防止する。銅配線層９１５のバリアメタル９１３は、銅配線９１４の側面および底面を被覆する、バリア性を有する導電性膜である。バリアメタル９１３は、銅配線層９１５の銅配線９１４の主成分である銅が、第３の層間絶縁膜９１６、第２の層間絶縁膜９０２及びビアホールが開通された第２上部電極９０４ｂに拡散することを防止する。
【００４３】
バリアメタル９０９ａ、９０９ｂ、９１３には、例えば、タンタル（Ｔａ）、窒化タンタル（ＴａＮ）、窒化チタン（ＴｉＮ）、炭窒化タングステン（ＷＣＮ）のような高融点金属やその窒化物等が用いられる。これらの積層膜が、バリアメタル９０９ａ、９０９ｂ、９１３に用いられてもよい。
上記のように構成されたスイッチユニットにおいて、第２の層間絶縁膜９０２と第３の層間絶縁膜９１６は、異なる絶縁材料で形成される。また、第３の層間絶縁膜９１６と絶縁性バリア膜９１２は、異なる絶縁材料で形成される。同様に、層間絶縁膜９１１と、絶縁性バリア膜として機能する第１の層間絶縁膜９０１は、異なる絶縁材料で形成される。さらには、第１の層間絶縁膜９０１と第２の層間絶縁膜９０２は、異なる絶縁材料で形成される。
【００４４】
絶縁性バリア膜として機能する第１の層間絶縁膜９０１と絶縁性バリア膜９１２は、ＳｉＮ膜、ＳｉＣＮ膜などで形成され、層間絶縁膜９１１は、ＳｉＯ2膜、ＳｉＯＣ膜、ＳｉＯＣＨ膜、および低誘電率膜などで形成されることが好ましい。
保護絶縁膜９０６、上面保護膜９０７は、例えば、ＳｉＮ膜、ＳｉＣＮ膜など形成することが好ましい。ＳｉＮ膜、ＳｉＣＮ膜は、酸素透過性や水分の透過性を有していないので、第２の層間絶縁膜９０２の形成過程において、抵抗変化膜９０３、第１上部電極９０４ａ及び第２上部電極９０４ｂを保護するのに有効である。
【００４５】
第２の層間絶縁膜９０２には、第１の層間絶縁膜９０１、保護絶縁膜９０６及び上面保護膜９０７に用いられるＳｉＮ膜やＳｉＣＮ膜と比較し、比誘電率が小さい絶縁材料を用いることが好ましい。第３の層間絶縁膜９１６には、第２の層間絶縁膜９０２に用いられる絶縁材料よりも比誘電率が小さい絶縁材料を用いることが好ましい。
比誘電率の大小関係は、「第１の層間絶縁膜９０１の絶縁材料」＞「第２の層間絶縁膜９０２の絶縁材料」＞「第３の層間絶縁膜９１６の絶縁材料」の条件を満たすことが好ましい。
「第１の層間絶縁膜９０１の絶縁材料」として、比誘電率の高い（ｋ＝７）絶縁材料、例えば、ＳｉＮ膜、ＳｉＣＮ膜を選択する。この場合、「第２の層間絶縁膜９０２の絶縁材料」として、比誘電率が中程度（ｋ＝３．５〜４．５）程度の絶縁材料、例えば、ＳｉＯ2膜を選択することが好ましい。また、「第３の層間絶縁膜９１６の絶縁材料」として、比誘電率が低い（ｋ＝２．５〜３．５）の絶縁材料、例えば、ＳｉＯＣＨ膜を選択することが好ましい。
【００４６】
上記の選択によれば、「第２の層間絶縁膜９０２の絶縁材料」は、吸湿性を低減させる効果を有する。
なお、保護絶縁膜９０６及び上面保護膜９０７は、第１の層間絶縁膜９０１よりも緻密な膜であると、保護特性が勝り、好ましい。その条件を満たすためには、保護絶縁膜９０６及び上面保護膜９０７の絶縁材料の比誘電率が、第１の層間絶縁膜９０１の絶縁材料の比誘電率よりも高いことが好ましい。例えば、保護絶縁膜９０６及び上面保護膜９０７をＳｉＮ膜で形成し、第１の層間絶縁膜９０１の絶縁材料をＳｉＣＮ膜で形成することが好ましい。
【００４７】
第１の層間絶縁膜９０１に開口されたホール領域には、銅配線層９１０ａ、９１０ｂに加えて、層間絶縁膜９１１も露出している。第１の層間絶縁膜９０１にホールを開口する工程において、露出している層間絶縁膜９１１の一部もエッチング除去され、凹部が形成されている。この凹部を埋め込むように、抵抗変化膜９０３が形成されている。
凹部に形成さる抵抗変化膜９０３は、銅配線層９１０ａのバリアメタル９０９ａ、あるいは、銅配線層９１０ｂのバリアメタル９０９ｂと接する。抵抗変化膜９０３が、第１の電極と、銅配線層９１０ａのバリアメタル９０９ａ、あるいは、銅配線層９１０ｂのバリアメタル９０９ｂとにより挟まれる構成は、金属フィラメント析出型の抵抗変化素子として機能しない。
【００４８】
抵抗変化膜９０３が第１の電極９０４と銅配線９０８ａにより挟まれた第１の部分と、抵抗変化膜９０３が第１の電極９０４と銅配線９０８ｂとにより挟まれた第２の部分が、それぞれ、独立した「銅フィラメント析出型抵抗変化素子」として機能する。第１の部位の面積Ｓａと第２の部位の面積Ｓｂは、それぞれ、独立に設定することが可能である。換言すると、第１の部位の「銅フィラメント析出型抵抗変化素子」の「ＯＮ」状態の抵抗値と、第２の部位の「銅フィラメント析出型抵抗変化素子」の「ＯＮ」状態の抵抗値は、それぞれ、独立に設定することが可能である。
銅配線層９１０ａ、９１０ｂは、電気的に分離されており、それぞれ独立に電圧を印加することが可能である。よって、第１の部位の「銅フィラメント析出型抵抗変化素子」及び第２の部位の「銅フィラメント析出型抵抗変化素子」は、互いに独立して、スイッチングを行うことが可能となっている。
【００４９】
本発明は、上述した実施形態の半導体装置の構成やプログラム方法に限定されるものではなく、発明の趣旨を逸脱しない範囲で、当業者が理解し得る変更や改良を適用することができる。
例えば、最終状態にプログラムする順番は、抵抗変化素子１０ｂが先であってもよい。この場合、外部バイアスを切り替える必要がないので、より短時間でプログラムすることができる。
【００５０】
本発明の半導体装置は、再構成回路チップと同じ、クロスバースイッチブロックとロジックブロック（例えば、（ＬＵＴ（Look-up-Table））などから構成されてもよい。この場合、スイッチブロックの接続状態とＬＵＴの構成情報が、抵抗変化素子によって任意にプログラムされる。プログラム回路は、プログラミングドライバーとして、周辺回路に実装することができる。
また、本発明の半導体装置におけるプログラム方法を実現する機能は、抵抗変化素子を実装したＦＰＧＡなどの書き込みツールとして、実装することも可能である。
【００５１】
さらに、本発明の相補型スイッチユニットのプログラム方法の手順をコンピュータに実行させるためのプログラムを提供することもできる。このプログラムは、ＣＡＤ（Computer-aided Design）ツールに適用することができる。
また、抵抗変化素子として、金属架橋型の抵抗変化素子を主に説明したが、本発明はこれら抵抗変化素子に限定されるものではない。例えば、ＭＲＡＭ（Magnetic RAM）、ＰＲＡＭ（Phase change Random Access Memory）、ＲｅＲＡＭなどの抵抗変化素子を二つ用いて一つのユニットスイッチとして用いる場合にも、本発明を適用することができる。
半導体基板上の銅配線上部に抵抗変化素子を形成する例について説明したが、本発明はそれに限定されるものではない。本発明を、メモリ回路を有する半導体製品、マイクロプロセッサなどの論理回路を有する半導体製品、あるいはそれらを掲載したボードやパッケージの銅配線上へも適用することができる。この場合、メモリ回路としては、例えば、ＤＲＡＭ（Dynamic RAM）、ＳＲＡＭ、フラッシュメモリ、ＦＲＡＭ（登録商標）（Ferro Electric RAM）、ＭＲＡＭ、抵抗変化型メモリ、バイポーラトランジスタ等が挙げられる。
【００５２】
また、本発明は、電子回路装置、光回路装置、量子回路装置、マイクロマシン、ＭＥＭＳ（Micro Electro Mechanical Systems）などにも適用することができる。
さらに、本発明は、不揮発性と抵抗変化特性の双方を利用したメモリ素子などにも適用することができる。
【００５３】
また、本発明は、以下の付記１〜２１に記載のような形態をとり得るが、これら形態に限定されない。
［付記１］
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットのプログラム方法であって、
波形が異なる複数のパルスを前記第１及び第２の抵抗変化素子それぞれに異なるタイミングで供給する、相補型スイッチユニットのプログラム方法。
［付記２］
前記第１の抵抗変化素子へのパルスの供給と前記第２の抵抗変化素子へのパルスの供給を交互に行う、付記１に記載の相補型スイッチユニットのプログラム方法。
［付記３］
第１のパルスを前記第１の抵抗変化素子に供給して前記第１の抵抗変化素子を第１の抵抗状態に遷移させ、
第２のパルスを前記第２の抵抗変化素子に供給して前記第２の抵抗変化素子を前記第１の抵抗状態に遷移させ、
前記第１のパルスとは波形が異なる第３のパルスを前記第１の抵抗変化素子に供給して前記第１の抵抗変化素子を前記第１の抵抗状態とは抵抗値が異なる第２の抵抗状態に遷移させ、
前記第２のパルスとは波形が異なる第４のパルスを前記第２の抵抗変化素子に供給して前記第２の抵抗変化素子を前記第２の抵抗状態に遷移させる、付記１または２に記載の相補型スイッチユニットのプログラム方法。
［付記４］
前記第１の抵抗状態の抵抗値が前記第２の抵抗状態の抵抗値の２倍以上である、付記３に記載の相補型スイッチユニットのプログラム方法。
［付記５］
前記第３のパルスの電流値が前記第１のパルスの電流値よりも大きく、前記第４のパルスの電流値が前記第２のパルスの電流値よりも大きい、付記３または４に記載の相補型スイッチユニットのプログラム方法。
［付記６］
前記第３のパルスのパルス幅が前記第１のパルスのパルス幅よりも大きく、前記第４のパルスのパルス幅が前記第２のパルスのパルス幅よりも大きい、付記３から５のいずれか一つに記載の相補型スイッチユニットのプログラム方法。
［付記７］
前記第３のパルスの電圧値が前記第１のパルスの電圧値よりも小さく、前記第４のパルスの電圧値が前記第２のパルスの電圧値よりも小さい、付記３から６のいずれか一つに記載の相補型スイッチユニットのプログラム方法。
［付記８］
前記第１及び第２のパルスの波形が同じであり、前記第３及び第４のパルスの波形が同じである、付記３から７のいずれか一つに記載の相補型スイッチユニットのプログラム方法。
［付記９］
前記第１及び第２の抵抗変化素子は、バイポーラ型の不揮発性抵抗変化素子を構成する、付記１から８のいずれか一つに記載の相補型スイッチユニットのプログラム方法。
［付記１０］
前記第１及び第２の抵抗変化素子はそれぞれ、金属析出型の抵抗変化素子である、付記１から９のいずれか一つに記載の相補型スイッチユニットのプログラム方法。
［付記１１］
印加電圧に応じて電気抵抗が変化する第１及び第２の抵抗変化素子を有し、該第１及び第２の抵抗変化素子は直列に接続され、互いの接続された端子が同一の極性である相補型スイッチユニットと、
波形が異なる複数のパルスを前記第１及び第２の抵抗変化素子それぞれに異なるタイミングで供給するプログラム回路と、を有する、半導体装置。
［付記１２］
前記プログラム回路は、前記第１の抵抗変化素子へのパルスの供給と前記第２の抵抗変化素子へのパルスの供給を交互に行う、付記１１に記載の半導体装置。
［付記１３］
前記プログラム回路は、
第１のパルスを前記第１の抵抗変化素子に供給して前記第１の抵抗変化素子を第１の抵抗状態に遷移させ、
第２のパルスを前記第２の抵抗変化素子に供給して前記第２の抵抗変化素子を前記第１の抵抗状態に遷移させ、
前記第１のパルスとは波形が異なる第３のパルスを前記第１の抵抗変化素子に供給して前記第１の抵抗変化素子を前記第１の抵抗状態とは抵抗値が異なる第２の抵抗状態に遷移させ、
前記第２のパルスとは波形が異なる第４のパルスを前記第２の抵抗変化素子に供給して前記第２の抵抗変化素子を前記第２の抵抗状態に遷移させる、付記１１または１２に記載の半導体装置。
［付記１４］
前記第１の抵抗状態の抵抗値が前記第２の抵抗状態の抵抗値の２倍以上である、付記１３に記載の半導体装置。
［付記１５］
前記第３のパルスの電流値が前記第１のパルスの電流値よりも大きく、前記第４のパルスの電流値が前記第２のパルスの電流値よりも大きい、付記１３または１４に記載の半導体装置。
［付記１６］
前記第３のパルスのパルス幅が前記第１のパルスのパルス幅よりも大きく、前記第４のパルスのパルス幅が前記第２のパルスのパルス幅よりも大きい、付記１３から１５のいずれか一つに記載の半導体装置。
［付記１７］
前記第３のパルスの電圧値が前記第１のパルスの電圧値よりも小さく、前記第４のパルスの電圧値が前記第２のパルスの電圧値よりも小さい、付記１３から１６のいずれか一つに記載の半導体装置。
［付記１８］
前記第１及び第２のパルスの波形が同じであり、前記第３及び第４のパルスの波形が同じである、付記１３から１７のいずれか一つに記載の半導体装置。
［付記１９］
前記第１及び第２の抵抗変化素子は、バイポーラ型の不揮発性抵抗変化素子を構成する、付記１１から１８のいずれか一つに記載の半導体装置。
［付記２０］
前記第１及び第２の抵抗変化素子はそれぞれ、金属析出型の抵抗変化素子である、付記１１から１９のいずれか一つに記載の半導体装置。
［付記２１］
付記１〜１０に記載の相補型スイッチユニットのプログラム方法の手順をコンピュータに実行させるためのプログラム。
【符号の説明】
【００５４】
１０ａ、１０ｂ  抵抗変化素子
２０  相補型スイッチユニット
２１  プログラム回路
【図１Ａ】
0006753104.tif 000002
【図１Ｂ】
0006753104.tif 000003
【図１Ｃ】
0006753104.tif 000004
【図２】
0006753104.tif 000005
【図３】
0006753104.tif 000006
【図４】
0006753104.tif 000007
【図５】
0006753104.tif 000008
【図６】
0006753104.tif 000009
【図７】
0006753104.tif 000010
【図８】
0006753104.tif 000011
【図９】
0006753104.tif 000012
【図１０】
0006753104.tif 000013
【図１１Ａ】
0006753104.tif 000014
【図１１Ｂ】
0006753104.tif 000015
【図１２Ａ】
0006753104.tif 000016
【図１２Ｂ】
0006753104.tif 000017
【図１２Ｃ】
0006753104.tif 000018
【図１２Ｄ】
0006753104.tif 000019
【図１３】
0006753104.tif 000020