(57)【要約】【課題】不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図る。【解決手段】半導体集積回路装置（１０）は、不揮発性メモリ（１０８）と制御部（１０１）とＲＡＭ（１０７）とを含む。上記制御部は、アドレス変換テーブルを、電源投入時の初期設定により上記ＲＡＭに形成し、このアドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御する。論理／物理アドレス変換テーブルがＲＡＭ内に設けられているため、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になり、不揮発性メモリへのデータ書き込み時間が短縮される。【選択図】図１
2011180963.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部と、
上記制御部によってランダムアクセス可能なＲＡＭと、を含み、
上記不揮発性メモリは、書き込み単位とされるページを含み、
上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報と、を含み、
上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記ＲＡＭの第１記憶エリアに形成するアドレス変換テーブル形成機能と、
上記ＲＡＭの第１記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能と、を含み、
上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記ＲＡＭの第２記憶エリアにコピーする第１機能と、
上記ＲＡＭの第２記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第２機能と、
上記第２機能によるデータ書き込みに対応して、上記ＲＡＭの第２記憶エリアのページ管理情報を更新する第３機能と、
上記ページ管理情報が更新された後に、上記ＲＡＭの第２記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第４機能と、を含むことを特徴とする半導体集積回路装置。
【請求項２】
上記ページ管理情報は、データが正常に書き込まれたことを示す確認フラグを含み、
上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記ＲＡＭの第２エリアのデータとが一致するか否かを判別する第５機能と、
上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記ＲＡＭの第２記憶エリアのデータとが一致する場合に、上記ＲＡＭの第２記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグを更新する第６機能と、を含む請求項１記載の半導体集積回路装置。
【請求項３】
上記ページ管理情報は、タイムスタンプを更に含み、
上記第３機能は、上記第２機能によるデータ書き込みに対応して、上記タイムスタンプの現在の値に、１を加算することで上記タイムスタンプを更新する機能を含む請求項２記載の半導体集積回路装置。
【請求項４】
上記ページ管理情報は、当該ページ管理情報を含むページの論理ページナンバーと、上記ページ管理情報についてのチェックサムと、を更に含む請求項３記載の半導体集積回路装置。
【請求項５】
上記アドレス変換テーブル形成機能は、上記制御部のリセットにより起動され、同じ論理ページナンバーを持つ物理ページが複数存在する場合に、当該物理ページにおけるページ管理情報に基づいて上記空きページを判定する第７機能を含む請求項４記載の半導体集積回路装置。
【請求項６】
上記第７機能は、同じ論理ページナンバーを持つ複数の物理ページ間で、上記チェックサム及び上記確認フラグが共に正常であり、上記タイムスタンプが互いに異なる場合に、上記タイムスタンプの値が小さいほうを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、上記タイムスタンプ、上記論理ページナンバー、上記確認フラグ、及び上記チェックサムの少なくともひとつが異常であると判断された物理ページを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、データが正常に書き込まれたか否かの確認が済んでいないと判断された物理ページを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、確認フラグ以外のデータは正常と判断された物理ページは有効とし、それとは異なる物理ページを上記空きページと判定する機能と、を含む請求項５記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを内蔵した半導体集積回路装置における電源遮断対策技術に関し、例えば非接触式ＩＣカードに搭載されるカード用マイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
不揮発性メモリを内蔵した半導体集積回路装置の一例として、非接触式ＩＣカードに搭載されるカード用マイクロコンピュータを挙げることができる。非接触式ＩＣカードは、カードの内部にアンテナを持ち、外部装置（リーダライタ）との間で、電波を利用したデータ通信を行うことができる。非接触式ＩＣカードの動作用電源も電波から生成することができるため、バッテリー無しで動作可能になっているが、書き込み最中にカードを磁界から遠ざけた場合には、電源遮断により書き込みが不完全となる虞れがある。
【０００３】
特許文献１には、消去及び書き込み処理中に動作電源が遮断されても記憶情報が不所望に消失しないメモリカードが記載されている。それによれば、不揮発性メモリは、そのメモリ領域の物理アドレス毎に空き情報フラグを対応付けた消去テーブルと、論理アドレス毎にメモリ領域の物理アドレスを対応付けたアドレス変換テーブルとを有し、空き情報フラグは対応メモリ領域が消去許可か否かを示す。制御回路は、消去テーブルの空き情報フラグを参照して書き換えデータを書き込むメモリ領域を決定し、データを書き込んだメモリ領域の物理アドレスと論理アドレスとを対応をアドレス変換テーブルに反映し、消去テーブルの空き情報フラグを更新する。書き換えデータを書き込むメモリ領域は消去テーブルの空き情報フラグを参照して決定し、書き換え前のメモリ領域と同じメモリ領域で書き換えを行わない。
【０００４】
特許文献２には、仮想的なセクタ消去の最中に電源が切れてしまっても、差分のデータが損なわれることのない記録技術が記載されている。それによれば、複数のブロック化された記録単位領域を有する不揮発記録媒体に対し、その各記録単位領域に連続的な書込み動作を行い、かつ記録単位領域毎に一括消去動作を行う。そして新たにファイルを上書き保存する際に、記録単位領域の既に書き込まれた既存ファイル直後の空き領域から書込み動作を開始するとともに、かかる書込み動作終了するまでの間、記録単位領域に書き込まれている上書きファイル対応のファイルを保持するようにしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１２７１８５号公報
【特許文献２】特開２００８−０７７６６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非接触インタフェースを有するＯＳ（Operating System；オペレーティングシステム）規格では、デバイスとして書き込み最中に電源遮断（Tear off）が発生した場合、中途半端な状態で不揮発性メモリ上のデータを放置することはデバイスの信頼性低下となると考え、書込みが正常に終了しなかった場合、次に同アドレスの読み出し要求があったときは書込み実施前のデータを出力するよう規定されている。
【０００７】
特許文献１によれば、データ書き込み要求の発生時には不揮発性メモリの空き領域への書き込みを実施し、旧データへの上書きを実施しないようにしている。そして、論理アドレスと物理アドレスとの変換に用いられるアドレス変換テーブルが不揮発性メモリ内に形成され、不揮発性メモリへのデータ書き込み処理時に、不揮発性メモリ内のアドレス変換テーブル更新が行われる。つまり、不揮発性メモリへのデータ書き込み毎に、不揮発性メモリへのデータ書き込みと、当該不揮発性メモリ内のアドレス変換テーブル更新のために、結果的に不揮発性メモリへの書き込み動作が２度必要とされる。不揮発性メモリへの書き込み処理について本願発明者が検討したところ、不揮発性メモリとは別のメモリ例えばＲＡＭ（Random Access Memory）にアドレス変換テーブルを形成すれば、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になるため、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上が図れることを見いだした。しかし、ＲＡＭにアドレス変換テーブルを形成する場合には、電源遮断によりＲＡＭ内のアドレス変換テーブルが失われてしまうため、それについての対策が不可欠となる。
【０００８】
特許文献２においては、論理アドレスと物理アドレスとの変換に用いられるアドレス変換テーブルが用いられていないため、電源遮断とＲＡＭ内のアドレス変換テーブルとの関係については考慮されていない。
【０００９】
本発明の目的は、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図るための技術を提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１２】
すなわち、不揮発性メモリと、上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部と、上記制御部によってランダムアクセス可能なＲＡＭとを設ける。上記不揮発性メモリは、書き込み単位とされるページを含み、上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報とを含む。上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記ＲＡＭの第１記憶エリアに形成するアドレス変換テーブル形成機能と、上記ＲＡＭの第１記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能とを含む。上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記ＲＡＭの第２記憶エリアにコピーする第１機能と、上記ＲＡＭの第２記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第２機能とを含む。さらに上記データ書き込み機能は、上記第２機能によるデータ書き込みに対応して、上記ＲＡＭの第２記憶エリアのページ管理情報を更新する第３機能と、上記ページ管理情報が更新された後に、上記ＲＡＭの第２記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第４機能とを含む。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図るための技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明にかかる半導体集積回路装置の一例とされるカード用マイクロコンピュータの構成例ブロック図である。
【図２】上記カード用マイクロコンピュータに含まれるＥＥＰＲＯＭの初期状態の説明図である。
【図３】上記カード用マイクロコンピュータの動作の流れを示すフローチャートである。
【図４】上記カード用マイクロコンピュータにおいて書き込み命令が受信された場合の動作の流れを示すフローチャートである。
【図５】上記カード用マイクロコンピュータにおいて読み出し命令が受信された場合の動作の流れを示すフローチャートである。
【図６】上記ＥＥＰＲＯＭにおけるメモリフォーマットと論理／物理アドレス変換テーブルとの関係説明図である。
【図７】上記ＥＥＰＲＯＭに含まれるブロックのデータ書き換えを目的とする書き込み命令が受信された場合の主要部の状態説明図である。
【図８】旧データがＲＡＭ内の所定エリアにコピーされた状態の説明図である。
【図９】上記カード用マイクロコンピュータに含まれるＲＡＭ内の書き込み用エリアにコピーされたデータの更新後の状態説明図である。
【図１０】上記ＥＥＰＲＯＭにおける空きページへのデータ書き込みの説明図である。
【図１１】上記ＥＥＰＲＯＭにおけるデータと、上記ＲＡＭの書き込み用エリアのデータとの比較の説明図である。
【図１２】上記ＲＡＭ内の書き込み用エリアにおける確認フラグの変更と当該確認フラグの上記ＥＥＰＲＯＭへのオーバーライトの説明図である。
【図１３】上記ＲＡＭ内の論理／物理アドレス変換テーブルの更新の説明図である。
【図１４】空きページの判定基準を説明するための説明図である。
【図１５】空きページの判定基準を説明するための説明図である。
【図１６】空きページの判定基準を説明するための説明図である。
【図１７】空きページの判定基準を説明するための説明図である。
【図１８】ＥＥＰＲＯＭの書き換え単位と、書き換えにかかるデータサイズとの関係の説明図である。
【図１９】ＥＥＰＲＯＭの書き換え単位と、書き換えにかかるデータサイズとの関係の説明図である。
【図２０】上記カード用マイクロコンピュータが搭載された非接触式ＩＣカードの使用例説明図である。
【図２１】上記カード用マイクロコンピュータを搭載する非接触式ＩＣカードに対応するリーダライタに結合されるホストシステムでの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１７】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路装置（１０）は、不揮発性メモリ（１０８）と、上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部（１０１）と、上記制御部によってランダムアクセス可能なＲＡＭ（１０７）とを含む。上記不揮発性メモリは、書き込み単位とされるページを含み、上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報とを含む。上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記ＲＡＭの第１記憶エリアに形成するアドレス変換テーブル形成機能と、上記ＲＡＭの第１記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能とを含む。上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記ＲＡＭの第２記憶エリアにコピーする第１機能と、上記ＲＡＭの第２記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第２機能とを含む。さらに上記データ書き込み機能は、上記第２機能によるデータ書き込みに対応して、上記ＲＡＭの第２記憶エリアのページ管理情報を更新する第３機能と、上記ページ管理情報が更新された後に、上記ＲＡＭの第２記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第４機能とを含む。
【００１８】
論理／物理アドレス変換テーブルが不揮発性メモリ内に設けられている場合には、当該不揮発性メモリへのデータ書き込み毎に、不揮発性メモリへのデータ書き込みと、当該不揮発性メモリ内のアドレス変換テーブル更新のために、結果的に不揮発性メモリへの書き込み動作が２度必要とされる。
【００１９】
これに対して、上記構成の半導体集積回路装置においては、論理／物理アドレス変換テーブルがＲＡＭ内に設けられているため、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になる。ＲＡＭ内の論理／物理アドレス変換テーブルの更新は、不揮発性メモリの場合に比べて高速に行うことができる。このため、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図ることができる。
【００２０】
また制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記ＲＡＭの第１記憶エリアに形成するため、電源投入毎に適切なアドレス変換テーブルを得ることができる。
【００２１】
〔２〕上記〔１〕において、上記ページ管理情報は、データが正常に書き込まれたことを示す確認フラグを含む。上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記ＲＡＭの第２エリアのデータとが一致するか否かを判別する第５機能を含む。また、上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記ＲＡＭの第２記憶エリアのデータとが一致する場合に、上記ＲＡＭの第２記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグを更新する第６機能を含む。
【００２２】
第５機能により、上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記ＲＡＭの第２エリアのデータとが一致するか否かの判別が行われ、上記両データが一致する場合には、第６機能により、上記ＲＡＭの第２記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグが更新される。確認フラグの値に基づいて、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。さらには、上書き処理においては、通常のデータ書き込みと比べてデータ消去処理を実施していないため、データ書き込み機能においては、全体として短時間で処理を完了することが可能となる。このため、非接触通信が行われる場合においても、従来技術のような不揮発性メモリへの２度の書き込み動作を行う場合に比べて、より早く必要なデータ通信を完了させることが可能となり、データ書き込み中に電源遮断が発生する可能性を小さくすることが可能となる。
【００２３】
〔３〕上記〔２〕において、上記ページ管理情報には、タイムスタンプを含めることができる。このとき、上記第３機能には、上記第２機能によるデータ書き込みに対応して、上記タイムスタンプの現在の値に、１を加算することで上記タイムスタンプを更新する機能を設けることができる。
【００２４】
上記タイムスタンプにより、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。
【００２５】
〔４〕上記〔３〕において、上記ページ管理情報には、当該ページ管理情報を含むページの論理ページナンバーと、上記ページ管理情報についてのチェックサムとを含めることができる。
【００２６】
論理ページナンバーと、上記ページ管理情報についてのチェックサムとに基づいて、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。
【００２７】
〔５〕上記〔４〕において、上記アドレス変換テーブル形成機能には、上記制御部のリセットにより起動され、同じ論理ページナンバーを持つ物理ページが複数存在する場合に、当該物理ページにおけるページ管理情報に基づいて上記空きページを判定する第７機能を含めることができる。
【００２８】
第７機能により、空きページの判定が行われることにより、上記第４機能による書き込み先（空きページ）を決定することができる。
【００２９】
〔６〕上記〔５〕において、上記第７機能には、同じ論理ページナンバーを持つ複数の物理ページ間で、上記チェックサム及び上記確認フラグが共に正常であり、上記タイムスタンプが互いに異なる場合に、上記タイムスタンプの値が小さいほうを上記空きページと判定する機能を含めることができる。上記第７機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、上記タイムスタンプ、上記論理ページナンバー、上記確認フラグ、及び上記チェックサムの少なくともひとつが異常であると判断された物理ページを上記空きページと判定する機能を含めることができる。上記第７機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、データが正常に書き込まれたか否かの確認が済んでいないと判断された物理ページを上記空きページと判定する機能を含めることができる。上記第７機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、確認フラグ以外のデータは正常と判断された物理ページは有効とし、それとは異なる物理ページを上記空きページと判定する機能を含めることができる。
【００３０】
以上の空きページ判定機能によれば、電源遮断の発生タイミング、すなわち書き込みのどの段階で電源遮断が発生したかを考慮してデータの有効性を判断して空きページを決定するようにしているため、不揮発性メモリ内の旧データ及び書き込みにかかる新データの何れかが必ず有効と判断され、それによって適切な空きページ判定を行うことができる。
【００３１】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３２】
＜実施の形態１＞
図１には、本発明にかかる半導体集積回路装置の一例とされるカード用マイクロコンピュータが示される。
【００３３】
図１に示されるカード用マイクロコンピュータ１０は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成され、非接触式ＩＣカードに搭載されるシングルチップマイクロコンピュータである。
【００３４】
カード用マイクロコンピュータ１０は、それぞれ所定の機能を有する複数の機能モジュールを含み、それらは、アドレス信号を伝達するためのアドレスバスＡＢＵＳや、データを伝達するためのデータバスＤＢＵＳを介して各種信号のやり取りが可能に結合されている。
【００３５】
カード用マイクロコンピュータ１０には、ＣＰＵ（中央処理装置、制御部）１０１、Ｉ／Ｏ（入出力）ポート１０２、ウォッチドッグタイマ（ＷＤＴ）１０３、システムコントロールロジック１０４、セキュリティロジック１０５、ＲＯＭ（Read Only Memory；リードオンリーメモリ）１０６、ＲＡＭ（Random Access Memory；ランダムアクセスメモリ）１０７が設けられる。ＣＰＵ１０１は、所定のプログラムを実行することで、カード用マイクロコンピュータ１０全体の動作を制御する。Ｉ／Ｏポート１０２は、２チャンネルのＩ／Ｏ外部割り込み兼用ポート（Ｉ／Ｏ−１／ＩＲＱ，Ｉ／Ｏ−２／ＩＲＱ）を有する。ウォッチドッグタイマ（ＷＤＴ）１０３は、ＣＰＵ１０１で実行されるプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作が行なわれなかった場合を検出する。システムコントロールロジック１０４は、ＣＰＵ１０１の制御下でカード用マイクロコンピュータシステムの動作を制御する。セキュリティロジック１０５は、システムの安全を維持することを目的とするファイアウォールマネージメントなどを含む。ＲＯＭ１０６には、ＣＰＵ１０１で実行されるプログラムが格納される。ＲＡＭ１０７は、ＣＰＵ１０１によってランダムアクセス可能なメモリとされ、特に制限されないが、ダイナミック型ＲＡＭやスタティック型ＲＡＭとされる。このＲＡＭ１０７には、後に詳述するように、ＣＰＵ１０１の制御下で、アドレス変換テーブルが形成される。
【００３６】
またカード用マイクロコンピュータ１０には、ＥＥＰＲＯＭ（電気的に消去可能なプログラマブルＲＯＭ、不揮発性メモリ）１０８、複数のタイマ（ＴＭＲ１，ＴＭＲ２，ＴＭＲ３）１０９、剰余乗算コプロセッサ１１０、ＤＥＳコプロセッサ１１１、ＡＥＳコプロセッサ１１２が設けられる。ＥＥＰＲＯＭ１０８は、不揮発性メモリの一例とされる。このＥＥＰＲＯＭ１０８へのデータ書き込み動作やＥＥＰＲＯＭ１０８からのデータ読み出し動作は、ＣＰＵ１０１によって制御される。このような意味で、ＣＰＵ１０１を「制御部」とも称する。複数のタイマ（ＴＭＲ１，ＴＭＲ２，ＴＭＲ３）１０９は、それぞれクロックを数えることで一定時間の経過を知るのに用いられる。剰余乗算コプロセッサ１１０、ＤＥＳコプロセッサ１１１、ＡＥＳコプロセッサ１１２は、暗号演算処理等、所定の演算処理を実行する。本例では、コプロセッサでの演算処理の作業領域に使用されるＲＡＭ（ＣＲＡＭ）が剰余乗算コプロセッサ１１０に設けられている。
【００３７】
さらにカード用マイクロコンピュータ１０には、乱数生成回路（ＲＮＧ）１１３、擬似乱数発生回路（ＤＮＧ）１１４、接触インタフェース（ＵＡＲＴ）１１５、非接触インタフェース１１６、アナログ制御回路１１７が設けられる。乱数生成回路（ＲＮＧ）１１３は乱数を発生する。擬似乱数発生回路（ＤＮＧ）１１４は擬似乱数を発生する。接触インタフェース（ＵＡＲＴ）１１５は、外部装置（リーダライタ）に接触された状態で各種信号のやり取りを可能にする。非接触インタフェース１１６は、外部装置（リーダライタ）と非接触状態で各種信号のやり取りを可能にする。本例では、データ入出力のための通信バッファ（ＢＵＦ）が非接触インタフェース１１６内に設けられる。アナログ制御回路１１７は、入力切り替え機能を有し、外部装置（リーダライタ）に接触された状態では、非接触式ＩＣカードに設けられた接触インタフェース端子を介して、リセット信号ＲＥＳ、クロック信号ＣＬＫ、電源電圧Ｖｃｃ，Ｖｓｓの取り込みを可能にする。電源電圧Ｖｃｃ，Ｖｓｓは、カード用マイクロコンピュータ１０の動作用電源とされる。リセット信号ＲＥＳによって、カード用マイクロコンピュータ１０をリセットすることができる。また、カード用マイクロコンピュータ１０への電源投入により、アナログ制御回路１１７によって、パワーオンリセット信号が形成されるようになっている。カード用マイクロコンピュータ１０への電源投入時には、上記パワーオンリセット信号によってカード用マイクロコンピュータ１０が初期化されるようになっている。また、アナログ制御回路１１７は、外部装置（リーダライタ）に接触されていない状態では、電波を介して外部装置（リーダライタ）との間の通信を可能にする。この場合、カード用マイクロコンピュータ１０の電源は、アンテナ１１８を介して受信する外部装置（非接触リーダー／ライター装置）のＲＦキャリア信号の整流・平滑によって生成される。この場合においても、カード用マイクロコンピュータ１０への電源投入時には、上記パワーオンリセット信号によってカード用マイクロコンピュータ１０が初期化される。
【００３８】
データ書き込み最中の電源遮断とは、例えば、非接触通信を行っている最中に、カード用マイクロコンピュータ１０が実装された非接触ＩＣカードを外部装置の磁界から遠ざけた場合に、ＲＦキャリア信号を十分に受信することが不可能となり、結果として、ＲＦキャリア信号を整流・平滑化することによって生成されるはずの電源が十分に生成されなくなることで、通信最中に電源遮断が発生してしまうことである。
【００３９】
図２には、上記ＥＥＰＲＯＭ１０８の初期状態が示される。
【００４０】
ＥＥＰＲＯＭ１０８は、特に制限されないが、電源遮断対策領域２０２と、電源遮断対策対象外領域（電源遮断非対策領域）２０３，２０４を含む。電源遮断対策領域２０２へのデータ書き込みの最中に電源が遮断された場合でも、デバイスの信頼性低下を生じないような対策がとられている。しかし、電源遮断対策対象外領域２０３，２０４へのデータ書き込みについては、そのような対策はとられていない。電源遮断対策対象外領域２０３，２０４（その他のデータエリア）は、書き換えが不要とされるデータの格納に利用できる。
【００４１】
ＣＰＵ１０１は、ＥＥＰＲＯＭ１０８における物理メモリ空間および論理メモリ空間を、基本的に一定サイズのページと呼ばれる単位に分割して管理を行う。ページは、物理ページナンバー（以降、ナンバーを「Ｎｏ．」と略記する場合もある）や論理ページナンバーで識別される。論理ページナンバーと物理ページナンバーとの対応付けは、論理／物理アドレス変換テーブルで実現される。ＥＥＰＲＯＭ１０８におけるページは、複数のデータが格納されるブロック（データブロック）「Ｂｌｏｃｋ」とページ管理情報が格納されるページ管理情報エリア２０１とを含む。ＥＥＰＲＯＭ１０８へのデータ書き込みはページ単位で行われる。
【００４２】
図６には、上記ＥＥＰＲＯＭ１０８におけるメモリフォーマットと論理／物理アドレス変換テーブルとの関係が示される。
【００４３】
図６（Ａ）に示されるように、書き込み最中の電源遮断対策のため、ＥＥＰＲＯＭ１０８における複数のページのうちのひとつが必ず空きページとされ、新たなデータ書き込みは、この空きページに対して行われる。図６に示される例では、物理ページＮｏ．Ｈ’７０が空きページとされ、当該空きページに属するブロックは、「Ｖａｃａｎｔ  Ｂｌｏｃｋ（空きブロック）」とされることで、他のページのブロックと区別されている。
【００４４】
ページ管理情報エリア２０１に記録されるページ管理情報は、図６（Ｃ）に拡大して示されるように、タイムスタンプ（ＴＳ）、論理ページＮｏ．（Ｈ’００）、確認フラグ（Ｈ’８１）、ページ管理情報に対する第１チェックサム（ＣＳ１）、データブロックに対する第２チェックサム（ＣＳ２）を含む。タイムスタンプは、後述するように空きページの判断に用いられる。論理ページＮｏ．は、ＥＥＰＲＯＭ１０８における論理ページＮｏ．である。確認フラグは、データが正常に書き込まれたことを示すためのフラグである。ページ管理情報に対する第１チェックサムは、タイムスタンプと論理ページＮｏ．とのワードの総計値とされ、データブロックに対する第２チェックサムは、当該ページにおけるデータブロックのワードの総計値とされる。第１チェックサム及び第２チェックサムは、それぞれ誤り検出に用いられる。
【００４５】
論理／物理アドレス変換テーブルは、図６（Ｂ）に示されるように、論理ページＮｏ．と物理ページＮｏ．とが対応付けられており、この論理／物理アドレス変換テーブル６０１を参照することで、論理アドレスに対する物理アドレスが得られる。また、この論理／物理アドレス変換テーブル６０１を参照することで、ＥＥＰＲＯＭ１０８における空きページの物理ページＮｏ．が得られるようになっている。このような論理／物理アドレス変換テーブル６０１は、このカード用マイクロコンピュータ１０のパワーオンリセット後の初期化処理により、ＲＡＭ１０７に形成される。
【００４６】
図３には、カード用マイクロコンピュータ１０の動作の流れが示される。
【００４７】
カード用マイクロコンピュータ１０に電源電圧Ｖｃｃ,Ｖｓｓが投入されたとき、又はアンテナ１１８を介して電源電圧が供給されたとき（３０１）、アナログ制御回路１１７において、パワーオンリセット信号が発生され、それによってカード用マイクロコンピュータ１０が初期化される。すなわち、ＣＰＵ１０１によって、所定のリセット処理プログラムが実行されることにより、カード用マイクロコンピュータ１０におけるハードウェア（Ｈ／Ｗ）の初期化処理及びソフトウェア（Ｓ／Ｗ）の初期化処理が行われ（３０２,３０３）、論理／物理アドレス変換テーブルの作成が実行される（３０４）。論理／物理アドレス変換テーブルは、ＥＥＰＲＯＭ１０８における電源遮断対策対象領域２０２（図２参照）の全体がＣＰＵ１０１によってスキャンされ、そのスキャン結果に基づいてＲＡＭ１０７の所定エリアに構築される。論理／物理アドレス変換テーブルには、空きページの物理ページＮｏ．も含まれる。尚、空きページの判定基準については後に詳述する。論理／物理アドレス変換テーブルが作成された後に、カード用マイクロコンピュータ１０は、命令の受信待ち状態となる（３０５）。この状態で、書き込み命令や読み出し命令が受信された場合には、当該命令に応じた処理がＣＰＵ１０１の制御下で行われる（３０６）。
【００４８】
図４には、カード用マイクロコンピュータ１０において書き込み命令が受信された場合の動作の流れが示される。
【００４９】
以下、図４に基づいて、カード用マイクロコンピュータ１０の動作を説明する。尚、書き込み命令は、外部装置とされるリーダライタから発行され、このリーダライタから発行された書き込み命令には、データを書き換えたいブロック番号、及び書き換えにかかるデータが含まれるものとする。
【００５０】
書き込み命令が受信されると（４０１）、当該命令がＣＰＵ１０１でデコードされ、そのデコード結果に基づいて、先ず、アドレス変換処理が行われる（４０２）。図７には、ブロック１（Ｂｌｏｃｋ１）のデータ書き換えを目的とする書き込み命令が受信された場合の主要部の状態が示される。この例では、ＥＥＰＲＯＭ１０８におけるＨ’００〜Ｈ’７０までが電源遮断対策対象領域とされる。また、特に制限されないが、ＥＥＰＲＯＭ１０８の書き換え単位（ページのサイズ）は６４バイト、書き換えにかかるデータサイズ（ブロックのサイズ）は１６バイトとされる。
【００５１】
ブロック１（Ｂｌｏｃｋ１）に対応する論理ページＮｏ．から物理ページＮｏ．への変換は、ＲＡＭ１０７内の論理／物理アドレス変換テーブル６０１を参照して行われる。
【００５２】
次に、ステップ４０２でのアドレス変換結果に基づいて、旧データがＲＡＭ１０７の所定エリアにコピーされる（４０３）。図８には、旧データがＲＡＭ１０７の所定エリアにコピーされた状態が示される。この例では、データ書き換えの対象とされるブロック１（Ｂｌｏｃｋ１）が含まれるページ（物理ページＮｏ．Ｈ’００）の記憶データがＲＡＭ１０７の書き込み用エリア８０１にコピーされる。
【００５３】
次に、ステップ４０３でＲＡＭ１０７の書き込み用エリア８０１にコピーされたデータの更新が行われる（４０４）。図９には、ステップ４０３でＲＡＭ１０７の書き込み用エリア８０１にコピーされたデータの更新後の状態が示される。この例では、書き込み用エリア８０１におけるブロック１（Ｂｌｏｃｋ１）のデータが、書き込み命令にかかるデータ（Ｂｌｏｃｋ１’）に変更される。この変更に伴い、タイムスタンプが、「ＴＳ」から「ＴＳ＋１」に更新され、確認フラグが「Ｈ’８１」から「Ｈ’ＦＦ」に更新され、さらに、第１チェックサムの値が「ＣＳ１」から「ＣＳ１’」に更新され、第２チェックサムの値が「ＣＳ２」から「ＣＳ２’」に更新される。
【００５４】
次に、ＥＥＰＲＯＭ１０８における空きページへのデータ書き込みが行われる（４０５）。つまり、論理／物理アドレス変換テーブル６０１を参照してＥＥＰＲＯＭ１０８における空きページの物理ページＮｏ．が求められ（この例では「Ｈ’７０」）、図１０に示されるように、この空きページに、ＲＡＭ１０７の書き込み用エリア８０１のデータ（ステップ４０４で更新されたもの）が書き込まれる。
【００５５】
上記ステップ４０５のデータ書き込みが行われた後、そのデータ書き込みが正しく行われたか否かを確認するため、図１１に示されるように、ＥＥＰＲＯＭ１０８における物理ページＮｏ．Ｈ’７０のデータ（ステップ４０５で書き込まれたデータ）と、ＲＡＭ１０７の書き込み用エリア８０１のデータ（書き込み元のデータ）との比較が行われる（４０６）。
【００５６】
上記ステップ４０６のデータ比較の結果、両データが一致すると判断された場合、それは上記ステップ４０５でのデータ書き込みが正しく行われたことを意味するから、その場合には、確認フラグのオーバーライトが行われる（４０７）。つまり、上記ステップ４０６のデータ比較の結果、両データが一致すると判断された場合には、図１２に示されるように、ＲＡＭ１０７の書き込み用エリア８０１における確認フラグが、それまでの「Ｈ’ＦＦ」から、確認完了を示すデータ、例えば「Ｈ’８１」に変更され、この変更後の確認フラグが、ＥＥＰＲＯＭ１０８における物理ページＮｏ．Ｈ’７０のデータにオーバーライト（上書き）される。このオーバーライトでは、確認フラグ以外のデータの書き込みは不要であるため、ＲＡＭ１０７の書き込み用エリア８０１における確認フラグ以外のデータは、全て「Ｈ’ＦＦ」に変更される。ステップ４０７におけるオーバーライトは、上記ステップ４０５のデータ書き込みと比べてデータ消去処理を実施していない分、短時間で完了する。つまり、上記ステップ４０７では、確認フラグ以外のデータは「Ｈ‘ＦＦ」でオーバーライトするため、ＲＡＭ１０７の書き込み用エリア８０１は、結果的に、確認完了を示すデータのみが更新されている。
【００５７】
尚、上記ステップ４０６のデータ比較の結果、両データが一致しないと判断された場合には、それは上記ステップ４０５でのデータ書き込みが正しく行われていないことを意味するから、書き込み失敗とし処理を終了する。
【００５８】
上記ステップ４０７のオーバーライト後に、論理／物理アドレス変換テーブル６０１の更新が行われる（４０８）。つまり、図１３に示されるように、論理／物理アドレス変換テーブル６０１の内容を、ＥＥＰＲＯＭ１０８の状態に整合させるため、論理／物理アドレス変換テーブル６０１において、論理ページＮｏ．Ｈ’００の物理ページＮｏ．が、それまでの「Ｈ’００」から「Ｈ’７０」に変更され、空きページの物理ページＮｏ．が、それまでの「Ｈ’７０」から「Ｈ’００」に変更される。
【００５９】
以上により、受信された書き込み命令に対応するデータ書き換えが終了する。
【００６０】
次に、図３におけるステップ３０４の論理／物理アドレス変換テーブル作成で行われる空きページの判定について詳述する。互いに等しい論理ページＮｏ．を有する物理ページが二つ存在する場合、ＣＰＵ１０１は以下の判定基準に従って空きページを決定する。
【００６１】
空きページの判定基準として、以下の４ケースを挙げることができる。
【００６２】
《ケース１》
先ず、ケース１について説明する。
【００６３】
図１４に示されるように、互いに等しい論理ページＮｏ．Ｈ’００を有する二つの物理ページにおいて、それぞれ第１チェックサム（ＣＳ１，ＣＳ１’）および第２チェックサム（ＣＳ２，ＣＳ２’）が正しく、且つ、確認フラグ（Ｈ’８１）も正常にオーバーライトされているが、タイムスタンプが互いに異なる場合がある。かかる場合は、タイムスタンプの大きいほうが有効データとされる。つまり、タイムスタンプは、ＲＡＭ１０７の書き込み用エリア８０１にコピーされたデータがステップ４０４で更新（図９参照）された結果、それまでの「ＴＳ」から「ＴＳ＋１」に変更されているはずであるから、このタイムスタンプの大きいほうが有効データである。従って、「ＴＳ＋１」のタイムスタンプを有する物理ページＮｏ．Ｈ‘７０が有効ページと判定され、「ＴＳ」のタイムスタンプを有する物理ページＮｏ．Ｈ’００が空きページと判定され、その判定結果が、論理／物理アドレス変換テーブル６０１に書き込まれる。
【００６４】
本ケースは、ステップ４０８の論理／物理アドレス変換テーブルの更新後に電源が遮断された場合であり、最も一般的なケースである（図４参照）。
【００６５】
《ケース２》
ケース２について説明する。
【００６６】
図１５に示されるように、例えば物理ページＮｏ．７０のページ管理情報において、タイムスタンプ、論理ページＮｏ．、確認フラグ、第１チェックサムおよび第２チェックサムのうち、少なくともひとつが、あり得ない値（異常値）の場合、それは無効データ（Ｉｎｖａｌｉｄ  ｄａｔａ）と判断され、当該物理ページＮｏ．７０が空きページと判定され、その判定結果が、論理／物理アドレス変換テーブル６０１に書き込まれる。
【００６７】
本ケースは、ステップ４０５の物理ページＮｏ．７０へのデータ書き込みの最中に電源が遮断されることにより、データが異常値となってしまった可能性があるため、当該データ書き込み以前のデータ（ＥＥＰＲＯＭ１０８の旧データであり、本例では物理ページＮｏ．Ｈ’００のデータ）が有効（有効データページ）とされる（図４参照）。
【００６８】
《ケース３》
ケース３について説明する。
【００６９】
図１６に示されるように、互いに等しい論理ページＮｏ．Ｈ’００を有する二つの物理ページにおいて、それぞれ第１チェックサム（ＣＳ１，ＣＳ１’）および第２チェックサム（ＣＳ２，ＣＳ２’）が正しく、物理ページＮｏ．Ｈ’７０のタイムスタンプが物理ページＮｏ．Ｈ’００に比べて、＋１（更新）されているにもかかわらず、物理ページＮｏ．Ｈ’７０の確認フラグがＨ’ＦＦのままである場合が考えられる。かかる場合には、物理ページＮｏ．Ｈ’７０が空きページと判定され、その判定結果が、論理／物理アドレス変換テーブル６０１に書き込まれる。
【００７０】
本ケースは、データが正常に書き込まれたにもかかわらず、電源遮断により、ステップ４０６でのデータ比較に基づいてデータが正常に書き込まれたか否かの確認が済んでいないことが考えられるため、当該データ書き込み以前のデータ（ＥＥＰＲＯＭ１０８の旧データであり、本例では物理ページＮｏ．Ｈ’００のデータ）が有効とされる（図４参照）。
【００７１】
《ケース４》
ケース４について説明する。
【００７２】
図１７に示されるように、互いに等しい論理ページＮｏ．Ｈ’００を有する二つの物理ページにおいて、それぞれ第１チェックサム（ＣＳ１，ＣＳ１’）および第２チェックサム（ＣＳ２，ＣＳ２’）が正しく、物理ページＮｏ．Ｈ’７０のタイムスタンプが物理ページＮｏ．Ｈ’００に比べて、＋１されているにもかかわらず、物理ページＮｏ．Ｈ’７０の確認フラグが異常な値（ただし、「Ｈ’ＦＦ」を除く）である場合が考えられる。かかる場合、物理ページＮｏ．Ｈ’００が空きページと判定され、その判定結果が、論理／物理アドレス変換テーブル６０１に書き込まれる。
【００７３】
本ケースは、ステップ４０６でのデータ比較に基づいてデータが正常に書き込まれたことが確認されたものの、ステップ４０７での確認フラグのオーバーライトの最中に電源が遮断された可能性があり、確認フラグ以外は正常に書き込まれていると判断される。このため、本例では当該データ書き込み以後のデータ（ＥＥＰＲＯＭ１０８の新データであり、本例では物理ページＮｏ．Ｈ’７０のデータ）が有効とされる（図４参照）。
【００７４】
以上の空きページ判定基準によれば、電源遮断の発生タイミング、すなわち書き込みのどの段階で発生したかを考慮してデータの有効性を判断して空きページを決定するようにしているため、ＥＥＰＲＯＭ１０８内の旧データ及び書き込みにかかる新データの何れかが必ず有効と判断され、それによって適切な空きページ判定を行うことができ、ＥＥＰＲＯＭ１０８から読み出されるデータの信頼性の向上を図ることができる。
【００７５】
ここで従来技術に従えば、論理／物理アドレス変換テーブル６０１がＥＥＰＲＯＭ１０８内に設けられている場合には、ＥＥＰＲＯＭ１０８へのデータ書き込み毎に、ＥＥＰＲＯＭ１０８へのデータ書き込みと、当該ＥＥＰＲＯＭ１０８内のアドレス変換テーブル更新のために、結果的にＥＥＰＲＯＭ１０８への書き込み動作が２度必要とされる。
【００７６】
これに対してこの実施の形態では、論理／物理アドレス変換テーブル６０１がＲＡＭ１０７内に設けられているため、ＥＥＰＲＯＭ１０８内のアドレス変換テーブル更新のためのＥＥＰＲＯＭ１０８への書き込み動作が不要になる。ＲＡＭ１０７内の論理／物理アドレス変換テーブル６０１の更新は、ＥＥＰＲＯＭ１０８の場合に比べて高速に行うことができる。このため、ＥＥＰＲＯＭ１０８へのデータ書き込み処理全体としてのパフォーマンスの向上を図ることができる。
【００７７】
データ書き込み処理において、上記ステップ４０６のデータ比較の結果、両データが一致すると判断された場合、確認フラグのオーバーライトが行われる（４０７）。しかしこのオーバーライトでは、確認フラグ以外のデータの書き込みは不要であるため、ＲＡＭ１０７の書き込み用エリア８０１における確認フラグ以外のデータは、全て「Ｈ’ＦＦ」に変更される。上記ステップ４０７におけるオーバーライトは、上記ステップ４０５のデータ書き込みと比べてデータ消去処理を実施していない分、短時間で完了することができる。従って、確認フラグのオーバーライトは、ＥＥＰＲＯＭ１０８へのデータ書き込み処理全体としてのパフォーマンスの向上を妨げるものではない。
【００７８】
また、上記ステップ４０７におけるオーバーライト（上書き処理）においては、通常のデータ書き込みと比べてデータ消去処理を実施していないため、データ書き込み処理においては、全体として短時間で処理を完了することが可能となる。よって、非接触通信が行われる場合においても、従来技術のような不揮発性メモリへの２度の書き込み動作を行う場合に比べて、より早く必要なデータ通信（書き込み通信等）を完了させることが可能となり、通信中に電源遮断が発生する可能性をを小さくすることが可能となる。
【００７９】
次に、読み出し命令がカード用マイクロコンピュータ１０において受信された場合の動作について説明する。
【００８０】
図５には、カード用マイクロコンピュータ１０において読み出し命令が受信された場合の動作の流れが示される。
【００８１】
尚、読み出し命令は、リーダライタから発行され、このリーダライタから発行された書き込み命令には、データを読み出したいブロック番号などの情報が含まれるものとする。
【００８２】
読み出し命令が受信されると（５０１）、上記書き込み命令が受信された場合と同様に、当該命令がＣＰＵ１０１でデコードされ、そのデコード結果に基づいて、先ず、アドレス変換処理が行われる（５０２）。データを読み出したいブロックの論理ページＮｏ．から物理ページＮｏ．への変換は、ＲＡＭ１０７内の論理／物理アドレス変換テーブル６０１を参照して行われる。そして、得られた物理ページＮｏ．の記憶データがＥＥＰＲＯＭ１０８からＲＡＭ１０７の所定エリアにコピーされ（５０３）、コピーされたデータの中から、上記読み出し命令に対応するデータがリーダライタへ出力される（５０４）。
【００８３】
次に、ＥＥＰＲＯＭ１０８の書き換え単位と、書き換えにかかるデータサイズとの関係について説明する。
【００８４】
カード用マイクロコンピュータ１０は、ＥＥＰＲＯＭ１０８の書き換え単位毎に、ページ管理情報が格納されるページ管理情報エリア２０１が設けられ、パワーオンリセットに起因する初期設定において、上記ページ管理情報がスキャンされ、それに基づいて論理／物理アドレス変換テーブル６０１が形成されるようになっている。このようなカード用マイクロコンピュータ１０によれば、ＥＥＰＲＯＭ１０８の書き換え単位と、書き換えにかかるデータサイズ（ユーザが要求するデータサイズ）との間に、以下のような関係がある。
【００８５】
例えば図１８（Ａ）に示されるように、ＥＥＰＲＯＭ１０８の書き換え単位が３２バイトであって、データサイズ（ユーザが要求するデータサイズ）が１バイトや１６バイトの場合には、上記実施の形態の場合と同様に、メモリ書き換えの回数は何れも１回となる。しかし、データサイズが３２バイトの場合には、メモリ書き換えの回数は２回となる。すなわち、ＥＥＰＲＯＭ１０８の書き換え単位が３２バイトであって、データサイズが３２バイトの場合には、図１８（Ｂ）に示されるように、先ず、書き込みデータが１６バイトに分割され、それがページ管理情報（１６バイト）とともに空きページに書き込まれ、ＲＡＭ内の論理／物理アドレス変換テーブル６０１が更新される（１８１）。そしてこのステップ１８１の処理で空きページとなった物理アドレスＮｏ．に、残りのデータ（１６バイト）とページ管理情報（１６バイト）とが書き込まれ、ＲＡＭ内の論理／物理アドレス変換テーブル６０１が更新される（１８２）。このようにＥＥＰＲＯＭ１０８の書き換え単位が３２バイトであって、データサイズが３２バイトの場合には、書き換え回数が２回となる。尚、ＥＥＰＲＯＭ１０８の書き換え単位が３２バイトであって、データサイズが３２バイトを越える場合には、書き換え回数がさらに増える可能性がある。
【００８６】
また、ＥＥＰＲＯＭ１０８の書き換え単位が３２バイトの場合には、図１８（Ｃ）に示されるように、ページ管理情報（１６バイト）の存在により、ユーザデータの書き込みに使用できる領域は、電源遮断対策対象領域２０２（図２参照）の半分となってしまうため、実用的ではない。
【００８７】
図１９（Ａ）に示されるように、ＥＥＰＲＯＭ１０８の書き換え単位が１２８バイトであって、データサイズ（ユーザが要求するデータサイズ）が１バイトや１１２バイト以下の場合には、上記実施の形態の場合と同様に、メモリ書き換えの回数は何れも１回となる。しかし、データサイズが１１３バイトを越える場合には、メモリ書き換えの回数は２回となる。尚、ＥＥＰＲＯＭ１０８の書き換え単位が１２８バイトであって、データサイズが１１３バイトを越える場合の書き込み処理は、図１８（Ｂ）に示される場合と同様となる。
【００８８】
また、ＥＥＰＲＯＭ１０８の書き換え単位が１２８バイトの場合には、図１９（Ｂ）に示されるように、ページ管理情報（１６バイト）は、ＥＥＰＲＯＭ１０８の書き換え単位（１２８バイト）の１／８と少ないため、実用的と考えられる。
【００８９】
以上を勘案すると、ＥＥＰＲＯＭ１０８の書き換え単位と、書き換えにかかるデータサイズとの関係は、書き換えにかかるデータサイズ（ユーザが要求するデータサイズ）が、ＥＥＰＲＯＭ１０８の書き換え単位以下となるように設定するのが望ましい。
【００９０】
また、ＥＥＰＲＯＭ１０８のメモリ使用量は、電源遮断対策対象領域２０２（図２参照）のうち、ページ管理情報の占める割合は、可能な限り少ないほうが良い。
【００９１】
上記実施の形態では、ＥＥＰＲＯＭ１０８の書き換え単位（ページのサイズ）を６４バイト、書き換えにかかるデータサイズ（ブロックのサイズ）を１６バイトとしているが、この設定は、上記の理由により適切と考えられる。
【００９２】
次に、上記カード用マイクロコンピュータ１０が搭載された非接触式ＩＣカードの使用例について説明する。
【００９３】
図２０に示されるように、カード用マイクロコンピュータ１０が搭載された非接触式ＩＣカード２１２は、交通チケット、金融カード、入退出カードとして用いることができる。
【００９４】
非接触式ＩＣカード２１２が交通チケットとして用いられる場合、非接触式ＩＣカード２１２内のＥＥＰＲＯＭ１０８には、カードの残高、改札通過時刻、改札を通過した駅などの各種情報が、リーダライタ２１１によって書き込まれる。
【００９５】
非接触式ＩＣカード２１２が金融カードとして用いられる場合、非接触式ＩＣカード２１２内のＥＥＰＲＯＭ１０８には、カードの残高、引き出し／預け入れ日時などの各種情報が、リーダライタ２１１によって書き込まれる。
【００９６】
非接触式ＩＣカード２１２が入退出カードとして用いられる場合、非接触式ＩＣカード２１２内のＥＥＰＲＯＭ１０８には、入室時刻や退室時刻などの各種情報が、リーダライタ２１１によって書き込まれる。
【００９７】
また、リーダライタ２１１から伝達された各種情報を暗号化してから非接触式ＩＣカード２１２内のＥＥＰＲＯＭ１０８に書き込み、ＥＥＰＲＯＭ１０８からの読み出しデータを復号化してからリーダライタ２１１に出力することができる。この場合の暗号化処理や復号化処理は、カード用マイクロコンピュータ１０内の剰余乗算コプロセッサ１１０、ＤＥＳコプロセッサ１１１、ＡＥＳコプロセッサ１１２などを用いて高速に行うことができる。
【００９８】
上記のように電源遮断対策が施されたカード用マイクロコンピュータ１０を搭載する非接触式ＩＣカード２１２に対応するリーダライタ２１１に結合されるホストシステム（コンピュータシステム）においては、図２１に示されるような処理が行われることで、上記カード用マイクロコンピュータ１０の能力が発揮される。
【００９９】
すなわち、非接触式ＩＣカード２１２に対応するリーダライタ２１１に結合されるホストシステムでは、所定の通信プロトコルに従って、非接触式ＩＣカード２１２内のカード用マイクロコンピュータ１０と非接触通信接続を確立し（２１０１）、前回の非接触通信接続において、電源遮断に起因する処理中断が発生しているか否かの判別が行われる（２１０２）。この判別は、上記ホストシステムにおいて、カード用マイクロコンピュータ１０におけるＥＥＰＲＯＭ１０８内のデータを期待値と比較することで可能となる。そして、上記ステップ２１０２の判別において、電源遮断に起因する処理中断は発生していない（Ｙ）と判断された場合には、上記ホストシステムから非接触式ＩＣカード２１２に対する所望のアクセスが開始される（２１０５）。しかし、上記ステップ２１０２の判別において、電源遮断に起因する処理中断が発生している（Ｎ）と判断された場合には、上記電源遮断に起因する処理中断にかかるデータが、必要に応じて、カード用マイクロコンピュータ１０におけるＥＥＰＲＯＭ１０８に書き込まれる（２１０４）。
【０１００】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０１】
例えば、ＥＥＰＲＯＭ１０８における電源遮断対策対象外領域２０３，２０４（その他のデータエリア）を省略し、ＥＥＰＲＯＭ１０８の記憶領域の全てを電源遮断対策対象領域２０２としても良い。
【０１０２】
ＥＥＰＲＯＭ１０８に代えて他の不揮発性メモリであるフラッシュメモリを適用することができる。
【符号の説明】
【０１０３】
１０  カード用マイクロコンピュータ
１０１  ＣＰＵ
１０２  Ｉ／Ｏポート
１０３  ウォッチドッグタイマ
１０４  システムコントロールロジック
１０５  セキュリティロジック
１０６  ＲＯＭ
１０７  ＲＡＭ
１０８  ＥＥＰＲＯＭ
１０９  複数のタイマ
１１０  剰余乗算コプロセッサ
１１１  ＤＥＳコプロセッサ
１１２  ＡＥＳコプロセッサ
１１３  乱数生成回路
１１４  擬似乱数発生回路
１１５  接触インタフェース
１１６  非接触インタフェース
１１７  アナログ制御回路
１１８  アンテナ
２０１  ページ管理情報エリア
２０２  電源遮断対策対象領域
２０３，２０４  電源遮断対策対象外領域
２１１  リーダライタ
２１２  非接触式ＩＣカード
６０１  論理／物理アドレス変換テーブル
８０１  書き込み用エリア
【図１】
2011180963.tif 000003
【図２】
2011180963.tif 000004
【図３】
2011180963.tif 000005
【図４】
2011180963.tif 000006
【図５】
2011180963.tif 000007
【図６】
2011180963.tif 000008
【図７】
2011180963.tif 000009
【図８】
2011180963.tif 000010
【図９】
2011180963.tif 000011
【図１０】
2011180963.tif 000012
【図１１】
2011180963.tif 000013
【図１２】
2011180963.tif 000014
【図１３】
2011180963.tif 000015
【図１４】
2011180963.tif 000016
【図１５】
2011180963.tif 000017
【図１６】
2011180963.tif 000018
【図１７】
2011180963.tif 000019
【図１８】
2011180963.tif 000020
【図１９】
2011180963.tif 000021
【図２０】
2011180963.tif 000022
【図２１】
2011180963.tif 000023