"それぞれが複数のメモリセルを有する複数のユニットと、前記複数のユニットの各々に接続され、かつ複数のデータ線からなるデータバスと、データ書き込み後のベリファイ結果として前記ユニットから前記データバスを介して送られるフェイル情報を保持し、かつ前記複数のデータ線に対応して設けられた複数の保持回路と、前記複数の保持回路に保持されたフェイル情報の論理和をフラグとして伝搬し、かつ前記複数のデータ線に対応して設けられた複数のデイジーチェーン回路と、前記フラグに基づいて、前記複数のユニット内のフェイルビットを探索する探索回路と、を具備することを特徴とする半導体記憶装置。前記探索回路は、フェイル情報を保持した保持回路のうち探索が終了した保持回路をリセットするためのリセット信号を生成することを特徴とする請求項1に記載の半導体記憶装置。前記リセット信号の回数をカウントする判定回路をさらに具備し、前記判定回路のカウント値は、前記複数のユニット内のフェイルビット数に対応することを特徴とする請求項2に記載の半導体記憶装置。第1のデイジーチェーン回路は、前記第1のデイジーチェーン回路に対応する保持回路がフェイル情報を保持している場合、又は前記第1のデイジーチェーン回路より前の第2のデイジーチェーン回路がフェイル情報を保持している場合に、フラグを活性化することを特徴とする請求項1乃至3のいずれかに記載の半導体記憶装置。前記探索回路は、前記複数のユニットにフェイル情報がなくなった場合、又は前記複数のユニットのフェイルビット数が許容ビット数を超えた場合に、探索を終了することを特徴とする請求項1乃至4のいずれかに記載の半導体記憶装置。前記複数のユニットの各々は、前記複数のデータ線に接続され、かつメモリセルがフェイルであるか否かを検知する複数のセンスアンプを含むことを特徴とする請求項1乃至5のいずれかに記載の半導体記憶装置。前記複数のユニットは、複数の第1のユニットと複数の第2のユニットとに分割して管理され、前記探索回路は、前記複数の第1のユニットの第1のリセット信号と、前記複数の第2のユニットの第2のリセット信号とをインターリーブすることを特徴とする請求項2又は3に記載の半導体記憶装置。実施形態は、フェイルビットの探索動作を高速化することが可能な半導体記憶装置を提供する。実施形態に係る半導体記憶装置は、それぞれが複数のメモリセルを有する複数のユニットと、前記複数のユニットの各々に接続され、かつ複数のデータ線からなるデータバスと、データ書き込み後のベリファイ結果として前記ユニットから前記データバスを介して送られるフェイル情報を保持し、かつ前記複数のデータ線に対応して設けられた複数の保持回路と、前記複数の保持回路に保持されたフェイル情報の論理和をフラグとして伝搬し、かつ前記複数のデータ線に対応して設けられた複数のデイジーチェーン回路と、前記フラグに基づいて、前記複数のユニット内のフェイルビットを探索する探索回路とを具備する。以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らないことに留意すべきである。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。[第1の実施形態]第1の実施形態に係る半導体記憶装置について、NAND型フラッシュメモリを例に挙げて説明する。[1.NAND型フラッシュメモリ10の構成]図1は、第1の実施形態に係るNAND型フラッシュメモリ10の構成を示すブロック図である。NAND型フラッシュメモリ10は、メモリセルアレイを含むコア11と、このコア11を制御するコア制御回路12とを備えている。コア11は、m1個のグループGP<0>~GP<m>を備えている。mは、0以上の整数である。グループGP<0>~GP<m>の各々は、n1個のユニットUT<0>~UT<n>を備えている。nは、0以上の整数である。図2は、1個のグループGP<0>の構成を示すブロック図である。グループGP<1>~GP<m>の構成も図2と同じである。各ユニットUTは、j1個のカラムCOL<0>~COL<j>を備えている。jは、0以上の整数である。カラムCOL<0>~COL<j>は、k1ビットのデータバスDB<k:0>に共通接続されている。kは、0以上の整数である。すなわち、各ユニットUTは、k1ビットのデータを同時に読み出し可能なように構成されている。データバスDB<k:0>は、k1本のデータ線DL<0>~DL<k>から構成されている。図3は、カラムCOLの構成を示すブロック図である。1個のカラムCOLは、メモリセルアレイ13に配設されたk1本のビット線BL<0>~BL<k>と、ビット線BL<0>~BL<k>にそれぞれ接続されたk1個のセンスアンプS/Aとを備えている。ビット線BLの本数は、データバスDB<k:0>に含まれるデータ線DLの本数に対応する。k1個のセンスアンプS/Aはそれぞれ、データバス<k:0>に接続されている。図4は、メモリセルアレイ13の構成を示す回路図である。なお、図4のメモリセルアレイ13は、図2の行方向に並んだn1個のカラムCOL<0>に含まれるメモリセルアレイに対応する。メモリセルアレイ13は、ビット線BL<0>~BL<i>に対応する数のNANDストリングを備えている。iは、n以上の整数である。各NANDストリングは、例えば32個のメモリセルトランジスタMT0~MT31と、2個の選択トランジスタST1,ST2とを備えている。選択トランジスタST1,ST2としては、例えばNチャネルMOSFETが用いられる。メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層例えば浮遊ゲート電極と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを有する積層ゲート構造を備えている。メモリセルトランジスタMTは、浮遊ゲート構造に限らず、電荷蓄積層としての絶縁膜例えば、窒化膜に電子をトラップさせる方式を用いたMONOSMetalOxideNitrideOxideSilicon構造であってもよい。メモリセルトランジスタMTは、電荷蓄積層に注入された電子の多寡による閾値電圧の変化に応じて、例えば1ビットのデータを記憶することが可能である。NANDストリング内で隣接するメモリセルトランジスタMT同士の電流経路は直列接続されている。直列接続されたメモリセルトランジスタMTの一端側のドレインは選択トランジスタST1のソースに接続され、他端側のソースは選択トランジスタST2のドレインに接続されている。同一行にあるメモリセルトランジスタMTの制御ゲート電極は、ワード線WL<0>~WL<31>のいずれかに共通接続されている。同一行にある選択トランジスタST1のゲート電極は、選択ゲート線SGDに共通接続され、同一行にある選択トランジスタST2のゲート電極は、選択ゲート線SGSに共通接続されている。同一行にある選択トランジスタST1のドレインはそれぞれ、ビット線BL<0>~BL<i>に接続されている。同一行にある選択トランジスタST2のソースは、ソース線SLに共通接続されている。同一のワード線WLに接続された複数のメモリセルトランジスタMTはページを構成する。データの書き込み及び読み出しは、1つのページ内のメモリセルトランジスタMTに対して一括して行なわれる。また、メモリセルアレイ13は、複数のページのデータが一括して消去されるように構成されており、この消去の単位がブロックと呼ばれる。図3のセンスアンプS/Aは、データの読み出し時に、選択されたメモリセルトランジスタMTのデータをビット線BLを介して検知及び増幅し、この検知された読み出しデータを一時的に保持する。また、センスアンプS/Aは、データの書き込み時に、書き込みデータを一時的に保持し、この書き込みデータをビット線BLに転送する。また、センスアンプS/Aは、書き込みデータがメモリセルトランジスタMTに正確に書き込まれたか否かを確認するベリファイ時に、読み出し動作と同じ処理を実行する。そして、センスアンプS/Aは、書き込みデータと読み出しデータとを比較し、書き込み対象であるメモリセルトランジスタMTがフェイルビットであるか否かを検知する。フェイルビットとは、書き込みデータを、書き込み対象であるメモリセルトランジスタMTの既書き込みデータと照合した結果求められた不一致ビットをいう。図2において、各ユニットUTは、データバスDB<k:0>を構成するデータ線DLにそれぞれ接続されたk1個のデイジーチェーン回路DC<0>~DC<k>を備えている。各ユニットUTに含まれるデイジーチェーン回路DC<0>~DC<k>は直列に接続されており、フラグFGを順次伝搬する。すなわち、デイジーチェーン回路DC<0>~DC<k>は、データバスDB<k:0>のフェイル情報の論理和をフラグFGとして出力する。各デイジーチェーン回路DCは、前段のデイジーチェーン回路DCのフラグFGが非活性ローレベルであり、かつ自身のビットがパスである場合に、ローレベルのフラグFGを出力し、一方、前段のデイジーチェーン回路DCのフラグFGが活性化ハイレベルされているか、若しくは自身のビットがフェイルである場合に、ハイレベルのフラグFGを出力する。このために、デイジーチェーン回路DCは、データ線DLのビットのパス/フェイル情報を保持するラッチ回路や、フラグFGを生成する回路などを含んで構成されている。デイジーチェーン回路DCの具体的な構成については後述する。ユニットUT<0>~UT<n>はそれぞれ、フラグバイパス14<0>~14<n>を備えている。ユニットUT<n>のフラグバイパス14<n>は、前段のユニットUT<n-1>のフラグFGをユニットUT<n>の出力までバイパスするものである。ユニットUT<n>から出力されるフラグFG<n>と、フラグバイパス14<n>とは、ORゲート15<n>によって論理和の演算が行われる。他のフラグバイパス14及びORゲート15についても、フラグバイパス14<n>及びORゲート15<n>と同様の構成である。最終段のORゲート15<n>は、フェイルフラグFFG<0>を出力する。従って、1個のグループGPから出力されるフェイルフラグFFGは、当該グループGPに含まれるユニットUT<0>~UT<n>のフェイル情報の論理和になる。図1に示すように、グループGP<0>~GP<m>はそれぞれ、フェイルフラグFFG<0>~FFG<m>を出力する。グループGP<m>のフェイルフラグFFG<m>と、前段のグループGP<m-1>のフェイルフラグFFG<m-1>とは、ORゲート18<m>によって論理和の演算が行われる。他のORゲートについても、ORゲート18<m>と同様の構成である。従って、最終段のORゲート18<m>から出力されるフェイルフラグFFGは、グループGP<0>~GP<m>のフェイル情報の論理和になる。コア制御回路12は、フェイル探索回路16、及びフェイル累積判定回路17を備えている。フェイル探索回路16は、ユニットUT内のフェイルビットを探索するフェイルビット探索動作を制御する。フェイル探索回路16は、フェイルフラグFFGを監視しつつ、フェイルビット探索動作の1サイクル毎にリセット信号RSTを生成する。リセット信号RSTは、各デイジーチェーン回路DC、及びフェイル累積判定回路17に送られる。フェイル累積判定回路17は、リセット信号RSTをトリガーとしてフェイル累積カウント値をカウントアップするカウンタを含んで構成されている。また、フェイル累積判定回路17は、書き込みが行われたページにフェイルビットがなくなるまで、又は、フェイル累積カウント値が許容ビット数を超えるまでの間、リセット信号RSTをカウントアップする。フェイル累積判定回路17がカウントするフェイル累積カウント値は、プログラムされた複数ビットのうちのフェイルビット数に対応する。<デイジーチェーン回路の構成>図5は、1個のデイジーチェーン回路DCの構成を示す回路図である。ラッチ回路22は、2個のインバータから構成され、パス/フェイル情報フェイルタグFTGを保持する。フェイルタグFTGは、データ線DLがフェイルである場合に、ハイレベルとなる。フェイルタグFTGは、ラッチ回路22のノードN1に保持される。NチャネルMOSFET23のドレインは、ラッチ回路22のノードN2に接続されている。NチャネルMOSFET23のソースは、データ線DLに接続されている。NチャネルMOSFET23のゲートには、コア制御回路12からタグセット信号TSTが入力される。NチャネルMOSFET23は、タグセット信号TSTがハイレベルになった場合に、データ線DLの論理をラッチ回路22に転送する。ラッチ回路22のノードN2は、NANDゲート25の入力端子に接続されている。NANDゲート25は、フラグFGを出力する。インバータ24には、前段のデイジーチェーン回路からフラグFGが入力される。インバータ24は、前段のデイジーチェーン回路のフラグFGを反転したプレフラグPFGを出力し、このプレフラグPFGは、NANDゲート20及び25に入力される。NANDゲート25から出力されるフラグFGは、自身のフェイルタグFTGがローレベル、かつ前段のデイジーチェーン回路のフェイルタグFTGがローレベルである場合に、ローレベルとなる。NANDゲート20には、プレフラグPFGの他に、ラッチ回路22に保持されたフェイルタグFTG、及びフェイル探索回路16からリセット信号RSTが入力される。NANDゲート20は、選択信号SELを出力し、この選択信号SELは、PチャネルMOSFET21のゲートに入力される。NANDゲート20は、1リセット信号RSTが活性化ハイレベルされ、2データ線DLがフェイル、すなわちフェイルタグFTGがハイレベルであり、3前段のデイジーチェーン回路のフラグが非活性ローレベル、すなわちプレフラグPFGがハイレベルである、という3つの条件が揃った場合に、選択信号SELを活性化ローレベルする。PチャネルMOSFET21のソースは、電源端子VDDに接続されている。PチャネルMOSFET21のドレインは、ラッチ回路22のノードN2に接続されている。PチャネルMOSFET21は、選択信号SELがローレベルになった場合に、ラッチ回路22をリセット、すなわちフェイルタグFTGをローレベルにする。[2.動作]次に、NAND型フラッシュメモリ10の動作について説明する。<プログラムシーケンスの動作>まず、NAND型フラッシュメモリ10の書き込みプログラムシーケンスについて説明する。図6は、NAND型フラッシュメモリ10のプログラムシーケンスを示すタイミングチャートである。プログラムコマンドが外部から発行されると、NAND型フラッシュメモリ10は、ビジー状態となり、プログラムシーケンスがスタートする。まず、プログラム動作が行われることにより、メモリセルアレイ13に対して1回目のプログラムがページ単位で行われる。続いて、プログラムされたメモリセルトランジスタMTに対してベリファイ動作が行われる。ベリファイ動作では、プログラムされたメモリセルトランジスタMTに対して内部的にデータの読み出しが行われ、センスアンプS/Aには、正確にプログラムが行われた否かを示す情報パス/フェイル情報が格納される。ベリファイ動作が終了すると、続いて、フェイル検知動作が行われる。フェイル検知動作では、ベリファイ動作でセンスアンプS/Aに格納されたパス/フェイル情報がデイジーチェーン回路DCに読み出され、フェイルビットが存在するか否かが判定される。このプログラム、ベリファイ、及びフェイル検知の3つの動作を合わせて、プログラムステージと呼ぶ。フェイル検知動作の結果として、プログラムがパスであるかフェイルであるかを示すパス/フェイル信号が生成される。プログラムがフェイルの場合、NAND型フラッシュメモリ10は、2回目のプログラムステージを実行し、プログラムがパスの場合、プログラムシーケンスを抜けてレディ状態に戻る。プログラムがパスするまでは、プログラムステージが繰り返され、さらに、プログラムステージの回数が規定回数を超えてもプログラムがパスしない場合は、プログラムシーケンスが終了する。次に、NAND型フラッシュメモリ10のプログラムシーケンスの具体的な処理について説明する。図7は、NAND型フラッシュメモリ10のプログラムシーケンスを示すフローチャートである。まず、プログラム動作が行われるステップS100。このプログラム動作は、周知の方法によって実行可能である。続いて、ベリファイ動作が行われるステップS101。このベリファイ動作も、周知の方法によって実行可能である。ベリファイ動作では、プログラムされたメモリセルトランジスタMTに対して内部的にデータの読み出しが行われる。そして、各ビットに対応して設けられたセンスアンプS/Aに、ベリファイ結果であるパス/フェイル情報が格納される。続いて、フェイル検知動作が行われるステップS102。まず、コア制御回路12は、タグセット信号TSTを活性化ハイレベルする。これにより、各デイジーチェーン回路DCのNチャネルMOSFET23がオンし、各デイジーチェーン回路DCのラッチ回路22は、データ線DLを介して、センスアンプS/Aのパス/フェイル情報をフェイルタグFTGとして格納する。ビットがフェイルの場合は、データ線DLがローレベルになり、ラッチ回路22のフェイルタグFTGはハイレベルになる。一方、ビットがパスの場合は、データ線DLがハイレベルになり、ラッチ回路22のフェイルタグFTGはローレベルになる。あるデイジーチェーン回路DCのビットがパスである場合、ラッチ回路22のノードN2がハイレベルになる。このため、前段のデイジーチェーン回路DCのフラグFGがローレベルであることを条件に、当該デイジーチェーン回路DCのフラグFGもローレベルとなる。なお、初段のデイジーチェーン回路DCには、コア制御回路12からローレベルのフラグFGが入力される。従って、プログラムされた全ビットがパスである場合ステップS103、フェイル探索回路16に入力されるフェイルフラグFFGがローレベルとなり、プログラムがパスする。一方、あるデイジーチェーン回路DCがフェイルビットである場合、ラッチ回路22のノードN2がローレベルになる。このため、前段のデイジーチェーン回路DCのフラグFGに関係なく、当該デイジーチェーン回路DCのフラグFGはハイレベルとなる。従って、フェイルフラグFFGがハイレベルとなり、フェイルビット探索が実行される。フェイルビット探索において、フェイル探索回路16は、リセット信号RSTをハイレベルにする。これにより、あるNANDゲート20は、1リセット信号RSTがハイレベルにされ、2フェイルタグFTGがハイレベルであり、3プレフラグPFGがハイレベルである、という3つの条件が揃った場合に、選択信号SELをローレベルにする。纏めると、リセット信号RSTがハイレベルにされることをトリガーとして、自身のビットがフェイルであり、かつ、前段までのデイジーチェーン回路DCのビットがパスであるか、若しくはフェイルタグFTGがリセットされた場合に、NANDゲート20は、選択信号SELをローレベルにする。選択信号SELがローレベルになると、PチャネルMOSFET21がオンし、ラッチ回路22がリセット、すなわちラッチ回路22のフェイルタグFTGがローレベルにされるステップS104。また、フェイル累積判定回路17は、リセット信号RSTがハイレベルになると、フェイルビット数に対応する累積フェイルカウント値をカウントアップするステップS105。選択信号SELによって選択されたデイジーチェーン回路DCのフェイルタグFTGをリセットした後、フェイル探索回路16は、再度、フェイルフラグFFGがハイレベルか否かを判定するS106。フェイルフラグFFGがローレベルである場合、フェイルビットの探索が終了したことになり、プログラムがパスする。ステップS106においてフェイルフラグFFGがハイレベルのままである場合、フェイル累積判定回路17は、フェイルビット数累積フェイルカウント値が許容フェイル数許容数以下であるか否かを判定するステップS107。フェイルビット数が許容フェイル数以下である場合、フェイル探索回路16は、フェイルビットの探索動作を繰り返す。一方、ステップS107においてフェイルビット数が許容フェイル数を超えている場合、プログラムがフェイルとなり、再度、プログラムステージが実行される。なお、プログラムステージの回数が規定回数を超えてもプログラムがパスしない場合は、プログラムシーケンスが終了する。図8は、フェイルビット探索動作を示すタイミングチャートである。コア制御回路12は、クロック信号CLKに同期して動作する。あるデイジーチェーン回路DC<n>のラッチ回路22<n>は、ハイレベルのフェイルタグFTG<n>を格納している。リセット信号RSTがハイレベルになると、ラッチ回路22<n>がリセットされ、フェイルタグFTG<n>がローレベルになる。この時、フェイル累積判定回路17は、累積フェイルカウント値を1だけカウントアップする。図8のhは16進数表記を表している。この時点で、フェイルフラグFFGがハイレベルのままであるので、まだフェイルビットが存在する。同様に、フェイルタグFTG<n1>、FTG<n2>がリセットされるとともに、フェイル累積判定回路17は、累積フェイルカウント値を2だけカウントアップする。続いて、フェイルタグFTG<n3>がリセットされるとともに、フェイル累積判定回路17は、累積フェイルカウント値を1だけカウントアップする。この時点で、フェイルフラグFFGがローレベルになっているので、今回のプログラムステージにおいて、コア制御回路12は、全ビットのフェイル探索を終了する。図2に示すように、フェイル探索動作において、全ビットがパスしたユニットUTは、フラグバイパス14によって、デイジーチェーン回路DCのフラグ伝搬動作がバイパスされる。よって、プログラムステージが繰り返された場合でも、フェイル探索動作に要する時間を短縮することができる。[3.デイジーチェーン回路の構成例]図9は、デイジーチェーン回路DCの論理演算を説明する概略図である。直列に接続された複数のデイジーチェーン回路DCは、あるデイジーチェーン回路DC<n>の端子A=1ハイレベルであれば、複数のデイジーチェーン回路DCの最終出力端子Bから1が出力されるという構成を有している。また、あるデイジーチェーン回路の端子B=0ローレベルであれば、当該デイジーチェーン回路よりも前にある全てのデイジーチェーン回路の端子Aには1がないことを示している。よって、端子Aと端子Bとの論理で端子Cの論理が決まり、端子Cをチェックすることで、1個のデイジーチェーン回路を特定できる特徴がある。例えば、1個のデイジーチェーン回路DCは、ORゲート、インバータINV、及びNANDゲートNDによって構成される。このデイジーチェーンのシステムを本実施形態のフェイルビット探索に適用すると、端子A=フェイルタグFTG、端子B=プレフラグPFG、端子C=選択信号SELとなる。従って、選択されたデイジーチェーン回路にフェイルビットがあればフェイルタグFTG=1になり、1情報が各デイジーチェーン回路を伝搬して最終出力端子であるフェイルフラグFFG=1となる。フェイルタグFTGがリセットされると当該デイジーチェーン回路から出力されるフラグFGも0になり、次にフェイルタグFTG=1があるデイジーチェーン回路までプレフラグPFGが0になる。このようにデイジーチェーンのシステムを用いることで、コア制御回路12はリセット信号RSTをトグルするだけで、フェイルビットカウントを実行するデイジーチェーン回路を1つだけ自動で選択できる。図10は、図9に示したデイジーチェーンの他の構成例である。図10aは、NORゲート及びインバータINVによってデイジーチェーンを構成している。図10bは、NANDゲート及びインバータINVによってデイジーチェーンを構成している。図10cは、インバータINV及びNORゲートによってデイジーチェーンを構成している。図10dは、インバータINV及びNORゲートによってデイジーチェーンを構成している。図11は、図9に示した選択回路の他の構成例である。図11aは、インバータINV及びNANDゲートによって選択回路を構成している。図11bは、NORゲートによって選択回路を構成している。図11cは、NANDゲートによって選択回路を構成している。図11dは、NANDゲート及びインバータINVによって選択回路を構成している。図11eは、NORゲート及びインバータINVによって選択回路を構成している。デイジーチェーン回路DCは、図5の構成に限らず、図9乃至図11に示した様々なパターンの論理演算回路を任意に組み合わせて実現できる。[4効果]以上詳述したように第1の実施形態では、各ユニットUTが複数のカラムCOLに共通接続されたデータバスDB<k:0>を有し、各データバスDB<k:0>を構成する複数のデータ線DL<0>~DL<k>にそれぞれ接続された複数のデイジーチェーン回路DC<0>~DC<k>を備えている。デイジーチェーン回路DC<0>~DC<k>は、フェイル情報をフェイルタグFTGとして保持するラッチ回路22を備え、フェイル情報の論理和をフラグFGとして伝搬するよう構成される。そして、フェイル探索回路16は、フェイルビットを探索する毎にリセット信号RSTを生成し、このリセット信号RSTによって、探索が終了したデイジーチェーン回路DCのラッチ回路22をリセットするようにしている。さらに、フェイル累積判定回路17は、リセット信号RSTをカウントアップすることで、フェイルビット数累積フェイルカウント値を算出するようにしている。従って第1の実施形態によれば、コア11から最終的に出力されるフェイルフラグFFG本実施形態では、グループGP<0>~GP<m>のフェイル情報の論理和を監視しつつ、リセット信号RSTを生成することにより、フェイルビット数をカウントすることが可能となる。これにより、フェイルビットの探索動作及びカウント動作を高速化することができる。また、フェイルビットがないユニットUTについては、フラグバイパス14によってフラグが当該ユニットをバイパスされる。すなわち、プログラムステージを繰り返した場合でも、フェイルがあるユニットUTのみについてフラグFGの伝搬時間がかかるような回路構成を実現しているため、フェイルビットの探索動作を高速化することができる。また、フェイル累積判定回路17をカウンタで構成できる。これにより、フェイルビット数をカウントする制御が簡略化できるため、コストの低減が図れる。[第2の実施形態]第2の実施形態は、コア11に含まれる複数のグループGPを半分に分割して管理し、分割された2つのコアをインターリーブ動作させるようにしている。図12は、第2の実施形態に係るNAND型フラッシュメモリ10の構成を示すブロック図である。コア11は、m1個のグループGPL<0>~GP<m>Lからなる第1のコア11-1と、m1個のグループGPR<0>~GPR<m>Rからなる第2のコア11-2とを備えている。すなわち、第2の実施形態のコア11は、第1の実施形態で示したコアが半分に分割されている。グループGPL及びGPRの構成は、第1の実施形態のグループGPと同じである。なお、第1のコア11-1に含まれるグループGPの数と、第2のコア11-2に含まれるグループGPの数とは同じでなくてもよい。第1のコア11-1に含まれるグループGPL<0>~GPL<m>はそれぞれ、フェイルフラグFFGL<0>~FFGL<m>を出力する。グループGPL<m>のフェイルフラグFFGL<m>と、前段のグループGPL<m-1>のフェイルフラグFFGL<m-1>とは、ORゲート18L<m>によって論理和の演算が行われる。他のORゲートについても、ORゲート18L<m>と同様の構成である。従って、最終段のORゲート18L<m>から出力されるフェイルフラグFFGLは、グループGPL<0>~GPL<m>のフェイル情報の論理和になる。第2のコア11-2に含まれるグループGPR<0>~GPR<m>はそれぞれ、フェイルフラグFFGR<0>~FFGR<m>を出力する。グループGPR<m>のフェイルフラグFFGR<m>と、前段のグループGPR<m-1>のフェイルフラグFFGR<m-1>とは、ORゲート18R<m>によって論理和の演算が行われる。他のORゲートについても、ORゲート18R<m>と同様の構成である。従って、最終段のORゲート18R<m>から出力されるフェイルフラグFFGRは、グループGPR<0>~GPR<m>のフェイル情報の論理和になる。フェイル探索回路16は、フェイルフラグFFGLを監視しつつ、フェイルビット探索動作の1サイクル毎にリセット信号RSTLを生成する。リセット信号RSTLは、コア11-1のデイジーチェーン回路DC、及びフェイル累積判定回路17に送られる。同様に、フェイル探索回路16は、フェイルフラグFFGRを監視しつつ、フェイル探索動作の1サイクル毎にリセット信号RSTRを生成する。リセット信号RSTRは、コア11-2のデイジーチェーン回路DC、及びフェイル累積判定回路17に送られる。フェイル累積判定回路17は、リセット信号RSTL及びRSTRをトリガーとしてフェイル累積カウント値をカウントアップするカウンタを含んで構成されている。すなわち、フェイル累積判定回路17は、リセット信号RSTL及びRSTRの論理和を演算した信号をカウントアップするように構成されている。また、フェイル累積判定回路17は、書き込みが行われたページにフェイルビットがなくなるまで、又は、フェイル累積カウント値が許容ビット数を超えるまでの間、リセット信号RSTL及びRSTRをカウントアップする。図13は、フェイルビット探索動作を示すタイミングチャートである。フェイルタグFTGL<n>~FTGL<n3>は、第1のコア11-1に含まれるフェイルタグを表している。フェイルタグFTGR<m>~FTGR<m1>は、第2のコア11-2に含まれるフェイルタグを表している。フェイル探索回路16は、フェイルフラグFFGLがローレベルになるまで、リセット信号RSTLを出力する。このリセット信号RSTLによって、フェイルタグFTGLが順番にリセットされる。また、フェイル探索回路16は、フェイルフラグFFGRがローレベルになるまで、リセット信号RSTRを出力する。このリセット信号RSTRによって、フェイルタグFTGRが順番にリセットされる。さらに、フェイル探索回路16は、第1のコア11-1に送るリセット信号RSTLと、第2のコア11-2に送るリセット信号RSTRとをインターリーブする。フェイル累積判定回路17は、リセット信号RSTL及びRSTRの論理和を演算した信号をカウントアップし、累積フェイルカウント値を生成する。従って、第2の実施形態によれば、第1のコア11-1と第2のコア11-2とのフェイルビット探索動作において、インターリーブ動作を実現することができる。これにより、コア11のフェイルビット探索動作を高速化することができる。なお、リセット信号及びフェイルフラグは、第1の実施形態の場合と同じ配線領域を通せるので、リセット信号及びフェイルフラグを追加する際の面積的なインパクトは無視できるほど小さい。また、フェイル累積判定回路17に入力される2本のリセット信号は、内部で論理和をとってからカウンタ回路に入力することで、カウンタ回路を増やす必要もなく、インターリーブ動作を実現しても面積的なインパクトがない。このように、第2の実施形態は、回路の追加や面積増加などの影響を及ぼすことなく、第1の実施形態に比べて、フェイルビット探索動作をより高速化することができる。[比較例]次に、フェイルビット探索動作を行うことが可能なNAND型フラッシュメモリの比較例について説明する。図14は、比較例に係るNAND型フラッシュメモリ100の構成を示すブロック図である。NAND型フラッシュメモリ100は、メモリセルアレイを含むコア101と、このコア101を制御するコア制御回路102とを備えている。コア101は、m1個のグループGP<0>~GP<m>を備えている。コア制御回路102は、フェイル探索回路110及びフェイル累積判定回路120を備えている。コア101に含まれる全ユニットUTは、k1ビットのカウントバスCB<k:0>に共通接続され、このカウントバスCB<k:0>は、フェイル累積判定回路120に接続されている。図15は、1個のグループGP<0>の構成を示すブロック図である。グループGP<1>~GP<m>の構成も図15と同じである。各グループGPは、n1個のユニットUT<0>~UT<n>を備えている。各ユニットUTは、フェイル検知回路103及びデイジーチェーン回路DCを備えている。フェイル検知回路103は、データバスDB<k:0>のパス/フェイル情報を検知する。データバスDB<k:0>に1つでもフェイル情報があると、このフェイル情報は、フェイル信号線FLを介してデイジーチェーン回路DCに送られ、デイジーチェーン回路DCによって保持される。デイジーチェーン回路DCは、ユニットUT<0>~UT<n>のフェイル情報の論理和をフラグFGとして伝搬する。図16は、フェイル検知回路103及びデイジーチェーン回路DCの構成を示す回路図である。デイジーチェーン回路DCのラッチ回路22は、タグセット信号TSTがハイレベルになった場合に、フェイル信号線FLを介して、フェイル情報をラッチする。ラッチ回路22のフェイルタグFTGは、データバスDB<k:0>に1つでもフェイル情報がある場合に、ハイレベルとなる。あるユニットUTのフェイルタグFTGがハイレベル、又は、当該ユニットUTから見て前のユニットUTにフェイルカラムがあれば、当該ユニットUTから出力されるフラグFGがハイレベルになる。このフラグFGが次のユニットUTのプレフラグPFGとなる。NANDゲート20は、1リセット信号RSTが活性化ハイレベルされ、2フェイルタグFTGがハイレベルであり、3プレフラグPFGがハイレベルである、という3つの条件が揃った場合に、ユニット選択信号USELを活性化ローレベルする。ユニット選択信号USELがローレベルになると、フェイルタグFTGがリセットされる。フェイル検知回路103には、カウントバスCB<k:0>が配設されている。カウントバスCB<k:0>は、データバスDB<k:0>のビット数に対応するk1本のカウント線CL<0>~CL<k>から構成されている。各カウント線CLは、2個のNチャネルMOSFET104及び105を介して接地されている接地端子VSSに接続されている。NチャネルMOSFET104<0>~104<k>のゲートはそれぞれ、データ線DL<0>~DL<k>に接続されている。NチャネルMOSFET105<0>~105<k>のゲートにはそれぞれ、ユニット選択信号USELがインバータ106によって反転された信号が入力される。ユニット選択信号USELがローレベルになると、NチャネルMOSFET105<0>~105<k>がオンする。この時、カウントバスCB<k:0>は、コア制御回路102によって例えば電源電圧VDDに充電されている。従って、データ線DLがフェイル、すなわちデータ線DLがローレベルである場合に、NチャネルMOSFET105がオンし、カウント線CLが放電されるカウント線CLがローレベルになる。フェイル累積判定回路120は、フェイル探索回路から送られるイネーブル信号ENが活性化ハイレベルされた場合に、ローレベルであるカウント線CLの数をカウントし、フェイルビット数累積フェイルカウント値を算出する。図17は、フェイルビット探索動作を示すタイミングチャートである。ある特定のユニットUT<n>のフェイルタグFTG<n>がハイレベル、又はそのユニットUT<n>から見て前のユニットにフェイルカラムがあれば、ユニットUT<n>から出力されるフラグFGがハイレベルになる。このフラグFGが次のユニットUT<n1>のプレフラグPFGとなる。リセット信号RSTがトグルする度に、プレフラグPFG及びフェイルタグFTGによってフェイルビットを数えるユニットUTが選択され、選択ユニットUTからフェイルビット数がカウントバスCB<k:0>を通してフェイル累積判定回路120に転送される。フェイルビットのカウントが終了したユニットUTは、次の探索から除外するために、リセット信号RSTによってフェイルタグFTG<n>がローレベルにされる。フェイル探索回路110は、フェイルフラグFFGがハイレベルの間は、いずれかのユニットUTにフェイルビット有りと見なして許容ビット数、又は、フェイルフラグFFGがローレベルになるまでフェイルビットのカウントを続ける。このような構成を有する比較例において、図14に示すように、フェイルビットをカウントするには、コア101をグローバルに配線されたカウントバスCB<k:0>が用いられるが、このカウントバスCB<k:0>は、その配線容量が大きい。コア101では、回路面積削減のために駆動力の小さいトランジスタ図16のNチャネルMOSFET104及び105が用いられることが多く、フェイルビットカウントのサイクルのうち、カウントバスCB<k:0>の駆動時間が支配的である。このため、コア制御回路102が待機する時間が多くなるため、フェイルビットの探索効率が悪くなる。また、フェイル累積判定回路120にフェイルビットカウントを行うカウントバスCB<k:0>が接続されるので、配線面積が増加してしまう。これに対して、上記第1及び第2の実施形態では、比較例からフェイル検知回路を削除し、デイジーチェーン回路をデータバス単位で配置する。このような構成にすることで、フェイルタグ=フェイルビットになるので、カウントバスCB<k:0>を削除できる。本実施形態では、フェイルビットカウントは、フェイルタグをリセットする回数をフェイル累積判定回路でカウントし、許容ビット数以上にカウントアップすると探索を終了する。本実施形態では、データバス単位でデイジーチェーン回路を配置するので、フラグの伝搬遅延は比較例に比べてk1倍になり、このままではカウントバスを駆動するよりも時間がかかる。そこで、ユニット内でフラグをバイパスする配線フラグバイパス14を設けることで、伝搬遅延を比較例と同程度にできる。本実施形態のフェイル累積判定回路17は、リセット信号をトリガーとしたカウンタ回路により構成される。これにより、フェイルフラグFFGがハイレベルの間はリセット信号がトグルする度に、1ビットずつカウントアップするという単純な回路に変更できる。また、リセット信号をトグルさせてフェイルビットをカウントするので、カウントバスCB<k:0>を駆動するよりも大幅に小さいサイクルで探索を行うことができる。本実施形態が1サイクルで1ビットしかカウントできないのに対し、比較例では、カウントバスCB<k:0>を用いるので1回のサイクルで最大でk1ビットまでフェイルビットをカウントできる。しかし、確率的に1個のユニットUTにフェイルビットが集中することは少なく、1ビット、又は2ビット程度がフェイルである確率が高い。仮に1個のユニットUTにフェイルビットが集中する場合は、許容ビット数を越えてしまうので探索が終了する。通常は時間のかかるフェイルビット探索を行うまでに、高速動作できるバイトカウント等の手法が用いられる。ある程度フェイルバイト数を削減した後にビットカウントに切り替えるので、1個のユニットUTにフェイルビットが集中する確率は低くなると考えられる。なお、上記第1及び第2の実施形態は、各メモリセルトランジスタMTが2ビット以上のデータを保持可能な構成であってもよい。例えば、各メモリセルトランジスタMTに2ビット書き込みが可能である場合を例に挙げると、まず下位ビットにつき書き込みが行われ、次に上位ビットにつき書き込みが行われる場合、フェイル検知動作は各ビットについて行われてもよいし、又は上位ビットまで書き込んだ後にのみ行ってもよい。また、上記第1及び第2の実施形態は、データの書き込み動作におけるフェイル検知動作を例に説明したが、このフェイル検知動作は、データの消去動作についても適用できる。例えばデータの消去後に、メモリセルトランジスタMTの閾値電圧が十分に低下しているかを確認するための消去ベリファイが行われる場合に、この消去ベリファイ後のフェイル検知動作に上記第1及び第2の実施形態を適用できる。また、上記第1及び第2の実施形態は、NAND型フラッシュメモリを例に挙げて説明したが、例えばNOR型、DINOR型、AND型フラッシュメモリなどを用いてもよい。また、フラッシュメモリに限らず、磁気抵抗素子をメモリセルに用いたMRAMMagneticRandomAccessMemoryや、可変抵抗素子をメモリセルに用いたReRAMResistiveRandomAccessMemory等、半導体メモリ全般に適用可能である。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"