(57)【要約】  【課題】  データ修復を可能とした半導体記憶装置を提供する。  【解決手段】  半導体記憶装置は、電気的書き換え可能な不揮発性メモリセルが配列されて多値データ記憶を行うメモリセルアレイと、前記メモリセルアレイのデータ読み出し及び書き込みを行うセンスアンプ回路と、前記メモリセルアレイのデータ読み出し及び書き込みを制御するコントローラとを有し、前記コントローラは、前記メモリセルアレイの既に下位ページデータが書かれている領域への上位ページデータの書き込みシーケンスが異常終了する際に、前記メモリセルアレイから読み出されて前記センスアンプ回路が保持する下位ページデータを待避させる機能を有する。  【選択図】  図６
2006294126.tif 000002
【特許請求の範囲】
【請求項１】
電気的書き換え可能な不揮発性メモリセルが配列されて多値データ記憶を行うメモリセルアレイと、
前記メモリセルアレイのデータ読み出し及び書き込みを行うセンスアンプ回路と、
前記メモリセルアレイのデータ読み出し及び書き込みを制御するコントローラとを有し、
前記コントローラは、前記メモリセルアレイの既に下位ページデータが書かれている領域への上位ページデータの書き込みシーケンスが異常終了する際に、前記メモリセルアレイから読み出されて前記センスアンプ回路が保持する下位ページデータを待避させる機能を有する
ことを特徴とする半導体記憶装置。
【請求項２】
前記センスアンプ回路が保持する下位ページデータは、上位ページ書き込みシーケンスが異常終了する際に、前記コントローラに待避させられ、又はチップ外部に出力されて外部メモリコントローラに待避させられる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記多値データは、上位ページデータ“ｘ”と下位ページデータ“ｙ”により定義される、しきい値電圧の順に“１１”，“１０”，“００”，“０１”が割り付けられた４値データ“ｘｙ”であり、
前記コントローラにより制御される４値データの書き込みモードは、
前記メモリセルアレイのあるセクタ内のデータ“１１”に消去されているメモリセルにデータ“１０”を書き込む下位ページ書き込み動作と、
前記セクタ内のデータ“１０”及びデータ“１１”のメモリセルにそれぞれ、データ“００”及び“０１”を書き込む上位ページ書き込み動作とを有する
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
電気的書き換え可能な不揮発性メモリセルが配列されたメモリセルアレイと、
前記メモリセルアレイのデータ書き込みを制御するコントローラとを有し、
前記メモリセルアレイの各メモリセルは、上位ページデータ“ｘ”と下位ページデータ“ｙ”により定義される、しきい値電圧の順に“１１”，“０１”，“１０”，“００”が割り付けられた４値データ“ｘｙ”の一つを記憶するものであり、かつ前記コントローラは、
前記メモリセルアレイのデータ“１１”に消去されたあるセクタ内のデータ“１０”が書かれるべきメモリセルにその所望のしきい値電圧より低いしきい値電圧の中間データ状態を書き込む第１の書き込みシーケンスと、
前記セクタ内の前記中間データ状態が書かれたメモリセルに、データ“１０”及び“００”を書き込む第２の書き込みシーケンスと、
第２の書き込みシーケンス後、前記セクタ内のデータ“１１”のメモリセルに選択的にデータ“０１”を書き込む第３の書き込みシーケンスとを実行する
ことを特徴とする半導体記憶装置
【請求項５】
前記第２の書き込みシーケンスにおいて、データ“１０”及び“００”と同時に、データ“００”と同じしきい値下限値を持つ第１のフラグデータが書き込まれ、
前記第３の書き込みシーケンスにおいて、データ“０１”と同時に、これと同じしきい値下限値を持つ第２のフラグデータが書き込まれるものとし、かつ
前記コントローラは、前記メモリセルアレイのあるブロックに対する第２又は第３の書き込みシーケンスが異常終了した場合に、コマンド入力に基づいて、そのブロック内の既に書かれているデータを読み出してスペアブロックに書き込む制御と、上位ページ書き込みエラーとなった下位ページデータを読み出して前記スペアブロックに書き込む制御とを行う
ことを特徴とする請求項４記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電気的書き換え可能な不揮発性メモリセルを用いて構成される半導体記憶装置（ＥＥＰＲＯＭ）に係り、特にそのデータ書き込み制御方法に関する。
【背景技術】
【０００２】
ＥＥＰＲＯＭの一つとしてＮＡＮＤ型フラッシュメモリが知られている。ＮＡＮＤ型フラッシュメモリは、ＮＡＮＤセルユニットを配列してメモリセルアレイが構成される。各ＮＡＮＤセルユニットは、隣接メモリセルがソース／ドレイン拡散層を共有する形で直列接続された複数のメモリセルを含む。
【０００３】
従って、メモリセルアレイの単位セル面積は、ＮＯＲ型フラッシュメモリ等に比べて小さく、大容量化が容易である。また、ページ単位の読み出し及び書き込みを行うことで、実質的に高速の読み出し及び書き込みを可能としている。
【０００４】
ＮＡＮＤ型フラッシュメモリで更に大容量データ記憶を行うためには、１メモリセルに多ビット記憶を行う方式（多値データ記憶方式）が採用される。例えば、１メモリセルに２ビット記憶を行う４値データ記憶方式では、上位ページデータ“ｘ”と下位ページデータ“ｙ”で定義される４値データ“ｘｙ”が用いられる。
【０００５】
４値データ“ｘｙ”は例えば、図４に示すように、メモリセルしきい値電圧の順に、データ“１１”，“１０”，“００”，“０１”が定義される。データ“１１”はメモリセルのしきい値電圧が負の消去状態である。この消去状態のメモリセルに選択的に、下位ビットデータ“ｙ”（＝“０”）書き込みによってデータ“１０”が書かれる。またデータ“１０”のメモリセルとデータ“１１”のメモリセルに対してそれぞれ選択的に上位ビットデータ“ｘ”（＝“０”）書き込みを行って、データ“００”及びデータ“０１”が書かれる（例えば、特許文献１参照）。
【０００６】
上述のように、４値データ書き込みのためには、下位ページデータ書き込みシーケンスと上位ページ書き込みシーケンスとが必要である。その上位ページ書き込みシーケンスが異常終了した場合や、中断コマンド入力等により強制中断した場合には、対象となるメモリセルは書き込み途中の半端なしきい値電圧状態となる。即ち正常に書き込まれていた下位ページデータの読み出しも不能となる。従ってもし、フラッシュメモリシステムが既に書き込みが終了している下位ページデータをどこかに保持していないと、下位ページデータが完全に失われるという事態が発生する危険がある。
【特許文献１】特開２００１−９３２８８公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、データ修復を可能とした半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の一態様による半導体記憶装置は、電気的書き換え可能な不揮発性メモリセルが配列されて多値データ記憶を行うメモリセルアレイと、前記メモリセルアレイのデータ読み出し及び書き込みを行うセンスアンプ回路と、前記メモリセルアレイのデータ読み出し及び書き込みを制御するコントローラとを有し、前記コントローラは、前記メモリセルアレイの既に下位ページデータが書かれている領域への上位ページデータの書き込みシーケンスが異常終了する際に、前記メモリセルアレイから読み出されて前記センスアンプ回路が保持する下位ページデータを待避させる機能を有する。
【０００９】
この発明の別の態様による半導体記憶装置は、電気的書き換え可能な不揮発性メモリセルが配列されたメモリセルアレイと、前記メモリセルアレイのデータ書き込みを制御するコントローラとを有し、前記メモリセルアレイの各メモリセルは、上位ページデータ“ｘ”と下位ページデータ“ｙ”により定義される、しきい値電圧の順に“１１”，“０１”，“１０”，“００”が割り付けられた４値データ“ｘｙ”の一つを記憶するものであり、かつ前記コントローラは、前記メモリセルアレイのデータ“１１”に消去されたあるセクタ内のデータ“１０”が書かれるべきメモリセルにその所望のしきい値電圧より低いしきい値電圧の中間データ状態を書き込む第１の書き込みシーケンスと、前記セクタ内の前記中間データ状態が書かれたメモリセルに、データ“１０”及び“００”を書き込む第２の書き込みシーケンスと、第２の書き込みシーケンス後、前記セクタ内のデータ“１１”のメモリセルに選択的にデータ“０１”を書き込む第３の書き込みシーケンスとを実行する。
【発明の効果】
【００１０】
この発明によると、データ修復を可能とした半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、この発明の実施の形態を説明する。
【００１２】
［実施の形態１］
図１は、一実施の形態によるＮＡＮＤ型フラッシュメモリのメモリチップの機能ブロック構成を示している。メモリセルアレイ１は、図２に示すように、ＮＡＮＤセルユニットＮＵを配列して構成される。各ＮＡＮＤセルユニットＮＵは、複数個（図２の場合、３２個）の電気的書き換え可能な不揮発性メモリセルＭ０−Ｍ３１と、その両端をそれぞれビット線ＢＬとソース線ＣＥＬＳＲＣに接続するための選択ゲートトランジスタＳ１，Ｓ２を有する。
【００１３】
メモリセルＭ０−Ｍ３１の制御ゲートはそれぞれ異なるワード線ＷＬ０−ＷＬ３１に接続される。選択ゲートトランジスタＳ１，Ｓ２のゲートは、ワード線と並行する選択ゲート線ＳＧＤ，ＳＧＳに接続される。
【００１４】
ワード線を共有するＮＡＮＤセルユニットの集合は、データ消去の単位となるブロックＢＬＫｊを構成する。図２に示すように、メモリセルアレイ１は、ビット線の方向に複数のブロックＢＬＫｊが配列されて構成される。
【００１５】
ロウデコーダ３は、メモリセルアレイ１のワード線選択を行い、カラムデコーダ２はメモリセルアレイ１のビット線選択を行う。データラッチを含むセンスアンプ回路４は、メモリセルアレイ１のビット線に接続されて、データ読み出しを行い、或いは書き込みデータを保持する。
【００１６】
データ読み出し時、センスアンプ回路４に読み出されたデータは、データバス９を介し、Ｉ／Ｏバッファ６を介して外部入出力端子Ｉ／Ｏに出力される。データ書き込み時、外部メモリコントローラ１１から入出力端子Ｉ／Ｏに供給される書き込みデータは、Ｉ／Ｏバッファ６を介し、データバス９を介してセンスアンプ回路４にロードされる。
【００１７】
入出力端子Ｉ／Ｏから供給されるコマンドは内部コントローラ５でデコードされ、アドレスはアドレスレジスタ７を介してロウデコーダ３及びカラムデコーダ２に転送される。内部コントローラ５は、動作モードに応じて供給される外部制御信号及びコマンドに基づいて、データ書き込み及び消去のシーケンス制御、及びデータ読み出しの制御を行う。内部コントローラ５は、書き込みサイクル数をカウントする書き込みカウンタＰＣ及び、少なくとも１ページ分のデータを一時保持できるキャッシュＣＡＣＨＥを内蔵する。
【００１８】
ステータスレジスタ８は、チップがレディ状態にあるか、ビジー状態にあるかを示すレディ／ビジー信号Ｒ／Ｂがセットされ、これがチップ外部に出力されるようになっている。動作モードに応じて、電源電圧より高い種々の高電圧を発生するために、高電圧発生回路１０が設けられている。高電圧発生回路１０はコントローラ５により制御される。
【００１９】
図２に示したメモリセルアレイ構成では、隣接する偶数番ビット線ＢＬｅと奇数番ビット線ＢＬｏが一つのセンスアンプ（ＳＡ）４１を共有する、共有センスアンプ方式が用いられる。これは、微細化されたビット線ピッチにセンスアンプを配置することが物理的に困難になるためである。この共有センスアンプ方式では、各センスアンプ（ＳＡ）４１と対応する偶／奇ビット線ＢＬｅ／ＢＬｏの間にビット線選択トランジスタＱｅ，Ｑｏを含むビット線選択回路４２が配置され、偶／奇ビット線ＢＬｅ／ＢＬｏのいずれか一方がセンスアンプＳＡに接続されることになる。
【００２０】
図２のメモリセルアレイ構成では、１ワード線と偶数番ビット線ＢＬｅとにより選択されるメモリセルの集合が一つのセクタとなり、同ワード線と奇数番ビット線ＢＬｏとにより選択されるメモリセルの集合が他のセクタとなる。２値データ記憶方式では、１セクタが読み出し及び書き込みの単位である１ページとなる。４値データ記憶方式では、１セクタが２ページ（下位ページと上位ページ）となる。
【００２１】
図３は、センスアンプ回路４のなかの、一対のビット線ＢＬｅ／ＢＬｏに接続される１センスユニット（センスアンプ４１とビット線選択回路４２）の構成を示している。ビット線選択回路４２は、ビット線ＢＬｅ，ＢＬｏを選択的にノードＳＡＢＬに接続するための、選択信号ＢＬＳｅ，ＢＬＳｏによりゲートが駆動される選択トランジスタＱ２１，Ｑ２２と、非選択状態のビット線ＢＬｅ或いはＢＬｏに対して固定バイアスＢＬＣＲＬを与えるための、バイアス用トランジスタＱ２３，Ｑ２４とを有する。
【００２２】
センスノードＴＤＣは、クランプ用ＮＭＯＳトランジスタＱ１を介し、ビット線選択トランジスタＱｅ，Ｑｏを介してビット線ＢＬｅ，ＢＬｏの一方に接続される。このトランジスタＱ１は、データ読み出し時、ビット線電圧をクランプする動作と、セルデータに応じたビット線電圧を検出するプリセンスアンプの働きをし、データ書き込み時は書き込みデータに応じた電圧をビット線に転送する動作を行う。
【００２３】
センスノードＴＤＣには、プリチャージ用ＮＭＯＳトランジスタＱ２が接続されている。このプリチャージ用トランジスタＱ２はデータ読み出し時、ビット線を所定電圧にプリチャージするために用いられる。
【００２４】
センスノードＴＤＣには、転送用ＮＭＯＳトランジスタＱ３，Ｑ４を介して二つのデータ記憶回路（データラッチ）ＰＤＣ，ＳＤＣが接続されている。これらのデータ記憶回路ＰＤＣ，ＳＤＣは動作モードに応じて使い分けられる。例えば、データ記憶回路ＳＤＣは、外部Ｉ／Ｏ端子との間で読み出し及び書き込みデータの授受に利用されるデータラッチである。従ってそのデータノードＮ１１，Ｎ１２は、カラム選択ゲートトランジスタＱ３１，Ｑ３２を介してデータ線ＤＬ，ＤＬｎに接続される。
【００２５】
また、データ記憶回路ＰＤＣは、データ書き込み時にビット線電圧を決める書き込みデータを保持する。即ちデータ書き込み時は、外部から供給される書き込みデータが、データ記憶回路ＳＤＣにロードされた後、データ記憶回路ＰＳＣに転送されて保持される。このデータラッチ３１が保持する書き込みデータに応じて、ビット線制御電圧が決定され、更にＮＡＮＤセルユニットのチャネル電圧が決定される。そして、書き込み電圧印加と書き込み状態を確認するベリファイ読み出しとからなる書き込みサイクルが実行される。またデータ記憶回路ＰＤＣは、データ読み出し時センスノードＴＤＣに読み出されたデータを保持する。
【００２６】
各書き込みサイクルでは、ビット毎の書き込みベリファイを行い、次の書き込みサイクルの書き込みデータを決定する。そのために、データ記憶回路ＰＤＣのデータノードＮ１とセンスノードＴＤＣの間に、書き込みデータを一時記憶する、もう一つのデータ記憶回路ＤＤＣが設けられている。ＮＭＯＳトランジスタＱ６のゲートＮ３がこのデータ記憶回路ＤＤＣの記憶ノードである。データノードＮ１とデータ記憶ノードＮ３との間に、データラッチ３１のデータを転送するための転送用ＮＭＯＳトランジスタＱ５が配置されている。トランジスタＱ６とセンスノードＴＤＣとの間には、データ記憶ノードＮ３のレベルに応じて、センスノードＴＤＣにデータを書き戻すための書き戻し用ＮＭＯＳトランジスタＱ７が配置されている。
【００２７】
書き込み時、データ記憶回路ＰＤＣの書き込みデータは、次のように設定される。即ちセルのしきい値電圧を正方向に変化させる“０”書き込みデータは、Ｎ１＝“Ｈ”として、セルのしきい値電圧を負の状態（消去状態）のまま保持する“１”書き込みデータ（即ち書き込み禁止）は、Ｎ１＝“Ｌ”としてセットされる。この書き込みデータに基づいて、ＮＡＮＤセルチャネルの電位が制御される。そして、選択ワード線に書き込み電圧を印加すると、“０”書き込みセルでは浮遊ゲートに電子が注入され、“１”書き込みセルでは電子注入が生じない。
【００２８】
書き込みベリファイ読み出しでは、確認すべきデータしきい値電圧分布の下限値に相当する“ベリファイ電圧”を選択ワード線に与えて、プリチャージされたビット線が選択セルにより放電されるか否かを検出する。“０”書き込みがなされたセルはワード線に与えられるベリファイ電圧でオンせず、ビット線が放電されない。従って、ＴＤＣ＝“Ｈ”なるデータとして読み出され、以後“１”書き込み（書き込み禁止）とされる。これに対して、“０”書き込みが不十分であるか、又は“１”データのセルではビット線が放電されて、これが“Ｌ”データとして読み出される。従って、次の書き込みサイクルでは、データ記憶回路ＤＤＣが保持する前サイクルの書き込みデータに基づいて、“１”書き込みデータを再度“Ｈ”データとしてデータ記憶回路ＰＤＣに書き戻す動作が行われる。
【００２９】
１ページ内の“０”書き込みデータが全て書き込まれると、データ記憶回路ＰＤＣは、データノードＮ１がオール“Ｈ”（オール“１”）状態となるように、制御される。１ページのデータ記憶回路ＰＤＣのオール“１”状態を検出して書き込み完了を判定するために、データ記憶回路ＰＤＣにベリファイ判定回路ＶＣＫが接続されている。
【００３０】
４値データ記憶方式では、１セルが２ビット記憶を行うために、データ書き込みに下位ページ書き込みと上位ページ書き込みが必要であるが、いずれも上述した書き込み動作、即ちしきい値電圧を上昇させる“０”書き込みとしきい値電圧を維持する“１”書き込み（書き込み禁止）とを利用する。
【００３１】
上位ページ書き込みでは、二つのデータ状態を確認するためのベリファイ条件の異なる別々の書き込みベリファイが必要となる。そして、この上位ページ書き込みシーケンスにおいて、既に書かれている下位ページデータを参照して書き込みベリファイを行う必要がある。そのためにデータ記憶回路ＳＤＣは、上位ページ書き込みの間、メモリセルアレイ１から読み出した下位ページデータを保持する働きをする。更に、保持する下位ページデータに応じて、ベリファイ読み出し時のビット線電位を強制放電させる動作を行う。そのようなビット線制御のために、データ記憶回路ＳＤＣのデータをビット線に転送するためのトランジスタＱ８，Ｑ９が設けられている。
【００３２】
図４は、４値データ記憶方式の場合のデータしきい値分布の例を示している。４値データＡ，Ｂ，Ｃ，Ｄは、しきい値電圧の順に定義される。４値データが、上位ページデータ“ｘ”と下位ページデータ“ｙ”により“ｘｙ”で表されるものとして、ここでは、Ａ＝１１，Ｂ＝１０，Ｃ＝００，Ｄ＝０１なるデータビット割付が用いられている。データ“Ａ”は最もしきい値電圧の低い（即ち負のしきい値電圧）の消去状態である。
【００３３】
データ消去は、ブロック単位で行われる。選択ブロックの全ワード線を０Ｖとし、メモリセルアレイが形成されたｐ型ウェルに消去電圧Ｖｅｒａ（例えば２０Ｖ）を印加する。これにより、選択ブロック内の全メモリセルは、浮遊ゲートの電子が放出されて、負のしきい値電圧状態（データ“Ａ”）になる。
【００３４】
データ書き込みは、図４に示したように、下位ページ書き込みと上位ページ書き込みとを必要とする。下位ページ書き込みは、データ“Ａ”のセルを選択的にデータ“Ｂ”にする動作である。図５は、下位ページ書き込みの制御フローを示している。書き込みコマンドを入力することにより、書き込みシーケンスが開始される。アドレスを入力し（ステップＳ１）、書き込みデータをロードして（ステップＳ２）、書き込み開始コマンドを入力すると（ステップＳ３）、内部コントローラによる書き込み制御が開始される。なお、同じセクタ内の下位ページと上位ページは、物理アドレスは同じであるが、外部コントローラ１１では、それぞれ別の論理アドレスが用いられる。
【００３５】
データ記憶回路ＳＤＣにロードする書き込みデータは、“０”（データ“Ｂ”の書き込み）又は“１”（データ“Ａ”の維持、即ち書き込み禁止）である。この書き込みデータに応じて、ビット線を介してＮＡＮＤセルチャネルの電位が、“０”，“１”書き込みに応じて、Ｖｓｓ，Ｖｄｄ−Ｖｔ（Ｖｔは選択ゲートトランジスタのしきい値電圧）に設定される。そして選択ワード線に書き込み電圧Ｖｐｇｍを与えることにより、“０”データが与えられたセルでは電子注入が生じ、“１”データが与えられたセルでは電子注入が生じない（ステップＳ４）。これにより、同じページ内で選択的にセルのしきい値を上昇させることができる。
【００３６】
書き込み後、その書き込み状態を確認する書き込みベリファイを行う（ステップＳ５）。この書き込みベリファイにおいては、データ“Ｂ”のしきい値分布の下限値に設定されたベリファイ電圧Ｖｖ１が用いられる。そして、書き込み完了の判定を行い（ステップＳ６）、書き込みが完了していれば、“Ｐａｓｓ”フラグを出力して終了する（正常終了）。
【００３７】
書き込みが未完了の場合、書き込みカウンタ（ＰＣ）値が設定された最大値Ｎｍａｘに達していないかどうかを確認し（ステップＳ７）、達していなければ、ステップＳ４に戻って再度書き込みを行う。書き込み完了の判定は、データ記憶回路ＰＤＣがオール“１”になったか否かの判定による。ＰＣ値が最大値Ｎｍａｘに達したら、“Ｆａｉｌ”フラグを出力して終了する（異常終了）。
【００３８】
上位ページ書き込みは、データ“Ｂ”のセルを選択的にデータ“Ｃ”にする第１の上位ページ書き込みモードと、データ“Ａ”のセルを選択的にデータ“Ｄ”にする第２の上位ページ書き込みモードとを含む。これら二種の上位ページ書き込みは、一つのシーケンス内で、選択ページに対して、選択的に“０”，“１”書き込みデータを与えて同時に書き込み電圧印加が行われる。即ち、第１及び第２の上位ビット書き込みモードは、共にセルのしきい値を上昇させる“０”書き込み動作として同時に行われる。
【００３９】
図６は、上位ページ書き込みの動作フローを示している。書き込みコマンド入力により書き込みシーケンスが開始される。アドレスを入力し（ステップＳ１１）、書き込みデータをロードした後（ステップＳ１２）、書き込みベリファイに必要な下位ページデータをメモリセルアレイから読み出す（ステップＳ１３）。外部からの書き込みデータはデータ記憶回路ＳＤＣを介してデータ記憶回路ＰＤＣにロードされ、内部読み出しされた下位ページデータはデータ記憶回路ＳＤＣに保持される。その後、書き込み開始コマンドを入力することにより（ステップＳ１４）、内部コントローラによる自動書き込み制御が開始される。
【００４０】
書き込みステップＳ１５は、図４に示す第１及び第２の上位ページ書き込みが同時に行われる。二種の上位ページ書き込みの書き込みベリファイは、異なるベリファイ電圧を用いる必要があるので、別工程となる。即ち第１の上位ページ書き込みベリファイ（ステップＳ１６）では、ベリファイ電圧Ｖｖ２が用いられ、第２の上位ページ書き込みベリファイ（ステップＳ１７）では、ベリファイ電圧Ｖｖ３が用いられる。
【００４１】
第１の上位ページ書き込みの書き込みベリファイでは、データ“Ｃ”のみについて書き込み状態を確認し、データ“Ｄ”はベリファイ対象から除外する必要がある。そのためには、データ記憶回路ＳＤＣが保持する下位ページデータを参照する。即ち、上位ページ書き込みの開始前に、データ“Ａ”，“Ｂ”をワード線に与える読み出し電圧をＶｒ１として、それぞれ、“１”，“０”データとして読み出して、これがデータ記憶回路ＳＤＣに保持される（ステップＳ１３）。
【００４２】
このデータ記憶回路ＳＤＣの保持する下位ページデータを利用して、第１の上位ページ書き込みのベリファイでは、データ“Ｄ”をベリファイ対象から除外することができる。その詳細な動作説明は省くが、図３のデータ記憶回路ＳＤＣ側に配置されたトランジスタＱ８，Ｑ９を用いたビット線電圧制御により行われる。即ち、ベリファイ読み出しの結果、“Ｈ”レベル（＝“０”データ）として読み出しされるビット線のうちデータ“Ｄ”対応のビット線を、データ記憶回路ＳＤＣのデータに基づいて強制的に放電させ、“Ｌ”レベル（＝“１”データ）として読み出されるようにする。
【００４３】
ベリファイ電圧Ｖｖ３を用いる第２の上位ページ書き込みでは、データ“Ｃ”は“１”データとして読み出されるので、下位ページデータの参照を要せずにデータ“Ｄ”の書き込み状態のみを確認することができる。書き込み完了の判定ステップＳ１８は、下位ページ書き込みの場合と同様に、データ記憶回路ＰＤＣがオール“１”データ状態になったか否かの判定により行う。
【００４４】
書き込み完了が判定されれば、正常終了となる。書き込みが未完了の場合、書き込みカウンタ（ＰＣ）値が最大値Ｎｍａｘに達したか否かを判定し（ステップＳ１９）、達していなければ、ステップＳ１５に戻って再度書き込みが行われる。ＰＣ値がＮｍａｘに達して、異常終了する際には、センスアンプ回路４に読み出されている下位ページデータを待避させる（ステップＳ２０）。具体的にはその下位ページデータを内部コントローラ５内のキャッシュ（ＣＡＣＨＥ）に転送して一時保持し、或いはチップ外部に出力して外部コントローラ１１に一時保持する。
【００４５】
中断コマンドの入力により上位ページ書き込みシーケンスを強制中断する場合にも、同様に下位ページデータの待避を行うものとする。
【００４６】
これにより、上位ページ書き込みが異常終了した時或いは強制終了した時のデータ修復が可能になる。即ち上位ページ書き込みの異常終了により、メモリセルアレイ１の同じ物理アドレスの下位ページデータは破壊される。しかしこの実施の形態の場合、その下位ページデータを完全に失われることはなく、待避させた下位ページデータと、当該ブロックの既に書き込まれている残りのデータとを、他のスペアブロックにコピー書き込みを行うことにより、データ修復が可能になる。この動作は、後述する。
【００４７】
通常のデータの読み出しは、１回の上位ページ読み出しと、２回の下位ページ読み出しが行われる。まず、データ“Ｂ”，“Ｃ”のしきい値電圧分布の間に設定された読み出し電圧Ｖｒ２を用いた上位ページ読み出しが行われる。上位ページデータ“ｘ”が“１”であるデータ“Ａ”又は“Ｂ”は、データ“１”として、上位ページデータ“ｘ”が“０”であるデータ“Ｃ”又は“Ｄ”はデータ“０”として読み出される。
【００４８】
次いで、データ“Ａ”，“Ｂ”の間に設定した読み出し電圧Ｖｒ１を用いた第１の下位ページ読み出しと、データ“Ｃ”，“Ｄ”の間に設定した読み出し電圧Ｖｒ３を用いた第２の下位ページ読み出しを順次行う。これにより、データ“Ａ”と“Ｂ”の判別と、データ“Ｃ”と“Ｄ”の判別が可能になる。
【００４９】
なお、データ読み出しに用いられる上述の読み出し電圧Ｖｒ１−Ｖｒ３は、選択ワード線に与えられる電圧である。選択ブロック内の非選択ワード線、選択ゲート線には、全データしきい値分布の上限値より高い読み出しパス電圧Ｖｒｅａｄ（図４参照）が与えられる。これにより、非選択セルをデータによらずオンさせることができるから、選択ワード線のデータによりビット線電流が流れるか否かを検知して、データを判定することができる。なおベリファイ読み出し動作においてもこの読み出しパス電圧Ｖｒｅａｄが用いられる。
【００５０】
データ読み出し時のセンスアンプ回路４の動作を簡単に説明すれば、まず、クランプ用トランジスタＱ１及びプリチャージ用トランジスタＱ２をオンにし、選択ブロックの選択ゲートトランジスタがオフの状態で、ビット線を所定電圧にプリチャージする。その後、トランジスタＱ１，Ｑ２をオフにして、選択ブロックの選択ゲートトランジスタをオンにする。これにより、選択ワード線に与えられた読み出し電圧との関係で、選択メモリセルがオン又はオフとなる。即ち“１”データセルではビット線が放電され、“０”データセルではビット線が放電されない。このビット線の放電状態を、一定時間後にクランプ用トランジスタＱ１をオンにすることで、センスノードＴＤＣに転送する。即ちビット線とセンスノードＴＤＣの電荷分配により、データを検知することができる。
【００５１】
図７は、上位ページ書き込みシーケンスが異常終了した場合のデータ修復動作の例を示している。前述のように、上位ページ書き込みシーケンスが異常終了した時、メモリチップは、センスアンプ回路４に保持されている下位ページデータを保存するリカバリ動作を行う。
【００５２】
図７に示すように、異常終了したブロックＢＬＫａは欠陥ブロックとして扱う。そして外部コントローラ１１の指示により、その欠陥ブロックＢＬＫａに既に書かれているページデータ（ＤＡ）を、他のスペアブロックＢＬＫｂにコピー書き込みし、更に待避させた上位ページデータ（ＤＢ）を同様にスペアブロックＢＬＫｂの対応するページに書き込む動作を行うことができる。
【００５３】
図８は、このときの内部コントローラ５によるコピー書き込みの制御フローを示している。内部コントローラ５にコマンドがセットされると（ステップＳ３０）、コピー書き込みステップＳ３１が実行される。
【００５４】
コピー書き込みステップＳ３１は、ブロックＢＬＫａの既に書かれている領域のデータ（ＤＡ）が下位ページデータの場合（図４のデータ“Ａ”及び“Ｂ”のみ書かれている場合）と、上位ページまで書かれている場合（図４のデータ“Ａ”，“Ｂ”，“Ｃ”及び“Ｄ”が書かれている場合）を含む。いずれの場合も、ページ単位でセルアレイからセンスアンプ回路４に読み出し、これをスペアブロックＢＬＫｂの対応ページに書き込む、というコピー動作を繰り返す。
【００５５】
次いで、コントローラ５により書き込みステップＳ３２が実行される。この書き込みステップＳ３２は、内部コントローラ５に待避させ、又は一旦外部コントローラ１１まで出力した下位ページデータ（ＤＢ）を、センスアンプ回路４にロードし、スペアブロックＢＬＫｂの対応ページに書き込む動作である。
【００５６】
以上のように、この実施の形態では、上位ページ書き込みの途中で異常終了する場合に、センスアンプ回路に残されている下位ページデータを一時待避、保存して終了させる。これにより、下位ページデータの完全消失が防止される。そして、欠陥ブロック内の既に書かれているデータをスペアブロックにコピー書き込みし、更に一時保存した下位ページデータもスペアブロックに書き込むことにより、データ修復が可能になる。
【００５７】
［実施の形態２］
実施の形態１に比べて、高速書き込みが可能でかつ、データ信頼性が高くなる書き込み方式を採用した実施の形態２を次に説明する。実施の形態２のＮＡＮＤ型フラッシュメモリにおける機能ブロック構成、セルアレイ構成、センスアンプ回路構成は、それぞれ実施の形態１で説明した図１、図２及び図３と基本的に変わらない。
【００５８】
実施の形態２では、まず４値データの割り付けが実施の形態１と異なる。即ち図９に示すように、しきい値電圧の順に、データ“Ａ”＝“１１”，“Ｂ”＝“０１”，“Ｃ”＝“１０”，“Ｄ”＝“００”の４値が定義される。
【００５９】
データ書き込みは、図９に示すように、下位ページ書き込みと上位ページ書き込みとからなる。下位ページ書き込みは、データ“Ａ”（消去状態）のセルに対して選択的に、データ“Ｂ”，“Ｃ”のしきい値分布にまたがるようなしきい値分布をもつ中間データ状態“ＢＣ”を書き込むものである。中間データ“ＢＣ”は、そのしきい値下限値Ｖｖ２０が、データ“Ｃ”のしきい値下限値Ｖｖ２より低く、データ“Ｂ”のしきい値下限値Ｖｖ１より高いものとし、かつ最終的なデータ“１０”よりブロードなしきい値分布を持つ状態である。
【００６０】
上位ページ書き込みは、データ“Ａ”のセルに選択的に“０”書き込みを行って、しきい値下限値Ｖｖ１のデータ“Ｂ”を書き込む第１の上位ページ書き込みモードと、ブロードなしきい値分布の中間データ“ＢＣ”のセルに“０”書き込みを行って、しきい値下限値Ｖｖ３のデータ“Ｄ”を書き込む第２の上位ページ書き込みモードとを有する。第２の上位ページ書き込みモードは、中間データ“ＢＣ”のセルを所望のしきい値下限値Ｖｖ２のデータ“Ｃ”まで変化させる“０”書き込み動作（即ち下位ページ書き込み動作）を含む。
【００６１】
第１の上位ページ書き込みモードにおいて、“１”書き込みセル（書き込み禁止セル）はデータ“Ａ”を保つ。第２の上位ページ書き込みモードのデータ“Ｃ”及び“Ｄ”の書き込みは、１回の書き込みサイクル内で、ベリファイ電圧をＶｖ２からＶｖ３に切り換えるという、書き込みベリファイを伴って実行することができる。
【００６２】
図９の４値記憶方式は、図４で説明した４値記憶方式に比べて、データの信頼性が高くかつ、高速の書き込みが可能であるという利点を有する。その理由は、次の通りである。
【００６３】
微細化したセルアレイでは、隣接するメモリセルの浮遊ゲート間の容量結合が大きい。このため、既にデータが書かれたワード線のメモリセルデータが、後に書かれる隣接ワード線のメモリセルのデータの影響を強く受ける。図４の方式では、第２の上位ページ書き込みモードのうちデータ“Ａ”から選択的にデータ“Ｄ”を書き込む場合に、大きなしきい値変化を伴うから、浮遊ゲート間の干渉の影響が大きく、データの信頼性が低下する。これに対して図９の４値記憶方式では、その様な大きなしきい値変化を伴う書き込みモードを用いないため、データの信頼性が高いものとなる。
【００６４】
また、図９の方式では、データ“ＢＣ”を書き込む下位ページ書き込みは、ブロードなしきい値分布制御でよいため、高速の書き込みが可能である。データ“Ｃ”及び“Ｄ”を書き込む上位ページ書き込みは、１書き込みサイクル内でベリファイ電圧を切り換えて書き込みベリファイを行うという方法により、高速化が可能である。
【００６５】
図９の４値記憶方式では、上位ページ書き込みの際には、外部からロードされる書き込みデータと、実際にセルアレイのビット線に制御電圧として与えられる書き込みデータとは異なる。即ち外部からロードされる上位ページ書き込みデータは、“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応してそれぞれ、“１”，“０”，“１”，“０”として、区別する必要がある。一方、セルアレイに与えられる上位ページ書き込みデータは、データ“Ｂ”，“Ｃ”及び“Ｄ”に対して共にしきい値を上昇させる“０”書き込みデータである必要がある。従って、外部からロードされた書き込みデータを、センスアンプ回路４内のデータ記憶回路ＳＤＣ，ＰＤＣ，ＤＤＣの間で内部転送して、データ記憶回路ＰＤＣが保持すべき書き込みデータを設定する動作が必要になる。
【００６６】
更に上位ページ書き込みでの書き込みベリファイのためには、下位ページデータを参照してビット線電圧制御を行うことも必要になる。そのためには、セルアレイから読み出された下位ページデータをセンスアンプ回路４内で内部転送して、ベリファイ時のビット線制御電圧を決めるためにデータ記憶回路ＳＤＣ，ＤＤＣが保持すべきデータを設定する動作も必要となる。
【００６７】
図９の４値記憶方式において、下位ページデータ書き込みが最終的なデータしきい値分布とは異なるブロードなしきい値分布を持つように行われる。従って、上位ページまで書かれた後の下位ページ読み出し電圧ＢＲ２と、上位ページが書かれていない間の下位ページ読み出し電圧ＡＲとは異なる。また、セルアレイのある領域のデータを読み出す場合に、その領域が下位ページまでしか書かれていないか、上位ページまで書かれているかは、外部からは分からない。このために、内部データ状態に応じて自動的にデータ読み出し条件を決めるための指標となるフラグデータが用いられる。
【００６８】
具体的には図１０に示すように、第１の上位ページ書き込みモードと同じ条件で書かれる第１のフラグデータ“ＦＡ”と、第２の上位ページ書き込みモードと同じ条件で書かれる第２のフラグデータ“ＦＢ”とが用いられる。これらのフラグデータはそれぞれ、セルアレイのなかのノーマルデータ領域とは別カラムに、１ビット乃至数ビットデータとして設定される。好ましくは、数ビットデータとしてその多数決により、フラグデータを決定するようにする。
【００６９】
第１のフラグデータ“ＦＡ”は、データ“Ｂ”と同じしきい値下限値Ｖｖ１を持って書き込まれ、第２のフラグデータ“ＦＢ”は、データ“Ｄ”と同じしきい値下限値Ｖｖ３を持って書き込まれる。
【００７０】
図１１は、下位ページデータ読み出し動作のフローを示している。下位ページ読み出しは、まず図９の下段のしきい値分布が形成されているという仮定の下に、データ“Ｂ”，“Ｃ”のしきい値分布の間に設定された読み出し電圧ＢＲ２を用いた読み出し動作が行われる（ステップＳ３１）。
【００７１】
次に、第２のフラグデータ“ＦＢ”が“１”（上位ページが書かれていない）であるか“０”（上位ページが書かれている）であるかを判断する（ステップＳ３２）。ＦＢ＝１ならば、読み出しデータをそのまま出力する（ステップＳ３４）。ＦＢ＝０ならば、データしきい値分布は図９の上段の状態であるから、読み出し電圧ＡＲを用いた下位ページデータ読み出しを行い（ステップＳ３３）、その読み出しデータを出力する。
【００７２】
図１２は上位ページデータ読み出しのフローを示している。上位ページデータ読み出しは基本的に、図９の下段に示す読み出し電圧ＢＲ１，ＢＲ２，ＢＲ３を用いた３回の読み出し動作を必要とする。しかし、上位ページ書き込みにおいては、データ“Ｃ”，“Ｄ”を書き込む第２の上位ページ書き込みにおいて、ベリファイ読み出し電圧を途中で切り換える１回の書き込みを行っている。これに対応させて、データ“Ｃ”，“Ｄ”の読み出しには、読み出し電圧をＢＲ２からＢＲ３に切り換える同時読み出しを行うことが好ましい。
【００７３】
従って、まず図１２に示すように、読み出し電圧ＢＲ２，ＢＲ３を用いたデータ読み出しを行う（ステップＳ４１）。具体的には、ビット線プリチャージの後、読み出し電圧ＢＲ２による読み出し動作を行う。これにより、データ“Ｃ”及び“Ｄ”の上位ページデータ“１”及び“０”が“Ｈ”（＝“０”）データとして、データ記憶回路ＴＤＣに読み出される。このデータ記憶回路ＴＤＣの読み出しデータをデータ記憶回路ＤＤＣに転送した後、センスノードＴＤＣをＶｄｄにプリチャージし直して、読み出し電圧をＢＲ２からＢＲ３に切り換えた読み出し動作を行う。即ち、データ“Ｄ”の上位ページデータ“０”を“Ｈ”（＝“０”）データとして、データ記憶回路ＴＤＣに読み出す。
【００７４】
次に、読み出し電圧ＢＲ１を用いたデータ読み出しを行う（ステップＳ４２）。このときデータ“Ｂ”，“Ｃ”及び“Ｄ”が“Ｈ”（＝“０”）データとして読み出されるが、データ“Ｃ”，“Ｄ”は既にステップＳ４１で読み出されている。従って、最終的にデータ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”の上位ページデータ“１”，“０”，“１”，“０”がデータ記憶回路ＰＤＣに読み出されるように、データ記憶回路ＤＤＣ，ＰＤＣが保持する読み出しデータによって、センスノードＴＤＣのデータ状態が制御される。
【００７５】
そして、第１のフラグデータ“ＦＡ”が“０”（上位ページデータが書かれている）であるか“１”（上位ページデータが書かれていない）であるかを判定し、“０”であれば、センスアンプ回路４の読み出しデータをそのままチップ外部に出力する。ＦＡ＝１の場合は、上位ページデータが書かれておらず、図９の上段のしきい値分布状態、即ち上位ページデータはオール“１”状態である。従って、読み出しデータをオール“１”に変更して（ステップＳ４４）、これをチップ外部に読み出す。
【００７６】
図９で説明した４値記憶方式の書き込み方式では、上位ページ書き込み途中で電源が遮断すると、下位ページデータも失われてしまう。図９の上段のデータ“ＢＣ”と下段のデータ“Ｂ”のしきい値分布が重なった状態にあるからである。
【００７７】
そこでこの実施の形態２の好ましい書き込み方式として、中間データ“ＢＣ”のセルに選択的にデータ“Ｃ”及び“Ｄ”を書き込むシーケンスを先に実行し、その後データ“Ａ”のセルに選択的にデータ“Ｂ”を書き込む書き込みシーケンスを行う。
【００７８】
図１３及び図１４を参照してのこの実施の形態２での上位ページ書き込み方式を説明する。最終的な４値データしきい値分布は、図９の下段に示したものと同じである。図１３は、第１及び第２の書き込みシーケンスによる状態変化を示している。第１の書き込みシーケンスは、図９の下位ページ書き込みと同じであり、選択セクタ内の消去状態のデータ“Ａ”のセルに選択的に、しきい値下限値Ｖ２０の中間データ“ＢＣ”を書き込む。
【００７９】
第２の書き込みシーケンスは、データ“ＢＣ”状態から、しきい値下限値Ｖｖ３のデータ“Ｄ”を書き込む上位ページ書き込みである。この書き込みシーケンスはまた、データ“ＢＣ”から所望のしきい値電圧Ｖｖ２のデータ“Ｃ”を書き込む動作を含む。この第２の書き込みシーケンス内で同時に、第２のフラグデータ領域に、第２のフラグデータ“ＦＢ”を書き込む。このフラグデータ“ＦＢ”は、データ“Ｄ”と同じしきい値下限値Ｖｖ３を持つ、好ましくは数ビットデータとして書かれる。
【００８０】
この後、図１４に示すように、選択セクタ内のデータ“Ａ”状態のセルに、選択的にしきい値下限値Ｖｖ１のデータ“Ｂ”を書き込む第３の書き込みシーケンス（上位ページ書き込み）が行われる。このデータ書き込み時同時に、第１のフラグデータ領域に、第１のフラグデータ“ＦＡ”を書き込む。このフラグデータ“ＦＡ”は、データ“Ｂ”と同じしきい値下限値Ｖｖ１を持つ、好ましくは数ビットデータとして書かれる。
【００８１】
第２及び第３の書き込みシーケンスを、図１５〜図１８を用いてより具体的に説明する。図１５は第２の書き込みシーケンスであり、コマンド入力やアドレス入力は通常の書き込みと同様であって、ここでは省略している。図１５に示すように、書き込みデータをロードし（ステップＳ５１）、次いでセルアレイのデータを読み出す（ステップＳ５２）。
【００８２】
この書き込みシーケンスは基本的には上位ページ書き込みであるから、ロードされるデータは、図１７に示すように、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応して、“１”，“０”，“１”，“０”となる。これらはデータ記憶回路ＳＤＣにロードされる。またステップＳ５２の内部データ読み出しは、図１３に示すデータ“Ａ”と“ＢＣ”の間の読み出し電圧ＡＲを用いて行う。
【００８３】
前述のように、第２の書き込みシーケンスでは、データ“Ｄ”の他に、データ“Ｃ”についても“０”書き込みを行う。従って、図１７に示すように、データ記憶回路ＰＤＣ，ＳＤＣ，ＤＤＣ間のデータ転送制御によって、データ記憶回路ＰＤＣが保持する書き込みデータが、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応して、“１”，“１”，“０”，“０”とセットされるようにする（ステップＳ５３）。
【００８４】
この様な書き込みデータに基づいて、書き込みを行う（ステップＳ５４）。書き込みベリファイは、データ“Ｃ”及び“Ｄ”について同時に行う（ステップＳ５５）。具体的には、この書き込みベリファイでは、ビット線放電動作の途中でベリファイ電圧をＶｖ２（データ“Ｃ”のしきい値下限値）からＶｖ３（データ“Ｄ”のしきい値下限値）に切り換える動作を伴う。
【００８５】
データ“Ｃ”及び“Ｄ”書き込みについて、しきい値電圧がＶｖ２を越えていれば、図１７に示すように、ベリファイ電圧Ｖｖ２を用いた前半のベリファイ読み出しで、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応する読み出しデータは、“１”，“１”，“０”，“０”となる。またデータ“Ｄ”書き込みについて、しきい値電圧がＶｖ３を越えていれば、図１７に示すように、ベリファイ電圧Ｖｖ３を用いた後半のベリファイ読み出しで、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応する読み出しデータは、“１”，“１”，“１”，“０”となる。これらがベリファイ電圧Ｖｖ２，Ｖｖ３によるベリファイ“パス”の条件である。
【００８６】
以上のベリファイパスの条件が満たされたときに、データ記憶回路ＰＤＣがオール“１”状態になるように、ベリファイ読み出しデータを制御して、書き込み完了検出を行う（ステップＳ５６）。書き込みが完了していない場合は、書き込みカウント値ＰＣが最大値Ｎｍａｘに達していないことを判定し（ステップＳ５７）、書き込みを繰り返す（ステップＳ５４）。ＰＣ値が最大値Ｎｍａｘに達して書き込みが完了しない場合は、“Ｆａｉｌ”フラグを出力して終了する（異常終了）。
【００８７】
図１６は第３の書き込みシーケンスであり、ここでもコマンド入力やアドレス入力は省略している。図１６に示すように、書き込みデータをロードし（ステップＳ６１）、次いでセルアレイのデータを読み出す（ステップＳ６２）。この場合も上位ページ書き込みであるから、ロードされるデータは、図１８に示すように、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応して、“１”，“０”，“１”，“０”となる。これらはデータ記憶回路ＳＤＣにロードされる。またステップＳ６２の内部データ読み出しは、図１４に示す、データ“Ｂ”と“Ｃ”の間の読み出し電圧ＢＲ２を用いて行う。
【００８８】
一方、データ“Ｃ”及び“Ｄ”は既に書かれており、この書き込みシーケンスでは、図１４に示すように、データ“Ａ”について選択的に“０”書き込みを行って、データ“Ｂ”を得るものである。このため、データ“Ｃ”及び“Ｄ”が書かれたセルについては、“１”書き込み（即ち書き込み禁止）とする。従って、図１８に示すように、データ記憶回路ＰＤＣ，ＳＤＣ，ＤＤＣ間のデータ転送制御によって、書き込み開始時にデータ記憶回路ＰＤＣが保持する書き込みデータが、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応して、“１”，“０”，“１”，“１”とセットされるようにする（ステップＳ６３）。
【００８９】
この様な書き込みデータに基づいて、書き込みを行う（ステップＳ６４）。書き込みベリファイは、データ“Ｂ”のしきい値下限値に設定されたベリファイ電圧Ｖｖ１を用いて行う（ステップＳ６５）。
【００９０】
データ“Ｃ”及び“Ｄ”は既に書かれており、データ“Ｂ”のしきい値電圧がＶｖ１を越えていれば、図１８に示すように、このベリファイ読み出しで、データ“Ａ”，“Ｂ”，“Ｃ”，“Ｄ”に対応する読み出しデータは、“１”，“０”，“０”，“０”となる。これがベリファイ“パス”の条件である。
【００９１】
以上のベリファイパスの条件が満たされたときに、データ記憶回路ＰＤＣがオール“１”状態になるように、ベリファイ読み出しデータを制御して、書き込み完了検出を行う（ステップＳ６６）。書き込みが完了していない場合は、書き込みカウント値ＰＣが最大値Ｎｍａｘに達していないことを判定し（ステップＳ６７）、書き込みを繰り返す（ステップＳ６４）。ＰＣ値が最大値Ｎｍａｘに達して書き込みが完了しない場合は、“Ｆａｉｌ”フラグを出力して終了する（異常終了）。
【００９２】
以上のような上位ページ書き込み順序を用いると、電源遮断により下位ページデータが失われることはない。例えば、図１３及び図１５で説明した第２の書き込みシーケンスの途中で電源遮断とする。このとき電源を再投入すれば、読み出し電圧ＡＲを用いることによって、下位ページデータ“Ａ”と“ＢＣ”を読み出すことができる。データ“ＢＣ”としきい値分布が重なるデータ“Ｂ”が未だ書かれていないからである。
【００９３】
また、第２の書き込みシーケンス終了後、図１４及び図１６で説明した第３の書き込みシーケンスの途中で電源が遮断した場合、データ“Ｂ”，“Ｃ”のしきい値分布の間に設定された読み出し電圧ＢＲ２を用いることにより、やはり下位ページデータを読み出すことができる。
【００９４】
上位ページ書き込みが異常終了した場合も、セルアレイの下位ページデータが失われることはない。図１５及び図１６の書き込みフローで異常終了する場合に、“Ｆａｉｌ”フラグと同時に、シーケンスの完了フラグを出力するようにすれば、外部コントローラはその完了フラグに基づいて、書き込みエラー後の欠陥管理を行うことができる。例えば、先の実施の形態１と同様に、書き込みが異常終了したブロックＢＬＫａを欠陥ブロックとして扱い、外部コントローラ１１の指示により、内部コントローラ５は、欠陥ブロックＢＬＫａに既に書かれたデータのスペアブロックＢＬＫｂへのコピー書き込みを実行することができる。
【００９５】
図１９はそのコピー書き込みのフローを示している。内部コントローラ５は、外部コントローラ１１から供給されるコマンドを受けて（ステップＳ８１）、欠陥とみなされたブロックＢＬＫａの既に書かれているデータをスペアブロックＢＬＫｂにコピー書き込みする（ステップＳ８２，Ｓ８３）。
【００９６】
ステップＳ８２のコピー書き込みでは、上位ページ書き込みが正常に完了しているページデータ（ＤＡ）を順次読み出してスペアブロックＢＬＫｂにコピーする。そのとき下位ページデータの読み出しに読み出し電圧ＢＲ２が用いられる。
【００９７】
ステップＳ８３は、ブロックＢＬＫａの書き込みエラーが生じたページの下位ページデータ（ＤＢ）を読み出して、スペアブロックＢＬＫｂにコピーする。このとき書き込みエラーが生じたのが第２の書き込みシーケンスである場合には、対応する下位ページデータの読み出しに、読み出し電圧ＡＲを用い、書き込みエラーが生じたのが第３の書き込みシーケンスである場合には、対応する下位ページデータの読み出しには読み出し電圧ＢＲ２を用いることになる。
【００９８】
上位ページ書き込みの途中で電源が遮断された場合は、次のように処理すればよい。強制リセットコマンドにより上位ページ書き込みが中断された場合も、これに準じる。図２０を参照してその処理を説明する。まず電源投入後、選択されているブロック内のデータが書かれている領域の最終ページをサーチする（ステップＳ７１）。下位ページの最終書き込みページは、読み出し電圧ＡＲを用いたデータ読み出しにより、上位ページの最終書き込みページは、第１又は第２のフラグデータ“ＦＡ”又は“ＦＢ”の読み出しにより、可能である。
【００９９】
次に、サーチされた最終書き込みページデータを読み出して、ＥＣＣ回路によるエラーチェックと訂正を行う（ステップＳ７２）。ＥＣＣ回路は、通常外部コントローラ１１が内蔵するが、メモリチップが内蔵してもよい。エラー訂正が可能であれば、電源遮断時の最終書き込みページデータは有効なものとして、処理を終了する。不可であれば、その選択ブロックＢＫＬａに既に書かれているデータを、先の実施の形態と同様にスペアブロックＢＬＫｂにコピー書き込みする。
【０１００】
具体的には、ブロックＢＬＫａの既に書き込みが完了しているページデータを、順次読み出して、スペアブロックＢＬＫｂにコピーする（ステップＳ７３）。エラー訂正不可と判定された最終書き込みページデータについては、まず読み出し電圧ＢＲ１−ＢＲ３を用いた上位ページデータ読み出しを行う（ステップＳ７４）。
【０１０１】
次いで、フラグデータＦＢが“１”（上位ページが書かれていない）か“０”（上位ページが書かれている）かを判断する（ステップＳ７６）。ＦＢ＝０であれば、読み出された上位ページデータを有効データとしてそのまま、スペアブロックＢＬＫｂにコピーする。ＦＢ＝“１”の場合には、改めて読み出し電圧ＡＲを用いて下位ページデータを読み出し（ステップＳ７６）、これをスペアブロックＢＬＫｂにコピーする（ステップＳ７７）。
【０１０２】
以上のようにして、上位ページ書き込みの途中で電源が遮断した場合のデータ修復が可能になる。なお図２０におけるステップＳ７３以降のコピー書き込み動作は、別のコマンド入力により実行される独立のシーケンスとしてもよい。またこのコピー書き込み動作は、フラッシュメモリチップ内部の機能としてもよい。
【図面の簡単な説明】
【０１０３】
【図１】実施の形態によるフラッシュメモリの機能ブロック構成を示す図である。
【図２】同フラッシュメモリのメモリセルアレイの構成を示す図である。
【図３】同フラッシュメモリのセンスアンプ回路の構成を示す図である。
【図４】実施の形態による４値データ割り付けとデータ書き込み方法を示す図である。
【図５】下位ページ書き込みの動作フローを示す図である。
【図６】上位ページ書き込みの動作フローを示す図である。
【図７】上位ページ書き込みが異常終了したときのコピー書き込み動作を説明するための図である。
【図８】同コピー書き込みの動作フローを示す図である。
【図９】他の４値データ書き込み方式を説明するための図である。
【図１０】同４値データ書き込み方式でのフラグデータを説明するための図である。
【図１１】同４値データ書き込み方式のフラッシュメモリの下位ページデータ読み出し動作フローを示す図である。
【図１２】同４値データ書き込み方式のフラッシュメモリの上位ページデータ読み出し動作フローを示す図である。
【図１３】図９の４値データ書き込み方式を変形した実施の形態による４値データ書き込み方式の第１及び第２の書き込みシーケンスを示す図である。
【図１４】同実施の形態の第３の書き込みシーケンスを示す図である。
【図１５】第２の書き込みシーケンスの動作フローを示す図である。
【図１６】第３の書き込みシーケンスの動作フローを示す図である。
【図１７】第２の書き込みシーケンスでのセンスアンプ回路のデータ状態を示す図である。
【図１８】第３の書き込みシーケンスでのセンスアンプ回路のデータ状態を示す図である。
【図１９】書き込みシーケンスが異常終了した時のコピー書き込み動作フローを示す図である。
【図２０】書き込みシーケンスが電源遮断により中断された場合のデータ修復動作を示す図である。
【符号の説明】
【０１０４】
１…メモリセルアレイ、２…カラムデコーダ、３…ロウデコーダ、４…センスアンプ回路、５…内部コントローラ、６…Ｉ／Ｏバッファ、７…アドレスレジスタ、８…ステータスレジスタ、９…データバス、１０…高電圧発生回路、１１…外部メモリコントローラ、４１…センスアンプ、４２…ビット線選択回路、ＰＤＣ，ＳＤＣ，ＤＤＣ…データ記憶回路、ＶＣＫ…ベリファイチェック回路。
【図１】
2006294126.tif 000003
【図２】
2006294126.tif 000004
【図３】
2006294126.tif 000005
【図４】
2006294126.tif 000006
【図５】
2006294126.tif 000007
【図６】
2006294126.tif 000008
【図７】
2006294126.tif 000009
【図８】
2006294126.tif 000010
【図９】
2006294126.tif 000011
【図１０】
2006294126.tif 000012
【図１１】
2006294126.tif 000013
【図１２】
2006294126.tif 000014
【図１３】
2006294126.tif 000015
【図１４】
2006294126.tif 000016
【図１５】
2006294126.tif 000017
【図１６】
2006294126.tif 000018
【図１７】
2006294126.tif 000019
【図１８】
2006294126.tif 000020
【図１９】
2006294126.tif 000021
【図２０】
2006294126.tif 000022