(57)【要約】【課題】メモリセルの閾値電圧の変動によるデータ破壊を未然に防止する。【解決手段】メモリセルの閾値電圧の変動が検出されたとき、その情報がセル情報記憶部に記憶される。セル情報記憶部に記憶されているエラーアドレスに対する読み出し動作が実行されるとき、エラーメモリセルから読み出されるデータはマスクされ、セル情報記憶部に記憶されたセル情報に応じた論理値が、外部端子に強制的に出力される。このため、メモリセルの閾値電圧がずれた時点で、読み出しデータをリアルタイムで補正でき、閾値電圧の変動により誤ったデータが読み出されることが防止される。メモリセルの閾値電圧が変動しても、メモリセルにデータを再書き込みする必要はないため、不揮発性半導体メモリを搭載するシステムの読み出し動作におけるデータ転送レートが、データの補正により低下することはない。【選択図】      図１
2004171619.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書き換え可能な複数の不揮発性のメモリセルを含むメモリセルアレイと、
前記メモリセルに接続されたビット線と、
前記各メモリセルからデータを読み出すときに、前記各メモリセルの閾値電圧に対応して前記ビット線に流れるメモリセル電流をセル電圧に変換する電流電圧変換回路と、
読み出し動作において、前記セル電圧が、第１基準電圧とこの第１基準電圧より低い前記第２基準電圧との間の第１領域に含まれること、および前記セル電圧が、前記第１基準電圧とこの第１基準電圧より高い前記第３基準電圧の間の第２領域に含まれることを判定するデータ判定回路と、
前記メモリセルのうち前記セル電圧が前記第１または第２領域に含まれるエラーメモリセルを示すアドレスをエラーアドレスとして記憶するとともに、前記エラーメモリセルの前記セル電圧が前記第１または第２領域のいずれに含まれるかを示すセル情報を記憶するセル情報記憶部と、
前記エラーアドレスに対する読み出し動作において、前記エラーメモリセルから読み出されるデータをマスクし、前記セル情報記憶部に記憶された前記セル情報に応じて、前記第２基準電圧に対応する第１論理値または前記第３基準電圧に対応する第２論理値を外部端子に出力するためのデータ補正回路とを備えていることを特徴とする不揮発性半導体メモリ。
【請求項２】
請求項１記載の不揮発性半導体メモリにおいて、
前記データ補正回路は、前記読み出し動作において検出される前記エラーメモリセルを示す読み出しアドレスが、前記セル情報記憶部に前記エラーアドレスとして記憶されていないときに、前記読み出しアドレスおよび前記エラーメモリセルが記憶している論理値を前記エラーアドレスおよび前記セル情報として前記セル情報記憶部に書き込むことを特徴とする不揮発性半導体メモリ。
【請求項３】
請求項１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、電気的に書き換え可能な複数の不揮発性のメモリセルで構成されていることを特徴とする不揮発性半導体メモリ。
【請求項４】
請求項１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、前記メモリセルにデータを書き込む書き込み動作において、前記セル情報記憶部に記憶している前記セル情報に対応する論理値と逆の論理値が、前記エラーメモリセルに書き込まれるときに、前記逆の論理値を出力するために前記セル情報を書き換えることを特徴とする不揮発性半導体メモリ。
【請求項５】
請求項１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、前記メモリセルにデータを書き込む書き込み動作において、前記セル情報記憶部に記憶されている前記セル情報に対応する論理値と逆の論理値が、前記エラーメモリセルに書き込まれるときに、前記セル情報をマスクし、
前記データ補正回路は、その後、前記エラーアドレスに対する読み出し動作において、前記セル情報記憶部に記憶された前記セル情報がマスクされているときに、前記セル情報によらず、前記エラーメモリセルから読み出されるデータを前記外部端子に出力することを特徴とする不揮発性半導体メモリ。
【請求項６】
請求項１記載の不揮発性半導体メモリにおいて、
前記不揮発性半導体メモリの不良を救済するための不揮発性の冗長メモリセルと、
前記メモリセルのデータを消去する消去動作において、前記エラーメモリセルを前記冗長メモリセルに置き換え、前記セル情報記憶部に記憶されている前記エラーアドレスおよび前記セル情報を消去する冗長制御回路とを備えていることを特徴とする不揮発性半導体メモリ。
【請求項７】
請求項６記載の不揮発性半導体メモリにおいて、
前記冗長制御回路は、前記冗長メモリセルが使用されており前記エラーメモリセルを前記冗長メモリセルに置き換えできないとき、前記消去動作において、消去を示す論理値に対応する前記セル情報およびこのセル情報に対応する前記エラーアドレスの消去を禁止することを特徴とする不揮発性半導体メモリ。
【請求項８】
請求項６記載の不揮発性半導体メモリにおいて、
前記冗長制御回路は、前記冗長メモリセルの使用により前記エラーメモリセルを前記冗長メモリセルに置き換えできず、かつ消去を示す論理値と逆の論理値の前記セル情報が前記セル情報記憶部に記憶されているときに、消去動作において、前記エラーアドレスを消去せずに前記セル情報のみを消去し、
前記データ補正回路は、消去後の書き込み動作において、前記エラーメモリセルに逆の論理値が書き込まれるときに、前記逆の論理に対応する前記セル情報を書き込むことを特徴とする不揮発性半導体メモリ。
【請求項９】
請求項１記載の不揮発性半導体メモリにおいて、
前記メモリセルから読み出されるデータを出力するデータ出力回路を備え、
前記データ補正回路は、前記セル電圧が、前記第１領域に含まれるときに第１補正信号を出力し、前記第２領域に含まれるときに第２補正信号を前記データ出力回路に出力し、
前記データ出力回路は、第１または第２補正信号を受けたとき、前記メモリセルからのデータの出力を禁止し、前記第１または第２論理値を強制的に前記外部端子に出力することを特徴とする不揮発性半導体メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性半導体メモリのメモリセルに記憶されるデータの信頼性を向上する技術に関する。
【０００２】
【従来の技術】
フラッシュメモリ等の不揮発性半導体メモリは、メモリセルトランジスタ（以下、メモリセルとも称する）のフローティングゲートに電子を保持するか否かで、２値データを記憶する。例えば、論理”１”は、フローティングゲートに電子がトラップされておらず、メモリセルトランジスタの閾値電圧が低い状態（消去状態）である。論理”０”は、フローティングゲートに電子がトラップされており、メモリセルトランジスタの閾値電圧が高い状態（書き込み状態）である。メモリセルトランジスタは、高電圧をコントロールゲートで受けたときに、電子をフローティングゲートにトラップする。すなわち、高電圧をコントロールゲートで受けることで論理”０”が書き込まれる。
【０００３】
一般に、フローティングゲートを有するメモリセルは、チャージゲイン特性およびチャージロス特性を有している。チャージゲインは、コントロールゲートに相対的に高い電圧が繰り返し与えられることにより、フローティングゲートに予期せぬ電子が注入され、閾値電圧が高くなる現象である。チャージゲインは、メモリセルからデータを繰り返し読み出すことにより発生する。チャージロスは、コントロールゲートに相対的に低い電圧が繰り返し与えられることにより、フローティングゲートから予期せぬ電子が放出され、閾値電圧が低くなる現象である。チャージロスは、メモリセルにデータを繰り返し書き込むことにより発生する。
【０００４】
フラッシュメモリでは、チャージゲイン特性およびチャージロス特性による閾値電圧の変動を考慮して、プログラム電圧および基準電圧が設定されている。しかし、チャージゲインまたはチャージロスが過度に発生した場合、メモリセルトランジスタに記憶しているデータが破壊（反転）するおそれがある。
チャージゲインおよびチャージロスによるデータの破壊を防止するために、データの読み出し時にメモリセルトランジスタの閾値電圧の変動を検出し、閾値電圧が過度に変動している場合に、正しいデータを再書き込みする不揮発性半導体メモリが提案されている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開平９−３２０２８９（図１および図２、４ページ）
【０００６】
【発明が解決しようとする課題】
しかしながら、フラッシュメモリ等の不揮発性半導体メモリでは、データの消去に長時間を要する。また、消去動作は、セクタ単位で実行される。このため、チャージゲインにより閾値電圧が上昇したメモリセルトランジスタに論理”１”を再書き込みする場合（消去動作）、セクタ内の全てのメモリセルのデータを消去した後、論理”０”を記憶していたメモリセルに対して再度書き込み動作を実行しなくてはならない。
【０００７】
データの書き換えに長時間を要するため、読み出し動作等によりメモリセルがアクセスされているときに、そのアクセスを妨げることなくデータを書き換えることは不可能である。このため、データの書き換えは、不揮発性半導体メモリをテストモード等に移行して行わなくてはならない。この結果、不揮発性半導体メモリを搭載するシステムの性能が低下してしまう。
【０００８】
本発明の目的は、メモリセルの閾値電圧の変動によるデータ破壊を未然に防止することにある。
本発明の別の目的は、閾値電圧が変動したメモリセルのデータを、不揮発性半導体メモリを搭載するシステムが認識することなく修正することにある。
本発明の別の目的は、不揮発性半導体メモリを試験モード等に移行することなく、データ破壊を未然に防止することで、不揮発性半導体メモリを搭載するシステムの性能を向上することにある。
【０００９】
【課題を解決するための手段】
請求項１の不揮発性半導体メモリでは、電気的に書き換え可能な不揮発性のメモリセルは、ビット線に接続されている。電流電圧変換回路は、メモリセルからデータを読み出すときに、メモリセルの閾値電圧に対応してビット線に流れるメモリセル電流をセル電圧に変換する。すなわち、メモリセルに記憶されている論理値に応じて、セル電圧が生成される。データ判定回路は、メモリセルからデータを読み出す読み出し動作において、セル電圧が、第１基準電圧とこの第１基準電圧より低い第２基準電圧との間の第１領域に含まれること、およびセル電圧が、第１基準電圧とこの第１基準電圧より高い第３基準電圧の間の第２領域に含まれることを判定する。
【００１０】
セル情報記憶部は、エラーアドレスおよびセル情報を記憶する。エラーアドレスは、セル電圧が第１または第２領域に含まれるエラーメモリセルを示すアドレスである。セル情報は、エラーメモリセルのセル電圧が第１領域または第２領域のいずれに含まれるかを示す。データ補正回路は、エラーアドレスに対する読み出し動作において、エラーメモリセルから読み出されるデータをマスクし、セル情報記憶部に記憶されたセル情報に応じて、第２基準電圧に対応する第１論理値または第３基準電圧に対応する第２論理値を出力する。第１論理値または第２論理値は、外部端子を介して不揮発性半導体メモリの外部に出力される。
【００１１】
このように、メモリセルが、閾値電圧の変動によってエラーメモリセルと判定されたときに、エラーメモリセルから読み出されるデータはマスクされ、セル情報記憶部に記憶されたセル情報に応じた論理値が強制的に外部端子に出力される。このため、メモリセルの閾値電圧がずれた時点で、読み出しデータをリアルタイムで補正でき、閾値電圧の変動により誤ったデータが読み出されることが防止される。すなわち、メモリセルに記憶されているデータの破壊を防止できる。
【００１２】
メモリセルの閾値電圧が変動しても、メモリセルにデータを再書き込みする必要はない。このため、例えば、読み出し動作中に、不揮発性半導体メモリを搭載するシステムに認識されることなく、リアルタイムで読み出しデータを補正できる。したがって、読み出し動作時のデータ転送レートが、データの補正により低下することはない。
【００１３】
請求項２の不揮発性半導体メモリでは、データ補正回路は、読み出し動作において、セル電圧が第１または第２領域に含まれることでエラーメモリセルを検出し、かつエラーメモリセルを示す読み出しアドレスが、セル情報記憶部にエラーアドレスとして記憶されていないときに、前記読み出しアドレスおよび前記エラーメモリセルが記憶している論理値を前記エラーアドレスおよび前記セル情報としてセル情報記憶部に書き込む。このため、メモリセルの閾値電圧の変動を検出した次の読み出し動作からセル情報に応じて読み出しデータを補正できる。この結果、誤ったデータが読み出されることを確実に防止できる。
【００１４】
請求項３の不揮発性半導体メモリでは、セル情報記憶部は、電気的に書き換え可能な複数の不揮発性のメモリセルで構成されている。このため、セル情報記憶部は、半導体メモリに電源が供給されない状態でもエラーアドレスおよびセル情報を失うことなく記憶できる。セル情報記憶部は、メモリセルと同じ製造プロセスを使用して形成可能である。このため、セル情報記憶部を形成することにより、製造コストが増加することはない。
【００１５】
請求項４の不揮発性半導体メモリでは、セル情報記憶部は、メモリセルにデータを書き込む書き込み動作において、セル情報記憶部に記憶しているセル情報に対応する論理値と逆の論理値が、エラーメモリセルに書き込まれるときに、逆の論理値を出力するためにセル情報を書き換える。例えば、第１論理値に対応して設定された閾値電圧が変動する場合（セル電圧が第２基準電圧から第１基準電圧に向けて変動する場合）、第２論理値に対応して設定される閾値電圧も変動する可能性がある。このため、逆の論理値が書き込まれる際に、データ判定回路の判定前に、予めデータを補正するためにセル情報を書き込むことで、逆の論理値に対するデータ破壊を未然に防止できる。
【００１６】
請求項５の不揮発性半導体メモリでは、セル情報記憶部は、メモリセルにデータを書き込む書き込み動作において、セル情報記憶部に記憶されているセル情報に対応する論理値と逆の論理値が、エラーメモリセルに書き込まれるときに、セル情報をマスクする。その後、データ補正回路は、エラーアドレスに対する読み出し動作において、セル情報記憶部に記憶されたセル情報がマスクされているときに、セル情報によらず、メモリセルから読み出される論理値を外部端子に出力する。例えば、第１論理値に対応して設定された閾値電圧が変動する場合でも（セル電圧が第２基準電圧から第１基準電圧に向けて変動する場合）、第２論理値に対応して設定される閾値電圧は、変動しない場合がある。すなわち、チャージゲインとチャージロスに相関関係がない場合、第２論理値に書き換えられたメモリセル（第１論理値に対するエラーメモリセル）から読み出されるデータを、補正することなく外部端子に直接出力できる。
【００１７】
請求項６の不揮発性半導体メモリでは、この半導体メモリの不良を救済するための不揮発性の冗長メモリセルが形成されている。冗長制御回路は、メモリセルのデータを消去する消去動作において、エラーメモリセルを冗長メモリセルに置き換え、セル情報記憶部に記憶されているエラーアドレスおよびこのエラーアドレスに対応するセル情報を消去する。一般に、冗長メモリセルは、半導体メモリの製造工程においてメモリセルから置き換えられる。半導体メモリの出荷後に、新たな冗長メモリセルが使用されることはない。エラーメモリセルを、使用されていない冗長メモリセルに置き換えることで、セル情報記憶部の使用率を下げることができる。この結果、エラーメモリセルの許容数を増加できる。
【００１８】
請求項７の不揮発性半導体メモリでは、冗長制御回路は、冗長メモリセルが使用されており、エラーメモリセルを冗長メモリセルに置き換えできないとき、消去動作において、消去を示す論理値に対応するセル情報の消去およびこのセル情報に対応するエラーアドレスの消去を禁止する。このため、エラーメモリセルを置き換えるための冗長メモリセルがないときにも、セル情報に応じて読み出しデータを確実に補正できる。
【００１９】
請求項８の不揮発性半導体メモリでは、冗長制御回路は、冗長メモリセルが使用されているためエラーメモリセルを冗長メモリセルに置き換えできず、かつ消去を示す論理値と逆の論理値のセル情報がセル情報記憶部に記憶されているときに、消去動作において、エラーアドレスを消去せずにセル情報のみを消去する。データ補正回路は、消去後の書き込み動作において、エラーメモリセルに消去を示す論理値と逆の論理値が書き込まれるときに、この逆の論理値に対応するセル情報を書き込む。エラーメモリセルについて、消去動作時にエラーアドレスを消去せずに残しておくことで、新たなデータが書き込まれるときにエラーアドレスに基づいてセル情報を容易に書き換えられる。このため、その後の読み出し動作において、データ判定回路の判定を待つことなく、常に正しいデータを出力できる。
【００２０】
請求項９の不揮発性半導体メモリでは、データ補正回路は、セル電圧が第１領域に含まれるときに第１補正信号を出力し、セル電圧が第２領域に含まれるときに第２補正信号を出力する。データ出力回路は、第１または第２補正信号を受けたとき、メモリセルからのデータの出力を禁止し、第１または第２論理値を強制的に出力する。このため、簡易な論理回路により第１または第２論理値を強制的に出力でき、メモリセルから読み出されるデータを補正できる。
【００２１】
【発明の実施の形態】
以下、本発明の実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数ビットで構成されている。図の二重丸は、外部端子を示している。
図１は、本発明の不揮発性半導体メモリの第１の実施形態を示している。この実施形態は、請求項１〜請求項４、請求項６、請求項７、および請求項９に対応している。この不揮発性半導体メモリは、シリコン基板上にＣＭＯＳプロセスを使用してＮＯＲ型フラッシュメモリとして形成されている。
【００２２】
フラッシュメモリは、昇圧回路１０、動作制御回路１２、コマンドレジスタ１４、アドレスラッチ１６、メモリコア１８、データ判定回路２０、データ補正回路２２、入出力回路２４、冗長制御回路２６、およびセル情報記憶部２８を有している。
昇圧回路１０は、動作制御回路１４からの制御信号ＰＧに応答して動作し、電源電圧ＶＣＣに応じて電源電圧ＶＣＣより高い高電圧ＶＰＰを生成し、生成した高電圧ＶＰＰを高電圧線（ＶＰＰ）に出力する。制御信号ＰＧは、例えば、アドレス信号ＡＤの遷移エッジに同期して生成されるパルス信号である。高電圧ＶＰＰは、ワード線制御回路２４に供給され、プログラム電圧等に使用される。
【００２３】
動作制御回路１２は、外部から供給される制御信号ＣＮＴ（チップイネーブル信号、ライトイネーブル信号など）、およびコマンドレジスタ１４からのコマンド信号ＣＭＤを受け、これ等制御信号に応じて読み出し動作、書き込み動作（プログラム動作）、および消去動作を実行するための制御信号ＲＤ、ＷＲ、ＥＲ等を生成する。
【００２４】
コマンドレジスタ１４は、入出力端子Ｉ／Ｏ（外部端子）に供給されるコマンド信号ＣＭＤを、入出力回路２４を介して受け、受けた信号を動作制御回路１２に出力する。
アドレスラッチ１６は、アドレス端子に供給されるアドレス信号ＡＤを、動作制御回路１２からの制御信号に同期してラッチし、ラッチした信号を内部アドレス信号ＩＡＤとしてセル情報記憶部２８、ワード線制御回路３０、およびビット線制御回路３４に出力する。アドレス信号ＡＤは、メモリセルアレイ３２のメモリセルＭＣ（後述する図２に示す）を選択するために供給される。
【００２５】
メモリコア１８は、ワード線制御回路３０、メモリセルアレイ３２、ビット線制御回路３４、およびセンスアンプ／ラッチ３６を有している。
ワード線制御回路３０は、ワードデコーダを有している。ワード線制御回路３０は、内部アドレス信号ＩＡＤ（ロウアドレス信号）に応じてワード線ＣＧ（後述する図２に示すＣＧ０−ＣＧ５１１の少なくともいずれか）を選択し、動作制御回路１２からの制御信号に応じて、選択したワード線ＣＧに所定の電圧を与える。
【００２６】
メモリセルアレイ３２は、マトリックス状に配置された電気的に書き換え可能な複数の不揮発性のメモリセルＭＣおよび冗長メモリセルＲＭＣを有している。メモリセルアレイ３２の詳細は、図２で説明する。
ビット線制御回路３４は、コラムデコーダを有している。ビット線制御回路３４は、内部アドレス信号ＩＡＤ（コラムアドレス信号）に応じてビット線ＢＬ（後述する図２に示すＢＬ０−ＢＬ６３の少なくともいずれか）を選択し、選択したビット線ＢＬをセンスアンプ／ラッチ２６に接続する。
【００２７】
センスアンプ／ラッチ３６は、選択されたビット線ＢＬを介して供給されるメモリセル電流をセル電圧に変換し、変換したセル電圧に応じてセンスアンプ出力信号ＳＡＯ１、ＳＡＯ２、ＳＡＯ３を出力する。
冗長メモリセルＲＭＣ、およびビット線制御回路３４とセンスアンプ／ラッチ３６との一部により、冗長回路が形成されている。冗長回路により、例えば、不良のメモリセルＭＣが救済される。冗長回路は、フラッシュメモリの製造工程（テスト工程）で設定され、あるいは製造されたフラッシュメモリの消去動作時に、冗長制御回路によって設定される。
【００２８】
データ判定回路２０は、読み出し動作時にセンスアンプ／ラッチ２８から出力されるセンスアンプ出力信号ＳＡＯ１、ＳＡＯ２、ＳＡＯ３に応じて、メモリセルＭＣの閾値電圧が変動しているか否かを判定し、判定結果を判定信号ＪＤＧ０、ＪＤＧ１として出力する。すなわち、データ判定回路２０は、読み出しデータにマージンがあるか否かを判定する。
【００２９】
データ補正回路２２は、読み出し動作時に、データ判定回路２０から出力される判定信号ＪＤＧ０、ＪＤＧ１が読み出しエラーを示すときに、エラー信号ＨＥＲＲ（第１補正信号）またはエラー信号ＬＥＲＲ（第２補正信号）のいずれかと、エラー信号ＣＥＲＲとを出力する。データ補正回路２２は、読み出し動作時に、セル情報記憶部２８から出力されるセル情報信号ＣＩＮＦに応答してエラー信号ＨＥＲＲ、ＬＥＲＲのいずれかを出力する。なお、判定信号ＪＤＧ０、ＪＤＧ１とセル情報信号ＣＩＮＦが競合したとき、セル情報信号ＣＩＮＦが優先される。また、データ補正回路２２は、論理”０”をメモリセルに書き込む書き込み動作時に、書き込み信号ＷＲＴをセル情報記憶部２８に出力する。
【００３０】
入出力回路２４は、入出力端子Ｉ／Ｏを介してコマンド信号ＣＭＤを入力し、あるいはデータ信号を入出力する。入出力回路２４は、読み出し動作において、高レベルのエラー信号ＨＥＲＲを受けたときに、センスアンプ／ラッチからの読み出しデータ（ＳＡＯ１信号）をマスクして、論理”１”（第１論理値）のデータ信号を入出力端子Ｉ／Ｏに強制的に出力する。また、入出力回路２４は、読み出し動作において、高レベルのエラー信号ＬＥＲＲを受けたときに、センスアンプ／ラッチからの読み出しデータ（ＳＡＯ１信号）をマスクして、論理”０”（第２論理値）のデータ信号を入出力端子Ｉ／Ｏに強制的に出力する。
【００３１】
セル情報記憶部２８は、読み出し動作において、エラー信号ＣＥＲＲに応答して、内部アドレス信号ＩＡＤをエラーアドレスＥＡＤＤとして記憶し、エラーアドレスＥＡＤＤに対応するメモリセルＭＣ（エラーメモリセル）が本来記憶するべき論理値に対応するセル情報（後述する図３に示すＨＦＬＧ、ＬＦＬＧ）を記憶する。ここで、エラーメモリセルとは、閾値電圧が所定以上変動したメモリセルである。セル情報記憶部２８は、読み出し動作において、アドレス端子に供給されるアドレス信号ＡＤをエラーアドレスＥＡＤＤとして記憶しているとき、そのアドレスのセル情報をセル情報信号ＣＩＮＦとして出力する。
【００３２】
また、セル情報記憶部２８は、消去動作が実行されるときに、フル信号ＦＵＬが低レベルの期間、エラーアドレスＥＡＤＤを冗長制御回路２６に順次転送し、転送できたエラーアドレスＥＡＤＤを消去する。
冗長制御回路２６は、消去動作が実行されるときに、セル情報記憶部２４から受信したエラーアドレスＥＡＤＤに対応するメモリセルＭＣを冗長メモリセルＲＭＣに置き換える。すなわち、エラーメモリセルが救済される。冗長制御回路２６は、冗長メモリセルが全て使用されているときに、フル信号ＦＵＬを出力する（低レベルから高レベルに変化）。
【００３３】
図２は、図１に示したメモリセルアレイ３２の詳細を示している。なお、メモリセルアレイ３２は、複数のセクタにより構成されている。図２は、１つのセクタを示している。冗長メモリセルＲＭＣは、メモリセルＭＣと同じであるため、図２ではその記載を省略している。
メモリセルアレイ２４は、マトリックス状に配置された電気的に書き換え可能な複数の不揮発性のメモリセルＭＣを有している。メモリセルＭＣは、フローティングゲートと、ワード線ＣＧ（ＣＧ０−ＣＧ５１１）に接続されたコントロールゲートを有するトランジスタ（メモリセルトランジスタ）で構成されている。各メモリセルＭＣは、ソースをソース線ＶＳに接続し、ドレインをビット線ＢＬ（ＢＬ０−ＢＬ６３）に接続している。１本のワード線ＣＧには、６４個のメモリセルＭＣが接続されている。
【００３４】
隣接する２本のビット線ＢＬは、それぞれ選択トランジスタを介してグローバルビット線ＧＢＬ（ＧＢＬ０−ＧＢＬ３１）に接続されている。選択トランジスタのゲートは、選択ゲート線ＳＧ１、ＳＧ２にそれぞれ接続されている。選択ゲート線ＳＧ１に高レベル電圧が供給されるときに、奇数の番号のビット線ＢＬ（ＢＬ１、ＢＬ３、．．．、ＢＬ６３）がグローバルビット線ＧＢＬ（ＧＢＬ０−ＧＢＬ３１）にそれぞれ接続される。選択ゲート線ＳＧ２に高レベル電圧が供給されるときに、偶数の番号のビット線ＢＬ（ＢＬ０、ＢＬ２、．．．、ＢＬ６２）がグローバルビット線ＧＢＬ（ＧＢＬ０−ＧＢＬ３１）にそれぞれ接続される。
【００３５】
上述したメモリセルアレイ３２では、メモリセルＭＣに論理”１”を設定する消去動作は、図２に示したセクタ単位またはチップ単位で実行される。消去動作において、ビット線ＢＬ０−ＢＬ６３は、フローティングにされ、ワード線ＣＧ０−５１１は−１０Ｖに設定され、ソース線ＶＳは５Ｖに設定される。メモリセルＭＣのフローティングゲートに蓄積された電子は、ソース線ＶＳに放出され、セクタ内の全てのメモリセルＭＣの閾値電圧は、低くなる。すなわち、メモリセルＭＣに記憶されているデータは、消去される（論理”１”）。
【００３６】
メモリセルＭＣに論理”０”を設定する書き込み動作では、アドレス信号ＡＤに応じて選択されるワード線ＣＧ、ビット線ＢＬ、および選択ゲート線ＳＧは、８Ｖ、５Ｖ、５Ｖにそれぞれ設定される。選択されないワード線ＣＧおよび選択ゲート線ＳＧは、０Ｖに設定され、ソース線ＶＳは０Ｖに設定される。選択されたワード線ＣＧおよび選択されたビット線ＢＬに接続されているメモリセルＭＣは、フローティングゲートに電子が注入され、閾値電圧は高くなる。すなわち、メモリセルＭＣに論理”０”が書き込まれる。
【００３７】
メモリセルＭＣからデータを読み出す読み出し動作では、アドレス信号ＡＤに応じて選択される選択ゲート線ＳＧは５Ｖに設定され、ビット線ＢＬは所定の電圧にプリチャージされる。この後、アドレス信号ＡＤに応じて選択されるワード線ＣＧおよびソース線ＶＳは、５Ｖおよび０Ｖにそれぞれ設定される。そして、センスアンプ／ラッチ２６が、選択されたメモリセルＭＣのソース・ドレイン間に流れるメモリセル電流を検出することで、論理”１”または論理”０”が読み出される。
【００３８】
より詳細には、メモリセルＭＣの閾値電圧が低い場合（消去状態＝論理”１”）、ビット線ＢＬがソース線ＶＳに接続されることで、ビット線ＢＬにメモリセル電流が流れる。メモリセルＭＣの閾値電圧が高い場合（書き込み状態、プログラム状態＝論理”０”）、ビット線ＢＬはソース線ＶＳに接続されないため、ビット線ＢＬにメモリセル電流は流れない。
【００３９】
図３は、図１の要部を示すブロック図である。図３に示したセンスアンプ／ラッチ３４および入出力回路２８は、１ビットのデータ信号（＝１ビットの入出力端子Ｉ／Ｏ）に対応する構成を示している。
センスアンプ／ラッチ３４は、３つの基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３、４つの電流電圧変換回路Ｃ／Ｃ０、Ｃ／Ｃ１、Ｃ／Ｃ２、Ｃ／Ｃ３、および３つのセンスアンプＳ／Ａ１、Ｓ／Ａ２、Ｓ／Ａ３を有している。なお、センスアンプ／ラッチ３６は、センスアンプＳ／Ａ１、Ｓ／Ａ２、Ｓ／Ａ３で増幅したデータをラッチするラッチ回路を有している。しかし、ラッチ回路は、発明の主要部でないため、図示および説明を省略する。
【００４０】
基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３は、メモリセルアレイ３２内のメモリセルＭＣと同様にフローティングゲートおよびコントロールゲートを有するトランジスタ（メモリセルトランジスタ）で構成されている。すなわち、基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３は、電気的に書き換え可能な不揮発性のメモリセルである。
基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３は、フラッシュメモリの製造工程において、フローティングゲートに所定量の電子がそれぞれ注入され、所定の閾値電圧に設定されている。フラッシュメモリが製造された後において、基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３の閾値電圧は、固定値であり変化しない。読み出し動作時に、基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３のコントロールゲートには、データを読み出すメモリセルＭＣのコントロールゲートに与えられる電圧と同じ電圧（＝５Ｖ）が与えられる。
【００４１】
電流電圧変換回路Ｃ／Ｃ０は、読み出し動作においてグローバルビット線ＧＢＬを介して供給されるメモリセル電流をセル電圧Ｖ０に変換する。電流電圧変換回路Ｃ／Ｃ１は、読み出し動作において基準メモリセルＲＭＣ１から基準ビット線ＲＢＬ１を介して供給される基準メモリセル電流を基準セル電圧ＶＲ１（第１基準電圧）に変換する。電流電圧変換回路Ｃ／Ｃ２は、読み出し動作において基準メモリセルＲＭＣ２から基準ビット線ＲＢＬ２を介して供給されるメモリセル電流を基準セル電圧ＶＲ２（第２基準電圧）に変換する。電流電圧変換回路Ｃ／Ｃ３は、読み出し動作において基準メモリセルＲＭＣ３から基準ビット線ＲＢＬ３を介して供給されるメモリセル電流を基準セル電圧ＶＲ３（第３基準電圧）に変換する。基準メモリセルＲＭＣ１、ＲＭＣ２、ＲＭＣ３の閾値電圧は変化しない。このため、電流電圧変換回路Ｃ／Ｃ０、Ｃ／Ｃ１、Ｃ／Ｃ２から出力される基準セル電圧ＶＲ１、ＶＲ２、ＶＲ３は、固定値である。
【００４２】
センスアンプＳ／Ａ１は、セル電圧Ｖ０を基準セル電圧ＶＲ１と比較し、比較結果に応じてセンスアンプ出力信号ＳＡＯ１（第１比較結果信号）を出力する。センスアンプＳ／Ａ２は、セル電圧Ｖ０を基準セル電圧ＶＲ２と比較し、比較結果に応じてセンスアンプ出力信号ＳＡＯ２（第２比較結果信号）を出力する。センスアンプＳ／Ａ３は、セル電圧Ｖ０を基準セル電圧ＶＲ３と比較し、比較結果に応じてセンスアンプ出力信号ＳＡＯ３（第３比較結果信号）を出力する。
【００４３】
入出力回路２６は、出力バッファＯＢＵＦ（データ出力回路）、出力ドライバＯＢＵＦＤＲ（データ出力回路）、入力バッファＩＢＵＦ、および入出力制御回路ＩＯＸを有している。
出力バッファＯＢＵＦは、エラー信号ＨＥＲＲまたはＬＥＲＲを受けたときに、メモリセルＭＣからの読み出しデータＲＯＵＴの出力を禁止（マスク）し、入出力端子Ｉ／Ｏに論理”１”または論理”０”を強制的に出力するために、出力ドライバＯＢＵＦＤＲを制御する制御信号を出力する。また、出力バッファＯＢＵＦは、エラー信号ＨＥＲＲまたはＬＥＲＲを受けないときに、メモリセルＭＣからの読み出しデータＲＯＵＴを出力するために、出力ドライバＯＢＵＦＤＲを制御する制御信号を出力する。
【００４４】
出力ドライバＯＢＵＦＤＲは、出力バッファＯＢＵＦからの制御信号に応じて、入出力端子Ｉ／Ｏに高レベル電圧（論理”１”）または低レベル電圧（論理”０”）を出力し、あるいは入出力端子Ｉ／Ｏを高インピーダンス状態にする。
入力バッファＩＢＵＦは、入出力端子Ｉ／Ｏを介してフラッシュメモリの外部から供給される書き込みデータを入出力制御回路ＩＯＸに出力する。入出力制御回路ＩＯＸは、読み出し動作時にセンスアンプ出力信号ＳＡＯ１を読み出しデータＲＯＵＴとして出力し、書き込み動作時に入力バッファＩＢＵＦからの書き込みデータを書き込み制御回路に出力する。
【００４５】
セル情報記憶部２８は、閾値電圧が所定値以上変化したメモリセルＭＣ（エラーメモリセル）を示すアドレスをエラーアドレスＥＡＤＤとして記憶する複数の領域と、エラーアドレスＥＡＤＤにそれぞれ対応して、エラーメモリセルに記憶されている論理値をセル情報ＨＦＬＧ、ＬＦＬＧとして記憶する複数の領域とを有している。エラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧ、ＬＦＬＧの記憶領域は、メモリセルＭＣと同じ構造を有する電気的に書き換え可能な不揮発性のメモリセルで構成されている。このため、一度書き込んだエラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧ、ＬＦＬＧは、フラッシュメモリに電源が供給されていなくても、記憶され続ける。また、エラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧ、ＬＦＬＧをメモリセルＭＣと同じメモリセルに記憶させるため、製造プロセスを変更する必要はない。このため、セル情報記憶部２４を形成することにより、製造コストが増加することはない。
【００４６】
図４および図５は、センスアンプ／ラッチ３６の詳細を示している。
図４において、電流電圧変換回路Ｃ／Ｃ０は、電源線ＶＣＣと接地線ＶＳＳとの間に直列に接続されたｐＭＯＳトランジスタＰＭ１、ｎＭＯＳトランジスタＮＭ１、ＮＭ２と、電源線ＶＣＣとグローバルビット線ＧＢＬとの間に直列に接続されたｐＭＯＳトランジスタＰＭ２、ｎＭＯＳトランジスタＮＭ３、ＮＭ４とを有している。ｐＭＯＳトランジスタＰＭ１、ＰＭ２のゲートは、パワーオン時に所定期間低レベルに変化するパワーオン信号／ＰＷＯＮの信号線に接続されている。ｐＭＯＳトランジスタＰＭ１、ＰＭ２は、パワーオン後に僅かにオンすることで負荷回路として動作する。ｎＭＯＳトランジスタＮＭ１のゲートは電源電圧ＶＣＣに接続されている。ｎＭＯＳトランジスタＮＭ３、ＮＭ４のゲートは、ｎＭＯＳトランジスタＮＭ１、ＮＭ２の接続ノードに接続されている。ｎＭＯＳトランジスタＮＭ２のゲートは、グローバルビット線ＧＢＬに接続されている。
【００４７】
電流電源変換回路Ｃ／Ｃ０は、グローバルビット線ＧＢＬの電圧がメモリセル電流に応じて低くなるときにセル電圧Ｖ０を高くし、グローバルビット線ＧＢＬの電圧がメモリセル電流に応じて高くなるときにセル電圧Ｖ０を低くする。すなわち、セル電圧Ｖ０は、図２に示したメモリセルＭＣの閾値電圧が低いときに（消去状態）、高くなり、メモリセルＭＣの閾値電圧が高いときに（プログラム状態）、低くなる。
【００４８】
電流電源変換回路Ｃ／Ｃ１は、電流電源変換回路Ｃ／Ｃ０と同じ回路である。電流電圧変換回路Ｃ／Ｃ１は、読み出し動作時に、メモリセルＭＣが消去状態にあるときのセル電圧Ｖ０とメモリセルＭＣがプログラム状態にあるときのセル電圧Ｖ０の中間の値を有する基準セル電圧ＶＲ１を生成する。なお、基準メモリセルＲＭＣ１のコントロールゲートには、読み出し動作時に、５Ｖの基準ワード電圧ＲＣＧが与えられる。
【００４９】
センスアンプＳ／Ａ１は、一般的な差動増幅回路と出力回路とを有している。センスアンプＳ／Ａ１は、基準セル電圧ＶＲ１より低いセル電圧Ｖ０を受けたときに、高レベルのセンスアンプ出力信号ＳＡＯ１を出力し、基準セル電圧ＶＲ１より高いセル電圧Ｖ０を受けたときに、低レベルのセンスアンプ出力信号ＳＡＯ１を出力する。
図５において、電流電圧変換回路Ｃ／Ｃ２、Ｃ／Ｃ３は、電流電圧変換回路Ｃ／Ｃ０と同じ回路である。センスアンプＳ／Ａ２、Ｓ／Ａ３は、センスアンプＳ／Ａ１と同じ回路である。
【００５０】
電流電圧変換回路Ｃ／Ｃ２は、読み出し動作時に、メモリセルＭＣが消去状態にあるときのセル電圧Ｖ０と基準セル電圧ＶＲ１とのほぼ中間の値を有する基準セル電圧ＶＲ２を生成する。電流電圧変換回路Ｃ／Ｃ３は、読み出し動作時に、メモリセルＭＣがプログラム状態にあるときのセル電圧Ｖ０と基準セル電圧ＶＲ１とのほぼ中間の値を有する基準セル電圧ＶＲ３を生成する。なお、基準メモリセルＲＭＣ２、ＲＭＣ３のコントロールゲートには、読み出し動作時に、５Ｖの基準ワード電圧ＲＣＧが与えられる。
【００５１】
センスアンプＳ／Ａ２は、基準セル電圧ＶＲ２より低いセル電圧Ｖ０を受けたときに、高レベルのセンスアンプ出力信号ＳＡＯ２を出力し、基準セル電圧ＶＲ２より高いセル電圧Ｖ０を受けたときに、低レベルのセンスアンプ出力信号ＳＡＯ２を出力する。センスアンプＳ／Ａ３は、基準セル電圧ＶＲ３より低いセル電圧Ｖ０を受けたときに、高レベルのセンスアンプ出力信号ＳＡＯ３を出力し、基準セル電圧ＶＲ３より高いセル電圧Ｖ０を受けたときに、低レベルのセンスアンプ出力信号ＳＡＯ３を出力する。
【００５２】
図６は、第１の実施形態におけるフラッシュメモリの動作の概要を示している。
図において、ＶＴ１は、消去状態（論理”１”）のメモリセルＭＣの閾値電圧である。ＶＴ１’は、基準メモリセルＲＭＣ２の閾値電圧である。ＶＴ１’は、ＶＴ１とＶＴＲの中央値から僅かにＶＴ１側に設定されている。ＶＴＲは、基準メモリセルＲＭＣ１の閾値電圧である。ＶＴＲは、ＶＴ１とＶＴ０の中央の値に設定されている。ＶＴ０’は、基準メモリセルＲＭＣ３の閾値電圧である。ＶＴ０’は、ＶＴＲとＶＴ０の中央値から僅かにＶＴ０側に設定されている。ＶＴ０は、消去状態（論理”０”）のメモリセルＭＣの閾値電圧である。
【００５３】
メモリセルＭＣの閾値電圧が、ＶＴ１’より高くＶＴＲより低い第１領域に含まれるとき、消去状態のメモリセルＭＣの閾値電圧がチャージゲインにより高くなったと判定される。すなわち、そのメモリセルＭＣは、データの補正が必要なエラーメモリセルと判定される。このとき、センスアンプ出力信号ＳＡＯ１、ＳＡＯ２は、それぞれ高レベル”Ｈ”および低レベル”Ｌ”に変化する。図３に示したデータ判定回路２０は、センスアンプ出力信号ＳＡＯ１、ＳＡＯ２に応答して高レベルの判定信号ＪＤＧ０および低レベルの判定信号ＪＤＧ１を出力する。図３に示したデータ補正回路２２は、セル情報信号ＣＩＮＦを受けていないとき、判定信号ＪＤＧ０、ＪＤＧ１に応答して高レベルのエラー信号ＨＥＲＲおよび低レベルのエラー信号ＬＥＲＲを出力する。なお、第１領域は、基準セル電圧がＶＲ２（第２基準電圧）より高くＶＴＲ（第１基準電圧）より低い領域にも対応している。第２領域は、基準セル電圧がＶＴＲ（第１基準電圧）より高くＶＲ３（第３基準電圧）より低い領域にも対応している。
【００５４】
メモリセルＭＣの閾値電圧が、ＶＴＲより高くＶＴ０’より低い第２領域に含まれるとき、プログラム状態のメモリセルＭＣの閾値電圧がチャージロスにより低くなったと判定される。すなわち、そのメモリセルＭＣは、データの補正が必要なエラーメモリセルと判定される。このとき、センスアンプ出力信号ＳＡＯ１、ＳＡＯ３は、それぞれ低レベル”Ｌ”および高レベル”Ｈ”に変化する。データ判定回路２０は、センスアンプ出力信号ＳＡＯ１、ＳＡＯ３に応答して低レベルの判定信号ＪＤＧ０および高レベルの判定信号ＪＤＧ１を出力する。データ補正回路２２は、セル情報信号ＣＩＮＦを受けていないとき、判定信号ＪＤＧ０、ＪＤＧ１に応答して低レベルのエラー信号ＨＥＲＲおよび高レベルのエラー信号ＬＥＲＲを出力する。
【００５５】
図３に示した入出力回路２４は、上述したように、高レベルのエラー信号ＨＥＲＲを受けたとき、メモリセルＭＣからの読み出しデータＲＯＵＴ（センスアンプＳ／Ａ１から出力されるセンスアンプ出力信号ＳＡＯ１）をマスクし、入出力端子Ｉ／Ｏに強制的に論理”１”（第１論理値）を出力する。入出力回路２４は、高レベルのエラー信号ＬＥＲＲを受けたとき、読み出しデータＲＯＵＴをマスクし、入出力端子Ｉ／Ｏに強制的に論理”０”（第２論理値）を出力する。
【００５６】
また、入出力回路２４は、エラー信号ＨＥＲＲ、ＬＥＲＲがともに低レベルのとき、メモリセルＭＣから読み出されるデータＲＯＵＴに応じて、入出力端子Ｉ／Ｏに論理”１”または論理”０”を出力する。すなわち、メモリセルＭＣの閾値電圧がＶＴ１’より低いとき、あるいはＶＴ０’より高いとき、メモリセルＭＣに記憶されているデータに応じて読み出しデータが入出力端子Ｉ／Ｏから外部に出力される。
【００５７】
なお、エラーメモリセルを示すアドレスが、図３に示したセル情報記憶部２８に記憶されていないとき、セル情報記憶部２８は、そのアドレスをエラーアドレスＥＡＤＤとして記憶する。セル情報記憶部２８は、読み出し動作においてアドレス端子に供給されるアドレス信号ＡＤをエラーアドレスＥＡＤＤとして記憶しているとき、セル情報ＨＦＬＧ、ＬＦＬＧをセル情報信号ＣＩＮＦとして出力する。データ補正回路２２は、セル情報信号ＣＩＮＦを受けたときに、データ判定回路２０からの判定信号ＪＤＧ０、ＪＤＧ１によらず、セル情報信号ＣＩＮＦに応じてエラー信号ＥＲＲＨ、ＥＲＲＬを出力する。入出力回路２４は、エラー信号ＥＲＲＨ、ＥＲＲＬに応じた論理を出力する。このように、セル情報記憶部２８に記憶されているエラーアドレスＥＡＤＤに対応するメモリセルＭＣが読み出されるときにも、入出力端子Ｉ／Ｏから論理”１”または論理”０”が強制的に出力される。なお、セル情報記憶部２８の機能は、後述する図７〜図９で詳細に説明する。
【００５８】
図７は、第１の実施形態における読み出し動作を示している。ここでは、セル情報記憶部２８にエラーアドレスＥＡＤＤとして記憶されていないアドレスＡＤ１に対応するメモリセルＭＣからデータが読み出される例について説明する。
まず、ステップＳ１１において、データ補正回路２２は、データ判定回路２０の判定結果に基づいて、メモリセルＭＣの閾値電圧ＶＴがＶＴ１’〜ＶＴ０’に含まれるか否かを判断する。閾値電圧ＶＴがＶＴ１’〜ＶＴ０’に含まれる場合、処理はステップＳ１２に移行する。閾値電圧ＶＴがＶＴ１’〜ＶＴ０’に含まれない場合、処理はステップＳ１３に移行する。
【００５９】
ステップＳ１３において、閾値電圧ＶＴは正常なため、入出力回路２４は、メモリセルＭＣから読み出されるデータを直接出力する。
ステップＳ１２において、セル情報記憶部２８は、データ補正回路２２からのセルエラー信号ＣＥＲＲに基づいて、閾値電圧ＶＴがＶＴ１’〜ＶＴＲに含まれるか否かを判断する。閾値電圧ＶＴがＶＴ１’〜ＶＴＲに含まれる場合、処理はステップＳ１４に移行する。閾値電圧ＶＴがＶＴ１’〜ＶＴＲに含まれない場合、閾値電圧ＶＴはＶＴＲ〜ＶＴ０’に含まれると判断され、処理はステップＳ１６に移行する。
【００６０】
ステップＳ１４において、セル情報記憶部２８は、アドレスＡＤ１をエラーアドレスＥＡＤＤとして記憶し、エラーアドレスＥＡＤＤに対応するセル情報ＨＦＬＧを”１”から”０”に書き換える。読み出し動作において、セル情報記憶部２８が、閾値電圧が高くなったメモリセルＭＣに対応するエラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧを記憶することで、その後の読み出し動作において、読み出しデータは、セル情報記憶部２８の情報に基づいて補正される。
【００６１】
この後、処理はステップＳ１５に移行する。
ステップＳ１５において、データ補正回路２２は、データ判定回路２０から出力される判定信号ＪＤＧ０、ＪＤＧ１に応じて、高レベルのエラー信号ＨＥＲＲを出力する。入出力回路２４は、エラー信号ＨＥＲＲに応じて論理”１”を強制的に入出力端子Ｉ／Ｏに出力する。すなわち、消去状態のメモリセルＭＣの閾値電圧が、フローティングゲートのチャージゲインによりＶＴ１’より高くなったときに、メモリセルＭＣに記憶されているデータに代わって強制的に論理”１”が出力される。
【００６２】
一方、ステップＳ１６において、セル情報記憶部２８は、アドレスＡＤ１をエラーアドレスＥＡＤＤとして記憶し、エラーアドレスＥＡＤＤに対応するセル情報ＬＦＬＧを”１”から”０”に書き換える。ステップＳ１４と同様に、読み出し動作において、セル情報記憶部２８が、閾値電圧が低くなったメモリセルＭＣに対応するエラーアドレスＥＡＤＤおよびセル情報ＬＦＬＧを記憶することで、その後の読み出し動作において、読み出しデータは、セル情報記憶部２８の情報に基づいて補正される。この後、処理はステップＳ１７に移行する。
【００６３】
ステップＳ１７において、データ補正回路２２は、データ判定回路２０から出力される判定信号ＪＤＧ０、ＪＤＧ１に応じて、高レベルのエラー信号ＬＥＲＲを出力する。入出力回路２４は、エラー信号ＬＥＲＲに応じて論理”０”を強制的に入出力端子Ｉ／Ｏに出力する。すなわち、プログラム状態のメモリセルＭＣの閾値電圧が、フローティングゲートのチャージロスによりＶＴ０’より低くなったときに、メモリセルＭＣに記憶されているデータに代わって強制的に論理”０”が出力される。
【００６４】
図８は、第１の実施形態における読み出し動作の別の例を示している。ここでは、セル情報記憶部２８にエラーアドレスＥＡＤＤとして記憶されているアドレスＡＤ２に対応するメモリセルＭＣからデータが読み出される例について説明する。
ステップＳ２１において、セル情報記憶部２８は、受信した内部アドレス信号ＩＡＤ（ＡＤ２）をエラーアドレスＥＡＤＤとして記憶しているか否かを判断する。アドレスＡＤ２がエラーアドレスＥＡＤＤの場合、処理はステップＳ２２に移行する。アドレスＡＤ２がエラーアドレスＥＡＤＤでない場合、処理は上述した図７のステップＳ１１に移行する。
【００６５】
ステップＳ２２において、セル情報記憶部２８は、アドレスＡＤ２に対応するセル情報ＨＦＬＧまたはセル情報ＬＦＬＧに応じて論理”１”または論理”０”を示すセル情報信号ＣＩＮＦを出力する。この際、セル情報記憶部２８は、セル情報ＨＦＬＧ、ＬＦＬＧがともに論理”０”のとき、チャージゲインにより論理”１”不良を有するメモリセルＭＣに論理”０”が書き込まれていると判断し、論理”０”を示すセル情報信号ＣＩＮＦを出力する。すなわち、チャージゲインによるエラーメモリセルに論理”０”が書き込まれたときに、その後の読み出し動作において、入出力端子Ｉ／Ｏに強制的に論理”０”が出力される。これは、チャージゲインにより閾値電圧が変動するメモリセルＭＣは、チャージロスによっても閾値電圧が変動する可能性があるためである。この後、処理はステップＳ２３に移行する。
【００６６】
ステップＳ２３において、データ補正回路２２は、セル情報信号ＣＩＮＦに応じてエラー信号ＨＥＲＲまたはＬＥＲＲを出力する。この後、処理はステップＳ２４に移行する。
ステップＳ２４において、入出力回路２４は、エラー信号ＨＥＲＲまたはＬＥＲＲに応じて論理”１”または論理”０”を強制的に入出力端子Ｉ／Ｏに出力する。そして、読み出し動作が完了する。このように、読み出しアドレスがエラーアドレスＥＡＤＤとしてセル情報記憶部２８に記憶されているとき、
図９は、第１の実施形態における書き込み動作を示している。ここでは、アドレスＡＤ１に対応するメモリセルＭＣにデータ（論理”０”）が書き込まれる例について説明する。
【００６７】
ステップＳ３１において、セル情報記憶部２８は、受信した内部アドレス信号ＩＡＤ（ＡＤ１）をエラーアドレスＥＡＤＤとして記憶しているか否かを判断する。アドレスＡＤ１がエラーアドレスＥＡＤＤの場合、処理はステップＳ３２に移行する。アドレスＡＤ１がエラーアドレスＥＡＤＤでない場合、処理はステップＳ３４に移行する。
ステップＳ３２において、セル情報記憶部２８は、エラーアドレスＥＡＤＤに対応するセル情報ＨＦＬＧが論理”０”か否かを判断する。セル情報ＨＦＬＧが論理”０”の場合、チャージゲインによるエラーメモリセルに対する書き込み動作が要求されたと判断され、処理はステップＳ３３に移行する。セル情報ＨＦＬＧが論理”０”でない場合、セル情報ＬＦＬＧに論理”０”が記憶されているため、処理は終了する。
【００６８】
ステップＳ３３において、セル情報記憶部２８は、エラーアドレスＥＡＤＤに対応するセル情報ＬＦＬＧに論理”０”を書き込む。この結果、チャージゲインによるエラーメモリセルに対する書き込み動作が要求された場合、セル情報ＨＦＬＧ、ＬＦＬＧは、ともに論理”０”になる。そして、処理は終了する。図８のステップＳ２２で説明したように、チャージゲインにより閾値電圧が変動するメモリセルＭＣは、チャージロスによっても閾値電圧が変動する可能性がある。このため、本ステップＳ３３において、チャージゲインによるエラーメモリセルに論理”０”が書き込まれたとき、強制的に論理”０”を出力するための処置をする。この結果、チャージロスによるデータ破壊を未然に防止できる。
【００６９】
ステップＳ３４において、アドレスＡＤ１に対応するメモリセルＭＣに論理”０”が書き込まれ、書き込み動作は終了する。
図１０は、第１の実施形態における消去動作を示している。
ステップＳ４１において、セル情報記憶部２８にエラーアドレスＥＡＤＤが記憶されているか否かが判断される。エラーアドレスＥＡＤＤが記憶されている場合、処理はステップＳ４２に移行する。エラーアドレスＥＡＤＤが記憶されていない場合、処理はステップＳ４６に移行する。
【００７０】
ステップＳ４２において、セル情報記憶部２８は、冗長制御回路２６にエラーアドレスＥＡＤＤを出力する。冗長制御回路２６は、冗長回路に空きがある場合、フル信号ＦＵＬを低レベルに保持し、冗長回路に空きがない場合、フル信号ＦＵＬを高レベルに変化させる。そして、冗長回路に空きがある場合、処理はステップＳ４３に移行する。冗長回路に空きがない場合、処理はステップＳ４５に移行する。
【００７１】
ステップＳ４３において、冗長制御回路２６は、エラーアドレスＥＡＤＤに対応するメモリセルＭＣ（エラーメモリセル）を冗長メモリセルＲＭＣに置き換える。すなわち、エラーアドレスＥＡＤＤに対する救済が実施される。エラーメモリセルを冗長メモリセルＲＭＣに置き換えることで、セル情報記憶部２８に記憶されるエラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧ、ＬＦＬＧを減らすことができ、セル情報記憶部２８の使用率を下げることができる。この後、処理はステップＳ４４に移行する。
【００７２】
ステップＳ４４において、セル情報記憶部２８は、救済されたエラーアドレスＥＡＤＤを消去し（＝論理”１”）、このエラーアドレスＥＡＤＤに対応するセル情報ＨＦＬＧ、ＬＦＬＧを消去（＝論理”１”）する。この後、処理はステップＳ４５に移行する。
ステップＳ４５において、ステップＳ４２〜Ｓ４４を繰り返し実行するために、処理していないエラーアドレスＥＡＤＤがあるか否かが判断される。全てのエラーアドレスＥＡＤＤが処理されている場合、処理は、ステップＳ４６に移行する。
【００７３】
ステップＳ４６において、フラッシュメモリは、メモリセルＭＣに記憶しているデータを論理”１”に変化させる消去動作を実行する。冗長回路に空きがなく、セル情報記憶部２８の全てのエラーアドレスＥＡＤＤに対応するエラーメモリセルを冗長メモリセルＲＭＣに置き換えできなかった場合、消去動作のおいて、論理”０”が書き込まれているセル情報ＨＦＬＧおよびそのセル情報ＨＦＬＧに対応するエラーアドレスＥＡＤＤは、消去されない。このため、消去動作後の読み出し動作において、フラッシュメモリは、冗長メモリセルＲＭＣに置き換えられないエラーメモリセルからの読み出しデータを、セル情報ＨＦＬＧに応じて補正できる。なお、論理”０”が書き込まれているセル情報ＬＦＬＧおよびそのセル情報ＬＦＬＧに対応するエラーアドレスＥＡＤＤは、消去される（全て、論理”１”に設定される）。
【００７４】
以上、本実施形態では、メモリセルＭＣの閾値電圧がずれた時点で、そのメモリセルから読み出されるデータをマスクし、強制的に論理”１”または論理”０”を出力することで、読み出しデータをリアルタイムで補正できる。このため、メモリセルＭＣの閾値電圧の変動によるデータ破壊を未然に防止できる。
閾値電圧が変動したメモリセルＭＣにデータを再書き込みしないため、読み出しサイクル期間内に読み出しデータを補正できる。したがって、フラッシュメモリを搭載するシステムは、データの補正を認識する必要がなく、読み出し動作時のデータ転送レートが、データの補正により低下することはない。
【００７５】
読み出し動作において、エラーメモリセルが検出されたときに、セル情報記憶部２８にそのエラーアドレスＥＡＤＤおよびセル情報ＨＦＬＧ、ＬＦＬＧを記憶するので、次の読み出し動作からセル情報ＨＦＬＧ、ＬＦＬＧに応じて読み出しデータを補正できる。この結果、誤ったデータが読み出されることを確実に防止できる。
セル情報記憶部２８を構成する不揮発性のメモリセルを、メモリセルＭＣと同じ製造プロセスを使用して形成するため、フラッシュメモリの製造プロセスを変更することなく、本発明を適用できる。この結果、製造コストの増加を防止できる。
【００７６】
チャージゲインによって不良になるメモリセルＭＣに論理”０”が書き込まれるとき、セル情報ＬＦＬＧに論理”０”を書き込むことで、チャージロスによるメモリセルＭＣの読み出し不良を予め防止できる。
消去動作時に、エラーメモリセルを冗長メモリセルＲＭＣに置き換えることで、セル情報記憶部２８の使用率を下げることができる。このため、エラーメモリセルの許容数を増加できる。
【００７７】
消去動作時に、エラーメモリセルを冗長メモリセルＲＭＣに置き換えできないときに、論理”０”が記憶されているセル情報ＨＦＬＧに対応するエラーアドレスＥＡＤＤの消去を禁止することで、冗長メモリセルＲＭＣに空きがないときにも、セル情報ＨＦＬＧに応じて読み出しデータを確実に補正できる。
データ補正回路２２は、データ判定回路２０の判定結果またはセル情報記憶部２８に記憶された情報に応じて、エラー信号ＨＥＲＲ、ＬＥＲＲを出力する。入出力回路２４は、エラー信号ＨＥＲＲ、ＬＥＲＲを受けたときに、メモリセルＭＣからの読み出しデータの出力を禁止し、論理”１”または論理”０”を強制的に出力する。このため、簡易な論理回路によりデータ補正回路２２および入出力回路２４を構成できる。
【００７８】
図１１は、本発明の不揮発性半導体メモリの第２の実施形態を示している。この実施形態は、請求項１〜請求項３、請求項５、請求項６、および請求項９に対応している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
この実施形態では、第１の実施形態のデータ補正回路２２およびセル情報記憶部２８の代わりにデータ補正回路２２Ａおよびセル情報記憶部２８Ａが形成されている。その他の構成は、第１の実施形態と同じである。
【００７９】
図１２は、第２の実施形態における書き込み動作を示している。ここでは、アドレスＡＤ１に対応するメモリセルＭＣにデータ（論理”０”）が書き込まれる例について説明する。
ステップＳ５１において、セル情報記憶部２８Ａは、受信した内部アドレス信号ＩＡＤ（ＡＤ１）をエラーアドレスＥＡＤＤとして記憶しているか否かを判断する。アドレスＡＤ１がエラーアドレスＥＡＤＤの場合、処理はステップＳ５２に移行する。アドレスＡＤ１がエラーアドレスＥＡＤＤでない場合、処理はステップＳ５４に移行する。
【００８０】
ステップＳ５２において、セル情報記憶部２８Ａは、エラーアドレスＥＡＤＤに対応するセル情報ＨＦＬＧが論理”０”か否かを判断する。セル情報ＨＦＬＧが論理”０”の場合、チャージゲインによるエラーメモリセルに対する書き込み動作が要求されたと判断され、処理はステップＳ５３に移行する。セル情報ＨＦＬＧが論理”０”でない場合、セル情報ＬＦＬＧに論理”０”が既に記憶されているため、処理は終了する。
【００８１】
ステップＳ５３において、セル情報記憶部２８Ａは、エラーアドレスＥＡＤＤに対応するセル情報ＬＦＬＧに論理”０”を書き込む。この結果、チャージゲインによるエラーメモリセルに対する書き込み動作が要求された場合、セル情報ＨＦＬＧ、ＬＦＬＧは、ともに論理”０”になる。この後、処理はステップＳ５４に移行する。
ステップＳ３４において、アドレスＡＤ１に対応するメモリセルＭＣに論理”０”が書き込まれ、書き込み動作は終了する。
【００８２】
図１３は、第２の実施形態における読み出し動作を示している。ここでは、セル情報記憶部２８ＡにエラーアドレスＥＡＤＤとして記憶されているアドレスＡＤ１に対応するメモリセルＭＣからデータが読み出される例について説明する。
ステップＳ６１において、セル情報記憶部２８Ａは、受信した内部アドレス信号ＩＡＤ（ＡＤ２）をエラーアドレスＥＡＤＤとして記憶しているか否かを判断する。アドレスＡＤ２がエラーアドレスＥＡＤＤの場合、処理はステップＳ６２に移行する。アドレスＡＤ２がエラーアドレスＥＡＤＤでない場合、処理は第１の実施形態における図７のステップＳ１１に移行する。
【００８３】
ステップＳ６２において、セル情報記憶部２８Ａは、アドレスＡＤ２に対応するセル情報ＨＦＬＧまたはＬＦＬＧに応じて論理”１”または論理”０”を示すセル情報信号ＣＩＮＦを出力する。この際、セル情報記憶部２８Ａは、セル情報ＨＦＬＧ、ＬＦＬＧがともに論理”０”のとき、チャージゲインにより論理”１”不良を有するメモリセルＭＣに論理”０”が書き込まれたと判断し、セル情報信号ＣＩＮＦを出力しない。すなわち、チャージゲインによるエラーメモリセルに論理”０”が書き込まれたときに、セル情報ＨＦＬＧ、ＬＦＬＧはマスクされ、その後の読み出し動作において、メモリセルＭＣから読み出されたデータが入出力端子Ｉ／Ｏに直接出力される。この実施形態は、チャージゲインにより閾値電圧が変動するメモリセルＭＣが、チャージロスを起こさないことが明らかな場合に有効である。この後、処理はステップＳ６３に移行する。
【００８４】
ステップＳ６３において、データ補正回路２２は、セル情報信号ＣＩＮＦに応じてエラー信号ＨＥＲＲ、ＬＥＲＲを所定のレベルにする。この後、処理はステップＳ６４に移行する。
ステップＳ２４において、入出力回路２４は、エラー信号ＨＥＲＲが高レベルのときに論理”１”を強制的に入出力端子Ｉ／Ｏに出力し、エラー信号ＬＥＲＲが高レベルのときに論理”０”を強制的に入出力端子Ｉ／Ｏに出力し、エラー信号ＨＥＲＲ、ＬＥＲＲがともに低レベルのときにメモリセルＭＣから読み出されたデータを入出力端子Ｉ／Ｏに出力する。そして、読み出し動作が完了する。
【００８５】
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、チャージゲインとチャージロスに相関関係がない場合、チャージゲインによるエラーメモリセルに論理”０”が書き込まれるとき、セル情報ＨＦＬＧ、ＬＦＬＧはマスクされることで、その後の読み出し動作において、セル情報ＨＦＬＧ、ＬＦＬＧによらず、メモリセルＭＣから読み出されるデータを、入出力端子Ｉ／Ｏに直接出力できる。
【００８６】
図１４は、本発明の不揮発性半導体メモリの第３の実施形態を示している。この実施形態は、請求項１〜請求項３、請求項６、請求項８、および請求項９に対応している。第１の実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
この実施形態では、第１の実施形態のデータ補正回路２２およびセル情報記憶部２８の代わりにデータ補正回路２２Ｂおよびセル情報記憶部２８Ｂが形成されている。その他の構成は、第１の実施形態と同じである。
【００８７】
図１５は、第３の実施形態における消去動作を示している。ステップＳ７１〜Ｓ７５は、第１の実施形態（図１０）のステップＳ４１〜Ｓ４５と同じであるため、説明を省略する。なお、読み出し動作は、第１の実施形態と同じである。
ステップＳ７６において、フラッシュメモリは、消去動作を実行する。消去動作により、全てのメモリセルＭＣのデータは論理”１”に変化する。また、消去動作の際に、論理”０”が書き込まれているセル情報ＬＦＬＧは、消去され、論理”１”に設定される。この際、セル情報ＬＦＬＧに対応するエラーアドレスＥＡＤＤは、消去されず残される。また、論理”０”が書き込まれているセル情報ＨＦＬＧおよびそのセル情報ＨＦＬＧに対応するエラーアドレスＥＡＤＤは、消去されない。
【００８８】
図１６は、第３の実施形態における書き込み動作を示している。ここでは、アドレスＡＤ１に対応するメモリセルＭＣにデータ（論理”０”）が書き込まれる例について説明する。ステップＳ８１〜Ｓ８３、Ｓ８６は、第１の実施形態（図９）のステップＳ３１〜Ｓ３４と同じであるため、詳細な説明は省略する。
ステップＳ８２において、セル情報ＨＦＬＧが論理”０”の場合、処理はステップＳ８３に移行する。セル情報ＨＦＬＧが論理”０”でない場合、セル情報ＨＦＬＧに論理”１”が記憶され、セル情報ＬＦＬＧに論理”１”または論理”０”が記憶されている。このとき、処理はステップＳ８４に移行する。
【００８９】
ステップＳ８４において、セル情報記憶部２８Ｂは、エラーアドレスＥＡＤＤに対応するセル情報ＬＦＬＧが論理”０”か否かを判断する。セル情報ＬＦＬＧが論理”０”の場合、チャージロスによるエラーメモリセルに対する書き込み動作が要求されたと判断され、処理は終了する。セル情報ＬＦＬＧが論理”０”でない場合、セル情報ＬＦＬＧ、ＨＦＬＧはともに論理”１”である。この状態は、図１５に示した消去動作のステップＳ７６により、チャージロスによるエラーメモリセルに対して消去動作が実行されたときに発生する。この場合、処理はステップＳ８５に移行する。
【００９０】
ステップＳ８５において、セル情報記憶部２８Ｂは、エラーアドレスＥＡＤＤに対応するセル情報ＬＦＬＧに論理”０”を書き込む。この結果、消去動作前にチャージロスによるエラーメモリセルであったメモリセルＭＣは、再び、チャージロスによるエラーメモリセルとして認識される。そして、書き込み動作は終了する。
この実施形態においても、上述した第１の実施形態と同様の効果を得ることができる。さらに、この実施形態では、消去動作時に、論理”０”が書き込まれているセル情報ＬＦＬＧに対応するエラーアドレスＥＡＤＤを消去せずに残しておくことで、新たなデータ（論理”０”）が書き込まれるときに、エラーアドレスＥＡＤＤに基づいてセル情報ＬＦＬＧを論理”０”に容易に書き換えられる。このため、その後の読み出し動作において、データ判定回路２０の判定を待つことなく、常に正しいデータを出力できる。
【００９１】
なお、上述した実施形態では、本発明をＮＯＲ型フラッシュメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、ＮＡＮＤ形フラッシュメモリに適用してもよい。
上述した実施形態では、本発明をフローティングゲートを有するメモリセルで構成されるフラッシュメモリに適用した例について述べた。本発明はかかる実施形態に限定されるものではない。例えば、本発明を、トラップゲートを有するフラッシュメモリに適用してもよい。
【００９２】
以上の実施形態において説明した発明を整理して、付記として開示する。
（付記１）  電気的に書き換え可能な複数の不揮発性のメモリセルを含むメモリセルアレイと、
前記メモリセルに接続されたビット線と、
前記各メモリセルからデータを読み出すときに、前記各メモリセルの閾値電圧に対応して前記ビット線に流れるメモリセル電流をセル電圧に変換する電流電圧変換回路と、
読み出し動作において、前記セル電圧が、第１基準電圧とこの第１基準電圧より低い前記第２基準電圧との間の第１領域に含まれること、および前記セル電圧が、前記第１基準電圧とこの第１基準電圧より高い前記第３基準電圧の間の第２領域に含まれることを判定するデータ判定回路と、
前記メモリセルのうち前記セル電圧が前記第１または第２領域に含まれるエラーメモリセルを示すアドレスをエラーアドレスとして記憶するとともに、前記エラーメモリセルの前記セル電圧が前記第１または第２領域のいずれに含まれるかを示すセル情報を記憶するセル情報記憶部と、
前記エラーアドレスに対する読み出し動作において、前記エラーメモリセルから読み出されるデータをマスクし、前記セル情報記憶部に記憶された前記セル情報に応じて、前記第２基準電圧に対応する第１論理値または前記第３基準電圧に対応する第２論理値を外部端子に出力するためのデータ補正回路とを備えていることを特徴とする不揮発性半導体メモリ。
【００９３】
（付記２）  付記１記載の不揮発性半導体メモリにおいて、
前記データ補正回路は、前記読み出し動作において検出される前記エラーメモリセルを示す読み出しアドレスが、前記セル情報記憶部に前記エラーアドレスとして記憶されていないときに、前記読み出しアドレスおよび前記エラーメモリセルが記憶している論理値を前記エラーアドレスおよび前記セル情報として前記セル情報記憶部に書き込むことを特徴とする不揮発性半導体メモリ。
【００９４】
（付記３）  付記１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、電気的に書き換え可能な複数の不揮発性のメモリセルで構成されていることを特徴とする不揮発性半導体メモリ。
（付記４）  付記３記載の不揮発性半導体メモリにおいて、
前記メモリセルは、フローティングゲートと、ワード線に接続されたコントロールゲートとを備えていることを特徴とする不揮発性半導体メモリ。
【００９５】
（付記５）  付記３記載の不揮発性半導体メモリにおいて、
前記メモリセルアレイの前記メモリセルと、前記セル情報記憶部の前記メモリセルとは、同じ構造であることを特徴とする不揮発性半導体メモリ。
（付記６）  付記１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、前記メモリセルにデータを書き込む書き込み動作において、前記セル情報記憶部に記憶している前記セル情報に対応する論理値と逆の論理値が、前記エラーメモリセルに書き込まれるときに、前記逆の論理値を出力するために前記セル情報を書き換えることを特徴とする不揮発性半導体メモリ。
【００９６】
（付記７）  付記１記載の不揮発性半導体メモリにおいて、
前記セル情報記憶部は、前記メモリセルにデータを書き込む書き込み動作において、前記セル情報記憶部に記憶されている前記セル情報に対応する論理値と逆の論理値が、前記エラーメモリセルに書き込まれるときに、前記セル情報をマスクし、
前記データ補正回路は、その後、前記エラーアドレスに対する読み出し動作において、前記セル情報記憶部に記憶された前記セル情報がマスクされているときに、前記セル情報によらず、前記エラーメモリセルから読み出されるデータを前記外部端子に出力することを特徴とする不揮発性半導体メモリ。
【００９７】
（付記８）  付記１記載の不揮発性半導体メモリにおいて、
前記不揮発性半導体メモリの不良を救済するための不揮発性の冗長メモリセルと、
前記メモリセルのデータを消去する消去動作において、前記エラーメモリセルを前記冗長メモリセルに置き換え、前記セル情報記憶部に記憶されている前記エラーアドレスおよび前記セル情報を消去する冗長制御回路とを備えていることを特徴とする不揮発性半導体メモリ。
【００９８】
（付記９）  付記８記載の不揮発性半導体メモリにおいて、
前記冗長制御回路は、前記冗長メモリセルが使用されており前記エラーメモリセルを前記冗長メモリセルに置き換えできないとき、前記消去動作において、消去を示す論理値に対応する前記セル情報およびこのセル情報に対応する前記エラーアドレスの消去を禁止することを特徴とする不揮発性半導体メモリ。
【００９９】
（付記１０）  付記８記載の不揮発性半導体メモリにおいて、
前記冗長制御回路は、前記冗長メモリセルの使用により前記エラーメモリセルを前記冗長メモリセルに置き換えできず、かつ消去を示す論理値と逆の論理値の前記セル情報が前記セル情報記憶部に記憶されているときに、消去動作において、前記エラーアドレスを消去せずに前記セル情報のみを消去し、
前記データ補正回路は、消去後の書き込み動作において、前記エラーメモリセルに逆の論理値が書き込まれるときに、前記逆の論理に対応する前記セル情報を書き込むことを特徴とする不揮発性半導体メモリ。
【０１００】
（付記１１）  付記１記載の不揮発性半導体メモリにおいて、
前記メモリセルから読み出されるデータを出力するデータ出力回路を備え、
前記データ補正回路は、前記セル電圧が、前記第１領域に含まれるときに第１補正信号を出力し、前記第２領域に含まれるときに第２補正信号を前記データ出力回路に出力し、
前記データ出力回路は、第１または第２補正信号を受けたとき、前記メモリセルからのデータの出力を禁止し、前記第１または第２論理値を強制的に出力することを特徴とする不揮発性半導体メモリ。
【０１０１】
（付記１２）  付記１記載の不揮発性半導体メモリにおいて、
第１基準電圧を生成する第１電圧生成回路と、
第２基準電圧を生成する第２電圧生成回路と、
第３基準電圧を生成する第３電圧生成回路とを備えていることを特徴とする不揮発性半導体メモリ。
【０１０２】
（付記１３）  付記１２記載の不揮発性半導体メモリにおいて、
前記第１電圧生成回路は、製造工程において予め所定の閾値電圧に設定された不揮発性の第１基準メモリセルと、前記第１基準メモリセルから読み出される第１基準メモリセル電流を前記第１基準電圧に変換する第１電流電圧変換回路とを備え、
前記第２電圧生成回路は、製造工程において予め所定の閾値電圧に設定された不揮発性の第２基準メモリセルと、前記第２基準メモリセルから読み出される第２基準メモリセル電流を前記第２基準電圧に変換する第２電流電圧変換回路とを備え、
前記第３電圧生成回路は、製造工程において予め所定の閾値電圧に設定された不揮発性の第３基準メモリセルと、前記第３基準メモリセルから読み出される第３基準メモリセル電流を前記第３基準電圧に変換する第３電流電圧変換回路とを備えていることを特徴とする不揮発性半導体メモリ。
【０１０３】
（付記１４）  付記１３記載の不揮発性半導体メモリにおいて、
前記各第１、第２および第３基準メモリセルは、フローティングゲートと、ワード線に接続されたコントロールゲートとを備えていることを特徴とする不揮発性半導体メモリ。
（付記１５）  付記１記載の不揮発性半導体メモリにおいて、
前記セル電圧を前記第１、第２および第３基準電圧とそれぞれ比較し、比較結果を第１、第２および第３比較結果信号としてそれぞれ出力するする第１、第２および第３センスアンプを備え、
前記データ判定回路は、前記第１、第２および第３比較結果信号に応じて、前記セル電圧が含まれる領域を判定することを特徴とする不揮発性半導体メモリ。
【０１０４】
（付記１６）  付記１記載の不揮発性半導体メモリにおいて、
前記メモリセルは、フローティングゲートと、ワード線に接続されたコントロールゲートとを備えていることを特徴とする不揮発性半導体メモリ。
（付記１７）  付記１記載の不揮発性半導体メモリにおいて、
前記メモリセルアレイは、前記メモリセルが直列に接続されたＮＡＮＤ型であることを特徴とする不揮発性半導体メモリ。
【０１０５】
（付記１８）  付記１記載の不揮発性半導体メモリにおいて、
前記メモリセルアレイは、複数のセクタで構成され、
前記メモリセルに書き込まれたデータを消去する消去動作は、一括でセクタ単位で実行されることを特徴とする不揮発性半導体メモリ。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【０１０６】
【発明の効果】
請求項１の不揮発性半導体メモリでは、メモリセルの閾値電圧がずれた時点で、読み出しデータをリアルタイムで補正でき、閾値電圧の変動により誤ったデータが読み出されることを防止できる。すなわち、メモリセルに記憶されているデータの破壊を防止できる。
閾値電圧が変動したメモリセルにデータを再書き込みする必要はないため、読み出し動作時のデータ転送レートが、データの補正により低下することはない。
【０１０７】
請求項２の不揮発性半導体メモリでは、メモリセルの閾値電圧の変動を検出した次の読み出し動作からセル情報に応じて読み出しデータを補正できるため、誤ったデータが読み出されることを確実に防止できる。
請求項３の不揮発性半導体メモリでは、セル情報記憶部は、半導体メモリに電源が供給されない状態でもエラーアドレスおよびセル情報を失うことなく記憶できる。セル情報記憶部をメモリセルと同じ製造プロセスを使用して形成を形成することで、製造コストの増加を防止できる。
【０１０８】
請求項４の不揮発性半導体メモリでは、セル情報記憶部に記憶されたセル情報に対応するデータと逆のデータがエラーメモリセルに書き込まれるときに、逆データに対応するセル情報をセル情報記憶部に書き込むことで、逆データに対するデータ破壊を未然に防止できる。
請求項５の不揮発性半導体メモリでは、セル情報記憶部に記憶されたセル情報に対応するデータと逆のデータが、エラーメモリセルに書き込まれるときに、セル情報をマスクし、その後の読み出し動作において、メモリセルから読み出されるデータを外部端子に出力することで、逆データに書き換えられたメモリセルから読み出されるデータを、補正されることなく外部端子に直接出力できる。
【０１０９】
請求項６の不揮発性半導体メモリでは、エラーメモリセルを、使用されていない冗長メモリセルに置き換えることで、セル情報記憶部の使用率を下げることができる。この結果、エラーメモリセルの許容数を増加できる。
請求項７の不揮発性半導体メモリでは、エラーメモリセルを置き換えるための冗長メモリセルがないときにも、セル情報に応じて読み出しデータを確実に補正できる。
【０１１０】
請求項８の不揮発性半導体メモリでは、冗長制御回路は、冗長メモリセルが使用されているためエラーメモリセルを冗長メモリセルに置き換えできず、かつ消去を示す論理と逆論理のセル情報がセル情報記憶部に記憶されているときに、消去動作において、エラーアドレスを消去せずにセル情報のみを消去する。データ補正回路は、消去後の書き込み動作において、エラーメモリセルに消去を示す論理と逆論理のデータが書き込まれるときに、この逆論理に対応するセル情報を書き込む。エラーメモリセルについて、消去動作時にエラーアドレスを消去せずに残しておくことで、新たなデータが書き込まれるときにデータ判定回路の判定を待つことなく、常に正しいデータを出力できる。
【０１１１】
請求項９の不揮発性半導体メモリでは、簡易な論理回路により第１または第２論理値を強制的に出力でき、メモリセルから読み出されるデータを補正できる。
【図面の簡単な説明】
【図１】本発明の不揮発性半導体メモリの第１の実施形態を示すブロック図である。
【図２】図１に示したメモリセルアレイの詳細を示す回路図である。
【図３】図１の要部の詳細を示すブロック図である。
【図４】図３に示したセンスアンプ／ラッチの詳細を示す回路図である。
【図５】図３に示したセンスアンプ／ラッチの詳細を示す回路図である。
【図６】第１の実施形態における動作の概要を示す説明図である。
【図７】第１の実施形態における読み出し動作を示すフローチャートである。
【図８】第１の実施形態における読み出し動作の別の例を示すフローチャートである。
【図９】第１の実施形態における書き込み動作を示すフローチャートである。
【図１０】第１の実施形態における消去動作を示すフローチャートである。
【図１１】本発明の不揮発性半導体メモリの第２の実施形態を示すブロック図である。
【図１２】第２の実施形態における書き込み動作を示すフローチャートである。
【図１３】第１の実施形態における読み出し動作を示すフローチャートである。
【図１４】本発明の不揮発性半導体メモリの第３の実施形態の要部を示すブロック図である。
【図１５】第３の実施形態における消去動作を示すフローチャートである。
【図１６】第３の実施形態における書き込み動作を示すフローチャートである。
【符号の説明】
１０  昇圧回路
１２  動作制御回路
１４  コマンドレジスタ
１６  アドレスラッチ
１８  メモリコア
２０  データ判定回路
２２、２２Ａ、２２Ｂ  データ補正回路
２４  入出力回路
２６  冗長制御回路
２８、２８Ａ、２８Ｂ  セル情報記憶部
３０  ワード線制御回路
３２  メモリセルアレイ
３４  ビット線制御回路
３６  センスアンプ／ラッチ
ＡＤ  アドレス信号
ＢＬ（ＢＬ０−ＢＬ６３）  ビット線
Ｃ／Ｃ０、Ｃ／Ｃ１、Ｃ／Ｃ２、Ｃ／Ｃ３  電流電圧変換回路
ＣＥＲＲ  エラー信号
ＣＧ（ＣＧ０−ＣＧ５１１）  ワード線
ＣＩＮＦ  セル情報信号
ＣＭＤ    コマンド信号
ＣＮＴ    制御信号
ＥＡＤＤ  エラーアドレス
ＨＥＲＲ、ＬＥＲＲ  エラー信号
ＦＵＬ    フル信号
ＧＢＬ（ＧＢＬ０−ＧＢＬ３１）  グローバルビット線
ＨＦＬＧ  セル情報
ＩＡＤ    内部アドレス信号
ＩＢＵＦ  入力バッファ
Ｉ／Ｏ    入出力端子
ＩＯＸ    入出力制御回路
ＪＤＧ０、ＪＤＧ１  判定信号
ＬＦＬＧ  セル情報
ＭＣ  メモリセル
ＯＢＵＦ  出力バッファ
ＯＢＵＦＤＲ  出力ドライバ
ＲＢＬ１、ＲＢＬ２、ＲＢＬ３  基準ビット線
ＲＭＣ１、ＲＭＣ２、ＲＭＣ３  基準メモリセル
ＲＯＵＴ  読み出しデータ
Ｓ／Ａ１、Ｓ／Ａ２、Ｓ／Ａ３  センスアンプ
ＳＡＯ１、ＳＡＯ２、ＳＡＯ３  センスアンプ出力信号
ＳＧ１、ＳＧ２    選択ゲート線
Ｖ０、ＶＲ１、ＶＲ２、ＶＲ３    セル電圧
ＶＰＰ    高電圧
ＶＳ  ソース線
ＷＲＴ    書き込み信号
【図１】
2004171619.tif 000003
【図２】
2004171619.tif 000004
【図３】
2004171619.tif 000005
【図４】
2004171619.tif 000006
【図５】
2004171619.tif 000007
【図６】
2004171619.tif 000008
【図７】
2004171619.tif 000009
【図８】
2004171619.tif 000010
【図９】
2004171619.tif 000011
【図１０】
2004171619.tif 000012
【図１１】
2004171619.tif 000013
【図１２】
2004171619.tif 000014
【図１３】
2004171619.tif 000015
【図１４】
2004171619.tif 000016
【図１５】
2004171619.tif 000017
【図１６】
2004171619.tif 000018