(57)【特許請求の範囲】
【請求項１】
複数のワード線と、
前記複数のワード線のうちの対応するワード線に接続され、データに応じたしきい電圧を持ち、そのしきい電圧は消去状態を示す第１しきい電圧範囲及び書込状態を示す夫々が重複しない複数のしきい電圧範囲のうちの１つに割当てられることにより夫々に複数ビットを記憶する複数のメモリセルと、
コントロール信号が入力される端子と、
アドレス信号に従って、ワード線を選択するアドレスデコーダと、
データをラッチするデータラッチと、
第１書込動作と第２書込動作を制御するコントローラとを有し、
前記コントロール信号が前記複数ビットのうち一つを選択ないし指定する場合、前記第１書込動作が前記コントローラにより実行され、前記コントロール信号が前記複数ビットのうち他の一つを選択ないし指定する場合、前記第２書込動作が前記コントローラにより実行され、
前記第１書込動作において、前記データラッチにラッチされているデータに従って、前記アドレス信号により選択された第１メモリセルのしきい電圧は、前記第１しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第２しきい電圧範囲に移され、
前記第２書込動作において、前記データラッチにラッチされているデータに従って、前記アドレス信号により選択されたメモリセルのしきい電圧が前記第１しきい電圧範囲の場合、前記第１しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第３しきい電圧範囲に移され、前記アドレス信号により選択されたメモリセルのしきい電圧が前記第２しきい電圧範囲の場合、前記第２しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第４しきい電圧範囲に移されることを特徴とする不揮発性半導体記憶装置。
【請求項２】
ＣＰＵと、
不揮発性半導体メモリと、
第１書込動作と第２書込動作を制御するコントローラとを有し、
前記不揮発性半導体メモリは、
複数のワード線と、
前記複数のワード線のうちの対応するワード線に接続され、データに応じたしきい電圧を持ち、そのしきい電圧は消去状態を示す第１しきい電圧範囲及び書込状態を示す夫々が重複しない複数のしきい電圧範囲のうちの１つに割当てられることにより夫々に複数ビットを記憶する複数のメモリセルと、
前記ＣＰＵから供給されるコントロール信号が入力される端子と、
前記ＣＰＵから供給されるアドレス信号に従って、ワード線を選択するアドレスデコーダと、
前記ＣＰＵから供給されるデータをラッチするデータラッチとを含み、
前記コントロール信号が前記複数ビットのうち一つを選択ないし指定する場合、前記第１書込動作が前記コントローラにより実行され、前記コントロール信号が前記複数ビットのうち他の一つを選択ないし指定する場合、前記第２書込動作が前記コントローラにより実行され、
前記第１書込動作において、前記データラッチにラッチされているデータに従って、前記アドレス信号により選択されたワード線に接続されているメモリセルのしきい電圧は、前記第１しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第２しきい電圧範囲に移され、
前記第２書込動作において、前記データラッチにラッチされているデータに従って、前記アドレス信号により選択されたワード線に接続されているメモリセルのしきい電圧が前記第１しきい電圧範囲の場合、前記第１しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第３しきい電圧範囲に移され、前記アドレス信号により選択されたワード線に接続されているメモリセルのしきい電圧が前記第２しきい電圧範囲の場合、前記第２しきい電圧範囲から前記書込状態を示す前記複数のしきい電圧範囲のうちの第４しきい電圧範囲に移されることを特徴とする不揮発性半導体メモリシステム。
【発明の詳細な説明】
技術分野
この発明は、半導体記憶装置さらには不揮発性半導体記憶装置における多値情報の記憶方式に適用して特に有効な技術に関し、例えば複数の記憶情報を電気的に一括消去可能な不揮発性記憶装置（以下、単にフラッシュメモリという）に利用して有効な技術に関するものである。
背景技術
フラッシュメモリは、コントロールゲートおよびフローティングゲートを有する不揮発性記憶素子をメモリセルに使用しており、１個のトランジスタでメモリセルを構成することができる。かかるフラッシュメモリにおいては、書き込み動作では、図２１に示すように不揮発性記憶素子のドレイン領域を例えば４Ｖ（ボルト）程度にし、コントロールゲートＣＧが接続されたワード線を−１０Ｖ程度にすることにより、トンネル電流によりフローティングゲートＦＧから電荷を引き抜いて、しきい値電圧が低い状態（論理“０”）にする。消去動作では、図２２に示すように、ウェル領域，ドレイン領域およびソース領域を−３Ｖ程度にし、コントロールゲートＣＧを１０Ｖのような高電圧にしてトンネル電流を発生させてフローティングゲートＦＧに負電荷を注入してしきい値を高い状態（論理“１”）にする。これにより１つのメモリセルに１ビットのデータを記憶させるようにしている。
ところで、記憶容量を増大させるために１メモリセル中に２ビット以上のデータを記憶させる、いわゆる「多値」メモリの概念が提案されている。この多値メモリに関する発明としては、特願平７−１４０３１号などがある。
上記先願の多値メモリにおいては、連続する２ビットのデータ“０１”“００”“１０”“１１”を論理変換して、図２３に示すように、メモリセルのしきい値１．２Ｖ以下、１．６〜２．３Ｖ，２．８〜３．５Ｖ，４Ｖ以上に対応させて記憶するようにしていた。そのため、上記メモリでは、記憶データを読み出す際にワード線のレベルを１．４Ｖ，２．６Ｖ，３．７Ｖのように変えながら必ず３回読出し動作を行なわなければ記憶データを判定することができないため、データ読出し時間が長くなるという不具合がある。
この発明の目的は、データ読出し時のワード線アクセス回数を減らし読出し時間を短縮することが可能な多値記憶型不揮発性半導体記憶装置および駆動方法を提供することにある。
この発明の前記ならびにほかの目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
発明の開示
本願において開示される発明のうち代表的なものを概要を簡単に説明すれば、下記のとおりである。
すなわち、複数のしきい値を設定して１つのメモリセルに多値の情報を記憶させるようにした不揮発性半導体記憶装置において、１つのメモリセルに対して複数ビットのデータの各ビットをアドレス信号もしくは制御信号に応じて別々に書込みを行ない階層的に記憶するようにしたものである。この場合、１つのメモリセルに対して複数ビットのデータを連続して書き込むようにしても良いし、あるいはすべてのメモリセルに１ビットずつデータを一通り書き込んだ後、残りのビットのデータを各メモリセルに順次上書きして行くようにしてもよい。
これによって、１メモリセルに２ビットを記憶した場合にはデータを読み出す際に最初のビットはワード線を１回アクセスするだけで、また後のビットはレベルを変えてワード線を２回アクセスするだけで読み出せるようになって、トータルのワード線アクセス回数を減らし、データ読出し時間の短縮を図ることができる。
【図面の簡単な説明】
図１は、この発明に係る多値フラッシュメモリのデータ記憶方式の概念（アドレス空間の構成）を示す説明図である。
図２は、この発明に係る多値フラッシュメモリの一実施例を示すブロック図である。
図３は、この発明に係る多値フラッシュメモリにおけるメモリセルのしきい値と記憶データとの関係を示す説明図である。
図４は、この発明に係る多値フラッシュメモリにおけるメモリセルの階層別記憶データとこれを区別するＺアドレスとの関係を示す説明図である。
図５は、この発明に係る多値フラッシュメモリにおける書込み時および消去時のメモリセルのしきい値の変化を示す説明図である。
図６は、メモリアレイの具体例を示す回路図である。
図７は、データラッチ回路の具体例を示す回路図である。
図８は、実施例の多値フラッシュメモリの読出し手順を示すフローチャートである。
図９は、実施例の多値フラッシュメモリの読出し時のメモリアレイ内の信号のタイミングを示すタイミングチャートである。
図１０は、実施例の多値フラッシュメモリの書込み手順を示すフローチャートである。
図１１は、実施例の多値フラッシュメモリの書込み時のメモリアレイ内の信号のタイミングを示すタイミングチャートである。
図１２は、実施例の多値フラッシュメモリのデータ消去手順を示すフローチャートである。
図１３は、実施例の多値フラッシュメモリを使用したシステムの一例を示すブロック図である。
図１４は、本発明に係る多値フラッシュメモリの第２の実施例の概略を示すブロック図である。
図１５は、本発明に係る多値フラッシュメモリの第３の実施例の時分割方式を示すタイミングチャートである。
図１６は、本発明に係る多値フラッシュメモリの第４の実施例におけるアドレス構成の一例を示す説明図である。
図１７は、本発明に係る多値フラッシュメモリのメモリアレイの他の実施例を示す回路図である。
図１８は、本発明に係る多値フラッシュメモリのメモリアレイの他の実施例を示す回路図である。
図１９は、本発明に係る多値フラッシュメモリのメモリアレイの他の実施例を示す回路図である。
図２０は、本発明に係る多値フラッシュメモリのメモリアレイの他の実施例を示す回路図である。
図２１は、実施例のフラッシュメモリに使用されるメモリセルの構造およびしきい値電圧を低い状態（論理“０”）にする場合のバイアス条件を示す模式図である。
図２２は、実施例のフラッシュメモリに使用されるメモリセルの構造およびしきい値電圧を高い状態（論理“１”）にする場合のバイアス条件を示す模式図である。
図２３は、先願発明における４値メモリセルのしきい値と２ビット記憶データとの関係を示す説明図である。
発明を実施するための最良の形態
図１は、本発明を適用した１メモリセルに多値を記憶可能なメモリにおけるアドレス空間の概念を示す。
この発明においては、従来の一般的な半導体メモリにおけるアドレス方式と同様に、ＸアドレスとＹアドレスによって１つのメモリセルを選択できるように構成されている。これに加えて、本発明においては、各メモリセルが複数ビットの情報を記憶できるように構成されているのに対応して、１つのメモリセル内の複数のビット（１ビットは“０”または“１”のデータで表される）を上記Ｘ，Ｙアドレスとは異なるアドレス（以下、Ｚアドレスと称する）によって選択ないしは指定できるようにされている（以下、３次元アドレス方式と称する）。この３次元アドレス方式におけるＺアドレスの与え方としては、▲１▼Ｘ，Ｙアドレスと入力ピンを共有して入力する方式や、▲２▼独立の専用入力ピンを設ける方式、▲３▼コマンドコードに含ませて入力する方式等が考えられる。
また、上記Ｘ，Ｙアドレスと入力ピンを共有して入力する方式▲１▼には、ＸアドレスとＹアドレスのビット数が異なる場合に少ない方のアドレス入力の際にはピンが余るのでその余ったピンを用いて入力する方式や、Ｘ，Ｙ，Ｚアドレスを時分割で共通のピンから入力するアドレスマルチプレクス方式が考えられる。さらに、ピンを共用する方式には、上記Ｘ，Ｙ，Ｚアドレスの他にデータやコマンドコードの入出力ピンと共用する方式も考えられる。なお、上記方式のうち独立の専用入力ピンを設ける方式▲２▼は、見方によってはアドレス信号でなく制御信号ないしは選択信号ともとれる（特に１つのメモリセルに記憶されるデータのビット数が「２」の場合は、これを識別するためのアドレスは１ビットで良いため）。従って、メモリセル内のビットの識別のための信号は、その呼び方に影響されるべきでなく実質的に判断すべきである。
図２は上記各アクセス方式のうち、▲２▼の独立の専用入力ピンを設ける方式を採用してフラッシュメモリに適用した場合の一実施例のブロック図を示す。
この実施例のメモリは、データの書込みや読出し、消去等の動作モードを外部のコントローラ等から入力されるコマンドコードに従って切り替えるとともに、このコマンドコードの入力ピンをデータの入出力ピンＩ／Ｏと共用するように構成されている。
図２において、１０はフローティングゲートを有するＭＯＳＦＥＴからなるメモリセルがマトリックス状に配置されたメモリアレイ、１１は入出力ピンＩ／Ｏに接続されたマルチプレクサ、１２はマルチプレクサ１１を介して書込みデータが入力されるデータ入力バッファ、１３はメモリアレイ１０から読み出されたデータを入出力ピンＩ／Ｏを介して外部へ出力するデータ出力バッファ、１４は外部から与えられるコマンドコードをデコードして内部制御信号を形成するコマンド解読制御回路で、該コマンド解読制御回路１４はコマンドコードのデコード結果に基づいて当該コマンドに対応した処理を実行すべくメモリ内部の各回路に対する制御信号を順次形成して出力する制御機能（シーケンサ）を備えており、コマンドコードが与えられるとそれを解読して自動的に対応する処理を実行するように構成されている。この制御機能は、例えばマイクロプログラム方式のＣＰＵの制御部と同様に、コマンド（命令）を実行するのに必要な一連のマイクロ命令群が格納されたＲＯＭ（リードオンリメモリ）からなり、コマンドコードに対応したマイクロ命令群の先頭アドレスを生成してマイクロＲＯＭに与えることによりマイクロプログラムが起動されるように構成することができる。
また、図２において、１５は外部から入力されたＸアドレスをデコードして上記メモリアレイ１０内の１本のワード線を選択レベルにするとともに入力されたＺアドレスに応じた選択レベル（Ｖew1〜3，Ｖrw1〜3，Ｖwv1〜3，Ｖww1〜3，Ｖev1〜Ｖev3）を決定するＸアドレスデコーダ、１６は外部から入力されたＹアドレスをデコードして選択信号を形成するＹアドレスデコーダ、１７は上記メモリアレイ１０内の各データ線に接続され、該データ線のレベルを検出したり書込みデータを保持してデータに応じた電位に駆動するデータ線数に応じた数のセンスアンプを備えたセンスラッチ回路、１８は上記Ｙアドレスデコーダ１５からの選択信号によって選択的にオンされて上記メモリアレイ１０内のＹアドレスに対応したデータ線を上記データ入力バッファ１２または上記データ出力バッファ１３に接続するカラムスイッチ列である。
この実施例の多値フラッシュメモリには、上記各回路の他、外部から入力される制御信号を取り込んで上記コマンド解読制御回路１４に供給する制御信号バッファ回路１９や外部から供給される電源電圧Ｖccに基づいて読出し電圧Ｖrw1〜3、書込み電圧Ｖww1〜3、消去電圧Ｖew1〜3、ベリファイ電圧Ｖev1〜3等チップ内部で必要とされる電圧を発生するチャージポンプ等からなる内部電源発生回路２０、メモリの動作状態に応じてこれらの電圧の書込み時や消去時にセンスラッチ列１７のデータに基づいて書込みまたは消去が終了したか判定するオール判定回路２１が設けられている。
上記コマンド解読制御回路１４は内部回路および外部に対して外部からのアクセスが可能な状態にあるか否かを示すレディ／ビジィ信号Ｒ／Ｂを信号を形成して出力したりする機能も備えている。
さらに、この実施例のフラッシュメモリは、書込みデータ信号およびコマンド入力とで外部端子（ピン）Ｉ／Ｏを共用している。そのため、上記制御信号バッファ回路１９は外部から入力される制御信号に従ってマルチプレクサ１１を切り換えて、入出力ピンＩ／Ｏより入力された信号を区別してデータ入力バッファ１２またはコマンド解読制御回路１４に供給する。外部からこの実施例のフラッシュメモリに入力される制御信号としては、例えばリセット信号ＲＥＳやチップ選択信号ＣＥ、書込み制御信号ＷＥ、出力制御信号ＯＥ、コマンドコード及びデータが有効であることを示すコマンド・データ・イネーブル信号ＣＤＥ、シリアルクロックＳＣ等がある。特に制限されないが、この実施例のフラッシュメモリは、センスラッチ回路１７に保持されたワード線１行分のデータをクロックＳＣに同期して外部へ読み出したり、外部より入力された１行分の書込みデータをクロックＳＣに同期して上記センスラッチ列１７に転送できるように構成されている。この場合、Ｙアドレスは不要とされる。
図３には、１メモリセルに４値を記憶させるようにした場合における記憶データ（２ビット）と素子のしきい値分布との関係（定義）を示す。同図に示すように、本実施例においては、各メモリセルは、α以下，α〜β，β〜γ，γ以上の４つのしきい値のいずれかをとるように書込みがなされる。そして、後に説明する書込み方法によって、α以下のしきい値を有するようにされたメモリセルは２ビットのデータ“０１”を記憶するセル、α〜βのしきい値を有するようにされたメモリセルは２ビットのデータ“００”を記憶するセル、β〜γのしきい値を有するようにされたメモリセルは２ビットのデータ“１０”を記憶するセル、γ以上のしきい値を有するようにされたメモリセルは２ビットのデータ“１１”を記憶するセルと定義される。
なお、図３において、α，β，γはデータ読出し時におけるワード線読出しレベルとされる値であり、具体的な値は電源電圧に応じて決定されるが、一例として電源電圧が３．３Ｖの場合には、α＝１．５Ｖ，β＝２．０Ｖ，γ＝２．５Ｖのような値とされる。また、図３において、ハッチングが付されているのは、誤読出しを防止するため、しきい値がこの範囲に入ってはならないことを意味する禁止領域であり、α0，α1，β0，β1，γ0，γ1は各々書込みまたは消去終了後に行われるベリファイ動作の読出しレベルとされる値である。さらに、上記２ビットのデータ“＊＊”のうち前のビットは時間的に先に書込みがなされたビット（以下、下書きデータと称する）を、また後のビットは時間的に後から書込みなされたビット（以下、上書きデータと称する）の内容を意味するものとされる。
このように１メモリセルに２ビットのデータを記憶させる場合、Ｚアドレスを使用して各ビットを選択するように構成することができる。すなわち、図４に示すように、Ｚアドレスが“０”のときは選択されたワード線に接続されたメモリセルの２ビットの記憶データのうち下書きデータを指定し、Ｚアドレスが“１”のときは選択されたワード線に接続されたメモリセルの２ビットの記憶データのうち上書きデータを指定するように構成することができる。ただし、後述するように、下書きデータを読み出す際には選択ワード線の電位はβとされて１回の読出し動作が行われるが、上書きデータを読み出す際には選択ワード線の電位はαとγとされて２回の読出し動作が行われる。
次に、本実施例のフラッシュメモリにおいて適用されたデータ書込み方法（しきい値の変更の仕方）を図５を用いて説明する。
図５（Ａ）に示すように、データの書込みに先立ってすべてのメモリセルを消去状態（しきい値が２番目に小さい値約１．７Ｖ、記憶データ“００”）にする。なお、この消去状態にするにあたってまず全てのメモリセルをしきい値の最も高いデータ“１１”にしてから消去状態“００”に戻すようにしても良い。
次に、下書きデータの書込みを行なう。このとき、記憶すべきデータが“１”であるメモリセルについては図５（Ｂ）に示すようなバイアスをかけて、しきい値が１．７Ｖの消去状態のメモリセルのしきい値を最も高い約２．８Ｖにするような書込みを行なう。下書きデータの書込みが終了した段階ではしきい値の最も低い状態に相当するメモリセルとしきい値の２番目に高い状態に相当するメモリセルは存在しない。上記書込み終了後にはワード線レベルをγ1にしてベリファイを行なう。この実施例のメモリはすべてのメモリセルに対してこの下書きデータの書込みのみを行なって上書きデータの書込みをしないで、ワード線レベルをβに設定して読出しを行なうというような使用の仕方も可能である。この場合、Ｚアドレスは必ず“０”（または“１”）とされる。Ｚアドレスの“０”“１”それぞれに対応する記憶領域を１プレーンと定義すると、上記方法は１プレーンのみ使用するという方法に相当する。
２プレーンを使用する場合には、上記下書きデータの書込み後に、上書きデータの書込みを行なう。この際、図５（Ｃ）に示すように、下書きデータが“０”であるメモリセルへの書込みと、下書きデータ“１”であるメモリセルの書込みとを区別して行なう。なお、下書きデータの書込みでは前述したようにデータが“１”であるメモリセルについてはしきい値を高める方向にバイアスを与える（以下、これをアップライトと称する）のに対し、上書きデータの書込みでは、図５（Ｃ）に示すように、しきい値を下げる方向の書込みを行なう（以下、これをダウンライトと称する）。上記下書きデータの書込み場合、“００”状態のメモリセルのうちデータ“１”を書き込みたいメモリセルのしきい値のみ上げて選択的に“１１”状態にさせるようにしても良いが、“００”状態のメモリセルを全て一旦しきい値を上げてから下書きデータが“０”であるメモリセルのしきい値のみ下げるような動作を行なうようにすることも可能である。
また、この実施例では、下書きデータが“０”で上書きデータが“１”である場合にはメモリセルに対してしきい値を下げる方向にバイアスを与えることでしきい値の最も小さな状態（しきい値約１．０Ｖ、記憶データ“０１”）に移行させ、下書きデータが“１”で上書きデータが“０”である場合にはメモリセルに対してしきい値を下げる方向にバイアスを与えることで、しきい値の２番目に高い状態（しきい値約２．３Ｖ、記憶データ“１０”）に移行させる。しかもこの実施例では、特に制限されないが下書きデータが“０”で上書きデータが“１”となる書込みを先に行ない、下書きデータが“１”で上書きデータが“０”となる書込みを後で行なうようにしている。なお、しきい値を１．０Ｖに下げる場合としきい値を２．３Ｖに下げる場合とで、バイアス電圧あるいは書込みパルス幅を異ならしめるようにしてもよい。書込み特性が異なるからである。
一方、下書きデータが“０”で上書きデータが“０”である場合や、下書きデータが“１”で上書きデータが“１”である場合にはメモリセルに対してしきい値を変化させるバイアスをデータ線には与えないようにしている。書込み後のベリファイは、ワード線レベルをそれぞれα0，γ0にして行なう。上記書込み動作に伴うメモリセルのしきい値の変化の仕方を表１に示す。なお、各メモリセルのしきい値をＶth１，Ｖth２，Ｖth３，Ｖth４（Ｖth１＜Ｖth２＜Ｖth３＜Ｖth４）とした。
【表１】
0003925944.tif 000002
さらに、データ消去は、図５（Ｄ）に示すように、しきい値の最も小さなメモリセル（記憶データ“０１”）に対してはアップライトを行ない、しきい値の最も高いメモリセル（記憶データ“１１”）としきい値の２番目に高いメモリセル（記憶データ“１０”）に対してはダウンライトをそれぞれ行なってしきい値が２番目に低い状態（記憶データ“００”）に変化させるようにしている。しかも、後述するように、上書きデータのみの消去と下書きデータのみの消去を行なえるようにすることも可能である。消去後のベリファイはワード線レベルをα1，β0にして行なう。
図６にはメモリアレイ１０の具体例を示す。この実施例のメモリアレイは２つのマットで構成され、センスラッチ回路ＳＬＴは２つのマット間に配置され、非選択マット内のデータ線を選択マット内のデータ線のプリチャージレベルの２分の１のレベルにハーフプリチャージしてセンスラッチ回路は差動でデータを検出するように構成されている。そのためメモリアレイはセンスラッチ回路ＳＬＴを挟んで対称であるため、図６にはセンスラッチ回路ＳＬＴと片側のマットのみを図示してある。
この実施例のメモリアレイ１０は同図に示すように、列方向に配列され各々ソースおよびドレインが共通接続された並列形態のｎ個のメモリセル（フローティングゲートを有するＭＯＳＦＥＴ）ＭＣ１〜ＭＣｎからなるメモリ列ＭＣＣが行方向（ワード線ＷＬ方向）および列方向（メインデータ線ＤＬ方向）にそれぞれ複数個配設されている。各メモリ列ＭＣＣは、ｎ個のメモリセルＭＣ１〜ＭＣｎのドレインおよびソースがそれぞれ共通のサブデータ線ＳＤＬおよび共通のサブソース線ＳＳＬに接続され、サブデータ線ＳＤＬはスイッチＭＯＳＦＥＴ  Ｑs1を介してメインデータ線ＤＬに、またサブソース線ＳＳＬはスイッチＭＯＳＦＥＴ  Ｑs2および共通ソース線ＣＳＬを介して接地点または負電圧に接続可能にされた構成にされている。
上記複数のメモリ列ＭＣＣのうちワード線方向に配設されているものは半導体基板上の同一のウェル領域ＷＥＬＬ内に形成され、メモリセルのしきい値を上げる時にはそのウェル領域ＷＥＬＬに−３Ｖのような負電圧を与え、ウェル領域を共通にするワード線に１０Ｖのような電圧を印加することで、ライトアップが可能にされている。なお、データ消去時にはウェル領域を共通にするすべてのスイッチＭＯＳＦＥＴ  Ｑs1，Ｑs2がオン状態にされて、各メモリセルのソースおよびドレインに−３Ｖの負電圧が印加されるように構成されている。
一方、しきい値を下げたい時は選択されるメモリセルが接続されたワード線に−１０Ｖのような負電圧が印加されるとともに、選択されるメモリセルに対応したメインデータ線ＤＬが４Ｖのような電位にされかつ選択メモリセルが接続されたサブデータ線ＳＤＬ上のスイッチＭＯＳＦＥＴ  Ｑs1がオン状態され、ドレイン領域に４Ｖが印加される。ただし、このときサブソース線ＳＳＬ上のスイッチＭＯＳＦＥＴ  Ｑs2はオフ状態とされている。
また、データ読出し時には、選択されるメモリセルが接続されたワード線に１．５Ｖ，２．０Ｖ，２．５Ｖのような電圧が印加されるとともに、選択されるメモリセルに対応したメインデータ線ＤＬが１Ｖのような電位にプリチャージされかつ選択メモリセルが接続されたサブデータ線ＳＤＬ上のスイッチＭＯＳＦＥＴ  Ｑs1がオン状態される。そして、サブソース線ＳＳＬ上のスイッチＭＯＳＦＥＴ  Ｑs2はオン状態とされて接地電位が印加される。このとき選択メモリセルがオンしていればデータ線の電荷が共通ソースに引き抜かれて電位が下がる。この電位が、上記メインデータ線ＤＬの一端に接続されたセンスラッチ回路ＳＬＴで増幅される。センスラッチ回路ＳＬＴは読出し時にはデータ線のレベルを検出して保持するとともに、書込み時には書込みデータを保持しデータに応じた電位をデータ線に与える。
図７には、データ線に接続された上記センスラッチ回路ＳＬＴの具体例を示す。図示のごとく、センスラッチ回路ＳＬＴは２つのＣＭＯＳインバータの入出力端子が相互結合されたセンスアンプＳＡを備えている。そして、このセンスアンプＳＡと上記メモリアレイ１０との間に、プリチャージＭＯＳＦＥＴ  Ｑｐ０，Ｑｐ１、センスアンプＳＡの一方の入出力端子とメインデータ線ＤＬとを接続／遮断可能なデータ転送ＭＯＳＦＥＴ  Ｑｔ０，Ｑｔ１、データ反転回路ＤＩＣ、リセットＭＯＳＦＥＴ  Ｑｒ０，Ｑｒ１、オール判定用ＭＯＳＦＥＴ  Ｑｊ、カラムスイッチＭＯＳＦＥＴ  Ｑｃ、下書きデータ認識用のデータフィルタ回路ＤＦＣ等が設けられている。
なお、図７において、データ線プリチャージＭＯＳＦＥＴ  Ｑｐやデータ転送ＭＯＳＦＥＴ  Ｑｔ、データ反転回路ＤＩＣ、リセットＭＯＳＦＥＴ  Ｑｒが２つずつ示されているのは、奇数番目のデータに接続されているものと偶数番目のデータ線に接続されているものとを分割して示したためである。上記カラムスイッチＭＯＳＦＥＴ  ＱｃのゲートにはＹデコーダ回路からの選択信号が印加されるとともに、データ線はこのカラムスイッチＭＯＳＦＥＴ  Ｑｃおよび入出力線Ｉ／Ｏを介してデータ入力バッファおよびデータ出力バッファに接続される。図示しないが、各センスアンプＳＡは共通の電源ラインとグランドラインに接続され、この電源ラインとグランドライン上には電源供給／遮断用のスイッチＭＯＳＦＥＴが設けられており、このＭＯＳＦＥＴをオンすることでセンスアンプＳＡは活性化され、オフすることで非活性化されるように構成されている。
上記プリチャージＭＯＳＦＥＴ  Ｑｐ０，Ｑｐ１のソース端子はメインデータ線ＤＬにまたドレイン端子は電圧供給ラインＶＬ０，ＶＬ１に接続され、ゲート端子にはプリチャージ制御信号ＲＰＣ０，ＲＰＣ１が印加されており、データ読出し時にオンされることによってメインデータ線ＤＬを１Ｖのようなレベルにプリチャージする。上記データ転送ＭＯＳＦＥＴ  Ｑｔ０，Ｑｔ１はメモリアレイ１０内のメインデータ線ＤＬとセンスアンプＳＡ側のメインデータ線ＤＬｓとの間に接続されそのゲート端子には転送制御信号ＴＲ０，ＴＲ１が印加されており、ワード線立上げ後にオンされてデータ線のレベルをセンスアンプＳＡに伝達して増幅したり、データ書込み時にセンスアンプＳＡに保持されている書込みデータをメインデータ線ＤＬに伝達する。
また、上記データ反転回路ＤＩＣは、メインデータ線ＤＬと電圧供給ラインＵＰＣとの間にそれぞれ２つのＭＯＳＦＥＴ  Ｑｄ１，Ｑｄ２が直列に接続され、そのうちＱｄ１のゲート端子には制御信号ＰＣ０，ＰＣ１が印加され、Ｑｄ２のゲート端子にはセンスアンプＳＡ側のメインデータ線ＤＬｓが接続されている。上記リセットＭＯＳＦＥＴ  Ｑｒ０，Ｑｒ１のドレイン端子はメインデータ線ＤＬｓにまたソース端子はグランドラインＧＬ０，ＧＬ１に接続されゲート端子にはデータリセット信号ＲＳＡ０，ＲＳＡ１が印加されており、これがオンされることによってメインデータ線ＤＬｓを接地電位にデイスチャージする。
さらに、上記オール判定用ＭＯＳＦＥＴ  Ｑｊはセンス用ラインＥＣ０，ＥＣ１とグランドラインＧＬ２との間に接続され、ゲート端子がセンスアンプＳＡ側のメインデータ線ＤＬｓに接続されているとともに、上記センス用ラインＥＣ０，ＥＣ１の一端に前記オール判定回路２１を構成する電流センス回路ＣＳＣが接続されており、データ線がすべてロウレベルであるか否か検出することによって読出しデータがすべて“０”になったことを判定できるように構成されている。すなわち、読み出したデータが一つでも“１”であるとそれに対応するＭＯＳＦＥＴ  Ｑｊがオンされてセンス用ラインＥＣ０，ＥＣ１を通して接地点へ電流が流れるため電流センス回路ＣＳＣによって検出することができる。
一方、上記下書きデータ認識用のデータフィルタ回路ＤＦＣは、電圧供給ラインＤＣＰとセンスアンプＳＡの一方の入出力端子との間に各々直列に接続されたＭＯＳＦＥＴ  Ｑｆ１，Ｑｆ２と上記カラムスイッチＭＯＳＦＥＴ  Ｑｃと直列に接続された伝送ＭＯＳＦＥＴ  Ｑｆ３とからなり、ＭＯＳＦＥＴ  Ｑｆ１のゲート端子に制御信号ＤＣ０がまたＱｆ２のゲート端子に制御信号ＤＣ１が印加されており、この制御信号およびセンスアンプＳＡの保持データによってＱｆ１〜Ｑｆ３を制御することによって、前述した下書きデータに応じた上書きデータの書込みを行なえるように構成されている。すなわち、制御信号ＤＣ０をハイレベル、ＤＣ１をロウレベルに設定してＱｆ１をオン、Ｑｆ２をオフさせることによってＱｆ３のゲートにハイレベルの信号を供給してすべてのデータ線を入出力線Ｉ／Ｏと接続させる一方、制御信号ＤＣ０をロウレベル、ＤＣ１をハイレベルに設定してＱｆ１をオフ、Ｑｆ２をオンさせることによってＱｆ３のゲートにセンスアンプＳＡに保持されているデータに応じたレベルの信号を供給してデータ線を選択的に入出力線Ｉ／Ｏと接続させることができるように構成されている。
次に、本実施例における上記メモリセルからのデータの読出し動作の手順を、図８のフローチャートを用いて説明する。なお、図９にはデータ読出し時のメモリアレイおよびセンスラッチ回路内の各信号線の変化の様子が示されている。なお、同図に示されている符号は図６および図７に示されている信号の符号と対応している。各符号の最後に付いているＲまたはＬは、センスラッチ回路の両側（左右）のマットのいずれのマット内の信号であるかを識別するための符号である。ＰＲＬ，ＰＲＲはデータ線プリチャージ信号で、図７の符号ＲＰＣに相当する。また、ＤＰＢはセンスラッチ用電源のオン・オフ制御信号である。
図８に示されているように、読出し動作は外部から読出しコマンドが入力されることによって開始される。入力されたコマンドが読出しコマンドであったときは、先ずコマンドに続いてあるいは並行して入力されるアドレス信号を取り込む（ステップＳ１）。それから、取り込んだアドレスのうちＺアドレスに基づいて読み出すべきデータがメモリセル内の下書きデータか上書きデータかを判定する（ステップＳ２）。そして、下書きデータ読出しと判定したときは、ワード線のレベルを前記中間の読出しレベルであるβに設定し、メインデータ線ＤＬをプリチャージするとともにＸアドレスをデコードしてワード線ＷＬを立ち上げる（ステップＳ３，Ｓ４）。また、このときサブデータ線上のスイッチＭＯＳＦＥＴ  Ｑs1をオンさせる。
これによって、選択されたワード線に接続されたメモリセルの下書きデータにに応じてデータ線のレベルが保持もしくはディスチャージされるため、サブソース線上のスイッチＭＯＳＦＥＴ  Ｑs2およびデータ転送ＭＯＳＦＥＴ  Ｑｔをオンさせてデータ線のレベルをセンスアンプＳＡに伝えるとともに、センスアンプに電源を供給してこれを活性化させる（ステップＳ５）。これによって、読出しデータが増幅されてセンスアンプに保持されるので、カラムスイッチＱｃをオンさせてデータ出力バッファへ読出しデータを送って外部へ出力させる（ステップＳ６）。
一方、上記ステップＳ２で読み出すべきデータがメモリセル内の上書きデータであると判定したときは、ステップＳ７へ移行してワード線のレベルを前記最も高い読出しレベルであるγに設定し、メインデータ線ＤＬをプリチャージするとともにＸアドレスをデコードしてワード線ＷＬを立ち上げる（ステップＳ８）。それから、データ線のレベルをセンスアンプＳＡに伝え、センスアンプを活性化させて読出しデータを増幅する（ステップＳ９）。そして、次にデータ反転回路ＤＩＣを制御してセンスアンプＳＡに保持されているデータを利用してデータ線上のデータを反転させ、これを次の読出し時のプリチャージ動作とする（ステップＳ１０）。しかる後、ワード線のレベルを前記最も低い読出しレベルであるαに設定し、Ｘアドレスをデコードしてワード線ＷＬを立ち上げる（ステップＳ１１，Ｓ１２）。それから、データ線のレベルをセンスアンプＳＡに伝え、センスアンプで読出しデータを増幅する（ステップＳ１３）。次に、データ反転回路ＤＩＣを制御してセンスアンプＳＡに保持されているデータを利用してデータ線上のデータを反転させる（ステップＳ１４）。そして、このデータを再びセンスアンプＳＡで増幅するとセンスアンプに所望の上書きデータが保持されるので、ここでカラムスイッチＱｃをオンさせてデータ出力バッファへ読出しデータを送って外部へ出力させる（ステップＳ１５）。
次の表２には、上記ステップＳ８〜Ｓ１５により記憶データが“０１”“００”“１０”“１１”であるメモリセルから上書きデータ（１００１）の読出しを行なった場合におけるデータ線のレベルの変化の様子をＬ，Ｈで示す。ここで、Ｌはデータ線がロウレベルであることを、またＨはデータ線がハイレベルであることを表している。なお、最下欄には比較のため、ワード線レベルをβとして上記と同じ記憶データを有するメモリセルから下書きデータ（００１１）を読み出した時のデータ線レベルを示した。表２より、図８のフローに従った制御により、正確なデータの読出しが行なわれることが理解できる。
【表２】
0003925944.tif 000003
次に、上記メモリセルへのデータの書込み動作の手順を、図１０のフローチャートを用いて説明する。なお、この書込みが開始される前に、各メモリセルはしきい値が２番目に低い消去状態にされているものとする。図１１にはデータ書込み時のメモリアレイおよびセンスラッチ回路内の各信号線の変化の様子が示されている。なお、同図に示されている符号は図６および図７に示されている信号の符号と対応している。各符号の最後に付いているＲまたはＬは、センスラッチ回路の両側（左右）のマットのいずれのマット内の信号であるかを識別するための符号である。ＹＧｉはカラムスイッチＱｃのゲート制御信号、ＰＷＬはデータ線プリチャージ信号で、図７の符号ＰＣに相当する。
図１０に示されているように、書込み動作は外部から書込みコマンドが入力されることによって開始される。入力されたコマンドが書込みコマンドであったときは、先ずコマンドに続いてあるいは並行して入力されるアドレス信号および書込みデータを取り込む（ステップＳ２１）。それから、取り込んだアドレスのうちＺアドレスに基づいて書込みがメモリセルへの下書きに相当するか上書きに相当するかを判定する（ステップＳ２２）。そして、下書きであると判定したときは、書込みデータをセンスラッチへ転送する（ステップＳ２３）。このときデータフィルタ回路ＤＦＣはＱｆ１をオンさせてＱｆ３がすべてオンとなるように制御されて書込みデータを無条件でセンスアンプＳＡへ転送する。次に、書込みデータが“１”であるメモリセルのしきい値を高くする書込み（アップライト）を行なう（ステップＳ２４）。
なお、ここで、メモリセルのしきい値を高くする動作は、ワード線に例えば１０Ｖ、ウェル領域に例えば−３Ｖを印加することで行なわれるが、前記実施例のように構成されたメモリアレイにあっては、１つのセクタ内のすべてのメモリセルはワード線およびウェル領域を共通にしているため、選択的にメモリセルのしきい値を高くする動作は行なえない。そこで、上記アップライト（ステップＳ２４）の動作では、先ず１セクタすなわちワード線を共通にするすべてのメモリセルのしきい値を一旦上げるすなわち“００”状態のメモリセルを“１１”状態にする動作を行なってから、センスラッチＳＡにラッチされたデータを使用して“００”状態にしておきたいメモリセルに対して図２１に示すようなバイアス電圧が印加されるように、選択ワード線のレベルを設定するとともにスイッチＭＯＳＦＥＴ  Ｑｓ１やデータ転送ＭＯＳＦＥＴ  Ｑｔをオンさせて選択データ線のレベルの設定をしてフローティングゲートの電荷の引き抜きを行なってしきい値を下げる動作を行なうようにしている。
しかる後、書込みが行われたワード線のレベルをβ0に設定して選択ワード線ＷＬを立ち上げ、ベリファイを行なう（ステップＳ２５）。なお、このベリファイ動作は前述した下書きデータの読出しと同じであるので詳しい説明は省略する。ベリファイ後に電流センス回路ＣＳＣによって、全てのセンスアンプＳＡのラッチデータがオール“０”になったか判定する（ステップＳ２６）。正常に書込みがなされたメモリセルに対してベリファイを行なうとセンスアンプに保持されるデータは“１”から“０”に変わり、書込みが充分でないメモリセルに対応するセンスアンプには“１”が残る。そこで、センスラッチのデータがオール“０”でなかったときはステップＳ２４へ戻って、センスラッチの保持データを用いて再度書込みを行なう。ベリファイ動作によってセンスラッチのデータがオール“０”になったと判定されると書込み動作は終了する。
一方、上記ステップＳ２２で実行すべき書込みがメモリセルへの上書きであると判定したときは、ステップＳ２７へ移行する。前述したように、この実施例においては、上書きは下書きデータに応じて別々に行なう必要があるため、ステップＳ２７では先ず下書きデータの読出しを行なう。このときのワード線のレベルはβである。読出しに際してメインデータ線ＤＬをプリチャージしてからワード線ＷＬを立ち上げるのは読出し動作の時と同様である。それから、データ反転回路ＤＩＣを制御してセンスアンプＳＡに読み出されたデータを反転する（ステップＳ２８）。
そして、次にデータフィルタ回路ＤＦＣを制御（Ｑｆ２をオン）してセンスアンプＳＡに保持されているデータに応じて入力書込みデータをセンスアンプＳＡに取り込む（ステップＳ２９）。このとき上記読出し反転データと入力データとの論理積（ＡＮＤ）をとったようなデータがセンスアンプＳＡに保持される。次の表３には、上記ステップＳ２７〜Ｓ２９により記憶データが“００１１”であるメモリセルから下書きデータの読出しを行ない、上書きデータとして“１１００”を入力した場合におけるデータの変化の様子を示す。表３より、図５（Ｃ）のうち上段に示されている記憶データ“００”を“０１”にすべきメモリセルに対応したセンスアンプにのみデータ“１”が残ることが分かる。
【表３】
0003925944.tif 000004
しかる後、センスアンプに保持されている書込みデータが“１”であるメモリセルに対して図２１に示すようなバイアス電圧が印加されるように選択ワード線のレベルおよび選択データ線のレベルを設定してスイッチＭＯＳＦＥＴ  Ｑｓ１やデータ転送ＭＯＳＦＥＴ  Ｑｔをオンさせてフローティングゲートから電荷を引き抜いてしきい値を低くする書込みを行なう（ステップＳ３０）。
それから、書込みが行われたワード線のレベルをα0に設定して選択ワード線ＷＬを立ち上げ、ベリファイを行なう（ステップＳ３１）。ベリファイ後に電流センス回路ＣＳＣによって、全てのセンスラッチのデータがオール“０”になったか判定する（ステップＳ３２）。正常に書込みがなされたメモリセルに対してベリファイを行なうとセンスアンプＳＡに保持されるデータは“１”から“０”に変わり、書込みが充分でないメモリセルに対応するセンスアンプＳＡには“１”が残る。そこで、センスラッチのデータがオール“０”でなかったときはステップＳ３０へ戻って、センスラッチの保持データを用いて再度書込みを行なう。ベリファイ動作によってセンスラッチのデータがオール“０”になったと判定されると最初の書込み動作は終了する。
次に、ステップＳ３３へ移行してセンスアンプＳＡに再度上書きデータを取り込む。このときデータフィルタ回路ＤＦＣはＱｆ１をオンさせてＱｆ３がすべてオンとなるように制御されて書込みデータを無条件でセンスアンプへ転送する。それから、データ反転回路ＤＩＣを制御してセンスアンプＳＡに読み出されたデータを反転する（ステップＳ３４）。そして、次にセンスアンプＳＡに保持される上記データを用いてデータ線をプリチャージしてからデータの読出し動作を行なう（ステップＳ３５）。このときのワード線のレベルは下書きデータの読出しと同じβである。これによって、下書きデータが“０”であるメモリセルはオンされるためデータ線のチャージが引き抜かれて、対応するセンスアンプのデータは“０”になる。次の表４には、上記ステップＳ３３〜Ｓ３５により記憶データが“００１１”であるメモリセルから下書きデータの読出しを行ない、上書きデータとして“１１００”を入力した場合におけるデータの変化の様子を示す。表４より、図５（Ｃ）のうち下段に示されている記憶データ“１１”を“１０”にすべきメモリセルに対応したセンスアンプにのみデータ“１”が残ることが分かる。
【表４】
0003925944.tif 000005
しかる後、センスアンプに保持されている書込みデータが“１”であるメモリセルに対して図２１に示すようなバイアス電圧が印加されるように選択ワード線のレベルおよび選択データ線のレベルを設定してスイッチＭＯＳＦＥＴ  Ｑｓ１やデータ転送ＭＯＳＦＥＴ  Ｑｔをオンさせてフローティングゲートから電荷を引き抜いてしきい値を低くする書込みを行なう（ステップＳ３６）。
それから、書込みが行われたワード線のレベルをγ0に設定して選択ワード線ＷＬを立ち上げ、ベリファイを行なう（ステップＳ３７）。ベリファイ後に電流センス回路ＣＳＣによって、全てのセンスラッチのデータがオール“０”になったか判定する（ステップＳ３８）。正常に書込みがなされたメモリセルに対してベリファイを行なうとセンスアンプに保持されるデータは“１”から“０”に変わり、書込みが充分でないメモリセルに対応するセンスアンプには“１”が残る。そこで、センスラッチのデータがオール“０”でなかったときはステップＳ３６へ戻って、センスラッチの保持データを用いて再度書込みを行なう。ベリファイ動作によってセンスラッチのデータがオール“０”になったと判定されると書込み動作は終了する。
なお、上記実施例においては、下書きデータの書込み（アップライト）の際に、一旦すべてのメモリセルのしきい値を上げてから“００”状態にしておきたいメモリセルのしきい値のみ下げるようにしていると説明したが、以下のような手法により、下書きデータ“１”を書き込みたいメモリセルのしきい値のみを選択的に上げる書込み動作も可能である。
すなわち、このような動作はしきい値を上げたくないメモリセルのドレインに電圧を印加してゲート電極直下にチャネルを形成してフローティングゲートへの電荷の注入を阻止してやるようにすれば良い。具体的には、ワード線例えば１０Ｖを、またウェル領域に例えば−３Ｖを印加すると共に、“００”状態から“１１”状態にしたくないメモリセルのドレインには例えば３Ｖを印加し、“００”状態から“１１”状態にしたいメモリセルのドレインには例えば−３Ｖを印加できるようにメモリアレイを構成することによって実現することができる。なお、この場合のベリファイ時のワード線レベルはγ1である。
次に、上記メモリセルの記憶データの消去動作の手順を、図１２のフローチャートを用いて説明する。
図１２に示されているように、消去動作は外部から消去コマンドが入力されることによって開始される。入力されたコマンドが消去コマンドであったときは、先ずコマンドに続いてあるいは並行して入力されるアドレス信号を取り込む（ステップＳ４１）。それから、取り込んだアドレスのうちＺアドレスに基づいて消去すべきデータがメモリセルの下書きデータに相当するか上書きデータに相当するかを判定する（ステップＳ４２）。そして、下書きデータであると判定したときは、Ｘアドレスで指定されるメモリセルから上書きデータの読出しを行なってメモリ外部へ出力する（ステップＳ４３）。外部へ出力された上書きデータはコントローラ等によってバッファメモリに格納される。
次に、入力アドレスによって指定されたメモリセルから下書きデータを読み出してセンスラッチに保持する（ステップＳ４４）。そして、この保持データを使用して読出しデータが“１”であるメモリセルに対して図２１に示すようなバイアス電圧が印加されるように選択ワード線のレベルおよび選択データ線のレベルを設定してスイッチＭＯＳＦＥＴ  Ｑｓ１やデータ転送ＭＯＳＦＥＴ  Ｑｔをオンさせてフローティングゲートからの電荷の引抜きを行なってしきい値を低くする消去を行なう（ステップＳ４５）。
しかる後、消去が行われたワード線のレベルをβ0に設定して選択ワード線ＷＬを立ち上げ、ベリファイを行なう（ステップＳ４６）。なお、このベリファイ動作は前述したデータの読出し（図８）と同じであるので詳しい説明は省略する。ベリファイ後に電流センス回路ＣＳＣによって、全てのセンスラッチのデータがオール“０”になったか判定する（ステップＳ４７）。正常に書込みがなされたメモリセルに対してベリファイを行なうとセンスラッチに保持されるデータは“１”から“０”に変わり、書込みが充分でないメモリセルに対応するセンスラッチには“１”が残る。そこで、センスラッチのデータがオール“０”でなかったときはステップＳ４５へ戻って、センスラッチの保持データを用いて再度消去を行なう。
上記ベリファイ動作によってセンスラッチＳＡのデータがオール“０”になったと判定されると、次にワード線のレベルをα1に設定して選択ワード線ＷＬを立ち上げ、ベリファイを行なう（ステップＳ４８）。ベリファイ後に、全てのセンスラッチのデータがオール“１”になったか判定する（ステップＳ４９）。オール“１”の判定は、例えばセンスラッチＳＡの反対側に設けられている同様のＭＯＳＦＥＴ  Ｑｊと電流センス回路ＣＳＣからなるオール判定回路によりオール“０”判定を行なうか、あるいは図７のＭＯＳＦＥＴ（Ｎチャネル）Ｑｊの代わりにＰチャネルＭＯＳＦＥＴからなる同様の回路を設けたりすることで簡単に実現できる。そして、センスラッチのデータがオール“１”でなかったときはステップＳ５０へ移行して、センスラッチの保持データを用いて読出しデータが“０”になったメモリセルに対してしきい値を上げる書込みを行なってから再度ベリファイを行なう（ステップＳ５１）。ベリファイ動作によってセンスラッチのデータがオール“０”になったと判定される（ステップＳ５２）と、外部のバッファメモリに格納しておいた上書きデータをメモリへ入力して書込みを行なう（ステップＳ５３）。この書込み動作は図１０のフローと同様の手順に従って行なわれる。
一方、上記ステップＳ４２で消去すべきデータがメモリセルの上書きデータであると判定したときは、上書きデータの消去処理Ｓ６０へ移行する。この上書きデータ消去処理は、上記ステップＳ４１〜Ｓ５１の下書きデータ消去処理とほぼ同一手順である。異なる点は、上書きデータを消去する前に下書きデータの読出しを行なって外部のバッファメモリに退避する点と、上書きデータ消去処理では、下書きデータに応じてしきい値を上げる消去としきい値を下げる消去とを区別して行なう必要がある点のみである。下書きデータに応じてしきい値を上げる消去としきい値を下げる消去とを区別して行なうため、図１０の書込み処理フローのステップＳ２７〜Ｓ３８で行なっているのと類似の制御が適用される。
図１３には、上記実施例の多値フラッシュメモリを用いたシステムの構成例が示されている。
この実施例のシステムは、特に制限されないが、システム全体を制御するマイクロコンピュータ（ＣＰＵ）１１０と、システムのプログラムや固定データが格納された読出し専用のリード・オンリ・メモリ（ＲＯＭ）１２０と、ＣＰＵ１１０の作業領域を提供する随時書込み読出し可能なランダム・アクセス・メモリ（ＲＡＭ）１３０と、上記実施例の多値フラッシュメモリ１４１，１４２・・・からなるローカルメモリ１４０と、ローカルメモリ１４０に対する読出し、書込み、消去を制御するメモリコントローラ１５０と、ローカルメモリ１４０のデータ消去や書換えの際に上書きデータもしくは下書きデータを退避しておくのに使用されるバッファメモリ１６０等から構成されている。
上記ＣＰＵ１１０とＲＯＭ１２０、ＲＡＭ１３０およびメモリコントローラ１５０とは、コントロールバス１７１、アドレスバス１７２、データバス１７３からなるメインバス１７０によって互いに接続され、フラッシュメモリ１４１，１４２・・・と、メモリコントローラ１５０およびバッファメモリ１６０とは、クロックバス１８１、アドレスバス１８２、Ｉ／Ｏバス１８３からなるローカルバス１８０によって互いに接続されており、特に制限されないが、これらのＩＣとバスはプリント配線基板のような１枚のボード上に搭載される。
上記メモリコントローラ１５０は、ＣＰＵ１１０とのインタフェースを行なうインターフェイス回路１５１と、ＣＰＵ１１０からの命令に基づいて上記フラッシュメモリ１４１，１４２・・・に対する読出しコマンドや書込みコマンド、消去コマンドやデータ転送クロック等を形成して出力するコマンドコントローラ１５２と、ＣＰＵ１１０から出力される論理アドレスに基づいて上記フラッシュメモリ１４１，１４２・・・の物理アドレスに変換するとともに前述の３次元アドレスに変換して出力するアドレスコントローラ１５３と、上記フラッシュメモリ１４１，１４２・・・の読出しデータをＲＡＭ１３０へ転送したり、ＲＡＭ１３０から書込みデータを上記フラッシュメモリ１４１，１４２・・・に転送したりするデータＩ／Ｏコントローラ１５４等を備えている。
図１４〜図１７には、メモリセル内の各階層別のデータの識別方式（上記実施例のＺアドレスによる方式に相当）の他の実施例を示す。
このうち図１４は、Ｚアドレスを専用の外部端子（図２の符号ＡＺ参照）から入力する代わりに、入出力ピンＩ／Ｏを介してデータおよびコマンド、Ｘアドレス、Ｙアドレスと共に時分割で入力するように構成したものである。入出力ピンＩ／Ｏに入力されたＺアドレスはマルチプレクサ１１を介してＸアドレスデコーダ１５に供給される。ＸアドレスおよびＹアドレスも同様にマルチプレクサ１１を介してＸアドレスデコーダ１５およびＹアドレスデコーダ１６にそれぞれに供給される。コマンドまたはデータとアドレスの区別は外部からの制御信号ＣＤＥによって、またコマンドとデータの区別は、コマンドはライトイネーブル信号ＷＥに同期させて入力し、データはシリアルクロックＳＣに同期させて入力することによって行なうようにしている。
さらに、上記ピンを共通にしたアドレスマルチプレクス方式においても、図１５に示すように、ＸアドレスとＺアドレスをタイミングを変えて別々に取り込む方式と、Ｘアドレスの空きビットを利用してそこにＺアドレスを含ませて取り込む方式が考えられる。なお、図１６に示されている方式は、８本の入出力ピンＩ／Ｏを用いて１４ビットのＸアドレスを２回に分けて取り込む場合に最上位の空いている２ビットのうち１ビットを利用してＺアドレス（１ビット）を取り込むようにした場合のアドレス構成を示したものである。
また、ＺアドレスをＸアドレスに含ませて入力する代わりにＺアドレスをコマンドに含ませて入力したり、あるいはメモリセル内の各階層別のデータごとに読出しコマンドや書込みコマンド、消去コマンドをそれぞれ別個に用意するようにしても良い。この場合にも図１４のようにアドレスとコマンドとを時分割方式で入力する場合と、図２のように別個の外部端子から入力する場合とが考えられる。さらに、メモリセル内の各階層別のデータの識別にアドレスまたはコマンド以外に制御信号あるいは選択信号を用いるようにしてもよい。
図１７〜図２０は、メモリアレイ１０の他の構成例を示す。前記実施例のメモリアレイ（図６参照）では、データ線方向に配設されたｎ個のメモリセルＭＣのソースを共通のサブソース線ＳＳＬにまたドレインを共通のサブデータ線ＳＤＬに接続するとともに、サブデータ線ＳＤＬをスイッチＭＯＳＦＥＴ  Ｑｓ１を介してデータ線にまたサブソース線ＳＳＬはスイッチＭＯＳＦＥＴ  Ｑｓ２を介して共通ソース線ＣＳＬに接続可能に構成したが、図１７の実施例ではデータ線方向に配設されたメモリセルＭＣを２個ずつペアにして各ペアの共通ドレインＣＤを対応するメインデータ線ＤＬにそれぞれ接続するとともに、ワード線ＷＬ方向のメモリセルのソースはメモリ行ごとに共通ソース線ＣＳＬにそれぞれ接続するようにしている。各データ線に接続されるセンスラッチ回路ＳＬＴは前記実施例のメモリアレイ（図６参照）と同一とすることができる。この実施例のメモリアレイでは、スイッチＭＯＳＦＥＴ  Ｑs1，Ｑs2による制御以外は前記実施例のメモリアレイ（図６参照）と全く同様にして読出し書込みを行なえる。サブデータ線およびサブソース線を設けてスイッチＭＯＳＦＥＴ  Ｑs1，Ｑs2で制御するように構成することも可能である。
図１８は、いわゆるＮＡＮＤ型と呼ばれるメモリアレイで、メインデータ線ＤＬ方向に配設されたｎ個のメモリセルＭＣ１〜ＭＣｎをそれぞれのチャンネルが直列になるように接続し、一端（図では下端）をスイッチＭＯＳＦＥＴ  Ｑｓ１を介してメインデータ線ＤＬに接続するとともに他端（上端）をスイッチＭＯＳＦＥＴ  Ｑｓ２を介して共通ソース線ＣＳＬに接続したものである。この実施例では、選択ワード線以外のワード線の電位をそれに接続されたメモリセルのしきい値のいかんにかかわらずオンとなるような高いレベルに設定し、選択ワード線は下書きデータもしくは上書きデータに応じた電位に設定して読出し書込みを行なうことで選択メモリセルの読出し書込みが可能となる。
図１９は、メインデータ線ＤＬ方向に配設されたｎ個のメモリセルＭＣ１〜ＭＣｎをそれぞれのチャンネルが直列になるように接続するととに、共通ソース・ドレインを交互にサブデータ線ＳＤＬとサブソース線ＳＳＬに接続し、サブデータ線ＳＤＬはスイッチＭＯＳＦＥＴ  Ｑｓ１を介して対応するメインデータ線ＤＬにそれぞれ接続するようにしたものである。メインデータ線ＤＬ方向に隣接するメモリセル同士でソース・ドレインを共有する点およびスイッチＭＯＳＦＥＴ  Ｑｓ２を省略した点以外は前記実施例のメモリアレイ（図６参照）と同様であり、Ｑｓ２以外は同一の制御で読出し書込みを行なえる。ただし、Ｑｓ２をサブソース線ＳＳＬと共通ソース線ＣＳＬとの間に設けるようにすることも可能である。
図２０は、前記実施例（図６）の変形例で、データ線方向に配設されたｎ個のメモリセルＭＣのドレインを共通のサブデータ線ＳＤＬに接続し、サブデータ線ＳＤＬはスイッチＭＯＳＦＥＴ  Ｑｓ１を介してデータ線に接続した点は同一であるが、この実施例ではさらにワード線方向のメモリセルを２個ずつペアにしてその共通ソースをサブソース線ＳＳＬに接続してサブソース線ＳＳＬの本数を減らしたものである。サブソース線ＳＳＬはスイッチＭＯＳＦＥＴ  Ｑｓ２を介して共通ソース線ＣＳＬに接続されている。センスラッチ回路ＳＬＴは図７の全く同じ構成で良く、同一の制御で読出し書込みを行なうことができる。
以上説明したように、上記実施例においては、複数のしきい値を設定して１つのメモリセルに多値の情報を記憶させるようにした不揮発性半導体記憶装置において、１つのメモリセルに対して２ビットのデータの各ビットをアドレス信号もしくは制御信号に応じて別々に書込みを行なうようにしたので、データを読み出す際に最初のビット（下書きデータ）はワード線を１回アクセスするだけで、また後のビット（上書きデータ）はレベルを変えてワード線を２回アクセスするだけで読み出せるようになり、トータルのワード線アクセス回数が減少し、データ読出し時間が短縮されるという効果がある。
また、上記実施例では、メモリアレイ内のデータ線と読出しデータを増幅するセンスアンプとの間にデータ反転回路を設けたので、上書きデータの読出しを効率良く行なえるようになるという効果がある。
さらに、上記実施例では、データ入力バッファとセンスアンプとの間にセンスアンプの読出しデータによって書込みデータの入力を制御可能なデータフィルタ回路を設けたので、下書きデータに応じた上書きデータの書込みを効率良く行なえるようになるという効果がある。
また、上記実施例では、メモリセル内の各階層別のデータを識別するためのアドレス信号をコマンドやデータと時分割方式で入力可能としたので、必要とされる外部端子（ピン）数を滅らすことができる。
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記実施例では、メモリセルに２ビットのデータを記憶できるようにした実施例について説明したが、１つのメモリセルに３ビット以上のデータを記憶するようにした不揮発性メモリに適用することも可能である。
また、実施例ではしきい値が２番目に低いメモリセルを消去状態のメモリセルとしたが、他のレベルしきい値を消去状態とすることもできる。さらに、実施例では、データ“１”を保持するセンスアンプに対応するメモリセルに書込みを行なってしきい値を変化させているが、データ“０”を保持するセンスアンプに対応するメモリセルに書込みを行なってしきい値を変化させるようにしても良い。
産業上の利用可能性
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるフラッシュメモリに適用した場合について説明したが、この発明はそれに限定されるものでなく、ＦＡＭＯＳを記憶素子とする不揮発性記憶装置一般さらには複数のしきい値を有するメモリセルを備えた半導体装置に広く利用することができる。
【図１】
0003925944.tif 000006
【図２】
0003925944.tif 000007
【図３】
0003925944.tif 000008
【図４】
0003925944.tif 000009
【図５】
0003925944.tif 000010
【図６】
0003925944.tif 000011
【図７】
0003925944.tif 000012
【図８】
0003925944.tif 000013
【図９】
0003925944.tif 000014
【図１０】
0003925944.tif 000015
【図１１】
0003925944.tif 000016
【図１２】
0003925944.tif 000017
【図１３】
0003925944.tif 000018
【図１４】
0003925944.tif 000019
【図１５】
0003925944.tif 000020
【図１６】
0003925944.tif 000021
【図１７】
0003925944.tif 000022
【図１８】
0003925944.tif 000023
【図１９】
0003925944.tif 000024
【図２０】
0003925944.tif 000025
【図２１】
0003925944.tif 000026
【図２２】
0003925944.tif 000027
【図２３】
0003925944.tif 000028