(57)【特許請求の範囲】
【請求項１】
各々が複数ビットを有する複数ワードの入力情報を多値メモリセルの各レベルに応じて変換させた複数ワードの書き込み情報をラッチする第１のラッチ回路と、
前記複数ワードの書き込み情報を同時に書き込めるメモリセル数に対応したグループごとに前記多値メモリセルに書き込む書き込み回路と、
前記複数ワードの入力情報を前記複数ワードの書き込み情報に変換して前記第１のラッチ回路に転送する第２のラッチ回路とを含み、
前記第１のラッチ回路は、前記第２のラッチ回路と同数の回路で構成され、かつ、前記書き込み回路よりも多い数の回路で構成される
半導体装置。
【請求項２】
前記第１のラッチ回路は、前記グループごとに前記書き込み情報を前記書き込み回路に転送する請求項１記載の半導体装置。
【請求項３】
前記半導体装置は更に、前記グループ単位にベリファイおよび書き込みを行う信号を生成する制御回路を含む請求項１または２記載の半導体装置。
【請求項４】
前記半導体装置は更に、前記複数のグループ単位にベリファイおよび書き込みを繰り返す信号を生成する制御回路を含む請求項１から請求項３のいずれか一項に記載の半導体装置。
【請求項５】
前記半導体装置は更に、所定のグループに対するベリファイがパスしたかを判定する回路を含み、
前記制御回路は、前記判定回路の判定結果に応じて、ベリファイがパスしたグループに対して以後のベリファイおよび書き込みをパスする信号を生成する請求項３または４記載の半導体装置。
【請求項６】
前記半導体装置は更に、前記グループ内で選択されていないワードに対するベリファイをパスする信号を生成する回路を含む請求項１から請求項５のいずれか一項に記載の半導体装置。
【請求項７】
前記半導体装置は更に、前記多値メモリセルの所定のレベルに対する書き込みが十分である場合、次のレベルの書き込み動作を行う制御回路を含む請求項１から請求項６のいずれか一項に記載の半導体装置。
【請求項８】
前記半導体装置は、半導体記憶装置である請求項１から請求項７のいずれか一項に記載の半導体装置。
【請求項９】
入力バッファにより、各々が複数ビットを有する複数の入力ワードの書き込み情報を受けて、複数ワードの書き込み入力情報を生成するステップと、
前記複数ワードの書き込み入力情報を入力ラッチ回路により受けて、多値メモリセルの各レベルに応じた複数ワードの書き込み情報に変換して転送して、前記入力ラッチ回路と同数の書き込みラッチ回路で該転送情報をラッチするステップと、
前記複数ワードの書き込み情報を同時に書き込めるメモリセル数に対応したグループごとに前記多値メモリセルに書き込むステップとを含み、前記同時に書き込めるメモリ数は前記入力ラッチ回路数および書き込みラッチ回路数よりも小さい、
書き込み方法。
【請求項１０】
前記書き込み方法は更に、前記グループ単位にベリファイおよび書き込みを繰り返すステップを含む請求項９記載の書き込み方法。
【請求項１１】
前記書き込み方法は更に、前記複数のグループ単位にベリファイおよび書き込みを繰り返すステップを含む請求項９記載の書き込み方法。
【請求項１２】
前記書き込み方法は更に、前記多値メモリセルの所定レベルに対するベリファイがパスしたかを判定する判定ステップと、
前記判定結果に応じて、ベリファイがパスしたグループに対して以後のベリファイおよび書き込みをパスするステップとを含む請求項９から請求項１１のいずれか一項に記載の書き込み方法。
【請求項１３】
前記書き込み方法は更に、前記グループ内で選択されていないワードに対するベリファイをパスするステップを含む請求項９から請求項１２のいずれか一項に記載の半導体装置。
【請求項１４】
前記書き込み方法は更に、前記多値メモリセルの所定レベルに対する書き込みが十分である場合、次のレベルの書き込み動作を行う信号を生成するステップを含む請求項９から請求項１３のいずれか一項に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および書き込み方法に関する。より特定すれば、本発明は多値メモリセルを有する半導体装置および多値メモリセルにデータを書き込む方法に関する。
【背景技術】
【０００２】
半導体メモリは、その電源を消去すると情報も消えてしまう揮発性のものと、電源を消しても情報が保持される不揮発性のものとに大別される。後者の不揮発性メモリの代表として、データ消去を一斉に行うことで書き換え時間を短縮化したフラッシュメモリが知られている。【０００３】
図１はＳＬＣ（Single Level Cell）用のライトバッファを有しないフラッシュメモリにおける書き込み時のブロック図である。このフラッシュメモリでは、１ワード（１６ビット）毎にプログラムが行われる。図１に示されるように、フラッシュメモリ１は、入力バッファ２、書き込みラッチ回路３、書き込み電圧印加回路４、メモリセルアレイ５、センスアンプ回路６、比較回路７、制御回路８を含む。入力バッファ２は、ユーザー書き込みデータを保持する。書き込みラッチ回路３は、入力バッファ２から来るユーザー書き込みデータをラッチする。【０００４】
書き込み電圧印加回路４は、書き込みデータに対応するメモリセルにデータを書き込む。センスアンプ回路６は、ベリファイ期間にてメモリセルのデータを読み出し、比較回路７はその読み出しデータと外部から入力された書き込みデータを比較する。書き込みラッチ回路３は、書き込みが十分であると判断された場合、書き込みデータを書き込みラッチ回路３内のラッチにて反転させ、書き込みを終了される。一方、書き込みラッチ回路３は、書き込みが不十分であると判断された場合は、引き続き書き込み動作を行う。比較回路７は、全ビットがパスしたかどうかを判定し、制御回路８は、全ビットがパスしたら次のレベルの書き込み動作を制御する。【０００５】
また、従来、多値メモリセル（ＭＬＣ：Multi Level Cell）を有するフラッシュメモリが提案されている。多値メモリを有する品種にはメモリセルの閾値レベルがレベル１、レベル２、レベル３、レベル４と４つ存在し、上のレベルに行くに従って閾値は高く設定される。この４つのレベルが二つの出力（又は入力）データを構成する。レベル４のデータを書き込む時にも、レベル１〜レベル３の各レベルを経てレベル４に到達する書き込み手法が一般的に多く使用される。
また、特許文献１では、入力された書き込みデータを保持するバイナリデータレジスタを有する半導体記憶装置が提案されている。また、特許文献２では、外部からの書き込みデータをラッチするデータラッチ回路と、書き込み制御情報をラッチするセンスラッチ回路を有する半導体装置が提案されている。
【特許文献１】日本国公開特許公報  特開平１１−７３７９０号
【特許文献２】日本国公開特許公報  特開平１１−２３２８８６号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、多値メモリセルへの書き込みでは、レベルを超えてしまうオーバープログラムの懸念があるため、しきい値Ｖｔｈを少しずつ上げながら書き込む必要があるが、このような書き込み方式ではプログラムとベリファイを何度も繰り返さなければならないため、書き込み時間が増加してしまうという問題がある。また特許文献１および２の文献に記載の装置では、書き込み時間が増加してしまうという上記問題点は解決されない。【０００７】
そこで、本発明は前述した従来における課題を解決し、単位ワード当たりの書き込み時間を短くできる半導体装置またはデータ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、複数ワードの入力情報を多値メモリセルの各レベルに応じて変換させた複数ワードの書き込み情報をラッチする第１のラッチ回路と、前記複数ワードの書き込み情報を同時に書き込めるメモリセル数に対応したグループごとに前記多値メモリセルに書き込む書き込み回路とを含む半導体装置である。本発明によれば、複数ワードの入力情報を分割したグループごとに同時に情報を書き込むので、単位ワードあたりの書き込み時間を実質上短くできる。これにより、多値メモリセルの書き込みで、書き込みとベリファイを何度も繰り返さなければならない場合であっても、書き込み時間が増加することがない。【０００９】
本発明は、上記構成において更に、前記複数ワードの入力情報を前記複数ワードの書き込み情報に変換して前記第１のラッチ回路に転送する第２のラッチ回路を含む。本発明によれば、複数ワードの入力情報を多値メモリセルの各レベルに応じた情報に変換できる。
本発明は、上記構成において、前記第１のラッチ回路は、前記第２のラッチ回路と同数の回路で構成され、かつ、前記書き込み回路よりも多い数の回路で構成される。
【００１０】
本発明は、上記構成において、前記第１のラッチ回路は、前記グループ毎に前記書き込み情報を前記書き込み回路に転送する。本発明によれば、複数ワードの入力情報を分割したグループごとに同時書き込みが可能となる。【００１２】
本発明は、上記構成において、更に、前記グループ単位にベリファイおよび書き込みを行う信号を生成する制御回路を含む。本発明によれば、グループ単位にベリファイ動作および書き込み動作を行うことにより、単位ワードあたりの書き込み時間を実質上短くできる。また本発明は、上記構成において、更に、前記複数のグループ単位にベリファイおよび書き込みを繰り返す信号を生成する制御回路を含む。グループ毎にベリファイおよびプログラムを繰り返す場合と比べ、複数のグループ毎にベリファイ動作およびプログラム動作を繰り返すことで、複数のグループ単位での処理が可能となる。【００１３】
本発明は、上記構成において更に、所定のグループに対するベリファイがパスしたかどうかを判定する判定回路を含み、前記制御回路は、前記判定回路の判定結果に応じて、ベリファイがパスしたグループに対して以後のベリファイおよび書き込みをパスする信号を生成する。本発明によれば、不必要なグループのベリファイおよび書き込みを省略できる。これによりワード当たりの実質的な書き込み速度を高速化できる。【００１４】
本発明は、上記構成において更に、前記グループ内で選択されていないワードに対するベリファイをパスする信号を生成する制御回路を含む。本発明によれば、グループ内のユーザーがアクセスしていないワードをメモリセルから読み出したベリファイデータにかかわらず強制的にベリファイをパスするので、単位ワードあたりの書き込み時間を実質上短くできる。【００１５】
本発明は、上記構成において更に、前記多値メモリセルの所定レベルに対する書き込みが十分である場合、次のレベルの書き込みを行う信号を生成する制御回路を含む。本発明によれば、所定のレベルを多値メモリに書き込むことができる。【００１６】
本発明は、複数ワードの入力情報を多値メモリセルの各レベルに応じた複数ワードの書き込み情報に変換する変換ステップと、前記複数ワードの書き込み情報を同時に書き込めるメモリセル数に対応したグループごとに前記多値メモリセルに書き込む書き込みステップとを含む書き込み方法である。変換ステップは、入力バッファにより、与えられた複数の入力ワードの書き込み情報を受けて複数ワードの書き込み入力情報を生成するステップと、複数ワードの書き込み入力情報を入力ラッチ回路により受けて、多値メモリセルの各レベルに応じた複数ワードの書き込み情報に変換して転送して、入力ラッチ回路と同数の書き込みラッチ回路で該転送情報をラッチするステップとを含む。本発明によれば、複数ワードの入力情報を分割したグループごとに同時に情報を書き込むので、単位ワードあたりの書き込み時間を実質上短くできる。これにより、多値メモリセルの書き込みで、書き込みとベリファイを何度も繰り返さなければならない場合であっても、書き込み時間が増加することがない。
【００１７】
本発明は、上記構成において更に、前記グループ単位にベリファイおよび前記書き込みを繰り返すステップを含む。本発明によれば、グループ単位でベリファイ動作および書き込み動作を繰り返すことで、単位ワードあたりの書き込み時間を実質上短くできる。本発明は、上記構成において、更に、前記複数のグループ単位にベリファイおよび前記書き込みを繰り返すステップを含む。グループ毎にベリファイおよびプログラムを繰り返す場合と比べ、複数のグループ毎にベリファイおよびプログラムを繰り返すことで、複数のグループ単位での処理が可能となる。【００１８】
本発明は、上記構成において更に、前記多値メモリセルの所定レベルに対するベリファイがパスしたかどうかを判定する判定ステップと、前記判定結果に応じて、ベリファイがパスしたグループに対して以後のベリファイおよび書き込みをパスするステップとを含む。本発明によれば、不必要なグループのベリファイおよび書き込みを省略できる。これによりワード当たりの実質的な書き込み速度を高速化できる。【００１９】
本発明は、上記構成において更に、前記グループ内で選択されていないワードに対するベリファイをパスするステップを含む。本発明によれば、グループ内のユーザーがアクセスしていないワードをメモリセルから読み出したベリファイデータにかかわらず強制的にベリファイをパスするので、単位ワードあたりの書き込み時間を実質上短くできる。【００２０】
本発明は、上記構成において更に、前記多値メモリセルの所定レベルに対する書き込みが十分である場合、次のレベルの書き込み動作を行う信号を生成するステップを含む。本発明によれば、所定のレベルを多値メモリに書き込むことができる。
【発明の効果】
【００２１】
本発明によれば、単位ワード当たりの書き込み時間を短くできる半導体装置またはデータ書き込み方法を提供することができる。
【図面の簡単な説明】
【００２２】
【図１】従来の半導体装置における書き込み時のブロック図である。
【図２】本実施例に係る半導体装置の書き込み時のブロック図である。
【図３】制御回路１８におけるライトバッファの様々な制御信号を発生させるコントロールロジックの一例を示す図である。
【図４】本実施例に係る入力ラッチ回路を示す図である。
【図５】多値メモリセル書き込みラッチ回路を示す図である。
【図６】多値メモリセル書き込み電圧印加回路を示す図である。
【図７】多値メモリセルの比較回路を示す図である。
【図８】多値メモリセルの書き込み制御方式の概念を示す図である。
【図９】１６ワードライトバッファにおける４ワードグループのインクリメントカウンターを示す図である。
【図１０】インクリメントカウンターにて使用されているシフトレジスターの一例を示す図である。
【図１１】ライトバッファの全体動作を示すタイミング図である。
【図１２】第１の動作タイミング図である。
【図１３】第２の動作タイミング図である。
【発明を実施するための最良の形態】
【００２３】
以下、添付の図面を参照して本発明の実施例を説明する。
【実施例】
【００２４】
図２は、本実施例に係る半導体装置１０の書き込み時のブロック図である。図２に示されるように、半導体装置１０は、入力バッファ２、入力ラッチ回路１１、書き込みラッチ回路１３、書き込み電圧印加回路１４、メモリセルアレイ５、センスアンプ回路６、比較回路１７、制御回路１８を含む。以下２ビットの多値メモリセルについて説明する。２ビットの多値メモリセルにおいては、レベル１、レベル２、レベル３、レベル４をそれぞれ（１，１）、（０，１）、（１，０）、（０，０）と二つの入出力データと定義する。【００２５】
この半導体装置１０は、ライトバッファを使用する多値メモリセル用の書き込み回路を含む。また半導体装置１０がデータの書き込み方法を実行する。この半導体装置１０は単独でパッケージされたフラッシュメモリ等の半導体記憶装置であってもよいし、システムＬＳＩのように半導体装置の一部として組み込まれたものであってもよい。入力バッファ２は、外部から１６本のＩ／Ｏ端子を介して入力される１ワード分の入力データを保持する。【００２６】
入力ラッチ回路１１は、入力バッファ２を介して外部から順次入力されて来る複数ワードの入力データ中の情報をそのままラッチする。つまり、入力ラッチ回路１１は、（１，１）、（０，１）、（１，０）、（０，０）からなる入力情報をそのままラッチする。一つの入力ラッチ回路１１は、２ビットのデータをラッチできるように構成されている。このため、１ワードが１６ビットのデータをラッチするには、８個の入力ラッチ回路１１が必要となる。１６ワード分のデータをラッチするには、１６×８＝１２８個の入力ラッチ回路１１が必要となる。本実施例では、入力ラッチ回路１１は、書き込みラッチ回路１３と同数の回路で構成され、かつ、書き込み電圧印加回路１４よりも多い数の回路で構成されている。この入力ラッチ回路１１、書き込みラッチ回路１３及び書き込み電圧印加回路１４で本発明のライトバッファを構成する。【００２７】
入力ラッチ回路１１は、複数ワードの入力データにおいて、奇数番目のＩ／Ｏ端子と偶数番目のＩ／Ｏ端子から入力されるデータを一つのペアとして扱い、複数ワードの入力データを多値メモリセルの各レベルに応じて複数ワードの書き込みデータに変換し、書き込みラッチ回路３に転送する。ここで、各レベルには、レベル１、レベル２、レベル３、レベル４が含まれる。多値メモリセルは、フローティングゲートにその大きさが異なる電荷をストアすることで４つの情報を記憶するタイプ、または、フローティングゲートの代わりに窒化膜等の電荷トラップ層を備えるタイプなどが使用される。【００２８】
書き込みラッチ回路１３は、入力ラッチ回路１１から送られる書き込み情報をラッチする。書き込みラッチ回路１３は、書き込みデータをメモリセルのレベルとしてラッチする。１ワードが１６ビットのデータは８個の書き込み情報に変換されるので、これらを１６ワード分ラッチするには、１６×８＝１２８個の書き込みラッチ回路１３が必要となる。書き込みラッチ回路１３は、同時に書き込めるメモリセルの個数に応じて、ライトバッファが保持する複数ワード情報を分割して１グループごとに順次書き込み電圧印加回路４に転送する。ここでは、書き込みラッチ回路１３は、１６ワードを各４ワードの４グループに分割し、１グループごとに書き込みデータを書き込み電圧印加回路４に順次転送する。つまり、書き込みラッチ回路１３は４ワードローディングを行う。【００２９】
書き込み電圧印加回路１４は、書き込みラッチ回路１３から転送される書き込み情報を同時に書き込めるメモリセル数に対応したグループごとに多値メモリセルに書き込む。多値メモリセルの書き込み方式ではしきい値Ｖｔｈを少しずつ上げるため、多くの書き込み電流を消費しない。このため、従来よりも多くのセルを同時に書き込むことが可能となる。そこで、ライトバッファがデータを保持できるワード数を１６、書き込み可能なセル数を３２セルとし、書き込み電圧印加回路１４は、一回の書き込み動作において４回書き込みパルスを印加する方式を採用する。このように、書き込み電圧印加回路１４は、１グループで３２セル同時書き込みを行う。【００３０】
メモリセルアレイ５は、複数の異なるしきい値を持つ多値メモリセルトランジスタの配列、ワード線、ビット線等を含み、各メモリセルトランジスタにデータを記憶する。データ読み出し時には、活性化ワード線で指定されるメモリセルからのデータが、ビット線に読み出される。プログラム或はイレーズ時には、ワード線およびビット線をそれぞれの動作に応じた適当な電位に設定することで、メモリセルに対する電荷注入或は電荷抜き取りの動作を実行する。【００３１】
センスアンプ回路６は、メモリセルアレイから供給される指定されたメモリセルのデータの電流を電圧に変換し、その読み出しデータを比較回路１７と書き込みラッチ回路１３に送る。比較回路１７は、その読み出しデータと書き込みデータを比較し、比較結果を制御回路１８に送る。書き込み電圧印加回路１４は、書き込みが不十分であると判断された場合に再び書き込みを行う。書き込み電圧印加回路１４は、所定レベルへの書き込みが十分である場合、内部の書き込みデータを反転させ、一つの書き込み動作を終了させる。比較回路１７は各グループに対するベリファイがパスしたかどうかを判定する。【００３２】
制御回路１８は、外部からの制御信号を受けると共に、コマンドレジスタ（図示省略）からのコマンドを受け、ステートマシーンとして動作し、半導体装置１０の各部を制御する。特に、この制御回路１８は、メモリセルアレイ５への書き込みを制御する。【００３３】
制御回路１８は、多値メモリセルの所定レベルへの書き込みが十分である場合、次のレベルの書き込み制御信号を発生させ、入力ラッチ回路１１に送る。入力ラッチ回路１１は、格納してある複数ワードの入力データを書き込みデータに変換して書き込みラッチ回路１３に転送する。制御回路１８は、上記の処理を繰り返し実行して、ユーザー書き込みデータとメモリセルデータが完全に一致した時に全ての書き込み動作を終了させる。【００３４】
次に制御回路１８について説明する。図３はライトバッファに様々な制御信号を発生させるコントロールロジックの一例を示す図である。図３に示されるように、制御回路１８は、回路８１乃至回路８５を含む。回路８１は、ＮＡＮＤ回路８１１を含む。この回路８１は、信号ＤＬＯＡＤＢおよび信号ＳＴＡＲＴから信号ＳＴＲＡＴ＿ＰＵＬＳＥを生成する。信号ＳＴＡＲＴ＿ＰＵＬＳＥは、それぞれの書き込みフローの開始時に発生する短いパルスであり、書き込みラッチ回路１３に入力される。【００３５】
回路８２は、インバータ８２１乃至８２３およびＮＡＮＤ回路８２４を含む。この回路８２は、信号ＳＴＲＡＴおよび信号ＭＡＴＣＨ１Ｂから信号ＤＬＯＡＤＢを生成する。信号ＤＬＯＡＤＢは、書き込み動作の初期段階にのみＬｏｗとなる信号である。この信号ＤＬＯＡＤＢを受けて入力バッファ２からユーザー入力データが入力ラッチ回路１１に転送される。【００３６】
回路８３は、ＮＭＯＳトランジスタ８３１、ＰＭＯＳトランジスタ８３２、ＮＯＲ回路８３３およびインバータ８３４乃至８３７を含む。この回路８３は、アドレスＡＤＤＲＥＳＳ（３：０）Ｘおよび信号ＤＬＯＡＤＢから信号ＳＥＬＢ（ｋ）および信号ＳＥＬＢ＿ＬＡＴＣＨＢ（ｋ）を生成する。ここで、ｋは０乃至１５の値をとり、１６ワード中のどのワードに対応する信号かを示す。１６ワードのライトバッファを制御するには、回路８３が１６個必要となる。アドレスＡＤＤＲＥＳＳ（３：０）Ｘに応じて、ユーザーによりどのワードが選択されたかの情報がインバータ８３５および８３６からなるラッチにセットされる。ここにアドレスＡＤＤＲＥＳＳ（３：０）Ｘは、ユーザーが入力するワード選択アドレスであり、アドレスＡＤＤＲＥＳＳ（３：０）とその相補信号アドレスＡＤＤＲＥＳＳ（３：０）Ｂのすべての組み合わせ（１６通り）を意味している。信号ＳＥＬＢ＿ＬＡＴＣＨＢ（ｋ）は、ユーザーがｋ番目のワードを選択するとローレベルにセットされる。非選択のワードに対応するＳＥＬＢ＿ＬＡＴＣＨＢ（ｋ）はハイレベルにセットされる。これは、４ワードの書き込みグループ内において、ユーザーがアクセスしていないワードをメモリセルから読み出したベリファイデータにかかわらず制御的にベリファイパスさせる信号であり、比較回路１７に入力される。【００３７】
信号ＳＥＬＢ（ｋ）は、ライトバッファのワードデコード信号であり、ワード選択アドレスＡＤＤＲＥＳＳ（３：０）に応じて１つのワードを選択し、選択する場合はローレベルとなる。書き込み時に、ユーザーが順次ワードアドレスを入力しデータを入力していくと、その都度対応する信号ＳＥＬＢ（ｎ）はローレベルとなり入力ラッチ回路１１に順次書き込みデータが格納されていく。【００３８】
回路８４は、ＮＭＯＳトランジスタ８４１、ＰＭＯＳトランジスタ８４２、ＮＯＲ回路８４３、ＮＡＮＤ回路８４４およびインバータ８４５乃至８４７を含む。この回路８４は、信号ＳＴＡＲＴ、信号ＰＡＳＳ＿ＡＬＬ、および信号ＰＧＭ２ＮＤから信号ＭＡＴＣＨ１Ｂを生成する。信号ＰＡＳＳ＿ＡＬＬは全てのセルのベリファイがＰＡＳＳした時にｈｉｇｈとなる信号である。インバータ８４５および８４６でラッチされたデータは、信号ＭＡＴＣＨ１Ｂとしてインバータ８４７から出力される。【００３９】
回路８５は、ＮＭＯＳトランジスタ８５１、ＰＭＯＳトランジスタ８５２、ＮＯＲ回路８５３、ＮＡＮＤ回路８５４およびインバータ８５５乃至８５７を含む。この回路８５は、信号ＳＴＲＡＴ、信号ＰＡＳＳ＿ＡＬＬおよび信号ＰＧＭ３ＮＤから信号ＭＡＴＣＨ２Ｂを生成する。インバータ８５５および８５６でラッチされたデータは、信号ＭＡＴＣＨ２Ｂとしてインバータ８５７から出力される。信号ＭＡＴＣＨ１Ｂおよび信号ＭＡＴＣＨ２Ｂは、入力ラッチ回路１１に入力される。【００４０】
次に入力ラッチ回路１１について説明する。図４は本実施例に係る入力ラッチ回路１１を示す図である。図４に示されるように、入力ラッチ回路１１は、回路２１乃至２３を含む。入力ラッチ回路１１は、二つの入力データを一つの書き込みデータＰＬＯＡＤｐに変換する回路である。１６ワード分のデータをラッチするには、１２８個の入力ラッチ回路１１が必要となる。以下、レベル１からレベル２への書き込みフローをＰＧＭ２ＮＤ、レベル２からレベル３への書き込みフローを、ＰＧＭ３ＲＤ、レベル３からレベル４への書き込みフローをＰＧＭ４ＴＨと定義して説明する。【００４１】
信号ＤＬＯＡＤＢは、書き込み動作の初期段階にのみＬｏｗとなる信号である。この信号ＤＬＯＡＤＢを受けて入力バッファ２からユーザー入力データが入力ラッチ回路１１に転送される。信号ＳＥＬＢ（ｋ）は、ライトバッファのワードデコード信号であり、制御回路１８から送られる。１６ワードのバッファでは１６本の信号ＳＥＬＢ（ｋ）が存在する。信号ＩＮ＿ＥＶＥＮｍおよび信号ＩＮ＿ＯＤＤｍは、入力バッファ２から送られてくるユーザー入力データにより変化する信号である。ここでｍは０から７の値をとる。信号ＩＮ＿ＥＶＥＮｍがｈｉｇｈ、ＩＮ＿ＯＤＤｍがｈｉｇｈで、レベル１を表し、信号ＩＮ＿ＥＶＥＮｍがｌｏｗ、ＩＮ＿ＯＤＤｍがｈｉｇｈで、レベル２を表し、信号ＩＮ＿ＥＶＥＮｍがｈｉｇｈ、ＩＮ＿ＯＤＤｍがｌｏｗで、レベル３を表し、信号ＩＮ＿ＥＶＥＮｍがｌｏｗ、ＩＮ＿ＯＤＤｍがｌｏｗで、レベル４を表す。【００４２】
信号ＭＡＴＣＨ１Ｂは、ＰＧＭ２ＮＤが終了するとｌｏｗとなる信号である。信号ＭＡＴＣＨ２Ｂは、ＰＧＭ３ＮＤが終了するとｌｏｗとなる信号である。信号ＭＡＴＣＨ１Ｂおよび信号ＭＡＴＣＨ２Ｂは制御回路１８から供給される。回路２２は、ＮＭＯＳトランジスタ２２１乃至２２３、ＰＭＯＳトランジスタ２２４、ＮＯＲ回路２２５、インバータ２２６乃至２２９を含む。信号ＲＥＳＥＴＢがｌｏｗのとき、信号ＤＬＯＡＤＢおよび信号ＳＥＬＢ（ｋ）がｌｏｗ、信号ＤＳＥＬがｈｉｇｈで、ユーザー入力データが信号ＩＮ＿ＥＶＥＮｍ、ＩＮ＿ＯＤＤｍとして入力され、インバータ２２６および２２７からなるラッチにラッチされる。インバータ２２８は信号ＤＩＮａを生成し、インバータ２２９は信号ＤＩＮａＢを生成する。信号ＤＩＮａおよび信号ＤＩＮａＢは変換回路２１に入力される。【００４３】
回路２３は、ＮＭＯＳトランジスタ２３１乃至２３３、ＰＭＯＳトランジスタ２３４、インバータ２３５乃至２３８を含む。信号ＲＥＳＥＴＢがｌｏｗのとき、信号ＤＬＯＡＤＢおよび信号ＳＥＬＢｎがｌｏｗ、信号ＤＳＥＬがｈｉｇｈで、ユーザー入力データが信号ＩＮ＿ＥＶＥＮｍ、ＩＮ＿ＯＤＤｍとして入力され、インバータ２３５および２３６からなるラッチにラッチされる。インバータ２３７は信号力ＤＩＮｂを生成し、インバータ２３８は信号ＤＩＮｂＢを生成する。信号力ＤＩＮｂおよび信号ＤＩＮｂＢは変換回路２１に入力される。【００４４】
変換回路２１は、ＮＡＮＤ回路２１１乃至２１４を含む。変換回路２１は、奇数Ｉ／Ｏ端子と偶数Ｉ／Ｏ端子からのデータを一つの書き込みデータＰＬＯＡＤに変換する回路である。信号ＰＬＯＡＤがｈｉｇｈで、その書き込みフローにおいての書き込み実行命令となる。ＰＧＭ２ＮＤでは、信号ＭＡＴＣＨ１Ｂと信号ＭＡＴＣＨ２Ｂは共にｈｉｇｈであり、（０，１）、（１，０）、（０，０）の何れかのユーザー入力データでは信号ＰＬＯＡＤｐがｈｉｇｈとなる。ＰＧＭ３ＲＤでは、信号ＭＡＴＣＨ１Ｂはｌｏｗ、信号ＭＡＴＣＨ２Ｂはｈｉｇｈとなり、（１，０）、（０，０）のどちらかのユーザー入力データでは、信号ＰＬＯＡＤｐがｈｉｇｈとなる。ＰＧＭ４ＴＨでは、信号ＭＡＴＣＨ１Ｂはｌｏｗ、信号ＭＡＴＣＨ２Ｂはｌｏｗとなり、（０，０）のユーザー入力データのみ信号ＰＬＯＡＤｐがｈｉｇｈとなる。このように、上のレベルへのプログラムは、それより下のレベルへのプログラムを経ながら行っていく。ＰＬＯＡＤｐは、ＰＬＯＡＤ（３：０）とも示され、各々のＰＬＯＡＤ（ｎ）は、一度に書き込みができるメモリセル数分（例として、４ワードのメモリセル数）の３２の信号を含む。【００４５】
次に書き込みラッチ回路１３について説明する。図５は、多値メモリセル書き込みラッチ回路１３を示す図である。図５に示されるように、各書き込みラッチ回路１３は、ＮＭＯＳトランジスタ３１および３２、ＰＭＯＳトランジスタ３３乃至３５、並びにインバータ３６および３７を含む。１６ワード分のデータをラッチするには、１２８個の書き込みラッチ回路１３が必要となる。【００４６】
書き込みラッチ回路１３は、１６ワードを各４ワードの４グループに分割し、１グループごとに書き込み電圧印加回路１４に順次転送するように動作する。信号ＤＡＴＡｘは、センスアンプ回路６から来るベリファイデータであり、プログラムをパスするとｌｏｗとなる。信号ＳＥＬＥＣＴ（ｎ）は、同時に書き込めるメモリセルの個数に応じてライトバッファが保持する複数ワード情報を分割する信号である。信号ＳＥＬＥＣＴ（ｎ）は制御回路１８から供給される。信号ＳＴＡＲＴ＿ＰＵＬＳＥは、それぞれの書き込みフローの開始時に発生する短いパルスである。それぞれのレベルの書き込み動作の開始時に、入力ラッチ回路１１から信号ＰＬＯＡＤｐが転送される。【００４７】
信号ＳＴＡＲＴ＿ＰＵＬＳＥがｈｉｇｈ、信号ＰＬＯＡＤｐがｈｉｇｈのとき、インバータ３６および３７からなるラッチに書き込みデータがセットされ、出力ＰＧＭｑがｈｉｇｈとなり、プログラムする状態となる。ここで、信号ＰＧＭｑはＰＧＭ（３：０）で表される。各々のＰＧＭ（ｎ）は、一度に書き込みができるメモリセル数分（例として４ワード分）の３２の信号を含む。センスアンプ回路６で書き込みが十分であると判断された場合、書き込みラッチ回路１３は、ｌｏｗのベリファイデータＤＡＴＡｘを受ける。ベリファイデータＤＡＴＡｘがｌｏｗ、信号ＳＥＬＥＣＴ（ｎ）がｌｏｗのとき、インバータ３６およびインバータ３７からなるラッチの書き込みデータが反転され、一つの書き込み動作を終了する。これにより、ベリファイをパスしたメモリセルに対してはプログラムが行われない。【００４８】
次に書き込み電圧印加回路について説明する。図６は、多値メモリセル書き込み電圧印加回路１４を示す図である。この回路は、一度に書き込みができるメモリセル数分（例として４ワード分の３２個）だけ設けられる。図６に示されるように、書き込み電圧印加回路１４は、インバータ４１乃至４５、トランスファーゲート４６乃至４９、ＮＭＯＳトランジスタ５０乃至５２、ＰＭＯＳトランジスタ５３乃至５５を含む。ＮＭＯＳトランジスタ５０のゲートは信号ＲＥＳＥＴにより、ＮＭＯＳトランジスタ５１および５２のゲートは電源電圧ＶＣＣにより制御されている。【００４９】
信号ＳＥＬＥＣＴ（３：０）は、同時に書き込めるメモリセルの個数に応じてライトバッファが保持する複数ワード情報を分割する信号であり、それぞれのグループを書き込み又はベリファイをする時にｈｉｇｈになる信号である。信号ＳＥＬＥＣＴ（３：０）は制御回路１８により生成される。信号ＰＧＭ（３：０）は、書き込みラッチ回路１３からの書き込み入力データである。信号ＳＥＬＥＣＴＢ（３：０）および信号ＳＥＬＥＣＴ（３：０）によって信号ＰＧＭ（３：０）が選択される。ノードＮ１にｌｏｗの信号が入力されると、電源供給用のトランジスタ５５がオンとなるため、書き込みパルスＰＧＭＰＵＬＳＥｚが選択されたメモリセルに供給される。ノードＮ１にｈｉｇｈの信号が入力されると、電源供給用のトランジスタ５５はオフとなるため、書き込みパルスＰＧＭＰＵＬＳＥｚは供給されない。【００５０】
次に比較回路１７について説明する。図７は、多値メモリセルの比較回路１７を示す図である。比較回路１７は、入力ラッチ回路１１からの信号ＰＬＯＡＤ（３：０）、書き込みラッチ回路１３からの信号ＰＧＭ（３：０）、およびセンスアンプ回路６からのベリファイデータＤＡＴＡｘを入力として各ベリファイのＰＡＳＳ／ＦＡＩＬを判定する。信号ＳＥＬＥＣＴ（３：０）により、同時に書き込めるメモリセルの個数に応じてライトバッファのワード数を分割する。信号ＳＥＬＢ＿ＬＡＴＣＨＢ（ｋ）は、４ワードの書き込みグループ内において、ユーザーがアクセスしていないワードをメモリセルから読み出したベリファイデータにかかわらず強制的にベリファイパスとする信号である。【００５１】
比較回路１７は、回路７１乃至７５を含む。回路７１は、インバータ７１１を含む。インバータ７１１は、センスアンプ回路６からのベリファイデータＤＡＴＡｘからデータＤＡＴＡＢを生成する。このデータＤＡＴＡＢは、回路７３のトランスファーゲート７３４および７３５に入力される。回路７２は、ＮＡＮＤ回路７２１乃至７２５を含む。信号ＳＥＬＥＣＴ（ｎ）乃至信号ＳＥＬＢ＿ＬＡＴＣＨＢ（ｋ）をＮＡＮＤ回路７２１乃至７２４でＮＡＮＤ処理し、この結果をＮＡＮＤ回路７２５でＮＡＮＤ処理し、信号ＦＭＡＴＣＨ（ｗ）を生成する。ここでｗは、各々のグループにおけるワード指定番号であり、０から３の値をとる。回路７２は簡略して示してあるが、例えばＳＥＬＢ＿ＬＡＴＣＨＢ（０）、ＳＥＬＢ＿ＬＡＴＣＨＢ（４）、ＳＥＬＢ＿ＬＡＴＣＨＢ（８）、ＳＥＬＢ＿ＬＡＴＣＨＢ（１２）に対し信号ＦＭＡＴＣＨ（０）を生成し、同様にしてＳＥＬＢ＿ＬＡＴＣＨＢ（１）、ＳＥＬＢ＿ＬＡＴＣＨＢ（５）、ＳＥＬＢ＿ＬＡＴＣＨＢ（９）、ＳＥＬＢ＿ＬＡＴＣＨＢ（１３）に対し信号ＦＭＡＴＣＨ（１）を生成する。【００５２】
例として、０番目と１番目のワードがユーザーからアクセスされたケースでは、ＳＥＬＢ＿ＬＡＴＣＨＢ（０）とＳＥＬＢ＿ＬＡＴＣＨＢ（１）がＬｏｗで、グループ０が書き込み対象のとき（ＳＥＬＥＣＴ（０）がＨｉｇｈ）、ＦＭＡＴＣＨ（０）とＦＭＡＴＣＨ（１）はＬｏｗ、ＦＭＡＴＣＨ（２）とＦＭＡＴＣＨ（３）はＨｉｇｈとなる。よって、２番目と３番目のワードについては、トランジスタ７３６のゲート信号はすべてＬｏｗとなり、そのメモリセルから読み出したベリファイデータにかかわらず制御的にベリファイをパスする。これによりグループ内の選択されていないワードのベリファイをパスすることができる。ベリファイも書き込みと同様に３２セル同時に行うため、このような強制パスの制御が必要となる。【００５３】
回路７４は、ＰＭＯＳトランジスタ７４１、およびトランスファーゲート７４２乃至７４５を含む。信号ＳＥＬＥＣＴＢ（３：０）乃至信号ＳＥＬＥＣＴ（３：０）により書き込みラッチ回路１３からの信号ＰＧＭ（３：０）が選択され、信号ＤＶＬＯＧが出力される。この信号ＤＶＬＯＧは、回路７３のＮＯＲ回路７３２に入力される。回路７５は、ＰＭＯＳトランジスタ７５１、およびトランスファーゲート７５２乃至７５５を含む。信号ＳＥＬＥＣＴＢ（３：０）乃至信号ＳＥＬＥＣＴ（３：０）により入力ラッチ回路１１からの信号ＰＬＯＡＤ（３：０）が選択され、信号ＰＬＤＡＴＡが出力される。この信号ＰＬＤＡＴＡは、回路７３のインバータ７３１に入力される。【００５４】
回路７３は、インバータ７３１、ＮＯＲ回路７３２および７３３、トランスファーゲート７３４および７３５、並びにＮＭＯＳトランジスタ７３６を含む。【００５５】
信号ＦＭＡＴＣＨ（ｗ）および信号ＤＶＬＯＧをＮＯＲ回路７３２でＮＯＲ処理した信号と、信号ＦＭＡＴＣＨ（ｗ）および信号ＰＬＤＡＴＡを受けたインバータ７３１の出力をＮＯＲ回路７３３でＮＯＲ処理した信号を、信号ＤＡＴＡｘおよび信号ＤＡＴＡＢで選択し、選択された信号によりＮＭＯＳトランジスタ７３６のゲートを制御し、信号ＭＡＴＣＨＸを制御回路１８に出力する。このように、比較回路１７は、ベリファイ期間にて読み出したデータと書き込みデータを比較し、比較結果を信号ＭＡＴＣＨＸとして出力する。回路７３はｗｉｒｅｄ−ｏｒの回路であり、点線で囲った部分が３２個、端子ＭＡＴＣＨＸに接続されている。一つでもベリファイがＦＡＩＬしていたら信号ＭＡＴＣＨＸがｌｏｗとなる。これにより再度プログラム動作が行われる。全ビットがパスした場合、信号ＭＡＴＣＨＸがｈｉｇｈとなる。制御回路１８は、信号ＭＡＴＣＨＸを受けてベリファイがパスしたグループに対して以後のベリファイおよびプログラムをパスする信号を生成する。【００５６】
図８は多値メモリセルの書き込み制御方式の概念を示す図である。図８において、６はセンスアンプ回路、１３ａ乃至１３ｄは書き込みラッチ回路、１４は書き込み電圧印加回路、１７は比較回路、１８は制御回路をそれぞれ示す。３２セル同時書き込み可能なため、図８に示すセンスアンプ回路６、書き込みラッチ回路１３ａ乃至１３ｄ、書き込み電圧印加回路１４、比較回路１７はそれぞれ３２個存在する。４つのグループに対し４回書き込みパルスを印加するケースでは、４つの書き込みラッチ回路１３ａ乃至１３ｄからデコーディング（ＳＥＬＥＣＴ（ｎ））に応じた書き込み信号ＰＧＭ（ｎ）が選択され、メモリセルに順次書き込みパルスが印加される。【００５７】
この構成により、書き込みラッチ回路１３ａは、１６ワードを４グループに分割した第１グループの書き込みデータを書き込み電圧印加回路１４に転送する。書き込み電圧印加回路１４は、書き込みラッチ回路１３ａからの書き込みデータＰＧＭ（０）に応じてメモリセルにデータを書き込む。次に、書き込みラッチ回路１３ｂは、第２グループの書き込みデータを書き込み電圧印加回路１４に転送する。書き込み電圧印加回路１４は、書き込みラッチ回路１３ｂからの書き込みデータＰＧＭ（１）に応じてメモリセルにデータを書き込む。書き込みラッチ回路１３ｃは、第３グループの書き込みデータを書き込み電圧印加回路１４に転送する。書き込み電圧印加回路１４は、書き込みラッチ回路１３ｃからの書き込みデータＰＧＭ（２）に応じてメモリセルにデータを書き込む。書き込みラッチ回路１３ｄは、第４グループの書き込みデータを書き込み電圧印加回路１４に転送する。書き込み電圧印加回路１４は、書き込みラッチ回路１３ｄからの書き込みデータＰＧＭ（３）に応じてメモリセルにデータを書き込む。１グループ毎に３２セル同時書き込みが実現できる。【００５８】
図９は本発明の特徴の一つである１６ワードライトバッファにおける４ワードグループのインクリメントカウンターを示す図である。図９において、１７は比較回路、１８は制御回路、９１はシフトレジスターをそれぞれ示す。図１０はインクリメントカウンターにて使用されているシフトレジスターの一例を示す図である。図１０に示されるように、シフトレジスター９１は、ＮＭＯＳトランジスタ９１１乃至９１３、ＰＭＯＳトランジスタ９１４、インバータ９１５乃至９１８を含む。【００５９】
信号ＩＮＰＵＴには前段の信号ＯＵＴＰＵＴが入ることにより、信号ＳＥＬＥＣＴ（３：０）は順次インクリメントされる。信号ＣＬＫは図８の制御回路１８からくる８つの制御信号に応じてクロックしていく。信号ＣＬＫがｈｉｇｈのときに、信号ＩＮＰＵＴが入力されると、インバータ９１５および９１６からなるラッチにデータがセットされる。信号ＣＬＫＢがｈｉｇｈのときに、インバータ９１５および９１６からなるラッチのデータがインバータ９１７および９１８からなるラッチにセットされる。【００６０】
再度図９を参照すると、制御回路１８は、比較回路１７によるＰＡＳＳ／ＦＡＩＬの判定（ＭＡＴＣＨＸ）を受けて、カウンターに行く様々な制御信号を発生させる。通常では、信号ＳＥＬＥＣＴは０−１−２−３と順次インクリメントされる。ここで、次のベリファイでグループ２がパスした場合は信号ＳＥＬＥＣＴ（２）がパス（ｌｏｗ）となり、以降のベリファイとプログラムでは信号ＳＥＬＥＣＴが１−２−４というインクリメントとなる。この時、信号ＳＥＬＥＣＴ（３）のシフトレジスターの入力はｉｎｐｕｔ２−３ではなく、ｉｎｐｕｔ１−３となる。【００６１】
更に、次にベリファイでグループ１がパスした場合は、信号ＳＥＬＥＣＴ（１）がパス（ｌｏｗ）となり、以降のベリファイとプログラムは信号ＳＥＬＥＣＴが０−３というインクリメントとなる。この時、信号ＳＥＬＥＣＴ（３）のシフトレジスターの入力はｉｎｐｕｔ１−３ではなく、ｉｎｐｕｔ０−３となる。更に、次のベリファイでグループ０がパスした場合はＳＥＬＥＣＴ（０）がＰＡＳＳ（ｌｏｗ）となり、以降のベリファイとプログラムはグループ４のみとなり、シフトレジスターのインクリメントは行わない。【００６２】
このように、制御回路１８は、所定のグループのベリファイがパスした場合、ベリファイをパスしたグループに対して以降のベリファイおよび書き込みをパスする信号を生成するので、不必要な４ワードグループのベリファイおよびプログラムを省略できる。これによりワード当たりの実質的な書き込み速度を高速化できる。ここで、４ｐｕｌｓｅという信号は４グループ全てベリファイおよびプログラムが必要であるという命令の信号であり、３ｐｕｌｓｅという信号は３グループのみ必要であるという信号である。これらの制御信号とどの４ワードグループがベリファイをＰＡＳＳしたかという信号を組み合わせて、前述のインクリメントカウンターを実現できる。【００６３】
次に、ライトバッファの動作について説明する。図１１は、ライトバッファの全体動作のタイミング図である。信号ＤＬＯＡＤＢが書き込み動作の初期段階にのみＬｏｗとなり、入力バッファ２からユーザー入力データが入力ラッチ回路１１に転送される。信号ＭＡＴＣＨ１Ｂと信号ＭＡＴＣＨ２Ｂが共にｈｉｇｈで、（０，１）、（１，０）、（０，０）の何れかのユーザー入力データに対し、ＰＧＭ２ＮＤが行われる。ＰＧＭ２ＮＤで、全てのセルのベリファイがパスすると、信号ＰＡＳＳ＿ＡＬＬ（ＭＡＴＣＨＸ）がｈｉｇｈとなり、信号ＭＡＴＣＨ１Ｂがｌｏｗとなる。【００６４】
信号ＭＡＴＣＨ１Ｂがｌｏｗ、信号ＭＡＴＣＨ２Ｂがｈｉｇｈで、（１，０）、（０，０）の何れかのユーザー入力データに対し、ＰＧＭ３ＲＤが行われる。ＰＧＭ３ＲＤで、全てのセルのベリファイがパスすると、信号ＰＡＳＳ＿ＡＬＬがｈｉｇｈとなり、信号ＭＡＴＣＨ２Ｂがｌｏｗとなる。信号ＭＡＴＣＨ１Ｂがｌｏｗ、信号ＭＡＴＣＨ２Ｂがｌｏｗで、（０，０）のユーザー入力データに対し、ＰＧＭ４ＴＨが行われる。ＰＧＭ４ＴＨが終了すると、パルスＤＯＮＥが立って処理が終了する。【００６５】
図１２は、すべてのグループについてベリファイを行う場合のタイミング図である。ＰＧＭ２ＮＤで、複数のグループ単位にベリファイとプログラムが交互に行なわれる。制御回路１８は、信号ＳＥＬＥＣＴ（３：０）を順次インクリメントし、各グループごとにベリファイを行う。制御回路１８は、信号ＳＥＬＥＣＴ（３：０）を順次インクリメントし、各グループごとに書き込み電圧印加回路１４で書き込みパルスＰＧＭＰＵＬＳＥ（３：０）を発生させ、メモリセルにデータを書き込む。複数のグループごとに所定の回数だけベリファイとプログラムを繰り返す。【００６６】
ＰＧＭ２ＮＤで、全てのセルのベリファイがパスすると、信号ＰＡＳＳ＿ＡＬＬがｈｉｇｈとなり、ＰＧＭ３ＲＤに移る。ここでは、信号４ｐｕｌｓｅに基づいて、４グループ全てベリファイおよびプログラムが行われる。【００６７】
図１３は、ベリファイをパスしたグループを考慮した場合のタイミング図である。ＰＧＭ２ＮＤで、複数のグループ単位にベリファイとプログラムが交互に実行される。制御回路１８は、信号ＳＥＬＥＣＴ（３：０）を順次インクリメントし、各グループごとにベリファイを行う。制御回路１８は、信号ＳＥＬＥＣＴ（３：０）を順次インクリメントし、各グループごとに書き込み電圧印加回路４で書き込みパルスＰＧＭＰＵＬＳＥ（３：０）を発生させ、メモリセルにデータを書き込む。【００６８】
通常では、信号ＳＥＬＥＣＴは０−１−２−３と順次インクリメントされる。ここで、はじめのベリファイでグループ１がパスした場合、信号ＳＥＬＥＣＴ（１）がパス（ｌｏｗ）となり、以降ベリファイとプログラムでは、信号ＳＥＬＥＣＴが０―２−３というインクリメントとなる。このとき、信号ＳＥＬＥＣＴ（２）のシフトレジスター９１の入力は、ｉｎｐｕｔ１―２ではなく、ｉｎｐｕｔ０―２となる。更に、次にベリファイでグループ３がパスした場合は、信号ＳＥＬＥＣＴ（３）がパス（ｌｏｗ）となり、以後のベリファイとプログラムでは、信号ＳＥＬＥＣＴが０−２というインクリメントとなる。【００６９】
このように、はじめのベリファイでは信号４ｐｕｌｓｅにより４グループ全てベリファイが行われ、はじめのベリファイでグループ１がパスした場合、以後ベリファイとプログラムは、信号３ｐｕｌｓｅにより３グループのみのベリファイおよびプログラムが行われ、さらにベリファイでグループ３がパスした場合、以降ベリファイとプログラムでは、信号２ｐｕｌｓｅにより２グループのみのベリファイとプログラムが行われる。【００７０】
本回路を使用することにより、不要な４ワードグループのベリファイおよびプログラムを省略できる。これにより、ワード当たりの実質的な書き込み速度を高速化できる。【００７１】
本実施例によれば、多値メモリ特有の書き込み手法を搭載したライトバッフ回路を提供することができ、単位ワードあたりの書き込み時間を実質上短くできる。なお、書き込みラッチ回路１３、入力ラッチ回路１１、書き込み電圧印加回路１４、比較回路１７が、請求の範囲における第１のラッチ回路、第２のラッチ回路、書き込み回路、判定回路にそれぞれ対応する。【００７２】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。上記実施例では２ビットの多値メモリセルを例にとって説明したが本発明はこれに限定されない。
【図１】
0004750034.tif 000002
【図２】
0004750034.tif 000003
【図３】
0004750034.tif 000004
【図４】
0004750034.tif 000005
【図５】
0004750034.tif 000006
【図６】
0004750034.tif 000007
【図７】
0004750034.tif 000008
【図８】
0004750034.tif 000009
【図９】
0004750034.tif 000010
【図１０】
0004750034.tif 000011
【図１１】
0004750034.tif 000012
【図１２】
0004750034.tif 000013
【図１３】
0004750034.tif 000014