(57)【要約】 【課題】閾値分布を狭くできるメモリを提供する。【解決手段】メモリは、ワード線と、ビット線と、メモリセルとを備える。ワード線コントローラはワード線のうち選択ワード線に電圧を印加する。ビット線コントローラはビット線に電圧を印加する。検出回路は、メモリセルのデータを検出する。選択ワード線に接続された選択メモリセルにデータを書き込む書込みシーケンスは、ワード線コントローラおよびビット線コントローラによって複数の書込み電圧を印加する書込み動作と検出回路によって選択メモリセルの閾値電圧が書込みデータに対して複数の基準電圧に達したか否かを検証するベリファイ動作とを有する少なくとも１つの書込みループを含む。ワード線コントローラおよびビット線コントローラは、選択メモリセルの閾値電圧に応じた書込み電圧を、書込みループごとに複数の書込み電圧の中から選択して次の書込み動作において選択メモリセルへ印加する。【選択図】図４
2018156714.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線と、
複数のビット線と、
複数のメモリセルと、
前記複数のワード線のうち選択ワード線に電圧を印加するワード線コントローラと、
前記複数のビット線に電圧を印加するビット線コントローラと、
前記メモリセルの閾値電圧と基準電圧とを比較して前記メモリセルのデータを検出する検出回路と、を備え、
前記選択ワード線に接続された選択メモリセルにデータを書き込む書込みシーケンスは、前記ワード線コントローラおよび前記ビット線コントローラによって複数の書込み電圧を印加する書込み動作と、前記検出回路によって前記選択メモリセルの閾値電圧が書込みデータのそれぞれに対して複数の基準電圧に達したか否かを検証するベリファイ動作と、を有する少なくとも１つの書込みループを含み、
前記ワード線コントローラおよび前記ビット線コントローラは、前記選択メモリセルの閾値電圧に応じた書込み電圧を、前記書込みループごとに前記複数の書込み電圧の中から選択して次の書込み動作において該選択メモリセルへ印加する、半導体記憶装置。
【請求項２】
前記ワード線コントローラおよび前記ビット線コントローラは、前記書込み動作において、前記選択ワード線へ第１書込み電圧および該第１書込み電圧よりも低い第２書込み電圧を印加し、
前記ベリファイ動作において前記選択メモリセルの閾値電圧が第１基準電圧よりも低い場合に、前記ワード線コントローラおよび前記ビット線コントローラは、次の書込み動作において該選択メモリセルへ前記第１書込み電圧を印加し、
前記ベリファイ動作において前記選択メモリセルの閾値電圧が前記第１基準電圧よりも高い場合に、前記ワード線コントローラおよび前記ビット線コントローラは、次の書込み動作において該選択メモリセルへ前記第２書込み電圧を印加する、請求項１に記載の半導体記憶装置。
【請求項３】
或る書込みシーケンス内において前記書込みループを実行するごとに、前記ワード線コントローラは、前記複数の書込み電圧を所定値ずつ上昇させ、
同一の書込みループ内における前記複数の書込み電圧の電圧差は、前記所定値の３倍よりも小さい、請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記ビット線コントローラは、前記選択メモリセルの閾値電圧に基づいた電圧を、複数のビット線電圧の中から選択して次の書込み動作において前記ビット線を介して前記選択メモリセルに印加する、請求項１から請求項３のいずれか一項に記載の半導体記憶装置。
【請求項５】
前記ビット線コントローラは、前記書込み動作において前記ビット線へ、第１ビット線電圧、該第１ビット線電圧よりも高い第２ビット線電圧、または、該第２ビット線電圧よりも高い第３ビット線電圧を印加し、
前記ベリファイ動作において前記選択メモリセルの閾値電圧が前記第１基準電圧よりも低い場合に、前記ビット線コントローラは、次の書込み動作において該選択メモリセルに対応する前記ビット線へ前記第１ビット線電圧を印加し、
前記ベリファイ動作において前記選択メモリセルの閾値電圧が前記第１基準電圧よりも高い場合に、前記ビット線コントローラは、次の書込み動作において該選択メモリセルに対応する前記ビット線へ前記第２ビット線電圧を印加し、
前記ベリファイ動作において前記選択メモリセルの閾値電圧が書き込むべき目標の閾値電圧に達した場合に、前記ビット線コントローラは、次の書込み動作において該選択メモリセルに対応する前記ビット線へ前記第３ビット線電圧を印加する、請求項４に記載の半導体記憶装置。
【請求項６】
前記複数の書込み電圧は、書き込むべき目標の閾値電圧に対応して設定されている、請求項１から請求項５のいずれか一項に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
ＮＡＮＤ型ＥＥＰＲＯＭ(Electrically Erasable Programmable Read-Only Memory) 等の不揮発性メモリでは、ＭＬＣ（Multi Level Cell）のような多値化されたメモリセルが開発されている。ＭＬＣでは、データの各レベルの閾値範囲が比較的狭いため、メモリセルの閾値分布をできるだけ狭くすることが望まれている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８４３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリセルの閾値分布を狭く書き込むことができる半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
本実施形態による半導体記憶装置は、複数のワード線と、複数のビット線と、複数のメモリセルとを備える。ワード線コントローラは、複数のワード線のうち選択ワード線に電圧を印加する。ビット線コントローラは、複数のビット線に電圧を印加する。検出回路は、メモリセルの閾値電圧と基準電圧とを比較してメモリセルのデータを検出する。選択ワード線に接続された選択メモリセルにデータを書き込む書込みシーケンスは、ワード線コントローラおよびビット線コントローラによって複数の書込み電圧を印加する書込み動作と、検出回路によって選択メモリセルの閾値電圧が書込みデータのそれぞれに対して複数の基準電圧に達したか否かを検証するベリファイ動作と、を有する少なくとも１つの書込みループを含む。ワード線コントローラおよびビット線コントローラは、選択メモリセルの閾値電圧に応じた書込み電圧を、書込みループごとに複数の書込み電圧の中から選択して次の書込み動作において該選択メモリセルへ印加する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態の不揮発性半導体記憶装置（以下、単にメモリともいう）の構成の一例を示す図。
【図２】ＮＡＮＤセルユニット１１の構成の一例を示す概略的な断面図。
【図３】メモリセルアレイ１のブロックおよびページ等の概念を示す図。
【図４】第１実施形態に従ったワード線の書込み電圧を示すグラフ。
【図５】第１の実施形態による書込みシーケンスの一例を示すフロー図。
【図６】第２実施形態に従ったワード線ＷＬの書込み電圧を示すグラフ。
【図７】第２の実施形態による書込みシーケンスの一例を示すフロー図。
【図８】第３の実施形態による書込みシーケンスの一例を示すフロー図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【０００８】
（第１実施形態）
図１は、第１実施形態の不揮発性半導体記憶装置（以下、単にメモリともいう）の構成の一例を示す図である。本実施形態によるメモリは、例えば、ＮＡＮＤ型ＥＥＰＲＯＭである。
【０００９】
本実施形態によるメモリは、メモリセルアレイ１と、センスアンプ回路２と、ロウデコーダ・ワード線コントローラ３と、入出力（Ｉ／Ｏ）バッファ４と、コントローラ５と、電圧発生回路６と、ＲＯＭフューズ７と、データ記憶回路８とを備えている。
【００１０】
メモリセルアレイ１は、同一のウェル上に形成された複数のメモリブロックＢＬＫ０〜ＢＬＫｉ（ｉは２以上の整数）を有している。メモリセルアレイ１は、メモリセルを三次元的に配列した立体型セルアレイであってもよく、メモリセルを二次元的に配列した平面型セルアレイであってもよい。また、各メモリブロックＢＬＫは、図１に示すように、Ｙ方向に延びる複数本のＮＡＮＤセルユニット１１をＸ方向に並べて構成されている。さらに、各ＮＡＮＤセルユニット１１は、直列に接続された複数のメモリセルＭＣ０〜ＭＣｎ（ｎは１以上の整数、例えば、ｎ＝７００００）と、これらの両端に接続された選択トランジスタＳ１、Ｓ２とを含んでいる。メモリセルＭＣは、ワード線ＷＬとビット線ＢＬとの交点に対応して設けられている。
【００１１】
図１には、メモリブロックＢＬＫ０用のワード線ＷＬ０〜ＷＬｎおよび選択ゲート線ＳＧＳ、ＳＧＤが示されている。ワード線ＷＬ０〜ＷＬｎは、それぞれメモリセルＭＣ０〜ＭＣｎの制御ゲートに接続されており、いずれもＸ方向に延びている。また、選択ゲート線ＳＧＳ、ＳＧＤは、それぞれ選択トランジスタＳ１、Ｓ２のゲートに接続されており、いずれもＸ方向に延びている。また、ワード線ＷＬ０〜ＷＬｎと選択ゲート線ＳＧＳ、ＳＧＤは、Ｘ方向に隣接する複数のＮＡＮＤセルユニット１１に共有されている。
【００１２】
また、メモリブロックＢＬＫ０内の各選択トランジスタＳ１のソースは、同一のソース線ＳＬに接続されている。また、メモリブロックＢＬＫ０内の各選択トランジスタＳ２のドレインは、対応するビット線ＢＬ０〜ＢＬｊ（ｊは２以上の整数、例えば、７００００）に接続されている。図１に示すように、ソース線ＳＬは、Ｘ方向に延びており、ビット線ＢＬ０〜ＢＬｊは、Ｙ方向に延びている。以下、ワード線ＷＬ０〜ＷＬｎは、単にＷＬ、ビット線ＢＬ０〜ＢＬｊは、単にＢＬ、メモリセルＭＣ０〜ＭＣｎは、単にＭＣともいう。
【００１３】
センスアンプ回路２は、センスアンプＳＡと、ビット線コントローラＢＬＣとを備えている。検出回路としてのセンスアンプＳＡは、メモリセルＭＣからビット線ＢＬを通じてデータを読み出す回路である。センスアンプＳＡは、メモリセルＭＣのデータに応じた電圧と基準電圧とを比較することによって、該データの論理を検出する。ビット線コントローラＢＬＣは、コントローラ５から受け取ったアドレスに応じて、複数のビット線ＢＬのうち単数または複数のビット線ＢＬの電圧を選択的に駆動する。ビット線コントローラＢＬＣは、選択ビット線ＢＬの電圧を制御することにより、書込み制御、ベリファイリード、読み出し動作を行う。
【００１４】
例えば、センスアンプ回路２は、ベリファイリードおよび読出し動作において、選択ワード線ＷＬと選択ビット線ＢＬとに接続された選択メモリセルＭＣに格納されたデータを検出する。センスアンプ回路２はデータラッチ回路（図示せず）をさらに備え、センスアンプＳＡにおいて検出されたデータを一時的に保持可能である。
【００１５】
ロウデコーダおよびワード線コントローラ（以下、単に、ワード線コントローラともいう）３は、ワード線および選択ゲート線のいずれかを選択してそのワード線または選択ゲート線に電圧を印加する回路である。
【００１６】
Ｉ／Ｏバッファ４は、センスアンプ回路２と外部入出力端子との間でのデータの受け渡しや、コントローラ５からコマンドデータやアドレスデータの受け取りを行う回路である。
【００１７】
コントローラ５は、メモリセルアレイ１に対する種々の制御を行う制御部である。コントローラ５は、例えば、外部に設けられたホストまたはメモリコントローラ（ＭＨ）から書き込みイネーブル信号ＷＥｎ、読み出しイネーブル信号ＲＥｎ、アドレスラッチイネーブル信号ＡＬＥ、コマンドラッチイネーブル信号ＣＬＥなどの外部制御信号を受け取る。それにより、コントローラ５は、ワード線コントローラ３やセンスアンプ回路２、ビット線コントローラＢＬＣ等を制御し、書込み動作、読出し動作、消去動作等を実行する。
【００１８】
電圧発生回路６は、複数の昇圧回路２１と、パルス発生回路２２とを有している。電圧発生回路６は、コントローラ５からの制御信号に基づいて、駆動する昇圧回路２１の個数を切り替える。また、電圧発生回路６は、パルス発生回路２２を制御することで、パルス電圧のパルス幅やパルス高さを調整する。
【００１９】
ＲＯＭフューズ７は、書き込み時や消去時のパルス電圧のパルス幅やパルス高さの設定値を格納しておくための記憶部である。例えば、ＲＯＭフューズ７は、書込み動作においてワード線に印加される書込み電圧（プログラム電圧）Ｖｐｇｍおよび書込み電圧の上昇幅（ステップアップ幅）ΔＶｐｇｍ、ビット線電圧Ｖｃｈ、並びに、ベリファイレベル等の値を格納している。尚、書込み電圧Ｖｐｇｍ、ステップアップ幅ΔＶｐｇｍ、ビット線電圧Ｖｃｈ、ベリファイレベル等は、メモリの外部から与えられてもよい。
【００２０】
データ記憶回路８は、メモリセルアレイ１の制御に用いられる種々のデータを保存しておくための書き換え可能な不揮発性記憶回路である。書込み電圧Ｖｐｇｍ、ステップアップ幅ΔＶｐｇｍ、ビット線電圧Ｖｃｈ、ベリファイレベル等は、データ記憶回路８に格納されていてもよい。
【００２１】
図２は、ＮＡＮＤセルユニット１１の構成の一例を示す概略的な断面図である。尚、図２では、立体型メモリセルアレイを示している。しかし、言うまでも無く、メモリセルは、平面型メモリセルアレイであってもよい。
【００２２】
ＮＡＮＤセルユニット１１は、直列に接続された複数のメモリセルＭＣと、その両端に接続された２つの選択トランジスタＳ１、Ｓ２とを含む。ソース側の選択トランジスタＳ１はソース線ＳＬに、ドレイン側の選択トランジスタＳ２はビット線ＢＬにそれぞれ接続されている。ドレイン側の選択トランジスタＳ２は、直列に接続された３つのトランジスタで構成されているが、その個数は特に限定しない。
【００２３】
ＮＡＮＤセルユニット１１は、コア１００と、トンネル膜１１０と、電荷トラップ膜１２０と、ブロック膜１３０とを備えている。
【００２４】
コア１００は、メモリセルＭＣのチャネル部として機能する。コア１００には、例えば、ポリシリコンを用いている。
【００２５】
トンネル膜１１０は、データ書込みおよびデータ消去時に、チャネル部と電荷トラップ膜１２０との間で電荷を通過させつつ、電荷トラップ膜１２０に捕捉された電荷がチャネル部へリークすることを抑制する。トンネル膜１１０には、例えば、シリコン酸化膜を用いている。
【００２６】
電荷トラップ膜１２０は、データ書込み時に、チャネル部からトンネル膜１１０を介して電荷（例えば、電子）を取り込み、その電荷を捕捉する。ワード線ＷＬに対応した電荷トラップ膜１２０の部分に電荷を捕捉することによって、各メモリセルＭＣにデータを書き込むことができる。逆に、電荷トラップ膜１２０は、データ消去時に、トンネル膜１１０を介して電荷をチャネル部へ放出する。ワード線ＷＬに対応した電荷トラップ膜１２０の部分の電荷を放出することによって、各メモリセルＭＣのデータを消去することができる。電荷トラップ膜１２０には、例えば、シリコン窒化膜を用いている。
【００２７】
ブロック膜１３０は、電荷トラップ膜１２０とワード線ＷＬとの間に設けられており、電荷トラップ膜１２０に捕捉された電荷がワード線ＷＬへリークしないように機能する。ブロック膜１３０には、例えば、シリコン酸化膜を用いている。
【００２８】
コア１００は、例えば、角柱または円柱のピラー形状を有する。トンネル膜１１０、電荷トラップ膜１２０、ブロック膜１３０は、コア１００の側面に設けられ、全体としてピラー構造となっている。
【００２９】
メモリセルＭＣは、ワード線ＷＬと上記ピラー構造との交差部に対応して設けられている。従って、各ワード線ＷＬに対応する電荷トラップ膜１２０の部分に電荷を捕捉することによって、ワード線ＷＬに対応するメモリセルＭＣにデータを書き込むことができる。
【００３０】
選択トランジスタＳ１、Ｓ２の構成は、基本的にメモリセルＭＣの構成と同様でよい。しかし、選択トランジスタＳ１、Ｓ２は、コア１００のチャネル部とビット線ＢＬまたはソース線ＳＬとの間を電気的に導通／非導通させるように、オン／オフにスイッチングする。従って、選択ゲート線ＳＧＳ、ＳＧＤに印加される電圧は、ワード線ＷＬの電圧とは別に駆動される。例えば、データ消去時に選択トランジスタＳ１がオン／オフすることによって、ＮＡＮＤセルユニット１１は、ソースＳＬに電気的接続／切断される。データ書込み時に３つの選択トランジスタＳ２がオン／オフすることによって、ＮＡＮＤセルユニット１１は、ビット線ＢＬに電気的接続／切断される。
【００３１】
隣接するＮＡＮＤセルユニット１１間および隣接するワード線ＷＬ間には、層間絶縁膜（図示せず）が埋め込まれている。
【００３２】
尚、ワード線ＷＬ、ビット線ＢＬ、メモリセルＭＣの数は、特に限定されない。また、メモリセルＭＣは、ＳＬＣ（Single-Level Cell）、ＭＬＣ(Multi-Level Cell)、ＴＬＣ(Triple-Level Cell)またはＱＬＣ (Quadruple-Level Cell)以上のいずれでもよい。
【００３３】
図３は、メモリセルアレイ１のブロックおよびページ等の概念を示す図である。メモリセルアレイ１は、メモリブロック（以下、ブロックともいう）ＢＬＯＣＫ０〜ＢＬＯＣＫｍに分割されている。この例では、ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍは、それぞれデータ消去の最小単位である。各ブロックＢＬＯＣＫ０〜ＢＬＯＣＫｍは、複数のページで構成されている。ページは、データ読出しまたはデータ書込みの単位である。各ページは、ワード線ＷＬに対応しており、或るアドレスで特定される複数のメモリセルＭＣのデータによって構成されている。
【００３４】
ＮＡＮＤ型ＥＥＰＲＯＭは、ページ単位で、書込み動作および読出し動作を行う。すなわち、ビット線コントローラＢＬＣは、ページ内のビット線ＢＬの制御を同時に行うことができる。センスアンプＳＡは、ビット線ＢＬを介してメモリセルＭＣのデータを検出する。
【００３５】
次に、メモリの書込みシーケンスについて説明する。
【００３６】
データ書込みシーケンスは、書込み動作とベリファイ動作とを含む書込みループを繰り返すことにより実行される。書込み動作は、選択ワード線へ書込み電圧を印加し、選択メモリセルの閾値電圧を上昇させてデータを書き込む動作である。ベリファイ動作は、選択メモリセルの閾値電圧が基準電圧としてのベリファイレベルに達したか否か、即ち、選択メモリセルに所望のデータが書き込まれたか否かを検証する動作である。以下、便宜的に、選択ワード線をＷＬと呼び、選択メモリセルをＭＣと呼ぶ。
【００３７】
書込みシーケンス内において、書込みループを繰り返すごとに、ワード線コントローラ３は、選択ワード線ＷＬに印加する書込み電圧をそれぞれΔＶｐｇｍずつ上昇（ステップアップ）させる。これにより、書込み電圧Ｖｐｇｍが充分に高い値に達すると、選択ワード線ＷＬに接続された選択メモリセルＭＣの閾値電圧は、書込みループを実行するごとに、少しずつ上昇し始め、最終的にはほぼΔＶｐｇｍずつ上昇する。
【００３８】
選択メモリセルＭＣの閾値電圧が徐々に上昇すると、ベリファイリードにおいて、選択メモリセルＭＣの閾値電圧は、各書込み状態（state）のベリファイレベル（基準電圧）に次第に接近し、いずれベリファイレベルに到達する。このとき、その選択メモリセルＭＣはベリファイをパス（合格）したことになる。ベリファイをパスすると、その選択メモリセルＭＣへの書込みは終了し、その選択メモリセルＭＣに対応するビット線は非選択状態（書込み禁止）となる。
【００３９】
ＱＰＷ（Quick Pass Write）方式を用いてデータを書き込む場合、各書込み状態のそれぞれにおいて複数のベリファイレベルを利用する。一般のＱＰＷ方式では、書込みループにおいて、選択メモリセルの閾値電圧がベリファイ・ロウレベルを超えたときに、ビット線コントローラＢＬＣは、そのベリファイ・ロウレベルを超えた選択メモリセルＭＣに対応するビット線ＢＬの電圧ＶｃｈをΔＶｐｇｍと同程度の電圧ΔＶｃｈ（ΔＶｃｈ＝０〜２ΔＶｐｇｍ）だけ上昇させる。これにより、その選択メモリセルＭＣに印加される書込み電圧の上昇を緩和させ、書込みループにおいて、選択メモリセルＭＣの閾値電圧を小刻みに上昇させる。その後、その選択メモリセルＭＣの閾値電圧がベリファイ・ハイレベルを超えたときに、コントローラ５は、選択メモリセルＭＣへの書き込みシーケンスを終了する。
【００４０】
しかし、近年、ドレイン側の選択トランジスタＳ２の閾値電圧のばらつきに対する要求が厳しくなっており、ビット線ＢＬの電圧Ｖｃｈを小刻みにステップアップさせた場合、選択トランジスタＳ２が正常に動作しないことがある。例えば、選択トランジスタＳ２を導通させるときに、選択ゲートＳＧＤに約２Ｖを印加するとする。さらに、ベリファイ・ロウレベルを超えた選択メモリセルＭＣに対応するビット線ＢＬの電圧Ｖｃｈを０Ｖから０．８Ｖへステップアップさせたとする．この場合、選択トランジスタＳ２のゲート−ドレイン間電圧は、２Ｖから１．２Ｖへ低下することになる。従って、選択トランジスタＳ２の閾値電圧のばらつきによっては、選択トランジスタＳ２は、充分に導通状態にならないおそれがある。
【００４１】
そこで、本実施形態によるメモリは、ビット線電圧をステップアップさせず、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、図４に示すように、複数の書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３の中から選択して次の書込み動作においてその選択メモリセルＭＣへ印加する。
【００４２】
図４は、第１実施形態に従ったワード線ＷＬの書込み電圧を示すグラフである。縦軸は、選択ワード線の電圧を示す。横軸は時間を示す。１つの書込みシーケンスでは、１つの選択ワード線に接続された複数のカラムの選択メモリセルＭＣにデータ（１ページのデータ）が書き込まれる。書込みシーケンスは、複数の書込ループを含む。図４では、４つの書込みループＬＯＯＰ１〜ＬＯＯＰ４が示されているが、１つの書込みシーケンスは、４つの書込みループだけに限定されず、３つ以下、あるいは、５つ以上の書込みシーケンスで構成されていてもよい。
【００４３】
図４に示すように、書込みループＬＯＯＰ１〜ＬＯＯＰ４は、それぞれ書込み動作ｐ１〜ｐ４と、ベリファイ動作ｖ１〜ｖ４とを含む。書込み動作ｐ１〜ｐ４では、ワード線コントローラ３は、それぞれ３つの書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３を、選択ワード線ＷＬを介して選択メモリセルＭＣ１、ＭＣ２に印加する。ベリファイ動作ｖ１〜ｖ４では、ワード線コントローラ３は、書込み状態のビット数に応じたベリファイ電圧Ｖｖ１、Ｖｖ２、Ｖｖ３を、選択ワード線ＷＬを介して選択メモリセルＭＣ１、ＭＣ２に印加する。
【００４４】
書込みループＬＯＯＰ１〜ＬＯＯＰ４のいずれにおいても、第２書込み電圧Ｖｐｇｍ２は、第１書込み電圧Ｖｐｇｍ１よりも低く、第３書込み電圧Ｖｐｇｍ３は、第２書込み電圧Ｖｐｇｍ２よりも低い。即ち、Ｖｐｇｍ１＞Ｖｐｇｍ２＞Ｖｐｇｍ３との大小関係を有する。
【００４５】
書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３は、それぞれ、書込みループがＬＯＯＰ１、ＬＯＯＰ２、ＬＯＯＰ３、ＬＯＯＰ４へと進むにつれて増大している。即ち、書込みシーケンス内において書込みループを実行するごとに、ワード線コントローラ３は、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３を所定値（以下、ステップアップ幅ともいう）ΔＶｐｇｍずつ上昇させる。書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３のステップアップ幅ΔＶｐｇｍは、互いに等しくてよい。従って、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３の上記大小関係は、書込みループＬＯＯＰ１〜ＬＯＯＰ４において変わらない。尚、書込み動作ｐ１〜ｐ４において、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３を印加する順番は、変更しても構わない。また、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３の上記大小関係を維持している限りにおいて、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３のステップアップ幅ΔＶｐｇｍは、相違させてもよい。さらに、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３のうち印加不要となった電圧の印加を省略する場合もある。
【００４６】
図４の実線は、選択メモリセルＭＣ１の書込み電圧の変化を示す。破線は、選択メモリセルＭＣ２の書込み電圧の変化を示す。選択メモリセルＭＣ１の書込み電圧は、書込みループＬＯＯＰ１〜ＬＯＯＰ４において、それぞれＶｐｇｍ１、Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３となっている。選択メモリセルＭＣ２の書込み電圧は、書込みループＬＯＯＰ１〜ＬＯＯＰ３において、それぞれＶｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３となっている。尚、選択メモリセルＭＣ２は、ＬＯＯＰ３において書込み完了し、ＬＯＯＰ４において、後述する書込み禁止状態となっている。
【００４７】
以下、本実施形態によるメモリの或る書込みシーケンスの動作をより詳細に説明する。
【００４８】
本実施形態では、メモリセルＭＣは、３ビットデータを格納可能なメモリセルとする。従って、例えば、メモリセルＭＣには、Ｅｒ、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇの８つの状態(state)のいずれかのデータが書き込まれる。各状態の電圧の大小関係は、Ｅｒ＜Ａ＜Ｂ＜Ｃ＜Ｄ＜Ｅ＜Ｆ＜Ｇとなっている。尚、Ｅｒ状態は、消去状態である。
【００４９】
本実施形態によるメモリは、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベル（例えば、Ａ状態のベリファイ・ロウレベルＡ）を超えるまで、Ｖｐｇｍ１〜Ｖｐｇｍ３のうち最も高い第１書込み電圧Ｖｐｇｍ１を用いて選択メモリセルＭＣにデータを書き込む。選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超え、かつ、ベリファイ・ハイレベル（例えば、Ａ状態のベリファイ・ハイレベルＡ）を超えていなかった場合、メモリは、次の書込みループにおいて第２書込み電圧Ｖｐｇｍ２を用いて選択メモリセルＭＣにデータを書き込む。その後、さらにベリファイ・ハイレベルを超えていなかった場合には、その次の書込みループにおいて第３書込み電圧Ｖｐｇｍ３を用いて書き込む。その後、選択メモリセルＭＣがベリファイ・ハイレベルを最終的にパスするまで、メモリは、第３書込み電圧Ｖｐｇｍ３を用いて選択メモリセルＭＣにデータを書き込む。従って、書込みループＬＯＯＰ１では、全カラムの選択メモリセルＭＣが第１書込み電圧Ｖｐｇｍ１で書き込まれ、書込みループＬＯＯＰ２では、全カラムの選択メモリセルＭＣが第１または第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２のいずれかで書き込まれ、書込みループＬＯＯＰ３以降では、選択メモリセルＭＣは第１〜第３書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３のいずれかで書き込まれる。尚、ベリファイ・ロウレベルおよびベリファイ・ハイレベルは、選択メモリセルＭＣに書き込む目標の書込み状態（Ａ〜Ｇ）に依って異なる。以下、便宜的に、Ａ〜Ｇ状態の各ベリファイ・ロウレベルをベリファイ・ロウレベルＡ〜Ｇと呼び、Ａ〜Ｇ状態の各ベリファイ・ハイレベルをベリファイ・ハイレベルＡ〜Ｇと呼ぶ。また、ＬＯＯＰ１またはＬＯＯＰ２において、ベリファイ・ハイレベルをパスした場合には、その選択メモリセルＭＣは、次の書込みループ以降の全ての書込みパルスに対して非選択状態（インヒビット状態）になる。
【００５０】
（ＬＯＯＰ１）
書込みシーケンスの開始当初、選択ワード線ＷＬに接続された全カラム（ページ全体）の選択メモリセルＭＣの閾値電圧は、低く、消去状態（Ｅｒ状態）にある。従って、選択ワード線ＷＬに接続されたほぼ全てのカラムの選択メモリセルＭＣの閾値電圧は、第１基準電圧としてのベリファイ・ロウレベル（最も低いＡ状態のベリファイ・ロウレベル）よりも低い状態にある。この場合、最初の書込みループＬＯＯＰ１の書込み動作ｐ１において、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち最も高い第１書込み電圧Ｖｐｇｍ１を選択して印加する。これにより、ほぼ全てのカラムの選択メモリセルＭＣの閾値電圧を比較的大きく上昇させることができる。例えば、図４のＬＯＯＰ１では、選択メモリセルＭＣ１、ＭＣ２の両方に第１書込み電圧Ｖｐｇｍ１が印加されている。これにより、選択メモリセルＭＣ１、ＭＣ２の閾値電圧を比較的大きく上昇させることができる。
【００５１】
書込み動作ｐ１において、第１書込み電圧Ｖｐｇｍ１を印加した選択メモリセルＭＣに対応するビット線ＢＬは、第１書込み電圧Ｖｐｇｍ１の印加後に書込み禁止状態（以下、インヒビット状態ともいう）にする。
【００５２】
インヒビット状態とは、ビット線ＢＬの電圧をドレイン側の選択トランジスタＳ２の閾値電圧（例えば、約１Ｖ）よりも充分に高い第３ビット線電圧（例えば、約２．５Ｖ）に上昇させて、そのカラムのビット線ＢＬに対応する選択トランジスタＳ２を非導通状態にすることである。選択トランジスタＳ２が非導通状態になることによって、そのカラムのビット線ＢＬと選択メモリセルＭＣとが電気的に切断される。これにより、そのカラムの選択メモリセルＭＣのチャネル部はフローティング状態となり、選択ワード線ＷＬに書込み電圧を印加したときに、選択ワード線ＷＬとともに、例えば、１０Ｖまで引き上げられるため、データが書き込まれなくなる。例えば、目標とする書込み状態がＥｒ状態である場合や選択メモリセルの閾値電圧が目標とする書込み状態のベリファイ・ハイレベルに達した場合に、ビット線コントローラＢＬＣは、次の書込み動作において該選択メモリセルに対応するビット線ＢＬへ第３ビット線電圧を印加して、そのビット線ＢＬをインヒビット状態とする。
【００５３】
書込み動作ｐ１において、第１書込み電圧Ｖｐｇｍ１の印加後に、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３も選択ワード線ＷＬに印加される。このとき、第１書込み電圧Ｖｐｇｍ１を印加した選択メモリセルＭＣに対応する全カラムのビット線ＢＬは、インヒビット状態となっている。従って、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３が印加されても、ほぼ全てのカラムの選択メモリセルＭＣにはデータが書き込まれない。尚、最初の書込みループＬＯＯＰ１では、ワード線コントローラ３は、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３の印加自体を省略してもよい。
【００５４】
次に、ベリファイ動作ｖ１を実行する。ベリファイ動作は、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルおよびベリファイ・ハイレベルに達したか否か、即ち、選択メモリセルに所望のデータが書き込まれたか否かを検証する動作である。
【００５５】
例えば、ベリファイ電圧Ｖｖ１〜Ｖｖ３がそれぞれベリファイ・ハイレベルＡ、Ｂ、Ｃに対応すると仮定する。ベリファイ動作ｖ１では、ワード線コントローラ３がベリファイ電圧Ｖｖ１〜Ｖｖ３を順番に選択メモリセルＭＣに印加する。尚、ここでは、書込み動作ｐ１では、ほとんどの選択メモリセルＭＣの閾値電圧はＤ状態以上にならないと想定しているので、ベリファイ動作ｖ１では、Ｄ〜Ｇ状態に対応するＶｖ４以上のベリファイ電圧の印加は省略されている。また、コントローラ５は、Ｖｖ１を印加しているときに、状態Ａのベリファイ・ロウレベルとベリファイ・ハイレベルをパスしたか否かを続けて判定し、Ｖｖ２を印加しているときに状態Ｂのベリファイ・ロウレベルとベリファイ・ハイレベルをパスしたか否かを続けて判定する。同様に、コントローラ５は、それぞれ、Ｖｖ３〜Ｖｖ７を印加しているときに各状態Ｃ〜Ｇのベリファイ・ロウレベルとベリファイ・ハイレベルをパスしたか否かを続けて判定する。
【００５６】
ベリファイ電圧Ｖｖ１〜Ｖｖ３を順番に印加するごとに、センスアンプＳＡが各カラムの選択メモリセルＭＣのデータを検出する。コントローラ５は、この読み出したデータの論理に基づいて選択メモリセルＭＣの閾値電圧が所定のベリファイ・ロウレベルＡ〜Ｃおよびベリファイ・ハイレベルＡ〜Ｃに達しているか否かを判断する。例えば、以下、選択メモリセルＭＣ１にＡ状態を書き込み、選択メモリセルＭＣ２にＣ状態を書き込むと仮定する。ＬＯＯＰ１では、選択メモリセルＭＣ１の閾値電圧は、ベリファイ・ロウレベルＡに達していないものとする。選択メモリセルＭＣ２の閾値電圧は、ベリファイ・ロウレベルＣに達したが、ベリファイ・ハイレベルＣに達していないものとする。
【００５７】
（ＬＯＯＰ２）
選択メモリセルＭＣの閾値電圧が第１基準電圧としてそれぞれの書込み状態のベリファイ・ロウレベルに達していない場合（ケース０）、ワード線コントローラ３およびビット線コントローラＢＬＣは、次の書込みループＬＯＯＰ２において、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第１書込み電圧Ｖｐｇｍ１を選択して印加する。書込み動作ｐ２の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ１の第１書込み電圧Ｖｐｇｍ１よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。従って、書込み動作ｐ２において選択メモリセルＭＣの閾値電圧も、ほぼステップアップ幅ΔＶｐｇｍだけ上昇する。例えば、書込みループＬＯＯＰ１において、選択メモリセルＭＣ１の閾値電圧は、第１基準電圧としてのベリファイ・ロウレベルＡに達していない。従って、ワード線コントローラ３は、書込みループＬＯＯＰ２の書込み動作ｐ２において選択メモリセルＭＣ１へ第１書込み電圧Ｖｐｇｍ１を印加する。
【００５８】
前回の書込みループＬＯＯＰ１において選択メモリセルＭＣの閾値電圧がそれぞれの書込み状態のベリファイ・ロウレベルに達し、かつ、ベリファイ・ハイレベルに達していない場合（ケース１）、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ２の書込み動作ｐ２において選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第２書込み電圧Ｖｐｇｍ２を選択して印加する。
【００５９】
ここで、書込み動作ｐ２の第２書込み電圧Ｖｐｇｍ２は、書込み動作ｐ１の第２書込み電圧Ｖｐｇｍ２よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。しかし、第２書込み電圧Ｖｐｇｍ２が印加される選択メモリセルＭＣは、前回の書込みループにおいて第１書込み電圧Ｖｐｇｍ１で書き込まれている。同一書込みループ内における書込み電圧Ｖｐｇｍ１と書込み電圧Ｖｐｇｍ２との電圧差をＶｄとすると、選択メモリセルＭＣに印加される書込み電圧は、ステップアップ幅ΔＶｐｇｍよりも電圧差Ｖｄだけ緩和される。従って、第２書込み電圧Ｖｐｇｍ２が印加される選択メモリセルＭＣの閾値電圧は、第１書込み電圧Ｖｐｇｍ１からΔＶｐｇｍではなく、ΔＶｐｇｍ−Ｖｄだけ上昇することになる。即ち、本実施形態によるメモリは、それぞれの書込み状態のベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない選択メモリセルＭＣの閾値電圧を、その次の書込みループにおいて小刻みに上昇させることができる。尚、３×ΔＶｐｇｍ＞Ｖｄ＞０とする。ここで、ＶｄはΔＶｐｇｍよりも大きい場合もあり得る。この場合、書込み電圧は維持されるか、あるいは、ステップダウンし、選択メモリセルＭＣにかかる電界は維持されるかあるいは弱くなる。選択メモリセルＭＣの閾値電圧がステップダウン後の書込み電圧で到達し得る閾値電圧の上限まで上昇していなかった場合には、書込み電圧はステップダウンしても、選択メモリセルＭＣの閾値電圧は上昇することもある。従って、３×ΔＶｐｇｍ＞Ｖｄ＞０としている。このように、ワード線コントローラ３およびビット線コントローラＢＬＣは、前回の書込みループで初めてベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない選択メモリセルＭＣについては、第１書込み電圧Ｖｐｇｍ１よりも低い第２書込み電圧Ｖｐｇｍ２を用いて書込み動作を行う。例えば、書込みループＬＯＯＰ１において、選択メモリセルＭＣ２の閾値電圧は、ベリファイ・ロウレベルＡに初めて達し、かつ、ベリファイ・ハイレベルＡに達していない。従って、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ２の書込み動作ｐ２において選択メモリセルＭＣ２へ第２書込み電圧Ｖｐｇｍ２を印加する。
【００６０】
尚、第１書込み電圧Ｖｐｇｍ１で書込みを行うとき、第２書込み電圧Ｖｐｇｍ２で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。同様に、第２書込み電圧Ｖｐｇｍ２で書込みを行うとき、第１書込み電圧Ｖｐｇｍ１で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。例えば、前回の書込みループで初めてベリファイ・ロウレベルＣに達し、かつ、ベリファイ・ハイレベルＣに達していない選択メモリセルＭＣ２は、第２書込み電圧Ｖｐｇｍ２で書き込みを行うので、第１書込み電圧Ｖｐｇｍ１で書込みを行う際にはインヒビット状態となっている。また、前回の書込みループでベリファイ・ロウレベルＡに達していない選択メモリセルＭＣ１は、第１書込み電圧Ｖｐｇｍ１で書き込みを行うので、第２書込み電圧Ｖｐｇｍ２で書込みを行う際にはインヒビット状態となっている。各書込み状態のベリファイ・ハイレベルに既に達した選択メモリセルＭＣは、それ以降のループにおいてインヒビット状態となっている。
【００６１】
また、本実施形態において、第２書込み電圧Ｖｐｇｍ２の印加後に、第３書込み電圧Ｖｐｇｍ３も選択ワード線ＷＬに印加される。しかし、上述のように、ＬＯＯＰ２において、全てのカラムの選択メモリセルＭＣは、第１または第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２のいずれかで書き込まれている。従って、ＬＯＯＰ２では、全カラムの選択メモリセルＭＣに対応するビット線ＢＬは、インヒビット状態となっている。尚、書込みループＬＯＯＰ２では、ワード線コントローラ３は、第３書込み電圧Ｖｐｇｍ３の印加自体を省略してもよい。
【００６２】
次に、ベリファイ動作ｖ２を実行する。ベリファイ動作ｖ２は、ベリファイ動作ｖ１と同様であるので、その詳細な説明を省略する。ＬＯＯＰ２において、選択メモリセルＭＣ１の閾値電圧も、ベリファイ・ロウレベルＡに達したものとする。
【００６３】
（ＬＯＯＰ３）
選択メモリセルＭＣの閾値電圧が第１基準電圧としてそれぞれの書込み状態のベリファイ・ロウレベルにまだ達していない場合、ＬＯＯＰ２の上記ケース０と同様に、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３においても、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第１書込み電圧Ｖｐｇｍ１を選択して印加する。ただし、書込み動作ｐ３の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ２の第１書込み電圧Ｖｐｇｍ１よりもさらにステップアップ幅ΔＶｐｇｍだけ高くなっている。
【００６４】
前回の書込みループＬＯＯＰ２において初めて選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルに達し、かつ、ベリファイ・ハイレベルに達していない場合、ＬＯＯＰ２の上記ケース１と同様に、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３において、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第２書込み電圧Ｖｐｇｍ２を選択して印加する。書込み動作ｐ３の第２書込み電圧Ｖｐｇｍ２は、書込み動作ｐ２の第２書込み電圧Ｖｐｇｍ２よりもステップアップ幅ΔＶｐｇｍだけ高くなっているが、上述の通り、選択メモリセルＭＣの閾値電圧は、ほぼΔＶｐｇｍ−Ｖｄだけ上昇する。例えば、書込みループＬＯＯＰ２において、選択メモリセルＭＣ１の閾値電圧は、初めてベリファイ・ロウレベルＡに達し、かつ、ベリファイ・ハイレベルＡには達していない。従って、ワード線コントローラ３およびビット線コントローラＢＬＣは、今回の書込みループＬＯＯＰ３において選択メモリセルＭＣ１へ第２書込み電圧Ｖｐｇｍ２を印加する。
【００６５】
前回の書込みループＬＯＯＰ２よりも前に選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルに達し、かつ、ベリファイ・ハイレベルに達していない場合（ケース２）、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３において、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第３書込み電圧Ｖｐｇｍ３を選択して印加する。書込み動作ｐ３の第３書込み電圧Ｖｐｇｍ３は、書込み動作ｐ２の第３書込み電圧Ｖｐｇｍ３よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。
【００６６】
ここで、書込み動作ｐ３の第３書込み電圧Ｖｐｇｍ３は、書込み動作ｐ２の第３書込み電圧Ｖｐｇｍ３よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。しかし、第３書込み電圧Ｖｐｇｍ３が印加される選択メモリセルＭＣは、前回以前の書込みループにおいて第２書込み電圧Ｖｐｇｍ２で書き込まれている。同一書込みループ内における書込み電圧Ｖｐｇｍ２と書込み電圧Ｖｐｇｍ３との電圧差をＶｄとすると、選択メモリセルＭＣに印加される書込み電圧は、ステップアップ幅ΔＶｐｇｍよりも電圧差Ｖｄだけ緩和される。従って、第３書込み電圧Ｖｐｇｍ３が印加される選択メモリセルＭＣの閾値電圧は、第２書込み電圧Ｖｐｇｍ２からΔＶｐｇｍではなく、ΔＶｐｇｍ−Ｖｄだけ上昇することになる。該閾値電圧は、２回の書込みループにおいて続けてΔＶｐｇｍ−Ｖｄだけ上昇することになる。即ち、本実施形態によるメモリは、ベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない選択メモリセルＭＣの閾値電圧を、その後の書込みループにおいてさらに小刻みに上昇させることができる。
【００６７】
Ｖｐｇｍ３を印加してもなおベリファイ・ハイレベルをパスしないメモリセルＭＣは、その後の書込みループにおいて書込み電圧がΔＶｐｇｍずつステップアップするため、閾値電圧が大きく上昇してしまう。しかし、そのようなメモリセルＭＣの数は少ないので、全体のメモリセルアレイの書込み状態に与える影響は小さい。
【００６８】
このように、ワード線コントローラ３およびビット線コントローラＢＬＣは、前回より前の書込みループ（例えば、ＬＯＯＰ１）でベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない選択メモリセルＭＣについては、Ｖｐｇｍ１〜Ｖｐｇｍ３の中で最も低い第３書込み電圧Ｖｐｇｍ３を用いて書込み動作を行う。例えば、選択メモリセルＭＣ２の閾値電圧は、ＬＯＯＰ３の２つ以上前の書込みループＬＯＯＰ１においてベリファイ・ロウレベルＣを超えているが、ＬＯＯＰ３より１つ前の書込みループＬＯＯＰ２においてベリファイ・ハイレベルＣを超えていない。。従って、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３において選択メモリセルＭＣ２へ第３書込み電圧Ｖｐｇｍ３を印加する。これにより、本実施形態によるメモリは、ベリファイ・ロウレベルをパスした後、ベリファイ・ハイレベルをパスするまで、選択メモリセルＭＣの閾値電圧を小刻みに上昇させることができる。
【００６９】
尚、第１書込み電圧Ｖｐｇｍ１で書込みを行うとき、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。同様に、第２書込み電圧Ｖｐｇｍ２で書込みを行うとき、第１および第３書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ３で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。第３書込み電圧Ｖｐｇｍ３で書込みを行うとき、第１および第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。例えば、選択メモリセルＭＣ１は、第２書込み電圧Ｖｐｇｍ２で書き込みを行うので、第１および第３書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ３で書込みを行う際にはインヒビット状態となっている。また、選択メモリセルＭＣ２は、第３書込み電圧Ｖｐｇｍ３で書き込みを行うので、第１および第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２で書込みを行う際にはインヒビット状態となっている。
【００７０】
次に、ベリファイ動作ｖ３を実行する。ベリファイ動作ｖ３は、基本的にベリファイ動作ｖ１と同様である。ただし、ベリファイ動作ｖ３では、ベリファイ電圧Ｖｖ３の次にベリファイ電圧Ｖｖ４でベリファイリードを行っている。これは、選択メモリセルＭＣの書込みが進み、Ｄ状態に対応するベリファイ電圧Ｖｖ４でのベリファイ動作が必要であるからである。
【００７１】
書込みループＬＯＯＰ３において、選択メモリセルＭＣ２は、目標とする書込み状態（例えば、Ｃ状態）に達したものとする。即ち、選択メモリセルＭＣ２は、ベリファイ動作ｖ３において最終的にベリファイ・ハイレベルＣをパスしたものとする。従って、書込みループＬＯＯＰ４以降において、選択メモリセルＭＣ２に対応するビット線ＢＬは、インヒビット状態となり、選択メモリセルＭＣ２には書込み動作が実行されていない。
【００７２】
（ＬＯＯＰ４）
選択メモリセルＭＣの閾値電圧が第１基準電圧として各書込み状態のベリファイ・ロウレベルにまだ達していない場合、ＬＯＯＰ２の上記ケース０と同様に、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４においても選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第１書込み電圧Ｖｐｇｍ１を選択して印加する。ただし、書込み動作ｐ４の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ３の第１書込み電圧Ｖｐｇｍ１よりもさらにステップアップ幅ΔＶｐｇｍだけ高くなっている。
【００７３】
前回の書込みループＬＯＯＰ３において選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルに初めて達し、かつ、ベリファイ・ハイレベルに達していない場合、ＬＯＯＰ２の上記ケース１と同様に、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４において、選択ワード線ＷＬを介して、該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第２書込み電圧Ｖｐｇｍ２を選択して印加する。書込み動作ｐ３の第２書込み電圧Ｖｐｇｍ２は、書込み動作ｐ２の第２書込み電圧Ｖｐｇｍ２よりもステップアップ幅ΔＶｐｇｍだけ高くなっているが、上述の通り、選択メモリセルＭＣの閾値電圧は、ほぼΔＶｐｇｍ−Ｖｄだけ上昇する。
【００７４】
前回の書込みループＬＯＯＰ３よりも前に選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルに達し、かつ、ＬＯＯＰ３でもまだベリファイ・ハイレベルに達していない場合、ＬＯＯＰ３の上記ケース２と同様に、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４において、選択ワード線ＷＬを介して、該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第３書込み電圧Ｖｐｇｍ３を選択して印加する。書込み動作ｐ４の第３書込み電圧Ｖｐｇｍ３は、書込み動作ｐ２の第３書込み電圧Ｖｐｇｍ３よりもステップアップ幅ΔＶｐｇｍだけ高くなっているが、上述の通り、選択メモリセルＭＣの閾値電圧は、ほぼΔＶｐｇｍ−Ｖｄだけ上昇する。
【００７５】
このように、ワード線コントローラ３およびビット線コントローラＢＬＣは、ＬＯＯＰ４よりも２つ以上前の書込みループ（例えば、ＬＯＯＰ１、ＬＯＯＰ２）で各書込み状態のベリファイ・ロウレベルをパスし、かつ、１つ前の書込みループ（例えば、ＬＯＯＰ３）でベリファイ・ハイレベルをパスしなかった選択メモリセルＭＣについては、Ｖｐｇｍ１〜Ｖｐｇｍ３の中で最も低い第３書込み電圧Ｖｐｇｍ３を用いて書込み動作を行う。例えば、書込みループＬＯＯＰ２において、選択メモリセルＭＣ１の閾値電圧はベリファイ・ロウレベルＡを超えており、かつ、ベリファイ・ハイレベルＡを超えていない。従って、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４において選択メモリセルＭＣ１へ第３書込み電圧Ｖｐｇｍ３を印加する。その後、ベリファイ・ハイレベルをパスするまでの書込みループにおいて、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣ１へ第３書込み電圧Ｖｐｇｍ３をステップアップさせながら印加する。これにより、本実施形態によるメモリは、ベリファイ・ロウレベルをパスした後、ベリファイ・ハイレベルをパスするまで、選択メモリセルＭＣの閾値電圧を小刻みに上昇させることができる。尚、ＬＯＯＰ３と同様に、第１書込み電圧Ｖｐｇｍ１で書込みを行うとき、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。第２書込み電圧Ｖｐｇｍ２で書込みを行うとき、第１および第３書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ３で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。第３書込み電圧Ｖｐｇｍ３で書込みを行うとき、第１および第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２で書込みを行う選択メモリセルＭＣについては、インヒビット状態となっている。
【００７６】
次に、ベリファイ動作ｖ４を実行する。ベリファイ動作ｖ４は、基本的にベリファイ動作ｖ１と同様である。ただし、ベリファイ動作ｖ４では、ベリファイ電圧Ｖｖ１が省略されている。これは、Ａ状態以上を書き込む選択メモリセルＭＣが全てベリファイ・ハイレベルをパスし、ベリファイ電圧Ｖｖ１が不要となったからである。
【００７７】
その後、１ページ全体のデータが選択メモリセルＭＣに書き込まれるまで、メモリは、書込みループを繰り返し実行する。コントローラ
このようにして、ほぼ全てのカラムの選択メモリセルＭＣの書込みが完了すると、１つの書込みシーケンス（１ページの書込み）が終了する。
【００７８】
以上のように、本実施形態によれば、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルを超えるまでは、第１書込み電圧Ｖｐｇｍ１を用いて選択メモリセルＭＣにデータを書き込む。選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、ベリファイ・ハイレベルを超えていない場合、その後の１回目の書込みループでは、ワード線コントローラ３およびビット線コントローラＢＬＣは、第２書込み電圧Ｖｐｇｍ２を用いて選択メモリセルＭＣにデータを書き込む。それでもベリファイ・ハイレベルを超えない場合、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、２回目以降の書込みループでは、ワード線コントローラ３およびビット線コントローラＢＬＣは、第３書込み電圧Ｖｐｇｍ３を用いて選択メモリセルＭＣにデータを書き込む。その後、選択メモリセルＭＣがベリファイ・ハイレベルを最終的にパスするまで、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣを第３書込み電圧Ｖｐｇｍ３で書き込む。
【００７９】
例えば、選択メモリセルＭＣ１は、ＬＯＯＰ１、ＬＯＯＰ２において第１書込み電圧Ｖｐｇｍ１で書き込まれ、ＬＯＯＰ２でベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない。その後、選択メモリセルＭＣ１は、１回目のＬＯＯＰ３において第２書込み電圧Ｖｐｇｍ２で書き込まれ、２回目のＬＯＯＰ４において第３書込み電圧Ｖｐｇｍ３で書き込まれている。選択メモリセルＭＣ２は、ＬＯＯＰ１において第１書込み電圧Ｖｐｇｍ１で書き込まれ、ＬＯＯＰ１でベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルをパスしていない。その後、選択メモリセルＭＣ２は、１回目のＬＯＯＰ２において第２書込み電圧Ｖｐｇｍ２で書き込まれ、２回目のＬＯＯＰ３において第３書込み電圧Ｖｐｇｍ３で書き込まれている。
【００８０】
このように、ワード線コントローラ３は、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、複数の書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３の中から選択して次の書込みループにおいて該選択メモリセルへ印加する。
【００８１】
尚、同一書込み動作において、書込み電圧Ｖｐｇｍ１と書込み電圧Ｖｐｇｍ２との差（Ｖｄ）は、書込み電圧Ｖｐｇｍ２と書込み電圧Ｖｐｇｍ３との差に等しくてよいが、上記大小関係（Ｖｐｇｍ１＞Ｖｐｇｍ２＞Ｖｐｇｍ３）を維持している限りにおいて、相違させても構わない。
【００８２】
また、１書込みシーケンス内の書込みループの数は、特に限定しない。
【００８３】
さらに、ベリファイ・ロウレベルをパスした後の選択メモリセルＭＣの第２書込み電圧Ｖｐｇｍ２の印加回数は、任意に設定可能である。例えば、ベリファイ・ロウレベルをパスした選択メモリセルＭＣの書込み電圧は、Ｖｐｇｍ２、Ｖｐｇｍ３、Ｖｐｇｍ３、Ｖｐｇｍ３・・・のように設定される。しかし、Ｖｐｇｍ２を印加する書込みループは、複数であってもよい。例えば、リファイ・ロウレベルをパスした選択メモリセルＭＣの書込み電圧は、Ｖｐｇｍ２、Ｖｐｇｍ２、Ｖｐｇｍ３、Ｖｐｇｍ３、Ｖｐｇｍ３・・・のように設定されてもよい。
【００８４】
図５は、第１の実施形態による書込みシーケンスの一例を示すフロー図である。図５を参照して、書込み電圧の選択のタイミングやその印加のタイミングを説明する。
【００８５】
まず、選択メモリセルＭＣに書き込まれるデータがＩ／Ｏバッファ４に格納される（Ｓ１０）。
【００８６】
次に、ビット線コントローラＢＬＣが選択ビット線ＢＬに低レベル電圧を印加し、それ以外の非選択ビット線ＢＬを高レベル電圧に固定する（Ｓ２０）。これにより、非選択ビット線ＢＬをインヒビット状態にする。尚、Ｅｒ状態を書き込む選択メモリセルＭＣに接続された選択ビット線ＢＬも高レベル電圧に固定して、インヒビット状態にする。
【００８７】
次に、選択ワード線ＷＬに対応するページ内の選択メモリセルＭＣｉ（ｉ＝１〜７００００）について書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３のいずれかを選択する（Ｓ３０）。尚、ｉの初期値は１である。尚、本実施形態では、１ページが７００００個の選択メモリセルＭＣに対応するものとしているが、１ページに対応する選択メモリセルＭＣの数はこれに限定されない。
【００８８】
例えば、コントローラ５は、選択メモリセルＭＣｉの閾値電圧がベリファイ・ハイレベル以上であるか否かを判断する（Ｓ３０−１）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ハイレベルに達している場合（Ｓ３０−１のＹＥＳ）、選択メモリセルＭＣｉを全ての書込みループについてインヒビット状態にして非選択とする（Ｓ３０−２）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ハイレベルに達していない場合（Ｓ３０−１のＮＯ）、選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベル以上であるか否かを判断する（Ｓ３１）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルに達していない場合（Ｓ３１のＮＯ）、コントローラ５は、第１書込み電圧Ｖｐｇｍ１を選択する（Ｓ４１）。尚、書込みシーケンスの開始当初、選択ワード線ＷＬに接続された全カラム（１ページ全体）の選択メモリセルＭＣの閾値電圧は、消去状態（Ｅｒ状態）にある。従って、最初の書込みループにおいて、コントローラ５は、最終的に消去状態のまま残すメモリセル以外の全ての選択メモリセルＭＣｉについて第１書込み電圧Ｖｐｇｍ１を選択する。
【００８９】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベル以上かつベリファイ・ハイレベル未満である場合（Ｓ３１のＹＥＳ）、コントローラ５は、選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから１回目の書込みループであるか否かを判断する（Ｓ３２）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから１回目の書込みループである場合（Ｓ３２のＹＥＳ）、コントローラ５は、第２書込み電圧Ｖｐｇｍ２を選択する（Ｓ４２）。
【００９０】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから２回目以降の書込みループである場合（Ｓ３２のＮＯ）、コントローラ５は、第３書込み電圧Ｖｐｇｍ３を選択する（Ｓ４３）。尚、閾値電圧がベリファイ・ロウレベルを超えてからの回数は、コントローラ５内に設けられたカウンタ（図示せず）でカウントし、そのカウントを内部メモリに格納しておけばよい。
【００９１】
コントローラ５は、ｉが７００００に達したか否かを判定する（Ｓ５０）。ｉが７００００に達しない場合（Ｓ５０のＮＯ）、コントローラ５は、ステップＳ３０〜Ｓ４３を繰り返す。ｉが７００００に達した場合（Ｓ５０のＹＥＳ）、コントローラ５は、各選択メモリセルＭＣに対する書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３の選択処理を終了する。このように、選択ワード線ＷＬに対応するページ内の選択メモリセルＭＣｉについて、書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３が決定される。
【００９２】
次に、コントローラ５は、第２および第３書込み電圧Ｖｐｇｍ２、Ｖｐｇｍ３を印加するメモリセルＭＣｉをインヒビット状態に設定する（Ｓ６０）。尚、ステップＳ３０−２でインヒビット状態に設定されているメモリセルおよび最終的に消去状態のまま残すメモリセルは、インヒビット状態を維持する。
【００９３】
次に、ワード線コントローラ３およびビット線コントローラＢＬＣは、インヒビット状態以外の選択メモリセルＭＣｉに第１書込み電圧Ｖｐｇｍ１を印加する（Ｓ６５）。これにより、ワード線コントローラ３は、ステップＳ４１において第１書込み電圧Ｖｐｇｍ１の印加が設定された選択メモリセルＭＣに、第１書込み電圧Ｖｐｇｍ１を選択的に印加することができる。
【００９４】
次に、コントローラ５は、第１および第３書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ３を印加するメモリセルＭＣｉおよび最終的に消去状態のまま残すメモリセルをインヒビット状態に設定する（Ｓ７０）。尚、ステップＳ３０−２でインヒビット状態に設定されているメモリセルおよび最終的に消去状態のまま残すメモリセルは、インヒビット状態を維持する。
【００９５】
次に、ワード線コントローラ３およびビット線コントローラＢＬＣは、インヒビット状態以外の選択メモリセルＭＣｉに第２書込み電圧Ｖｐｇｍ２を印加する（Ｓ７５）。これにより、ワード線コントローラ３およびビット線コントローラＢＬＣは、ステップＳ４２において第２書込み電圧Ｖｐｇｍ２の印加が設定された選択メモリセルＭＣに、第２書込み電圧Ｖｐｇｍ２を選択的に印加することができる。
【００９６】
次に、コントローラ５は、第１および第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２を印加する選択メモリセルＭＣｉをインヒビット状態に設定する（Ｓ８０）。尚、ステップＳ３０−２でインヒビット状態に設定されているメモリセルおよび最終的に消去状態のまま残すメモリセルは、インヒビット状態を維持する。
【００９７】
次に、ワード線コントローラ３およびビット線コントローラＢＬＣは、インヒビット状態以外の選択メモリセルＭＣｉに第３書込み電圧Ｖｐｇｍ３を印加する（Ｓ８５）。これにより、ワード線コントローラ３およびビット線コントローラＢＬＣは、ステップＳ４３において第３書込み電圧Ｖｐｇｍ３の印加が設定された選択メモリセルＭＣに、第３書込み電圧Ｖｐｇｍ３を選択的に印加することができる。
【００９８】
次に、コントローラ５は、選択メモリセルＭＣｉについてベリファイ動作を実行する（Ｓ９０）。ベリファイ動作によって、選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルおよびベリファイ・ハイレベルに達したか否かを検証することができる。
【００９９】
ベリファイ・ハイレベルに達していない選択メモリセルＭＣの個数が所定数を超える場合には、次の書込みループへ移行する（Ｓ９５のＮＯ）。この場合、コントローラ５は、第１〜第３書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３をそれぞれステップアップ幅ΔＶｐｇｍだけ増大させる。
【０１００】
次の書込みループにおいて、ステップＳ３０−２では、コントローラ５は、目標とする書込み状態に到達した選択メモリセルＭＣをインヒビット状態にする。
【０１０１】
書込みが終了していない選択メモリセルＭＣの個数が所定数以下である場合には、書込みシーケンスが終了する（Ｓ９５のＹＥＳ）。
【０１０２】
このように、本実施形態によれば、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルを超えるまでは、第１書込み電圧Ｖｐｇｍ１を用いて選択メモリセルＭＣにデータを書き込む。選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、ベリファイ・ハイレベルを超えていない場合、１回目の書込みループでは、ワード線コントローラ３は、第２書込み電圧Ｖｐｇｍ２を用いて選択メモリセルＭＣにデータを書き込む。それでもベリファイ・ハイレベルを超えない場合、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、２回目以降の書込みループでは、ワード線コントローラ３は、第３書込み電圧Ｖｐｇｍ３を用いて選択メモリセルＭＣにデータを書き込む。その後、選択メモリセルＭＣがベリファイ・ハイレベルを最終的にパスするまで、ワード線コントローラ３は、選択メモリセルＭＣを第３書込み電圧Ｖｐｇｍ３で書き込む。
【０１０３】
即ち、本実施形態によれば、コントローラ５は、選択メモリセルＭＣの閾値電圧に基づいて、次の書込み動作ｐ１〜ｐ４において複数の書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３の中から書込み電圧を選択する。そして、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択された書込み電圧（Ｖｐｇｍ１、Ｖｐｇｍ２、Ｖｐｇｍ３のいずれか）を、選択ワード線ＷＬを介して該選択メモリセルＭＣへ印加する。
【０１０４】
ここで、書込みループごとに、書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３は、ステップアップ幅ΔＶｐｇｍずつ上昇している。また、同一書込みループ内で書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３は、電圧差Ｖｄずつ低くなっている。従って、或る書込みループの第１書込み電圧Ｖｐｇｍ１と次の書込みループの第２書込み電圧Ｖｐｇｍ２との差は、ΔＶｐｇｍ−Ｖｄとなり、ステップアップ幅ΔＶｐｇｍよりも小さくなる（緩和される）。また、或る書込みループの第２書込み電圧Ｖｐｇｍ２と次の書込みループの第３書込み電圧Ｖｐｇｍ３との差は、ΔＶｐｇｍ−Ｖｄとなり、ステップアップ幅ΔＶｐｇｍよりも小さくなる（緩和される）。
【０１０５】
例えば、選択メモリセルＭＣ２のように、書込みループＬＯＯＰ１において第１書込み電圧Ｖｐｇｍ１で書き込み、次の書込みループＬＯＯＰ２において第２書込み電圧Ｖｐｇｍ２で書き込むことによって、選択ワード線ＷＬの書込み電圧のステップアップ幅がΔＶｐｇｍから（ΔＶｐｇｍ−Ｖｄ）へ実質的に小さくなる。これは、上記一般的なＱＰＷ方式においてビット線ＢＬの電圧Ｖｃｈを小刻みにステップアップさせることと同様に、各書込み状態の選択メモリセルＭＣの閾値電圧分布を狭くできることを意味する。勿論、電圧差Ｖｄは、ビット線電圧Ｖｃｈのステップアップ幅にほぼ等しくしてもよい。
【０１０６】
このように、本実施形態によるメモリは、書込みの完了していない選択メモリセルＭＣに対応するビット線ＢＬの電圧を、ソース電圧または接地電圧に固定しても、各書込み状態の選択メモリセルＭＣの閾値電圧分布を狭くすることができる。即ち、本実施形態によるメモリは、ビット線ＢＬの電圧Ｖｃｈをステップアップさせなくても、ＱＰＷと同様の機能および効果を得ることができる。従って、選択ビット線とインヒビット状態の非選択ビット線との電圧差を充分に大きく維持することができ、選択トランジスタＳ２の閾値電圧が大きくばらついたとしても、選択トランジスタＳ２の誤動作を抑制することができる。
【０１０７】
図１の選択ゲートＳＧＤをオン状態にするためには、ビット線の電圧は、選択ゲートＳＧＤの閾値電圧よりも低い電圧に設定する必要がある。選択ゲートＳＧＤをオフ状態にするためには、ビット線の電圧は、選択ゲートＳＧＤの閾値電圧よりも高い電圧に設定する必要がある。一方、選択ゲートＳＧＤのゲート電極は、各カラムで共通のため、同じゲート電圧しか印加することができない。従って、各カラムで選択ゲートＳＧＤの閾値電圧ばらつきがあっても、ビット線の電圧で選択ゲートＳＧＤを正確にオン／オフ制御するためには、選択ビット線と非選択ビット線との電圧差を高い電圧に設定することが好ましい。
【０１０８】
本実施形態によれば、上述の通り、選択ビット線と非選択ビット線との電圧差を充分に大きく維持することができ、選択トランジスタＳ２の閾値電圧が大きくばらついたとしても、選択トランジスタＳ２の誤動作を抑制することができる。例えば、選択ビット線のドレイン側選択トランジスタが誤ってオフ状態になったり、非選択ビット線のドレイン側選択トランジスタが誤ってオン状態になることを抑制することができる。
【０１０９】
（第２実施形態）
第１実施形態によるメモリは、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、複数の書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３の中から選択し、次の書込みループにおいて該選択メモリセルへ印加する。このとき、書込みの完了していない選択メモリセルＭＣに対応するビット線ＢＬの電圧は、ソース電圧または接地電圧に固定され、ステップアップしない。
【０１１０】
これに対し、第２実施形態では、書込み電圧の選択とともに、ビット線ＢＬの電圧もステップアップさせる。即ち、第２実施形態は、書込み電圧の選択とビット線電圧のステップアップとのハイブリッド型ＱＰＷ方式である。尚、第２実施形態によるメモリの構成は、第１実施形態のそれと同様であるので、その説明は省略する。
【０１１１】
図６は、第２実施形態に従ったワード線ＷＬの書込み電圧を示すグラフである。第２実施形態では、１つの書込みループ内に２つの書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２が設定されている点で第１実施形態と異なる。一方、第２実施形態では、ビット線電圧Ｖｃｈのステップアップが可能であるので、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２の選択とビット線電圧Ｖｃｈのステップアップとを組み合わせることができる。ビット線電圧Ｖｃｈのステップアップ幅（電圧差）は、電圧差Ｖｄと同様に、ワード線ＷＬのステップアップ幅ΔＶｐｇｍの３倍よりも小さい（３×ΔＶｐｇｍ＞Ｖｃｈの電圧差＞０）。
【０１１２】
例えば、以下のような書込みシーケンスを実行することができる。尚、第２実施形態のベリファイ動作については、第１実施形態のそれと同様であるので、その説明を省略する。
【０１１３】
（ＬＯＯＰ１）
書込みシーケンスの開始当初、選択ワード線ＷＬに接続された全カラムの選択メモリセルＭＣの閾値電圧は、第１基準電圧として各書込み状態のベリファイ・ロウレベルよりも低い状態にある。この場合、最初の書込みループＬＯＯＰ１の書込動作ｐ１において、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１およびＶｐｇｍ２のうち最も高い第１書込み電圧Ｖｐｇｍ１を選択して印加する。このとき、ビット線ＢＬの電圧Ｖｃｈは、第１ビット線電圧としてのソース電圧または接地電圧に維持されており、例えば、０Ｖである。例えば、図６のＬＯＯＰ１では、選択メモリセルＭＣ１に第１書込み電圧Ｖｐｇｍ１が印加されているが、ビット線ＢＬの電圧は、ソース電圧または接地電圧（０Ｖ）のまま維持されている。
【０１１４】
（ＬＯＯＰ２）
選択メモリセルＭＣの閾値電圧が第１基準電圧としてそれぞれの書込み状態のベリファイ・ロウレベルに達していない場合（ケース０）、ワード線コントローラ３およびビット線コントローラＢＬＣは、次の書込みループＬＯＯＰ２において選択ワード線ＷＬを介して該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。このとき、ビット線電圧Ｖｃｈのステップアップ電圧は０Ｖである。書込み動作ｐ２の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ１の第１書込み電圧Ｖｐｇｍ１よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。
【０１１５】
前回の書込みループＬＯＯＰ１において選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルに達し、かつ、ベリファイ・ハイレベルに達していない場合（ケース１）、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ２の書込み動作ｐ２において選択ワード線ＷＬを介して該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。一方、このとき、ビット線コントローラＢＬＣは、ビット線電圧Ｖｃｈを、第１ビット線電圧よりも高い第２ビット線電圧（例えば、０．２Ｖ）へステップアップさせる。これにより、該選択メモリセルＭＣのワード線とチャネル間に印加される書込み電圧は、ＬＯＯＰ１におけるＶｐｇｍ１よりもΔＶｐｇｍ−Ｖｃｈだけ上昇し、上昇幅が緩和される。これにより、ベリファイ・ロウレベルをパスし、かつ、ベリファイ・ハイレベルに達していない選択メモリセルＭＣの閾値電圧を、その次の書込みループにおいて小刻みに上昇させることができる。
【０１１６】
例えば、以下、選択メモリセルＭＣ１にＡ状態を書き込み、選択メモリセルＭＣ２にＣ状態を書き込むと仮定する。書込みループＬＯＯＰ１において、選択メモリセルＭＣ１の閾値電圧は、ベリファイ・ロウレベルＡを超えており、かつ、ベリファイ・ハイレベルＡを超えていないものとする。この場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ２において選択メモリセルＭＣ１へ第１書込み電圧Ｖｐｇｍ１を印加する。それとともに、ビット線コントローラＢＬＣは、該選択メモリセルＭＣ１に対応するビット線ＢＬの電圧Ｖｃｈを、例えば、０．２Ｖに上昇させる。これにより、選択メモリセルＭＣ１の閾値電圧を小刻みに上昇させることができる。
【０１１７】
（ＬＯＯＰ３）
上記ケース０の場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３においても選択ワード線ＷＬを介して該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。書込み動作ｐ３の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ２の第１書込み電圧Ｖｐｇｍ１よりもさらにステップアップ幅ΔＶｐｇｍだけ高くなっている。
【０１１８】
上記ケース１の場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３において選択ワード線ＷＬを介して該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。一方、このとき、ビット線コントローラＢＬＣは、ビット線電圧Ｖｃｈを、例えば、０．２Ｖにステップアップさせる。従って、該選択メモリセルＭＣのワード線とチャネル間に印加される書込み電圧は、ＬＯＯＰ２におけるＶｐｇｍ１よりもΔＶｐｇｍ−Ｖｃｈだけ上昇し、上昇幅が緩和される。これにより、ベリファイ・ロウレベルをパスした選択メモリセルＭＣの閾値電圧を、その次の書込みループにおいて小刻みに上昇させることができる。
【０１１９】
選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルに達した後、１回目の書込みループＬＯＯＰ２においてベリファイ・ハイレベルに達しなかった場合（ケース２）、２回目の書込みループＬＯＯＰ３において、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１〜Ｖｐｇｍ３のうち第２書込み電圧Ｖｐｇｍ２を選択して印加する。このとき、ビット線ＢＬ電圧Ｖｃｈは０Ｖにする。
【０１２０】
ここで、書込み動作ｐ３の第２書込み電圧Ｖｐｇｍ２は、書込み動作ｐ２の第２書込み電圧Ｖｐｇｍ２よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。しかし、ベリファイ・ロウレベルに達してから２回目の書込みループである場合、その選択メモリセルＭＣは、前回の書込みループにおいて第１書込み電圧Ｖｐｇｍ１およびビット線電圧Ｖｃｈ（例えば、０．２Ｖ）を用いて書き込まれている。従って、該選択メモリセルＭＣに印加される書込み電圧のステップアップ幅は、（Ｖｄ−Ｖｃｈ）だけ緩和され、選択メモリセルＭＣの閾値電圧は、ＬＯＯＰ２から（ΔＶｐｇｍ−Ｖｄ＋Ｖｃｈ）だけ上昇することになる。
【０１２１】
例えば、選択メモリセルＭＣ１の閾値電圧は、ＬＯＯＰ３の２つ前の書込みループＬＯＯＰ１においてベリファイ・ロウレベルＡを超えた後、ＬＯＯＰ２においてもベリファイ・ハイレベルＡを超えていない。従って、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ３の書込み動作ｐ３において選択メモリセルＭＣ１へ第２書込み電圧Ｖｐｇｍ２を印加する。このとき、ビット線コントローラＢＬＣは、ビット線ＢＬの電圧を０Ｖにする。
【０１２２】
（ＬＯＯＰ４）
ケース０の場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４においても選択ワード線ＷＬを介して該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。書込み動作ｐ４の第１書込み電圧Ｖｐｇｍ１は、書込み動作ｐ３の第１書込み電圧Ｖｐｇｍ１よりもさらにステップアップ幅ΔＶｐｇｍだけ高くなっている。
【０１２３】
ケース１の場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４において、選択ワード線ＷＬを介して、該選択メモリセルＭＣへ第１書込み電圧Ｖｐｇｍ１を選択して印加する。一方、このとき、ビット線コントローラＢＬＣは、ビット線Ｖｃｈを、例えば、０．２Ｖにステップアップさせる。従って、第１書込み電圧Ｖｐｇｍ１は、ＬＯＯＰ３におけるＶｐｇｍ１よりもΔＶｐｇｍ−Ｖｃｈだけ上昇し、上昇幅が緩和される。
【０１２４】
ケース２の場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４の書込み動作ｐ４において、選択ワード線ＷＬを介して、該選択メモリセルＭＣへ第２書込み電圧Ｖｐｇｍ２を選択して印加する。このとき、ビット線電圧Ｖｃｈは０Ｖにする。書込み動作ｐ４の第２書込み電圧Ｖｐｇｍ２は、書込み動作ｐ２の第２書込み電圧Ｖｐｇｍ２よりもステップアップ幅ΔＶｐｇｍだけ高くなっている。しかし、該選択メモリセルＭＣのワード線とチャネル間に印加される書込み電圧のステップアップ幅は、（Ｖｄ−Ｖｃｈ）だけ緩和され、選択メモリセルＭＣの閾値電圧は、ＬＯＯＰ３よりも（ΔＶｐｇｍ−Ｖｄ＋Ｖｃｈ）だけ上昇することになる。
【０１２５】
選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルに達した後、２回の書込みループＬＯＯＰ２、ＬＯＯＰ３においてベリファイ・ハイレベルに達しなかった場合（ケース３）、３回目の書込みループＬＯＯＰ４において、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬを介して該選択メモリセルＭＣへＶｐｇｍ１、Ｖｐｇｍ２のうち第２書込み電圧Ｖｐｇｍ２を選択して印加する。さらに、ビット線コントローラＢＬＣは、ビット線電圧Ｖｃｈを、例えば、０．２Ｖに設定する。これにより、選択メモリセルＭＣの閾値電圧は、ＬＯＯＰ３よりもΔＶｐｇｍ−Ｖｃｈだけ上昇し、上昇幅が緩和される。
【０１２６】
例えば、書込みループＬＯＯＰ１において、選択メモリセルＭＣ１の閾値電圧は、ベリファイ・ロウレベルＡを超えた後、ＬＯＯＰ２、ＬＯＯＰ３においてもベリファイ・ハイレベルＡを超えていないものとする。この場合、ワード線コントローラ３およびビット線コントローラＢＬＣは、書込みループＬＯＯＰ４において選択メモリセルＭＣ１へ第２書込み電圧Ｖｐｇｍ２を印加する。それとともに、ビット線コントローラＢＬＣは、該選択メモリセルＭＣ１に対応するビット線ＢＬの電圧Ｖｃｈを、例えば、０．２Ｖに上昇させる。
【０１２７】
その後、ベリファイ・ハイレベルをパスするまでの書込みループにおいて、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣ１へ第２書込み電圧Ｖｐｇｍ２をステップアップさせながら印加する。このとき、ビット線コントローラＢＬＣは、該選択メモリセルＭＣ１に対応するビット線ＢＬの電圧Ｖｃｈを、例えば、０．２Ｖに上昇させる。
【０１２８】
その後、１ページ全体のデータが選択メモリセルＭＣに書き込まれるまで、メモリは、書込みループを繰り返し実行する。
【０１２９】
このようにして、ほぼ全てのカラムの選択メモリセルＭＣの書込みが完了すると、１つの書込みシーケンス（１ページの書込み）が終了する。
【０１３０】
以上のように、第２実施形態によれば、選択メモリセルＭＣの閾値電圧が各書込み状態のベリファイ・ロウレベルを超えるまでは、選択ワード線ＷＬの書込み電圧をＶｐｇｍ１とし、選択ビット線ＢＬの電圧をソース電圧または接地電圧に維持する。
【０１３１】
選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、ベリファイ・ハイレベルを超えていない場合、その後の１回目の書込みループでは、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬの書込み電圧をＶｐｇｍ１とし、選択ビット線ＢＬの電圧Ｖｃｈを、例えば、０．２Ｖに上昇させる。
【０１３２】
それでもベリファイ・ハイレベルを超えない場合、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、２回目の書込みループでは、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬの書込み電圧をＶｐｇｍ２とし、選択ビット線ＢＬの電圧をソース電圧または接地電圧に維持する。
【０１３３】
さらにベリファイ・ハイレベルを超えない場合、選択メモリセルＭＣの閾値電圧がベリファイ・ロウレベルを超えた後、３回目の書込みループでは、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬの書込み電圧をＶｐｇｍ２とし、選択ビット線ＢＬの電圧Ｖｃｈ（例えば、０．２Ｖ）上昇させる。
【０１３４】
その後、選択メモリセルＭＣがベリファイ・ハイレベルを最終的にパスするまで、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択ワード線ＷＬの書込み電圧をＶｐｇｍ２とし、選択ビット線ＢＬの電圧をＶｃｈ（例えば、０．２Ｖ）とする。
【０１３５】
このように、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、複数の書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２の中から選択して次の書込みループにおいて該選択メモリセルへ印加する。それとともに、ビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧に応じたビット線電圧を、複数のビット線電圧Ｖｃｈ（０または０．２Ｖ）の中から選択して次の書込みループにおいて該選択メモリセルへ印加する。第２実施形態によれば、ビット線ＢＬの電圧をステップアップさせているものの、その上昇幅は小さくて済む。従って、選択ビット線とインヒビット状態の非選択ビット線との電圧差を依然として大きく維持することができる。従って、第２実施形態も第１実施形態と同様の効果を得ることができる。
【０１３６】
尚、べリファイ・ロウレベルをパスした後の選択メモリセルＭＣの書込み電圧およびビット線電圧は、選択メモリセルＭＣの閾値電圧が書込みループごとに上昇する限りにおいて、任意に設定可能である。
【０１３７】
図７は、第２の実施形態による書込みシーケンスの一例を示すフロー図である。図７を参照して、書込み電圧の選択のタイミングやその印加のタイミングを説明する。ステップＳ１１０〜Ｓ１３０−２は、第１実施形態のステップＳ１０〜Ｓ３０−２とそれぞれ同じである。
【０１３８】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ハイレベルに達していない場合（Ｓ１３０−１のＮＯ）、コントローラ５は、選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベル以上であるか否かを判断する（Ｓ１３１）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルに達していない場合（Ｓ１３１のＮＯ）、コントローラ５は、第１書込み電圧Ｖｐｇｍ１を選択し、ビット線電圧をソース電圧または接地電圧に維持する（Ｖｃｈ＝０）（Ｓ１４１）。
【０１３９】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベル以上かつベリファイ・ハイレベル未満である場合（Ｓ１３１のＹＥＳ）、コントローラ５は、選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから１回目の書込みループであるか否かを判断する（Ｓ１３２）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから１回目の書込みループである場合（Ｓ１３２のＹＥＳ）、コントローラ５は、第１書込み電圧Ｖｐｇｍ１を選択し、ビット線電圧をステップアップさせる（Ｖｃｈ＝０．２Ｖ）（Ｓ１４２）。
【０１４０】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから１回目の書込みループでない場合（Ｓ１３２のＮＯ）、コントローラ５は、選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから２回目の書込みループであるか否かを判断する（Ｓ１３３）。選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから２回目の書込みループである場合（Ｓ１３３のＹＥＳ）、コントローラ５は、第２書込み電圧Ｖｐｇｍ２を選択し、ビット線電圧をソース電圧または接地電圧に維持する（Ｖｃｈ＝０）（Ｓ１４３）。
【０１４１】
選択メモリセルＭＣｉの閾値電圧がベリファイ・ロウレベルを超えてから２回目以降の書込みループである場合（Ｓ１３３のＮＯ）、コントローラ５は、第２書込み電圧Ｖｐｇｍ２を選択し、ビット線電圧をステップアップさせる（Ｖｃｈ＝０．２Ｖ）（Ｓ１４４）。
【０１４２】
ステップＳ１５０は、第１実施形態のステップＳ５０と同じである。
【０１４３】
これにより、選択ワード線ＷＬに対応するページ内の選択メモリセルＭＣｉについて、書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２、および、ビット線電圧Ｖｃｈが決定される。
【０１４４】
次に、コントローラ５は、第２書込み電圧Ｖｐｇｍ２を印加する選択メモリセルＭＣｉ（Ｖｃｈ＝０Ｖおよび０．２Ｖの両方の選択メモリセルを含む）をインヒビット状態に設定する（Ｓ１６０）。尚、ステップＳ１３０−２でインヒビット状態に設定されているメモリセルおよび最終的に消去状態のまま残すメモリセルは、インヒビット状態を維持する。
【０１４５】
次に、ワード線コントローラ３およびビット線コントローラＢＬＣは、インヒビット状態以外の選択メモリセルＭＣｉに第１書込み電圧Ｖｐｇｍ１を印加する（Ｓ１６１）。このとき、ビット線コントローラＢＬＣは、インヒビット状態以外のケース０の選択メモリセルＭＣｉに対応するビット線電圧Ｖｃｈを０Ｖとし、ケース１の選択メモリセルＭＣｉに対応するビット線電圧Ｖｃｈを０．２Ｖにする。これにより、ワード線コントローラ３およびビット線コントローラＢＬＣは、ステップＳ１４１において第１書込み電圧Ｖｐｇｍ１の印加が設定された選択メモリセルＭＣに、第１書込み電圧Ｖｐｇｍ１を選択的に印加することができる。
【０１４６】
次に、コントローラ５は、第１書込み電圧Ｖｐｇｍ１を印加する選択メモリセルＭＣｉ（Ｖｃｈ＝０Ｖおよび０．２Ｖの両方の選択メモリセルを含む）をインヒビット状態に設定する（Ｓ１７０）。尚、ステップＳ１３０−２でインヒビット状態に設定されているメモリセルおよび最終的に消去状態のまま残すメモリセルは、インヒビット状態を維持する。
【０１４７】
次に、ワード線コントローラ３およびビット線コントローラＢＬＣは、インヒビット状態以外の選択メモリセルＭＣｉに第２書込み電圧Ｖｐｇｍ２を印加する（Ｓ１７１）。このとき、ビット線コントローラＢＬＣは、インヒビット状態以外のケース２の選択メモリセルＭＣｉに対応するビット線電圧Ｖｃｈを０Ｖとし、ケース３の選択メモリセルＭＣｉに対応するビット線電圧Ｖｃｈを０．２Ｖにする。これにより、ワード線コントローラ３およびビット線コントローラＢＬＣは、ステップＳ１４３において第２書込み電圧Ｖｐｇｍ２の印加が設定された選択メモリセルＭＣに、第２書込み電圧Ｖｐｇｍ２を選択的に印加することができる。
【０１４８】
ステップＳ１９０、Ｓ１９５は、第１実施形態のステップＳ９０、Ｓ９５と同じである。
【０１４９】
書込みが終了していない選択メモリセルＭＣの個数が所定数を超える場合には、次の書込みループへ移行する（Ｓ１９５のＮＯ）。この場合、コントローラ５は、第１および第２書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２をそれぞれステップアップ幅ΔＶｐｇｍだけ増大させる。次の書込みループにおいて、ステップＳ１２０では、コントローラ５は、目標とする書込み状態に到達した選択メモリセルＭＣをインヒビット状態にする。
【０１５０】
書込みが終了していない選択メモリセルＭＣの個数が所定数以下である場合には、書込みシーケンスが終了する（Ｓ１９５のＹＥＳ）。
【０１５１】
このように、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、複数の書込み電圧Ｖｐｇｍ１、Ｖｐｇｍ２の中から選択して次の書込みループにおいて該選択メモリセルへ印加する。それとともに、ビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧に応じたビット線電圧を、複数のビット線電圧（０または０．２Ｖ）の中から選択して次の書込みループにおいて該選択メモリセルへ印加する。このようにしても、第２実施形態は、第１実施形態と同様の効果を得ることができる。
【０１５２】
尚、ビット線電圧Ｖｃｈは、０Ｖと０．２Ｖの２つだけでなく、３つ以上設定してもよい。
【０１５３】
（第３実施形態）
図８は、第３実施形態に従ったワード線ＷＬの書込み電圧を示すグラフである。第１実施形態によるメモリは、任意に設定された書込み電圧Ｖｐｇｍ１〜Ｖｐｇｍ３の中から書込み電圧を選択している。
【０１５４】
これに対し、第３実施形態では、複数の書込み電圧は、書き込むべき目標の閾値電圧の各Ａ〜Ｇ状態に対応して設定されている。この場合、図８に示すように、コントローラ５は、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、Ａ〜Ｇ状態のそれぞれに対応した複数の書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇの中から選択する。そして、ワード線コントローラ３およびビット線コントローラＢＬＣは、次の書込みループにおいて書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇのいずれかを該選択メモリセルへ印加する。
【０１５５】
書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇは、通常、Ａ〜Ｇ状態のそれぞれに対応した選択メモリセルＭＣに用いられる。例えば、Ａ状態を書き込む選択メモリセルＭＣには、書込み電圧Ｖｐｇｍ＿ａが用いられ、Ｖｐｇｍｂ〜Ｖｐｇｍ＿ｇは用いられない。Ｇ状態を書き込む選択メモリセルＭＣには、書込み電圧Ｖｐｇｍ＿ｇが用いられ、Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｆは用いられない。他のＢ〜Ｆ状態を書き込む選択メモリセルＭＣについても同様である。
【０１５６】
これに対し、第３実施形態では、書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇを第１実施形態の複数の書込み電圧として利用する。第３実施形態のその他の動作は、第１実施形態の動作と同様である。
【０１５７】
書込みループＬＯＯＰ１において、書込み電圧は、選択メモリセルＭＣへ書き込むべきＡ〜Ｇ状態に対応して設定すればよい。例えば、選択メモリセルＭＣ１、ＭＣ２に書き込むべき目的の書込みデータがそれぞれＧ状態、Ｆ状態であるとする。この場合、書込みループＬＯＯＰ１において、選択メモリセルＭＣ１は、Ｇ状態の書込み電圧Ｖｐｇｍ＿ｇで書き込まれ、選択メモリセルＭＣ２は、Ｆ状態の書込み電圧Ｖｐｇｍ＿ｆで書き込まれる。
【０１５８】
その後、各書込み状態のベリファイ・ロウレベルをパスした後、１段階ずつ書込み電圧を低下させればよい。例えば、選択メモリセルＭＣ１にＧ状態を書き込み、選択メモリセルＭＣ２にＦ状態を書き込むと仮定する。ＬＯＯＰ１のベリファイ動作において、選択メモリセルＭＣ１がベリファイ・ロウレベルＧをパスし、かつ、ベリファイ・ハイレベルＧをパスしてない場合、書込みループＬＯＯＰ２において、選択メモリセルＭＣ１は、書込み電圧Ｖｐｇｍ＿ｆで書き込まれる。その後、例えば、ベリファイ・ハイレベルＧをパスするまで、選択メモリセルＭＣ１は、書込みループＬＯＯＰ３において書込み電圧Ｖｐｇｍ＿ｅで書き込まれ、書込みループＬＯＯＰ４において書込み電圧Ｖｐｇｍ＿ｄで書き込まれ、書込みループＬＯＯＰ５において書込み電圧Ｖｐｇｍ＿ｃで書き込まれ、書込みループＬＯＯＰ６において書込み電圧Ｖｐｇｍ＿ｂで書き込まれ、書込みループＬＯＯＰ７以降において書込み電圧Ｖｐｇｍ＿ａで書き込まれる。尚、ベリファイ・ハイレベルＧをパスした時点で、それ以降の書込みループにおいて、メモリセルＭＣ１は、インヒビット状態になる。
【０１５９】
選択メモリセルＭＣ２については、例えば、ＬＯＯＰ１のベリファイ動作において、選択メモリセルＭＣ２がベリファイ・ロウレベルＦをパスし、かつ、ベリファイ・ハイレベルＦをパスしてない場合、書込みループＬＯＯＰ２において、選択メモリセルＭＣ２は、書込み電圧Ｖｐｇｍ＿ｅで書き込まれる。その後、例えば、ベリファイ・ハイレベルＧをパスするまで、選択メモリセルＭＣ２は、書込みループＬＯＯＰ３において書込み電圧Ｖｐｇｍ＿ｄで書き込まれ、書込みループＬＯＯＰ４において書込み電圧Ｖｐｇｍ＿ｃで書き込まれ、書込みループＬＯＯＰ５において書込み電圧Ｖｐｇｍ＿ｂで書き込まれ、書込みループＬＯＯＰ６以降において書込み電圧Ｖｐｇｍ＿ａで書き込まれる。尚、ベリファイ・ハイレベルＦをパスした時点で、それ以降の書込みループにおいて、メモリセルＭＣ２は、インヒビット状態になる。
【０１６０】
上記書込みシーケンスは、あくまでも一例であって、複数の書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇの印加の仕方は、任意に設定してよい。
【０１６１】
第３実施形態も、ワード線コントローラ３およびビット線コントローラＢＬＣは、選択メモリセルＭＣの閾値電圧に応じた書込み電圧を、複数の書込み電圧Ｖｐｇｍ＿ａ〜Ｖｐｇｍ＿ｇの中から選択して次の書込みループにおいて該選択メモリセルへ印加する。従って、第３実施形態は、第１実施形態と同様の効果を得ることができる。
【０１６２】
また、ビット線電圧Ｖｃｈは、ソース電圧または接地電圧に維持されてよい。ただし、第３実施形態は、第２実施形態と組み合わせてもよい。この場合、ビット線電圧Ｖｃｈも複数の電圧から選択され得る。また、この場合、第３実施形態は、第２実施形態と同様の効果をも得ることができる。
【０１６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１６４】
１  メモリセルアレイ、２  センスアンプ回路、３  ロウデコーダ・ワード線コントローラ、４  Ｉ／Ｏバッファ、５  コントローラ、６  電圧発生回路、７  ＲＯＭフューズ、８  データ記憶回路、ＳＡ  センスアンプ、ＢＬＣ  ビット線コントローラ、ＷＬ  ワード線、ＢＬ  ビット線、ＭＣ  メモリセル、Ｓ１，Ｓ２  選択トランジスタ
【図１】
2018156714.tif 000003
【図２】
2018156714.tif 000004
【図３】
2018156714.tif 000005
【図４】
2018156714.tif 000006
【図５】
2018156714.tif 000007
【図６】
2018156714.tif 000008
【図７】
2018156714.tif 000009
【図８】
2018156714.tif 000010