〔第1の実施の形態〕
本発明における第1の実施の形態を以下に記載する。
図1は、本実施の形態によるNAND型フラッシュメモリの機能ブロック構成を示し、図2はそのメモリコア部のセルアレイ構成を示している。セルアレイ1は、図2に示すように、複数の電気的書き換え可能な複数の不揮発性メモリセル(図の例では32個のメモリセル)M0−M31が直列接続されたNANDセルユニット(NANDストリング)NUを配列して構成される。
NANDセルユニットNUの一端は、選択ゲートトランジスタS1を介してビット線BLo(奇数番)、BLe(偶数番)に、他端は選択ゲートトランジスタS2を介して共通ソース線CELSRCに接続される。メモリセルM0−M31の制御ゲートはそれぞれワード線WL0−WL31に接続され、選択ゲートトランジスタS1、S2のゲートは選択ゲート線SGD、SGSに接続される。
ワード線方向に配列されるNANDセルユニットの集合が、データ消去の最小単位となるブロックを構成し、図示のようにビット線の方向に複数のブロックBLK0−BLKnが配置される。
ビット線BLe、BLoの一端側に、セルデータの読み出し及び書き込みに供させるセンスアンプ回路2が配置され、ワード線の一端側にワード線及び選択ゲート線の選択駆動を行うロウデコーダ2が配置される。図2では、隣接する偶数番ビット線BLeと奇数番ビット線BLoのいずれかがビット線選択回路の選択信号SELe、SELoにより選択的にセンスアンプ回路3の各センスアンプPBに接続される場合を示している。すなわち、各センスアンプPBは、偶数番ビット線BLeとこれに隣接する奇数番ビット線BLoとで共有される。これは、セルアレイ1の微細化により、ビット線ピッチ毎にセンスユニットを配置することが困難であること、及び、隣接ビット線間の容量結合ノイズが大きくなることを考慮した結果である。偶数番ビット線BLeと奇数番ビット線BLoは、その一方が選択される時に他方をシールド線として用いることにより、ビット線間容量結合ノイズの影響を低減することができる。この実施の形態では、一つのワード線と全偶数番ビット線により選択されるメモリセルの集合が第1ページ(偶数ページ)を構成し、同ワード線と全奇数ビット線により選択されるメモリセルの集合が第2ページ(奇数ページ)を構成する。各ページが同時にデータ読み出し及び書き込みが行われる単位である。
コマンド、アドレス及びデータは、入力バッファ12を介して入力され、チップイネーブル信号CEnx、書き込みイネーブル信号WEnx、読み出しイネーブル信号REnx等の外部制御信号は、入力バッファ11を介して入力される。コマンドは、コマンドデコーダ13でデコードされて、内部制御回路であるステートマシン8に送られる。
ステートマシン8の制御プログラムの一部若しくは全部は、ROM回路9に保持されており、電源投入時、電源オン検知回路10が電源オンを検知すると、ステートマシン8に制御プログラムが転送され、各種動作制御が行われる。
アドレスは、アドレスバッファ14を介し、コントロールレジスタ7a、7bを介してロウデコーダやカラムゲートに転送される。書き込みデータは、データバッファ15を介して、センスアンプ回路3にロードされ、センスアンプ回路3の読み出しデータはデータバッフア16を介して、外部に出力される。
各動作モードに応じて必要とされる高電圧を発生するために、高電圧発生回路4が設けられている。高電圧発生回路4は、ステートマシン8からコントロールレジスタ6を介して与えられる指令に基づいて所定の高電圧を発生する。
センスアンプ回路3に付属して、データ書き込み時センスアンプ回路3内のデータラッチのデータに基づいてベリファイ判定を行うためのベリファイ判定回路5が設けられている。ステートマシン8は、ベリファイ判定回路5の出力であるパス/フェイルフラグを監視して、書き込みシーケンス制御を行う。また、ステートマシン8には、レジスタ20が設けられており、後述するベリファイ用フラッグが記憶されている。
図3は、センスアンプ回路3の一つのセンスアンプPBの構成例を示している。センスノードNsenとビット線BLの間に配置されたNMOSトランジスタQ1は、ビット線BLのプリチャージ電圧をクランプする働きと、ビット線電圧を増幅するプリセンスアンプとしての働きをする。センスノードNsenには、プリチャージ用NMOSトランジスタQ2が接続され、また必要に応じて電荷保持用のキャパシタC1が接続される。
センスノードNsenは、転送用NMOSトランジスタQ3を介してデータラッチLAT1の一方のデータノードN1に接続されている。データノードN1とセンスノードNsenの間には、読み出しデータを一時記憶するためのデータ記憶回路DSが設けられている。ドレインが電圧端子VREGに接続されたNMOSトランジスタQ4のゲートがデータ記憶ノードNRである。この記憶ノードNRとデータラッチLAT1のデータノードN1の間に、データ転送用NMOSトランジスタQ6が配置されている。また記憶ノードNRが保持するデータに応じて、センスノードNsenに電圧VREGを転送するために、NMOSトランジスタQ4とセンスノードNsenの間にNMOSトランジスタQ5が配置されている。
データ記憶回路DSは、書き込み時に前サイクルの書き込みデータを保持して、ベリファイ読み出し動作において、“0”書き込み不十分のセルについてのみ、“0”データをデータラッチLAT1に書き戻すための書き戻し回路として用いられる。言い換えれば、1ページの全ビットの書き込みが完了したときに、データラッチLAT1がオール“1”データ状態になるように、制御される。
データノードNsenには、転送用NMOSトランジスタQ7を介してデータキャッシュを構成する、もう一つのデータラッチLAT2が接続されている。データラッチLAT1とLAT2の間では、1ページの読み出し/書き込みデータが同時に転送される。データラッチLAT2のデータノードN11、N12は、カラム選択信号CSLiにより制御されるカラム選択ゲートQ11、Q12を介して相補データ線DL、DLnに接続されている。
図4はメモリセルMCの断面構造を示し、図5は選択ゲートS1及びS2の断面構造を示している。基板41にはメモリセルMCを構成するMOSFETのソース、ドレインとして機能するn型拡散層42が形成されている。また基板41の上にはゲート絶縁膜43を介して浮遊ゲート(FG)44が形成され、この浮遊ゲート44の上には絶縁膜45を介して制御ゲート(CG)46が形成されている。
選択ゲートS1、S2は、基板41と、この基板41に形成されたソース、ドレインとしてのn型拡散層47を備えている。基板41の上にはゲート絶縁膜48を介して制御ゲート49が形成されている。
図6は、メモリセルアレイの1つのNANDセルの断面を示している。この例において、1つのNANDセルは、図4に示す構成の32個のメモリセルMCが直列接続されて構成されている。NANDセルのドレイン側、ソース側には、図5に示す構成の第1の選択ゲートS1、S2が設けられている。
次に本実施の形態におけるNANDセルの動作について説明する。
図7は、メモリセルのデータとメモリセルの閾値電圧との関係を示している。図7(a)に示すように、消去動作を行なった後、第1ページにデータの書き込みを行なうと、図7(b)に示すように、メモリセルにおいては、データ「0」とデータ「2*」の状態が形成される。この後、第2ページにデータの書き込みを行なうと、図7(c)に示すように、メモリセルにおいては、4値記憶本来の閾値電圧を有するデータ「0」、データ「1」、データ「2」、データ「3」の状態が形成される。本実施の形態では、このような4値記憶について説明する。
図8は、本実施の形態におけるNAND型フラッシュメモリ51とメモリコントローラであるフラッシュコントローラ53との関係を示す。図8に示すように、フラッシュコントローラ53は、外部ホスト等のシステムからの要求に従い、NAND型フラッシュメモリ51をアクセスし、データの読み出し、データの書き込み及びデータの消去等を行い、NAND型フラッシュメモリ51を制御する。
NAND型フラッシュメモリ51は、制御ピンと入出力ピンとを有している。制御ピンは、フラッシュコントローラ53からの制御信号を受信するためのピンであり、入出力ピンは、フラッシュコントローラ53とNAND型フラッシュメモリ51との間の受送信、即ち、フラッシュコントローラ53からのコマンドの受信、及びフラッシュコントローラ53へのステータスの送信を行なうためのピンである。本実施の形態では、制御ピンとして/CE(チップイネーブル)、ALE(アドレスラッチイネーブル)、CLE(コマンドラッチイネーブル)、/WE(ライトイネーブル)、/RE(リードイネーブル)、RB(レディ・ビジー)、/WP(ライトプロテクト)を有し、入出力ピンとしてIO[7:0]を有している。これらの制御ピン及び入出力ピンは、NAND型フラッシュメモリ51とフラッシュコントローラ53とを接続している。また、NAND型フラッシュメモリ51は内部にROMヒューズ(ROM fuse)55を有しており、擬似パスの許容数等を記憶する。ROMヒューズ55は、後述するメモリセルアレイ中のメモリセルと同じ構造を持つメモリセルにより形成されるが、メモリセルアレイ中に形成してもメモリセルアレイとは別の領域に形成してもよい。
図9には、ROMヒューズ55におけるROMヒューズレジスタのレジスタマップの構成を示す。レジスタマップでは、アドレス(address)に対応して後述する選択回路の入力信号であるレジスタ出力信号BSPF_L、BSPF_U1、BSPF_U2、BSPF_U3の情報が記憶されている。尚、BSPF_L、BSPF_U1、BSPF_U2、BSPF_U3、後述するBSPFはバスにおける出力信号を意味している。
図10は本実施の形態におけるフラッシュメモリのベリファイ判定回路5の構成を示す回路図である。
本実施の形態におけるベリファイ判定回路5は、複数のデータレジスタ回路であるページバッファ61から構成されるバイト単位ページバッファ62を複数有したページバッファ群63、電流比較回路64、参照電流設定回路65、選択回路66、選択信号生成回路67より構成される。
電流比較回路64では、検知線LSENにおけるフェイル電流Ifailを参照電流設定回路65における参照電流Irefと比較してパス/フェイル判定を行なう。電流比較回路64は、PMOSトランジスタP10、P11、P12からなるPMOSカレントミラー回路と、コンパレータ64aにより構成されている。PMOSトランジスタP10のゲートは、活性化信号ENBと接続されており制御が行なわれる。PMOSトランジスタP11のドレインは、PMOSトランジスタP11のゲート及びPMOSトランジスタP12のゲートとともに検知線LSENと接続されており、更には、コンパレータ64aに接続されている。また、PMOSトランジスタP12のドレインは、コンパレータ64aに接続されるとともに、参照電流設定回路65に接続されている。
参照電流設定回路65は、指示信号BSFPにより流す参照電流Irefが選択可能に構成された可変電流源である。選択回路66は参照電流設定回路65の参照電流Irefを設定するために設けられている。具体的には、選択回路66には、第1ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_L、第2ページのデータ「1」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U1、第2ページのデータ「2」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U2、第2ページのデータ「3」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U3は各々独立に設定されバスにより接続されている。選択回路66では、選択信号生成回路67より出力された選択信号SELにより、所定のレジスタ出力信号を選択回路66の出力信号BSPFとして出力する。この出力信号BSPFが参照電流設定回路65に入力することにより、所定の擬似パス許容数に対応した参照電流Irefを生成する。
次に、本実施の形態における書き込みベリファイ動作について説明する。本実施の形態における半導体記憶装置であるNAND型フラッシュメモリは、前述のとおり1つのメモリセルにより2ビット記憶することが可能な多値記憶メモリである。このため4値の記憶状態により判別される。図7に示したように、第1ページの書き込みの後、第2ページの書き込みが行なわれる。このため第1ページにおける書き込みベリファイ動作と第2ページにおける書き込みベリファイは分けて行なわれる。第1ページの書き込みと第2ページの書き込みとは、入力信号UPPERの状態により判別可能である。
図11に基づき第1ページの書き込みベリファイ動作について説明する。
最初に、ステップ102(S102)において、第1ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。この状態では、入力信号UPPERは‘0’に設定され、選択信号生成回路67に入力されている。ステップ102の終了後はステップ104に移行する。
ステップ104(S104)では、第1ページの書き込みレベルにおけるベリファイリード(ベリファイ読み出し)動作を実施した後、全てのメモリセルにおいてPASS(パス)であるか否かの判断がなされる。具体的には、図7(b)に示すように、ワード線(WL)の電位をb*’として、ベリファイ読み出しが行なわれる。この結果、ステップ104において、全てのメモリセルにおいてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ118に移行する。ステップ104において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ106に移行する。
ステップ106(S106)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ106において、擬似パス発動がOKである旨の判断がされた場合には、ステップ108に移行する。一方、ステップ106において、擬似パス発動がOKではないとの判断がされた場合には、ステップ114に移行する。
ステップ108(S108)では、不良数であるベリファイフェイル数が計測される。ステップ108終了後は、ステップ110へと移行する。
ステップ110(S110)では、ステップ108において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、選択信号SELにより、第1ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_Lが選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
図12に本実施の形態における選択信号生成回路67への入力信号と、これにより生成される選択信号SELにより選択回路66により選択されるレジスタ出力信号との関係を示す。第1ページのベリファイ時には、選択信号生成回路67への入力信号UPPERに‘0’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_Lが出力される。
ステップ110において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ112に移行する。一方、ステップ110において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ114へと移行する。
ステップ112(S112)では、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は後述するステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ112終了後は、ステップ118に移行する。
ステップ114(S114)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、例えば、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ114において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ116に移行する。一方、ステップ114において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ102に移行し、再度情報の書き込みが行なわれる。
ステップ116(S116)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ116終了後は、ステップ118に移行する。
ステップ118(S118)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ116において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ104においてPASSの場合、ステップ112又はステップ116終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受けて返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ118において、PASS(パス)と判断された場合には、第1ページにおける書き込みベリファイ動作は終了する。一方、ステップ118において、FAIL(フェイル)と判断された場合には、ステップ120に移行する。
ステップ120(S120)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ120終了後、第1ページにおける書き込みベリファイ動作は終了する。尚、ステップ102からステップ116までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ118、ステップ120の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。
次に、図13に基づき第2ページの書き込みベリファイ動作について説明する。尚、第2ページの書き込みであることを識別するために、入力信号UPPERは‘1’に設定され、選択信号生成回路67に入力されている。
最初に、ステップ202(S202)において、図1のレジスタ20におけるベリファイ用フラッグCOMP_S及びCOMP_Bを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード(ベリファイ読みだし)動作を実行する必要があるか否かを示す。本実施の形態では、COMP_S及びCOMP_Bは、ともに‘0’に設定される。本実施の形態では、閾値電圧の低い分布より書き始める方式を採用しているため、COMP_Sをメモリセルのデータ「1」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、COMP_Bをメモリセルのデータ「2」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に割り当てることができる。
次に、ステップ204(S204)において、第2ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ204の終了後はステップ206に移行する。
ステップ206(S206)では、COMP_Sが、‘1’であるか否かの判断が行なわれる。ステップ206において、COMP_Sが、‘1’であると判断された場合には、ステップ220に移行する。一方、ステップ206において、COMP_Sが、‘1’ではないと判断された場合、即ち、COMP_Sが、‘0’である場合には、ステップ208に移行する。
ステップ208(S208)では、メモリセルのデータ「1」において、第2ページのメモリセルのデータ「1」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「1」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をa’として、ベリファイ読み出しが行なわれる。この結果、ステップ208において、全てのメモリセルのデータ「1」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ218に移行する。ステップ208において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ210に移行する。
ステップ210(S210)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ210において、擬似パス発動がOKである旨の判断がされた場合には、ステップ212に移行する。一方、ステップ210において、擬似パス発動がNOとの判断がされた場合には、ステップ244に移行する。
ステップ212(S212)では、不良数であるベリファイフェイル数が計測される。ステップ212終了後は、ステップ214へと移行する。
ステップ214(S214)では、ステップ212において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「1」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U1が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
具体的には、図12に示すように第2ページのデータ「1」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘1’、pvfyU2に‘0’、pvfyU3に‘0’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U1が出力される。ここで、pvfyU1、pvfyU2 、pvfyU3は、それぞれが‘1’になったとき、対応する第2ページのデータ「1」、「2」、「3」の各々のベリファイ動作中であることを示す信号である。
ステップ214において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ216に移行する。一方、ステップ214において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ244へと移行する。
ステップ216(S216)では、擬似パス情報記憶1のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ216終了後は、ステップ218に移行する。
ステップ218(S218)では、メモリセルのデータ「1」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「1」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Sの値を‘1’に変更する。ステップ218終了後は、ステップ220に移行する。
ステップ220(S220)では、COMP_Bが、‘1’であるか否かの判断が行なわれる。ステップ220において、COMP_Bが、‘1’であると判断された場合には、ステップ234に移行する。一方、ステップ220において、COMP_Bが、‘1’ではないと判断された場合、即ち、COMP_Bが、‘0’である場合には、ステップ222に移行する。
ステップ222(S222)では、メモリセルのデータ「2」において、第2ページのメモリセルのデータ「2」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「2」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をb’として、ベリファイ読み出しが行なわれる。この結果、ステップ222において、全てのメモリセルのデータ「2」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ232に移行する。ステップ222において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ224に移行する。
ステップ224(S224)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ224において、擬似パス発動がOKである旨の判断がされた場合には、ステップ226に移行する。一方、ステップ224において、擬似パス発動がNOとの判断がされた場合には、ステップ244に移行する。
ステップ226(S226)では、不良数であるベリファイフェイル数が計測される。ステップ226終了後は、ステップ228へと移行する。
ステップ228(S228)では、ステップ226において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「2」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U2が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
具体的には、図12に示すように第2ページのデータ「2」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘0’、pvfyU2に‘1’、pvfyU3に‘0’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U2が出力される。
ステップ228において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ230に移行する。一方、ステップ228において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ244へと移行する。
ステップ230(S230)では、擬似パス情報記憶2のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ230終了後は、ステップ232に移行する。
ステップ232(S232)では、メモリセルのデータ「2」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「2」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Bの値を‘1’に変更する。ステップ232終了後は、ステップ234に移行する。
ステップ234(S234)では、メモリセルのデータ「3」において、第2ページのメモリセルのデータ「3」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「3」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をc’として、ベリファイ読み出しが行なわれる。この結果、ステップ234において、全てのメモリセルのデータ「3」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ248に移行する。ステップ234において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ236に移行する。
ステップ236(S236)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ236において、擬似パス発動がOKである旨の判断がされた場合には、ステップ238に移行する。一方、ステップ236において、擬似パス発動がNOとの判断がされた場合には、ステップ244に移行する。
ステップ238(S238)では、不良数であるベリファイフェイル数が計測される。ステップ238終了後は、ステップ240へと移行する。
ステップ240(S240)では、ステップ238において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「3」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U3が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。なお、ステップ240において、予めデータ「1」「2」「3」のトータルのベリファイフェイル数の許容数(トータル許容数)を設定しておき、データ「3」についての許容数は、そのトータル許容数から、ステップS212、S226で得られた実際の不良数を差し引いた値としてもよい。
具体的には、図12に示すように第2ページのデータ「3」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘0’、pvfyU2に‘0’、pvfyU3に‘1’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U3が出力される。
ステップ240において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ242に移行する。一方、ステップ240において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ244へと移行する。
ステップ242(S242)では、擬似パス情報記憶3のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ242終了後は、ステップ248に移行する。
ステップ244(S244)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ244において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ246に移行する。一方、ステップ244において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ204に移行し、再度情報の書き込みが行なわれる。
ステップ246(S246)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ246終了後は、ステップ248に移行する。
ステップ248(S248)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ246において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ234においてPASSの場合、ステップ242又はステップ246終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ248において、PASS(パス)と判断された場合には、第2ページにおける書き込みベリファイ動作は終了する。一方、ステップ248において、FAIL(フェイル)と判断された場合には、ステップ250に移行する。
ステップ250(S250)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ250終了後、第2ページにおける書き込みベリファイ動作は終了する。尚、ステップ202からステップ246までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ248、ステップ250の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。
本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定する必要がある。このフェイル許容数は、本実施の形態における半導体記憶装置であるNAND型フラッシュメモリの電源投入時に、内部において自動的に行なわれるROMヒューズ読み出しにより、所定のデータレジスタに格納する方法や、外部からの制御装置が書き込みの都度若しくは、NAND型フラッシュメモリの電源投入後に、一回以上NAND型フラッシュメモリのデータレジスタに書き込みを行なうこと等により実施することができる。
従って、従来は、完全パスのみしか許されていなかったため、例えば、キャッシュプログラム等の動作時において、NAND型フラッシュメモリにおけるメモリセル特性劣化により、メモリセルのデータ「1」において書き込みが不能となっている場合や、書き込み時間を大幅に要する場合に発生した平均書き込みデータレートの低下が生じていたが、本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定することにより、これらを回避することが可能となり、半導体記憶装置であるNAND型フラッシュメモリにおける書き込み動作全体が短時間で行なうことが可能となる。
即ち、従来においては、少なくとも擬似パス機能を発動するまで、メモリセルにおいて擬似パスを認識することができないため、書き込みとベリファイを繰り返すこととなり、全体の書き込みに時間を要する場合があった。また、メモリセルの閾値変動量の少ない初期段階から常に擬似パス機能を発動した場合、擬似パス機能を必要としない場合もあることから、この場合においても、全体の書き込みに時間を要する場合があった。更に、通常は、擬似パス機能はページに対し固定した許容数が設定されていた。本実施の形態においては、閾値電圧分布に応じたデータに対し、適切なフェイル許容数を設定することにより、書き込みに要する全体の時間を短縮することができるのである。
〔第2の実施の形態〕
次に、第2の実施の形態における書き込みベリファイ動作について説明する。本実施の形態における半導体記憶装置であるNAND型フラッシュメモリは、第1の実施の形態におけるものと同様であり、1つのメモリセルにより2ビット記憶することが可能な多値記憶メモリである。本実施の形態では、ベリファイスキップを行なうステップが組み込まれたベリファイ動作である。具体的には、メモリセルにおける書き込み初期段階では、閾値電圧変動量も少なくベリファイレベルに到達しているメモリセル数も少ない。このため、この段階においてベリファイリード(読み出し)を行なってもフェイル(FAIL)となることが予想される。更には、擬似パス判定を行なってもフェイルする可能性も高い。よって、この段階ではベリファイリードを行なわないことが書き込みにおける総時間を短縮することになる。従って、所定のベリファイスキップの条件を定め、ベリファイ動作をスキップするか否かの判定をおこなうものである。
図14に基づき第1ページの書き込みベリファイ動作について説明する。
最初に、ステップ302(S302)において、第1ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。この状態では、入力信号UPPERは‘0’に設定され、選択信号生成回路67に入力されている。ステップ302の終了後はステップ304に移行する。
ステップ304(S304)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。尚、ベリファイスキップの基準は上記書き込みパルスの印加回数以外の基準であってもかまわない。ステップ304において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ302に移行する。一方、ステップ304において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ306に移行する。
ステップ306(S306)では、第1ページの書き込みレベルにおけるベリファイリード(ベリファイ読み出し)動作を実施した後、全てのメモリセルにおいてPASS(パス)であるか否かの判断がなされる。具体的には、図7(b)に示すように、ワード線(WL)の電位をb*’として、ベリファイ読み出しが行なわれる。この結果、ステップ306において、全てのメモリセルにおいてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ320に移行する。ステップ306において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ308に移行する。
ステップ308(S308)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ308において、擬似パス発動がOKである旨の判断がされた場合には、ステップ310に移行する。一方、ステップ308において、擬似パス発動がOKではないとの判断がされた場合には、ステップ316に移行する。
ステップ310(S310)では、不良数であるベリファイフェイル数が計測される。ステップ310終了後は、ステップ312へと移行する。
ステップ312(S312)では、ステップ310において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、選択信号SELにより、第1ページ書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_Lが選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
図12に本実施の形態における選択信号生成回路67への入力信号と、これにより生成される選択信号SELにより選択回路66により選択されるレジスタ出力信号との関係を示す。第1ページのベリファイ時には、選択信号生成回路67への入力信号UPPERに‘0’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_Lが出力される。
ステップ312において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ314に移行する。一方、ステップ312において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ316へと移行する。
ステップ314(S314)では、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は後述するステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ314終了後は、ステップ320に移行する。
ステップ316(S316)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ316において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ318に移行する。一方、ステップ316において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ302に移行し、再度情報の書き込みが行なわれる。
ステップ318(S318)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ318終了後は、ステップ320に移行する。
ステップ320(S320)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ318において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ306においてPASSの場合、ステップ314又はステップ318終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ320において、PASS(パス)と判断された場合には、第1ページにおける書き込みベリファイ動作は終了する。一方、ステップ320において、FAIL(フェイル)と判断された場合には、ステップ322に移行する。
ステップ322(S322)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ322終了後、第1ページにおける書き込みベリファイ動作は終了する。尚、ステップ302からステップ318までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ320、ステップ322の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。
次に、図15に基づき第2ページの書き込みベリファイ動作について説明する。尚、第2ページの書き込みであることを識別するために、入力信号UPPERは‘1’に設定され、選択信号生成回路67に入力されている。
最初に、ステップ402(S402)において、図1のレジスタ20におけるベリファイ用フラッグCOMP_S及びCOMP_Bを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード(ベリファイ読みだし)動作を実行する必要があるか否かを示す。本実施の形態では、COMP_S及びCOMP_Bは、ともに‘0’に設定される。本実施の形態では、閾値電圧の低い分布より書き始める方式を採用しているため、COMP_Sをメモリセルのデータ「1」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、COMP_Bをメモリセルのデータ「2」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に割り当てることができる。
次に、ステップ404(S404)において、第2ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ404の終了後はステップ406に移行する。
ステップ406(S406)では、COMP_Sが、‘1’であるか否かの判断が行なわれる。ステップ406において、COMP_Sが、‘1’であると判断された場合には、ステップ422に移行する。一方、ステップ406において、COMP_Sが、‘1’ではないと判断された場合、即ち、COMP_Sが、‘0’である場合には、ステップ408に移行する。
ステップ408(S408)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ408において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ404に移行する。一方、ステップ408において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ410に移行する。
ステップ410(S410)では、メモリセルのデータ「1」において、第2ページのメモリセルのデータ「1」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「1」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をa’として、ベリファイ読み出しが行なわれる。この結果、ステップ410において、全てのメモリセルのデータ「1」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ420に移行する。ステップ410において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ412に移行する。
ステップ412(S412)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ412において、擬似パス発動がOKである旨の判断がされた場合には、ステップ414に移行する。一方、ステップ412において、擬似パス発動がNOとの判断がされた場合には、ステップ450に移行する。
ステップ414(S414)では、不良数であるベリファイフェイル数が計測される。ステップ414終了後は、ステップ416へと移行する。
ステップ416(S416)では、ステップ414において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「1」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U1が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
具体的には、図12に示すように第2ページのデータ「1」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘1’、pvfyU2に‘0’、pvfyU3に‘0’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U1が出力される。ここで、pvfyU1、pvfyU2 、pvfyU3は、それぞれが‘1’になったとき、対応する第2ページのデータ「1」、「2」、「3」の各々のベリファイ動作中であることを示す信号である。
ステップ416において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ418に移行する。一方、ステップ416において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ450へと移行する。
ステップ418(S418)では、擬似パス情報記憶1のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ418終了後は、ステップ420に移行する。
ステップ420(S420)では、メモリセルのデータ「1」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、メモリセルのデータ「1」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Sの値を‘1’に変更する。ステップ420終了後は、ステップ422に移行する。
ステップ422(S422)では、COMP_Bが、‘1’であるか否かの判断が行なわれる。ステップ422において、COMP_Bが、‘1’であると判断された場合には、ステップ438に移行する。一方、ステップ422において、COMP_Bが、‘1’ではないと判断された場合、即ち、COMP_Bが、‘0’である場合には、ステップ424に移行する。
ステップ424(S424)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ424において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ404に移行する。一方、ステップ424において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ426に移行する。
ステップ426(S426)では、メモリセルのデータ「2」において、第2ページのメモリセルのデータ「2」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「2」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をb’として、ベリファイ読み出しが行なわれる。この結果、ステップ426において、全てのメモリセルのデータ「2」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ436に移行する。ステップ426において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ428に移行する。
ステップ428(S428)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ428において、擬似パス発動がOKである旨の判断がされた場合には、ステップ430に移行する。一方、ステップ428において、擬似パス発動がNOとの判断がされた場合には、ステップ450に移行する。
ステップ430(S430)では、不良数であるベリファイフェイル数が計測される。ステップ430終了後は、ステップ432へと移行する。
ステップ432(S432)では、ステップ430において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「2」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U2が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
具体的には、図12に示すように第2ページのデータ「2」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘0’、pvfyU2に‘1’、pvfyU3に‘0’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U2が出力される。
ステップ432において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ434に移行する。一方、ステップ432において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ450へと移行する。
ステップ434(S434)では、擬似パス情報記憶2のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ434終了後は、ステップ436に移行する。
ステップ436(S436)では、メモリセルのデータ「2」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、メモリセルのデータ「2」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Bの値を‘1’に変更する。ステップ436終了後は、ステップ438に移行する。
ステップ438(S438)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ438において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ404に移行する。一方、ステップ438において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ440に移行する。
ステップ440(S440)では、メモリセルのデータ「3」において、第2ページのメモリセルのデータ「3」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「3」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をc’として、ベリファイ読み出しが行なわれる。この結果、ステップ440において、全てのメモリセルのデータ「3」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ454に移行する。ステップ440において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ442に移行する。
ステップ442(S442)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ442において、擬似パス発動がOKである旨の判断がされた場合には、ステップ444に移行する。一方、ステップ442において、擬似パス発動がNOとの判断がされた場合には、ステップ450に移行する。
ステップ444(S444)では、不良数であるベリファイフェイル数が計測される。ステップ444終了後は、ステップ446へと移行する。
ステップ446(S446)では、ステップ444において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められるが、この参照電流Irefは、選択回路66において、図12に示すように、選択信号SELにより、第2ページのデータ「3」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U3が選択され、出力信号BSPFとして出力し、これを参照電流設定回路65に入力することにより設定される。
具体的には、図12に示すように第2ページのデータ「3」におけるベリファイ時には、選択信号生成回路67に、pvfyU1に‘0’、pvfyU2に‘0’、pvfyU3に‘1’、UPPERに‘1’を入力することにより、選択回路66の出力信号BSPFとして、レジスタ出力信号BSPF_U3が出力される。
ステップ446において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ448に移行する。一方、ステップ240において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ450へと移行する。
ステップ448(S448)では、擬似パス情報記憶3のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ448終了後は、ステップ454に移行する。
ステップ450(S450)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ450において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ452に移行する。一方、ステップ450において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ404に移行し、再度情報の書き込みが行なわれる。
ステップ452(S452)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ452終了後は、ステップ454に移行する。
ステップ454(S454)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ452において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ440においてPASSの場合、ステップ448又はステップ452終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ454において、PASS(パス)と判断された場合には、第2ページにおける書き込みベリファイ動作は終了する。一方、ステップ454において、FAIL(フェイル)と判断された場合には、ステップ456に移行する。
ステップ456(S456)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ456終了後、第2ページにおける書き込みベリファイ動作は終了する。尚、ステップ402からステップ452までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ454、ステップ456の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。
〔第3の実施の形態〕
次に、第3の実施の形態を説明する。第3の実施の形態は、第1又は第2の実施の形態において、第2ページのメモリセルのデータ「2」の擬似パス設定を0に固定したものである。これにより、第2ページのメモリセルのデータ「2」においては、完全パスのみ許可する。本実施の形態におけるNAND型フラッシュメモリは、第2ページのメモリセルのデータ「2」においては、書き込みにおける閾値変動量が、第1ページのメモリセルのデータ「2*」、第2ページのメモリセルのデータ「1」、メモリセルのデータ「3」と比べて少ない。従って、完全パスになる可能性が高いため、第2ページのメモリセルのデータ「2」については、擬似パス設定数を0とするものである。これにより、第2ページのメモリセルのデータ「2」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、回路負担を抑えることが可能となる。
図16、図17に基づき本実施の形態について説明すると、第1ページのメモリセルのデータ「2*」、第2ページのメモリセルのデータ「1」、第2ページのメモリセルのデータ「3」に対応するレジスタ出力信号は、第1の実施の形態と同様とし、BSPFに5ビットを割り当てる構成であった場合には、第2ページのメモリセルのデータ「2」に対応するレジスタ出力信号を‘0’とし、第2ページのメモリセルのデータ「2」の擬似パス設定数を0とする。
〔第4の実施の形態〕
次に、第4の実施の形態を説明する。第4の実施の形態は、第3の実施の形態において、更に、擬似パス情報の記憶を行なうためのレジスタを省き、回路負担を抑えたものである。
具体的には、2進データの記憶を行うものであることから確率的に、第2ページのメモリセルのデータ「1」に対して許容可能なベリファイフェイル許容数と、第2ページのメモリセルのデータ「3」に対して許容可能なベリファイフェイル許容数とは同数に設定することが可能である。従って、第2ページのデータ「1」と、データ「3」のそれぞれのベリファイ時における擬似パス許容数に対して、第2ページ全体のフェイル許容数の1/2に設定することが望ましい。このため、選択回路66において、第2ページのメモリセルのデータ「1」のベリファイフェイル許容数及びメモリセルのデータ「3」のベリファイフェイル許容数は、第2ページのフェイルの許容数を2で除した値を出力するように構成することができる。具体的には、2進であるため、BSPFに5ビットを割り当てる構成であった場合には、BSPF_U1を1ビット右シフト演算の結果を出力すればよい。
これにより、第2ページのメモリセルのデータ「1」又はデータ「3」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、より一層回路負担を抑えることが可能となる。
図18に基づき本実施の形態について説明すると、第1ページに対応するレジスタ出力信号は、第1の実施の形態と同様とし、BSPF及びBSPF_U1に5ビットを割り当てる構成であった場合には、第2ページのメモリセルデータ「1」に対応するレジスタ出力信号を{1’b0、BSPF_U1[5:1]}とし、1ビット右シフト演算を行うことと同等の信号を出力し、第2ページのメモリセルデータ「2」に対応するレジスタ出力信号をすべて0とし、第2ページのメモリセルデータ「3」に対応するレジスタ出力信号を{1’b0、BSPF_U1[5:1]}とし、1ビット右シフト演算を行なうことと同等の信号を出力する。
〔第5の実施の形態〕
次に、第5の実施の形態について説明する。NAND型フラッシュメモリの構成等に関しては、第1又は第2の実施の形態と同様である。本実施の形態は、1つのメモリセルに3ビットの情報を記憶する8値記憶に関するものである。このため、第1ページにおける情報の書き込み及び第2ページの情報の書き込みに関しては、第1又は第2の実施の形態と同様である。したがって、第3ページの情報の書き込みについて説明する。
図19に基づき本実施の形態におけるNANDセルの動作について説明する。
図19は、メモリセルのデータとメモリセルの閾値電圧との関係を示している。図19(a)に示すように、消去動作を行なった後、第1ページにデータの書き込みを行なうと、図19(b)に示すように、メモリセルにおいては、データ「0」とデータ「2*」の状態が形成される。この後、第2ページにデータの書き込みを行なうと、図19(c)に示すように、メモリセルにおいては、4値記憶本来の閾値電圧を有するデータ「0」、データ「1」、データ「2」、データ「3」の状態が形成される。更に、第3ページにデータの書き込みを行なうことにより、図19(d)に示すように、3ビットの8値記憶本来の閾値電圧を有するデータ「0L」、データ「0H」、データ「1L」、データ「1H」、データ「2L」、データ「2H」、データ「3L」、データ「3H」の状態が形成される。
次に、図20、図21、図22に基づき本実施の形態における第3ページの書き込みベリファイ動作を説明する。尚、図20は、図20(a)、図20(b)、図20(c)により構成されている。本実施の形態においては、8値記憶のメモリセルの書き込みベリファイを行なうため、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113、選択信号生成回路114が設けられている。選択信号生成回路114には、入力信号pvfy0U、prfy1L、pvfy1U、pvfy2L、pvfy2U、pvfy3L、pvfy3U、MIDDLE、UPPERが入力しており、この信号の状態に基づき選択信号SELが生成され出力される。pvfy0Uは、第2ページのデータ「1」及び第3ページのデータ「0U」のベリファイ動作中に‘1’に設定され、pvfy1Lは、第2ページのデータ「2」及び第3ページのデータ「1L」のベリファイ動作中に‘1’に設定され、pvfy1Uは、第2ページのデータ「3」及び第3ページのデータ「1U」のベリファイ動作中に‘1’に設定され、pvfy2Lは、第3ページのデータ「2L」のベリファイ動作中に‘1’に設定され、pvfy2Uは、第3ページのデータ「2U」のベリファイ動作中に‘1’に設定され、pvfy3Lは、第3ページのデータ「3L」のベリファイ動作中に‘1’に設定され、pvfy3Uは、第3ページのデータ「3U」のベリファイ動作中に‘1’に設定される。この選択信号SELは、第1選択回路111、第2選択回路112、第3選択回路113に入力し、所定の出力が出力される。第1選択回路111では、第2ページのデータ「1」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_M1、第2ページのデータ「2」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_M2、第2ページのデータ「3」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_M3がバスにより接続されており、選択信号SELに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、第1選択回路により選択された第2ページおけるレジスタ出力信号として、第3選択回路113に入力する。尚、BSPF_M1、BSPF_M2、BSPF_M3はバスにおける信号を意味している。
第2選択回路112では、第3ページのデータ「0U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U1、第3ページのデータ「1L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U2、第3ページのデータ「1U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U3、第3ページのデータ「2L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U4、第3ページのデータ「2U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U5、第3ページのデータ「3L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U6、第3ページのデータ「3U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U7が接続されており、選択信号SELに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、第2選択回路により選択された第3ページおけるレジスタ出力信号として、第3選択回路113に入力する。尚、BSPF_U1、BSPF_U2、BSPF_U3、BSPF_U4、BSPF_U5、BSPF_U6、BSPF_U7はバスにおける信号を意味している。
第3選択回路113では、第1ページにおける書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_Lと、第1選択回路111からのレジスタ出力信号、第2選択回路112からのレジスタ出力信号が接続されており、選択信号SELに基づき、このうちの何れかのレジスタ出力信号が出力される。この出力されたレジスタ出力信号は、図10に示した場合と同様に、参照電流設定回路65に入力し、所定の擬似パス許容数が設定される。
図21に本実施の形態における選択信号生成回路114への入力信号と、これにより生成される選択信号SELにより第3選択回路113より選択されるレジスタ出力信号との関係を示す。
図21に示すように、第3ページの書き込みであることを識別するために、入力信号UPPERは‘1’に設定され、入力信号MIDDLEは‘0’に設定され、各々選択信号生成回路114に入力されている。尚、第1ページの書き込みであることを識別する場合には、入力信号UPPERは‘0’に設定され、入力信号MIDDLEは‘0’に設定される。また、第2ページの書き込みであることを識別する場合には、入力信号UPPERは‘0’に設定され、入力信号MIDDLEは‘1’に設定されている。
最初に、ステップ502(S502)において、図1のレジスタ20におけるベリファイ用フラッグCOMP_G、COMP_F、COMP_E、COMP_S、COMP_B及びCOMP_Dを初期化する。本実施の形態では、COMP_G、COMP_F、COMP_E、COMP_S、COMP_B及びCOMP_Dは、すべて‘0’に設定される。各々の入力信号は、各々第3ページのデータ「3L」、「2U」、「2L」、「1U」、「1L」、「0U」におけるベリファイリード(ベリファイ読み出し)動作を実行する必要があるか否かを示す。
次に、ステップ504(S504)において、第3ページにおける情報の書き込みが行なわれる。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ504の終了後はステップ506に移行する。
ステップ506(S506)では、COMP_Gが、‘1’であるか否かの判断が行なわれる。ステップ506において、COMP_Gが、‘1’であると判断された場合には、ステップ602に移行する。一方、ステップ506において、COMP_Gが、‘1’ではないと判断された場合、即ち、COMP_Gが、‘0’である場合には、ステップ508に移行する。
ステップ508(S508)では、COMP_Fが、‘1’であるか否かの判断が行なわれる。ステップ508において、COMP_Fが、‘1’であると判断された場合には、ステップ588に移行する。一方、ステップ508において、COMP_Fが、‘1’ではないと判断された場合、即ち、COMP_Fが、‘0’である場合には、ステップ510に移行する。
ステップ510(S510)では、COMP_Eが、‘1’であるか否かの判断が行なわれる。ステップ510において、COMP_Eが、‘1’であると判断された場合には、ステップ574に移行する。一方、ステップ510において、COMP_Eが、‘1’ではないと判断された場合、即ち、COMP_Eが、‘0’である場合には、ステップ512に移行する。
ステップ512(S512)では、COMP_Sが、‘1’であるか否かの判断が行なわれる。ステップ512において、COMP_Sが、‘1’であると判断された場合には、ステップ560に移行する。一方、ステップ512において、COMP_Sが、‘1’ではないと判断された場合、即ち、COMP_Sが、‘0’である場合には、ステップ514に移行する。
ステップ514(S514)では、COMP_Bが、‘1’であるか否かの判断が行なわれる。ステップ514において、COMP_Bが、‘1’であると判断された場合には、ステップ546に移行する。一方、ステップ514において、COMP_Bが、‘1’ではないと判断された場合、即ち、COMP_Bが、‘0’である場合には、ステップ516に移行する。
ステップ516(S516)では、COMP_Dが、‘1’であるか否かの判断が行なわれる。ステップ516において、COMP_Dが、‘1’であると判断された場合には、ステップ532に移行する。一方、ステップ516において、COMP_Bが、‘1’ではないと判断された場合、即ち、COMP_Bが、‘0’である場合には、ステップ518に移行する。
ステップ518(S518)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ518において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ518において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ520に移行する。
ステップ520(S520)では、メモリセルのデータ「0U」において、第3ページのメモリセルのデータ「0U」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「0U」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ520において、全てのメモリセルのデータ「0U」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ530に移行する。ステップ520において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ522に移行する。
ステップ522(S522)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ522において、擬似パス発動がOKである旨の判断がされた場合には、ステップ524に移行する。一方、ステップ522において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ524(S524)では、不良数であるベリファイフェイル数が計測される。ステップ524終了後は、ステップ526へと移行する。
ステップ526(S526)では、ステップ524において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められるが、この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「0U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U1が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「0U」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘1’、pvfy1Lに‘0’、pvfy1Uに‘0’、pvfy2Lに‘0’、pvfy2Uに‘0’、pvfy3Lに‘0’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U1が出力される。
ステップ526において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ528に移行する。一方、ステップ526において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ528(S528)では、擬似パス情報記憶1のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ528終了後は、ステップ530に移行する。
ステップ530(S530)では、メモリセルのデータ「0U」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「0U」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Dの値を‘1’に変更する。ステップ530終了後は、ステップ532に移行する。
ステップ532(S532)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ532において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ532において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ534に移行する。
ステップ534(S534)では、メモリセルのデータ「1L」において、第3ページのメモリセルのデータ「1L」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「1L」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ534において、全てのメモリセルのデータ「1L」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ544に移行する。ステップ534において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ536に移行する。
ステップ536(S536)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ536において、擬似パス発動がOKである旨の判断がされた場合には、ステップ538に移行する。一方、ステップ536において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ538(S538)では、不良数であるベリファイフェイル数が計測される。ステップ538終了後は、ステップ540へと移行する。
ステップ540(S540)では、ステップ538において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められる。この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「1L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U2が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「1L」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘1’、pvfy1Uに‘0’、pvfy2Lに‘0’、pvfy2Uに‘0’、pvfy3Lに‘0’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U2が出力される。
ステップ540において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ542に移行する。一方、ステップ540において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ542(S542)では、擬似パス情報記憶2のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ542終了後は、ステップ544に移行する。
ステップ544(S544)では、メモリセルのデータ「1L」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「1L」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Bの値を‘1’に変更する。ステップ544終了後は、ステップ546に移行する。
ステップ546(S546)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ546において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ546において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ548に移行する。
ステップ548(S548)では、メモリセルのデータ「1U」において、第3ページのメモリセルのデータ「1U」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「1U」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ548において、全てのメモリセルのデータ「1U」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ558に移行する。ステップ548において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ550に移行する。
ステップ550(S550)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ550において、擬似パス発動がOKである旨の判断がされた場合には、ステップ552に移行する。一方、ステップ550において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ552(S552)では、不良数であるベリファイフェイル数が計測される。ステップ552終了後は、ステップ554へと移行する。
ステップ554(S554)では、ステップ552において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められるが、この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「1U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U3が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「1U」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘0’、pvfy1Uに‘1’、pvfy2Lに‘0’、pvfy2Uに‘0’、pvfy3Lに‘0’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U3が出力される。
ステップ554において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ556に移行する。一方、ステップ554において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ556(S556)では、擬似パス情報記憶3のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ556終了後は、ステップ558に移行する。
ステップ558(S558)では、メモリセルのデータ「1U」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「1U」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Sの値を‘1’に変更する。ステップ558終了後は、ステップ560に移行する。
ステップ560(S560)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ560において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ560において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ562に移行する。
ステップ562(S562)では、メモリセルのデータ「2L」において、第3ページのメモリセルのデータ「2L」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「2L」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ562において、全てのメモリセルのデータ「2L」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ572に移行する。ステップ562において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ564に移行する。
ステップ564(S564)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ564において、擬似パス発動がOKである旨の判断がされた場合には、ステップ566に移行する。一方、ステップ564において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ566(S566)では、不良数であるベリファイフェイル数が計測される。ステップ566終了後は、ステップ568へと移行する。
ステップ568(S568)では、ステップ566において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められる。この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「2L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U4が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「2L」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘0’、pvfy1Uに‘0’、pvfy2Lに‘1’、pvfy2Uに‘0’、pvfy3Lに‘0’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U4が出力される。
ステップ568において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ570に移行する。一方、ステップ568において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ570(S570)では、擬似パス情報記憶4のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ570終了後は、ステップ572に移行する。
ステップ572(S572)では、メモリセルのデータ「2L」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「2L」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Eの値を‘1’に変更する。ステップ572終了後は、ステップ574に移行する。
ステップ574(S574)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ574において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ574において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ576に移行する。
ステップ576(S576)では、メモリセルのデータ「2U」において、第3ページのメモリセルのデータ「2U」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「2U」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ576において、全てのメモリセルのデータ「2U」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ586に移行する。ステップ576において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ578に移行する。
ステップ578(S578)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ578において、擬似パス発動がOKである旨の判断がされた場合には、ステップ580に移行する。一方、ステップ578において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ580(S580)では、不良数であるベリファイフェイル数が計測される。ステップ580終了後は、ステップ582へと移行する。
ステップ582(S582)では、ステップ580において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められるが、この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「2U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U5が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「2U」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘0’、pvfy1Uに‘0’、pvfy2Lに‘0’、pvfy2Uに‘1’、pvfy3Lに‘0’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U5が出力される。
ステップ582において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ584に移行する。一方、ステップ582において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ584(S584)では、擬似パス情報記憶5のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ584終了後は、ステップ586に移行する。
ステップ586(S586)では、メモリセルのデータ「2U」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「2U」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Fの値を‘1’に変更する。ステップ586終了後は、ステップ588に移行する。
ステップ588(S588)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ588において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ588において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ590に移行する。
ステップ590(S590)では、メモリセルのデータ「3L」において、第3ページのメモリセルのデータ「3L」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「3L」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ590において、全てのメモリセルのデータ「3L」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ600に移行する。ステップ590において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ592に移行する。
ステップ592(S592)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ592において、擬似パス発動がOKである旨の判断がされた場合には、ステップ594に移行する。一方、ステップ592において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ594(S594)では、不良数であるベリファイフェイル数が計測される。ステップ594終了後は、ステップ596へと移行する。
ステップ596(S596)では、ステップ594において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められる。この参照電流Irefは、図22に示すように、第1選択回路111、第2選択回路112、第3選択回路113において、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「3L」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U6が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力し設定される。
具体的には、図21に示すように第3ページのデータ「3L」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘0’、pvfy1Uに‘0’、pvfy2Lに‘0’、pvfy2Uに‘0’、pvfy3Lに‘1’、pvfy3Uに‘0’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U6が出力される。
ステップ596において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ598に移行する。一方、ステップ596において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ598(S598)では、擬似パス情報記憶6のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ598終了後は、ステップ600に移行する。
ステップ600(S600)では、メモリセルのデータ「3L」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「3L」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Gの値を‘1’に変更する。ステップ600終了後は、ステップ602に移行する。
ステップ602(S602)では、ベリファイスキップを行なうか否かの判断が行なわれる。具体的には、カウンターによりメモリセルにおける書き込みパルスの印加回数を計測し、この書き込みパルスの印加回数が一定の値の以下であればベリファイスキップを行ない、この値を超える場合はベリファイスキップを行なわないこととする。ステップ602において、ベリファイスキップを行なう旨の判断がされた場合には、ステップ504に移行する。一方、ステップ602において、ベリファイスキップを行なわない旨の判断がされた場合には、ステップ604に移行する。
ステップ604(S604)では、メモリセルのデータ「3U」において、第3ページのメモリセルのデータ「3U」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「3U」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ604において、全てのメモリセルのデータ「3U」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ618に移行する。ステップ604において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ606に移行する。
ステップ606(S606)では、擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ606において、擬似パス発動がOKである旨の判断がされた場合には、ステップ608に移行する。一方、ステップ606において、擬似パス発動がNOとの判断がされた場合には、ステップ614に移行する。
ステップ608(S608)では、不良数であるベリファイフェイル数が計測される。ステップ608終了後は、ステップ610へと移行する。
ステップ610(S610)では、ステップ608において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、参照電流Irefにより定められる。この参照電流Irefは、図22に示すように、選択信号生成回路114により生成された選択信号SELに基づき、第3ページのデータ「3U」における書き込みベリファイ時の擬似パス許容数を設定するレジスタ出力信号BSPF_U7が選択され、出力信号BSPFとして出力し、これを参照電流設定回路に入力することにより定められる。
具体的には、図21に示すように第3ページのデータ「3U」におけるベリファイ時には、選択信号生成回路114に、pvfy0Uに‘0’、pvfy1Lに‘0’、pvfy1Uに‘0’、pvfy2Lに‘0’、pvfy2Uに‘0’、pvfy3Lに‘0’、pvfy3Uに‘1’、MIDDLEに‘0’、UPPERに‘1’を入力することにより、第3選択回路113の出力信号BSPFとして、レジスタ出力信号BSPF_U7が出力される。
ステップ610において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ612に移行する。一方、ステップ610において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ614へと移行する。
ステップ612(S612)では、擬似パス情報記憶7のレジスタに、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ612終了後は、ステップ618に移行する。
ステップ614(S614)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ614において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ616に移行する。一方、ステップ614において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ504に移行し、再度情報の書き込みが行なわれる。
ステップ616(S616)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ616終了後は、ステップ618に移行する。
ステップ618(S618)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ616において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ604においてPASSの場合、ステップ612又はステップ616終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ618において、PASS(パス)と判断された場合には、第3ページにおける書き込みベリファイ動作は終了する。一方、ステップ618において、FAIL(フェイル)と判断された場合には、ステップ620に移行する。
ステップ620(S620)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ620終了後、第3ページにおける書き込みベリファイ動作は終了する。尚、ステップ502からステップ616までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ618、ステップ620の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。また、本実施の形態では、ベリファイスキップの工程の全部又は一部を省略することができる。これにより、より一層処理の高速化させることが可能となる。
〔第6の実施の形態〕
次に、第6の実施の形態を説明する。第3の実施の形態は、第5の実施の形態において、第2ページのメモリセルのデータ「2」、第3ページのメモリセルのデータ「1L」、「2L」、「3L」の擬似パス設定を0に固定したものである。これにより、第2ページのメモリセルのデータ「2」、第3ページのメモリセルのデータ「1L」、「2L」、「3L」においては、完全パスのみ許可する。これは第3の実施の形態と同様の原理を第3ページにも適用したものである。これにより、第2ページのメモリセルのデータ「2」、第3ページのメモリセルのデータ「1L」、「2L」、「3L」における擬似パス情報の記憶を行なうためのレジスタを省くことができ、回路負担を抑えることが可能となる。
図23及び図24に基づき本実施の形態について説明すると、第1ページ、第2ページのメモリセルのデータ「1」、「3」、第3ページのメモリセルのデータ「0U」、「1U」、「2U」、「3U」に対応するレジスタ出力信号は、第5の実施の形態と同様とし、第2ページのメモリセルのデータ「2」、第3ページのメモリセルのデータ「1L」、「2L」、「3L」に対応するレジスタ出力信号を‘0’とし、各々を第1選択回路111、第2選択回路112に入力する。これにより、第2ページのメモリセルのデータ「2」、第3ページのメモリセルのデータ「1L」、「2L」、「3L」における擬似パス設定数を0とする。第5の実施の形態と同様の選択信号生成回路114により、レジスタ出力信号を選択し、第3選択回路113より出力する。
〔第7の実施の形態〕
次に、第7の実施の形態について説明する。第7の実施の形態は、擬似パス情報とページの不良計測の結果の情報を異なるレジスタに記憶するものである。図25は、本実施の形態におけるステータスレジスタの構成図である。この図に基づき第1の実施の形態に対応させた半導体記憶装置について説明する。
本実施の形態における半導体記憶装置は、第1ページにおける書き込みステータスレジスタ121、第2ページのデータ「1」における書き込みステータスレジスタ122、第2ページのデータ「2」における書き込みステータスレジスタ123、第2ページのデータ「3」における書き込みステータスレジスタ124、セレクタ回路125により構成されている。ステータスレジスタ121、122、123、124は、RESET端子に信号を入力することにより初期化される。また、各々のページの書き込みは、pvfy1U、pvfy2U、pvfy3U、UPPER端子を所定の電位の状態とすることにより、各々のステータスレジスタ121、122、123、124が特定される。
尚、HRは、各々のステータスレジスタ121、122、123、124に対応した図10に示すベリファイ判定回路の出力である。また、ステータスレジスタ121は、第1の実施の形態において図11のステップ112における擬似パス情報記憶、ステップ116におけるFAIL情報記憶に関するものであり、ステータスレジスタ122は、第1の実施の形態において図13のステップ216における擬似パス情報記憶1、ステップ246におけるFAIL情報記憶に関するものであり、ステータスレジスタ123は、第1の実施の形態において図13のステップ230における擬似パス情報記憶2、ステップ246におけるFAIL情報記憶に関するものであり、ステータスレジスタ124は、第1の実施の形態において図13のステップ242における擬似パス情報記憶3、ステップ246におけるFAIL情報記憶に関するものである。
また、STATUS_SETにより、擬似パス情報記憶の制御を行い、PSTATUS_SETにより、FAIL情報記憶の制御を行なうものである。ステータス情報を入力するためには、STATUS_SETを活性化して擬似パス情報、完全パスフェイル情報を登録する。これによりステータスレジスタ121、122、123、124に記憶される情報は、「完全パス」、「擬似パス」、「フェイル」の3つの状態を記憶することができる。
ステータスレジスタ121と、ステータスレジスタ122、123、124とは、異なるページのステータス情報を保存するものであり、第1のページと第2のページの情報を同時に保持する必要がない場合には、ステータスレジスタの一部を共用する構成であってもよい。また、フェイル情報は、ステータスレジスタ121、122、123、124の各々が有する必要はなく、1つのページに対し1つ有していればよい。よって、ステータスレジスタ121、122、123、124には、擬似パスのみを登録し、別途設けたステータスレジスタにフェイル情報を記憶してもよい。記憶された情報は、セレクタ回路125により選択して読み出すことができ、この情報をもとに、エラー訂正の必要性の有無、又は、エラー訂正のアルゴリズムの変更が行なわれる。
このように、ページごとに「完全パス」、「擬似パス」、「フェイル」の3つの状態を記憶することにより、ページごとにエラー訂正の必要性の有無、又は、エラー訂正のアルゴリズムの変更を行なうことが可能となる。尚、第2の実施の形態から第4の実施の形態においても同様に対応させることが可能である。
また、図26に、1つのメモリセルに3ビットの情報を記憶する場合の本実施の形態におけるステータスレジスタの構成図を示す。この図に基づき第5の実施の形態に対応させた半導体記憶装置について説明する。
図26に示す場合では、第1ページにおける書き込みステータスレジスタ221、第2ページのデータ「1」における書き込みステータスレジスタ222、第2ページのデータ「2」における書き込みステータスレジスタ223、第2ページのデータ「3」における書き込みステータスレジスタ224、第3ページのデータ「1」における書き込みステータスレジスタ225、第3ページのデータ「2」における書き込みステータスレジスタ226、第3ページのデータ「3」における書き込みステータスレジスタ227、第3ページのデータ「4」における書き込みステータスレジスタ228、第3ページのデータ「5」における書き込みステータスレジスタ229、第3ページのデータ「6」における書き込みステータスレジスタ230、第3ページのデータ「7」における書き込みステータスレジスタ231、セレクタ回路235、236により構成されている。セレクタ回路235の入力には、ステータスレジスタ221、222、223、224の各々の出力及びセレクタ回路236の出力が接続されている。また、セレクタ回路236の入力には、ステータスレジスタ225、226、227、228、229、230、231の各々の出力が接続されている。ステータスレジスタ221、222、223、224、225、226、227、228、229、230、231は、RESET端子に信号を入力することにより初期化される。また、第3ページの書き込みは、pvfy0U、pvfy1L、pvfy1U、pvfy2L、pvfy2U、pvfy3L、pvfy3U、UPPERにおける入力信号を所定の電位の状態とすることにより、各々のステータスレジスタ225、226、227、228、229、230、231が特定される。
尚、ステータスレジスタ225は、第5の実施の形態において図20のステップ528における擬似パス情報記憶1、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ226は、第5の実施の形態において図20のステップ542における擬似パス情報記憶2、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ227は、第5の実施の形態において図20のステップ556における擬似パス情報記憶3、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ228は、第5の実施の形態において図20のステップ570における擬似パス情報記憶4、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ229は、第5の実施の形態において図20のステップ584における擬似パス情報記憶5、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ230は、第5の実施の形態において図20のステップ598における擬似パス情報記憶6、ステップ616におけるFAIL情報記憶に関するものであり、ステータスレジスタ231は、第5の実施の形態において図20のステップ612における擬似パス情報記憶7、ステップ616におけるFAIL情報記憶に関するものである。
[第8の実施の形態]
次に、第8の実施の形態について説明する。本実施の形態における半導体記憶装置であるNAND型フラッシュメモリは、第1の実施の形態におけるものと略同様であり、1つのメモリセルにより2ビット記憶することが可能な多値記憶メモリである。従って、以下の説明では、図1〜10を適宜引用して説明する。ただし、第8の実施の形態は、一旦複数ページの全て(4値記憶の場合、2ページ)の情報書き込みを終了させた後、各ページにおけるベリファイ動作を順次実行する点で、上記の実施の形態と異なっている。このため、図12で説明した信号UPPERは必要なく、この実施の形態では省略可能である。
次に、図27及び図28に基づき本実施の形態における書き込みベリファイ動作について説明する。
最初に、ステップ1202(S1202)において、図1のレジスタ20におけるベリファイ用フラッグCOMP_S、COMP_B及びCOMP_Cを初期化する。この信号はそれぞれ対応するメモリセルのデータに対してベリファイリード(ベリファイ読みだし)動作を実行する必要があるか否かを示す。本実施の形態では、COMP_S、COMP_B及びCOMP_Cは、ともに‘0’に設定される。本実施の形態では、COMP_Sをメモリセルのデータ「1」へのベリファイ完全パス又は擬似パス許容数以下であることを識別する信号に、COMP_Bをメモリセルのデータ「2」へのベリファイ完全パス又は擬似パス許容数以下であることを識別する信号に、COMP_Cをメモリセルのデータ「3」へのベリファイ完全パス、又は、擬似パス許容数以下であることを識別する信号に、それぞれ割り当てることができる。
次に、ステップ1204(S1204)において、第1及び第2ページにおける情報の書き込みが、前述した方法により実行される。具体的には、書き込む情報に応じて書き込みパルスがメモリセルに印加され書き込みが行われ、情報の書き込み終了後には電圧印加は解除される。ステップ1204の終了後はステップ1206に移行する。
ステップ1206(S1206)では、COMP_Sが、‘1’であるか否かの判断が行なわれる。ステップ1206において、COMP_Sが、‘1’であると判断された場合には、ステップ1220に移行する。一方、ステップ1206において、COMP_Sが、‘1’ではないと判断された場合、即ち、COMP_Sが、‘0’である場合には、ステップ1208に移行する。
ステップ1208(S1208)では、メモリセルのデータ「1」において、第2ページのメモリセルのデータ「1」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「1」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をa’として、ベリファイ読み出しが行なわれる。この結果、ステップ1208において、全てのメモリセルのデータ「1」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ1218に移行する。ステップ1208において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ1210に移行する。
ステップ1210(S1210)では、データ「1」についての擬似パス発動がOKか否かの判断が行われる。例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ1210において、擬似パス発動がOKである旨の判断がされた場合には、ステップ1212に移行する。一方、ステップ210において、擬似パス発動がNOとの判断がされた場合には、ステップ1244に移行する。
ステップ1212(S1212)では、不良数であるベリファイフェイル数がデータ「1」に関し計測される。ステップ1212終了後は、ステップ1214へと移行する。
ステップ1214(S1214)では、ステップ1212において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。
ステップ1214において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ1216に移行する。一方、ステップ1214において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ1220へと移行する。
ステップ1216(S1216)では、擬似パス情報記憶1のレジスタに、データ「1」に関し、擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ1216終了後は、ステップ1218に移行する。
ステップ1218(S1218)では、メモリセルのデータ「1」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「1」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Sの値を‘1’に変更する。ステップ1218終了後は、ステップ1220に移行する。
ステップ1220(S1220)では、COMP_Bが、‘1’であるか否かの判断が行なわれる。ステップ1220において、COMP_Bが、‘1’であると判断された場合には、ステップ12321に移行する。一方、ステップ1220において、COMP_Bが、‘1’ではないと判断された場合、即ち、COMP_Bが、‘0’である場合には、ステップ1222に移行する。
ステップ1222(S1222)では、メモリセルのデータ「2」において、第2ページのメモリセルのデータ「2」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「2」においてPASS(パス)であるか否かの判断がなされる。この結果、ステップ1222において、全てのメモリセルのデータ「2」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ1232に移行する。ステップ1222において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ1224に移行する。
ステップ1224(S1224)では、データ「2」についての擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ1224において、擬似パス発動がOKである旨の判断がされた場合には、ステップ1226に移行する。一方、ステップ1224において、擬似パス発動がNOとの判断がされた場合には、ステップ1244に移行する。
ステップ1226(S1226)では、不良数であるベリファイフェイル数がデータ「2」に関し計測される。ステップ1226終了後は、ステップ1228へと移行する。
ステップ1228(S1228)では、ステップ1226において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められる。ステップ1228において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ1230に移行する。一方、ステップ1228において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ12321へと移行する。
ステップ1230(S1230)では、擬似パス情報記憶2のレジスタに、データ「2」に関して擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ1230終了後は、ステップ1232に移行する。
ステップ1232(S1232)では、メモリセルのデータ「2」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「2」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Bの値を‘1’に変更する。ステップ1232終了後は、ステップ12321に移行する。
ステップ12321(S122321)では、COMP_Cが、‘1’であるか否かの判断が行なわれる。ステップ12321において、COMP_Cが、‘1’であると判断された場合には、ステップ12342に移行する。一方、ステップ12321において、COMP_Cが、‘1’ではないと判断された場合、即ち、COMP_Cが、‘0’である場合には、ステップ1234に移行する。
ステップ1234(S1234)では、メモリセルのデータ「3」において、第2ページのメモリセルのデータ「3」における書き込みレベルのベリファイリード(ベリファイ読み出し)動作を実施した後、すべてのメモリセルのデータ「3」においてPASS(パス)であるか否かの判断がなされる。具体的には、図7(c)に示すように、ワード線(WL)の電位をc’として、ベリファイ読み出しが行なわれる。この結果、ステップ1234において、全てのメモリセルのデータ「3」においてPASS(パス)である、即ち正常な状態で記憶されていると判断された場合には、ステップ12341に移行する。ステップ1234において、メモリセルのうち正常な状態で記憶されていないメモリセルが検出された場合には、FAIL(フェイル)となりステップ1236に移行する。
ステップ1236(S1236)では、データ「3」について擬似パス発動がOKか否かの判断が行われる。具体的には、ページ内におけるメモリセルの書き込みの初期においては、閾値変動量も少なく、ベリファイレベルに到達して書き込みが完了しているメモリセル数が少ないことが想定される。よって、例えばカウンターによりメモリセルにおける書き込みパルス印加回数を計測し、この書き込みパルス印加回数が既知の手段により設定された一定の値以下であれば擬似パス発動がOKではないと判断され、一定の値を超えた場合には擬似パス発動がOKであるとの判断がなされる。擬似パス許容数が0であった場合は、擬似パス動作を実行する必要がないため、強制的に擬似パス発動がOKでないと判断する方法を併用してもよい。ステップ1236において、擬似パス発動がOKである旨の判断がされた場合には、ステップ1238に移行する。一方、ステップ1236において、擬似パス発動がNOとの判断がされた場合には、ステップ1244に移行する。
ステップ1238(S1238)では、不良数であるベリファイフェイル数がデータ「3」に関し計測される。ステップ1238終了後は、ステップ1240へと移行する。
ステップ1240(S1240)では、ステップ1238において計測されたベリファイフェイル数が許容数以下であるか否かの判断がなされる。この際、設定されるベリファイフェイルの許容数は、図10に示すように参照電流Irefにより定められる。なお、ステップ1240において、予めデータ「1」「2」「3」のトータルのベリファイフェイル数の許容数(トータル許容数)を設定しておき、データ「3」についての許容数は、そのトータル許容数から、ステップS1212、S1226で得られた実際の不良数を差し引いた値としてもよい。
ステップ1240において、ベリファイフェイル数が許容数以下であると判断された場合には、ステップ1242に移行する。一方、ステップ1240において、ベリファイフェイル数が許容数以下ではない、即ち許容数を超えると判断された場合には、ステップ1244へと移行する。
ステップ1242(S1242)では、擬似パス情報記憶3のレジスタに、データ「3」に関し擬似パスによりベリファイ動作をパスした旨の情報が記憶される。この記憶される情報は既知のステータスリードコマンドにより、擬似パスしたか否かを読み出し判断することができるように構成されている。ステップ1242終了後は、ステップ12341に移行する。
ステップ12341(S12341)では、メモリセルのデータ「3」がベリファイにおいて、完全PASS(パス)または、ベリファイフェイルが許容数以下であることから、以降メモリセルのデータ「3」におけるベリファイ読み出し動作を行なう必要がないため、COMP_Cの値を‘1’に変更する。ステップ12341終了後は、ステップ12342に移行する。ステップ1244(S1244)では、設定された最大の書き込み回数又は最大の書き込み時間と比較して、それらの最大回数又は時間を超過するものであるか否かが判断される。具体的には、最大書き込み回数又は最大書き込み時間は、あらかじめ本実施の形態におけるNAND型フラッシュメモリに設定され記憶されており、設定された最大書き込み回数又は最大書き込み時間と、実際に要した書き込み回数又は書き込み時間とを比較し判断される。尚、不図示ではあるが本実施の形態におけるNAND型フラッシュメモリには、実際に要した書き込み回数を計測するカウンター又は書き込み時間を計測するためのタイマーが設けられており、所定のタイミングにより、書き込み回数の計測又は書き込み時間の計測が開始され計測が行なわれる。
ステップ1244において、実際に計測した書き込み回数が設定された最大書き込み回数を超過している、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していると判断された場合には、ステップ1246に移行する。一方、ステップ1244において、実際に計測した書き込み回数が設定された最大書き込み回数を超過していない、又は、実際に計測した書き込み時間が設定された最大書き込み時間を超過していないと判断された場合には、ステップ1204に移行し、再度情報の書き込みが行なわれる。
ステップ1246(S1246)では、このページデータの書き込みは失敗したものと判断され、このページデータの書き込みは失敗したと判断されたフェイル情報が、NAND型フラッシュメモリ内のレジスタに記憶(FAIL情報記憶)される。以上により書き込み動作が行なわれる。ステップ1246終了後は、ステップ1248に移行する。
ステップ12342(S12342)では、 COMP_S=COMP_B=COMP_C=‘1’であるか否かの判断が行なわれる。ステップ12342において、COMP_S=COMP_B=COMP_C=‘1’であると判断された場合には、S1248へ移行する。一方、ステップ12342において、COMP_S=COMP_B=COMP_C=‘1’ではないと判断された場合には、ステップ1244に移行する。
ステップ1248(S1248)では、ステータスリードがPASS(パス)であるか否かの判断がされる。具体的には、ステップ1246において記憶されたフェイル情報は、ステータスリードコマンド等により読み出すことが可能である。このため、ステップ1234においてPASSの場合、ステップ1242又はステップ1246終了後、NAND型フラッシュメモリの外部に設けられた制御装置より、NAND型フラッシュメモリに発せられるステータスリードコマンドを受け返送することにより、NAND型フラッシュメモリにおける書き込みが終了した旨の情報が伝達される。
ステップ1248において、PASS(パス)と判断された場合には、第2ページにおける書き込みベリファイ動作は終了する。一方、ステップ1248において、FAIL(フェイル)と判断された場合には、ステップ1250に移行する。
ステップ1250(S1250)では、不良処理が行なわれる。具体的には、フェイルとされたページデータを他のページに書き換える。フェイルとされたページを不良ページとして処理する処理や、又は、不良ブロックとして処理するなどの必要な処理が施される。ステップ1250終了後、書き込みベリファイ動作は終了する。尚、ステップ1202からステップ1246までの処理は、図8に示すNAND型フラッシュメモリ51において行なわれ、ステップ1248、ステップ1250の処理は、図8に示すメモリコントローラであるフラッシュコントローラ53において行なわれる。なお、この第8の実施の形態において、第2の実施の形態と同様なベリファイスキップ動作を実行することも可能である。
以上の実施の形態は、1つのメモリセルに2以上のビット情報を記憶することに適応可能であり、具体的には、2ビット、3ビットに限定されることなく、4ビット以上の情報の記憶をすることに適用することが可能である。
以上、実施の形態において本発明における半導体記憶装置について詳細に説明したが、本発明は上記実施の形態に限定されるものではなく、これ以外の形態をとることが可能である。
61・・・ページバッファ、62・・・バイト単位のページバッファ、63・・・ページバッファ群、64・・・電流比較回路、65・・・参照電流設定回路、66・・・選択回路、67・・・選択信号生成回路