(57)【要約】【課題】  一括ベリファイ処理の所要時間を短縮化でき、バッファ書き込みを高速化できる半導体記憶装置を提供する。【解決手段】  アドレス領域内のメモリセルに書き込み処理を実行することと、複数アドレスのベリファイ動作を一括して行なう一括ベリファイ処理を実行することと、一括ベリファイ処理と書き込み処理とを繰り返すこととを行なう半導体記憶装置であって、各アドレスに未書き込みメモリセルを含むか否かを検出する検出手段を備え、一括ベリファイ処理の少なくとも一部において、１回以上前のベリファイ処理で未書き込みメモリセルを含まないと判定されたアドレスの少なくとも一部を除外してベリファイ処理を実行することを特徴とする。【選択図】        図１
2007188552.tif 000002
【特許請求の範囲】
【請求項１】
複数のアドレスからなる書き込み対象のアドレス領域に一括してデータの書き込みを実行するバッファ書き込み手段を備え、
前記バッファ書き込み手段が、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して書き込み処理を実行することと、
書き込みが要求されたメモリセルへの書き込みが完了しているか否かを判定するベリファイ処理を、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して行なう一括ベリファイ処理を実行することと、
前記書き込み処理と前記一括ベリファイ処理とを繰り返すことと、を行なう半導体記憶装置であって、
前記バッファ書き込み手段が、前記ベリファイ処理時において各アドレスに未書き込みメモリセルを含むか否かを検出する検出手段を備え、
更に、前記一括ベリファイ処理の少なくともに一部において、１回以上前の前記ベリファイ処理で未書き込みメモリセルを含まないと判定されたアドレスの少なくとも一部を除外してベリファイ処理を実行することを特徴とする半導体記憶装置。
【請求項２】
前記バッファ書き込み手段が、前記書き込み処理の少なくとも一部において、１回以上前の前記ベリファイ処理で未書き込みメモリセルを含まないと判定されたアドレスの少なくとも一部を除外して書き込み処理を実行することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記検出手段は、前記ベリファイ処理時に判定された未書き込みメモリセルを含む１または複数の未書き込みアドレスを検出可能に記憶し、
前記バッファ書き込み手段は、前記書き込み処理後の前記ベリファイ処理において、１回前の前記ベリファイ処理で判定された未書き込みアドレスのみを前記検出手段から順次選択してベリファイ処理を実行することを特徴とする請求項１に記載の半導体記憶装置。
【請求項４】
前記バッファ書き込み手段が、直前の前記ベリファイ処理で判定された未書き込みアドレスのみを検出手段から順次選択して書き込み処理を実行することを特徴とする請求項３に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、より詳細には、複数のアドレスからなる書き込み対象のアドレス領域に一括してデータの書き込みを実行するバッファ書き込み手段を備え、前記バッファ書き込み手段が、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して書き込み処理を実行することと、書き込みが要求されたメモリセルへの書き込みが完了しているか否かを判定するベリファイ処理を、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して行なう一括ベリファイ処理を実行することと、前記書き込み処理と前記一括ベリファイ処理とを繰り返すことと、を行なう半導体記憶装置に関する。
【背景技術】
【０００２】
通信の高速化やアプリケーションの大容量化に伴い、半導体記憶装置において、書き込みを高速化することへの要望が強まっている。例えば、携帯電話を始めとするネットワーク機器は、より高速な書き込みを実行できる半導体記憶装置を必要としている。携帯電話では現在、不揮発性記憶装置として主にフラッシュメモリが使用されている。フラッシュメモリは、ベリファイ処理と書き込み処理とを繰り返す半導体記憶装置であることが多い。つまり、フラッシュメモリは、メモリセルへの書き込みコマンドが外部から発行されたとき、書き込み対象として選択された選択メモリセルに書き込み処理を１回実行しただけでは、一部の選択メモリセルで書き込みが完了できていない可能性があるので、ベリファイ処理を実行することにより書き込みが完了していない未書き込みメモリセルを検知して、未書き込みメモリセルに対して再度書き込み処理を行ない、これらベリファイ処理と書き込み処理を何回か繰り返すことにより、選択メモリセル全ての書き込みを完了させる手法を用いるのが一般的である。このようにベリファイ処理と書き込み処理とを繰り返す制御は、フラッシュメモリやＥＥＰＲＯＭに限らず、書き込みの速度が比較的遅いまたは書き込み特性が不安定なメモリセルを用いたメモリで広く用いられている。
【０００３】
一方、書き込み処理の速度を高速化する手段として、複数のアドレスにて選択されるメモリセルに一括して書き込みを実行するバッファ書き込み手段を有するものがある。このバッファ書き込み手段を有するものでは、ベリファイ処理状態と書き込み処理状態との切り替え処理を低減でき、且つ、一連の書き込み処理の準備や終了後の処理もアドレス毎に実行する必要がなくなる。よって、アドレス毎にベリファイ処理と書き込み処理を繰り返すアドレス単位の書き込みを同一アドレス数繰り返す場合と比較して、総合的に書き込みの所要時間が短縮できる。
【０００４】
ここで、ベリファイ処理と書き込み処理とを繰り返す、バッファ書き込み手段を有するフラッシュメモリ（以下、適宜「従来装置」と略称する）の制御方法の一例について、図１２〜図１７を用いて説明する。図１２は、従来装置の構成例を示すブロック図である。なお、バッファ書き込みに関係する部分のみを示す。
【０００５】
従来装置は、１６ワード（１ワードは１６ビットを想定する）の書き込みデータを一括してメモリセルアレイに書き込むバッファ書き込み手段を有するものとする。また、データの表記は、一般的なＮＯＲ型フラッシュメモリにしたがって、消去状態のメモリセルを‘１’とし、書き込み状態のメモリセルを‘０’とする。
【０００６】
まず、外部端子からの入力は、入出力回路５１０を介した信号５１１によりユーザーインターフェイス回路５２０に伝達されて解析される。外部からの指示が書き込みであった場合、書き込みデータの入力段階において、ユーザーインターフェイス回路５２０が信号５２２によりライトバッファ回路５５０に書き込みデータの蓄積を指示する。このとき、ライトバッファ回路５５０は、書き込みに用いられる書き込みデータを記憶する。
【０００７】
また、書き込みデータの入力段階が終了したとき、ユーザーインターフェイス回路５２０は信号５２１によりライトステートマシン回路５３０に書き込みの開始を指示する。指示されたライトステートマシン回路５３０は、制御信号５３２により制御アドレス回路５４０に格納される制御アドレスを制御するともに、制御信号５３１によりアレイ制御回路５６０を制御し、更に制御信号５３３によりライトバッファ回路５５０を制御する。
【０００８】
制御信号５３２により制御アドレスを更新された制御アドレス回路５４０は、制御アドレス信号５４１をアレイ制御回路５６０及びライトバッファ回路５５０に出力する。なお、制御アドレス信号５４１は、メモリセルアレイ５７０中の書き込み対象となる選択メモリセルを選択するために、アレイ制御回路５６０で用いられるとともに、複数のアドレスに書き込むデータの内から該当アドレスに含まれるメモリセルの書き込みに必要なデータを選択するためにライトバッファ回路５５０で用いられる。
【０００９】
ライトバッファ回路５５０は、制御アドレス信号５４１により選択された書き込みデータであるデータ信号５５１をアレイ制御回路５６０に出力する。
【００１０】
アレイ制御回路５６０は、制御信号５３１、制御アドレス信号５４１、データ信号５５１等によりメモリセルアレイ５７０を制御する。例えば、書き込み処理では制御信号５６１により選択メモリセルに書き込みパルスの印加を行ない、ベリファイ処理では選択メモリセルの読み出しを指示して、その結果を読み出しデータ信号５７１から得る。
【００１１】
また、図１３は、制御アドレス回路５４０の一部の一例を示す回路図であり、図１４は、図１３の制御アドレス回路で使用されるレジスタセルの一例を示す回路図である。信号ＤＡＴ［３：０］及び信号ＷＲは、制御信号５３２に含まれる信号である。信号ＤＡＴ［３：０］及び信号ＷＲによりライトステートマシン回路５３０が制御アドレスを更新する。また、信号ＡＤＤ［３：０］は、制御アドレス信号５４１の一部である。レジスタセルは、単純なレジスタ回路である。信号ＷＲが‘１’となるときに、ＤＡＴの値が読み込まれて制御アドレスが更新され、更新された値は信号ＡＤＤに出力される。引き続き信号ＷＲが‘０’に戻ると更新された制御アドレスがラッチされる。
【００１２】
更に、図１５は、ライトバッファ回路５５０の一例を示す回路図であり、図１６は、図１５のライトバッファ回路で使用されるレジスタセルＲＥＧＣＥＬＬの回路の一例を示す回路図である。レジスタセルＲＥＧＣＥＬＬは、値の保持が可能なレジスタ回路である。なお、読み出しには、データ制御回路でプルアップされたノードＲＤを使用する。
【００１３】
ここで、従来装置におけるバッファ書き込みのアルゴリズムの一例について図１７を用いて説明する。なお、一定回数以上の書き込み処理を実行しても書き込みが完了できなかった場合は書き込み失敗とする。
【００１４】
まず、ステップＳ６０１で、書き込み処理の回数をカウントする書込カウンタを初期化する。ステップＳ６０２で、ベリファイ電圧、例えば、選択メモリセルのワード線に必要な電圧等を設定する。
【００１５】
ステップＳ６０３で、制御アドレスを、バッファ書き込み対象として選択された領域の先頭アドレスに初期化し、書き込みフラグをクリアする。ステップＳ６０４で、制御アドレスで指定される選択メモリセルでベリファイ読み出しを実行する。
【００１６】
ステップＳ６０５で、ベリファイ結果を取り込む。つまり、ライトバッファ回路５５０に格納された期待値とベリファイ読み出しデータとを比較して書き込みが完了したか否かの判断結果（ベリファイ結果）に基づいて、ライトバッファ回路５５０に格納された値を更新する。例えば、書き込みが完了した選択メモリセルに対応するビットを‘１’に変更することにより、その選択メモリセルに対して更なる書き込みが不要であることを示す。
【００１７】
ステップＳ６０６で、ステップＳ６０５で更新したライトバッファ回路５５０に格納された値が、書き込みの必要な選択メモリセルが存在することを示す場合、ステップＳ６０７で、書き込みの必要があることを示すフラグをセットする。なお、ステップＳ６０５で更新したライトバッファ回路５５０に格納された値が、書き込みの必要な選択メモリセルが存在しないことを示す場合、当該フラグをセットしない。
【００１８】
ステップＳ６０８で、制御アドレスがインクリメントされる。ステップＳ６０９で、ベリファイ処理が全てのアドレスで完了したか否かを判定する。ベリファイ処理が未完である場合は、ステップＳ６０４の処理に戻ることにより、次のアドレスでベリファイ処理を実行する。このようにステップＳ６０４〜Ｓ６０９の処理を繰り返すことで、全てのアドレスのベリファイ処理が完了できる。
【００１９】
全てのアドレスのベリファイ処理が完了した後、ステップＳ６１０で書き込みの必要な選択メモリセルが存在しない、すなわちＳ６０４〜Ｓ６０９にて書き込みフラグがセットされていないときには、一連の書き込みが完了したとみなして、バッファ書き込み処理を終了する（ステップＳ６１１）。一方、書き込みの必要なメモリセルが存在する、すなわちＳ６０４〜Ｓ６０９にていずれかのアドレスで書き込みフラグがセットされているときには、ステップＳ６１２に進み、書込カウンタを更新する。
【００２０】
ステップＳ６１３で、書込カウンタの値が書き込み処理の繰り返し回数の上限値である場合は、書き込み失敗として、バッファ書き込み処理を終了する（ステップＳ６１４）。一方、書込カウンタの値が書き込み処理の繰り返し回数の上限値でない場合は、ステップＳ６１５に進み、書き込み電圧を設定する。このとき、ベリファイ処理と書き込み処理とでは選択ＷＬ線や選択ビット線に異なる電圧を使用するので、その切り替え等を行なう。
【００２１】
ステップＳ６１６で、制御アドレスを初期化する。ステップＳ６１７で、制御アドレスで指定される選択アドレスで書き込み処理を実行する。このとき、選択アドレスに書き込みの必要な選択メモリセルが存在していなくても書き込み処理状態となるが、そのような場合は当該アドレスの書き込み処理を途中でキャンセルしてステップＳ６１８に進むことができる。
【００２２】
ステップＳ６１８で、制御アドレスをインクリメントする。ステップＳ６１９で、全てのアドレスで書き込みが完了したか否かを判定する。書き込みが未完である場合は、ステップＳ６１７の処理に戻ることにより、次のアドレスで書き込み処理を実行する。このようにステップＳ６１７〜Ｓ６１９の処理を繰り返すことで、全てのアドレスの書き込み処理を完了することができる。
【００２３】
全てのアドレスで書き込みが完了した後、ステップＳ６０２の処理に戻ることにより、再びベリファイ処理を実行する。このように一括ベリファイ処理と書き込み処理とを繰り返す。
【００２４】
一方、同様のライトバッファ回路を備えたバッファ書き込み機能により書き込み処理の高速化を図った半導体記憶装置において、制御のアルゴリズムを簡略化する回路技術による高速化手法を用いた半導体記憶装置が開発されている。このような半導体記憶装置では、例えば、ライトバッファ回路に格納された書き込み不要なデータがメモリセルに書き込まれないようにマスク回路により制御されている（例えば、特許文献１参照）。
【００２５】
【特許文献１】特開２００４−３９１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、従来装置においてバッファ書き込みを実行した場合、全てのアドレスでベリファイ処理を実行することになるため、一括ベリファイ処理の所要時間が長かった。図１０は、バッファ書き込みが進行する状況を説明する図を示す。「アドレス」列と、「データ」列とには、書き込みを実行するアドレスと、対応するアドレスに書き込まれるデータとを示している。また、ベリファイ１回目からベリファイ５回目の列には、一括ベリファイ処理によって読み出されたメモリセルの状態（読み出しデータ）と、それを反映して書き換えられた後のライトバッファ回路５５０のデータ（バッファデータ）とを示している。
【００２７】
ベリファイ１回目では、１６ワード中の全てのアドレスに対してベリファイ処理が実行される。書き込み処理を実行する前なので、通常は全メモリセルが消去状態となっており、バッファデータは変更されない。半導体記憶装置の仕様で上書きを禁止する等の手段で１回目のベリファイ動作を省略できることもあるが、誤って上書きが指示された場合に備えてベリファイ処理を実行することが望ましい。ベリファイ２回目でも、１６ワード中の全てのアドレスに対してベリファイ処理が実行される。その結果、１６ワード中の９ワード（ＦＦＦＦｈで表示されている）で既に書き込みが完了となり、残りの７ワード（括弧書きで表示されている）で次の書き込み処理により書き込みパルスが印加される。ベリファイ３回目でも、１６ワード中の全てのアドレスに対してベリファイ処理が実行される。その結果、１６ワード中の１２ワードで既に書き込みが完了となり、残りの４ワードで次の書き込み処理により書き込みパルスが印加される。ベリファイ４回目でも、１６ワード中の全てのアドレスに対してベリファイ処理が実行される。その結果、１６ワード中の１４ワードが既に書き込みが完了となり、残りの２ワードで次の書き込み処理により書き込みパルスが印加される。ベリファイ５回目でも、１６ワード中の全てのアドレスに対してベリファイ処理が実行される。その結果、１６ワード全てで書き込みが完了となり、これによって書き込みが完了する。よって、従来装置では、ベリファイ処理が実行された回数は延べ８０回であり、一括ベリファイ処理の時間が非常に長かった。
【００２８】
そこで、本発明の目的は、上記従来の課題を解決するもので、一括ベリファイ処理の所要時間を短縮化でき、バッファ書き込みを高速化できる半導体記憶装置を提供することである。
【課題を解決するための手段】
【００２９】
本発明の半導体記憶装置は、複数のアドレスからなる書き込み対象のアドレス領域に一括してデータの書き込みを実行するバッファ書き込み手段を備え、前記バッファ書き込み手段が、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して書き込み処理を実行することと、書き込みが要求されたメモリセルへの書き込みが完了しているか否かを判定するベリファイ処理を、前記アドレス領域内の書き込み対象のうち複数のアドレスにて指定される領域に含まれるメモリセルに対して同時にまたは連続して行なう一括ベリファイ処理を実行することと、前記書き込み処理と前記一括ベリファイ処理とを繰り返すことと、を行なう半導体記憶装置であって、前記バッファ書き込み手段が、前記ベリファイ処理時において各アドレスに未書き込みメモリセルを含むか否かを検出する検出手段を備え、更に、前記一括ベリファイ処理の少なくともに一部において、１回以上前の前記ベリファイ処理で未書き込みメモリセルを含まないと判定されたアドレスの少なくとも一部を除外してベリファイ処理を実行することを特徴とする。
【００３０】
また、本発明の半導体記憶装置は、前記バッファ書き込み手段が、前記書き込み処理の少なくとも一部において、１回以上前の前記ベリファイ処理で未書き込みメモリセルを含まないと判定されたアドレスの少なくとも一部を除外して書き込み処理を実行することを特徴とすることが好ましい。
【００３１】
そして、本発明の半導体記憶装置は、前記検出手段は、前記ベリファイ処理時に判定された未書き込みメモリセルを含む１または複数の未書き込みアドレスを検出可能に記憶し、前記バッファ書き込み手段は、前記書き込み処理後の前記ベリファイ処理において、１回前の前記ベリファイ処理で判定された未書き込みアドレスのみを前記検出手段から順次選択してベリファイ処理を実行することを特徴とすることが好ましい。
【００３２】
更に、本発明の半導体記憶装置は、前記バッファ書き込み手段が、直前の前記ベリファイ処理で判定された未書き込みアドレスのみを検出手段から順次選択して書き込み処理を実行することを特徴とすることが好ましい。
【発明の効果】
【００３３】
本発明の半導体記憶装置によれば、各アドレスに未書き込みメモリセルを含むか否かを検出することにより、既にベリファイ動作が不要となったアドレスの少なくとも一部のベリファイ処理を省略可能、理想的には未書き込みメモリセルを含むアドレスである未書き込みアドレスのみのベリファイ処理で済ませることができるので、ベリファイ処理の回数を減らすことができ、一括ベリファイ処理の所要時間を短縮化でき、バッファ書き込みの高速化を図ることができる。
【００３４】
また、本発明の半導体記憶装置によれば、各アドレスに未書き込みメモリセルを含むか否かを検出することにより、既に書き込み処理が不要となったアドレスの少なくとも一部の書き込み処理を省略可能、理想的には未書き込みメモリセルを含むアドレスである未書き込みアドレスのみの書き込み処理で済ませることができるので、書き込み処理の回数を減らすことができ、書き込み処理の所要時間を短縮化でき、バッファ書き込みの高速化を図ることができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明に係るフラッシュメモリ（以下、適宜「本発明装置」と略称する）の実施形態を図面に基づいて説明する。なお、ここでは既に説明した従来装置との相違点のみを主に説明する。
【００３６】
（第１の実施形態）
まず、本発明装置の第１の実施形態について説明する。図１は、第１の実施形態の構成例を示すブロック図である。なお、バッファ書き込みに関係する部分のみを示す。
【００３７】
本発明装置は、１６ワード（１ワードは１６ビットを想定する）の書き込みデータを一括してメモリセルアレイに書き込むバッファ書き込み手段を有するものとする。また、データの表記は、一般的なＮＯＲ型フラッシュメモリにしたがって、消去状態のメモリセルを‘１’とし、書き込み状態のメモリセルを‘０’とする。
【００３８】
本発明装置は、バッファ書き込みの対象となるアドレス領域内の書き込み対象の全てのメモリセルに対して連続して書き込みが完了したか否かを判定する一括ベリファイ処理を実行することと、前記メモリセルのうち書き込みが要求され、かつ書き込みが完了していないものに対して同時にまたは連続して書き込み処理を実行することと、前記アドレス領域内の全ての書き込みが要求されたメモリセルについて書き込みが完了したと判定されるまで、前記一括ベリファイ処理と前記書き込み処理とを繰り返すことと、を行なう半導体記憶装置であって、図１に示すように、複数のアドレスからなる書き込み対象のアドレス領域に含まれるメモリセルに一括してデータの書き込みを実行するバッファ書き込み手段（１１０、１２０、１３０、１４０、１５０、１６０、１８０）とメモリセルアレイ１７０とを備えて構成される。
【００３９】
更に、バッファ書き込み手段（１１０、１２０、１３０、１４０、１５０、１６０、１８０）は、各アドレスに未書き込みメモリセルが含まれるか否かを検出する検出手段（ライトバッファ回路１５０の一部）を有する。よって、本発明装置は、前記一括ベリファイ処理において、書き込みが完了している、あるいは書き込みが必要ないと判定されたアドレスを除外し、ベリファイ処理の対象を未書き込みアドレスだけに限定することを可能とする。
【００４０】
なお、本発明装置の入出力回路１１０、ユーザーインターフェイス回路１２０、アレイ制御回路１６０、メモリセルアレイ１７０、信号１１１、信号１２１、信号１２２、制御信号１６１、読み出しデータ信号１７１は、それぞれ図１２に例示した従来装置における入出力回路５１０、ユーザーインターフェイス回路５２０、アレイ制御回路５６０、メモリセルアレイ５７０、信号５１１、信号５２１、信号５２２、制御信号５６１、読み出しデータ信号５７１と同様の機能を有するので、ここでは重複する説明は省略する。
【００４１】
また、ライトステートマシン回路１３０は、従来装置で説明したライトステートマシン回路５３０と同様の機能に加えて、制御信号５３３によりアドレス判定回路１８０を制御する。
【００４２】
ライトバッファ回路１５０は、従来装置で説明したライトバッファ回路５５０と同様の機能に加えて、１６ワードの書き込みデータの各ワードを選択するための各アドレスにおいてメモリセルに書き込みが必要であるか否かを判定する回路を有する。これにより、ライトバッファ回路１５０は、各アドレスで書き込みが必要であるか否かを判定して、パルス判定信号１５２を生成する。このとき、書き込みが必要なメモリセルを含むと判定されたアドレスが未書き込みアドレスとして認識される。つまり、ライトバッファ回路１５０が、１または複数の未書き込みアドレスを検出する検出手段として機能する。
【００４３】
アドレス判定回路１８０は、現在選択されているアドレスである制御アドレスをデコードするデコード回路と、次の未書き込みアドレスを示す新アドレス信号１８１と、現在選択されているアドレス以降に未書き込みアドレスが存在するか否かを示す書き込み完了信号１８２とを生成するパルス判定回路と、からなる。そして、アドレス判定回路１８０では、デコード回路が生成するデコード信号と、ライトステートマシン回路１３０から出力される制御信号１３３と、制御アドレス信号１４１と、パルス判定信号１５２とにより、新アドレス信号１８１と書き込み完了信号１８２とが生成される。これにより、新アドレス信号１８１を制御アドレス回路１４０に出力する。また、書き込み完了信号１８２をライトステートマシン回路１３０及びライトバッファ回路１５０に出力する。なお、アドレス判定回路１８０内のアドレスデコード回路は、ライトバッファ回路１５０のアドレスデコードと共通の機能を有するため、同じデコード回路を利用することもできる。
【００４４】
制御アドレス回路１４０は、制御アドレスを、ライトステートマシン回路１３０から指定されたアドレスに更新できるだけでなく、新アドレス信号１８１から指定された未書き込みアドレスに書き換えることもできる。また、制御アドレス回路１４０は、制御アドレス信号１４１をアレイ制御回路１６０、ライトバッファ回路１５０及びアドレス判定回路１８０に出力する。なお、制御アドレス信号１４１は、メモリセルアレイ１７０中の書き込み対象となる選択メモリセルを選択するために、アレイ制御回路１６０で用いられるとともに、複数のアドレスに書き込むデータの内から該当アドレスに含まれるメモリセルの書き込みに必要なデータを選択するためにライトバッファ回路１５０で用いられ、更に、複数の未書き込みアドレスデータの内から必要な未書き込みアドレスデータを選択するためにアドレス判定回路１８０で用いられる。
【００４５】
図２は、ライトバッファ回路１５０の一例を示す回路図であり、図３は、ライトバッファ回路１５０で使用されるレジスタセルＲＥＧＣＥＬＬの回路の一例を示す回路図であり、図４は、図２のレジスタ選択回路内に配置される、ノードＳＭのプルアップ回路とノードＳＭの信号レベルを反転させるインバータ回路との一例を示す回路図である。なお、ライトバッファ回路１５０の各行のレジスタセルが１ワード（１アドレス）分の書き込みデータを初期状態において格納する。
【００４６】
信号ＳＭ［１５：０］の各ノードが、１６ワード分の書き込みデータのアドレスに対応し、当該各アドレスにおいて対応するワードの少なくとも１つのメモリセルに書き込み処理が必要であるか否かを判定させる機能を担い、そこから生成された信号ＳＵＭ［１５：０］を出力する。ここでは、信号ＳＵＭ［１５：０］において、書き込み処理が必要な未書き込みアドレスに対応するビットは‘１’となり、一方、それ以外のビットは‘０’となる。
【００４７】
図３に示すように、レジスタセルＲＥＧＣＥＬＬの回路は、書き込み処理が必要としたときにノードＳＭの電位レベルを低電圧レベル（例えば、接地電圧）に引き下げる構成になっている。
【００４８】
図４に示すように、ノードＳＭのインバータ回路は、ノードＳＭが低電圧レベル（論理‘０’）にあるとき、ＳＵＭに‘１’を出力する一方、アドレスで書き込み処理の必要な未書き込みメモリセルが存在しないことによりノードＳＭが低電圧レベルでないとき、抵抗ＲＥＳ０によりプルアップされ高電圧レベル（論理‘１’）となり、ＳＵＭに‘０’を出力する。
【００４９】
また、図５は、制御アドレス回路１４０の一部の一例を示す回路図であり、図６は、図５の制御アドレス回路で使用されるレジスタセルの一例を示す回路図である。制御アドレス回路１４０は、従来装置で説明した制御アドレス５４０と同様の機能に加えて、制御アドレスを、アドレス判定回路１８０が生成した新アドレス信号１８１に書き換える機能を有する。ここでは、新アドレス信号１８１は信号ＮＥＸＴ［３：０］である。ＬＯＡＤ信号が‘１’となるとき、保持された値が信号ＮＥＸＴ［３：０］に示される値に更新される。
【００５０】
図７は、アドレス判定回路１８０の一例を示す回路図であり、図８は、図７の各判定回路の一例を示す回路図である。各判定回路０〜１５は個々に割り当てられたアドレスが次に選択すべき未書き込みアドレスの場合にＮＸＴ０〜ＮＸＴ１５に‘１’を出力する。  アドレスデコード回路は、信号ＡＤＤ［３：０］をデコードしてＳＥＬ０〜ＳＥＬ１５を生成するデコード回路である。アドレスエンコード回路は、逆にＮＸＴ０〜ＮＸＴ１５の信号を信号ＮＥＸＴ［３：０］にエンコードする回路である。これらは一般的な回路であるため、ここでは説明を省略する。なお、信号ＳＵＭ［１５：０］は、ライトバッファ回路１５０で生成されるパルス判定信号１５２である。対応するアドレスに書き込み処理が必要なメモリセルがある場合は‘１’となり、対応するアドレスに書き込み処理が必要なメモリセルがない場合は‘０’となる。
【００５１】
図８に示す判定回路は、ＭＯＤＥ信号により２種類の動作が可能である。ＭＯＤＥ信号が‘０’である場合、各判定回路に割り当てられたアドレスが、アドレスデコード回路で現在選択されているアドレスも含めて、現在選択されているアドレス以降の最初の未書き込みアドレスであるときには、ＮＸＴ信号に‘１’を出力する。また、ＭＯＤＥ信号が‘１’である場合、各判定回路に割り当てられたアドレスが、現在選択されているアドレスより後のアドレスであって（現在選択されているアドレスは含めない）、最初の未書き込みアドレスであるときには、ＮＸＴ信号に‘１’を出力する。ＮＸＴ信号に‘１’を出力したときには、ＤＩＳ信号に‘１’を出力する。この信号は次の未書き込みアドレスの選択が完了していることを表わし、更に未書き込みアドレスの選択を行なわない。また、現在選択されているアドレスの判定回路では、ＲＤＹ信号に‘１’を出力する。次のアドレスの判定回路はＲＤＹ０信号として前段のＲＤＹ信号を受け取るが、この信号は各アドレス判定回路が現在選択されているアドレスより上位にあることを表すものである。このＲＤＹ信号により、現在選択されているアドレスより上位のアドレスのみを次の未書き込みアドレスの候補として制限することができる。
【００５２】
また、判定回路１５から出力される信号ＤＩＳは、未書き込みアドレスが書き込みデータアドレス領域に存在するときには、‘１’を出力する。一方、未書き込みアドレスが当該アドレス領域に存在しないときには‘０’を出力し、信号ＥＡＤＤは‘１’となる。つまり、信号ＥＡＤＤが、書き込み完了信号１８２である。
【００５３】
ここで、第１の実施形態におけるバッファ書き込みのアルゴリズムの一例について図９を用いて説明する。なお、一定回数以上の書き込み処理を実行しても書き込みが完了できなかった場合は書き込み失敗とする。
【００５４】
ステップＳ２０１〜Ｓ２０３は、従来装置で説明したステップＳ６０１〜Ｓ６０３の処理と同様であり、相違点は本実施形態では不要な書き込みフラグの処理を省いているだけである。よって、ここでは説明を省略する。
【００５５】
ステップＳ２０４で、書き込み完了信号１８２により書き込み処理が必要であるか否かを判定する。書き込み処理が必要ないときには、一連の書き込みが完了したとみなして、バッファ書き込みを終了する（ステップＳ２０５）。一方、書き込み処理が必要であるときには、ステップＳ２０６で、制御アドレスを、現在の制御アドレスを含む未書き込みアドレスへ遷移させる（未書き込みアドレスを選択する）。このとき、ＭＯＤＥ信号を‘０’とし、ＬＯＡＤ信号を用いて制御アドレスを更新する。
【００５６】
ステップＳ２０７で、制御アドレスに示される未書き込みアドレスでベリファイ読み出しを実行する。ステップＳ２０８で、ベリファイ結果を取り込む。つまり、ライトバッファ回路１５０に格納された期待値とベリファイ読み出しデータとを比較して書き込みが完了したか否かの判断結果（ベリファイ結果）に基づいて、ライトバッファ回路１５０に格納された値を更新する。例えば、書き込みが完了した選択メモリセルに対応するビットを‘１’に変更することにより、その選択メモリセルに対して更なる書き込みが不要であることを示す。
【００５７】
ステップＳ２０９で、現在の制御アドレスより後に、未書き込みアドレスが存在するか否かを判定する。未書き込みアドレスが存在するときには、ステップＳ２１０で、次の未書き込みアドレスに制御アドレスを遷移させる。このとき、ＭＯＤＥ信号を‘１’とし、ＬＯＡＤ信号を用いて制御アドレスを更新する。そして、ステップＳ２０７の処理に戻ることにより、次の未書き込みアドレスでベリファイ処理を実行する。このようにステップＳ２０７〜Ｓ２１０の処理を繰り返すことで、全ての未書き込みアドレスでベリファイ処理を実行する。つまり、未書き込みアドレスのみを順次選択してベリファイ処理を実行する。
【００５８】
一方、ステップＳ２０９で、現在の制御アドレスより上位に未書き込みアドレスが存在しないときには、ベリファイ処理を終了して、ステップＳ２１１で、制御アドレスを初期化する。ステップＳ２１２で、直前のベリファイ処理で、未書き込みメモリセルで書き込みが完了したと判定したか否かを判定する。なお、このときにも、書き込み完了信号１８２を利用する。書き込みが完了していると判定したときには、一連の書き込みが完了したとみなして、バッファ書き込みを終了する（ステップＳ２１３）。
【００５９】
一方、ステップＳ２１２で、未書き込みメモリセルで書き込みが完了したと判定していないときには、ステップＳ２１４に進み、書込カウンタを更新する。
【００６０】
ステップＳ２１５で、書込カウンタの値が書き込み処理の繰り返し回数の上限値である場合は、書き込み失敗とすることにより、バッファ書き込みを終了する（ステップＳ２１６）。一方、書込カウンタの値が書き込み処理の繰り返し回数の上限値でない場合は、ステップＳ２１７に進み、書き込み電圧を設定する。
【００６１】
ステップＳ２１８で、書き込み処理を実行する。このとき、選択アドレスに書き込みの必要な選択メモリセルが存在していなくても書き込み処理状態となるが、そのような場合は当該アドレスの書き込み処理を途中でキャンセルしてステップＳ２１９に進むことができる。ステップＳ２１９で制御アドレスをインクリメントする。
【００６２】
ステップＳ２２０で、全てのアドレスで書き込みが完了したか否かを判定する。書き込みが未完である場合は、ステップＳ２１８の処理に戻ることにより、次のアドレスで書き込み処理を実行する。このようにステップＳ２１８〜Ｓ２２０の処理を繰り返すことで、全てのアドレスの書き込み処理を完了することができる。全てのアドレスで書き込みが完了した後、ステップＳ２０２の処理に戻ることにより、再びベリファイ処理を実行する。このように一括ベリファイ処理と書き込み処理とを繰り返す。
【００６３】
以上のように、第１の実施形態により、書き込みの必要なメモリセル全てでバッファ書き込みを実行することができる。このとき、未書き込みメモリセルが存在しないアドレスでは、ベリファイ処理が再び実行されない。このようなアドレスに含まれるメモリセルに対しては、もしベリファイ処理を実行しても再度書き込みが実行されることは無いので、ベリファイ処理の実行の有無に関わらず結果的に内容は一致する。したがって、ベリファイ処理を省略することによる弊害はない。ここで、従来装置で説明した図１０を用いて、バッファ書き込みが進行する状況の一例を示す。
【００６４】
ベリファイ１回目は、従来装置と同様に、１６ワード中の全てに対してベリファイ処理が実行される。書き込み処理の前に行なわれるので、対象となるメモリセルは基本的に消去状態である。
ベリファイ２回目では、従来装置と同様に、１６ワード中の全てに対してベリファイ処理が実行される。その結果、１６ワード中の９ワード（ＦＦＦＦｈで表示されている）で既に書き込みが完了となり、残りの７ワード（括弧書きで表示されている）が未書き込みアドレスとして記憶されるとともに、残りの７ワードで書き込み処理により書き込みパルスが印加される。ベリファイ３回目では、従来技術と異なり、未書き込みアドレスとして検出された７ワードに対してのみベリファイ処理が実行される。その結果、ベリファイ２回目では、７ワード中の３ワードが既に書き込み完了となり、残りの４ワードが未書き込みアドレスとして検出されるとともに、残りの４ワードで書き込み処理により書き込みパルスが印加される。ベリファイ４回目では、未書き込みアドレスとして検出された４ワードに対してのみベリファイ処理が実行される。その結果、ベリファイ３回目では、４ワード中の２ワードが既に書き込みが完了となり、残りの２ワードが未書き込みアドレスとして検出されるとともに、残りの２ワードで書き込み処理により書き込みパルスが印加される。ベリファイ５回目では、未書き込みアドレスとして検出された２ワードに対してのみベリファイ処理が実行される。その結果、ベリファイ４回目では、２ワード中の全てで書き込みが完了となり、これによって書き込みが完了する。よって、第１の実施形態では、ベリファイ処理が実行された回数は延べ４５回であった。すなわち、第１の実施形態では、従来装置でベリファイ処理が実行された回数の８０回と比較して、ベリファイ処理が実行された回数を減らすことができる。
【００６５】
以上のように、第１の実施形態によれば、未書き込みメモリセルを含む１または複数の未書き込みアドレスを検出することにより、未書き込みアドレスのみでベリファイ処理を実行するので、ベリファイ処理の回数を減らすことができ、一括ベリファイ処理の所要時間を短縮化でき、バッファ書き込みの高速化を図ることができる。
【００６６】
（第２の実施形態）
本発明装置の第２の実施形態について図１１を用いて説明する。なお、第２の実施形態と第１の実施形態とでは、ライトステートマシン回路が制御するバッファ書き込みのアルゴリズムが異なる。
【００６７】
ステップＳ４０１〜Ｓ４１７は、第１の実施形態で説明したステップＳ２０１〜Ｓ２１７の処理と同様であるので、ここでは説明を省略する。
【００６８】
ステップＳ４１８で、制御アドレスを、現在の制御アドレスを含む最初の書き込みが必要な未書き込みアドレスへ遷移させる。このとき、ＭＯＤＥ信号を‘０’とし、ＬＯＡＤ信号を用いて制御アドレスを更新する。
【００６９】
ステップＳ４１９で、制御アドレスで示される未書き込みアドレスで書き込み処理を実行する。このとき、未書き込みアドレスには、書き込みが必要な未書き込みメモリセルが必ず存在する。
【００７０】
ステップＳ４２０で、全ての未書き込みアドレスで書き込みが完了したか否かを判定する。具体的には、現在の制御アドレスより後に、未書き込みアドレスが存在するか否かを判定する。なお、このとき書き込み完了信号１８２を利用する。未書き込みアドレスが存在するときには、ステップＳ４２１で、次の未書き込みアドレスに制御アドレスを遷移させる。このとき、ＭＯＤＥ信号を‘１’とし、ＬＯＡＤ信号を用いて制御アドレスを更新する。つまり、未書き込みアドレスのみを順次選択して書き込み処理を実行するので、未書き込みアドレス以外については、書き込み処理状態とならない。従来装置では、未書き込みアドレス以外についても書き込み処理状態となり、既に説明したようにそれらのアドレスでは書き込み処理を途中でキャンセルして次のアドレスへ処理を進めることで幾分の高速化は可能であったが、第２の実施形態によれば、より最適化された書き込みが可能となり、更なる高速化を実現できる。
【００７１】
一方、ステップＳ４２０で、現在の制御アドレスより後に、未書き込みアドレスが存在しないときには、ステップＳ４０２の処理に戻ることにより、ベリファイ処理と書き込み処理とを繰り返す。
【００７２】
以上のように、第２の実施形態により、ベリファイ処理の所要時間は第１の実施形態と変わらないものの、書き込み処理において書き込みが不要なアドレスで書き込み処理を実行することを省略できるので、書き込み処理の所要時間を短縮化でき、バッファ書き込みの高速化を図ることができる。
【００７３】
〈別実施形態〉
（１）上記各実施形態では、ライトバッファ回路で書き込みが必要であるか否かを直接判定する構成としたが、各メモリセルについて書き込みが必要であるか否かを記憶する別の領域（以下、パルスレジスタ回路と称する）を備え、パルスレジスタ回路に書き込みデータをセットすることにより書き込み処理を実行するような構成としても同様の効果を得ることができる。つまり、ライトバッファ回路でなくパルスレジスタ回路等で、パルス判定信号の生成が行なわれる構成としてもよい。
【００７４】
（２）本発明装置は、静的に未書き込みアドレスを検出する回路を使用せず、ベリファイ動作時に各アドレスについて未書き込みメモリセルの有無を記憶する領域（以下、未書き込みフラグレジスタ回路と称する）を備え、ライトバッファ回路でなく未書き込みフラグレジスタ回路にてパルス判定信号を生成する構成としてもよい。
【００７５】
（３）本発明装置は、複数のアドレスにおよぶメモリセルの状態を同時に読み出すページモード読み出し機能を有する場合に、バッファ書き込み動作におけるベリファイ処理に当該ページモード読み出し機能を利用するような構成としても同様の効果を得ることができる。ベリファイ処理時に当該ページモード読み出し機能を使用する場合、未書き込みメモリセルを含むページに対してベリファイ処理が必要になるので、アドレス生成回路を用いて移動するアドレスや未書き込みアドレスの検出をページ単位のアドレスにすればよい。
【図面の簡単な説明】
【００７６】
【図１】本発明に係る半導体記憶装置の第１の実施形態の構成例を示すブロック図である
【図２】本発明に係る半導体記憶装置で使用されるライトバッファ回路の一例を示す回路図である。
【図３】図２のライトバッファ回路で使用されるレジスタセルＲＥＧＣＥＬＬの回路の一例を示す回路図である。
【図４】図２のレジスタ選択回路内に配置される、ノードＳＭのプルアップ回路と信号ＳＵＭを出力するインバータ回路との一例を示す回路図である。
【図５】本発明に係る半導体記憶装置で使用される制御アドレス回路の一部の一例を示す回路図である。
【図６】図５の制御アドレス回路で使用されるレジスタセルの一例を示す回路図である。
【図７】本発明に係る半導体記憶装置で使用されるアドレス判定回路の一例を示す回路図である。
【図８】図７の各判定回路の一例を示す回路図である。
【図９】本発明に係る半導体記憶装置で使用される第１の実施形態におけるバッファ書き込みのアルゴリズムの一例を示すフローチャートである。
【図１０】バッファ書き込みが進行する状況を説明する図である。
【図１１】本発明に係る半導体記憶装置の第２の実施形態におけるバッファ書き込みのアルゴリズムの一例を示すフローチャートである。
【図１２】従来の半導体記憶装置の構成例を示すブロック図である。
【図１３】従来の半導体記憶装置で使用される制御アドレス回路の一部の一例を示す回路図である。
【図１４】図１３の制御アドレス回路で使用されるレジスタセルの一例を示す回路図である。
【図１５】従来の半導体記憶装置で使用されるライトバッファ回路の一例を示す回路図である。
【図１６】図１５のライトバッファ回路で使用されるレジスタセルＲＥＧＣＥＬＬの回路の一例を示す回路図である。
【図１７】従来の半導体記憶装置におけるバッファ書き込みのアルゴリズムの一例を示すフローチャートである。
【符号の説明】
【００７７】
１１０、５１０：入出力回路
１１１、５１１：信号
１２０、５２０：ユーザーインターフェイス回路
１２１、５２１：信号
１２２、５２２：信号
１３０、５３０：ライトステートマシン回路
１３１、５３１：制御信号
１３２、５３２：制御信号
１３３、５３３：制御信号
１４０、５４０：制御アドレス回路
１４１、５４１：制御アドレス信号
１５０、５５０：ライトバッファ回路
１５１、５５１：データ信号
１５２        ：パルス判定信号
１６０、５６０：アレイ制御回路
１６１、５６１：制御信号
１７０、５７０：メモリセルアレイ
１７１、５７１：読み出しデータ信号
１８０        ：アドレス判定回路
１８１        ：新アドレス信号
１８２        ：書き込み完了信号
【図１】
2007188552.tif 000003
【図２】
2007188552.tif 000004
【図３】
2007188552.tif 000005
【図４】
2007188552.tif 000006
【図５】
2007188552.tif 000007
【図６】
2007188552.tif 000008
【図７】
2007188552.tif 000009
【図８】
2007188552.tif 000010
【図９】
2007188552.tif 000011
【図１０】
2007188552.tif 000012
【図１１】
2007188552.tif 000013
【図１２】
2007188552.tif 000014
【図１３】
2007188552.tif 000015
【図１４】
2007188552.tif 000016
【図１５】
2007188552.tif 000017
【図１６】
2007188552.tif 000018
【図１７】
2007188552.tif 000019