(57)【特許請求の範囲】
【請求項１】
それぞれが複数のメモリセルを有する複数のユニットと、
前記複数のユニットの各々に接続され、かつ複数のデータ線からなるデータバスと、
データ書き込み後のベリファイ結果として前記ユニットから前記データバスを介して送られるフェイル情報を保持し、かつ前記複数のデータ線に対応して設けられた複数の保持回路と、
前記複数の保持回路に保持されたフェイル情報の論理和をフラグとして伝搬し、かつ前記複数のデータ線に対応して設けられた複数のデイジーチェーン回路と、
前記フラグに基づいて、前記複数のユニット内のフェイルビットを探索する探索回路と、
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記探索回路は、フェイル情報を保持した保持回路のうち探索が終了した保持回路をリセットするためのリセット信号を生成することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記リセット信号の回数をカウントする判定回路をさらに具備し、
前記判定回路のカウント値は、前記複数のユニット内のフェイルビット数に対応することを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
第１のデイジーチェーン回路は、前記第１のデイジーチェーン回路に対応する保持回路がフェイル情報を保持している場合、又は前記第１のデイジーチェーン回路より前の第２のデイジーチェーン回路がフェイル情報を保持している場合に、フラグを活性化することを特徴とする請求項１乃至３のいずれかに記載の半導体記憶装置。
【請求項５】
前記探索回路は、前記複数のユニットにフェイル情報がなくなった場合、又は前記複数のユニットのフェイルビット数が許容ビット数を超えた場合に、探索を終了することを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項６】
前記複数のユニットの各々は、前記複数のデータ線に接続され、かつメモリセルがフェイルであるか否かを検知する複数のセンスアンプを含むことを特徴とする請求項１乃至５のいずれかに記載の半導体記憶装置。
【請求項７】
前記複数のユニットは、複数の第１のユニットと複数の第２のユニットとに分割して管理され、
前記探索回路は、前記複数の第１のユニットの第１のリセット信号と、前記複数の第２のユニットの第２のリセット信号とをインターリーブすることを特徴とする請求項２又は３に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置の一種として、ＮＡＮＤ型フラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリは、ページと呼ばれる単位でデータの書き込みが行われる。ＮＡＮＤ型フラッシュメモリにデータを書き込む場合、一度の書き込み動作で全てのメモリセルに正確にデータを書き込むことは困難である。そこで、ＮＡＮＤ型フラッシュメモリにおける書き込みシーケンスは、（１）書き込み、（２）ベリファイ、（３）書き込みが終了していないメモリセル（フェイルビット）の探索及びカウント、の３つの工程からなる書き込みステージが繰り返される。
【０００３】
また、フェイルビット数が予め決められた許容ビット数以下であれば、フェイルビットを許容して書き込みシーケンスを終了する方式が知られている。本方式を用いることで、データの書き込み速度を高速化できる。本方式を用いるためには、フェイルビット数をカウントする回路が必要となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９３５１３９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、フェイルビットの探索動作を高速化することが可能な半導体記憶装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態に係る半導体記憶装置は、それぞれが複数のメモリセルを有する複数のユニットと、前記複数のユニットの各々に接続され、かつ複数のデータ線からなるデータバスと、データ書き込み後のベリファイ結果として前記ユニットから前記データバスを介して送られるフェイル情報を保持し、かつ前記複数のデータ線に対応して設けられた複数の保持回路と、前記複数の保持回路に保持されたフェイル情報の論理和をフラグとして伝搬し、かつ前記複数のデータ線に対応して設けられた複数のデイジーチェーン回路と、前記フラグに基づいて、前記複数のユニット内のフェイルビットを探索する探索回路とを具備する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るＮＡＮＤ型フラッシュメモリの構成を示すブロック図。
【図２】図１に示したグループの構成を示すブロック図。
【図３】図２に示したカラムの構成を示すブロック図。
【図４】メモリセルアレイの構成を示す回路図。
【図５】図２に示したデイジーチェーン回路の構成を示す回路図。
【図６】ＮＡＮＤ型フラッシュメモリのプログラムシーケンスを示すタイミングチャート。
【図７】ＮＡＮＤ型フラッシュメモリのプログラムシーケンスを示すフローチャート。
【図８】フェイルビット探索動作を示すタイミングチャート。
【図９】デイジーチェーン回路の論理演算を説明する概略図。
【図１０】図９に示したデイジーチェーンの他の構成例。
【図１１】図９に示した選択回路の他の構成例。
【図１２】第２の実施形態に係るＮＡＮＤ型フラッシュメモリの構成を示すブロック図。
【図１３】フェイルビット探索動作を示すタイミングチャート。
【図１４】比較例に係るＮＡＮＤ型フラッシュメモリの構成を示すブロック図。
【図１５】図１４に示したグループの構成を示すブロック図。
【図１６】図１５に示したフェイル検知回路及びデイジーチェーン回路の構成を示す回路図。
【図１７】フェイルビット探索動作を示すタイミングチャート。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らないことに留意すべきである。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【０００９】
［第１の実施形態］
第１の実施形態に係る半導体記憶装置について、ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【００１０】
［１．ＮＡＮＤ型フラッシュメモリ１０の構成］
図１は、第１の実施形態に係るＮＡＮＤ型フラッシュメモリ１０の構成を示すブロック図である。ＮＡＮＤ型フラッシュメモリ１０は、メモリセルアレイを含むコア１１と、このコア１１を制御するコア制御回路１２とを備えている。コア１１は、（ｍ＋１）個のグループＧＰ＜０＞〜ＧＰ＜ｍ＞を備えている。ｍは、０以上の整数である。グループＧＰ＜０＞〜ＧＰ＜ｍ＞の各々は、（ｎ＋１）個のユニットＵＴ＜０＞〜ＵＴ＜ｎ＞を備えている。ｎは、０以上の整数である。
【００１１】
図２は、１個のグループＧＰ＜０＞の構成を示すブロック図である。グループＧＰ＜１＞〜ＧＰ＜ｍ＞の構成も図２と同じである。各ユニットＵＴは、（ｊ＋１）個のカラムＣＯＬ＜０＞〜ＣＯＬ＜ｊ＞を備えている。ｊは、０以上の整数である。カラムＣＯＬ＜０＞〜ＣＯＬ＜ｊ＞は、（ｋ＋１）ビットのデータバスＤＢ＜ｋ：０＞に共通接続されている。ｋは、０以上の整数である。すなわち、各ユニットＵＴは、（ｋ＋１）ビットのデータを同時に読み出し可能なように構成されている。データバスＤＢ＜ｋ：０＞は、（ｋ＋１）本のデータ線ＤＬ＜０＞〜ＤＬ＜ｋ＞から構成されている。
【００１２】
図３は、カラムＣＯＬの構成を示すブロック図である。１個のカラムＣＯＬは、メモリセルアレイ１３に配設された（ｋ＋１）本のビット線ＢＬ＜０＞〜ＢＬ＜ｋ＞と、ビット線ＢＬ＜０＞〜ＢＬ＜ｋ＞にそれぞれ接続された（ｋ＋１）個のセンスアンプＳ／Ａとを備えている。ビット線ＢＬの本数は、データバスＤＢ＜ｋ：０＞に含まれるデータ線ＤＬの本数に対応する。（ｋ＋１）個のセンスアンプＳ／Ａはそれぞれ、データバス＜ｋ：０＞に接続されている。
【００１３】
図４は、メモリセルアレイ１３の構成を示す回路図である。なお、図４のメモリセルアレイ１３は、図２の行方向に並んだ（ｎ＋１）個のカラムＣＯＬ＜０＞に含まれるメモリセルアレイに対応する。
【００１４】
メモリセルアレイ１３は、ビット線ＢＬ＜０＞〜ＢＬ＜ｉ＞に対応する数のＮＡＮＤストリングを備えている。ｉは、ｎ以上の整数である。各ＮＡＮＤストリングは、例えば３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、２個の選択トランジスタＳＴ１，ＳＴ２とを備えている。選択トランジスタＳＴ１，ＳＴ２としては、例えばＮチャネルＭＯＳＦＥＴが用いられる。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート電極）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを有する積層ゲート構造を備えている。メモリセルトランジスタＭＴは、浮遊ゲート構造に限らず、電荷蓄積層としての絶縁膜（例えば、窒化膜）に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であってもよい。メモリセルトランジスタＭＴは、電荷蓄積層に注入された電子の多寡による閾値電圧の変化に応じて、例えば１ビットのデータを記憶することが可能である。
【００１５】
ＮＡＮＤストリング内で隣接するメモリセルトランジスタＭＴ同士の電流経路は直列接続されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１６】
同一行にあるメモリセルトランジスタＭＴの制御ゲート電極は、ワード線ＷＬ＜０＞〜ＷＬ＜３１＞のいずれかに共通接続されている。同一行にある選択トランジスタＳＴ１のゲート電極は、選択ゲート線ＳＧＤに共通接続され、同一行にある選択トランジスタＳＴ２のゲート電極は、選択ゲート線ＳＧＳに共通接続されている。同一行にある選択トランジスタＳＴ１のドレインはそれぞれ、ビット線ＢＬ＜０＞〜ＢＬ＜ｉ＞に接続されている。同一行にある選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通接続されている。
【００１７】
同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴはページを構成する。データの書き込み及び読み出しは、１つのページ内のメモリセルトランジスタＭＴに対して一括して行なわれる。また、メモリセルアレイ１３は、複数のページのデータが一括して消去されるように構成されており、この消去の単位がブロックと呼ばれる。
【００１８】
図３のセンスアンプＳ／Ａは、データの読み出し時に、選択されたメモリセルトランジスタＭＴのデータをビット線ＢＬを介して検知及び増幅し、この検知された読み出しデータを一時的に保持する。また、センスアンプＳ／Ａは、データの書き込み時に、書き込みデータを一時的に保持し、この書き込みデータをビット線ＢＬに転送する。また、センスアンプＳ／Ａは、書き込みデータがメモリセルトランジスタＭＴに正確に書き込まれたか否かを確認するベリファイ時に、読み出し動作と同じ処理を実行する。そして、センスアンプＳ／Ａは、書き込みデータと読み出しデータとを比較し、書き込み対象であるメモリセルトランジスタＭＴがフェイルビットであるか否かを検知する。フェイルビットとは、書き込みデータを、書き込み対象であるメモリセルトランジスタＭＴの既書き込みデータと照合した結果求められた不一致ビットをいう。
【００１９】
図２において、各ユニットＵＴは、データバスＤＢ＜ｋ：０＞を構成するデータ線ＤＬにそれぞれ接続された（ｋ＋１）個のデイジーチェーン回路ＤＣ＜０＞〜ＤＣ＜ｋ＞を備えている。
【００２０】
各ユニットＵＴに含まれるデイジーチェーン回路ＤＣ＜０＞〜ＤＣ＜ｋ＞は直列に接続されており、フラグＦＧを順次伝搬する。すなわち、デイジーチェーン回路ＤＣ＜０＞〜ＤＣ＜ｋ＞は、データバスＤＢ＜ｋ：０＞のフェイル情報の論理和をフラグＦＧとして出力する。各デイジーチェーン回路ＤＣは、前段のデイジーチェーン回路ＤＣのフラグＦＧが非活性（ローレベル）であり、かつ自身のビットがパスである場合に、ローレベルのフラグＦＧを出力し、一方、前段のデイジーチェーン回路ＤＣのフラグＦＧが活性化（ハイレベル）されているか、若しくは自身のビットがフェイルである場合に、ハイレベルのフラグＦＧを出力する。このために、デイジーチェーン回路ＤＣは、データ線ＤＬのビットのパス／フェイル情報を保持するラッチ回路や、フラグＦＧを生成する回路などを含んで構成されている。デイジーチェーン回路ＤＣの具体的な構成については後述する。
【００２１】
ユニットＵＴ＜０＞〜ＵＴ＜ｎ＞はそれぞれ、フラグバイパス１４＜０＞〜１４＜ｎ＞を備えている。ユニットＵＴ＜ｎ＞のフラグバイパス１４＜ｎ＞は、前段のユニットＵＴ＜ｎ−１＞のフラグＦＧをユニットＵＴ＜ｎ＞の出力までバイパスするものである。ユニットＵＴ＜ｎ＞から出力されるフラグＦＧ＜ｎ＞と、フラグバイパス１４＜ｎ＞とは、ＯＲゲート１５＜ｎ＞によって論理和の演算が行われる。他のフラグバイパス１４及びＯＲゲート１５についても、フラグバイパス１４＜ｎ＞及びＯＲゲート１５＜ｎ＞と同様の構成である。最終段のＯＲゲート１５＜ｎ＞は、フェイルフラグＦＦＧ＜０＞を出力する。従って、１個のグループＧＰから出力されるフェイルフラグＦＦＧは、当該グループＧＰに含まれるユニットＵＴ＜０＞〜ＵＴ＜ｎ＞のフェイル情報の論理和になる。
【００２２】
図１に示すように、グループＧＰ＜０＞〜ＧＰ＜ｍ＞はそれぞれ、フェイルフラグＦＦＧ＜０＞〜ＦＦＧ＜ｍ＞を出力する。グループＧＰ＜ｍ＞のフェイルフラグＦＦＧ＜ｍ＞と、前段のグループＧＰ＜ｍ−１＞のフェイルフラグＦＦＧ＜ｍ−１＞とは、ＯＲゲート１８＜ｍ＞によって論理和の演算が行われる。他のＯＲゲートについても、ＯＲゲート１８＜ｍ＞と同様の構成である。従って、最終段のＯＲゲート１８＜ｍ＞から出力されるフェイルフラグＦＦＧは、グループＧＰ＜０＞〜ＧＰ＜ｍ＞のフェイル情報の論理和になる。
【００２３】
コア制御回路１２は、フェイル探索回路１６、及びフェイル累積判定回路１７を備えている。フェイル探索回路１６は、ユニットＵＴ内のフェイルビットを探索するフェイルビット探索動作を制御する。フェイル探索回路１６は、フェイルフラグＦＦＧを監視しつつ、フェイルビット探索動作の１サイクル毎にリセット信号ＲＳＴを生成する。リセット信号ＲＳＴは、各デイジーチェーン回路ＤＣ、及びフェイル累積判定回路１７に送られる。
【００２４】
フェイル累積判定回路１７は、リセット信号ＲＳＴをトリガーとしてフェイル累積カウント値をカウントアップするカウンタを含んで構成されている。また、フェイル累積判定回路１７は、書き込みが行われたページにフェイルビットがなくなるまで、又は、フェイル累積カウント値が許容ビット数を超えるまでの間、リセット信号ＲＳＴをカウントアップする。フェイル累積判定回路１７がカウントするフェイル累積カウント値は、プログラムされた複数ビットのうちのフェイルビット数に対応する。
【００２５】
＜デイジーチェーン回路の構成＞
図５は、１個のデイジーチェーン回路ＤＣの構成を示す回路図である。ラッチ回路２２は、２個のインバータから構成され、パス／フェイル情報（フェイルタグＦＴＧ）を保持する。フェイルタグＦＴＧは、データ線ＤＬがフェイルである場合に、ハイレベルとなる。フェイルタグＦＴＧは、ラッチ回路２２のノードＮ１に保持される。
【００２６】
ＮチャネルＭＯＳＦＥＴ２３のドレインは、ラッチ回路２２のノードＮ２に接続されている。ＮチャネルＭＯＳＦＥＴ２３のソースは、データ線ＤＬに接続されている。ＮチャネルＭＯＳＦＥＴ２３のゲートには、コア制御回路１２からタグセット信号ＴＳＴが入力される。ＮチャネルＭＯＳＦＥＴ２３は、タグセット信号ＴＳＴがハイレベルになった場合に、データ線ＤＬの論理をラッチ回路２２に転送する。
【００２７】
ラッチ回路２２のノードＮ２は、ＮＡＮＤゲート２５の入力端子に接続されている。ＮＡＮＤゲート２５は、フラグＦＧを出力する。インバータ２４には、前段のデイジーチェーン回路からフラグＦＧが入力される。インバータ２４は、前段のデイジーチェーン回路のフラグＦＧを反転したプレフラグＰＦＧを出力し、このプレフラグＰＦＧは、ＮＡＮＤゲート２０及び２５に入力される。ＮＡＮＤゲート２５から出力されるフラグＦＧは、自身のフェイルタグＦＴＧがローレベル、かつ前段のデイジーチェーン回路のフェイルタグＦＴＧがローレベルである場合に、ローレベルとなる。
【００２８】
ＮＡＮＤゲート２０には、プレフラグＰＦＧの他に、ラッチ回路２２に保持されたフェイルタグＦＴＧ、及びフェイル探索回路１６からリセット信号ＲＳＴが入力される。ＮＡＮＤゲート２０は、選択信号ＳＥＬを出力し、この選択信号ＳＥＬは、ＰチャネルＭＯＳＦＥＴ２１のゲートに入力される。ＮＡＮＤゲート２０は、（１）リセット信号ＲＳＴが活性化（ハイレベル）され、（２）データ線ＤＬがフェイル、すなわちフェイルタグＦＴＧがハイレベルであり、（３）前段のデイジーチェーン回路のフラグが非活性（ローレベル）、すなわちプレフラグＰＦＧがハイレベルである、という３つの条件が揃った場合に、選択信号ＳＥＬを活性化（ローレベル）する。
【００２９】
ＰチャネルＭＯＳＦＥＴ２１のソースは、電源端子ＶＤＤに接続されている。ＰチャネルＭＯＳＦＥＴ２１のドレインは、ラッチ回路２２のノードＮ２に接続されている。ＰチャネルＭＯＳＦＥＴ２１は、選択信号ＳＥＬがローレベルになった場合に、ラッチ回路２２をリセット、すなわちフェイルタグＦＴＧをローレベルにする。
【００３０】
［２．動作］
次に、ＮＡＮＤ型フラッシュメモリ１０の動作について説明する。  
＜プログラムシーケンスの動作＞
まず、ＮＡＮＤ型フラッシュメモリ１０の書き込み（プログラム）シーケンスについて説明する。図６は、ＮＡＮＤ型フラッシュメモリ１０のプログラムシーケンスを示すタイミングチャートである。
【００３１】
プログラムコマンドが外部から発行されると、ＮＡＮＤ型フラッシュメモリ１０は、ビジー状態となり、プログラムシーケンスがスタートする。まず、プログラム動作が行われることにより、メモリセルアレイ１３に対して１回目のプログラムがページ単位で行われる。
【００３２】
続いて、プログラムされたメモリセルトランジスタＭＴに対してベリファイ動作が行われる。ベリファイ動作では、プログラムされたメモリセルトランジスタＭＴに対して内部的にデータの読み出しが行われ、センスアンプＳ／Ａには、正確にプログラムが行われた否かを示す情報（パス／フェイル情報）が格納される。
【００３３】
ベリファイ動作が終了すると、続いて、フェイル検知動作が行われる。フェイル検知動作では、ベリファイ動作でセンスアンプＳ／Ａに格納されたパス／フェイル情報がデイジーチェーン回路ＤＣに読み出され、フェイルビットが存在するか否かが判定される。このプログラム、ベリファイ、及びフェイル検知の３つの動作を合わせて、プログラムステージと呼ぶ。
【００３４】
フェイル検知動作の結果として、プログラムがパスであるかフェイルであるかを示すパス／フェイル信号が生成される。プログラムがフェイルの場合、ＮＡＮＤ型フラッシュメモリ１０は、２回目のプログラムステージを実行し、プログラムがパスの場合、プログラムシーケンスを抜けてレディ状態に戻る。プログラムがパスするまでは、プログラムステージが繰り返され、さらに、プログラムステージの回数が規定回数を超えてもプログラムがパスしない場合は、プログラムシーケンスが終了する。
【００３５】
次に、ＮＡＮＤ型フラッシュメモリ１０のプログラムシーケンスの具体的な処理について説明する。図７は、ＮＡＮＤ型フラッシュメモリ１０のプログラムシーケンスを示すフローチャートである。
【００３６】
まず、プログラム動作が行われる（ステップＳ１００）。このプログラム動作は、周知の方法によって実行可能である。続いて、ベリファイ動作が行われる（ステップＳ１０１）。このベリファイ動作も、周知の方法によって実行可能である。ベリファイ動作では、プログラムされたメモリセルトランジスタＭＴに対して内部的にデータの読み出しが行われる。そして、各ビットに対応して設けられたセンスアンプＳ／Ａに、ベリファイ結果であるパス／フェイル情報が格納される。
【００３７】
続いて、フェイル検知動作が行われる（ステップＳ１０２）。まず、コア制御回路１２は、タグセット信号ＴＳＴを活性化（ハイレベル）する。これにより、各デイジーチェーン回路ＤＣのＮチャネルＭＯＳＦＥＴ２３がオンし、各デイジーチェーン回路ＤＣのラッチ回路２２は、データ線ＤＬを介して、センスアンプＳ／Ａのパス／フェイル情報をフェイルタグＦＴＧとして格納する。ビットがフェイルの場合は、データ線ＤＬがローレベルになり、ラッチ回路２２のフェイルタグＦＴＧはハイレベルになる。一方、ビットがパスの場合は、データ線ＤＬがハイレベルになり、ラッチ回路２２のフェイルタグＦＴＧはローレベルになる。
【００３８】
あるデイジーチェーン回路ＤＣのビットがパスである場合、ラッチ回路２２のノードＮ２がハイレベルになる。このため、前段のデイジーチェーン回路ＤＣのフラグＦＧがローレベルであることを条件に、当該デイジーチェーン回路ＤＣのフラグＦＧもローレベルとなる。なお、初段のデイジーチェーン回路ＤＣには、コア制御回路１２からローレベルのフラグＦＧが入力される。従って、プログラムされた全ビットがパスである場合（ステップＳ１０３）、フェイル探索回路１６に入力されるフェイルフラグＦＦＧがローレベルとなり、プログラムがパスする。
【００３９】
一方、あるデイジーチェーン回路ＤＣがフェイルビットである場合、ラッチ回路２２のノードＮ２がローレベルになる。このため、前段のデイジーチェーン回路ＤＣのフラグＦＧに関係なく、当該デイジーチェーン回路ＤＣのフラグＦＧはハイレベルとなる。従って、フェイルフラグＦＦＧがハイレベルとなり、フェイルビット探索が実行される。
【００４０】
フェイルビット探索において、フェイル探索回路１６は、リセット信号ＲＳＴをハイレベルにする。これにより、あるＮＡＮＤゲート２０は、（１）リセット信号ＲＳＴがハイレベルにされ、（２）フェイルタグＦＴＧがハイレベルであり、（３）プレフラグＰＦＧがハイレベルである、という３つの条件が揃った場合に、選択信号ＳＥＬをローレベルにする。纏めると、リセット信号ＲＳＴがハイレベルにされることをトリガーとして、自身のビットがフェイルであり、かつ、前段までのデイジーチェーン回路ＤＣのビットがパスであるか、若しくはフェイルタグＦＴＧがリセットされた場合に、ＮＡＮＤゲート２０は、選択信号ＳＥＬをローレベルにする。
【００４１】
選択信号ＳＥＬがローレベルになると、ＰチャネルＭＯＳＦＥＴ２１がオンし、ラッチ回路２２がリセット、すなわちラッチ回路２２のフェイルタグＦＴＧがローレベルにされる（ステップＳ１０４）。また、フェイル累積判定回路１７は、リセット信号ＲＳＴがハイレベルになると、フェイルビット数に対応する累積フェイルカウント値をカウントアップする（ステップＳ１０５）。
【００４２】
選択信号ＳＥＬによって選択されたデイジーチェーン回路ＤＣのフェイルタグＦＴＧをリセットした後、フェイル探索回路１６は、再度、フェイルフラグＦＦＧがハイレベルか否かを判定する（Ｓ１０６）。フェイルフラグＦＦＧがローレベルである場合、フェイルビットの探索が終了したことになり、プログラムがパスする。
【００４３】
ステップＳ１０６においてフェイルフラグＦＦＧがハイレベルのままである場合、フェイル累積判定回路１７は、フェイルビット数（累積フェイルカウント値）が許容フェイル数（許容数）以下であるか否かを判定する（ステップＳ１０７）。フェイルビット数が許容フェイル数以下である場合、フェイル探索回路１６は、フェイルビットの探索動作を繰り返す。一方、ステップＳ１０７においてフェイルビット数が許容フェイル数を超えている場合、プログラムがフェイルとなり、再度、プログラムステージが実行される。なお、プログラムステージの回数が規定回数を超えてもプログラムがパスしない場合は、プログラムシーケンスが終了する。
【００４４】
図８は、フェイルビット探索動作を示すタイミングチャートである。コア制御回路１２は、クロック信号ＣＬＫに同期して動作する。あるデイジーチェーン回路ＤＣ＜ｎ＞のラッチ回路２２＜ｎ＞は、ハイレベルのフェイルタグＦＴＧ＜ｎ＞を格納している。リセット信号ＲＳＴがハイレベルになると、ラッチ回路２２＜ｎ＞がリセットされ、フェイルタグＦＴＧ＜ｎ＞がローレベルになる。この時、フェイル累積判定回路１７は、累積フェイルカウント値を１だけカウントアップする。図８の“ｈ”は１６進数表記を表している。この時点で、フェイルフラグＦＦＧがハイレベルのままであるので、まだフェイルビットが存在する。
【００４５】
同様に、フェイルタグＦＴＧ＜ｎ＋１＞、ＦＴＧ＜ｎ＋２＞がリセットされるとともに、フェイル累積判定回路１７は、累積フェイルカウント値を２だけカウントアップする。続いて、フェイルタグＦＴＧ＜ｎ＋３＞がリセットされるとともに、フェイル累積判定回路１７は、累積フェイルカウント値を１だけカウントアップする。この時点で、フェイルフラグＦＦＧがローレベルになっているので、今回のプログラムステージにおいて、コア制御回路１２は、全ビットのフェイル探索を終了する。
【００４６】
図２に示すように、フェイル探索動作において、全ビットがパスしたユニットＵＴは、フラグバイパス１４によって、デイジーチェーン回路ＤＣのフラグ伝搬動作がバイパスされる。よって、プログラムステージが繰り返された場合でも、フェイル探索動作に要する時間を短縮することができる。
【００４７】
［３．デイジーチェーン回路の構成例］
図９は、デイジーチェーン回路ＤＣの論理演算を説明する概略図である。直列に接続された複数のデイジーチェーン回路ＤＣは、あるデイジーチェーン回路ＤＣ＜ｎ＞の端子Ａ＝“１（ハイレベル）”であれば、複数のデイジーチェーン回路ＤＣの最終出力端子Ｂから“１”が出力されるという構成を有している。また、あるデイジーチェーン回路の端子Ｂ＝“０（ローレベル）”であれば、当該デイジーチェーン回路よりも前にある全てのデイジーチェーン回路の端子Ａには“１”がないことを示している。よって、端子Ａと端子Ｂとの論理で端子Ｃの論理が決まり、端子Ｃをチェックすることで、１個のデイジーチェーン回路を特定できる特徴がある。例えば、１個のデイジーチェーン回路ＤＣは、ＯＲゲート、インバータＩＮＶ、及びＮＡＮＤゲートＮＤによって構成される。
【００４８】
このデイジーチェーンのシステムを本実施形態のフェイルビット探索に適用すると、端子Ａ＝フェイルタグＦＴＧ、端子Ｂ＝プレフラグＰＦＧ、端子Ｃ＝選択信号ＳＥＬとなる。従って、選択されたデイジーチェーン回路にフェイルビットがあればフェイルタグＦＴＧ＝１になり、“１”情報が各デイジーチェーン回路を伝搬して最終出力端子であるフェイルフラグＦＦＧ＝１となる。フェイルタグＦＴＧがリセットされると当該デイジーチェーン回路から出力されるフラグＦＧも“０”になり、次にフェイルタグＦＴＧ＝１があるデイジーチェーン回路までプレフラグＰＦＧが“０”になる。
【００４９】
このようにデイジーチェーンのシステムを用いることで、コア制御回路１２はリセット信号ＲＳＴをトグルするだけで、フェイルビットカウントを実行するデイジーチェーン回路を１つだけ自動で選択できる。
【００５０】
図１０は、図９に示したデイジーチェーンの他の構成例である。図１０（ａ）は、ＮＯＲゲート及びインバータＩＮＶによってデイジーチェーンを構成している。図１０（ｂ）は、ＮＡＮＤゲート及びインバータＩＮＶによってデイジーチェーンを構成している。図１０（ｃ）は、インバータＩＮＶ及びＮＯＲゲートによってデイジーチェーンを構成している。図１０（ｄ）は、インバータＩＮＶ及びＮＯＲゲートによってデイジーチェーンを構成している。
【００５１】
図１１は、図９に示した選択回路の他の構成例である。図１１（ａ）は、インバータＩＮＶ及びＮＡＮＤゲートによって選択回路を構成している。図１１（ｂ）は、ＮＯＲゲートによって選択回路を構成している。図１１（ｃ）は、ＮＡＮＤゲートによって選択回路を構成している。図１１（ｄ）は、ＮＡＮＤゲート及びインバータＩＮＶによって選択回路を構成している。図１１（ｅ）は、ＮＯＲゲート及びインバータＩＮＶによって選択回路を構成している。
【００５２】
デイジーチェーン回路ＤＣは、図５の構成に限らず、図９乃至図１１に示した様々なパターンの論理演算回路を任意に組み合わせて実現できる。
【００５３】
［４.効果］
以上詳述したように第１の実施形態では、各ユニットＵＴが複数のカラムＣＯＬに共通接続されたデータバスＤＢ＜ｋ：０＞を有し、各データバスＤＢ＜ｋ：０＞を構成する複数のデータ線ＤＬ＜０＞〜ＤＬ＜ｋ＞にそれぞれ接続された複数のデイジーチェーン回路ＤＣ＜０＞〜ＤＣ＜ｋ＞を備えている。デイジーチェーン回路ＤＣ＜０＞〜ＤＣ＜ｋ＞は、フェイル情報をフェイルタグＦＴＧとして保持するラッチ回路２２を備え、フェイル情報の論理和をフラグＦＧとして伝搬するよう構成される。そして、フェイル探索回路１６は、フェイルビットを探索する毎にリセット信号ＲＳＴを生成し、このリセット信号ＲＳＴによって、探索が終了したデイジーチェーン回路ＤＣのラッチ回路２２をリセットするようにしている。さらに、フェイル累積判定回路１７は、リセット信号ＲＳＴをカウントアップすることで、フェイルビット数（累積フェイルカウント値）を算出するようにしている。
【００５４】
従って第１の実施形態によれば、コア１１から最終的に出力されるフェイルフラグＦＦＧ（本実施形態では、グループＧＰ＜０＞〜ＧＰ＜ｍ＞のフェイル情報の論理和）を監視しつつ、リセット信号ＲＳＴを生成することにより、フェイルビット数をカウントすることが可能となる。これにより、フェイルビットの探索動作及びカウント動作を高速化することができる。
【００５５】
また、フェイルビットがないユニットＵＴについては、フラグバイパス１４によってフラグが当該ユニットをバイパスされる。すなわち、プログラムステージを繰り返した場合でも、フェイルがあるユニットＵＴのみについてフラグＦＧの伝搬時間がかかるような回路構成を実現しているため、フェイルビットの探索動作を高速化することができる。
【００５６】
また、フェイル累積判定回路１７をカウンタで構成できる。これにより、フェイルビット数をカウントする制御が簡略化できるため、コストの低減が図れる。
【００５７】
［第２の実施形態］
第２の実施形態は、コア１１に含まれる複数のグループＧＰを半分に分割して管理し、分割された２つのコアをインターリーブ動作させるようにしている。
【００５８】
図１２は、第２の実施形態に係るＮＡＮＤ型フラッシュメモリ１０の構成を示すブロック図である。コア１１は、（ｍ＋１）個のグループＧＰ_Ｌ＜０＞〜ＧＰ＜ｍ＞_Ｌからなる第１のコア１１−１と、（ｍ＋１）個のグループＧＰ_Ｒ＜０＞〜ＧＰ_Ｒ＜ｍ＞_Ｒからなる第２のコア１１−２とを備えている。すなわち、第２の実施形態のコア１１は、第１の実施形態で示したコアが半分に分割されている。グループＧＰ_Ｌ及びＧＰ_Ｒの構成は、第１の実施形態のグループＧＰと同じである。なお、第１のコア１１−１に含まれるグループＧＰの数と、第２のコア１１−２に含まれるグループＧＰの数とは同じでなくてもよい。
【００５９】
第１のコア１１−１に含まれるグループＧＰ_Ｌ＜０＞〜ＧＰ_Ｌ＜ｍ＞はそれぞれ、フェイルフラグＦＦＧ_Ｌ＜０＞〜ＦＦＧ_Ｌ＜ｍ＞を出力する。グループＧＰ_Ｌ＜ｍ＞のフェイルフラグＦＦＧ_Ｌ＜ｍ＞と、前段のグループＧＰ_Ｌ＜ｍ−１＞のフェイルフラグＦＦＧ_Ｌ＜ｍ−１＞とは、ＯＲゲート１８_Ｌ＜ｍ＞によって論理和の演算が行われる。他のＯＲゲートについても、ＯＲゲート１８_Ｌ＜ｍ＞と同様の構成である。従って、最終段のＯＲゲート１８_Ｌ＜ｍ＞から出力されるフェイルフラグＦＦＧ_Ｌは、グループＧＰ_Ｌ＜０＞〜ＧＰ_Ｌ＜ｍ＞のフェイル情報の論理和になる。
【００６０】
第２のコア１１−２に含まれるグループＧＰ_Ｒ＜０＞〜ＧＰ_Ｒ＜ｍ＞はそれぞれ、フェイルフラグＦＦＧ_Ｒ＜０＞〜ＦＦＧ_Ｒ＜ｍ＞を出力する。グループＧＰ_Ｒ＜ｍ＞のフェイルフラグＦＦＧ_Ｒ＜ｍ＞と、前段のグループＧＰ_Ｒ＜ｍ−１＞のフェイルフラグＦＦＧ_Ｒ＜ｍ−１＞とは、ＯＲゲート１８_Ｒ＜ｍ＞によって論理和の演算が行われる。他のＯＲゲートについても、ＯＲゲート１８_Ｒ＜ｍ＞と同様の構成である。従って、最終段のＯＲゲート１８_Ｒ＜ｍ＞から出力されるフェイルフラグＦＦＧ_Ｒは、グループＧＰ_Ｒ＜０＞〜ＧＰ_Ｒ＜ｍ＞のフェイル情報の論理和になる。
【００６１】
フェイル探索回路１６は、フェイルフラグＦＦＧ_Ｌを監視しつつ、フェイルビット探索動作の１サイクル毎にリセット信号ＲＳＴ_Ｌを生成する。リセット信号ＲＳＴ_Ｌは、コア１１−１のデイジーチェーン回路ＤＣ、及びフェイル累積判定回路１７に送られる。同様に、フェイル探索回路１６は、フェイルフラグＦＦＧ_Ｒを監視しつつ、フェイル探索動作の１サイクル毎にリセット信号ＲＳＴ_Ｒを生成する。リセット信号ＲＳＴ_Ｒは、コア１１−２のデイジーチェーン回路ＤＣ、及びフェイル累積判定回路１７に送られる。
【００６２】
フェイル累積判定回路１７は、リセット信号ＲＳＴ_Ｌ及びＲＳＴ_Ｒをトリガーとしてフェイル累積カウント値をカウントアップするカウンタを含んで構成されている。すなわち、フェイル累積判定回路１７は、リセット信号ＲＳＴ_Ｌ及びＲＳＴ_Ｒの論理和を演算した信号をカウントアップするように構成されている。また、フェイル累積判定回路１７は、書き込みが行われたページにフェイルビットがなくなるまで、又は、フェイル累積カウント値が許容ビット数を超えるまでの間、リセット信号ＲＳＴ_Ｌ及びＲＳＴ_Ｒをカウントアップする。
【００６３】
図１３は、フェイルビット探索動作を示すタイミングチャートである。フェイルタグＦＴＧ_Ｌ＜ｎ＞〜ＦＴＧ_Ｌ＜ｎ＋３＞は、第１のコア１１−１に含まれるフェイルタグを表している。フェイルタグＦＴＧ_Ｒ＜ｍ＞〜ＦＴＧ_Ｒ＜ｍ＋１＞は、第２のコア１１−２に含まれるフェイルタグを表している。
【００６４】
フェイル探索回路１６は、フェイルフラグＦＦＧ_Ｌがローレベルになるまで、リセット信号ＲＳＴ_Ｌを出力する。このリセット信号ＲＳＴ_Ｌによって、フェイルタグＦＴＧ_Ｌが順番にリセットされる。また、フェイル探索回路１６は、フェイルフラグＦＦＧ_Ｒがローレベルになるまで、リセット信号ＲＳＴ_Ｒを出力する。このリセット信号ＲＳＴ_Ｒによって、フェイルタグＦＴＧ_Ｒが順番にリセットされる。さらに、フェイル探索回路１６は、第１のコア１１−１に送るリセット信号ＲＳＴ_Ｌと、第２のコア１１−２に送るリセット信号ＲＳＴ_Ｒとをインターリーブする。フェイル累積判定回路１７は、リセット信号ＲＳＴ_Ｌ及びＲＳＴ_Ｒの論理和を演算した信号をカウントアップし、累積フェイルカウント値を生成する。
【００６５】
従って、第２の実施形態によれば、第１のコア１１−１と第２のコア１１−２とのフェイルビット探索動作において、インターリーブ動作を実現することができる。これにより、コア１１のフェイルビット探索動作を高速化することができる。
【００６６】
なお、リセット信号及びフェイルフラグは、第１の実施形態の場合と同じ配線領域を通せるので、リセット信号及びフェイルフラグを追加する際の面積的なインパクトは無視できるほど小さい。また、フェイル累積判定回路１７に入力される２本のリセット信号は、内部で論理和をとってからカウンタ回路に入力することで、カウンタ回路を増やす必要もなく、インターリーブ動作を実現しても面積的なインパクトがない。このように、第２の実施形態は、回路の追加や面積増加などの影響を及ぼすことなく、第１の実施形態に比べて、フェイルビット探索動作をより高速化することができる。
【００６７】
［比較例］
次に、フェイルビット探索動作を行うことが可能なＮＡＮＤ型フラッシュメモリの比較例について説明する。図１４は、比較例に係るＮＡＮＤ型フラッシュメモリ１００の構成を示すブロック図である。
【００６８】
ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイを含むコア１０１と、このコア１０１を制御するコア制御回路１０２とを備えている。コア１０１は、（ｍ＋１）個のグループＧＰ＜０＞〜ＧＰ＜ｍ＞を備えている。コア制御回路１０２は、フェイル探索回路１１０及びフェイル累積判定回路１２０を備えている。コア１０１に含まれる全ユニットＵＴは、（ｋ＋１）ビットのカウントバスＣＢ＜ｋ：０＞に共通接続され、このカウントバスＣＢ＜ｋ：０＞は、フェイル累積判定回路１２０に接続されている。
【００６９】
図１５は、１個のグループＧＰ＜０＞の構成を示すブロック図である。グループＧＰ＜１＞〜ＧＰ＜ｍ＞の構成も図１５と同じである。各グループＧＰは、（ｎ＋１）個のユニットＵＴ＜０＞〜ＵＴ＜ｎ＞を備えている。各ユニットＵＴは、フェイル検知回路１０３及びデイジーチェーン回路ＤＣを備えている。
【００７０】
フェイル検知回路１０３は、データバスＤＢ＜ｋ：０＞のパス／フェイル情報を検知する。データバスＤＢ＜ｋ：０＞に１つでもフェイル情報があると、このフェイル情報は、フェイル信号線ＦＬを介してデイジーチェーン回路ＤＣに送られ、デイジーチェーン回路ＤＣによって保持される。デイジーチェーン回路ＤＣは、ユニットＵＴ＜０＞〜ＵＴ＜ｎ＞のフェイル情報の論理和をフラグＦＧとして伝搬する。
【００７１】
図１６は、フェイル検知回路１０３及びデイジーチェーン回路ＤＣの構成を示す回路図である。デイジーチェーン回路ＤＣのラッチ回路２２は、タグセット信号ＴＳＴがハイレベルになった場合に、フェイル信号線ＦＬを介して、フェイル情報をラッチする。ラッチ回路２２のフェイルタグＦＴＧは、データバスＤＢ＜ｋ：０＞に１つでもフェイル情報がある場合に、ハイレベルとなる。あるユニットＵＴのフェイルタグＦＴＧがハイレベル、又は、当該ユニットＵＴから見て前のユニットＵＴにフェイルカラムがあれば、当該ユニットＵＴから出力されるフラグＦＧがハイレベルになる。このフラグＦＧが次のユニットＵＴのプレフラグＰＦＧとなる。
【００７２】
ＮＡＮＤゲート２０は、（１）リセット信号ＲＳＴが活性化（ハイレベル）され、（２）フェイルタグＦＴＧがハイレベルであり、（３）プレフラグＰＦＧがハイレベルである、という３つの条件が揃った場合に、ユニット選択信号ＵＳＥＬを活性化（ローレベル）する。ユニット選択信号ＵＳＥＬがローレベルになると、フェイルタグＦＴＧがリセットされる。
【００７３】
フェイル検知回路１０３には、カウントバスＣＢ＜ｋ：０＞が配設されている。カウントバスＣＢ＜ｋ：０＞は、データバスＤＢ＜ｋ：０＞のビット数に対応する（ｋ＋１）本のカウント線ＣＬ＜０＞〜ＣＬ＜ｋ＞から構成されている。各カウント線ＣＬは、２個のＮチャネルＭＯＳＦＥＴ１０４及び１０５を介して接地されている（接地端子ＶＳＳに接続されている）。
【００７４】
ＮチャネルＭＯＳＦＥＴ１０４＜０＞〜１０４＜ｋ＞のゲートはそれぞれ、データ線ＤＬ＜０＞〜ＤＬ＜ｋ＞に接続されている。ＮチャネルＭＯＳＦＥＴ１０５＜０＞〜１０５＜ｋ＞のゲートにはそれぞれ、ユニット選択信号ＵＳＥＬがインバータ１０６によって反転された信号が入力される。
【００７５】
ユニット選択信号ＵＳＥＬがローレベルになると、ＮチャネルＭＯＳＦＥＴ１０５＜０＞〜１０５＜ｋ＞がオンする。この時、カウントバスＣＢ＜ｋ：０＞は、コア制御回路１０２によって例えば電源電圧ＶＤＤに充電されている。従って、データ線ＤＬがフェイル、すなわちデータ線ＤＬがローレベルである場合に、ＮチャネルＭＯＳＦＥＴ１０５がオンし、カウント線ＣＬが放電される（カウント線ＣＬがローレベルになる）。フェイル累積判定回路１２０は、フェイル探索回路から送られるイネーブル信号ＥＮが活性化（ハイレベル）された場合に、ローレベルであるカウント線ＣＬの数をカウントし、フェイルビット数（累積フェイルカウント値）を算出する。
【００７６】
図１７は、フェイルビット探索動作を示すタイミングチャートである。ある特定のユニットＵＴ＜ｎ＞のフェイルタグＦＴＧ＜ｎ＞がハイレベル、又はそのユニットＵＴ＜ｎ＞から見て前のユニットにフェイルカラムがあれば、ユニットＵＴ＜ｎ＞から出力されるフラグＦＧがハイレベルになる。このフラグＦＧが次のユニットＵＴ＜ｎ＋１＞のプレフラグＰＦＧとなる。
【００７７】
リセット信号ＲＳＴがトグルする度に、プレフラグＰＦＧ及びフェイルタグＦＴＧによってフェイルビットを数えるユニットＵＴが選択され、選択ユニットＵＴからフェイルビット数がカウントバスＣＢ＜ｋ：０＞を通してフェイル累積判定回路１２０に転送される。
【００７８】
フェイルビットのカウントが終了したユニットＵＴは、次の探索から除外するために、リセット信号ＲＳＴによってフェイルタグＦＴＧ＜ｎ＞がローレベルにされる。フェイル探索回路１１０は、フェイルフラグＦＦＧがハイレベルの間は、いずれかのユニットＵＴにフェイルビット有りと見なして許容ビット数、又は、フェイルフラグＦＦＧがローレベルになるまでフェイルビットのカウントを続ける。
【００７９】
このような構成を有する比較例において、図１４に示すように、フェイルビットをカウントするには、コア１０１をグローバルに配線されたカウントバスＣＢ＜ｋ：０＞が用いられるが、このカウントバスＣＢ＜ｋ：０＞は、その配線容量が大きい。コア１０１では、回路面積削減のために駆動力の小さいトランジスタ（図１６のＮチャネルＭＯＳＦＥＴ１０４及び１０５）が用いられることが多く、フェイルビットカウントのサイクルのうち、カウントバスＣＢ＜ｋ：０＞の駆動時間が支配的である。このため、コア制御回路１０２が待機する時間が多くなるため、フェイルビットの探索効率が悪くなる。また、フェイル累積判定回路１２０にフェイルビットカウントを行うカウントバスＣＢ＜ｋ：０＞が接続されるので、配線面積が増加してしまう。
【００８０】
これに対して、上記第１及び第２の実施形態では、比較例からフェイル検知回路を削除し、デイジーチェーン回路をデータバス単位で配置する。このような構成にすることで、フェイルタグ＝フェイルビットになるので、カウントバスＣＢ＜ｋ：０＞>を削除できる。本実施形態では、フェイルビットカウントは、フェイルタグをリセットする回数をフェイル累積判定回路でカウントし、許容ビット数以上にカウントアップすると探索を終了する。
【００８１】
本実施形態では、データバス単位でデイジーチェーン回路を配置するので、フラグの伝搬遅延は比較例に比べて（ｋ＋１）倍になり、このままではカウントバスを駆動するよりも時間がかかる。そこで、ユニット内でフラグをバイパスする配線（フラグバイパス１４）を設けることで、伝搬遅延を比較例と同程度にできる。
【００８２】
本実施形態のフェイル累積判定回路１７は、リセット信号をトリガーとしたカウンタ回路により構成される。これにより、フェイルフラグＦＦＧがハイレベルの間はリセット信号がトグルする度に、１ビットずつカウントアップするという単純な回路に変更できる。また、リセット信号をトグルさせてフェイルビットをカウントするので、カウントバスＣＢ＜ｋ：０＞を駆動するよりも大幅に小さいサイクルで探索を行うことができる。
【００８３】
本実施形態が１サイクルで１ビットしかカウントできないのに対し、比較例では、カウントバスＣＢ＜ｋ：０＞を用いるので１回のサイクルで最大で（ｋ＋１）ビットまでフェイルビットをカウントできる。しかし、確率的に１個のユニットＵＴにフェイルビットが集中することは少なく、１ビット、又は２ビット程度がフェイルである確率が高い。仮に１個のユニットＵＴにフェイルビットが集中する場合は、許容ビット数を越えてしまうので探索が終了する。通常は時間のかかるフェイルビット探索を行うまでに、高速動作できるバイトカウント等の手法が用いられる。ある程度フェイルバイト数を削減した後にビットカウントに切り替えるので、１個のユニットＵＴにフェイルビットが集中する確率は低くなると考えられる。
【００８４】
なお、上記第１及び第２の実施形態は、各メモリセルトランジスタＭＴが２ビット以上のデータを保持可能な構成であってもよい。例えば、各メモリセルトランジスタＭＴに２ビット書き込みが可能である場合を例に挙げると、まず下位ビットにつき書き込みが行われ、次に上位ビットにつき書き込みが行われる場合、フェイル検知動作は各ビットについて行われてもよいし、又は上位ビットまで書き込んだ後にのみ行ってもよい。
【００８５】
また、上記第１及び第２の実施形態は、データの書き込み動作におけるフェイル検知動作を例に説明したが、このフェイル検知動作は、データの消去動作についても適用できる。例えばデータの消去後に、メモリセルトランジスタＭＴの閾値電圧が十分に低下しているかを確認するための消去ベリファイが行われる場合に、この消去ベリファイ後のフェイル検知動作に上記第１及び第２の実施形態を適用できる。
【００８６】
また、上記第１及び第２の実施形態は、ＮＡＮＤ型フラッシュメモリを例に挙げて説明したが、例えばＮＯＲ型、ＤＩＮＯＲ型、ＡＮＤ型フラッシュメモリなどを用いてもよい。また、フラッシュメモリに限らず、磁気抵抗素子をメモリセルに用いたＭＲＡＭ（Magnetic Random Access Memory）や、可変抵抗素子をメモリセルに用いたＲｅＲＡＭ（Resistive Random Access Memory）等、半導体メモリ全般に適用可能である。
【００８７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８８】
ＧＰ…グループ、ＵＴ…ユニット、ＣＯＬ…カラム、ＤＢ…データバス、ＤＬ…データ線、Ｓ／Ａ…センスアンプ、ＤＣ…デイジーチェーン回路、１０…ＮＡＮＤ型フラッシュメモリ、１１…コア、１２…コア制御回路、１３…メモリセルアレイ、１４…フラグバイパス、１５，１８…ＯＲゲート、１６…フェイル探索回路、１７…フェイル累積判定回路、１００…ＮＡＮＤ型フラッシュメモリ、１０１…コア、１０２…コア制御回路、１０３…フェイル検知回路、１１０…フェイル探索回路、１２０…フェイル累積判定回路。
【図１】
0005542746.tif 000002
【図２】
0005542746.tif 000003
【図３】
0005542746.tif 000004
【図４】
0005542746.tif 000005
【図５】
0005542746.tif 000006
【図６】
0005542746.tif 000007
【図７】
0005542746.tif 000008
【図８】
0005542746.tif 000009
【図９】
0005542746.tif 000010
【図１０】
0005542746.tif 000011
【図１１】
0005542746.tif 000012
【図１２】
0005542746.tif 000013
【図１３】
0005542746.tif 000014
【図１４】
0005542746.tif 000015
【図１５】
0005542746.tif 000016
【図１６】
0005542746.tif 000017
【図１７】
0005542746.tif 000018