(57)【要約】【課題】本実施形態は，誤読み出しを低減可能な半導体記憶装置を提供する。【解決手段】本実施形態の半導体記憶装置は，半導体基板上に積層された複数のメモリセルを含むストリングと，複数の前記ストリングを含むブロックを単位として前記メモリセルのデータを消去し，前記ストリングを単位として，前記メモリセルに消去ベリファイを行う制御部とを備える。【選択図】図５
2014164789.tif 000002
【特許請求の範囲】
【請求項１】
半導体基板上に積層された複数のメモリセルを含むストリングユニットと，
複数の前記ストリングユニットを含むブロックを単位として前記メモリセルのデータを消去し，前記ストリングユニットを単位として，前記メモリセルに消去ベリファイを行う制御部と
を備えることを特徴とする半導体記憶装置。
【請求項２】
前記制御部は，前記消去ベリファイでパスするまで，前記消去動作及び前記消去ベリファイを繰り返し行い，
前記消去ベリファイをパスしたのち，前記ブロックを単位として，前記ブロック内のメモリセルに第１書き込み動作を行い，前記ストリングユニットを単位として，前記ストリングユニットのメモリセルに接続されるワード線に第１電圧を印加する第１ベリファイ動作を行い，前記ストリングユニットを単位として，前記ストリングユニットのメモリセルに接続されるワード線に前記第１電圧よりも低い第２電圧を印加する第２ベリファイ動作を行い，
前記第１ベリファイ動作及び前記第２ベリファイ動作でパスするまで，前記第１書き込み動作，第１ベリファイ動作，及び第２ベリファイ動作を繰り返す
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
複数の前記ストリングユニットを含む第１プレーンと，
複数の前記ストリングユニットを含み，前記第１プレーンとは独立して動作可能な第２プレーンと
をさらに備え，
前記制御部は，前記消去ベリファイでパスするまで，前記消去動作及び前記消去ベリファイを繰り返し行い，
前記制御部は，前記第１プレーンのストリングユニットに対してストリングユニットの昇降順に前記消去ベリファイを行い，前記第２プレーンのストリングユニットに対してストリングユニットの昇降順に前記消去ベリファイを行うとき，前記第１プレーン及び前記第２プレーンのストリングに対して一括して前記消去ベリファイを行う
ことを特徴とする請求項１又は請求項２記載の半導体記憶装置。
【請求項４】
前記制御部は，前記第１プレーン及び第２プレーンのストリングユニットに対する消去ベリファイの結果を保持したのち，再度前記第１プレーン及び第２プレーンのストリングユニットに対する消去ベリファイを行うとき，
前記制御部は，前記第１プレーンのうち前記消去ベリファイでフェイルしたストリングユニットと，前記第２プレーンのうち前記消去ベリファイでフェイルしたストリングユニットとを選択して，再度消去ベリファイを行うことを特徴とする請求項３記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は，半導体記憶装置に関する。
【背景技術】
【０００２】
近年，メモリセルを積層した積層型の半導体メモリ（ＢｉＣＳ：Ｂｉｔ Ｃｏｓｔ Ｓｃａｌａｂｌｅ Ｆｌａｓｈ Ｍｅｍｏｒｙ）が開発されている。このＢｉＣＳは，低コストで大容量な半導体メモリを実現することが出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は，セルトランジスタの消去状態をより高精度に保障可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００５】
本実施形態の半導体記憶装置は，半導体基板上に積層された複数のメモリセルを含むストリングと，複数の前記ストリングを含むブロックを単位として前記メモリセルのデータを消去し，前記ストリングユニットを単位として，前記メモリセルに消去ベリファイを行う制御部とを備える。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係る半導体記憶装置のブロック図である。
【図２】第１実施形態に係るメモリセルアレイの一部の斜視図である。
【図３】第１実施形態に係るメモリセルアレイの一部の断面図である。
【図４】第１実施形態に係るメモリセルトランジスタの断面図である。
【図５】第１実施形態に係る半導体記憶装置の一部のブロック図である。
【図６】第１実施形態に係るメモリセルアレイの一部の上面図である。
【図７】第１実施形態に係るアドレスマップを示す概念図である。
【図８】第１実施形態に係る消去動作を示すフローチャート図である。
【図９】第１実施形態に係る消去動作を示すタイミングチャート図である。
【図１０】第１実施形態に係る消去動作の一部の動作時の半導体記憶装置の断面図である。
【図１１】第１実施形態に係る消去動作を示す概念図である。
【図１２−１】第１実施形態に係る消去動作を示すフローチャート図である。
【図１２−２】第１実施形態に係る消去動作を示すフローチャート図である。
【図１３】比較例に係る消去動作の一部の動作時の半導体記憶装置の断面図である。
【図１４】比較例に係る消去動作の一部の動作時の半導体記憶装置の断面図である。
【図１５】第２実施形態に係る消去動作を示すフローチャート図である。
【図１６】第２実施形態に係る消去動作を示す概念図である。
【発明を実施するための形態】
【０００７】
以下に実施形態について図面を参照して説明する。なお，以下の説明において，略同一の機能及び構成を有する構成要素については，同一符号を付し，重複説明は必要な場合にのみ行う。ただし，図面は模式的なものであることに留意すべきである。以下に示す各実施形態は，この実施形態の技術的思想を具体化するための装置や方法を例示するものであって，実施形態の技術的思想は，構成部品の材質，形状，構造，配置等を下記のものに特定するものでない。実施形態の技術的思想は，特許請求の範囲において，種々の変更を加えることができる。
【０００８】
（第１実施形態）
［第１実施形態に係る半導体記憶装置の構成］
１．全体構成
まず，第１実施形態の半導体記憶装置の構成について，図１から図６を用いて説明する。
図１は，第１実施形態に係る半導体記憶装置のブロック図である。図１に示されるように，半導体記憶装置１は，メモリセルアレイ２，センスアンプユニット３，ページバッファ４，ロウデコーダ５，カラム制御回路６，データバス７，カラムデコーダ８，シリアルアクセスコントローラ１１，Ｉ／Ｏインターフェース１２，ドライバ１３，電圧発生回路１４，シーケンサ１５，コマンドユーザインターフェース１６，オシレータ１７，制御部１９、レジスタ２０ａ，２０ｂ、レジスタ２４ａ０〜２４ｅ０，２４ａ１〜２４ｅ１等の要素を含んでいる。半導体記憶装置１は，例えば１つの半導体チップに相当する。
【０００９】
半導体記憶装置１は，例えば，外部のメモリコントローラ１８により制御される。メモリコントローラ１８は，Ｉ／Ｏインターフェース１２と電気的に接続される。Ｉ／Ｏインターフェース１２を介して，半導体記憶装置１とメモリコントローラ１８はデータの授受を行う。
また，シーケンサ１５，コマンドユーザインターフェース１６，レジスタ２０ａ，２０ｂは制御部１９を構成する。
【００１０】
各機能ブロックは，ハードウェア，コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため，各ブロックがこれらのいずれでもあることが明確となるように，概してそれらの機能の観点から以下に説明する。また，各機能ブロックが，図１の具体例のように区別されていることは必須ではない。例えば，一部の機能が以下の説明において例示されている機能ブロックとは別の機能ブロックによって実行されてもよい。さらに，例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。どの機能ブロックによって特定されるかによって実施形態が限定されるものではない。
【００１１】
１．１  メモリセルアレイ２の全体構成
半導体記憶装置１は，複数のメモリセルアレイ２を含んでいる。図１は，２つのメモリセルアレイ２を例示するが，半導体記憶装置１は３以上のメモリセルアレイ２を含んでいてもよい。メモリセルアレイ２は，プレーンと称される場合がある。２つのプレーンを，プレーン０，プレーン１と称する。メモリセルアレイ２は，複数のメモリブロック（以下，単にブロックと称する場合がある）を含んでいる。各ブロックは，複数のストリングユニットを有する。ストリングユニットは，複数のストリングを有する。詳細は図２等を用いて後述する。
【００１２】
ストリングは，直列接続された複数のセルトランジスタ，およびその両端の２つの選択ゲートトランジスタ，バックゲートトランジスタを含む。１つのビット線には，複数のストリングが接続されている。特定の複数のセルトランジスタは，ワード線を共有する。ワード線を共有する複数のセルトランジスタのうち，共通のストリングユニットに含まれるセルトランジスタまたはその記憶空間はページを構成する。データはページ単位で読み出され，また書き込まれる。他方，データはブロック単位で消去される。メモリセルアレイ２は，いわゆるＢｉＣＳ技術に基づいた３次元構造を有する。本実施形態では，データの消去単位がブロック単位である例を用いて説明するが，これに限定されることなく，例えばストリングユニットごとに，またはストリングユニットの半分ごとにデータを消去する形態であってもよい。
【００１３】
１．２  メモリセルアレイ２の詳細説明
メモリセルアレイ２の詳細な構成について，例えば図２，図３を用いて説明する。図２は，第１実施形態に係るメモリセルアレイの一部の斜視図である。図３は，第１実施形態に係るメモリセルアレイの一部の断面図である。図２では，２つのストリングユニットを有するメモリブロックの斜視図を例に説明する。図３は，ｙｚ平面に沿っている。
【００１４】
図２，図３に示されるように，基板ｓｕｂの上方には，導電材料からなるバックゲートＢＧが形成されている。バックゲートＢＧは，ｘｙ平面に沿って広がる。また，基板ｓｕｂの上方には，複数のストリングユニットＳＵが形成されている。ストリングユニットＳＵには，複数のストリングＳｔｒｉｎｇが形成されている。具体的には，ビット線ＢＬに対して直交する方向（図２のｘ方向）に並んだ複数のストリングＳｔｒｉｎｇで，ストリングユニットＳＵは構成される。１つのブロックは，ｉ個のストリングユニットを含んでいる。ｉは自然数である。ストリングＳｔｒｉｎｇ０を含むストリングユニットをストリングユニットＳＵ０と呼ぶ。同様にストリングＳｔｒｉｎｇＹを含むストリングユニットをストリングユニットＳＵＹと呼ぶ（Ｙ＝１〜ｉ−１）。図示の便宜上，図２では，ストリングユニットＳＵ０とストリングユニットＳＵ１のみを示した。末尾に数字が付いている参照符号（例えばストリングＳｔｒｉｎｇ０〜Ｓｔｒｉｎｇｉ−１）が相互に区別される必要がない場合，参照符号の末尾の数字が省略された記載が用いられ，この記載は全ての添え字付きの参照符号を指すものとする。
【００１５】
図２では，１つのストリングＳｔｒｉｎｇは，ｎ個のメモリセルトランジスタＭＴｒを含んでいる。ｎは自然数である。図２および図３は，１ストリングが１６個のセルトランジスタＭＴｒ０〜ＭＴｒ１５を含んでいる例を示している。セルトランジスタＭＴｒ７とＭＴｒ８とは，バックゲートトランジスタＢＴｒを介して接続されている。ソース側選択ゲートトランジスタＳＳＴｒおよびドレイン側選択ゲートトランジスタＳＤＴｒの各第１端は，それぞれ，セルトランジスタＭＴｒ０，ＭＴｒ１５と接続されている。トランジスタＳＳＴｒ，ＳＤＴｒの上方において，それぞれソース線ＳＬ，ビット線ＢＬが延びている。トランジスタＳＳＴｒおよびトランジスタＳＤＴｒの各第２端は，それぞれソース線ＳＬ，ビット線ＢＬと接続されている。
【００１６】
セルトランジスタＭＴｒ０〜ＭＴｒ１５は，半導体柱ＳＰおよび半導体柱ＳＰの表面の絶縁膜ＩＮ２（図４に示す）を含んでいる。半導体柱ＳＰは，例えばバックゲートＢＧの上方のシリコンからなる。１つのストリングＳｔｒｉｎｇを構成する２本の半導体柱ＳＰは，バックゲートＢＧ中の導電材料からなるパイプ層により接続されている。パイプ層はバックゲートトランジスタＢＴｒを構成する。絶縁膜ＩＮ２は，図４に示されるように，半導体柱Ｓｐ上のブロック絶縁膜ＩＮ２ａ，絶縁膜ＩＮ２ａ上の電荷トラップ層ＩＮ２ｂ，電荷トラップ層ＩＮ２ｂ上のトンネル絶縁膜ＩＮ２ｃを含む。電荷トラップ層ＩＮ２ｂは，絶縁材料からなる。
【００１７】
図２，図３に示されるように，セルトランジスタＭＴｒ０〜ＭＴｒ１５は，さらにｘ軸に沿って延びるワード線（制御ゲート）ＷＬ０〜ＷＬ１５に接続される。ワード線ＷＬ０〜ＷＬ１５は，ロウデコーダ５によって，対応するＣＧ線ＣＧ（ＣＧ線ＣＧ０〜ＣＧ１５）に選択的に接続される。ＣＧ線ＣＧは，図２，図３には示されていない。セルトランジスタＭＴｒは，電荷トラップ層ＩＮ２ｂ中のキャリアの個数に基づいて定まるデータを不揮発に記憶する。
【００１８】
各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇ０の各セルトランジスタＭＴｒ０のゲート電極（ゲート）は，ワード線ＷＬ０に共通に接続されている。同様に，各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇの各セルトランジスタＭＴｒＸの各ゲートは，ワード線ＷＬＸに共通に接続されている。Ｘは，０またはｎ以下の自然数である。さらに，その他のストリングＳｔｒｉｎｇについても同じである。また、各ブロックＭＢ中のｙ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇの各セルトランジスタＭＴｒＸの各ゲートは，ワード線ＷＬＸに共通に接続されている。すなわち、ワード線ＷＬ０は，１つのブロックＭＢ中の全てのストリングＳｔｒｉｎｇによって共有されている。ワード線ＷＬ１〜ＷＬ７も，同様に共有されている。
【００１９】
各ブロックＭＢ中のｙ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇは，ビット線ＢＬに共通に接続される。ブロックＭＢ内の全セルトランジスタＭＴｒ０は，ワード線ＷＬ０に共通に接続される。同様に，ブロックＭＢ内の全セルトランジスタＭＴｒＺは，ワード線ＷＬＺに共通に接続される。Ｚは，０またはｉ以下の自然数である。したがって，各ワード線ＷＬは，図６に示すように，櫛葉状に形成される。
ワード線ＷＬは，セル領域ＲＭにある第１部分ＷＰ１と，引き出し領域ＲＤＤ，ＲＤＳにある第２部分ＷＰ２を有する。引き出し領域ＲＤＤと引き出し領域ＲＤＳは対向して配置される。また，セル領域ＲＭが引き出し領域ＲＤＤと引き出し領域ＲＤＳとの間に配置される。
各ワード線ＷＬにおいて，第２部分から複数の第１部分がｘ方向に延びて櫛歯形状が形成される。
【００２０】
また，ブロックＭＢは，消去の際に，いずれのストリングについても同じバイアスが印加される特徴を有し，それゆえにブロックＭＢは消去単位である。バックゲートトランジスタＢＴｒのゲートは，バックゲート線ＢＧに共通に接続されている。
ワード線を共有する複数のセルトランジスタＭＴｒのうち，共通のストリングユニットＳＵに含まれるメモリセルトランジスタＭｔｒまたはその記憶空間でページを構成する。１ページは，例えば８Ｋバイトの大きさを有する。なお、各セルトランジスタＭＴｒに例えば２ビットデータが保持される場合には、ワード線ＷＬを共有する複数のセルトランジスタＭＴｒのうち，共通のストリングユニットＳＵに含まれるメモリセルトランジスタＭｔｒのデータは２ページ分のデータとなる。
選択ゲートトランジスタＳＳＴｒ，ＳＤＴｒは，半導体柱ＳＰ，半導体柱ＳＰの表面のゲート絶縁膜（図示せず）を含み，さらにゲート（選択ゲート線）ＳＧＳＬ，ＳＧＤＬをそれぞれ含んでいる。
【００２１】
各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇ０の各ソース側選択ゲートトランジスタＳＳＴｒのゲートは，ソース側選択ゲート線ＳＧＳＬ０に共通に接続されている。同様に，各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇＹの各トランジスタＳＳＴｒの各ゲートは，選択ゲート線ＳＧＳＬＹに共通に接続されている。選択ゲート線ＳＧＳＬはｘ軸に沿って延びている。選択ゲート線ＳＧＳＬは，ロウデコーダ５によって，ＳＧＳ線ＳＧＳ（図示せず）に選択的に接続される。隣接する２つのストリングＳｔｒｉｎｇの各トランジスタＳＳＴｒの第１端は，同じソース線ＳＬに接続されている。１ブロック中のソース線ＳＬは，相互に接続されている。
【００２２】
各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇ０の各ドレイン側選択ゲートトランジスタＳＤＴｒのゲートは，ドレイン側選択ゲート線ＳＧＤＬ０に共通に接続されている。同様に，各ブロックＭＢ中のｘ軸に沿って並ぶ複数のストリングＳｔｒｉｎｇＹの各トランジスタＳＤＴｒの各ゲートは，選択ゲート線ＳＧＤＬＹに共通に接続されている。選択ゲート線ＳＧＤＬはｘ軸に沿って延びている。ｙ軸に沿って並び且つ１ブロック中の全てのストリングＳｔｒｉｎｇの各トランジスタＳＤＴｒの第１端は，同じビット線ＢＬに接続されている。
上記のように，各ブロックＭＢ中のｘ軸に沿って並ぶ（相違するビット線ＢＬと接続された）複数のストリングＳｔｒｉｎｇＹは，選択ゲート線ＳＧＳＬ，ＳＧＤＬ，ワード線ＷＬ０〜ＷＬ１５を共有する。
【００２３】
１．３  センスアンプ，ページバッファ，ロウデコーダ，カラム制御回路の全体構成
センスアンプユニット３，ページバッファ４，ロウデコーダ５，カラム制御回路６の組は，プレーン（メモリセルアレイ２）ごとに設けられている。図示の便宜上、本実施形態では２プレーンの構成の場合を例に説明するため、図５ではロウデコーダ５をロウデコーダ５−１、５−２と表記する。各センスアンプユニット３は，複数のビット線とそれぞれ接続された複数のセンスアンプユニットを含み，対応するビット線の電位をセンスおよび増幅する。各ページバッファ４は，カラムアドレスを受け取り，カラムアドレスに基づいて，読み出し時に特定のページからデータを読み出し，読み出されたデータを一時的に保持し，データバス７に出力する。各ページバッファ４は，ドライバ１３により選択されたストリングユニットＳＵに対して，消去ベリファイ，インテリジェントソフトプログラムベリファイ（以下，ＩＴＳＰベリファイと呼ぶ），又はソフトプログラムベリファイを行うとき，消去ベリファイ，ＩＴＳＰベリファイ，又はソフトプログラムベリファイの結果を読み出し，一時的に保持する。ストリングユニットＳＵの選択については、詳細を後述する。
【００２４】
ここで，消去ベリファイの結果，ＩＴＳＰベリファイの結果，ソフトプログラムベリファイの結果は，いずれも８Ｋバイトのデータである。消去ベリファイの結果のうち１ビットの“０”データは，例えば全メモリセルトランジスタＭｔｒに対して消去が完了しているストリングＳｔｒｉｎｇを示すデータである。１ビットの“１”データは，例えば消去が完了していないメモリセルトランジスタＭｔｒを少なくとも１個含むストリングＳｔｒｉｎｇを示すデータである。ＩＴＳＰベリファイやソフトプログラムベリファイも同様である。
また，各ページバッファ４は，カラムアドレスに基づいて，書き込み時に半導体記憶装置１の外部からのデータをデータバス７を介して受け取り，受け取ったデータを一時的に保持する。カラムアドレスは，カラムデコーダ８により供給される。
【００２５】
データバス７は，シリアルアクセスコントローラ１１に接続されている。シリアルアクセスコントローラ１１は，Ｉ／Ｏインターフェース１２と接続されている。Ｉ／Ｏインターフェース１２は，複数の信号端子を含み，また，半導体記憶装置１とその外部の装置との間のインターフェースを取る。シリアルアクセスコントローラ１１は，データバス７上のパラレル信号とＩ／Ｏインターフェース１２を介するシリアル信号の変換を含む制御を行う。
【００２６】
各ロウデコーダ５は，ブロックアドレス信号を受け取り，受け取った信号に基づいて，特定のブロックを選択する。具体的には，各ロウデコーダ５は，ドライバ１３のストリングドライバ１３ＳＴＲ０，１３ＳＴＲ１、ＣＧドライバ１３Ｃ０〜１３Ｃ１５を選択されたブロック中のストリングユニットＳＵに接続する。ドライバ１３は，電圧発生回路１４から電圧を受け取り，半導体記憶装置１の種々の動作（読み出し，書き込み，消去等）に必要な電圧を生成する。ドライバ１３から出力される電圧は，ワード線および選択ゲートトランジスタのゲート電極に印加される。電圧発生回路１４は，また，センスアンプユニット３にも，その動作に必要な電圧を供給する。
【００２７】
各カラム制御回路６は，消去ベリファイ，ＩＴＳＰベリファイ，又はソフトプログラムベリファイのベリファイパスまたはベリファイフェイルを算出する機能を有する。各カラム制御回路６は，２つのレジスタ６ａ，６ｂを有する。レジスタ６ａは，ページバッファ４に保持された例えば消去ベリファイの結果（８Ｋバイトのデータ）から，“１”データ（消去ベリファイ未完了）の個数を示すデータを保持する。レジスタ６ａは，ＩＴＳＰベリファイの結果（８Ｋバイトのデータ）から，“０”データ（ＩＴＳＰベリファイ完了）の個数を示すデータを保持する。さらに，レジスタ６ａは，ソフトプログラムベリファイの結果（８Ｋバイトのデータ）から“１”データ（ソフトプログラムベリファイ未完了）の個数を示すデータを保持する。
【００２８】
なお，本実施形態では，消去ベリファイの際，レジスタ６ａに“１”データの個数を示すデータを保持したが，この場合に限られず，レジスタ６ａに“０”データの個数を示すデータを保持してもよい。同様に，ＩＴＳＰベリファイの際，レジスタ６ａに“０”データの個数を示すデータを保持したが，この場合に限られず，レジスタ６ａに“１”データの個数を示すデータを保持してもよい。ソフトプログラムベリファイの際，レジスタ６ａに“１”データの個数を示すデータを保持したが，この場合に限られず，レジスタ６ａに“０”データの個数を示すデータを保持してもよい。
【００２９】
制御部１９は，レジスタ２０ａ内に保持された例えば規定値Ｘ１をカラム制御回路６に転送する。レジスタ６ｂは，この規定値Ｘ１を保持する。
カラム制御回路６は，レジスタ６ａの例えば“１”データの個数を示すデータと，レジスタ６ｂの規定値Ｘ１に基づいて，選択されたストリングユニットＳＵの消去ベリファイパス又は消去ベリファイフェイルを判定する。詳細は後述する。
カラム制御回路６は，選択されたストリングユニットＳＵの消去ベリファイパス又は消去ベリファイフェイルを制御部１９に転送する。
制御部１９のシーケンサ１５は，コマンドユーザインターフェース１６から，コマンド，アドレス等の信号を受け取り，オシレータ１７からのクロックに基づいて動作する。シーケンサ１５は，受け取った信号に基づいて，半導体記憶装置１中の種々の要素（機能ブロック）を制御する。例えば，シーケンサ１５は，受け取ったコマンドおよびアドレス等の信号に基づいてカラムデコーダ８および電圧発生回路１４を制御する。また，シーケンサ１５は，受け取ったコマンドおよびアドレス等の信号に基づいて，上記のブロックアドレス，ストリングユニットアドレスを出力する。ブロックアドレスは，プレーンごとに相違し，プレーンごとに相違するブロックまたは同じブロックを選択するための情報を含んでいる。ストリングユニットアドレスは，プレーンごとに相違し，プレーンごとに相違するストリングまたは同じストリングを選択するための情報を含んでいる。コマンドユーザインターフェース１６は，Ｉ／Ｏインターフェース１２を介して，制御信号を受け取る。コマンドユーザインターフェース１６は，受け取った制御信号をデコードし，コマンド，アドレス等を取得する。
半導体記憶装置１０は，１つのメモリセルにおいて２ビット以上のデータを保持可能に構成されていてもよい。
制御部１９は、複数のレジスタ２４ａ０〜２４ｄ０、２４ａ１〜２４ｄ１を有する。レジスタ２４ａ０は、プレーン０の選択されたブロックが消去ベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｂ０は、プレーン０の選択されたブロックがＩＴＳＰベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｃ０は、プレーン０の選択されたブロックがソフトプログラムベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｄ０は、レジスタ２４ａ０〜２４ｃ０のいずれかに“１”がセットされたときに、“１”が設定されるレジスタである。
レジスタ２４ｅ０は、プレーン０の選択されたブロックがソフトプログラムベリファイパスであるときに例えば“１”が設定されるレジスタである。
レジスタ２４ａ１は、プレーン１の選択されたブロックが消去ベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｂ１は、プレーン１の選択されたブロックがＩＴＳＰベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｃ１は、プレーン１の選択されたブロックがソフトプログラムベリファイフェイルであるときに例えば“１”が設定されるレジスタである。レジスタ２４ｄ１は、レジスタ２４ａ１〜２４ｃ１のいずれかに“１”がセットされたときに、“１”が設定されるレジスタである。
レジスタ２４ｅ１は、プレーン１の選択されたブロックがソフトプログラムベリファイパスであるときに例えば“１”が設定されるレジスタである。
【００３０】
１．４  ロウデコーダ，ドライバ，シーケンサの詳細説明
次に，ロウデコーダ５，ドライバ１３，シーケンサ１５の詳細な構成について，図５を用いて説明する。図５は，第１実施形態に係る半導体記憶装置の一部のブロック図である。図５は，特に，図１のデコードに関する要素と，それに関連する要素を示している。
図示の便宜上，図５の半導体記憶装置では，プレーン０及びプレーン１を有するものとして図示した。また，プレーン０，１それぞれは，２個のブロックＢＬＫ０，ＢＬＫ１を有し，各ブロックＢＬＫは２個のストリングユニットＳＵを有するものとして図示した。プレーンの数，ブロックＢＬＫの数，ストリングユニットＳＵの数は２個に限定されることなく，他のプレーン数，ブロック数、ストリングユニット数であってもよい。
【００３１】
本実施形態のロウデコーダ５は，図５に示されるように，プレーン０用のロウデコーダ５−０，プレーン１用のロウデコーダ５−１，選択部３１−００，３１−０１，３１−１０，３１−１１を有する。選択部３１−００，３１−０１はプレーン０用であり，選択部３１−１０，３１−１１はプレーン１用である。ロウデコーダ５−０，５−１は，同じ構成（要素および接続）を有する。また，選択部３１−００，３１−０１，３１−１０，３１−１１は同じ構成を有する。以下では，プレーン０に関する要素について説明する。しかしながら，プレーン１についても以下の記述が当てはまる。図５の半導体記憶装置も，図１に関して記述したのと同様に，例えば１つの半導体チップに相当する。
【００３２】
ドライバ１３は，ストリングドライバ１３ＳＴＲ０，１３ＳＴＲ１，ＣＧドライバ１３Ｃ０〜１３Ｃ１５を含んでいる。ストリングドライバ１３ＳＴＲ０は、プレーン０用のストリングを選択する機能を有する。ストリングドライバ１３ＳＴＲ１は、プレーン１用のストリングを選択する機能を有する。
ストリングドライバ１３ＳＴＲ０は、２個のＳＧＤドライバ１３ＳＧＤ００〜１３ＳＧＤ０１，２個のＳＧＳドライバ１３ＳＧＳ００〜１３ＳＧＳ０１を有する。また、ストリングドライバ１３ＳＴＲ１は、２個のＳＧＤドライバ１３ＳＧＤ１０〜１３ＳＧＤ１１，２個のＳＧＳドライバ１３ＳＧＳ１０〜１３ＳＧＳ１１を有する。
２個のＳＧＤドライバ１３ＳＧＤ００〜１３ＳＧＤ０１，２個のＳＧＤドライバ１３ＳＧＤ１０〜１３ＳＧＤ１１，２個のＳＧＳドライバ１３ＳＧＳ００〜１３ＳＧＳ０１，２個のＳＧＳドライバ１３ＳＧＳ１０〜１３ＳＧＳ１１，ＣＧ線ドライバ１３Ｃ０〜１３Ｃ１５は，それぞれ，プレーン０の各ブロックＢＬＫに接続されるＳＧ線ＳＧＤ００〜ＳＧＤ０１，プレーン１の各ブロックＢＬＫに接続されるＳＧ線ＳＧＤ１０〜ＳＧＤ１１，プレーン０の各ブロックＢＬＫに接続されるＳＧ線ＳＧＳ００〜ＳＧＳ０１，プレーン１の各ブロックＢＬＫに接続されるＳＧ線ＳＧＳ１０〜ＳＧＳ１１，ＣＧ線ＣＧ０〜ＣＧ１５を，シーケンサ１５の制御に従って定まる特定の電位に駆動する。ドライバ１３はプレーン０とプレーン１で共通である。ドライバ１３は，シーケンサ１５からストリングユニットＳＵを示すアドレス（以下，ストリングユニットアドレス信号ＳＵＡＤＤともいう）を受けて，ストリングユニットを選択する。具体的には，ドライバ１３は，プレーン０のストリングユニットアドレス信号ＳＵＡＤＤ０，プレーン１のストリングユニットアドレス信号ＳＵＡＤＤ１を受けて，４個のＳＧＤドライバ１３ＳＧＤ００〜１３ＳＧＤ１１，４個のＳＧＳドライバ１３ＳＧＳ００〜１３ＳＧＳ１１を制御する。
ロウデコーダ５−０は，ブロックアドレスプリデコーダ２１−０，２個のレベルシフタ２２−００〜２２−０１，２個の転送トランジスタ群２３−００〜２３−０１を含んでいる。
ブロックアドレスプリデコーダ２１−０は，選択部３１−００，３１−０１に接続される。選択部３１−００，３１−０１は，それぞれ，レベルシフタ２２−００，２２−０１接続される。レベルシフタ２２−００は，転送トランジスタ群２３−００の各転送トランジスタのゲートに接続される。レベルシフタ２２−０１は，転送トランジスタ群２３−０１の各転送トランジスタのゲートに接続される。
【００３３】
ブロックアドレスプリデコーダ２１−０は，シーケンサ１５からブロックアドレス信号ＢＬＫＡＤＤ０を受けて，ブロックＢＬＫを選択する信号Ｓ０を選択部３１−００，３１−０１に出力する。選択部３１−００，３１−０１によって，いずれかの転送トランジスタ群２３−００〜２３−０１が選択される。例えばブロックＢＬＫ０を選択するとき，転送トランジスタ群２３−００のゲートにＨレベルが印加されて，転送トランジスタ群２３−００の各転送トランジスタがオンする。その結果，ブロックＢＬＫ０のワード線ＷＬ０〜ＷＬ１５はＣＧ線ＣＧ０〜ＣＧ１５に接続される。
ＣＧ線ＣＧ０〜ＣＧ１５は，転送トランジスタ群２３−００〜２３−０１を介して，ドライバ１３の１３Ｃ０〜Ｃ１５に電気的に接続される。
【００３４】
プレーン０であって，各ブロックＢＬＫのストリングユニットＳＵ０のＳＧ線ＳＧＤＬ０は，転送トランジスタ群２３−００〜２３−０１を介してＳＧＤドライバ１３ＳＧＤ００に電気的に接続される。プレーン０であって，各ブロックＢＬＫのストリングユニットＳＵ０のＳＧ線ＳＧＳＬ０は，転送トランジスタ群２３−００〜２３−０１を介してＳＧＳドライバ１３ＳＧＳ００に電気的に接続される。プレーン０であって，各ブロックＢＬＫのストリングユニットＳＵ１のＳＧ線ＳＧＤＬ１は，転送トランジスタ群２３−００〜２３−０１を介してＳＧＤドライバ１３ＳＧＤ０１に電気的に接続される。プレーン０であって，各ブロックＢＬＫのストリングユニットＳＵ１のＳＧ線ＳＧＳＬ１は，転送トランジスタ群２３−００〜２３−０１を介してＳＧＳドライバ１３ＳＧＳ０１に電気的に接続される。
【００３５】
１．５  制御部１９
制御部１９は，半導体記憶装置１全体の動作を制御する機能を有する。制御部１９はシーケンサ１５，コマンドユーザインターフェース１６，レジスタ２０ａ，２０ｂ、レジスタ２４ａ０〜２４ｄ０、２４ａ１〜２４ｄ１を含む。
シーケンサ１５は，コマンドユーザインターフェース１６から供給されたコマンド，アドレスに基づいて，データの書き込み動作，読み出し動作，及び消去動作時における動作シーケンスを実行する。
シーケンサ１５はこの動作シーケンスを実行するために，半導体記憶装置１内に含まれる各ブロックの動作を制御する。図５に示すように，シーケンサ１５は，ブロックアドレス信号ＢＬＫＡＤＤ０をプレーン０のブロックアドレスプリデコーダ２１−０に供給し，ブロックアドレス信号ＢＬＫＡＤＤ１をプレーン１のブロックアドレスプリデコーダ２１−１に供給し，ストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１をドライバ１３に供給する。
【００３６】
レジスタ２０ａは，後述する規定値Ｘ１〜Ｘ３を例えばパワーオン時に設定する。この規定値Ｘ１は，消去ベリファイに対応付けられた値として保持される。規定値Ｘ２はＩＴＳＰベリファイに対応付けられた値として保持される。規定値Ｘ３はソフトプログラムベリファイに対応付けられた値として保持される。
レジスタ２０ｂは，プレーンごとに各ストリングユニットＳＵの消去ベリファイパス／消去ベリファイフェイル，ＩＴＳＰベリファイパス／ＩＴＳＰベリファイフェイル，ソフトプログラムベリファイパス／ソフトプログラムベリファイフェイルを保持するレジスタである。
データの書き込み動作，読み出し動作等のとき，外部からＩ／Ｏインターフェース１２を介してコマンド，データ，アドレスが半導体記憶装置１に供給される。本実施形態のアドレスについて，一例の図７を用いて説明する。
【００３７】
図７は，本実施形態のアドレスマッピングの一例を概念図である。
図７に示すように，シーケンサ１５は，下位ページ／上位ページのアドレス（図中，Ｌ／Ｕ），ワード線アドレス（図中，ＷＬ Ａｄｄｒｅｓｓ），ストリングユニットアドレス（図中，ＳＵ Ａｄｄｒｅｓｓ），及びブロックアドレス（図中，Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）を順次受け取る。
【００３８】
図５に示すように、シーケンサ１５は，ブロックアドレス信号ＢＬＫＡＤＤ０，ＢＬＫＡＤＤ１をブロックアドレスプリデコーダ２１−０，２１−１それぞれに供給する。また，シーケンサ１５は，ストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１、ワード線アドレス信号ＷＬＡをドライバ１３に供給する。ここで、信号ＳＵＡＤＤ０は，プレーン０に供給される信号である。信号ＳＵＡＤＤ１は，プレーン１に供給される信号である。同様に信号ＢＬＫＡＤＤ０は，プレーン０に供給される信号である。信号ＢＬＫＡＤＤ１は，プレーン１に供給される信号である。詳細は後述する。
ワード線アドレス信号ＷＬＡＤＤは、複数のプレーンで共通のワード線アドレス信号を用いるものとする。なお、ワード線アドレス信号ＷＬＡＤＤを複数のプレーン間で共通にし、複数のプレーン間で同じワード線ＷＬが選択されるようにしてもよい。また、ワード線アドレス信号ＷＬＡＤＤをプレーンごとに変えて、プレーンごとに異なるワード線ＷＬが選択されるようにしてもよい。
【００３９】
ブロックプリアドレスデコーダ２１−０が，シーケンサ１５からブロックアドレス信号ＢＬＫＡＤＤ０を受け取る。ブロックアドレス信号ＢＬＫＡＤＤ０は，プレーン０のメモリセルアレイ２のうち，特定のブロックを選択する情報を含んでいる。ブロックアドレスプリデコーダ２１−０は，ブロックアドレス信号ＢＬＫＡＤＤ０をデコードし，特定のブロックＢＬＫを選択するよう、信号Ｓ０を選択部３１−００，３１−０１に出力する。ここで、信号Ｓ０は、プレーン０のいずれのブロックＢＬＫを選択する信号である。
例えばブロックＢＬＫ０が選択される場合には、選択部３１−００，３１−０１，シフトレジスタ２２−００、２２−０１を介して、転送トランジスタ群２３−００がオンする。
レベルシフタ２２−００は，選択部３１−００から必要な電圧ＶＲＤＥＣを受け取る。選択部３１−００は，電圧生成回路１４から必要な電圧を受け取り，電圧ＶＲＤＥＣを生成する。選択部３１−００は，例えば，電圧生成回路１４の機能の一部として実現され，電圧生成回路１４に含まれている。
【００４０】
シーケンサ１５は、ストリングユニットアドレス信号ＳＵＡＤＤ０をストリングドライバ１３ＳＴＲ０に供給し、ワード線アドレスＷＬＡＤＤをＣＧドライバ１３Ｃ０〜１３Ｃ１５に供給し、特定のストリングユニットＳＵ、特定のワード線ＷＬを選択する。ストリングユニットアドレス信号ＳＵＡＤＤ０は，プレーン０のメモリセルアレイ２のうち，特定のストリングユニットＳＵを選択する情報を含んでいる。
例えば、ブロックＢＬＫ０のストリングユニットＳＵ０を選択する場合には、ＳＧ線ＳＧＳＬ０，ＳＧＤＬ０にＨレベルを転送し、他のストリングユニットＳＵ１に対応するＳＧ線ＳＧＳＬ１，ＳＧＳＬ１にＬレベルを転送する。
その結果、ストリングユニットＳＵ０の選択ゲートトランジスタがオンし、ストリングユニットＳＵ１の選択ゲートトランジスタがオフする。
【００４１】
上記のように，プレーン１についても，以下の一点を除いて同じである。すなわち，プレーン１用のブロックアドレスプリデコーダ２１−１は，ブロックアドレス信号ＢＬＫＡＤＤ１を受け取る。ブロックアドレス信号ＢＬＫＡＤＤ１は，プレーン２のメモリセルアレイ２のうち，特定のブロックを選択する情報を含んでいる。ブロックアドレスプリデコーダ２１−１は，ブロックアドレス信号ＢＬＫＡＤＤ１をデコードし，特定のブロックＢＬＫを選択するよう、信号Ｓ１を選択部３１−１０，３１−１１に出力する。ここで、信号Ｓ１は、プレーン１のいずれのブロックＢＬＫを選択する信号である。
シーケンサ１５は、ストリングユニットアドレス信号ＳＵＡＤＤ１をストリングドライバ１３ＳＴＲ１に供給し、ワード線アドレスＷＬＡＤＤをＣＧドライバ１３Ｃ０〜１３Ｃ１５に供給し、特定のストリングユニットＳＵ、特定のワード線ＷＬを選択する。ここで、ストリングユニットアドレス信号ＳＵＡＤＤ１は，プレーン１のメモリセルアレイ２のうち，特定のストリングユニットＳＵを選択する情報を含んでいる。
例えば、ブロックＢＬＫ０のストリングユニットＳＵ０を選択する場合には、ＳＧ線ＳＧＳＬ０，ＳＧＤＬ０にＨレベルを転送し、他のストリングユニットＳＵ１に対応するＳＧ線ＳＧＳＬ１，ＳＧＳＬ１にＬレベルを転送する。
その結果、ストリングユニットＳＵ０の選択ゲートトランジスタがオンし、ストリングユニットＳＵ１の選択ゲートトランジスタがオフする。
【００４２】
ブロックアドレス信号ＢＬＫＡＤＤ１は，ブロックアドレス信号ＢＬＫＡＤＤ０と異なる。ストリングユニットアドレス信号ＳＵＡＤＤ０は，ストリングユニットアドレス信号ＳＵＡＤＤ１と異なる。したがって，プレーン０で選択されたストリングユニットＳＵと，プレーン１で選択されたストリングユニットＳＵは相互に独立する。なお、本実施形態では、ブロックアドレス信号ＢＬＫＡＤＤ０，ＢＬＫＡＤＤ１、ストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１を相互に異ならせたが、この場合に限られず、例えばストリングユニットアドレス信号ＳＵＡＤＤ０とストリングユニットアドレス信号ＳＵＡＤＤ１を同じにしてもよい。
ここまでの説明では，半導体記憶装置１が２つのプレーンを有する例について説明した。しかしながら，３つ以上のプレーンのケースも上記の説明の原理に基づいて実現できる。
【００４３】
［第１実施形態に係る半導体記憶装置の消去動作］
次に，本実施形態に係る半導体記憶装置の消去動作について，図８を用いて説明する。シーケンサ１５の動作の例として図８を示した。
２．消去動作の概要
本実施形態の消去動作は，選択されたブロックに対してデータを消去したのちに，選択されたブロックのストリングユニットごとの消去ベリファイを含むものである。消去動作で行われる複数のベリファイを，ストリングユニット単位で行うことで，セルトランジスタの消去状態をより高精度に保障可能な半導体記憶装置を提供できる。
【００４４】
本実施形態の消去動作は，消去ベリファイののちに，選択されたブロックに対するソフトプログラム，ストリングユニットごとにＩＴＳＰベリファイ，ストリングユニットごとにソフトプログラムベリファイを含むものである。
なお，本実施形態では，消去ベリファイ，ＩＴＳＰベリファイ及びソフトプログラムベリファイはストリングユニットごとに行うが，この場合に限られず，消去ベリファイ，ＩＴＳＰベリファイ及びソフトプログラムベリファイは例えば選択されたブロック一括で行ってもよい。
図８は，第１実施形態に係る消去動作を示すフローチャート図である。プレーン０及びプレーン１は，いずれも２個のブロックを有し、各ブロックにはｉ個のストリングユニットＳＵがあるものと仮定し説明する。なお，本実施形態では，各プレーンは２個のブロックを有するものとしたが，これに限定されることなく，ｋ個（ｋは自然数）のブロックを有してもよい。
【００４５】
２．１  ステップＳ１
まず，ステップＳ１−０で、消去対象のブロックを選択する。具体的には、シーケンサ１５は、プレーン０から、ブロックアドレス信号ＢＬＫＡＤＤ０で選択されたブロックであってレジスタ２４ａ０〜２４ｅ０のいずれかに“１”が設定されていないブロックを、プレーン１から、ブロックアドレス信号ＢＬＫＡＤＤ１で選択されたブロックであってレジスタ２４ａ１〜２４ｅ１のいずれかに“１”が設定されていないブロックを消去対象のブロックとして設定する。
なお、本実施形態では、２つのプレーンに対して消去される場合を例に説明するが、この場合に限られず、例えば１つのプレーンのみ消去されてもよい。この場合、シーケンサ１５は、選択されないプレーンに対応するレジスタ２４ｅに“１”を設定する。
ステップＳ１−１で、ステップＳ１−０で選択されたブロックのメモリセルのデータを消去する。
具体的には，シーケンサ１５は，コマンド，アドレス（ブロックアドレス，ストリングユニットアドレス等）を受けてステップＳ１を実行する。シーケンサ１５は，ロウデコーダ５にブロックアドレス信号ＢＬＫＡＤＤ０，ＢＬＫＡＤＤ１，ドライバ１３にストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１、ワード線アドレスＷＬＡＤＤを供給する。具体的に説明すると、ストリングユニットアドレス信号ＳＵＡＤＤ０はストリングドライバ１３ＳＴＲ０に，ストリングユニットアドレス信号ＳＵＡＤＤ１はストリングドライバ１３ＳＴＲ１に、ワード線アドレスＷＬＡはＣＧドライバ１３Ｃ０〜１３Ｃ１５に供給される。
ブロックアドレス信号ＢＬＫＡＤＤ０は，プレーン０のうちいずれかのブロックＢＬＫを選択する信号である。ブロックアドレス信号ＢＬＫＡＤＤ１は，プレーン１のうちいずれかのブロックＢＬＫを選択する信号である。ストリングユニットアドレス信号ＳＵＡＤＤ０は、プレーン０のうち、いずれかのストリングユニットＳＵ又は全部のストリングユニットＳＵを選択する信号である。ストリングユニットアドレス信号ＳＵＡＤＤ１は、プレーン１のうち、いずれかのストリングユニットＳＵ又は全部のストリングユニットＳＵを選択する信号である。
説明の便宜上、本実施形態の消去動作では、ブロックアドレス信号ＢＬＫＡＤＤ０によりプレーン０のうちＢＬＫ０が選択され、ブロックアドレス信号ＢＬＫＡＤＤ１によりプレーン１のうちＢＬＫ０が選択されることを例として説明する。
【００４６】
ブロックアドレスプリデコーダ２１−０は，ブロックアドレス信号ＢＬＫＡＤＤ０を受けて，プレーン０のブロックＢＬＫ０を選択する信号Ｓ０を選択部３１−００，３１−０１に出力する。同様に，ブロックアドレスプリデコーダ２１−１は，ブロックアドレス信号ＢＬＫＡＤＤ１を受けて，プレーン１のブロックＢＬＫ０を選択する信号Ｓ１を選択部３１−１０，３１−１１に出力する。その結果，プレーン０のブロックＢＬＫ０に対応する転送トランジスタ群２３−００，プレーン１のブロックＢＬＫ０に対応する転送トランジスタ群２３−１１はオンする。
ステップＳ１では，電圧生成回路１４は電圧ＶＥＲＡを発生し，これをビット線ＢＬやソース線ＳＬに印加する。消去の対象となるプレーン０及びプレーン１のブロックＢＬＫ０の各選択ゲート線ＳＧＤＬ，ＳＧＳＬに電圧ＶＥＲＡよりも８Ｖ程度低い電圧が印加されると，ドレイン側選択ゲートトランジスタＳＤＴｒのビット線ＢＬ側のゲートエッジ付近の半導体柱ＳＰやソース側選択ゲートトランジスタＳＳＴｒのソース線ＳＬ側のゲートエッジ付近の半導体柱ＳＰにおいてＧＩＤＬと呼ばれる現象によって電子正孔対が発生する。この電子正孔対によってストリングＳｔｒｉｎｇ内の半導体柱ＳＰは電圧ＶＥＲＡに充電される。この時，セルトランジスタＭＴｒの制御ゲートＣＧに０Ｖを供給することで，電荷蓄積層にホールを注入し，メモリセルのしきい値電圧を低下させる。
【００４７】
２．２  ステップＳ２
２．２．１ ステップＳ２のフロー
次に，ステップＳ２では，各プレーンで選択されたストリングユニットＳＵごとに消去ベリファイを行う。消去ベリファイでは，選択されたストリングユニットＳＵに，閾値電圧が所望の電圧Ｖｅｖ０より高いセルトランジスタＭＴｒを少なくとも１個含むストリングＳｔｒｉｎｇの個数が規定値Ｘ１以下であるかを検証する。すなわち，消去ベリファイは，ステップＳ１のデータの消去をしたのち，各セルトランジスタＭＴｒの閾値電圧が例えば、負電位になっていることを検証する機能を有する。
ここで，規定値Ｘ１は経験値である。例えば、ＥＣＣで訂正能力に基づいて定められた数と設定してもよい。例えばＥＣＣで訂正可能なエラー数であってもよい。
【００４８】
本実施形態では，ワード線ＷＬに印加する負電位を生成せずに消去ベリファイを行うために，ソース線ＳＬの電圧をＶｓｌ（例えば，１Ｖ〜２Ｖ）まで昇圧させたままワード線ＷＬの電圧を負電位でないＶｅｖ１（例えば０Ｖ）を印加し，擬似的に閾値電圧が所望の電圧Ｖｅｖ０より高いセルトランジスタＭＴｒを少なくとも１個含むストリングＳｔｒｉｎｇの個数が規定値Ｘ１以下であるかを検証する。
シーケンサ１５は，ステップＳ２−０で、ＬＯＯＰ１＝０を設定する。なお、ＬＯＯＰ１は、後述するＬＯＯＰ２，ＬＯＯＰ３とは異なる数であってもよい。そして、シーケンサ１５は、ステップＳ２−１で，ｊ１＝０を設定する。符号ｊ１はストリングユニットを特定する機能を有する。
【００４９】
ステップＳ２−２で，シーケンサ１５は，ドライバ１３にストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１を供給する。このストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１により、プレーン０及びプレーン１におけるストリングＳｔｒｉｎｇｊ１を含むストリングユニットＳＵｊ１が選択される。
【００５０】
ステップＳ２−１で初期設定としてｊ１＝０により、ドライバ１３は、ストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１を受ける。ドライバ１３は、このストリングユニットアドレス信号ＳＵＡＤＤ０，ＳＵＡＤＤ１に基づいて，ストリングユニットＳＵ０を選択する。
したがって、プレーン０、プレーン１それぞれのブロックＢＬＫ０のストリングＳＵ０が選択される。
プレーン０及びプレーン１において，ソース線ＳＬを第１電圧Ｖｓｌとし，ビット線ＢＬ０〜ＢＬｍをプリチャージした状態で，ドライバ１３は，ＣＧ線ＣＧ０〜ＣＧ１５に消去ベリファイ用の所望の電圧Ｖｅｖ１を印加する。選択されたブロックＢＬＫ０のワード線ＷＬに，プレーン０の転送トランジスタ群２３−００，プレーン１の転送トランジスタ２３−１０を介して，所望の電圧が転送される。
ビット線ＢＬ０〜ＢＬｍそれぞれが選択されたストリングユニットＳＵ０の対応するストリングＳｔｒｉｎｇと電気的に接続されて，セル電流を検知することで，プレーン０及びプレーン１の選択されたブロックＢＬＫ０のうちストリングユニットＳＵ０に消去ベリファイを行う。すなわち、選択されたストリングユニットＳＵの各セルトランジスタＭＴｒの閾値電圧が所望の電圧Ｖｅｖ０よりも低い場合には、ビット線ＢＬの電位は放電される。他方で、選択されたストリングユニットＳＵに閾値電圧が所望の電圧Ｖｅｖ０よりも高いセルトランジスタＭＴｒを少なくとも１個含む場合には、ビット線ＢＬの電位は保持される。
プレーン０及びプレーン１それぞれのセンスアンプ（図５のＳ０）３に，選択されたブロックＢＬＫ０のうち選択されたストリングＳＵ０の消去ベリファイの結果（例えば、８Ｋバイト）が保持される。
【００５１】
ステップＳ２−３で，カラム制御回路６は，Ｓ２−２の消去ベリファイの結果から“１”データ（消去ベリファイフェイル）の個数をカウントし、“１”データの個数を示すデータをレジスタ６ａに保持する。また，カラム制御回路６は，シーケンサ１５のレジスタ２０ａに保持された規定値を読み出す。すわなち，シーケンサ１５は，消去ベリファイに対応する規定値Ｘ１をカラム制御回路６のレジスタ６ｂに転送し，カラム制御回路６は，この規定値Ｘ１をレジスタ６ｂに保持する。
カラム制御回路６は、“１”データの個数を示すデータと規定値Ｘ１に基づいて，選択されたストリングユニットＳＵｊ１の消去ベリファイパス／消去ベリファイフェイルの判定を行う。
【００５２】
カラム制御回路６は，プレーン０のストリングユニットＳＵｊ１における“１”データの個数が規定値Ｘ１以下か判定する。同様に，カラム制御回路６は，プレーン１のストリングユニットＳＵ０における“１”データの個数が規定値Ｘ１以下か判定する。
カラム制御回路６は、“１”データの個数が規定値Ｘ１以下であるとき、このストリングユニットＳＵ０は消去ベリファイパスと判断し、“１”データの個数が規定値Ｘ１より多いとき、このストリングユニットＳＵ０は消去ベリファイフェイルと判断する。
そして，カラム制御回路６は，プレーンごとに選択されたストリングユニットの消去ベリファイパス／消去ベリファイフェイルをシーケンサ１５にデータバス７を介して転送する。
プレーンごとに選択されたストリングユニットの消去ベリファイパス／消去ベリファイフェイルは制御部１９のレジスタ２０ｂに保持される。
ステップＳ２−４で，シーケンサ１５は，選択されたストリングユニットＳＵｊ１が消去ベリファイフェイルとなったブロックＢＬＫを含むプレーンに対して、ステップＳ２−１０の再度の消去が行われるまで消去ベリファイでは対象外とするように設定する。
【００５３】
ステップＳ２−５で，シーケンサ１５は，選択されたストリングユニットＳＵｊ１が消去ベリファイパスと判定されたプレーンがあるか否かを判定する。プレーン０及びプレーン１のいずれにおいても，選択されたストリングユニットＳＵｊ１が消去ベリファイフェイルであるとき（ステップＳ２−５，Ｎｏ），シーケンサ１５は，ステップＳ２−９に進む。
【００５４】
一方で，少なくともプレーン０又はプレーン１のいずれかにおいて，選択されたストリングユニットＳＵｊ１が消去ベリファイパスであるとき（ステップＳ２−５，Ｙｅｓ），シーケンサ１５はステップＳ２−６に進む。シーケンサ１５は，ｊ１＝ｉ−１であるか判断する。j１＝ｉ−１でないとき（ステップＳ２−６，Ｎｏ），シーケンサ１５は，ｊ１をインクリメントして（ステップＳ２−７），ステップＳ２−２に戻る。
ｊ１＝ｉ−１であるとき（ステップＳ２−６，Ｙｅｓ），シーケンサ１５は，プレーン０及びプレーン１のうちステップＳ１−１で選択されたブロックＢＬＫにおいて、全ストリングユニットＳＵが消去ベリファイパスであるかを判定する（ステップＳ２−８）。全ストリングユニットＳＵが消去ベリファイパスであるとき（ステップＳ２−８、Ｙｅｓ）、次のステップに進み，ソフトプログラムを行う。他方で、選択されたブロックＢＬＫのいずれかのストリングユニットＳＵが消去ベリファイフェイルであるとき（ステップＳ２−８、Ｎｏ）、シーケンサ１５は、ＬＯＯＰ１（ループ回数）が規定値（最大値）を超えているか判定する（ステップＳ２−９）。
ＬＯＯＰ１（ループ回数）が規定値（最大値）を超えていないとき（ステップＳ２−９、Ｎｏ）、シーケンサ１５は、消去ベリファイフェイルのストリングユニットＳＵを含むブロックＢＬＫを再度選択して、ブロックＢＬＫのデータを再度消去する（ステップＳ２−１０）。ここで、消去動作に使用する消去電圧（例えば２０Ｖ）はステップアップする。
ステップＳ２−１１で、シーケンサ１５は、ＬＯＯＰ１をインクリメントして、再度ステップＳ２−１に戻る。
ＬＯＯＰ１（ループ回数）が規定値（最大値）を達しているとき（ステップＳ２−９、Ｙｅｓ）、シーケンサ１５は、プレーン０で選択されたブロックにおいて消去ベリファイフェイルであるとき、対応するレジスタ２４ａ０、２４ｄ０に“１”を設定する。同様に、シーケンサ１５は、プレーン１で選択されたブロックにおいて消去ベリファイフェイルであるとき、対応するレジスタ２４ａ１、２４ｄ１に“１”を設定する（ステップＳ２−１２）。
ステップＳ２−１３では、シーケンサ１５はプレーン０及びプレーン１のステータスが確定しているか判断する。すなわち、シーケンサ１５は、プレーン０に対応するレジスタ２４ｄ０又はレジスタ２４ｅ０に“１”が設定されているか、プレーン１に対応するレジスタ２４ｄ１又はレジスタ２４ｅ１に“１”が設定されているか判断する。
シーケンサ１５は、レジスタ２４ｄ０又は２４ｅ０のいずれかに“１”が設定されていて、かつ、レジスタ２４ｄ１又は２４ｅ１のいずれかに“１”が設定されているとき、消去動作は終了する（エンド）。
【００５５】
具体例を用いて詳しく説明する。
ステップＳ２−３〜Ｓ２−７について，プレーン０のストリングユニットＳＵ０は消去ベリファイパスしており，プレーン１のストリングユニットＳＵ０は消去ベリファイフェイルしている例を検討する。
この場合，ステップＳ２−３において，カラム制御回路６は，プレーン０のストリングユニットＳＵ０は消去ベリファイパスと判断し，プレーン１のストリングユニットＳＵ０は消去ベリファイフェイルと判断する（ステップＳ２−３）。シーケンサ１５は，プレーン１の選択されたストリングユニットＳＵ０が消去ベリファイフェイルであるため，プレーン１を再度の消去ベリファイでは非選択となるように設定する（ステップＳ２−４）。
プレーン０のストリングユニットＳＵ０は消去ベリファイパスであるため，ステップＳ２−５，Ｙｅｓに進み，シーケンサ１５は，ｊ１＝０であるため，ｊ＝ｉ−１でないと判断し（ステップＳ２−６，Ｎｏ），ステップＳ２−７に進む。
そして，ステップＳ２−７で，シーケンサ１５は，ｊ１をインクリメント（ｊ１＝１）して，ステップＳ２−２に進む。
【００５６】
２．２．２  ステップＳ２のタイミングチャート
次に，ステップＳ２の消去ベリファイ動作について，図９のタイミングチャート，図１０，図１１を用いて説明する。説明の便宜上，プレーン０及びプレーン１を同時に選択して，各プレーンにおいて，ストリングユニットＳＵ０，ストリングユニットＳＵ１，ストリングユニットＳＵ２，…と昇降順にストリングユニットを選択して消去ベリファイを行う例を用いて説明する。
なお，プレーン０のストリングユニットＳＵ０は消去ベリファイパスとし，ストリングユニットＳＵ１は消去ベリファイフェイルとする。他方，プレーン１のストリングユニットＳＵ０〜ＳＵ２は消去ベリファイパスとし，ストリングユニットＳＵ３は消去ベリファイフェイルとする。以下，これを前提としたステップＳ２の動作について，説明する。
【００５７】
２．２．２．１  時刻ｔ１
まず，時刻ｔ１で，ビット線ＢＬ０〜ＢＬｍを電圧ＶＤＤにプリチャージする。ソース線ＳＬも電圧Ｖｓｌ昇圧する。プレーン０のブロックＢＬＫ０及びプレーン１のブロックＢＬＫ０のワード線ＷＬは，電圧Ｖｅｖ１を保持する。
時刻ｔ２で，プレーン０のブロックＢＬＫ０，プレーン１のブロックＢＬＫ０それぞれのストリングユニットＳＵ０を選択する。すなわち，プレーン０及びプレーン１のブロックＢＬＫ０それぞれのストリングユニットＳＵ０に含まれる全てのドレイン側選択ゲートトランジスタＳＤＴｒに電圧Ｖｓｇｄを印加し，全てのドレイン側選択ゲートトランジスタＳＤＴｒをオンさせる。同様に，プレーン０及びプレーン１のブロックＢＬＫ０それぞれのストリングユニットＳＵ０に含まれる全てのソース側選択ゲートトランジスタＳＳＴｒに電圧Ｖｓｇｓ印加し，全てのソース側選択ゲートトランジスタＳＳＴｒをオンさせる（図１０参照）。
【００５８】
２．２．２．２  時刻ｔ２〜時刻ｔ３
時刻ｔ２と時刻ｔ３の間で，プレーンごとに設けられたセンスアンプユニット３（複数のセンスアンプ）は，センス動作をそれぞれ行い，各プレーンのストリングユニットＳＵ０の消去ベリファイ結果を対応するプレーンのセンスアンプユニット３に保持する。
【００５９】
２．２．２．３  時刻ｔ３〜時刻ｔ５
時刻ｔ３で，各プレーンのストリングユニットＳＵ０のドレイン側選択ゲート線ＳＧＤＬ，ソース側選択ゲート線ＳＧＳＬの電圧を降圧し，ドレイン側選択ゲートトランジスタＳＤＴｒ，ソース側選択ゲートトランジスタＳＳＴｒをオフさせる。時刻ｔ４で，ビット線ＢＬの電位を降圧する。
時刻ｔ３〜時刻ｔ４で、プレーン０及びプレーン１それぞれのセンスアンプユニット３は、ストリングユニットＳＵ０の消去ベリファイの結果を読み出し、カラム制御回路６はその消去ベリファイパス／消去ベリファイフェイルの判断をする。
時刻ｔ４〜時刻ｔ５で、消去ベリファイパスであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電の制御を行う。他方、消去ベリファイフェイルであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電せずにＶＳＳを保持する。
時刻ｔ３〜時刻ｔ４でカラム制御回路６は、各プレーンの選択されたストリングユニットＳＵ０の消去ベリファイパス／消去ベリファイフェイルを判断し、シーケンサ１５に転送する。シーケンサ１５は，ストリングユニットＳＵ０の消去ベリファイパス／消去ベリファイフェイルをレジスタ２０ｂに保持する。
レジスタ２０ｂは，１ビット＊（ブロックＢＬＫあたりのストリングユニットＳＵの個数）＊（プレーンの数）のデータを保持できる領域を有する。レジスタ２０ｂは，例えば第１記憶領域（プレーン０に対応；１ビット＊（ストリングユニットＳＵの個数）のデータ領域），第２記憶領域（プレーン１に対応；１ビット＊（ストリングユニットＳＵの個数）のデータ領域）を有する。
【００６０】
シーケンサ１５は，プレーン０のストリングユニットＳＵ０の消去ベリファイパス／消去ベリファイフェイルを第１記憶領域に保持させ，プレーン１のストリングユニットＳＵ０の消去ベリファイパス／消去ベリファイフェイルを第２記憶領域に保持させる。
プレーン０及びプレーン１のいずれの選択ストリングユニットＳＵも消去ベリファイパスであるため，図８のステップＳ２−４，ステップＳ２−５，Ｙｅｓに進む。ステップＳ２−５では，プレーン０及びプレーン１のいずれの消去ベリファイ結果も消去ベリファイパスであるため，シーケンサ１５はいずれのプレーンも選択した状態を維持する。そして，シーケンサ１５は，ｊ１＝ｉ−１か否かを判断する（ステップＳ２−６）。
ｊ１＝０であるため，シーケンサ１５は，ｊ１をインクリメントさせる（ステップＳ２−７）。
【００６１】
２．２．２．４  時刻ｔ５
時刻ｔ５で，消去ベリファイパスであるプレーン０及びプレーン１に対して、シーケンサ１５はビット線ＢＬ０〜ＢＬｍを電圧ＶＤＤに再度プリチャージする。ソース線ＳＬは電圧Ｖｓｌ保持する。プレーン０及びプレーン１のブロックＢＬＫ０のワード線ＷＬは電圧Ｖｅｖ１を保持したままとする。
【００６２】
２．２．２．５  時刻ｔ６
時刻ｔ６で，プレーン０及びプレーン１それぞれのブロックＢＬＫ０うち，ストリングユニットＳＵ１を選択する。
【００６３】
２．２．２．６  時刻ｔ６〜時刻ｔ７
時刻ｔ６と時刻ｔ７の間で，プレーンごとに設けられたセンスアンプユニット３は，センス動作をそれぞれ行い，各プレーンのストリングユニットＳＵ１の消去ベリファイ結果を対応するセンスアンプユニット３に保持する。
【００６４】
２．２．２．７  時刻ｔ７〜時刻ｔ９
時刻ｔ７で，各プレーンのストリングユニットＳＵ１のドレイン側選択ゲート線ＳＧＤＬ，ソース側選択ゲート線ＳＧＳＬの電圧を降圧し，ドレイン側選択ゲートトランジスタＳＤＴｒ，ソース側選択ゲートトランジスタＳＳＴｒをオフさせる。時刻ｔ８で，ビット線ＢＬの電位を降圧する。
時刻ｔ７〜時刻ｔ８で、プレーン０及びプレーン１それぞれのセンスアンプユニット３は、ストリングユニットＳＵ１の消去ベリファイの結果を読み出し、カラム制御回路６はその消去ベリファイパス／消去ベリファイフェイルの判断をする。
時刻ｔ８〜時刻ｔ９で、消去ベリファイパスであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電の制御を行う。他方、消去ベリファイフェイルであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電せずにＶＳＳを保持する。
時刻ｔ７〜時刻ｔ８で、カラム制御回路６は、各プレーンの選択されたストリングユニットＳＵ１の消去ベリファイパス／消去ベリファイフェイルを判断し、シーケンサ１５に転送する。シーケンサ１５は，ストリングユニットＳＵ１の消去ベリファイパス／消去ベリファイフェイルをレジスタ２０ｂに保持する。
シーケンサ１５は，プレーン０のストリングユニットＳＵ１の消去ベリファイパス／消去ベリファイフェイルを第１記憶領域に保持させ，プレーン１のストリングユニットＳＵ１の消去ベリファイパス／消去ベリファイフェイルを第２記憶領域に保持させる。
プレーン１の選択ストリングユニットＳＵ１は消去ベリファイパスであり，プレーン０の選択ストリングユニットＳＵ１は消去ベリファイフェイルである。したがって，ステップＳ２−４で，シーケンサ１５は，プレーン０を再度の消去ベリファイでは非選択となるように設定する。
【００６５】
プレーン１の選択ストリングユニットＳＵ１は消去ベリファイパスであるため，ステップＳ２−５，Ｙｅｓに従って，シーケンサ１５は，ｊ１＝ｉ−１か否かを判断する（ステップＳ２−６）。
ｊ１＝１であるため，シーケンサ１５は，ｊ１をインクリメントし（ステップＳ２−７），ステップＳ２−２に戻る。
【００６６】
２．２．２．８  時刻ｔ９
時刻ｔ９で，消去ベリファイパスであるプレーン１に対して、シーケンサ１５はビット線ＢＬ０〜ＢＬｍを電圧ＶＤＤに再度プリチャージする。ソース線ＳＬは電圧Ｖｓｌを保持する。プレーン１のブロックＢＬＫ０のワード線ＷＬは電圧Ｖｅｖ１を保持したままとする。
【００６７】
２．２．２．９  時刻ｔ１０
時刻ｔ１０で，プレーン１のブロックＢＬＫ０のうち，ストリングユニットＳＵ２を選択する。
【００６８】
２．２．２．１０  時刻ｔ１０〜時刻ｔ１１
時刻ｔ１０と時刻ｔ１１の間で，プレーン１に設けられたセンスアンプユニット３は，センス動作を行い，プレーン１のストリングユニットＳＵ２の消去ベリファイ結果を対応するプレーンのセンスアンプユニット３に保持する。
【００６９】
２．２．２．１１  時刻ｔ１１〜時刻ｔ１３
時刻ｔ１１で，プレーン１のストリングユニットＳＵ２のドレイン側選択ゲート線ＳＧＤＬ，ソース側選択ゲート線ＳＧＳＬの電圧を降圧し，ドレイン側選択ゲートトランジスタＳＤＴｒ，ソース側選択ゲートトランジスタＳＳＴｒをオフさせる。時刻ｔ１２で，ビット線ＢＬの電位を降圧する。時刻ｔ１１〜時刻ｔ１２で、プレーン０及びプレーン１それぞれのセンスアンプユニット３は、ストリングユニットＳＵ２の消去ベリファイの結果を読み出し、カラム制御回路６はその消去ベリファイパス／消去ベリファイフェイルの判断をする。
時刻ｔ１２〜時刻ｔ１３で、消去ベリファイパスであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電の制御を行う。他方、消去ベリファイフェイルであるプレーンに対して、シーケンサ１５はビット線ＢＬの充電せずにＶＳＳを保持する。
後述する時刻ｔ１２までに，プレーン１のセンスアンプユニット３は，ストリングユニットＳＵ２の消去ベリファイの結果を保持する。カラム制御回路６は、プレーン１の選択されたストリングユニットＳＵ２の消去ベリファイパス／消去ベリファイフェイルを判断し、シーケンサ１５に転送する。シーケンサ１５は，ストリングユニットＳＵ１の消去ベリファイパス／消去ベリファイフェイルをレジスタ２０ｂに保持する。
プレーン１の選択ストリングユニットＳＵ２は消去ベリファイパスであって，ｊ１＝２であるため，シーケンサ１５は，ｊ１をインクリメントさせる（ステップＳ２−７）。
【００７０】
２．２．２．１２  時刻ｔ１３
時刻ｔ１３で，消去ベリファイパスであるプレーン１に対して、シーケンサ１５はビット線ＢＬ０〜ＢＬｍを電圧ＶＤＤに再度プリチャージする。ソース線ＳＬは電圧Ｖ１を保持する。プレーン１のブロックＢＬＫ０のワード線ＷＬは電圧Ｖｅｖ１を保持したままとする。
【００７１】
２．２．２．１３  時刻ｔ１４
時刻ｔ１４で、プレーン１のブロックＢＬＫ０のうち，ストリングユニットＳＵ３を選択する。電圧関係や制御方法については，時刻ｔ１，ｔ５，ｔ９と同様である。
【００７２】
２．２．２．１４  時刻ｔ１４〜ｔ１５
時刻ｔ１４と時刻ｔ１５の間で，プレーン１に設けられたセンスアンプユニット３は，センス動作を行い，プレーン１のストリングユニットＳＵ３の消去ベリファイパス／消去ベリファイフェイルを対応するプレーンのセンスアンプユニット３に保持する。電圧関係や制御方法については，時刻ｔ２〜ｔ３等と同様である。
【００７３】
２．２．２．１５  時刻ｔ１５
時刻ｔ１５で，プレーン１のストリングユニットＳＵ３のドレイン側選択ゲート線ＳＧＤＬ，ソース側選択ゲート線ＳＧＳＬの電圧を降圧する。
【００７４】
２．２．２．１６  時刻ｔ１５〜ｔ１７
後述する時刻ｔ１６までに，プレーン１のセンスアンプユニット３は，ストリングユニットＳＵ３の消去ベリファイの結果を保持する。カラム制御回路６は、プレーン１の選択されたストリングユニットＳＵ３の消去ベリファイパス／消去ベリファイフェイルを判断し、シーケンサ１５に転送する。シーケンサ１５は，ストリングユニットＳＵ３の消去ベリファイパス／消去ベリファイフェイルをレジスタ２０ｂに保持する。
プレーン１の消去ベリファイ結果は消去ベリファイフェイルである。このため、時刻ｔ１７にリカバリー動作を行い、ソース線ＳＬの電圧Ｖｓｌを放電する。
２．２．２．１７  時刻ｔ１７〜
プレーン１の消去ベリファイ結果は消去ベリファイフェイルであるため（ステップＳ２−５，Ｎｏ），シーケンサ１５は，Ｌｏｏｐ１が最大値でなければ（ステップＳ２−９）、ステップＳ２−４において消去ベリファイで対象外となった消去ベリファイフェイルを含むブロックのデータを消去する（ステップＳ２−１０）。
【００７５】
２．２．３  ステップＳ２の概念図  
上記具体例を概念図でまとめると，図１１のようになる。図１１では、各プレーンのうち選択されたブロックを示す概念図である。プレーン０及びプレーン１の選択ブロックは、ｉ個のストリングユニットＳＵを有する。１つの四角はストリングユニットＳＵ１個に対応する。図１１の“Ｐ”は消去ベリファイパスを示し，“Ｆ”は消去ベリファイフェイルを示す。
プレーン０及びプレーン１のストリングユニットＳＵに対して順次消去ベリファイを行い，あるプレーンの消去ベリファイパス／消去ベリファイフェイルが消去ベリファイフェイル（“Ｆ”）と判断されるまで，このプレーンを選択し，順次ストリングユニットＳＵに対して，消去ベリファイを行う。
【００７６】
２．３  ステップＳ３〜ステップＳ５
ステップＳ３〜ステップＳ５については，図１２−１，図１２−２のフローチャート図を用いて説明する。
【００７７】
２．３．１  ステップＳ３
図１２−１に示すように，ステップＳ３−０では、ソフトプログラムを行う対象のブロックを選択する。具体的には、シーケンサ１５は、プレーン０に対応するレジスタ２４ｄ０又はレジスタ２４ｅ０のいずれかに“１”が設定されているか、プレーン１に対応するレジスタ２４ｄ１又はレジスタ２４ｅ１のいずれかに“１”が設定されているか判断する。
シーケンサ１５は、レジスタ２４ｄ＊（＊は０と１のいずれかであり、以下同じ）とレジスタ２４ｅ＊のいずれにも“１”が設定されていないプレーンのブロックＢＬＫを選択する。
ステップＳ３−１では，シーケンサ１５は、ステップＳ３−０で選択されたプレーンのブロックＢＬＫに対して、ソフトプログラムを実行する。説明の便宜上、プレーン０及びプレーン１のいずれもステップＳ３−０で選択された場合を例に説明する。
すなわち、シーケンサ１５は，プレーン０及びプレーン１において、ブロックＢＬＫ内の全ストリングユニットＳＵが消去ベリファイパスしたブロックに対して、ソフトプログラムを一括して行う（ステップＳ３−１）。
データを消去したのちのセルトランジスタの閾値電圧が所望の消去状態の閾値電圧（負電位）よりも低すぎる場合には，その後にデータを書き込む際，書き込み電圧を余計に印加するだけでなく，書き込み時間が増大する。
そこで，データを消去したのちのセルトランジスタの閾値電圧が所望の消去状態にすべく，ソフトプログラムを行う。
【００７８】
プレーン０及びプレーン１のブロックＢＬＫ０の全ストリングユニットＳＵ０〜ＳＵｉ−１を選択する。全てのビット線ＢＬ１〜ＢＬｍに所望の低電位（例えば０Ｖ）が印加され，ソース側選択ゲートトランジスタＳＳＴｒのゲートにカットオフする電圧を印加する。また、ドレイン側選択ゲートトランジスタＳＤＴｒのゲートには、ドレイン側選択ゲートトランジスタがオン状態となる電圧を印加する。
そして，これらのストリングユニットＳＵ０〜ＳＵｉ−１に接続された全てのワード線ＷＬに所望の電圧（例えば電圧Ｖｓｐｇｍであり，１０Ｖ程度）を印加し，ソフトプログラムを行う。
【００７９】
２．３．２  ステップＳ４
図１２−１に示すように，ステップＳ４では，選択されたブロックＢＬＫのストリングユニットＳＵごとにＩＴＳＰベリファイをするものである。ここで，ＩＴＳＰベリファイは，消去ベリファイとは異なり，選択されたストリングユニットに，閾値電圧が電圧Ｖｉｔｓｐ以上であるセルトランジスタＭＴｒの個数が規定値Ｘ２以上であるかを確認する
このＩＴＳＰベリファイは，ステップＳ３のソフトプログラムによって，セルトランジスタの閾値電圧が，所望の消去状態に対して過消去状態であるか否かを検証するためのベリファイである。
この規定値Ｘ２は経験値である。例えば、ＥＣＣで訂正能力に基づいて定められた数と設定してもよい。規定値Ｘ２は、規定値Ｘ１と同じ値にしてもよく、異なる値としてもよい。
【００８０】
ＩＴＳＰベリファイでは，シーケンサ１５は，ステップＳ４−０で、ＬＯＯＰ２＝０を設定する。ステップＳ４−１で，シーケンサ１５はｊ２＝０を設定する。そして，各プレーンにおいて選択されたブロックＢＬＫ（例えば，プレーン０及びプレーン１のブロックＢＬＫ０）のうち，ストリングユニットＳＵｊ２を選択して，ストリングユニットＳＵｊ２ごとにＩＴＳＰベリファイを行う（ステップＳ４−２）。すなわち、選択されたストリングユニットＳＵの各セルトランジスタＭＴｒの閾値電圧が所望の電圧Ｖｉｔｓｐよりも低い場合には、ビット線ＢＬの電位は放電される。他方で、選択されたストリングユニットＳＵに閾値電圧が所望の電圧Ｖｉｔｓｐよりも高いセルトランジスタＭＴｒを少なくとも１個含む場合には、ビット線ＢＬの電位は保持される。
【００８１】
ステップＳ４−３で，カラム制御回路６は，Ｓ２−２のＩＴＳＰベリファイの結果と規定値Ｘ２に基づいて，選択されたストリングユニットのＩＴＳＰベリファイパス／ＩＴＳＰベリファイフェイルの判定を行う。
ステップＳ４−４で，シーケンサ１５は，選択されたストリングユニットＳＵｊ２がＩＴＳＰベリファイフェイルとなったプレーンを再度のＩＴＳＰベリファイでは非選択となるように設定する。
ステップＳ４−５で，シーケンサ１５は，選択されたストリングユニットＳＵｊ２がＩＴＳＰベリファイパスと判定されたプレーンがあるか否かを判定する。プレーン０及びプレーン１のいずれにおいても，選択されたストリングユニットＳＵｊ２がＩＴＳＰベリファイフェイルであるとき（ステップＳ４−５，Ｙｅｓ）シーケンサ１５は，後述するステップＳ４−９に進む。
【００８２】
プレーン０及びプレーン１のいずれかにおいて，選択されたストリングユニットＳＵｊ２がＩＴＳＰベリファイパスであるとき（ステップＳ４−５，Ｎｏ），シーケンサ１５は，ｊ２＝ｉ−１か否かを判定する（ステップＳ４−６）。ｊ２＝ｉ−１でないとき（ステップＳ４−６，Ｎｏ），シーケンサ１５は，ｊ２をインクリメントし（ステップＳ４−７），再度ステップＳ４−２に戻る。
ここで，ＩＴＳＰベリファイパスは，閾値電圧が電圧Ｖｉｔｓｐ以上であるセルトランジスタＭＴｒを少なくとも１個含むストリングユニットＳＵの個数が規定値Ｘ２以上であるときのベリファイ結果である。
また，ＩＴＳＰベリファイフェイルは，閾値電圧が電圧Ｖｉｔｓｐ以上であるセルトランジスタＭＴｒを少なくとも１個含むストリングユニットＳＵの個数が規定値Ｘ２よりも小さいときのベリファイ結果である。
各配線に印加する電圧は相違するものの，詳細な動作は図８のステップＳ４と同様であり，説明は省略する。
また、ステップＳ４−６で、シーケンサ１５がｊ２＝ｉ−１であると判断したとき（ステップＳ４−６、Ｙｅｓ）、シーケンサ１５は，プレーン０及びプレーン１のステップＳ３−１で選択されたブロックＢＬＫにおいて、全ストリングユニットＳＵがＩＴＳＰベリファイパスであるかを判定する（ステップＳ４−８）。全ストリングユニットＳＵがＩＴＳＰベリファイパスであるとき（ステップＳ４−８、Ｙｅｓ）、次のステップに進み，ソフトプログラムベリファイを行う。
他方で、ストリングユニットＳＵがＩＴＳＰベリファイフェイルであるブロックＢＬＫ
があるとき（ステップＳ４−８、Ｎｏ）、シーケンサ１５は、ＬＯＯＰ２（ループ回数）が規定値（最大値）を超えているか判定する（ステップＳ４−９）。
ＬＯＯＰ２（ループ回数）が規定値（最大値）を超えていないとき（ステップＳ４−９、Ｎｏ）、シーケンサ１５は、ＩＴＳＰベリファイフェイルのストリングユニットＳＵを含むブロックＢＬＫを再度選択して、ＩＴＳＰベリファイフェイルであるストリングユニットＳＵを含むブロックＢＬＫにソフトプログラムを行う（ステップＳ４−１０）。ここで、ソフトプログラムに使用するプログラム電圧はステップアップする。
ステップＳ４−１１で、シーケンサ１５は、ＬＯＯＰ２をインクリメントして、再度ステップＳ４−２に戻る。
ＬＯＯＰ２（ループ回数）が規定値（最大値）に達しているとき（ステップＳ４−９、Ｙｅｓ）、シーケンサ１５は、プレーン０で選択されたブロックにおいてＩＴＳＰベリファイフェイルであるとき、対応するレジスタ２４ｂ０、２４ｄ０に“１”を設定する。同様に、シーケンサ１５は、プレーン１で選択されたブロックにおいてＩＴＳＰベリファイフェイルであるとき、対応するレジスタ２４ｂ１、２４ｄ１に“１”を設定する（ステップＳ４−１２）。
ステップＳ４−１３では、シーケンサ１５はプレーン０及びプレーン１のステータスが確定しているか判断する。すなわち、シーケンサ１５は、プレーン０に対応するレジスタ２４ｄ０又はレジスタ２４ｅ０に“１”が設定されているか、プレーン１に対応するレジスタ２４ｄ１又はレジスタ２４ｅ１に“１”が設定されているか判断する。
シーケンサ１５は、レジスタ２４ｄ０又は２４ｅ０のいずれかに“１”が設定されていて、かつ、レジスタ２４ｄ１又は２４ｅ１のいずれかに“１”が設定されているとき、消去動作は終了する（エンド）。
【００８３】
なお，本実施形態では，ソフトプログラムを行った（ステップＳ３）のちに，ＩＴＳＰベリファイを行ったが，この場合に限られず，ＩＴＳＰベリファイを省略し，ソフトプログラムを行った（ステップＳ３）のちに，ソフトプログラムベリファイを行ってもよい（ステップＳ５）。ソフトプログラムベリファイの詳細については後述する。
２．３．３  ステップＳ５  
図１２−２に示すように，ステップＳ５では，選択されたブロックＢＬＫのストリングユニットＳＵごとにソフトプログラムベリファイをするものである。ここで，ソフトプログラムベリファイは，消去ベリファイと同様に，選択されたストリングユニットに，閾値電圧が電圧Ｖsoftより高いセルトランジスタＭＴｒを少なくとも１個含むストリングＳｔｒｉｎｇの個数が規定値Ｘ３以内であるかを確認する。
このソフトプログラムベリファイは，ソフトプログラムを行った後の所望の消去状態を保証するための機能を有するベリファイである。
ここで，規定値Ｘ３は，経験値である。例えば、ＥＣＣで訂正能力に基づいて定められた数と設定してもよい。規定値Ｘ３は規定値Ｘ１，Ｘ２と同じ値を用いてもよい。また、規定値Ｘ３は規定値Ｘ１，Ｘ２と相違してもよい。
【００８４】
ステップＳ５−０では、ソフトプログラムベリファイを行う対象のブロックを選択する。具体的には、シーケンサ１５は、プレーン０に対応するレジスタ２４ｄ０又はレジスタ２４ｅ０のいずれかに“１”が設定されているか、プレーン１に対応するレジスタ２４ｄ１又はレジスタ２４ｅ１のいずれかに“１”が設定されているか判断する。
シーケンサ１５は、レジスタ２４ｄ＊（＊は０と１のいずれかであり、以下同じ）とレジスタ２４ｅ＊のいずれにも“１”が設定されていないプレーンのブロックＢＬＫを選択する。
ソフトプログラムベリファイでは，シーケンサ１５は，ステップＳ５−１で、ＬＯＯＰ３＝０を設定する。ステップＳ５−２で，シーケンサ１５はｊ３＝０を設定する。
そして、ステップＳ５−３では，シーケンサ１５は、ステップＳ５−０で選択されたプレーンのブロックＢＬＫに対して、ソフトプログラムベリファイを実行する。説明の便宜上、プレーン０及びプレーン１のいずれもステップＳ５−０で選択された場合を例に説明する。各プレーンにおいて選択されたブロックＢＬＫ（例えば，プレーン０及びプレーン１のブロックＢＬＫ０）のうち，ストリングユニットＳＵｊ３を選択して，ストリングユニットＳＵｊ３ごとにソフトプログラムベリファイを行う（ステップＳ５−３）。
ステップＳ５−４で，カラム制御回路６は，Ｓ５−３のソフトプログラムベリファイの結果と規定値Ｘ３に基づいて，選択されたストリングユニットのソフトプログラムベリファイパス／ソフトプログラムベリファイフェイルの判定を行う。
【００８５】
ステップＳ５−５で，シーケンサ１５は，ソフトプログラムベリファイフェイルであるストリングユニットＳＵｊ３を有するブロックＢＬＫを含むプレーンに対して、ステップＳ１−１で再度の消去が行われるまでソフトプログラムベリファイでは非選択となるように設定する。
ステップＳ５−６で，シーケンサ１５は，選択されたストリングユニットＳＵｊ３がソフトプログラムベリファイパスと判定されたプレーンがあるか否かを判定する。プレーン０及びプレーン１のいずれにおいても，選択されたストリングユニットＳＵｊ３がソフトプログラムベリファイフェイルであるとき（ステップＳ５−６，Ｙｅｓ），シーケンサ１５は，ステップＳ５−１０に進む。
【００８６】
プレーン０及びプレーン１のいずれかにおいて，選択されたストリングユニットＳＵｊ３がソフトプログラムベリファイパスであるとき（ステップＳ５−６，Ｎｏ），シーケンサ１５は，ｊ３＝ｉ−１か否かを判定する（ステップＳ５−７）。ｊ３＝ｉ−１でないとき（ステップＳ５−７，Ｎｏ）、シーケンサ１５は，ｊ３をインクリメントし（ステップＳ５−８），再度ステップＳ５−３に戻る。
ここで，ソフトプログラムベリファイパスは，閾値電圧が電圧Ｖsoftより高いセルトランジスタＭＴｒを少なくとも１個含むストリングユニットＳＵの個数が規定値Ｘ３以下であるときのベリファイ結果である。
また，ＩＴＳＰベリファイフェイルは，閾値電圧が電圧Ｖsoftより高いであるセルトランジスタＭＴｒを少なくとも１個含むストリングユニットＳＵの個数が規定値Ｘ３よりも大きいときのベリファイ結果である。
各配線に印加する電圧は相違するものの，詳細な動作は図８のステップＳ４と同様であり，説明は省略する。
また、ステップＳ５−７で、シーケンサ１５がｊ３＝ｉ−１であると判断したとき（ステップＳ５−７、Ｙｅｓ）、シーケンサ１５は，プレーン０及びプレーン１の選択されたブロックＢＬＫにおいて、全ストリングユニットＳＵがソフトプログラムベリファイパスであるかを判定する（ステップＳ５−９）。全ストリングユニットＳＵがソフトプログラムベリファイパスであるとき（ステップＳ５−９、Ｙｅｓ）、消去動作が終了する。
他方で、選択されたブロックＢＬＫのいずれかのストリングユニットＳＵがソフトプログラムベリファイフェイルであるとき（ステップＳ５−９、Ｎｏ）、シーケンサ１５は、のＬＯＯＰ３（ループ回数）が規定値（最大値）を超えているか判定する（ステップＳ５−１０）。
ＬＯＯＰ３（ループ回数）が規定値（最大値）に達しているとき（ステップＳ５−１０、Ｙｅｓ）、シーケンサ１５は、ソフトプログラムベリファイパスであるブロックがあるか否かを判定する（ステップＳ５−１３）。選択されたブロックにソフトプログラムベリファイパスがないとき（ステップＳ５−１３、Ｎｏ）、シーケンサ１５は、プレーン０で選択されたブロックにおいてソフトプログラムベリファイフェイルであるとき、対応するレジスタ２４ｃ０、２４ｄ０に“１”を設定する（ステップＳ５−１５）。同様に、シーケンサ１５は、プレーン１で選択されたブロックにおいてソフトプログラムベリファイフェイルであるとき、対応するレジスタ２４ｃ１、２４ｄ１に“１”を設定する（ステップＳ５−１５）。
選択されたブロックにソフトプログラムベリファイパスがあるとき（ステップＳ５−１３、Ｙｅｓ）シーケンサ１５はプレーン０及びプレーン１のステータスが確定させる（ステップＳ５−１４）。シーケンサ１５は、レジスタ２４ｄ＊に“１”が設定されていない場合、レジスタ２４ｄ＊に対応するレジスタ２４ｅ＊に“１”を設定する。そして、消去動作を終了する（エンド）。
ＬＯＯＰ３（ループ回数）が規定値（最大値）に達していないとき（ステップＳ５−１０、Ｎｏ）、シーケンサ１５は、ソフトプログラムベリファイパスであるブロックを含むプレーンに対応するレジスタ２４ｅ＊に“１”を設定する（ステップＳ５−１１）。
そして、ステップＳ５−１２で、シーケンサ１５は、ＬＯＯＰ３をインクリメントして、再度ステップＳ１−０に戻る。
【００８７】
［第１実施形態の効果］
以上より，本実施形態は，セルトランジスタの消去状態をより高精度に保障可能な半導体記憶装置を提供できる。
比較例として，選択されたブロック単位で消去ベリファイを行う場合を検討する。検討するケースは以下の２つのケースである。
（１）ストリングＳｔｒｉｎｇの昇降順にデータを書き込む場合で，ブロックのある領域（第１領域）にデータが書き込まれており，残りの領域（第２領域）にデータが書き込まれていないとき
（２）ストリングＳｔｒｉｎｇの昇降順にデータを書き込む場合で，プロックの全領域にデータが書き込まれているが，ストリング単位でデータ消去のされやすさが異なるとき
説明の便宜上，図１３，図１４を用いて具体的にケース（１），（２）それぞれについて説明する。図１３，図１４では，ある１本のビット線ＢＬに接続された複数のストリングＳｔｒｉｎｇ０〜Ｓｔｒｉｎｇｒｉを示した。
ストリングＳｔｒｉｎｇ０〜Ｓｔｒｉｎｇｉには，複数のセルトランジスタに消去が完了していないものがあることを仮定する。図１３，図１４で“×”と示されたセルトランジスタは消去が完了していないセルトランジスタを示す。
【００８８】
Ｉ  ケース（１）
比較例では，消去ベリファイをブロック単位で行うため，ストリングＳｔｒｉｎｇ０〜ストリングＳｔｒｉｎｇｉの全てのドレイン側選択トランジスタＳＤＴｒ，全てのソース側選択トランジスタＳＳＴｒが一括してオンする。これにより，プレーン０及びプレーン１の選択されたブロックＢＬＫの全ストリングユニットＳＵ０〜ＳＵｉ−１が選択される。
この状態で消去ベリファイを行うと，データが書き込まれていない第２領域のストリングＳｔｒｉｎｇは，既に消去状態であるため，このストリング（図１３のストリングＳｔｒｉｎｇｉ−１）を介して，ビット線ＢＬの電位は放電されて，消去ベリファイパスとなる。つまり，データが書き込まれた第１領域の消去ベリファイを行うことができず，セルトランジスタの消去状態を保障できない場合がある。
【００８９】
また，第１領域でセル不良のセルトランジスタを含むストリングであるか否かを判別もできず，セルトランジスタを使用できるのか否かも判断できない場合がある。
しかし，本実施形態では，消去ベリファイをストリングユニットＳＵ０〜ＳＵｉ−１ごとに行う。このため，データが書き込まれていない第２領域のストリングＳｔｒｉｎｇがあったとしても，データが書き込まれた第１領域のストリングＳｔｒｉｎｇを選択して消去ベリファイを行うことで，第１領域のセルトランジスタの消去状態を保障できる。
また，本実施形態では，消去ベリファイをストリングユニットＳＵ０〜ＳＵｉ−１ごとに行うため，セル不良のセルトランジスタを含むストリングであるか否かを判別できる。その結果，データとして使用できる領域も判断できる。シーケンサ１５は，例えば後天的にセル不良となったセルトランジスタを含むストリングを判別でき，データ領域を変更することもできる。
【００９０】
ＩＩ  ケース（２）
図１４で，例えばストリングＳｔｒｉｎｇ０のデータ消去のされやすさとストリングＳｔｒｉｎｇｒｉ−３のデータ消去のされやすさが異なるときを検討する。
比較例では，消去ベリファイをブロック単位で行うため，ストリングＳｔｒｉｎｇ０〜ストリングＳｔｒｉｎｇｉの全てのドレイン側選択トランジスタＳＤＴｒ，全てのソース側選択トランジスタＳＳＴｒが一括してオンする。これにより，プレーン０及びプレーン１の選択されたブロックＢＬＫの全ストリングユニットＳＵ０〜ＳＵｉ−１が選択される。
この状態で消去ベリファイを行うと，ストリングＳｔｒｉｎｇｉ−３はデータの消去が不足している状態であったとしても，ストリングＳｔｒｉｎｇ０を介して，ビット線ＢＬの電位は放電されて，消去ベリファイパスとなる場合がある。つまり，ストリングＳｔｒｉｎｇｉ−３のセルトランジスタの消去状態を保障できない場合がある。
【００９１】
しかし，本実施形態では，消去ベリファイをストリングユニットＳＵ０〜ＳＵｉ−１ごとに行う。このため，ストリングＳｔｒｉｎｇｉ−３のセルトランジスタの消去状態を保障できる。
また，本実施形態では，消去ベリファイをストリングユニットＳＵ０〜ＳＵｉ−１ごとに行うため，セル不良のセルトランジスタを含むストリングであるか否かを判別できる。その結果，データとして使用できる領域も判断できる。シーケンサ１５は，例えば後天的にセル不良となったセルトランジスタを含むストリングを判別でき，データ領域を変更することもできる。
【００９２】
（第２実施形態）
次に，第２の実施形態の半導体記憶装置について，図１５のフローチャート図，図１６の概念図を用いて説明する。第２実施形態の半導体記憶装置は，第１実施形態に対して消去動作が異なり、その他半導体装置の構成は第１実施形態と同一の構成を有する。
【００９３】
［第２実施形態に係る半導体記憶装置の消去動作］
次に，本実施形態に係る半導体記憶装置の消去動作について，図１５，図１６を用いて説明する。シーケンサ１５の動作の例として図１５を示した。
【００９４】
３．消去動作の概要
本実施形態の消去動作は，選択されたブロックに対してデータを消去したのちに，選択されたブロックのストリングユニットごとに消去ベリファイを含むものである。第２実施形態の消去動作は，第１実施形態に対して，ストリングユニットＳＵの消去ベリファイ結果によらずに，次のストリングユニットＳＵの消去ベリファイを行う点で相違する。
本実施形態の消去動作は，消去ベリファイののちに，選択されたブロックに対するソフトプログラム，ストリングユニットごとにＩＴＳＰベリファイ，ストリングユニットごとにソフトプログラムベリファイを含むものである。
説明の便宜上、消去ベリファイのみ説明する。消去ベリファイのステップと同様のステップによって、ＩＴＳＰベリファイやソフトプログラムベリファイが行われる。
なお，本実施形態では，ＩＴＳＰベリファイ及びソフトプログラムベリファイはストリングユニットごとに行うが，この場合に限られず，例えば選択されたブロック一括で行ってもよい。
【００９５】
図１５は，第２実施形態に係る消去動作を示すフローチャート図である。本実施形態ではプレーンは４個（プレーン０〜３）あるものと仮定し，各プレーンにはストリングユニットＳＵがｉ個あるものとする。
本実施形態の消去動作は、大きく分けると２つのステップで構成される。ステップＳＳ１では、選択されたブロックＢＬＫの全ストリングユニットＳＵに対して消去ベリファイを行う。そして、ステップＳＳ２では、再度の消去動作ののちに、消去ベリファイフェイルのストリングユニットＳＵを各プレーンから選択して個別に消去ベリファイを行う。
ステップＳＳ１は、ステップＳ１１−１〜ステップＳ１２−６を有する。また、ステップＳＳ２は、ステップＳ１３−１〜ステップＳ１５−１を有する。
【００９６】
３．１  ステップＳ１１
まず，ステップＳ１１−０で、消去対象のブロックを選択する。具体的には、シーケンサ１５は、プレーン０から、ブロックアドレス信号ＢＬＫＡＤＤ０で選択されたブロックであってレジスタ２４ａ０〜２４ｅ０のいずれかに“１”が設定されていないブロックを、プレーン１から、ブロックアドレス信号ＢＬＫＡＤＤ１で選択されたブロックであってレジスタ２４ａ１〜２４ｅ１のいずれかに“１”が設定されていないブロックを消去対象のブロックとして設定する。プレーン２〜３についても同様である。
ステップＳ１１−１で、ステップＳ１１−０で選択されたブロックのメモリセルのデータを消去する。
具体的には，シーケンサ１５は，コマンド，アドレス（ブロックアドレス，ストリングユニットアドレス等）を受けてステップＳ１を実行する。シーケンサ１５は，ロウデコーダ５にブロックアドレス信号ＢＬＫＡＤＤ０〜ＢＬＫＡＤＤ３，ドライバ１３にストリングユニットアドレス信号ＳＵＡＤＤ０〜ＳＵＡＤＤ３、ワード線アドレスＷＬＡＤＤを供給する。
ブロックアドレス信号ＢＬＫＡＤＤ０は，プレーン０で選択するブロックを示すアドレスである。ブロックアドレス信号ＢＬＫＡＤＤ１は，プレーン１で選択するブロックを示すアドレスである。ブロックアドレス信号ＢＬＫＡＤＤ２は，プレーン２で選択するブロックを示すアドレスである。ブロックアドレス信号ＢＬＫＡＤＤ３は，プレーン３で選択するブロックを示すアドレスである。
【００９７】
ストリングユニットアドレス信号ＳＵＡＤＤ０は，プレーン０で選択するストリングユニットＳＵを示すアドレスである。ストリングユニットアドレス信号ＳＵＡＤＤ１は，プレーン１で選択するストリングユニットＳＵを示すアドレスである。ストリングユニットアドレス信号ＳＵＡＤＤ２は，プレーン２で選択するストリングユニットＳＵを示すアドレスである。ストリングユニットアドレス信号ＳＵＡＤＤ３は，プレーン３で選択するストリングユニットＳＵを示すアドレスである。
説明の便宜上、本実施形態の消去動作では、ブロックアドレス信号ＢＬＫＡＤＤ０〜ＢＬＫＡＤＤ３により各プレーン０〜３のうちＢＬＫ０が選択されることを例として説明する。
【００９８】
３．２  ステップＳ１２
３．２．１ ステップＳ１２のフロー
次に，ステップＳ１２では，各プレーンで選択されたストリングユニットＳＵごとに消去ベリファイを行う。
シーケンサ１５は，ステップＳ１２−０で、ＬＯＯＰ５＝０を設定する。なお、ＬＯＯＰ５は、前述するＬＯＯＰ２〜ＬＯＯＰ４とは異なる数であってもよい。そして、シーケンサ１５は、ステップＳ１２−１で，ｊ５＝０を設定する。符号ｊ５はストリングユニットを特定する機能を有する。
【００９９】
ステップＳ１２−２で，シーケンサ１５は，ドライバ１３により供給されるストリングユニットアドレス信号ＳＵＡＤＤ０〜ＳＵＡＤＤ３により、プレーン０〜プレーン３におけるストリングＳｔｒｉｎｇｊ５を含むストリングユニットＳＵｊ５が選択される。
【０１００】
ステップＳ１２−３で，カラム制御回路６は，Ｓ１２−２の消去ベリファイの結果から“１”データ（消去ベリファイフェイル）の個数をカウントし、“１”データの個数を示すデータをレジスタ６ａに保持する。また，カラム制御回路６は，シーケンサ１５のレジスタ２０ａに保持された規定値を読み出す。すわなち，シーケンサ１５は，消去ベリファイに対応する規定値Ｘ１をカラム制御回路６のレジスタ６ｂに転送し，カラム制御回路６は，この規定値Ｘ１をレジスタ６ｂに保持する。カラム制御回路６は、“１”データの個数を示すデータと規定値Ｘ１に基づいて，選択されたストリングユニットＳＵｊ５の消去ベリファイパス／消去ベリファイフェイルの判定を行う。
ステップＳ１２−４で，シーケンサ１５は、ｊ５＝ｉ−１であるか判断する。ｊ５＝ｉ−１でないとき（ステップＳ１２−４，Ｎｏ）、シーケンサ１５は、ｊ５をインクリメントして（ステップＳ１２−５）、ステップＳ１２−２に戻る。
他方で、ｊ５＝ｉ−１であるとき（ステップＳ１２−４，Ｙｅｓ）、シーケンサ１５は、プレーン０〜プレーン３の選択されたブロックＢＬＫにおいて消去ベリファイパスであるストリングユニットＳＵに対応するレジスタ２０ｂに“０”データを設定し、消去ベリファイフェイルであるストリングユニットＳＵに対応するレジスタ２０ｂに“１”データを設定する。ここで、“１”データはストリングユニットＳＵが消去ベリファイフェイルであることを示すデータである（ステップＳ１２−６）。
そして、シーケンサ１５は、消去対象のブロックＢＬＫの全ストリングユニットＳＵが消去ベリファイパスであるか否かを判定する（ステップＳ１３−１）。具体的には、シーケンサ１５は、各ストリングユニットＳＵに対応するレジスタ２０ｂを読み出し、“１”データが設定されているストリングユニットＳＵがあるか否かを判定する。
全ストリングユニットＳＵが消去ベリファイパスであるとき（ステップＳ１３−１、Ｙｅｓ）、消去ベリファイを終了してソフトプログラムを実行する。
他方で、全ストリングユニットＳＵが消去ベリファイパスでないとき（ステップＳ１３−１、Ｎｏ）、すなわちいずれかのストリングユニットＳＵが消去ベリファイフェイルであるとき、シーケンサ１５は、ＬＯＯＰ５（ループ回数）が規定値（最大値）を超えているか判定する（ステップＳ１３−２）。
ＬＯＯＰ５（ループ回数）が規定値（最大値）に達していないとき（ステップＳ１３−２、Ｎｏ）、シーケンサ１５は、消去ベリファイフェイルのストリングユニットＳＵを含むブロックＢＬＫを再度選択して、ブロックＢＬＫのデータを再度消去する（ステップＳ１３−３）。ここで、消去動作に使用する消去電圧（例えば２０Ｖ）はステップアップする。
シーケンサ１５は、ＬＯＯＰ５をインクリメントして（ステップＳ１３−４）、Ｓ１３−３で選択されたブロックＢＬＫの消去ベリファイフェイルのストリングユニットＳＵを再度選択して、消去ベリファイを行う（ステップＳ１３−５）。
すなわち、プレーン０〜プレーン３のうち、消去ベリファイフェイルであるストリングユニットＳＵをそれぞれ選択して、この選択されたストリングユニットＳＵに対してのみ消去ベリファイを行う。
ステップＳ１３−６で、シーケンサ１５は、プレーン０〜プレーン３それぞれにある消去ベリファイフェイルのストリングユニットＳＵ全部に対して、消去ベリファイが行われたか判定する。ステップＳ１３−１で消去ベリファイフェイルとなったストリングユニットＳＵの全部に対して、ステップＳ１３−５で消去ベリファイがされていない場合には（ステップＳ１３−６、Ｎｏ）、シーケンサ１５は、ステップＳ１３−５に戻り、前回のステップＳ１３−５で消去ベリファイがされていないストリングユニットＳＵを選択して消去ベリファイを行う。
ステップＳ１３−１で消去ベリファイフェイルとなったストリングユニットＳＵの全部に対して、ステップＳ１３−５で消去ベリファイがされている場合には（ステップＳ１３−６、Ｙｅｓ）、シーケンサ１５は、ステップＳ１２−６に戻る。
ＬＯＯＰ５（ループ回数）が規定値（最大値）を達しているとき（ステップＳ１３−２、Ｙｅｓ）、シーケンサ１５は、各プレーン０〜プレーン３で選択されたブロックにおいて消去ベリファイフェイルとなったストリングユニットＳＵが残っているとき、そのブロックを含むプレーンに対応するレジスタ２４ａ０〜２４ａ３、２４ｄ０〜２４ｄ３に“１”を設定する（ステップＳ１３−７）。ステップＳ１３−８では、シーケンサ１５は選択されたブロックＢＬＫが消去ベリファイパスであるか否かを判定する。
プレーン０〜プレーン３におけるいずれかのブロックＢＬＫが消去ベリファイパスであるとき（ステップＳ１３−８、Ｙｅｓ）消去ベリファイを終了してソフトプログラムを実行する。
プレーン０〜プレーン３におけるいずれのブロックＢＬＫも消去ベリファイフェイルであるとき（ステップＳ１３−８、Ｎｏ）ソフトプログラムを実行せずにそのまま終了する。
【０１０１】
図１６は，ステップＳ１２−４，Ｙｅｓの状態において，レジスタ２０ｂに保持されたデータの模式図を示す。図１６では、図１５で説明したレジスタ２０ｂに“０”データがセットされた状態を“Ｐ”、“１”データがセットされた状態を“Ｆ”と図示した。
これにより，シーケンサ１５は，プレーン０〜３の選択されたブロックにおいて，各ストリングユニットＳＵ０〜ＳＵｉ−１の消去ベリファイパス／消去ベリファイフェイルを判別できる。
ステップＳ１２−６では，シーケンサ１５は，各プレーン０〜３のうち，消去ベリファイフェイルとなったストリングユニットＳＵに対応するレジスタ２０ｂに“１”データを設定する。
図１６では、シーケンサ１５は，“Ｆ”のストリングユニットＳＵを抽出する。プレーン０では，“Ｆ”のストリングユニットＳＵはストリングユニットＳＵ２である。プレーン１では，“Ｆ”のストリングユニットＳＵはストリングユニットＳＵ１ストリングユニットＳＵ２，…，ストリングユニットＳＵｉ−１である。プレーン２では，“Ｆ”のストリングユニットＳＵはストリングユニットＳＵ０，ストリングユニットＳＵ２，…，である。プレーン３は，“Ｆ”のストリングユニットＳＵはストリングユニットＳＵ２，…，ストリングユニットＳＵｉ−２である。
図１６では，各プレーン０〜３で，１個以上の消去ベリファイフェイルのストリングユニットＳＵがあるため，ステップＳ１３−１、Ｎｏに進む。
【０１０２】
そして、ＬＯＯＰ５（ループ回数）が規定値（最大値）に達していないとき（ステップＳ１３−２、Ｎｏ）、シーケンサ１５は、プレーン０〜プレーン３で，１個以上の消去ベリファイフェイルのストリングユニットＳＵがあるため，全プレーン０〜３で選択されたブロックのデータを再度消去する（ステップＳ１３−３）。
そして、シーケンサ１５は、ＬＯＯＰ５をインクリメントして（ステップＳ１３−４）、プレーン０のストリングユニットＳＵ２，プレーン１のストリングユニットＳＵ１，プレーン２のストリングユニットＳＵ０，プレーン２のストリングユニットＳＵ１を選択し，消去ベリファイを行う（ステップＳ１３−５）。ストリングユニットアドレス信号をプレーン０〜３ごとに変えることで，プレーン０〜３で異なるストリングユニットＳＵを選択することができる。
シーケンサ１５は，プレーン０〜３ごとに選択されたブロックＢＬＫのうち、全ての“Ｆ”のストリングユニットＳＵに対して消去ベリファイが行われるまで、ステップＳ１３−５を繰り返す（ステップＳ１３−６、Ｎｏ）。全ての“Ｆ”のストリングユニットＳＵに対して消去ベリファイが行われたら（Ｓ１３−６、Ｙｅｓ）シーケンサ１５はＳ１２−６に戻り、ステップＳ１３−５による各ストリングユニットの消去ベリファイパス／消去ベリファイフェイル情報をもとに対応するレジスタ２０ｂを更新する。
【０１０３】
［第２実施形態の効果］
以上より，本実施形態は，第１実施形態と同様に，セルトランジスタの消去状態をより高精度に保障可能な半導体記憶装置を提供できる。
第１実施形態と比較して，本実施形態は短時間に消去動作を行うことができる。具体的に説明する。
第１実施形態では，例えば消去ベリファイは，常にストリングユニットＳＵの昇降順に行われる。ストリングユニットＳＵ０に対して消去ベリファイを行い，ストリングユニットＳＵ１に対して消去ベリファイを行い，…，ストリングユニットＳＵｉに対して消去ベリファイを行う。
初めの消去ベリファイにより，以下の消去ベリファイ結果を得たとする。
プレーン０のストリングユニットＳＵ０は消去ベリファイフェイルとする。他方で，プレーン１のストリングユニットＳＵ０は消去ベリファイパスで，ストリングユニットＳＵ１は消去ベリファイフェイルとする。
このとき，再度のデータ消去を行い，再度の消去ベリファイを行うとき，プレーン０のストリングユニットＳＵ０は消去ベリファイフェイルであるため，プレーン０及びプレーン１のストリングユニットＳＵ０に対して再度消去ベリファイを行う必要がある。
【０１０４】
すなわち，第１実施形態では，ストリングユニットの順番をプレーン０及びプレーン１で共通にしていたため，消去ベリファイパスであるストリングユニットＳＵ０に対しても再度消去ベリファイが行われていた。
しかし，第２実施形態では，消去ベリファイフェイルであるストリングユニットＳＵを選択して再度消去ベリファイを行うため，消去ベリファイを行う回数を減らすことができる。その結果，第２実施形態は，第１実施形態と比較して，消去動作を短くすることができる。
【０１０５】
なお，本願発明は上記実施形態に限定されるものではなく，実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。本明細書の全実施形態では、消去ベリファイ、ＩＴＳＰベリファイ、ソフトプログラムベリファイは、選択されたブロックＢＬＫに含まれる全てのストリングユニットＳＵに対して適用されるが、この場合には限られず、例えば選択されたブロックＢＬＫのうち所定の複数のストリングユニットＳＵのみに対して、消去ベリファイ、ＩＴＳＰベリファイ、ソフトプログラムベリファイを適用してもよい。具体的に説明すると、ストリングユニットＳＵ０〜ＳＵ３に対してのみ例えば消去ベリファイを行う場合には、図８のステップＳ２−６でシーケンサ１５は，ｊ１＝３であるか判断する。
所定の複数のストリングユニットＳＵは連続している場合に限られず、ランダムに決められた複数のストリングユニットＳＵであってもよい。
更に，上記実施形態には種々の段階の発明が含まれており，開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば，実施形態に示される全構成要件からいくつかの構成要件が削除されても，発明が解決しようとする課題の欄で述べた課題が解決でき，発明の効果の欄で述べられている効果が得られる場合には，この構成要件が削除された構成が発明として抽出されうる。
（付記１）
半導体基板上に積層された複数のメモリセルを含むストリングユニットと，
複数の前記ストリングユニットを含むブロックを単位として前記メモリセルのデータを消去し，前記ストリングユニットを単位として，前記メモリセルに消去ベリファイを行う制御部と
を備えることを特徴とする半導体記憶装置。
（付記２）
前記制御部は，前記消去ベリファイでパスするまで，前記消去動作及び前記消去ベリファイを繰り返し行い，
前記消去ベリファイをパスしたのち，前記ブロックを単位として，前記ブロック内のメモリセルに第１書き込み動作を行い，前記ストリングユニットを単位として，前記ストリングユニットのメモリセルに接続されるワード線に第１電圧を印加する第１ベリファイ動作を行い，前記ストリングユニットを単位として，前記ストリングユニットのメモリセルに接続されるワード線に前記第１電圧よりも低い第２電圧を印加する第２ベリファイ動作を行い，
前記第１ベリファイ動作及び前記第２ベリファイ動作でパスするまで，前記第１書き込み動作，第１ベリファイ動作，及び第２ベリファイ動作を繰り返す
ことを特徴とする付記１記載の半導体記憶装置。
（付記３）
複数の前記ストリングユニットを含む第１プレーンと，
複数の前記ストリングユニットを含み，前記第１プレーンとは独立して動作可能な第２プレーンと
をさらに備え，
前記制御部は，前記消去ベリファイでパスするまで，前記消去動作及び前記消去ベリファイを繰り返し行い，
前記制御部は，前記第１プレーンのストリングユニットに対してストリングユニットの昇降順に前記消去ベリファイを行い，前記第２プレーンのストリングユニットに対してストリングユニットの昇降順に前記消去ベリファイを行うとき，前記第１プレーン及び前記第２プレーンのストリングユニットに対して一括して前記消去ベリファイを行う
ことを特徴とする付記１又は付記２記載の半導体記憶装置。
（付記４）
前記制御部は，前記第１プレーン及び第２プレーンのストリングユニットに対する消去ベリファイの結果を保持したのち，再度前記第１プレーン及び第２プレーンのストリングユニットに対する消去ベリファイを行うとき，
前記制御部は，前記第１プレーンのうち前記消去ベリファイでフェイルしたストリングユニットと，前記第２プレーンのうち前記消去ベリファイでフェイルしたストリングユニットとを選択して，再度消去ベリファイを行うことを特徴とする付記３記載の半導体記憶装置。
（付記５）
前記ブロックにｍ個（ｍは自然数）のストリングユニットを有し、
前記制御部は、前記ｍ個のストリングユニットのうちｎ個（ｎは自然数、ｎ＜ｍ）のストリングユニットに対して消去ベリファイを行うことを特徴とする付記１乃至付記４いずれか１項に記載の半導体記憶装置。
【符号の説明】
【０１０６】
１  半導体記憶装置、２  メモリセルアレイ、３  センスアンプ、４  ページバッファ、５  ロウデコーダ、１３  ＣＧドライバ、１４  電圧発生回路、１５  シーケンサ、１８  コントローラ
【図１】
2014164789.tif 000003
【図２】
2014164789.tif 000004
【図３】
2014164789.tif 000005
【図４】
2014164789.tif 000006
【図５】
2014164789.tif 000007
【図６】
2014164789.tif 000008
【図７】
2014164789.tif 000009
【図８】
2014164789.tif 000010
【図９】
2014164789.tif 000011
【図１０】
2014164789.tif 000012
【図１１】
2014164789.tif 000013
【図１２−１】
2014164789.tif 000014
【図１２−２】
2014164789.tif 000015
【図１３】
2014164789.tif 000016
【図１４】
2014164789.tif 000017
【図１５】
2014164789.tif 000018
【図１６】
2014164789.tif 000019