(57)【特許請求の範囲】
【請求項１】
可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、
書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、
前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、
前記メモリセルからベリファイ読み出しを行うセンスアンプと、
前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、
前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路と
を備え、
前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、
前記制御回路は、予め設定された最大ループ回数を超えない範囲で、前記ベリファイ結果がパスとなるまで前記追加書き込みを繰り返す
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、
書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、
前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、
前記メモリセルからベリファイ読み出しを行うセンスアンプと、
前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、
前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路と
を備え、
前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、
前記センスアンプは、複数のメモリセルから一括してベリファイ読み出しを行い、
前記制御回路は、ベリファイ結果がフェイルのビット数が予め設定された許容不良ビット数以下である場合には、前記ベリファイ結果をパスとする
ことを特徴とする不揮発性半導体記憶装置。
【請求項３】
可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、
書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、
前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、
前記メモリセルからベリファイ読み出しを行うセンスアンプと、
前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、
前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路と
を備え、
前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、
前記センスアンプは、前記メモリセルからオーバープログラム・ベリファイ読み出しを行い、
前記制御回路は、前記オーバープログラム・ベリファイの結果がフェイルであった場合に、前記パルスジェネレータで生成される消去パルスを前記メモリセルに印加する
ことを特徴とする不揮発性半導体記憶装置。
【請求項４】
前記制御回路は、前記オーバープログラム・ベリファイの結果がフェイルであった場合に、前記パルスジェネレータで生成されるウィーク消去パルスを前記メモリセルに印加する
ことを特徴とする請求項３記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変抵抗素子を用いた不揮発性半導体装置に関し、特に書き込みの際にベリファイ動作を行う不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
従来、電気的に書き換え可能な不揮発性メモリとしては、フローティングゲート構造を有するメモリセルをＮＡＮＤ接続又はＮＯＲ接続してメモリセルアレイを構成したフラッシュメモリが周知である。また、不揮発性で且つ高速なランダムアクセスが可能なメモリとして、強誘電体メモリも知られている。
【０００３】
一方、メモリセルの更なる微細化を図る技術として、可変抵抗素子をメモリセルに使用した抵抗変化型メモリが提案されている（特許文献１）。この種の抵抗変化型メモリは、例えばカルコゲナイドガラスの結晶−非結晶の抵抗比が１００：１以上と大きいことを利用して、その異なる抵抗値状態を情報として記憶する。この抵抗変化型メモリはトランジスタに変えてショットキーダイオードと抵抗変化素子の直列回路によりメモリセルを構成することができるので、積層が容易で３次元構造化することにより更なる高集積化が図れるという利点がある（特許文献２）。しかし、各メモリセルは、高抵抗状態と低抵抗状態の２値の状態を制御するのみであり、書き込みの評価は行われていない。
【特許文献１】特表２００２−５４１６１３号
【特許文献２】特表２００５−５２２０４５号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、可変抵抗素子を用いた不揮発性半導体装置において、ベリファイによる書き込み品質の向上を図ることができる不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様に係る不揮発性半導体記憶装置は、可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、前記メモリセルからベリファイ読み出しを行うセンスアンプと、前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路とを備え、前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、前記制御回路は、予め設定された最大ループ回数を超えない範囲で、前記ベリファイ結果がパスとなるまで前記追加書き込みを繰り返すことを特徴とする。
本発明の別の態様に係る不揮発性半導体記憶装置は、可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、前記メモリセルからベリファイ読み出しを行うセンスアンプと、前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路とを備え、前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、前記センスアンプは、複数のメモリセルから一括してベリファイ読み出しを行い、前記制御回路は、ベリファイ結果がフェイルのビット数が予め設定された許容不良ビット数以下である場合には、前記ベリファイ結果をパスとすることを特徴とする。
本発明のさらに別の態様に係る不揮発性半導体記憶装置は、可変抵抗素子を使用した電気的に書き換え可能な不揮発性のメモリセルをマトリクス状に配置してなるメモリセルアレイと、書き込みデータに基づいて前記可変抵抗素子の抵抗値を変化させる複数種類の書き込みパルスを生成出力するパルスジェネレータと、前記パルスジェネレータにより生成出力された書き込みパルスを前記メモリセルに印加する選択回路と、前記メモリセルからベリファイ読み出しを行うセンスアンプと、前記センスアンプの出力からベリファイ結果を判定するステータス判定回路と、前記ステータス判定回路のベリファイ結果に基づいて前記メモリセルに追加書き込みを行う制御回路とを備え、前記パルスジェネレータは、前記追加書き込みの際、前記書き込みパルスの大きさの変更値を前記ベリファイ結果に基づいて制御し、前記センスアンプは、前記メモリセルからオーバープログラム・ベリファイ読み出しを行い、前記制御回路は、前記オーバープログラム・ベリファイの結果がフェイルであった場合に、前記パルスジェネレータで生成される消去パルスを前記メモリセルに印加することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、可変抵抗素子を用いた不揮発性半導体装置において、ベリファイによる書き込み品質の向上を図ることができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して、この発明の実施の形態を説明する。
【０００８】
［第１の実施形態］
［全体構成］
図１は、本発明の第１の実施の形態に係る不揮発性メモリのブロック図である。
【０００９】
この不揮発性メモリは、後述するＰＣＲＡＭ（相変化型素子）、ＲｅＲＡＭ（可変抵抗素子）等の抵抗変化型素子を使用したメモリセルをマトリクス状に配置したメモリセルアレイ１を備える。メモリセルアレイ１のビット線ＢＬ方向に隣接する位置には、メモリセルアレイ１のビット線ＢＬを制御し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しを行うカラム制御回路２が設けられている。また、メモリセルアレイ１のワード線ＷＬ方向に隣接する位置には、メモリセルアレイ１のワード線ＷＬを選択し、メモリセルのデータ消去、メモリセルへのデータ書き込み、及びメモリセルからのデータ読み出しに必要な電圧を印加するロウ制御回路３が設けられている。
【００１０】
データ入出力バッファ４は、図示しない外部のホストにＩ／Ｏ線を介して接続され、書き込みデータの受け取り、消去命令の受け取り、読み出しデータの出力、アドレスデータやコマンドデータの受け取りを行う。データ入出力バッファ４は、受け取った書き込みデータをカラム制御回路２に送り、カラム制御回路２から読み出したデータを受け取って外部に出力する。外部からデータ入出力バッファ４に供給されたアドレスは、アドレスレジスタ５を介してカラム制御回路２及びロウ制御回路３に送られる。また、ホストからデータ入出力バッファ４に供給されたコマンドは、コマンド・インターフェイス６に送られる。コマンド・インターフェイス６は、ホストからの外部制御信号を受け、データ入出力バッファ４に入力されたデータが書き込みデータかコマンドかアドレスかを判断し、コマンドであれば受け取りコマンド信号としてステートマシン７に転送する。ステートマシン７は、この不揮発性メモリ全体の管理を行うもので、ホストからのコマンドを受け付け、読み出し、書き込み、消去、データの入出力管理等を行う。また、外部のホストは、ステートマシン７が管理するステータス情報を受け取り、動作結果を判断することも可能である。また、このステータス情報は書き込み、消去の制御にも利用される。
【００１１】
また、ステートマシン７によってパルスジェネレータ９が制御される。この制御により、パルスジェネレータ９は任意の電圧、任意のタイミングのパルスを出力することが可能となる。ここで、形成されたパルスはカラム制御回路２及びロウ制御回路３で選択された任意の配線へ転送することが可能である。
【００１２】
なお、メモリセルアレイ１以外の周辺回路素子は配線層に形成されたメモリアレイ１の直下のＳｉ基板に形成可能であり、これにより、この不揮発性メモリのチップ面積はほぼ、メモリセルアレイ１の面積に等しくすることも可能である。
【００１３】
［メモリセルアレイ及びその周辺回路］
図２は、メモリセルアレイ１の一部の斜視図、図３は、図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【００１４】
複数本の第１の配線としてワード線ＷＬ０〜ＷＬ２が平行に配設され、これと交差して複数本の第２の配線としてビット線ＢＬ０〜ＢＬ２が平行に配設され、これらの各交差部に両配線に挟まれるようにメモリセルＭＣが配置される。第１及び第２の配線は、熱に強く、且つ抵抗値の低い材料が望ましく、例えばW，WSi，NiSi，CoSi等を用いることができる。
【００１５】
メモリセルＭＣは、図３に示すように、可変抵抗素子ＶＲと非オーミック素子ＮＯの直列接続回路からなる。
【００１６】
可変抵抗素子ＶＲとしては、電圧印加によって、電流、熱、化学エネルギー等を介して抵抗値を変化させることができるもので、上下にバリアメタル及び接着層として機能する電極ＥＬ１，ＥＬ２が配置される。電極材としては、Pt，Au，Ag，TiAlN，SrRuO，Ru，RuN，Ir，Co，Ti，TiN，TaN，LaNiO，Al，PtIrOx， PtRhOx，Rh/TaAlN等が用いられる。また、配向性を一様にするようなメタル膜の挿入も可能である。また、別途バッファ層、バリアメタル層、接着層等を挿入することも可能である。
【００１７】
可変抵抗素子ＶＲは、カルコゲナイド等のように結晶状態と非晶質状態の相転移により抵抗値を変化させるもの（ＰＣＲＡＭ）、遷移元素となる陽イオンを含む複合化合物であって陽イオンの移動により抵抗値が変化するもの（ＲｅＲＡＭ）等を用いることができる。
【００１８】
図４及び図５は、後者の可変抵抗素子の例を示す図である。図４に示す可変抵抗素子ＶＲは、電極層１１、１３の間に記録層１２を配置してなる。記録層１２は、少なくとも２種類の陽イオン元素を有する複合化合物から構成される。陽イオン元素の少なくとも１種類は電子が不完全に満たされたｄ軌道を有する遷移元素とし、且つ隣接する陽イオン元素間の最短距離は、０．３２ｎｍ以下とする。具体的には、化学式ＡｘＭｙＸｚ（ＡとＭは互いに異なる元素）で表され、例えばスピネル構造（ＡＭ２Ｏ４）、イルメナイト構造（ＡＭＯ３）、デラフォサイト構造（ＡＭＯ２）、ＬｉＭｏＮ２構造（ＡＭＮ２）、ウォルフレマイト構造（ＡＭＯ４）、オリビン構造（Ａ２ＭＯ４）、ホランダイト構造（ＡｘＭＯ２）、ラムスデライト構造（ＡｘＭＯ２）パロブスカイト構造（ＡＭＯ３）等の結晶構造を持つ材料により構成される。
【００１９】
図４の例では、ＡがＺｎ、ＭがＭｎ、ＸがＯである。記録層１２内の小さな白丸は拡散イオン（Ｚｎ）、大きな白丸は陰イオン（Ｏ）、小さな黒丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。記録層１２の初期状態は高抵抗状態であるが、電極層１１を固定電位、電極層１３側に負の電圧を印加すると、記録層１２中の拡散イオンの一部が電極層１３側に移動し、記録層１２内の拡散イオンが陰イオンに対して相対的に減少する。電極層１３側に移動した拡散イオンは、電極層１３から電子を受け取り、メタルとして析出するため、メタル層１４を形成する。記録層１２の内部では、陰イオンが過剰となり、結果的に記録層１２内の遷移元素イオンの下層を上昇させる。これにより、記録層１２はキャリアの注入により電子伝導性を有するようになってセット動作が完了する。再生に関しては、記録層１２を構成する材料が抵抗変化を起こさない程度の微小な電流値を流せば良い。プログラム状態（低抵抗状態）を初期状態（高抵抗状態）にリセットするには、例えば記録層１２に大電流を充分な時間流してジュール加熱して、記録層１２の酸化還元反応を促進すれば良い。また、セット時と逆向きの電場を印加することによってもリセット動作が可能である。
【００２０】
図５の例は、電極層１１，１３に挟まれた記録層１５が第１化合物層１５ａと第２化合物層１５ｂの２層で形成されている。第１化合物層１５ａは電極層１１側に配置され化学式ＡｘＭ１ｙＸ１ｚで表記される。第２化合物層１５ｂは電極層１３側に配置され第１化合物層１５ａの陽イオン元素を収容できる空隙サイトを有している。
【００２１】
図５の例では、第１化合物層１５ａにおけるＡがＭｇ、Ｍ１がＭｎ、Ｘ１がＯである。第２化合物層１５ｂには、遷移還元イオンとして黒丸で示すＴｉが含まれている。また、第１化合物層１５ａ内の小さな白丸は拡散イオン（Ｍｇ）、大きな白丸は陰イオン（Ｏ）、二重丸は遷移元素イオン（Ｍｎ）をそれぞれ表している。なお、第１化合物層１５ａと第２化合物層１５ｂとは、２層以上の複数層となるように積層されていても良い。
【００２２】
この可変抵抗素子ＶＲにおいて、第１化合物層１５ａが陽極側、第２化合物層１５ｂが陰極側となるように、電極層１１，１３に電位を与え、記録層１５に電位勾配を発生させると、第１化合物層１５ａ内の拡散イオンの一部が結晶中を移動し、陰極側の第２化合物層１５ｂ内に進入する。第２化合物層１５ｂの結晶中には、拡散イオンを収容できる空隙サイトがあるため、第１化合物層１５ａ側から移動してきた拡散イオンは、この空隙サイトに収まることになる。このため、第１化合物層１５ａ内の遷移元素イオンの価数が上昇し、第２化合物層１５ｂ内の遷移元素イオンの価数が減少する。初期状態において、第１及び第２の化合物層１５ａ，１５ｂが高抵抗状態であるとすれば、第１化合物層１５ａ内の拡散イオンの一部が第２化合物層１５ｂ内に移動することにより、第１及び第２化合物の結晶中に伝導キャリアが発生し、両者共に電気伝導性を有することになる。なお、プログラム状態（低抵抗状態）を消去状態（高抵抗状態）にリセットするには、先の例と同様に、記録層１５に大電流を充分な時間流してジュール加熱して、記録層１５の酸化還元反応を促進すれば良い。また、セット時とは逆向きの電場を印加することによってもリセットは可能である。
【００２３】
非オーミック素子ＮＯは、例えば図６に示すように、（ａ）ショットキーダイオード、（ｂ）ＰＮ接合ダイオード、（ｃ）ＰＩＮダイオード等の各種ダイオード、（ｄ）ＭＩＭ（Metal-Insulator-Metal）構造、（ｅ）ＳＩＳ構造（Silicon-Insulator-Silicon）等からなる。ここにもバリアメタル層、接着層を形成する電極ＥＬ２，ＥＬ３を挿入しても良い。また、ダイオードを使用する場合はその特性上、ユニポーラ動作を行うことができ、また、ＭＩＭ構造、ＳＩＳ構造等の場合にはバイポーラ動作を行うことが可能である。なお、非オーミック素子ＮＯと可変抵抗素子ＶＲの配置は、図３と上下を逆にしても良いし、非オーミック素子ＮＯの極性を上下反転させても良い。
【００２４】
また、図７に示すように、上述したメモリ構造を複数積層した三次元構造とすることもできる。図８は、図７のII−II′断面を示す断面図である。図示の例は、セルアレイ層ＭＡ０〜ＭＡ３からなる４層構造のメモリセルアレイで、ワード線ＷＬ０ｊがその上下のメモリセルＭＣ０，ＭＣ１で共有され、ビット線ＢＬ１ｉがその上下のメモリセルＭＣ１，ＭＣ２で共有され、ワード線ＷＬ１ｊがその上下のメモリセルＭＣ２，ＭＣ３で共有されている。また、このような配線／セル／配線／セルの繰り返しではなく、配線／セル／配線／層間絶縁膜／配線／セル／配線のように、セルアレイ層間に層間絶縁膜を介在させるようにしても良い。
【００２５】
なお、メモリセルアレイ１は、幾つかのメモリセル群のＭＡＴに分けられることも可能である。前述したカラム制御回路２及びロウ制御回路３は、ＭＡＴ毎、セクタ毎、又はセルアレイ層ＭＡ毎に設けられていても良いし、これらで共有しても良い。また、面積削減のために複数のビット線ＢＬで共有することも可能である。
【００２６】
図９は、非オーミック素子ＮＯとしてダイオードＳＤを用いたメモリセルアレイ１及びその周辺回路の回路図である。ここでは、説明を簡単にするため、１層構造であるとして説明を進める。
【００２７】
図９において、メモリセルＭＣを構成するダイオードのアノードはワード線ＷＬに接続され、カソードは可変抵抗素子ＶＲを介してビット線ＢＬに接続されている。各ビット線ＢＬの一端はカラム制御回路２の一部である選択回路２ａに接続されている。また、各ワード線ＷＲの一端はロウ制御回路３の一部である選択回路３ａに接続されている。
【００２８】
選択回路２ａは、ビット線ＢＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ０及び選択ＮＭＯＳトランジスタＱＮ０からなる。選択ＰＭＯＳトランジスタＱＰ０のソースは、高電位電源Ｖｃｃに接続されている。選択ＮＭＯＳトランジスタＱＮ０のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すビット線側ドライブセンス線ＢＤＳに接続されている。トランジスタＱＰ０，ＱＮ０の共通ドレインは、ビット線ＢＬに接続され、共通ゲートには、各ビット線ＢＬを選択するビット線選択信号ＢＳｉが供給されている。
【００２９】
また、選択回路３ａは、ワード線ＷＬ毎に設けられた、ゲート及びドレインが共通接続された選択ＰＭＯＳトランジスタＱＰ１及び選択ＮＭＯＳトランジスタＱＮ１からなる。選択ＰＭＯＳトランジスタＱＰ１のソースは、書き込みパルスを印加すると共にデータ読み出し時に検出すべき電流を流すワード線側ドライブセンス線ＷＤＳに接続されている。選択ＮＭＯＳトランジスタＱＮ１のソースは、低電位電源Ｖｓｓに接続されている。トランジスタＱＰ１，ＱＮ１の共通ドレインは、ワード線ＷＬに接続され、共通ゲートには、各ワード線ＷＬを選択するワード線選択信号／ＷＳｉが供給されている。
【００３０】
なお、以上は、メモリセルが個別に選択されるのに適した例を示したが、選択されたワード線ＷＬ１につながる複数のメモリセルＭＣのデータを一括で読み出す場合には、各ビット線ＢＬ０〜ＢＬ２に対して個別にセンスアンプが配置され、各ビット線ＢＬ０〜ＢＬ２は、ビット線選択信号ＢＳで、選択回路２ａを介して、個別にセンスアンプに接続される。
【００３１】
図１０は、メモリセルアレイ１の他の例を示す回路図である。このメモリセルアレイ１は、図９に示したメモリセルアレイ１に対して、ダイオードＳＤの極性が逆になったものである。メモリセルＭＣを構成するダイオードのアノードはヒット線ＢＬに接続され、カソードは可変抵抗素子ＶＲを介してワード線ＷＬに接続されている。選択回路２ａの選択ＰＭＯＳトランジスタＱＰ０のソースはビット線側ドライブセンス線ＢＤＳに接続され、選択ＮＭＯＳトランジスタＱＮ０のソースは低転移電源Ｖｓｓに接続されている。また、選択回路３ａの選択ＰＭＯＳトランジスタＱＰ１のソースは高電位電源Ｖｃｃに接続され、選択ＮＭＯＳトランジスタＱＮ１のソースは、ワード線側ドライブセンス線ＷＤＳに接続されている。この回路の場合、図９のメモリセルアレイ１とは逆に、ビット線ＢＬ側からワード線ＷＬ側に電流が流れる。選択回路２ａ，３ａの極性も図９のものとは逆になる。
【００３２】
［二値データ読み出し動作］
次に、二値データの読み出し動作を説明する。
【００３３】
上述した回路において、データは各メモリセルＭＣの抵抗素子ＶＲの抵抗値の大小として記憶される。例えば図９に示す回路を例にとると、非選択状態では、例えば、ワード線選択信号／ＷＳ０，／ＷＳ１，…が“Ｈ”レベル、ビット線選択信号ＢＳ０，ＢＳ１，…が“Ｌ”レベルとなって全てのワード線ＷＬは“Ｌ”レベル、全てのビット線ＢＬは“Ｈ”レベルとなる。この非選択状態では、全てのメモリセルＭＣのダイオードＳＤが逆バイアス状態でオフであり、可変抵抗素子ＶＲには電流は流れない。ここで、ワード線ＷＬ１及びビット線ＢＬ１に繋がる真中のメモリセルＭＣを選択する場合を考えると、ロウ制御回路３はワード線選択信号／ＷＳ１を“Ｌ”レベルとし、カラム制御回路２はビット線選択信号ＢＳ１を“Ｈ”レベルとする。これによってワード線ＷＬ１はワード線側ドライブセンス線ＷＤＳに接続され、ビット線ＢＬ１はビット線側ドライブセンス線ＢＤＳに接続されるので、ドライブセンス線ＷＤＳに“Ｈ”レベル、ドライブセンス線ＢＤＳに“Ｌ”レベルを印加することにより、ワード線ＷＬ１が“Ｈ”レベル、ビット線ＢＬ１が“Ｌ”レベルとなる。これにより、選択セルでは、ダイオードＳＤが順バイアスになって電流が流れる。このとき、選択セルに流れる電流量は、抵抗素子ＶＲの抵抗値によって決まるから、電流量の大きさを検知することにより、データの読み出しができる。すなわち、図１１に示すように、例えば高抵抗の消去状態を“１”、低抵抗のプログラム状態を“０”に対応させて、センスされた電流値が少ない場合“１”、多い場合“０”と検出することができる。
【００３４】
なお、選択されたワード線ＷＬ１と非選択のビット線ＢＬとは共に“Ｈ”レベルであるため、両者間に電流は流れず、非選択のワード線ＷＬと選択されたビット線ＢＬ１とは共に“Ｌ”レベルであるから、これらの間にも電流は流れない。従って、選択されたメモリセル以外のメモリセルには電流は流れない。
【００３５】
なお、以上は、メモリセルが個別に選択される例を示したが、選択されたワード線ＷＬ１につながる複数のメモリセルＭＣのデータを一括で読み出す場合には、各ビット線ＢＬ０〜ＢＬ２に個別にセンスアンプ回路を接続し、ビット線選択信号ＢＳで読み出す複数のビット線を選択すれば良い。
【００３６】
図１２〜図１５は、上述したセルアレイに適用可能なセンスアンプの例を示している。
【００３７】
図１２に示すセンスアンプは、図９の回路に対応したもので、シングルエンド型の電圧検出型センスアンプである。センスノードＮｓｅｎは、クランプ用ＮＭＯＳトランジスタＱ１を介してビット線ＢＬに接続される。クランプ用ＮＭＯＳトランジスタＱ１は、ビット線電圧をクランプすると共に、プリセンスアンプとして働く。センスノードＮｓｅｎにはまた、ビット線をプリチャージするためのプリチャージ用ＮＭＯＳトランジスタＱ２が接続されている。
【００３８】
センスノードＮｓｅｎには電荷保持用キャパシタＣが接続されて、ここがセンスデータを一時保持するデータ記憶回路ＴＤＣを構成している。
【００３９】
センスノードＮｓｅｎは、転送用ＮＭＯＳトランジスタＱ３を介して、メインのデータ記憶回路であるデータラッチＰＤＣに接続されている。センスノードＮｓｅｎはまた、転送用ＮＭＯＳトランジスタＱ４を介して、データ入出力バッファ４とのデータ授受に供されるデータ記憶回路となるデータラッチＳＤＣに接続されている。従ってデータラッチＳＤＣは、カラム選択信号ＣＳＬにより駆動されるカラム選択ゲートＱ８，Ｑ９を介してデータ線ＤＬ，ＤＬｎに接続されている。
【００４０】
このように構成されたセンスアンプにおけるセンス動作は、次のようになる。まず、データを読み出そうとするメモリセルＭＣが接続されたワード線ＷＬ及びビット線ＢＬを選択し、クランプ用ＮＭＯＳトランジスタＱ１をオフ状態としたまま、ワード線ＷＬを“Ｈ”レベルにすると共に、ビット線ＢＬを“Ｌ”レベルにする。これにより、ビット線ＢＬにはメモリセルＭＣの抵抗値に応じた値の電流が流れ、電流値に応じてビット線ＢＬの寄生容量に電荷が蓄積される。具体的には、メモリセルＭＣが低抵抗のときには、ビット線ＢＬの電位が高くなり、メモリセルＭＣが高抵抗のときには、ビット線ＢＬの電位が低くなる。このとき同時に、或いはこれに続き、プリチャージ用トランジスタＱ２もオンにして、電荷保持用キャパシタＣをプリチャージする。次に、クランプ用トランジスタＱ１のゲートにＶＢＬＣ＋Ｖｔ（ＶｔはＮＭＯＳトランジスタＱ１のしきい値電圧）を印加する。もし、ビット線ＢＬの電圧がＶＢＬＣ以上である場合には、トランジスタＱ１はオフ状態のままであるが、ビット線ＢＬの電圧がＶＢＬＣよりも小さい場合には、トランジスタＱ１はオンになり、電荷保持用キャパシタＣの電荷がビット線ＢＬＣ側に放電される。従って、センスノードＮｓｅｎの電圧は、メモリセルＭＣが低抵抗の場合“Ｈ”、高抵抗の場合“Ｌ”となる。この電圧を読み出しデータとして転送用ＮＭＯＳトランジスタＱ３を介してデータラッチＰＤＣにラッチし、所定のタイミングでデータラッチＳＤＣを介してデータ線ＤＬ，ＤＬｎに読み出せば良い。
【００４１】
図１３に示すセンスアンプは、図１０の回路に対応したもので、図１２の回路とは、メモリセルＭＣのダイオードＳＤの極性が異なっている。このセンスアンプの場合、プリチャージ用トランジスタＱ２をオンして電荷保持用キャパシタＣをプリチャージしたのち、クランプ用トランジスタＱ１のゲートに所定のゲート電圧ＶＢＬＣ＋Ｖｔを与えてキャパシタＣの電荷がビット線ＢＬ側に放電されるかどうかでメモリセルＭＣの抵抗値を判定する。センスノードＮｓｅｎの電圧は、メモリセルＭＣが低抵抗の場合“Ｌ”、高抵抗の場合“Ｈ”となる。この電圧を読み出しデータとして転送用ＮＭＯＳトランジスタＱ３を介してデータラッチＰＤＣにラッチし、所定のタイミングでデータラッチＳＤＣを介してデータ線ＤＬ，ＤＬｎに読み出せば良い。
【００４２】
図１４は、図１０の回路に対応したもので、センス動作の間中、ビット線電位を常に一定の電圧に固定する制御を行うことにより、隣接ビット線間への影響を排除して、全ビットラインを並列検知可能にしたＡＢＬ（All Bit Line）型のセンスアンプである。
【００４３】
このセンスアンプでは、トランジスタＱ２１，Ｑ２２，Ｑ２４を介してセンス用キャパシタＣ１にプリチャージを行うと共に、トランジスタＱ２１〜Ｑ２６を介してビット線ＢＬにプリチャージを行うプリチャージ期間が経過したら、次にキャパシタＣ１へのプリチャージ経路を絶って、キャパシタＣ１に充電された電荷のトランジスタＱ２５，Ｑ２６及びビット線Ｂｌを介した放電経路を形成する。これによりキャパシタＣ１の電荷が放電されたか、されなかったかを電流弁別回路を構成するトランジスタＱ２９，Ｑ３０で検知して、その結果をデータラッチＰＤＣに記憶するようにしたものである。ラッチされるデータは、センスノードＮｓｅｎの電圧は、メモリセルＭＣが低抵抗の場合“Ｈ”、高抵抗の場合“Ｌ”となる。
【００４４】
図１５に示すセンスアンプ回路２ｂ，３ｂは、カラム制御回路２及びロウ制御回路３にそれぞれ配置される電流検出型センスアンプであり、選択セルに流れる電流を電圧に変換する素子である抵抗Ｒ０，Ｒ１、ダミーセルＤＭＣ、このダミーセルＤＭＣに流れる電流を電圧に変換する抵抗ｒ０，ｒ１、及びオペアンプＯＰ０，ＯＰ１を備えて構成されている。
【００４５】
セルアレイの中のあるワード線ＷＬが、ロウ制御回路３の出力であるワード線選択信号／ＷＳにより駆動される選択ＰＭＯＳトランジスタＱＰ１により選択されると、ドライブセンス線ＷＤＳを介し、抵抗Ｒ１を介して高電位電源線ＷＰＳに接続される。またビット線ＢＬは、カラム制御回路２の出力である選択信号ＢＳにより駆動される選択ＮＭＯＳトランジスタＱＮ０により選択され、ドライブセンス線ＢＤＳを介し、抵抗Ｒ０を介して低電位電源線ＢＰＳに接続される。
【００４６】
メモリセルＭＣと等価なダミーセルＤＭＣは、ダミーダイオードＤＳＤとダミー抵抗素子ＤＶＲから構成されて、メモリセルＭＣの二値データの抵抗値の中間の抵抗値を持つものとする。ダミーセルＤＭＣの一端は、ＰＭＯＳトランジスタＱＰ２を介し、抵抗ｒ１を介して高電位電源線ＷＰＳに接続される。ＰＭＯＳトランジスタＱＰ２は、選択ＰＭＯＳトランジスタＱＰ１のダミー素子であり、常時オン駆動されている。ダミーセルＤＭＣの他端は、ＮＭＯＳトランジスタＱＮ２を介し、抵抗ｒ０を介して低電位電源線ＢＰＳに接続される。ＮＭＯＳトランジスタＱＮ２は、選択ＮＭＯＳトランジスタＱＮ０のダミー素子であり、常時オン駆動されている。
【００４７】
センスアンプの主要部は、二つのオペアンプＯＰ０，ＯＰ１により構成される。オペアンプＯＰ０の非反転入力端子には、抵抗Ｒ０の適当な中間タップの出力ｂの電圧が入力され、反転入力端子には抵抗ｒ０とＮＭＯＳトランジスタＱＮ０の接続ノードの電圧が入力される。オペアンプＯＰ１の反転入力端子には、抵抗Ｒ１の適当な中間タップの出力ｗの電圧が入力され、非反転入力端子には抵抗ｒ１とＰＭＯＳトランジスタＱＰ２の接続ノードの電圧が入力される。
【００４８】
この様に構成されたセンスアンプ回路２ｂ，３ｂの動作を説明する。前述のように、非選択状態では、ワード線ＷＬは“Ｌ”レベルに、ビット線ＢＬは“Ｈ”レベルに保持されている。選択時は、ワード線選択信号／ＷＳが“Ｌ”、ビット線選択信号ＢＳが“Ｈ”になる。そして、高電位電源線ＷＰＳに“Ｈ”レベル＝Ｖｃｃ、低電位電源線ＢＰＳに“Ｌ”レベル＝Ｖｓｓがそれぞれ与えられているとすると、選択されたメモリセルＭＣにセル電流が流れる。
【００４９】
具体的に、抵抗Ｒ０，Ｒ１，ｒ０，ｒ１の関係は例えば、抵抗Ｒ０のオペアンプＯＰ０への電圧出力ｂの中間タップから端子ＢＰＳまでの抵抗値が抵抗ｒ０と同じとし、同様に抵抗Ｒ１のオペアンプＯＰ１への電圧出力ｗの中間タップから端子ＷＰＳまでの抵抗値が抵抗ｒ１と同じとする。選択セルが高抵抗状態（以下、これをデータ“１”とする）であって、ダミーセルＤＭＣ側に流れる電流に比べてセル電流が小さいと、オペアンプＯＰ０，ＯＰ１の出力は共に“Ｈ”となる。逆に、選択セルが低抵抗状態（以下、これをデータ“０”とする）であって、ダミーセルＤＭＣ側に流れる電流に比べて大きなセル電流が流れると、オペアンプＯＰ０，ＯＰ１の出力は共に“Ｌ”となる。これにより、データ“０”，“１”の判別ができる。
【００５０】
なお、このセンスアンプ回路２ａ，３ａの構成は、メモリセル層が多層に配置された場合のセンスアンプ方式に発展させるのに好ましい構成例として示したものであって、上述した二値記憶のみを考えた場合には、オペアンプＯＰ０，ＯＰ１のいずれか一方のみ用いてもよい。或いはオペアンプＯＰ０，ＯＰ１の一方の反転入力端子と非反転入力端子の接続関係を逆にすることもできる。これにより、二つのオペアンプＯＰ０，ＯＰ１の出力は、データに応じて一方が“Ｈ”，他方が“Ｌ”となる。従って更にこれらの二つのオペアンプ出力を入力するオペアンプを用意すれば、データ“０”，“１”を“Ｈ”，“Ｌ”に対応させたセンス出力を得ることができる。
【００５１】
［データ書き込み動作］
次に、この不揮発性メモリにおけるベリファイを用いた書き込み動作について説明する。本発明は、ＳＬＣ（Single Level Cell）の場合でも、ＭＬＣ（Multi Level Cell）の場合でも適用可能であるが、まず、ＳＬＣの場合について説明する。また、図１１では、各セルの抵抗値の分布を示し、複数セルの書き込み、ベリファイを想定しているが、1セル毎に考えても同様である。
【００５２】
まず、外部の図示しないホストから書き込みコマンドが出力されると、この書き込みコマンドは、データ入出力バッファ４を介して入力され、コマンド・インターフェイス６を介してステートマシン７へ転送される。また、書き込みデータは、ホストからデータ入出力バッファ６を介してカラム制御回路２へ転送される。この書き込みデータは、カラム制御回路２内のセンスアンプのラッチ部にラッチされ、書き込みデータとなる。その後、ステートマシン７が書き込みを行うため、パルスジェネレータ９を制御する。
【００５３】
図１６は、書き込み動作に関連するステートマシン７の構成を示している。制御回路２０は、データの書き込み、読み出し及び消去のためのパルス生成を、パルスジェネレータ９に対して指示する。この制御回路２０には、最大ループ回数記憶部２１及び許容フェイルビット数記憶部２２に格納された設定値と、ステータス判定回路２３の判定結果が与えられている。最大ループ回数記憶部２１は、書き込みの最大繰り返し回数を規定する最大ループ回数を記憶する。許容フェイルビット数記憶部２２は、ＥＣＣでエラー訂正可能なビット数を許容フェイルビット数として記憶する。ステータス判定回路２３は、ベリファイ結果のステータス情報を判定する。
【００５４】
図１７は、書き込み動作を示すフローチャート、図１８は各部への印加パルスを示す波形図である。
【００５５】
まず、第１書き込みパルスＷＰ，ＢＰを生成する（Ｓ１）。すなわち、図１８に示すように、図９の回路の場合、高抵抗状態から低抵抗状態に変化させるデータセット時には、データを書き込むメモリセルに対応したワード線ＷＬ１のワード線選択信号／ＷＳ１を“Ｌ”レベルにすると共に、書き込むメモリに対応したビット線ＢＬ１のビット線選択信号ＢＳ１を“Ｈ”レベルにする。これと同時に、ワード線側ドライブセンス線ＷＤＳには、図１１に示す、可変抵抗素子ＶＲの抵抗値を消去レベルからプログラムレベルに変化させるための書き込みパルスＷＰ，ＢＰを与える。この書き込みパルスＷＰ，ＢＰは、図１に示すパルスジェネレータ９から与えられ、パルス高さは例えばＶｃｃレベルとする。同時にビット線側ドライブセンス線ＢＤＳには、Ｖｓｓレベルとなる負の書き込みパルスＢＰが与えられる。これにより、高抵抗状態（消去状態）の可変抵抗素子ＶＲを低抵抗状態（プログラム状態）にセットすることができる。
【００５６】
次にベリファイリードが実行される（Ｓ２）。このとき、図１８に示すように、ワード線側ドライブセンス線ＷＤＳには、パルスジェネレータ９からベリファイ読み出しに必要なベリファイ読み出しパルスＶＲＰを印加する。図１１に示すように、ベリファイレベルは、プログラムされたメモリセルＭＣの抵抗値分布の最も高抵抗値側の抵抗値である。図示の例では、ＥｒａｓｅされたメモリセルＭＣの抵抗値が１Ｍ〜１００ｋΩの分布を持っており、書き込み後は１０ｋ〜１ｋΩの分布を持つ。従って、ベリファイレベルの抵抗値は１０ｋΩとなる。図１２に示したセンスアンプを用いる場合、メモリセルＭＣの抵抗値が１０ｋΩであるとした場合、ワード線ＷＬとビット線ＢＬとの間に印加される電圧をＶＷＢ、印加時間をｔ、ビット線ＢＬの容量をＣＢとすると、ビット線ＢＬに充電される電圧ＶＢＬＣは、
【００５７】
【数１】
0005253784.tif 000002
となるので、クランプ用トランジスタＱ１のゲート電圧ＢＬＣＬＡＭＰを、ＶＢＬＣ＋Ｖｔ（ＶｔはＮＭＯＳトランジスタＱ１のしきい値電圧）に設定しておけば、メモリセルＭＣの抵抗値が１０ｋΩよりも小さい場合には、ビット線ＢＬの電位はＶＢＬＣよりも大きくなってクランプ用トランジスタＱ１はオフ、ラッチされるデータは“Ｈ”となり、メモリセルＭＣの抵抗値が１０ｋΩよりも大きい場合には、ビット線ＢＬの電位はＶＢＬＣよりも小さくなってクランプ用トランジスタＱ１はオン、ラッチされるデータは“Ｌ”となる。したがって、ステータス判定回路２３は、ラッチされるデータが“Ｈ”であればステータスがパス、“Ｌ”であればステータスがフェイルと判定することができる（Ｓ３）。
【００５８】
なお、図１３及び図１４に示したセンスアンプの場合、キャパシタＣ，Ｃ１に蓄積させる電荷量をプリチャージ時間で調整することにより、ベリファイレベルを設定することができる。また、図１５に示したセンスアンプの場合には、ダミーセルＤＭＣのダミー抵抗ＤＶＲの抵抗値をベリファイレベルの抵抗値と設定し、通常の読み出し動作時とベリファイ時とで接続するダミーセルＤＭＣを切り換えるようにすれば良い。
【００５９】
なお、複数ビットの同時書き込みの場合、ステータスの判定は、センスアンプのデータラッチ（ＰＤＣ）にデータをラッチした後、カラム制御回路２内で一括して行うようにしても良い。１ビット単位の書き込みの場合には１ビット分を確認すれば良い。一括検知結果は、ステートマシン７へ転送され、ステータス判定回路２３へ転送される。この結果を制御回路２０で判定し、ステータスがパスの場合は、書き込みが終了しているものとして不揮発性半導体記憶装置のプログラム動作を終了する（Ｓ３）。一方、ステータスがフェイルの場合は、書き込みが完了していないので、第２書き込みパルスＡＷＰを与える（Ｓ４）。この際、図１８に示すように、追加パルスは、電圧レベルが可変のステップアップ書き込みやステップダウン書き込みを可能とする。また、パルスの長さを変更しても良い。更に、ステータス判定回路２３がどの程度書き込みができていないかを判断する機能を持つことで、その情報を元に制御回路２０が、図１８の追加プログラムのようにパルスジェネレータ９を制御可能である。このとき、制御されるものは電圧パルスの幅、大きさ、またはステップ幅である。これにより、ベリファイを行い、その結果を次のパルスにフィードバックし、これを繰り返すことで、複数パルスでの抵抗分布幅をタイトにするような書き込みが可能である。
【００６０】
［第２の実施形態］
図１９は、第２の実施形態に係る書き込み動作を示すフローチャートである。
【００６１】
図１７の書き込みフローでは、いくら書き込みを行っても書けない場合が考えられる。このとき、動作が終了せずにスタックすると問題なので、最大ループ回数を設定する。本実施形態では、図１６の最大ループ回数記憶部２１に設定している最大ループ回数を、例えば３回とする。第１パルス及び第２パルスによるプログラム、並びにそのベリファイのセットを1ループとして、書き込みが終了しない場合（Ｓ３）、３回ループした時点でプログラム動作が終了する（Ｓ５）。このとき、ステータス判定回路２３にはフェイルがセットされており、この情報がデータ入出力バッファ４を通して、外部のホストへ転送される。これにより、ホストはパス／フェイル情報を読み取り、書き込み動作の完了、未完了を確認することができる。
【００６２】
［第３の実施形態］
図２０は、本発明の第３の実施形態に係る書き込み動作を示すフローチャートである。
【００６３】
図１６に示すように、ステートマシン７は、許容フェイルビット数記憶部２２に許容フェイルビット数を設定することができる。このように、許容フェイルビットを設けるのはＥＣＣ救済を考えてのことである。ページ単位の書き込みを行うと想定した場合、図２１のようにページ内にＥＣＣエリアを用意することができる。これにより、フェイルビットを許した状態で書き込みを完了として動作を終了させても、そのデータの読み出しの際にはＥＣＣ救済が行われ、もともと書き込もうとしたデータをエラーなく読み出すことが可能となる。
【００６４】
そこで、複数ビットの書き込みを行う際、図２０のようにベリファイ結果がフェイルであった場合、フェイルビット数をカウントする（Ｓ６）。フェイルビット数のカウントは、ラッチ部に記憶されたベリファイ結果に基づき、フェイルビット数に応じた電流値を検出する方式等を用いることができる。ここで、フェイルビット数≦許容不良ビット数の場合には、ステータス・パスとなり、書き込み終了となる（Ｓ７）。また、フェイルビット数＞許容不良ビット数の場合には、ステータス・フェイルとなり、第２パルスＡＷＰによる追加プログラムが実行される（Ｓ４）。
【００６５】
この際、前記と同様、何らかの原因で書き込みできない場合でも、最大ループ回数を決定し、そこで書き込み動作を終了し、ステータスをフェイルとし、ホストへ転送することが可能である。更に、前記フェイルビットのカウントは時間がかかるので、書き込みパフォーマンスの向上のために、任意のループ回数から行うことができるようにしても良い。
【００６６】
以上のようにプログラム、ベリファイ、その他の機能を組み合わせることにより、可変抵抗素子を使用した不揮発性メモリの書き込み動作により、任意の抵抗レベルへの書き込みを行うことができる。
【００６７】
［第４の実施形態］
次に、本発明をＭＬＣへ応用した第４の実施形態について説明する。図２２は、多値記憶の場合のメモリセルの抵抗値分布とデータとの関係を示すグラフである。同図（ａ）は各メモリセルＭＣに２ビットのデータを記憶させる場合の例で、４つの抵抗値分布Ａ〜Ｄに入るように各メモリセルＭＣに対する書き込みが行われる。抵抗値の高い方の分布Ａから順に２ビットのデータ“１１”，“１０”，“０１”，“００”が対応している。同図（ｂ）は各メモリセルＭＣに３ビットのデータを記憶させる場合の例で、８つの抵抗値分布Ａ〜Ｈに入るように各メモリセルＭＣに対する書き込みが行われる。抵抗値の高い方の分布Ａから順に３ビットのデータ“１１１”，“１１０”，“１０１”，“１００”，“０１１”，“０１０”，“００１”，“０００”が対応している。同図（ｃ）は各メモリセルＭＣに４ビットのデータを記憶させる場合の例で、１６個の抵抗値分布Ａ〜Ｐに入るように各メモリセルＭＣに対する書き込みが行われる。抵抗値の高い方の分布Ａから順に４ビットのデータ“１１１１”，“１１１０”，“１１０１”，“１１００”，…，“００１１”，…，“００１０”，“０００１”，“００００”が対応している。
【００６８】
多値のデータの書き込みを行う場合でも二値と同様、複数セルの書き込みを同時に行う場合と1セルずつ書き込みを行う場合が考えられる。前者の場合はパルスを与えた後に、各レベルでのベリファイを行うことが必要になる。例えば、図２２（ａ）に示す４値書き込みの場合、データ“１０”，“０１”，“００”にそれぞれ対応した抵抗値分布Ｂ，Ｃ，Ｄの各最大抵抗値をベリファイレベルＶＬＢ，ＶＬＣ，ＶＬＤに設定する。これらのベルファイレベルＶＬＢ，ＶＬＣ，ＶＬＤは、センスアンプに与える電圧等によって設定することができる。
【００６９】
例えば図１２のセンスアンプの場合、クランプ用トランジスタＱ１のゲート電圧ＶＢＬＣ＋Ｖｔを、ベリファイレベルＲＶＦに応じて下記式により決定し、切り換えてベリファイを繰り返せばよい。
【００７０】
【数２】
0005253784.tif 000003
また、図１３及び図１４のセンスアンプの場合は、プリチャージ用トランジスタＱ２，Ｑ２１でのプリチャージ電流をベリファイレベルに応じて変化させる。更に、図１５の場合には、ダミーセルＤＭＣをベリファイレベルに応じて切り換えるようにすれば良い。
【００７１】
各センスアンプのラッチデータでどのレベルへ書き込みを行うかを判断する。複数セルの同時書き込みの場合、全てのセルで全てのレベルでベリファイが行われる。センスアンプ内、またはセンスアンプ外には演算機能が含まれており、ベリファイを行いたいレベルでのベリファイ結果はラッチに取り込まれるようにし、それ以外のベリファイ結果は無視されるようにしても良い。全てのレベルのベリファイ後、各メモリセルにおいてベリファイパスの場合は、それ以上の書き込みが必要ないため、次のプログラムパルス時にはビット線ＢＬに非選択の電圧が転送される。逆に、書き込みが未完了の場合は更に書き込みが実行される。上記以外の動作は第１〜第３の実施形態と同様である。また、図２２（ａ）のような２ビットのセルを２ページに分割して１ビットずつ書き込むことも可能である。この場合、初めの１ビットでどこかの抵抗分布レベルに書き込み、その後、次のビットの書き込みで図２１のＭＬＣのように書き込むことも可能である。
【００７２】
図２２（ｂ），（ｃ）のような、より多ビット／セルのメモリの場合も、上記の考え方を応用していけば良い。
【００７３】
また、1セルずつ書き込みを行う場合は、入力データにより、どのレベルに書き込みを行いたいかが特定される。よって、書き込みはプログラムパルスを与えた後、特定のベリファイレベルでベリファイを行うことが可能である。
【００７４】
この時のアルゴリズムを図２３に示す。初めに第１パルスＷＰの印加によるプログラムが実行される（Ｓ１）。次に、ベリファイを実行する（Ｓ２）。ここでは書き込みデータに応じた任意のレベルでのベリファイが可能である。ステータス判定結果がフェイルの場合は、第２のパルスＡＷＰによる追加書き込みを行う（Ｓ４）。この際、第１の実施形態で述べたようにベリファイ結果を元にパルスの形成が可能である。また、ステータス判定結果がパスの場合はステップＳ８に遷移し、オーバープログラム・ベリファイを行う。ここでは、図２２（ａ）に示すように、書き込みたい抵抗レベルの一つ上のレベルのリードレベルＲＬａ，ＲＬｂ，ＲＬｃでベリファイを行う。例えばＣレベル（＝“０１”）に書き込みたい場合はプログラムパルス印加後、ベリファイレベルＶＬＣでベリファイを行い、リードレベルＲＬＤでオーバープログラム・ベリファイを行う。これにより、書き込みたい抵抗分布以上の分布に書き込まれたセルの検知が可能となる。このオーバープログラム・ベリファイのステータス結果がパスの場合は任意の抵抗値へ書き込めたことになり、プログラム動作が終了となる（Ｓ９）。また、ステータス結果がフェイルの場合はステップＳ１０へ遷移し、該当セルの消去を行う（Ｓ１０）。その後、ステップＳ２へ遷移し、書き込みを再び行う（Ｓ４）。上記のような方法により、ベリファイ書き込みで任意の抵抗レベルへ書き込むことが出来ると同時に、オーバープログラム・ベリファイを行うことにより、セルのオーバープログラムを防ぐことが出来る。
【００７５】
［第５の実施形態］
図２４は、本発明の更に他の実施形態を示すフローチャートである。
【００７６】
この実施形態において、ステップＳ１からＳ９では第４の実施形態と同様である。この実施形態では、オーバープログラム・ベリファイでステータス・フェイルとなったとき、メモリセルＭＣにウィークイレースパルスを印加する（Ｓ１１）。これにより、メモリセルを完全消去ではなく、少し消し戻すことが可能となる。このウィークイレースパルスのパルスの大きさ、パルス幅はステップＳ９のベリファイ結果から決定することが可能である。その後、ベリファイを実行する（Ｓ１２）。このベリファイでは通常のベリファイとオーバープログラム・ベリファイとが行われる。またはどちらか一方でも良い。両方行った際は、ステータスのアンドをとり、パスの場合は書き込み終了し（Ｓ１３）、通常のベリファイフェイルの場合はステップＳ４の次の第２のパルスＡＷＰを与え、オーバープログラム・ベリファイの場合は、もう一度ウィークイレースパルスを与える（Ｓ１１）。その他の動作は第４の実施形態と同様である。
【００７７】
［第６の実施形態］
図２５は、本発明の第６の実施形態における書き込み動作のフローチャートである。この実施形態では、ベリファイとオーバープログラム・ベリファイとを連続して行っている（Ｓ２，Ｓ８）。これにより、２つのベリファイを更に効率良く実行することができる。
【００７８】
［その他の実施形態］
また、複数セルの同時書き込みを行った際は書き込み、ベリファイは一括で、イレースパルス、ウィークイレースパルスはセル毎に行うことによって実現しても良い。更に、イレース、ウィークイレース動作はデバイス構造に従って逆方向電圧を印加するバイポーラ動作でも良いし、同方向電圧を長時間印加するユニポーラ動作で行っても良い。
【００７９】
上記のような方法により、ベリファイ書き込みで任意の抵抗レベルへ書き込むことが出来ると同時に、オーバープログラム・ベリファイを行うことにより、セルのオーバープログラムを防ぐことが出来る。また、ウィークイレースパルスの印加で書き込みスピードのパフォーマンスも向上する。
【００８０】
ここで、多値データの書き込みパルス形成の例を図２６に示す。この例は、入力データによって書き込みパルスのパルス電圧を変化させる例である。ここで示す抵抗変化素子ＶＲの消去状態（“１１”）をＡレベルと仮定すると、入力データが“００”のとき、同図（ａ）に示すように、最大のパルス高さ（Ｖｃｃ）の書き込みパルスＷＰを生成する。入力データが“０１”のときには、同図（ｂ）に示すように、最大のパルス高さよりも一段階低いパルス高さの書き込みパルスＷＰを生成する。入力データが“１０”のときには、同図（ｃ）に示すように、更に最も低いパルス高さの書き込みパルスＷＰを生成する。なお、これらの書き込みパルスＷＰは、可変抵抗素子ＶＲの抵抗値を、図２２に示すレベルＤ，Ｃ，Ｂまで移動可能な電圧値とパルス幅であることを必要とする。
【００８１】
図２７は、書き込みパルス形成の他の例を示している。
【００８２】
この実施形態では、入力データによって書き込みパルスのパルス幅を変化させる。消去状態（“１１”）をＡレベルと仮定すると、入力データが“００”のとき、同図（ａ）に示すように、最大のパルス幅の書き込みパルスＷＰを生成する。入力データが“０１”のときには、同図（ｂ）に示すように、最大のパルス幅よりも一段階狭いパルス幅の書き込みパルスＷＰを生成する。入力データが“１０”のときには、同図（ｃ）に示すように、最も狭いパルス幅の書き込みパルスＷＰを生成する。なお、これらの書き込みパルスＷＰは、可変抵抗素子ＶＲの抵抗値を、図２２に示すレベルＤ，Ｃ，Ｂまで移動可能な電圧値とパルス幅であることを必要とする。
【００８３】
図２８は、８値データの書き込みパルスＷＰの例で、パルス幅とパルス高さの組合せで書き込みパワーを変化させている。すなわち、消去状態（“１１１”）をＡレベルと仮定すると、入力データが“０００”のとき、パルス高さが最も大きく、パルス幅が最も広い書き込みパルスＨが選択され、入力データが“１１０”のとき、パルス高さが最も小さく、パルス幅が最も狭い書き込みパルスＢが選択される。
【００８４】
図２９は、ステップアップ又はステップダウン書き込みを行う場合の書き込みパルスＷＰを示す波形図である。この場合には、書き込みパルスＷＰの数によって抵抗変化素子ＶＲの抵抗値が変化する。なお、このようなステップアップ、ステップダウン書き込みを行う場合は、書き込みデータの入力によって、初めのパルスの形成が行われるようにすれば書き込み時間を短縮することができる。また、パルス数だけでなく、ステップ幅も変更されるようにしても良い。
【００８５】
なお、以上は、書き込みパルスと消去パルスが同一極性のユニポーラ動作を中心として説明したが、バイポーラ動作を行う不揮発性メモリにもこの発明は適用可能である。図３０は、非オーミック素子ＮＯの非対称特性を利用して可変抵抗素子ＶＲに逆方向パルスを消去パルスＥＷＰとして印加可能な例を示している。上述した可変抵抗素子では、逆方向電圧を印加することによりリセットが可能であることが知られている。この場合には、書き込みパルスＷＰを多段階に変化させることに加え、逆極性の消去パルスのパルス幅やパルス高さを変えることで、ウィークイレースパルスのレベルを変えることができる。
【００８６】
また、上述したメモリセルアレイは、特に一層構造に限定されるものではなく、多層に配置すれば、更にデータ記憶容量を増加させることができる。その際、ワード線及びビット線の一部が上下の層で共有されていた場合でも、電流の流れる向きを考慮して各配線に流れる電流値を検出することで、各層のデータの読み出しが可能である。
【００８７】
本発明は、記録層に可変抵抗素子を利用したプローブメモリにも適用可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１の実施の形態に係る不揮発性メモリのブロック図である。
【図２】同実施形態に係る不揮発性メモリのメモリセルアレイの一部の斜視図である。
【図３】図２におけるＩ−Ｉ′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【図４】同実施形態における可変抵抗素子の一例を示す模式的な断面図である。
【図５】同実施形態における可変抵抗素子の他の例を示す模式的な断面図である。
【図６】同実施形態における非オーミック素子の例を示す模式的断面図である。
【図７】本発明の他の実施形態に係るメモリセルアレイの一部を示す斜視図である。
【図８】図７におけるII−II′線で切断して矢印方向に見たメモリセル１つ分の断面図である。
【図９】同実施形態に係る不揮発性メモリのメモリセルアレイ及びその周辺回路の回路図である。
【図１０】同実施形態に係る不揮発性メモリの他のメモリセルアレイ及びその周辺回路の回路図である。
【図１１】二値データの場合のメモリセルの抵抗値分布とデータの関係を示すグラフである。
【図１２】同実施形態におけるセンスアンプの第１の構成を示す回路図である。
【図１３】同実施形態におけるセンスアンプの第２の構成を示す回路図である。
【図１４】同実施形態におけるセンスアンプの第３の構成を示す回路図である。
【図１５】同実施形態におけるセンスアンプの第4の構成を示す回路図である。
【図１６】同実施形態におけるステートマシンの構成を示すブロック図である。
【図１７】同実施形態における書き込み動作を示すフローチャートである。
【図１８】同実施形態におけるデータ書込時の選択信号／ＷＳ，ＢＳと、書き込みパルスＷＰ，ＢＰを示す波形図である。
【図１９】本発明の第２の実施形態における書き込み動作を示すフローチャートである。
【図２０】本発明の第３の実施形態における書き込み動作を示すフローチャートである。
【図２１】同実施形態におけるメモリセルの記憶領域を示す図である。
【図２２】多値記憶の場合のメモリセルの抵抗値分布とデータとの関係を示すグラフである。
【図２３】本発明の第４の実施形態における書き込み動作を示すフローチャートである。
【図２４】本発明の第５の実施形態における書き込み動作を示すフローチャートである。
【図２５】本発明の第６の実施形態における書き込み動作を示すフローチャートである。
【図２６】上記各実施形態における書き込みパルスの第１の生成例を示す波形図である。
【図２７】上記各実施形態における書き込みパルスの第２の生成例を示す波形図である。
【図２８】上記各実施形態における書き込みパルスの第３の生成例を示す波形図である。
【図２９】上記各実施形態における書き込みパルスの第４の生成例を示す波形図である。
【図３０】他の実施形態における書き込みパルス及び消去パルスの生成例を示す波形図である。
【符号の説明】
【００８９】
１…メモリセルアレイ、２…カラム制御回路、３…ロウ制御回路、４…データ入出力バッファ、５…アドレスレジスタ、６…コマンド・インターフェイス、７…ステートマシン、９…パルスジェネレータ。
【図１】
0005253784.tif 000004
【図２】
0005253784.tif 000005
【図３】
0005253784.tif 000006
【図４】
0005253784.tif 000007
【図５】
0005253784.tif 000008
【図６】
0005253784.tif 000009
【図７】
0005253784.tif 000010
【図８】
0005253784.tif 000011
【図９】
0005253784.tif 000012
【図１０】
0005253784.tif 000013
【図１１】
0005253784.tif 000014
【図１２】
0005253784.tif 000015
【図１３】
0005253784.tif 000016
【図１４】
0005253784.tif 000017
【図１５】
0005253784.tif 000018
【図１６】
0005253784.tif 000019
【図１７】
0005253784.tif 000020
【図１８】
0005253784.tif 000021
【図１９】
0005253784.tif 000022
【図２０】
0005253784.tif 000023
【図２１】
0005253784.tif 000024
【図２２】
0005253784.tif 000025
【図２３】
0005253784.tif 000026
【図２４】
0005253784.tif 000027
【図２５】
0005253784.tif 000028
【図２６】
0005253784.tif 000029
【図２７】
0005253784.tif 000030
【図２８】
0005253784.tif 000031
【図２９】
0005253784.tif 000032
【図３０】
0005253784.tif 000033