(57)【要約】【課題】書き込み動作におけるフェイルビットの許容数を増加し、かつ書き込み動作の高速化を図る。【解決手段】不揮発性半導体記憶装置は、複数のメモリセルが配置されたメモリセルアレイ５と、メモリセルアレイに対し、ページ毎にプログラムおよびベリファイを実行する書き込み制御回路１６と、ベリファイ結果のデータを保持するラッチ回路１０，１２と、ページを複数の領域に分割し、各領域のアドレスを順に選択するアドレス制御回路１５と、アドレス制御回路により選択される領域毎に、ラッチ回路に保持されたデータに従ってフェイルビット数をカウントし、フェイルビット数が許容ビット数以下であるか否かを判定するスキャンを実行するスキャン制御回路１４と、複数の領域のうちフェイルビット数が０であるノーフェイル領域のアドレスを保持するアドレスラッチ回路２０と、を具備する。【選択図】      図９
2011253593.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルが配置されたメモリセルアレイと、
前記メモリセルアレイに対し、ページ毎にプログラムおよびベリファイを実行する書き込み制御回路と、
前記ベリファイ結果のデータを保持するラッチ回路と、
前記ページを複数の領域に分割し、各前記領域のアドレスを順に選択するアドレス制御回路と、
前記アドレス制御回路により選択される前記領域毎に、前記ラッチ回路に保持された前記データに従ってフェイルビット数をカウントし、前記フェイルビット数が許容ビット数以下であるか否かを判定するスキャンを実行するスキャン制御回路と、
前記複数の領域のうち前記フェイルビット数が０であるノーフェイル領域のアドレスを保持するアドレスラッチ回路と、
を具備することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記アドレス制御回路により選択された前記領域のアドレスと、前記アドレスラッチ回路に保持された前記ノーフェイル領域のアドレスとを比較する比較回路と、
をさらに具備することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記スキャン制御回路は、前記比較回路による前記比較の結果、前記領域のアドレスと前記ノーフェイル領域のアドレスとが一致しない場合、前記領域のスキャンを実行し、前記領域のアドレスと前記ノーフェイル領域のアドレスとが一致する場合、前記領域のスキャンをスキップすることを特徴とする請求項２に記載の不揮発性半導体記憶装置。
【請求項４】
前記プログラム、ベリファイおよびスキャンは、繰り返し実行され、
ｋ＋１回目のスキャンにおいて前記アドレスラッチ回路に保持されている前記ノーフェイル領域のアドレスは、ｋ回目以前のスキャンにおいて前記アドレスラッチ回路に保持された前記ノーフェイル領域のアドレスである請求項３に記載の不揮発性半導体記憶装置。
【請求項５】
前記メモリセルアレイは、前記複数のメモリセルのうちのビット線方向に電流経路が直列接続された所定個のメモリセル、前記所定個のメモリセルの一端に接続された第１選択トランジスタ、および前記所定個のメモリセルの他端に接続された第２選択トランジスタで構成される複数のＮＡＮＤセルを有することを特徴とする請求項１乃至請求項３のいずれか１項に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性半導体記憶装置に関し、例えばＮＡＮＤ型フラッシュメモリにおける書き込み動作の制御に適用されるものである。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリなどの不揮発性半導体記憶装置において、ページ単位でデータの書き込みが行われる。しかし、ＮＡＮＤ型フラッシュメモリにおいて、一度の書き込み動作で全てのセルに正確にデータを書き込むことは困難である。ＮＡＮＤ型フラッシュメモリにおける書き込み動作は、（１）書き込み（プログラム）、（２）確認読み出し（ベリファイ）、（３）書き込みが終了していないセル（フェイルビット：fail bit）の探索およびカウント、の３つの工程に分けられる。
【０００３】
（１）から（３）の工程は、（３）の工程においてフェイルビット数が許容ビット数（フェイルビット数の許容数）以下になる、または書き込み回数が最大になるまで繰り返される。このような（３）の工程におけるフェイルビットの探索、カウントのことをスキャンと呼ぶ。通常、ＮＡＮＤ型フラッシュメモリのチップにおいて、高精度や高速度といった書き込み特性に応じて、複数種類のスキャン動作がある。
【０００４】
例えば、ビット単位でエラーを検出し、フェイルビット数を数えて許容ビット数以下であるかを判定する手法（ビットスキャン：bit scan）が提案されている。このビットスキャンは、一度にページ全体をスキャンし、ページ毎にフェイルビット数が許容ビット数以下であるか否かを判定する。
【０００５】
近年、微細化や多値化が進むにつれて、またはページ長が大きくなるにつれて、フェイルビット数が増加している。このため、許容ビット数の増加が望まれている。しかし、上述したビットスキャンでは、ページ全体でスキャン動作を行うため、許容ビット数の増加に限界がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１０２９４２号公報
【特許文献２】特開２００７−６６３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
書き込み動作におけるフェイルビットの許容数を増加し、かつ書き込み動作の高速化を図る不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【０００８】
本実施形態による不揮発性半導体記憶装置は、複数のメモリセルが配置されたメモリセルアレイと、前記メモリセルアレイに対し、ページ毎にプログラムおよびベリファイを実行する書き込み制御回路と、前記ベリファイ結果のデータを保持するラッチ回路と、前記ページを複数の領域に分割し、各前記領域のアドレスを順に選択するアドレス制御回路と、前記アドレス制御回路により選択される前記領域毎に、前記ラッチ回路に保持された前記データに従ってフェイルビット数をカウントし、前記フェイルビット数が許容ビット数以下であるか否かを判定するスキャンを実行するスキャン制御回路と、前記複数の領域のうち前記フェイルビット数が０であるノーフェイル領域のアドレスを保持するアドレスラッチ回路と、を具備する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るフラッシュメモリの全体構成例を示すブロック図。
【図２】図１におけるメモリセルアレイの一例を示す回路図。
【図３】本実施形態に係るフラッシュメモリの書き込み動作のフローチャート。
【図４】本実施形態に関連するフラッシュメモリの回路構成を示すブロック図。
【図５】本実施形態に係るフラッシュメモリにおけるゾーンを示すブロック図。
【図６】本実施形態に係るフラッシュメモリにおけるゾーンのフェイル情報を示す図。
【図７】本実施形態に関連するフラッシュメモリのゾーンビットスキャンのフローチャート。
【図８】本実施形態に関連するフラッシュメモリのゾーンビットスキャンの時間を示す図。
【図９】本実施形態に係るフラッシュメモリの回路構成を示すブロック図。
【図１０】本実施形態に係るフラッシュメモリのゾーンビットスキャンのフローチャート。
【図１１】本実施形態に係るフラッシュメモリのゾーンビットスキャンの時間を示す図。
【発明を実施するための形態】
【００１０】
本実施形態を以下に図面を参照して説明する。図面において、同一部分には同一の参照符号を付す。なお、本実施形態において、不揮発性半導体記憶装置として特にＮＡＮＤ型フラッシュメモリを例に説明するが、これに限らない。すなわち、本実施形態は、スキャン動作を実行する全ての不揮発性半導体記憶装置に適用されうる。
【００１１】
［全体構成例］
以下に図１および図２を用いて、本実施形態に係るフラッシュメモリの全体構成例について説明する。
【００１２】
図１は、本実施形態に係るフラッシュメモリのブロック図を示している。図１に示すように、不揮発性半導体記憶装置は、制御回路１、ロウデコーダ２、カラムデコーダ３、メモリセルアレイ５、およびセンスアンプＳ／Ａ６を備えている。
【００１３】
制御回路１は、書き込み時、消去時および読み出し時におけるメモリセルのゲート電極やワード線に供給する電圧を生成するとともに、外部より供給されたアドレスに応じて、ロウデコーダ２およびカラムデコーダ３、およびセンスアンプＳ／Ａを制御するように構成されている。
【００１４】
ロウデコーダ２は、制御回路１の制御に従い、ワード線ＷＬ０〜ＷＬ３１を選択するように構成されている。なお、ここでは、一例としてワード線ＷＬを３２本としたが、ワード線ＷＬの本数に関しては変更可能である。
【００１５】
カラムデコーダ３は、制御回路１の制御に従い、センスアンプＳ／Ａ６を介してビット線ＢＬ０〜ＢＬｍを選択するように構成されている。
【００１６】
メモリセルアレイ５は、複数のブロックを備えている。ここで、図１は、特にブロックBlock nを示している。ブロックBlock nは、ワード線ＷＬ０〜ＷＬ３１とビット線ＢＬ０〜ＢＬｍと、マトリクス状に配置された複数のメモリセルＭＣとを備えている。
【００１７】
センスアンプＳ／Ａ６は、カラムデコーダ３の制御に従い、ページごとにメモリセルＭＣからビット線ＢＬ０〜ＢＬｍに読み出されたデータを増幅するように構成されている。なお、センスアンプＳ／Ａ６は、カラムデコーダ３と一体であってもよい。
【００１８】
図２は、図１に示すメモリセルアレイ５およびカラムデコーダ３の回路構成を示している。図２において、メモリセルアレイ５は、破線で示すように、複数のブロックを備えている。各ブロックは、複数のＮＡＮＤセルにより構成され、このブロック単位でデータが消去される。
【００１９】
１つのＮＡＮＤセルは、チャネルが直列接続された例えば３２個のメモリセルＭＣ、第１選択トランジスタＳ１、および第２選択トランジスタＳ２により構成されている。第１選択トランジスタＳ１は、ソース線ＳＲＣに接続されている。第２選択トランジスタＳ２は、ビット線ＢＬ０に接続されている。各ロウに配置されたメモリセルの制御ゲートはワード線ＷＬ０〜ＷＬ３１に共通に接続されている。また、第１選択トランジスタＳ１は第１選択ゲートＳＧ１に共通に接続され、第２選択トランジスタＳ２は第２選択ゲートＳＧ２に共通に接続されている。
【００２０】
読み出し動作、書き込み動作時において、カラムデコーダ３より指定されたアドレス信号（ＹＡ１、ＹＡ２…ＹＡｍ）に応じて１ページ分ビット線が選択される。
【００２１】
［書き込み動作］
以下に図３を用いて、本実施形態に係るフラッシュメモリの書き込み動作について説明する。
【００２２】
図３は、本実施形態に係るフラッシュメモリの書き込み動作のフローチャートを示している。
【００２３】
図３に示すように、書き込み動作は主に、（１）書き込み（プログラム）、（２）確認読み出し（ベリファイ）、（３）フェイルビットの探索およびカウント（スキャン）、の３つの工程を含んでいる。
【００２４】
まず、ステップＳ１において、プログラムが実行される。具体的には、制御回路１が、ロウデコーダ２およびカラムデコーダ３を制御することにより、対象セルを選択し、選択された対象セルにプログラム電圧を印加する。この際、プログラムは、メモリセルアレイ５におけるページ毎に行われる。
【００２５】
次に、ステップＳ２において、ベリファイが実行される。具体的には、制御回路１が、ロウデコーダ２およびカラムデコーダ３を制御することにより、対象セルを選択し、選択された対象セルにベリファイ電圧を印加する。この際、ベリファイは、メモリセルアレイ５においてページ毎に行われる。また、メモリセルアレイ５からベリファイされたデータは、センスアンプＳ／Ａ６の後述するデータラッチ回路およびセンス回路に保持される。
【００２６】
次に、ステップＳ３において、センスアンプＳ／Ａ６に保持されたデータに基づいてスキャンが実行される。このスキャンについては、後述する。
【００２７】
次に、ステップＳ４において、スキャンの結果の判定が行われる。具体的には、スキャンの結果、フェイルビット数が許容ビット数以下の場合、書き込み成功（パス）として書き込み動作を終了する。
【００２８】
一方、スキャンの結果、フェイルビット数が許容ビット数より多い場合、さらに書き込み回数が判定される。すなわち、フェイルビット数が許容ビット数より多く、かつ書き込み回数が最大書き込み回数に達していない場合、ステップＳ１において再びプログラムが行われる。また、フェイルビット数が許容ビット数より多く、かつ書き込み回数が最大書き込み回数に達している場合、書き込み失敗（フェイル）として書き込み動作を終了する。
【００２９】
本実施形態は主に、ステップＳ３におけるスキャンに関するものである。以下に、本実施形態におけるスキャンについて説明する。
【００３０】
［ゾーンビットスキャン］
従来のＮＡＮＤ型フラッシュメモリにおけるスキャンにおいて、ページ毎にフェイルビット数を数えて、フェイルビット数が許容ビット数以下であるかを判定するビットスキャンが提案されていた。これに対し、本実施形態では、ページをある一定の領域（ゾーン：zone）に分割し、その領域毎にフェイルビットを数えて許容ビット数以下であるかを判定する方法（ゾーンビットスキャン：zone bit scan）を提案する。以下に図４乃至図８を用いて、ゾーンビットスキャンについて説明する。
【００３１】
図４は、本実施形態に関連するゾーンビットスキャンを実行するフラッシュメモリの回路構成のブロック図を示している。具体的には、図１に示す制御回路１、メモリセルアレイ５およびセンスアンプＳ／Ａ６の回路構成を示している。なお、図１に示すロウデコーダ２およびカラムデコーダ３は省略している。図５は、メモリセルアレイ５およびセンスアンプＳ／Ａ６におけるゾーンを示している。
【００３２】
図４に示すように、フラッシュメモリは、メモリセルアレイ５、センスアンプＳ／Ａ６、および制御回路１を備えている。
【００３３】
センスアンプＳ／Ａ６は、センス回路１０、演算回路１１、およびデータラッチ回路１２を備えている。
【００３４】
センス回路１０およびデータラッチ回路１２は、メモリセルアレイ５から確認読み出し（ベリファイ）された結果のデータを保持する。
【００３５】
演算回路１１は、センス回路１０およびデータラッチ回路１２に保持されたデータからフェイルビット数を計算し、後述するフェイルカウント回路１３にフェイルビット数を転送する。また、演算回路１１は、フェイル情報に関するフェイルフラグを後述するスキャン制御回路１４に転送する。
【００３６】
ところで、図５に示すように、ゾーンビットスキャンでは、ページをある一定の領域に分割し、分割された各領域を１つのゾーンとしている。ここでは、ページを８つのゾーン（例えば、ゾーン０〜７）に分割した例を示している。また、１つのゾーン（ゾーンl）は複数のカラム（例えば、カラムｎ〜ｎ＋３）を有している。ゾーンビットスキャンにおいて、書き込み動作や読み出し動作はページ全体に一括で行われるが、スキャン動作はゾーン毎に行われる。すなわち、ゾーンビットスキャンにおいて、演算回路１１は、選択ゾーンのフェイルビット数のみをフェイルカウント回路１３に転送し、後述するスキャン制御回路１４でフェイルビット数が許容ビット数以下であるかの判定が行われる。
【００３７】
制御回路１は、フェイルカウント回路１３、スキャン制御回路１４、ゾーンアドレス制御回路１５、および書き込み制御回路１６を備えている。
【００３８】
フェイルカウント回路１３は、演算回路１１から転送されたフェイルビット数を累積する。
【００３９】
スキャン制御回路１４は、スキャン動作を実行する。具体的には、スキャン制御回路１４は、演算回路１１から転送されたフェイルフラグに従い、ゾーン毎にフェイルカウント回路１３に累積されたフェイルビット数をカウントし、フェイルビット数が許容ビット数以下であるか否か（パスかフェイルか）を判定する。選択ゾーンのスキャンが終了すると、スキャン制御回路１４は、ゾーンインクリメント信号をゾーンアドレス制御回路１５に出力する。
【００４０】
ゾーンアドレス制御回路１５は、スキャンを行うゾーンを順に選択する。具体的には、スキャン開始の際に初期ゾーンを選択したり、スキャン制御回路１４からのゾーンインクリメント信号を受信して次にスキャンするゾーンを選択したりする。
【００４１】
書き込み制御回路１６は、図示せぬカラムデコーダおよびロウデコーダを介して、メモリセルアレイ５に対してページ毎にプログラムおよびベリファイを実行する。
【００４２】
図６は、演算回路１１の１つのゾーンにおけるフェイル情報であるフラグを示している。図６に示すように、スキャンが開始されると、各カラムが持っているフェイル情報であるフラグがセットされる。カラムがパスであればフラグは“０”であり、カラムがフェイルであればフラグは“１”である。具体的には、図６において、カラムｎ，ｎ＋２，ｎ＋３はパスであるためフラグが“０”であり、カラムｎ＋１はフェイルであるためフラグが“１”である。
【００４３】
ゾーン内の全てのカラム（ここでは、カラムｎ〜ｎ＋３）のフラグのＯＲをとったものがフェイルフラグである。すなわち、カラムｎ〜ｎ＋３のフラグのうち、１つでも“１”があれば、そのゾーンのフェイルフラグは“１”となる。このフェイルフラグが“１”のとき、スキャン制御回路１４は、ゾーン内に“フェイル有り”と判定してフェイルビットの探索およびカウントを始める。
【００４４】
図６に示すように、ゾーンビットスキャンでは、ゾーン毎に、フラグが“１”であるカラムが探索され、フラグが“１”であるカラムからフェイルビット数がフェイルカウント回路１３へ転送される。フェイルビット数が転送されたカラムのフラグは“０”になり、このカラムは次の探索から除外される。この動作を繰り返してフェイルカウント回路１３にフェイルビット数が累積され、フェイルビット数が許容ビット数を超える、または全てのカラムのフラグが“０”（フェイルフラグが“０”）になるまで続けられる。なお、ここで、カラムのフラグが“０”になるとは、実際にフェイルがなくなるわけではなく、カラムのフェイルビット数が転送され、カウントされたことを意味する。
【００４５】
ゾーンビットスキャンにおいて、カラムのフラグ“１”のセットは選択ゾーン内のみに行われ、非選択ゾーン内のカラムのフラグは“０”になるように制御される。これにより、選択ゾーンのフェイルビット数のみをカウントすることができる。
【００４６】
図７は、本実施形態に関連するゾーンビットスキャンのフローチャートを示している。なお、このゾーンビットスキャンは、図３におけるステップＳ３に対応する工程である。すなわち、プログラムが実行され（ステップＳ１）、ベリファイが実行され（ステップＳ２）、データラッチ回路１２およびセンス回路１０にメモリセルアレイ５からのベリファイデータが保持されていることを前提とする。
【００４７】
図７に示すように、まず、ステップＳ５において、スキャンされる初期ゾーンが選択される。
【００４８】
次に、ステップＳ６において、フェイル情報であるフラグがセットされる。この際、フラグ“１”のセットは選択ゾーン内のカラムのみに行われ、非選択ゾーン内のカラムのフラグは“０”になるように制御される。これにより、選択ゾーン内のフラグのＯＲをとって、フェイルフラグが立てられる。
【００４９】
次に、ステップＳ７において、フェイルフラグが“１”である（選択ゾーン内にフェイルが有る）か否か判定される。
【００５０】
ステップＳ７においてフェイルフラグが“１”ではない（“０”である）場合、ステップＳ１０において選択ゾーンが最終ゾーンであるか否か判定される。
【００５１】
一方、ステップＳ７においてフェイルフラグが“１”である場合、ステップＳ８において選択ゾーン内のフェイルビット数がカウントされ、ステップＳ９においてフェイルビット数が許容ビット数以下であるか否か判定される。
【００５２】
ステップＳ９においてフェイルビット数が許容ビット数以下ではない場合（フェイルビット数が許容ビット数を超えた場合）、スキャン動作は終了する。
【００５３】
一方、ステップＳ９においてフェイルビット数が許容ビット数以下である場合、ステップＳ１０において選択ゾーンが最終ゾーンであるか否か判定される。
【００５４】
ステップＳ１０において選択ゾーンが最終ゾーンではない場合、ステップＳ１１においてゾーンインクリメント信号が出力され、スキャンされる次のゾーンが選択される。その後、ステップＳ６において、フェイル情報であるフラグがセットされる。
【００５５】
一方、ステップＳ１０において選択ゾーンが最終ゾーンである場合、スキャン動作は終了する。
【００５６】
上述したように、ページ毎にスキャンを実行するビットスキャンに対して、ゾーンビットスキャンはページをある一定の領域（ゾーン）に分割し、その領域毎にスキャンを実行する。ゾーンビットスキャンは、ゾーン毎にフェイルビット数を数えるため、ページ全体においてビットスキャンよりも許容ビット数を増やすことができる。しかし、図８に示すように、１つのゾーンをスキャンするために、ページ全体をスキャンするビットスキャンと同程度の時間が必要である。このため、ゾーンビットスキャンにおいて、「ビットスキャンの時間×ゾーン数（ここでは、ｔ１×８＝ｔ８）」の時間がかかってしまう。
【００５７】
ゾーンビットスキャンにおいて、選択ゾーンのフェイルビット数が許容ビット数以下である場合、選択ゾーンを１つずらして次の選択ゾーンのフェイルビット数を同様にカウントしていく。このように、選択ゾーンのフェイルビット数が許容ビット数を超えるか、または選択ゾーンが最終ゾーンに達したらスキャンが終了し、その後、再びプログラムおよびベリファイが行われる。プログラム回数が進むにつれてフェイルビット数は減少し、フェイルが０のゾーン（ノーフェイルゾーン：no fail zone）がでてくる。通常の手法では、全てのゾーンをスキャンの対象にしているので、フェイルが０のゾーンもスキャンしている。このため、余分なスキャン時間がかかっている。
【００５８】
近年、微細化や多値化が進み、さらにページ長が大きくなるにつれて、フェイルビット数が増加している。このため、許容ビット数を増やす必要があり、ゾーンビットスキャンの重要性が増している。ゾーンビットスキャンにおけるゾーンの幅は、フラッシュメモリのチップ毎に設定できる。この際、ゾーンを大きくすれば全体のスキャン時間を短縮できるが許容ビット数を増加することができず、一方、ゾーンを小さくすれば許容ビット数を増加することができるがスキャン時間が短縮できない、という問題が生じている。
【００５９】
［実施形態］
本実施形態は、許容ビット数を増加するゾーンビットスキャンにおいて、時間の短縮を図るスキャン動作を提案する。以下に図９乃至図１１を用いて、本実施形態に係るゾーンビットスキャンについて説明する。なお、本実施形態のゾーンビットスキャンにおいて、上述したゾーンビットスキャンと同様の点については説明を省略し、異なる点について説明する。
【００６０】
図９は、本実施形態に係るゾーンビットスキャンを実行するフラッシュメモリの回路構成のブロック図を示している。具体的には、図１に示す制御回路１、メモリセルアレイ５およびセンスアンプＳ／Ａ６の回路構成を示している。なお、図１に示すロウデコーダ２およびカラムデコーダ３は省略している。
【００６１】
図９に示すように、フラッシュメモリは、メモリセルアレイ５、センスアンプＳ／Ａ６、および制御回路１を備えている。
【００６２】
センスアンプＳ／Ａ６は、センス回路１０、演算回路１１、およびデータラッチ回路１２を備えている。
【００６３】
センス回路１０およびデータラッチ回路１２は、メモリセルアレイ５から確認読み出し（ベリファイ）されたデータを保持する。
【００６４】
演算回路１１は、センス回路１０およびデータラッチ回路１２に保持されたデータからフェイルビット数を計算し、後述するフェイルカウント回路１３にフェイルビット数を転送する。また、演算回路１１は、フェイル情報に関するフェイルフラグを後述するスキャン制御回路１４に転送する。
【００６５】
制御回路１は、フェイルカウント回路１３、スキャン制御回路１４、ゾーンアドレス制御回路１５、書き込み制御回路１６、ゾーンアドレスラッチ回路２０、および比較回路２１を備えている。
【００６６】
フェイルカウント回路１３は、演算回路１１から転送されたフェイルビット数を累積する。
【００６７】
スキャン制御回路１４は、スキャン動作を実行する。具体的には、スキャン制御回路１４は、演算回路１１から転送されたフェイルフラグに従い、フェイルカウント回路１３に累積されたフェイルビット数をカウントし、フェイルビット数が許容ビット数以下であるか否か（パスかフェイルか）判定する。このスキャン動作が終了すると、スキャン制御回路１４は、ゾーンインクリメント信号を出力する。
【００６８】
ゾーンアドレス制御回路１５は、スキャンを行うゾーンを順に選択する。具体的には、スキャン開始の際に初期ゾーンを選択したり、スキャン制御回路１４からのゾーンインクリメント信号を受信して次にスキャンするゾーンを選択したりする。
【００６９】
書き込み制御回路１６は、図示せぬカラムデコーダおよびロウデコーダを介して、メモリセルアレイ５に対してページ毎にプログラムおよびベリファイを実行する。
【００７０】
本実施形態におけるフラッシュメモリにおいて、上記フラッシュメモリと異なる点は、制御回路１がゾーンアドレスラッチ回路２０および比較回路２１を備えている点である。ゾーンアドレスラッチ回路２０および比較回路２１について、以下に詳説する。
【００７１】
スキャン制御回路１４は、スキャン開始時に演算回路１１から転送された選択ゾーンのフェイルフラグが“０”である場合、選択ゾーンがノーフェイルゾーンであると判定し、ラッチイネーブル信号をゾーンアドレスラッチ回路２０へ出力する。
【００７２】
ゾーンアドレスラッチ回路２０は、スキャン制御回路１４からのラッチイネーブル信号を受信し、ノーフェイルゾーンである選択ゾーンのアドレスを保持する。この保持されたゾーンアドレスは、次回以降のスキャンにおいて利用される。ゾーンアドレスラッチ回路２０は、「ゾーン数−１」個のラッチを備えている。これは、フェイルビット数が許容ビット数を超えるゾーンが１つでもあればスキャンが実行されるため、最大で「ゾーン数−１」個のアドレスがゾーンアドレスラッチ回路２０に保持されうるからである。
【００７３】
比較回路２１は、ゾーンアドレスラッチ回路２０に保持されているゾーンアドレスと、ゾーンアドレス制御回路１５から転送されてくる現在選択されているゾーンアドレスと、を比較する。ここで、ゾーンアドレスラッチ回路２０に保持されているゾーンアドレスは、以前のスキャンにおいて保持されたノーフェイルゾーンのアドレスである。これらが一致していれば、ゾーンアドレスラッチ回路２０は、マッチ信号をスキャン制御回路１４へ出力する。スキャン制御回路１４は、マッチ信号を受信すると、現在選択されているゾーンはノーフェイルゾーンであると判定する。そして、スキャン制御回路１４は、ゾーンアドレスインクリメント信号をゾーンアドレス制御回路に出力し、選択ゾーンのスキャンをスキップする。一方、ゾーンアドレスラッチ回路２０に保持されているゾーンアドレスと、ゾーンアドレス制御回路１５から転送されてくる現在選択されているゾーンアドレスとが一致しない場合、スキャン制御回路１４は選択ゾーンのスキャンを実行する。
【００７４】
図１０は、本実施形態に係るゾーンビットスキャンのフローチャートを示している。
【００７５】
図１０に示すように、まず、ステップＳ１２において、スキャンされる初期ゾーンが選択される。
【００７６】
次に、ステップＳ１３において、選択ゾーンがノーフェイルゾーンであるか否かを判定される。具体的には、ゾーンアドレスラッチ回路２０に保持されているゾーンアドレスと、現在選択されているゾーンアドレスとを比較し、これらが一致するか否かを判定する。ここで、ゾーンアドレスラッチ回路２０に保持されているゾーンアドレスは、以前の書き込み動作におけるスキャンにおいて、ノーフェイルゾーンであると判定されたゾーンアドレスである。
【００７７】
ステップＳ１３において選択ゾーンがノーフェイルゾーンである場合、ステップＳ１８において選択ゾーンが最終ゾーンであるか否か判定される。すなわち、選択ゾーンがノーフェイルゾーンであると判定されれば、それ以降のスキャン動作はスキップされる。
【００７８】
一方、ステップＳ１３において選択ゾーンがノーフェイルゾーンではない場合、ステップＳ１４においてフェイル情報であるフラグがセットされ、ステップＳ１５において選択ゾーンのフェイルフラグが“１”である（ゾーン内にフェイルが有る）か否か判定される。
【００７９】
ステップＳ１５においてフェイルフラグが“１”ではない（“０”である）場合、ステップＳ１９において選択ゾーンがノーフェイルゾーンであるとして登録される。具体的には、ゾーンアドレスラッチ回路２０にノーフェイルゾーンである選択ゾーンのアドレスが保持される。このアドレスデータは、以後の書き込み動作におけるスキャンにおいて利用される。その後、ステップＳ１８において選択ゾーンが最終ゾーンであるか否か判定される。
【００８０】
一方、ステップＳ１５においてフェイルフラグが“１”である場合、ステップＳ１６において選択ゾーン内のフェイルビット数がカウントされ、ステップＳ１７においてフェイルビット数が許容ビット数以下であるか否か判定される。
【００８１】
ステップＳ１７においてフェイルビット数が許容ビット数以下ではない場合（フェイルビット数が許容ビット数を超えた場合）、スキャン動作は終了する。
【００８２】
一方、ステップＳ１７においてフェイルビット数が許容ビット数以下である場合、ステップＳ１８において選択ゾーンが最終ゾーンであるか否か判定される。
【００８３】
ステップＳ１８において選択ゾーンが最終ゾーンではない場合、ステップＳ２０においてゾーンインクリメント信号が出力され、スキャンされる次のゾーンが選択される。その後、ステップＳ１３において、選択ゾーンがノーフェイルゾーンであるか否かを判定する。
【００８４】
一方、ステップＳ１８において選択ゾーンが最終ゾーンである場合、スキャン動作は終了する。
【００８５】
なお、選択ゾーンのスキャン（フェイルカウント）が終了すると、選択ゾーンのフェイルフラグは見かけ上“０”になる。しかしながら、ノーフェイルゾーンである場合のアドレスの登録は、ステップＳ１６のフェイルカウント前のステートで行われる。このため、フェイルカウント後にフェイルフラグが見かけ上“０”になってもノーフェイルゾーンであるとしてアドレスの登録は行われない。
【００８６】
［効果］
上記実施形態によれば、フラッシュメモリは、ノーフェイルゾーンであるゾーンのアドレスを保持するゾーンアドレスラッチ回路２０、およびゾーンアドレスラッチ回路２０に保持されているゾーンアドレスと現在選択されているゾーンアドレスとを比較する比較回路２１を備えている。スキャン制御回路１４は、比較回路２１による比較の結果、ゾーンアドレスが一致していれば、選択ゾーンのスキャンをスキップする。すなわち、ある書き込み回数ｋにおいてノーフェイルゾーンのアドレスを保持しておき、書き込み回数ｋ＋１以降においてそのゾーンのスキャンがスキップされる。これにより、図１１に示すように、フェイルが０のゾーン（ノーフェイルゾーン）のスキャンがスキップされ、ノーフェイルゾーンに対する余分なスキャンを省略でき、時間を短縮することができる。
【００８７】
また、書き込み回数が進むにつれて、スキップされるノーフェイルゾーンは増加していく。このため、トータルの書き込み時間を大幅に短縮することができる。したがって、本実施形態によれば、上述したゾーンビットスキャンを実行することで、フェイルビットの許容数を増加し、かつ書き込み動作の高速化を図ることができる。
【００８８】
その他、本発明は、上記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００８９】
５…メモリセルアレイ、１０…センス回路、１２…データラッチ回路、１４…スキャン回路、１５…ゾーンアドレス制御回路、１６…書き込み制御回路、２０…ゾーンアドレスラッチ回路、２１…比較回路。
【図１】
2011253593.tif 000003
【図２】
2011253593.tif 000004
【図３】
2011253593.tif 000005
【図４】
2011253593.tif 000006
【図５】
2011253593.tif 000007
【図６】
2011253593.tif 000008
【図７】
2011253593.tif 000009
【図８】
2011253593.tif 000010
【図９】
2011253593.tif 000011
【図１０】
2011253593.tif 000012
【図１１】
2011253593.tif 000013