(57)【要約】【課題】メモリセルの信頼性を高めることができる半導体記憶装置を提供する。【解決手段】メモリセルアレイは、互いに交差するように形成された複数の第１配線及び複数の第２配線と、第１配線と第２配線との各交差部に配置され且つ可変抵抗素子を有するメモリセルを含む。制御部は、可変抵抗素子を第１の抵抗値以上の抵抗値を有する第１状態から第１の抵抗値よりも小さい第２の抵抗値以下の抵抗値を有する第２状態に切り換えるために前記第１配線と前記第２配線との間に第１電圧を印加する第１動作を実行可能である。この第１動作においては、第１電圧の印加の後、メモリセルからデータを読み出して第２状態が得られているか否かを判定するためのベリファイ電圧を印加し、このベリファイ電圧の印加により得られた信号に基づき、第１配線と第２配線との間に第１電圧よりも小さい第３電圧を印加する。【選択図】図１
2010225221.tif 000002
【特許請求の範囲】
【請求項１】
第１配線と第２配線との間に配置され且つ可変抵抗素子を有するメモリセルを含むメモリセルアレイと、
前記第１配線と前記第２配線の間に印加される電圧を制御して前記可変抵抗素子の抵抗値を制御する制御部と
を備え、
前記制御部は、
前記可変抵抗素子を第１の抵抗値以上の抵抗値を有する第１状態から前記第１の抵抗値よりも小さい第２の抵抗値以下の抵抗値を有する第２状態に切り換えるために前記第１配線と前記第２配線との間に第１電圧を印加する第１動作と、
前記可変抵抗素子を前記第２状態から前記第１状態に切り換えるために前記第１配線と前記第２配線との間に前記第１電圧よりも小さい第２電圧を印加する第２動作と
を実行可能に構成され、
前記第１動作においては、
前記第１電圧の印加の後、前記メモリセルからデータを読み出して前記第２状態が得られているか否かを判定するためのベリファイ電圧を前記第１配線と前記第２配線との間に印加し、このベリファイ電圧の印加により得られた信号に基づき、前記第１配線と前記第２配線との間に前記第１電圧よりも小さい第３電圧を印加する
ことを特徴とする半導体記憶装置。
【請求項２】
前記第３電圧は、前記第２電圧よりも小さい電圧である請求項１記載の半導体記憶装置。
【請求項３】
前記第１動作時において前記メモリセルに流れる第１電流は、前記第２動作時において前記メモリセルに流れる第２電流よりも小さいことを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記第１動作時において前記第１電圧の印加に起因して前記メモリセルに流れる第１電流は、前記第１動作において前記第３電圧の印加に起因して前記メモリセルに流れる第３電流よりも小さい
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項５】
前記ベリファイ電圧の印加により得られた信号に基づき、前記可変抵抗素子の抵抗値が前記第１の抵抗値以上であると判定される場合には、前記第１配線と前記第２配線との間に前記第１電圧を印加し、前記可変抵抗素子の抵抗値が前記第１の抵抗値より小さく前記第２の抵抗値よりも大きい中間状態にあると判定される場合には、前記第１配線と前記第２配線との間に前記第３電圧を印加する
ことを特徴とする請求項１記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、より詳しくは、可変抵抗素子を備え可変抵抗素子の抵抗値の変化によりデータを記憶するメモリセルを配列してなる半導体記憶装置に関する。
【背景技術】
【０００２】
近年、半導体装置の集積度が高くなることに伴い、これを構成するトランジスタ等の回路パターンはますます微細化している。このパターンの微細化には、単に線幅が細くなるだけではなく、パターンの寸法精度や位置精度の向上も要請される。この事情は半導体記憶装置に関しても例外ではない。
【０００３】
従来知られており、市場にも投入されているＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ等の半導体記憶装置は、いずれもＭＯＳＦＥＴをメモリセルに使用している。このため、パターンの微細化に伴い、微細化の比率を上回る比率での寸法精度の向上が要請されている。このため、これらのパターンを形成するリソグラフィー技術にも、大きな負荷が課せられており、製品コストの上昇要因となっている。
【０００４】
近年、このようなＭＯＳＦＥＴをメモリセルとして用いる半導体記憶装置の後継候補として、抵抗変化メモリが注目されている（例えば、特許文献１参照）。ここで、抵抗変化メモリには、遷移金属酸化物を記録層としてその抵抗値状態を不揮発に記憶する狭義の抵抗変化メモリ（ＲｅＲＡＭ:Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）の他、カルコゲナイド等を記録層として用いてその結晶状態（導体）と非晶質状態（絶縁体）の抵抗値情報を利用する相変化メモリ（ＰＣＲＡＭ:Ｐｈａｓｅ  Ｃｈａｎｇｅ  ＲＡＭ）も含むものとする。
【０００５】
抵抗変化メモリの可変抵抗素子には、２種類の形態があることが知られている。１つは、印加電圧の極性を切り替えることにより、高抵抗状態と低抵抗とを設定するもので、これはバイポーラ型といわれる。もう１つは、印加電圧の極性を切り替えることなく、電圧値と電圧印加時間を制御することにより、高抵抗状態と低抵抗状態の設定を可能とするもので、これはユニポーラ型といわれる。
【０００６】
メモリセルに対するデータの書き込み（プログラム）は、可変抵抗素子に所定の電圧を短時間印加することにより行う。これにより、可変抵抗素子が高抵抗状態から低抵抗状態へと変化する。以下、この可変抵抗素子を高抵抗状態から低抵抗状態へ変化させる動作をセット動作という。
【０００７】
一方、メモリセルＭＣに対するデータの消去は、セット動作後の低抵抗状態の可変抵抗素子に対し、セット動作時よりも低い所定の電圧を長時間印加することにより行う。これにより、可変抵抗素子が低抵抗状態から高抵抗状態へと変化する。以下、この可変抵抗素子を低抵抗状態から高抵抗状態へ変化させる動作をリセット動作という。メモリセルは、例えば高抵抗状態を安定状態（リセット状態）とし、２値データ記憶であれば、リセット状態を低抵抗状態に変化させるセット動作によりデータのプログラムを行う。
このような可変抵抗素子を有するメモリセルを配列してなる半導体記憶装置では、可変抵抗素子が高抵抗状態から低抵抗状態に切り替わった後、例えば配線、ダイオード等に高電圧が印加され得る。このような高電圧は、ダイオード等の劣化を早める虞がある。その他、可変抵抗素子の抵抗値の変化により、各部に必要な電圧が印加されなかったり、逆に必要以上に大きな電圧がかかったりするなどにより、誤動作や消費電力の増大などが生じる虞がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特表２００５−５２２０４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、メモリセルの信頼性を高めることができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る半導体記憶装置は、第１配線と第２配線との各交差部に配置され且つ可変抵抗素子を有するメモリセルを含むメモリセルアレイと、前記第１配線と前記第２配線の間に印加される電圧を制御して前記可変抵抗素子の抵抗値を制御する制御部とを備え、前記制御部は、前記可変抵抗素子を第１の抵抗値以上の抵抗値を有する第１状態から前記第１の抵抗値よりも小さい第２の抵抗値以下の抵抗値を有する第２状態に切り換えるために前記第１配線と前記第２配線との間に第１電圧を印加する第１動作と、前記可変抵抗素子を前記第２状態から前記第１状態に切り換えるために前記第１配線と前記第２配線との間に前記第１電圧よりも小さい第２電圧を印加する第２動作とを実行可能に構成され、前記第１動作においては、前記第１電圧の印加の後、前記メモリセルからデータを読み出して前記第２状態が得られているか否かを判定するためのベリファイ電圧を前記第１配線と前記第２配線との間に印加し、このベリファイ電圧の印加により得られた信号に基づき、前記第１配線と前記第２配線との間に前記第１電圧よりも小さい第３電圧を印加することを特徴とする。
【発明の効果】
【００１１】
この発明によれば、メモリセルの信頼性を高めることができる半導体記憶装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る半導体記憶装置のブロック図である。
【図２】メモリセルアレイ１の一部の斜視図である。
【図３】図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【図４】この可変抵抗素子ＶＲの例を示す図である。
【図５】この可変抵抗素子ＶＲの例を示す図である。
【図６】メモリセルアレイ１の別の構成例を示す。
【図７】メモリセルアレイ１の別の構成例を示す。
【図８】メモリセルアレイ１及びその周辺回路の回路図である。
【図９Ａ】１つのメモリセルに１ビットのデータを記憶する２値記憶方式（１ビット／セル：ＳＬＣ）の場合におけるメモリセルＭＣの抵抗値分布を示している。
【図９Ｂ】１つのメモリセルに複数ビットのデータを記憶する方式（ＭＬＣ）におけるメモリセルＭＣの抵抗値分布を示している。
【図１０】ステートマシン７、及びパルスジェネレータ９の構成及び動作を示すブロック図である。
【図１１Ａ】センスアンプ回路３内の一つのセンスユニットＳＡＵｉの具体的な構成を示している。
【図１１Ｂ】センスアンプ回路３内の一つのセンスユニットＳＡＵｉの具体的な構成を示している。
【図１２】本発明の第１の実施の形態で採用可能なセンスアンプ３の別の構成例を示している。
【図１３】第１の実施の形態によるデータプログラム動作を示すグラフである。
【図１４Ａ】第１の実施の形態によるデータプログラム動作を示すフローチャートである。
【図１４Ｂ】ダイオードＤＩと可変抵抗素子ＶＲに印加される電圧の関係を説明する説明図である。
【図１５】第１の実施の形態によるデータプログラム動作の別の例を示すフローチャートである。
【図１６】本発明の第２の実施の形態によるデータプログラム動作を示すフローチャートである。
【図１７Ａ】第２の実施の形態によるデータプログラム動作を示すグラフである。
【図１７Ｂ】第２の実施の形態によるデータプログラム動作を示すグラフである。
【図１８】本発明の第３の実施の形態によるデータプログラム動作を示すフローチャートである。
【図１９】第３の実施の形態によるデータプログラム動作を示すグラフである。
【図２０】本発明の実施の形態の変形例を示す。
【図２１】本発明の実施の形態の変形例を示す。
【図２２】本発明の実施の形態の効果を示す。
【発明を実施するための形態】
【００１３】
次に、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１４】
[全体構成] 
図１は、本発明の第１の実施の形態に係る不揮発性メモリのブロック図である。
この不揮発性メモリは、後述するＲｅＲＡＭ（可変抵抗素子）を使用したメモリセルをマトリクス状に配置したメモリセルアレイ１を備える。
【００１５】
メモリセルアレイ１のビット線ＢＬ方向に隣接する位置には、メモリセルアレイ１のビット線ＢＬを制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み（プログラム）、及びメモリセルからのデータ読み出しを行うカラム制御回路２が設けられている。また、メモリセルアレイ１のワード線ＷＬ方向に隣接する位置には、メモリセルアレイ１のワード線ＷＬを選択し、メモリセルのデータ消去、メモリセルへのデータプログラム、及びメモリセルからのデータ読み出しに必要な電圧を印加するロウ制御回路３が設けられている。
【００１６】
データ入出力バッファ４は、外部のホスト９にＩ／Ｏ線を介して接続され、書き込みデータ（プログラムデータ）の受け取り、消去命令の受け取り、読み出しデータの出力、アドレスデータやコマンドデータの受け取りを行う。データ入出力バッファ４は、受け取ったプログラムデータをカラム制御回路２に送り、カラム制御回路２から読み出したデータを受け取って外部に出力する。外部からデータ入出力バッファ４に供給されたアドレスは、アドレスレジスタ５を介してカラム制御回路２及びロウ制御回路３に送られる。
【００１７】
また、ホスト９からデータ入出力バッファ４に供給されたコマンドは、コマンド・インターフェイス６に送られる。コマンド・インターフェイス６は、ホスト９からの外部制御信号を受け、データ入出力バッファ４に入力されたデータがプログラムデータかコマンドかアドレスかを判断し、コマンドであれば受け取りコマンド信号としてステートマシン７に転送する。
【００１８】
ステートマシン７は、この不揮発性メモリ全体の管理を行うもので、ホスト９からのコマンドをコマンド・インターフェース６を介して受け付け、読み出し、書き込み（プログラム）、消去、データの入出力管理等を行う。また、外部のホスト９は、ステートマシン７が管理するステータス情報を受け取り、動作結果を判断することも可能である。また、このステータス情報はプログラム、消去の制御にも利用される。
また、ステートマシン７によってパルスジェネレータ９が制御される。この制御により、パルスジェネレータ９は任意の電圧、任意のタイミングのパルスを出力することが可能となる。
【００１９】
ここで、形成されたパルスはカラム制御回路２及びロウ制御回路３で選択された任意の配線へ転送することが可能である。なお、メモリセルアレイ１以外の周辺回路素子は配線層に形成されたメモリアレイ１の直下のＳｉ基板に形成可能であり、これにより、この不揮発性メモリのチップ面積はほぼ、メモリセルアレイ１の面積に等しくすることも可能である。
【００２０】
［メモリセルアレイ及びその周辺回路］
図２は、メモリセルアレイ１の一部の斜視図、図３は、図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。複数本の第１の配線としてワード線ＷＬ０〜ＷＬ２が平行に配設され、これと交差して複数本の第２の配線としてビット線ＢＬ０〜ＢＬ２が平行に配設され、これらの各交差部に両配線に挟まれるようにメモリセルＭＣが配置される。第１及び第２の配線は、熱に強く、且つ抵抗値の低い材料が望ましく、例えばＷ、ＷＳｉ、ＮｉＳｉ、ＣｏＳｉ等を用いることができる。
【００２１】
[メモリセルＭＣ]
メモリセルＭＣは、図３に示すように、可変抵抗素子ＶＲとダイオードＤＩの直列接続回路からなる。可変抵抗素子ＶＲとしては、電圧印加によって、電流、熱、化学エネルギー等を介して抵抗値を変化させることができるもので、上下にバリアメタル及び接着層として機能する電極ＥＬ１、ＥＬ２が配置される。電極ＥＬ１、ＥＬ３の電極の材料としては、Ｐｔ、Ａｕ、Ａｇ、ＴｉＡｌＮ、ＳｒＲｕＯ、Ｒｕ、ＲｕＮ、Ｉｒ、Ｃｏ、Ｔｉ、ＴｉＮ、ＴａＮ、ＬａＮｉＯ、Ａｌ、ＰｔＩｒＯｘ、 ＰｔＲｈＯｘ、Ｒｈ/ＴａＡｌＮ、Ｗ等が用いられる。また、電極ＥＬ２の電極の材料としては、仕事関数を考慮して、Ｗ、ＷＮ、ＴａＮ、ＴａＳｉＮ、ＴａＳｉ２、ＴｉＣ、ＴａＣ、Ｎｂ−ＴｉＯ２等が用いられる。電極ＥＬ１、ＥＬ３の材料も、電極ＥＬ２の材料と同様にすることができる。また、配向性を一様にするようなメタル膜の挿入も可能である。また、別途バッファ層、バリアメタル層、接着層等を挿入することも可能である。
【００２２】
[可変抵抗素子ＶＲ]
可変抵抗素子ＶＲは、遷移元素となる陽イオンを含む複合化合物であって陽イオンの移動により抵抗値が変化するもの（ＲｅＲＡＭ）を用いることができる。
図４及び図５は、この可変抵抗素子ＶＲの例を示す図である。図４に示す可変抵抗素子ＶＲは、電極層１１、１３の間に記録層１２を配置してなる。記録層１２は、少なくとも２種類の陽イオン元素を有する複合化合物から構成される。陽イオン元素の少なくとも１種類は電子が不完全に満たされたｄ軌道を有する遷移元素とし、且つ隣接する陽イオン元素間の最短距離は、０．３２ｎｍ以下とする。具体的には、化学式ＡｘＭｙＸｚ（ＡとＭは互いに異なる元素）で表され、例えばスピネル構造（ＡＭ２Ｏ４）、イルメナイト構造（ＡＭＯ３）、デラフォサイト構造（ＡＭＯ２）、ＬｉＭｏＮ２構造（ＡＭＮ２）、ウルフラマイト構造（ＡＭＯ４）、オリビン構造（Ａ２ＭＯ４）、ホランダイト構造（ＡｘＭＯ２）、ラムスデライト構造（ＡｘＭＯ２）ぺロブスカイト構造（ＡＭＯ３）等の結晶構造を持つ材料により構成される。
【００２３】
図４の例では、ＡがＺｎ、ＭがＭｎ、ＸがＯであり、ＺｎＭｎ２Ｏ４を用いている。その他、ＮｉＯ、ＴｉＯ２、ＳｒＺｒＯ３、Ｐｒ０．７Ｃａ０．３ＭｎＯ３等の材料の１つからなる薄膜により、可変抵抗素子ＶＲを構成することも出来る。
図４において、記録層１２内の小さな白丸は拡散イオン（Ｚｎ）、大きな白丸は陰イオン（Ｏ）、小さな黒丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。記録層１２の初期状態は高抵抗状態であるが、電極層１１を固定電位、電極層１３側に負の電圧を印加すると、記録層１２中の拡散イオンの一部が電極層１３側に移動し、記録層１２内の拡散イオンが陰イオンに対して相対的に減少する。電極層１３側に移動した拡散イオンは、電極層１３から電子を受け取り、メタルとして析出するため、メタル層１４を形成する。記録層１２の内部では、陰イオンが過剰となり、結果的に記録層１２内の遷移元素イオンの価数を上昇させる。これにより、記録層１２はキャリアの注入により電子伝導性を有するようになってセット動作が完了する。再生に関しては、記録層１２を構成する材料が抵抗変化を起こさない程度の微小な電流値を流せば良い。プログラム状態（低抵抗状態）を初期状態（高抵抗状態）にリセットするには、例えば記録層１２に大電流を充分な時間流してジュール加熱して、記録層１２の酸化還元反応を促進すれば良い。また、セット時と逆向きの電場を印加することによってもリセット動作が可能である。
【００２４】
図５の例は、電極層１１、１３に挟まれた記録層１５が第１化合物層１５ａと第２化合物層１５ｂの２層で形成されている。第１化合物層１５ａは電極層１１側に配置され化学式ＡｘＭ１ｙＸ１ｚで表記される。第２化合物層１５ｂは電極層１３側に配置され第１化合物層１５ａの陽イオン元素を収容できる空隙サイトを有している。
【００２５】
図５の例では、第１化合物層１５ａにおけるＡがＭｇ、Ｍ１がＭｎ、Ｘ１がＯである。第２化合物層１５ｂには、遷移元素イオンとして黒丸で示すＴｉが含まれている。また、第１化合物層１５ａ内の小さな白丸は拡散イオン（Ｍｇ）、大きな白丸は陰イオン（Ｏ）、二重丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。なお、第１化合物層１５ａと第２化合物層１５ｂとは、２層以上の複数層となるように積層されていても良い。
【００２６】
この可変抵抗素子ＶＲにおいて、第１化合物層１５ａが陽極側、第２化合物層１５ｂが陰極側となるように、電極層１１、１３に電位を与え、記録層１５に電位勾配を発生させると、第１化合物層１５ａ内の拡散イオンの一部が結晶中を移動し、陰極側の第２化合物層１５ｂ内に進入する。第２化合物層１５ｂの結晶中には、拡散イオンを収容できる空隙サイトがあるため、第１化合物層１５ａ側から移動してきた拡散イオンは、この空隙サイトに収まることになる。このため、第１化合物層１５ａ内の遷移元素イオンの価数が上昇し、第２化合物層１５ｂ内の遷移元素イオンの価数が減少する。
【００２７】
初期状態において、第１及び第２の化合物層１５ａ、１５ｂが高抵抗状態であるとすれば、第１化合物層１５ａ内の拡散イオンの一部が第２化合物層１５ｂ内に移動することにより、第１及び第２化合物の結晶中に伝導キャリアが発生し、両者共に電気伝導性を有することになる。なお、プログラム状態（低抵抗状態）を消去状態（高抵抗状態）にリセットするには、先の例と同様に、記録層１５に大電流を充分な時間流してジュール加熱して、記録層１５の酸化還元反応を促進すれば良い。また、セット時とは逆向きの電場を印加することによってもリセットは可能である。
【００２８】
[メモリセルアレイの変形例]
また、図６に示すように、上述したメモリ構造を複数積層した三次元構造とすることもできる。図７は、図７のＩＩ−ＩＩ′断面を示す断面図である。図示の例は、セルアレイ層ＭＡ０〜ＭＡ３からなる４層構造のメモリセルアレイで、ワード線ＷＬ０ｊがその上下のメモリセルＭＣ０、ＭＣ１で共有され、ビット線ＢＬ１ｉがその上下のメモリセルＭＣ１、ＭＣ２で共有され、ワード線ＷＬ１ｊがその上下のメモリセルＭＣ２、ＭＣ３で共有されている。
【００２９】
また、このような配線／セル／配線／セルの繰り返しではなく、配線／セル／配線／層間絶縁膜／配線／セル／配線のように、セルアレイ層間に層間絶縁膜を介在させるようにしても良い。なお、メモリセルアレイ１は、幾つかのメモリセル群のＭＡＴに分けられることも可能である。前述したカラム制御回路２及びロウ制御回路３は、ＭＡＴ毎、セクタ毎、又はセルアレイ層ＭＡ毎に設けられていても良いし、これらで共有しても良い。また、面積削減のために複数のビット線ＢＬで共有することも可能である。
【００３０】
図８は、メモリセルアレイ１及びその周辺回路の回路図である。ここでは、説明を簡単にするため、１層構造であるとして説明を進める。図８において、メモリセルＭＣを構成するダイオードＤＩのアノードはワード線ＷＬに接続され、カソードは可変抵抗素子ＶＲを介してビット線ＢＬに接続されている。各ビット線ＢＬの一端はカラム制御回路２の一部である選択回路２ａに接続されている。また、各ワード線ＷＲの一端はロウ制御回路３の一部である選択回路３ａに接続されている。
【００３１】
選択回路２ａは、ビット線ＢＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ０及び選択ＮＭＯＳトランジスタＱＮ０からなる。選択ＰＭＯＳトランジスタＱＰ０のソースは、高電位電源Ｖｃｃに接続されている。選択ＮＭＯＳトランジスタＱＮ０のソースは、プログラムパルスを印加すると共にデータ読み出し時に検出すべき電流を流すビット線側ドライブセンス線ＢＤＳに接続されている。トランジスタＱＰ０、ＱＮ０の共通ドレインは、ビット線ＢＬに接続され、共通ゲートには、各ビット線ＢＬを選択するビット線選択信号ＢＳｉが供給されている。
【００３２】
また、選択回路３ａは、ワード線ＷＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ１及び選択ＮＭＯＳトランジスタＱＮ１からなる。選択ＰＭＯＳトランジスタＱＰ１のソースは、プログラムパルスを印加すると共にデータ読み出し時に検出すべき電流を流すワード線側ドライブセンス線ＷＤＳに接続されている。選択ＮＭＯＳトランジスタＱＮ１のソースは、低電位電源Ｖｓｓに接続されている。トランジスタＱＰ１、ＱＮ１の共通ドレインは、ワード線ＷＬに接続され、共通ゲートには、各ワード線ＷＬを選択するワード線選択信号／ＷＳｉが供給されている。
【００３３】
なお、以上は、メモリセルが個別に選択されるのに適した例を示したが、選択されたワード線ＷＬ１につながる複数のメモリセルＭＣのデータを一括で読み出す場合には、各ビット線ＢＬ０〜ＢＬ２に対して個別にセンスアンプが配置され、各ビット線ＢＬ０〜ＢＬ２は、ビット線選択信号ＢＳで、選択回路２ａを介して、個別にセンスアンプに接続される。また、メモリセルアレイ１は、図７に示した回路とは、ダイオードＳＤの極性を逆にして（ビット線ＢＬからワード線ＷＬに向かう方向が順方向となるよう接続して）、ビット線ＢＬ側からワード線ＷＬ側に電流が流れるようにしても良い。
【００３４】
［メモリセルＭＣにおけるデータ記憶方式］
このようなメモリセルＭＣにおけるデータ記憶方式を、図９Ａ及び図９Ｂを参照して説明する。メモリセルＭＣ中の可変抵抗素子ＶＲは、前述した通り、その抵抗値が可変であり、異なる抵抗値を有することによりデータを記憶するものである。例えば２値記憶方式（１ビット記憶方式：ＳＬＣ）の場合には、図９Ａに示すように、消去状態（Ｅｒａｓｅ  Ｌｅｖｅｌ、データ”１”）のメモリセルＭＣは、抵抗値１００ｋΩ〜１ＭΩの高い抵抗値分布Ａを有している一方、プログラム状態（Ｐｒｏｇｒａｍ  Ｌｅｖｅｌ、データ”０”）メモリセルＭＣは、これよりも低い１ｋΩ〜１０ｋΩの低い抵抗値分布Ｂを有している（そのような分布を有するよう、プログラム動作／消去動作を行う）。そして、データの読み出しの際には、このような抵抗値の違いに基づいて、メモリセルＭＣに流れる電流量が変化するので、この電流量の違いを検知することにより、メモリセルＭＣに記憶されたデータを読み出すことができる。
【００３５】
図９Ｂは、１つのメモリセルに複数ビットのデータを記憶する場合（多ビット記憶方式：ＭＬＣ）におけるメモリセルＭＣの抵抗値分布を示している。図９Ｂは、１つのメモリセルＭＣに２ビットのデータを格納する場合を示している。２ビットのデータ”１１”、”１０”、”００”、”０１”がそれぞれ異なる抵抗値分布Ａ−Ｄを与えられる。以下の実施の形態の説明では、１ビット記憶方式の場合を例にとって説明を行うが、本実施の形態は、このような多ビット記憶方式が採用された場合にでも同様に適用可能である。
【００３６】
［ステートマシン７、及びパルスジェネレータ９の構成及び動作］
図１０は、ステートマシン７、及びパルスジェネレータ９の構成及び動作を示すブロック図である。本実施の形態のステートマシン７は、書き込み／読み出し／消去制御回路７１、最大ループ回数記憶部７２、許容フェイルビット記憶部７３、及びステータス判定回路７４を備えている。書き込み／読み出し／消去制御回路７１は、コマンド・インターフェース６からの入力に従い、内部制御信号を各部に出力する。パルスジェネレータ９に対しては、データプログラム動作時には、データプログラムに必要なプログラムパルスの発生を指示する内部制御信号を出力し、データ消去時には、データ消去に必要な消去パルスの発生を指示する内部制御信号を出力する。
【００３７】
最大ループ回数記憶部７２は、プログラムパルスの印加、及びその後のベリファイ動作を繰り返す回数（ループする回数）を記憶する。許容フェイルビット記憶部７３は、プログラム動作等が困難又は不可能なフェイルビットであるメモリセルの数として許容できる最大の数（許容フェイルビット数）を記憶するものである。ステータス判定回路７４は、この最大ループ回数、及び許容フェイルビット数等に基づいて、データプログラムの状態を判定するものである。
【００３８】
パルスジェネレータ９は、図１０に示すように、第１駆動部９１、第２駆動部９２、スイッチングモジュール９３、及びパルス発生器９４を備えている。第１駆動部９１は、主にデータプログラム時に用いられるプログラム電圧Ｖｐｒｏｇｒａｍを発生させるものであり、一方、第２駆動部９２は、主にデータ消去時に用いられる消去電圧Ｖｅｒａｓｅを発生させるものである。ただし、後述するように各駆動部９１、９２は、データプログラム動作時においても適宜使い分けがなされる。スイッチングモジュール９３は、選択的に駆動された第１駆動部９１、第２駆動部９２のいずれかをパルス発生器９４に接続させる機能を有する。
【００３９】
第１駆動部９１は、保護抵抗９５（抵抗値１ｋ〜１００ｋΩ）とｎＭＯＳトランジスタ９６との直列回路から構成されている。保護抵抗９５の一端には、書き込み／読み出し／消去制御回路７１からの内部制御信号が供給される。保護抵抗９５の他端とｎＭＯＳトランジスタ９６のドレインとが接続されており、そのソースはパルス発生器９４に接続されている。ｎＭＯＳトランジスタ９６のゲートは、書き込み／読み出し／消去制御回路７１によって制御される。プログラム動作時（後述する第１プログラムパルス印加動作時）においては、ｎＭＯＳトランジスタ９６が導通状態とされる。保護抵抗９５は、プログラム動作により、メモリセルＭＣの可変抵抗素子ＶＲの抵抗値が低下した場合に、急激にセル電流が増大することを防止するためのものである。
【００４０】
一方、第２駆動部９２は、ｎＭＯＳトランジスタ９６と同一サイズを有するｎＭＯＳトランジスタ９７のみから構成されており、保護抵抗９５に相当する素子は設けられていない。読み出し動作、消去動作時、及び後述する第１プログラムパルス印加動作時においては、ｎＭＯＳトランジスタ９７が導通状態とされる。すなわち、ｎＭＯＳトランジスタ９７は、直接書き込み／読み出し／消去制御回路２０にそのドレインを制御されている。第２駆動部９２は、主に消去動作の際に、消去電圧Ｖｅｒａｓｅを与えるためのものであり、消去後はメモリセルＭＣの可変抵抗素子ＶＲが高抵抗化し、メモリセルに過大な電流が流れる心配が無いので、上記のような保護抵抗９５は必要がない。保護抵抗９５が無いために、消去動作時においてメモリセルＭＣに定常的に流れる電流Ｉｅｒａｓｅは、プログラム動作時においてメモリセルに流れる電流Ｉｐｒｏｇｒａｍよりも大きくなる。このためデータ消去が生じやすい状況を作り出すことができる。
【００４１】
[センスアンプ回路３の具体的構成]
図１１Ａは、センスアンプ回路３内の一つのセンスユニットＳＡＵｉの具体的な構成を示している。このセンスアンプ回路３は、図９Ｂのような多値記憶方式も実行可能なように構成されている。ノードＴＤＣは、ビット線電圧をセンスするためのセンスノードであると共に、データを一時記憶するデータ記憶ノードでもある。即ちノードＴＤＣは、これに接続された電荷保持用キャパシタＣ１及びブースト用キャパシタＣ２とともに、データ一時記憶回路２１を構成している。
【００４２】
ノードＴＤＣは、クランプ用ＮＭＯＳトランジスタＱ１を介してビット線に接続される。クランプ用トランジスタＱ１は、読み出し時ビット線電圧をクランプして、ノードＴＤＣに転送する働きをする。ノードＴＤＣには、ビット線及びこのノードＴＤＣをプリチャージするためのプリチャージ用ＮＭＯＳトランジスタＱ２が接続されている。
【００４３】
ノードＴＤＣは、転送用ＮＭＯＳトランジスタＱ３、Ｑ４を介してそれぞれデータラッチ２２、２３のデータ記憶ノードＰＤＣ、ＳＤＣに接続されている。データラッチ２２は、読み出しデータ及びプログラムデータを保持するデータ記憶回路である。データラッチ２３は、データラッチ２２とデータ線ＤＱ、ＤＱｎとの間に配置されて、プログラムデータや読み出しデータを一時保持するために用いられるデータキャッシュである。
【００４４】
従ってデータラッチ２３のノードは、カラム選択信号ＣＳＬｉにより駆動される選択ゲートトランジスタＱ２１、Ｑ２２を介して、データバス１１のデータ線対ＤＱ、ＤＱｎに接続されている。多値記憶を行う場合には、現にプログラムを行っているページのプログラムベリファイ制御のために、既に書かれているページや後に書かれるべきページのデータを参照することが必要になる。このためプログラム動作時は例えば、データラッチ２２に現にプログラムを行うページのデータを保持し、データラッチ２３に参照ページデータを保持するという動作が行われる。
【００４５】
データプログラム動作は、所定のしきい値分布を得るために、プログラム電圧印加とプログラムベリファイとの繰り返しにより行われる。プログラムベリファイはビット毎に行われ、このベリファイ結果によって次のサイクルのプログラムデータを決定する必要がある。
【００４６】
ドレインに電圧ＶＰＲＥが与えられるＮＭＯＳトランジスタＱ５のゲートは、プログラム動作時にデータラッチ２２のノードＰＤＣが保持するプログラムデータを一時待避させて保持するためのデータ記憶ノードＤＤＣＡとなる。データラッチ２２のノードＰＤＣのデータは転送用ＮＭＯＳトランジスタＱ６を介してデータ記憶ノードＤＤＣＡに転送される。電圧ＶＰＲＥは、選択的にＶｄｄ又はＶｓｓとなる。
【００４７】
ＮＭＯＳトランジスタＱ５とデータ記憶ノードＴＤＣとの間に介在させたＮＭＯＳトランジスタＱ７とにより、データ記憶ノードＴＤＣのデータを、データ記憶ノードＤＤＣＡのデータに応じて設定することが可能になる。即ちこのＮＭＯＳトランジスタＱ５、Ｑ７により、プログラム動作時に次サイクルのプログラムデータを記憶ノードＴＤＣに書き戻すための書き戻し回路２４が構成されている。この書き戻し回路２４は、ドレイン電圧ＶＰＲＥを選ぶことによって、ノードＴＤＣとＤＤＣＡとの間でデータの加減算を行う機能を持つ。
【００４８】
この実施の形態では、書き戻し回路２４と併設されて、データラッチ２２のノードＰＤＣが保持するプログラムデータを転送して一時保持し、データ記憶ノードＴＤＣに書き戻すため動作が可能なもう一つの書き戻し回路２５を有する。ドレインに電圧ＶＰＲＥが与えられるＮＭＯＳトランジスタＱ８のゲートがデータ記憶ノードＤＤＣＢである。データラッチ２２のノードＰＤＣのデータは転送用ＮＭＯＳトランジスタＱ９を介してデータ記憶ノードＤＤＣＢに転送可能である。トランジスタＱ８のソースとノードＴＤＣの間には、転送用ＮＭＯＳトランジスタＱ１０を介在させている。
【００４９】
データラッチ２２には、ベリファイチェック回路２６が接続されている。データラッチ２２の一つのノードにゲートが接続されたＮＭＯＳトランジスタＱ１１がチェック用トランジスタであり、そのソースはチェック信号ＣＨＫ１により制御されるＮＭＯＳトランジスタＱ１２を介して接地され、ドレインは併設された転送用ＮＭＯＳトランジスタＱ１３、Ｑ１４を介して共通信号線ＣＯＭｉに接続されている。ＮＭＯＳトランジスタＱ１３、Ｑ１４はそれぞれ、チェック信号ＣＨＫ２及びノードＴＤＣによりゲートが制御される。
【００５０】
データプログラム動作時、ベリファイ読み出し後に１ページ分のセンスユニット内でこのベリファイチェック回路２６がオンになる。あるセンスユニットでプログラムが完了していなければ、ベリファイチェック回路２６は、予め“Ｈ”に充電された共通信号線ＣＯＭｉを放電させる。１ページ分のデータラッチ２２がオール“１”状態になると、共通信号線ＣＯＭｉが放電されることなく“Ｈ”を保ち、これがプログラム完了を示すパスフラグとなる。
【００５１】
このように構成されたセンスアンプにおけるセンス動作は、次のようになる。まず、データを読み出そうとするメモリセルＭＣが接続されたワード線ＷＬ及びビット線ＢＬを選択し、クランプ用トランジスタＱ１をオフ状態としたまま、
選択ワード線ＷＬを”Ｌ”から”Ｈ”レベルに、選択ビット線ＢＬを”Ｈ”から”Ｌ”レベルにする。これにより、ビット線ＢＬにはメモリセルＭＣの抵抗値に応じた値の電流が流れ、電流値に応じてビット線ＢＬの寄生容量に電荷が蓄積される。
【００５２】
具体的には、メモリセルＭＣが低抵抗のときには、ビット線ＢＬの電位が高くなり、メモリセルＭＣが高抵抗のときには、ビット線ＢＬの電位が低いままとなる。続いて、プリチャージ用トランジスタＱ２もオンにして、電荷保持用キャパシタＣをプリチャージする。次に、クランプ用トランジスタＱ１のゲートにＶＢＬＣ＋Ｖｔ（ＶｔはＮＭＯＳトランジスタＱ１のしきい値電圧）を印加する。もし、ビット線ＢＬの電圧がＶＢＬＣ以上である場合には、トランジスタＱ１はオフ状態のままであるが、ビット線ＢＬの電圧がＶＢＬＣよりも小さい場合には、トランジスタＱ１はオンになり、電荷保持用キャパシタＣの電荷がビット線ＢＬ側に放電される。従って、ノードＴＤＣの電圧は、メモリセルＭＣが低抵抗の場合“Ｈ”、高抵抗の場合“Ｌ”となる。この電圧を読み出しデータとして転送用ＮＭＯＳトランジスタＱ３を介してデータラッチＰＤＣにラッチし、所定のタイミングでデータラッチＳＤＣを介してデータ線ＤＬ、ＤＬｎに読み出す。
【００５３】
なお、図１１Ｂに示すように、メモリセルＭＣ中のダイオードＤＩが、ビット線ＢＬからワード線ＷＬに向かう方向を順方向として接続されている場合には、センス動作は次のようになる。すなわち、プリチャージ用トランジスタＱ２をオンして電荷保持用キャパシタＣ１をプリチャージしたのち、クランプ用トランジスタＱ１のゲートに所定のゲート電圧ＶＢＬＣ＋Ｖｔを与えてキャパシタＣの電荷がビット線ＢＬ側に放電されるかどうかでメモリセルＭＣの抵抗値を判定する。ノードＴＤＣの電圧は、メモリセルＭＣが低抵抗の場合“Ｌ”、高抵抗の場合“Ｈ”となる。この電圧を読み出しデータとして転送用ＮＭＯＳトランジスタＱ３を介してデータラッチＰＤＣにラッチし、所定のタイミングでデータラッチＳＤＣを介してデータ線ＤＬ、ＤＬｎに読み出す。
【００５４】
図１２は、本実施の形態で採用可能なセンスアンプ３の別の構成例を示している。このセンスアンプ３は、センス動作の間中、ビット線電位を常に一定の電圧に固定する制御を行うことにより、隣接ビット線間への影響を排除して、全ビットラインを並列検知可能にしたＡＢＬ（All Bit Line）型のセンスアンプである。
【００５５】
このセンスアンプでは、トランジスタＱ２１、Ｑ２２、Ｑ２４を介してセンス用キャパシタＣ１にプリチャージを行うと共に、トランジスタＱ２１〜Ｑ２６を介してビット線ＢＬにプリチャージを行うプリチャージ期間が経過したら、次にキャパシタＣ１へのプリチャージ経路を絶って、キャパシタＣ１に充電された電荷のトランジスタＱ２５、Ｑ２６及びビット線Ｂｌを介した放電経路を形成する。これによりキャパシタＣ１の電荷が放電されたか、されなかったかを電流弁別回路を構成するトランジスタＱ２９、Ｑ３０で検知して、その結果をデータラッチＰＤＣに記憶するようにしたものである。ラッチされるデータは、センスノードＮｓｅｎの電圧は、メモリセルＭＣが低抵抗の場合“Ｈ”、高抵抗の場合“Ｌ”となる。キャパシタＣ１への充電レベルを変化させることにより、多値記憶方式における複数通りの抵抗値分布の検出も可能である。
【００５６】
［動作］
次に、本発明の第1の実施の形態に関わる抵抗変化メモリ装置の動作を説明する。読み出し動作、プログラム動作を順に説明するが、ここでは、１つのメモリセルに1ビットのデータ（２値記憶）がなされるものとして説明を行う。
【００５７】
［読み出し動作］
まず、データ読み出し動作を説明する。
上述した回路において、データは各メモリセルＭＣの抵抗素子ＶＲの抵抗値の大小として記憶される。例えば図８に示す回路を例にとると、非選択状態では、例えば、ワード線選択信号／ＷＳ０、／ＷＳ１、…が“Ｈ”レベル、ビット線選択信号ＢＳ０、ＢＳ１、…が“Ｌ”レベルとなって全てのワード線ＷＬは“Ｌ”レベル、全てのビット線ＢＬは“Ｈ”レベルとなる。この非選択状態では、全てのメモリセルＭＣのダイオードＳＤが逆バイアス状態でオフであり、可変抵抗素子ＶＲには電流は流れない。
【００５８】
ここで、ワード線ＷＬ１及びビット線ＢＬ１に繋がるメモリセルＭＣ１１を選択する場合を考えると、ロウ制御回路３はワード線選択信号／ＷＳ１を“Ｌ”レベルとし、カラム制御回路２はビット線選択信号ＢＳ１を “Ｈ”レベルとする。これによってワード線ＷＬ１はワード線側ドライブセンス線ＷＤＳに接続され、ビット線ＢＬ１はビット線側ドライブセンス線ＢＤＳに接続されるので、ドライブセンス線ＷＤＳに“Ｈ”レベル、ドライブセンス線ＢＤＳに“Ｌ”レベルを印加することにより、ワード線ＷＬ１が“Ｈ”レベル、ビット線ＢＬ１が“Ｌ”レベルとなる。これにより、選択セルでは、ダイオードＳＤが順バイアスになって電流が流れる。このとき、選択セルに流れる電流量は、抵抗素子ＶＲの抵抗値によって決まるから、電流量の大きさを検知することにより、データの読み出しができる。例えば高抵抗の消去状態を“１”、低抵抗のプログラム状態を“０”に対応させて、センスされた電流値が少ない場合“１”、多い場合“０”と検出することができる。
【００５９】
なお、選択ワード線ＷＬ１と非選択ビット線ＢＬ０、ＢＬ２とは共に“Ｈ”レベルであるため、両者間に接続されたメモリセルＭＣには電圧が印加されず、電流は流れない。同様に、非選択ワード線ＷＬ０、ＷＬ２と選択ビット線ＢＬ１とは共に“Ｌ”レベルであるから、両者間に接続されたメモリセルＭＣにも電流は流れない。非選択ワード線ＷＬ０、ＷＬ２、及びビット線ＢＬ０又はＢＬ２の間に接続されるメモリセルＭＣには逆バイアスが印加されるので、やはり電流は流れない。従って、選択されたメモリセルＭＣ１１以外のメモリセルには電流は流れない。
【００６０】
なお、以上は、メモリセルが個別に選択される例を示したが、選択されたワード線ＷＬ１につながる複数のメモリセルＭＣのデータを一括で読み出す場合には、各ビット線ＢＬ０〜ＢＬ２に個別にセンスアンプ回路を接続し、ビット線選択信号ＢＳで読み出す複数のビット線を選択すれば良い。
【００６１】
［プログラム動作］
まず、データプログラム動作を図１３及び図１４Ａを参照して説明する。図１３は、データプログラム動作において選択メモリセルに印加される電圧の波形を示しており、図１４Ａは、データプログラム動作の手順を示すフローチャートである。ここでも、メモリセルＭＣ１１（図８）が個別に選択されて２ビットのデータ”１”、”０”のうち”０”が書き込まれる場合を想定して説明を行う。
【００６２】
まず、ステートマシン８は、パルスジェネレータ９内の第１駆動部９１を動作させることにより、選択メモリセルＭＣ１１に、図１３に示すようなプログラム電圧Ｖｐｒｏｇｒａｍを所定期間印加する（第１プログラムパルス印加動作：ステップＳ１１）。具体的には、全てのワード線ＷＬが“Ｌ”、全てのビット線ＢＬが“Ｈ”である状態（ワード線選択信号／ＷＳ０、／ＷＳ１、…が“Ｈ”、ビット線選択信号ＢＳ０、ＢＳ１、…が“Ｌ”）から、ワード線選択信号／ＷＳ１を“Ｌ”、ビット線選択信号ＢＳ１を “Ｈ”に切り替えて、メモリセルＭＣ１１を選択する。
【００６３】
続いて、第１パルスプログラム動作の結果、所望のデータのプログラムが完了したか否か、プログラムが完了したか否かを判定するベリファイ判定を実行する（ステップＳ１２）。すなわち、選択メモリセルＭＣ１１の可変抵抗素子ＶＲが、抵抗値分布Ｂ（図９）の範囲内にあるか否かを判定する。具体的には、図１１Ａのセンスアンプ回路のセンスノードＴＤＣがデータラッチ２２にラッチされた後、データラッチ２２に格納されたデータの検知をカラム制御回路２内で行う。この検知結果をステートマシン８へ転送する。ステートマシン８内のステータス判定回路２２は、この検知結果に基づいて、プログラムが完了したか（Ｐａｓｓ）、又は未だ完了しないか（Ｆａｉｌ）を判定する。
【００６４】
ステップＳ１２の判定の結果がＰａｓｓの場合には、プログラム動作は終了する（Ｅｎｄ：ステップＳ１３）。
一方、ステップＳ１２の判定の結果がＦａｉｌの場合（すなわち、メモリセルＭＣ１１の可変抵抗素子ＶＲが、抵抗値分布Ｂの範囲よりも高抵抗であると判定された場合）には、再度センスアンプ回路のノードＴＤＣの充電レベルを変えて、メモリセルＭＣ１１の可変抵抗素子ＶＲが、未だ消去状態に近い高抵抗状態にあるのか（以下、この状態を「ｆａｉｌ１」と称する）、それとも消去状態とプログラム状態の中間程度の中間抵抗状態にあるのか（以下、この状態を「ｆａｉｌ２」と称する）を判定する（ステップＳ１４）。
【００６５】
状態ｆａｉｌ１と状態ｆａｉｌ２とを識別するための閾値Ｒｔｈｒｅｓは、図９Ａに示すプログラム状態の抵抗値分布の最大値Ｒｏｎ＿ｍａｘよりも大きく、消去状態の抵抗値分布の最小値Ｒｏｆｆ＿ｍｉｎより小さい任意の値に設定することができる。ただし、Δ＝ｌｏｇ（Ｒｏｆｆ＿ｍｉｎ）−ｌｏｇ（Ｒｏｎ＿ｍａｘ）とした場合において、以下の関係が満たされるような値にＲｔｈｒｅｓを設定するのが好適である。
［数１］
Δ／２＜ｌｏｇ（Ｒｔｈｒｅｓ）−ｌｏｇ（Ｒｏｎ＿ｍａｘ）＜Δ
【００６６】
これに加え、次の関係が満たされるような値にＲｔｈｒｅｓを設定すると、より好適である。
［数２］
Δ／２＜ｌｏｇ（Ｒｔｈｒｅｓ）−ｌｏｇ（Ｒｏｎ＿ｍａｘ）＜３Δ／４
【００６７】
状態ｆａｉｌ１であると判定される場合には、ステートマシン７は再びパルスジェネレータ９中の第１駆動部９１を動作させて、電圧Ｖｐｒｏｇｒａｍを用いてプログラム動作を行う（第２プログラムパルス印加動作：ステップＳ１５）。
一方、状態ｆａｉｌ２であると判定される場合には、第１駆動部９１に代えて第２駆動部９２を動作させる。これにより、電圧Ｖｐｒｏｇｒａｍよりも小さい電圧である消去電圧Ｖｅｒａｓｅ（消去動作に用いられる電圧）を用いて第２のプログラムパルス印加動作を行う（ステップＳ１６）。その後、ベリファイ判定を繰り返し、Ｐａｓｓとの判定が得られるまで繰り返す。
なお、この実施の形態では、第２プログラムパルス印加動作において、消去動作時に用いる消去電圧Ｖｅｒａｓｅと同じ電圧を印加するものとして説明するが、実際には、消去電圧Ｖｅｒａｓｅよりも振幅を小さくするか、あるいはパルス幅を消去電圧Ｖｅｒａｓｅよりも短くするのが好適である場合が多い。その理由を以下に説明する。
１つのメモリセルＭＣがダイオードＤＩと可変抵抗素子ＶＲとを直列接続して構成されている場合には、可変抵抗素子ＶＲの抵抗状態によって、ダイオードＤＩと可変抵抗素子ＶＲとの間で電圧降下の割合が変化する。つまり、ダイオードＤＩと可変抵抗素子ＶＲ全体に一定の電圧を加えた場合でも、図１４Ｂに示すように、可変抵抗素子ＶＲに印加される電圧は可変抵抗素子ＶＲがプログラム状態にあるとき（点Ａ）、中間状態にあるとき（点Ｂ）、及び消去状態にあるとき（点Ｃ）で異なる。図１４Ｂに示すように、メモリセルＭＣに同じ電圧を印加した場合でも、可変抵抗素子ＶＲの抵抗が十分に小さい場合（プログラム状態）には、可変抵抗素子ＶＲの抵抗が中間状態の場合に比べて、可変抵抗素子ＶＲに加わる電圧は小さくなる。従って、第２プログラムパルス印加動作において消去電圧Ｖｅｒａｓｅと同じ電圧のパルスを印加してしまうと、可変抵抗素子ＶＲに印加される電圧はリセット時よりも大きくなってしまうことが多い。このため、第２プログラムパルス印加動作においては、消去電圧Ｖｅｒａｓｅよりも振幅値が小さい、あるいはパルス幅が消去電圧Ｖｅｒａｓｅよりも短いパルスの電圧を印加するのが好ましい。このような電圧を用いることにより、消去電圧Ｖｅｒａｓｅと全く同じ振幅値、パルス幅を有するパルスを用いる場合に比べ、誤リセット動作の可能性を少なくしつつ、確実に中間抵抗値の可変抵抗素子ＶＲを低抵抗化することができる。こうした誤リセットの可能性が十分少ない条件が得られれば、第２プログラムパルス印加動作において、消去電圧Ｖｅｒａｓｅと同じ振幅値、パルス幅を有するパルスを用いることも可能であり、本発明はこれを除外するものではない。以下でも、第２プログラムパルス印加動作において、消去電圧Ｖｅｒａｓｅと同じ振幅値、パルス幅を有するパルスを用いる場合を例にとって説明を続ける。
【００６８】
このように、本実施の形態の抵抗変化メモリは、第１プログラムパルス印加動作では、第１駆動部９１を動作させてプログラム電圧Ｖｐｒｏｇｒａｍを印加する一方で、第２プログラムパルス印加動作では、状態ｆａｉｌ２が得られた場合には、第２駆動部９２を動作させて消去電圧Ｖｅｒａｓｅを印加する。前述したように、第１駆動部９１は、保護抵抗９５（抵抗値１ｋ〜１００ｋΩ）とｎＭＯＳトランジスタ９６との直列回路から構成されており、第２駆動部９２は、ｎＭＯＳトランジスタ９６と同一サイズを有するｎＭＯＳトランジスタ９７のみ（保護抵抗９５は無い）から構成されている。
【００６９】
第１プログラムパルス印加動作において保護抵抗９５を有する第１駆動部９１を用いる理由は、１つ目は、電流が過大になることを防止するためであり、２つ目は、ダイオード等の破壊を防止するためである。
【００７０】
１つ目の理由について説明する。酸化物材料で形成される可変抵抗素子の抵抗が変化するのは、高電圧の印加に起因して酸化物材料の中に導電性の細い領域（フィラメント）が形成されるためであると推測されている。このとき、プログラムパルス印加動作時において電流制限をしない場合には、フィラメント部の断面積が大きくなりすぎて、低抵抗状態の抵抗が過小となり、後の消去動作が困難になる、あるいは、消去動作時に必要となる電流が大きくなり、消費電力の増大につながるという問題がある。したがって、形成されるフィラメントの断面積をできるだけ小さくするため、第１プログラムパルス印加動作時は、電流制限を行う必要がある。これが、保護抵抗９５を有する第１駆動部９１を用いる１つ目の理由である。
【００７１】
ただし、第１プログラムパルス印加動作時の電流を小さく抑えすぎると、フィラメントが全く形成されないか、或いは形成されるフィラメントが不安定であるという問題が生じる。したがって、第１プログラムパルス印加動作時にはある程度大きい電流を流す必要がある。したがって、第１プログラムパルス印加動作の実行においては、その電流値は１００ｎＡ以上１００μＡ以下であることが好ましい。特に、高抵抗状態（消去状態）の可変抵抗素子ＶＲの抵抗値が２００ｋΩ〜１０ＭΩの範囲にある場合には、第１プログラムパルス印加動作において、印加される電圧を考慮して、電流値は５００ｎＡ以上１０μＡ以下であるとさらに好ましい。
【００７２】
次に、２つ目の理由について説明する。可変抵抗素子ＶＲがこのようなフィラメント形成により低抵抗化すると、可変抵抗素子ＶＲに印加される電圧が急激に減少する。しかしながら、共通のワード線ＷＬに複数のメモリセルが接続されている場合などメモリセルの静電容量が無視できない場合には、その静電容量および配線抵抗のために、電圧が降下するまでに時間を要する。並列に接続されているメモリセルの数にもよるが、典型的には、この電圧降下に要する時間は１０ｎＳ程度となる。この間、印加電圧の多くは、メモリセルＭＣ中のダイオードＤＩにかかることになり、ダイオードＤＩに過電圧が印加される状態となる。このため、ダイオードＤＩが電気的に破壊される可能性が高くなる。このとき、上記のような保護抵抗９５が挿入されていると、ダイオードＤＩの電圧が緩和され、これによりダイオードＤＩを破壊から保護することができる。これが、保護抵抗９５を用いた第１駆動部９１を用いる２つ目の理由である。
【００７３】
一方で、可変抵抗素子ＶＲの抵抗値が上記中間値となった場合において実行される第２のプログラムパルス印加動作で用いる第２駆動部９２には、上記のような保護抵抗９５は存在しない。その理由は、保護抵抗９５が存在すると、可変抵抗素子９５に印加される電圧が小さくなってしまうからである。すなわち、この第２のプログラムパルス印加動作においても、保護抵抗９５を有する第１駆動部９１によりプログラム電圧ｐｒｏｇｒａｍを印加する場合には、ダイオードＤＩ、保護抵抗９５での電圧降下が無視できなくなる。このため、パルスジェネレータ９から出力された電圧の一部しか、可変抵抗素子ＶＲに印加できない。これではプログラムパルス印加動作には不十分であるので、供給される電圧を大きくせざるを得ない。
【００７４】
これを具体的数値を例に挙げて説明する。例えば、保護抵抗９５の抵抗値が５０ｋΩであり、ダイオードＤＩの抵抗値が１０ｋΩであるときに、可変抵抗素子ＶＲが高抵抗状態（＝消去状態）の５００ｋΩにあると、パルスジェネレータ９の出力の８９％（５００／（５００＋５０＋１０）＝８９％）が可変抵抗素子ＶＲに印加される。この場合は、問題無くプログラム動作が可能である。しかし、可変抵抗素子ＶＲが高抵抗状態と低抵抗状態の中間状態の１００ｋΩ程度であると、パルスジェネレータ９の出力の６３％しか可変抵抗素子ＶＲに印加されない。これは、プログラム動作には不十分である。従って、第１駆動部９１により必要な電圧を、このような中間値の抵抗値を有する可変抵抗素子ＶＲに印加するためには、第１のプログラムパルス印加動作時の印加電圧の２倍の電圧を供給する必要があり、消費電力が増大すると共に、回路構成等も複雑なものになってしまう。
【００７５】
このため、第２のプログラムパルス印加動作では、保護抵抗９５のない第２駆動部９２を用いて、消去電圧Ｖｅｒａｓｅを用いてプログラム動作を行う。保護抵抗９５が無いため、プログラム電圧Ｖｐｒｏｇｒａｍより小さい消去電圧Ｖｅｒａｓｅを用いたとしても、可変抵抗素子ＶＲに十分な電圧を供給することができる。また、この第２のプログラムパルス印加動作において電圧Ｖｅｒａｓｅの印加に起因して定常的にメモリセルＭＣに流れる電流を、第１のプログラムパルス印加動作において電圧Ｖｐｒｏｇｒａｍの印加に起因して定常的にメモリセルＭＣに流れる電流に比べて大きくすることができる。
【００７６】
図２２は、第１駆動部９１を用いた第１プログラムパルス印加動作の実行後、可変抵抗素子ＶＲの抵抗が十分に低抵抗化せず中間値となったメモリセルＭＣに対して、第２駆動部９２を用いた第２プログラムパルス印加動作を行う場合に用いるプログラム電圧Ｖの大きさとその第２プログラムパルス印加動作後の可変抵抗素子ＶＲの抵抗値の関係を示したグラフである。ここでは、第１駆動部９１を用いた第１プログラムパルス印加動作では、４．１Ｖのプログラム電圧を用いたものとする。図２２に示すように、第１プログラムパルス印加動作時よりも小さい電圧である３．５〜３．８Ｖ程度の電圧を第２プログラムパルス印加動作時に印加することで、可変抵抗素子ＶＲを低抵抗化することができる。
【００７７】
［別のプログラム動作］
次に、図１４Ａとは別のプログラム動作の例を、図１５を参照して説明する。ステップＳ２１〜Ｓ２３、Ｓ２５は、図１４Ａの場合のステップＳ１１〜Ｓ１３、Ｓ１４、Ｓ１５、Ｓ１６と同一である（ステップＳ２５は、ステップＳ１４、Ｓ１５、Ｓ１６に相当する）。この動作例では、ベリファイ判定及び再プログラム動作の繰り返し回数の最大値が決められており（図１０の記憶部７２）、その最大値を超えた場合（ステップＳ２４のＹＥＳ）、この繰り返し動作のループから抜け出す。そして、例えばメモリセルアレイ１の１ページ毎のフェイルビット数をカウントし（ステップＳ２６）、そのカウント値が許容フェイルビット数記憶部７３に記憶された許容フェイルビット数を超えているか否かを判定する（ステップＳ２７）。超えていなければ（ＹＥＳ）、１ページ中のメモリセルはすべてＰａｓｓであるとみなし（疑似パス）、動作を終了する。超えている場合には（ＮＯ）、再び第２パルスプログラムパルス印加動作に移行し（ステップＳ２５）、再び所定回数ベリファイ判定と第２パルスプログラム動作のループに移行する。ループに移行する代わりに、ステータスとしてｆａｉｌを出力して、動作を終了することも可能である。なお、ステップＳ２５では、図１４ＡのステップＳ１４〜Ｓ１６と同様に、状態ｆａｉｌ１であると判定される場合には電圧Ｖｐｒｏｇｒａｍを用いて第２のプログラムパルス印加動作を行い、状態ｆａｉｌ２であると判定される場合には、消去電圧Ｖｅｒａｓｅを用いて第２のプログラムパルス印加動作を行う。
【００７８】
疑似パスと判定された場合には、図示しないＥＣＣ回路により、誤り訂正動作が実行される。このとき、誤り訂正に用いられるパリティデータは、メモリセルアレイ１の一部に設定したパリティデータ領域に格納しておくことが可能である。
【００７９】
［第２の実施の形態］
次に、本発明の第２の実施の形態による半導体記憶装置を、図１６、図１７Ａを参照して説明する。この第２の実施の形態の半導体記憶装置の構成は、第１の実施の形態のそれと同様でよいので（図１〜図１２参照）、重複する説明は省略する。ただし、この実施の形態では、図１６に示すように、プログラム動作が第１の実施の形態とは異なっている。図１６において、ステップＳ３１、Ｓ３２、Ｓ３６は、第１の実施の形態（図１４Ａ）のステップＳ１１、Ｓ１２及びＳ１３と同一である。また、ステップＳ３３は、図１４ＡのステップＳ１４、Ｓ１５、Ｓ１６に相当する。
【００８０】
ただし、この実施の形態では、ステップＳ３２でＰａｓｓとの判定がなされた場合において、そのまま処理を終了せず、メモリセルＭＣが過度に低抵抗化されていないか（オーバープログラムされていないか）を判定する動作（オーバープログラムベリファイ判定）を実行する点で（ステップＳ３４）、第１の実施の形態と異なっている。このオーバープログラムベリファイ判定は、図１７Ａに示すように、通常のベリファイ判定（ステップＳ３２）で判定に用いる電圧よりも高い電圧を用いた判定を行う。
【００８１】
このオーバープログラムベリファイ判定により、Ｆａｉｌ（過度に低抵抗化されている）と判定された場合には、そのメモリセルＭＣに対し、第２駆動部９２を動作させることにより、消去電圧Ｖｅｒａｓｅ´を印加して、消去動作を実行する（ステップＳ３５）。この消去電圧Ｖｅｒａｓｅ´は、通常の消去動作に用いられる消去電圧Ｖｅｒａｓｅよりもパルス振幅が小さく、パルス幅が大きい電圧である。この消去電圧Ｖｅｒａｓｅ´を用いた消去動作により消去状態とプログラム状態との中間程度の抵抗値まで消去動作が行われたメモリセルに対し、第２プログラムパルス印加動作を実行する（ステップＳ３３）。上記のような方法により、オーバープログラムされたメモリセルを、適度の抵抗値に戻すことができる。なお、図１７Ｂに示すように、通常のベリファイ動作（ステップＳ３２）の電圧の印加と、オーバープログラムベリファイ動作（ステップＳ３３）の電圧印加とを連続して実施することも可能である。
【００８２】
［第３の実施の形態］
次に、本発明の第３の実施の形態による半導体記憶装置を、図１８を参照して説明する。この第３の実施の形態の半導体記憶装置の構成は、第１の実施の形態のそれと同様でよいので（図１〜図１２参照）、重複する説明は省略する。この実施の形態も、第２の実施の形態と同様に、オーバープログラムベリファイ判定を実行し、オーバープログラムされたメモリセルを適度な抵抗値に書き戻すものである。図１８において、ステップＳ４１、Ｓ４２、Ｓ４３、Ｓ４４は、第２の実施の形態（図１６）のステップＳ３１、Ｓ３２、Ｓ３３、Ｓ３４と同様である。
【００８３】
この実施の形態では、オーバープログラムベリファイ判定でＦａｉｌの判定がなされた場合に、当該メモリセルに対し、弱い消去動作（可変抵抗素子ＶＲの抵抗値が、オーバープログラム状態から、適正な低抵抗状態まで戻される）である弱消去パルス印加動作（Weak Erase Pulse）を実行する点で（ステップＳ４６）、第２の実施の形態と異なっている。この弱消去パルス印加動作は、ステップＳ４２と同様のベリファイ動作（ステップＳ４７）にてＰａｓｓと判定されるまで数回繰り返される。上述の弱消去パルス印加動作の結果、オーバープログラムされたメモリセルが、適当な低抵抗状態を飛び越えて中間値の抵抗値まで戻されてしまうこともあり（ステップＳ４７の「Ｆａｉｌ２」）、その場合には、再度第２プログラムパルス印加動作（ステップＳ４３）を実行する。なお、この弱消去パルス印加動作において用いられる電圧パルスは、図１９に示すように、前述の電圧Ｖｅｒａｓｅ´と略同一のパルス振幅を有するが、パルス幅はこれよりも短い。
【００８４】
複数回の弱消去パルス印加動作を繰り返しても可変抵抗素子ＶＲの抵抗が高抵抗化されない場合には、一旦当該メモリセルを完全に消去（高抵抗化）し、その後再度第１プログラムパルス印加動作から開始するようにしてもよい。完全消去を行った場合には、再度第１プログラムパルス印加動作を行うことになるが、その際の電圧Ｖｐｒｏｇｒａｍは、最初の第１プログラムパルス印加動作の際の電圧Ｖｐｒｏｇｒａｍと同一のパルス振幅、パルス幅としてもよいし、これとは異なるパルス振幅、パルス幅としてもよい。
【００８５】
［変形例］
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。例えば、上記実施の形態では、メモリセルとして、ダイオードと可変抵抗素子を直列接続したいわゆるユニポーラ型のメモリセルを用いたが、本発明はこれに限定されるものではなく、トランジスタと可変抵抗素子を直列接続してなるいわゆるバイポーラ型のメモリセルを有する半導体記憶装置にも本発明は適用可能である。
【００８６】
また、上記の実施の形態では、複数のビット線ＢＬと複数のワード線ＷＬの各交点にメモリセルを配置し、複数のビット線ＢＬと複数のワード線ＷＬのうち、選択ビット線ＢＬおよび選択ワード線ＷＬには所定の電圧が印加され、それ以外のビット線ＢＬおよびワード線ＷＬには、それらの交点にあるメモリセルに順方向電圧がかからないような電圧が供給される構成である。しかし、本発明はこれに限定されるものではなく、例えば、図２０に示すように、マトリクス状に配列されたメモリセルＭＣに対し、ＭＥＭＳ駆動機構により微細な位置制御が可能とされたヘッド部Ｈを接触させ（ヘッド部Ｈは、電圧印加のための配線に接続されている）、このヘッド部Ｈを介して選択メモリセルに各種電圧を印加するようにすることも可能であり、そのようなメモリ装置に本発明を適用することが可能である。
【００８７】
また、上記の実施の形態では、パルスジェネレータ９が２種類の駆動部９１及び９２を有しており、メモリセルの状態等に応じてこの２種類の駆動部が切り替えられる構成が採用されている。しかし、本発明はこのような２種類の駆動部を有するものに限定されず、１種類の駆動部が少なくとも２通りの電圧を供給可能に構成されたものも、本発明の範囲に含まれる。例えば、図２１に示すような単一の駆動部９１´により、第１プログラムパルス印加動作に用いる電圧Ｖｐｒｏｇｒａｍと、第２プログラムパルス印加動作に用いる電圧Ｖｅｒａｓｅとの両方を発生させることができる。この駆動部９１´は、直列接続されたｎＭＯＳトランジスタ９７、９８及びキャパシタ９９を有する。ｎＭＯＳトランジスタ９７及び９８は、ステートマシン７により相補的にオンとされる。キャパシタ９９は、図示しない充電機構により、ｎＭＯＳトランジスタ９８の導通前に、所定の電圧を充電可能に構成されている。このような構成において、例えばｎＭＯＳトランジスタ９７が導通する場合には、そのドレインから所定の電圧Ｖｅｒａｓｅ＋Ｖｔｈの電圧が供給され（ＶｔｈはｎＭＯＳトランジスタ９７の閾値電圧）、これにより、パルス発生器９４に電圧Ｖｅｒａｓｅが供給される。一方、ｎＭＯＳトランジスタ９８が導通する場合には、キャパシタ９９に充電された電荷の放電により、Ｖｅｒａｓｅより大きい電圧であるＶｐｒｏｇｒａｍがパルス発生器９４に供給される。なお、プログラム動作時には、ｎＭＯＳトランジスタ９７を半選択状態とすることにより、ｎＭＯＳトランジスタ９７に、図１０で説明した保護抵抗９５の機能を持たせることもできる。また、ｎＭＯＳトランジスタ９７は、ｐＭＯＳトランジスタに置き換えることも可能である。
【００８８】
また、駆動部９１、９２、９１´により供給電圧を制御する代わりに、例えば図８に示す信号／ＷＳｉの電圧の大きさを変化させることにより、メモリセルへの供給電圧を変化させることも可能である。この信号／ＷＳｉの大きさを制御することにより、トランジスタＱＰ１を選択状態と半選択状態との間で切り替えて電流が制限される状態にして電圧を印加する。
【００８９】
また、上記の実施の形態では、１つのメモリセルに１ビットのデータを書き込む１ビット記憶方式を説明したが、前述したように、本発明は、多ビットのデータを１つのメモリセルに格納する多ビット記憶方式にも適用可能である。図９Ｂのような２ビット記憶方式の場合、各抵抗値レベルＤ、Ｃ、Ｂ、Ａごとに、上述の第１プログラムパルス印加動作、第２プログラムパルス印加動作、ベリファイ動作等を同様に実行することが可能である。また、図９Ｂのような２ビットのデータを、２ページに分けて、下位ページのプログラムを最初に行った後、引き続き上位ページのプログラムを行うという手順により、プログラム動作を進めることが可能である。
【符号の説明】
【００９０】
１・・・メモリセルアレイ、  ２・・・カラム制御回路、  ３・・・ロウ制御回路、  ４・・・データ入出力バッファ、  ５・・・アドレスレジスタ、  ６・・・コマンド・インターフェイス、  ７・・・ステートマシン、７１・・・書き込み／読み出し／消去制御回路、  ７２・・・最大ループ回数記憶部、  ７３・・・許容フェイルビット記憶部、  ７４・・・ステータス判定回路、  ９・・・パルスジェネレータ、  ９１・・・第１駆動部、  ９２・・・第２駆動部、  ９３・・・スイッチングモジュール、  ９４・・・パルス発生器、  ＷＬ・・・ワード線、  ＢＬ・・・ビット線、  ＭＣ・・・メモリセル、  ＶＲ・・・可変抵抗素子、  ＤＩ・・・ダイオード。
【図１】
2010225221.tif 000003
【図２】
2010225221.tif 000004
【図３】
2010225221.tif 000005
【図４】
2010225221.tif 000006
【図５】
2010225221.tif 000007
【図６】
2010225221.tif 000008
【図７】
2010225221.tif 000009
【図８】
2010225221.tif 000010
【図９Ａ】
2010225221.tif 000011
【図９Ｂ】
2010225221.tif 000012
【図１０】
2010225221.tif 000013
【図１１Ａ】
2010225221.tif 000014
【図１１Ｂ】
2010225221.tif 000015
【図１２】
2010225221.tif 000016
【図１３】
2010225221.tif 000017
【図１４Ａ】
2010225221.tif 000018
【図１４Ｂ】
2010225221.tif 000019
【図１５】
2010225221.tif 000020
【図１６】
2010225221.tif 000021
【図１７Ａ】
2010225221.tif 000022
【図１７Ｂ】
2010225221.tif 000023
【図１８】
2010225221.tif 000024
【図１９】
2010225221.tif 000025
【図２０】
2010225221.tif 000026
【図２１】
2010225221.tif 000027
【図２２】
2010225221.tif 000028