(57)【要約】【課題】不揮発性メモリの消去対象とされる記憶情報をバックアップするのに要する時間を短縮する。【解決手段】ページ単位で書換え動作が可能にされる複数のメモリマット（２１，２２）と、前記メモリマットに対するバイトアクセス制御可能なメモリ制御回路（２６，３７，３８）とを有する。メモリ制御回路はバイトアクセス制御において複数のメモリマットを動作させ、データ書き換えでは一のメモリマットの中で選択されたページから読出したデータを書込みバイトデータでマージし、マージしたデータを他のメモリマットの中で選択された対応ページに書き込み、読出しでは複数のメモリマットの各々で選択されたページのうち有効なページであって最も最近書換えられたページから読出しを行う。一のメモリマットの中で選択されたページは他のメモリマットの中で選択されたページに対して書換え前の実質的なバックアップデータを保有することになる。【選択図】図１
2007140733.tif 000002
【特許請求の範囲】
【請求項１】
書換え可能な不揮発性メモリと、前記不揮発性メモリをアクセス可能なデータ処理ユニットとを有し、
前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、前記データ処理ユニットからのアクセス指示に応答して前記メモリマットに対するメモリ動作を制御するメモリ制御回路とを有し、
前記メモリ制御回路はメモリマットの所定のアドレス領域に対するアクセスに応答してバイトアクセス制御を行い、その他のアドレス領域に対するアクセスに応答してページアクセス制御を行い、
前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う半導体処理装置。
【請求項２】
前記管理情報として、当該ページが保有するデータが破壊されているか否かを示すための複数ビットのエラー判定ビットを含み、
前記メモリ制御回路は前記選択されたページの有効性を当該ページが保有する前記エラー判定ビットによって判定する請求項１記載の半導体処理装置。
【請求項３】
前記エラー判定ビットは全ビット同一論理値以外の複数の論理値の組み合わせを有する請求項２記載の半導体処理装置。
【請求項４】
前記メモリ制御回路は、前記マージしたデータを書込む前記対応ページの有効無効を問わない請求項２記載の半導体処理装置。
【請求項５】
前記管理情報として当該ページが保有するデータの優先度を示すための複数ビットの優先度データを有し、
前記制御回路は、優先度の高い優先度データに対応するページほど最近書換えられたページであると判定する請求項４記載の半導体処理装置。
【請求項６】
前記メモリ制御回路は、前記バイトデータをマージしたデータの書き込みにおいて、書込み対象ページの優先度データを、前記バイトデータによるマージ対象とされた元のデータを保有するページの優先度よりも高い優先度に更新する請求項５記載の半導体処理装置。
【請求項７】
前記バイトアクセス制御の対象とされる前記所定のアドレス領域はデータ格納領域とされ、
前記ページアクセス制御の対象とされる前記その他のアドレス領域はプログラム格納領域とされる請求項１記載の半導体処理装置。
【請求項８】
前記バイトアクセス制御の対象とされる前記所定のアドレス領域は第１のデータ格納領域とされ、
前記ページアクセス制御の対象とされる前記その他のアドレス領域は第２のデータ格納領域とされる請求項１記載の半導体処理装置。
【請求項９】
前記メモリ制御回路はアドレス制御部を有し、
前記アドレス制御部は、前記データ処理ユニットから供給されるアクセスアドレス信号を入力し、入力したアクセスアドレス信号に対してページを選択するページ選択アドレスとページ内のバイトを選択するバイト選択アドレスと、２ビットのマット選択制御信号とを生成し、
前記アドレス制御部は、前記ページアクセス制御を指定する前記アクセスアドレス信号に対しては２個のメモリマットに共通のページアドレスを生成すると共に前記アクセスアドレス信号の所定の１ビットの値に応じて前記マット選択制御信号を第１の値又は第２の値とし、前記バイトアクセス制御を指定する前記アクセスアドレス信号対しては２個のメモリマットに共通のページアドレスを生成すると共にその他の制御情報に基づいて前記マット選択制御信号を第３の値又は第４の値とし、
前記メモリ制御回路は、前記マット選択制御信号が第３の値のときは前記最も最近書換えられたと判定されたページから読出しを行う請求項１記載の半導体処理装置。
【請求項１０】
前記その他の制御情報は選択的にテストモードを設定するための制御情報である請求項９記載の半導体処理装置。
【請求項１１】
前記メモリ制御回路は、前記マット選択制御信号が第４の値のときは前記最も最近書換えられたと判定されたページとは異なるページから読出しを行う請求項９記載の半導体処理装置。
【請求項１２】
前記バイトアクセス制御を行うメモリマットの所定のアドレス領域は、アクセス不可能な領域とアクセス可能な領域とに全体が２分割された領域である請求項１記載の半導体処理装置。
【請求項１３】
前記バイトアクセス制御を行うメモリマットの所定のアドレス領域は、アクセス不可とアクセス可能な領域がページ毎に交互に配置された領域である請求項１記載の半導体処理装置。
【請求項１４】
書換え可能な不揮発性メモリと、前記不揮発性メモリをアクセス可能なデータ処理ユニットとを有し、
前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、前記データ処理ユニットからのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御が可能なメモリ制御回路とを有し、
前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う半導体処理装置。
【請求項１５】
前記管理情報として、当該ページが保有するデータが破壊されているか否かを示すための複数ビットのエラー判定ビットを含み、
前記メモリ制御回路は前記選択されたページの有効性を当該ページが保有する前記エラー判定ビットによって判定する請求項１４記載の半導体処理装置。
【請求項１６】
前記エラー判定ビットは全ビット同一論理値以外の複数の論理値の組み合わせを有する請求項１５記載の半導体処理装置。
【請求項１７】
前記メモリ制御回路は、前記マージしたデータを書込む前記対応ページの有効無効を問わない請求項１５記載の半導体処理装置。
【請求項１８】
前記管理情報として当該ページが保有するデータの優先度を示すための複数ビットの優先度データを有し、
前記制御回路は、優先度の高い優先度データに対応するページほど最近書換えられたページであると判定する請求項１７記載の半導体処理装置。
【請求項１９】
前記メモリ制御回路は、前記バイトデータをマージしたデータの書き込みにおいて、書込み対象ページの優先度データを、前記バイトデータによるマージ対象とされた元のデータを保有するページの優先度よりも高い優先度に更新する請求項１８記載の半導体処理装置。
【請求項２０】
書換え可能な不揮発性メモリを有し、
前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、外部からのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御を行うメモリ制御回路とを有し、
前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う半導体集積回路。
【請求項２１】
書換え可能な不揮発性メモリを有し、
前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、外部からのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御を行うメモリ制御回路とを有し、
前記メモリ制御回路はバイトアクセス制御において複数のメモリマットを動作させ、データ書き換えでは一のメモリマットの中で選択されたページから読出したデータを書込みバイトデータでマージし、マージしたデータを他のメモリマットの中で選択された対応ページに書き込み、読出しでは複数のメモリマットの各々で選択されたページのうち有効なページであって最も最近書換えられたページから読出しを行う半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書換え可能な不揮発性メモリを備えた半導体集積回路、そして、書換え可能な不揮発性メモリと前記不揮発性メモリをアクセス可能なデータ処理ユニットとを有する半導体処理装置に係り、例えばＩＣカード用マイクロコンピュータ等に適用して有効な技術に関する。
【背景技術】
【０００２】
特許文献１には、ＣＰＵと共に電気的に書換え可能なＥＥＰＲＯＭを備え、ＥＥＰＲＯＭをデータ領域及びプログラム領域の双方に利用するようにしたＩＣカード用マイクロコンピュータについて記載がある。特許文献２には電気的に書換え可能なフラッシュメモリをＣＰＵと共にオンチップしたマイクロコンピュータについて記載がある。特許文献３には、同一メモリセル構成のＦｌａｓｈメモリとＥＥＰＲＯＭとを有するＩＣカード用マイクロコンピュータについて記載がある。マイクロコンピュータにおいてデータ記憶領域として利用されるＥＥＰＲＯＭやフラッシュメモリに対しては、データ処理上、所要の時間内にデータの書き換えが可能であることが要求される。ＥＥＰＲＯＭもフラッシュメモリも共に電気的に消去及び書込み可能な不揮発性メモリセルを用いて構成される点は同じである。ＥＥＰＲＯＭは消去及び書込み単位であるバイト単位で不揮発性メモリセルのウェル領域を電気的に分離して構成される。これにより、ウェル領域とコントロールゲートの間に高電圧を印加してバイト単位消去を行い、また、ドレインとコントロールゲートの間に高電圧を印加してバイト単位の書き込みを行うことができるようになっている。消去及び書込み対象外のバイトデータには消去・書込み動作は一切行われない。一方、フラッシュメモリは、バイト単位のウェル分離を行わず、ページ単位即ちワード線単位でウェル領域とコントロールゲートの間に高電圧を印加してワード線単位の一括消去を行う。書き込みはワード線単位でコントロールゲートに高電圧を印加して行うようになっている。したがって、フラッシュメモリでバイトデータを書換える場合は、書換え動作の対象とされるワード線１本分の記憶情報をデータラッチに退避し、退避した後に当該ワード線を単位として一括消去を行う。この後、退避したデータラッチ上における書換えられるべきバイトデータを外部からの書き込みバイトデータに置き換え、置き換えが行われた１ワード線分のデータを用いてワード線単位の書き込みを行う。
【０００３】
【特許文献１】特開昭６３−２６６６９８号公報
【特許文献２】特開平０５−２６６２１９号公報
【特許文献３】国際公開公報２００４−０２３３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者はＥＥＰＲＯＭをフラッシュメモリに置き換えることを検討した。即ち、ＥＥＰＲＯＭはバイト単位で不揮発性メモリセルのウェル領域分離が行われているためバイト単位の書き換えを直接行うことができるが、チップ面積が大きくなってしまう。そこで、バイト単位のウェル領域分離が行われていないフラッシュメモリを採用することにより、チップ面積の４０％程度の小型化、或いは記憶容量の増大を企図した。しかしながら、消去書込み単位がページ単位例えばワード線単位とされるフラッシュメモリにおいてバイト単位の書き換えを行うには、消去前にワード線単位でデータラッチに退避したデータが動作電源等の遮断によって不所望に破壊されるのを抑制することが必要になる。そのためには、退避したデータを不揮発性メモリ領域に一次的にバックアップしたりする動作を行わなければならない。この動作をデータの書換えの度にＣＰＵのソフトウェアで行っていたのでは書換え動作時間が長くかかり過ぎてしまう。例えば非接触インタフェースを行うカードデバイスに用いるＩＣカード用マイクロコンピュータのような用途では、限られた非接触インタフェース時間内にフラッシュメモリの書き換え等を行わなければならないから、動作の高速化が要求される。
【０００５】
本発明の目的は、不揮発性メモリの消去対象とされる記憶情報をバックアップするのに要する時間を短縮することができる半導体処理装置並びに半導体集積回路を提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
〔１〕本発明に係る半導体処理装置（１）は、書換え可能な不揮発性メモリ（６）と、前記不揮発性メモリをアクセス可能なデータ処理ユニット（２）とを有する。前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマット（２１，２２）と、前記データ処理ユニットからのアクセス指示に応答して前記メモリマットに対するメモリ動作を制御するメモリ制御回路（２６，３７，３８）とを有する。前記メモリ制御回路はメモリマットの所定のアドレス領域に対するアクセスに応答してバイトアクセス制御を行い、その他のアドレス領域に対するアクセスに応答してページアクセス制御を行う。前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う。
【０００９】
上記した手段によれば、バイトアクセス制御によるデータの書換え動作では、一のメモリマットの中で選択された最も最近書換えられた有効ページには書換え対象バイト以外のデータがそのまま保存され、他のメモリマットの中で選択されたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されたページに対して書換え前の実質的なバックアップデータを保有することになる。バックアップのために別の領域にデータを転送するための別のアクセス動作を追加することを要しない。読出しにおいてバックアップページなのか正規ページなのかは、各々のページの管理情報より、最も最近書換えられたページであるか否かを判定することによって区別される。
【００１０】
本発明の具体的な一つの形態として、前記管理情報として、当該ページが保有するデータが破壊されているか否かを示すための複数ビットのエラー判定ビット（ＰＤＳ２，ＰＤＳ３）を含む。前記メモリ制御回路は前記選択されたページの有効性を当該ページが保有する前記エラー判定ビットによって判定する。
【００１１】
本発明の更に具体的な形態として、前記エラー判定ビットは全ビット同一論理値以外の複数の論理値の組み合わせを有する。消去又は書込み途中の電源遮断等によるデータ破壊があれば、複数ビットのエラー判定ビットは共に論理値０又は1の同じ論理値になると考えられるからである。
【００１２】
本発明の更に具体的な形態として、前記メモリ制御回路は、前記マージしたデータを書込む前記対応ページの有効無効を問わない。
【００１３】
本発明の更に具体的な形態として、前記管理情報として当該ページが保有するデータの優先度を示すための複数ビットの優先度データ（ＰＤＳ０，ＰＤＳ１）を有する。前記制御回路は、優先度の高い優先度データに対応するページほど最近書換えられたページであると判定する。
【００１４】
本発明の更に具体的な形態として、前記メモリ制御回路は、前記バイトデータをマージしたデータの書き込みにおいて、書込み対象ページの優先度データを、前記バイトデータによるマージ対象とされた元のデータを保有するページの優先度よりも高い優先度に更新する。これにより、最も最近書換えられたページか否かを判定可能なように優先度データを更新する操作が容易になる。
【００１５】
本発明の別の具体的な一つの形態として、前記バイトアクセス制御の対象とされる前記所定のアドレス領域はデータ格納領域とされ、前記ページアクセス制御の対象とされる前記その他のアドレス領域はプログラム格納領域とされる。データアクセスに対しては書込みであっても高速アクセスの要求を満足することが必要になるが、プログラムに関してはデータ処理途上で高速に書換えなければならない事情は殆どないことを考慮し、アドレスマッピング可能なプログラムメモリ容量の増大を最優先させたものである。
【００１６】
本発明の更に別の具体的な一つの形態として、前記バイトアクセス制御の対象とされる前記所定のアドレス領域は第１のデータ格納領域とされ、前記ページアクセス制御の対象とされる前記その他のアドレス領域は第２のデータ格納領域とされる。メモリセル数に対するアドレスマッピング容量は第２のデータ領域に比べて第1のデータ領域は半減する。しかしながら、最大書換え保証回数は第２のデータ領域に比べて第１のデータ領域は倍増する。
【００１７】
本発明の更に別の具体的な一つの形態として、前記メモリ制御回路はアドレス制御部（３７）を有する。前記アドレス制御部は、前記データ処理ユニットから供給されるアクセスアドレス信号（ＡＤＲＳ）を入力し、入力したアクセスアドレス信号に対してページを選択するページ選択アドレス（ＸＡＤＲＳ）とページ内のバイトを選択するバイト選択アドレス（ＹＡＤＲＳ）と、２ビットのマット選択制御信号（ＭＣ１，ＭＣ２）とを生成する。前記アドレス制御部は、前記ページアクセス制御を指定する前記アクセスアドレス信号に対しては２個のメモリマットに共通のページアドレスを生成すると共に前記アクセスアドレス信号の所定の１ビットの値に応じて前記マット選択制御信号を第１の値又は第２の値とし、前記バイトアクセス制御を指定する前記アクセスアドレス信号対しては２個のメモリマットに共通のページアドレスを生成すると共にその他の制御情報に基づいて前記選択制御信号を第３の値又は第４の値とする。前記メモリ制御回路は、前記マット選択制御信号が第３の値のときは前記最も最近書換えられたと判定されたページから読出しを行う。
【００１８】
前記その他の制御情報は、例えば、選択的にテストモードを設定するための制御情報である。更に具体的形態として、前記メモリ制御回路は、前記選択制御信号が第４の値のときは前記判定されたページとは異なるページから読出しを行う。外部に読み出されないバックアップ側のページデータに検証等のようなテスト動作に用いることができる。
【００１９】
本発明の更に別の具体的な一つの形態として、前記バイトアクセス制御を行うメモリマットの所定のアドレス領域は、アクセス不可能な領域とアクセス可能な領域とに２分割された領域である。これに対応するには、ページ選択を行うアドレス信号（ＸＡＤＲＳ）をデコードするデコード論理は、ページアクセスだけのデコード論理に対して１ビット少ないアドレス情報に対するデコード論理を持つことが必要になり、これに応じてアドレス制御回路（３７）はＣＰＵ等からのアクセスアドレス信号（ＡＤＲＳ）から必要なアドレス信号（ＸＡＤＲＳ）を切り出すときその上位側アドレスビットの１ビットを削除することが必要になる。
【００２０】
別の形態として、前記バイトアクセス制御を行うメモリマットの所定のアドレス領域は、アクセス不可とアクセス可能な領域がページ毎に交互に配置された領域としてもよい。この場合は、ページ選択を行うアドレス信号（ＸＡＤＲＳ）をデコードするデコード論理は、ページアクセスだけのデコード論理と同じであってよく、アドレス制御回路もＣＰＵ等からのアクセスアドレス信号の上位側から必要なアドレス信号を単に切り出して出力すればよい。従って、アドレス制御回路にデータ格納領域を設定するレジスタを設け、ソフトにてレジスタの値を書換えデータ格納領域を設定できる。
【００２１】
〔２〕本発明の別の観点による半導体処理装置は、書換え可能な不揮発性メモリと、前記不揮発性メモリをアクセス可能なデータ処理ユニットとを有する。前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、前記データ処理ユニットからのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御が可能なメモリ制御回路とを有する。前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う。
【００２２】
上記した手段によれば、バイトアクセス制御によるデータの書換え動作では、一のメモリマットの中で選択された最も最近書換えられた有効ページには書換え対象バイト以外のデータがそのまま保存され、他のメモリマットの中で選択されたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されたページに対して書換え前の実質的なバックアップデータを保有することになる。バックアップのために別の領域にデータを転送するための別のアクセス動作を追加することを要しない。読出しにおいてバックアップページなのか正規ページなのかは、各々のページの管理情報より、最も最近書換えられたページであるか否かを判定することによって区別される。
【００２３】
〔３〕本発明の別の観点による半導体集積回路は、書換え可能な不揮発性メモリを有する。前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、外部からのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御を行うメモリ制御回路とを有する。前記メモリ制御回路はバイトアクセス制御において複数のメモリマットの各々のページから当該ページの管理情報を読み出し、読み出した管理情報から有効ページの中で最も最近書換えられたページを判定し、データ書き換えでは前記判定したページから読出したデータをバイト単位の書込みデータでマージし、マージしたデータを他のメモリマットの中で選択した対応ページに書き込み、読出しでは前記判定されたページから読出しを行う。
【００２４】
上記同様に、バイトアクセス制御によるデータの書換え動作では、一のメモリマットの中で選択された最も最近書換えられた有効ページには書換え対象バイト以外のデータがそのまま保存され、他のメモリマットの中で選択されたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されたページに対して書換え前の実質的なバックアップデータを保有することになる。
【００２５】
〔４〕本発明の別の観点による半導体集積回路は、書換え可能な不揮発性メモリを有する。前記不揮発性メモリは、ページ単位で書換え動作が可能にされる複数のメモリマットと、外部からのアクセス指示に応答して前記メモリマットに対するバイトアクセス制御を行うメモリ制御回路とを有する。前記メモリ制御回路はバイトアクセス制御において複数のメモリマットを動作させ、データ書き換えでは一のメモリマットの中で選択されたページから読出したデータを書込みバイトデータでマージし、マージしたデータを他のメモリマットの中で選択された対応ページに書き込み、読出しでは複数のメモリマットの各々で選択されたページのうち有効なページであって最も最近書換えられたページから読出しを行う。
【００２６】
上記同様に、バイトアクセス制御によるデータの書換え動作では、一のメモリマットの中で選択されたページには書換え対象バイト以外のデータがそのまま保存され、他のメモリマットの中で選択されたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されたページに対して書換え前の実質的なバックアップデータを保有することになる。
【発明の効果】
【００２７】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２８】
すなわち、不揮発性メモリの消去対象とされる記憶情報をバックアップするのに要する時間を短縮することができる。
【００２９】
また不揮発性メモリの消去及び書き込みをするとき、複数のメモリマットのいずれか一つを選択し消去及び書込み動作を行うことで高電圧チャージポンプの負荷を低減でき、低消費電力及び電圧発生回路（ＶＰＰＧ）の面積を低減できる。
【発明を実施するための最良の形態】
【００３０】
《ＩＣカード用マイクロコンピュータ》
図２には本発明の半導体処理装置の一例に係るマイクロコンピュータのブロック図が示される。同図に示されるマイクロコンピュータ（ＭＣＵ）１は、特に制限されないが、所謂ＩＣカードマイコンと称されるＩＣカード用マイクロコンピュータである。同図に示されるマイクロコンピュータ１は、単結晶シリコンなどの１個の半導体基板若しくは半導体チップにＣＭＯＳなどの半導体集積回路製造技術によって形成される。
【００３１】
マイクロコンピュータ１は、中央処理装置（ＣＰＵ）２、ランダム・アクセス・メモリ（ＲＡＭ）４、タイマ（ＴＩＭＲ）５、フラッシュメモリ（ＦＬＡＳＨ）６、コプロセッサ（ＣＯＰＲＯ）７、クロック生成回路(ＣＰＧ)９、マスクＲＯＭ（ＭＳＫＲＯＭ）１０、システムコントロールロジック（ＳＹＳＣＮＴ）１１、入出力ポート（ＩＯＰ）１２、データバス１３、及びアドレスバス及びコントロールバス１４を有する。
【００３２】
前記マスクＲＯＭ１０は前記ＣＰＵ２が実行するプログラム（動作プログラム）の格納に利用される。前記フラッシュメモリ６はＣＰＵ２の動作プログラムの格納と共にＣＰＵ２による演算処理で利用されるデータの格納に用いられる。前記ＲＡＭ４はＣＰＵ２のワーク領域又はデータの一時記憶領域とされる。前記ＣＰＵ２は、マスクＲＯＭ１０又はフラッシュメモリ６から命令をフェッチし、フェッチした命令をデコードし、デコード結果に基づいてオペランドフェッチやデータ演算を行う。コプロセッサ７はＲＳＡや楕円曲線暗号演算における剰余乗算処理などをＣＰＵ２に代わって行うプロセッサユニットとされる。Ｉ／Ｏポート１２は２ビットの入出力端子Ｉ／Ｏ１，Ｉ／Ｏ２を有し、データの入出力と外部割り込み信号の入力に兼用される。Ｉ／Ｏポート１２はデータバス１３に結合され、データバス１３には前記ＣＰＵ２、ＲＡＭ４、タイマ５、フラッシュメモリ６、マスクＲＯＭ１０、及びコプロセッサ７が接続される。システムコントロールロジック１１はマイクロコンピュータ１の動作モードの制御及び割り込み制御を行い、更に暗号鍵の生成に利用する乱数発生ロジックを有する。／ＲＥＳはマイクロコンピュータ１に対するリセット信号である。マイクロコンピュータ１はリセット信号／ＲＥＳによってリセット動作が指示されると、内部が初期化され、ＣＰＵ２は動作プログラムの先頭番地から命令実行を開始する。クロック生成回路９は外部クロック信号ＣＬＫを受けて内部クロック信号ＣＫを生成する。マイクロコンピュータ１は内部クロック信号ＣＫに同期動作される。
【００３３】
前記フラッシュメモリ６はデータ格納領域とプログラム格納領域に割り当てられる。フラッシュメモリ６のデータ格納領域は暗号鍵やＩＤ情報等の格納に用いられる。フラッシュメモリ６はデータバス１３との間では例えばバイト単位でデータの入出力を行う。フラッシュメモリ６の内部における消去及び書込み単位はデータ格納領域に対してもプログラム格納領域に対してもページ単位とされる。ページ単位による消去及び書込みは、例えば２５６バイトのページデータの他に、後述する4ビットのページデータステータスの分を含むワード線単位の複数のメモリセルを単位とする。従って、８ビットのデータを書換える場合にもページ単位で消去及び書込み動作を行わなければならない。システム上で頻繁に書換えられことが予想されるフラッシュメモリ６のデータ格納領域に対しては、消去及び書込み動作対象とされるページのデータの内、書換え対象とされる８ビット以外のデータがその動作途中で電源が遮断されても失われないようにするためのバックアップの考慮がなされている。専らマイクロコンピュータの製造メーカが書き換えを行うプログラム格納領域とは事情が異なる。必要なデータ処理速度を得るには、フラッシュメモリ６のデータ格納領域に対する消去及び書込み動作は高速であることが必要になる。前記バックアップの考慮が、逆に、データ領域における消去及び書込み動作時間を長くする要因になってはならない。フラッシュメモリ６は、後述するように、頻繁に書き換えが行われると予想されるデータ格納領域対しては時間をかけずにバックアップと同等の効果を得ることができるように構成されている。
【００３４】
図３にはマイクロコンピュータ１の別の例が示される。同図に示されるマイクロコンピュータ１は、第１図のマイクロコンピュータと外部インタフェース手段が相違される。すなわち図３のマイクロコンピュータは図示を省略するアンテナに接続可能なアンテナ端子ＴＭＬ１，ＴＭＬ２を有する高周波部（ＲＦ）１５を備える。高周波部１５は前記アンテナが所定の電波（例えばマイクロ波）を横切ることによって生ずる誘導電流を動作電源として電源電圧Ｖｃｃを出力し、リセット信号ＲＥＳ及びクロック信号ＣＫを生成し、アンテナから非接触で情報の入出力を行なう。Ｉ／Ｏポート１２は外部と入出力すべき情報をＲＦ部１５とやり取りする。特に非接触インタフェースを介してセキュリティー処理を行なう場合には、限られた非接触インタフェース時間内にフラッシュメモリ６の書き換え等を行わなければならないから、データの書込み動作に対して一層の高速化が要求される。
【００３５】
《フラッシュメモリ》
図１には前記フラッシュメモリ６の一例が示される。フラッシュメモリ６は例えば２個のメモリマット２１，２２を有する。各々のメモリマット２１，２２はウェル領域にマトリクス配置された複数の不揮発性メモリセルを有する。不揮発性メモリセルは例えばソースとドレインの間のチャネル形成領域の上に夫々絶縁膜を介してシリコンナイトライドのような電荷蓄積層とメモリゲートを積層した所謂ＭＯＮＯＳ構造を有する。同一行に配置された不揮発性メモリセルのメモリゲートは対応するワード線に、同一列に配置された不揮発性メモリセルのドレインは対応するビット線に接続され、不揮発性メモリセルのソースはソース線に接続される。ここでは消去及び書込みは前記ページ単位とされるから、少なくともワード線方向の１ページの範囲ではウェル領域の分離は行われていない。前記ビット線は例えば１ページ分の不揮発性メモリセルの数分存在する。各ページの記憶領域はページデータ領域（ＰＤＡＴ）とページデータステータス領域（ＰＤＡＴＳ）とから成る。特に制限されないが、ページデータ領域（ＰＤＡＴ）は２５６バイト、ページデータステータス領域（ＰＤＡＴＳ）はｉビットとされる。
【００３６】
消去動作では、例えば、２個のメモリマット２１，２２はマット制御回路（ＭＡＴＣＮＴ）２６で生成されるマット選択信号ＭＳ１，ＭＳ２によって決定される何れか一方のマットのウェル領域には消去電圧として１．５Ｖのウェル電圧、消去対象ワード線には消去電圧として−８．５Ｖのメモリゲート電圧、消去非対象ワード線には消去阻止電圧として１．５Ｖのメモリゲート電圧が供給され、全てのビット線及びソース線は１．５Ｖにされる。これにより、ウェル領域から消去対象メモリセルのメモリゲート電極へ向かう電界が形成され、消去対象メモリセルは一括して、電荷蓄積領域に捕獲されている電子が酸化膜を通してＦＮトンネルにてウェル領域に放出され、これによってそれらメモリセルの閾値電圧は低くされる。書き込み動作では、例えば、２個のメモリマット２１，２２はマット制御回路（ＭＡＴＣＮＴ）２６で生成されるマット選択信号ＭＳ１，ＭＳ２によって決定される何れか一方のマットのウェル領域には書き込み電圧として−１０．７Ｖのウェル電圧、書き込み対象ワード線には書き込み電圧として１．５Ｖのメモリゲート電圧、書き込み非対象ワード線には書き込み阻止電圧として−１０．７Ｖのメモリゲート電圧が供給される。書込み選択の不揮発性メモリセルに接続するソース線及びビット線には書き込み電圧として−１０．７Ｖ、書込み非選択の不揮発性メモリセルに接続するソース線及びビット線には書き込み阻止電圧として１．５Ｖが印加される。書き込み選択の不揮発性メモリセルにはメモリゲート電極からウェル領域へ向かう電界が形成され、当該メモリセルのウェル領域からＦＮトンネルにて電荷蓄積領域に電子が捕獲され、その閾値電圧が高くされる。消去及び書込み動作などに用いる高電圧はチャージポンプ回路等を備えた電圧発生回路（ＶＰＰＧ）２３で生成される。
【００３７】
前記ワード線はワードドライバ回路２４によって選択的に駆動される。何れのワード線を駆動するかはＸアドレスデコーダ（ＸＡＤＥＣ）２５によるデコード出力とマット制御回路（ＭＡＴＣＮＴ）２６で生成されるマット選択信号ＭＳ１，ＭＳ２によって決定される。
【００３８】
メモリマット２１，２２の内の何れか一方のメモリマットのビット線がセレクタ回路（ＢＬＳＥＬ）２７を介して選択される。選択されたビット線の内、前記ページデータ領域に対応するものがセンスアンプ回路（ＳＡＡ）２８とページデータ書き込みラッチ（ＰＤＬＡＴ）２９に接続され、前記ページデータステータス領域に対応するものがページデータステータス書込みラッチ（ＰＤＳＬＡＴ）３０に接続される。ページデータ書き込みラッチ２９の各ビットはデータ線３２に接続され、また、データ線３２はセンスアンプ回路２８の対応入出力ノードがビット対応で接続される。前記データバス１３はＹスイッチ回路（ＹＳＷ）３３で選択されたバイト単位で前記データ線３２に接続可能にされる。Ｙスイッチ回路３３によるバイト単位の選択動作はＹアドレスデコーダ（ＹＡＤＥＣ）３５のデコード出力によって制御される。ページデータステータス書込みラッチ３０にはマット制御回路２６から書込み用のページデータステータスが供給される。前記セレクタ回路２７の選択動作は前記マット制御回路２６から出力されるマット選択信号ＭＳ３，ＭＳ４によって制御される。マット制御回路２６の動作形態は２ビットのマット制御信号ＭＣ１，ＭＣ２と、メモリマット２１，２２のアクセス対象ページから読み込んだページデータステータスとによって決定される。その動作形態の詳細は後述する。
【００３９】
アドレス制御回路（ＡＣＮＴ）３７はホストから出力されるアドレス信号ＡＤＲＳを入力し、それに応じて、前記Ｘアドレスデコーダ２５に供給されるＸアドレス信号ＸＡＤＲ、Ｙアドレスデコーダ３５に供給されるＹアドレス信号ＹＡＤＲＳ、及び前記マット制御信号ＭＣ１，ＭＣ２を出力する。アドレス信号ＡＤＲＳの上位側がＸアドレス信号ＸＡＤＲ、下位側がＹアドレス信号ＹＡＤＲＳとされる。
【００４０】
内部タイミング制御回路（ＴＣＮＴ）３８はアドレス及びコントロールバス１４から供給される制御信号の組み合わせ等によって指示されるアクセスコマンドを解読し、その結果に従って、消去動作、書込み動作、又は読出し動作の内部タイミングを生成して、その動作を制御する。前記制御信号は例えばライトイネーブル信号ＷＥ、出力イネーブル信号ＯＥ、メモリイネーブル信号ＭＥ等である。
【００４１】
図４にはフラッシュメモリ６のアドレスマップが例示される。アドレスは１６進数で示されている。フラッシュメモリの論理アドレスは０ｘ００００〜０ｘＦＦＦＦの６４Ｋバイトとされる。０ｘ００００〜０ｘ７ＦＦＦにはプログラム格納領域が割り当てられる。０ｘ８０００〜０ｘＦＦＦＦはデータ格納領域に割り当てられるが、０ｘ８０００〜０ｘＢＦＦＦはアクセス不可能領域になっている。便宜上、データ格納領域をバイトアクセス領域、プログラム格納領域をページアクセス領域とも称する。メモリマット２１には奇数ページが割り当てられ、メモリマット２２には偶数ページが割り当てられる。ページデータステータス領域（ＰＤＡＴＳ）はデータ格納領域に対して有意とされ、プログラム格納領域に対しては無意味とされる。
【００４２】
図５にはマット制御信号ＭＣ１，ＭＣ２の意義が例示される。アドレス制御回路３７は入力されるアドレス信号ＡＤＳＲＳがバイトアクセス領域を指定しているかページアクセス領域を指定しているかを判別する。ページアクセス領域が指定されているときは、そのアドレス信号ＡＤＳＲＳが奇数ページのアドレスであればマット制御信号をＭＣ１，ＭＣ２＝０１とする。これに応答してマット制御回路２６はＭＳ１を活性化してワードドライバ回路２４に対しメモリマット２１のワード線を駆動可能とし、ＢＳ１を活性化してセレクタ回路２７にデータ線３２のメモリマット２１への接続を選択させる。これにより、メモリマット２１のアクセスが可能になる。一方、ページアクセス領域が指定されているときは、そのアドレス信号ＡＤＳＲＳが偶数ページのアドレスであればマット制御信号をＭＣ１，ＭＣ２＝１０とする。これに応答してマット制御回路２６はＭＳ２を活性化してワードドライバ回路２４に対しメモリマット２２のワード線を駆動可能とし、ＢＳ２を活性化してセレクタ回路２７にデータ線３２のメモリマット２２への接続を選択させる。これにより、メモリマット２２のアクセスが可能になる。
【００４３】
バイトアクセス領域が指定されているとき、テストモードでなければマット制御信号ＭＣ１，ＭＣ２＝００、テストモードであればマット制御信号ＭＣ１，ＭＣ２＝１１とする。テスト動作は例えば図示を省略するコントロールレジスタのテストモードビットがセットされることによって指定される。マット制御信号がＭＣ１，ＭＣ２＝００のとき、マット制御回路２６は信号ＭＳ１，ＭＳ２を共に活性化し、双方のメモリマット２１，２２においてページ選択動作を可能にする。マット制御回路２６は双方のメモリマットから読み出されたページデータステータスを入力し、そのページデータステータスの状態に応じてセレクタ回路２７にデータ線３２をメモリマット２１又は２２の何れか一方に接続させる。読み出し動作ではセレクタ回路２７で導通が選択された一方のメモリマットから読み出されたページデータがセンスアンプ回路２８でセンス増幅され、Ｙアドレス信号ＹＡＤＲＳに従ってＹスイッチ回路３３で選択されたバイトデータがデータバス１３に出力される。消去及び書込み動作ではセレクタ回路２７で導通が選択された一方のメモリマットから読み出されたページデータがページデータラッチ回路２９にラッチされ、ラッチされたページデータは、バス１３から入力されてＹスイッチ回路３３で選択されて供給された書込みバイトデータとマージされる。セレクタ回路２７を介してデータ線３２に導通された一方のメモリマットからマット制御回路２６に読み出されたページデータステータスは最も最近更新したことが分かるよう更新され、更新されたページデータステータスがページデータステータスラッチ回路３０にロードされる。ページデータラッチ回路２９が保持する更新されたページデータと、ページデータステータスラッチ回路３０が保持する更新されたページデータステータスは、前記とは反対側のメモリマットに書込まれる。
【００４４】
テストモードにおいてマット制御信号がＭＣ１，ＭＣ２＝１１のときは、セレクタ回路２７の選択形態がページデータステータスによらずに、図示を省略するコントロールレジスタの制御ビットの値に応じて可変可能とされる。したがて、セレクタ回路２７による選択形態を、制御信号ＭＣ１，ＭＣ２＝００の時と逆にすることが可能であり、バックアップされたデータを外部に読み出して検証したりすることが可能になる。
【００４５】
図６にはページデータステータスの具体例が示される。ページデータステータスはＰＤＳ０〜ＰＤＳ３の４ビットから成り、ＰＤＳ０、ＰＤＳ１は優先順位を示す優先度データとされ、ＰＤＳ２，ＰＤＳ３はエラー判定ビットとされる。優先度データＰＤＳ０、ＰＤＳ１は００，０１，１０，１１，００の順に更新され、更新される順に優先度が高くされる。バイトアクセスにおいて双方のメモリマット２１，２２で選択される一方のメモリマットの選択ページが保有する優先度データＰＤＳ０、ＰＤＳ１が００、他方のメモリマットの選択ページが保有する優先度データＰＤＳ０、ＰＤＳ１が１１のときは、００の優先度データの方が優先度が高い。エラー判定ビットＰＤ２，ＰＤ３は消去及び書込み動作途中で電源遮断があったかを検出するのに用いる。ページの書換え時に電源遮断によってデータ破壊があると、複数ビットのエラー判定ビットＰＤＳ２，ＰＤＳ３は共に論理値１又は０に揃うことになると考えられるからである。
【００４６】
図７にはページデータステータスの状態に応じたマット制御回路２６による制御形態の概略が例示される。バイトアクセスにおいてメモリマット２１，２２で選択される一方のメモリマットの選択ページが保有するエラー判定ビットＰＤＳ２、ＰＤＳ３と、他方のメモリマットの選択ページが保有するエラー判定ビットＰＤＳ２、ＰＤＳ３とから、双方のメモリマットから読み出したページデータの有効性を判定する。ＰＤＳ２とＰＤＳ３が同一論理値であれば無効と判定する。共に無効なときは、読み出すべき有効なデータもなければ、書換えられるべき有効なデータもないので、エラー処理を行なう。例えばマット制御回路２６はＣＰＵに向けてエラーコード若しくはデータエラーの割り込みを出力する。一方が有効であれば、当該一方のページデータを読出し対象とし、書き換え時には当該無効なページを書込み対象とするように信号ＢＳ１，ＢＳ２によってセレクタ回路２７を制御する。上記書換え時にマット制御回路２６は、有効とされたページの優先度データＰＤＳ０、ＰＤＳ１とエラー判定ビットＰＤＳ２、ＰＤＳ３を夫々１段階更新した新たな優先順位データとパリティーとをラッチ回路３０にラッチし、これをページデータと一緒にして書き換えデータとする。双方共に有効な時は、優先度データＰＤＳ０、ＰＤＳ１を参照してページデータの優先度を判定する。双方のメモリマットから読み出されたページデータに対しては優先度の高い方をデータ線３２に導通させるように信号ＢＳ１，ＢＳ２によってセレクタ回路２７を制御して選択する。書込み時には優先度の低い方のページデータを格納するメモリマットのページを書込み対象とするように信号ＢＳ１，ＢＳ２によってセレクタ回路２７を制御する。上記書込み時にマット制御回路２６は、優先順位が高い方のページの優先度データＰＤＳ０、ＰＤＳ１とエラー判定ビットＰＤＳ２、ＰＤＳ３を夫々１段階更新した新たな優先順位データとパリティーとをラッチ回路３０にラッチし、これをページデータと一緒にして書き換えデータとする。
【００４７】
これにより、バイトアクセス領域に対する書込み動作において、一のメモリマットの中で選択された最も最近書換えられた有効ページには書換え対象バイト以外のデータがそのまま保存され、他のメモリマットの中で選択されたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されて書換えられたページに対して書換え前の実質的なバックアップデータを保有することになる。メモリマットに対する消去及び書込み動作中に電源が遮断されても、今回書き込み非対象とされたデータは消失せずに、反対側のメモリマットの対応ページに残っている。バックアップのために別の領域にデータを転送するための別のアクセス動作を追加することを要しない。
【００４８】
図８にはページアクセス領域に対するバイト読出し動作におけるデータの流れが示される。ＭＣ１，ＭＣ２＝０１又は１０とされる。マット制御回路２６はＭＣ１，ＭＣ２の値に応じてワードドライバ回路２４及びセレクタ回路２７を選択制御する。ＭＣ１，ＭＣ２＝０１のページアクセスの場合にはＸアドレス信号ＸＡＤＲＳに従ってメモリマット２１のワード線が駆動されてページが選択され、選択されたページデータがセンスアンプ回路２８によってセンス増幅され、センスアンプ回路２８に保持されたページデータに対してＹスイッチ回路３３がＹアドレス信号ＹＡＤＲＳに基づいてバイトデータを選択し、選択されたバイトデータがデータバス１３に出力される。ＭＣ１，ＭＣ２＝１０のページアクセスの場合にはメモリマット２２のワード線が駆動されて、同様のバイト読出しが行われる。
【００４９】
図９にはバイトアクセス領域に対するバイト読出し動作におけるデータの流れが示される。ＭＣ１，ＭＣ２＝００とされる。Ｘアドレスデコーダ２５はＸアドレス信号ＸＡＤＲＳにしたがってワード線選択信号を形成する。マット制御回路２６はワードドライバ回路２４を介して双方のメモリマット２１，２２で前記ワード線選択信号に従ってワード線を駆動し、双方のメモリマット２１，２２で選択されたページのページデータステータスを取得する。マット制御回路２６は双方のページのページデータステータスからページの有効性を判定し、図７で説明した制御形態に従い、例えば一方のみ有効であれば当該有効ページのページデータをセレクタ回路２７で選択する。双方のページが有効であるときは優先順位の高い方のページのページデータをセレクタ回路２７で選択する。双方無効であればエラー処理を通知する。セレクタ回路２７で選択されたページデータはセンスアンプ回路２８によってセンス増幅される。センスアンプ回路２８に保持されたページデータに対してＹスイッチ回路３３がＹアドレス信号ＹＡＤＲＳに基づいてバイトデータを選択し、選択されたバイトデータがデータバス１３に出力される。
【００５０】
図１０にはページアクセス領域に対するページ書込み動作におけるデータの流れが示される。Ｙスイッチ回路３３がＹアドレス信号ＹＡＤＲＳに基づいてバイト単位でデータ線を選択する。Ｙアドレス信号ＹＡＤＲＳの順位インクリメントに同期しながら、データバス１３から書込みバイトデータが順次入力されると、バイト単位の書き込みデータが順次下位側より上位側に向けて書込みデータラッチ回路２９にラッチされる。ＭＣ１，ＭＣ２＝０１又は１０とされ、マット制御回路２６は、ＭＣ１，ＭＣ２の値に応じてデータ線をメモリマット２１又は２２に接続し、ＭＣ１，ＭＣ２の値に応じてワードドライバ回路２４を選択駆動する。これにより、ＭＣ１，ＭＣ２＝０１のページアクセスの場合にはメモリマット２１で選択されたページに１ページのデータが書き込まれる。この例では書込みデータはプログラムとされる。
【００５１】
図１１及び図１２にはバイトアクセス領域に対するバイト書換え動作におけるデータの流れが示される。特に図１１は書換え対象ページデータを書き込みバイトデータでマージするためのデータ読出しにおけるデータの流れを示す。図１２はマージされたページデータによる書込み動作のデータの流れを示す。ＭＣ１，ＭＣ２＝００とされる。図１１においてＸアドレスデコーダ２５はＸアドレス信号ＸＡＤＲＳにしたがってワード線選択信号を形成する。マット制御回路２６はワードドライバ回路２４を介して双方のメモリマット２１，２２で前記ワード線選択信号に従ってワード線を駆動し、双方のメモリマット２１，２２で選択されたページのページデータステータスを取得する。マット制御回路２６は双方のページのページデータステータスからページの有効性を判定し、図７で説明した制御形態に従い、例えば一方のみ有効であれば当該有効ページのページデータをセレクタ回路２７で選択する。双方のページが有効であるときは優先順位の高い方のページのページデータをセレクタ回路２７で選択する。双方無効であればエラー処理を通知する。セレクタ回路２７で選択されたページデータはセンスアンプ回路２８によってセンス増幅される。センスアンプ回路２８に保持されたページデータはページデータ書き込みラッチ回路２９に内部転送される。ページデータ書き込みラッチ回路２９には、データバス１３から入力された書き込みバイトデータがＹスイッチ回路３３を介して供給される。供給されるバイト位置はＹアドレス信号ＹＡＤＲＳによってＹスイッチ回路３３が選択する。これにより、ページデータ書込みラッチ回路２９上において、優先順位の高い方のページデータが書込みバイトデータによってマージされる。ページデータスタータス書込みラッチ回路３０には前記マージされたページデータと一緒に書き込まれる新たなページデータステータスがマット制御回路２６によって用意される。用意されるページデータステータは、ページデータ書き込みラッチ回路２９にラッチされたページデータの優先順位よりも高い優先順を有し、また其れとは異なるパリティーを有する。
【００５２】
書込み用のページデータが用意されると、今度は図１２のデータ経路で書込みページに対する消去処理と、書込み処理が行われる。即ち、マット制御回路２６は前記ページデータ書き込みラッチ回路２９にロードしたデータのページとは反対側のメモリマットの対応ページを消去及び書込み処理の対象とする。その規則は図７で説明した通りであり、優先順位の低い方のページ又は無効なページとされる。先ず、その消去及び書込み対象ページに対してページ一括で消去処理が行なわれる。次に、当該ページに対してページデータ書き込みラッチ回路２９とページデータステータ書込みラッチ回路３０に保持されているデータがセレクタ回路２７を介して対応するメモリマットの前記消去及び書込み対象ページに供給されて書き込まれる。消去及び書込み処理のタイミング制御はタイミング制御回路３８が行う。
【００５３】
図１１及び図１２に示されるバイトアクセス領域に対するバイト書換え動作より明らかなように、双方のメモリマット２１，２２で選択されたページが共に有効であるとき、双方のページのなかで優先順位の高い方の有効ページには書換え対象バイト以外のデータがそのまま保存され、優先順位の低い方のページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、一のメモリマットの中で選択されたページは他のメモリマットの中で選択されて書換えられたページに対して書換え前の実質的なバックアップデータを保有することになる。メモリマットに対する消去及び書込み動作中に電源が遮断されても、今回書き込み非対象とされたデータは消失せずに、反対側のメモリマットの対応ページに残っている。双方のメモリマットで選択された一方のページが無効であるときは、有効ページには書換え対象バイト以外のデータがそのまま保存され、当初無効とされたページには書換え対象バイトが更新されたページデータが新たに書き込まれることになる。したがって、当初有効とされた一のページは書き込み対象とされた当初無効なページに対して書換え前の実質的なバックアップデータを保有することになる。メモリマットに対する消去及び書込み動作中に電源が遮断されても、今回書き込み非対象とされたデータは消失せずに、当初有効とされたページに残っている。したがって、バックアップのために別の領域にデータを転送するための別のアクセス動作を追加することを要しないから、ＩＣカード用マイコン１においてフラッシュメモリ６に対するバイト書き換えを伴うデータ処理の高速化に資することができる。当然、フラッシュメモリ６の不揮発性メモリセルはバイト単位のウェル領域分離を行うことを要しないから、フラッシュメモリ６の占有面積を大凡４０％縮小することができる。データ領域（バイトアクセス領域）がプログラム領域（ページアクセス領域）の大凡半分とすると、データ領域の実質記憶容量はプログラム領域の記憶容量の大凡半分になるが、全体的には単位記憶容量に対する占有面積は小さくなる。
【００５４】
特に図示はしないが、テストモードにおいてＭＣ１，ＭＣ２＝１１の場合には、バイトアクセス領域に対するバイトアクセス動作において、選択された双方のページが有効なとき、読出し選択されるページの選択はページデータステータスに依存されず、図示を省略するコントロールレジスタの所定の制御ビットの値に依存する。従って、テストモードにおいて、コントロールレジスタの所定の制御ビットの値を第１の値にすればＭＣ１，ＭＣ２＝００の場合と同様の動作を行うことができ、コントロールレジスタの所定の制御ビットの値を第２の値にすれば、バックアップ側のページデータを読み出して、バックアップが正常に行われているか否かを検証したりすることができる。
【００５５】
図１３にはフラッシュメモリ６のアドレスマップの別の例が示される。アドレスは１６進数で示されている。フラッシュメモリの論理アドレスは０ｘ００００〜０ｘＦＦＦＦの６４Ｋバイトとされ、０ｘ００００〜０ｘ７ＦＦＦにはプログラム格納領域が割り当てられ、０ｘ８０００〜０ｘＦＦＦＦはデータ格納領域に割り当てられている点は図４と同じである。相違点は、バイトアクセス領域におけるアクセス不可能領域のマッピングである。図４では、その下位側半分の０ｘ８０００〜０ｘＢＦＦＦのリニアな空間をアクセス不可能領域としたが、図１３では、ページデータ領域とページサイズのアクセス不能領域とを交互に配置した。メモリマット２１には奇数ページが割り当てられ、メモリマット２２には偶数ページが割り当てられる点が図１３と同じである。図１４には図１３のアドレスマップに対応するマット制御信号ＭＣ１，ＭＣ２の意義が例示される。図５とはアクセスアドレス範囲が相違する。
【００５６】
図４及び図５のように、前記バイトアクセス領域をアクセス不可能な領域とアクセス可能な領域とに２分割する場合は、Ｘアドレス信号ＸＡＤＲＳをデコードするデコーダ２５のデコード論理は、ページアクセスだけのデコード論理に対して１ビット少ないアドレス情報に対するデコード論理を持つことが必要になり、これに応じてアドレス制御回路３７はＣＰＵからのアクセスアドレス信号ＡＤＲＳからＸアドレス信号ＸＡＤＲＳを切り出すときその上位側アドレスビットの１ビットを削除することが必要になる。図１３及び図１４のように、バイトアクセス領域にページデータ領域とアクセス不能なページ領域を交互に配置する場合は、Ｘアドレス信号ＸＡＤＲＳをデコードするデコーダ２５のデコード論理は、ページアクセスだけのデコード論理と同じであってよく、アドレス制御回路３７もＣＰＵからのアクセスアドレスＡＤＲＳの上位側からＸアドレス信号ＸＡＤＲＳを単に切り出して出力すればよい。この意味では、図１３及び図１４のアドレスマッピングを採用することで、アドレス制御回路３７にデータ格納領域を設定するレジスタを設け、ソフトにてレジスタの値を書換えデータ格納領域を設定できる。
【００５７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００５８】
例えば、ページサイズは２５６バイトに限定されず、またバイトアクセスは８ビットアクセスに限定されず、適宜変更可能である。メモリマットの数は２個に限定されず４個又は８個等であってもよい。一部のメモリマットをバイトアクセス制御に割り当て、残りのメモリマットをページアクセス制御に割り当てるようにしても良い。不揮発性メモリセルはＭＯＮＯＳ構造に限定されず、フローティングゲート構造であっても良い。また、スプリットゲートゲート構造の不揮発性メモリセルを採用することも可能である。メモリマットのアレイ構成はＡＮＤ型に限定されず、ＮＡＮＤ、ＮＯＲ等のその他適宜のアレイ構成を採用することが可能である。エラー判定ビットや優先度データのビット数やビット配置は適宜変更可能である。エラー判定ビットとして０１と１０を交互に用いたが、０１又は１０のように、相互に論理値の異なる１種類のビット配列をエラー判定ビットとして採用してもよい。また、フラッシュメモリの外部インタフェースビット数はバイトに限定されない。２バイト又は４バイト等の単位であってもよい。バイトアクセス制御に際してバイトデータを切り出せばよい。不揮発性メモリに対する外部からのアクセス制御にはデータバスから供給されるコマンドを用いるようにしても良い。また、アドレス制御回路はフラッシュメモリ内のメモリ制御回路の一部の機能として備える場合に限定されない。例えば、マイクロコンピュータ内部のＭＭＵ（メモリ・マネージメント・ユニット）、バスステートコントローラ、又はメモリコントローラがその機能を備えてもよい。
【００５９】
本発明が適用されるマイクロコンピュータはＩＣカード用マイクロコンピュータに限定されない。汎用マイクロコンピュータに適用してもよい。その場合には、不揮発性メモリ領域は全てデータ格納領域、即バイトアクセス領域にしても良い。その場合には、単位記憶容量に対するフラッシュメモリの占有面積は小さくならないが、２個のメモリマットに交互に書込む制御形態が採用されるが故に、書換え可能回数の上限を見掛け上約２倍にすることができ、書換え可能な不揮発性データ格納領域の寿命を延ばすことができる。この意味において、本発明はプログラム格納領域を設定しない不揮発性メモリを持つ半導体処理装置にも適用可能である。半導体処理装置はマイクロコンピュータに限定されず、コプロセッサやアクセラレータ等、データ処理を行なう半導体集積回路に広く適用することができる。
【図面の簡単な説明】
【００６０】
【図１】マイクロコンピュータに搭載されるフラッシュメモリを例示するブロック図である。
【図２】本発明の半導体処理装置の一例に係るマイクロコンピュータを例示するブロック図である。
【図３】非接触インタフェースを有するマイクロコンピュータを例示するブロック図である。
【図４】フラッシュメモリのアドレスマップである。
【図５】マット制御信号ＭＣ１，ＭＣ２の意義を例示する説明図である。
【図６】ページデータステータスの具体例を示す説明図である。
【図７】ページデータステータスの状態に応じたマット制御回路による制御形態の概略を例示するフローチャートである。
【図８】ページアクセス領域に対するバイト読出し動作におけるデータの流れを示すフロー図である。
【図９】バイトアクセス領域に対するバイト読出し動作におけるデータの流れを示すフロー図である。
【図１０】ページアクセス領域に対するページ書込み動作におけるデータの流れを示すフロー図である。
【図１１】バイトアクセス領域に対するバイト書換え動作において書換え対象ページデータを書き込みバイトデータでマージするためのデータ読出しにおけるデータの流れを示すフロー図である。
【図１２】バイトアクセス領域に対するバイト書換え動作においてマージされたページデータによる書込み動作のデータの流れを示すフロー図である。
【図１３】フラッシュメモリの別のアドレスマップである。
【図１４】図１３のアドレスマップに対応するマット制御信号ＭＣ１，ＭＣ２の意義を例示する説明図である。
【符号の説明】
【００６１】
１  マイクロコンピュータ
２  ＣＰＵ
６  フラッシュメモリ
１３  データバス
１４  アドレス及びコントロールバス
２１，２２  メモリマット
ＰＤＡＴ  ページデータ領域
ＰＤＡＴＳ  ページデータステータス領域
ＰＤＳ０、ＰＤＳ１  優先度データ
ＰＤＳ２，ＰＤＳ３  エラー判定ビット
２４  ワードドライバ回路
２５  Ｘアドレスデコーダ（ＸＡＤＥＣ）
２６  マット制御回路（ＭＡＴＣＮＴ）
ＭＳ１，ＭＳ２  マット選択信号
２７  セレクタ回路（ＢＬＳＥＬ）
２８  センスアンプ回路（ＳＡＡ）２８
２９  ページデータ書き込みラッチ（ＰＤＬＡＴ）
３０  ページデータステータス書込みラッチ（ＰＤＳＬＡＴ）
３２  データ線３２
３３  Ｙスイッチ回路
３５  Ｙアドレスデコーダ（ＹＡＤＥＣ）
３７  アドレス制御回路（ＡＣＮＴ）
ＡＤＲＳ  アドレス信号
ＸＡＤＲ  Ｘアドレス信号
ＹＡＤＲＳ  Ｙアドレス信号
ＭＣ１，ＭＣ２  マット制御信号
３８  内部タイミング制御回路（ＴＣＮＴ）
【図１】
2007140733.tif 000003
【図２】
2007140733.tif 000004
【図３】
2007140733.tif 000005
【図４】
2007140733.tif 000006
【図５】
2007140733.tif 000007
【図６】
2007140733.tif 000008
【図７】
2007140733.tif 000009
【図８】
2007140733.tif 000010
【図９】
2007140733.tif 000011
【図１０】
2007140733.tif 000012
【図１１】
2007140733.tif 000013
【図１２】
2007140733.tif 000014
【図１３】
2007140733.tif 000015
【図１４】
2007140733.tif 000016