(57)【要約】【課題】メモリセルの書き込み直後の閾値変動の影響を抑制でき、且つ高速な書き込みが可能な半導体記憶装置を提供する。【解決手段】ｎビットのデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、メモリセルに対して書き込む第１データを保持すると共に、前記第１データから得られる１ビットデータを保持するデータ記憶回路と、第１の書き込み動作で前記メモリセルにｎビットのデータを書き込んだのちに、第２の書き込み動作を行う制御回路とを備える。制御回路は、第２の書き込み動作において、第１の書き込み動作で前記メモリセルに記憶されたデータを読み出し、前記メモリセルから読み出したデータと、データ記憶回路に保持した１ビットのデータとに基づいて前記第１データを復元し、復元した前記第１データをメモリセルに対して書き込む。【選択図】図１６
2015204126.tif 000002
【特許請求の範囲】
【請求項１】
ｎビット（ｎは２以上の自然数）のデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
前記メモリセルに対して書き込む第１データを保持すると共に、前記第１データから得られる１ビットデータを保持するデータ記憶回路と、
第１の書き込み動作で前記メモリセルにｎビットのデータを書き込んだのちに、第２の書き込み動作を行う制御回路と
を具備し、
前記制御回路は、前記第２の書き込み動作において、前記第１の書き込み動作で前記メモリセルに記憶されたデータを読み出し、
前記メモリセルから読み出したデータと、前記データ記憶回路に保持した１ビットのデータとに基づいて前記第１データを復元し、
復元した前記第１データを前記メモリセルに対して書き込むことを特徴とする半導体記憶装置。
【請求項２】
ｎビット（ｎは２以上の自然数）のデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、
前記メモリセルに対して書き込む第１データを保持すると共に、前記第１データから得られる１ビットデータを保持するデータ記憶回路と、
第１の書き込み動作で前記メモリセルにｎビットのデータを書き込んだのちに、第２の書き込み動作を行う制御回路と
を具備し、
前記制御回路は、前記第２の書き込み動作において、前記第１の書き込み動作で書き込んだ前記メモリセルに対してベリファイ読み出しを行い、ベリファイレベルに達していないメモリセルを判別し、
前記判別結果と前記データ記憶回路に保持した１ビットのデータとに基づいて前記第１データを復元し、
前記ベリファイレベルに達していないメモリセルに対して復元した前記第１データを書き込むことを特徴とする半導体記憶装置。
【請求項３】
前記第１の書き込み動作において前記メモリセルの書き込みベリファイに用いる読み出しレベルをＡ、Ｂ、Ｃ（Ａ＜Ｂ＜Ｃ）とする場合、前記第２の書き込み動作において前記メモリセルに記憶されたデータの読み出しに用いる読み出しレベルは、Ｅ（Ａ＜Ｅ＜Ｂ）であることを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
前記第１の書き込み動作において前記メモリセルの書き込みベリファイに用いる読み出しレベルをＡ、Ｂ、Ｃ（Ａ＜Ｂ＜Ｃ）とする場合、前記第２の書き込み動作において前記メモリセルに記憶されたデータの読み出しに用いる読み出しレベルは、Ｆ（Ｂ＜Ｆ＜Ｃ）であることを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項５】
前記データ記憶回路は複数ビットを一時的に記憶する複数のラッチ回路を有し、前記第１の書き込み動作中、少なくとも１ビットのデータの書き込みが完了し、前記複数のラッチ回路の内、前記第１の書き込み動作に使用されないラッチ回路に、次の書き込み動作で書き込む第２データを一時的に保持することを特徴とする前記請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項６】
前記データ記憶回路は複数ビットを一時的に記憶する複数のラッチ回路を有し、前記第１の書き込み動作の終了後、又は前記第２の書き込み動作中のいずれかにおいて、前記複数のラッチ回路の内、前記第２の書き込み動作に使用されないラッチ回路に、次の書き込み動作で書き込む第２データを一時的に保持することを特徴とする前記請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項７】
前記第２の書き込み動作の終了後、再度前記第２の書き込み動作を繰り返し実行することを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項８】
前記第１の書き込み動作により第１ワード線に接続された第１メモリセル、第２メモリセルに順に書き込みを行い、
その後、前記第２の書き込み動作により前記第１メモリセル、前記第２メモリセルに順に書き込みを行うことを特徴とする請求項１乃至６のいずれかに記載の半導体記憶装置。
【請求項９】
前記第１の書き込み動作により第１ワード線に接続された第１メモリセル、第２メモリセル、第２ワード線に接続された第３メモリセル、第４メモリセルに順に書き込みを行い、
その後、前記第２の書き込み動作により前記第１メモリセル、前記第２メモリセル、前記第３メモリセル、前記第４メモリセルに順に書き込みを行うことを特徴とする請求項１乃至６のいずれかに記載の半導体記憶装置。
【請求項１０】
前記第１の書き込み動作と前記第２の書き込み動作は１つのプログラムシーケンスとして実行されることを特徴とする請求項１乃至９のいずれかに記載の半導体記憶装置。
【請求項１１】
前記第１の書き込み動作と前記第２の書き込み動作は別のプログラムシーケンスとして実行されることを特徴とする請求項１乃至９のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、多値データを記憶することが可能な半導体記憶装置に関する。
【背景技術】
【０００２】
半導体記憶装置、例えばＮＡＮＤ型フラッシュメモリは、ロウ方向に並んだ複数のメモリセルの全て、又は半数のメモリセルがそれぞれビット線を介して各書き込み、及び読み出し用のラッチ回路に接続され、このロウ方向に並んだ全てのメモリセル、又は半数のメモリセル（例えば２〜１６ｋＢのメモリセル）に対して一括して書き込み、又は読み出し動作が行なわれる。
【０００３】
書き込み、及び読み出し単位をページと言い、複数のページによりブロックが構成される。メモリセルの消去はブロック単位に行われる。消去動作によりメモリセルから電子が引き抜かれて閾値電圧が負とされ、書き込み動作によりメモリセル内に電子を導入することにより閾値電圧が正に設定される。
【０００４】
近時、１つのメモリセルに複数の閾値電圧（以下、閾値レベルとも言う）の１つを設定し、複数ビットのデータを記憶する多値メモリが開発されている。例えば、４つの閾値レベルを設けた場合、１セルに２ビットのデータを記憶でき、８つの閾値レベルを設けた場合、１セルに３ビットのデータを記憶できる。さらに、１６個の閾値レベルを設けた場合、１セルに４ビットのデータを記憶することが可能である。
【０００５】
一方、近年、素子のフローティングゲートを加工する微細化が厳しくなり、ＭＯＮＯＳセルで電子を蓄える構造も提案されていて、特に３次元的に配置することで高密度化を実現することが考案されている。しかし、ＭＯＮＯＳセルは、書き込み動作直後に閾値Ｖthがデトラップによって下がってしまう場合がある。
【０００６】
この対策として、１回目の書き込みシーケンスの後に、再度ベリファイ動作を行いターゲットの閾値に未達のセルに対して各閾値毎に再度書き込みを行う方法がある。しかし、この方法では、デトラップ問題を解決できるが書き込み時間が増大してしまう。すなわち、ターゲットの閾値に未達のメモリセルに対しての再書き込み時は、其々の閾値レベルへ１回の書き込みパルスを与えれば良いが、この書き込みパルスを与えるときまで、どの書き込み閾値に書き込んでいるかをセンスアンプ内のデータ記憶回路で保持しなくてはならず、事前に次の書き込みデータをデータ記憶回路に記憶するキャッシュプログラムができなくなってしまうという場合がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２４３２０５号公報
【特許文献２】特開２０１０−１６０８７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
メモリセルの書き込み直後の閾値変動の影響を抑制でき、且つ高速な書き込みが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００９】
実施形態の半導体記憶装置は、ｎビット（ｎは２以上の自然数）のデータを記憶可能な複数のメモリセルを含むメモリセルアレイと、前記メモリセルに対して書き込む第１データを保持すると共に、前記第１データから得られる１ビットデータを保持するデータ記憶回路と、第１の書き込み動作で前記メモリセルにｎビットのデータを書き込んだのちに、第２の書き込み動作を行う制御回路とを具備する。前記制御回路は、前記第２の書き込み動作において、前記第１の書き込み動作で前記メモリセルに記憶されたデータを読み出し、前記メモリセルから読み出したデータと、前記データ記憶回路に保持した１ビットのデータとに基づいて前記第１データを復元し、復元した前記第１データを前記メモリセルに対して書き込むことを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態の半導体記憶装置としてのＮＡＮＤ型フラッシュメモリの構成を示すブロック図である。
【図２】第１の実施形態におけるメモリセルアレイ及びビット線制御回路の回路図である。
【図３】第１の実施形態におけるメモリセルアレイ及びビット線制御回路の他の例の回路図である。
【図４】第１の実施形態におけるメモリセル及び選択トランジスタの断面図である。
【図５】第１の実施形態におけるＮＡＮＤ型フラッシュメモリの断面図である。
【図６】３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの断面図である。
【図７】前記３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの回路図である。
【図８】３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの他の例の断面図である。
【図９】３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの他の例の回路図である。
【図１０】図５に示す各領域に供給される電圧の例を示す図である。
【図１１】第１の実施形態におけるデータ記憶回路内のセンスアンプユニットの回路図である。
【図１２】第１の実施形態におけるデータ記憶回路内のデータ制御ユニットの回路図である。
【図１３】第１の実施形態におけるメモリセルアレイの記憶領域の構成を概略的に示す図である。
【図１４】第１の実施形態におけるメモリセルの書き込み順序の一例を示す図である。
【図１５】第１の実施形態におけるブロックＭＬＢのメモリセルに書き込まれる閾値電圧と読み出しレベルを概略的に示図である。
【図１６】第１の実施形態のプログラムシーケンスを示すフローチャートである。
【図１７】前記プログラムシーケンス時にデータラッチ回路に保持されるデータを示す図である。
【図１８】前記プログラムシーケンス時のタイミングチャートの一例を示す図である。
【図１９】前記プログラムシーケンス時のタイミングチャートの他の例を示す図である。
【図２０】前記プログラムシーケンスの書き込み動作を示す動作波形図である。
【図２１】前記プログラムシーケンスの読み出し動作、及び書き込みベリファイ動作を示す動作波形図である。
【図２２】第１の実施形態の変形例のプログラムシーケンスを示すフローチャートである。
【図２３】前記プログラムシーケンス時にデータラッチ回路に保持されるデータを示す図である。
【図２４】第２の実施形態のプログラムシーケンスを示すフローチャートである。
【図２５】前記プログラムシーケンス時にデータラッチ回路に保持されるデータを示す図である。
【図２６】第３の実施形態のプログラムシーケンスを示すフローチャートである。
【図２７】３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの回路図である。
【図２８】３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの他の例の回路図である。
【図２９】第３の実施形態の変形例のプログラムシーケンスを示すフローチャートである。
【図３０】第４の実施形態のプログラムシーケンスにおける書き込み動作と書き込みベリファイ動作を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して実施の形態について説明する。なお、以下の説明において、同一の機能及び構成を有する構成要素については、共通する参照符号を付す。
【００１２】
［第１の実施形態］
第１の実施形態の半導体記憶装置について説明する。
【００１３】
図１は、メモリセルに２値（１ビット）、４値（２ビット）、８値以上（３ビット以上）を記憶する半導体記憶装置としてのＮＡＮＤ型フラッシュメモリの構成を示している。
【００１４】
メモリセルアレイ１は、複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット線制御回路２とワード線制御回路６が接続されている。
【００１５】
ビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出す。ビット線制御回路２は、また、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。
【００１６】
ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内のデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５から制御部９へ出力される。データ入出力端子５は、メモリチップ外部の制御部９に接続される。
【００１７】
制御部９は、例えばマイクロコンピュータにより構成され、前記データ入出力端子５から出力されたデータを受ける。さらに、制御部９は、ＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを出力する。制御部９からデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御信号及び制御電圧発生回路（制御回路）７に供給される。
【００１８】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続されている。
【００１９】
制御信号及び制御電圧発生回路７は、メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６の動作を制御する。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、制御部９から制御信号入力端子８を介して入力される制御信号ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、ＷＥ（ライト・イネーブル）、及びＲＥ（リード・イネーブル）によって制御される。この制御信号及び制御電圧発生回路７は、データの書き込み時にワード線やビット線の電圧を発生するとともに、後述するように、ウェルに供給される電圧を発生する。制御信号及び制御電圧発生回路７は、例えばチャージポンプ回路のような昇圧回路を含み、プログラム電圧及びその他高電圧を生成可能である。
【００２０】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は、書き込み回路、及び読み出し回路を構成している。
【００２１】
図２は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成の一例を示している。メモリセルアレイ１には複数のＮＡＮＤユニットが配置されている。１つのＮＡＮＤユニットは、例えば直列接続された６４個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ２はビット線ＢＬ０ｅに接続され、選択ゲートＳ１はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０〜ＷＬ６３に共通接続されている。また、選択ゲートＳ２はセレクト線ＳＧＤに共通接続され、選択ゲートＳ１はセレクト線ＳＧＳに共通接続されている。
【００２２】
ビット線制御回路２は、複数のデータ記憶回路１０を有している。各データ記憶回路１０には、一対のビット線（ＢＬ０ｅ、ＢＬ０ｏ）、（ＢＬ１ｅ、ＢＬ１ｏ）…（ＢＬｉｅ、ＢＬｉｏ）、（ＢＬｎｅ、ＢＬｎｏ）が接続されている。
【００２３】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤユニットにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路１０に接続されている２本のビット線について同時に行われる。
【００２４】
また、ビット線の１つおきに配置され、１つのワード線に接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、１セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。すなわち、ロウ方向に配置された複数のメモリセルのうち半数のメモリセルが、対応するビット線に接続される。このため、ロウ方向に配置された複数のメモリセルの半数ずつに対して書き込み又は読み出し動作が実行される。
【００２５】
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路１０に接続されている２本のビット線（ＢＬｉｅ、ＢＬｉｏ）のうち外部より供給されるアドレス信号（ＹＡ０、ＹＡ１…ＹＡｉ…ＹＡｎ）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択され、破線で示す、２ページが選択される。この２ページの切り替えはアドレスによって行われる。
【００２６】
１セルに２ビット記憶する場合は２ページであるが、１セルに１ビット記憶する場合は１ページ、１セルに３ビット記憶する場合は３ページ、１セルに４ビット記憶する場合は４ページとなる。
【００２７】
図３は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成の他の例を示している。図２に示す構成の場合、データ記憶回路１０に２本のビット線（ＢＬｉｅ、ＢＬｉｏ）が接続されていた。これに対して、図３に示す構成の場合、各ビット線にデータ記憶回路１０が接続され、ロウ方向に配置された複数のメモリセルは、全て対応するビット線に接続される。このため、ロウ方向に配置された全てのメモリセルに対して書き込み又は読み出し動作を行うことができる。
【００２８】
尚、以下の説明は、図２に示す構成、及び図３に示す構成のいずれも適用することが可能であるが、図３を使用する場合について説明する。
【００２９】
図４（ａ）,（ｂ）はメモリセル及び選択トランジスタの断面図を示している。図４（ａ）はメモリセルを示している。基板５１（後述するＰ型ウェル領域５５）にはメモリセルのソース、ドレインとしてのｎ型拡散層４２が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成されている。この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。
【００３０】
図４（ｂ）は選択ゲートを示している。Ｐ型ウェル領域５５にはソース、ドレインとしてのｎ型拡散層４７が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。  
図５は、ＮＡＮＤ型フラッシュメモリの断面図を示している。例えば、Ｐ型半導体基板５１内には、Ｎ型ウェル領域５２、５３、５４、Ｐ型ウェル領域５６が形成されている。Ｎ型ウェル領域５２内にはＰ型ウェル領域５５が形成されている。このＰ型ウェル領域５５内にメモリセルアレイ１を構成する低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。さらに、前記Ｎ型ウェル領域５３、Ｐ型ウェル領域５６内に、データ記憶回路１０を構成する低電圧ＰチャネルトランジスタＬＶＰＴｒ及び低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。
【００３１】
前記基板５１内には、ビット線とデータ記憶回路１０を接続する高電圧ＮチャネルトランジスタＨＶＮＴｒが形成されている。また、前記Ｎ型ウェル領域５４内には、例えばワード線駆動回路等を構成する高電圧ＰチャネルトランジスタＨＶＰＴｒが形成されている。図５に示すように、高電圧トランジスタＨＶＮＴｒ、ＨＶＰＴｒは、低電圧トランジスタＬＶＮＴｒ、ＬＶＰＴｒに比べて例えば厚いゲート絶縁膜を有している。
【００３２】
図６は、Pipe型と呼ばれる３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイにおけるブロックの断面図を示している。図６は、メモリセルアレイ内の１つのブロックＢＬＫ０の構成を示しているが、その他のブロックＢＬＫも同様の構成を有している。
【００３３】
図示するように、ブロックＢＬＫ０は、複数（本例では１２個）のストリングユニットＳＵを含む。各々のストリングユニットＳＵは、複数のＮＡＮＤストリング１８を含む。
【００３４】
ＮＡＮＤストリング１８の各々は、例えば８個のメモリセルトランジスタＭＴと、選択トランジスタＳＴ１，ＳＴ２と、バックゲートトランジスタＢＴとを含んでいる。導電層（以下、バックゲート層と記す）ＢＧ上には層間絶縁膜が形成され、層間絶縁膜内には半導体層２０が形成されている。半導体層２０の周囲には、メモリセルトランジスタＭＴの制御ゲートに接続されたワード線ＷＬが形成されている。ワード線ＷＬ上の半導体層２０の周囲には、選択トランジスタＳＴ１，ＳＴ２のゲートに接続されたセレクトゲート線ＳＧＤ，ＳＧＳが形成されている。さらに、半導体層２０の一端はビット線ＢＬに接続され、半導体層２０の他端はソース線ＳＬに接続されている。
【００３５】
図７は、前記３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイにおけるブロックの構成を示す回路図である。図７は、メモリセルアレイ内の１つのブロックＢＬＫ０の構成を示しているが、その他のブロックＢＬＫも同様の構成を有している。
【００３６】
前述したように、ブロックＢＬＫ０は複数のストリングユニットＳＵを含む。また各々のストリングユニットＳＵは、複数（本例ではｎ＋１個、ｎは０以上の自然数）のＮＡＮＤストリング１８を含む。ＮＡＮＤストリング１８の各々は、例えば８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）と、選択トランジスタＳＴ１，ＳＴ２と、バックゲートトランジスタＢＴと、ダミーセルトランジスタＤＴＤ，ＤＴＳとを含んでいる。
【００３７】
メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタＭＴの個数は８個に限られず、１６個や３２個、６４個、１２８個等であってもよく、その数は限定されるものではない。バックゲートトランジスタＢＴもメモリセルトランジスタＭＴと同様に、制御ゲートと電荷蓄積層とを含む積層ゲートを備える。但しバックゲートトランジスタＢＴはデータを保持するためのものでは無く、データの書き込み及び消去時には単なる電流経路として機能する。メモリセルトランジスタＭＴ、バックゲートトランジスタＢＴ及びダミーセルトランジスタＤＴＤ，ＤＴＳは、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。なおバックゲートトランジスタＢＴは、メモリセルトランジスタＭＴ３とＭＴ４との間に設けられる。この直列接続の一端側のダミーセルトランジスタＤＴＤの電流経路は選択トランジスタＳＴ１の電流経路の一端に接続され、他端側のダミーセルトランジスタＤＴＳの電流経路は選択トランジスタＳＴ２の電流経路の一端に接続されている。
【００３８】
ストリングユニットＳＵ０〜ＳＵ（Ｍ−１）の各々の選択トランジスタＳＴ１のゲートは、それぞれセレクトゲート線ＳＧＤ０〜ＳＧＤ（Ｍ−１）に共通接続されている。選択トランジスタＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＳ０〜ＳＧＳ（Ｍ−１）に共通接続される。これに対して同一のブロックＢＬＫ０内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれワード線ＷＬ０〜ＷＬ７に共通接続されている。バックゲートトランジスタＢＴの制御ゲートはバックゲート線ＢＧ（ブロックＢＬＫ０〜ＢＬＫ（Ｌ−１）では、それぞれＢＧ０〜ＢＧ（Ｌ−１））に共通接続される。ダミーセルトランジスタＤＴＤ，ＤＴＳの制御ゲートはそれぞれワード線ＷＬＤＤ，ＷＬＤＳに共通接続されている。
【００３９】
すなわち、ワード線ＷＬ０〜ＷＬ７及びバックゲート線ＢＧは同一ブロックＢＬＫ０内の複数のストリングユニットＳＵ間で共通に接続されているのに対し、セレクトゲート線ＳＧＤ、ＳＧＳは、同一ブロックＢＬＫ０内であってもストリングユニットＳＵ毎に独立している。
【００４０】
また、メモリセルアレイ内でマトリクス状に配置されたＮＡＮＤストリング１８のうち、同一列にあるＮＡＮＤストリング１８の選択トランジスタＳＴ１の電流経路の他端は、いずれかのビット線ＢＬに共通接続される。すなわちビット線ＢＬは、同一のブロックＢＬＫ内における複数のＮＡＮＤストリング１８を共通に接続し、更に複数のブロックＢＬＫ間でＮＡＮＤストリング１８を共通に接続する。また選択トランジスタＳＴ２の電流経路の他端は、いずれかのソース線ＳＬに接続されている。ソース線ＳＬは、例えば複数のストリングユニットＳＵ間で、ＮＡＮＤストリング１８を共通に接続する。
【００４１】
前述の通り、同一のブロックＢＬＫ内にあるメモリセルトランジスタＭＴのデータは、一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロックＢＬＫのいずれかのストリングユニットＳＵにおける、いずれかのワード線ＷＬに共通に接続された複数のメモリセルトランジスタＭＴにつき、一括して行われる。この単位が「ページ」となる。
【００４２】
図８は、ｉ型と呼ばれる３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの断面図である。
【００４３】
図示するように、半導体基板の上方のソース線層ＳＬとビット線ＢＬとの間には複数のＮＡＮＤストリング１９が配置されている。ＮＡＮＤストリング１９内の半導体層２６は、１本の柱状の形状（ｉ字型）を有している。半導体基板の上方にソース線層ＳＬが形成され、このソース線層ＳＬ上に複数の柱状の半導体層３０ａ、３０ｂ及び２６が形成される。そして、半導体層３０ａ、３０ｂ及び２６の周囲に、下から順に選択トランジスタＳＴ２、メモリセルトランジスタＭＴ０〜ＭＴ７、及び選択トランジスタＳＴ１が形成されている。さらに、半導体層３０ｂ上にはビット線層ＢＬが形成される。
【００４４】
半導体層２６の側面上にはゲート絶縁膜２５ａ、２５ｂ、２５ｃが形成され、ゲート絶縁膜２５ａ上にはワード線ＷＬ０〜ＷＬ７が形成されている。ワード線ＷＬ０〜ＷＬ７は、それぞれメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートとして働く。半導体層３０ａ、３０ｂの側面上にはゲート絶縁膜２９ａ、２９ｂがそれぞれ形成され、ゲート絶縁膜２９ａ、２９ｂ上にはセレクトゲート線ＳＧＳ、ＳＧＤがそれぞれ形成されている。セレクトゲート線ＳＧＳ、ＳＧＤは、それぞれ選択トランジスタＳＴ２、ＳＴ１のゲートとして働く。なお、本構成の場合には、バックゲートトランジスタＢＴは不要である。
【００４５】
図９は、ｉ型３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイにおけるブロックの構成を示す回路図である。図９は、メモリセルアレイ内の１つのブロックＢＬＫ０の構成を示しているが、その他のブロックＢＬＫも同様の構成を有している。
【００４６】
ブロックＢＬＫ０は複数（本例では２個）のストリングユニットＳＵ０、ＳＵ１を含む。また各々のストリングユニットＳＵは、複数（本例では４個）のＮＡＮＤストリング１９を含む。ＮＡＮＤストリング１９の各々は、例えば６４個のメモリセルトランジスタＭＴと、選択トランジスタＳＴ１，ＳＴ２と、ダミーセルトランジスタＤＴＤ，ＤＴＳとを含んでいる。なお、図９ではダミーセルトランジスタＤＴＤ，ＤＴＳを示すが、図８ではそれらを省略している。
【００４７】
メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持する。なお、メモリセルトランジスタＭＴの個数は６４個に限られず、８個や１６個、３２個、１２８個等であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴ、及びダミーセルトランジスタＤＴＤ，ＤＴＳは、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。この直列接続の一端側のダミーセルトランジスタＤＴＤの電流経路は選択トランジスタＳＴ１の電流経路の一端に接続され、他端側のダミーセルトランジスタＤＴＳの電流経路は選択トランジスタＳＴ２の電流経路の一端に接続されている。
【００４８】
ストリングユニットＳＵの各々の選択トランジスタＳＴ１のゲートは、それぞれセレクトゲート線ＳＧＤ０、ＳＧＤ１に共通接続されている。選択トランジスタＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＳ０、ＳＧＳ１に共通接続される。各ロウ方向のメモリセルトランジスタＭＴの制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ６３に共通接続されている。ダミーセルトランジスタＤＴＤ，ＤＴＳの制御ゲートはそれぞれワード線ＷＬＤＤ，ＷＬＤＳに共通接続されている。
【００４９】
すなわち、ワード線ＷＬ０〜ＷＬ６３は同一ブロックＢＬＫ０内の複数のストリングユニットＳＵ間で共通に接続されているのに対し、セレクトゲート線ＳＧＤ、ＳＧＳは、同一ブロックＢＬＫ０内であってもストリングユニットＳＵ毎に独立している。
【００５０】
また、メモリセルアレイ内でロウ方向に配置されたＮＡＮＤストリング１９の選択トランジスタＳＴ１の電流経路の他端は、いずれかのビット線ＢＬに接続される。すなわち、ビット線ＢＬは、同一のブロックＢＬＫ内における複数のＮＡＮＤストリング１９を共通に接続し、更に複数のブロックＢＬＫ間でＮＡＮＤストリング１９を共通に接続する。また、選択トランジスタＳＴ２の電流経路の他端は、ソース線ＳＲＣに共通に接続されている。
【００５１】
メモリセルアレイ１１１の構成については、例えば、“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００５２】
なお、本実施形態は、図５に示す構成、図６に示す構成、及び図８に示す構成のいずれも適用することが可能である。
【００５３】
図１０は、図５に示す各領域に供給される電圧の例を示している。消去、プログラム、リードにおいて、各領域に図１０に示すような電圧が供給される。ここで、電圧Ｖｅｒａは、データの消去時に基板に印加される電圧である。電圧Ｖｓｓは基準電位、例えば接地電圧であり、電圧Ｖｄｄは電源電圧である。電圧Ｖｐｇｍｈは、データの書き込み時に、ローデコーダ内のＮチャネルＭＯＳトランジスタのゲートに印加される電圧であり、ＮチャネルＭＯＳトランジスタの閾値電圧分低下せずに、ワード線の書き込み電圧Ｖｐｇｍを通すための電位である。つまり、電圧Ｖｐｇｍｈは、ワード線に供給される電圧Ｖｐｇｍ＋Ｖｔｈ（Ｖｔｈ：ＮチャネルＭＯＳトランジスタの閾値電圧）の電圧である。電圧Ｖｒｅａｄｈは、読み出し時に、ローデコーダ内のＮチャネルＭＯＳトランジスタのゲートに印加される電圧であり、ＮチャネルＭＯＳトランジスタの閾値電圧分低下せずに、Ｖｒｅａｄを通すための電位である。つまり、電圧Ｖｒｅａｄｈは、ワード線に供給される電圧であり、読み出し時にＶｒｅａｄ＋Ｖｔｈ（Ｖｔｈ：ＮチャネルＭＯＳトランジスタの閾値電圧）となる電圧である。
【００５４】
その他、データの書き込み時、非選択セルのワード線に供給される電圧としてＶｐａｓｓ、データの読み出し時に非選択ワード線に供給される電圧としてＶｒｅａｄがある。
【００５５】
図１１、図１２は、図３に示したデータ記憶回路１０の一例を示している。データ記憶回路１０は、図１１に示すセンスアンプユニット１０ａと、図１２に示すデータ制御ユニット１０ｂにより構成されている。
【００５６】
図１１に示すように、センスアンプユニット１０ａは、複数のＮチャネルＭＯＳトランジスタ（以下、ＮＭＯＳと称す）２１〜２７と、複数のＰチャネルＭＯＳトランジスタ（以下、ＰＭＯＳと称す）２８、２９と、トランスファーゲート３０、３１、ラッチ回路３２、及びキャパシタ３３とにより構成されている。ラッチ回路３２は、例えばクロックドインバータ回路３２ａ、３２ｂにより構成されている。
【００５７】
ＮＭＯＳ２１の電流通路の一端は、電源Ｖｄｄが供給されるノードに接続されている。ＮＭＯＳ２１の電流通路の他端は、トランスファーゲート３０、ＮＭＯＳ２４、トランスファーゲート３１を介して接地されている。ＮＭＯＳ２４とトランスファーゲート３１の接続ノードには、ＮＭＯＳ２５の電流通路の一端が接続されている。このＮＭＯＳ２５の他端は、メモリセルアレイに配置されたビット線ＢＬに接続されている。ＮＭＯＳ２１の電流通路には、ＮＭＯＳ２２、２３の直列回路が並列接続されている。
【００５８】
また、ＰＭＯＳ２８の電流通路の一端は、電源電圧Ｖｄｄが供給されるノードに接続されている。ＰＭＯＳ２８の電流通路の他端は、ＰＭＯＳ２９を介してラッチ回路３２を構成するインバータ回路３２ａの入力端に接続されるとともに、ＮＭＯＳ２６を介して接地されている。このインバータ回路３２ａと交差接続されたクロックドインバータ回路３２ｂの入力端は、ＮＭＯＳ２７を介してデータ制御ユニット１０ｂに接続されている。また、ＰＭＯＳ２９のゲートは、ＮＭＯＳ２２，２３の接続ノードに接続され、この接続ノードにキャパシタ３３の一端が接続されている。このキャパシタ３３の他端には、クロック信号ＣＬＫが供給されている。
【００５９】
前記制御信号及び制御電圧発生回路（以下、発生回路と記す）７は、以下に述べるように、センスアンプユニット１０ａ内に各種の制御信号（例えば、信号ＢＬＸ、ＬＡＴ、ＩＮＶ、ＢＬＣ、ＢＬＳ、ＨＬＬ、ＸＸＬ、ＳＴＢ、ＲＳＴ、ＮＣＯ）を供給する。
【００６０】
ＮＭＯＳ２１のゲートには、信号ＢＬＸが供給されている。トランスファーゲート３０を構成するＮＭＯＳのゲートには、ラッチ回路３２を構成するインバータ回路３２ａの出力端の信号ＬＡＴが供給されている。トランスファーゲート３０を構成するＰＭＯＳのゲートには、インバータ回路３２ａの入力端の信号ＩＮＶが供給されている。ＮＭＯＳ２４のゲートには、信号ＢＬＣが供給されている。さらに、ＮＭＯＳ２５のゲートには、信号ＢＬＳが供給されている。
【００６１】
トランスファーゲート３１を構成するＮＭＯＳのゲートには、信号ＩＮＶが供給されている。トランスファーゲート３１を構成するＰＭＯＳのゲートには、信号ＬＡＴが供給されている。
【００６２】
ＮＭＯＳ２２のゲートには信号ＨＬＬが供給され、ＮＭＯＳ２３のゲートには、信号ＸＸＬが供給されている。ＰＭＯＳ２８のゲートには信号ＳＴＢが供給され、ＮＭＯＳ２６のゲートにはリセット信号ＲＳＴが供給されている。さらに、ＮＭＯＳ２７のゲートには信号ＮＣＯが供給されている。
【００６３】
上記センスアンプユニット１０ａにおける書き込み動作、読み出し動作、及びプログラムベリファイ読み出し動作について概略的に説明する。
【００６４】
（書き込み動作）
メモリセルにデータを書き込む場合、発生回路７は、以下のような制御信号を供給する。先ず、発生回路７は、信号ＳＴＢをハイレベル（以下、Ｈレベルと記す）、リセット信号ＲＳＴを一旦、Ｈレベルとして、ラッチ回路３２をリセットする。これにより、ラッチ回路３２の信号ＬＡＴがＨレベル、信号ＩＮＶがローレベル（以下、Ｌレベルと記す）となる。
【００６５】
この後、発生回路７は、信号ＮＣＯをＨレベルとする。これにより、データ制御ユニット１０ｂからラッチ回路３２にデータが取り込まれる。このデータが書き込みを示すＬレベル（“０”）である場合、信号ＬＡＴがＬレベル，信号ＩＮＶがＨレベルとなる。また、データが非書き込みを示すＨレベル（“１”）である場合、ラッチ回路３２のデータは変わらず、信号ＬＡＴがＨレベル、信号ＩＮＶがＬレベルのまま保持される。
【００６６】
次いで、発生回路７は、信号ＢＬＸ、ＢＬＣ、ＢＬＳをＨレベルとする。すると、書き込みの場合、すなわちラッチ回路の信号ＬＡＴがＬレベル、信号ＩＮＶがＨレベル（書き込み）の場合、トランスファーゲート３０がオフ、トランスファーゲート３１がオンしてビット線ＢＬは接地電圧Ｖｓｓとなる。この状態において、ワード線がプログラム電圧Ｖｐｇｍとなると、メモリセルにデータが書き込まれる。
【００６７】
一方、非書き込みの場合、すなわちラッチ回路３２の信号ＬＡＴがＨレベル、信号ＩＮＶがＬレベルの場合、トランスファーゲート３０がオン、トランスファーゲート３１がオフとなるため、ビット線ＢＬは電源電圧Ｖｄｄに充電される。ここで、ワード線がプログラム電圧Ｖｐｇｍとなった場合、メモリセルのチャネルが高い電位にブーストされるため、メモリセルにデータが書き込まれない。
【００６８】
（読み出し動作、書き込みベリファイ動作）
メモリセルからデータを読み出す場合、発生回路７は、以下のような制御信号を供給する。先ず、発生回路７は、リセット信号ＲＳＴを一旦、Ｈレベルとして、ラッチ回路３２をリセットする。これにより、ラッチ回路３２の信号ＬＡＴがＨレベル、信号ＩＮＶがＬレベルとなる。
【００６９】
この後、発生回路７は、信号ＢＬＳ、ＢＬＣ、ＢＬＸ、ＨＬＬ、ＸＸＬを所定の電圧とする。これにより、ビット線ＢＬが充電されるとともに、キャパシタ３３のＮｏｄｅが電源電圧Ｖｄｄに充電される。ここで、メモリセルの閾値電圧が読み出しレベルより高い場合、メモリセルはオフ状態であり、ビット線ＢＬはＨレベルに保持される。つまり、ＮｏｄｅはＨレベルに保持される。また、メモリセルの閾値電圧が読み出しレベルより低い場合、メモリセルはオン状態となり、ビット線ＢＬの電荷が放電される。このため、ビット線ＢＬはＬレベルとなる。これにより、ＮｏｄｅもＬレベルとなる。
【００７０】
次いで、発生回路７は、信号ＳＴＢをＬレベルとする。すると、メモリセルがオンしている場合、ＮｏｄｅはＬレベルであるため、ＰＭＯＳ２９がオンする。これにより、ラッチ回路３２の信号ＩＮＶがＨレベル、信号ＬＡＴがＬレベルとなる。一方、メモリセルがオフしている場合、ＮｏｄｅはＨレベルであるため、ＰＭＯＳ２９がオフする。これにより、ラッチ回路３２の信号ＩＮＶがＬレベル、信号ＬＡＴがＨレベルに保持される。
【００７１】
この後、発生回路７は、信号ＮＣＯをＨレベルとする。すると、ＮＭＯＳ２７がオンし、ラッチ回路３２のデータがデータ制御ユニット１０ｂへ転送される。
【００７２】
また、書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作が行われる。このプログラムベリファイ動作は、上記読み出し動作とほぼ同様である。
【００７３】
図１２は、データ記憶回路１０内のデータ制御ユニット１０ｂの一例を示している。図１２に示すデータ制御ユニット１０ｂは、演算回路４０と複数のデータラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬ、及びＮＭＯＳ４１により構成されている。
【００７４】
演算回路４０は、バス（以下、ＩＢＵＳと記す）、トランスファーゲート４２、４３、ラッチ回路４４、及び設定回路４５により構成されている。トランスファーゲート４２、４３は、ＩＢＵＳの両端に接続され、相補的に動作する。ラッチ回路４４は、ＩＢＵＳのデータをラッチする。設定回路４５は、ラッチ回路４４のデータに応じてデータラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬのレベルを設定する。
【００７５】
トランスファーゲート４２は、相補的な信号ＣＯＮＤと信号ＣＯＮＳにより動作し、センスアンプユニット１０ａのバス（以下、ＳＢＵＳと記す）とＩＢＵＳを接続する。トランスファーゲート４３は、相補的な信号ＣＯＮＳと信号ＣＯＮＤにより動作し、ＩＢＵＳとデータラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬが接続されたバス（以下、ＤＢＵＳと記す）とを接続する。トランスファーゲート４２がオンのとき、トランスファーゲート４３はオフであり、トランスファーゲート４２のオフのとき、トランスファーゲート４３がオンである。
【００７６】
ラッチ回路４４は、複数のＰＭＯＳ４６〜４９と、複数のＮＭＯＳ５０〜５６及びインバータ回路６８により構成されている。ＰＭＯＳ４６とＮＭＯＳ５０のゲートにはセット信号ＳＥＴが供給されている。ＰＭＯＳ４８のゲートにはリセット信号ＲＥＳＴが供給されている。ＮＭＯＳ５３のゲートには信号ＩＦＨが供給されている。ＮＭＯＳ５５のゲートには信号ＩＦＬが供給されている。ＮＭＯＳ５４のゲートは、インバータ回路６８を介してＩＢＵＳに接続されている。さらに、ＮＭＯＳ５６のゲートはＩＢＵＳに接続されている。
【００７７】
設定回路４５は、ＰＭＯＳ５７〜６０と、ＮＭＯＳ６１〜６４により構成されている。ＰＭＯＳ５７のゲート及びＮＭＯＳ６１のゲートには、信号ＦＡＩＬが供給されている。この信号ＦＡＩＬは、ラッチ回路４４の一方の出力端としてのＰＭＯＳ４７とＮＭＯＳ５１の接続ノードの信号である。ＰＭＯＳ５９とＮＭＯＳ６３のゲートには、信号ＭＴＣＨが供給されている。この信号ＭＴＣＨは、ラッチ回路４４の他方の出力端としてのＰＭＯＳ４９とＮＭＯＳ５２の接続ノードの信号である。さらに、ＰＭＯＳ５８のゲートには信号Ｍ２ＨＢが供給され、ＰＭＯＳ６０のゲートには信号Ｆ２ＨＢが供給されている。ＮＭＯＳ６２のゲートにはＦ２Ｌが供給され、ＮＭＯＳ６４のゲートには信号Ｍ２Ｌが供給されている。
【００７８】
データラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬは、同一の構成であり、ラッチ回路６６と、このラッチ回路６６をＤＢＵＳに接続するトランスファーゲート６５と、により構成されている。各トランスファーゲート６５は、信号ＢＬＣＡとその相補信号ＢＬＣＡ＿Ｂ、信号ＢＬＣＢとその相補信号ＢＬＣＢ＿Ｂ、信号ＢＬＣＸとその相補信号ＢＬＣＸ＿Ｂにより制御されている。データラッチ回路ＸＤＬは、ＮＭＯＳ４１を介して外部のＩＯに接続される。ＮＭＯＳ４１のゲートには信号ＣＳＬが供給されている。
【００７９】
データ制御ユニット１０ｂは、前述したように、書き込みデータを保持するとともに、読み出し時にメモリセルから読み出されたデータを保持する。
【００８０】
データ入出力バッファ４から供給された２ビットの書き込みデータは、データラッチ回路ＸＤＬを介して、例えばデータラッチ回路ＬＤＬ、ＵＤＬに１ビットずつラッチされる。
【００８１】
図１２に示す演算回路４０は、データラッチ回路ＬＤＬ、ＵＤＬのデータに対してＡＮＤやＯＲ、排他的ＮＯＲ等の演算を実行することが可能である。例えば、ＡＮＤの場合、データラッチ回路ＬＤＬ、ＵＤＬに保持されたデータがＤＢＵＳ及びＩＢＵＳに出力される。この場合、データラッチ回路ＬＤＬ、ＵＤＬに保持されたデータが共に“１”である場合のみ、ＩＢＵＳがＨレベルとなり、その他の場合、Ｌレベルとなる。すなわち、非書き込み時だけＩＢＵＳが“１”となり、書き込み時はＩＢＵＳが“０”となる。このデータを、ＳＢＵＳを介し、図１１に示すセンスアンプユニット１０ａに転送することで、書き込みが行われる。
【００８２】
図１２に示す演算回路４０は、図１１に示したセンスアンプユニット１０ａと、図１２に示したデータラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬをそれぞれ複数用意して、これら複数のセンスアンプユニット１０ａ及びデータラッチ回路に対し、１つの割合で配置することも可能である。これにより、回路面積を削減することが出来る。
【００８３】
演算回路４０の動作は種々変形可能であり、例えば１つの論理演算も種々の制御方法が適用可能であり、必要に応じて制御方法を変えることが可能である。
【００８４】
本実施形態のＮＡＮＤ型フラッシュメモリは、多値メモリである。このため、１セルに２ビットのデータを記憶することができる。この２ビットの切り替えはアドレス（第１ページ、第２ページ）によって行なわれる。１セルに２ビット記憶する場合、２ページであるが、１セルに３ビットを記憶する場合は、アドレス（第１ページ、第２ページ、第３ページ）によって各ビットが切り替えられる。さらに、１セルに４ビットを記憶する場合は、アドレス（第１ページ、第２ページ、第３ページ、第４ページ）によってビットが切り替えられる。
【００８５】
図１３は、本実施形態のメモリセルアレイの記憶領域の構成を概略的に示している。メモリセルアレイ１は、前述したように複数のブロックを有している。本実施形態において、これらブロックＭＬＢは、１つのメモリセルにｎビットを記憶する多値レベルセル（ＭＬＣ）により構成される。
【００８６】
また、本実施形態は、図３に示すように、ロウ方向に並んだ全てのセルを一括して書き込む場合について説明する。
【００８７】
図１４は、メモリセルの書き込み順序の例を示している。ＮＡＮＤ型フラッシュメモリは、ソース線側のメモリセルから順に選択されて書き込まれる。すなわち、図１４に示すように、メモリセル“１”“２”“３”“４”の順にメモリセルが選択される。
【００８８】
図１５は、ブロックＭＬＢのメモリセルに書き込まれる閾値電圧と読み出しレベルを概略的に示している。消去動作によりメモリセルのデータは、“１１”の閾値電圧となる。第１ページとしてのロアーページ（Lower Page）と、第２ページとしてのアッパーページ（Upper Page）の２ビットのデータがメモリセルに書き込まれることにより、メモリセルは、“１０”(“ａ”)、“００” (“ｂ”)、“０１” (“ｃ”)、のいずれかの閾値電圧となる。
【００８９】
また、データの読み出しには、各閾値電圧の間の読み出しレベル“Ａ＿Ｒ”、“Ｂ＿Ｒ”、“Ｃ＿Ｒ”が用いられる。書き込み時のベリファイレベルは、データリテンションマージンを持たせるために、図１５に示すように、読み出し時のレベル“Ａ＿Ｒ”、“Ｂ＿Ｒ”、“Ｃ＿Ｒ”より、それぞれ若干高いレベルＡ＿Ｖ、Ｂ＿Ｖ、Ｃ＿Ｖとされる。すなわち、本実施形態において、読み出し時は読み出しレベルＡ＿Ｒ、Ｂ＿Ｒ、Ｃ＿Ｒが用いられ、書き込みベリファイ時はベリファイレベルＡ＿Ｖ、Ｂ＿Ｖ、Ｃ＿Ｖが用いられる。
【００９０】
以下に、第１の実施形態のプログラムシーケンスについて説明する。このプログラムシーケンスでは、１回目の書き込み動作の直後に、メモリセルの閾値がデトラップにより下がってしまう問題の対策として、再度、ベリファイ動作を含む２回目の書き込み動作を行い、書き込みデータを復元する。
【００９１】
図１６は、第１の実施形態のプログラムシーケンスを示すフローチャートである。図１７は、このプログラムシーケンス時にデータラッチ回路に保持されるデータを示している。図１８は、書き込み時のタイミングチャートの一例を示す。
【００９２】
第１の実施形態のプログラムシーケンスは、１回目の書き込み動作と、この書き込み動作の直後に実行する２回目の書き込み動作を含む。
【００９３】
（１回目の書き込み動作）
図１８に示すように、先ず、信号Ｒｅａｄｙ／Ｂｕｓｙがレディー状態であることを示すＨレベルになると、制御部９内のデータコントローラは、ロアーページのデータを図１２に示すデータラッチ回路ＸＤＬ（以下、ＸＤＬと記す）にロードする。この後、ＸＤＬのデータはデータラッチ回路ＬＤＬ（以下、ＬＤＬと記す）に転送される。続いて、制御部９内のデータコントローラは、アッパーページのデータをＸＤＬにロードする。この後、ＸＤＬのデータはデータラッチ回路ＵＤＬ（以下、ＵＤＬと記す）に転送される。このようにして、図１７（ａ）に示すように、発生回路７は、データラッチ回路ＬＤＬ、ＵＤＬ、ＸＤＬにデータをセットする（図１６のステップＳ１）。
【００９４】
次に、図１６に示すプログラムシーケンスに基づいて、１回目の書き込み動作及び書き込みベリファイ動作を行う。書き込み動作では、メモリセルに対してデータ“ａ”，“ｂ”，“ｃ”の書き込みを行う（ステップＳ２）。このとき、発生回路７は、ＬＤＬにラッチされたデータに基づいて書き込み動作を制御する。すなわち、ＬＤＬのデータが０のとき書き込みを行い、ＬＤＬのデータが１のとき書き込みを行わない（非書き込み）。
【００９５】
ベリファイ動作では、データ“ａ”，“ｂ”，“ｃ”のメモリセルに対して、それぞれのベリファイレベルＡ＿Ｖ，Ｂ＿Ｖ，Ｃ＿Ｖを用いて読み出しが行われる（ステップＳ３，Ｓ４，Ｓ５）。ベリファイ動作の結果、メモリセルの閾値がベリファイレベルを超えている場合、そのメモリセルに対応するＬＤＬのデータは“０”から“１”にセットされる。
【００９６】
その後、プログラムバッファに記憶されたデータ分のメモリセルがベリファイレベルを超えているか否かを判定する。すなわち、“１”にセットされたデータラッチ回路ＬＤＬが規定数以上となったか否かを判定する（ステップＳ６）。“１”にセットされたデータラッチ回路ＬＤＬが規定数以上となった場合、１回目の書き込み動作を終了する。
【００９７】
一方、“１”にセットされたデータラッチ回路ＬＤＬが規定数より少ない場合、書き込み電圧Ｖｐｇｍを若干高くし（ステップアップ）、ステップＳ２に戻り、ステップＳ２の書き込み以降の処理を繰り返す。
【００９８】
これにより、“１”にセットされたデータラッチ回路ＬＤＬが規定数以上になるまで、書き込みと書き込みベリファイ動作とを交互に繰り返す。
【００９９】
ここで、書き込み動作は低い閾値のメモリセルから先に書き込まれるため、データ“ａ”に書き込むメモリセルが無くなると、データラッチ回路ＸＤＬは２回目の書き込み動作のためのデータをラッチしておく必要がなくなる。このため、図１８に示すように、信号Ｒｅａｄｙ／ＢｕｓｙがＨレベルとなり、データラッチ回路ＸＤＬに次の書き込みデータが転送される。すなわち、次の書き込みデータのキャッシュとしてデータラッチ回路ＸＤＬを使用する。これにより、高速な書き込みが可能となる。
【０１００】
（２回目の書き込み動作）
前述したように、規定数以上のデータラッチ回路ＬＤＬが“１”にセットされると、１回目の書き込み動作は完了する。ここで、発生回路７は、データラッチ回路ＵＤＬに、書き込みデータ（ロアーページとアッパーページのデータ）から生成した１ビットのデータをセットする。例えば、演算回路４０は、データラッチ回路ＬＤＬ、ＵＤＬのデータに対して排他的ＮＯＲの演算を行い、図１７（ａ）に示すように、その演算結果（“１” “０” “１” “０”）をデータラッチ回路ＵＤＬにセットする。
【０１０１】
この後、図１６及び図１７（ｂ）,（ｃ）,（ｄ）に示すような２回目の書き込み動作を行う。
【０１０２】
まず、データ“ａ”のメモリセルを再度、書き込むために、以下のような動作を実行する。図１６及び図１７（ｂ）に示すように、読み出しレベルＢＣ＿Ｒを用いて、データ“ａ”であるべきメモリセルを読み出す（ステップＳ１１）。読み出しレベルＢＣ＿Ｒは、読み出しレベルＢ＿ＲとＣ＿Ｒの間のレベルである。読み出したメモリセルの閾値が読み出しレベルＢＣ＿Ｒ以下であり、かつＵＤＬのデータが０の場合、そのメモリセルに対応するＬＤＬのデータを“０”とする。その他の条件の場合は、そのメモリセルに対応するＬＤＬのデータを“１”とする。
【０１０３】
次に、発生回路７は、ＬＤＬのデータが０のとき、このＬＤＬに対応するメモリセルに対してベリファイレベルＡ＿Ｖを用いてベリファイ動作を行う（ステップＳ１２）。続いて、ベリファイ動作の結果、メモリセルの閾値がベリファイレベルＡ＿Ｖ以下であるメモリセルに対して、データ“ａ”とするための書き込みを行う（ステップＳ１３）。
【０１０４】
次に、データ“ｂ”のメモリセルを再度、書き込むために、以下のような動作を実行する。図１６及び図１７（ｃ）に示すように、読み出しレベルＡＢ＿Ｒを用いて、データ“ｂ”であるべきメモリセルを読み出す（ステップＳ１４）。読み出しレベルＡＢ＿Ｒは、読み出しレベルＡ＿ＲとＢ＿Ｒの間のレベルである。読み出したメモリセルの閾値が読み出しレベルＡＢ＿Ｒ以上であり、かつＵＤＬのデータが１の場合、そのメモリセルに対応するＬＤＬのデータを“０”とする。その他の条件の場合は、そのメモリセルに対応するＬＤＬのデータを“１”とする。
【０１０５】
次に、発生回路７は、ＬＤＬのデータが０のとき、このＬＤＬに対応するメモリセルに対してベリファイレベルＢ＿Ｖを用いてベリファイ動作を行う（ステップＳ１５）。続いて、ベリファイ動作の結果、メモリセルの閾値がベリファイレベルＢ＿Ｖ以下であるメモリセルに対して、データ“ｂ”とするための書き込みを行う（ステップＳ１６）。
【０１０６】
次に、データ“ｃ”のメモリセルを再度、書き込むために、以下のような動作を実行する。図１６及び図１７（ｄ）に示すように、読み出しレベルＢＣ＿Ｒを用いて、データ“ｃ”であるべきメモリセルを読み出す（ステップＳ１７）。読み出しレベルＢＣ＿Ｒは、読み出しレベルＢ＿ＲとＣ＿Ｒの間のレベルである。読み出したメモリセルの閾値が読み出しレベルＢＣ＿Ｒ以上であり、かつＵＤＬのデータが０の場合、そのメモリセルに対応するＬＤＬのデータを“０”とする。その他の条件の場合は、そのメモリセルに対応するＬＤＬのデータを“１”とする。
【０１０７】
ここで、データラッチ回路ＵＤＬは２回目の書き込み動作のためのデータをラッチしておく必要がなくなる。このため、データラッチ回路ＸＤＬに次の書き込みデータ（１ページ分）が外部より転送されている場合、データラッチ回路ＸＤＬのデータを、データラッチ回路ＵＤＬに転送する。このため、図１８に示すように、信号Ｒｅａｄｙ／ＢｕｓｙがＨレベルとなり、データラッチ回路ＸＤＬに次の書き込みデータ（１ページ分）が転送される。すなわち、次の書き込みデータ２ページ分のキャッシュとしてデータラッチ回路ＸＤＬとＵＤＬを使用する。これにより、高速な書き込みが可能となる。
【０１０８】
次に、発生回路７は、ＬＤＬのデータが０のとき、このＬＤＬに対応するメモリセルに対してベリファイレベルＣ＿Ｖを用いてベリファイ動作を行う（ステップＳ１８）。続いて、ベリファイ動作において、メモリセルの閾値がベリファイレベルＣ＿Ｖ以下であるメモリセルに対して、データ“ｃ”とするための書き込みを行う（ステップＳ１９）。
【０１０９】
以上説明した第１の実施形態によれば、データ“ａ”,“ｂ”,“ｃ”のメモリセルに書き込まれた書き込みデータを復元するために、読み出しレベルＡ＿Ｒ（データ“ａ”の読み出しレベル）とＢ＿Ｒ（データ“ｂ”の読み出しレベル）の間の電圧ＡＢ＿Ｒと、読み出しレベルＢ＿ＲとＣ＿Ｒ（データ“ｃ”の読み出しレベル）の間の電圧ＢＣ＿Ｒとを用いた読み出し結果と、データラッチ回路ＵＤＬのデータに基づいて、読み出したメモリセルがデータ“ａ”,“ｂ”,“ｃ”のいずれかを決定し、データ“ａ”,“ｂ”,“ｃ”のそれぞれのレベルに書き込んでいく。これにより、メモリセルの書き込み直後の閾値変動の影響を抑制でき、かつ高速な書き込みが可能な半導体記憶装置を提供できる。
【０１１０】
なお、前記第１の実施形態では、ロアーページのデータ０Ｌとアッパーページのデータ０Ｕの２ページ分のデータを入力した後に書き込み動作を行ったが、ロアーページのデータが入力されると、図１５に示すように、データ“ａ”の書き込みが可能となるため、まずデータ“ａ”の書き込みを先に開始し、その後アッパーページのデータが入力された後に、データ“ａ”,“ｂ”,“ｃ”の書き込みを行っても良い。このときのシーケンス図を図１９に示す。図に示すように、ロアーページのデータ０Ｌが入力され、アッパーページのデータ０Ｕが入力される前に書き込み動作を開始しても良い。
【０１１１】
また、２回目の書き込み動作のベリファイレベルは１回目の書き込み動作で行っているベリファイレベルと変えても良い。また、プログラム電圧Ｖｐｇｍ及びプログラム電圧Ｖｐｇｍを印加するパルス時間は変えても良い。さらに、２回目の書き込み動作の後に、２回目の書き込み動作を更に１〜複数回繰り返しても良い。
【０１１２】
以下に、本実施形態のプログラムシーケンスにおける書き込み動作、読み出し動作及び書き込みベリファイ動作の動作波形を説明する。
【０１１３】
図２０及び図２１は、プログラムシーケンスの書き込み動作、読み出し動作、及び書き込みベリファイ動作の動作波形を示している。
【０１１４】
例えば、図１６に示したステップＳ２の書き込み動作では、図２０に示すように、選択ワード線に書き込み電圧Ｖｐｇｍが印加される。ステップＳ３、Ｓ４、Ｓ５の書き込みベリファイ動作では、図２１に示すように、選択ワード線にベリファイレベルＡ＿Ｖ、Ｂ＿Ｖ、Ｃ＿Ｖがそれぞれ印加される。
【０１１５】
また、図１６に示したステップＳ１１、Ｓ１７の書き込みベリファイ動作では、図２１に示すように、選択ワード線に、読み出しレベルＢ＿ＲとＣ＿Ｒの間の読み出しレベルＢＣ＿Ｒが印加される。ステップＳ１４の書き込みベリファイ動作では、図２１に示すように、選択ワード線に、読み出しレベルＡ＿ＲとＢ＿Ｒの間の読み出しレベルＡＢ＿Ｒが印加される。
【０１１６】
ステップＳ１２、Ｓ１５、Ｓ１８の書き込みベリファイ動作では、図２１に示すように、選択ワード線にステップＳ３、Ｓ４、Ｓ５と同じベリファイレベルＡ＿Ｖ、Ｂ＿Ｖ、Ｃ＿Ｖを印加してもよいし、若干異なった値を印加しても良い。
【０１１７】
次に、第１の実施形態の変形例について説明する。
【０１１８】
図２２は、第１の実施形態の変形例のプログラムシーケンスを示すフローチャートである。図２３は、このプログラムシーケンス時にデータラッチ回路に保持されるデータを示している。その他の構成は前記第１の実施形態と同様である。
【０１１９】
この変形例のプログラムシーケンスにおける１回目の書き込み動作は前記第１の実施形態と同様であるため、説明を省略する。ここでは、１回目の書き込み動作の直後に実行する２回目の書き込み動作を説明する。
【０１２０】
（２回目の書き込み動作）
前述したように、規定数以上のデータラッチ回路ＬＤＬが“１”にセットされると、１回目の書き込み動作は完了する。ここで、第１の実施形態と同様に、データラッチ回路ＵＤＬに、図２３（ａ）に示すように、“１” “０” “１” “０”をセットする。この後、図２２及び図２３（ｂ）,（ｃ）,（ｄ）に示すような２回目の書き込み動作を行う。
【０１２１】
まず、データ“ａ”のメモリセルを再度、書き込むために、以下のような動作を実行する。この変形例では、図２２及び図２３（ｂ）に示すように、１回目の書き込み動作の完了後に、ベリファイレベルＡ＿Ｖを用いてベリファイ動作を行う（ステップＳ１２）。
【０１２２】
前述した第１の実施形態では、図１７（ｂ）に示したように、１回目の書き込み動作の完了後に、データラッチ回路ＵＤＬに記憶されているデータと、読み出しレベルＢＣ＿Ｒを用いてメモリセルを読み出し、データ“ａ”と“ｃ”のメモリセルを区分けした。さらに、ベリファイレベルＡ＿Ｖを用いてベリファイ動作を行って、ベリファイレベルＡ＿Ｖより低い閾値のデータ“ａ”のメモリセルを選択した。しかし、データ“ｃ”のメモリセルの閾値が低下し、ベリファイレベルＡ＿Ｖ以下になる可能性は低く、さらにベリファイレベルＡ＿Ｖ以下のデータ“ｃ”のメモリセルにデータ“ａ”とするための書き込みを行ってもデータ“ｃ”のメモリセルに与える影響は小さい。そこで、ここでは読み出しレベルＢＣ＿Ｒを用いた読み出しを削除し、ベリファイレベルＡ＿Ｖを用いてベリファイ動作を行う。
【０１２３】
図１１に示すように、データ記憶回路１０内にはデータラッチ回路ＳＤＬ(３２ａ，３２ｂ)（以下、ＳＤＬと記す）が用意されている。データラッチ回路ＳＤＬには、前記ベリファイレベルＡ＿Ｖを用いたベリファイ動作の結果、メモリセルの閾値レベルがベリファイレベルＡ＿Ｖより低い場合は“０”、メモリセルの閾値レベルがベリファイレベルＡ＿Ｖより高い場合は“１”がラッチされる。
【０１２４】
続いて、ＵＤＬとＳＤＬにラッチされたデータが論理和演算され、その結果がＳＤＬに記憶される。
【０１２５】
次に、発生回路７は、ＳＤＬのデータが０のとき、すなわち、データ“ａ”又はデータ“ｃ”に書き込むメモリセルで且つ、メモリセルの閾値がベリファイレベルＡ＿Ｖ以下であるメモリセルに対して、データ“ａ”とするための書き込みを行う（ステップＳ１３）。その後の図２３（ｃ）,（ｄ）に示す動作は前記第１の実施形態と同様である。
【０１２６】
第１の実施形態の変形例では、データ“ａ”に書き込むメモリセルと、データ“ｃ”に書き込むメモリセルの区別するリード動作を省略することで、プログラムシーケンス中の動作を、前記第１の実施形態より削減できるため、高速な書き込みが可能である。その他の構成及び効果は前記第１の実施形態と同様である。
【０１２７】
［第２の実施形態］
次に、第２の実施形態の半導体記憶装置について説明する  
図２４は、第２の実施形態のプログラムシーケンスを示すフローチャートである。図２５は、このプログラムシーケンス時にデータラッチ回路に保持されるデータを示している。その他の構成は、前記第１の実施形態と同様である。
【０１２８】
この第２の実施形態のプログラムシーケンスにおける１回目の書き込み動作は前記第１の実施形態と同様であり、ここでは、１回目の書き込み動作の直後に実行する２回目の書き込み動作を説明する。
【０１２９】
（２回目の書き込み動作）
前述したように、規定数以上のデータラッチ回路ＬＤＬが“１”にセットされると、１回目の書き込み動作は完了する。ここで、第１の実施形態と同様に、データラッチ回路ＵＤＬに、図２５（ａ）に示すように、“１” “０” “１” “０”をセットする。この後、図２４及び図２５（ｂ）,（ｃ）,（ｄ）に示すような２回目の書き込み動作を行う。
【０１３０】
ここで、データラッチ回路ＬＤＬは２回目の書き込み動作のためのデータをラッチしておく必要がなくなる。このため、データラッチ回路ＸＤＬに次の書き込みデータ（１ページ分）が外部より転送されている場合、データラッチ回路ＸＤＬのデータを、データラッチ回路ＬＤＬに転送する。このため、図１８に示すように、信号Ｒｅａｄｙ／ＢｕｓｙがＨレベルとなり、データラッチ回路ＸＤＬに次の書き込みデータ（１ページ分）が転送される。すなわち、次の書き込みデータ２ページ分のキャッシュとしてデータラッチ回路ＸＤＬとＬＤＬを使用する。これにより、高速な書き込みが可能となる。
【０１３１】
まず、データ“ａ”のメモリセルを再度、書き込むために、以下のような動作を実行する。この第２の実施形態では、図２４及び図２５（ｂ）に示すように、１回目の書き込み動作の完了後に、第１の実施形態の変形例と同様に、ベリファイレベルＡ＿Ｖを用いてベリファイ動作を行う（ステップＳ１２）。
【０１３２】
前記ベリファイレベルＡ＿Ｖを用いたベリファイ動作の結果、メモリセルの閾値レベルがベリファイレベルＡ＿Ｖより低い場合は“０”、メモリセルの閾値レベルがベリファイレベルＡ＿Ｖより高い場合は“１”がデータラッチ回路ＳＤＬにラッチされる。
【０１３３】
続いて、ＵＤＬとＳＤＬにラッチされたデータが論理和演算された結果と、ＵＤＬとＳＤＬにラッチされたデータの反転データが論理和演算された結果とが、ＳＤＬとＵＤＬにそれぞれ記憶される。ここで、ＵＤＬが０となるのは、元々のＵＤＬが“１”のデータを保持していた場合（すなわち、書き込みInhibitのメモリセル又は、データ“ｂ”に書き込むセル）で且つ、ベリファイレベルＡ＿Ｖ以上であるが、書き込みInhibitのメモリセルがベリファイレベルＡ＿Ｖ以上の閾値になる可能性は低いため、データ“ｂ”に書き込むセルのみとなる。
【０１３４】
次に、発生回路７は、ＳＤＬのデータが０のとき、すなわち、データ“ａ”又はデータ“ｃ”に書き込むメモリセルで且つ、メモリセルの閾値がベリファイレベルＡ＿Ｖ以下であるメモリセルに対して、データ“ａ”とするための書き込みを行う（ステップＳ１３）。
【０１３５】
次に、データ“ｂ”のメモリセルを再度、書き込むために、以下のような動作を実行する。図２４及び図２５（ｃ）に示すように、ベリファイレベルＢ＿Ｖを用いてベリファイ動作を行う（ステップＳ１５）。前記ベリファイレベルＢ＿Ｖを用いたベリファイ動作の結果、メモリセルの閾値レベルがベリファイレベルＢ＿Ｖより低い場合は“０”、メモリセルの閾値レベルがベリファイレベルＢ＿Ｖより高い場合は“１”がデータラッチ回路ＳＤＬにラッチされる。
【０１３６】
続いて、ＵＤＬとＳＤＬにラッチされたデータが論理和演算された結果と、ＵＤＬとＳＤＬにラッチされたデータの反転データが論理和演算された結果とが、ＳＤＬとＵＤＬにそれぞれ記憶される。ここで、ＵＤＬが０となるのは、元々のＵＤＬが“１”のデータを保持していた場合（すなわち、書き込みＩｎｈｉｂｉｔのメモリセル、データ“ａ”、“ｃ”に書き込むセル）で且つ、ベリファイレベルＢ＿Ｖ以上であるが、書き込みＩｎｈｉｂｉｔのメモリセル、又は、データ“ａ”に書き込むセルが、ベリファイレベルＢ＿Ｖ以上の閾値になる可能性は低いため、データ“ｃ”に書き込むセルのみとなる。
【０１３７】
次に、発生回路７は、ＳＤＬのデータが０のとき、すなわち、データ“ｂ”に書き込むセルで且つ、メモリセルの閾値がベリファイレベルＢ＿Ｖ以下であるメモリセルに対して、データ“ｂ”とするための書き込みを行う（ステップＳ１６）。
【０１３８】
次に、データ“ｃ”のメモリセルを再度、書き込むために、以下のような動作を実行する。図２４及び図２５（ｄ）に示すように、ベリファイレベルＣ＿Ｖを用いてベリファイ動作を行う（ステップＳ１８）。前記ベリファイレベルＣ＿Ｖを用いたベリファイ動作の結果、メモリセルの閾値レベルがベリファイレベルＣ＿Ｖより低い場合は“０”、メモリセルの閾値レベルがベリファイレベルＣ＿Ｖより高い場合は“１”がデータラッチ回路ＳＤＬにラッチされる。
【０１３９】
続いて、ＵＤＬとＳＤＬにラッチされたデータが論理和演算され、その結果がＳＤＬとＵＤＬに記憶される。
【０１４０】
次に、発生回路７は、ＳＤＬのデータが０のとき、すなわち、データ“ｃ”に書き込むセルで且つ、メモリセルの閾値がベリファイレベルＣ＿Ｖ以下であるメモリセルに対して、データ“ｃ”とするための書き込みを行う（ステップＳ１９）。
【０１４１】
ここで、データラッチ回路ＵＤＬは２回目の書き込み動作のためのデータをラッチしておく必要がなくなる。このため、ＵＤＬを次の書き込みデータを保持するデータラッチ回路などとして使用することも可能である。
【０１４２】
また、２回目の書き込み動作のベリファイレベルは１回目の書き込み動作で行っているベリファイレベルと変えても良い。また、プログラム電圧Ｖｐｇｍ及びプログラム電圧Ｖｐｇｍを印加するパルス時間は変えても良い。
【０１４３】
データ“ｃ”とするための書き込み後、プログラムシーケンスが終了するが、再度、２回目の書込み動作を１〜複数回繰り返しても良い。
【０１４４】
第２の実施形態では、前記第１の実施形態における、読み出しレベルＡＢ＿Ｒを用いた読み出しはベリファイレベルＡ＿Ｖを用いたベリファイ動作での結果を使用し、読み出しレベルＢＣ＿Ｒを用いた読み出しはベリファイレベルＢ＿Ｖを用いたベリファイ動作での結果を使用することにより、読み出しレベルＡＢ＿Ｒ及びＢＣ＿Ｒを用いた予備リードに掛かる時間を省くことができる。これにより、高速な書き込みが可能である。その他の構成及び効果は前記第１の実施形態と同様である。
【０１４５】
［第３の実施形態］
次に、第３の実施形態の半導体記憶装置について説明する。この第３の実施形態では、前記第１の実施形態にて説明した１回目の書き込み動作と２回目の書き込み動作とを別々のシーケンスにて実行する。  
図２６（ａ）,（ｂ）は、第３の実施形態のプログラムシーケンスを示すフローチャートである。図２６（ａ）に示す１回目のプログラムシーケンスは、前記第１の実施形態、前記第１の実施形態の変形例又は前記第２の実施形態における１回目の書き込み動作と同様である。図２６（ｂ）に示す２回目のプログラムシーケンスは、前記第１の実施形態における２回目の書き込み動作と同様である。なお、ここで、図２６（ｂ）に示す２回目のプログラムシーケンスの代わりに、前記第１の実施形態の変形例又は前記第２の実施形態における２回目の書き込み動作と同様に行っても良い。
【０１４６】
図２６（ａ）に示す１回目のプログラムシーケンスにより、メモリセルに対して２ビットのデータ、すなわちデータ“ａ”,“ｂ”,“ｃ”の書き込みを行い、１回目のプログラムシーケンスを終了する。その後、一定時間を置いて、前記図２６（ｂ）に示す２回目のプログラムシーケンスにより、再度、同じメモリセルに対して２ビットのデータの書き込みを行う。
【０１４７】
２回目のプログラムシーケンスでは、２ビットの書き込みデータから生成した１ビットのデータを用いて２回目の書き込み動作を行う。この２回目のプログラムシーケンスの書き込みデータは、図２又は図３に示したデータ記憶回路に保持しても良いが、保持するためのラッチ回路を新たに設けても良い。ラッチ回路を新たに設けると、チップサイズが大きくなり問題がある場合は、２回目のプログラムシーケンスの書き込みデータを一部のメモリセルに２値データとして記憶しても良い。また、外部のコントローラから再度、データをメモリに転送しても良い。いずれの場合でも、２ビット分のデータは必要無く、２ビットから生成した１ビットのデータのみでよいため、データの転送時間及びメモリ領域を抑えることが可能である。
【０１４８】
前記２回目のプログラムシーケンスは、書き込み対象のメモリセルに隣接するメモリセルに対して書き込みを行った後に、実行するようにしてもよい。以下に、図２７を参照して一例を説明する。
【０１４９】
図２７は、ｉ型と呼ばれる３次元構造のＮＡＮＤ型フラッシュメモリのメモリセルアレイの構成を示す回路図である。メモリセルアレイには複数のＮＡＮＤストリング１９が配置されている。１つのＮＡＮＤストリング１９は、例えば直列接続された例えば６４個のＥＥＰＲＯＭからなるメモリセルＭＣと、ダミーセルトランジスタＤＴＤ，ＤＴＳと、選択トランジスタＳＧＳ，ＳＧＤとにより構成されている。直列接続された複数のメモリセルＭＣの一端には選択トランジスタＳＧＳ０−ＳＧＳ３がそれぞれ接続されている。前記複数のメモリセルＭＣの他端には選択トランジスタＳＧＤ０−ＳＧＤ３がそれぞれ接続されている。
【０１５０】
複数のＮＡＮＤストリング１９の一端は、ソース線ＳＲＣに接続されている。複数のＮＡＮＤストリング１９の他端は、ビット線ＢＬに接続されている。さらに、各ロウ方向に配置されたメモリセルＭＣの制御ゲートは、ワード線ＷＬＤＳ，ＷＬ１−ＷＬ６３，ＷＬＤＤにそれぞれ共通接続されている。
【０１５１】
なお、選択トランジスタＳＧＳ０−ＳＧＳ３のゲートは共通の配線ＳＧＳに接続し、其々のメモリセルストリングの選択は選択トランジスタＳＧＤ０−ＳＧＤ３で行っても良い。また、選択トランジスタＳＧＳ、ＳＧＤともにメモリセルと同じＭＯＮＯＳ構造のメモリセルトランジスタで形成してもよい。
【０１５２】
このような構成を有するメモリセルアレイにおいて、１回目のプログラムシーケンスにより、図２７に示すように、（１）→（２）→（３）→（４）の順序でメモリセルに書き込みを行う。その後、２回目のプログラムシーケンスにより、（１）→（２）→（３）→（４）の順序でメモリセルに再度、書き込みを行う。
【０１５３】
また、１回目のプログラムシーケンスにより、（５）→（６）→（７）→（８）の順序でメモリセルに書き込みを行う。その後、２回目のプログラムシーケンスにより、（５）→（６）→（７）→（８）の順序でメモリセルに再度、書き込みを行う。
【０１５４】
また、別の書き込み順番として、１回目のプログラムシーケンスにより、図２７に示すように、（１）→（２）→（３）→（４）の順序でメモリセルに書き込みを行う。次に、１回目のプログラムシーケンスにより、（５）→（６）→（７）→（８）の順序でメモリセルに書き込みを行う。その後、２回目のプログラムシーケンスにより、（１）→（２）→（３）→（４）の順序でメモリセルに再度、書き込みを行う。次に、１回目のプログラムシーケンスにより、（９）→（１０）→（１１）→（１２）の順序でメモリセルに書き込みを行う。その後、２回目のプログラムシーケンスにより、（５）→（６）→（７）→（８）の順序でメモリセルに再度、書き込みを行う。
【０１５５】
また、リードディスターブの緩和の為、選択トランジスタＳＧＳを選択トランジスタＳＧＤ０−ＳＧＤ３のように分けなくてはならない場合で加工が難しい場合は、図２８に示すように、選択トランジスタＳＧＳをデプレッション型（D-type）（(D)で示す）とエンハンスメント型（E-type）（(E)で示す）のトランジスタで形成する。
【０１５６】
例えば、ＮＡＮＤストリングＮＳ０を選択する場合、選択トランジスタＳＧＳ０のD-typeがオン、E-typeがオフとなるようなＬレベルの電圧を印加し、選択トランジスタＳＧＳ１−ＳＧＳ３にはD-type及びE-type共にオンとなるようなＨレベルの電圧を印加することにより、ＮＡＮＤストリングＮＳ０のみ選択することも可能である。
【０１５７】
ＮＡＮＤストリングＮＳ１を選択する場合、選択トランジスタＳＧＳ１のD-typeがオン、E-typeがオフとなるようなＬレベルの電圧を印加し、選択トランジスタＳＧＳ０、ＳＧＳ２、ＳＧＳ３にはD-type及びE-type共にオンとなるようなＨレベルの電圧を印加することにより、ＮＡＮＤストリングＮＳ１のみ選択することも可能である。
【０１５８】
同様に、ＮＡＮＤストリングＮＳ２を選択する場合、選択トランジスタＳＧＳ２にＬレベルの電圧を印加し、選択トランジスタＳＧＳ０、ＳＧＳ１、ＳＧＳ３にＨレベルの電圧を印加することにより、ＮＡＮＤストリングＮＳ２のみ選択することも可能である。ＮＡＮＤストリングＮＳ３を選択する場合、選択トランジスタＳＧＳ３にＬレベルの電圧を印加し、選択トランジスタＳＧＳ０−ＳＧＳ２にＨレベルの電圧を印加することにより、ＮＡＮＤストリングＮＳ３のみ選択することも可能である。
【０１５９】
次に、第３の実施形態の変形例について説明する。
【０１６０】
図２９は、第３の実施形態の変形例のプログラムシーケンスを示すフローチャートである。図２９（ａ）に示す１回目のプログラムシーケンスは、前記第３の実施形態の図２６（ａ）に示した１回目のプログラムシーケンスと同様である。図２９（ｂ）,（ｃ）に示す２回目のプログラムシーケンスのうち、図２９（ｂ）に示すプログラムシーケンスは図２６（ｂ）に示した２回目のプログラムシーケンスと同様であり、図２９（ｃ）に示すプログラムシーケンスがこの変形例で追加されたシーケンスである。
【０１６１】
なお、ここで、図２９（ｂ）に示す２回目のプログラムシーケンスの代わりに、前記第１の実施形態の変形例又は前記第２の実施形態における２回目の書き込み動作と同様に行っても良い。
【０１６２】
図２９（ｂ）に示すデータ“ｃ”とするための書き込みを行った（ステップＳ１９）後、図２９（ｃ）に示すように、データ“ａ”，“ｂ”，“ｃ”のメモリセルに対して、それぞれの読み出しレベルＡ＿Ｒ，Ｂ＿Ｒ，Ｃ＿Ｒを用いて読み出しを行う（ステップＳ２２，Ｓ２３，Ｓ２４）。
【０１６３】
その後、プログラムバッファに記憶されたデータ分のメモリセルがベリファイレベルを超えているか否かを判定する。すなわち、“１”にセットされたデータラッチ回路ＬＤＬが規定数以上となったか否かを判定する（ステップＳ２５）。“１”にセットされたデータラッチ回路ＬＤＬが規定数以上となった場合、２回目のプログラムシーケンスを終了する。
【０１６４】
一方、“１”にセットされたデータラッチ回路ＬＤＬが規定数より少ない場合、書き込み電圧Ｖｐｇｍを若干高くし（ステップアップ）、ステップＳ２１に戻り、ステップＳ２１の書き込み以降の処理を行う。
【０１６５】
これにより、プログラム動作が正常に終了するまで、書き込み動作と書き込みベリファイ動作とを交互に繰り返す。
【０１６６】
前記変形例では、前記第３の実施形態における２回目のプログラムシーケンスの終了後に、再度、読み出しレベルＡ＿Ｒ，Ｂ＿Ｒ，Ｃ＿Ｒを用いて読み出しが行われ、メモリセルの閾値がベリファイレベルに達していない場合、再度、書き込み動作及び書き込みベリファイ動作を繰り返している。
【０１６７】
前記第３の実施形態及び変形例によれば、例えば、ページ内あるいはブロック内のメモリセルに対して１回目のプログラムシーケンスを実行した後、同じページ内あるいはブロック内のメモリセルに対して２回目のプログラムシーケンスを実行することにより、データラッチ回路にデータを供給するデータコントローラは２ビットのデータを記憶しておく必要がなく、１ビットのデータを記憶しておくだけでよいため、データコントローラを含む制御部の負担を減らすことができる。
【０１６８】
以上説明したように本実施形態によれば、１回目の書き込み動作中、低い閾値への書き込みが完了後、書き込みで使用しなくなったデータラッチ回路を次の書き込み用のキャッシュとして使用する。さらに、追加の２回目の書き込み動作において書き込み前に、各データの閾値レベル間で読み出したデータと、２ビットの書き込みデータから生成した１ビットのデータにより、書き込みデータを復元しこのデータに基づき、２回目の書き込み動作を行う。これにより、２回目の書き込み動作が終了する前に、データラッチ回路を次の書き込み用のキャッシュとして使用可能とする。
【０１６９】
［第４の実施形態］
図３０は、第４の実施形態の半導体記憶装置のプログラムシーケンスにおける書き込み動作と書き込みベリファイ動作を示している。
【０１７０】
第１−第３の実施形態では、１回目のプログラムシーケンスの後に、２回目のプログラムシーケンスの動作を行っていたが、１つの書き込み動作と書き込みベリファイ動作の繰り返しのプログラムシーケンスで、一旦、書き込みベリファイがパスとなり、このメモリセルに対してはプログラムInhibitとして次の書き込み電圧を与え、次の書き込みベリファイでこのメモリセルがFailとなった場合に、その次の書き込み電圧を与えるときには、このメモリセルに対しては書き込みとして、再書き込みを行うことも可能である。
【０１７１】
しかし、書き込み動作と書き込みベリファイ動作の繰り返しで書き込み電圧Ｖｐｇｍはステップごとに電圧値を増加させているため、この時、書き込みの書き込み電圧Ｖｐｇｍは高い電圧となっている可能性があり、オーバープログラムしてしまう可能性がある。このため、この再書き込み時には、ビット線に中間電圧を印加し、メモリセルのゲートとチャネル間の電位を緩和することで書き込むことも可能である。このようにして、２回書き込みベリファイがパスになると、それ以降の書き込みは非書き込みとすることも可能である。このようにすることで、一旦、書き込みベリファイがパスとなった後、メモリセルの閾値Ｖthがデトラップによって下がる場合でも、再度書き込みを行うことにより、デトラップの問題を解決できる。
【０１７２】
以上述べたように実施形態では、メモリセルの書き込み直後の閾値変動の影響を抑制でき、且つ高速な書き込みが可能な半導体記憶装置を提供できる。
【０１７３】
また、本実施形態は、２ビットのデータを記憶可能なメモリセルに適用する場合を例に挙げ説明したが、ｎビット（ｎは２以上の自然数）のデータを記憶可能なメモリセルにも適用することができる。
【０１７４】
また、本実施形態は、ＮＡＮＤ型フラッシュメモリに限らず、その他の記憶装置全般に適用できる。また、各実施形態はそれぞれが単独で実施されても良いが、組み合わせ可能な複数の実施形態が組み合わされて実施されても良い。
【０１７５】
なお、本発明に関する各実施形態において、
（１）読み出し動作では、
Aレベル（データ“ａ”）の読み出し動作に選択されたワード線に印加される電圧は、例えば０V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V, 0.21V〜0.31V, 0.31V〜0.4V, 0.4V〜0.5V, 0.5V〜0.55Vいずれかの間にしてもよい。
【０１７６】
Bレベル（データ“ｂ”）の読み出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V, 1.8V〜1.95V, 1.95V〜2.1V,  2.1V〜2.3Vいずれかの間にしてもよい。
【０１７７】
Cレベル（データ“ｃ”）の読み出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V, 3.2V〜3.4V, 3.4V〜3.5V, 3.5V〜3.6V, 3.6V〜4.0Vいずれかの間にしてもよい。
【０１７８】
読み出し動作の時間（tR）としては、例えば25μs〜38μs, 38μs〜70μs, 70μs〜80μsの間にしてもよい。
【０１７９】
（２）書き込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書き込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V, 14.0V〜14.6Vいずれかの間としてもよい。奇数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書き込む際の、選択されたワード線に最初に印加される電圧を変えてもよい。
【０１８０】
プログラム動作をISPP方式（Ｉｎｃｒｅｍｅｎｔａｌ Ｓｔｅｐ Ｐｕｌｓｅ Ｐｒｏｇｒａｍ）としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
【０１８１】
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としてもよい。
【０１８２】
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
【０１８３】
書き込み動作の時間（tProg）としては、例えば1700μs〜1800μs, 1800μs〜1900μs, 1900μs〜2000μsの間にしてもよい。
【０１８４】
（３）消去動作では、
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V, 14.8V〜19.0V, 19.0〜19.8V, 19.8V〜21Vの間であってもよい。
【０１８５】
消去動作の時間（tErase）としては、例えば3000μs〜4000μs, 4000μs〜5000μs, 4000μs〜9000μsの間にしてもよい。
【０１８６】
（４）メモリセルの構造は、
半導体基板（シリコン基板）上に膜厚が４〜１０ｎｍのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が２〜３ｎｍのＳｉＮ、またはＳｉＯＮなどの絶縁膜と膜厚が３〜８ｎｍのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはＲｕなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が３〜１０ｎｍの下層Ｈｉｇｈ−ｋ膜と膜厚が３〜１０ｎｍの上層Ｈｉｇｈ−ｋ膜に挟まれた膜厚が４〜１０ｎｍのシリコン酸化膜を有している。Ｈｉｇｈ−ｋ膜はＨｆＯなどが挙げられる。また、シリコン酸化膜の膜厚はＨｉｇｈ−ｋ膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が３〜１０ｎｍの仕事関数調整用の材料を介して膜厚が３０ｎｍ〜７０ｎｍの制御電極が形成されている。ここで仕事関数調整用の材料はＴａＯなどの金属酸化膜、ＴａＮなどの金属窒化膜である。制御電極にはＷなどを用いることができる。
【０１８７】
また、メモリセル間にはエアギャップを形成することができる。
【０１８８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１８９】
１…メモリセルアレイ、２…ビット線制御回路、３…カラムデコーダ、４…データ入出力バッファ、５…データ入出力端子、６…ワード線制御回路、７…制御信号及び制御電圧発生回路、８…制御信号入力端子、９…制御部、１０…データ記憶回路、１０ａ…センスアンプユニット、１０ｂ…データ制御ユニット。
【図１】
2015204126.tif 000003
【図２】
2015204126.tif 000004
【図３】
2015204126.tif 000005
【図４】
2015204126.tif 000006
【図５】
2015204126.tif 000007
【図６】
2015204126.tif 000008
【図７】
2015204126.tif 000009
【図８】
2015204126.tif 000010
【図９】
2015204126.tif 000011
【図１０】
2015204126.tif 000012
【図１１】
2015204126.tif 000013
【図１２】
2015204126.tif 000014
【図１３】
2015204126.tif 000015
【図１４】
2015204126.tif 000016
【図１５】
2015204126.tif 000017
【図１６】
2015204126.tif 000018
【図１７】
2015204126.tif 000019
【図１８】
2015204126.tif 000020
【図１９】
2015204126.tif 000021
【図２０】
2015204126.tif 000022
【図２１】
2015204126.tif 000023
【図２２】
2015204126.tif 000024
【図２３】
2015204126.tif 000025
【図２４】
2015204126.tif 000026
【図２５】
2015204126.tif 000027
【図２６】
2015204126.tif 000028
【図２７】
2015204126.tif 000029
【図２８】
2015204126.tif 000030
【図２９】
2015204126.tif 000031
【図３０】
2015204126.tif 000032