(57)【要約】      （修正有）【課題】誤読み出しの確率を小さくすることが可能な半導体装置を提供する。【解決手段】半導体装置は、複数のワード線、及び複数のビット線に接続された複数のメモリセルが配置されたメモリセルアレイと、制御回路とを具備し、前記制御回路は、書き込み動作において、複数のワード線のうち選択ワード線に第１電圧を与え、前記複数のビット線に前記複数のメモリセルに書き込むデータに応じて第２電圧、または、前記第２電圧よりも高い第３電圧を与え、前記制御回路は、前記書き込み動作の結果、前記複数のメモリセルのうち過書き込みされた第１メモリセルについて、前記第１メモリセルに接続されたビット線に前記第３電圧以上の第４電圧与え、前記選択ワード線に前記第４電圧よりも低い第５電圧を与える。【選択図】図２
2014078306.tif 000002
【特許請求の範囲】
【請求項１】
複数のワード線、及び複数のビット線に接続された複数のメモリセルが配置されたメモリセルアレイと、
制御回路とを具備し、
前記制御回路は、書き込み動作において、複数のワード線のうち選択ワード線に第１電圧を与え、前記複数のビット線に前記複数のメモリセルに書き込むデータに応じて第２電圧、または、前記第２電圧よりも高い第３電圧を与え、
前記制御回路は、前記書き込み動作の結果、前記複数のメモリセルのうち過書き込みされた第１メモリセルについて、前記第１メモリセルに接続されたビット線に前記第３電圧以上の第４電圧与え、前記選択ワード線に前記第４電圧よりも低い第５電圧を与えることを特徴とする半導体記憶装置。
【請求項２】
前記制御回路は、前記複数のメモリセルのしきい値電圧が第１の設定値以上に書き込まれたかどうかを判断する第１ベリファイと、前記第１メモリセルのしきい値電圧が前記第１の設定値とは異なる第２の設定値以下であるかどうかを判定する第２ベリファイを行うことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記制御回路は、前記第１ベリファイと前記第２ベリファイを同時におこなうことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記制御回路は、前記選択ワード線に前記第１電圧を与えた後、連続して前記第５電圧にするとともに、前記第１メモリセルに接続されたビット線に前記第４電圧を与えることを特徴とする請求項１乃至請求項３のいずれかに記載の半導体記憶装置。
【請求項５】
前記制御回路は、前記第１メモリセル以外に接続されたビット線に前記第２電圧を与えることを特徴とする請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に係わり、例えば分布を用いてデータを記憶する半導体記憶装置の書き込み動作に関する。
【背景技術】
【０００２】
半導体記憶装置は、例えば、しきい値分布や抵抗分布にデータを割り当て、データを記憶している。ここで分布幅が広くなるとデータの誤読み出しの可能性が大きくなる。ここで、分布幅が広くなる原因の１つとして過書き込みが問題となってきている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０７０７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、誤読み出しの確率を小さくすることが可能な半導体装置を提供しようとするものである。
【課題を解決するための手段】
【０００５】
本実施形態の半導体装置の一例は、複数のワード線、及び複数のビット線に接続された複数のメモリセルが配置されたメモリセルアレイと、制御回路とを具備し、前記制御回路は、書き込み動作において、複数のワード線のうち選択ワード線に第１電圧を与え、前記複数のビット線に前記複数のメモリセルに書き込むデータに応じて第２電圧、または、前記第２電圧よりも高い第３電圧を与え、前記制御回路は、前記書き込み動作の結果、前記複数のメモリセルのうち過書き込みされた第１メモリセルについて、前記第１メモリセルに接続されたビット線に前記第３電圧以上の第４電圧与え、前記選択ワード線に前記第４電圧よりも低い第５電圧を与えることを特徴とする。
【図面の簡単な説明】
【０００６】
【図１】ＮＡＮＤ型フラッシュメモリの構成の一例を示すブロック図。
【図２】メモリセルアレイの回路構成の一例を示す回路図。
【図３】センスアンプ回路及びデータラッチ回路の一例を示すブロック図。
【図４】センスアンプの一例を示す回路図。
【図５】（ａ）（ｂ）はメモリセルのしきい値分布の一例を示す図。
【図６】第１の実施形態に係る上位ページの書き込み動作の一例を示すフローチャート。
【図７】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図８】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図９】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図１０】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図１１】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図１２】弱消去動作の電圧の一例を示すタイミングチャート。
【図１３】ＮＡＮＤストリングのビット線方向に沿った断面と電圧の関係の一例を示す図。
【図１４】第２の実施形態に係るセンスアンプ回路及びデータラッチ回路の一例を示すブロック図。
【図１５】第２の実施形態に係る上位ページの書き込み動作の一例を示すフローチャート。
【図１６】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図１７】上位ページ書き込み時におけるデータラッチの状態の一例を示す表。
【図１８】プログラム動作及び弱消去動作の電圧の一例を示すタイミングチャート。
【図１９】ＮＡＮＤストリングのビット線方向に沿った断面と電圧の関係の一例を示す図。
【発明を実施するための形態】
【０００７】
以下、本発明の実施の形態について、図面を参照して説明する。先ず、図１乃至図２を用いて、本実施形態に適用できる半導体装置の一例としてＮＡＮＤ型フラッシュメモリの構成を例に挙げて説明する。
【０００８】
図１は、ＮＡＮＤ型フラッシュメモリの構成の一例を示すブロック図である。ＮＡＮＤ型フラッシュメモリ１００は、データを記憶するメモリセルＭＣをマトリクス状に配置してなるメモリセルアレイ１を備えている。このメモリセルアレイ１は、複数のビット線ＢＬ、複数のワード線ＷＬ、ソース線ＳＲＣ、及び複数のメモリセルＭＣを含む。メモリセルＭＣは、１つのメモリセルにｎビット（ｎは２以上の自然数）のデータＤＴを記憶することができる。
【０００９】
ホストまたはメモリコントローラＨＭから供給されたＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤはコマンド・アドレスバッファ７に、データＤＴは、データＩＯバッファ８にそれぞれ入力される。データＩＯバッファ８に入力されたデータは、データラッチ回路９に入力され、ビット線制御回路６によってセンスアンプ回路２に入力される。また、メモリセルアレイ１のメモリセルから読み出されたデータはセンスアンプによりデータが取り出され、データラッチ回路９に保持される。読み出されたデータは、データラッチ回路９からデータＩＯバッファ８を介してホストまたはメモリコントローラＨＭに出力される。
【００１０】
また、各種コマンドＣＭＤ及びアドレスＡＤＤは、ワード線制御回路３、及び、ビット線制御回路６にそれぞれ入力される。制御回路７は、ワード線制御回路３、電源回路４、ビット線制御回路６、コマンド・アドレスバッファ７、データＩＯバッファ８、データラッチ回路９及び検知回路１０を制御する。制御回路７の制御により、電源回路４が書き込み、読み出し、消去に必要な電圧を発生させ、メモリセルアレイ１、ワード線制御回路３及びビット線制御回路６に電圧を供給する。ビット線制御回路６はビット線ＢＬの電圧を制御し、ワード線制御回路３はワード線ＷＬの電圧を制御する。コマンドＣＭＤ及びアドレスＡＤＤはビット線制御回路６、ワード線制御回路３に入力されメモリセルアレイ１の対応するメモリセルにデータを記憶し、読み出し、消去する。また、コマンドは、例えば、制御信号ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、ＷＥ（ライト・イネーブル）、ＲＥ（リード・イネーブル）などである。
【００１１】
図２は、図１に示すメモリセルアレイ１の回路構成の一例を示している。メモリセルアレイ１には複数のメモリセルＭＣが配置されている。１つのＮＡＮＤストリングＮＳは、ビット線方向に直列接続された例えば６４個のメモリセルＭＣからなるメモリストリングと、選択トランジスタＳＤ、ＳＳとにより構成されている。なお、メモリストリングと選択トランジスタＳＤの間、メモリストリングと選択トランジスタＳＳの間にダミーメモリセルＤＭＣが配置されていても良い。
【００１２】
ＮＡＮＤストリングＮＳはワード線方向に複数個配置（図２の例では、ｍ＋１個）され、ＮＡＮＤストリングＮＳの一端に複数のビット線ＢＬのうち１つが接続され、他端には共通ソース線ＣＥＬＳＲＣが接続されている。なお、ＮＡＮＤストリングＮＳはワード線方向に複数個配置され、ＮＡＮＤストリングＮＳの一端に複数のビット線ＢＬのうち１つが接続され、他端には共通ソース線ＣＥＬＳＲＣが接続されているとも言える。選択トランジスタＳＤ、ＳＳはそれぞれ選択ゲート線ＳＧＤ、ＳＧＳに接続されている。ここで、ＮＡＮＤストリングＮＳがワード線方向に複数個配置された単位をブロックと称する。
【００１３】
ワード線ＷＬはワード線方向に延び、ワード線方向に並ぶメモリセルＭＣを共通接続している。ワード線方向に接続されたメモリセルＭＣで１ページを構成する。メモリセルＭＣへの書き込みはページ単位で行われる。
【００１４】
図３は、センスアンプ回路２及びデータラッチ回路９の一例を示すブロック図である。
【００１５】
図３に示すように、センスアンプ回路２は複数のセンスアンプＳＡを有している。それぞれのセンスアンプは１本、または、２本のビット線に接続されている。それぞれのセンスアンプＳＡはノードＮ１に接続されている。ノードＮ１は４つのデータラッチ９−１、９−２、９−３及び９−４に接続されている。ここで、データラッチチ９−１、９−２、９−３及び９−４を総称して「データラッチ群ＤＬ」と称する場合がある。すなわち、データラッチ回路９にはセンスアンプＳＡと同じ数だけデータラッチ群ＤＬを有している。
【００１６】
データラッチ９−４はノードＮ２に接続されている。ここで、ノードＮ２はスイッチ素子を介してデータ線に接続されている。このデータラッチ回路９はデータ線を介してデータＩＯバッファ８とデータのやりとりをしている。
【００１７】
例えば、１つのメモリセルに２ビットのデータを書き込む場合、データラッチ９−１は下位ページのデータを一時的に記憶し、データラッチ９−２は上位ページのデータを一時的に記憶し、データラッチ９−３はデータが正しく書き込まれたかどうかの判定データを一時的に記憶することができる。また、データラッチ９−４はキャッシュ用のデータラッチとして用いることができる。
【００１８】
また、ノードＮ１にはプリチャージ回路ＰＧを接続することができる。プリチャージ回路ＰＧは、例えば、一端がノードＮ１に接続され、他端が電源電圧に接続されたｐ型ＭＯＳトランジスタで構成することができる。ｐ型ＭＯＳトランジスタのゲート電極（制御線）は制御回路７に接続され、制御回路７がノードＮ１の電圧を制御することができる。
【００１９】
図４は、センスアンプＳＡの一例を示す回路図である。図４に示すように、センスアンプは１２個のトランジスタＴ１〜Ｔ１２を有している。ここで、トランジスタＴ１〜Ｔ１１はｎ型トランジスタであり、トランジスタＴ１２はｐ型トランジスタである。ビット線ＢＬはトランジスタＴ１及びトランジスタＴ２の一端に接続されている。トランジスタＴ１の他端はノードＴＤＬに接続されている。また、トランジスタＴ２の他端は電源電圧に接続されている。ノードＴＤＬにはトランジスタＴ３、Ｔ４及びＴ６の一端が接続されている。トランジスタＴ３の他端は電源電圧に接続されている。又トランジスタＴ６の他端はノードＳＥＮに接続されている。また、トランジスタＴ５の一端もノードＳＥＮに接続されている。トランジスタＴ１２の一端は電源電圧Ｖｄｄｈに接続され、他端はトランジスタＴ４の他端、トランジスタＴ５の他端に接続されている。また、トランジスタＴ３のゲート電極（制御線）とトランジスタＴ１２のゲート電極（制御線）は信号ＩＮＶに接続されている。すなわち、トランジスタＴ３とトランジスタＴ１２は一方がオンすると他方はオフするという関係にある。また、信号ＩＮＶはデータラッチ９−３に記憶されたデータと連動している。例えば、データラッチ９−３に記憶されたデータがデータ“０”の場合はＬレベルに対応し、データラッチ９−３に記憶されたデータがデータ“１”の場合はＨレベルに対応する。
【００２０】
ノードＳＥＮはトランジスタＴ９の制御線、トランジスタＴ７、Ｔ１０の一端に接続されている。トランジスタＴ９の一端は接地電圧に接続されている。ノードＮ３はトランジスタＴ９の他端とトランジスタＴ８の一端とに接続されている
トランジスタＴ７の他端はノードＮ１に接続されている。また、ノードＮ１はトランジスタＴ１１の制御線に接続されている。トランジスタＴ１１の一端はトランジスタＴ１０の他端に接続され、トランジスタＴ１１の他端は接地電圧に接続されている。
【００２１】
ここで、トランジスタＴ７〜Ｔ１１は演算回路ＣＯＬＣを構成している。演算回路ＣＯＬＣはノードＳＥＮ及びノードＮ１のＮＯＴ演算や、ノードＳＥＮとノードＮ１（データラッチ群に受け渡すデータ）のＡＮＤ演算などを行うことができる。
【００２２】
センスアンプＳＡのセンス動作について説明する。まず、制御回路７はトランジスタＴ１、Ｔ４及びＴ１２をオンする。ここで、データラッチ９−３に記憶されたデータがデータ“０”の場合、信号ＩＮＶがＬレベルになることにより、トランジスタＴ３をオフしトランジスタＴ１２をオンさせる。その結果、電圧ＶｄｄｈトランジスタＴ１２、Ｔ４、Ｔ１を介してビット線に供給され、ビット線ＢＬがプリチャージされる。なお、データラッチ９−３に記憶されたデータがデータ“１”の場合、信号ＩＮＶをＨレベルになることにより、トランジスタＴ３がオンしトランジスタＴ１２がオフする。その結果、ビット線ＢＬはプリチャージされずに接地電圧Ｖｓｓが与えられる。
【００２３】
次に、制御回路７はトランジスタＴ５をオンする。その結果、ノードＳＥＮがプリチャージされる。次に、制御回路７はトランジスタＴ６をオンする。
【００２４】
この時、メモリセルＭＣがデータ“１”を記憶している場合、ビット線ＢＬが放電される。例えば、メモリセルＭＣのしきい値電圧が読み出し電圧、ベリファイ電圧などよりも低い場合である。その結果、ノードＳＥＮはＬレベルに低下する。また、データラッチ９−３に記憶されたデータがデータ“１”の場合、信号ＩＮＶがＨレベルになることにより、ノードＳＥＮはＬレベルに低下する。その後、トランジスタＴ６が閉じ、ノードＳＥＮにデータが保持される。なお、ランジスタＴ６が閉じる時、トランジスタＴ７、Ｔ８及びＴ１０もオフしている。
【００２５】
一方、メモリセルＭＣがデータ“０”を記憶している場合、ビット線ＢＬは放電されない。例えば、メモリセルＭＣのしきい値電圧が読み出し電圧、ベリファイ電圧などよりも高い場合である。
【００２６】
その後、トランジスタＴ６が閉じ、ノードＳＥＮにデータが保持される。なお、ランジスタＴ６が閉じる時、トランジスタＴ７、Ｔ８及びＴ１０もオフしている。
【００２７】
制御回路７は、トランジスタＴ７〜Ｔ１１を制御することにより、ノードＳＥＮとノードＮ１間のデータの受け渡しや、ノードＳＥＮ及びノードＮ１の演算を行うことができる。
【００２８】
次に、図５を用いて、本実施形態に係るＮＡＮＤ型フラッシュメモリのデータの書き込み方法を説明する。書き込み動作は、書き込み電圧を印加するプログラム動作とプログラム動作後にメモリセルＭＣのしきい値電圧を確認するベリファイ動作を有する。なお、ベリファイ動作はプログラム動作後に必ず行われる必要が無く、複数回のプログラム動作後に１回行うなど、種々の変更が可能である。
【００２９】
例えば、１つのメモリセルＭＣに２ビットを記憶する場合、図５（ｂ）に示すように複数のメモリセルＭＣのしきい値は４つのしきい値分布を有する。ここで、しきい値電圧が低い方から“Ｅ”レベル（消去状態）、“Ａ”レベル、“Ｂ”、レベル“Ｃ”レベルとする。ここで、ＮＡＮＤ型フラッシュメモリは、書き込み動作として、電荷蓄積層間のカップリングによるしきい値変動を低減するために、いわゆるＬＭ書き込み方式を用いる場合がある。
【００３０】
ＬＭ書き込み方式は、例えば、１つのメモリセルＭＣに２ビット（４値）のデータを記憶する場合、下位ページと上位ページに分けて書き込みを行う方式である。図５（ａ）（ｂ）にメモリセルＭＣのしきい値分布の一例を示す。
【００３１】
まず、図５（ａ）に示すように、下位ページのデータ書き込みにおいて、制御回路は２つのしきい値分布を有するよう書き込み電圧を制御する。ここで、データ“１”とデータ“０”が書き込まれることになる。データ“０”を最終的な４値分布における、“Ａ”レベルと“Ｂ”レベルの中間しきい値レベルであるＬＭレベルに割り当てられる。データ“１”は消去状態である“Ｅ”レベルに割り当てられる。また、下位ページの“ＬＭ”レベルのベリファイ動作は、ベリファイ電圧ＶＣＧ＿ＬＭＶで行われる。なお、“ＬＭ”レベルの読み出しは、“Ｅ”レベルと“ＬＭ”レベルの間の電圧である読み出し電圧ＶＣＧ_ＡＲ１で行われる。この電圧は、“Ｅ”レベルと“ＬＭ”レベルの間の電圧である読み出し電圧と同じにすることができる。
【００３２】
下位ページのデータ書き込み後に上位ページのデータ書き込みが行われる。図５（ｂ）に示すように上位ページの書き込みにおいて、制御回路７は４つのしきい値分布を有するよう書き込み電圧を制御する。“Ａ”レベルは消去状態である“Ｅ”レベルからしきい値電圧を変化させ、“Ｂ”及び“Ｃ”レベルは“ＬＭ“レベルからしきい値電圧を変化させる。これにより、４つのしきい値分布が実現できる。なお、データはデータ”１１“が”Ｅ“レベルに、データ”０１“が”Ａ“レベルに、データ”００“が”Ｂ“レベルに、データ”１０“が”Ｃ“レベルに割り当てられる。ここで、データ”＊＊“の右側が下位ページのデータを表し、左側が上位ページのデータを表す。また、上位ページの“Ａ”、“Ｂ”及び“Ｃ”レベルのベリファイ動作は、それぞれベリファイ電圧ＶＣＧ＿ＡＶ、ＶＣＧ＿ＢＶ、ＶＣＧ＿ＣＶ（ＶＣＧ＿ＡＶ＜ＶＣＧ＿ＢＶ＜ＶＣＧ＿ＣＶ）で行われる。
【００３３】
ここで、上位ページのデータ書き込み時にメモリセルＭＣの過書き込みが問題となる場合がある。しきい値分布の数が多くなると各しきい値分布間が狭くなっている。そのため、メモリセルＭＣに過書き込みが発生すると、しきい値分布の上限が、電圧が高い側に隣接するしきい値分布の下限と重複してしまう。そこで、本実施の形態では、ベリファイ動作をしきい値分布の下限だけではなく、しきい値分布の上限に対してもベリファイ動作を行う。また、しきい値分布の上限がベリファイ電圧を超えてしまった場合、制御回路７は弱消去動作を行う。
【００３４】
（第１の実施形態）
図６に第１の実施形態に係る上位ページの書き込み動作のフローチャートの一例を示す。制御回路７及びワード線制御回路３が複数のワード線のうち１つのワード線ＷＬを選択する（選択ワード線ＷＬｓと称する場合がある）。
【００３５】
ステップＳＴ１において、制御回路７は、データＩＯバッファ８から書き込みデータをデータラッチ回路９に配置されたデータラッチ９−２に保存する。ステップＳＴ２において、制御回路７は、選択ワード線ＷＬｓに接続されたメモリセルＭＣ（選択メモリセルＭＣｓと称する場合がある）から下位ページに記憶されたデータを読み出し、反転データをラッチ９−１に記憶する。ここで、センスアンプＳＡのノードＳＥＮは“Ｅ”レベル、“Ａ”レベルの場合はデータ“０“となり“Ｂ“レベル、“Ｃ“レベルの場合はデータ”１“となる。ステップＳＴ２時におけるデータラッチの状態を図７に示す。なお、データラッチ９−３はダミーデータとしてデータ”０“が記憶されている。
【００３６】
ステップＳＴ４において、制御回路７は、“Ａ”レベルのベリファイ動作を行う。制御回路７は、ベリファイ電圧ＶＣＧ＿ＡＶを選択ワード線ＷＬｓに与え、選択メモリセルＭＣｓからデータを読み出す。ここで、選択メモリセルＭＣｓのしきい値電圧がベリファイ電圧ＶＣＧ＿ＡＶより大きい場合、ノードＳＥＮがデータ“１”となり、選択メモリセルＭＣｓのしきい値電圧がベリファイ電圧ＶＣＧ＿ＡＶ以下の場合、ノードＳＥＮがデータ“０”となる。ここで、制御回路７及びビット線制御回路６は、しきい値電圧が“Ａ”レベルに設定されるメモリセルＭＣに接続されたデータラッチ回路９−３のみに、ノードＳＥＮからのデータを記憶するように演算を行う。一方、制御回路７は、しきい値電圧が“Ａ”レベル以外に設定されるメモリセルＭＣに接続されたデータラッチ９−３にはデータ“１”が記憶されるように演算を行う。ステップＳＴ４時におけるデータラッチの状態を図８に示す。ベリファイ動作において、Ｐａｓｓ、Ｆａｉｌとは、メモリセルＭＣのしきい値電圧がベリファイ電圧より大きい場合にＰａｓｓ、メモリセルＭＣのしきい値電圧がベリファイ電圧以下となった場合にＦａｉｌである。ステップＳＴ４における演算例としては、“データ９−２｜ＳＥＮ”が挙げられる。ここで、データ９−１、９−２、９−３はそれぞれデータラッチ９−１、９−２、９−３に記憶されたデータ、ＳＥＮはノードＳＥＮに記憶されたデータ、“｜”は論理和、“＆”は論理積、“〜”は反転を示す。なお、以下の演算においても同様である。
【００３７】
同様にして、ステップＳＴ５において、制御回路７及びビット線制御回路６は、“Ｂ”レベルのベリファイ動作を行い、ステップＳＴ６において“Ｃ”レベルのベリファイ動作を行う。ステップＳＴ５、ＳＴ６時におけるデータラッチの状態を図９に示す。ステップＳＴ５における演算例としては、“（データ９−１｜ＳＥＮ）＆データ９−３”が挙げられる。ステップＳＴ６における演算例としては、“（（データ９−１＆データ９−２）｜〜データ９−２｜ＳＥＮ）＆データ９−３”が挙げられる。
【００３８】
ステップＳＴ７において、制御回路７及び検知回路１０は各ベリファイ動作の結果に基づきベリファイ判定をおこなう。ここで、データラッチ９−３に記憶されたデータが全てデータ“１”、または、データ“１”の数が一定の数より多くなるとステップＳＴ８に進む（ベリファイパス：ＳＴ７のＹｅｓ）。ここで、一定の数とはＥＣＣ（error correction code）で救済できるエラービット数を考慮した数にすることができる。一方、データラッチ９−３に記憶されたデータにデータ“０”がある場合、または、データ“１”の数が一定の数以下の場合はステップＳＴ３に進む（ベリファイフェイル：ＳＴ７のＮｏ）。
【００３９】
ステップＳＴ３において、制御回路７はプログラム動作を行う。制御回路７及びビット線制御回路６は、データラッチ９−３に記憶されたデータをノードＳＥＮに移動させる。制御回路７は、選択されているブロックの選択ゲート線ＳＧＤに電圧Ｖｓｇｄ（例えば、３．５Ｖ）を、選択ワード線ＷＬｓに書き込み電圧ＶＰＧＭ（例えば、２０Ｖ）、選択ワード線ＷＬｓ以外の非選択ワード線ＷＬｎｓに通過電圧Ｖｍ（例えば、５Ｖ）を印加する。ここで、ノードＳＥＮがデータ“０”である場合ビット線ＢＬが接地電圧Ｖｓｓに設定される。このため、メモリセルのチャネルが接地電圧Ｖｓｓ、選択ワード線ＷＬｓが書き込み電圧ＶＰＧＭとなるため、メモリセルＭＣに電荷が注入される。一方、ノードＳＥＮがデータ“１”である場合ビット線ＢＬが電圧Ｖｄｄ（例えば、２．５Ｖ）に設定される。ビット線が電圧Ｖｄｄである場合、いわゆるセルフブーストにより、例えば、書き込み電圧ＶＰＧＭ／２程度になる。このため、メモリセルＭＣには電荷が注入されない。
【００４０】
その結果、データラッチ９−３に保持されたデータがデータ“０”である時、メモリセルＭＣのしきい値電圧が上昇し、データラッチ９−３に保持されたデータがデータ“１”である時、メモリセルＭＣのしきい値電圧はほとんど変化しない。
【００４１】
また、プログラム動作を行った回数“ｎ回”をデータラッチ等に記憶しておく。このデータラッチはＮＡＮＤ型フラッシュメモリ１００のいずれかの領域に配置されていればよい。また、プログラム動作を行った回数“ｎ回”はホストまたはメモリコントローラＨＭが記憶しても良い。また、制御回路７はプログラム動作を行う回数が増える毎にプログラム電圧ＶＰＧＭを高くすることができる。
【００４２】
また、制御回路７はステップＳＴ３の終了後、ベリファイ動作（ステップＳＴ４〜ＳＴ６）を行う。その後、制御回路７はベリファイ判定（ステップＳＴ７）をおこない、ベリファイパスするまでステップＳＴ３〜ＳＴ６の動作を繰り返す。
【００４３】
ステップＳＴ８において、制御回路７はプログラム動作を行った回数が０回であるか否かを判定する。ここで、”ｎ”が０である場合は上位ページの書き込み動作を終了する（ＳＴ８のＹｅｓ）。一方、”ｎ”が１以上である場合はステップＳＴ９に進む（ＳＴ８のＮｏ）。なお、ステップＳＴ９に進む際に、制御回路７は“ｎ”を初期状態の０に戻す。
【００４４】
ステップＳＴ９〜ＳＴ１１は弱消去動作におけるベリファイ動作である。以降、弱消去ベリファイ動作と称する場合がある。この弱消去ベリファイ動作では、過書き込みのメモリセルＭＣを検知することを目的としている。ステップＳＴ９において、制御回路７は、“Ｅ”レベルの弱消去ベリファイ動作を行う。まず、制御回路７はデータラッチ９−３のデータを消去する。なお、制御回路７はデータラッチ９−１、９−２のデータは保持する。弱消去ベリファイ動作の演算に用いるためである。
【００４５】
制御回路７は、弱消去ベリファイ電圧ＶＣＧ＿ＥＵを選択ワード線ＷＬｓに与え、選択メモリセルＭＣｓからデータを読み出す。選択メモリセルＭＣｓのしきい値電圧が弱消去ベリファイ電圧ＶＣＧ＿ＡＵより大きい場合、ノードＳＥＮがデータ“１”となり、選択メモリセルＭＣｓのしきい値電圧が弱消去ベリファイ電圧ＶＣＧ＿ＥＵ以下の場合、ノードＳＥＮがデータ“０”となる。
【００４６】
ここで、制御回路７及びビット線制御回路６は、しきい値電圧を“Ｅ”レベルに保持するメモリセルＭＣに接続されたデータラッチ回路９−３のみに、ノードＳＥＮからのデータを記憶するように演算を行う。一方、制御回路７は、しきい値電圧を“Ｅ”レベルに保持するメモリセルＭＣ以外のメモリセルＭＣに接続されたデータラッチ９−３にはデータ“１”が記憶されるように演算を行う。
【００４７】
ステップＳＴ９時におけるデータラッチの状態を図１０に示す。弱消去ベリファイ動作において、Ｐａｓｓ、Ｆａｉｌとは、メモリセルＭＣのしきい値電圧が弱消去ベリファイ電圧より小さい場合にＰａｓｓ、メモリセルＭＣのしきい値電圧が弱消去ベリファイ電圧より大きくなった場合にＦａｉｌである。ステップＳＴ９における演算例としては、“〜（データ９−１＆データ９−２＆ＳＥＮ）”が挙げられる。
【００４８】
同様にして、ステップＳＴ１０において、制御回路７及びビット線制御回路６は、“Ａ”レベルの弱消去ベリファイ動作を行い、ステップＳＴ１１において“Ｂ”レベルの弱消去ベリファイ動作を行う。ステップＳＴ１０、ＳＴ１１時におけるデータラッチの状態を図１１に示す。ステップＳＴ１０における演算例としては、“（データ９−１〜＆ＳＥＮ）＆データ９−３”が挙げられる。ステップＳＴ１１における演算例としては、“（〜（〜データ９−２＆ＳＥＮ））＆データ９−３”が挙げられる。
【００４９】
ステップＳＴ１２において、制御回路７及び検知回路１０は各弱消去ベリファイ動作の結果に基づき弱消去ベリファイ判定をおこなう。ここで、データラッチ９−３に記憶されたデータが全てデータ“１”、または、データ“１”の数が一定の数より多くなるとステップＳＴ１４に進む（弱消去ベリファイパス：ＳＴ１２のＹｅｓ）。ここで、一定の数とはＥＣＣ（error correction code）で救済できるエラービット数を考慮した数にすることができる。一方、データラッチ９−３に記憶されたデータにデータ“０”がある場合、または、データ“１”の数が一定の数以下の場合はステップＳＴ１３に進む（弱消去ベリファイフェイル：ＳＴ１２のＮｏ）。
【００５０】
ステップＳＴ１３において、制御回路７は弱消去動作を行う。弱消去動作を、図１２及び図１３を用いて説明する。図１２は弱消去動作の各電圧のタイミングチャートの一例である。図１３はＮＡＮＤストリングＮＳのビット線方向に沿った断面図と電圧の関係の一例を示す図である。この弱消去動作では、過書き込みされたメモリセルＭＣのしきい値電圧を下げ、しきい値分布の上限を低くし、しきい値分布の幅を狭くすることを目的としている。
【００５１】
図１２に示すように、時刻ｔ１において、制御回路７及びビット線制御回路６は、データラッチ９−３に記憶されたデータをノードＳＥＮに移動させる。その結果、データラッチ９−３に記憶されたデータがデータ“０”であればビット線ＢＬの電圧が接地電圧Ｖｓｓに、データラッチ９−３に記憶されたデータがデータ“１”であれば電圧Ｖｄｄに制御される。
【００５２】
なお、制御回路７は共通ソース線ＣＥＬＳＲＣ、選択ゲート線ＳＧＳは接地電圧Ｖｓｓに固定することができる。また、制御回路７は選択ゲート線ＳＧＳに時刻ｔ１と時刻ｔ３の間において、電圧Ｖｄｄ以上の電圧Ｖｓｇｄを与えることができる。
【００５３】
時刻ｔ２において、制御回路７及びワード線制御回路３は、選択ワード線ＷＬｓ及び非選択ワード線ＷＬｎｓに中間電圧Ｖｍを与える。中間電圧Ｖｍはビット線ＢＬに印加された接地電圧Ｖｓｓ及び電圧Ｖｄｄを選択メモリセルＭＣｓのチャネルＣＣに転送できる電圧である。例えば、中間電圧Ｖｍは、メモリセルＭＣのしきい値電圧にかかわらずオンする電圧（５Ｖ）にすることができる。この結果、選択メモリセルＭＣｓのチャネルＣＣ付近にビット線ＢＬに印加された電圧を転送することができる。
【００５４】
時刻ｔ３において、制御回路７及びワード線制御回路３は、選択ワード線ＷＬｓに弱消去電圧ＶＰＧＮを与える。ここで、弱消去電圧ＶＰＧＮは電圧Ｖｄｄが転送されたメモリセルＭＣｓのチャネルＣＣと選択ワード線ＷＬｓ間の電位差により、メモリセルＭＣｓの電荷蓄積層からチャネルＣＣに電荷を引き抜くことができる電圧である。一方、弱消去電圧ＶＰＧＮは接地電圧Ｖｓｓが転送されたメモリセルＭＣｓのチャネルＣＣと選択ワード線ＷＬｓ間の電位差ではメモリセルＭＣｓの電荷蓄積層から電荷が引き抜かれない電圧である。例えば、弱消去電圧ＶＰＧＮは０Ｖ以下の電圧（例えば−３Ｖ）にすることができる。
【００５５】
このように、データラッチ９−３に記憶されたデータに応じてビット線電圧を変更することにより、しきい値分布の上限が弱消去ベリファイ電圧を超えたメモリセルＭＣのみ電荷を引き抜くことができる。その結果、しきい値分布の上限が弱消去ベリファイ電圧を超えたメモリセルＭＣのみしきい値電圧を低くすることができる。
【００５６】
時刻ｔ４において、制御回路７及びワード線制御回路３は、ワード線ＷＬに印加された電圧を接地電圧Ｖｓｓにする。時刻ｔ５において、制御回路７及びビット線制御回路６は、ビット線に印加された電圧を接地電圧Ｖｓｓにする。その結果、弱消去動作が終了する。なお、ワード線ＷＬに印加された電圧をビット線ＢＬに印加された電圧よりも早く立ち下げることにより、非選択ワード線ＷＬｎｓとセルチャネルＣＣ間の電位差を小さくすることができ、誤書き込みを防止することができる。
【００５７】
また、弱消去動作を行った回数“ｋ回”をデータラッチ等に記憶しておく。このデータラッチはＮＡＮＤ型フラッシュメモリのいずれかの領域に配置されていればよい。また、プログラム動作を行った回数はホストまたはメモリコントローラＨＭが記憶しても良い。また、制御回路７は弱消去動作を行う回数が増える毎に弱消去電圧ＶＰＧＮを低くすることができる。
【００５８】
また、制御回路７はステップＳＴ１３の終了後、弱消去ベリファイ動作（ステップＳＴ９〜ＳＴ１１）を行う。その後、制御回路７はベリファイ判定（ステップＳＴ１２）をおこない、弱消去ベリファイパスするまでステップＳＴ９〜ＳＴ１３の動作を繰り返す。
【００５９】
ステップＳＴ１４において、制御回路７は弱消去動作を行った回数が０回であるか否かを判定する。ここで、”ｋ”が０である場合は上位ページの書き込み動作を終了する（ＳＴ１４のＹｅｓ）。一方、”ｋ”が１以上である場合はステップＳＴ４に進む（ＳＴ１４のＮｏ）。これは、弱消去動作により、メモリセルＭＣのしきい値電圧が下がりすぎ、メモリセルＭＣのしきい値電圧がベリファイ電圧より低くなっているかどうか確認するためである。その結果、メモリセルＭＣのしきい値電圧を正確に設定することができる。すなわち、プログラム動作の終了後に１回も弱消去動作を行っていない場合に上位ページの書き込み動作が終了する。
【００６０】
また、ステップＳＴ１４のＮｏの場合、制御回路７はステップＳＴ４を行う前にデータラッチ９−３のデータを消去する。なお、制御回路７はデータラッチ９−１、９−２のデータは保持する。ベリファイ動作の演算に用いるためである。また、ステップＳＴ９に進む際に、制御回路７は“ｋ”を初期状態の０に戻す。
【００６１】
ステップＳＴ１４において、弱消去動作が行われていた場合で、続くベリファイ動作ＳＴ４〜ＳＴ７においてベリファイパスと判断された場合、弱消去動作にプログラム動作を行っていない。プログラム動作回数“ｎ回”が初期値の０回となっているため、ステップＳＴ８でＹｅｓと判断され上位ページの書き込み動作が終了する。一方、ベリファイ動作ＳＴ４〜ＳＴ７においてベリファイフェイルと判断された場合、プログラム動作（ステップＳＴ３）が行われ、ステップＳＴ４〜ＳＴ１４の動作が行われる。
【００６２】
（効果）
第１の実施形態において、弱消去ベリファイ動作を用いることにより、プログラム動作で過書き込みされたメモリセルＭＣを検知することができる。また、過書き込みされたメモリセルＭＣについて弱消去動作をおこなうことでしきい値分布の幅を狭くすることができる。故に、隣接するしきい値分布の間隔を広くすることができる。その結果、データの誤読み出しの可能性を小さくすることができる。
【００６３】
（第２の実施形態）
第２の実施形態は、ベリファイ動作と弱消去ベリファイ動作を同時に行うものである。また、プログラム動作と弱消去動作を連続して行うこともできる。また、第１の実施例と同様の構成はその説明を省略する。
【００６４】
図１４は、第２の実施形態に係るセンスアンプ回路２及びデータラッチ回路９の一例を示すブロック図である。
【００６５】
図１４に示すように、第１の実施形態のデータラッチ回路９に対して、データラッチ９−５が追加されている。すなわち、ノードＮ１は５つのデータラッチ９−１、９−２、９−３、９−４及び９−５に接続されている。ここで、データラッチ９−１、９−２、９−３、９−４及び９−５を総称して「データラッチ群ＤＬ」と称する場合がある。
【００６６】
例えば、１つのメモリセルに２ビットのデータを書き込む場合、データラッチ９−３はベリファイ動作の判定データを一時的に記憶することができる。また、データラッチ９−５は弱消去ベリファイ動作の判定データを一時的に記憶することができる。このように、２つの判定データ記憶ラッチを有することにより、ベリファイ動作と弱消去ベリファイ動作を同時に行うことができる。
【００６７】
図１５に、第２の実施形態に係る上位ページの書き込み動作のフローチャートを示す。ステップＳＴ２１、ＳＴ２２は、第１の実施形態のステップＳＴ１、ＳＴ２と同様の動作である。
【００６８】
ステップＳＴ２４において、制御回路７は、“Ａ”レベルのベリファイ動作と“Ｅ”レベルの弱消去ベリファイ動作を行う。制御回路７は、ベリファイ電圧ＶＣＧ＿ＡＶを選択ワード線ＷＬｓに与え、選択メモリセルＭＣｓからデータを読み出す。ここで、選択メモリセルＭＣｓのしきい値電圧がベリファイ電圧ＶＣＧ＿ＡＶより大きい場合、ノードＳＥＮがデータ“１”となり、選択メモリセルＭＣｓのしきい値電圧がベリファイ電圧ＶＣＧ＿ＡＶ以下の場合、ノードＳＥＮがデータ“０”となる。ここで、制御回路７及びビット線制御回路６は、しきい値電圧が“Ａ”レベルに設定されるメモリセルＭＣに接続されたデータラッチ回路９−３のみに、ノードＳＥＮからのデータを記憶するように演算を行う。一方、制御回路７は、しきい値電圧が“Ａ”レベル以外に設定されるメモリセルＭＣに接続されたデータラッチ９−３にはデータ“１”が記憶されるように演算を行う。
【００６９】
次に、制御回路７は、弱消去ベリファイ電圧ＶＣＧ＿ＥＵを選択ワード線ＷＬｓに与え、選択メモリセルＭＣｓからデータを読み出す。選択メモリセルＭＣｓのしきい値電圧が弱消去ベリファイ電圧ＶＣＧ＿ＡＵより大きい場合、ノードＳＥＮがデータ“１”となり、選択メモリセルＭＣｓのしきい値電圧が弱消去ベリファイ電圧ＶＣＧ＿ＥＵ以下の場合、ノードＳＥＮがデータ“０”となる。ここで、制御回路７及びビット線制御回路６は、しきい値電圧を“Ｅ”レベルに保持したいメモリセルＭＣに接続されたデータラッチ回路９−５のみに、ノードＳＥＮからのデータを記憶するように演算を行う。一方、制御回路７は、しきい値電圧を“Ｅ”レベルに保持したいメモリセルＭＣ以外のメモリセルＭＣに接続されたデータラッチ９−５にはデータ“１”が記憶されるように演算を行う。
【００７０】
ここで、ベリファイ動作と弱消去ベリファイ動作を同時に行っている。言い換えれば、制御回路７は、ベリファイ動作の結果と弱消去ベリファイ動作の結果を連続してデータラッチ９−３、９−５に記憶している。すなわち、制御回路７は、ベリファイ動作と消去ベリファイ動作の間にプログラム動作や弱消去動作を行わない。その結果、上位ページ書き込み動作を簡略化することができる。また、ベリファイ電圧としきい値電圧が低い方に隣接するしきい値分布の弱消去ベリファイ電圧を同じにすることができる。例えば、ベリファイ電圧ＶＣＧ＿ＡＶと弱消去ベリファイ電圧ＶＣＧ＿ＥＵを同じ値にすることができる。その結果、ベリファイ動作と弱消去ベリファイ動作を同時に行うことができ、さらに動作を簡略化することができる。
【００７１】
ステップＳＴ２４時におけるデータラッチの状態を図１６に示す。ステップＳＴ２４における演算例としては、ベリファイ動作の判定データを記憶するデータラッチ９−３に対しては“データ９−２｜ＳＥＮ”が挙げられる。また、弱消去ベリファイ動作の判定データを記憶するデータラッチ９−５に対しては“〜（データ９−１＆データ９−２＆ＳＥＮ）”が挙げられる。ここで、図１６のＶ−Ｐａｓｓ、Ｖ−Ｆａｉｌとは、メモリセルＭＣのしきい値電圧がベリファイ電圧より大きい場合にＶ−Ｐａｓｓ、メモリセルＭＣのしきい値電圧がベリファイ電圧以下となった場合にＶ−Ｆａｉｌである。また、Ｗ−Ｐａｓｓ、Ｗ−ＦａｉｌとはメモリセルＭＣのしきい値電圧が弱消去ベリファイ電圧より小さい場合にＷ−Ｐａｓｓ、メモリセルＭＣのしきい値電圧が弱消去ベリファイ電圧以上となった場合にＷ−Ｆａｉｌである。
【００７２】
同様にして、ステップＳＴ２５において、制御回路７及びビット線制御回路６は、“Ｂ”レベルのベリファイ動作及び“Ａ”レベルの弱消去ベリファイを行い、ステップＳＴ６において“Ｃ”レベルのベリファイ動作及び“Ｂ”レベルの弱消去ベリファイを行う。ステップＳＴ２５、ＳＴ２６時におけるデータラッチの状態を図１７に示す。ステップＳＴ２５における演算例としては、ベリファイ動作の判定データを記憶するデータラッチ９−３に対しては、“（データ９−１｜ＳＥＮ）＆データ９−３”が挙げられる。また、弱消去ベリファイ動作の判定データを記憶するデータラッチ９−５に対しては、“（データ９−１〜＆ＳＥＮ）＆データ９−３”が挙げられる。
【００７３】
ステップＳＴ２６における演算例としては、ベリファイ動作の判定データを記憶するデータラッチ９−３に対しては、“（（データ９−１＆データ９−２）｜〜データ９−２｜ＳＥＮ）＆データ９−３”が挙げられる。また、弱消去ベリファイ動作の判定データを記憶するデータラッチ９−５に対しては、“（〜（〜データ９−２＆ＳＥＮ））＆データ９−３”が挙げられる。
【００７４】
ステップＳＴ２７において、制御回路７及び検知回路１０は各ベリファイ動作の結果に基づきベリファイ判定をおこなう。ここで、データラッチ９−３、９−５に記憶されたデータが全てデータ“１”、または、データ“１”の数が一定の数より多くなると上位ページ書き込み動作を終了する（ベリファイパス：ＳＴ２７のＹｅｓ）。一方、データラッチ９−３に記憶されたデータにデータ“０”がある場合、または、データ“１”の数が一定の数以下の場合はステップＳＴ２８に進む（ベリファイフェイル：ＳＴ２７のＮｏ）。なお、データラッチ９−３とデータラッチ９−５のデータは別々に判定しても良いし、データラッチ９−３とデータラッチ９−５のデータを合わせて判定しても良い。
【００７５】
ステップＳＴ２８において、書き込み電圧ＶＰＧＭの設定を行う。例えば、制御回路７は、プログラム動作の回数（弱消去動作の回数）が多くなるに従い書き込み電圧ＶＰＧＭを大きくすることができる。
【００７６】
ステップＳＴ２３において、制御回路７はプログラム動作及び弱消去動作を行う。データラッチ９−３、９−５にベリファイ動作及び弱消去ベリファイ動作の結果が記憶されているので、プログラム動作及び弱消去動作は連続して行うことができる。図１８はプログラム動作及び弱消去動作の各電圧のタイミングチャートである。図１９はＮＡＮＤストリングＮＳのビット線方向に沿った断面図と電圧の関係を示す図である。
【００７７】
図１８に示すように、時刻ｔ１において、制御回路７及びビット線制御回路６は、データラッチ９−３に記憶されたデータをノードＳＥＮに移動させる。その結果、データラッチ９−３に記憶されたデータがデータ“０”であればビット線ＢＬの電圧が接地電圧Ｖｓｓに、データラッチ９−３に記憶されたデータがデータ“１”であれば電圧Ｖｄｄに制御される。
【００７８】
なお、制御回路７は共通ソース線ＣＥＬＳＲＣ、選択ゲート線ＳＧＳは接地電圧Ｖｓｓに固定することができる。また、制御回路７は選択ゲート線ＳＧＳに時刻ｔ１と時刻ｔ３の間において、電圧Ｖｄｄ以上の電圧Ｖｓｇｄを与えることができる。
【００７９】
時刻ｔ２において、制御回路７及びワード線制御回路３は、非選択ワード線ＷＬｎｓに中間電圧Ｖｍを与える。中間電圧Ｖｍはビット線ＢＬに印加された接地電圧Ｖｓｓ及び電圧Ｖｄｄを選択メモリセルＭＣｓのチャネルＣＣに転送できる電圧である。例えば、中間電圧Ｖｍは、メモリセルＭＣのしきい値電圧にかかわらずオンする電圧（５Ｖ）にすることができる。
【００８０】
時刻ｔ３において、制御回路７及びワード線制御回路３は、選択ワード線ＷＬｓに書き込み電圧ＶＰＧＭを与える。ここで、書き込み電圧ＶＰＧＭは接地電圧Ｖｓｓが転送されたメモリセルＭＣｓのチャネルＣＣと選択ワード線ＷＬｓ間の電位差により、メモリセルＭＣｓの電荷蓄積層にチャネルＣＣから電荷を注入することができる電圧である。一方、書き込み電圧ＶＰＧＭは接地電圧Ｖｄｄが転送されたメモリセルＭＣｓのチャネルＣＣは、いわゆるセルフブーストにより、例えば、書き込み電圧ＶＰＧＭ／２程度になる。このため、メモリセルＭＣには電荷が注入されない。
【００８１】
時刻ｔ４において、プログラム動作が終了すると、制御回路７は続けて弱消去動作を行う。
【００８２】
制御回路７及びビット線制御回路６は、データラッチ９−５に記憶されたデータをノードＳＥＮに移動させる。その結果、データラッチ９−３に記憶されたデータがデータ“０”であればビット線ＢＬの電圧が接地電圧Ｖｓｓに、データラッチ９−３に記憶されたデータがデータ“１”であれば電圧Ｖｓｅｒａに制御される。なお、電圧Ｖｓｅｒａは電圧Ｖｄｄと同じでも良いし、電圧Ｖｄｄよりも高くても良い。
【００８３】
ここで、ベリファイ動作及び弱消去ベリファイ動作の両方がパスしているメモリセルＭＣに接続されるビット線ＢＬの電圧は電圧Ｖｄｄから接地電圧Ｖｓｓに変化する。一方、ベリファイ動作がパスしていないメモリセルＭＣは、弱消去ベリファイ動作はパスしているので、ビット線の電圧は接地電圧Ｖｓｓを維持する。さらに、ベリファイ動作がパスしており、弱消去ベリファイ動作はパスしていないメモリセルＭＣのビット線の電圧は電圧Ｖｄｄから電圧Ｖｓｅｒａに変化する（電圧Ｖｄｄ＝電圧Ｖｓｅｒａの場合は、電圧Ｖｄｄを維持する）。
【００８４】
時刻ｔ５において、制御回路７及びワード線制御回路３は、選択ワード線ＷＬｓに弱消去電圧ＶＰＧＮを与える。
【００８５】
時刻ｔ６において、制御回路７及びワード線制御回路３は、ワード線ＷＬに印加された電圧を接地電圧Ｖｓｓにする。時刻ｔ７において、制御回路７及びビット線制御回路６は、byに印加された電圧を接地電圧Ｖｓｓにする。その結果、プログラム動作及び弱消去動作が終了する。
【００８６】
また、制御回路７はステップＳＴ２３の終了後、ベリファイ動作及び弱消去ベリファイ動作（ステップＳＴ２４〜ＳＴ２６）を行う。その後、制御回路７はベリファイ判定（ステップＳＴ２７）をおこない、ベリファイパスするまでステップＳＴ２３〜ＳＴ２８の動作を繰り返す。
【００８７】
（効果）
第２の実施形態においても、第１の実施形態と同様の効果が得られる。また、ベリファイ動作と弱消去ベリファイ動作を同時に行うことにより、上位ページ書き込み動作が簡略化できる。
【００８８】
また、ベリファイ動作と弱消去ベリファイ動作を同時に行うことにより、プログラム動作と弱消去動作を連続して行うことができる。その結果、上位ページ書き込み動作を高速化することができる。
【００８９】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００９０】
なお、ＬＭ書き込み方式の上位ページ書き込みを例に挙げて説明したが、ＬＭ書き込み方式以外にも適用することができる。例えば、消去状態から４つのしきい値分布を生成する書き込み方式にも適用することができる。また、１つのメモリセルＭＣに２ビットのデータを記憶する場合に限られず、１つのメモリセルＭＣに３ビット以上のデータを記憶する場合にも適用できる。
【符号の説明】
【００９１】
１００…ＮＡＮＤ型フラッシュメモリ、１…メモリセルアレイ、２…センスアンプ回路、３…ワード線制御回路、６…ビット線制御回路、７…制御回路、９…データラッチ回路、９−１〜９−５…データラッチ、ＳＥＮ…ノード。
【図１】
2014078306.tif 000003
【図２】
2014078306.tif 000004
【図３】
2014078306.tif 000005
【図４】
2014078306.tif 000006
【図５】
2014078306.tif 000007
【図６】
2014078306.tif 000008
【図７】
2014078306.tif 000009
【図８】
2014078306.tif 000010
【図９】
2014078306.tif 000011
【図１０】
2014078306.tif 000012
【図１１】
2014078306.tif 000013
【図１２】
2014078306.tif 000014
【図１３】
2014078306.tif 000015
【図１４】
2014078306.tif 000016
【図１５】
2014078306.tif 000017
【図１６】
2014078306.tif 000018
【図１７】
2014078306.tif 000019
【図１８】
2014078306.tif 000020
【図１９】
2014078306.tif 000021