メモリセルと、複数の前記メモリセルを含むページ、複数の前記ページを含むブロックを有するメモリセルアレイと、前記ページのうち、第1カラムに対応する第1メモリセルにデータを書き込むとき、プログラム動作を繰り返した第1回数を保持する第1記憶部と、前記ページのうち、前記第1カラムとは異なる第2カラムに対応する第2メモリセルにデータを書き込むとき、プログラム動作を繰り返した第2回数を保持する第2記憶部と、第1回数と第2回数の差が規定値を超えたとき、前記第1メモリセルと前記第2メモリセルと含むブロックを不良ブロックと登録する制御部とを備えることを特徴とする半導体記憶装置。前記ページのうち、一方の端に位置するメモリセルを前記第1メモリセルとすることを特徴とする請求項1記載の半導体記憶装置。前記ページのうち、他方の端に位置するメモリセルと前記第2メモリセルとすることを特徴とする請求項2記載の半導体記憶装置。メモリセルと、複数の前記メモリセルを含むページ、複数の前記ページを含むブロックを有するメモリセルアレイと、前記ページのうち、第1カラム群に対応する第1メモリセル群にデータを書き込むとき、それぞれのメモリセルに対してプログラム動作を繰り返した回数の第1回数を保持する第1記憶部と、前記ページのうち、第2カラム群に対応する第2メモリセル群にデータを書き込むとき、それぞれのメモリセルに対してプログラム動作を繰り返した回数の第2回数を保持する第2記憶部と、前記第1回数と前記第2回数の差が規定値を超えたとき、前記第1メモリセルと前記第2メモリセルと含むブロックを不良ブロックと登録する制御部とを備えることを特徴とする半導体記憶装置。前記ページのうち、一方の端部に位置するメモリセル群を前記第1メモリセル群とし、前記ページのうち、他方の端部に位置するメモリセル群と前記第2メモリセル群とすることを特徴とする請求項4記載の半導体記憶装置。実施形態は、信頼性を向上可能な半導体記憶装置を提供する。本実施形態の半導体記憶装置によれば、メモリセルと、複数の前記メモリセルを含むページ、複数の前記ページを含むブロックを有するメモリセルアレイと、前記ページのうち、第1カラムに対応する第1メモリセルにデータを書き込むとき、プログラム動作を繰り返した第1回数を保持する第1記憶部と、前記ページのうち、前記第1カラムとは異なる第2カラムに対応する第2メモリセルにデータを書き込むとき、プログラム動作を繰り返した第2回数を保持する第2記憶部と、第1回数と第2回数の差が規定値を超えたとき、前記第1メモリセルと前記第2メモリセルと含むブロックを不良ブロックと登録する制御部とを備えることを特徴とする。第1の実施形態次に、第1の実施形態について図面を参照しながら説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。また、図面の寸法比率は、図示の比率に限定されるものではない。[半導体記憶装置の構成]第1の実施形態に係る半導体記憶装置について、図1のブロック図を用いて説明する。1.全体構成図1に示すように本実施形態に係る半導体記憶装置は、メモリセルアレイ1、ロウデータ2、ドライバ回路3、電圧発生回路4、データ入出力回路5、制御部6、ソース線ドライバ回路7、センスアンプ8を有する。1-1.メモリセルアレイ1の構成例についてメモリセルアレイ1は、複数の不揮発性のメモリセルMTを含んだブロックBLK0乃至BLKsを備えるsは自然数。ブロックBLK0乃至BLKsの各々は、不揮発性のメモリセルMTが直列接続された複数のNANDストリング11を備えている。NANDストリング11の各々は、例えば64個のメモリセルMTと、選択トランジスタST1、ST2とを含んでいる。メモリセルMTは、2値以上のデータを保持可能とする。このメモリセルMTの構造は、p型半導体基板上にゲート絶縁膜を介在して形成された浮遊ゲート電荷導電層と、浮遊ゲート上にゲート間絶縁膜を介在して形成された制御ゲートとを含んだFG構造である。なお、メモリセルMTの構造は、MONOS型であっても良い。MONOS型とは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層例えば絶縁膜と、電荷蓄積層上に形成され、電荷蓄積層より誘電率の高い絶縁膜以下、ブロック層と呼ぶと、更にブロック層上に形成された制御ゲートとを有した構造である。メモリセルMTの制御ゲートはワード線WLに電気的に接続され、ドレインはビット線BLに電気的に接続され、ソースはソース線SLに電気的に接続されている。またメモリセルMTは、nチャネルMOSトランジスタである。なお、メモリセルMTの個数は64個に限られず、128個や256個、512個等であってもよく、その数は限定されるものではない。またメモリセルMTは、隣接するもの同士でソース、ドレインを共有している。そして、それらは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルMTの一端側のドレイン領域は選択トランジスタST1のソース領域に接続され、他端側のソース領域は選択トランジスタST2のドレイン領域に接続されている。同一行にあるメモリセルMTの制御ゲートはワード線WL0~WL63のいずれかに共通接続され、同一行にあるメモリセルMTの選択トランジスタST1、ST2のゲート電極は、それぞれセレクトゲート線SGD1、SGS1に共通接続されている。なお説明の簡単化のため、以下ではワード線WL0~WL63を区別しない場合には、単にワード線WLと呼ぶことがある。また、メモリセルアレイ1において同一列にある選択トランジスタST1のドレインは、いずれかのビット線BL1~BLn1に共通接続される。以下、ビット線BL1~BLn1についても、これらを区別しない場合には一括してビット線BLと呼ぶn:自然数。選択トランジスタST2のソースはソース線SLに共通接続される。また、同一のワード線WLに接続された複数のメモリセルMTには一括してデータが書き込まれ、この単位をページと呼ぶ。更に、複数のメモリセルMTはブロックBLK単位で一括してデータが消去される。説明の便宜上、同一のワード線WLに接続された1ページの複数のメモリセルMTについて、ロウデコーダ2詳細は後述するからの距離が近くに位置するメモリセルを第1メモリセルと呼び、ロウデコーダ2から距離が離れて位置するメモリセルを第2メモリセルと呼ぶ。図1を例とすると、第1メモリセルとしてビット線BL0にドレインが電気的に接続されたメモリセル、第2メモリセルとしてビット線BLn1にドレインが電気的に接続されたメモリセルが挙げられる。同様に、ロウデコーダ2からの距離が近くに位置するメモリセル群を第1メモリセル群と呼び、ロウデコーダ2から距離が離れて位置するメモリセル群を第2メモリセル群と呼ぶ。図1を例とすると、第1メモリセル群としてビット線BL0~BL3にドレインが電気的に接続されたメモリセル、第2メモリセルとしてビット線BLn-1~BLn1にドレインが電気的に接続されたメモリセルが挙げられる。1-2.メモリセルMTの閾値分布について図2を用いて上記メモリセルMTの閾値分布について説明する。図2は、横軸に閾値分布電圧をとり、縦軸にメモリセルMTの数を示したグラフである。図示するように、各々のメモリセルMTは、例えば2値2levelsのデータ1ビットデータを保持できる。すなわち、メモリセルMTは、閾値電圧Vthの低い順に1、及び0の2種のデータを保持できる。メモリセルMTにおける1データの閾値電圧Vth0は、Vth0<V01である。0データの閾値電圧Vth1は、V01<Vth1である。このようにメモリセルMTは、閾値に応じて0データ、及び1データの1ビットデータを保持可能とされている。メモリセルMTは、消去状態において、1データ例えば負電圧に設定され、データを書き込み、電荷蓄積層に電荷を注入することによって正の閾値電圧に設定される。1-3.ロウデコーダ2について図1に戻ってロウデコーダ2について説明する。ロウデコーダ2は、ブロックデコーダ20、及び転送トランジスタNチャネルMOSトランジスタ21乃至23を備える。ブロックデコーダ20は、データの書き込み動作時、読み出し動作時、及び消去時において、制御部6から与えられたブロックアドレスをデコードし、その結果に基づいてブロックBLKを選択する。このブロックデコーダ20は、ブロックBLKごとに設けられる。図3に示すように、ブロックデコーダ20それぞれは、ラッチ回路を有する。このラッチ回路は、ブロックデコーダ20それぞれに対応するブロックBLKが不良ブロックであるか否かを示すデータを保持する。ブロックデコーダ20からブロック選択信号が転送トランジスタ21乃至23に転送される。これにより、転送トランジスタ21乃至23はオン状態となる。これにより、ブロックデコーダ20から与えられるブロック選択信号に基づいて、ロウデコーダ2はセレクトゲート線SGD1、SGS1、及びワード線WL0~WL63に対し、ドライバ回路3から与えられた電圧をそれぞれ転送する。また、ロウデコーダ2は、制御部6から与えられたロウアドレスをデコードして、その結果に基づいて、選択されたブロック内の複数のワード線WLのうち所望のワード線WLを選択する。1-4.ドライバ回路3についてドライバ回路3は、セレクトゲート線SGD1、SGS1毎に設けられたセレクトゲート線ドライバ31、32、及びワード線WL毎に設けられたワード線ドライバ33を備える。本実施形態では、ワード線ドライバ33、セレクトゲート線ドライバ31、32は、ブロックBLK0乃至ブロックBLKsに設けられる。セレクトゲート線ドライバ31は、データの書き込み時、読み出し時、消去時、更にはデータのベリファイ時に、セレクトゲート線SGD1を介して、例えば信号sgdを選択トランジスタST1のゲートに転送する。なお、信号sgdは、その信号がLレベルであった場合、0Vとされ、Hレベルであった場合電圧VDD例えば、1.8Vする。また、セレクトゲート線ドライバ31と同様にセレクトゲート線ドライバ32は、選択ブロックBLKのセレクトゲート線SGS1を介し、データの書き込み時、読み出し時、データのベリファイ時に、セレクトゲート線SGS1を介して、例えば信号sgsを選択トランジスタST2のゲートに転送する。なお、信号sgsは、その信号がLレベルであった場合0Vとされ、Hレベルであった場合電圧VDDとする。1-4.電圧発生回路4について電圧発生回路4は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、ドライバ回路3に供給する。1-5.データ入出力回路5についてデータ入出力回路5は、図示せぬI/O端子を介して外部のホストから供給されたアドレスロウアドレス、カラムアドレス、ブロックアドレス;ロウアドレスとカラムアドレスを合わせてページアドレスとも呼ぶ及びコマンドを制御部6に出力する。また、データ入出力回路5は、書き込みデータを、データ線Dlineを介してセンスアンプ8に出力する。また、メモリセルアレイ1から読み出されたデータをホストに出力する際、データ入出力回路5は、制御部6の制御に基づき、センスアンプ8によって増幅されたデータを、データ線Dlineを介して受け取った後、I/O端子を介してホストに出力する。1-6.制御部6について制御部6は、NAND型フラッシュメモリ全体の動作を制御する。すなわち、データ入出力回路5を介して、ホストから与えられた上記アドレス、及びコマンドに基づいて、データの書き込み動作、読み出し動作、及び消去動作における動作シーケンスを実行する。制御部6はアドレス、及び動作シーケンスに基づき、ブロック選択信号、カラム選択信号、及びロウ選択信号を生成する。制御部6は、前述したブロック選択信号、ロウ選択信号をロウデコーダ2に出力する。また、制御部6はカラム選択信号をカラムデコーダ図示略に出力する。カラム選択信号とは、センスアンプ8のカラム方向を選択する信号である。また、制御部6には、半導体記憶装置に接続されたメモリコントローラから供給された制御信号が与えられる。制御部6は供給された制御信号により、I/O端子を介してホストからデータ入出力回路5に供給された信号がアドレスであるのか、データであるのかを区別する。図3に示すように、制御部6は、一時記憶装置Temp61と、RAM62と、第1記憶部63と、第2記憶部64、カウンタ65を有する。一時記憶装置Temp61は、テスト動作時に規定値Sを保持する。この規定値Sは、製造ばらつきに対して、同一ページ内で書き込み動作の特性を許容範囲に揃えるための指標である。すなわち、規定値Sによって、同一のワード線WLに接続されたメモリセルの書き込み特性のばらつきを許容範囲内にする。この規定値Sは、後述するテスト動作に外部のホストから供給される。規定値Sは、例えば製品ごとに異なるため、最適な規定値Sを外部のホストから供給される。第1メモリセルのプログラム回数をL1とし、第2メモリセルのプログラム回数をL2とすると、このL1とL2が式1を満たすとき、第1メモリセル及び第2メモリセルを含むブロックは、不良ブロックとして登録される。規定値Sは、不良ブロックであるか否かを判定する値でもある。|L1-L2|>S...1RAM62は作業エリアである。RAM62のエリアは、例えば一時記憶装置61、第1記憶部63、及び第2記憶部64に保持されたデータを用いて例えば上記の式1を演算する際に用いる。第1記憶部63は、第1メモリセルのプログラム回数L1を保持する。第1メモリセルに対してデータを書き込むとき、プログラム動作、ベリファイ動作の繰り返した回数を保持する。第2記憶部64は、第2メモリセルのプログラム回数L2を保持する。第2メモリセルに対してデータを書き込むとき、プログラム動作、ベリファイ動作の繰り返した回数を保持する。カウンタ65は、第1メモリセル及び第2メモリセルに対してデータを書き込むとき、プログラム動作、ベリファイ動作の繰り返した回数を数える機能を有する。例えば、初期状態では、カウンタ65に回数1を示す回数データが保持される。カウンタ65は、ベリファイフェイルのたびに回数データを歩進する。ベリファイパスしたときに、カウンタ65の回数データを第1記憶部63または第2記憶部64に転送する。1-7.センスアンプ8についてセンスアンプ8は、データの読み出し時にメモリセルMTからビット線BLに読み出されたデータをセンスして増幅する。具体的には、ビット線BLを所定の電圧にプリチャージした後、ロウデコーダ2により選択されたNANDストリング11によってビット線BLを放電させ、そのビット線BLの放電状態をセンスする。つまり、センスアンプ8でビット線BLの電圧を増幅してメモリセルMTの有するデータをセンスする。また、データの書き込み時には、対応するビット線BLに書き込みデータを転送する。1-8.カラムデコーダついてカラムデコーダ図示略は、制御部6から与えられたカラムアドレスをデコードして、カラム選択信号をセンスアンプ8に出力する。このカラム選択信号に基づいて、センスアンプ8内の所望のラッチ回路を選択する。1-9.アドレスバッファについてアドレスバッファ図示略は、制御部6に入力されたアドレスを保持する機能を有する。なお、本実施形態の半導体記憶装置では、アドレスバッファは制御部6を介してアドレスが供給されるが、これに限定されず、データ入出力回路5から直接アドレスが供給されるようにしてもよい。[半導体記憶装置の動作方法]次に、本実施形態の半導体記憶装置のテスト動作について、図4を用いて説明する。このテスト動作は、例えばダイソートテストのときに実行する。本実施形態のテスト動作は、上記の式1を満たすページを含むブロックBLKに対して、不良ブロックとして登録するものである。まず、ステップS1で、第1メモリセルに対して、プログラムを実行する。選択されたページの第1メモリセルに0データをプログラムして、残りのメモリセルに1データをプログラムする。外部のホストから入力されたデータ、アドレス、プログラムコマンドに基づいて、制御部6は、センスアンプ8にデータ、所望のカラムアドレスを設定する。制御部6は、ロウデコーダ2に所望のロウアドレスを設定する。そののち、プログラムコマンドに基づいて、制御部6はプログラムを実行する。ステップS2で、第1メモリセルに対して、0データのベリファイ動作を実行する。例えば第1メモリセルに接続されたビット線BLをプリチャージする。そののち、ビット線BLとセンスアンプ8内のテンポラリデータキャッシュTDCと導通させて、チャージトランスファを生じさせる。テンポラリデータキャッシュTDCの電位に基づいて、ベリファイパスまたはベリファイフェイルを判定する。ベリファイ動作の一例を示したが、これに限定されず、他のベリファイ動作でもよい。ベリファイフェイルと判定された場合には、ステップS1に戻る。このとき、カウンタ65の回数データも同時に歩進される。ベリファイパスと判定されるまでステップS2、Yes、繰り返す。ステップS3で、ベリファイパスステップS2、Yesした際の、第1メモリセルのプログラム回数L1を第1記憶部63に転送する。その結果、第1記憶部63は、第1メモリセルのプログラム回数L1を保持する。ステップS4からステップS6は、第2メモリセルに対して、ステップS1からステップS3までの動作を行う。具体的には、ステップS4で、第1メモリセルと同一ページの第2メモリセルに対して、プログラムを実行する。選択されたページの第2メモリセルに0データをプログラムして、残りのメモリセルに1データをプログラムする。ステップS5で、第2メモリセルに対して、0データのベリファイ動作を実行する。ベリファイフェイルと判定された場合には、ステップS4に戻る。このとき、カウンタ65の回数データも同時に歩進される。ベリファイパスと判定されるまでステップS5、Yes、繰り返す。ステップS6で、ベリファイパスステップS5、Yesした際の、第2メモリセルのプログラム回数L2を第2記憶部64に転送する。その結果、第2記憶部64は、第2メモリセルのプログラム回数L2を保持する。ステップS7で、制御部6は、規定値Sを保持する。すなわち、制御部6は、データ入出力回路5を介して入力された規定値Sを、一時記憶装置61に保持する。ステップS8で、制御部6は、内部の一時記憶装置61に保持された規定値Sと、内部の第1記憶部63に保持されたL1、内部の第2記憶部に保持されたL2をRAM62に読み出す。そして、式1を満たすかどうか判定する。あるページにおいて、第1メモリセルのプログラム回数L1、第2メモリセルのプログラム回数L2、規定値Sの関係が、式1を満たすときステップS8、Yes、制御部6は、そのページを含むブロックを不良ブロックと判定する。制御部6は、そのページを含むブロックを不良ブロックと認識されるよう、そのページを含むブロックに対応するラッチ回路ブロックデコーダ20内に設けられるに、不良ブロックであることを示すデータ例えば、0データを保持しステップS9、終了する。他方、あるページにおいて、第1メモリセルのプログラム回数L1、第2メモリセルのプログラム回数L2、規定値Sの関係が、式1を満たさないときステップS8、No、制御部6は、そのまま終了する。[第1実施形態の効果]信頼性を向上可能な半導体記憶装置を提供できる。NAND型フラッシュメモリが微細化されるにつれて、製造ばらつきが製品の性能、特性に対する影響が顕著となる。その結果、NAND型フラッシュメモリ内のメモリセル特性を均一にすることが難しく、メモリセルの信頼性が低下する可能性がある。本実施形態の半導体記憶装置では、第1メモリセルのプログラム回数L1、第2メモリセルのプログラム回数L2、規定値Sの関係が、式1を満たすときステップS8、Yes、制御部6は、そのページを含むブロックを不良ブロックと判定する。したがって、同一ワード線WLに接続されたメモリセル間同一ページ内のカラム間の製造ばらつきを検知することができる。その結果、規定値Sが所望の式1を満たすページを含むブロックを不良ブロックとすることで、同一ワード線WLに接続されたメモリセル間同一ページ内のカラム間の製造ばらつきが小さいブロックのみを例えばユーザ領域通常データを保持する領域として利用できる。したがって、本実施形態の半導体記憶装置は、かかる判定をせず、不良ブロックとしない場合と比較して、メモリセルの信頼性を向上できる。変形例1本変形例1は、第1実施形態の半導体記憶装置に対して、第1メモリセルと第2メモリセルの選択が相違する。変形例1では、同一ワード線WLに接続された1ページのメモリセルMTにおいて、ページのうち、一方の端に位置するメモリセル図1であれば、ビット線BL0にドレインが接続されたメモリセルを第1メモリセルとして、ページのうち、他方の端に位置するメモリセル図1であれば、ビット線BLn1にドレインが接続されたメモリセルを第2メモリセルとすることがより好ましい。ページのうち、端同士のメモリセルのプログラム回数を比較することで、ページのうち、端でないメモリセル同士のプログラム回数を比較する場合に比べて、ページ全体の製造ばらつきを検知できる。その結果、よりメモリセルの信頼性を向上できる。変形例2本変形例2は、第1実施形態の半導体記憶装置に対して、第1メモリセル群、第2メモリセル群で、製造ばらつきを検知する点で相違する。具体的には、ロウデコーダ2からの距離が近くに位置するメモリセル群を第1メモリセル群と呼び、ロウデコーダ2から距離が離れて位置するメモリセル群を第2メモリセル群と呼ぶ。図1を例とすると、第1メモリセル群としてビット線BL0~BL3にドレインが電気的に接続されたメモリセル、第2メモリセルとしてビット線BLn-1~BLn1にドレインが電気的に接続されたメモリセルが挙げられる。第1実施形態または変形例1では、第1メモリセル、第2メモリセルのプログラム回数を検知する。変形例2の半導体記憶装置は、第1メモリセル群、第2メモリセル群のプログラム回数で検知するため、第1実施形態、変形例1の場合と比べて、より高い精度で信頼性を向上できる。なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。