(57)【要約】【課題】チップ面積の増加を最小限に抑制しつつ消去／書込動作を十分小さな分割単位で実現するとともに、消去時間を短縮することのできる不揮発性メモリを提供する。【解決手段】メモリセルのしきい値電圧分布状態として、物理的消去状態および論理的消去状態の２つを設ける。論理的消去状態は、メモリセルのしきい値電圧判定基準が、物理的消去状態よりも高い状態にシフトされる。物理的消去状態のメモリセルのデータ書換を行なう場合、論理的消去を行ない、そのしきい値電圧判定基準を高い電圧レベルにシフトする。論理的消去は、単にしきい値電圧判定基準の電圧レベルをシフトさせるだけであり、メモリセルの蓄積電荷は移動しないため、高速でかつ短時間に消去を行なうことができる。【選択図】図５
2009252255.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリセルを有するメモリセルアレイを備え、前記メモリセルアレイは、複数の第１の消去単位で分割され、前記複数の第１の消去単位は、各々、複数の第２の消去単位を含み、
消去または書込指示に従って、前記メモリセルアレイの選択メモリセルの消去動作および書込動作を実行する制御回路を備え、前記制御回路は、前記第１の消去単位で消去を行なう第１の消去制御部と、前記第２の消去単位で消去を行なう第２の消去制御部とを含み、前記第２の消去制御部は、消去時の対象メモリセルへの印加電圧が前記第１の消去制御部による消去時よりも絶対値が小さくまた消去に要する時間も短い、不揮発性半導体記憶装置。
【請求項２】
前記第２の消去制御部は、選択メモリセルを含む第２の消去単位が、前記第１の消去制御部により消去および書込をされている状態のとき、前記選択メモリセルを含む第２の消去単位を消去する、請求項１記載の不揮発性半導体記憶装置。
【請求項３】
前記第１の消去制御部は、第１の消去単位に含まれる第２の消去単位がすべて前記第２の消去制御部の制御のもとに一旦消去されているときには、対応の第１の消去単位の消去を実行する、請求項１記載の不揮発性半導体記憶装置。
【請求項４】
前記メモリセルアレイのメモリセルは、ウェル領域上に行列状に配列され、
前記第１の消去単位は、ウェル単位であり、
前記第２の消去単位は、メモリセル行に対応して配置されるワード線である、請求項１記載の不揮発性半導体記憶装置。
【請求項５】
前記メモリセルアレイは、各々が複数のメモリセル行を含むセクタを各々が有する複数のブロックに分割され、
前記第１の消去単位は前記ブロックであり、前記第２の消去単位は前記セクタである、請求項１記載の不揮発性半導体記憶装置。
【請求項６】
前記制御回路は、選択メモリセルを含む第２の消去単位が前記第２の消去制御部により消去されてデータ書込が行なわれた状態のとき、前記メモリセルアレイの未書込状態の第２の消去単位に対して書込を実行する書込制御部をさらに備え、前記書込制御部は、前記第１または第２の消去制御部により消去された第２の消去単位へデータを書込む、請求項１記載の不揮発性半導体記憶装置。
【請求項７】
各前記メモリセルは、電荷蓄積層の蓄積電荷量に応じてデータを記憶し、該メモリセルの記憶データは判定基準電圧により２値判定され、
前記第１の消去制御部は、前記第１の消去単位内のメモリセルの蓄積電荷量を変化させてメモリセルの記憶データの消去を行い、
前記第２の消去制御部は、前記第２の消去単位内のメモリセルの記憶データ判定基準の電圧レベルをシフトさせてメモリセルの記憶データの消去を行なう、請求項１記載の不揮発性半導体記憶装置。
【請求項８】
複数の不揮発性メモリセルを有するメモリセルアレイを備え、前記メモリセルアレイは、複数の第１の消去単位で分割され、前記複数の第１の消去単位は、各々、複数の第２の消去単位を含み、
消去または書込指示に従って、前記メモリセルアレイの選択メモリセルの消去動作および書込動作を実行する制御回路を備え、前記制御回路は、前記第１の消去単位で消去を行なう第１の消去制御部と、前記第２の消去単位で消去を行なう第２の消去制御部とを含み、前記第２の消去態様は、消去時の対象メモリセルへの印加電圧が前記第１の消去態様による消去時よりも絶対値が小さくまた消去に要する時間も短く、
前記制御回路は、さらに、アドレス指定された第２の消去単位が前記第１の消去制御部により消去されてデータ書込が行なわれた状態の時、前記メモリセルアレイの未書込状態の第２の消去単位に対して書込を実行するとともに前記アドレス指定された第２の消去単位を無効状態に設定する書込制御回路を備え、
前記第２の消去制御部は、前記第１の消去単位内の第２の書換え単位が全て無効状態とされると前記第１の消去単位に対して第２の消去態様での消去を実行し、該第１の消去単位の書換え単位を有効状態とし、
前記第１の消去制御部は、前記第１の消去単位内の第２の書換え単位が第２の消去態様での消去後に全て無効とされると前記第１の消去態様で前記第１の消去単位の消去を実行する、不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、不揮発性半導体記憶装置に関し、特に、マイクロコンピュータなどのプロセッサに内蔵される不揮発性半導体記憶装置に関する。より特定的には、この発明は、不揮発性半導体記憶装置の書込および消去を行なう構成に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置の１つのフラッシュメモリは、これまで、携帯電話機の制御プログラムおよびデータを保存する用途などに主として単体で用いられてきている。しかしながら、近年、マイクロコンピュータの制御用プログラムおよびデータの格納のために、マイクロコンピュータ内に内蔵される形での応用が広がっている。
【０００３】
このようなフラッシュメモリを内蔵するマイクロコンピュータにおいては、チップサイズの制限から、必要最小限の記憶容量のメモリを、できるだけ小さな面積で実現することが要求される。また、このようなフラッシュメモリを内蔵するマイクロコンピュータは、種々の用途に用いられるため、多品種のマイクロコンピュータ製品を、共通のプラットホームで開発することが要求される。このため、多様なプログラムに対応するために、フラッシュメモリのプログラム格納領域の分割単位を柔軟に変更できることが望ましい。このプログラムサイズに応じた分割単位の変更は、具体的には、１２８バイトから１Ｋバイト程度の小さな記憶容量の分割単位で消去および書込動作を行なう構成を意味する。
【０００４】
フラッシュメモリセルは、フローティングゲートの蓄積電荷量によりデータを記憶する。従って、フラッシュメモリは、データの書込前に対象のメモリセルに対して消去を実行する必要がある。消去動作時には、ウェルとコントロールゲートとの間の電位差を利用する。従って、消去単位を小さくすることは、メモリセルが配置されるメモリセルアレイ領域を、ウェルにより複数の小領域に分割することを意味する。この場合、ウェル分離により、面積が増大し、内蔵用途に要求される小面積要件と相反する。
【０００５】
ウェルの分割数を増大させることなく消去単位数を増加させる方法の一例が、特許文献１（特開平０９−１５３２９２号公報）に示されている。特許文献１に示される構成においては、消去時に、非選択行のメモリセルに対して配置されるワード線に、ウェル電位と同一レベルの電圧を印加する。非選択行のメモリセルは、コントロールゲートおよびウェルが同一電位となり、フローティングゲートとウェルとの間の電荷の移動は禁止される。これにより、消去単位を、ワード線単位に設定する。
【０００６】
また、フラッシュメモリにおいては、消去時において、高電圧がメモリセルに印加され、フローティングゲート下の絶縁膜の劣化が生じる。このような消去によるメモリセルの劣化を抑制することを図る構成の一例が、特許文献２（特開２０００−２９８９９２号公報）に示されている。この特許文献２においては、多値データを記憶するフラッシュメモリにおいて、データ変換を行なって、しきい値電圧の最も高い領域およびそれに近い領域をデータ格納に利用する。多値データを記憶するしきい値電圧領域のうち限られた領域を利用することにより、データ書換サイクルにおいて、このフローティングゲート下部の絶縁膜を通過する電荷量を低減し、絶縁膜の劣化を抑制することを図る。
【０００７】
また、フラッシュメモリ内蔵マイクロコンピュータにおいては、従来のマスクＲＯＭ（読出専用メモリ）をプログラムメモリとして利用するマイクロコンピュータと異なり、納品先で、制御プログラムをオンボードで変更することができる。この制御プログラムの消去および書込に対する高速化が要求される。
【０００８】
フラッシュメモリにおいて高速書込を実現することを図る構成が、特許文献３（特開平０６−１２４５９６号公報）に示される。この特許文献３に示される構成においては、メモリセルアレイを複数のセクタに分割する。データ書換時、未書込状態のセクタまたは消去回数の最も小さなセクタを抽出してデータの書換を実行する。消去が特定のセクタに集中してセクタのメモリセル特性が劣化するのを抑制する。また、新たなセクタに書込むため、書換時、新たなセクタの消去は不要とされ、データの書込を高速に実行することを図る。
【特許文献１】特開平０９−１５３２９２号公報
【特許文献２】特開２０００−２９８９９２号公報
【特許文献３】特開平０６−１２４５９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
フラッシュメモリにおける消去動作は、コントロールゲートとウェルの間に高電圧を印加し、ＦＮトンネル現象（ファウラー−ノルドハイムトンネル現象）を利用して、フローティングゲートからウェルへ電子を放出する方法が一般的である。この動作により、１つのウェル内に配置された数万ないし数十万のメモリセルを一括して消去することができる。
【００１０】
このような数万ないし数十万のメモリセルを一括して消去することができるのは、大容量のデータを保存する目的で使用されるＮＡＮＤ型フラッシュメモリに対しては有効である。しかしながら、使用される機器または用途ごとに、記憶する制御プログラムが異なるＮＯＲ型フラッシュメモリでは、このウェル単位の一括消去は、必ずしも有効でない場合がある。特に、マイクロコンピュータ製品に内蔵されるＮＯＲ型フラッシュメモリの場合、複数の制御プログラムを別々に消去／再設定する必要がある。また、そのプログラムサイズは、マイクロコンピュータ製品が使用される用途によって多岐にわたるため、数千個のメモリセルからなる複数の小さな消去単位を多数設け、それぞれを個別に消去する構成が有効となる。しかしながら、消去単位をウェル単位で設ける場合、耐圧を考慮して十分なスペースを確保したうえで、ウェルを多数に分割することが必要となり、チップ面積が増大する。
【００１１】
前述の特許文献１に示される方法では、分割されるウェルの数を低減することは可能である。しかしながら、非消去対象のワード線が、ウェル電位と同程度の高電圧まで駆動することが要求される。したがって、ウェル分割単位内の消去単位を小さくすればするほど、非消去対象の領域が増える割合が増加し、応じて、消費電力が増大するという問題が生じる。また、ワード線が高電圧に駆動される回数が増大し、ワード線の劣化が生じる可能性が高くなる。
【００１２】
また、ＮＯＲ型フラッシュメモリは、ＥＥＰＲＯＭ（電気的に書込および消去が可能なＲＯＭ）と異なり、メモリセルは、１個のトランジスタで構成される。メモリセルに選択トランジスタが設けられていないため、ＮＯＲ型フラッシュメモリの消去動作においては、「過消去」を回避することが要求される。すなわち、消去時にそのメモリセルのしきい値電圧が低下して非選択状態においても導通状態となり、データ読出時に同一ビット線に接続される他のメモリセルデータを正常に読出せなくなるという問題を回避する必要がある。したがって、数万から数十万のメモリセルを一括して消去する場合、消去対象のすべてのメモリセルを、ある一定のしきい値電圧範囲内に分布させる必要があり、このため、消去／書込を、ベリファイを行なって繰り返し実行する必要があり、消去時間が数百ｍｓにも及び、書換に要する時間が長くなるという問題が生じる。
【００１３】
前述の特許文献２に示される構成においては、多値データを記憶するために利用されるしきい値電圧分布のうち一部の分布領域を利用する。この構成の場合、過消去の問題は回避することが可能であるものの、書換時には、データ変換を行なって書込しきい値電圧分布領域を決定する必要があり、また、消去および書込を行なう必要があり、書換えに時間を要するという問題が生じる。また、この特許文献２においては、消去単位を変更する構成については何ら考慮していない。
【００１４】
特許文献３に示される方法においては、書換え時、未書込状態のセクタへデータを書込んでおり、データ書込の高速化が可能である。しかしながら、この特許文献３においても、消去単位は固定されており、消去単位を変更可能とする構成については何ら考察していない。また、書換えが行なわれたセクタは、新たなセクタに取って代わられるので、旧セクタは、無効化される。１つのブロック内のセクタが全て無効状態となると、当該ブロックに対して消去が実行される。従って、新規にデータを書込む余分のセクタ／ブロックの数が少ない場合、ブロック単位での消去の回数が増大し、メモリセル特性の劣化が生じる可能性が増大する。特に、アプリケーションデータ等の書換え回数の大きいデータを格納する用途に利用する場合、消去回数の低減と余分のセクタ／ブロック数の低減が、相反する要求となる。
【００１５】
それゆえ、この発明の目的は、チップサイズを増大させることなく消去単位を小さくするとともに、低消費電力で高速で書込を行なうことができまたメモリセルへの消去電圧印加回数を低減することのできる不揮発性半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１６】
この発明に係る不揮発性半導体記憶装置は、消去単位として、第１および第２の消去単位を含む。第１の消去単位は、複数の第２の消去単位で構成される。選択メモリセルを含む第２の消去単位に対する書換が指定されたとき、第２の消去単位が第１の消去制御部により消去された状態のときには、第２の消去単位を第２の消去制御部により消去する。第２の消去制御部が消去時に利用する電圧は、第１の消去制御部が消去時に使用する最大電圧よりも絶対値が小さく、また、消去に要する時間も短い。
【発明の効果】
【００１７】
消去単位としては、第１および第２の消去単位を設ける。したがって、この第２の消去単位で消去を実行することにより、第１の消去単位数を増大させることなく、小さな消去単位で消去を行なうことができ、面積増大を生じさせることなく多様な用途に対応することができる。
【００１８】
また、第２の消去単位の消去時には、第１の消去単位の消去時の最大印加電圧よりも絶対値の小さな電圧が利用されるだけである。したがって、消費電力を低減することができ、また、印加電圧が小さく、消去時に大きな電圧がメモリセルに印加されるのを抑制することができ、メモリセルの劣化を抑制することができる。また、第２の消去単位の消去に要する時間は、第１の消去単位での消去よりも短く、消去に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１９】
［実施の形態１］
図１は、この発明の実施の形態１に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。図１において、不揮発性半導体記憶装置は、メモリセルＭＣが行列状に配列されるメモリセルアレイ１を含む。メモリセルアレイ１においては、メモリセルＭＣの各行に対応してワード線ＷＬが配置され、メモリセルＭＣの各列に対応してビット線ＢＬが配置されるる。図１においては、ワード線ＷＬ０−ＷＬｋおよび１つのビット線ＢＬを示す。メモリセルＭＣは、後にその構成は詳細に説明するが、一例として、ＮＯＲ型フラッシュメモリセルである。
【００２０】
ワード線ＷＬ０−ＷＬｋそれぞれに対応して、ワード線選択駆動回路ＷＤ０−ＷＤｋが設けられる。これらのワード線選択駆動回路ＷＤ０−ＷＤｋは、各々、ワード線アドレスデコード回路およびワード線駆動回路を含み、対応のワード線へ動作モードに応じた電圧を供給する。これらのワード線選択駆動回路ＷＤ０−ＷＤｋへは、内部電圧発生回路５からの内部電圧Ｖ１およびＶ２が与えられる。ワード線選択駆動回路ＷＤ０−ＷＤｋは、対応のワード線に接続されるメモリセルの消去状態（第１の消去状態または第２の消去状態）に応じて、その内部電圧Ｖ１およびＶ２の一方を選択する。
【００２１】
内部電圧発生回路３は、制御回路４からの制御のもとに、各動作モード、すなわち読出、書込およびベリファイの動作モードに応じて所定のレベルの電圧を発生する。
【００２２】
メモリセルに対するデータの読出および書込を実行するために、列選択回路５と書込／読出回路６が設けられる。列選択回路５は、メモリセルアレイ１のビット線を選択する。書込／読出回路６は、データレジスタを一例として含み、書込時には外部からの書込データをラッチし、各ビット線へ書込データに応じた電圧を供給する。読出においては、書込／読出回路６は、選択列のビット線に、ビット線読出電圧を供給し、ビット線を流れる電流を検知してデータの読出を実行する。
【００２３】
メモリセルアレイ１におけるメモリセルＭＣの消去状態を管理するために、消去管理テーブル７が設けられる。この消去管理テーブル７においては、第２の消去単位で、メモリセルの消去状態が、第１の消去状態および第２の消去状態のいずれであるかを管理する。消去および書込時（以下、両者を併せて書換と称す）においては、制御回路４は、この消去管理テーブル７を参照して、アドレス信号ＡＤが指定するメモリセル行のメモリセルが第１の消去状態にあるか第２の消去状態にあるかを識別し、その識別結果に応じて書換を実行する。
【００２４】
ここで、「第１／第２の消去状態」とは、メモリセルに対して書込前に第１または第２の消去が実行された状態を示し、その後に書込が行なわれた状態を含む。
【００２５】
図２は、図１に示すメモリセルアレイ１の消去単位を概略的に示す図である。図２において、メモリセルアレイ１は、１または複数のウェル１０に分割され、ウェル１０各々に、複数のワード線ＷＬ０−ＷＬｍが配置される。このウェル１０において、メモリセルＭＣの列に対応してビット線ＢＬ０−ＢＬｎがそれぞれ設けられる。
【００２６】
本実施の形態１においては、消去を、ウェル１０単位で実行するかまたはワード線単位で実行する。第１の消去単位が、ウェル１０に対応し、第２の消去単位が、ワード線に対応する。
【００２７】
図３は、図１および図２に示すメモリセルＭＣの具体的構成の一例を示す図である。図３においては、２行２列に配置されるメモリセルＭＣａ−ＭＣｄを代表的に示す。ワード線ＷＬａがメモリセルＭＣａおよびＭＣｂのコントロールゲートに接続され、ワード線ＷＬｂが、メモリセルＭＣｃおよびＭＣｄのコントロールゲートに接続される。ビット線ＢＬａが、メモリセルＭＣａおよびＭＣｃのドレイン領域に接続され、ビット線ＢＬｂがメモリセルＭＣｂおよびＭＣｄのドレイン領域に接続される。これらのメモリセルＭＣａ−ＭＣｄに共通にソース線ＳＬが設けられ、メモリセルＭＣａ−ＭＣｄのソース領域にソース線ＳＬが共通に接続される。
【００２８】
メモリセルＭＣａ−ＭＣｄの各々は、フローティングゲートＦＧおよびコントロールゲートＣＧを有する積層ゲート型トランジスタで構成される。フローティングゲートＦＧは、他の領域から分離されており、フローティングゲートＦＧに蓄積される電荷（電子）の量に応じてメモリセルトランジスタのしきい値電圧が異なる。コントロールゲートＣＧに印加される電圧とメモリセルのしきい値電圧の関係に応じて、メモリセルを介して流れる電流量が異なる。ビット線ＢＬ（ＢＬａ，ＢＬｂ）を流れる電流量を検知してデータの読出を行なう。
【００２９】
図４は、図１に示す消去管理テーブル７の構成を概略的に示す図である。図４において、消去管理テーブル７は、ワード線アドレスを格納する領域７ａと、消去状態を示すフラグを格納する領域７ｂと、書込状態を示すフラグを格納する領域７ｃとを含む。
【００３０】
ワード線アドレス格納領域７ａには、各ワード線アドレスが格納されて、消去状態フラグ格納領域７ｂには、各ワード線アドレスに対応して、消去状態を示すフラグが格納される。一例として、この消去状態フラグが“０”のときに、物理的消去状態（第１の消去状態）を示し、“１”に設定されると、論理的消去状態（第２の消去状態）を示す。この物理的消去は、通常のように、フローティングゲートＦＧから、電子をウェル側へ引抜く動作により消去を行なう動作を示す。論理的消去は、このようなフローティングゲートの電子の引抜きを行なわず、単にメモリセルのデータ読出判定基準（しきい値電圧判定基準）の電圧レベルをシフトさせることにより、等価的に消去を行なう動作を示す。読出判定基準は、データ読出時に選択ワード線に伝達される電圧を示し、メモリセルのしきい値電圧が、この読出判定電圧よりも高いときには、メモリセルを介して流れる電流が小さくなり（ほとんど流れず）、読出判定電圧よりも低いときにはメモリセルを介して流れる電流量が多くなる。
【００３１】
書込状態フラグ格納領域７ｃには、各ワード線に対応して、対応のワード線が書込状態であるかを示すフラグが格納される。書込状態フラグは、一例として、“０”に設定されると対応のワード線が未書込状態であり、消去状態にあることが示され、“１”に設定されると、対応のワード線が書込状態にあることが示される。
【００３２】
図５は、このメモリセルＭＣのしきい値電圧分布の一例を概略的に示す図である。図５においては、メモリセルＭＣが、３値データを格納することができる場合のしきい値電圧分布を一例として示す。４値または８値などの他の多値データを格納する能力を、メモリセルＭＣが有していてもよい。
【００３３】
しきい値電圧分布ＤＳ１は、しきい値電圧が、読出判定基準ＶＲ１よりも低く、接地電圧よりも高い範囲に存在する。しきい値電圧分布ＤＳ２は、読出判定基準電圧ＶＲ１およびＶＲ２の間に存在する。しきい値電圧分布ＤＳ３は、読出判定基準ＶＲ２よりも高い範囲に存在する。
【００３４】
物理的消去を行なった後の状態においては、メモリセルのしきい値電圧は、しきい値電圧分布ＤＳ１の領域に存在する。データ書込を行なうと、メモリセルのしきい値電圧分布は、分布ＤＳ２となる。従って、「物理的消去状態」においては、しきい値電圧分布ＤＳ１およびＤＳ２が、メモリセルのしきい値電圧分布として用いられる。読出判定電圧ＶＲ１は、これらのしきい値電圧分布ＤＳ１およびＤＳ２の間にあるため、メモリセルの記憶データの２値判定を行なうことができる。
【００３５】
論理的消去を行なう場合には、単に、読出判定基準が、電圧ＶＲ２に設定される。論理的消去の後にデータの書込を行なう。書込まれたメモリセルのしきい値電圧を、しきい値電圧分布ＤＳ３の領域に移動させる。この状態においては、しきい値電圧分布ＤＳ２およびＤＳ１の領域が、消去状態と見なされ、しきい値電圧分布ＤＳ３が、書込状態と見なされる。読出判定電圧ＶＲ２は、しきい値電圧分布ＤＳ２およびＤＳ３の間に存在する。従って、論理的消去状態において、しきい値電圧分布ＤＳ１およびＤＳ２としきい値電圧分布ＤＳ３とを読出判定電圧ＶＲ２により弁別することができ、従って、メモリセルの記憶データを２値判定することができる。
【００３６】
この論理的消去は、書込ベリファイ電圧を含む読出判定基準をシフトさせるだけであり、メモリセルのフローティングゲートの電荷の移動は行なわない。従って、消去電圧をメモリセルに印加する必要がなく、消費電力が低減され、また、消去に要する時間も、電圧の切換だけであり、ベリファイ動作を行なう必要がなく、物理的消去に比べて短い。
【００３７】
図６は、この発明の実施の形態１に従う不揮発性半導体記憶装置のデータアクセス時の動作を示すフロー図である。以下、図６を参照して、この発明の実施の形態１に従う不揮発性半導体記憶装置の動作について説明する。
【００３８】
図１に示す制御回路４は、外部からのコマンドＣＭＤをモニタし、アクセス要求が与えられたかを判定する（ステップＳ１）。アクセス要求が与えられるまで、この不揮発性半導体記憶装置は、スタンバイ状態にある。
【００３９】
アクセス要求が与えられると、この図１に示す制御回路４は、与えられたコマンドがデータの読出を指示するリードコマンドであるか、データの書込を指示するライトコマンドであるかまたは記憶データの消去を指示するイレーズコマンドであるかを判定する（ステップＳ２）。データ読出を指示するリードコマンドが与えられたときには、アドレス信号ＡＤに従って、列選択回路５およびワード線選択駆動回路ＷＤ０−ＷＤｋが、アドレス指定されたメモリセルＭＣを選択し、図１に示す書込／読出回路６によりデータの読出が行なわれる（ステップＳ３）。
【００４０】
データ読出時においては、図７に示すような電圧が、選択メモリセルへ印加される。ここで、図７においては、メモリセルの断面構造を併せて示す。図７において、メモリセルＭＣは、Ｐウェル（Ｐ型ウェル）１０に形成されるＮ型不純物領域１６および１７と、これらの不純物領域１６および１７の間のウェル領域表面に順次積層されるフローティングゲートＦＧおよびコントロールゲートＣＧを含む。Ｐウェル１０へは、その周辺に設けられたＰ型不純物領域１９により、バイアス電圧ＷＢＩＡＳが印加される。Ｐウェル１０は、Ｎ分離領域（Ｎ型分離領域）１８により、他のブロックを構成するウェル（１０）と分離される。
【００４１】
ワード線に伝達されるワード線読出電圧ＶＲとしては、先のサイクルにおいてデータの書込または消去が実行されたときに、その消去状態に応じて選択情報が後述するワード線選択駆動回路内のシフトラッチに設定される。従って、データ読出時においては、消去管理テーブルを参照する必要はない。
【００４２】
半導体基板２０表面に、複数のＰウェル１０が、それぞれＮ分離領域１８により分離されて配置され、各ウェル１０が、第１の消去単位である物理的消去の単位を構成する。このＰウェル１０において複数のワード線が配置される。
【００４３】
データ読出時においては、図７に示すように、ワード線ＷＬに読出電圧ＶＲ（ＶＲ１またはＶＲ２）が印加される。ビット線ＢＬには、ビット線読出電圧Ｖｒｂが印加され、ソース線ＳＬは接地電圧ＧＮＤに設定される。Ｐウェル１０は、通常、接地電圧レベルの所定の電圧レベルに維持される。この状態において、選択メモリセルのしきい値電圧が、しきい値電圧分布ＤＳ１−ＤＳ３のいずれの領域にあるかに従って、ビット線ＢＬからソース線ＳＬへ選択的に電流が流れる。このビット線ＢＬを流れる電流を、図１に示す書込／読出回路６に含まれるセンスアンプで検知し、データの読出を行なう。
【００４４】
データの消去または書込を示すコマンドが印加された場合には、先ず、管理テーブル７を参照する（ステップＳ４、Ｓ５）。このとき、データ書込を示すライトコマンドが与えられた場合には、図１に示す制御回路４は、消去管理テーブル７を参照し（ステップＳ４）、書込状態フラグに基づいて、アドレス信号ＡＤが指定するワード線に接続されるメモリセルが、書込状態であるかの判定を行う（ステップＳ６）。指定されたワード線が書込状態の時には、次いで、指定されたメモリセル（ワード線）が、物理的消去状態にあるか論理的消去状態にあるかを判定する（ステップＳ７）。
【００４５】
このアドレス指定されたワード線のメモリセルが、物理的消去状態にある場合、アドレス指定されたワード線に対して論理的消去を実行する（ステップＳ８）。この場合、単に、ワード線に与えられる読出判定基準のワード線読出電圧ＶＲが、電圧ＶＲ１から電圧ＶＲ２に変更される（図５参照）。この後、外部からの書込データに従って、アドレス指定されたワード線に接続されるメモリセルに対する書込を実行する（ステップＳ９）。この書込時においては、書込ベリファイを行なう必要があり、このベリファイ時、ベリファイ電圧も同様、ワード線読出電圧のシフトに応じてシフトされてベリファイが行なわれる。
【００４６】
図８は、このデータ書込時のメモリセル印加電圧を概略的に示す図である。図８において、書込対象のメモリセルにおいて、ビット線ＢＬにビット線書込高電圧ＶＢＰが印加され、ワード線ＷＬにワード線書込高電圧ＶＷＰが印加される。Ｐウェル１０およびソース線ＳＬは、接地電圧ＧＮＤに維持される。この条件下では、不純物領域１７および１６の間に図８において矢印で示すように電流が流れる。このメモリセルを流れる電流において、ビット線ＢＬの高電圧ＶＢＰによるドレイン高電界によりホットエレクトロンが生成される。ホットエレクトロンが、ワード線ＷＬに印加されるワード線書込高電圧ＶＷＰによりフローティングゲートの方向に加速され、フローティングゲートＦＧへホットエレクトロンが注入される。これにより、フローティングゲートＦＧに電荷（電子）が蓄積され、メモリセルのしきい値電圧が高くなる。
【００４７】
図９は、この論理的消去および書込後のしきい値電圧分布を概略的に示す図である。論理的消去状態においては、しきい値電圧分布ＤＳ１およびＤＳ２が消去状態に対応づけられ、データ“１”を格納する状態に対応づけられる。書込時においては、しきい値電分布ＤＳ１およびＤＳ２のメモリセルのしきい値電圧が上昇し、しきい値電圧分布ＤＳ３に移行する。データ読出時の判定基準のワード線読出電圧ＶＲ２よりも、高いしきい値電圧を有するメモリセルが、書込状態となり、データ“０”を記憶した状態に対応づけられる。
【００４８】
論理的消去を行なう場合、単に、ワード線読出電圧のレベルをシフトさせるだけであり、実際にフローティングゲートＦＧからの電子の引抜きは行なわれないため、消去に要する時間を短縮することができる。また、消去時の高電圧を印加する必要はなく、メモリセルの絶縁膜（フローティングゲートＦＧ下部の絶縁膜）のストレスを軽減することができる。
【００４９】
また、書込前の消去時、単にワード線読出電圧のレベルを変更するだけであり、消去時の消費電力は低減される。書込時においては、ベリファイを行なう。この場合、しきい値電圧分布ＤＳ３が、新たに利用されるため、しきい値電圧分布ＤＳ３の下限値および上限値が規定する領域内に、書込対象のデータ“０”を記憶するメモリセルのしきい値電圧が存在するかの判定を行なう。データ“０”を書込むメモリセルのしきい値電圧が、しきい値電圧分布ＤＳ３内に収まるまで、この書込／ベリファイ動作が繰返される。
【００５０】
このステップＳ９における書込の後、消去管理テーブル７を更新する。すなわち、アドレス指定されたワード線の消去状態フラグを、物理的消去状態から論理的消去状態を示す状態（値）に変更する。書込フラグは、書込状態に維持される。
【００５１】
一方、図６に示すステップＳ７において、物理的消去状態ではない、すなわち論理的消去状態にあると判定された場合、ウェル単位の消去が実行される（ステップＳ１１）。この場合、ウェル１０に含まれるワード線に接続されるメモリセル全てに対して消去が実行される。したがって、必要な消去する必要のないデータを一旦退避させて、消去後、この退避させたデータを再書込する「ガーベッジコレクション」が実行されてもよい。ウェル単位の消去後においてもワード線単位でデータの書換えを行なうことができる。
【００５２】
図１０は、このウェル単位の消去時のメモリセルへの印加電圧を概略的に示す図である。この消去時においては、ウェル１０に対し、ウェル消去高電圧ＷＥＶが印加され、ワード線ＷＬは接地電圧ＧＮＤレベルに維持される。ビット線ＢＬおよびソース線ＳＬは、フローティング状態（オープン状態）に設定される。このウェル１０に印加される消去高電圧ＷＥＶは正の電圧である。したがって、コントロールゲートＣＧとウェル１０の間に高電圧が印加され、フローティングゲートＦＧに蓄積される電荷（電子）が、ウェル１０へ放出され、メモリセルトランジスタのしきい値電圧が低下する。
【００５３】
このウェル単位での消去時においては、消去ベリファイ動作が実行され、図１１に示すしきい値電圧分布ＤＳ１が得られる。すなわち、論理的消去状態においては、メモリセルのしきい値電圧は、分布ＤＳ１−ＤＳ３それぞれに存在する。このウェル単位の消去により、しきい値電圧分布ＤＳ１の領域内に、ウェル１０内のメモリセルのしきい値電圧が分布する。この状態は、読出判定基準（すなわちワード線読出電圧）ＶＲ１よりも、メモリセルのしきい値電圧が低い状態である。
【００５４】
次いで、この物理的消去状態にあるメモリセルに対するデータの書込が実行される（ステップＳ１２）。この書込時の印加電圧は、先の図８に示す書込電圧と同じである。この場合、しきい値電圧分布ＤＳ２が、書込状態のしきい値電圧分布として利用される。従って、書込ベリファイ動作時のベリファイ電圧として、しきい値電圧分布ＤＳ２の上限値および下限値を用いて、書込ベリファイが実行される。
【００５５】
この書込により、図１２に示すようなしきい値電圧分布が得られる。すなわち、書込状態は、しきい値電圧分布ＤＳ２に対応し、消去状態は、しきい値電圧分布ＤＳ１に対応する。しきい値電圧分布ＤＳ３は、この場合には、利用されない。
【００５６】
この後、消去管理テーブル７をアクセスし、対応のウェル領域内の全ワード線の消去状態フラグを、論理的消去状態から物理的消去状態に更新する。この場合において、書込が行われたワード線に対する書込フラグは、書込状態に設定され、消去されたワード線において書込が行われたワード線以外のワード線に対する書込フラグは、未書込状態に設定される。
【００５７】
この物理的消去状態のメモリセルに対して、電圧ＶＲ１を、ワード線読出電圧として供給することにより、しきい値電圧分布ＤＳ１およびＤＳ２を弁別して、メモリセルのデータの“１”および“０”の判定を実行することができる。
【００５８】
ステップＳ６において、指定されたワード線が未書込状態であると判定されると、ついで、消去状態フラグを参照して、指定されたワード線の消去状態が判定される（ステップＳ１４）。指定されたワード線が論理的消去状態の場合には、ステップＳ９へ移行し、論理的消去後の書込を実行し、指定されたワード線が、論理的消去状態でなく、物理的消去状態の場合には、ステップＳ１２へ移行し、物理的消去後の書込を実行する。これらの書込後、消去状態フラグは維持して、書込状態フラグを書込状態に設定する。
【００５９】
一方、ステップＳ２において記憶データの消去が指定された場合には、先ず、消去管理テーブル７の書込状態フラグを参照して（ステップＳ５）、対応のワード線が未書込状態であるかの判定が行なわれる（ステップＳ１５）。対応のワード線が未書込状態の時には、消去を行う必要がなく、消去が終了する。
【００６０】
一方、対応のワード線が書込状態のときには、対応のワード線の消去状態フラグを参照して、対応のワード線が論理的消去状態にあるかの判定が行なわれる（ステップＳ１６）。対応のワード線が論理的消去状態にある場合には、記憶データの消去のためにウェル単位の消去、すなわち、物理的消去が行われる（ステップＳ１７）。一方、対応のワード線が物理的消去状態にある場合には、アドレス指定されたワード線を論理的消去状態に設定する（ステップＳ１８）。これらの消去動作は、ステップＳ８およびＳ１１において実行される消去動作と同様であり、その詳細は繰り返さない。
【００６１】
これらの消去の後、管理テーブル７を更新する（ステップＳ１９）。この管理テーブル７の更新においては、消去状態フラグが、実行された消去状態を示す値に設定され、また、書込フラグが未書込状態に設定される。
【００６２】
通常、フラッシュメモリにおいては、消去単位は、予め設定される。消去時において、消去コマンドとともに消去領域を示すアドレスが与えられ、その消去領域指示アドレスに従って、指定された領域の消去が実行されれば良い。従って、論理的消去時において、消去単位は、ワード線単位またはウェル単位のいずれに設定されてもよい。
【００６３】
論理的消去を行うことにより、物理的消去の回数が低減され、メモリセルの信頼性の低下は抑制される。
【００６４】
フラッシュメモリ内蔵マイクロコンピュータにおいては、フラッシュメモリが、マイクロコンピュータの制御プログラムの格納に用いられる。上述の動作により書込まれたプログラムが、マイクロコンピュータ製品の制御に用いられている。したがって、通常は、このフラッシュメモリの内容が書換えられることは、ほとんどないと考えられる。しかしながら、出荷直前のプログラム改訂や出荷後の機能追加などにより、プログラムの修正が必要となる場合がある。この場合、格納された制御プログラムを消去および書込を実行する必要がある。プログラムのサイズが数Ｋバイト程度の小さなサイズの場合、ワード線単位で書換えることにより、プログラムサイズに応じてフラッシュメモリの内容の消去および書直しを行なうことができる。
【００６５】
図１３は、この発明の実施の形態１に従う不揮発性半導体記憶装置の内部電圧発生回路３および制御回路４の構成を概略的に示す図である。図１３において、内部電圧発生回路３は、物理的に消去を行なうための電圧を発生する物理消去電圧発生部３０と、この物理的消去後に書込を行なうために必要とされる電圧を発生する物理消去後書込電圧発生部３２と、論理的消去に必要な電圧を発生する論理消去電圧発生部３４と、この論理的消去後の書込に用いられる電圧を発生する論理消去後書込電圧発生部３６を含む。物理消去電圧発生部３０および物理消去後書込電圧発生部３２からの電圧が、電圧Ｖ１として、ワード線選択駆動回路へ与えられる。論理消去電圧発生部３４および論理消去後書込電圧発生部３６からの電圧が、電圧Ｖ２として、ワード線選択駆動回路へ与えられる。
【００６６】
この内部電圧発生回路３としては、３値以上のデータを格納する多値メモリにおいて用いられる内部電圧発生回路と同様の構成を利用することができる。図１３においては、この内部電圧発生回路３において、物理消去電圧発生部３０、物理消去後書込電圧発生部３２、論理消去電圧発生部３４および論理消去後書込電圧発生部３６は、それぞれ個々に設けられるように示されているが、これらは、発生する電圧レベルが異なるだけであり、高電圧を発生するためのチャージポンプ回路などは共用することができる。必要とされるレベルの電圧を、レベルシフトなどの操作により生成する。
【００６７】
物理消去電圧発生部３０は、図１１に示すしきい値電圧分布ＤＳ１を実現するために必要とされる電圧、すなわち、消去高電圧および消去ベリファイ電圧を発生する。物理消去後書込電圧発生部３２は、図１１に示すしきい値電圧分布ＤＳ２を実現するための電圧、すなわち、書込高電圧および書込ベリファイ電圧を発生する。論理消去電圧発生部３４は、単に、データ読出時にワード線へ印加される読出判定基準、すなわち、ワード線読出電圧として、電圧ＶＲ２を生成する。論理消去後書込電圧発生部３６は、図１１に示すしきい値電圧分布ＤＳ３を実現するために必要とされる電圧（書込高電圧および書込ベリファイ電圧）を発生する。
【００６８】
制御回路４は、例えばシーケンスコントローラにより構成され、外部からのコマンドＣＭＤに従って所定のシーケンスで内部の制御信号を活性化する。図１３においては、制御回路４の制御態様を明確に示すために、制御回路４の構成を各機能ごとに分割して示す。
【００６９】
図１３において、制御回路４は、動作モードを示すコマンドＣＭＤおよびアドレス信号ＡＤに従って各種制御を行なう主制御部４０と、この主制御部４０の制御の下に、指定された動作を実行する物理消去制御部４２、物理消去後書込制御部４４、論理消去制御部４６および論理消去後書込制御部４８を含む。主制御部４０は、コマンドＣＭＤが、データ書込を指示するライトコマンドのとき、アドレス信号ＡＤに含まれるワード線アドレスＷＡＤに基づいて消去管理テーブル７を参照し、対応のワード線の消去状態（ワード線に接続されるメモリセルの消去状態）を示すフラグＥＦを読込む。この読込んだ消去状態フラグＥＦに従って、物理的消去を行なうか論理的消去を行なうかの決定を行なう。主制御部４０は、また、この判定結果に従って、ワード線選択駆動回路（ＷＤ）に対する電圧切換信号ＶＳＷを供給する。
【００７０】
物理消去制御部４２は、消去状態フラグＥＦが、論理的消去状態を示しているとき、主制御部４０により活性化され、物理的消去に必要な動作の実行を制御するとともに、物理消去電圧発生部３０を活性化し、電圧Ｖ１として物理的消去に必要な電圧を生成する。この物理的消去に必要とされる電圧は、ウェルに印加される正の高電圧およびワード線選択駆動回路において利用される電圧（ハイ側電源電圧）である。物理消去制御部４２は、また、消去時のベリファイ動作の制御およびベリファイ判定を実行する。
【００７１】
物理消去後書込制御部４４は、主制御部４０により、物理消去制御部４２が活性化され、物理的消去のベリファイ動作等を通じて物理的消去が完了すると能動化される。物理消去後書込制御部４４は、動作時、物理消去後書込電圧発生部３２を活性化し、物理消去後の書込に必要とされる電圧を生成する。この場合、書込時およびベリファイ時にワード線およびビット線に印加される電圧等を、電圧Ｖ１として生成する。この物理消去後書込制御部４４は、また、書込時のベリファイ動作（ベリファイ判定）も実行する。
【００７２】
論理消去制御部４６は、主制御部４０が、消去状態フラグＥＦが物理的消去状態を示しているときと判定したとき、主制御部４０により活性化され、データ読出時に、ワード線に伝達されるワード線読出電圧ＶＲ２を電圧Ｖ２として供給する。論理消去後書込制御部４８は、論理消去制御部４６の制御による論理的消去実行後に能動化され、書込に必要な電圧を発生する。この場合においても、書込時およびベリファイ時にワード線およびビット線に供給される電圧等を電圧Ｖ２として生成する。
【００７３】
物理消去後書込電圧発生部３２および論理消去後書込電圧発生部３６は、書込時には、同じ電圧レベルの書込電圧を発生してもよい。しかしながら、ベリファイ時においては、メモリセルのしきい値電圧分布が異なるため、異なるレベルのベリファイ電圧を発生する必要がある。これらの電圧発生部および制御部の構成としては多値データを記憶する不揮発性半導体記憶装置の構成を利用することができる。
【００７４】
図１４は、図１に示すワード線選択駆動回路ＷＤ０−ＷＤｋの構成の一例を概略的に示す図である。これらのワード線選択駆動回路ＷＤ０−ＷＤｋは、同一構成を有するため、図１４においては、ワード線選択駆動回路ＷＤｉの具体的構成を示しワード線選択駆動回路ＷＤｊについては、ブロックで示す。各ワード線に対応して、ワード線選択駆動回路ＷＤｉと同様の構成のワード線選択駆動回路が設けられる。
【００７５】
ワード線選択駆動回路ＷＤｉは、ワード線アドレス信号ＷＡＤをデコードするワード線デコード回路５０と、ワード線デコード回路５０からのデコード信号に従って対応のワード線ＷＬｉを駆動するワード線駆動回路５２を含む。ワード線デコード回路５０が、図１３に示す主制御部４０の制御のもとに所定のタイミングで活性化され、ワード線アドレス信号ＷＡＤをデコードし、ワード線指定信号を生成する。ワード線駆動回路５２は、このワード線デコード回路５０からのデコード信号（ワード線指定信号）に従って、選択時、対応のワード線ＷＬｉへ動作モードに応じた電圧を供給する。
【００７６】
ワード線選択駆動回路ＷＤｉは、さらに、図１３に示す主制御部４０からの電圧切換信号ＶＳＷとワード線デコード回路５０からのワード線指定信号とを受けるゲート回路５４と、ラッチ指示信号ＬＡＴに従ってゲート回路５４の出力信号をラッチするシフトラッチ５６と、シフトラッチ５６のラッチデータに従って電圧Ｖ１およびＶ２の一方を選択してワード線駆動回路５２へ供給する電圧切換回路５８を含む。
【００７７】
この電圧切換信号ＶＳＷは、一例として、物理的消去状態時には“０”であり、論理的消去状態時には“１”である。シフトラッチ５６は、ラッチ指示信号ＬＡＴの活性化時にゲート回路５４の出力信号をラッチする。したがって、ワード線アドレス信号ＷＡＤが指定するワード線が指定されたとき、ワード線デコード回路５０の出力信号が“１”となり、ゲート回路５４がバッファとして動作し、消去状態フラグに応じた信号を出力する。
【００７８】
シフトラッチ５６は、ラッチ指示信号ＬＡＴの活性化時にゲート回路５４の出力信号をラッチする。また、シフトラッチ５６は、シフトクロック信号ＳＦＴに従って、消去管理テーブルからシリアルに読出された消去フラグＥＦ（ＥＦ１、ＥＦ２、ＥＦ３、…、ＥＦｋ）を順次シフトイン／シフトアウトしてラッチする。すなわち、電源投入後またはシステムリセット後の初期化動作時、シフトラッチ５６は、シフト動作により、消去管理テーブル（７）に格納される消去状態フラグを格納する。シフトラッチ５６は、電源遮断時、その記憶データが消去されても、初期化時に確実に、対応のワード線の状態に応じた消去状態フラグを格納することができる。このシフトラッチ５６としては、テスト規格として標準化されているバウンダリスキャンパスを構成するスキャンレジスタを利用することができる。
【００７９】
ワード線駆動回路５２へは、補のラッチ指示信号／ＬＡＴが与えられ、シフトラッチ５６のラッチ動作時には、ワード線駆動回路５２は、非活性状態に維持される。従って、シフトラッチ５６のラッチ動作時にワード線デコード回路５０が、デコード動作を行なっても、対応のワード線ＷＬｉは非選択状態に維持される。
【００８０】
電圧切換回路５８は、シフトラッチ５６のラッチするデータに従って電圧Ｖ１およびＶ２の一方を選択する。この電圧切換回路５８の出力電圧が、ワード線駆動回路５２の動作電源電圧として利用される。
【００８１】
ワード線選択駆動回路ＷＤｊも、このワード線選択駆動回路ＷＤｉと同様の構成を備える。上述のように、初期化時に管理テーブルの消去フラグに従って、各ワード線の消去状態を示すフラグがシフトラッチ５６に格納される。処理実行時に、ワード線の消去状態を更新するためには、以下のように更新処理を実行する。すなわち、電圧切換信号ＶＳＷを消去状態フラグＥＦに従って、物理的消去単位のワード線選択駆動回路ＷＤ０−ＷＤｋに対して共通に生成する。ワード線デコード回路５０の出力信号に従って電圧切換信号ＶＳＷをシフトラッチ５６に格納する。これにより、処理実行時にワード線の消去状態が更新されても、各ワード線単位で消去状態を示すフラグを格納して、消去状態に応じた電圧をワード線駆動回路５２へ供給することができる。
【００８２】
なお、面積的な余裕がある場合には、ワード線デコード回路５０と別に、消去状態フラグに応じた電圧切換信号を選択するための専用のデコード回路が設けられ、この別の専用のデコード回路からのワード線アドレスデコード信号が、ゲート回路５４へ電圧切換信号ＶＳＷとともに与えられて、シフトラッチ５６の格納する消去フラグが更新されてもよい。
【００８３】
電圧切換信号ＶＳＷ、ラッチ指示信号ＬＡＴ、補のラッチ指示信号／ＬＡＴ、およびシフトクロック信号ＳＦＴが、図１３に示す主制御部４０から供給される。シフトラッチ５６へのシフトデータのラッチ時においては、ワード線駆動回路５２は、このラッチ指示信号／ＬＡＴにより非活性状態に維持され、対応のワード線（ＷＬｉ）を、非選択状態に維持する。したがって、消去状態判定／設定時のシフトラッチ５６のラッチデータ更新時において、ワード線デコード回路５０が動作しても、対応のワード線が誤って選択状態へ駆動されるのは、確実に防止される。
【００８４】
図１５は、この発明の実施の形態１における消去管理テーブル７の配置の一例を示す図である。図１５においては、フラッシュメモリ６２が、フラッシュメモリ内蔵マイクロコンピュータ６０内に設けられる。フラッシュメモリ内蔵マイクロコンピュータ６０は、１つの半導体チップ上に集積化され、マイクロプロセッサ６１、ＲＡＭ（ランダム・アクセス・メモリ）６６、フラッシュメモリ６２、および消去管理テーブル６４（７）を含む。これらのマイクロコンピュータ６０、消去管理テーブル６４、ＲＡＭ６６およびフラッシュメモリ６２が、内部データバス６８により相互接続される。ＲＡＭ６６は、マイクロプロセッサ６１の作業領域として利用され、フラッシュメモリ６２に、このマイクロプロセッサ６０が実行する制御プログラムが格納される。消去管理テーブル６４（７）は、フラッシュメモリ６２のブロック外部に、たとえばＥＥＰＲＯＭ（電気的に書込／消去可能なＲＯＭ）で構成される。
【００８５】
消去管理テーブル６４に対してフラッシュメモリ６２内の主制御部（４０）が、内部データバス６８または破線で示す別の制御バスを介してアクセスし、消去状態フラグの読込および更新を実行する。消去管理テーブル６４を、ＥＥＰＲＯＭで構成する場合、ＥＥＰＲＯＭセルは、選択トランジスタと記憶トランジスタの直列体で構成され、消去状態フラグを、１ビット単位で更新することができ、各ワード線ごとに消去状態フラグを更新することができる。
【００８６】
なお、各ワード線ごとに消去状態フラグを格納する場合においても、ワード線アドレス（ＷＡＤ）を、消去管理テーブル６４（７）を構成するＥＥＰＲＯＭの行および列アドレスに分割することにより、ＥＥＰＲＯＭの１つのワード線に対し、複数のワード線（たとえばブロックまたはメモリ領域のワード線すべて）についての消去状態フラグを格納することができる。したがって、このワード線単位で、消去状態を管理する場合においても、ＥＥＰＲＯＭの記憶容量としては、それほど大きな記憶容量は要求されない。
【００８７】
また、ＥＥＰＲＯＭは、許容書換え回数がフラッシュメモリより大きく、また、フラッシュメモリ６２にマイクロプロセッサ６１の制御プログラムを格納する場合、制御プログラムの書換え回数は少なく、十分安定に消去状態フラグの書換えおよび保持を行なうことができる。
【００８８】
なお、この図１５に示す構成においては、フラッシュメモリ６２内の制御回路が、消去管理テーブル６４へアクセスして、消去状態フラグの読込／更新を実行する。しかしながら、マイクロプロセッサ６１が、データ書換え時、消去管理テーブル６４のアクセスを実行し、消去管理テーブルの対応の消去状態フラグとともに、書込データおよびアドレス信号をフラッシュメモリ６２へ内部バス６８を介して供給するように構成してもよい。
【００８９】
図１６は、この消去管理テーブルの他の構成の一例を概略的に示す図である。図１６において、フラッシュメモリ７０内に、消去管理テーブル７２（７）が設けられる。この消去管理テーブル７２は、たとえばＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）などのレジスタファイルで構成される。メモリセルアレイ１は、各ウェル１０ごとにメモリブロックに分割される。このメモリセルアレイ１における１つのメモリブロック、（ウェル領域）１０Ａは、消去状態フラグ格納領域として利用する。電源投入時またはシステムリセット後の立上時において、この消去状態フラグ格納領域１０Ａに格納される消去状態フラグを、消去管理テーブル７２へ転送し、各ワード線単位の消去状態フラグを格納する。制御回路４は、データ書込時、この消去管理テーブル７２へアクセスし、消去状態フラグの読込および更新を実行する。
【００９０】
この消去管理テーブル７２はレジスタファイルで構成されており、このフラッシュメモリ７０へのアクセス時、その記憶データを、容易に更新することができる。電源遮断時に、消去管理テーブル７２に格納される消去状態フラグを、消去状態フラグ格納領域１０Ａへ退避させる。これにより、消去状態フラグの書換時において、書込用の高電圧は不要であり、消費電力を低減することができる。また、消去管理テーブル７２が、レジスタファイルで構成されていても、ワード線アドレスの数が数Ｋ個であり、その記憶容量は小さく、フラッシュメモリ７０の面積増大は抑制される。
【００９１】
なお、フラッシュメモリ内蔵マイクロコンピュータは、１つの半導体チップ上に集積化される。従って、このレジスタファイルで消去管理テーブルを構成する場合、フラッシュメモリ（マクロ）の外部に、消去管理テーブル７２がマクロとして配置されてもよい。
【００９２】
［変更例］
図１７は、この発明の実施の形態１の変更例のメモリセルのしきい値電圧分布を概略的に示す図である。図１７において、メモリセルは、４値データを格納することが可能であり、記憶データに応じてしきい値電圧分布ＤＳ１−ＤＳ４のいずれかの領域に存在するしきい値電圧を有することができる。この場合、ワード線読出電圧として、電圧ＶＲ１、ＶＲ２およびＶＲ３のいずれかを供給することができる。物理的消去状態時には、ワード線読出電圧ＶＲ１が、伝達される。ワード線読出電圧ＶＲ２を読出判定基準として用いる場合には、メモリセルの状態を論理的消去状態１と設定する。すなわち、この状態においては、しきい値電圧分布ＤＳ１およびＤＳ２を、消去状態として判定し、しきい値電圧分布ＤＳ３を書込状態と判定する。ワード線読出電圧ＶＲ３を読出判定基準として利用する場合には、メモリセルの状態を論理的消去状態２と設定し、しきい値電圧分布ＤＳ１−ＤＳ３を消去状態として判定し、しきい値電圧分布ＤＳ４を書込状態と判定する。
【００９３】
したがって、４値データを格納することが可能な場合には、論理的消去状態として２種類の論理的消去状態を利用することができる。論理的消去状態２に対するメモリセルへの書換え時に、物理的消去を実行する。
【００９４】
一般に、メモリセルが、Ｎ値データを格納することができる場合、論理的消去状態として（Ｎ−２）個の論理的消去状態を準備することができる。したがって、上述の実施の形態１において、論理的消去状態か否かの識別として、複数段階の論理的しきい値電圧判定の操作を実行し、最大読出判定基準電圧の論理的消去状態のワード線に対する書換え時、物理的消去を実行する。
【００９５】
図１８は、この発明の実施の形態１の変更例におけるデータアクセス動作を示すフロー図である。以下、図１８を参照して、この発明の実施の形態１の変更例の動作について説明する。
【００９６】
この図１８に示す書換動作のフローにおいて、図６に示すフロー図のステップＳ１からＳ６までの書込判定動作およびステップＳ２、Ｓ５およびステップＳ１５の消去判定動作は同じである。データ読出時においては、すでに、電圧切換回路により消去状態に応じた電圧が選択されており、図６に示すフロー図と同様、データ読出時に消去管理テーブルを参照することは、特に要求されない。
【００９７】
書込または消去動作が指定されて、管理テーブル参照をステップＳ４またはステップＳ５において行ない、指定された領域が未書込状態であるかの判定を行なったステップＳ６およびＳ１５の後の処理が図６に示すフローと異なる。すなわち、ステップＳ６において、未書込と判定されると、管理テーブルの消去状態フラグを参照し、選択されたワード線が最大論理的消去状態、すなわち論理的消去状態２にあるかの判定が行なわれる（ステップＳ７Ａ）。選択されたワード線が、最大論理的消去状態にない場合には、その論理的消去状態をさらに１段シフトする余裕があるため、論理的消去を実行する（ステップＳ８Ａ）。すなわち、ワード線読出電圧の電圧レベルを１段シフトアップする。図７に示すしきい値電圧分布ＤＳ１−ＤＳ３が消去状態に設定される。
【００９８】
次いで、シフトした読出判定電圧に応じて、データの書込およびベリファイ動作を実行する。このベリファイ動作時のベリファイ電圧は、判定電圧のシフトに応じて、同様にシフトアップされる（ステップＳ９Ａ）。書込状態のメモリセルのしきい値電圧は、しきい値電圧分布ＤＳ４の領域に存在する。
【００９９】
次いで、書込完了後、管理テーブルの対応のワード線についての消去状態値を更新する。すなわち、物理消去状態のときには、論理的消去状態１に設定し、また論理的消去状態１のときには、その論理的消去状態を示す値を１増分して論理的消去状態２に設定する。
【０１００】
一方、ステップＳ７Ａにおいて、最大論理的消去状態に対応のワード線があると判定されると、ウェル単位の消去が実行される（ステップＳ１１Ａ）。この場合、先の図６に示すフロー図と同様、ガーベッジコレクションが実行されてもよい。
【０１０１】
次いで、書込データに応じて対応のワード線に対するデータの書込が実行される（ステップＳ１２Ａ）。この書込完了後、管理テーブルが更新され、その消去状態値が、最大論理的消去状態値（論理的消去状態２を示す値）から初期値の物理的消去状態を示す値に設定される。
【０１０２】
一方、ステップＳ１５において、書込と判定されると、対応の領域が、最大論理的消去状態にあるかの判定が行なわれる（ステップＳ１６Ａ）。最大論理的消去状態にあると判定されると、物理的消去が実行され（ステップＳ１７Ａ）、最大論理的消去状態にないと判定されると、論理的消去が行なわれる（ステップＳ１８）。これらの後、管理テーブルの更新が行われ、書込状態フラグが、未書込状態に設定され、また、消去状態が、それぞれ対応の消去状態を指定する値に設定される。すなわち、ステップＳ１７Ａが実行された場合には、消去状態フラグが、物理的消去状態を示す値に設定され、ステップＳ１８Ａが実行された場合には，論理的消去状態の値が、１更新される。
【０１０３】
したがって、消去状態として、物理的消去状態から順次、論理的消去状態に０からＮ−２までの値を割当てることにより、Ｎ値データを格納可能なフラッシュメモリセルに対する、物理的消去および論理的消去を実行することができる。
【０１０４】
なお、各回路の構成としては、各論理的消去状態に対応して、先の図１３および図１４に示す構成を拡張すればよい。
【０１０５】
以上のように、この発明の実施の形態１に従えば、消去単位として、大小２つの消去単位（第１および第２の消去単位）を設けている。したがって、小さな消去単位を実現するためにウェルを細かく分割する必要はなく、チップ面積の増大を抑制して、小さな消去単位を実現することができる。また、小さな消去単位での消去時には、単に、読出時のワード線電圧のレベルをシフトしているだけであり、消去に要する時間を短縮することができ、また、消費電力を低減することができ、さらに、メモリセルの信頼性劣化を抑制することができる。
【０１０６】
また、マイクロコンピュータに内蔵されるフラッシュメモリの場合には、出荷直前のプログラム改訂および出荷後の機能追加に対して、ワード線読出電圧を変更するだけの論理的な消去動作を実現することができる。このため、書換時間の短縮要求に応えることが可能となる。
【０１０７】
［実施の形態２］
図１９は、この発明の実施の形態２に従う不揮発性半導体記憶装置のメモリセルアレイの構成を概略的に示す図である。図１９において、メモリセルアレイ１００は、複数のメモリブロックＭＢＫ０−ＭＢＫｍに分割される。メモリブロックＭＢＫ０−ＭＢＫｍの各々は、複数のセクタＳＣＲ０−ＳＣＲｎを含む。消去単位は、メモリブロック単位で実行され、書換単位は、セクタ単位である。セクタＳＣＲ０−ＳＣＲｎ各々内に、複数のワード線が配置される。メモリセルは、実施の形態１と同様、フローティングゲートを有する積層型トランジスタで構成されるフラッシュメモリセルである。
【０１０８】
図２０および図２１は、この発明の実施の形態２に従う不揮発性半導体記憶装置の書換シーケンスを概念的に示す図である。図２０および図２１においては、メモリブロックＭＢＫ０−ＭＢＫ３が設けられる構成を一例として示す。メモリブロックＭＢＫ０−ＭＢＫ３の各々は、８個のセクタＳＣＲ０−ＳＣＲ７を含む。メモリブロックＭＢＫ０−ＭＢＫ３は、一例として、各々２Ｋバイトの記憶容量を有し、セクタＳＣＲ０−ＳＣＲ７の各々は、２５６バイトの記憶容量を有する。したがって、メモリブロックＭＢＫ０−ＭＢＫ３により、８Ｋバイトのメモリ領域が実現される。
【０１０９】
以下、図２０および図２１を参照して、この発明の実施の形態２に従う不揮発性半導体記憶装置の書換シーケンスについて概略的に説明する。
【０１１０】
データ書込時において、まず、メモリブロックＭＢＫ０の最小セクタアドレスのセクタＳＣＲ０からデータ書込が順次実行される。この場合、同じセクタに対し、データの書換を行なう場合、元のセクタを無効とし、新たなセクタに対しデータ書込を実行する。たとえば、メモリブロックＭＢＫ０のセクタＳＣＲ０にデータＤａｔａ１が最初に書込まれ、順次、セクタＳＣＲ１−ＳＣＲ４に、データＤａｔａ２−Ｄａｔａ５が書込まれる。
【０１１１】
メモリブロックＭＢＫ０のセクタＳＣＲ２に格納されるデータＤａｔａ３の書換を行なう場合、セクタＳＣＲ２を無効状態に設定し、新たなセクタＳＣＲ５に対し、データＤａｔａ３を書込む。以下、同様にして、データの書換が行なわれる場合、書換前のデータを格納するセクタ領域が無効状態に設定され、未書込のセクタのうち最小アドレスのセクタに対するデータの書込が実行される。この場合、データの書換時、単に、元のデータを格納する領域を無効状態に設定して、新たに別のセクタにデータの書込を行なうだけである。したがって、消去は行なわれていないため、高速でデータの書込を行なうことができる。また、１つのセクタに対して消去が集中するのを回避することができ、メモリセルの特性劣化を抑制することができる。
【０１１２】
１つのメモリブロック（ＭＢＫ０）に含まれるセクタＳＣＲ０−ＳＣＲ７がすべて無効状態とされると、メモリブロックＭＢＫ０に対し論理的消去を実行し、このメモリブロックＭＢＫに含まれるセクタＳＣＲ０−ＳＣＲ７をすべて有効状態に設定する。したがって、メモリブロックＭＢＫ０に含まれるセクタＳＣＲ０−ＳＣＲ７に対しては、読出判定電圧ＶＲ２がデータ読出時供給される。
【０１１３】
図２１に示すように、順次セクタのデータの書換を実行し、元のセクタを無効状態に設定して新たなセクタに書込む動作を繰り返し実行する。メモリブロックＭＢＫ３の最終のセクタＳＣＲ７に対するデータの書込が完了すると、次の新たなデータＤａｔａ７の書込時においては、メモリブロックＭＢＫ０のセクタＳＣＲ０−ＳＣＲ７はすべて有効状態であるため、論理的消去状態のセクタＳＣＲ０−ＳＣＲ７に対し、順次データの書込を実行する。したがって、メモリブロックに対する物理的消去の回数を低減することができ、メモリセルの信頼性の低下を抑制することができる。また、物理的消去状態から論理的消去状態へは単にワード線読出電圧のレベルを更新するだけであり、消去の時間を大幅に短縮することができる。
【０１１４】
図２２は、この発明の実施の形態２に従う不揮発性半導体記憶装置において用いられるブロック／セクタの状態およびアドレス変換を管理するブロック／セクタ管理テーブル１１０の構成の一例を概略的に示す図である。図２２において、このブロック／セクタ管理テーブル１１０は、アドレス変換部１１０Ａと、ブロック／セクタステータス管理部１１０Ｂとを含む。
【０１１５】
アドレス変換部１１０Ａは、論理アドレス格納領域１１１および物理アドレス格納領域１１２を含む。論理アドレスは、フラッシュメモリ外部のプロセッサから与えられるアドレスであり、物理アドレスは、フラッシュメモリ内の各セクタを示すアドレスである。
【０１１６】
論理アドアレス格納領域１１１には、プロセッサから与えられた論理アドレスが格納される。物理アドレス格納領域１１２においては、各論理アドレスに対応してセクタの物理アドレスが格納される。書換え時に、新たな書換え先の物理アドレスとそのときに与えられた論理アドレスとが対応付けられる。すなわち、書換え時、与えられた論理アドレスと書換え先の物理アドレスとが対応してそれぞれ論理アドレス格納領域１１１および物理アドレス格納領域１１２に格納される。
【０１１７】
このブロック／セクタステータス管理部１１０Ｂは、消去状態フラグＥＦを格納する消去状態フラグ格納領域１１３と、セクタステータスフラグＳＶＦを格納するセクタステータスフラグ格納領域１１４と、ブロックステータスフラグＢＶＦを格納するブロックステータスフラグ格納領域１１５を含む。このブロック／セクタステータス管理部１１０Ｂは、各メモリブロックごとに各セクタのステータスを管理する。これらの領域１１３−１１５においては、物理アドレスが各領域に対してセクタの物理アドレス順に固定的に割り当てられており、各セクタの消去状態および書込状態等をフラグにより管理する。
【０１１８】
消去状態フラグＥＦは、対応のセクタの消去状態が、論理的消去状態であるか物理的消去状態であるかを示す。セクタステータスフラグＳＶＦは、対応のセクタが、有効状態（未書込み状態）にあるかおよび書込状態にあるかおよび無効状態にあるかを示す。
【０１１９】
ブロックステータスフラグＢＶＦは、各メモリブロック単位で、対応のブロックのすべてのセクタが無効状態であるか、または少なくとも１つのセクタが有効状態であるかを示すとともに、消去として論理的消去が行なわれた状態か論理的消去が行なわれた状態かを行なったかを示す。ブロックステータスフラグＢＶＦが無効状態に設定されると、対応のメモリブロックの全セクタが無効状態に設定されているため、対応のセクタの消去状態に応じてすなわち、論理的消去実行の有無に応じて、論理的消去または物理的消去を実行する。このブロック／ステータス管理テーブル１１０を参照して、外部からのアクセス時に不揮発性半導体記憶装置に対するアドレス変換およびデータ書込／消去が実行される。
【０１２０】
図２３は、この発明の実施の形態２に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。図２３において、メモリセルアレイ１００が、複数のメモリブロックＭＢＫ０−ＭＢＫｍに分割され、メモリブロックＭＢＫ０−ＭＢＫｍの各々が、複数のセクタＳＣＲ０−ＳＣＲｎを含む。
【０１２１】
メモリブロックＭＢＫ０−ＭＢＫｍ各々に対応して、行選択駆動回路ＲＳＤ０−ＲＳＤｍが設けられる。これらの行選択駆動回路ＲＳＤ０−ＲＳＤｍへは、内部電圧発生回路１２０からの内部電圧Ｖ１およびＶ２が与えられる。内部電圧Ｖ１およびＶ２の一方が、制御回路１２２の制御の下に、選択されて各メモリブロック単位で行選択駆動回路ＲＳＤ０−ＲＳＤｎへ供給される。
【０１２２】
制御回路１２２は、外部からのコマンドＣＭＤおよびアドレス信号ＡＤを受けて、ブロック／セクタ管理テーブル１１０を参照し、その参照結果に従って、内部電圧発生回路１２０の発生電圧レベル、データの書込および／読出、ならびに行選択駆動回路ＲＳＤ０−ＲＳＤｍにおける電圧選択態様を制御する。
【０１２３】
データ書換時、有効状態の未書込セクタへデータ書込を行なうために、ライトポインタ１２４およびマルチプレクサ（ＭＵＸ）１２６が設けられる。ライトポインタ１２４は、データの書換えごとに、そのポインタ値が１増分され、順次セクタアドレスを更新する。マルチプレクサ１２６は、制御回路１２２からの制御の下に、ブロック／セクタ管理テーブル１１０から読出された物理アドレスおよびライトポインタ１２４からの書込セクタポインタの一方を選択して、行選択駆動回路ＲＳＤ０−ＲＳＤｎおよび列選択回路１２８へ与える。
【０１２４】
列選択回路１２８は、マルチプレクサ１２６からのセクタアドレスと、アドレス信号ＡＤに含まれる列アドレス信号とに従って列選択動作を実行し、選択列を書込／読出回路１２９に結合する。この書込／読出回路１２９は、データ書込時に、書込データをラッチするための各ビット線に対応して設けられるレジスタ回路を含み、また、データ読出時選択列を流れるビット線電流を検出するためのプリアンプ（センスアンプ）および外部とのデータの授受を行なうための入出力バッファを含む。
【０１２５】
図２４は、この発明の実施の形態２に従う不揮発性半導体記憶装置のデータアクセス時の動作を示すフロー図である。以下、図２４を参照して、図２２および図２３に示すブロック／セクタ管理テーブル１１０および不揮発性半導体記憶装置の動作について説明する。
【０１２６】
図２３に示す制御回路１２２は、コマンドＣＭＤにより、アクセス要求が与えられたかをモニタする（ステップＳＰ１）。
【０１２７】
制御回路１２２は、アクセス要求が与えられると、コマンドＣＭＤが、データの読出を示すリードコマンドであるかデータの書込を指定するライトコマンドであるか、データの消去を指示するイレーズコマンドであるかを判定する（ステップＳＰ２）。コマンドＣＭＤが、データ読出を示すリードコマンドの場合、制御回路１２２は、管理テーブル１１０を参照し（ステップＳＰ３Ａ）、与えられたアドレス信号ＡＤを論理アドレスとして、ブロック／セクタ管理テーブル１１０の物理アドレス格納領域１１２から物理アドレスを読出し、マルチプレクサ１２６を介して行選択駆動回路ＲＳＤ０−ＲＳＤｍおよび列選択回路１２８へ与える（ステップＳＰ４）。これにより、行選択駆動回路ＲＳＤ０−ＲＳＤｍおよび列選択回路１２８が、与えられた物理アドレスに従って行および列選択動作を行ない、対応のメモリセルのデータの読出を行なう。
【０１２８】
実施の形態１と同様、メモリブロック単位で行選択駆動回路において、消去状態に応じて、選択される電圧が設定されており、ワード線読出電圧（読出判定基準電圧）は、消去・書込時に設定されており、単にデータの読出を行なうことにより、行選択駆動回路は消去状態に応じた電圧を選択ワード線上に伝達する。
【０１２９】
このコマンドＣＭＤが、書込または消去を指定するとき、制御回路１２２は、ブロック／セクタ管理テーブル１１０を参照する（ステップＳＰ３Ｂ、ＳＰ３Ｃ）。この管理テーブル参照時、制御回路１２２は、与えられたアドレス信号ＡＤを論理アドレスとして、対応の物理アドレスを読出し、また、この読出した物理アドレスに従ってブロック／セクタ管理部１１０Ｂを参照して対応の消去状態フラグＥＦ、セクタステータスフラグＳＶＦおよびブロックステータスフラグＢＶＦを併せて読込む。
【０１３０】
ステップＳＰ２においてコマンドＣＭＤが、データの書込を示すライトコマンドであると判定されると、制御回路１２２は、ステップＳＰ３Ｂにおいて参照した消去状態フラグＥＦ、セクタステータスフラグＳＶＦおよびブロックステータスフラグＢＶＦに従って、論理アドレスが指定するセクタが、消去状態にあるかの判定が行なわれる（ステップＳＰ６）。これは、セクタステータスフラグＳＶＦが有効かつ書込状態を示しているかを見ることにより判別される。論理アドレスが指定するセクタが、消去状態の時には、この論理アドレスが指定する対象セクタに対する消去を行うことなく書込が、実行される（ステップＳＰ７）。
【０１３１】
次いで、この書込が行われた対象セクタに対する書込フラグをセットして、論理アドレスと物理アドレスの対応を生成して（ステップＳＰ８）、書込を完了する。
【０１３２】
対象セクタが、書込状態の時には、制御回路１２２は、ライトポインタ１２４の生成するポインタを書込アドレスとして選択するようにマルチプレクサ１２６の接続経路を設定する。ライトポインタ１２４からのポインタに従って、行選択駆動回路ＲＳＤ０−ＲＳＤｍにより、空きセクタすなわち未書込状態のセクタのうち、最小アドレスのセクタに対するデータの書込が実行される（ステップＳＰ９）。
【０１３３】
このデータ書込時、ライトポインタ１２４が指定するセクタが含まれるメモリブロックのブロックステータスフラグＢＶＦを参照する。論理的／物理的消去は、メモリブロック単位で実行されるため、ライトポインタ１２４が指定するセクタが含まれるメモリブロックが、論理的消去状態であるかまたは物理的消去状態にあれば、ライトポインタが指定するセクタの消去状態も論理的消去状態または物理的消去状態である。従って、消去動作は実行されず、論理的消去または物理的消去に応じた書込およびベリファイが実行される。このデータ書込完了後、ライトポインタ１２４のポインタが１更新される（ステップＳＰ９）。
【０１３４】
読出した物理アドレスのセクタステータスフラグが書込状態の時には、論理アドレスが指定するセクタ（書込対象セクタ）の記憶データの書換えである（ステップＳＰ１０）。したがって、ブロック／セクタ管理部１１０Ｂにおいて、書換えられたセクタのフラグＳＶＦが無効状態に設定される（ステップＳＰ１１）。一方、新たなセクタに対する書込の場合には、また、ライトポインタが示す物理アドレスに対応するセクタステータスフラグＳＶＦが書込状態に設定される（ステップＳＰ８）。
【０１３５】
また、物理アドレス格納領域１１２に、論理アドレスに対応して、ライトポインタ１２４からのポインタが、対応の物理アドレスとして格納される（ステップＳＰ１１）。
【０１３６】
次いで、ブロックステータスフラグＢＶＦをモニタし、この対象セクタすなわち論理アドレスが指定する書換え前のセクタを含むメモリブロックの全セクタが無効状態に設定されたかの判定が行なわれる（ステップＳＰ１２）。このブロック内の全セクタが無効状態に設定されている場合、すなわちブロックステータスフラグＢＶＦが無効状態に設定されている場合には、メモリブロックの全セクタが物理的消去状態にあるかの判定を行なう（ステップＳＰ１３）。すなわち、消去状態フラグＥＦにおいて、対応のすべてのセクタの論理的／物理的消去状態を示すフラグＥＦを見ることにより、または、ブロックステータスフラグが示す消去状態を見ることにより、この判定を実行する。
【０１３７】
このブロック内の全セクタが無効状態とされまた物理的消去状態の場合には、このブロック内のすべてのセクタに対し論理的消去を実行する（ステップＳＰ１４）。次いで、対応のセクタの消去状態フラグＥＦをおよびブロックステータスフラグＢＶＦを、論理的消去状態を示す状態に設定するとともに、対応のセクタステータスフラグＳＶＦおよびブロックステータスフラグＢＶＦを有効状態に設定する。
【０１３８】
一方、ステップＳＰ１３において、このブロック内の全セクタが物理的消去状態にないと判定されると、ブロック内の全セクタは、論理的消去状態にあり、また、全セクタが無効状態にある。この場合には、対応のブロック内の全セクタに対し物理的消去を実行する（ステップＳＰ１５）。この後、この物理的に消去されたブロック内の全セクタについてセクタステータスフラグＳＶＦを有効未書込状態に設定するとともに、消去状態フラグＥＦを、物理的消去状態を示す状態に設定する。またブロックステータスフラグＢＶＦを、有効状態および物理的消去状態を示す値に設定する。
【０１３９】
一方、ステップＳＰ５において、消去が指定されたと判定されると、論理的／物理的消去は、ブロック単位で実行されるため、先ず、物理アドレス格納領域１１２から与えられた論理アドレスに対応する物理アドレスを対応のフラグとともに読出す。読出した物理アドレスのセクタステータスフラグＳＶＦが、有効未書込状態の時には（ステップＳＰ１７）、指定されたセクタは、消去状態にあるため、以後の消去は行わず、消去動作は、完了する。
【０１４０】
一方、読出した物理アドレスのセクタステータスフラグＳＶＦが、有効書込状態の時には、論理アドレスが指定するセクタ（消去対象セクタ）の記憶データの消去である。この場合には、ライトポインタが指定する最小空セクタアドレスへのアクセスを実行する（ステップＳＰ１８）。このライトポインタが指定するセクタは、最小空きアドレスであり、未書込状態である。従って、実際には、消去は行われず、単にアドレスの変換が行われる。ついで、書込状態のセクタに対する消去の場合（ステップＳＰ１９）、ステップＳＰ１１へ移行し、書込時と同様の処理が実行される。
【０１４１】
一方、新たなセクタに対する消去の場合には、また、ライトポインタが示す物理アドレスに対応するセクタステータスフラグＳＶＦが有効消去状態に設定される（ステップＳＰ２０）。また、消去状態フラグが消去状態を示す値に設定され、物理アドレス格納領域１１２に、論理アドレスに対応して、ライトポインタ１２４からのポインタが、対応の物理アドレスとして格納される。新たに消去された領域（セクタ）は、消去状態にあるため空き領域であり、ライトポインタは、更新されない。
【０１４２】
以上のように、このブロック／セクタ管理テーブルを利用して、ライトポインタ１２４のポインタに従って、順次書換セクタのアドレスを更新してデータ書換を実行することにより、常に、書込時には、消去を行なうことなくデータ書込が行なわれるだけである。したがって、高速の書込を実現することができる。また、物理的消去回数は、低減されるため、消費電力を低減することができ、また、メモリセルの信頼性の劣化を回避することができる。
【０１４３】
また、内部電圧発生回路１２０および制御回路１２２の構成としては、先の図１３に示す実施の形態１に従う内部電圧発生回路３および制御回路４の構成を利用することができる。制御回路４内の主制御回路をシーケンスコントローラで構成することにより、図２４に示す動作フローチャートを実行することができる。管理テーブル１１０としては、実施の形態１と同様、ＥＥＰＲＯＭまたはレジスタファイルを利用することができる。
【０１４４】
図２５は、この発明の実施の形態２に従う行選択駆動駆動回路に含まれる電圧切換回路１３０の構成の一例を概略的に示す図である。図２５において、１つの行選択駆動回路ＲＳＤａについての構成を代表的に示す。行選択駆動回路ＲＳＤａは、ワード線ＷＬ（ＷＬｉ，ＷＬｊ）それぞれに対応して設けられるワード線選択駆動回路ＷＤ（ＷＤｉ，ＷＤｊ）を含む。ワード線選択駆動回路ＷＤ（ＷＤｉ，ＷＤｊ）は、それぞれ同一構成を有するため、図２５においては、行選択駆動回路ＲＳＤａに含まれるワード線ＷＬｉおよびＷＬｊに対して設けられるワード線選択駆動回路ＷＤｉおよびＷＤｊを代表的に示し、その内部構成として、ワード線選択駆動回路ＷＤｉの構成を代表的に示す。
【０１４５】
ワード線選択駆動回路ＷＤｉは、ワード線アドレス信号ＷＡＤをデコードするワード線デコード回路５０と、ワード線デコード回路５０からのデコード信号と電圧選択回路１３０からの内部電圧とに従って対応のワード線ＷＬｉ上に、電圧を伝達するワード線駆動回路５２を含む。電圧選択回路１３０は、各メモリブロックごとに、行選択駆動回路ＲＳＤａに含まれるワード線選択駆動回路に共通に設けられる。
【０１４６】
電圧選択回路１３０は、ブロックアドレス信号ＢＡＤをデコードするブロックデコーダ１３２と、ブロックデコーダ１３２の出力信号と電圧切換信号ＶＳＷとを受けるゲート回路５４と、ゲート回路５４の出力信号をラッチするシフトラッチ５６と、シフトラッチ５６のラッチ信号に従って内部電圧Ｖ１およびＶ２の一方を選択する電圧切換回路５８を含む。
【０１４７】
すなわち、電圧選択回路１３０は、実施の形態１において各ワード線選択駆動回路それぞれに対応して設けられる電圧切換部の構成において、ワード線デコード回路５０に代えてブロックデコーダ１３２からのブロックデコード信号がブロック選択信号として利用される。ゲート回路５４へ与えられる電圧切換信号ＶＳＷは、実施の形態１と同様、このメモリブロック内の全セクタが無効状態に設定されたときに、制御回路１２２に含まれる主制御部（実施の形態１参照）から生成される。電圧切換を行なって、論理的消去を実行する場合、ラッチ指示信号ＬＡＴが与えられる。ワード線駆動回路５２は、同様、この補のラッチ指示信号／ＬＡＴ活性化時非動作状態とされる。
【０１４８】
シフトラッチ５６へは、実施の形態１と同様、電源投入時またはシステムリセット時、このブロック／セクタ管理テーブル１１０に、各物理アドレス順に格納される消去状態フラグＥＦが順次シフトされて格納されて、電圧切換回路５８の接続態様が設定される。また実処理時の消去状態の更新は、実施の形態１の場合と同様にして実行される。
【０１４９】
以上のように、この発明の実施の形態２に従えば、各メモリブロック単位で論理的消去を行なうように構成し、１つのブロック内における全セクタがすべて無効状態に設定されたときに、ブロック単位での消去を実行している。書込は、有効状態とされた未書込状態のセクタに対して実行される。したがって、消去時間を短縮することができ、また消去に要する消費電力も低減することができる。また、消去単位が、メモリブロック（ウェル単位）のように大きい場合でも、セクタ単位での書込を行なうことができる。したがって、データなどのように頻繁に書換が行なわれる場合でも、データを格納するフラッシュメモリにおいても、その書込を高速かつ低消費電力で実行することができる。
【０１５０】
また、ブロック／セクタ管理テーブルとしては、実施の形態１と同様、フラッシュメモリブロック外部に、ＥＥＰＲＯＭを用いて実現してもよく、またフラッシュメモリ内に、レジスタファイルとして、実現されてもよい（この場合、メモリセルアレイ１００内の特定の領域に、管理データ格納領域を専用に設ける）。
【０１５１】
また、この実施の形態２においても、メモリセルの記憶データのしきい値電圧分布が、４つまたは８つと数多く設けられてもよい。この場合でも、メモリセルがＮ値データを格納することができる場合、論理的消去を（Ｎ−２）回実行することができる。この場合の制御態様としては、実施の形態１の変更例の構成を利用することができる（ワード線単位の書込制御に変えてセクタ単位の書込制御を行い、消去はメモリブロック単位で実行する）。
【０１５２】
［実施の形態３］
図２６は、この発明の実施の形態３に従う不揮発性半導体記憶装置のメモリセルアレイの構成を概略的に示す図である。図２６において、メモリセルアレイ１４０は、複数の消去単位ＥＵに分割される。図２６においては、メモリセルアレイ１４０が、４つの消去単位ＥＵ０−ＥＵ３に分割される場合を一例として示す。これらの消去単位ＥＵ０−ＥＵ３は、メモリセルブロックであってもよく、また、お互い分離されるウェル領域であってもよく、またセクタであってもよい。
【０１５３】
消去単位ＥＵ０−ＥＵ３の各々は、書換単位として、ワード線ＷＬａ−ＷＬｄを含む。すなわち、実施の形態２におけるセクタＳＣＲの代わりに、ワード線単位で、データの書換を実行する。
【０１５４】
図２７−図３０は、この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書換シーケンスを模式的に示す図である。以下、図２７から図３０を参照して、この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書換シーケンスについて説明する。
【０１５５】
まず、図２７において、消去単位ＥＵ０−ＥＵ３において、最小アドレスの消去単位ＥＵ０のワード線ＷＬａから、順次データの書込が実行される。図２７において、データＤａｔａ１−Ｄａｔａ６が、消去単位ＥＵ０およびＥＵ１にわたって各ワード線毎に順次格納される。消去単位ＥＵ０のワード線ＷＬｂおよびＷＬｃに格納されたデータＤａｔａ２およびＤａｔａ３の書換が実行される場合、消去単位ＥＵ０のワード線ＷＬｂおよびＷＬｃに対し、論理的消去を実行する。この後、読出判定電圧を、電圧ＶＲ１から電圧ＶＲ２に更新し、消去単位ＥＵ０のワード線ＷＬｂおよびＷＬｃに対する書込を実行する。
【０１５６】
ワード線ＷＬｂおよびＷＬｃに接続されるメモリセルのデータ読出時、読出判定電圧が、電圧ＶＲ２に設定される。以降、新規データの書込は、順次アドレスを更新して、未書込ワード線に対してデータの書込が実行され、データの更新は、論理的消去を行なってもとのワード線に対して実行される。
【０１５７】
次に、図２８に示すように、論理的消去が実行された消去単位ＥＵ０のワード線ＷＬｂおよびＷＬｃの格納データＤａｔａ２およびＤａｔａ３の再書換が実行される。この場合、論理的消去状態のワード線ＷＬｂおよびＷＬｃを無効状態に設定する。未書込ワード線の最小アドレスの消去単位ＥＵ２のワード線ＷＬａおよびＷＬｂに、それぞれ順次与えられたデータに従ったデータＤａｔａ３およびＤａｔａ２が書込まれる。１回目の書込が行なわれたワード線、すなわち物理的消去状態において新規データの書込が行なわれたワード線は、読出判定電圧は、電圧ＶＲ１である。
【０１５８】
以降、順次、データの再書込時（更新時）においては、論理的消去を行なうことが可能な場合、すなわち書換対象のワード線が、物理的消去状態の後にデータの書込が行なわれている場合には、論理的消去を実行してデータの書換を実行する。一方、書換対象のワード線が、論理的消去状態にあり、かつ書換が実行されている場合には、その対応のワード線を無効状態に設定し、未書込状態のワード線のうちの最小アドレスのワード線に、新たにデータの書込を実行する。図２９においては、データＤａｔａ１−Ｄａｔａ５が書き換えられて、それぞれ、対応のワード線が無効常態とされて、未書込状態の別のワード線にデータが書込まれた状態を示す。データＤａｔａ６−Ｄａｔａ８は、消去単位ＥＵ１において対応のワード線の論理的消去を行なった後に、元のワード線に接続されるメモリセルに対して書込まれる。
【０１５９】
一方、消去単位ＥＵ２においては、データＤａｔａ９の書換が実行され、論理的消去が実行され、新たなデータＤａｔａ９が格納される。データＤａｔａ１およびＤａｔａ４は、元のワード線が論理的消去状態にあり、さらにデータを書込む必要があり、新たな未書込のワード線の最小アドレスのワード線に対して書込まれる。
【０１６０】
この論理的消去による再書込および物理的消去による再書込後のワード線、すなわち論理的消去状態のワード線の無効化を繰返すことにより、１つの消去単位において、ワード線がすべて無効状態に設定される状態となる。すなわち、図２９に示すように、消去単位ＥＵ０のワード線がすべて無効状態とされる。
【０１６１】
この場合、図３０に示すように、消去単位ＥＵ０において物理的消去を行ない、この消去単位ＥＵ０に含まれるワード線を、全て有効かつ未書込状態に変更する。以降、新たなデータの書込時、または、論理的消去状態のワード線へのデータの書換時には、この新たに未書込状態とされた消去単位ＥＵ０のワード線を用いてデータの書込が実行される。
【０１６２】
この場合、消去単位のワード線の消費、すなわち書込／書換は、判定電圧（ワード線読出電圧）ＶＲ１およびＶＲ２に分散される。したがって、各消去単位内のワード線の消去はそれぞれ２回実行することができ、消去単位内のワード線の数を倍増させることができる。したがって、このデータの書換を、小さな記憶容量のメモリ領域で実行することができる。データ領域として小記憶領域の不揮発性半導体記憶装置を利用することができる。
【０１６３】
図３１は、この発明の実施の形態３において利用される管理テーブルの構成を概略的に示す図である。図３１において、管理テーブル１５０は、物理アドレス管理テーブル１５２と、消去単位管理テーブル１５４とを含む。物理アドレス管理テーブル１５２は、論理アドレス格納領域１６０、登録フラグ格納領域１６２、物理的アドレス格納領域１６４、および消去状態フラグ格納領域１６６を含む。各領域に、１エントリとして、論理アドレス、登録フラグＲＦ、論理アドレスに対応する現在の物理アドレス、物理アドレスの消去状態とを示すフラグＥＦが互いに関連付けて格納される。論理アドレスは、先の実施の形態１と同様、プロセッサから与えられるアドレスであり、物理アドレスは、メモリ内のワード線位置を示すアドレスである。
【０１６４】
登録フラグＲＦは、この論理アドレス格納領域１６０に格納される論理アドレスに対するデータの書込が要求されたかを示す。消去状態フラグＥＦは、物理アドレスが示すワード線が、物理的消去を行なわれた状態であるか論理的消去が行なわれた状態であるかを示す。
【０１６５】
登録フラグＲＦは、未登録のとき、論理アドレスが、まだ使用されていないことを示す。この登録フラグＲＦが登録状態を示す場合には、その論理アドレスに対応する現在の物理アドレスが、物理アドレス格納領域１６４に格納される。したがって、この物理アドレスに対して、データの書込が行なわれる。この場合、対応のワード線は、物理的消去が行なわれた状態（物理的消去状態）または論理的消去が行なわれた状態（論理的消去状態）のいずれかである。したがって、論理アドレスが与えられた場合、この物理アドレス消去管理テーブル１５２に、対応の物理アドレスが、登録フラグＲＦが設定されて格納されている場合には、この物理アドレスが示すワード線のデータの書換を示す。このとき対応の消去状態フラグＥＦが物理的消去状態および論理的消去状態のいずれかを示すかに従って、この物理アドレスが示すワード線領域への書換動作または別の新規な物理アドレスが示すワード線へのデータの書込を選択的に実行する。
【０１６６】
消去単位管理テーブル１５４は、消去単位アドレス格納領域１７０、ワード線アドレス格納領域１７２、書込フラグ格納領域１７３、および有効／無効フラグ格納領域１７４を含む。消去単位アドレス格納領域１７０には、消去単位ＥＵ０、…の各アドレス（たとえばブロックアドレスまたはセクタアドレス）が格納される。ワード線アドレス格納領域１７２には、各消去単位ごとに、対応の消去単位に含まれるワード線のアドレスが格納される。書込状態フラグ格納領域には、消去単位内の各ワード線に対してデータの書込が行われた状態であるか消去状態にあるかを示すフラグが格納される。
【０１６７】
有効／無効フラグ格納領域１７４には、各ワード線の有効状態、すなわち有効データを格納しているか、または無効状態に設定されているかを示す有効／無効フラグＶＦが、各ワード線アドレスに対応して格納される。ここで有効データは、論理アドレスが示すワード線のメモリセルデータをそのまま読出すことができる状態を示す。無効状態は、対応のワード線が、論理的消去状態において再書込が行なわれ、アドレス変換により、別のワード線に対し、論理アドレスが示すデータが書込まれた状態を示す。
【０１６８】
消去単位管理テーブル１５４を用いることにより、消去単位におけるワード線アドレスが、全て、有効／無効フラグＶＦによって無効状態に設定された場合に、この消去単位に対する物理的消去が実行される。
【０１６９】
図３２は、この発明の実施の形態３に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。図３２において、メモリセルアレイ１８０は、複数の消去単位ＥＵ０−ＥＵｎに分割される。この消去単位ＥＵ０−ＥＵｎにおいては複数のワード線ＷＬが配置される。消去単位ＥＵ０−ＥＵｎそれぞれに対応して、ワード線デコード／ドライバ群ＷＤＤ０−ＷＤＤｎが設けられる。このワード線デコード／ドライバ群ＷＤＤ０−ＷＤＤｎそれぞれにおいては、各ワード線ＷＬに対応して、実施の形態１において示したワード線選択駆動回路が設けられる。
【０１７０】
メモリセルアレイ１８０に対しては、また、列選択回路１８２および書込／読出回路１８４が設けられる。
【０１７１】
この不揮発性半導体記憶装置は、さらに、コマンドＣＭＤおよびアドレス信号ＡＤを受け、データアクセス（読出／書換え）に必要な動作を制御する制御回路２００と、制御回路２００の制御の下に内部電圧Ｖ１およびＶ２を発生する内部電圧発生回路２０２と、新規データの書込アドレスを発生するライトポインタ２０４と、制御回路２００の制御の下に、ライトポインタ２０４からのポインタアドレスおよび管理テーブル１５０から読出された物理アドレスの一方を選択するマルチプレクサ（ＭＵＸ）２０６が設けられる。
【０１７２】
この管理テーブル１５０は、先の実施の形態１と同様、フラッシュメモリブロック外部に、かつ同一半導体チップ上にたとえばＥＥＰＲＯＭで設けられてもよく、また実施の形態１の変更例のように、管理テーブル１５０はレジスタファイルで構成され、メモリセルアレイ１８０の特定のデータ領域に、その格納データが保存され、電源立上げ時に、管理テーブル１５０に、メモリセルアレイの特定のデータ領域のデータが初期設定されてもよい。
【０１７３】
この制御回路２００の内部の具体的構成は、先の図１３に示す第１の実施の形態において用いられた制御回路の構成と同様である。書換えおよび新規データ書込ワード線の選択シーケンスが、実施の形態１と異なるだけである。
【０１７４】
図３３は、この発明の実施の形態３に従う不揮発性半導体記憶装置のデータの書込および読出を行う際の動作を示すフロー図である。以下、図３３を参照して、図３１および図３２に示す不揮発性半導体記憶装置のデータアクセス動作について説明する。
【０１７５】
制御回路２００は、コマンドＣＭＤが、プロセッサ（マイクロコンピュータ）から与えられるのを待つ（ステップＳＴ１）。コマンドＣＭＤが与えられると、制御回路２００は、プロセッサからのコマンドＣＭＤが、データ読出を示すリードコマンドであるかデータ書換を示すライトコマンドであるかを識別する（ステップＳＴ２）。
【０１７６】
データ読出を示すリードコマンドが与えられたときには、制御回路２００は、管理テーブル１５０の物理アドレス管理テーブル１５２を参照し、プロセッサからのアドレス信号ＡＤが示す論理アドレスに対応する物理アドレスを読出す（ステップＳＴ３）。このプロセッサからデータ読出が与えられている場合には、既にそのアドレス信号ＡＤが示す論理アドレスの領域には、データが書込まれている。したがって、この場合には、管理テーブルから読出された物理アドレス（テーブル参照アドレス）をマルチプレクサ２０６を介してワード線デコード／ドライバ群ＷＤＤ０−ＷＤＤｎおよび列選択回路１８２へ与え、選択メモリセルのデータの読出を実行する（ステップＳＴ４）。このとき、有効データが格納されていることを確認するために、登録フラグおよび有効／無効フラグが参照されても良い。
【０１７７】
このコマンドＣＭＤが、データ書込を示すライトコマンドの場合、制御回路２００は、また、管理テーブル１５０を参照する（ステップＳＴ５）。この場合、まず、制御回路２００は、管理テーブル１５０に含まれる物理アドレス管理テーブル１５２の登録フラグＲＦを読込み、このアドレス信号ＡＤが示す論理アドレスに対して、既に書込が行なわれているか、すなわち既にアクセスされているかを識別する（ステップＳＴ６）。
【０１７８】
プロセッサからのアドレス信号ＡＤが示す論理アドレスに付随する登録フラグＲＦが未登録を示す場合には、この論理アドレスへは、初めて書込が実行される。また、登録フラグが登録されていても、消去単位において消去状態にある場合もある。この場合には、対応の物理アドレスを読出し、対応の書込フラグが、書込状態に設定されているかの判定が行なわれる（ステップＳＴ７）。登録フラグが未登録状態の時または書込フラグが書込状態を示している場合には、新たな物理アドレスに書込む必要がある。従って、ライトポインタ２０４からのポインタをマルチプレクサ２０６を介して列選択回路１８２およびワード線デコード／ドライバ群ＷＤＤ０−ＷＤＤｎへ与える。ライトポインタ２０４が示すポインタに従って、データの書込が実行される（ステップＳＴ８）。
【０１７９】
この後、管理テーブル１５２において、論理アドレスとともに、登録フラグが未登録の場合には、対応の登録フラグを登録状態に設定し、この論理アドレスに示すデータが書込まれた物理アドレス、すなわちライトポインタ２０４のポインタを、論理アドレスに対応付けて物理アドレス管理テーブル１５２に格納する。また、この場合には、初めての領域に対するデータの書込であり、対応の消去状態フラグＥＦは、物理的消去状態を示す状態（たとえば“０”）に維持される。また、書込フラグおよび有効／無効フラグが、それぞれ、書込状態および有効状態を示す値に設定される。
【０１８０】
また、ライトポインタ２０４のポインタが１増分される（ステップＳＴ９）。これにより、新規データの書込が完了する。
【０１８１】
一方、ステップＳＴ７において、物理アドレス領域が有効消去状態にあると判定されると、消去状態の未書込状態であり、対象論理アドレスが指定する物理アドレスに対して消去動作を行うことなく、データの書込が行われる（ステップＳＴ１７）。
【０１８２】
物理アドレスの書込フラグが書込状態に設定され、また、有効／無効フラグは、有効状態に維持される（ステップＳＴ１８）。
【０１８３】
一方、ステップＳＴ６において、論理アドレスが既書込であると、その登録フラグＲＦおよび書込フラグに従って判定されると、対応の消去状態フラグＥＦを参照して、対応の物理アドレスの領域が、物理的消去状態であるか論理的消去状態であるかの判定が行なわれる（ステップＳＴ１０）。先の実施の形態１および２と同様、登録状態での物理的消去状態は、物理的消去が行なわれてデータの書込が行なわれた状態であり、論理的消去状態は、論理的消去が行なわれてデータの書込が行なわれた状態である。この場合、物理アドレス管理テーブル１５２においては、論理アドレスに対応して最新の物理アドレスが設定されており、この物理アドレスが示すデータ格納領域は、有効データが格納された領域である。
【０１８４】
この論理アドレスに対応付けられた物理アドレスが示す領域が、物理的消去状態の場合には、データの書換であり、物理アドレス管理テーブル１５２の物理アドレス格納領域１６４に格納された対応の物理アドレスを参照し、テーブルから参照された物理アドレスが示す領域に対して論理的消去を実行し、次いで書込を実行する（ステップＳＴ１１）。次いで、この書込完了後、物理アドレス管理テーブル１５２の消去状態フラグＥＦを、論理的消去状態を示す（たとえば“１”）に設定する（ステップＳＴ１２）。
【０１８５】
一方、ステップＳＴ１０において、論理アドレスに対応付けられた物理アドレスの領域が、論理的消去状態であると判定されると、ライトポインタ２０４が示すポインタアドレスの領域に対し、データの書込を実行する（ステップＳＴ１３）。この後、管理テーブル１５０、すなわち物理アドレス管理テーブル１５２の物理アドレス格納領域１６４の対応の物理アドレスを、このライトポインタが示すポインタアドレスに更新するとともに、消去状態フラグＥＦを、物理的消去状態を示す値に設定する。さらに、消去単位管理テーブル１５４において、この物理アドレスに対応するワード線アドレスに付随する有効／無効フラグＶＦを、無効状態に設定する。これにより、論理的消去状態の領域へのデータ書込時、別の最小アドレスの未書込のワード線に対して書込が行なわれたことが保存される。また、ライトポインタ２０４からのポインタアドレスが使用され、ライトポインタ２０４のポインタを、１増分する。
【０１８６】
次いで、消去単位管理テーブル１５４において、消去単位アドレスが示す領域のワード線アドレスの有効／無効フラグＶＦが、すべて無効状態に設定されたかの判定が行なわれる（ステップＳＴ１５）。消去単位内の全ワード線が無効状態に設定されている場合には、その対応の消去単位に対し物理的消去を実行し、その後、消去単位内の有効／無効フラグＶＦをすべて有効状態に設定する。
【０１８７】
消去単位内のすべてのワード線が無効状態でなく、少なくとも１つのワード線が有効状態（有効書込状態または消去状態）にある場合には、書込動作が完了する。
【０１８８】
この物理アドレス単位での消去状態の管理および消去単位での有効／無効のフラグ状態を管理することにより、消去単位内のワード線単位で消去状態を異なる消去状態、すなわち物理的消去状態および論理的消去状態に設定することができる。
【０１８９】
なお、消去単位管理テーブル１５４において、消去単位（たとえばＥＵ０）の全ワード線がすべて無効状態に設定されているかの判定時には、この消去単位アドレスに対応する有効／無効フラグＶＦをすべて並列に読出し、ＡＮＤ処理またはＯＲ処理を行ない、すべて無効状態にあるかを、この論理処理結果に基づいて識別することができる。消去単位管理テーブル１５４の複数ビット単位でのデータの書込／読出時において、１ビットの有効／無効フラグの更新時、リードモディファイライト動作を利用すれば容易に、１ビット単位で有効／無効フラグＶＦの更新を実行することができる。
【０１９０】
図３４は、消去コマンドが与えられた場合の動作を示すフローチャート図である。以下、図３４を参照して、消去コマンド印化時の動作について説明する。
【０１９１】
先ず、消去コマンドが印加されるのを待つ（ステップＳＴ２０）。消去コマンドが印加されると、管理テーブルを参照する（ＳＴ２１）。書込フラグおよび有効／無効フラグを参照して、消去を指示された領域が、有効消去状態にあるかの判定が行なわれる（ステップＳＴ２３）。指定された領域が、有効消去状態にあれば、さらに消去を行なう必要がなく、消去動作は完了する。
【０１９２】
一方、ステップＳＴ２２において、指定された領域が、有効消去状態ではないと判定される場合、与えられた論理アドレスが指定する物理アドレスに対してデータの書込が行われている。消去は、登録フラグがセットされて書込が行われた領域に対して指定されるためである。
【０１９３】
次いで、指定された領域、すなわち、論理アドレスに対応する物理アドレス（ワード線アドレス）が、物理的消去状態にあるか論理的消去状態にあるかの判定が、消去状態フラグＥＦを参照して行なわれる（ステップＳＴ２３）。物理的消去状態の時には、テーブル参照アドレス（管理テーブルから読出されたアドレス）に従って、対応のアドレスを論理的消去状態に設定し（ステップＳＴ２４）、管理テーブルの対応の消去状態フラグを論理的消去状態に設定し、また書込フラグを消去状態に設定する（ステップＳＴ２５）。
【０１９４】
ステップＳＴ２３において、論理的消去状態にあると判定されると、対応の物理アドレスが指定する領域の消去単位に対して物理的消去を行う必要があり、ライトポインタが指定するアドレスに対して消去を実行する（ステップＳＴ２６）。
【０１９５】
この変更先のアドレスの消去を管理するために、管理テーブルにおいて、有効／無効フラグを無効状態に設定するとともに、ライトポインタが指定する物理アドレスの書込フラグを消去状態に設定し、また、有効／無効フラグを有効状態に設定し、消去状態フラグＥＦを、ライトポインタが指定する領域に対して設定された消去状態に維持する。また、ライトポインタを１増分する（ステップＳＴ２７）。このとき論理アドレスと物理アドレスの対応が、ライトポインタのポインタに従って更新される。
【０１９６】
次いで、書込動作時と同様にして、消去単位内の全ワード線が無効状態に設定されているかの判定が行なわれる（ステップＳＴ２８）。対応の消去単位の全ワード線が無効状態の場合には、消去単位の物理的消去が行われ、管理テーブルにおいて、書込フラグを未書込状態に設定し、また、有効／無効フラグを有効状態に設定する（ステップＳＴ２９）。
【０１９７】
以上のようにして、消去コマンドが印加された場合においても、論理的消去の実行および消去単位の全ワード線が無効状態とされた場合の物理的消去の実行を実現することができる。
【０１９８】
上述の説明においては、消去単位に含まれるワード線を書換単位として示している。しかしながら、消去単位がメモリセルブロックであり、この書換単位がセクタであり、複数のワード線に対し一括して書換が実行される構成に対しても、この実施の形態３は適用することができる。
【０１９９】
また、メモリセルが。４値以上のＮ値データを格納することができる場合、（Ｎ−２）段階の論理的消去を行なうことができる。消去状態フラグＥＦを（Ｎ−１）個の論理的および物理的消去状態のいずれの消去状態にあるかを示すように、複数ビットの消去状態フラグを利用する。消去状態フラグＥＦが、最大論理的消去状態となると、対応のワード線を無効状態に設定して、新たな未書込のワード線に対して書込を実行する。消去単位の物理的消去は、該消去単位内の全ワード線が無効状態とされると実行する。
【０２００】
また、図３２に示す内部電圧発生回路２０２および制御回路２００の構成としては多値メモリの構成を利用して（実施の形態１の変更例の構成を拡張して）、また、制御回路２００としては、シーケンスコントローラを利用する多値データ書込制御の構成を利用して、フラグを参照して、利用するしきい値電圧分布領域を設定すればよい。
【０２０１】
また、ワード線デコード／ドライバ群における電圧切換は、実施の形態２と同様に行なうことにより、ワード線単位の論理的消去および消去単位の物理的消去を実現することができる。また、ワード線をセクタで置き換えれば、実施の形態２のセクタ単位の書換えおよびブロック単位の消去の構成に対しても、同様本実施の形態３の構成を適用することができる。
【０２０２】
以上のように、この発明の実施の形態３に従えば、メモリセルを、論理的消去状態および物理的消去状態のいずれかに設定している。したがって、物理的消去の回数を低減することができ、書込動作によるメモリセルのストレスを低減することができ、信頼性低下を抑制することができる。
【０２０３】
また、書換単位領域は、複数回利用可能であり、応じて、この消去単位の書換単位数を増加させることができる。従って、実効的に、メモリ領域の記憶容量が増加される。これにより、小規模のメモリ領域でメモリシステムを構成することができ、チップサイズおよび／またはコストを低減することができる。
【産業上の利用可能性】
【０２０４】
この発明は、不揮発性半導体記憶装置に対し、適用することにより、高速でかつ低消費電力で書換を行なうことのできる不揮発性半導体記憶装置を実現することができる。特にＮＯＲ型フラッシュメモリに対し適用することにより、プログラムなどの書換回数の少ない情報を、高速で書換えることができるとともに、プログラムサイズに応じた領域を書換えることができる。
【０２０５】
また、ＮＡＮＤ型フラッシュメモリにおいても、ワード線単位で書換を実行することができ、この消去防止のために、非選択ワード線をウェル電位と同一電圧レベルに設定する必要がなく、メモリセルの信頼性を損なうことなく高速でデータの書換を行なうことができる。
【０２０６】
また、メモリセルとしては、フローティングゲートの蓄積電荷量に応じてデータを格納している。しかしながら、ＯＮＯ膜（酸化膜−窒化膜−酸化膜）などの絶縁膜の蓄積電荷量に応じてデータを格納する絶縁膜電荷トラップ型のメモリセルに対しても本発明は適用することができる。
【０２０７】
また、実施の形態１、２および／または実施の形態３を組合せることにより、プログラムを格納するプログラム領域およびデータを格納するデータ領域を同一メモリセルアレイ内に配置し、プログラム領域に対しては実施の形態１に従う構成を適用し、頻繁に書換の行なわれるデータ領域に対しては、実施の形態２または３を適用することにより、高速かつ低消費電力で書換を行なうことができるとともに、メモリセルの信頼性低下を抑制することができる不揮発性半導体記憶装置を実現することができる。
【０２０８】
また、この発明に従う不揮発性半導体記憶装置を、プロセッサと同一半導体チップ上に集積化されるマイクロコンピュータ内蔵フラッシュメモリに適用することにより、このマイクロコンピュータのチップサイズの増大を抑制することができるとともに、各種用途に応じた種々のサイズのプログラムの改訂／修正を高速で容易に実行することができる。
【図面の簡単な説明】
【０２０９】
【図１】この発明の実施の形態１に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。
【図２】図１に示すメモリセルアレイの構成の一例を概略的に示す図である。
【図３】図２に示すメモリセルの具体的構成の一例を示す図である。
【図４】図１に示す消去管理テーブルの構成の一例を示す図である。
【図５】メモリセルのしきい値電圧分布の一例を概略的に示す図である。
【図６】この発明の実施の形態１に従う不揮発性半導体記憶装置のデータアクセス動作を示すフロー図である。
【図７】この発明に従う不揮発性半導体記憶装置のメモリセルの断面構造および読出時の印加電圧を示す図である。
【図８】この発明に従う不揮発性半導体記憶装置のメモリセルの書込時の印加電圧を概略的に示す図である。
【図９】この発明の実施の形態１における論理消去時のしきい値電圧分布の一例を概略的に示す図である。
【図１０】この発明のメモリセルの物理的消去時の印加電圧を概略的に示す図である。
【図１１】メモリセルの物理的消去時のしきい値電圧分布の一例を概略的に示す図である。
【図１２】メモリセルの物理的消去後の書込時のしきい値電圧分布を概略的に示す図である。
【図１３】図１に示す内部電圧発生回路および制御回路の構成の一例を概略的に示す図である。
【図１４】図１に示すワード線選択駆動回路の構成の一例を概略的に示す図である。
【図１５】この発明の実施の形態１に従うフラッシュメモリ（不揮発性半導体記憶装置）を組込むマイクロコンピュータのチップ構成を概略的に示す図である。
【図１６】この発明の実施の形態１に従う消去管理テーブルの他の配置を概略的に示す図である。
【図１７】この発明の実施の形態１の変更例のメモリセルのしきい値電圧分布を概略的に示す図である。
【図１８】この発明の実施の形態１の変更例のデータアクセス動作を示すフロー図である。
【図１９】この発明の実施の形態２に従う不揮発性半導体記憶装置のメモリセルアレイの構成を概略的に示す図である。
【図２０】この発明の実施の形態２に従う不揮発性半導体記憶装置のデータ書込シーケンスを概略的に示す図である。
【図２１】この発明の実施の形態２に従う不揮発性半導体記憶装置のデータ書込シーケンスを概略的に示す図である。
【図２２】この発明の実施の形態２において用いられる管理テーブルの構成を概略的に示す図である。
【図２３】この発明の実施の形態２に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。
【図２４】この発明の実施の形態２に従う不揮発性半導体記憶装置のデータアクセス動作を示すフロー図である。
【図２５】この発明の実施の形態２に従う不揮発性半導体記憶装置の行選択駆動回路の構成を概略的に示す図である。
【図２６】この発明の実施の形態３に従う不揮発性半導体記憶装置のメモリセルアレイの構成の一例を概略的に示す図である。
【図２７】この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書込動作シーケンスを示す図である。
【図２８】この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書込シーケンスを模式的に示す図である。
【図２９】この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書込シーケンスを模式的に示す図である。
【図３０】この発明の実施の形態３に従う不揮発性半導体記憶装置のデータ書込シーケンスを模式的に示す図である。
【図３１】この発明の実施の形態３に従う不揮発性半導体記憶装置において用いられる管理テーブルの構成の一例を示す図である。
【図３２】この発明の実施の形態３に従う不揮発性半導体記憶装置の全体の構成を概略的に示す図である。
【図３３】この発明の実施の形態３に従う不揮発性半導体記憶装置のデータアクセスシーケンスを示すフロー図である。
【図３４】この発明の実施の形態３に従う不揮発性半導体記憶装置の消去時の動作シーケンスを示すフロー図である。
【符号の説明】
【０２１０】
１  メモリセルアレイ、ＷＤ０−ＷＤｋ  ワード線選択駆動回路、３  内部電圧発生回路、４  制御回路、７  消去管理テーブル、ＭＣ  メモリセル、ＷＬ０−ＷＬｍ  ワード線、７ａ  ワード線アドレス格納領域、７ｂ  消去状態フラグ格納領域、ＣＧ  コントロールゲート、ＦＧ  フローティングゲート、１０  ウェル、３０  物理消去電圧発生部、３２  物理消去後書込電圧発生部、３４  論理消去電圧発生部、３６  論理消去後書込電圧発生部、４０  主制御部、４２  物理消去制御部、４４  物理消去後書込制御部、４６  論理消去制御部、４８  論理消去後書込制御部、５０  ワード線デコード回路、５２  ワード線駆動回路、５８  電圧切換回路、６０  フラッシュメモリ内蔵マイクロコンピュータ、６１  マイクロプロセッサ、６２  フラッシュメモリ、６４  消去管理テーブル（ＥＥＰＲＯＭ）、６６  ＲＡＭ、７０  フラッシュメモリブロック、７２  消去管理テーブル（レジスタファイル）、ＭＢＫ０−ＭＢＫｍ  メモリブロック、ＣＲ０−ＣＲｎ  セレクタ、１００  メモリセルアレイ、ＲＳＤ０−ＲＳＤｎ  行選択駆動回路、１１０  ブロック／セクタ管理テーブル、１１０Ａ  アドレス変換部、１１０Ｂ  ブロック／セクタ管理部、１１１  論理アドレス格納領域、１１２  物理アドレス格納領域、１１３  消去状態フラグ格納領域、１１４  セクタステータスフラグ格納領域、１１５  ブロックステータスフラグ格納領域、１２０  内部電圧発生回路、１２２  制御回路、１２４  ライトポインタ、１３０  電圧選択回路、２００  メモリセルアレイ、ＷＬａ−ＷＬｄ  ワード線、ＥＵ０−ＥＵ３  消去単位、１５０  管理テーブル、１５２  物理アドレス消去管理テーブル、１５４  消去単位管理テーブル、１６０  論理アドレス格納領域、１６２  登録フラグ格納領域、１６４  物理アドレス格納領域、１６６  消去状態フラグ格納領域、１７０  消去単位アドレス格納領域、１７２  ワード線アドレス格納領域、１７４  有効／無効フラグ格納領域、１８０  メモリセルアレイ、ＥＵ０−ＥＵｎ  消去単位、ＷＤＤ０−ＷＤＤｎ  ワード線デコード／ドライバ群、２００  制御回路、２０２  内部電圧発生回路、２０４  ライトポインタ。
【図１】
2009252255.tif 000003
【図２】
2009252255.tif 000004
【図３】
2009252255.tif 000005
【図４】
2009252255.tif 000006
【図５】
2009252255.tif 000007
【図６】
2009252255.tif 000008
【図７】
2009252255.tif 000009
【図８】
2009252255.tif 000010
【図９】
2009252255.tif 000011
【図１０】
2009252255.tif 000012
【図１１】
2009252255.tif 000013
【図１２】
2009252255.tif 000014
【図１３】
2009252255.tif 000015
【図１４】
2009252255.tif 000016
【図１５】
2009252255.tif 000017
【図１６】
2009252255.tif 000018
【図１７】
2009252255.tif 000019
【図１８】
2009252255.tif 000020
【図１９】
2009252255.tif 000021
【図２０】
2009252255.tif 000022
【図２１】
2009252255.tif 000023
【図２２】
2009252255.tif 000024
【図２３】
2009252255.tif 000025
【図２４】
2009252255.tif 000026
【図２５】
2009252255.tif 000027
【図２６】
2009252255.tif 000028
【図２７】
2009252255.tif 000029
【図２８】
2009252255.tif 000030
【図２９】
2009252255.tif 000031
【図３０】
2009252255.tif 000032
【図３１】
2009252255.tif 000033
【図３２】
2009252255.tif 000034
【図３３】
2009252255.tif 000035
【図３４】
2009252255.tif 000036