"直列接続された複数のメモリセルがストリングを形成し、このストリングが複数個配置されたメモリセルアレイと、前記メモリセルアレイから選択されたサンプルストリングを構成する各メモリセルをワード線により選択してデータを書き込む書き込み回路と、前記サンプルストリングの各メモリセルに対する書き込み回数を前記ワード線毎に保持する記憶部と、前記サンプルストリング以外のストリングの各メモリセルをワード線より選択してデータを書き込むとき、前記記憶部より前記選択されたワード線に対応する書き込み回数に基づき、初期の書き込み電圧を生成する電圧生成部とを具備したことを特徴とする不揮発性半導体記憶装置。前記書き込み回路は、メモリセルの閾値電圧がベリファイ電圧に達していない場合、書き込み電圧をステップアップするとともに、書き込み回数を更新して書き込み動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記書き込み回路は、ベリファイ電圧を越えたメモリセルの数が規定値より少ない場合、書き込み電圧をステップアップするとともに、書き込み回数を更新して書き込み動作を実行することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記ストリングは、半導体基板上に活性層を共有して複数のメモリセルが積層されて形成されていることを特徴とする請求項3記載の不揮発性半導体記憶装置。前記ストリングは、半導体基板上に第1の活性層を共有して複数のメモリセルが積層された第1の部分と、前記半導体基板上に第2の活性層を共有して複数のメモリセルが積層された第2の部分と、前記半導体基板内に設けられ、前記第1、第2の活性層を電気的に接続する第3の部分とを具備することを特徴とする請求項3記載の不揮発性半導体記憶装置。前記記憶部は、LIFOLastInFirstOutの記憶部により構成されることを特徴とする請求項5記載の不揮発性半導体記憶装置。前記記憶部は、FIFOFirstInFirstOutの記憶部により構成されることを特徴とする請求項4記載の不揮発性半導体記憶装置。前記複数のメモリセルのそれぞれは、2ビット以上のデータを記憶し、前記記憶部は、前記メモリセル毎に、第1のビットの書き込み回数を記憶することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記電圧生成部は、第2のビットのデータを書き込むとき、前記記憶部に記憶された前記第1のビットの書き込み回数に基づき、第2のビットのデータを書き込むためのイニシャル書き込み電圧を生成することを特徴とする請求項8記載の不揮発性半導体記憶装置。前記複数のメモリセルのそれぞれは、2ビット以上のデータを記憶し、前記記憶部は、サンプルストリングに接続されたメモリセルに設定される複数の閾値電圧毎の書き込み回数を記憶することを特徴とする請求項1記載の不揮発性半導体記憶装置。前記電圧生成部は、前記サンプルストリング以外のストリングに接続されたメモリセルにデータを書き込むとき、前記記憶部に記憶された前記閾値電圧毎の書き込み回数に基づき、設定すべき閾値電圧のイニシャル書き込み電圧を生成することを特徴とする請求項10記載の不揮発性半導体記憶装置。本実施形態は、積層型メモリの書き込み動作を高速化することが可能な不揮発性半導体記憶装置を提供する。本実施形態によれば、積層型のメモリセル構造を有する不揮発性半導体記憶装置であって、半導体基板上に、複数のメモリセルを積層してなるストリングを複数個配置したメモリセルアレイと、前記メモリセルアレイの任意のストリングをサンプルストリングとして選択し、該選択したサンプルストリングに対してデータの書き込みを行う手段と、前記サンプルストリングの各メモリセルに対する書き込みパルス数をレイヤー毎に保持する書き込みパルス数記憶部と、前記記憶部に記憶されたレイヤー毎の書き込みパルス数を同一レイヤーの他のストリングのメモリセルの書き込み電圧の初期値に反映させる手段と、を具備している。以下、実施の形態について、図面を参照して説明する。全図面において、同一部分には同一符号を付している。第1の実施形態[本実施形態の経緯]BiCSメモリは、1回のリソグラフィ工程で多層を一括形成することによって、従来の3次元メモリよりも圧倒的に加工コストを低く抑えることができる。一方で、活性層AAであるシリコン柱が深さ方向に沿って径が細くなっているため、最上層のセルと最下層のセルとで書き込み特性が異なる。そのため、レイヤー毎に書き込みパルスの印加回数が異なることが考えられ、レイヤー毎に書き込みパフォーマンスが大きく異なる可能性がある。さらに、容量を大きくするためにチップ面積を大きくすると、面内方向のばらつきが生じる可能性もある。また、書き込みパルスが多く印加される層には、ストレスが集中する。このため、書き込み、消去を繰り返すうちに、そのページから書き込み不良などが起こる可能性がある。1ページでも不良が発生すると、そのページを含むブロックはバッドブロックとなるため、ブロックの寿命を縮めることとなる。このため、本実施形態は、メモリセルに対する書き込み動作を工夫し、バッドブロックの発生頻度を低減しつつ、書き込み動作を高速化する半導体記憶装置を提供する。BiCSメモリにおいて、深さ方向に異なるレイヤーに配置されたメモリセル同士では、それぞれのメモリセルの特性は異なるが、同一レイヤーに配置されたメモリセル同士では、それぞれのメモリセルの特性が揃っていると考えられる。さらに、大容量のメモリであっても、同一ブロック内の複数のメモリセルは、面方向のばらつきが少ないと考えられる。そこで、本実施形態は、あるサンプルストリングのレイヤー毎の書き込み特性を反映する指標例えば、書き込みパルスの印加回数を保持する。サンプルストリングのあるレイヤーの上記指標を、その他のストリングの同一レイヤーのページを書き込む際の書き込み動作に反映させる。尚、サンプルストリングは、必ずしも専用のストリングを意味するものではなく、例えば電源が投入された後、最初に指定された書き込むべきストリングとしてもよい。[不揮発性半導体記憶装置の構成]図1は、第1の実施形態に係わる3次元積層型不揮発性半導体記憶装置の一例を示している。本実施形態の3次元積層型不揮発性半導体記憶装置は、BiCSフラッシュメモリ10と、メモリコントローラ外部コントローラともいう20とを有する。<BiCSフラッシュメモリ>BiCSフラッシュメモリ10は、メモリセルアレイ11、センスアンプ12、カラムデコーダ13、ロウデコーダ14、電圧生成回路16、パワーオンリセット検出回路17、ロウアドレスバッファ18、入出力バッファ19、制御回路内部コントローラともいう30、を備える。<<メモリセルアレイ>>図2乃至図4は、本実施形態のメモリセルアレイ11の構成斜視図、断面図を示している。メモリセルアレイ11は、複数のブロックを有している。図2は、説明の便宜上、2つのブロックBK,BKのみを示している。データの消去動作は、例えばブロック毎に行われる。なお、ブロックを一般的に示す場合には、ブロックBKと記す。図2に示すように、各ブロックは、ソース拡散層42、ソース拡散層42の上方に形成された導電層としてのソース側セレクトゲート線SGS、WL~WL、ドレイン側セレクトゲート線SGD、及び活性層AAなどを有し、複数のNANDストリングを構成する。図示せぬ半導体基板内に形成されるソース拡散層42は、例えば同一プレーン内の全ブロックBKに共通に設けられる。ソース拡散層42は、コンタクトプラグPSLを介して、ソース線SLM1に接続される。また、ソース拡散層42上には、例えば、導電性ポリシリコンを材料とする3つ以上の導電層が図示せぬ層間絶縁膜を介して積層される。図2において、この導電層は、層間絶縁膜を介して6層積層される。各導電膜は、最下層に位置するソース側セレクトゲート線第2セレクトゲート線SGSと、最上層に位置するドレイン側セレクトゲート線第1セレクトゲート線SGD~SGD、及びソース側セレクトゲート線SGSとドレイン側セレクトゲート線SGDの間に配置されたワード線WL~WLを構成する。最上層のドレイン側セレクトゲート線SGD~SGDを除く残りの5つの導電層は、1つのブロックBK内でそれぞれプレート状に形成される。また、6つの導電層の図示x方向半導体基板の表面と平行方向の端部は、各々の導電層にコンタクトを接触可能とするため、階段状に形成される。例えばワード線WLは、ソース側セレクトゲート線SGSの上方に形成されるが、ソース側セレクトゲート線SGSにコンタクトを接触可能とするため、ソース側セレクトゲート線SGSの端部の上方には形成されていない。即ち、ワード線WLは、ソース側セレクトゲート線SGSよりもx方向の幅が短く形成される。同様に、ワード線WLは、ワード線WLよりもx方向の幅が短く形成され、ワード線WLは、ワード線WLよりもx方向の幅が短く形成され、ワード線WLは、ドレイン側セレクトゲート線SGDよりもx方向の幅が短く形成される。最上層のドレイン側セレクトゲート線SGDSGD~SGDは、それぞれ棒状に形成される。図2に示すように、ドレイン側セレクトゲート線SGDSGD~SGDは、y方向に間隔をおいてx方向に延びる。<<活性層>>図2に示すように、複数の活性層アクティブエリアAAは、柱状に形成されており、図示z方向半導体基板の表面に対して垂直方向にソース拡散層42からソース側セレクトゲート線SGS、ワード線WL~WL、及びドレイン側セレクトゲート線SGD~SGDをそれぞれ貫通するように形成される。複数の活性層AAの上端は、y方向に延びる複数のビット線BL~BLにそれぞれ接続されている。また、ソース側セレクトゲート線SGSは、コンタクトプラグPSGSを介して、x方向に延びる引き出し線SGS-M1に接続され、ワード線WL~WLは、それぞれ、コンタクトプラグPWL~PWLを介して、x方向に延びる引き出し線WLM1~WLM1に接続される。さらに、ドレイン側セレクトゲート線SGD~SGDは、それぞれ、コンタクトプラグPSGD~PSGDを介して、x方向に延びる引き出し線SGDM1~SGDM1に接続される。複数のビット線BL~BL及び引き出し線SGSM1,WLM1,WLM1~WLM1,SGDM1~SGDM1は、例えば金属配線により構成される。図3は、図2のうちNANDストリングの断面図を示す。NANDストリングは、ワード線WL0~WL3に接続された複数のメモリセルと、ソース側セレクトゲート線SGSに接続されるソース側選択ゲートトランジスタと、ドレイン側セレクトゲート線SGDに接続されるドレイン側選択トランジスタとを有する。図3では例示として2つのNANDストリングのみを示しているが、図2に示すようなブロックBKには、NANDストリングが例えば12個設けられている。図4aは、1つのNANDストリングの構造を詳細に示す断面図であり、図4bは、図4aの一部を拡大して示している。図4aに示すように、半導体基板41の表面に対して垂直方向に柱状に形成された活性層AAとワード線WL~WLとの交差部分にメモリセルMCがそれぞれ形成される。また、活性層AAとソース側セレクトゲート線SGSとの交差部分にソース側選択ゲートトランジスタSTが形成され、活性層AAとドレイン側セレクトゲート線SGDとの交差部分にドレイン側選択ゲートトランジスタSTが形成される。メモリセルMCは、例えばMONOS構造を有する。ここでMONOS構造とは、電荷蓄積層がSiN等の窒化物などの絶縁体により構成されるメモリセル構造である。メモリセルMCの構造は、MONOS構造に限定されることなく、他の構造であってもよい。すなわち、図4bに示すように、メモリセルMCは、電荷蓄積層44が、例えば2つの絶縁膜43、45に挟まれたONOOxideNitrideOxide構造とされる。電荷蓄積層44と活性層AAとの間に絶縁膜43が介在される。絶縁膜43は、データの書き込み時、トンネル絶縁膜として機能し、データの保持時、電荷が活性層AAにリークすることを防止する。電荷蓄積層44と制御ゲート46との間には、ブロック絶縁膜45が介在される。ブロック絶縁膜45は、電荷蓄積層44に捕獲された電荷が制御ゲート46にリークすることを防止する。制御ゲート46、46は、ワード線WL、WLにそれぞれ接続される。制御ゲート46、46の相互間には、層間絶縁膜47が形成されている。なお、メモリセルMCは、ブロック絶縁膜45を持たないMNOS構造とすることも可能である。選択トランジスタSTは、例えばメモリセルMCと同一構造を有する。但し、活性層AAとソース線側セレクトゲート線SGSとの間に介在する選択トランジスタSTのゲート絶縁膜は、メモリセルMCと異なる構造、即ち、電荷蓄積層44を持たない構造、例えば、シリコン酸化膜の単一膜としてもよい。1つのワード線WLを共有する各NANDストリング内のメモリセルMCの集合は、データの読み出し及び書き込み単位としてのページを構成する。また、複数のワード線WLを共有する複数のNANDストリングの集合は、データ消去の単位としてのブロックを構成する。<<センスアンプ及びカラムアドレスバッファ/カラムデコーダ>>図1に示すように、センスアンプ12は、ビット線BLを介してメモリセルアレイ11内のメモリセルに接続されるとともに、カラムアドレスバッファを兼用するカラムデコーダ13に接続されている。センスアンプ12は、データ読み出し時に、メモリセルアレイ11のデータをページ単位で読み出し、データ書き込み時に、メモリセルアレイ11にデータをページ単位で書き込む。さらに、センスアンプ12は、各ビット線に対応して図示せぬ複数個のデータラッチ回路を有している。これらデータラッチ回路は、例えば1つのメモリセルに2ビットのデータを記憶するMLCMultiLevelCellの場合、3つのデータラッチ回路を有する。カラムデコーダ13は、後述するようにロウアドレスバッファ18を介して入力されるカラムアドレス信号をデコードし、ビット線BLのいずれかを選択する選択信号をセンスアンプ12に出力する。また、センスアンプ12により読み出されたデータを入出力バッファ19に供給する。<<ロウデコーダ>>ロウデコーダ14は、ロウアドレスバッファ18を介して入力されるロウアドレス信号をデコードし、メモリセルアレイ11のワード線WL及びセレクトゲート線SGD、SGSを選択して駆動する。なお、本実施形態のBiCSフラッシュメモリ10には、外部入出力端子I/O図示略が設けられており、この外部入出力端子I/Oを介して入出力バッファ19とメモリコントローラ20との間でデータが授受される。外部入出力端子I/Oを介して入力されたアドレス信号は、ロウアドレスバッファ18を介してロウデコーダ14及びカラムデコーダ13に出力される。<<パワーオンリセット回路>>パワーオンリセット回路17は、制御回路15に接続される。パワーオンリセット回路17は、電源の投入を検出し、制御回路30に検知信号を出力する。<<制御回路>>制御回路30は、パワーオンリセット回路17から入力されるパワーオン検知信号を受けて、自動的に初期化動作を行う。制御回路30は、メモリコントローラ20から供給される各種外部制御信号書き込みイネーブル信号WEn、読み出しイネーブル信号REn、コマンドラッチイネーブル信号CLE、アドレスラッチイネーブル信号ALE等と、コマンドCMDに基づき、メモリセルアレイ11に対する書き込み動作、消去動作、及び読み出し動作を制御する。さらに、制御回路30は、レジスタ31、メモリ32、及び演算回路33を有している。レジスタ31は、サンプルストリングのレイヤー毎の書き込み特性を反映する指標を保持する。例えば、指標として各ワード線WLに対する書き込みパルスの印加回数を保持する。メモリ32は、初期の書き込み電圧であるイニシャルVPGMを記憶する。演算回路33は、レジスタ31に保持された指標及びメモリ32に記憶されたイニシャルVPGMに基づき、最適な書き込み電圧VPGMを演算する。<<電圧生成回路>>電圧発生回路16は、制御回路30により制御された書き込み、消去及び読み出しの動作に必要な各種電圧を発生するものであり、電源電圧より高い電圧を発生するため、昇圧回路を備えている。この電圧発生回路16は、制御回路30の演算回路33と接続されており、演算回路33の演算結果に基づいて電圧を生成する。尚、主としてセンスアンプ12、カラムデコーダ13、ロウデコーダ14、電圧生成回路16は、書き込み手段、及び読み出し手段を構成している。<メモリコンロトーラ>メモリコンロトーラ20は、BiCSフラッシュメモリ10との間でコマンド、データ、アドレスなどの授受を行う。[不揮発性半導体記憶装置の動作]上記3次元構造のNANDストリングの特徴の一つは、ドレイン側セレクトゲート線SGDが、柱状の活性層AAの側面を取り囲む構造を有している点にある。このため、例えば複数の活性層AAを細くし、半導体基板41上により多くの活性層AAを形成して大容量化を図った場合においても、NANDストリングを構成する選択トランジスタの駆動力を十分に確保することができる。活性層AAとしてのシリコン柱の径は、半導体基板41に近づくに従って細くなっている。このため、例えば活性層AAの上方に位置するメモリセルと活性層AAの下方に位置するメモリセルに同じ閾値電圧を設定する場合において、上方のメモリセルと下方のメモリセルとで書き込み回数が異なることがある。このため、本実施形態は、書き込み電圧を次のように制御している。図5は、本実施形態の不揮発性半導体記憶装置の書き込み動作を示している。尚、説明を簡単化するため、図3、図4aに示すように、ワード線がWL0からWL3までの4本により構成され、4つのメモリセルが積層されている場合について説明する。また、サンプルストリングのレイヤー毎の書き込み特性を反映する指標として、書き込みパルスの印加回数を例に説明する。本実施形態において、メモリセルにデータを書き込む場合、複数のNANDストリングの中からサンプルストリングとして1つのNANDストリングが選択され、このNANDストリングの各メモリセルに所定の閾値電圧を設定する場合に必要な書き込み回数書き込みパルスの印加回数が計数され、この計数値がレジスタ31に保持される。したがって、レジスタ31には、NANDストリングのワード線毎にメモリセルの書き込み回数が保持される。この後、サンプルストリング以外のNANDストリングのメモリセルにデータを書き込む場合、書き込み対象のメモリセルと同一のワード線により選択されるサンプルストリングのメモリセルに対応する計数値がレジスタ31から読み出され、この計数値に基づき書き込み電圧が補正される。具体的には、次のように実行される。メモリコントローラ20から、例えばサンプルストリングの書き込みコマンドが発行された場合、このコマンドに基づき、ロウデコーダ52及びカラムデコーダ53により、複数のストリングの中からサンプルストリングとして1つのNANDストリングが選択されるステップS1。この後、制御回路30において、ワード線WLnを選択するためのパラメータnが、n=0に初期設定されステップS2、書き込み回数を計数するためのパラメータWLnloopが、WLnloop=0に初期設定されるステップS3。この状態において、電圧生成回路16により書き込み電圧VPGMが初期値に設定されるステップS4。次いで、制御回路30は、選択されたサンプルストリングのワード線WL<0>に、電圧生成回路16により生成された書き込み電圧VPGMを印加するステップS5。このとき、センスアンプ12を介してサンプルストリングに接続されたビット線BLに例えば0Vが印加され、サンプルストリングの活性層AAが0Vに設定される。このため、ワード線WL<0>により選択されたメモリセルの電荷蓄積層に電荷が注入される。書き込み電圧VPGMの印加後、ワード線WL<0>に接続されたメモリセルの閾値電圧が所定の閾値電圧に達したかどうかベリファイされるステップS6、S7。尚、計数取得のためのベリファイレベルは、通常の書き込み動作の場合とベリファイレベルと同じ値である必要はない。すなわち、電圧生成回路16によりベリファイ電圧が生成され、このベリファイ電圧がワード線WL<0>に印加され、メモリセルの閾値電圧がベリファイ電圧に達したかどうかセンスアンプ12を用いてベリファイされる。この結果、メモリセルの閾値電圧がベリファイ電圧に達していない、すなわち、ベリファイがNGである場合、書き込み電圧がステップアップされ、ステップS4からステップS6までの動作が繰り返される。具体的には、ワード線WL<0>に接続されたメモリセルのベリファイがNGと判定された場合、書き込みパルスの印加回数WLnloopがカウントアップされるWLnloop=WLnloop1ステップS8。この後、電圧生成回路16により、書き込み電圧VPGMがΔVPGMだけステップアップされ、このステップアップされた電圧が、新たな書き込み電圧として設定されるステップS9。この新たな書き込み電圧がワード線WL<0>に接続されたメモリセルに印加され、ステップS4、この後、ベリファイ動作が行われるステップS6、S7。このベリファイ動作により、ベリファイがNGと判別されるたびに、上記書き込み電圧VPGMがΔVPGMずつステップアップされ、メモリセルの書き込みベリファイ動作が繰り返されるステップS7、S8、S9、S5、S6。一方、ステップS7において、ベリファイがOKと判定された場合、ワード線WL<0>に接続されたメモリセルの書き込み回数WLnloopが制御回路30のレジスタ31に保持されるステップS10。次に、サンプルストリングの全てのワード線に対する書き込みが終了したかが判別されステップS11、終了していない場合、n=n1としてステップS12、次のワード線WL<1>に接続されたメモリセルに対して上記と同様の動作が実行される。このようにして、サンプルストリングのワード線WL<0>~WL<3>の各々に接続されたメモリセルに書き込んだ際の書き込み回数WLnloopが、制御回路30のレジスタ31に保持される。つまり、レジスタ31は、ワード線WL<0>~WL<3>毎レイヤー毎の書き込みが完了するまでの書き込み電圧の印加回数WLnloopを記憶している。上記ステップ11において、n≧3の条件を満足したと判断された場合、サンプルストリング以外のNANDストリングのメモリセルに書き込みが行われる場合、レジスタ31及びメモリ32に格納された情報が利用されるステップS13。すなわち、メモリコントローラ20から出力されたコマンドにより、サンプルストリング以外のNANDストリングのメモリセルに対する書き込みが指示された場合、制御回路30は、指示されたメモリセルが接続されるワード線WLに対応する書き込み回数WLnloopをレジスタ31から読み出し、演算回路33に供給する。さらに、制御回路30は、メモリ32に記憶された書き込み電圧VPGMの初期値を演算回路33に供給する。演算回路33は、供給された書き込み回数WLnloop及び書き込み電圧VPGMの初期値基づいて、指定されたメモリセルに最適な書き込み電圧VPGMを演算する。この演算された書き込み電圧VPGMは、電圧生成回路16に供給される。このため、電圧生成回路16は、指定されたメモリセルに最適な書き込み電圧VPGMを生成することができる。この電圧生成回路16により生成された書き込み電圧VPGMにより、サンプルストリング以外の指定されたNANDストリングのメモリセルにデータが書き込まれる。サンプルストリング以外のストリングのワード線WLnn=1~3に接続されたメモリセルに対する最適なイニシャル書き込み電圧WLnInitialVPGMは、次式で表される。WLnInitialVPGMWm1×ΔVPGMここで、InitialVPGMは、各ワード線に共通のイニシャル書き込み電圧、WLnloopは、サンプルストリングのワード線WLnに接続されたメモリセルの書き込み回数、Wmは、サンプルストリング以外のストリングに配置されたメモリセルに期待する書き込み回数必要な書き込み回数、ΔVPGMは、書き込み電圧の増加分ステップアップ電圧である。この式が演算回路33により演算され、最適なイニシャル書き込み電圧が求められる。図6は、書き込み時におけるVPGMの変化を示す図である。例えば、サンプルストリングのWL0に接続されたメモリセルの書き込みにおいて、書き込み電圧VPGMの初期値が10V、ΔVPGMが1Vである場合、書き込み回数WLnloopが10回で、書き込み電圧VPGMが20Vに達するとする。この場合において、サンプルストリング以外のストリングの例えばワード線WL0に接続されたメモリセルの最適なイニシャル書き込み電圧WL0InitialVPGMは、上式を用いて次のように演算される。ここで、期待する書き込み回数Wmを、例えば5回とする。WL0InitialVPGM=10V10-51×1V=16V上式において、5回の書き込みで書き込みを完了するためには、10-5回となるが、この場合、WL0InitialVPGM=15Vから書き込みを始めることとなり、6回目の書き込みによりVPGMが20Vに達することとなる。このため、5回の書き込みで書き込みを完了させるため、1し、WL0InitialVPGM=16Vから書き込みを開始している。尚、メモリセル特性のばらつきがあっても、上記の式で求めた値に基づき補正したWLnInitialVPGMを求めて適用することで、レイヤー毎のメモリセルの書き込み特性を揃えることが可能である。ワード線WL0以降のセルについても同様に、必要な書き込み回数、実際の書き込み回数、サンプルストリングの書き込み電圧VPGM、及びΔVPGMに基づいて、最適なイニシャル書き込み電圧WLnInitialVPGMを演算することができる。このようにサンプルストリングのワード線レイヤー毎に書き込み回数を求めることにより、サンプルストリング以外のストリングの書き込みを行う際、レイヤー毎に最適なイニシャル書き込み電圧WLnInitialVPGMを設定することができる。ここで、図7に示すように、NANDフラッシュメモリは、1つのチップ70内に複数のブロック71を有しており、同一ブロック内の同じレイヤーであれば、特性があまり変わらないと考えられる。従って、サンプルストリングの書き込みで得られた情報を同じブロックの同じレイヤーのセルの書き込みに用いることは極めて有効である。また、異なるブロックのメモリセルは、同じレイヤーであっても特性が異なると考えられる。従って、ブロック毎にサンプルストリングを選択し、レイヤー毎の書き込み回数を求めるようにすればよい。また、サンプルストリング内のメモリセルの書き込み回数をレジスタ31に保持させる動作は、書き込み動作の開始前に限定されるものではなく、不揮発性半導体記憶装置の電源投入時、又は所定の周期毎に行ってもよい。さらに、書き込み回数を、例えばメモリセルアレイ11のNANDストリングに記憶させることも可能である。この場合、不揮発性半導体記憶装置の製造後のテスト時に、上記動作を行って書き込み回数を記憶させたり、定期的にサンプルストリングの書き込みコマンドを発行して、書き込み回数を更新したりするように構成することも可能である。[第1の実施形態の効果]第1の実施形態によれば、BiCSメモリを用いた不揮発性半導体記憶装置において、サンプルストリングのレイヤー毎の書き込み回数パルス数をレジスタ31に保持し、この保持された書き込み回数をその他のNANDストリングの同一レイヤーのメモリセルの書き込みの際に、書き込み電圧の初期値に反映させている。このため、各レイヤーのメモリセルに対して最適なイニシャル書き込み電圧を設定することが可能になる。従って、レイヤー毎のメモリセルの書き込み特性を揃えることが可能であるとともに、書き込みパルスの数、及びベリファイ回数を削減でき、書き込み速度を高速化することが可能である。また、BiCSなどの3次元構造のNANDフラッシュメモリは、平面構造のNANDフラッシュメモリよりもプログラムディスターブに弱いことが考えられる。しかし、本実施形態によれば、書き込みパルスを削減することが可能であるため、プログラムディスターブを改善でき、チップの信頼性を向上することが可能である。[変形例]図8は、第1の実施形態の変形例を示すものであり、図8において、図5と同一部分には、同一符号を付し、異なる部分についてのみ説明する。第1の実施形態は、サンプルストリングのn番目のワード線WLに接続されたメモリセルをプログラムした後ベリファイし、ベリファイが完了したかどうかを判別し、ベリファイが完了していない場合、書き込み電圧VPGMをステップアップして再書き込みを行い、ベリファイが完了するまでこの動作を繰り返し、書き込み回数をカウントした。これに対して、変形例は、ベリファイOKとなったメモリセルの数を計数し、このセル数が規定値以上となるまで、書き込み電圧VPGMをステップアップして書き込みが繰り返され、この書き込み回数WLnloopが計数される。すなわち、図8に示すように、選択されたブロックBK内の選択されたサンプルストリングのn番目のワード線WLに書き込み電圧VPGMが印加された後ステップS5、制御回路30は、n番目のワード線WLに接続されたメモリセルの閾値電圧が基準値以上かどうかを判別するステップS6。この後、基準値を超えたセルの数が規定値以上かどうか判別されるステップS7。この判別の結果、セルの数が規定値に達していない場合、セルの数が規定値以上となるまで、ステップS4からステップS6までの動作が繰り返される。すなわち、ステップS7において、n番目のワード線WLに接続されたメモリセルの閾値電圧が基準値を超えないと判定された場合、書き込み回数がカウントアップされるWLnloop=WLnloop1ステップS8。この後、書き込み電圧VPGMがΔVPGMだけステップアップされるステップS9。このステップアップされた書き込み電圧がn番目のワード線WLに接続されたメモリセルに印加されるステップS5。この動作が、ステップS7で、n番目のワード線WLに接続されたメモリセルの閾値電圧が基準値を超えないと判別されるたびに繰り返される。一方、ステップS7において、閾値電圧が基準値以上となったセルの数が規定値以上となったと判定された場合、n番目のワード線WLに接続されたメモリセルの書き込み回数WLnloopが制御回路30のレジスタ31に保持されるステップS10。以後、第1の実施形態と同様の動作により、書き込み制御回路30のレジスタ31に、サンプルストリングのワード線WL0~WL3の各々に接続されたセルに書き込んだ際の書き込み回数WLnloopが保持される。また、サンプルストリング以外のストリングのセルに書き込みが行われる場合、レジスタ31及びメモリ32に格納された情報を用いて、レイヤー毎に最適な書き込み電圧VPGMが演算され、この演算された最適な書き込み電圧VPGMを用いて、サンプルストリング以外のストリングのセルが書き込まれる。上記変形例によっても第1の実施形態と同様の効果を得ることができる。しかも、本変形例によれば、閾値電圧が基準値以上となったセルの数が規定値以上となった場合書き込み動作を終了しているため、全てのメモリセルのベリファイ完了を判別する場合に比べて書き込み及びベリファイ動作を高速化することが可能であり、記憶容量の大きなBiCSメモリにおいて有効である。[第2の実施形態]上記第1の実施形態は、BiCSタイプのメモリセルについて説明した。これに対して、第2の実施形態は、例えば図9に示すような4層のワード線WL0~WL3、WL4~WL7を持つ、p-BiCSに適用した場合について示している。ここで、p-BiCSは、隣接する2つのNANDストリングの活性層の最下部を導電層により構成されたパイプP1で接続することにより、ワード線WL0からWL7までのセルを1つのNANDストリングとして用いるものである。このp-BiCSにおいて、セレクトゲート線SGD、SGSは、2つの活性層の上部に設けられている。すなわち、セレクトゲート線SGDは、ワード線WL0の上方に形成され、セレクトゲート線SGSは、ワード線WL7の上方に形成されている。セレクトゲート線SGDが設けられた活性層の最上部は、ビット線に接続され、セレクトゲート線SGSが設けられた活性層の最上部はセルソースに接続されている。一方の活性層は、ワード線WL0,WL1,WL2,WL3を順に貫通し、他方の活性層は、ワード線WL7,WL6,WL5,WL4を順に貫通している。このため、ワード線WL0とWL7、ワード線WL1とWL6、ワード線WL2とWL5、ワード線WL3とWL4の書き込み特性は近いと考えられる。そこで、第2の実施形態は、ワード線WL0,WL1,WL2,WL3を用いて、各メモリセルに所定の閾値電圧を設定する書き込み時の書き込み回数パルス数をそれぞれレジスタ31に登録し、このレジスタ31に登録した書き込み回数を用いて、ワード線WL7,WL6,WL5,WL4を用いた書き込み時のイニシャル書き込み電圧を生成している。図10は、ワード線WL0,WL1,WL2,WL3により選択されるメモリセルの書き込み動作に対応してレジスタ31に記録される書き込み回数WL0loop、WL1loop、WL2loop、WL3loopと、このレジスタ31に記録された書き込み回数WL3loop、WL2loop、WL1loop、WL0loopを用いたワード線WL4,WL5,WL6,WL7により選択されるメモリセルの書き込み動作を概略的に示している。このように、第2の実施形態は、ワード線WL0,WL1,WL2,WL3により選択されるメモリセルの書き込み動作に対応してレジスタ31に記録された書き込み回数WL0loop、WL1loop、WL2loop、WL3loopを、ワード線WL4,WL5,WL6,WL7の書き込みを行う際のイニシャル書き込み電圧に反映させている。つまり、ワード線WL0,WL1,WL2,WL3により選択される各ページをサンプルページとし、各サンプルページに対応してレジスタ31に記録された書き込み回数を、ワード線WL7,WL6,WL5,WL4により選択されるページのメモリセルを書き込む時のイニシャル書き込み電圧に反映させている。これにより、ワード線WL0,WL1,WL2,WL3により選択されるメモリセルと、ワード線WL7,WL6,WL5,WL4により選択されるメモリセルの書き込み特性を一致させることが可能である。次に、ワード線WL0,WL1,WL2,WL3により選択されるサンプルページの書き込み回数を、ワード線WL7,WL6,WL5,WL4により選択されるページのイニシャル書き込み電圧に反映させるための動作について説明する。例えば、ワード線WL0の書き込み回数が10回であったとすると、ワード線WL7の書き込みも10回程度の書き込みで完了すると考えられる。そこで、例えば、ワード線WL7の期待する書き込み回数が5回であるとすると、ワード線WL7のイニシャル書き込み電圧は、ワード線WL0のイニシャル書き込み電圧から、ΔVPGMを5回だけステップアップした電圧となる。つまり、一般に、サンプルページのあるレイヤーの書き込み回数がn回である場合において、同一レイヤーの別ページをm回の書き込みで、書き込みを完了させようとする場合、同一レイヤーの別ページに印加されるイニシャル書き込み電圧は、サンプルページのイニシャル書き込み電圧からΔVPGMをn-m回分ステップアップした電圧となる。上記動作を行うため、レジスタ31として、例えばLIFOLastInFirstOutレジスタが用いられる。図10は、LIFOLastInFirstOutレジスタを用いた書き込み動作の例を示している。LIFOレジスタには、ワード線WL0の書き込み動作後、その書き込み回数WL0loopが登録され、ワード線WL1,WL2,WL3の書き込み動作後、その書き込み回数WL1loop、WL2loop、WL3loopが順次登録される。このレジスタに登録された書き込み回数WL3loop、WL2loop、WL2loop、WL0loopは、ワード線WL4,WL5,WL6,WL7の書き込み電圧の初期値に反映させる。LIFOを使用することにより、ワード線WL3の結果がワード線WL4に反映され、ワード線WL2の結果がワード線WL5に反映され、ワード線WL1の結果がワード線WL6に反映され、ワード線WL0の結果がワード線WL7に反映させることが可能になる。また、第2の実施形態において、個々のストリング毎に上記の操作を行っても良いが、第1の実施形態のように、1個のP-BiCSのワード線WL0~WL3を含むストリングをサンプルストリングとし、その書き込み回数を他のストリングに反映させるようにしても良い。この場合、サンプルストリングのワード線WL0~WL3の書き込み回数に基づき、同一ストリングのワード線WL4~WL7及び他のストリングのワード線WL0~WL7の書き込み電圧VPGMを最適に設定することができるため、第1の実施形態よりも更に書き込みパルスの削減と書き込み動作の高速化を図ることができる。[第2の実施形態の変形例]第2の実施形態は、p-BiCSではなく、BiCS構造に適用することも可能である。すなわち、図3に示す通常のBiCS構造において、隣接する2つのNANDストリングについて、第2の実施形態を適用することができる。この場合、1つのNANDストリングのワード線WL0~WL3が順次選択され、書き込み動作が行われる。この書き込み動作に伴い、ワード線毎の書き込み回数がレジスタに順次登録される。1つのNANDストリングの書き込みが終わった場合、隣のNANDストリングのワード線WL0~WL3が順次選択され、書き込み動作が行われる。この場合、レジスタに登録された書き込み回数が順次読み出され、イニシャル書き込み電圧が生成される。図11は、第2の実施形態の変形例を示している。図11に示すように、第2の実施形態の変形例の場合、レジスタとして、LIFOの代わりにFIFOFirstInFirstOutが用いられる。すなわち、1つのNANDストリングのワード線WL0~WL3が順次選択され、書き込み動作が行われるに従い、ワード線WL0~WL3に対応して、書き込み回数WL0loop、WL1loop、WL2loop、WL3loopが、順次FIFOに登録される。この後、隣のNANDストリングのワード線WL0~WL3が順次選択されるとき、FIFOに登録された書き込み回数WL0loop、WL1loop、WL2loop、WL3loopが順次読み出され、これら書き込み回数WL0loop、WL1loop、WL2loop、WL3loopに基づき、イニシャル書き込み電圧が生成される。この変形例によっても、第2の実施形態と同様の効果を得ることができる。第3の実施形態上記第1、第2の実施形態は、メモリセルに2値1ビットデータを書き込む場合について説明した。これに対して、第3の実施形態は、メモリセルに3値以上2ビット以上のデータを書き込む多値MultiLevelのBiCSメモリについて説明する。図12は、例えば2ビットのデータをメモリセルに書き込む例を示している。図12に示すように、2ビットの場合、先ず下位ビットのデータが書き込まれるlowerpageprogram。この後、上位ビットのデータが書き込まれるupperpageprogram。下位ビットの書き込みにおいて、下位ビットデータが0である場合、消去状態Eから状態LMへ書き込まれる。この状態LMへの書き込みにおいて、ベリファイ電圧VLが用いられる。また、上位ビットの書き込みにおいて、下位ビットデータが1で、上位ビットデータが0ある場合、消去状態Eから状態Aへ書き込まれ、下位ビットデータが0で、上位ビットデータが0ある場合、状態LMから状態Cへ書き込まれる。このとき、L状態LMも状態Bに変化する。上位ビットの書き込みにおいて、ベリファイ電圧AVBVCVがそれぞれ用いられる。この書き込み方式は、状態LMのベリファイ電圧VLと、状態Aのベリファイ電圧AVが近いことを利用している。多値のBiCSメモリの場合、下位ビットの書き込み回数がレジスタに登録される。上位ビットの書き込み時、下位ビットの書き込み回数が読み出され、この書き込み回数に基づきイニシャル書き込み電圧が設定される。例えばサンプルストリングのワード線WL0の下位ビットの書き込みにおいて、消去状態Eから状態LMへ書き込むとき、イニシャルVPGM=10V、ΔVPGM=1Vで、例えば書き込み回数が10回であったとする。この場合において、上位ビットの書き込みにおいて、消去状態Eから状態Aへ書き込むときに、例えば5回の書き込み回数に抑えたい場合、上記のサンプルストリングのワード線WL0の下位ビットの書き込みにおいて、消去状態Eから状態LMへ書き込むときの指標を用いて最適なイニシャル書き込み電圧InitialVPGMを演算する。具体的には、最適なイニシャル書き込み電圧InitialVPGMは、InitialVPGM=VPGMΔVPGM×10-51=16Vとして求めることができる。このようにして、下位ビットの書き込み結果に基づき、上位ビットの最適なイニシャル書き込み電圧InitialVPGMを設定することができる。ワード線WL1以降もワード線WL0と同様に行うことができる。特に、この書き込み方式では、状態LMのベリファイ電圧VLと、状態Aのベリファイ電圧AVが近いため、下位ビットの書き込み結果に基づき、上位ビットの最適なイニシャル書き込み電圧InitialVPGMを設定することができる。その結果、書き込みパルスの数、及びベリファイ回数を削減でき、書き込み速度を高速化することが可能である。また、各々のレイヤーで求められた書き込み回数を記憶しておき、サンプルストリング以外の他ストリングの書き込みに適用することにより、第1の実施形態と同様に、書き込みパルスの削減と書き込み動作の高速化をはかることができる。第4の実施形態図13は、第4の実施形態を示すものであり、多値のBiCSメモリの他の例を示している。第3の実施形態は、下位ビットと上位ビットに分けて書き込みを行った。これに対して、第4の実施形態は、各ビットを一度に書き込む方式である。すなわち、図13に示すように、消去状態にあるメモリセルに一度書き込みを行うことにより、書き込にデータに基づき、メモリセルを状態A,B,CA<B<Cのいずれかに設定する。ここで、サンプルストリングのワード線WL0に接続されたメモリセルの書き込みにおいて、イニシャル書き込み電圧InitialVPGM=10V、ΔVPGM=1Vで、例えば状態Aは、書き込み回数が15回必要であり、状態Bは、書き込み回数が25回必要であり、状態Cは、書き込み回数が30回必要であったとする。これら書き込み回数は、レジスタ31に登録される。ワード線WL1以降のメモリセルについても、同様に、書き込み回数が、レジスタ31に登録される。この後、サンプルストリング以外のNANDストリングのワード線WL0に接続されたメモリセルの書き込みを行う場合において、例えば状態Aの書き込みを5回の書き込み回数に抑えたい場合、最適なイニシャル書き込み電圧InitialVPGMは、InitialVPGM=VPGMΔVPGM×15-51=21Vとして求めることができる。ワード線WL1以降のワード線に接続されたメモリセルについても同様にして、イニシャル書き込み電圧InitialVPGMを求めることができる。上記第4の実施形態によれば、サンプルストリングのワード線WL0~WL3のそれぞれに対して、状態毎に求められた書き込み回数に基づき、サンプルストリング以外の他のNANDストリングの同じワード線に接続されたメモリセルにその状態を書き込む際、最適なイニシャル書き込み電圧InitialVPGMを設定することができる。このため、多値データを一度の書き込みにより設定する場合においても、第1の実施形態と同様に、書き込みパルスの削減と書き込み動作の高速化を図ることができる。尚、各実施形態は、メモリセルアレイの構成は必ずしもBiCSやp-BiCSに限るものではなく、半導体基板上にメモリセルを積層した積層型の記憶装置に適用することができる。また、BiCSの構造も図1に限定されるものではなく、適宜変更可能である。さらに、第3及び第4の実施形態では、消去状態Eの閾値電圧が負である場合を例として説明したが、消去状態の閾値電圧を正とした場合であっても、本実施形態は適用でき、同様の効果を奏する。その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。"