(57)【要約】【課題】多値メモリセルの利便性及び性能を向上させる。【解決手段】１つのメモリセルに２ビット以上の情報を異なるページとして記憶することが可能な複数の多値メモリセルが配列されたメモリセルアレイと、メモリセルアレイから読み出されたデータを一時的に保持する複数のデータレジスタ回路と、複数のデータレジスタ回路のデータ状態を取り出す手段と、多値メモリセルにおける各々のページの各々の閾値電圧の状態に対応した複数の許容データ状態数を記憶した許容数設定レジスタと、複数の許容データ状態数より前記データレジスタ回路に保持されたデータの多値メモリセルのページに対応する許容データ状態数を選択する選択回路と、データレジスタ回路に保持されたデータ状態数と、前記選択回路により選択された許容データ状態数との比較を行なう比較回路と、を備えたことを特徴とする半導体記憶装置提供することにより課題を解決する。【選択図】図１０
2008198337.tif 000002
【特許請求の範囲】
【請求項１】
１つのメモリセルに２ビット以上の情報を異なるページとして記憶することが可能な複数の多値メモリセルが配列されたメモリセルアレイと、
前記メモリセルアレイから読み出されたデータを一時的に保持する複数のデータレジスタ回路と、
前記複数のデータレジスタ回路のデータ状態を取り出すデータ状態取り出し部と、
前記多値メモリセルにおける各々のページの各々の閾値電圧の状態に対応した複数の許容データ状態数を記憶した許容数設定レジスタと、
前記複数の許容データ状態数より前記データレジスタ回路に保持されたデータの多値メモリセルのページに対応する許容データ状態数を選択する選択回路と、
前記データレジスタ回路に保持されたデータ状態数と、前記選択回路により選択された許容データ状態数との比較を行なう比較回路と、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
前記半導体記憶装置のメモリセルアレイにおける情報の書き込みのための電圧印加終了後に、前記比較回路において比較を行なうことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記選択回路は、前記ページにおける各々の閾値電圧の状態に対応する許容データ状態数を選択することを特徴とする請求項１に記載の半導体記憶装置。
【請求項４】
前記選択回路と接続された選択信号生成回路を有し、
前記選択信号生成回路において生成した選択信号に基づき前記選択回路において、許容データ状態数を選択することを特徴とする請求項１に記載の半導体装置。
【請求項５】
前記ページごとに得られた完全パス、擬似パス、フェイルの状態を記憶するステータスレジスタを備えていることを特徴とする請求項１に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関するものであり、特に、擬似パス機能を有した半導体記憶装置に関するものである。
【背景技術】
【０００２】
半導体記憶装置であるＮＡＮＤ型フラッシュメモリにおいては、ページ単位でデータの書き込みを行うことや、ページ単位或いは複数ページ単位の消去動作を行うことにより、実効的に書き込み速度や消去速度を向上させている。ページ単位の書き込み動作においては、書き込みデータをシリアルに入力して１ページ分のレジスタに入力した後、書き込みパルス印加動作とベリファイ読み出し動作とを行い、ページ内のデータのすべてが書き込みできるまで、書き込みパルス印加動作とベリファイ読み出し動作が繰り返される。このためページ内のすべてのレジスタからベリファイ読み出し後のデータを読み出す必要があり、時間を要していた。この点に鑑み、引用文献１にはベリファイ読み出し結果が全部パスしたか否かだけではなく、フェイル数を高速に検出する方法に関する発明が開示されている。
【０００３】
一方、半導体記憶装置であるＮＡＮＤ型フラッシュメモリを使用する場合には、十分な信頼性を保証するためにＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  ａｎｄ  Ｃｏｒｒｅｃｔｉｎｇ）によるビットエラーの検出・訂正が有効である。例えば、多値ＮＡＮＤ型フラッシュメモリを使用している標準的なシステムでは、ページあたり４シンボルのビットエラーの検出・訂正が可能なＥＣＣが搭載されている。
【０００４】
ところで、ＮＡＮＤ型フラッシュメモリの高集積化、大容量化が進んでいるが、高集積化、大容量化が進んだＮＡＮＤ型フラッシュメモリでは、あるメモリセルの閾値が突発的に高くなり、正しくデータを書き込めなくなるといった現象や、或いは正しくデータを消去できなくなるといった現象が昨今確認されている。このような現象は、いわゆる「突発的なビット化け」という言葉で称されている。
【０００５】
多値ＮＡＮＤ型フラッシュメモリにおいては、「突発的なビット化け」をある程度まで許容した上で信頼性の保証を行なった方がコスト的に有利であると考えられており、この考えに基づき「擬似パス機能」が開発された。この「擬似パス機能」は、チップ内部の書き込みシーケンス又はチップ内部の消去シーメンス終了時に、１ビット、２ビットといったビットエラーが発生していても、ステータスとしてはパスを返す手法である。この手法によりチップ内部の書き込みシーケンス又はチップ内部の消去シーメンス終了時にビットエラーが発生していても、読み出し時には、システム或いはフラッシュコントローラにおいて、ＥＣＣが実行されるため、ビットエラーが訂正可能なビット数の範囲であれば支障がない。しかしながら、「擬似パス機能」を有したＮＡＮＤ型フラッシュメモリは、書き込み速度又は消去速度が低下し、その結果ＮＡＮＤ型フラッシュメモリを用いている電子機器システムのパフォーマンスが低下しやすいといった問題点があった。この点に鑑み、引用文献２ではこのようなパフォーマンスの低下を抑制した発明が開示されている。
【０００６】
更に、引用文献３では、半導体記憶装置において微細化に伴うデータ信頼性の向上を目的として、ページと呼ばれるデータ単位（一般的には、２ｋＢｙｔｅ＋冗長カラム）とメモリセルの物理書き込みデータ順に書き込む方法の発明が開示されている。
【特許文献１】特開２００２−１４０８９９号公報
【特許文献２】特開２００６−１３４４８２号公報
【特許文献３】特開２００４−１９２７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、ページごとに擬似パスの許容数を設定した擬似パスアルゴリズムにより、多値メモリセルにおける利便性を向上させ、また、性能を向上させた半導体記憶装置を提供するものである。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る半導体記憶装置は、１つのメモリセルに２ビット以上の情報を異なるページとして記憶することが可能な複数の多値メモリセルが配列されたメモリセルアレイと、前記メモリセルアレイから読み出されたデータを一時的に保持する複数のデータレジスタ回路と、前記複数のデータレジスタ回路のデータ状態を取り出すデータ状態取り出し部と、前記多値メモリセルにおける各々のページの各々の閾値電圧の状態に対応した複数の許容データ状態数を記憶した許容数設定レジスタと、前記複数の許容データ状態数より前記データレジスタ回路に保持されたデータの多値メモリセルのページに対応する許容データ状態数を選択する選択回路と、前記データレジスタ回路に保持されたデータ状態数と、前記選択回路により選択された許容データ状態数との比較を行なう比較回路と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ページごとに擬似パスの許容数を設定した擬似パスアルゴリズムにより、多値メモリセルにおいて、利便性の向上、及び、性能の向上をさせることができる。
【発明を実施するための最良の形態】
【００１０】
〔第１の実施の形態〕
本発明における第１の実施の形態を以下に記載する。
【００１１】
図１は、本実施の形態によるＮＡＮＤ型フラッシュメモリの機能ブロック構成を示し、図２はそのメモリコア部のセルアレイ構成を示している。セルアレイ１は、図２に示すように、複数の電気的書き換え可能な複数の不揮発性メモリセル（図の例では３２個のメモリセル）Ｍ０−Ｍ３１が直列接続されたＮＡＮＤセルユニット（ＮＡＮＤストリング）ＮＵを配列して構成される。
【００１２】
ＮＡＮＤセルユニットＮＵの一端は、選択ゲートトランジスタＳ１を介してビット線ＢＬｏ（奇数番）、ＢＬｅ（偶数番）に、他端は選択ゲートトランジスタＳ２を介して共通ソース線ＣＥＬＳＲＣに接続される。メモリセルＭ０−Ｍ３１の制御ゲートはそれぞれワード線ＷＬ０−ＷＬ３１に接続され、選択ゲートトランジスタＳ１、Ｓ２のゲートは選択ゲート線ＳＧＤ、ＳＧＳに接続される。
【００１３】
ワード線方向に配列されるＮＡＮＤセルユニットの集合が、データ消去の最小単位となるブロックを構成し、図示のようにビット線の方向に複数のブロックＢＬＫ０−ＢＬＫｎが配置される。
【００１４】
ビット線ＢＬｅ、ＢＬｏの一端側に、セルデータの読み出し及び書き込みに供させるセンスアンプ回路２が配置され、ワード線の一端側にワード線及び選択ゲート線の選択駆動を行うロウデコーダ２が配置される。図２では、隣接する偶数番ビット線ＢＬｅと奇数番ビット線ＢＬｏのいずれかがビット線選択回路の選択信号ＳＥＬｅ、ＳＥＬｏにより選択的にセンスアンプ回路３の各センスアンプＰＢに接続される場合を示している。すなわち、各センスアンプＰＢは、偶数番ビット線ＢＬｅとこれに隣接する奇数番ビット線ＢＬｏとで共有される。これは、セルアレイ１の微細化により、ビット線ピッチ毎にセンスユニットを配置することが困難であること、及び、隣接ビット線間の容量結合ノイズが大きくなることを考慮した結果である。偶数番ビット線ＢＬｅと奇数番ビット線ＢＬｏは、その一方が選択される時に他方をシールド線として用いることにより、ビット線間容量結合ノイズの影響を低減することができる。この実施の形態では、一つのワード線と全偶数番ビット線により選択されるメモリセルの集合が第１ページ（偶数ページ）を構成し、同ワード線と全奇数ビット線により選択されるメモリセルの集合が第２ページ（奇数ページ）を構成する。各ページが同時にデータ読み出し及び書き込みが行われる単位である。
【００１５】
コマンド、アドレス及びデータは、入力バッファ１２を介して入力され、チップイネーブル信号ＣＥｎｘ、書き込みイネーブル信号ＷＥｎｘ、読み出しイネーブル信号ＲＥｎｘ等の外部制御信号は、入力バッファ１１を介して入力される。コマンドは、コマンドデコーダ１３でデコードされて、内部制御回路であるステートマシン８に送られる。
【００１６】
ステートマシン８の制御プログラムの一部若しくは全部は、ＲＯＭ回路９に保持されており、電源投入時、電源オン検知回路１０が電源オンを検知すると、ステートマシン８に制御プログラムが転送され、各種動作制御が行われる。
【００１７】
アドレスは、アドレスバッファ１４を介し、コントロールレジスタ７ａ、７ｂを介してロウデコーダやカラムゲートに転送される。書き込みデータは、データバッファ１５を介して、センスアンプ回路３にロードされ、センスアンプ回路３の読み出しデータはデータバッフア１６を介して、外部に出力される。
【００１８】
各動作モードに応じて必要とされる高電圧を発生するために、高電圧発生回路４が設けられている。高電圧発生回路４は、ステートマシン８からコントロールレジスタ６を介して与えられる指令に基づいて所定の高電圧を発生する。
【００１９】
センスアンプ回路３に付属して、データ書き込み時センスアンプ回路３内のデータラッチのデータに基づいてベリファイ判定を行うためのベリファイ判定回路５が設けられている。ステートマシン８は、ベリファイ判定回路５の出力であるパス／フェイルフラグを監視して、書き込みシーケンス制御を行う。また、ステートマシン８には、レジスタ２０が設けられており、後述するベリファイ用フラッグが記憶されている。
【００２０】
図３は、センスアンプ回路３の一つのセンスアンプＰＢの構成例を示している。センスノードＮｓｅｎとビット線ＢＬの間に配置されたＮＭＯＳトランジスタＱ１は、ビット線ＢＬのプリチャージ電圧をクランプする働きと、ビット線電圧を増幅するプリセンスアンプとしての働きをする。センスノードＮｓｅｎには、プリチャージ用ＮＭＯＳトランジスタＱ２が接続され、また必要に応じて電荷保持用のキャパシタＣ１が接続される。
【００２１】
センスノードＮｓｅｎは、転送用ＮＭＯＳトランジスタＱ３を介してデータラッチＬＡＴ１の一方のデータノードＮ１に接続されている。データノードＮ１とセンスノードＮｓｅｎの間には、読み出しデータを一時記憶するためのデータ記憶回路ＤＳが設けられている。ドレインが電圧端子ＶＲＥＧに接続されたＮＭＯＳトランジスタＱ４のゲートがデータ記憶ノードＮＲである。この記憶ノードＮＲとデータラッチＬＡＴ１のデータノードＮ１の間に、データ転送用ＮＭＯＳトランジスタＱ６が配置されている。また記憶ノードＮＲが保持するデータに応じて、センスノードＮｓｅｎに電圧ＶＲＥＧを転送するために、ＮＭＯＳトランジスタＱ４とセンスノードＮｓｅｎの間にＮＭＯＳトランジスタＱ５が配置されている。
【００２２】
データ記憶回路ＤＳは、書き込み時に前サイクルの書き込みデータを保持して、ベリファイ読み出し動作において、“０”書き込み不十分のセルについてのみ、“０”データをデータラッチＬＡＴ１に書き戻すための書き戻し回路として用いられる。言い換えれば、１ページの全ビットの書き込みが完了したときに、データラッチＬＡＴ１がオール“１”データ状態になるように、制御される。
【００２３】
データノードＮｓｅｎには、転送用ＮＭＯＳトランジスタＱ７を介してデータキャッシュを構成する、もう一つのデータラッチＬＡＴ２が接続されている。データラッチＬＡＴ１とＬＡＴ２の間では、１ページの読み出し／書き込みデータが同時に転送される。データラッチＬＡＴ２のデータノードＮ１１、Ｎ１２は、カラム選択信号ＣＳＬｉにより制御されるカラム選択ゲートＱ１１、Ｑ１２を介して相補データ線ＤＬ、ＤＬｎに接続されている。
【００２４】
図４はメモリセルＭＣの断面構造を示し、図５は選択ゲートＳ１及びＳ２の断面構造を示している。基板４１にはメモリセルＭＣを構成するＭＯＳＦＥＴのソース、ドレインとして機能するｎ型拡散層４２が形成されている。また基板４１の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。
【００２５】
選択ゲートＳ１、Ｓ２は、基板４１と、この基板４１に形成されたソース、ドレインとしてのｎ型拡散層４７を備えている。基板４１の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００２６】
図６は、メモリセルアレイの１つのＮＡＮＤセルの断面を示している。この例において、１つのＮＡＮＤセルは、図４に示す構成の３２個のメモリセルＭＣが直列接続されて構成されている。ＮＡＮＤセルのドレイン側、ソース側には、図５に示す構成の第１の選択ゲートＳ１、Ｓ２が設けられている。
【００２７】
次に本実施の形態におけるＮＡＮＤセルの動作について説明する。
【００２８】
図７は、メモリセルのデータとメモリセルの閾値電圧との関係を示している。図７（ａ）に示すように、消去動作を行なった後、第１ページにデータの書き込みを行なうと、図７（ｂ）に示すように、メモリセルにおいては、データ「０」とデータ「２＊」の状態が形成される。この後、第２ページにデータの書き込みを行なうと、図７（ｃ）に示すように、メモリセルにおいては、４値記憶本来の閾値電圧を有するデータ「０」、データ「１」、データ「２」、データ「３」の状態が形成される。本実施の形態では、このような４値記憶について説明する。
【００２９】
図８は、本実施の形態におけるＮＡＮＤ型フラッシュメモリ５１とメモリコントローラであるフラッシュコントローラ５３との関係を示す。図８に示すように、フラッシュコントローラ５３は、外部ホスト等のシステムからの要求に従い、ＮＡＮＤ型フラッシュメモリ５１をアクセスし、データの読み出し、データの書き込み及びデータの消去等を行い、ＮＡＮＤ型フラッシュメモリ５１を制御する。
【００３０】
ＮＡＮＤ型フラッシュメモリ５１は、制御ピンと入出力ピンとを有している。制御ピンは、フラッシュコントローラ５３からの制御信号を受信するためのピンであり、入出力ピンは、フラッシュコントローラ５３とＮＡＮＤ型フラッシュメモリ５１との間の受送信、即ち、フラッシュコントローラ５３からのコマンドの受信、及びフラッシュコントローラ５３へのステータスの送信を行なうためのピンである。本実施の形態では、制御ピンとして／ＣＥ（チップイネーブル）、ＡＬＥ（アドレスラッチイネーブル）、ＣＬＥ（コマンドラッチイネーブル）、／ＷＥ（ライトイネーブル）、／ＲＥ（リードイネーブル）、ＲＢ（レディ・ビジー）、／ＷＰ（ライトプロテクト）を有し、入出力ピンとしてＩＯ［７：０］を有している。これらの制御ピン及び入出力ピンは、ＮＡＮＤ型フラッシュメモリ５１とフラッシュコントローラ５３とを接続している。また、ＮＡＮＤ型フラッシュメモリ５１は内部にＲＯＭヒューズ（ＲＯＭ  ｆｕｓｅ）５５を有しており、擬似パスの許容数等を記憶する。ＲＯＭヒューズ５５は、後述するメモリセルアレイ中のメモリセルと同じ構造を持つメモリセルにより形成されるが、メモリセルアレイ中に形成してもメモリセルアレイとは別の領域に形成してもよい。
【００３１】
図９には、ＲＯＭヒューズ５５におけるＲＯＭヒューズレジスタのレジスタマップの構成を示す。レジスタマップでは、アドレス（ａｄｄｒｅｓｓ）に対応して後述する選択回路の入力信号であるレジスタ出力信号ＢＳＰＦ＿Ｌ、ＢＳＰＦ＿Ｕ１、ＢＳＰＦ＿Ｕ２、ＢＳＰＦ＿Ｕ３の情報が記憶されている。尚、ＢＳＰＦ＿Ｌ、ＢＳＰＦ＿Ｕ１、ＢＳＰＦ＿Ｕ２、ＢＳＰＦ＿Ｕ３、後述するＢＳＰＦはバスにおける出力信号を意味している。
【００３２】
図１０は本実施の形態におけるフラッシュメモリのベリファイ判定回路５の構成を示す回路図である。
【００３３】
本実施の形態におけるベリファイ判定回路５は、複数のデータレジスタ回路であるページバッファ６１から構成されるバイト単位ページバッファ６２を複数有したページバッファ群６３、電流比較回路６４、参照電流設定回路６５、選択回路６６、選択信号生成回路６７より構成される。
【００３４】
電流比較回路６４では、検知線ＬＳＥＮにおけるフェイル電流Ｉｆａｉｌを参照電流設定回路６５における参照電流Ｉｒｅｆと比較してパス／フェイル判定を行なう。電流比較回路６４は、ＰＭＯＳトランジスタＰ１０、Ｐ１１、Ｐ１２からなるＰＭＯＳカレントミラー回路と、コンパレータ６４ａにより構成されている。ＰＭＯＳトランジスタＰ１０のゲートは、活性化信号ＥＮＢと接続されており制御が行なわれる。ＰＭＯＳトランジスタＰ１１のドレインは、ＰＭＯＳトランジスタＰ１１のゲート及びＰＭＯＳトランジスタＰ１２のゲートとともに検知線ＬＳＥＮと接続されており、更には、コンパレータ６４ａに接続されている。また、ＰＭＯＳトランジスタＰ１２のドレインは、コンパレータ６４ａに接続されるとともに、参照電流設定回路６５に接続されている。
【００３５】
参照電流設定回路６５は、指示信号ＢＳＦＰにより流す参照電流Ｉｒｅｆが選択可能に構成された可変電流源である。選択回路６６は参照電流設定回路６５の参照電流Ｉｒｅｆを設定するために設けられている。具体的には、選択回路６６には、第１ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｌ、第２ページのデータ「１」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ１、第２ページのデータ「２」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ２、第２ページのデータ「３」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ３は各々独立に設定されバスにより接続されている。選択回路６６では、選択信号生成回路６７より出力された選択信号ＳＥＬにより、所定のレジスタ出力信号を選択回路６６の出力信号ＢＳＰＦとして出力する。この出力信号ＢＳＰＦが参照電流設定回路６５に入力することにより、所定の擬似パス許容数に対応した参照電流Ｉｒｅｆを生成する。
【００３６】
次に、本実施の形態における書き込みベリファイ動作について説明する。本実施の形態における半導体記憶装置であるＮＡＮＤ型フラッシュメモリは、前述のとおり１つのメモリセルにより２ビット記憶することが可能な多値記憶メモリである。このため４値の記憶状態により判別される。図７に示したように、第１ページの書き込みの後、第２ページの書き込みが行なわれる。このため第１ページにおける書き込みベリファイ動作と第２ページにおける書き込みベリファイは分けて行なわれる。第１ページの書き込みと第２ページの書き込みとは、入力信号ＵＰＰＥＲの状態により判別可能である。
【００３７】
図１１に基づき第１ページの書き込みベリファイ動作について説明する。
【００３８】
最初に、ステップ１０２（Ｓ１０２）において、第１ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。この状態では、入力信号ＵＰＰＥＲは‘０’に設定され、選択信号生成回路６７に入力されている。ステップ１０２の終了後はステップ１０４に移行する。
【００３９】
ステップ１０４（Ｓ１０４）では、第１ページの書き込みレベルにおけるベリファイリード（ベリファイ読み出し）動作を実施した後、全てのメモリセルにおいてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｂ）に示すように、ワード線（ＷＬ）の電位をｂ＊’として、ベリファイ読み出しが行なわれる。この結果、ステップ１０４において、全てのメモリセルにおいてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ１１８に移行する。ステップ１０４において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ１０６に移行する。
【００４０】
ステップ１０６（Ｓ１０６）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ１０６において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ１０８に移行する。一方、ステップ１０６において、擬似パス発動がＯＫではないとの判断がされた場合には、ステップ１１４に移行する。
【００４１】
ステップ１０８（Ｓ１０８）では、不良数であるベリファイフェイル数が計測される。ステップ１０８終了後は、ステップ１１０へと移行する。
【００４２】
ステップ１１０（Ｓ１１０）では、ステップ１０８において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、選択信号ＳＥＬにより、第１ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｌが選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【００４３】
図１２に本実施の形態における選択信号生成回路６７への入力信号と、これにより生成される選択信号ＳＥＬにより選択回路６６により選択されるレジスタ出力信号との関係を示す。第１ページのベリファイ時には、選択信号生成回路６７への入力信号ＵＰＰＥＲに‘０’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｌが出力される。
【００４４】
ステップ１１０において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ１１２に移行する。一方、ステップ１１０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ１１４へと移行する。
【００４５】
ステップ１１２（Ｓ１１２）では、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は後述するステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ１１２終了後は、ステップ１１８に移行する。
【００４６】
ステップ１１４（Ｓ１１４）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、例えば、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【００４７】
ステップ１１４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ１１６に移行する。一方、ステップ１１４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ１０２に移行し、再度情報の書き込みが行なわれる。
【００４８】
ステップ１１６（Ｓ１１６）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ１１６終了後は、ステップ１１８に移行する。
【００４９】
ステップ１１８（Ｓ１１８）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ１１６において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ１０４においてＰＡＳＳの場合、ステップ１１２又はステップ１１６終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受けて返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【００５０】
ステップ１１８において、ＰＡＳＳ（パス）と判断された場合には、第１ページにおける書き込みベリファイ動作は終了する。一方、ステップ１１８において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ１２０に移行する。
【００５１】
ステップ１２０（Ｓ１２０）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ１２０終了後、第１ページにおける書き込みベリファイ動作は終了する。尚、ステップ１０２からステップ１１６までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ１１８、ステップ１２０の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。
【００５２】
次に、図１３に基づき第２ページの書き込みベリファイ動作について説明する。尚、第２ページの書き込みであることを識別するために、入力信号ＵＰＰＥＲは‘１’に設定され、選択信号生成回路６７に入力されている。
【００５３】
最初に、ステップ２０２（Ｓ２０２）において、図１のレジスタ２０におけるベリファイ用フラッグＣＯＭＰ＿Ｓ及びＣＯＭＰ＿Ｂを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード（ベリファイ読みだし）動作を実行する必要があるか否かを示す。本実施の形態では、ＣＯＭＰ＿Ｓ及びＣＯＭＰ＿Ｂは、ともに‘０’に設定される。本実施の形態では、閾値電圧の低い分布より書き始める方式を採用しているため、ＣＯＭＰ＿Ｓをメモリセルのデータ「１」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、ＣＯＭＰ＿Ｂをメモリセルのデータ「２」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に割り当てることができる。
【００５４】
次に、ステップ２０４（Ｓ２０４）において、第２ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ２０４の終了後はステップ２０６に移行する。
【００５５】
ステップ２０６（Ｓ２０６）では、ＣＯＭＰ＿Ｓが、‘１’であるか否かの判断が行なわれる。ステップ２０６において、ＣＯＭＰ＿Ｓが、‘１’であると判断された場合には、ステップ２２０に移行する。一方、ステップ２０６において、ＣＯＭＰ＿Ｓが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｓが、‘０’である場合には、ステップ２０８に移行する。
【００５６】
ステップ２０８（Ｓ２０８）では、メモリセルのデータ「１」において、第２ページのメモリセルのデータ「１」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「１」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をａ’として、ベリファイ読み出しが行なわれる。この結果、ステップ２０８において、全てのメモリセルのデータ「１」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ２１８に移行する。ステップ２０８において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ２１０に移行する。
【００５７】
ステップ２１０（Ｓ２１０）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ２１０において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ２１２に移行する。一方、ステップ２１０において、擬似パス発動がＮＯとの判断がされた場合には、ステップ２４４に移行する。
【００５８】
ステップ２１２（Ｓ２１２）では、不良数であるベリファイフェイル数が計測される。ステップ２１２終了後は、ステップ２１４へと移行する。
【００５９】
ステップ２１４（Ｓ２１４）では、ステップ２１２において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「１」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ１が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【００６０】
具体的には、図１２に示すように第２ページのデータ「１」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘１’、ｐｖｆｙＵ２に‘０’、ｐｖｆｙＵ３に‘０’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ１が出力される。ここで、ｐｖｆｙＵ１、ｐｖｆｙＵ２ 、ｐｖｆｙＵ３は、それぞれが‘１’になったとき、対応する第２ページのデータ「１」、「２」、「３」の各々のベリファイ動作中であることを示す信号である。
【００６１】
ステップ２１４において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ２１６に移行する。一方、ステップ２１４において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ２４４へと移行する。
【００６２】
ステップ２１６（Ｓ２１６）では、擬似パス情報記憶１のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ２１６終了後は、ステップ２１８に移行する。
【００６３】
ステップ２１８（Ｓ２１８）では、メモリセルのデータ「１」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「１」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｓの値を‘１’に変更する。ステップ２１８終了後は、ステップ２２０に移行する。
【００６４】
ステップ２２０（Ｓ２２０）では、ＣＯＭＰ＿Ｂが、‘１’であるか否かの判断が行なわれる。ステップ２２０において、ＣＯＭＰ＿Ｂが、‘１’であると判断された場合には、ステップ２３４に移行する。一方、ステップ２２０において、ＣＯＭＰ＿Ｂが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｂが、‘０’である場合には、ステップ２２２に移行する。
【００６５】
ステップ２２２（Ｓ２２２）では、メモリセルのデータ「２」において、第２ページのメモリセルのデータ「２」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「２」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をｂ’として、ベリファイ読み出しが行なわれる。この結果、ステップ２２２において、全てのメモリセルのデータ「２」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ２３２に移行する。ステップ２２２において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ２２４に移行する。
【００６６】
ステップ２２４（Ｓ２２４）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ２２４において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ２２６に移行する。一方、ステップ２２４において、擬似パス発動がＮＯとの判断がされた場合には、ステップ２４４に移行する。
【００６７】
ステップ２２６（Ｓ２２６）では、不良数であるベリファイフェイル数が計測される。ステップ２２６終了後は、ステップ２２８へと移行する。
【００６８】
ステップ２２８（Ｓ２２８）では、ステップ２２６において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「２」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ２が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【００６９】
具体的には、図１２に示すように第２ページのデータ「２」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘０’、ｐｖｆｙＵ２に‘１’、ｐｖｆｙＵ３に‘０’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ２が出力される。
【００７０】
ステップ２２８において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ２３０に移行する。一方、ステップ２２８において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ２４４へと移行する。
【００７１】
ステップ２３０（Ｓ２３０）では、擬似パス情報記憶２のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ２３０終了後は、ステップ２３２に移行する。
【００７２】
ステップ２３２（Ｓ２３２）では、メモリセルのデータ「２」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「２」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｂの値を‘１’に変更する。ステップ２３２終了後は、ステップ２３４に移行する。
【００７３】
ステップ２３４（Ｓ２３４）では、メモリセルのデータ「３」において、第２ページのメモリセルのデータ「３」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「３」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をｃ’として、ベリファイ読み出しが行なわれる。この結果、ステップ２３４において、全てのメモリセルのデータ「３」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ２４８に移行する。ステップ２３４において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ２３６に移行する。
【００７４】
ステップ２３６（Ｓ２３６）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ２３６において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ２３８に移行する。一方、ステップ２３６において、擬似パス発動がＮＯとの判断がされた場合には、ステップ２４４に移行する。
【００７５】
ステップ２３８（Ｓ２３８）では、不良数であるベリファイフェイル数が計測される。ステップ２３８終了後は、ステップ２４０へと移行する。
【００７６】
ステップ２４０（Ｓ２４０）では、ステップ２３８において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「３」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ３が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。なお、ステップ２４０において、予めデータ「１」「２」「３」のトータルのベリファイフェイル数の許容数（トータル許容数）を設定しておき、データ「３」についての許容数は、そのトータル許容数から、ステップＳ２１２、Ｓ２２６で得られた実際の不良数を差し引いた値としてもよい。
【００７７】
具体的には、図１２に示すように第２ページのデータ「３」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘０’、ｐｖｆｙＵ２に‘０’、ｐｖｆｙＵ３に‘１’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ３が出力される。
【００７８】
ステップ２４０において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ２４２に移行する。一方、ステップ２４０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ２４４へと移行する。
【００７９】
ステップ２４２（Ｓ２４２）では、擬似パス情報記憶３のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ２４２終了後は、ステップ２４８に移行する。
【００８０】
ステップ２４４（Ｓ２４４）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【００８１】
ステップ２４４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ２４６に移行する。一方、ステップ２４４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ２０４に移行し、再度情報の書き込みが行なわれる。
【００８２】
ステップ２４６（Ｓ２４６）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ２４６終了後は、ステップ２４８に移行する。
【００８３】
ステップ２４８（Ｓ２４８）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ２４６において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ２３４においてＰＡＳＳの場合、ステップ２４２又はステップ２４６終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【００８４】
ステップ２４８において、ＰＡＳＳ（パス）と判断された場合には、第２ページにおける書き込みベリファイ動作は終了する。一方、ステップ２４８において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ２５０に移行する。
【００８５】
ステップ２５０（Ｓ２５０）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ２５０終了後、第２ページにおける書き込みベリファイ動作は終了する。尚、ステップ２０２からステップ２４６までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ２４８、ステップ２５０の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。
【００８６】
本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定する必要がある。このフェイル許容数は、本実施の形態における半導体記憶装置であるＮＡＮＤ型フラッシュメモリの電源投入時に、内部において自動的に行なわれるＲＯＭヒューズ読み出しにより、所定のデータレジスタに格納する方法や、外部からの制御装置が書き込みの都度若しくは、ＮＡＮＤ型フラッシュメモリの電源投入後に、一回以上ＮＡＮＤ型フラッシュメモリのデータレジスタに書き込みを行なうこと等により実施することができる。
【００８７】
従って、従来は、完全パスのみしか許されていなかったため、例えば、キャッシュプログラム等の動作時において、ＮＡＮＤ型フラッシュメモリにおけるメモリセル特性劣化により、メモリセルのデータ「１」において書き込みが不能となっている場合や、書き込み時間を大幅に要する場合に発生した平均書き込みデータレートの低下が生じていたが、本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定することにより、これらを回避することが可能となり、半導体記憶装置であるＮＡＮＤ型フラッシュメモリにおける書き込み動作全体が短時間で行なうことが可能となる。
【００８８】
即ち、従来においては、少なくとも擬似パス機能を発動するまで、メモリセルにおいて擬似パスを認識することができないため、書き込みとベリファイを繰り返すこととなり、全体の書き込みに時間を要する場合があった。また、メモリセルの閾値変動量の少ない初期段階から常に擬似パス機能を発動した場合、擬似パス機能を必要としない場合もあることから、この場合においても、全体の書き込みに時間を要する場合があった。更に、通常は、擬似パス機能はページに対し固定した許容数が設定されていた。本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定することにより、書き込みに要する全体の時間を短縮することができるのである。
【００８９】
〔第２の実施の形態〕
次に、第２の実施の形態における書き込みベリファイ動作について説明する。本実施の形態における半導体記憶装置であるＮＡＮＤ型フラッシュメモリは、第１の実施の形態におけるものと同様であり、１つのメモリセルにより２ビット記憶することが可能な多値記憶メモリである。本実施の形態では、ベリファイスキップを行なうステップが組み込まれたベリファイ動作である。具体的には、メモリセルにおける書き込み初期段階では、閾値電圧変動量も少なくベリファイレベルに到達しているメモリセル数も少ない。このため、この段階においてベリファイリード（読み出し）を行なってもフェイル（ＦＡＩＬ）となることが予想される。更には、擬似パス判定を行なってもフェイルする可能性も高い。よって、この段階ではベリファイリードを行なわないことが書き込みにおける総時間を短縮することになる。従って、所定のベリファイスキップの条件を定め、ベリファイ動作をスキップするか否かの判定をおこなうものである。
【００９０】
図１４に基づき第１ページの書き込みベリファイ動作について説明する。
【００９１】
最初に、ステップ３０２（Ｓ３０２）において、第１ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。この状態では、入力信号ＵＰＰＥＲは‘０’に設定され、選択信号生成回路６７に入力されている。ステップ３０２の終了後はステップ３０４に移行する。
【００９２】
ステップ３０４（Ｓ３０４）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。尚、ベリファイスキップの基準は上記書き込みパルスの印加回数以外の基準であってもかまわない。ステップ３０４において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ３０２に移行する。一方、ステップ３０４において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ３０６に移行する。
【００９３】
ステップ３０６（Ｓ３０６）では、第１ページの書き込みレベルにおけるベリファイリード（ベリファイ読み出し）動作を実施した後、全てのメモリセルにおいてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｂ）に示すように、ワード線（ＷＬ）の電位をｂ＊’として、ベリファイ読み出しが行なわれる。この結果、ステップ３０６において、全てのメモリセルにおいてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ３２０に移行する。ステップ３０６において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ３０８に移行する。
【００９４】
ステップ３０８（Ｓ３０８）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ３０８において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ３１０に移行する。一方、ステップ３０８において、擬似パス発動がＯＫではないとの判断がされた場合には、ステップ３１６に移行する。
【００９５】
ステップ３１０（Ｓ３１０）では、不良数であるベリファイフェイル数が計測される。ステップ３１０終了後は、ステップ３１２へと移行する。
【００９６】
ステップ３１２（Ｓ３１２）では、ステップ３１０において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、選択信号ＳＥＬにより、第１ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｌが選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【００９７】
図１２に本実施の形態における選択信号生成回路６７への入力信号と、これにより生成される選択信号ＳＥＬにより選択回路６６により選択されるレジスタ出力信号との関係を示す。第１ページのベリファイ時には、選択信号生成回路６７への入力信号ＵＰＰＥＲに‘０’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｌが出力される。
【００９８】
ステップ３１２において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ３１４に移行する。一方、ステップ３１２において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ３１６へと移行する。
【００９９】
ステップ３１４（Ｓ３１４）では、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は後述するステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ３１４終了後は、ステップ３２０に移行する。
【０１００】
ステップ３１６（Ｓ３１６）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【０１０１】
ステップ３１６において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ３１８に移行する。一方、ステップ３１６において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ３０２に移行し、再度情報の書き込みが行なわれる。
【０１０２】
ステップ３１８（Ｓ３１８）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ３１８終了後は、ステップ３２０に移行する。
【０１０３】
ステップ３２０（Ｓ３２０）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ３１８において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ３０６においてＰＡＳＳの場合、ステップ３１４又はステップ３１８終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【０１０４】
ステップ３２０において、ＰＡＳＳ（パス）と判断された場合には、第１ページにおける書き込みベリファイ動作は終了する。一方、ステップ３２０において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ３２２に移行する。
【０１０５】
ステップ３２２（Ｓ３２２）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ３２２終了後、第１ページにおける書き込みベリファイ動作は終了する。尚、ステップ３０２からステップ３１８までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ３２０、ステップ３２２の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。
【０１０６】
次に、図１５に基づき第２ページの書き込みベリファイ動作について説明する。尚、第２ページの書き込みであることを識別するために、入力信号ＵＰＰＥＲは‘１’に設定され、選択信号生成回路６７に入力されている。
【０１０７】
最初に、ステップ４０２（Ｓ４０２）において、図１のレジスタ２０におけるベリファイ用フラッグＣＯＭＰ＿Ｓ及びＣＯＭＰ＿Ｂを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード（ベリファイ読みだし）動作を実行する必要があるか否かを示す。本実施の形態では、ＣＯＭＰ＿Ｓ及びＣＯＭＰ＿Ｂは、ともに‘０’に設定される。本実施の形態では、閾値電圧の低い分布より書き始める方式を採用しているため、ＣＯＭＰ＿Ｓをメモリセルのデータ「１」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、ＣＯＭＰ＿Ｂをメモリセルのデータ「２」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に割り当てることができる。
【０１０８】
次に、ステップ４０４（Ｓ４０４）において、第２ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ４０４の終了後はステップ４０６に移行する。
【０１０９】
ステップ４０６（Ｓ４０６）では、ＣＯＭＰ＿Ｓが、‘１’であるか否かの判断が行なわれる。ステップ４０６において、ＣＯＭＰ＿Ｓが、‘１’であると判断された場合には、ステップ４２２に移行する。一方、ステップ４０６において、ＣＯＭＰ＿Ｓが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｓが、‘０’である場合には、ステップ４０８に移行する。
【０１１０】
ステップ４０８（Ｓ４０８）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ４０８において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ４０４に移行する。一方、ステップ４０８において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ４１０に移行する。
【０１１１】
ステップ４１０（Ｓ４１０）では、メモリセルのデータ「１」において、第２ページのメモリセルのデータ「１」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「１」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をａ’として、ベリファイ読み出しが行なわれる。この結果、ステップ４１０において、全てのメモリセルのデータ「１」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ４２０に移行する。ステップ４１０において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ４１２に移行する。
【０１１２】
ステップ４１２（Ｓ４１２）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ４１２において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ４１４に移行する。一方、ステップ４１２において、擬似パス発動がＮＯとの判断がされた場合には、ステップ４５０に移行する。
【０１１３】
ステップ４１４（Ｓ４１４）では、不良数であるベリファイフェイル数が計測される。ステップ４１４終了後は、ステップ４１６へと移行する。
【０１１４】
ステップ４１６（Ｓ４１６）では、ステップ４１４において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「１」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ１が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【０１１５】
具体的には、図１２に示すように第２ページのデータ「１」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘１’、ｐｖｆｙＵ２に‘０’、ｐｖｆｙＵ３に‘０’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ１が出力される。ここで、ｐｖｆｙＵ１、ｐｖｆｙＵ２ 、ｐｖｆｙＵ３は、それぞれが‘１’になったとき、対応する第２ページのデータ「１」、「２」、「３」の各々のベリファイ動作中であることを示す信号である。
【０１１６】
ステップ４１６において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ４１８に移行する。一方、ステップ４１６において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ４５０へと移行する。
【０１１７】
ステップ４１８（Ｓ４１８）では、擬似パス情報記憶１のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ４１８終了後は、ステップ４２０に移行する。
【０１１８】
ステップ４２０（Ｓ４２０）では、メモリセルのデータ「１」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、メモリセルのデータ「１」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｓの値を‘１’に変更する。ステップ４２０終了後は、ステップ４２２に移行する。
【０１１９】
ステップ４２２（Ｓ４２２）では、ＣＯＭＰ＿Ｂが、‘１’であるか否かの判断が行なわれる。ステップ４２２において、ＣＯＭＰ＿Ｂが、‘１’であると判断された場合には、ステップ４３８に移行する。一方、ステップ４２２において、ＣＯＭＰ＿Ｂが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｂが、‘０’である場合には、ステップ４２４に移行する。
【０１２０】
ステップ４２４（Ｓ４２４）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ４２４において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ４０４に移行する。一方、ステップ４２４において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ４２６に移行する。
【０１２１】
ステップ４２６（Ｓ４２６）では、メモリセルのデータ「２」において、第２ページのメモリセルのデータ「２」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「２」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をｂ’として、ベリファイ読み出しが行なわれる。この結果、ステップ４２６において、全てのメモリセルのデータ「２」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ４３６に移行する。ステップ４２６において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ４２８に移行する。
【０１２２】
ステップ４２８（Ｓ４２８）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ４２８において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ４３０に移行する。一方、ステップ４２８において、擬似パス発動がＮＯとの判断がされた場合には、ステップ４５０に移行する。
【０１２３】
ステップ４３０（Ｓ４３０）では、不良数であるベリファイフェイル数が計測される。ステップ４３０終了後は、ステップ４３２へと移行する。
【０１２４】
ステップ４３２（Ｓ４３２）では、ステップ４３０において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「２」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ２が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【０１２５】
具体的には、図１２に示すように第２ページのデータ「２」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘０’、ｐｖｆｙＵ２に‘１’、ｐｖｆｙＵ３に‘０’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ２が出力される。
【０１２６】
ステップ４３２において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ４３４に移行する。一方、ステップ４３２において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ４５０へと移行する。
【０１２７】
ステップ４３４（Ｓ４３４）では、擬似パス情報記憶２のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ４３４終了後は、ステップ４３６に移行する。
【０１２８】
ステップ４３６（Ｓ４３６）では、メモリセルのデータ「２」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、メモリセルのデータ「２」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｂの値を‘１’に変更する。ステップ４３６終了後は、ステップ４３８に移行する。
【０１２９】
ステップ４３８（Ｓ４３８）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ４３８において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ４０４に移行する。一方、ステップ４３８において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ４４０に移行する。
【０１３０】
ステップ４４０（Ｓ４４０）では、メモリセルのデータ「３」において、第２ページのメモリセルのデータ「３」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「３」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をｃ’として、ベリファイ読み出しが行なわれる。この結果、ステップ４４０において、全てのメモリセルのデータ「３」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ４５４に移行する。ステップ４４０において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ４４２に移行する。
【０１３１】
ステップ４４２（Ｓ４４２）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ４４２において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ４４４に移行する。一方、ステップ４４２において、擬似パス発動がＮＯとの判断がされた場合には、ステップ４５０に移行する。
【０１３２】
ステップ４４４（Ｓ４４４）では、不良数であるベリファイフェイル数が計測される。ステップ４４４終了後は、ステップ４４６へと移行する。
【０１３３】
ステップ４４６（Ｓ４４６）では、ステップ４４４において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、選択回路６６において、図１２に示すように、選択信号ＳＥＬにより、第２ページのデータ「３」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ３が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路６５に入力することにより設定される。
【０１３４】
具体的には、図１２に示すように第２ページのデータ「３」におけるベリファイ時には、選択信号生成回路６７に、ｐｖｆｙＵ１に‘０’、ｐｖｆｙＵ２に‘０’、ｐｖｆｙＵ３に‘１’、ＵＰＰＥＲに‘１’を入力することにより、選択回路６６の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ３が出力される。
【０１３５】
ステップ４４６において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ４４８に移行する。一方、ステップ２４０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ４５０へと移行する。
【０１３６】
ステップ４４８（Ｓ４４８）では、擬似パス情報記憶３のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ４４８終了後は、ステップ４５４に移行する。
【０１３７】
ステップ４５０（Ｓ４５０）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【０１３８】
ステップ４５０において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ４５２に移行する。一方、ステップ４５０において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ４０４に移行し、再度情報の書き込みが行なわれる。
【０１３９】
ステップ４５２（Ｓ４５２）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ４５２終了後は、ステップ４５４に移行する。
【０１４０】
ステップ４５４（Ｓ４５４）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ４５２において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ４４０においてＰＡＳＳの場合、ステップ４４８又はステップ４５２終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【０１４１】
ステップ４５４において、ＰＡＳＳ（パス）と判断された場合には、第２ページにおける書き込みベリファイ動作は終了する。一方、ステップ４５４において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ４５６に移行する。
【０１４２】
ステップ４５６（Ｓ４５６）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ４５６終了後、第２ページにおける書き込みベリファイ動作は終了する。尚、ステップ４０２からステップ４５２までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ４５４、ステップ４５６の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。
【０１４３】
〔第３の実施の形態〕
次に、第３の実施の形態を説明する。第３の実施の形態は、第１又は第２の実施の形態において、第２ページのメモリセルのデータ「２」の擬似パス設定を０に固定したものである。これにより、第２ページのメモリセルのデータ「２」においては、完全パスのみ許可する。本実施の形態におけるＮＡＮＤ型フラッシュメモリは、第２ページのメモリセルのデータ「２」においては、書き込みにおける閾値変動量が、第１ページのメモリセルのデータ「２＊」、第２ページのメモリセルのデータ「１」、メモリセルのデータ「３」と比べて少ない。従って、完全パスになる可能性が高いため、第２ページのメモリセルのデータ「２」については、擬似パス設定数を０とするものである。これにより、第２ページのメモリセルのデータ「２」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、回路負担を抑えることが可能となる。
【０１４４】
図１６、図１７に基づき本実施の形態について説明すると、第１ページのメモリセルのデータ「２＊」、第２ページのメモリセルのデータ「１」、第２ページのメモリセルのデータ「３」に対応するレジスタ出力信号は、第１の実施の形態と同様とし、ＢＳＰＦに５ビットを割り当てる構成であった場合には、第２ページのメモリセルのデータ「２」に対応するレジスタ出力信号を‘０’とし、第２ページのメモリセルのデータ「２」の擬似パス設定数を０とする。
【０１４５】
〔第４の実施の形態〕
次に、第４の実施の形態を説明する。第４の実施の形態は、第３の実施の形態において、更に、擬似パス情報の記憶を行なうためのレジスタを省き、回路負担を抑えたものである。
【０１４６】
具体的には、２進データの記憶を行うものであることから確率的に、第２ページのメモリセルのデータ「１」に対して許容可能なベリファイフェイル許容数と、第２ページのメモリセルのデータ「３」に対して許容可能なベリファイフェイル許容数とは同数に設定することが可能である。従って、第２ページのデータ「１」と、データ「３」のそれぞれのベリファイ時における擬似パス許容数に対して、第２ページ全体のフェイル許容数の１／２に設定することが望ましい。このため、選択回路６６において、第２ページのメモリセルのデータ「１」のベリファイフェイル許容数及びメモリセルのデータ「３」のベリファイフェイル許容数は、第２ページのフェイルの許容数を２で除した値を出力するように構成することができる。具体的には、２進であるため、ＢＳＰＦに５ビットを割り当てる構成であった場合には、ＢＳＰＦ＿Ｕ１を１ビット右シフト演算の結果を出力すればよい。
【０１４７】
これにより、第２ページのメモリセルのデータ「１」又はデータ「３」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、より一層回路負担を抑えることが可能となる。
【０１４８】
図１８に基づき本実施の形態について説明すると、第１ページに対応するレジスタ出力信号は、第１の実施の形態と同様とし、ＢＳＰＦ及びＢＳＰＦ＿Ｕ１に５ビットを割り当てる構成であった場合には、第２ページのメモリセルデータ「１」に対応するレジスタ出力信号を｛１’ｂ０、ＢＳＰＦ＿Ｕ１［５：１］｝とし、１ビット右シフト演算を行うことと同等の信号を出力し、第２ページのメモリセルデータ「２」に対応するレジスタ出力信号をすべて０とし、第２ページのメモリセルデータ「３」に対応するレジスタ出力信号を｛１’ｂ０、ＢＳＰＦ＿Ｕ１［５：１］｝とし、１ビット右シフト演算を行なうことと同等の信号を出力する。
【０１４９】
〔第５の実施の形態〕
次に、第５の実施の形態について説明する。ＮＡＮＤ型フラッシュメモリの構成等に関しては、第１又は第２の実施の形態と同様である。本実施の形態は、１つのメモリセルに３ビットの情報を記憶する８値記憶に関するものである。このため、第１ページにおける情報の書き込み及び第２ページの情報の書き込みに関しては、第１又は第２の実施の形態と同様である。したがって、第３ページの情報の書き込みについて説明する。
【０１５０】
図１９に基づき本実施の形態におけるＮＡＮＤセルの動作について説明する。
【０１５１】
図１９は、メモリセルのデータとメモリセルの閾値電圧との関係を示している。図１９（ａ）に示すように、消去動作を行なった後、第１ページにデータの書き込みを行なうと、図１９（ｂ）に示すように、メモリセルにおいては、データ「０」とデータ「２＊」の状態が形成される。この後、第２ページにデータの書き込みを行なうと、図１９（ｃ）に示すように、メモリセルにおいては、４値記憶本来の閾値電圧を有するデータ「０」、データ「１」、データ「２」、データ「３」の状態が形成される。更に、第３ページにデータの書き込みを行なうことにより、図１９（ｄ）に示すように、３ビットの８値記憶本来の閾値電圧を有するデータ「０Ｌ」、データ「０Ｈ」、データ「１Ｌ」、データ「１Ｈ」、データ「２Ｌ」、データ「２Ｈ」、データ「３Ｌ」、データ「３Ｈ」の状態が形成される。
【０１５２】
次に、図２０、図２１、図２２に基づき本実施の形態における第３ページの書き込みベリファイ動作を説明する。尚、図２０は、図２０（ａ）、図２０（ｂ）、図２０（ｃ）により構成されている。本実施の形態においては、８値記憶のメモリセルの書き込みベリファイを行なうため、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３、選択信号生成回路１１４が設けられている。選択信号生成回路１１４には、入力信号ｐｖｆｙ０Ｕ、ｐｒｆｙ１Ｌ、ｐｖｆｙ１Ｕ、ｐｖｆｙ２Ｌ、ｐｖｆｙ２Ｕ、ｐｖｆｙ３Ｌ、ｐｖｆｙ３Ｕ、ＭＩＤＤＬＥ、ＵＰＰＥＲが入力しており、この信号の状態に基づき選択信号ＳＥＬが生成され出力される。ｐｖｆｙ０Ｕは、第２ページのデータ「１」及び第３ページのデータ「０Ｕ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ１Ｌは、第２ページのデータ「２」及び第３ページのデータ「１Ｌ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ１Ｕは、第２ページのデータ「３」及び第３ページのデータ「１Ｕ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ２Ｌは、第３ページのデータ「２Ｌ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ２Ｕは、第３ページのデータ「２Ｕ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ３Ｌは、第３ページのデータ「３Ｌ」のベリファイ動作中に‘１’に設定され、ｐｖｆｙ３Ｕは、第３ページのデータ「３Ｕ」のベリファイ動作中に‘１’に設定される。この選択信号ＳＥＬは、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３に入力し、所定の出力が出力される。第１選択回路１１１では、第２ページのデータ「１」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｍ１、第２ページのデータ「２」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｍ２、第２ページのデータ「３」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｍ３がバスにより接続されており、選択信号ＳＥＬに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、第１選択回路により選択された第２ページおけるレジスタ出力信号として、第３選択回路１１３に入力する。尚、ＢＳＰＦ＿Ｍ１、ＢＳＰＦ＿Ｍ２、ＢＳＰＦ＿Ｍ３はバスにおける信号を意味している。
【０１５３】
第２選択回路１１２では、第３ページのデータ「０Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ１、第３ページのデータ「１Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ２、第３ページのデータ「１Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ３、第３ページのデータ「２Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ４、第３ページのデータ「２Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ５、第３ページのデータ「３Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ６、第３ページのデータ「３Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ７が接続されており、選択信号ＳＥＬに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、第２選択回路により選択された第３ページおけるレジスタ出力信号として、第３選択回路１１３に入力する。尚、ＢＳＰＦ＿Ｕ１、ＢＳＰＦ＿Ｕ２、ＢＳＰＦ＿Ｕ３、ＢＳＰＦ＿Ｕ４、ＢＳＰＦ＿Ｕ５、ＢＳＰＦ＿Ｕ６、ＢＳＰＦ＿Ｕ７はバスにおける信号を意味している。
【０１５４】
第３選択回路１１３では、第１ページにおける書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｌと、第１選択回路１１１からのレジスタ出力信号、第２選択回路１１２からのレジスタ出力信号が接続されており、選択信号ＳＥＬに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、図１０に示した場合と同様に、参照電流設定回路６５に入力し、所定の擬似パス許容数が設定される。
【０１５５】
図２１に本実施の形態における選択信号生成回路１１４への入力信号と、これにより生成される選択信号ＳＥＬにより第３選択回路１１３より選択されるレジスタ出力信号との関係を示す。
【０１５６】
図２１に示すように、第３ページの書き込みであることを識別するために、入力信号ＵＰＰＥＲは‘１’に設定され、入力信号ＭＩＤＤＬＥは‘０’に設定され、各々選択信号生成回路１１４に入力されている。尚、第１ページの書き込みであることを識別する場合には、入力信号ＵＰＰＥＲは‘０’に設定され、入力信号ＭＩＤＤＬＥは‘０’に設定される。また、第２ページの書き込みであることを識別する場合には、入力信号ＵＰＰＥＲは‘０’に設定され、入力信号ＭＩＤＤＬＥは‘１’に設定されている。
【０１５７】
最初に、ステップ５０２（Ｓ５０２）において、図１のレジスタ２０におけるベリファイ用フラッグＣＯＭＰ＿Ｇ、ＣＯＭＰ＿Ｆ、ＣＯＭＰ＿Ｅ、ＣＯＭＰ＿Ｓ、ＣＯＭＰ＿Ｂ及びＣＯＭＰ＿Ｄを初期化する。本実施の形態では、ＣＯＭＰ＿Ｇ、ＣＯＭＰ＿Ｆ、ＣＯＭＰ＿Ｅ、ＣＯＭＰ＿Ｓ、ＣＯＭＰ＿Ｂ及びＣＯＭＰ＿Ｄは、すべて‘０’に設定される。各々の入力信号は、各々第３ページのデータ「３Ｌ」、「２Ｕ」、「２Ｌ」、「１Ｕ」、「１Ｌ」、「０Ｕ」におけるベリファイリード（ベリファイ読み出し）動作を実行する必要があるか否かを示す。
【０１５８】
次に、ステップ５０４（Ｓ５０４）において、第３ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ５０４の終了後はステップ５０６に移行する。
【０１５９】
ステップ５０６（Ｓ５０６）では、ＣＯＭＰ＿Ｇが、‘１’であるか否かの判断が行なわれる。ステップ５０６において、ＣＯＭＰ＿Ｇが、‘１’であると判断された場合には、ステップ６０２に移行する。一方、ステップ５０６において、ＣＯＭＰ＿Ｇが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｇが、‘０’である場合には、ステップ５０８に移行する。
【０１６０】
ステップ５０８（Ｓ５０８）では、ＣＯＭＰ＿Ｆが、‘１’であるか否かの判断が行なわれる。ステップ５０８において、ＣＯＭＰ＿Ｆが、‘１’であると判断された場合には、ステップ５８８に移行する。一方、ステップ５０８において、ＣＯＭＰ＿Ｆが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｆが、‘０’である場合には、ステップ５１０に移行する。
【０１６１】
ステップ５１０（Ｓ５１０）では、ＣＯＭＰ＿Ｅが、‘１’であるか否かの判断が行なわれる。ステップ５１０において、ＣＯＭＰ＿Ｅが、‘１’であると判断された場合には、ステップ５７４に移行する。一方、ステップ５１０において、ＣＯＭＰ＿Ｅが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｅが、‘０’である場合には、ステップ５１２に移行する。
【０１６２】
ステップ５１２（Ｓ５１２）では、ＣＯＭＰ＿Ｓが、‘１’であるか否かの判断が行なわれる。ステップ５１２において、ＣＯＭＰ＿Ｓが、‘１’であると判断された場合には、ステップ５６０に移行する。一方、ステップ５１２において、ＣＯＭＰ＿Ｓが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｓが、‘０’である場合には、ステップ５１４に移行する。
【０１６３】
ステップ５１４（Ｓ５１４）では、ＣＯＭＰ＿Ｂが、‘１’であるか否かの判断が行なわれる。ステップ５１４において、ＣＯＭＰ＿Ｂが、‘１’であると判断された場合には、ステップ５４６に移行する。一方、ステップ５１４において、ＣＯＭＰ＿Ｂが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｂが、‘０’である場合には、ステップ５１６に移行する。
【０１６４】
ステップ５１６（Ｓ５１６）では、ＣＯＭＰ＿Ｄが、‘１’であるか否かの判断が行なわれる。ステップ５１６において、ＣＯＭＰ＿Ｄが、‘１’であると判断された場合には、ステップ５３２に移行する。一方、ステップ５１６において、ＣＯＭＰ＿Ｂが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｂが、‘０’である場合には、ステップ５１８に移行する。
【０１６５】
ステップ５１８（Ｓ５１８）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５１８において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５１８において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５２０に移行する。
【０１６６】
ステップ５２０（Ｓ５２０）では、メモリセルのデータ「０Ｕ」において、第３ページのメモリセルのデータ「０Ｕ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「０Ｕ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５２０において、全てのメモリセルのデータ「０Ｕ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ５３０に移行する。ステップ５２０において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５２２に移行する。
【０１６７】
ステップ５２２（Ｓ５２２）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５２２において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５２４に移行する。一方、ステップ５２２において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０１６８】
ステップ５２４（Ｓ５２４）では、不良数であるベリファイフェイル数が計測される。ステップ５２４終了後は、ステップ５２６へと移行する。
【０１６９】
ステップ５２６（Ｓ５２６）では、ステップ５２４において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「０Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ１が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０１７０】
具体的には、図２１に示すように第３ページのデータ「０Ｕ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘１’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ１が出力される。
【０１７１】
ステップ５２６において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５２８に移行する。一方、ステップ５２６において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０１７２】
ステップ５２８（Ｓ５２８）では、擬似パス情報記憶１のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５２８終了後は、ステップ５３０に移行する。
【０１７３】
ステップ５３０（Ｓ５３０）では、メモリセルのデータ「０Ｕ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「０Ｕ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｄの値を‘１’に変更する。ステップ５３０終了後は、ステップ５３２に移行する。
【０１７４】
ステップ５３２（Ｓ５３２）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５３２において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５３２において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５３４に移行する。
【０１７５】
ステップ５３４（Ｓ５３４）では、メモリセルのデータ「１Ｌ」において、第３ページのメモリセルのデータ「１Ｌ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「１Ｌ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５３４において、全てのメモリセルのデータ「１Ｌ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ５４４に移行する。ステップ５３４において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５３６に移行する。
【０１７６】
ステップ５３６（Ｓ５３６）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５３６において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５３８に移行する。一方、ステップ５３６において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０１７７】
ステップ５３８（Ｓ５３８）では、不良数であるベリファイフェイル数が計測される。ステップ５３８終了後は、ステップ５４０へと移行する。
【０１７８】
ステップ５４０（Ｓ５４０）では、ステップ５３８において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められる。この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「１Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ２が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０１７９】
具体的には、図２１に示すように第３ページのデータ「１Ｌ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘１’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ２が出力される。
【０１８０】
ステップ５４０において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５４２に移行する。一方、ステップ５４０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０１８１】
ステップ５４２（Ｓ５４２）では、擬似パス情報記憶２のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５４２終了後は、ステップ５４４に移行する。
【０１８２】
ステップ５４４（Ｓ５４４）では、メモリセルのデータ「１Ｌ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「１Ｌ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｂの値を‘１’に変更する。ステップ５４４終了後は、ステップ５４６に移行する。
【０１８３】
ステップ５４６（Ｓ５４６）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５４６において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５４６において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５４８に移行する。
【０１８４】
ステップ５４８（Ｓ５４８）では、メモリセルのデータ「１Ｕ」において、第３ページのメモリセルのデータ「１Ｕ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「１Ｕ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５４８において、全てのメモリセルのデータ「１Ｕ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ５５８に移行する。ステップ５４８において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５５０に移行する。
【０１８５】
ステップ５５０（Ｓ５５０）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５５０において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５５２に移行する。一方、ステップ５５０において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０１８６】
ステップ５５２（Ｓ５５２）では、不良数であるベリファイフェイル数が計測される。ステップ５５２終了後は、ステップ５５４へと移行する。
【０１８７】
ステップ５５４（Ｓ５５４）では、ステップ５５２において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「１Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ３が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０１８８】
具体的には、図２１に示すように第３ページのデータ「１Ｕ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘１’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ３が出力される。
【０１８９】
ステップ５５４において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５５６に移行する。一方、ステップ５５４において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０１９０】
ステップ５５６（Ｓ５５６）では、擬似パス情報記憶３のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５５６終了後は、ステップ５５８に移行する。
【０１９１】
ステップ５５８（Ｓ５５８）では、メモリセルのデータ「１Ｕ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「１Ｕ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｓの値を‘１’に変更する。ステップ５５８終了後は、ステップ５６０に移行する。
【０１９２】
ステップ５６０（Ｓ５６０）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５６０において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５６０において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５６２に移行する。
【０１９３】
ステップ５６２（Ｓ５６２）では、メモリセルのデータ「２Ｌ」において、第３ページのメモリセルのデータ「２Ｌ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「２Ｌ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５６２において、全てのメモリセルのデータ「２Ｌ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ５７２に移行する。ステップ５６２において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５６４に移行する。
【０１９４】
ステップ５６４（Ｓ５６４）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５６４において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５６６に移行する。一方、ステップ５６４において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０１９５】
ステップ５６６（Ｓ５６６）では、不良数であるベリファイフェイル数が計測される。ステップ５６６終了後は、ステップ５６８へと移行する。
【０１９６】
ステップ５６８（Ｓ５６８）では、ステップ５６６において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められる。この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「２Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ４が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０１９７】
具体的には、図２１に示すように第３ページのデータ「２Ｌ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘１’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ４が出力される。
【０１９８】
ステップ５６８において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５７０に移行する。一方、ステップ５６８において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０１９９】
ステップ５７０（Ｓ５７０）では、擬似パス情報記憶４のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５７０終了後は、ステップ５７２に移行する。
【０２００】
ステップ５７２（Ｓ５７２）では、メモリセルのデータ「２Ｌ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「２Ｌ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｅの値を‘１’に変更する。ステップ５７２終了後は、ステップ５７４に移行する。
【０２０１】
ステップ５７４（Ｓ５７４）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５７４において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５７４において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５７６に移行する。
【０２０２】
ステップ５７６（Ｓ５７６）では、メモリセルのデータ「２Ｕ」において、第３ページのメモリセルのデータ「２Ｕ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「２Ｕ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５７６において、全てのメモリセルのデータ「２Ｕ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ５８６に移行する。ステップ５７６において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５７８に移行する。
【０２０３】
ステップ５７８（Ｓ５７８）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５７８において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５８０に移行する。一方、ステップ５７８において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０２０４】
ステップ５８０（Ｓ５８０）では、不良数であるベリファイフェイル数が計測される。ステップ５８０終了後は、ステップ５８２へと移行する。
【０２０５】
ステップ５８２（Ｓ５８２）では、ステップ５８０において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められるが、この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「２Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ５が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０２０６】
具体的には、図２１に示すように第３ページのデータ「２Ｕ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘１’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ５が出力される。
【０２０７】
ステップ５８２において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５８４に移行する。一方、ステップ５８２において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０２０８】
ステップ５８４（Ｓ５８４）では、擬似パス情報記憶５のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５８４終了後は、ステップ５８６に移行する。
【０２０９】
ステップ５８６（Ｓ５８６）では、メモリセルのデータ「２Ｕ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「２Ｕ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｆの値を‘１’に変更する。ステップ５８６終了後は、ステップ５８８に移行する。
【０２１０】
ステップ５８８（Ｓ５８８）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ５８８において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ５８８において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ５９０に移行する。
【０２１１】
ステップ５９０（Ｓ５９０）では、メモリセルのデータ「３Ｌ」において、第３ページのメモリセルのデータ「３Ｌ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「３Ｌ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ５９０において、全てのメモリセルのデータ「３Ｌ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ６００に移行する。ステップ５９０において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ５９２に移行する。
【０２１２】
ステップ５９２（Ｓ５９２）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ５９２において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ５９４に移行する。一方、ステップ５９２において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０２１３】
ステップ５９４（Ｓ５９４）では、不良数であるベリファイフェイル数が計測される。ステップ５９４終了後は、ステップ５９６へと移行する。
【０２１４】
ステップ５９６（Ｓ５９６）では、ステップ５９４において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められる。この参照電流Ｉｒｅｆは、図２２に示すように、第１選択回路１１１、第２選択回路１１２、第３選択回路１１３において、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「３Ｌ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ６が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力し設定される。
【０２１５】
具体的には、図２１に示すように第３ページのデータ「３Ｌ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘１’、ｐｖｆｙ３Ｕに‘０’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ６が出力される。
【０２１６】
ステップ５９６において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ５９８に移行する。一方、ステップ５９６において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０２１７】
ステップ５９８（Ｓ５９８）では、擬似パス情報記憶６のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ５９８終了後は、ステップ６００に移行する。
【０２１８】
ステップ６００（Ｓ６００）では、メモリセルのデータ「３Ｌ」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「３Ｌ」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｇの値を‘１’に変更する。ステップ６００終了後は、ステップ６０２に移行する。
【０２１９】
ステップ６０２（Ｓ６０２）では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ６０２において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ５０４に移行する。一方、ステップ６０２において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ６０４に移行する。
【０２２０】
ステップ６０４（Ｓ６０４）では、メモリセルのデータ「３Ｕ」において、第３ページのメモリセルのデータ「３Ｕ」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「３Ｕ」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ６０４において、全てのメモリセルのデータ「３Ｕ」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ６１８に移行する。ステップ６０４において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ６０６に移行する。
【０２２１】
ステップ６０６（Ｓ６０６）では、擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ６０６において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ６０８に移行する。一方、ステップ６０６において、擬似パス発動がＮＯとの判断がされた場合には、ステップ６１４に移行する。
【０２２２】
ステップ６０８（Ｓ６０８）では、不良数であるベリファイフェイル数が計測される。ステップ６０８終了後は、ステップ６１０へと移行する。
【０２２３】
ステップ６１０（Ｓ６１０）では、ステップ６０８において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Ｉｒｅｆにより定められる。この参照電流Ｉｒｅｆは、図２２に示すように、選択信号生成回路１１４により生成された選択信号ＳＥＬに基づき、第３ページのデータ「３Ｕ」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号ＢＳＰＦ＿Ｕ７が選択され、出力信号ＢＳＰＦとして出力し、これを参照電流設定回路に入力することにより定められる。
【０２２４】
具体的には、図２１に示すように第３ページのデータ「３Ｕ」におけるベリファイ時には、選択信号生成回路１１４に、ｐｖｆｙ０Ｕに‘０’、ｐｖｆｙ１Ｌに‘０’、ｐｖｆｙ１Ｕに‘０’、ｐｖｆｙ２Ｌに‘０’、ｐｖｆｙ２Ｕに‘０’、ｐｖｆｙ３Ｌに‘０’、ｐｖｆｙ３Ｕに‘１’、ＭＩＤＤＬＥに‘０’、ＵＰＰＥＲに‘１’を入力することにより、第３選択回路１１３の出力信号ＢＳＰＦとして、レジスタ出力信号ＢＳＰＦ＿Ｕ７が出力される。
【０２２５】
ステップ６１０において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ６１２に移行する。一方、ステップ６１０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ６１４へと移行する。
【０２２６】
ステップ６１２（Ｓ６１２）では、擬似パス情報記憶７のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ６１２終了後は、ステップ６１８に移行する。
【０２２７】
ステップ６１４（Ｓ６１４）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【０２２８】
ステップ６１４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ６１６に移行する。一方、ステップ６１４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ５０４に移行し、再度情報の書き込みが行なわれる。
【０２２９】
ステップ６１６（Ｓ６１６）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ６１６終了後は、ステップ６１８に移行する。
【０２３０】
ステップ６１８（Ｓ６１８）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ６１６において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ６０４においてＰＡＳＳの場合、ステップ６１２又はステップ６１６終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【０２３１】
ステップ６１８において、ＰＡＳＳ（パス）と判断された場合には、第３ページにおける書き込みベリファイ動作は終了する。一方、ステップ６１８において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ６２０に移行する。
【０２３２】
ステップ６２０（Ｓ６２０）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ６２０終了後、第３ページにおける書き込みベリファイ動作は終了する。尚、ステップ５０２からステップ６１６までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ６１８、ステップ６２０の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。また、本実施の形態では、ベリファイスキップの工程の全部又は一部を省略することができる。これにより、より一層処理の高速化させることが可能となる。
【０２３３】
〔第６の実施の形態〕
次に、第６の実施の形態を説明する。第３の実施の形態は、第５の実施の形態において、第２ページのメモリセルのデータ「２」、第３ページのメモリセルのデータ「１Ｌ」、「２Ｌ」、「３Ｌ」の擬似パス設定を０に固定したものである。これにより、第２ページのメモリセルのデータ「２」、第３ページのメモリセルのデータ「１Ｌ」、「２Ｌ」、「３Ｌ」においては、完全パスのみ許可する。これは第３の実施の形態と同様の原理を第３ページにも適用したものである。これにより、第２ページのメモリセルのデータ「２」、第３ページのメモリセルのデータ「１Ｌ」、「２Ｌ」、「３Ｌ」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、回路負担を抑えることが可能となる。
【０２３４】
図２３及び図２４に基づき本実施の形態について説明すると、第１ページ、第２ページのメモリセルのデータ「１」、「３」、第３ページのメモリセルのデータ「０Ｕ」、「１Ｕ」、「２Ｕ」、「３Ｕ」に対応するレジスタ出力信号は、第５の実施の形態と同様とし、第２ページのメモリセルのデータ「２」、第３ページのメモリセルのデータ「１Ｌ」、「２Ｌ」、「３Ｌ」に対応するレジスタ出力信号を‘０’とし、各々を第１選択回路１１１、第２選択回路１１２に入力する。これにより、第２ページのメモリセルのデータ「２」、第３ページのメモリセルのデータ「１Ｌ」、「２Ｌ」、「３Ｌ」における擬似パス設定数を０とする。第５の実施の形態と同様の選択信号生成回路１１４により、レジスタ出力信号を選択し、第３選択回路１１３より出力する。
【０２３５】
〔第7の実施の形態〕
次に、第7の実施の形態について説明する。第７の実施の形態は、擬似パス情報とページの不良計測の結果の情報を異なるレジスタに記憶するものである。図２５は、本実施の形態におけるステータスレジスタの構成図である。この図に基づき第１の実施の形態に対応させた半導体記憶装置について説明する。
【０２３６】
本実施の形態における半導体記憶装置は、第１ページにおける書き込みステータスレジスタ１２１、第２ページのデータ「１」における書き込みステータスレジスタ１２２、第２ページのデータ「２」における書き込みステータスレジスタ１２３、第２ページのデータ「３」における書き込みステータスレジスタ１２４、セレクタ回路１２５により構成されている。ステータスレジスタ１２１、１２２、１２３、１２４は、ＲＥＳＥＴ端子に信号を入力することにより初期化される。また、各々のページの書き込みは、ｐｖｆｙ１Ｕ、ｐｖｆｙ２Ｕ、ｐｖｆｙ３Ｕ、ＵＰＰＥＲ端子を所定の電位の状態とすることにより、各々のステータスレジスタ１２１、１２２、１２３、１２４が特定される。
【０２３７】
尚、ＨＲは、各々のステータスレジスタ１２１、１２２、１２３、１２４に対応した図１０に示すベリファイ判定回路の出力である。また、ステータスレジスタ１２１は、第１の実施の形態において図１１のステップ１１２における擬似パス情報記憶、ステップ１１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ１２２は、第１の実施の形態において図１３のステップ２１６における擬似パス情報記憶１、ステップ２４６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ１２３は、第１の実施の形態において図１３のステップ２３０における擬似パス情報記憶２、ステップ２４６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ１２４は、第１の実施の形態において図１３のステップ２４２における擬似パス情報記憶３、ステップ２４６におけるＦＡＩＬ情報記憶に関するものである。
【０２３８】
また、ＳＴＡＴＵＳ＿ＳＥＴにより、擬似パス情報記憶の制御を行い、ＰＳＴＡＴＵＳ＿ＳＥＴにより、ＦＡＩＬ情報記憶の制御を行なうものである。ステータス情報を入力するためには、ＳＴＡＴＵＳ＿ＳＥＴを活性化して擬似パス情報、完全パスフェイル情報を登録する。これによりステータスレジスタ１２１、１２２、１２３、１２４に記憶される情報は、「完全パス」、「擬似パス」、「フェイル」の３つの状態を記憶することができる。
【０２３９】
ステータスレジスタ１２１と、ステータスレジスタ１２２、１２３、１２４とは、異なるページのステータス情報を保存するものであり、第１のページと第２のページの情報を同時に保持する必要がない場合には、ステータスレジスタの一部を共用する構成であってもよい。また、フェイル情報は、ステータスレジスタ１２１、１２２、１２３、１２４の各々が有する必要はなく、１つのページに対し１つ有していればよい。よって、ステータスレジスタ１２１、１２２、１２３、１２４には、擬似パスのみを登録し、別途設けたステータスレジスタにフェイル情報を記憶してもよい。記憶された情報は、セレクタ回路１２５により選択して読み出すことができ、この情報をもとに、エラー訂正の必要性の有無、又は、エラー訂正のアルゴリズムの変更が行なわれる。
【０２４０】
このように、ページごとに「完全パス」、「擬似パス」、「フェイル」の３つの状態を記憶することにより、ページごとにエラー訂正の必要性の有無、又は、エラー訂正のアルゴリズムの変更を行なうことが可能となる。尚、第２の実施の形態から第４の実施の形態においても同様に対応させることが可能である。
【０２４１】
また、図２６に、１つのメモリセルに３ビットの情報を記憶する場合の本実施の形態におけるステータスレジスタの構成図を示す。この図に基づき第５の実施の形態に対応させた半導体記憶装置について説明する。
【０２４２】
図２６に示す場合では、第１ページにおける書き込みステータスレジスタ２２１、第２ページのデータ「１」における書き込みステータスレジスタ２２２、第２ページのデータ「２」における書き込みステータスレジスタ２２３、第２ページのデータ「３」における書き込みステータスレジスタ２２４、第３ページのデータ「１」における書き込みステータスレジスタ２２５、第３ページのデータ「２」における書き込みステータスレジスタ２２６、第３ページのデータ「３」における書き込みステータスレジスタ２２７、第３ページのデータ「４」における書き込みステータスレジスタ２２８、第３ページのデータ「５」における書き込みステータスレジスタ２２９、第３ページのデータ「６」における書き込みステータスレジスタ２３０、第３ページのデータ「７」における書き込みステータスレジスタ２３１、セレクタ回路２３５、２３６により構成されている。セレクタ回路２３５の入力には、ステータスレジスタ２２１、２２２、２２３、２２４の各々の出力及びセレクタ回路２３６の出力が接続されている。また、セレクタ回路２３６の入力には、ステータスレジスタ２２５、２２６、２２７、２２８、２２９、２３０、２３１の各々の出力が接続されている。ステータスレジスタ２２１、２２２、２２３、２２４、２２５、２２６、２２７、２２８、２２９、２３０、２３１は、ＲＥＳＥＴ端子に信号を入力することにより初期化される。また、第３ページの書き込みは、ｐｖｆｙ０Ｕ、ｐｖｆｙ１Ｌ、ｐｖｆｙ１Ｕ、ｐｖｆｙ２Ｌ、ｐｖｆｙ２Ｕ、ｐｖｆｙ３Ｌ、ｐｖｆｙ３Ｕ、ＵＰＰＥＲにおける入力信号を所定の電位の状態とすることにより、各々のステータスレジスタ２２５、２２６、２２７、２２８、２２９、２３０、２３１が特定される。
【０２４３】
尚、ステータスレジスタ２２５は、第５の実施の形態において図２０のステップ５２８における擬似パス情報記憶１、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２２６は、第５の実施の形態において図２０のステップ５４２における擬似パス情報記憶２、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２２７は、第５の実施の形態において図２０のステップ５５６における擬似パス情報記憶３、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２２８は、第５の実施の形態において図２０のステップ５７０における擬似パス情報記憶４、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２２９は、第５の実施の形態において図２０のステップ５８４における擬似パス情報記憶５、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２３０は、第５の実施の形態において図２０のステップ５９８における擬似パス情報記憶６、ステップ６１６におけるＦＡＩＬ情報記憶に関するものであり、ステータスレジスタ２３１は、第５の実施の形態において図２０のステップ６１２における擬似パス情報記憶７、ステップ６１６におけるＦＡＩＬ情報記憶に関するものである。
【０２４４】
[第８の実施の形態]
次に、第８の実施の形態について説明する。本実施の形態における半導体記憶装置であるＮＡＮＤ型フラッシュメモリは、第１の実施の形態におけるものと略同様であり、１つのメモリセルにより２ビット記憶することが可能な多値記憶メモリである。従って、以下の説明では、図１〜１０を適宜引用して説明する。ただし、第８の実施の形態は、一旦複数ページの全て（４値記憶の場合、２ページ）の情報書き込みを終了させた後、各ページにおけるベリファイ動作を順次実行する点で、上記の実施の形態と異なっている。このため、図１２で説明した信号ＵＰＰＥＲは必要なく、この実施の形態では省略可能である。
【０２４５】
次に、図２７及び図２８に基づき本実施の形態における書き込みベリファイ動作について説明する。
【０２４６】
最初に、ステップ１２０２（Ｓ１２０２）において、図１のレジスタ２０におけるベリファイ用フラッグＣＯＭＰ＿Ｓ、ＣＯＭＰ＿Ｂ及びＣＯＭＰ＿Ｃを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード（ベリファイ読みだし）動作を実行する必要があるか否かを示す。本実施の形態では、ＣＯＭＰ＿Ｓ、ＣＯＭＰ＿Ｂ及びＣＯＭＰ＿Ｃは、ともに‘０’に設定される。本実施の形態では、ＣＯＭＰ＿Ｓをメモリセルのデータ「１」へのベリファイ完全パス又は擬似パス許容数以下であることを識別する信号に、ＣＯＭＰ＿Ｂをメモリセルのデータ「２」へのベリファイ完全パス又は擬似パス許容数以下であることを識別する信号に、ＣＯＭＰ＿Ｃをメモリセルのデータ「３」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、それぞれ割り当てることができる。
【０２４７】
次に、ステップ１２０４（Ｓ１２０４）において、第１及び第２ページにおける情報の書き込みが、前述した方法により実行される。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ１２０４の終了後はステップ１２０６に移行する。
【０２４８】
ステップ１２０６（Ｓ１２０６）では、ＣＯＭＰ＿Ｓが、‘１’であるか否かの判断が行なわれる。ステップ１２０６において、ＣＯＭＰ＿Ｓが、‘１’であると判断された場合には、ステップ１２２０に移行する。一方、ステップ１２０６において、ＣＯＭＰ＿Ｓが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｓが、‘０’である場合には、ステップ１２０８に移行する。
【０２４９】
ステップ１２０８（Ｓ１２０８）では、メモリセルのデータ「１」において、第２ページのメモリセルのデータ「１」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「１」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をａ’として、ベリファイ読み出しが行なわれる。この結果、ステップ１２０８において、全てのメモリセルのデータ「１」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ１２１８に移行する。ステップ１２０８において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ１２１０に移行する。
【０２５０】
ステップ１２１０（Ｓ１２１０）では、データ「１」についての擬似パス発動がＯＫか否かの判断が行われる。例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ１２１０において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ１２１２に移行する。一方、ステップ２１０において、擬似パス発動がＮＯとの判断がされた場合には、ステップ１２４４に移行する。
【０２５１】
ステップ１２１２（Ｓ１２１２）では、不良数であるベリファイフェイル数がデータ「１」に関し計測される。ステップ１２１２終了後は、ステップ１２１４へと移行する。
【０２５２】
ステップ１２１４（Ｓ１２１４）では、ステップ１２１２において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。
【０２５３】
ステップ１２１４において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ１２１６に移行する。一方、ステップ１２１４において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ１２２０へと移行する。
【０２５４】
ステップ１２１６（Ｓ１２１６）では、擬似パス情報記憶１のレジスタに、データ「１」に関し、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ１２１６終了後は、ステップ１２１８に移行する。
【０２５５】
ステップ１２１８（Ｓ１２１８）では、メモリセルのデータ「１」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「１」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｓの値を‘１’に変更する。ステップ１２１８終了後は、ステップ１２２０に移行する。
【０２５６】
ステップ１２２０（Ｓ１２２０）では、ＣＯＭＰ＿Ｂが、‘１’であるか否かの判断が行なわれる。ステップ１２２０において、ＣＯＭＰ＿Ｂが、‘１’であると判断された場合には、ステップ１２３２１に移行する。一方、ステップ１２２０において、ＣＯＭＰ＿Ｂが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｂが、‘０’である場合には、ステップ１２２２に移行する。
【０２５７】
ステップ１２２２（Ｓ１２２２）では、メモリセルのデータ「２」において、第２ページのメモリセルのデータ「２」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「２」においてＰＡＳＳ（パス）であるか否かの判断がなされる。この結果、ステップ１２２２において、全てのメモリセルのデータ「２」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ１２３２に移行する。ステップ１２２２において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ１２２４に移行する。
【０２５８】
ステップ１２２４（Ｓ１２２４）では、データ「２」についての擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ１２２４において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ１２２６に移行する。一方、ステップ１２２４において、擬似パス発動がＮＯとの判断がされた場合には、ステップ１２４４に移行する。
【０２５９】
ステップ１２２６（Ｓ１２２６）では、不良数であるベリファイフェイル数がデータ「２」に関し計測される。ステップ１２２６終了後は、ステップ１２２８へと移行する。
【０２６０】
ステップ１２２８（Ｓ１２２８）では、ステップ１２２６において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められる。ステップ１２２８において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ１２３０に移行する。一方、ステップ１２２８において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ１２３２１へと移行する。
【０２６１】
ステップ１２３０（Ｓ１２３０）では、擬似パス情報記憶２のレジスタに、データ「２」に関して擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ１２３０終了後は、ステップ１２３２に移行する。
【０２６２】
ステップ１２３２（Ｓ１２３２）では、メモリセルのデータ「２」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「２」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｂの値を‘１’に変更する。ステップ１２３２終了後は、ステップ１２３２１に移行する。
【０２６３】
ステップ１２３２１（Ｓ１２２３２１）では、ＣＯＭＰ＿Ｃが、‘１’であるか否かの判断が行なわれる。ステップ１２３２１において、ＣＯＭＰ＿Ｃが、‘１’であると判断された場合には、ステップ１２３４２に移行する。一方、ステップ１２３２１において、ＣＯＭＰ＿Ｃが、‘１’ではないと判断された場合、即ち、ＣＯＭＰ＿Ｃが、‘０’である場合には、ステップ１２３４に移行する。
【０２６４】
ステップ１２３４（Ｓ１２３４）では、メモリセルのデータ「３」において、第２ページのメモリセルのデータ「３」における書き込みレベルのベリファイリード（ベリファイ読み出し）動作を実施した後、すべてのメモリセルのデータ「３」においてＰＡＳＳ（パス）であるか否かの判断がなされる。具体的には、図７（ｃ）に示すように、ワード線（ＷＬ）の電位をｃ’として、ベリファイ読み出しが行なわれる。この結果、ステップ１２３４において、全てのメモリセルのデータ「３」においてＰＡＳＳ（パス）である、即ち正常な状態で記憶されていると判断された場合には、ステップ１２３４１に移行する。ステップ１２３４において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、ＦＡＩＬ（フェイル）となりステップ１２３６に移行する。
【０２６５】
ステップ１２３６（Ｓ１２３６）では、データ「３」について擬似パス発動がＯＫか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がＯＫではないと判断され、一定の値を超えた場合には擬似パス発動がＯＫであるとの判断がなされる。擬似パス許容数が０であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がＯＫでないと判断する方法を併用してもよい。ステップ１２３６において、擬似パス発動がＯＫである旨の判断がされた場合には、ステップ１２３８に移行する。一方、ステップ１２３６において、擬似パス発動がＮＯとの判断がされた場合には、ステップ１２４４に移行する。
【０２６６】
ステップ１２３８（Ｓ１２３８）では、不良数であるベリファイフェイル数がデータ「３」に関し計測される。ステップ１２３８終了後は、ステップ１２４０へと移行する。
【０２６７】
ステップ１２４０（Ｓ１２４０）では、ステップ１２３８において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図１０に示すように参照電流Ｉｒｅｆにより定められる。なお、ステップ１２４０において、予めデータ「１」「２」「３」のトータルのベリファイフェイル数の許容数（トータル許容数）を設定しておき、データ「３」についての許容数は、そのトータル許容数から、ステップＳ１２１２、Ｓ１２２６で得られた実際の不良数を差し引いた値としてもよい。
【０２６８】
ステップ１２４０において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ１２４２に移行する。一方、ステップ１２４０において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ１２４４へと移行する。
【０２６９】
ステップ１２４２（Ｓ１２４２）では、擬似パス情報記憶３のレジスタに、データ「３」に関し擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ１２４２終了後は、ステップ１２３４１に移行する。
【０２７０】
ステップ１２３４１（Ｓ１２３４１）では、メモリセルのデータ「３」がベリファイにおいて、完全ＰＡＳＳ（パス）または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「３」におけるベリファイ読み出し動作を行なう必要がないため、ＣＯＭＰ＿Ｃの値を‘１’に変更する。ステップ１２３４１終了後は、ステップ１２３４２に移行する。ステップ１２４４（Ｓ１２４４）では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるＮＡＮＤ型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるＮＡＮＤ型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
【０２７１】
ステップ１２４４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ１２４６に移行する。一方、ステップ１２４４において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ１２０４に移行し、再度情報の書き込みが行なわれる。
【０２７２】
ステップ１２４６（Ｓ１２４６）では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、ＮＡＮＤ型フラッシュメモリ内のレジスタに記憶（ＦＡＩＬ情報記憶）される。以上により書き込み動作が行なわれる。ステップ１２４６終了後は、ステップ１２４８に移行する。
【０２７３】
ステップ１２３４２（Ｓ１２３４２）では、  ＣＯＭＰ＿Ｓ＝ＣＯＭＰ＿Ｂ＝ＣＯＭＰ＿Ｃ＝‘１’であるか否かの判断が行なわれる。ステップ１２３４２において、ＣＯＭＰ＿Ｓ＝ＣＯＭＰ＿Ｂ＝ＣＯＭＰ＿Ｃ＝‘１’であると判断された場合には、Ｓ１２４８へ移行する。一方、ステップ１２３４２において、ＣＯＭＰ＿Ｓ＝ＣＯＭＰ＿Ｂ＝ＣＯＭＰ＿Ｃ＝‘１’ではないと判断された場合には、ステップ１２４４に移行する。
【０２７４】
ステップ１２４８（Ｓ１２４８）では、ステータスリードがＰＡＳＳ（パス）であるか否かの判断がされる。具体的には、ステップ１２４６において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ１２３４においてＰＡＳＳの場合、ステップ１２４２又はステップ１２４６終了後、ＮＡＮＤ型フラッシュメモリの外部に設けられた制御装置より、ＮＡＮＤ型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、ＮＡＮＤ型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
【０２７５】
ステップ１２４８において、ＰＡＳＳ（パス）と判断された場合には、第２ページにおける書き込みベリファイ動作は終了する。一方、ステップ１２４８において、ＦＡＩＬ（フェイル）と判断された場合には、ステップ１２５０に移行する。
【０２７６】
ステップ１２５０（Ｓ１２５０）では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ１２５０終了後、書き込みベリファイ動作は終了する。尚、ステップ１２０２からステップ１２４６までの処理は、図８に示すＮＡＮＤ型フラッシュメモリ５１において行なわれ、ステップ１２４８、ステップ１２５０の処理は、図８に示すメモリコントローラであるフラッシュコントローラ５３において行なわれる。なお、この第８の実施の形態において、第２の実施の形態と同様なベリファイスキップ動作を実行することも可能である。
【０２７７】
以上の実施の形態は、１つのメモリセルに２以上のビット情報を記憶することに適応可能であり、具体的には、２ビット、３ビットに限定されることなく、４ビット以上の情報の記憶をすることに適用することが可能である。
【０２７８】
以上、実施の形態において本発明における半導体記憶装置について詳細に説明したが、本発明は上記実施の形態に限定されるものではなく、これ以外の形態をとることが可能である。
【図面の簡単な説明】
【０２７９】
【図１】本発明の実施の形態におけるフラッシュメモリのブロック図
【図２】図１に示すフラッシュメモリのメモリセルアレイの構成図
【図３】図１に示すフラッシュメモリのセンスアンプの構成図
【図４】フラッシュメモリのメモリセルの断面図
【図５】フラッシュメモリの選択ゲートの断面図
【図６】フラッシュメモリのメモリセルアレイの断面図
【図７】４値記憶におけるフラッシュメモリセルのデータと閾値との関係図
【図８】フラッシュメモリにおけるメモリシステムの構成図
【図９】図８に示すＲＯＭヒューズレジスタのレジスタマップの構成図
【図１０】フラッシュメモリの擬似パス対応型データレジスタとデータ状態比較回路の回路図
【図１１】第１の実施の形態における書き込みフローチャート（１）
【図１２】第１の実施の形態における入力信号とレジスタ出力信号との関係図
【図１３】第１の実施の形態における書き込みフローチャート（２）
【図１４】第２の実施の形態における書き込みフローチャート（１）
【図１５】第２の実施の形態における書き込みフローチャート（２）
【図１６】第３の実施の形態におけるレジスタ出力信号の選択のための構成図
【図１７】第３の実施の形態における入力信号とレジスタ出力信号との関係図
【図１８】第４の実施の形態における入力信号とレジスタ出力信号との関係図
【図１９】第５の実施の形態におけるメモリセルのデータと閾値との関係図
【図２０Ａ】第５の実施の形態における書き込みフローチャート
【図２０Ｂ】第５の実施の形態における書き込みフローチャート
【図２０Ｃ】第５の実施の形態における書き込みフローチャート
【図２１】第５の実施の形態における入力信号とレジスタ出力信号との関係図
【図２２】第５の実施の形態におけるレジスタ出力信号の選択のための構成図
【図２３】第６の実施の形態における入力信号とレジスタ出力信号との関係図
【図２４】第６の実施の形態におけるレジスタ出力信号の選択のための構成図
【図２５】第７の実施の形態におけるステータスレジスタの構成図
【図２６】第７の実施の形態における別のステータスレジスタの構成図
【図２７】第８の実施の形態における書き込みフローチャート
【図２８】第８の実施の形態における書き込みフローチャート
【符号の説明】
【０２８０】
６１・・・ページバッファ、６２・・・バイト単位のページバッファ、６３・・・ページバッファ群、６４・・・電流比較回路、６５・・・参照電流設定回路、６６・・・選択回路、６７・・・選択信号生成回路
【図１】
2008198337.tif 000003
【図２】
2008198337.tif 000004
【図３】
2008198337.tif 000005
【図４】
2008198337.tif 000006
【図５】
2008198337.tif 000007
【図６】
2008198337.tif 000008
【図７】
2008198337.tif 000009
【図８】
2008198337.tif 000010
【図９】
2008198337.tif 000011
【図１０】
2008198337.tif 000012
【図１１】
2008198337.tif 000013
【図１２】
2008198337.tif 000014
【図１３】
2008198337.tif 000015
【図１４】
2008198337.tif 000016
【図１５】
2008198337.tif 000017
【図１６】
2008198337.tif 000018
【図１７】
2008198337.tif 000019
【図１８】
2008198337.tif 000020
【図１９】
2008198337.tif 000021
【図２０Ａ】
2008198337.tif 000022
【図２０Ｂ】
2008198337.tif 000023
【図２０Ｃ】
2008198337.tif 000024
【図２１】
2008198337.tif 000025
【図２２】
2008198337.tif 000026
【図２３】
2008198337.tif 000027
【図２４】
2008198337.tif 000028
【図２５】
2008198337.tif 000029
【図２６】
2008198337.tif 000030
【図２７】
2008198337.tif 000031
【図２８】
2008198337.tif 000032