(57)【要約】【課題】  メモリの動作特性の向上を図る。【解決手段】本実施形態の半導体集積回路は、第１の端子ａが第１の電源スイッチを介して第１の電源に接続され、第２の端子ｂがノードＮ１に接続される第１の抵抗変化型メモリ素子Ｒ１と、第３の端子ａがノードＮ１に接続され、第４の端子ｂが第２の電源スイッチを介して第２の電源に接続される第２の抵抗変化型メモリ素子Ｒ２と、電流経路の一端が第１のプログラム電源ＰＶ１に接続され、電流経路の他端がノードＮ１に接続される第１のスイッチＭ２と、電流経路の一端がノードＮ１に接続され、電流経路の他端が第１のプログラム電源ＰＶ１と異なる電圧値を出力する第２のプログラム電源ＰＶ２に接続される第２のスイッチＭ３と、を含んでいる。【選択図】図１
2012074118.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２の端子を有し、前記第１の端子が第１の電源スイッチを介して第１の電源に接続され、前記第２の端子が第１のノードに接続される第１の抵抗変化型メモリ素子と、
第３及び第４の端子を有し、前記第３の端子が前記第１のノードに接続され、前記第４の端子が第２の電源スイッチを介して第２の電源に接続される第２の抵抗変化型メモリ素子と、
第１の制御ゲートと第１の電流経路とを有し、前記第１の電流経路の一端が第１のプログラム電源に接続され、前記第１の電流経路の他端が前記第１のノードに接続される第１のスイッチと、
第２の制御ゲートと第２の電流経路とを有し、前記第２の電流経路の一端が前記第１のノードに接続され、前記第２の電流経路の他端が前記第１のプログラム電源と異なる電圧値を出力する第２のプログラム電源に接続される第２のスイッチと、
を具備する半導体集積回路。
【請求項２】
第３の電流経路と、前記第１のノードに接続される第３の制御ノードを有する第３のスイッチを、さらに具備することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第１のプログラム電源が前記第１のノードに電気的に接続されたとき、
前記第１の抵抗変化型メモリ素子の抵抗値は第１の抵抗値から前記第１の抵抗値より大きい第２の抵抗値に変化し、前記第２の抵抗変化型メモリ素子の抵抗値は前記第２の抵抗値から前記第１の抵抗値に変化し、
前記第２のプログラム電源が前記第１のノードに電気的に接続されたとき、
前記第１の抵抗変化型メモリ素子の抵抗値は前記第２の抵抗値から前記第１の抵抗値に変化し、前記第２の抵抗変化型メモリ素子の抵抗値は前記第１の抵抗値から前記第２の抵抗値に変化する、ことを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記第１及び第２の電源が、前記第１のノードに電気的に接続されているとき、
前記第１の抵抗変化型メモリ素子の抵抗値が前記第１の抵抗値の場合、前記第３のスイッチはオンし、
前記第１の抵抗変化型メモリ素子の抵抗値が前記第２の抵抗値の場合、前記第３のスイッチはオフする、ことを特徴とする請求項２乃至３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記第１及び第２の電源が、前記第１のノードから電気的に分離されているとき、
前記第１又は前記第２の制御ゲートの少なくとも一方にパルス電圧を印加し、前記第１のノードを充電する、ことを特徴とする請求項１乃至４のいずれか１項に記載の半導体集積回路。
【請求項６】
前記第１及び第２の電源が、前記第１のノードから電気的に分離されているとき、
前記第３のスイッチにパルス電圧を印加し、前記第３のスイッチと前記第１のノードとの容量結合によって、前記第１のノードを充電する、ことを特徴とする請求項２乃至５のいずれか１項に記載の半導体集積回路。
【請求項７】
前記第１及び第２の抵抗変化型メモリ素子の抵抗値は、第１の極性の端子から第２の極性の端子へ向かう電圧、又は、第２の極性の端子から第１の極性の端子に向かう電圧に応じて変化し、
第１のノードに接続される前記第２の端子及び第３の端子は、互いに異なる極性の端子である、ことを特徴とする請求項１乃至６のいずれか１項に記載の半導体集積回路。
【請求項８】
第１及び第２の制御線と、
前記第１及び第２の制御線間に並列に接続され、第１及び第２の抵抗変化型メモリ素子と、第１及び第２のスイッチとをそれぞれ含む第１及び第２のメモリセルと、
前記第１及び第２の制御線間に接続されるダミーセルと、
前記第１及び第２のメモリセルにそれぞれ接続される第１のプログラム電源と、
第１及び第２のメモリセルにそれぞれ接続され、前記第１のプログラム電源と異なる電圧を出力する第２のプログラム電源と、
前記ダミーセルに接続される第３のプログラム電源と、
を具備し、
前記第１及び第２のメモリセルのそれぞれは、前記第１の抵抗変化型メモリ素子の第１の端子が前記第１の制御線に接続され、前記第１の抵抗変化型メモリ素子の第２の端子が第１のノードに接続され、前記第２の抵抗変化型メモリ素子の第３の端子が前記第１のノードに接続され、前記第２の抵抗変化型メモリ素子の第４の端子が前記第２の制御線に接続され、前記第１のスイッチの一端が第１のプログラム電源に接続され、前記第１のスイッチの他端が前記第１のノードに接続され、前記第２のスイッチの一端が前記第１のノードに接続され、前記第２のスイッチの他端が前記第２のプログラム電源に接続される、
ことを特徴とする半導体集積回路。
【請求項９】
前記第１及び第２のメモリセルに異なるデータを実質的に同時に書き込む場合、
前記第１のメモリセルが前記第１のプログラム電源を選択し、前記第２のメモリセルが前記第２のプログラム電源を選択する、ことを特徴とする請求項８に記載の半導体集積回路。
【請求項１０】
前記第１及び第２のメモリセルに同じデータを実質的に同時に書き込む場合、
前記第１及び第２のメモリセルが前記第１のプログラム電源を選択し、前記ダミーセルが前記第３のプログラム電源を選択する、ことを特徴とする請求項８又は９に記載の半導体集積回路。
【請求項１１】
前記ダミーセルは、第３、第４、第５及び第６のスイッチを含み、
前記第３のスイッチの一端は前記第１の制御線に接続され、前記第３のスイッチの他端は前記第４のスイッチの一端に接続され、前記第４のスイッチの他端は前記第２の制御線に接続され、前記第５のスイッチの一端は、前記第３の電源に接続され、前記第５のスイッチの他端は前記第３のスイッチの他端に接続され、前記第６のスイッチの一端は前記第３のスイッチの他端に接続され、前記第６のスイッチの他端は第４の電源に接続される、ことを特徴とする請求項８乃至１０のいずれか１項に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
ＲｅＲＡＭ（Resistive RAM）やＰＣＲＡＭ（Phase Change RAM）などの抵抗変化型メモリの開発が推進されている。
【０００３】
抵抗変化メモリは、例えば、ファイルメモリとしてのＮＡＮＤフラッシュメモリやワークメモリとしてのＤＲＡＭを代替するメモリデバイスとして、期待されている。
【０００４】
近年では、ＦＰＧＡ（Field Programmable Gate Array）のコンフィギュレーションメモリに、抵抗変化型メモリを適用することも試みられている。
【０００５】
ＦＰＧＡは、その基本構成として、任意の論理情報を実現するコンフィギュラブルロジックブロック（ＣＬＢ：Configuration Logic Block）、コンフィギュラブルロジックブロックと配線との入出力を行なうコネクションブロック（ＣＢ：Connection Block）、配線の接続を切り替えるスイッチブロック（ＳＢ：Switch Block）を含んでいる。各々のブロックにおいて、論理情報や配線接続情報は、コンフィギュレーションメモリに保持される値によって、変更される。
【０００６】
スイッチブロックにおける配線の切り替えやコネクションブロックにおける入出力の制御は、例えば、マルチプレクサを用いて、マルチプレクサに入力される選択信号をコンフィギュレーションメモリから読み出すことによって行われる。コンフィギュラブルロジックブロックにおける論理情報は、ルックアップテーブル（ＬＵＴ：Look Up Table）を用いて、真理値表を実現し、その真理値表に対応する値をメモリで書き換えることによって行なう。
【０００７】
ＦＰＧＡのコンフィギュレーションメモリには、主にＳＲＡＭ（Static RAM）が用いられてきた。しかし、ＳＲＡＭは揮発性メモリであるため、チップに電源電圧が印加されなくなると、書き込んだデータが消失してしまう。ＳＲＡＭは、他のメモリに比較してセルサイズが大きく、ＦＰＧＡ全体の回路面積が大きくなる。それゆえ、ＦＰＧＡのコンフィギュレーションメモリとして、不揮発で、セルサイズの小さいメモリが、求められている。さらに、ＦＰＧＡにおいて、コンフィギュレーション時間の短縮など、ＦＰＧＡの動作特性の向上も要求されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許出願公開第２００７／０１４６０１２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００９】
メモリの動作特性の向上を図る。
【課題を解決するための手段】
【００１０】
本実施形態の半導体集積回路は、第１及び第２の端子を有し、前記第１の端子が第１の電源スイッチを介して第１の電源に接続され、前記第２の端子が第１のノードに接続される第１の抵抗変化型メモリ素子と、第３及び第４の端子を有し、前記第３の端子が前記第１のノードに接続され、前記第４の端子が第２の電源スイッチを介して第２の電源に接続される第２の抵抗変化型メモリ素子と、第１の制御ゲートと第１の電流経路とを有し、前記第１の電流経路の一端が第１のプログラム電源に接続され、前記第１の電流経路の他端が前記第１のノードに接続される第１のスイッチと、第２の制御ゲートと第２の電流経路とを有し、前記第２の電流経路の一端が前記第１のノードに接続され、前記第２の電流経路の他端が前記第１のプログラム電源と異なる電圧値を出力する第２のプログラム電源に接続される第２のスイッチと、を含んでいる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態の半導体集積回路のメモリセルを説明するための図。
【図２】抵抗変化型メモリ素子を説明するための図。
【図３】図１のメモリセルの変形例を説明するための図。
【図４】図１のメモリセルの変形例を説明するための図。
【図５】本実施形態の半導体集積回路の構成例を示すブロック図。
【図６】本実施形態の半導体集積回路のメモリセルアレイを示す等価回路図。
【図７】本実施形態の半導体集積回路のメモリセルの動作例を説明するための図。
【図８】本実施形態の半導体集積回路のメモリセルの動作例を説明するための図。
【図９】本実施形態の半導体集積回路の動作例１を説明するための図。
【図１０】本実施形態の半導体集積回路の動作例２を説明するための図。
【図１１】本実施形態の半導体集積回路の動作例３を説明するための図。
【図１２】本実施形態の半導体集積回路の動作例４を説明するための図。
【図１３】本実施形態の半導体集積回路の動作例５を説明するための図。
【図１４】本実施形態の半導体集積回路の動作例５を説明するための図。
【図１５】本実施形態の半導体集積回路の変形例を説明するための図。
【図１６】本実施形態の半導体集積回路の変形例を説明するための図。
【図１７】本実施形態の半導体集積回路の応用例を説明するための図。
【図１８】本実施形態の半導体集積回路の適用例を説明するための図。
【図１９】本実施形態の半導体集積回路の適用例を説明するための図。
【発明を実施するための形態】
【００１２】
［実施形態］  
以下、図面を参照しながら、本実施形態について詳細に説明する。以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複する説明は必要に応じて行う。
【００１３】
（１）  実施形態  
図１乃至図１６を参照して、実施形態の半導体集積回路は、例えば、抵抗変化型メモリ及び抵抗変化型メモリを用いたＦＰＧＡ（Field Programmable Gate Array）に関する。
【００１４】
（ａ）  メモリセル  
図１乃至図４を用いて、本実施形態の半導体集積回路について、説明する。
【００１５】
図１は、本実施形態の半導体集積回路としての抵抗変化型メモリに用いられるメモリセルＭＣの等価回路図を示している。
【００１６】
本実施形態において、メモリセルＭＣは、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２と２つのスイッチＭ２，Ｍ３とを含んでいる。
【００１７】
第１の抵抗変化型メモリ素子Ｒ１の一端（第１の端子）ａは、配線及びスイッチ（電源スイッチ）ＳＷ１を経由して、電源Ｖ１に接続される。第１の抵抗変化型メモリ素子Ｒ１の他端（第２の端子）ｂは、第２の抵抗変化型メモリ素子Ｒ２の一端ａに接続される。第２の抵抗変化型メモリ素子Ｒ２の他端ｂは、配線及びスイッチ（電源スイッチ）ＳＷ２を経由して、電源Ｖ２（又は、ビット線）に接続される。接続された２つの抵抗変化型メモリ素子Ｒ１，Ｒ２の端子ａ，ｂは、接続ノードＮ１を形成する。接続ノードＮ１を形成する各メモリ素子の端子ａ，ｂは、例えば、素子の抵抗状態を変化させるとき、抵抗状態の変化に対して互いに異なる極性となる端子（電極）である。
【００１８】
抵抗変化型メモリ素子Ｒ１，Ｒ２は、互いに異なる抵抗状態（データ）を保持する。
【００１９】
図２は、抵抗変化型メモリ素子Ｒ１，Ｒ２の基本構造を示している。抵抗変化型メモリ素子Ｒ１，Ｒ２は、例えば、可変抵抗素子である。  
図２に示されるように、抵抗変化型メモリ素子Ｒ１，Ｒ２は、２つの電極１８，１９と、電極１８，１９間に挟まれた抵抗変化膜１１とを含んでいる。
【００２０】
抵抗変化膜１１は、電圧又は電流が与えられることによって、その膜の抵抗値が変化する性質（特性）を有する。例えば、抵抗変化膜１１は、遷移金属酸化膜やペロブスカイト型金属酸化物からなる。
【００２１】
例えば、遷移金属酸化膜として、ＮｉＯｘ、ＴｉＯｘ、ＣｕｘＯなど（例えば、１≦ｘ≦２）が例示され、ペロブスカイト型金属酸化物としては、ＰＣＭＯ（Ｐｒ０．７Ｃａ０．３ＭｎＯ３）、Ｎｂ添加ＳｒＴｉ（Ｚｒ）Ｏ３、Ｃｒ添加ＳｒＴｉ（Ｚｒ）Ｏ３などが例示される。
【００２２】
例えば、抵抗変化膜１１の抵抗値が変化する性質は、抵抗変化膜１１と電極１８，１９との組み合わせによって、発現したり、或いは、安定に得られたりする。それゆえ、抵抗変化膜１１の材料に応じて、電極１８，１９の材料が適宜選択されることが好ましい。
【００２３】
電極１８，１９は、抵抗変化型メモリ素子Ｒ１，Ｒ２の端子として用いられる。ここで、電極１８を端子（第２の極性の端子）ｂとし、電極１９を端子（第１の極性の端子）ａとする。
【００２４】
抵抗変化型メモリ素子Ｒ１，Ｒ２は、バイポーラ型とよばれる動作モード、或いは、ユニポーラ型とよばれる動作モードによって、その抵抗状態が変化する。
【００２５】
バイポーラ型の抵抗変化型メモリ素子は、端子間に印加される電圧（プログラム電圧とよぶ）の極性に応じて、その抵抗変化型メモリ素子の抵抗状態が変化する。ユニポーラ型の抵抗変化型メモリ素子は、端子間に印加されるプログラム電圧の大きさに応じて、その抵抗変化型メモリ素子の抵抗状態が変化する。
【００２６】
例えば、バイポーラ型の抵抗変化型メモリ素子は、抵抗変化膜１１内のイオンの移動（濃度プロファイルの変化）によって抵抗値が変化する。例えば、ユニポーラ型の抵抗変化型メモリ素子は、抵抗変化膜１１内の微細な電流経路（フィラメント）の生成又は消失（部分的な消失）によって抵抗値が変化する。
【００２７】
抵抗変化型メモリ素子が、ユニポーラ型であるかバイポーラ型であるかは、主として、抵抗変化膜１１や電極１８，１９の材料に依存する。
【００２８】
バイポーラ型及びユニポーラ型の抵抗変化型メモリ素子のいずれであっても、所定のプログラム電圧（又は電流）が端子間に印加されることによって、抵抗変化型メモリ素子（可変抵抗素子）の抵抗状態は、高抵抗状態から低抵抗状態、又は、低抵抗状態から高抵抗状態に、可逆的に変化される。そして、抵抗変化型メモリ素子の変化した抵抗状態は、所定のプログラム電圧が印加されるまで、実質的に不揮発である。
【００２９】
抵抗変化型メモリ素子Ｒ１，Ｒ２が、バイポーラ型の抵抗変化型メモリ素子である場合、素子の抵抗状態を低抵抗状態（プログラム状態、“０”データ書き込み）にする場合と高抵抗状態（消去状態、“１”データ書き込み）にする場合とで、電極１８，１９（端子ａ，ｂ）に印加される電圧の極性は反対である。
【００３０】
バイポーラ型の抵抗変化型メモリ素子において、端子ｂが高電位側に設定され、メモリ素子の端子ａが低電位側に設定された場合、端子ｂから端子ａへ向かう方向にバイアス（第１のプログラム電圧）が印加される。例えば、抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態は、高抵抗状態から低抵抗状態に変化する。この一方で、抵抗変化型メモリ素子の端子ａが高電位側に設定され、端子ｂが低電位側に設定された場合、端子ａから端子ｂへ向かう方向にバイアス（第２のプログラム電圧）が印加される。この場合、端子ｂが高電位側に設定された場合とは反対に、抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態は、低抵抗状態から高抵抗状態に変化する。
【００３１】
このように、バイポーラ型の抵抗変化型メモリ素子（可変抵抗素子）では、変化させる抵抗状態に応じて、電圧（電流又は電界）の極性が反対になるので、抵抗変化型メモリ素子の端子に関しても極性が設定される。
【００３２】
尚、バイポーラ型の抵抗変化型メモリ素子であっても、その抵抗状態を変化させるのに必要なしきい値（電圧値、電流値）が存在するのは、もちろんである。
【００３３】
抵抗変化型メモリ素子Ｒ１，Ｒ２がユニポーラ型のメモリ素子である場合、素子の抵抗状態を低抵抗状態（プログラム状態、“０”データ書き込み）にする場合と高抵抗状態（消去状態、“１”データ書き込み）にする場合とで、電極１８，１９（端子ａ，ｂ）に印加される電圧の大きさ（電圧値）、或いは、電圧のパルス幅、或いは、電圧値とパルス幅の両方が、異なる。ユニポーラ型の抵抗変化型メモリ素子では、端子ａ，ｂに印加される電圧の極性は同じである。即ち、データ書き込み時（抵抗状態の変化時）、抵抗変化型メモリ素子の端子（電極）のうち、一方がカソード、他方がアノードとして、設定される。
【００３４】
抵抗変化型メモリ素子（可変抵抗素子）において、抵抗変化型メモリ素子の抵抗状態を高い状態から低い状態に変化させる動作は、セット動作とよばれる。抵抗変化型メモリ素子の抵抗状態を低い状態から高い状態にする変化させる動作は、リセット動作とよばれる。
【００３５】
以下では、バイポーラ型の抵抗変化型メモリ素子において、セット動作時に高電位側に設定される電極（ここでは、端子ｂ）のことを、セット電極／端子、リセット動作時に高電位に設定される電極（ここでは、端子ａ）のことを、リセット電極／端子と、よぶこともある。
【００３６】
バイポーラ型の抵抗変化型メモリ素子がメモリセルＭＣに用いられた場合、の抵抗変化型メモリ素子Ｒ１，Ｒ２の端子（素子の極性）は、電源Ｖ１側から電源Ｖ２側に向かって同一の極性が並ぶように配置される。つまり、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子Ｒ１，Ｒ２において、電源Ｖ１側から電源Ｖ２側に向かって端子（第１の極性の端子）ａと端子（第２の極性の端子）ｂとが交互に配列する。図１に示される例では、抵抗変化型メモリ素子の端子ａ，ｂは、電源Ｖ１から電源Ｖ２に向かって“ａｂａｂ”の順序で配置されている。これとは反対に、“ｂａｂａ”の順序で、端子が、Ｖ１−Ｖ２間で配列されてもよい。
【００３７】
また、本実施形態において、抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態を変化させる動作、つまりセット動作及びリセット動作のことを、データ書き込みともよぶ。
【００３８】
２つのスイッチＭ２，Ｍ３は、例えば、電界効果トランジスタ（ＦＥＴ：Field Effect Transistor）である。以下、スイッチＭ２，Ｍ３のことを、トランジスタＭ２，Ｍ３とよぶ。
【００３９】
トランジスタＭ２の電流経路の一端は、電源ＰＶ１に接続される。トランジスタＭ２の電流経路の他端は、トランジスタＭ３の電流経路の一端に接続される。接続された２つのトランジスタＭ２，Ｍ３の電流経路は、接続ノードＮ２を形成する。ｎチャネル型トランジスタＭ３の電流経路の他端は、電源ＰＶ２に接続される。トランジスタの電流経路は、接続ノードＮ２を経由して、接続ノードＮ１に接続される。接続ノードＮ１及び接続ノードＮ２を経由して、トランジスタＭ２，Ｍ３の電流経路が、抵抗変化型メモリ素子Ｒ１，Ｒ２の端子に接続される。
【００４０】
トランジスタＭ２，Ｍ３の制御ノード（ゲート）には、制御信号が入力される。制御信号は、抵抗変化型メモリ素子Ｒ１，Ｒ２に対するデータ書き込み時において、トランジスタのオン／オフを制御する。電源ＰＶ１，ＰＶ２に接続されたトランジスタは、選択トランジスタともよばれる。
【００４１】
図１において、スイッチとしての２つのトランジスタＭ２，Ｍ３のうち、一方のトランジスタＭ２は、例えば、ｐチャネル型ＭＯＳトランジスタＭ２であり、他方のトランジスタは、例えば、ｎチャネル型ＭＯＳトランジスタＭ３である。
【００４２】
電源Ｖ１及び電源Ｖ２は、メモリセルＭＣ及びメモリセルを用いた回路を動作させるための電圧値を、出力する。電源Ｖ１は、電圧値Ｖ１を抵抗変化型メモリ素子Ｒ１の端子に印加し、電源Ｖ２は、電圧値Ｖ２を抵抗変化型メモリ素子Ｒ２の端子に印加する。以下では、電源Ｖ１，Ｖ２のことを、駆動電源Ｖ１，Ｖ２とよび、それらの電源が出力する電圧値Ｖ１，Ｖ２のことを、駆動電圧Ｖ１，Ｖ２とよぶ。
【００４３】
電源ＰＶ１及び電源ＰＶ２は、メモリセルＭＣ（抵抗変化型メモリ素子Ｒ１，Ｒ２）のプログラム動作（データの書き込み）を実行するときに用いられる電圧値を、出力する。電源ＰＶ１は、電圧値Ｖｈを出力し、電源ＰＶ２は、電圧値Ｖｌを出力する。
【００４４】
以下では、電源ＰＶ１，ＰＶ２のことを、プログラム電源ＰＶ１，ＰＶ２とよび、それらの電源が出力する電圧値Ｖｈ，Ｖｌのことを、プログラム電圧Ｖｈ，Ｖｌとよぶ。
【００４５】
メモリセルＭＣの駆動時、駆動電源Ｖ１，Ｖ２がメモリセルＭＣに接続され、プログラム電源ＰＶ１，ＰＶ２は、メモリセルＭＣから電気的に分離される。メモリセルＭＣに対するプログラム（データ書き込／消去）時、書き込むデータに応じて、プログラム電源ＰＶ１又は電源ＰＶ２のいずれか一方がメモリセルＭＣに接続される。プログラム時、駆動電源Ｖ１，Ｖ２はメモリセルＭＣから電気的に分離される。
【００４６】
尚、駆動電圧Ｖ１，Ｖ２によって、抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態が変化しないことが必要である。
【００４７】
本実施形態のメモリセルＭＣは、例えば、抵抗変化型メモリや、ＦＰＧＡ（Field Programmable Gate Array）に適用される。一例としては、図１に示されるメモリセルＭＣは、ＦＰＧＡのコンフィギュレーションメモリとして用いられる。
【００４８】
メモリセルＭＣが、コンフィギュレーションメモリに用いられる場合、パススイッチＭ１を経由して、他の回路に接続される。パススイッチＭ１は、例えば、ｎチャネル型ＭＯＳトランジスタである。パススイッチＭ１は、その電流経路が、配線間に接続される。本実施形態において、パススイッチＭ１としてのトランジスタのことを、パストランジスタＭ１ともよぶ。
【００４９】
図１において、メモリセルＭＣとパストランジスタＭ１とによって、不揮発性プログラマブルロジックスイッチが形成される。
【００５０】
パストランジスタＭ１は、メモリセルＭＣが記憶するデータ（配線情報）に基づいて、パストランジスタＭ１の電流経路の一端及び他端にそれぞれ接続された配線の接続状況を切り替える。
【００５１】
パストランジスタＭ１の制御ノード（トランジスタのゲート）は、抵抗変化型メモリ素子Ｒ１，Ｒ２間の接続ノードＮ１に接続される。本実施形態のメモリセルＭＣを用いたＦＰＧＡの駆動時、電源Ｖ１，Ｖ２がメモリセルＭＣに接続され、接続ノードＮ１の電位ＶｘがパストランジスタＭ１のゲートに、印加される。
【００５２】
印加された電位Ｖｘが、パストランジスタＭ１のしきい値以上であれば、パストランジスタＭ１はオンし、パストランジスタＭ１の一端及び他端にそれぞれ接続された配線は、導通する。一方、印加された電位Ｖｘが、パストランジスタＭ１のしきい値より小さければ、パストランジスタＭ１はオフし、パストランジスタＭ１の一端及び他端にそれぞれ接続された配線は、非導通になる。
【００５３】
パストランジスタＭ１が導通した場合、オンしたパストランジスタＭ１を経由して配線間に信号（ＦＰＧＡ信号とよぶ）が流れる。
【００５４】
接続ノードＮ１の電位Ｖｘは、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２とその抵抗状態の組み合わせによって、異なる。例えば、抵抗変化型メモリ素子Ｒ１の抵抗値が抵抗変化型メモリ素子Ｒ２の抵抗値よりも低い場合における接続ノードＮ１の電位Ｖｘは、駆動電圧Ｖ１に近い値になり、抵抗変化型メモリ素子Ｒ１の抵抗値が抵抗変化型メモリ素子Ｒ２の抵抗値よりも高い場合における接続ノードＮ１の電位Ｖｘは、駆動電圧Ｖ２に近い値になる。
【００５５】
尚、図１のメモリセルＭＣにおいて、トランジスタＭ２には、ｐチャネル型ＭＯＳトランジスタが用いられ、トランジスタＭ１，Ｍ３には、ｎチャネル型ＭＯＳトランジスタが用いられている。メモリセルＭＣ内において、高電位側のプログラム電圧を抵抗変化型メモリ素子に供給するためのトランジスタは、ｐチャネル型ＭＯＳトランジスタが用いられることが好ましい。低電位側のプログラム電圧を抵抗変化型メモリ素子に供給するためのトランジスタは、ｎチャネル型ＭＯＳトランジスタが用いられることが好ましい。
【００５６】
ただし、これに限定されず、例えば、図３に示されるように、メモリセルＭＣ内の２つのトランジスタＭ２，Ｍ３には、ｐチャネル型ＭＯＳトランジスタが用いられ、パストランジスタＭ１には、ｎチャネル型ＭＯＳトランジスタが用いられてもよい。図４に示されるように、パストランジスタＭ１及びメモリセル内のトランジスタＭ２，Ｍ３は、全て同じ導電型、例えば、ｎチャネル型ＭＯＳトランジスタが用いられてもよい。ｐチャネル型ＭＯＳトランジスタとｎチャネル型ＭＯＳトランジスタとによって形成されるトランスミッションゲートが、スイッチとしてのトランジスタの代わりに用いられてもよい。また、ＭＥＭ（Micro Electronic−Mechanical）スイッチが、トランジスタＭ２，Ｍ３の代わりに、用いられてもよい。
【００５７】
パストランジスタＭ１においても、ｐチャネル型ＭＯＳトランジスタが用いられてもよいし、ｐチャネル型ＭＯＳトランジスタとｎチャネル型ＭＯＳトランジスタとによって形成されるトランスミッションゲートが用いられてもよい。
【００５８】
パストランジスタＭ１が、ｐチャネル型ＭＯＳトランジスタである場合、電位ＶｘがパストランジスタＭ１のしきい値電圧より小さければ、パストランジスタＭ１がオンし、パストランジスタの一端及び他端にそれぞれ接続された配線が、導通する。一方、印加された電位Ｖｘが、パストランジスタＭ１のしきい値電圧以上であれば、パストランジスタＭ１はオフし、パストランジスタＭ１の一端及び他端にそれぞれ接続された配線は、非導通になる。
【００５９】
パススイッチＭ１がトランスミッションゲートである場合、ｎチャネル型ＭＯＳトランジスタにしきい値電圧以上の電圧が印加され、ｐチャネル型ＭＯＳトランジスタにしきい値電圧より小さい電圧が印加されると、トランスミッションゲートはオンし、トランスミッションゲートに接続された配線は、導通する。一方、ｎチャネル型ＭＯＳトランジスタにしきい値電圧より小さい電圧が印加され、ｐチャネル型ＭＯＳトランジスタにしきい値電圧以上の電圧が印加されると、トランスミッションゲートはオフし、トランスミッションゲートに接続された配線は、非導通になる。この場合、電位Ｖｘが反転した電圧を生成するために、インバータがさらに設けられる、又は、メモリセルＭＣがさらに追加される。
【００６０】
本実施形態のメモリセルＭＣは、２個のトランジスタと２個の抵抗変化型メモリＲ１，Ｒ２素子とから形成される。また、本実施形態のメモリセルＭＣにおいて、抵抗変化型メモリ素子Ｒ１，Ｒ２は、層間絶縁膜をはさんで、トランジスタＭ２，Ｍ３上方に設けられる。
【００６１】
それゆえ、本実施形態のメモリセルＭＣのセルサイズ（チップ上の占有面積）は、ＳＲＡＭに比較して小さくなる。
【００６２】
また、メモリ素子としての抵抗変化型メモリ素子Ｒ１，Ｒ２は、データを不揮発性に記憶する。それゆえ、本実施形態のメモリセルＭＣをＦＰＧＡに用いた場合、不揮発性のコンフィギュレーションメモリを実現できる。
【００６３】
（ｂ）  メモリセルアレイ  
図５及び図６を用いて、図１のメモリセルを用いたメモリセルアレイ１０について説明する。
【００６４】
図５は、本実施形態の半導体集積回路１００の構成例を示す模式図である。図５に示されるように、本実施形態の半導体集積回路１００において、メモリセルアレイ１０は、複数のメモリセルＭＣを含んでいる。そして、メモリセルアレイ１０及びメモリセルＭＣの動作は、制御回路２０によって、制御される。制御回路２０は、メモリセルアレイ１０と同じチップに設けられてもよいし、メモリセルアレイ１０と異なるチップに設けられてもよい。
【００６５】
制御回路２０は、外部からの要求によって、メモリセルアレイ内のメモリセルに対する動作を制御する。制御回路２０はメモリセルＭＣに対するデータの書き込みを制御する。また、上述のように、メモリセルアレイ１０がＦＰＧＡのコンフィギュレーションメモリとして用いられる場合、制御回路２０は、メモリセルアレイ１０のＦＰＧＡとしての動作（以下、ＦＰＧＡ動作とよぶ）を制御する。
【００６６】
図６は、図１のメモリセルＭＣを用いたメモリセルアレイ１０の回路構成を説明するための等価回路図である。
【００６７】
図６に示されるように、メモリセルアレイ１０は、複数のメモリセルＭＣ１，ＭＣ２の電源Ｖ１，Ｖ２を共通化して、メモリセルＭＣをアレイ化した回路構成を有している。
【００６８】
図６に示されるように、複数のメモリセルＭＣ１，ＭＣ２，・・・が、メモリセルアレイ１０内に設けられている。図６では、２つのメモリセルＭＣ１，ＭＣ２のみが、図示されているが、メモリセルアレイ１０が３以上のメモリセルを含んでいてもよいのは、もちろんである。
【００６９】
メモリセルＭＣ１，ＭＣ２の一端は、制御線ＢＬ１に接続され、メモリセルＭＣ１，ＭＣ２の他端は、制御線ＢＬ２にそれぞれ接続される。  
より具体的には、各メモリセルＭＣ１，ＭＣ２において、抵抗変化型メモリ素子（可変抵抗素子）Ｒ１１，Ｒ１２の端子ａが、制御線ＢＬ１に接続され、抵抗変化型メモリ素子Ｒ２１，Ｒ２２の端子ｂが、制御線ＢＬ２に接続される。以下では、制御線ＢＬ１，ＢＬ２のことを、ビット線ＢＬ１，ＢＬ２とよぶ。
【００７０】
このように、各メモリセルＭＣ１，ＭＣ２は、メモリセルアレイ１０内で、ビット線ＢＬ１，ＢＬ２間に接続される。メモリセルＭＣ１，ＭＣ２は、ビット線ＢＬ１，ＢＬ２の延在方向に沿って、配列されている。
【００７１】
尚、メモリセルの内部構成は、図１に示した構成と実質的に同じであるため、ここでの詳細な説明は必要に応じて行う。
【００７２】
第１のビット線ＢＬ１は、電源スイッチＳＷ１を経由して、駆動電源Ｖ１に接続される。第２のビット線ＢＬ２は、電源スイッチＳＷ２を経由して、駆動電源Ｖ２に接続される。電源Ｖ１は、例えば、メモリ（チップ）の高電位側の電源であり、電源電圧Ｖｄｄを出力する。電源Ｖ２は、例えば、チップの低電位側の電源（グランド）であり、グランド電圧Ｖｓｓを出力する。
【００７３】
電源スイッチＳＷ１，ＳＷ２は、ビット線ＢＬ１，ＢＬ２と駆動電源Ｖ１，Ｖ２との接続状況を制御する。電源スイッチＳＷ１，ＳＷ２は、例えば、電界効果トランジスタＳＷ１，ＳＷ２である。例えば、電源Ｖ１とビット線ＢＬ１との間には、ｐチャネル型ＭＯＳトランジスタＳＷ１が設けられる。ｐチャネル型ＭＯＳトランジスタＳＷ１の電流経路の一端は、電源Ｖ１に接続され、ｐチャネル型トランジスタＳＷ１の電流経路の他端は、ビット線ＢＬ１に接続される。例えば、電源（グランド）Ｖ２とビット線ＢＬ２との間には、ｎチャネル型ＭＯＳトランジスタＳＷ２が設けられる。ｎチャネル型トランジスタＳＷ１の電流経路の一端は、電源Ｖｄｄに接続され、ｎチャネル型トランジスタＳＷ１の電流経路の他端は、ビット線ＢＬ１に接続される。
【００７４】
電源スイッチとしてのｐチャネル型及びｎチャネル型トランジスタＳＷ１，ＳＷ２の制御ノードには、制御回路２０からの制御信号ＣＮＴｗ，／ＣＮＴｗがそれぞれ入力される。ｐチャネル型トランジスタＳＷ１に入力される制御信号ＣＮＴｗは、ｎチャネル型トランジスタＳＷ２に入力される／ＣＮＴｗと相補の関係を有する。すなわち、制御信号ＣＮＴｗが“１（Ｈ）”レベルを示すとき、その反転信号である制御信号／ＣＮＴｗは“０（Ｌ）”レベルを示す。これとは、反対に、制御信号ＣＮＴｗが“０”レベルを示す場合、制御信号／ＣＮＴｗは“１”レベルを示す。
【００７５】
上述のように、一方の電源スイッチＳＷ１はｐチャネル型トランジスタであり、他方の電源スイッチＳＷ２はｎチャネル型トランジスタである。それゆえ、各電源スイッチＳＷ１，ＳＷ２に対する制御信号ＣＮＴｗ，／ＣＮＴｗが相補の関係を有することによって、電源スイッチＳＷ１，ＳＷ２を実質的に同時にオン又はオフさせることができる。したがって、複数のメモリセルＭＣ１，ＭＣ２と電源Ｖ１，Ｖ２との接続関係を比較的容易に制御できる。
【００７６】
メモリセルＭＣ１，ＭＣ２に対するプログラム電源ＰＶ１，ＰＶ２は、プログラム電圧Ｖｈ，Ｖｌを出力する。プログラム電圧Ｖｈ，Ｖｌは、抵抗変化型メモリ素子Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２にデータを書き込む、つまり、抵抗変化型メモリ素子の抵抗状態を変化させるために十分な大きさ（電位）を有する。例えば、プログラム電圧Ｖｈは、プログラム電圧Ｖｌより大きい。
【００７７】
例えば、抵抗変化型メモリ素子の抵抗値を変化させるための電位差｜Ｖｈ−Ｖｌ｜（絶対値）は、電位差（Ｖｄｄ−Ｖｓｓ）より大きい。この関係を満たしていれば、電圧Ｖｈと電圧Ｖｄｄとが同じ大きさ、或いは、電圧Ｖｌと電圧Ｖｓｓとが同じ大きさであってもよい。
【００７８】
例えば、メモリセルＭＣ１，ＭＣ２のほかに、ダミーセルＤＣがメモリセルアレイ１０内に設けられる。ダミーセルＤＣは、第１のビット線ＢＬ１と第２のビット線ＢＬ２との間に接続される。ダミーセルＤＣは、２つのビット線ＢＬ１，ＢＬ２間において、メモリセルＭＣ１，ＭＣ２に対して並列に接続されている。
【００７９】
ダミーセルＤＣは、抵抗変化型メモリ素子（可変抵抗素子）を有さずに、スイッチのみで形成される。ダミーセルＤＣは、例えば、４つのスイッチ（電界効果トランジスタ）ＤＭ１，ＤＭ２，ＤＭ３，ＤＭ４を含んでいる。ダミーセルＤＣの内部構成は、メモリセル内の抵抗変化型メモリ素子をトランジスタに置き換えた構成に相当する。
【００８０】
ダミーセルＤＣ内において、抵抗変化型メモリ素子の代わりに、トランジスタＤＭ３，ＤＭ４がビット線ＢＬ１，ＢＬ２に接続されている。ダミーセルＤＣ内において、トランジスタＤＭ３の電流経路の一端はビット線ＢＬ１に接続され、トランジスタＤＭ３の電流経路の他端はトランジスタＤＭ４の電流経路の一端に接続され、トランジスタＤＭ４の電流経路の他端はビット線ＢＬ２に接続される。２つのトランジスタＤＭ３，ＤＭ４の接続された電流経路は、接続ノードＮ６を形成する。
【００８１】
また、ダミーセルＤＣ内において、トランジスタＤＭ１の電流経路の一端は電源Ｖ５に接続され、トランジスタＤＭ１の電流経路の他端はトランジスタＤＭ２の電流経路の一端に接続され、トランジスタＤＭ２の電流経路の他端は電源Ｖ６に接続される。２つのトランジスタＤＭ１，ＤＭ２の接続された電流経路は、接続ノードＮ５を形成し、接続ノードＮ５は、接続ノードＮ６に接続される。これによって、トランジスタＤＭ１，ＤＭ２の電流経路の一端は、接続ノードＮ６に接続される。トランジスタＤＭ１，ＤＭ２に接続された電源Ｖ５，Ｖ６は、回路構成または所定の動作に応じて、所定の電圧値を出力する。
【００８２】
ダミーセルＤＣ内のトランジスタＤＭ３，ＤＭ４は、ビット線ＢＬ１，ＢＬ２とダミーセルＤＣとの接続状況を制御する。また、ダミーセルＤＣ内のトランジスタＤＭ１，ＤＭ２は、電源Ｖ５，Ｖ６とビット線ＢＬ１，ＢＬ２との接続状況を制御する。
【００８３】
ダミーセルＤＣ内のトランジスタＤＭ１，ＤＭ２，ＤＭ３，ＤＭ４は、ｎチャネル型ＭＯＳトランジスタでもよいし、ｐチャネル型ＭＯＳトランジスタでもよい。或いは、トランスミッションゲートやＭＥＭスイッチが、トランジスタの代わりに用いられてもよい。
【００８４】
ビット線ＢＬ１，ＢＬ２に接続されるメモリセルの個数は、制限されない。但し、上述のダミーセルＤＣのトランジスタのサイズ、主電源の電力供給能力、或いは、チップ上で地理的に近くに配置されるメモリセル及び抵抗変化型メモリ素子の個数などを考慮して、１つのメモリセルアレイ１０内のメモリセルの個数が適宜決定されることが好ましい。
【００８５】
本実施形態の半導体集積回路のメモリセルアレイ１０において、複数のメモリセルＭＣ１，ＭＣ２のそれぞれは、２つのプログラム電源ＰＶ１，ＰＶ２に接続されている。そして、複数のメモリセルＭＣ１，ＭＣ２が、共通のビット線ＢＬ１，ＢＬ２に接続される。
【００８６】
本実施形態の半導体集積回路は、メモリセルＭＣ１，ＭＣ２及びメモリセルアレイ１０が上述の回路構成を有することによって、１回のプログラム動作によって、２以上の抵抗変化型メモリ素子の抵抗状態を変化させ、複数のメモリセルＭＣ１，ＭＣ２に所定のデータを書き込むことができる。
【００８７】
これによって、半導体集積回路のプログラム動作を高速化できる。そして、本実施形態の半導体集積回路がＦＰＧＡに用いられた場合、ＦＰＧＡのコンフィグレーション時間を短縮できる。
【００８８】
したがって、本実施形態の半導体集積回路によれば、回路内のメモリの動作特性を向上できる。
【００８９】
（ｃ）  動作  
以下、図７乃至図１４を用いて、本実施形態の半導体集積回路の動作について、説明する。尚、図７乃至図１４において、トランジスタのオン状態／オフ状態を明確にするために、必要に応じて、図１又は図６に示されるトランジスタの回路記号の代わりに、スイッチの回路記号を用いて、図示する。
【００９０】
また、図７乃至図１１において、メモリセル及び抵抗変化型メモリ素子に対するプログラム動作の説明において、パススイッチとしてのパストランジスタはプログラム動作に寄与しないので、パストランジスタの図示は、省略する。
【００９１】
（ｃ−０）  基本動作  
図７及び図８を用いて、本実施形態の半導体集積回路の基本動作について説明する。基本動作として、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子Ｒ１，Ｒ２に対するデータ書き込み（回路のプログラム動作）について、述べる。ここでは、抵抗変化型メモリ素子Ｒ１，Ｒ２がバイポーラ型の抵抗変化型メモリ素子（可変抵抗素子）である場合について、述べる。
【００９２】
メモリセルＭＣに対するプログラム動作時、プログラム電源ＰＶ１，ＰＶ２が用いられる。
【００９３】
メモリセルＭＣ内のトランジスタ（選択トランジスタ）Ｍ２，Ｍ３において、メモリセルＭＣに対するプログラム動作時、書き込むデータに応じて、トランジスタＭ２及びトランジスタＭ３のうちいずれか一方のトランジスタが、制御回路２０によって、選択的に活性化される。  
つまり、トランジスタのゲートに入力された制御信号によって、一方のトランジスタがオンし、他方のトランジスタがオフする。プログラム時に、１つのメモリセルＭＣ内の２つのトランジスタＭ２，Ｍ３の両方が、オン又はオフとなることはない。
【００９４】
これによって、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２の接続ノードＮ１に、オン状態のトランジスタを経由して、プログラム電源ＰＶ１，ＰＶ２から所定のプログラム電圧Ｖｈ，Ｖｌが印加される。上述のように、プログラム電圧Ｖｈは、プログラム電圧Ｖｌより大きい。
【００９５】
尚、ここでは、説明の簡単化のため、プログラム電圧Ｖｈは正の電圧（Ｖｈ＞０）とし、プログラム電圧Ｖｌは負の電圧（Ｖｌ＜０）とする。また、抵抗変化型メモリ素子Ｒ１，Ｒ２の接続ノードＮ１を形成しない側の端子の電位は、フローティング状態、又は、グランド電位（０Ｖ）に設定されているとする。
【００９６】
まず、トランジスタＭ２がオンする場合（トランジスタＭ３はオフ状態）の動作について、説明する。
【００９７】
トランジスタＭ２がオンした場合、プログラム電源ＰＶ１が接続ノードＮ１に電気的に接続され、正のプログラム電圧Ｖｈが接続ノードＮ１に印加される。  
この場合、図７に示されるように、プログラム電圧Ｖｈに起因する電流Ｉｐｇｍ（以下では、プログラム電流とよぶ）は、接続ノードＮ１を経由して、正のプログラム電圧Ｖｈ（Ｖｈ＞０）側からグランド電圧Ｖｓｓ（０Ｖ）側に向かって、流れる。
【００９８】
上述のように、接続ノードＮ１は、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２における互いに異なる極性の端子ａ，ｂが接続されることによって、形成される。
【００９９】
それゆえ、抵抗変化型メモリ素子Ｒ１に対して、プログラム電流Ｉｐｇｍは、抵抗変化型メモリ素子Ｒ１の端子ｂから端子ａに向かって流れる。一方、抵抗変化型メモリ素子Ｒ２に対して、プログラム電流Ｉｐｇｍは、抵抗変化型メモリ素子Ｒ２の端子ａから端子ｂに向かって流れる。
【０１００】
すなわち、抵抗変化型メモリ素子Ｒ１に対して端子ｂから端子ａに向かう極性の電圧パルスが印加され、抵抗変化メモリ素子Ｒ２に対して端子ａから端子ｂに向かう極性の電圧パルスが印加される。
【０１０１】
これによって、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子Ｒ１，Ｒ２において、一方の抵抗変化型メモリ素子Ｒ１の抵抗状態がもしも高抵抗状態であれば、抵抗変化型メモリ素子Ｒ１は高抵抗状態から低抵抗状態に変化し、抵抗変化型メモリ素子Ｒ１の抵抗状態がもしも低抵抗状態であれば、低抵抗状態が維持される。他方の抵抗変化型メモリ素子Ｒ２の抵抗状態がもしも低抵抗状態であれば、抵抗変化型メモリ素子Ｒ２は低抵抗状態からから高抵抗状態に変化し、抵抗変化型メモリ素子Ｒ１の抵抗状態がもしも高抵抗状態であれば、高抵抗状態が維持される。
【０１０２】
次に、トランジスタＭ３がオンする場合（トランジスタＭ２はオフ状態）の動作について、説明する。
【０１０３】
トランジスタＭ３がオンした場合、電源Ｖ４が接続ノードＮ１に電気的に接続され、負のプログラム電圧Ｖｌが接続ノードＮ１に印加される。
【０１０４】
この場合、グランド電圧Ｖｓｓ（又はフローティング状態）側から負のプログラム電圧Ｖｌ（Ｖｌ＜０）に向かって、電流Ｉｐｇｍが流れる。
【０１０５】
それゆえ、抵抗変化型メモリ素子Ｒ１に対して、プログラム電流Ｉｐｇｍは、抵抗変化型メモリ素子Ｒ１の端子ａから端子ｂに向かって流れる。一方、抵抗変化型メモリ素子Ｒ２に対して、プログラム電流Ｉｐｇｍは、抵抗変化型メモリ素子Ｒ２の端子ｂから端子ａに向かって流れる。
【０１０６】
すなわち、抵抗変化型メモリ素子Ｒ１に対して端子ａから端子ｂに向かう極性の電圧パルスが印加され、抵抗変化メモリ素子Ｒ２に対して端子ｂから端子ａに向かう極性の電圧パルスが印加される。
【０１０７】
これによって、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子Ｒ１，Ｒ２において、一方の抵抗変化型メモリ素子Ｒ１の抵抗状態がもしも低抵抗状態であれば、抵抗変化型メモリ素子Ｒ１は低抵抗状態から高抵抗状態に変化し、抵抗変化型メモリ素子Ｒ１の抵抗状態がもしも高抵抗状態であれば、高抵抗状態が維持される。他方の抵抗変化型メモリ素子Ｒ２の抵抗状態がもしも高抵抗状態であれば、抵抗変化型メモリ素子Ｒ２は高抵抗状態から低抵抗状態に変化し、抵抗変化型メモリ素子Ｒ２の抵抗状態がもしも低抵抗状態であれば、低抵抗状態が維持される。
【０１０８】
上述のメモリセルＭＣに対するプログラム動作に基づくと、メモリセルＭＣのデータ保持時、メモリセル内の抵抗変化型メモリ素子Ｒ１，Ｒ２は、互いに異なる抵抗状態を示している。例えば、抵抗変化型メモリ素子Ｒ１が高抵抗状態を示している（“１”データを保持している）場合、抵抗変化型メモリ素子Ｒ２は低抵抗状態を示している（“０”データを保持している）。これとは反対に、抵抗変化型メモリ素子Ｒ１が低抵抗状態（“０”データ状態）を示している場合、抵抗変化型メモリ素子Ｒ２は高抵抗状態（“１”データ状態）を示している。ただし、抵抗変化型メモリ素子に対するデータ書き込み中の過渡的な状態において、一時的に同じ抵抗状態（同じデータ）を示す場合もある。尚、本実施形態では、抵抗変化型メモリ素子が高抵抗状態であることを、“１”データを保持していると述べ、抵抗変化型メモリ素子が低抵抗状態であることを“０”データを保持しているとも述べるが、これは抵抗変化型メモリ素子の状態を示すものであり、本実施形態のメモリセルＭＣが記憶すべきデータを直接示すものではない。
【０１０９】
尚、抵抗変化型メモリ素子Ｒ１，Ｒ２の端子の極性の接続関係に応じて、電圧／電流の印加方向と抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態を変化させる動作と関係が反対になるのは、もちろんである。
【０１１０】
本実施形態の半導体集積回路が含むメモリセルＭＣにおいて、２つの抵抗変化型メモリ素子の端子の極性がプログラム電源ＰＶ１，ＰＶ２に対して互いに反対となるように、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２が互いに接続されている。これによって、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子Ｒ１，Ｒ２に対して、互いに極性が反対の電圧パルスが印加される。
【０１１１】
それゆえ、１回のプログラム電圧の印加で、１つのメモリセルＭＣ内の２つの抵抗変化型メモリ素子に対して、一方の抵抗変化型メモリ素子に対するセット動作と他方の抵抗変化型メモリ素子に対するリセット動作とが、実質的に同時に実行される。したがって、メモリセルＭＣに対するプログラム動作を、高速化できる。
【０１１２】
（ｃ−１）  動作例１  
図９を用いて、本実施形態のメモリセルアレイの動作について説明する。ここでは、メモリセルの抵抗変化型メモリ素子がバイポーラ型の抵抗変化型メモリ素子（可変抵抗素子）である場合におけるプログラムについて、説明する。
【０１１３】
バイポーラ型の抵抗変化型メモリ素子は、素子に対するプログラム電圧の印加方向（電圧の極性）に依存して抵抗変化型メモリ素子のオン／オフ（低抵抗状態／高抵抗状態）が切り替わる。
【０１１４】
メモリセルアレイ１０内のメモリセルＭＣ１，ＭＣ２に対して、データが書き込まれる場合、データの書き込み対象のメモリセル（選択セル）は、所定のプログラム電圧を出力する電源にそれぞれ接続される。
【０１１５】
図９に示される例において、２つのメモリセルＭＣ１，ＭＣ２に対して、一方のメモリセルＭＣ１が、制御回路２０の制御によって、プログラム電圧Ｖｌを選択し、他方のメモリセルＭＣ２がプログラム電圧Ｖｈを選択している。高電位側のプログラム電圧Ｖｈと低電位側のプログラム電圧Ｖｌとの間の電位差は、抵抗変化型メモリ素子Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２の抵抗状態を変化させるのに十分な大きさの電位差を有する。それゆえ、プログラム電圧Ｖｈが、低電位側のプログラム電圧Ｖｌより大きければ、プログラム電圧Ｖｌの大きさは、正の値であっても負の値であってもよい。
【０１１６】
ここで、プログラム動作時において、高電位側のプログラム電源ＰＶ１（プログラム電圧Ｖｈ）が選択されたメモリセルのことを、高電位選択セルとよび、低電位側のプログラム電源ＰＶ２（プログラム電圧Ｖｌ）が選択されたメモリセルのことを、低電位選択セルとよぶ。
【０１１７】
メモリセルアレイ１０のプログラム動作（データ書き込み）時、電源スイッチＳＷ１,ＳＷ２の制御ゲートに制御回路２０からの制御信号が入力され、電源スイッチＳＷ１，ＳＷ２は、制御回路２０によって、それぞれオフされる。それゆえ、駆動電源Ｖ１，Ｖ２は、ビット線ＢＬ１，ＢＬ２から電気的に分離されている。
【０１１８】
メモリセルＭＣ１，ＭＣ２のトランジスタＭ２１，Ｍ２２，Ｍ３１，Ｍ３２の制御ゲートに、制御回路２０からの選択信号が入力され、トランジスタＭ２１，Ｍ２２，Ｍ３１，Ｍ３２のオン／オフが制御される。
【０１１９】
図９において、メモリセル（高電位選択セル）ＭＣ２のプログラム電源ＰＶ１からメモリセル（低電位選択セル）ＭＣ１のプログラム電源ＰＶ２に向かって、プログラム電流Ｉｐｇｍ１，Ｉｐｇｍ２が流れる。
【０１２０】
高電位選択セルとしてのメモリセルＭＣ２において、高電位側のプログラム電源ＰＶ１に接続されたトランジスタＭ２２が、制御回路２０の制御によって、オンする。一方、高電位選択セルＭＣ２において、低電位側のプログラム電源ＰＶ２に接続されたトランジスタＭ３２はオフしている。プログラム電源ＰＶ１がメモリセルＭＣ２に対して導通状態となり、プログラム電圧ＶｈがメモリセルＭＣ２に印加される。これによって、プログラム電流Ｉｐｇｍが、メモリセルＭＣ２内に供給される。
【０１２１】
メモリセルＭＣ２において、プログラム電流Ｉｐｇｍは、ノードＮ１２において分流し、メモリセルＭＣ２内の２つの抵抗変化型メモリ素子Ｒ１２，Ｒ２２に向かって、プログラム電流Ｉｐｇｍ１，Ｉｐｇｍ２がそれぞれ流れる。ここで、共通のメモリセルＭＣ２内において、抵抗変化型Ｒ１２，Ｒ２２には、それらの端子の極性に対して互いに逆方向の電流が流れる。
【０１２２】
メモリセルＭＣ２において、抵抗変化型メモリ素子Ｒ１２には、プログラム電流Ｉｐｇｍ１が端子ｂから端子ａに向かう方向に流れ、抵抗変化型メモリ素子Ｒ２２には、プログラム電流Ｉｐｇｍ２が端子ａから端子ｂに向かう方向に流れる。  
つまり、極性が互いに反対の電圧パルスが、同じメモリセルＭＣ２内の抵抗変化型メモリ素子Ｒ１２，Ｒ２２にそれぞれ印加される。上述のように、プログラム電源ＰＶ１（Ｖｈ）に接続されたメモリセルＭＣ２において、抵抗変化型メモリ素子Ｒ１２が低抵抗状態に変化し、抵抗変化型メモリ素子Ｒ２２が高抵抗状態に変化する。
【０１２３】
これによって、高電位選択セル内に２つの抵抗変化型メモリ素子Ｒ１２，Ｒ２２に対して、互いに異なるデータ（相補関係のデータ“０”，“１”）が書き込まれ、２つの抵抗変化型メモリ素子Ｒ１２，Ｒ２２は異なる抵抗状態を示す。
【０１２４】
尚、メモリセルＭＣ２の抵抗変化型メモリ素子Ｒ１２，Ｒ２２にそれぞれ流れるプログラム電流Ｉｐｇｍ１，Ｉｐｇｍ２の大きさ（電流値）は、抵抗変化型メモリ素子Ｒ１２の抵抗状態（抵抗値）及び抵抗変化型メモリ素子Ｒ２２の抵抗状態（抵抗値）、或いは、メモリセルＭＣ１など他の抵抗変化型メモリ素子の抵抗状態に応じて異なる。
【０１２５】
高電位選択セルＭＣ２から出力されたプログラム電流Ｉｐｇｍ１，Ｉｐｇｍ２は、ビット線ＢＬ１，ＢＬ２をそれぞれ経由して、低電位選択セル（ここでは、メモリセルＭＣ１）に供給される。
【０１２６】
低電位選択セルとしてのメモリセルＭＣ１において、高電位側のプログラム電源ＰＶ１に接続されたトランジスタＭ２１がオフし、低電位側のプログラム電源ＰＶ２に接続されたトランジスタＭ３１はオンしている。それゆえ、プログラム電源ＰＶ２がメモリセルＭＣ１に対して導通状態となり、プログラム電圧ＶｌがメモリセルＭＣ１に印加される。
【０１２７】
ビット線ＢＬ１を流れたプログラム電流Ｉｐｇｍ１は、低電位選択セルＭＣ１内の抵抗変化型メモリ素子Ｒ１１に供給される。ビット線ＢＬ２を流れたプログラム電流Ｉｐｇｍ２は、低電位選択セルＭＣ１内の抵抗変化型メモリ素子Ｒ２１に供給される。抵抗変化型メモリ素子Ｒ１１の端子ａがビット線ＢＬ１に接続され、抵抗変化型メモリ素子Ｒ２１の端子ｂがビット線ＢＬ２に接続されている。
【０１２８】
プログラム電流Ｉｐｇｍ１は、抵抗変化型メモリ素子Ｒ１１の端子ａから端子ｂに向かって流れる。これとは反対に、プログラム電流Ｉｐｇｍ２は、抵抗変化型メモリ素子Ｒ２１の端子ｂから端子ａに向かって流れる。
【０１２９】
それゆえ、低電位選択セルとしてのメモリセルＭＣ１において、ビット線ＢＬ１側の抵抗変化型メモリ素子Ｒ１１の抵抗状態は、高抵抗状態（“１”データ）に変化し、ビット線ＢＬ２側の抵抗変化型メモリ素子Ｒ２１の抵抗状態は、低抵抗状態（“０”データ）に変化する。  
このように、低電位選択セルにおいても、高電位選択セルと同様に、１つのメモリセル内の２つの抵抗変化型メモリ素子Ｒ１１，Ｒ２１に対して、極性が反対の電流（電圧）がそれぞれ供給される。
【０１３０】
これによって、低電位選択セル内に２つの抵抗変化型メモリ素子に対して、互いに異なるデータ（相補関係のデータ）が書き込まれ、２つの抵抗変化型メモリ素子は、異なる抵抗状態を示す。
【０１３１】
本動作例において、高電位側のプログラム電圧Ｖｈを選択したメモリセルＭＣ２と低電位側のプログラム電圧Ｖｌを選択したメモリセルＭＣ１とにおいて、高電位選択セルの２つの抵抗変化型メモリ素子の抵抗状態は、低電位選択セルの２つの抵抗変化型メモリ素子と、反対の抵抗状態となっている。すなわち、高電位選択セルと低電位選択セルとで、異なるデータが書き込まれ、異なるプログラム状態にされる。メモリセルの記憶するデータについては、後述する。
【０１３２】
メモリセルアレイ１０内の全ての選択セルに対して、高電位側のプログラム電圧Ｖｈを用いたプログラム動作が実行される場合には、ダミーセルＤＣが、低電位側の電圧Ｖ６を選択する。これとは反対に、メモリセルアレイ１０内の全ての選択セルに対して、低電位側のプログラム電圧Ｖｌを用いたプログラム動作が実行される場合には、ダミーセルＤＣが、高電位側の電圧Ｖ５を選択する。
【０１３３】
尚、データを書き込まないメモリセル（非選択セルとよぶ）は、トランジスタＭ２，Ｍ３をオンせずに、プログラム電源ＰＶ１（Ｖｈ），ＰＶ２（Ｖｌ）から電気的に分離される。これによって、非選択セル内の抵抗変化型メモリ素子の抵抗状態を変化させるのに十分な大きさの電流（電圧）が非選択セルに供給されず、非選択セル内の抵抗変化型メモリ素子にデータが書き込まれることは無い。
【０１３４】
図９では、２つのメモリセルＭＣ１，ＭＣ２に同時にプログラム動作を実行する場合を示したが、３以上のメモリセル内においてプログラム電圧ＰＶ１（Ｖｈ）とプログラム電圧ＰＶ２（Ｖｌ）とを適宜選択することによって、３以上のメモリセルに対しても、１回のプログラム動作で、一括にデータを書き込むことができる。  
但し、ビット線ＢＬ１，ＢＬ２を共有する複数のメモリセルに対して、一括にデータを書き込む場合、以下のことを考慮することが好ましい。
【０１３５】
共通のビット線ＢＬ１，ＢＬ２に接続された複数のメモリセルにおいて、高電位のプログラム電源ＰＶ１（Ｖｈ）を選択するメモリセル（高電位選択セル）の個数が、低電位のプログラム電源ＰＶ２（Ｖｌ）を選択するメモリセル（低電位選択セル）の個数と同じでない場合、高電位選択セルから出力されるプログラム電流と低電位選択セルに入力されるプログラム電流とにおいて、電流の供給と引き込みのバランスが崩れる。これが原因となって、プログラム動作に十分なプログラム電流が、あるメモリセルに対して供給されない可能性がある。
【０１３６】
その場合、ダミーセルを選択（活性化）し、高電位又は低電位選択セルのうち、選択された個数が少ないセルに対する電流を補うことによって、プログラム電流（プログラム電圧）の不足に対応できる。  
例えば、高電位側のプログラム電圧Ｖｈを選択するメモリセルが４つであり、低電位側のプログラム電圧Ｖｌを選択するメモリセルが１つである場合、低電位側のメモリセルが、高電位側のメモリセルよりも３つ少ない。この場合、ダミーセルを低電位側のセルとして選択し、低電位側の電源に接続されたトランジスタＤＭ２をオンすることによって、不足している引き込み側の電流（低電位セル）を補うことができる。
【０１３７】
各メモリセルＭＣ１，ＭＣ２のトランジスタ（選択トランジスタ）Ｍ２１，Ｍ３１，Ｍ２２，Ｍ３２のサイズ（チャネル幅）は、各セルの抵抗変化型メモリ素子に対して所定のプログラミング電圧／電流を印加できる程度のサイズで良い。
【０１３８】
この一方で、ダミーセルＤＣのトランジスタＤＭ１，ＤＭ２，ＤＭ３，ＤＭ４のサイズ（チャネル幅）は、ダミーセルＤＣが補う可能性のある電流量をまかなうだけのサイズにする必要がある。つまり、ダミーセルＤＣ内のトランジスタのサイズは、メモリセルＭＣ１，ＭＣ２内のトランジスタのサイズより大きいことが好ましい。  
ワーストケースを考えれば、全てのメモリセルが高電位のプログラム電圧Ｖｈ又は低電位のプログラム電圧Ｖｌを選択することもある。それゆえ、共通のビット線ＢＬ１，ＢＬ２に接続されるメモリセルＭＣの個数をＮ個とした場合、ダミーセルＤＣのトランジスタＤＭ１，ＤＭ２，ＤＭ３，ＤＭ４のサイズは、各メモリセルＭＣのトランジスタのサイズのＮ倍の大きさであることが好ましい。尚、ダミーセルの電圧／電流供給能力に応じて、２個以上のダミーセルが１つメモリセルアレイ１０内に設けられてもよい。
【０１３９】
抵抗変化型メモリ素子の抵抗状態が変化され、メモリセルが所定のプログラム状態にされた後、制御回路２０は、メモリセルからプログラム電源を電気的に分離する。
【０１４０】
以上のように、１回のプログラム動作によって、複数のメモリセルが異なるデータ保持状態にされる。
【０１４１】
本動作例によれば、本実施形態の半導体集積回路は、共通のビット線ＢＬ１，ＢＬ２に接続された複数のメモリセルに対して、複数のメモリセルを同時に書き込み選択することができる。すなわち、本実施形態の半導体集積回路は、共通のビットラインＢＬ１，ＢＬ２に接続された複数のメモリセルＭＣ１，ＭＣ２を、一括にデータを書き込むことができる。これによって、メモリセルアレイに対するプログラム動作を高速にできる。
【０１４２】
また、メモリセルに印加するプログラム電圧ＰＶ１，ＰＶ２をメモリセル内のトランジスタＭ２、Ｍ３を用いて選択することによって、共通のビット線に接続されたメモリセルであっても、メモリセル毎に異なるデータ（情報）を同時に書き込むことができる。
【０１４３】
したがって、本実施形態の半導体集積回路は、複数のメモリセルに対するデータ書き込み（プログラム動作）を高速化できる。本実施形態の半導体集積回路のメモリセルをＦＰＧＡに用いた場合、そのＦＰＧＡのコンフィギュレーション時間を短縮できる。
【０１４４】
（ｃ−２）  動作例２  
図１０を用いて、本実施形態の半導体集積回路の動作例２について説明する。ここでは、抵抗変化型メモリ素子が、ユニポーラ型の抵抗変化型メモリ素子（可変抵抗素子）である場合について、説明する。図９を用いて説明した動作と共通する動作については、必要に応じて説明する。
【０１４５】
本例において、ダミーセルＤＣの電源Ｖ６はグランド電位Ｖｓｓを出力する。また、低電位側のプログラム電圧Ｖｌの大きさは、グランド電位Ｖｓｓと異なる。
【０１４６】
上述のように、ユニポーラ型の抵抗変化型メモリ素子がメモリセルＭＣ１，ＭＣ２に用いられた場合、リセット動作とセット動作とで異なる電圧値（電位差）のプログラム電圧が抵抗変化型メモリ素子に印加される。そのため、本動作例２において、メモリセルアレイ１０に設けられたダミーセルＤＣを用いて、各メモリセルＭＣ１，ＭＣ２内のビット線ＢＬ１側の抵抗変化型メモリ素子Ｒ１１，Ｒ１２とビット線ＢＬ２側の抵抗変化型メモリ素子Ｒ２１，Ｒ２２とで、別々にデータ書き込みが実行される。但し、複数のメモリセルＭＣ１，ＭＣ２に対して、一括にデータ書き込みが実行されることは、動作例１と共通である。尚、上述のように、ユニポーラ型の抵抗変化型メモリ素子の抵抗状態の変化は、電圧の極性（電流の流れる方向）に依存しない。
【０１４７】
図１０では、メモリセルＭＣ１が電源ＰＶ２（プログラム電圧Ｖｌ）を選択し、メモリセルＭＣ２がプログラム電源ＰＶ１（プログラム電圧Ｖｈ）を選択した場合について説明する。尚、ここでは、２つのメモリセルに同時にデータを書き込む場合について説明するが、実質的に同様の動作で、３以上のメモリセルに対して同時にデータを書き込むことができるのは、もちろんである。
【０１４８】
図１０に示されるように、メモリセルＭＣ１はプログラム電圧Ｖｌを選択し、メモリセルＭＣ２はプログラム電圧Ｖｈを選択する。また、ダミーセルＤＣは、グランド電位Ｖｓｓを選択する。この場合、高電位選択セルＭＣ２からのプログラム電流ＩｐｇｍＡがダミーセルＤＣに向かって流れ、低電位選択セルＭＣ１からプログラム電流ＩｐｇｍＢがダミーセルＤＣに向かって流れる。
【０１４９】
高電位選択セルＭＣ２内の抵抗変化型メモリ素子Ｍ２２には、ノードＮ１２を経由したプログラム電流ＩｐｇｍＡが供給される。低電位選択セルＭＣ１内の抵抗変化型メモリ素子Ｒ２１には、プログラム電流ＩｐｇｍＢが供給される。また、ダミーセルＤＣには、電流Ｉ’１が供給される。
【０１５０】
この場合、低電位選択セルＭＣ１のビット線ＢＬ２側の抵抗変化型メモリ素子Ｒ２１に、“Ｖｌ−Ｖｓｓ”の電圧が印加され、高電位選択セルＭＣ２のビット線ＢＬ２側の抵抗変化型メモリ素子Ｒ２２は、“Ｖｈ−Ｖｓｓ”の電圧の電圧が印加される。それゆえ、それぞれのメモリセルＭＣ１，ＭＣ２内において、プログラム電流ＩｐｇｍＡ，ＩｐｇｍＢの大きさも異なり、ビット線ＢＬ２に端子ｂが接続された抵抗変化型メモリ素子Ｒ２１，Ｒ２２には、異なるデータが同時に、書き込まれる。
【０１５１】
ただし、本動作例２において、ビット線ＢＬ１，ＢＬ２の電位レベルを考慮することが好ましい。メモリセルＭＣ２のプログラム電源ＰＶ１からメモリセルＭＣ１の電源ＰＶ２へ向かう方向において、電流Ｉ’２がビット線ＢＬ１に流れる。このため、ビット線ＢＬ１側の抵抗変化型メモリ素子Ｒ１１，Ｒ１２の一端に、電流Ｉ’２に起因した電位が加わることになる。その結果として、ビット線ＢＬ１には、メモリセルＭＣ２のプログラム電源ＰＶ１とメモリセルＭＣ１の電源ＰＶ２との間に直列接続されている抵抗変化型メモリ素子Ｒ１１，Ｒ１２の抵抗値に応じた電圧値（電位）が、発生する。ワーストケースでは、高抵抗状態のメモリ素子Ｒ１１，Ｒ１２に対して、電圧（Ｖｈ−Ｖｌ）が印加される。
【０１５２】
それゆえ、ユニポーラ型の抵抗変化型メモリ素子を用いた複数のメモリセルに対して一括にプログラム動作を行う場合、プログラム電圧Ｖｈ，Ｖｌとグランド電圧Ｖｓｓとの電位差（Ｖｈ−Ｖｓｓ），（Ｖｌ−Ｖｓｓ）によって、データが書き込まれる（抵抗状態が変化する）特性と、高電位のプログラム電圧Ｖｈと低電位側のプログラム電圧Ｖｌとの電位差（Ｖｈ−Ｖｌ）に対してはデータが書き込まれない（抵抗状態がほとんど変化しない）特性との両方の特性を有する抵抗変化型メモリ素子がメモリ回路に用いられることが、メモリの動作の安定化及び信頼性の向上のために好ましい。
【０１５３】
図１０の動作とは異なるユニポーラ型の抵抗変化型メモリ素子に対するプログラム動作として、高電位のプログラム電圧Ｖｈを用いるデータ書き込みと低電位のプログラム電圧Ｖｌを用いるデータ書き込みとを独立して実行するプログラム動作が、本実施形態の半導体集積回路に、用いられる。この場合、同じビット線に一端が接続されている１列の抵抗変化型メモリ素子に対して、高電位のプログラム電圧を用いた書き込みと低電位のプログラム電圧を用いた書き込みとが、それぞれ実行される。具体的な動作は以下のとおりである。
【０１５４】
まず、ビット線ＢＬ２に直接接続された抵抗変化型メモリ素子Ｒ２１，Ｒ２２に対して、高電位のプログラム電圧Ｖｈを用いたデータ書き込みが、制御回路２０によって選択されたメモリセルに対して実行される。この次に、ビット線ＢＬ２に直接接続された抵抗変化型メモリ素子Ｒ２１，Ｒ２２に対して、低電位のプログラム電位Ｖｌを用いたデータ書き込みが、選択されたメモリセルに対して実行される。
【０１５５】
ビット線ＢＬ２側の抵抗変化型メモリ素子に対するデータ書き込みが終了した後、ビット線ＢＬ１側の抵抗変化型メモリ素子に対するデータ書き込みが開始される。  
ビット線ＢＬ１に直接接続された抵抗変化型メモリ素子Ｒ１１，Ｒ１２に対して、高電位のプログラム電圧Ｖｈを用いたデータ書き込みが、選択されたメモリセルに対して実行される。そして、ビット線ＢＬ１に直接接続された抵抗変化型メモリ素子Ｒ１１，Ｒ１２に対して、低電位のプログラム電圧Ｖｌを用いたデータ書き込みが、選択されたメモリセルに対して実行される。
【０１５６】
尚、上述の４回のデータ書き込みにおいて、ダミーセルが低電位（Ｖｓｓ）側に設定され、ダミーセルがプログラム電流の吸収側となる。
【０１５７】
このように、４回の抵抗変化型メモリ素子に対するデータ書き込みによって、メモリセルアレイ１０に対するプログラム動作が完了する。
【０１５８】
尚、データの書き込みが不要のメモリセルが存在する場合は、例えば、ビット線ＢＬ２側に対するプログラム電圧Ｖｈを用いたデータ書き込みとビット線ＢＬ１側に対するプログラム電圧Ｖｌを用いたデータ書き込みとでプログラム動作が完了する場合のように、２回のデータ書き込みによってメモリセルアレイ１０に対するプログラム動作が完了する場合もある。
【０１５９】
このように、ビット線ＢＬ１，ＢＬ２ごとに高電位及び低電位のプログラム電圧によるデータ書き込みがそれぞれ実行された場合、複数の選択セルに対して一括にデータを書き込む場合に比べて、書き込み時間が増大する。  
しかし、１回のメモリセルアレイに対するプログラム動作が、メモリセルアレイ１０内の複数のメモリセルに対して４回のデータ書き込みですむため、本実施形態の半導体集積回路がユニポーラ型の抵抗変化型メモリ素子を用いた場合であっても、１つのメモリセル毎にプログラム動作（データ書き込み）を実行する場合に比較して、コンフィギュレーション時間を十分短くすることできる。
【０１６０】
このように、本実施形態の半導体集積回路は、バイポーラ型の抵抗変化型メモリ素子に限定されず、ユニポーラ型の抵抗変化型メモリ素子を用いることもできる。
【０１６１】
本実施形態の半導体集積回路は、ユニポーラ型の抵抗変化型メモリ素子を用いた場合においても、複数の抵抗変化型メモリ素子に対するデータの書き込みを実質的に同時に実行できる。
【０１６２】
したがって、本実施形態の半導体集積回路は、複数のメモリセルに対するプログラム動作を高速化でき、ＦＰＧＡとして用いた場合のコンフィギュレーション時間を短縮できる。
【０１６３】
また、本実施形態の半導体集積回路は、ユニポーラ型の抵抗変化型メモリ素子を用いたメモリセルを、バイポーラ型の抵抗変化型メモリ素子を用いたメモリセル及びメモリセルアレイと同じ回路構成で、形成できる。それゆえ、メモリのマスク開発後であっても、抵抗変化型メモリ素子を形成するための材料を変えるのみで、ユニポーラ型の抵抗変化型メモリ素子を用いた半導体集積回路又はバイポーラ型の抵抗変化型メモリ素子を用いた半導体集積回路を形成できる。
【０１６４】
（ｃ−３）  動作例３  
図１１を用いて、本実施形態の半導体集積回路の動作例３について説明する。ここでは、抵抗変化型メモリ素子の初期化動作について、説明する。尚、図９及び図１０を用いて説明した動作と共通する動作については、必要に応じて説明する。
【０１６５】
本動作例では、抵抗変化型メモリ素子の初期化動作として、フォーミング動作を例示する。
【０１６６】
抵抗変化型メモリ素子は、その構成部材に応じて、抵抗変化型メモリ素子として用いる前にフォーミング動作が実行される場合がある。フォーミング動作に用いられる電圧／電流は、セット／リセット動作に用いられる電圧／電流と異なる場合がある。以下では、フォーミング動作に用いられる電圧のことを、フォーミング電圧Ｖｆとよぶ。まず、フォーミング電圧Ｖｆが、低電位側のプログラム電圧Ｖｌより大きい場合について説明する。
【０１６７】
抵抗変化型メモリ素子に対するフォーミング動作には、例えば、メモリセルアレイ内のダミーセルＤＣを用いて、実行される。ダミーセルＤＣ内のトランジスタ（スイッチ）は、フォーミング動作用の電源Ｖｆに接続される。
【０１６８】
フォーミング動作時、ダミーセルＤＣは、制御回路２０の制御によって、フォーミング電圧Ｖｆを出力する。
【０１６９】
そして、フォーミング動作の対象のメモリセル（ここでは、メモリセルＭＣ１）において、低電位側の電源ＰＶ２に接続されたトランジスタがオンされ、メモリセルＭＣ１に低電位のプログラム電圧Ｖｌが印加される。
【０１７０】
これによって、フォーミング電圧Ｖｆと電圧Ｖｌとの電位差に応じて、フォーミング電流Ｉｆが、ビット線ＢＬ２を経由して、ダミーセルＤＣから選択セルＭＣ１へ流れる。
【０１７１】
フォーミング動作は、メモリセルＭＣ１，ＭＣ２を１つずつ選択することによって実行され、フォーミング電圧Ｖｆ及びフォーミング電流Ｉｆが、各メモリセル内の抵抗変化型メモリ素子に対して印加する。フォーミング電流Ｉｆをどちらのビット線ＢＬ，ＢＬ２（抵抗変化型メモリ素子）に供給するかは、ダミーセル内のトランジスタＤＭ３，ＤＭ４によって、制御される。
【０１７２】
フォーミング電圧Ｖｆを電圧Ｖｈ、もしくは、電圧Ｖｌより十分低い電圧とすることも可能である。この場合、フォーミング電流Ｉｆが、メモリセルＭＣからビット線ＢＬ１又はビット線ＢＬ２を経由して、ダミーセルＤＣへ流れる。どちらの方向（ビット線）にフォーミング電流Ｉｆを流すかは、抵抗変化型メモリ素子の特性によって決定される。
【０１７３】
このように、本実施形態の半導体集積回路は、抵抗変化型メモリ素子を用いたメモリセルに対して、フォーミング動作を実行できる。
【０１７４】
また、ダミーセルＤＣを用いて、メモリセルごとに電圧を印加する動作は、動作例１や動作例２において、何らかの事情でメモリセルに一括にデータ書き込みができなかった場合に、抵抗変化型メモリ素子の書き込み不良を救済する機能（例えば、フェイルセーフ機能とよばれる）として使うこともできる。
【０１７５】
このように、ダミーセルＤＣを用いたデータ書き込みを、本実施形態の半導体集積回路に用いることによって、メモリセル及びそれを用いたＦＰＧＡの信頼性を向上できる。
【０１７６】
（ｃ−４）  動作例４  
図１２を用いて、本実施形態の半導体集積回路の動作例４について説明する。本動作例において、本実施形態の半導体集積回路におけるメモリセルのデータの判別（リード動作）、及び、本実施形態の半導体集積回路のメモリセルアレイ１０をＦＰＧＡのコンフィギュレーションメモリとして用いた場合における動作（ＦＰＧＡ動作）について、説明する。
【０１７７】
図１２に示されるように、本実施形態の半導体集積回路のリード動作時及びＦＰＧＡ動作時、制御回路２０は、ビット線ＢＬ１に接続された電源スイッチＳＷ１及びビット線ＢＬ２に接続された電源スイッチＳＷ２を、オンする。これによって、高電位側のビット線ＢＬ１には、電源電圧Ｖｄｄが印加され、低電位側のビット線ＢＬ２には、グランド電圧Ｖｓｓ（＝０Ｖ）が印加される。
【０１７８】
メモリセルアレイ１０内の複数のメモリセルＭＣ１，ＭＣ２において、トランジスタＭ２１，Ｍ２２，Ｍ３１，Ｍ３２は、制御回路２０によってオフにされ、プログラム電源ＰＶ１，ＰＶ２はメモリセルＭＣ１，ＭＣ２から電気的に分離される。また、ダミーセルＤＣにおいても、その構成素子であるトランジスタＤＭ１，ＤＭ２，ＤＭ３，ＤＭ４はオフにされ、ダミーセルＤＣは、ビット線ＢＬ１，ＢＬ２から電気的に分離される。
【０１７９】
この場合、各メモリセルＭＣ１，ＭＣ２とビット線ＢＬ１，ＢＬ２との接続関係において、高電位側（Ｖｄｄ側）のビット線ＢＬ１と低電位側（Ｖｓｓ側）のビット線ＢＬ２との間に、２つの抵抗素子（抵抗変化型メモリ素子）Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２が直列接続された回路構成になる。
【０１８０】
尚、電源電圧ＶｄｄがメモリセルＭＣ１，ＭＣ２に印加されることによって、抵抗変化型メモリ素子の抵抗状態（抵抗値）がほとんど変化しないことが必要である。
【０１８１】
メモリセルＭＣ１，ＭＣ２において、２つの抵抗変化型メモリ素子Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２の接続ノードＮ１１，Ｎ１２に、パストランジスタＭ１１，Ｍ１２の制御ゲートが接続されている。
【０１８２】
ここで、抵抗変化型メモリ素子Ｒ１１，Ｒ１２の抵抗値を“ＲＶａ”で示し、抵抗変化型メモリ素子Ｒ２１，Ｒ２２の抵抗値を“ＲＶｂ”で示す。  
図１２の接続関係によれば、ビット線ＢＬ１とビット線ＢＬ２との間の電圧（電位差）は、直列接続された抵抗変化型メモリ素子Ｒ１１，Ｒ１２と抵抗変化型メモリ素子Ｒ２１，Ｒ２２とによって分圧される。そのため、接続ノードＮ１１，Ｎ２２の電位レベルＶｘは、｛ＲＶｂ／（ＲＶａ＋ＲＶｂ）｝×Ｖｄｄで示すことができる。
【０１８３】
また、メモリセル内の２つの抵抗変化型メモリ素子Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２は、互いに相補となるデータ（“０”又は“１”）を保持する。つまり、１つのメモリセル内において、一方の抵抗変化型メモリ素子（可変抵抗素子）が高抵抗状態（高い抵抗値Ｒｈ）を有していれば、他方の抵抗変化型メモリ素子は低抵抗状態（低い抵抗値Ｒｌ）を有している。
【０１８４】
それゆえ、接続ノードＮ１１，Ｎ１２の電位レベルＶｘは、メモリセル内の２つの抵抗変化型メモリ素子の抵抗値に応じて、異なる大きさになる。
【０１８５】
電源ＶｄｄとノードＮ１１，Ｎ１２間の抵抗素子（抵抗変化型メモリ素子）Ｒ１１，Ｒ１２が抵抗値Ｒｈ（＞Ｒｌ）を有し、グランド電源ＶｓｓとノードＮ１１，Ｎ１２間の抵抗素子（抵抗変化型メモリ素子）Ｒ２１，Ｒ２２が抵抗値Ｒｌを有する場合、接続ノードＮ１１，Ｎ１２には、“｛Ｒｌ／（Ｒｈ＋Ｒｌ）｝×Ｖｄｄ”の電圧ＶＦＰＧＡ１が印加される。
【０１８６】
この一方で、電源ＶｄｄとノードＮ１１，Ｎ１２間の抵抗素子Ｒ１１，Ｒ１２が抵抗値Ｒｌ（＞Ｒｈ）を有し、グランド電源ＶｓｓとノードＮ１１，Ｎ１２間の抵抗素子Ｒ２１，Ｒ２２が抵抗値Ｒｈを有する場合、接続ノードＮ１１，Ｎ１２には、“｛Ｒｈ／（Ｒｈ＋Ｒｌ）｝×Ｖｄｄ”の電圧ＶＦＰＧＡ２が印加される。抵抗値Ｒｈは抵抗値Ｒｌよりも大きいので、電圧ＶＦＰＧＡ２は電圧ＶＦＰＧＡ１よりも大きくなる。
【０１８７】
このように、メモリセル内の２つの抵抗変化型メモリ素子の抵抗状態に応じて、接続ノードＮ１，Ｎ２の電圧ＶＦＰＧＡ１，ＶＦＰＧＡ２の大きさは異なる。接続ノードの電圧値ＶＦＰＧＡ１，ＶＦＰＧＡ２の違いとデータとを対応づけることによって、メモリセルが記憶するデータを判別できる。例えば、電圧ＶＦＰＧＡ１に“１”データを割り付け、電圧ＶＦＰＧＡ１に“０データ”を割りつければよい。
【０１８８】
抵抗変化型メモリは、データ書き込み時におけるプログラム電圧の大きさを制御することによって、抵抗変化型メモリ素子の抵抗値を制御できるため、１つのメモリセルが２値以上のデータを記憶する多値メモリを実現することも可能である。尚、抵抗変化型メモリ素子における高抵抗状態の抵抗値と低抵抗状態の抵抗値との差が大きいほうが、メモリの信頼性の向上に貢献できる
ここで、電圧ＶＦＰＧＡ２の大きさ（電圧値）は、パストランジスタＭ１１，Ｍ１２のしきい値Ｖｔｈ以上の値とし、電圧ＶＦＰＧＡ１の大きさは、パストランジスタＭ１１，Ｍ１２のしきい値Ｖｔｈより小さい値とする。尚、電圧ＶＦＰＧＡ１，ＶＦＰＧＡ２の大きさは、電源電圧Ｖｄｄ及び抵抗変化型記憶素子の抵抗値Ｒｈ，Ｒｌを適宜設定することによって、制御できる。
【０１８９】
メモリセルＭＣ１において、電源側の抵抗変化型メモリ素子Ｒ１１が高抵抗状態（抵抗値Ｒｈ）であり、グランド側の抵抗変化型メモリ素子Ｒ２１が低抵抗状態（抵抗値Ｒｌ）である場合を考える。
【０１９０】
この場合、電圧ＶＦＰＧＡ１が接続ノードＮ１１に印加される。電圧ＶＦＰＧＡ１は、パストランジスタＭ１１のしきい値Ｖｔｈより小さいので、パストランジスタＭ１１はオンしない。それゆえ、パストランジスタＭ１２の電流経路の一端及び他端に接続された配線は導通しない。
【０１９１】
メモリセルＭＣ２において、電源側の抵抗変化型メモリ素子Ｒ１２が低抵抗状態（抵抗値Ｒｌ）であり、グランド側の抵抗変化型メモリ素子Ｒ２２が高抵抗状態（抵抗値Ｒｈ）である場合を考える。
【０１９２】
この場合、電圧ＶＦＰＧＡ２が接続ノードＮ１２に印加される。電圧ＶＦＰＧＡ２は、パストランジスタＭ１２のしきい値Ｖｔｈ以上の大きさなので、パストランジスタＭ１２はオンする。それゆえ、パストランジスタＭ１２の電流経路の一端及び他端に接続された配線は、導通し、オン状態のパストランジスタＭ１１を経由して、ＦＰＧＡ信号が配線を流れる。
【０１９３】
このように、本実施形態の半導体集積回路は、メモリセル内に２つの抵抗変化型メモリ素子Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２を含むことによって、それらの抵抗変化型メモリ素子の接続ノードＮ１１，Ｎ１２に接続されたパストランジスタＭ１１，Ｍ１２の導通状態を制御できる。
【０１９４】
したがって、本実施形態の半導体集積回路のメモリセル及びメモリセルアレイを、ＦＰＧＡのコンフィギュレーションメモリとして駆動できる。
【０１９５】
尚、パストランジスタＭ１１，Ｍ１２のオン／オフをデータに対応づけることによって、メモリセルが記憶しているデータを判別してもよい。
【０１９６】
以上のように、本実施形態の半導体集積回路は、２つの抵抗変化型メモリ素子の抵抗値に応じて、２つの抵抗変化型メモリ素子の接続ノードの電位が変動することを利用して、メモリセルが記憶しているデータを判別できる。また、本実施形態のメモリセル及びメモリセルアレイを、コンフィギュレーションメモリとして用いることができる。
【０１９７】
上述のように、本実施形態のメモリセル及びメモリセルアレイは、複数のメモリセルに対する一括のデータ書き込みによって、プログラム動作を高速にできる。それゆえ、本実施形態の半導体集積回路を用いたＦＰＧＡは、コンフィギュレーション時間を短縮できる。
【０１９８】
（ｃ−５）  動作例５  
図１３及び図１４を用いて、本実施形態の半導体集積回路の動作例５について説明する。図１３及び図１４は、本実施形態の半導体集積回路の動作例５を説明するための模式図である。
【０１９９】
本実施形態の半導体集積回路のメモリセルＭＣにおいて、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２は、不揮発性メモリ素子である。そのため、回路を使用していない場合、メモリセルＭＣに対して電源電圧の供給を完全に遮断するパワーゲーティングが可能である。これは、半導体集積回路の消費電力の低減に貢献する。
【０２００】
上述のように、２つの抵抗変化型メモリ素子Ｒ１，Ｒ２は、メモリセルのデータ保持状態において、一方の抵抗変化型メモリ素子が高抵抗状態となり、他方の抵抗変化型メモリ素子が低抵抗状態となるように、１つのメモリセル内の２つの抵抗変化型メモリ素子に対して相補のデータがプログラムされている。
【０２０１】
しかし、抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗値が低抵抗状態及び高抵抗状態のどちらであっても抵抗値が比較的大きい場合、抵抗及び容量による遅延に起因して、電源のオン／オフ時におけるメモリセル（配線）の立ち上がり／立ち下り時間が増大する。
【０２０２】
図１３に示されるように、本実施形態のメモリセルＭＣにおいて、ノードＮ１は、トランジスタＭ２，Ｍ３を介して、プログラム電源ＰＶ１，ＰＶ２に接続されている。本実施形態の半導体集積回路は、その回路構成を利用して、メモリセルＭＣの立ち上がり時間及び立ち下がり時間を短縮できる。
【０２０３】
例えば、チップ（メモリセルアレイ）に対する電源電圧Ｖｄｄが供給される前（直前）、制御回路２０は、メモリセルＭＣ内の少なくとも一方のトランジスタＭ２，Ｍ３のゲートに、制御パルス（制御信号）ＰＬ１を印加する。図１３において、ｐチャネル型トランジスタに、トランジスタをオンさせるための制御パルスＰＬ１が、入力されている。
【０２０４】
これによって、トランジスタＭ２，Ｍ３が一時的にオン状態にされ、プログラム電源ＰＶ１，ＰＶ２とノードＮ１とが電気的に接続される。
【０２０５】
すると、電圧（プログラミング電圧）Ｖｈ，Ｖｌが、制御パルスＰＬ１のパルス幅に相当する期間、オン状態のトランジスタＭ２，Ｍ３を経由して、接続ノードＮ１に印加される。
【０２０６】
トランジスタＭ２，Ｍ３の導通時間に応じて、電圧Ｖｈ，Ｖｌの印加によって、ノードＮ１に電荷が蓄積される。これによって、ノードＮ１の電位Ｖｘが上昇する。
【０２０７】
例えば、電源電圧Ｖｄｄがビット線ＢＬ１から遮断されてから時間が経過し、ノードＮ１の電位がグランド電位Ｖｓｓになっている場合を考える。この場合、電源電圧Ｖｄｄがビット線ＢＬに供給されて、ノードＮ１の電位レベルがグランド電位Ｖｓｓ（０Ｖ）から所定の電位に上昇するよりも、ノードＮ１の電位レベルが、充電により電位Ｖｘ（＞Ｖｓｓ）の状態から所定の電位に立ち上がるほうが、立ち上がり時間は短縮される。
【０２０８】
例えば、充電時（メモリセルの待機時）のノードＮ１の電位Ｖｘは、（Ｖｄｄ−Ｖｓｓ）／２程度であればよい。この値になるように、トランジスタＭ２の制御ゲートに印加されるパルス幅やパルス電圧を設定するとよい。
【０２０９】
トランジスタＭ２，Ｍ３にｎチャネル型ＭＯＳトランジスタが用いられている場合（図４参照）、制御パルスがトランジスタＭ２，Ｍ３に印加された後、接続ノードＮ１の電位は、ｎチャネル型ＭＯＳトランジスタのしきい値電圧分だけ下がった電圧になる。そのため、トランジスタのしきい値電圧を調整することで、充電によるノードの電位を設定してもよい。
【０２１０】
また、図１４に示すように、パストランジスタＭ１のソース／ドレイン又は基板に、制御パルスＰＬ２（電位）を供給することによって、ノードＮ１の電位を上昇させてもよい。
【０２１１】
パストランジスタＭ１の制御ノード（ゲート電極）は、接続ノードＮ１に接続されている。それゆえ、パストランジスタＭ１のソース／ドレイン又は基板とノードＮ１との間にリーク電流がほとんどなくとも、接続ノードＮ１は、ソース／ドレイン及び基板に、静電容量（容量性カップリング）を介して接続されている。
【０２１２】
例えば、バックバイアスによって、パストランジスタＭ１のソース／ドレイン及び基板（チャネル領域）の電位レベルを上昇させると、ノードＮ１の電位レベルも、基板とゲート電極（接続ノード）との間の静電容量の大きさに応じて、上昇する。この状態で、電源電圧ＶｄｄがメモリセルＭＣに印加されると、プログラム電源ＰＶ１，ＰＶ２によるノードＮ１の充電と同様に、例えば、ノードＮ１の電位レベルがグランド電位Ｖｓｓの状態から立ち上がる場合に比較して、短い時間で、接続ノードＮ１の電位レベルを所定の電位レベルまで電位を立ち上げることができる。
【０２１３】
これによって、半導体集積回路のパワーゲーティング時において、メモリセルＭＣ内の接続ノードＮ１の立ち上がり／立下り時間を短縮できる。
【０２１４】
なお、接続ノードＮ１の電位レベルを、ある電位レベルからグランド電位Ｖｓｓまでたち下げる（ノードの電荷を放出する）場合においても、接続ノードＮ１を充電する動作と反対の動作を実行することによって、接続ノードＮ１の電位レベルの立ち下げ時間を短縮できる。
【０２１５】
例えば、図１３に示される動作において、制御パルスをトランジスタＭ３に与えて、ノードＮ１の電荷を、低電位端に放電すればよい。また、図１４に示される動作例において、パストランジスタＭ１のソース／ドレイン又は基板の電位を立ち下げて、ノードＮ１の電位を容量カップリングによって低下させればよい。
【０２１６】
以上のように、本実施形態の半導体集積回路は、回路のパワーゲーティング時に、接続ノードＮ１に電荷を充電する又は接続ノードＮ１内の電荷を放電することによって、メモリセルの動作速度を向上できる。
【０２１７】
（ｄ）  変形例  
図１５及び図１６を用いて、本実施形態のメモリセルの変形例について、説明する。
【０２１８】
パストランジスタ（パススイッチ）Ｍ１にＦＰＧＡ信号（電圧又は電流）が到達すると、その信号変化とパストランジスタＭ１の容量結合によって、接続ノードＮ１の電位レベルが変動する。メモリセルＭＣの抵抗変化型メモリ素子の抵抗値（絶対値）が大きい場合、接続ノードＮ１の電位変動が定常状態になるまでの時間は、配線遅延により、長くなる。定常状態になるまでの過渡状態において、ノードＮ１の電位レベルはグランド電位Ｖｓｓと電源電位Ｖｄｄの間の中間値で揺らぎ、その揺らぎによって、ＦＰＧＡ信号（電流／電圧）のリークやそのリークに起因する消費電力の増大が引き起こされる。ノードＮ１の電位変動は、ノードＮ１に接続されている容量成分を大きくすることによって、抑制できる。
【０２１９】
図１５は、メモリセルＭＣ内の接続ノードＮ１に接続された容量成分Ｃを示す等価回路図である。
【０２２０】
容量成分Ｃは、２つのトランジスタＭ２，Ｍ３のソース／ドレイン（拡散層）と基板との接合容量や、トランジスタＭ２，Ｍ３のゲートと基板との間の寄生容量に起因する。
【０２２１】
本実施形態の半導体集積回路は、ノードＮ１に２つのトランジスタＭ２，Ｍ３が接続されているため、トランジスタに起因する接合容量が比較的大きくなる。その結果として、ノードＮ１の容量成分Ｃは大きくなる。  
それゆえ、本実施形態の抵抗変化メモリにおいて、ノードＮ１の容量成分を大きくすることによって、ノードＮ１の電位変動を低減でき、消費電力の増加を抑制できる。
【０２２２】
図１５に示されるメモリセルＭＣにおいて、接続ノードＮ１に接続された容量成分Ｃは、上述のように、トランジスタＭ２，Ｍ３としてのトランジスタのソース／ドレイン又は基板内の接合容量や、ゲートと基板との間の寄生容量でもよい。また、ＭＯＳキャパシタを別途に設けてもよい。また、配線の配線容量や高抵抗状態の抵抗変化型メモリ素子を、容量成分Ｃを形成するための容量素子として用いることも可能である。
【０２２３】
このように、プログラム電源ＰＶ１，ＰＶ２と接続ノードＮ１との間の容量成分Ｃを大きくすることによって、ＦＰＧＡ動作時（或いはデータ判別時）におけるノードＮ１の電位変動を抑えることができ、消費電力の増大を抑制できる。
【０２２４】
また、上述の例では、ダミーセルは対象性を考えて、４つトランジスタ（スイッチ）で形成される。但し、バイポーラ型の抵抗変化型メモリ素子に対する電流量調整のためのダミーセルのように、トランジスタがビット線ＢＬ１とビット線ＢＬ２とを電気的に分離するのみでよい場合もある。
【０２２５】
この場合、図１６に示されるように、ダミーセルＤＣ内において抵抗変化型メモリ素子の代わりに用いられたトランジスタのうち、１つを削減し、１つのトランジスタＤＭ３の電流経路がビット線ＢＬ１，ＢＬ２間に対して直列に接続されるように、ダミーセルＤＣ内に設けられてもよい。この場合、ダミーセルＤＣ内のトランジスタは、３つとなる。
【０２２６】
（ｅ）  まとめ  
以上のように、本実施形態の半導体集積回路において、メモリセルアレイ１０内に、複数のメモリセルＭＣ１，ＭＣ２が配置される。
【０２２７】
メモリセルアレイ１０内の各メモリセルＭＣ１は、２つの抵抗変化型メモリ素子Ｒ１１，Ｒ２１と２つのスイッチ（トランジスタ）Ｍ２１，Ｍ３１とを含んでいる。１つのメモリセルＭＣ内において、２つの抵抗変化型メモリ素子と２つのトランジスタは、図１に示されるような、接続関係を有する。
【０２２８】
抵抗変化型メモリ素子は、トランジスタを覆う層間絶縁膜上に設けられる。それゆえ、メモリセルのセルサイズは、半導体基板上の２つの選択トランジスタのサイズによって決まる。それゆえ、本実施形態のメモリセルは、ＳＲＡＭのセルサイズより小さくできる。
【０２２９】
図６に示されるように、メモリセルアレイ１０内において、複数のメモリセルＭＣ１，ＭＣ２は、共通のビット線ＢＬ１，ＢＬ２に接続される。
【０２３０】
図７乃至１０を用いて説明したように、本実施形態の半導体集積回路は、プログラム動作時、複数のメモリセルに対して一括にデータを書き込みことができ、高速なプログラム動作が可能となる。例えば、本実施形態の半導体集積回路がＦＰＧＡに用いられた場合、ＦＰＧＡのコンフィギュレーション時間を短縮できる。
【０２３１】
また、本実施形態の半導体集積回路は、図１１を用いて説明したように、ダミーセルを用いて、１つのメモリセルに対してデータを書き込むこともできる。それゆえ、一括書き込みによって書き込み不良が発生した場合においても、その書き込み不良が発生したセルに個別にデータを書き込むことができる。それゆえ、本実施形態の抵抗変化メモリは、動作の信頼性を確保できる。
【０２３２】
さらに、本実施形態の半導体集積回路は、１つのメモリセルにデータを書き込むための電流を、他のメモリセルにデータを書き込むためにも利用している。それゆえ、本実施形態の抵抗変化メモリは、消費電力を低くできる。
【０２３３】
以上のように、本実施形態の半導体集積回路は、メモリ及びそれを用いた回路の動作特性を向上できる。
【０２３４】
（２）  応用例  
図１７を用いて、本実施形態の半導体集積回路の応用例について、説明する。
【０２３５】
図１７は、本実施形態の半導体集積回路の応用例を示す等価回路図である。  
図１及び図６において、プログラム電圧ＰＶ１，ＰＶ２を出力するためのトランジスタＭ２，Ｍ３が各メモリセル内に設けられている。  
これに対して、図１７の回路では、ビット線ＢＬ１，ＢＬ２の延在方向に交差する方向（カラム方向）に配列された複数のメモリセルによって、共有化されている。
【０２３６】
カラム方向に延在する配線（共通配線とよぶ）ＳＬが、プログラム電源ＰＶ１，ＰＶ２にそれぞれ対応する２つのトランジスタＭ２，Ｍ３の接続ノードに、接続される。共通配線ＳＬに、カラム方向に配列された複数のメモリセルが、接続されている。
【０２３７】
図１７の回路構成において、各メモリセルのノードＮ１１、Ｎ１２，Ｎ１３，Ｎ１４をカラム間で切り離すために、スイッチ（トランジスタ）Ｍ４１，Ｍ４２，Ｍ４３，Ｍ４４が、各メモリセルＭＣ１１，ＭＣ２１，ＭＣ１２，ＭＣ２２内に設けられている。トランジスタＭ４１，Ｍ４２，Ｍ４３，Ｍ４４の電流経路の一端は、共通配線ＳＬ１，ＳＬ２に接続され、トランジスタＭ４１，Ｍ４２，Ｍ４３，Ｍ４４の電流経路の他端がノードＮ１に接続されている。トランジスタＭ４１，Ｍ４２，Ｍ４３，Ｍ４４の制御ゲートには、制御回路２０からの選択信号（制御信号）が入力される。
【０２３８】
このトランジスタＭ４１，Ｍ４２，Ｍ４３，Ｍ４４は、カラムの選択に用いられる。これによって、制御回路２０によって選択されたカラムにのみ、プログラム電圧Ｖｈ，Ｖｌを供給できる。
【０２３９】
また、ダミーセルＤＣ１１，ＤＣ１２も、カラム方向に配列された複数のセルによって、電源Ｖ５，Ｖ６が共通化されている。各ダミーセルＤＣ１１，ＤＣ１２は、トランジスタＤＭ６を経由して、共通配線ＳＬＤに接続されている。トランジスタＤＭ６は、電源Ｖ５，Ｖ６とダミーセルＤＣ１１，ＤＣ１２との接続を制御する。
【０２４０】
尚、プログラム動作、フォーミング動作及びＦＰＧＡ動作など、メモリセル及びメモリセルアレイに対する動作は、上述の例と同様なので、ここでの説明は省略する。
【０２４１】
本応用例の半導体集積回路においても、メモリ及びそれを用いた回路の動作特性を向上できる。
【０２４２】
（３）  適用例  
図１８及び図１９を用いて、本実施形態の半導体集積回路の適用例について、説明する。
【０２４３】
上述のように、本実施形態の半導体集積回路は、抵抗変化型メモリとして、フラッシュメモリやＤＲＡＭの代わりに、ファイルメモリやワークメモリに適用できる。
【０２４４】
又は、本実施形態の半導体集積回路は、ＦＰＧＡに用いることができる。
【０２４５】
例えば、本実施形態の半導体集積回路が、ルックアップテーブル（ＬＵＴ：Look Up Table）のデータを保持するコンフィギュレーションメモリに適用された場合、Ｋ個の入力を有するＬＵＴに対して、２Ｋ個のメモリセルＭＣが必要になる。そのため、図６のメモリセルアレイ１０を形成する際に、２Ｋ個のメモリセルＭＣを１つの単位として、ビットラインＢＬ１，ＢＬ２を共通化することが好ましい。
【０２４６】
また、本実施形態の半導体集積回路において、メモリセルＭＣは、スリーステートバッファに用いることができる。
【０２４７】
図１８に示されるように、スリーステートバッファＴＢは、バッファ５０の制御端子に、メモリセルＭＣが接続された回路構成を有する。メモリセルＭＣに接続されたパストランジスタＭ１は、バッファ５０内部に設けられ、バッファ５０とメモリセルＭＣとを接続している。
【０２４８】
上述のように、メモリセルＭＣのプログラム状態（抵抗変化型メモリ素子Ｒ１，Ｒ２の抵抗状態）に応じて、パストランジスタＭ１のオン／オフを制御できる。これによって、パストランジスタＭ１がオンしているかオフしているかに応じて、バッファ５０の低インピーダンス状態／高インピーダンス状態を制御できる。
【０２４９】
このように、本実施形態の半導体集積回路のメモリセルを用いて、スリーステートバッファＴＢを形成できる。
【０２５０】
また、図１９は、図１８のスリーステートバッファを用いたスイッチブロック２００の一例を示している。
【０２５１】
図１９のスイッチブロック２００は、１２個のスリーステートバッファを含む。すなわち、スイッチブロック２００は、１２個のメモリセルを含んでいる。例えば、１２個のメモリセルがビットラインＢＬ１，ＢＬ２を共通化し、それらのメモリセルによって１つの単位（例えば、メモリセルアレイ）が形成される。
【０２５２】
図１９に示されるスイッチブロック２００において、２つのスリーステートバッファＴＢ１，ＴＢ２は、スイッチとしての双方向バッファ回路５９を形成している。
【０２５３】
図１９のスイッチブロック２００は、双方向バッファ回路５９間を接続する各配線９０，９１に、双方向に信号（電流）を流すことができる。双方向バッファ回路５９内の一方のスリーステートバッファＴＢ１が選択されていれば、同じ双方向バッファ回路５９内の他方のスリーステートバッファＴＢ２は選択されない、という組み合わせになる。したがって、本実施形態の半導体集積回路におけるメモリセルＭＣは、図１９のような配線９０，９１に対して双方向に信号（電流）が流れるスイッチブロック２００に用いるのに適している。また、図１９のスイッチブロック２００によれば、メモリセルアレイ内のダミーセルのトランジスタのサイズを小さくすることもできる。
【０２５４】
以上のように、本実施形態の半導体集積回路は、メモリデバイスやＦＰＧＡに適用できる。
【０２５５】
［その他］  
本実施形態において、バイポーラ型またはユニポーラ型の可変抵抗素子を抵抗変化型メモリ素子に用いた例が示されているが、磁気抵抗効果素子や相変化素子が抵抗変化型メモリ素子として用いられてもよい。
【０２５６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２５７】
ＭＣ  …  メモリセル  
Ｒ１，Ｒ２，Ｒ１１，Ｒ１２，Ｒ２１，Ｒ２２  …  抵抗変化型メモリ素子  
Ｍ２，Ｍ３，Ｍ２１，Ｍ２２，Ｍ３１，Ｍ３２  …  スイッチ（選択トランジスタ）  
１０  …  メモリセルアレイ  
Ｍ１，Ｍ１１，Ｍ１２  …  パススイッチ  
ＤＣ  …  ダミーセル
ＴＢ  …  スリーステートバッファ
５９  …  双方向バッファ回路
【図１】
2012074118.tif 000003
【図２】
2012074118.tif 000004
【図３】
2012074118.tif 000005
【図４】
2012074118.tif 000006
【図５】
2012074118.tif 000007
【図６】
2012074118.tif 000008
【図７】
2012074118.tif 000009
【図８】
2012074118.tif 000010
【図９】
2012074118.tif 000011
【図１０】
2012074118.tif 000012
【図１１】
2012074118.tif 000013
【図１２】
2012074118.tif 000014
【図１３】
2012074118.tif 000015
【図１４】
2012074118.tif 000016
【図１５】
2012074118.tif 000017
【図１６】
2012074118.tif 000018
【図１７】
2012074118.tif 000019
【図１８】
2012074118.tif 000020
【図１９】
2012074118.tif 000021