(57)【要約】【課題】処理速度の向上を図ることが可能なＩＣカード及びＩＣカードプログラムを提供する。【解決手段】データ有無情報、トランザクション番号及び初期化情報を記憶する退避領域１５ｓを有する書き換え可能な不揮発性メモリ１５と、Ｗｒｉｔｅの呼び出しがあった場合に、データ有無情報及びトランザクション番号を書き換える書き換え部と、不揮発性メモリ１５の指定された領域に記憶されているデータと、このデータのアドレス、データ長、及びチェックコードを含む管理情報とを退避領域１５ｓに続けて頁単位で書き込み、この書き込み後に指定された領域に指定された情報を頁単位で書き込む書き込み部とを備えるＩＣカード。【選択図】                図２
2004265275.tif 000002
【特許請求の範囲】
【請求項１】
書き換え可能な記憶手段と、書き込み要求があった場合に、前記書き換え可能な記憶手段の指定された領域に指定された情報を頁単位で書き込む指定情報書き込み手段とを備えるＩＣカードであって、
前記書き込み要求があった場合に、前記指定された領域とは別の領域である退避領域に、前記指定された領域に記憶されている対象情報と、この対象情報の管理情報とを続けて頁単位で書き込む退避領域書き込み手段を備え、
前記指定情報書き込み手段は、前記退避領域書き込み手段による書き込みの後に前記指定された情報の書き込みを行うこと、
を特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードにおいて、
前記退避領域書き込み手段は、前記対象情報と、前記指定された領域の位置を示す退避元位置情報及び／又は前記対象情報の情報量を含む管理情報とを続けて前記退避領域へ書き込むこと、
を特徴とするＩＣカード。
【請求項３】
請求項１又は請求項２に記載のＩＣカードにおいて、
前記退避領域書き込み手段は、前記対象情報と、前記対象情報、又は、前記対象情報及び前記管理情報が前記退避領域書き込み手段によって正常に退避領域に書き込まれたか否かを示す書き込み正否情報を含む管理情報とを続けて前記退避領域へ書き込むこと、
を特徴とするＩＣカード。
【請求項４】
請求項１から請求項３までのいずれか１項に記載のＩＣカードにおいて、
前記書き換え可能な記憶手段は、前記退避領域に有効な対象情報を記憶しているか否かを示す退避領域有効性情報、及び／又は、前記退避領域に記憶されている対象情報が有効であるか否かをその属性によって示す属性別有効性情報を含む有効性情報を記憶すること、
を特徴とするＩＣカード。
【請求項５】
請求項４に記載のＩＣカードにおいて、
前記書き換え可能な記憶手段は、前記退避領域において最初にアクセスされる位置に前記退避領域有効性情報を記憶すること、
を特徴とするＩＣカード。
【請求項６】
請求項４又は請求項５に記載のＩＣカードにおいて、
前記書き込み要求があった場合に、前記有効性情報に基づいて前記退避領域に有効な対象情報が記憶されているか否かを判定する退避領域有効性判定手段を備え、
前記退避領域書き込み手段は、前記退避領域有効性判定手段によって肯と判定された場合に、前記退避領域において前記有効な対象情報及びその管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込むこと、
を特徴とするＩＣカード。
【請求項７】
請求項６に記載のＩＣカードにおいて、
前記退避領域有効性判定手段によって肯と判定された場合に、前記有効な対象情報及び管理情報の頁に前記書き込み要求に応じて対象情報及び管理情報を書き込む空き領域があるか否かを判定する空き領域判定手段を備え、
前記退避領域書き込み手段は、前記空き領域判定手段によって否と判定された場合に、前記有効な対象情報及び管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込み、前記空き領域判定手段によって肯と判定された場合に、前記書き込み要求に応じて対象情報及び管理情報を前記空き領域に書き込むこと、
を特徴とするＩＣカード。
【請求項８】
請求項４から請求項７までのいずれか１項に記載のＩＣカードにおいて、
復帰必要性確認要求があった場合に、前記退避領域に記憶されている対象情報の復帰を行う必要性があるか否かを前記有効性情報に基づいて判定する復帰必要性判定手段と、
前記復帰必要性判定手段によって肯と判定された場合に、前記対象情報をその管理情報に基づいて前記指定された領域に書き込み、前記対象情報の復帰を行う復帰手段とを備えること、
を特徴とするＩＣカード。
【請求項９】
請求項６から請求項８までのいずれか１項に記載のＩＣカードにおいて、
前記退避領域有効性判定手段及び／又は前記復帰必要性判定手段は、前記有効性情報及び前記対象情報に対応する前記書き込み正否情報に基づいて判定を行うこと、
を特徴とするＩＣカード。
【請求項１０】
請求項１から請求項９までのいずれか１項に記載のＩＣカードにおいて、
前記書き換え可能な記憶手段は、前記退避領域が初期化済みか否かを示す初期化情報を記憶すること、
を特徴とするＩＣカード。
【請求項１１】
書き換え可能な記憶手段を備えるＩＣカードのＣＰＵに、書き込み要求があった場合に、前記書き換え可能な記憶手段の指定された領域に指定された情報を頁単位で書き込む指定情報書き込み手順を実行させるＩＣカードプログラムであって、
前記書き込み要求があった場合に、前記指定された領域とは別の領域である退避領域に、前記指定された領域に記憶されている対象情報と、この対象情報の管理情報とを続けて頁単位で書き込む退避領域書き込み手順を備え、
前記指定情報書き込み手順は、前記退避領域書き込み手順の後に実行されること、
を特徴とするＩＣカードプログラム。
【請求項１２】
請求項１１に記載のＩＣカードプログラムにおいて、
前記退避領域書き込み手順は、前記対象情報と、前記指定された領域の位置を示す退避元位置情報及び／又は前記対象情報の情報量を含む管理情報とを続けて前記退避領域へ書き込むこと、
を特徴とするＩＣカードプログラム。
【請求項１３】
請求項１１又は請求項１２に記載のＩＣカードプログラムにおいて、
前記退避領域書き込み手順は、前記対象情報と、前記対象情報、又は、前記対象情報及び前記管理情報が前記退避領域書き込み手順において正常に退避領域に書き込まれたか否かを示す書き込み正否情報を含む管理情報とを続けて前記退避領域へ書き込むこと、
を特徴とするＩＣカードプログラム。
【請求項１４】
請求項１１から請求項１３までのいずれか１項に記載のＩＣカードプログラムにおいて、
前記書き込み要求があった場合に、前記有効性情報に基づいて前記退避領域に有効な対象情報が記憶されているか否かを判定する退避領域有効性判定手順を備え、
前記退避領域書き込み手順は、前記退避領域有効性判定手順において肯と判定した場合に、前記退避領域において前記有効な対象情報及びその管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込むこと、
を特徴とするＩＣカードプログラム。
【請求項１５】
請求項１４に記載のＩＣカードにおいて、
前記退避領域有効性判定手順において肯と判定した場合に、前記有効な対象情報及び管理情報の頁に前記書き込み要求に応じて対象情報及び管理情報を書き込む空き領域があるか否かを判定する空き領域判定手順を備え、
前記退避領域書き込み手順は、前記空き領域判定手順において否と判定した場合に、前記有効な対象情報及び管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込み、前記空き領域判定手順において肯と判定した場合に、前記書き込み要求に応じて対象情報及び管理情報を前記空き領域に書き込むこと、
を特徴とするＩＣカードプログラム。
【請求項１６】
請求項１１から請求項１５までのいずれか１項に記載のＩＣカードプログラムにおいて、
復帰必要性確認要求があった場合に、前記退避領域に記憶されている対象情報の復帰を行う必要性があるか否かを判定する復帰必要性判定手順と、
前記復帰必要性判定手順において肯と判定した場合に、前記対象情報をその管理情報に基づいて前記指定された領域に書き込み、前記対象情報の復帰を行う復帰手順とを備えること、
を特徴とするＩＣカードプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書き換え可能な記憶手段への書き込みにおいてエラーがあった場合に書き込み前の状態に戻す復帰を行うＩＣカード及びＩＣカードプログラムに関するものである。
【０００２】
【従来の技術】
一般にＩＣカードは、ＲＯＭ、ＲＡＭ、書き換え可能な不揮発性メモリ（以下、「不揮発性メモリ」という。）の３種類のメモリと、これらのメモリにアクセスするＣＰＵとを備えている。
ＲＡＭは、揮発性メモリであり、ＣＰＵが処理を行う作業領域として使用される。ＲＯＭは、不揮発性の読み出し専用メモリであって、オペレーティングシステム（以下、「ＯＳ」という。）などの基本ソフトウェア、実行環境などのプログラム、パラメータなど、ハードウェアを管理してアプリケーションがこれを利用できるようにするプログラム及びデータを格納している。不揮発性メモリは、ＥＥＰＲＯＭ、フラッシュメモリ、ＦＲＡＭなどの随時書き換え可能な不揮発性のメモリであり、通常ユーザのワークエリア、プログラムエリアなどとして使用されている。なお、ＩＣカードとは、その基材を問わず、ＳＩＭカード、ＩＣタグなどの少なくともＣＰＵと、外部との通信手段と、情報を記憶する記憶手段とを備える携帯型の情報処理装置をいう。
このＩＣカードを使用する場合には、ＩＣカードをリーダライタなどの外部装置に接続し、外部装置からコマンドをＩＣカードへ送信する。コマンドを受信したＩＣカードでは、ＣＰＵがＲＯＭ、不揮発性メモリに格納されているプログラムのうち、コマンドに対応する部分を実行する。この結果、コマンドの処理がなされ、不揮発性メモリに新たなデータを書き込むなどの処理が行われ、処理結果がレスポンスとしてＩＣカードから外部装置へ送信される（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開平１０−４０３５０号公報（第３頁、第１図）
【０００４】
【発明が解決しようとする課題】
ＩＣカードは、外部装置から処理のための電源の供給を受けるため、不揮発性メモリへのデータの書き込み途中で電源の供給が中断されるおそれがある。特に非接触式で外部装置と通信を行う非接触式のＩＣカードの場合には、通信中に外部装置との相対位置が固定されていないため、電源供給の中断（以下、「電源断」という。）が発生する可能性が高い。そこで、ＩＣカードは、かかる場合にデータの書き込み前の状態に戻す、つまり、復帰するために書き込み保証の処理を行う。
【０００５】
図１０は、書き込み保証の処理を説明するための不揮発性メモリ１５−２のメモリ構造図である。なお、不揮発性メモリ１５−２にデータＡが記憶されている領域にデータＢを新たに書き込む場合の書き込み保証について説明する。図１０（ａ）は、正常に書き込みがおこなわれた場合を示し、図１０（ｂ）は、処理の途中で電源断などの書き込みエラーがあり、書き込みが正常に行われなかった場合を示している。
図１０（ａ）に示すように、不揮発性メモリ１５−２には、新たなデータを書き込む領域であって、データＡなどのデータ、アプリケーションプログラムなどのプログラムが記録され、データ領域１５ｄ−２と、データ領域１５ｄ−２への書き込みにより、消去されるデータのバックアップを記憶する退避領域１５ｓ−２とを備えている。
【０００６】
図１０の＃１０１に示すように、先ず、ＣＰＵは、データＡを退避領域１５ｓ−２に退避する（書き込む）。次にデータ領域１５ｄ−２のデータＡが記憶されている領域にデータＢを書き込み、データＡをデータＢに書き換え（＃１０２）、最後に退避領域１５ｓ−２のデータＡをクリア（消去）する（＃１０３）。
データＡを退避領域１５ｓ−２に書き込んでいる途中（＃１０１）に電源断があった場合には、図１０（ｂ１）に示すように、退避領域１５ｓ−２に退避したデータが不正（無効）なものとなるが、データ領域１５ｄ−２にデータＡが残っている。また、データＡをデータＢに書き換えている途中（＃１０２）に電源断があった場合には、図１０（ｂ２）に示すように、退避領域１５ｓ−２にデータＡが残っているため、このデータＡをデータ領域１５ｄ−２に書き込むことによって復帰を行うことが可能である［＃１０４，図１０（ｂ３）］。更に、この復帰中に電源断があった場合にも、退避領域１５ｓ−２にデータＡが残っているため［図１０（ｂ４）］、同様に復帰は可能である［＃１０５，図１０（ｂ３）］。よって、不揮発性メモリ１５−２へデータを書き込む途中に電源断があった場合には、書き込み保証によって元の状態へ復帰し、再度データを書き込むこととなる。
【０００７】
一方、不揮発性メモリ１５−２へデータを書き込む処理は、不揮発性メモリ１５−２からデータやプログラムを読み出す処理などの他の処理に比べて特異に時間がかかるため、頁単位での書き込みが行われている。頁単位とは、所定の量のデータひとまとまりという意味であって、例えば６４バイトのデータを処理の一単位とすることである。１頁がｎバイトである場合に、同一頁であるときには、１バイトの書き込みの処理及びｎバイトの書き込みの処理にかかる時間は、ともに書き込み回数が１回であるため、ほとんど変わらない。一方、２バイトの書き込みであっても頁が異なる場合には、書き込み回数が異なるため、同一頁に２バイト書き込むときに比べて２倍程度の処理時間がかかる。
【０００８】
図１１は、頁単位での書き込みにおける書き込み保証の処理を説明するための図である。なお、データ領域１５ｄ−２から退避領域１５ｓ−２へデータを退避する処理（図１０の＃１０１）について説明する。
図１１に示すように、頁番号Ｋのデータを書き換える場合には、退避領域１５ｓ−２に頁番号Ｋのデータがそのまま複製され（＃１１１）、退避領域１５ｓ−２に格納されている情報を制御するための情報であって、退避領域１５ｓ−２に記憶されている情報の元の位置などの属性を示す制御情報の領域１５ｃ−２に頁番号Ｋなどが書き込まれる（＃１１２）。また、頁番号Ｎ及び頁番号Ｎ＋１の２頁に渡るデータを書き換える場合にも同様に、頁番号Ｎ及び頁番号Ｎ＋１の２頁全てのデータが複製され（＃１１３，＃１１４）、制御情報の領域１５ｃ−２に頁番号が書き込まれる（＃１１５）。
【０００９】
従って、１頁のデータの退避する場合には、２回の書き込み、２頁に渡るデータを退避する場合には、３回の書き込みが必要となる。つまり、退避の処理だけで少なくとも２回の書き込みが必要となり、処理時間が長くなる原因となるとともに、電源断の発生する確率を上昇する一因ともなっていた。また、書き込み中に電源断があった場合には、元の状態に復帰してから再度書き込みを行わなければならないため、書き込みのみを行うときに比べて処理の時間がかかることとなり、復帰における処理の迅速化、特に処理に時間がかかる書き込み処理の迅速化が強く要請されていた。
【００１０】
本発明の課題は、処理速度の向上を図ることが可能なＩＣカード及びＩＣカードプログラムを提供することである。
【００１１】
【課題を解決するための手段】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。すなわち、請求項１の発明は、書き換え可能な記憶手段（１５）と、書き込み要求があった場合に、前記書き換え可能な記憶手段の指定された領域に指定された情報を頁単位で書き込む指定情報書き込み手段（１２２、Ｓ３６０）とを備えるＩＣカードであって、前記書き込み要求があった場合（Ｓ３００）に、前記指定された領域とは別の領域である退避領域（１５ｓ）に、前記指定された領域に記憶されている対象情報と、この対象情報の管理情報とを続けて頁単位で書き込む退避領域書き込み手段（１２２、Ｓ３５０）を備え、前記指定情報書き込み手段は、前記退避領域書き込み手段による書き込みの後に前記指定された情報の書き込みを行うこと、を特徴とするＩＣカード（１０）である。
【００１２】
請求項２の発明は、請求項１に記載のＩＣカードにおいて、前記退避領域書き込み手段は、前記対象情報と、前記指定された領域の位置を示す退避元位置情報及び／又は前記対象情報の情報量を含む管理情報とを続けて前記退避領域へ書き込むこと、を特徴とするＩＣカード（１０）である。
【００１３】
請求項３の発明は、請求項１又は請求項２に記載のＩＣカードにおいて、前記退避領域書き込み手段は、前記対象情報と、対象情報、又は、対象情報及び管理情報が前記退避領域書き込み手段によって正常に退避領域に書き込まれたか否かを示す書き込み正否情報を含む管理情報とを続けて前記退避領域へ書き込むこと、を特徴とするＩＣカード（１０）である。
【００１４】
請求項４の発明は、請求項１から請求項３までのいずれか１項に記載のＩＣカードにおいて、前記書き換え可能な記憶手段は、前記退避領域に有効な対象情報を記憶しているか否かを示す退避領域有効性情報、及び／又は、前記退避領域に記憶されている対象情報が有効であるか否かをその属性によって示す属性別有効性情報を含む有効性情報を記憶すること、を特徴とするＩＣカード（１０）である。
【００１５】
請求項５の発明は、請求項４に記載のＩＣカードにおいて、前記書き換え可能な記憶手段は、前記退避領域において最初にアクセスされる位置に前記退避領域有効性情報を記憶すること、を特徴とするＩＣカード（１０）である。
【００１６】
請求項６の発明は、請求項４又は請求項５に記載のＩＣカードにおいて、前記書き込み要求があった場合に、前記有効性情報に基づいて前記退避領域に有効な対象情報が記憶されているか否かを判定する退避領域有効性判定手段（１２１、Ｓ３１０，Ｓ３８０）を備え、前記退避領域書き込み手段は、前記退避領域有効性判定手段によって肯と判定された場合に、前記退避領域において前記有効な対象情報及びその管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込むこと、を特徴とするＩＣカード（１０）である。
【００１７】
請求項７の発明は、請求項６に記載のＩＣカードにおいて、前記退避領域有効性判定手段によって肯と判定された場合に、前記有効な対象情報及び管理情報の頁に前記書き込み要求に応じて対象情報及び管理情報を書き込む空き領域があるか否かを判定する空き領域判定手段（１２１）を備え、前記退避領域書き込み手段は、前記空き領域判定手段によって否と判定された場合に、前記有効な対象情報及び管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込み、前記空き領域判定手段によって肯と判定された場合に、前記書き込み要求に応じて対象情報及び管理情報を前記空き領域に書き込むこと、を特徴とするＩＣカード（１０）である。
【００１８】
請求項８の発明は、請求項４から請求項７までのいずれか１項に記載のＩＣカードにおいて、復帰必要性確認要求があった場合（Ｓ５００）に、前記退避領域に記憶されている対象情報の復帰を行う必要性があるか否かを前記有効性情報に基づいて判定する復帰必要性判定手段（Ｓ５１０，Ｓ５５０）と、前記復帰必要性判定手段によって肯と判定された場合に、前記対象情報をその管理情報に基づいて前記指定された領域に書き込み、前記対象情報の復帰を行う復帰手段（１２２、Ｓ５６０）とを備えること、を特徴とするＩＣカード（１０）である。
【００１９】
請求項９の発明は、請求項６から請求項８までのいずれか１項に記載のＩＣカードにおいて、前記退避領域有効性判定手段及び／又は前記復帰必要性判定手段は、前記有効性情報及び前記対象情報に対応する前記書き込み正否情報に基づいて判定を行う（Ｓ４００、Ｓ５２０）こと、を特徴とするＩＣカードである。
【００２０】
請求項１０の発明は、請求項１から請求項９までのいずれか１項に記載のＩＣカードにおいて、前記書き換え可能な記憶手段は、前記退避領域が初期化済みか否かを示す初期化情報を記憶すること、を特徴とするＩＣカード（１０）である。
【００２１】
請求項１１の発明は、書き換え可能な記憶手段（１５）を備えるＩＣカード（１０）のＣＰＵ（１２）に、書き込み要求があった場合（Ｓ３００）に、前記書き換え可能な記憶手段の指定された領域に指定された情報を頁単位で書き込む指定情報書き込み手順（Ｓ３６０）を実行させるＩＣカードプログラムであって、前記書き込み要求があった場合に、前記指定された領域とは別の領域である退避領域に、前記指定された領域に記憶されている対象情報と、この対象情報の管理情報とを続けて頁単位で書き込む退避領域書き込み手順（Ｓ３５０）を備え、前記指定情報書き込み手順は、前記退避領域書き込み手順の後に実行されること、を特徴とするＩＣカードプログラムである。
【００２２】
請求項１２の発明は、請求項１１に記載のＩＣカードプログラムにおいて、前記退避領域書き込み手順は、前記対象情報と、前記指定された領域の位置を示す退避元位置情報及び／又は前記対象情報の情報量を含む管理情報とを続けて前記退避領域へ書き込むこと、を特徴とするＩＣカードプログラムである。
【００２３】
請求項１３の発明は、請求項１１又は請求項１２に記載のＩＣカードプログラムにおいて、前記退避領域書き込み手順は、前記対象情報と、前記対象情報、又は、前記対象情報及び前記管理情報が前記退避領域書き込み手順において正常に退避領域に書き込まれたか否かを示す書き込み正否情報を含む管理情報とを続けて前記退避領域へ書き込むこと、を特徴とするＩＣカードプログラムである。
【００２４】
請求項１４の発明は、請求項１１から請求項１３までのいずれか１項に記載のＩＣカードプログラムにおいて、前記書き込み要求があった場合に、前記有効性情報に基づいて前記退避領域に有効な対象情報が記憶されているか否かを判定する退避領域有効性判定手順（Ｓ３１０，Ｓ３８０）を備え、前記退避領域書き込み手順は、前記退避領域有効性判定手順において肯と判定した場合に、前記退避領域において前記有効な対象情報及びその管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込むこと、を特徴とするＩＣカードプログラムである。
【００２５】
請求項１５の発明は、請求項１４に記載のＩＣカードにおいて、前記退避領域有効性判定手順において肯と判定した場合に、前記有効な対象情報及び管理情報の頁に前記書き込み要求に応じて対象情報及び管理情報を書き込む空き領域があるか否かを判定する空き領域判定手順を備え、前記退避領域書き込み手順は、前記空き領域判定手順において否と判定した場合に、前記有効な対象情報及び管理情報の頁の後に前記書き込み要求に応じて対象情報及び管理情報の頁を書き込み、前記空き領域判定手順において肯と判定した場合に、前記書き込み要求に応じて対象情報及び管理情報を前記空き領域に書き込むこと、を特徴とするＩＣカードプログラムである。
【００２６】
請求項１６の発明は、請求項１１から請求項１５までのいずれか１項に記載のＩＣカードプログラムにおいて、復帰必要性確認要求があった場合に、前記退避領域に記憶されている対象情報の復帰を行う必要性があるか否かを判定する復帰必要性判定手順（Ｓ５１０，Ｓ５２０，Ｓ５５０）と、前記復帰必要性判定手順において肯と判定した場合に、前記対象情報をその管理情報に基づいて前記指定された領域に書き込み、前記対象情報の復帰を行う復帰手順（Ｓ５６０）とを備えること、を特徴とするＩＣカードプログラムである。
【００２７】
【発明の実施の形態】
以下、図面等を参照しながら、本発明の実施の形態について、更に詳しく説明する。
（実施形態）
図１は、本発明によるＩＣカードの実施形態を示すブロック図である。
なお、前述した従来例と同様の機能を果たす部分には、同一の符号を付して、重複する説明を適宜省略する。
図１に示すように、ＩＣカード１０は、外部装置２０との通信を実現するための入出力回路などのインターフェイスであるＩ／Ｏインターフェイス１１、ＣＰＵ１２、ＲＡＭ１３、ＲＯＭ１４、不揮発性メモリ１５などを備えている。
ＣＰＵ１２は、ＲＯＭ１４、不揮発性メモリ１５などに格納されているＯＳ、アプリケーションなどのプログラムを実行することによって、ＩＣカード１０を統括制御し、外部装置２０から受信するコマンドに応じた処理を行い、判定部１２１、書き込み部１２２、書き換え部１２３、退避情報生成部１２４などを実現し、処理結果をレスポンスとして外部装置２０へ送信する。各部の機能については、図４、図５及び図７を用いて後述する。
不揮発性メモリ１５の情報記憶領域は、データ領域１５ｄ、退避領域１５ｓなどに割り当てられている。
【００２８】
図２は、退避領域１５ｓのメモリ構造を示す図である。
図２に示すように、退避領域１５ｓには、データ有無情報、初期化情報、トランザクション番号、退避情報（＃２１）などが格納されている。これらの情報は、書き込み部１２２によって頁単位で書き込まれたものである。データ有無情報は、退避領域１５ｓに有効な退避情報が記憶されているか否かを示す退避領域有効性情報であって、退避領域１５ｓに退避情報を書き込み始める位置、退避領域１５ｓから情報を読み出し始める位置、つまり、ＣＰＵ１２が最初にアクセスする位置に格納される。本実施形態においては、退避領域１５ｓの先頭頁に格納されている。
【００２９】
初期化情報は、退避領域１５ｓが初期化されたか否かを示す情報であって、退避領域１５ｓを効率的に使用するため、最終頁（＃２２）に格納される。図３に示すように、退避領域１５ｓが初期化された場合には、データ有無情報は「データ無」、全てのトランザクション番号は「０」、初期化情報は「初期化済」となり、退避情報が格納されていない状態となる。なお、初期化は、カード発行段階など、ＩＣカード１０の使用前において少なくとも１度行われていればよい。
【００３０】
図２及び図３に示すように、トランザクション番号は、退避領域１５ｓに略頁単位間隔（先頭頁以外は、頁単位間隔）で格納され、後に続けて書き込まれている対応する退避情報がいずれの処理段階（トランザクション）で退避領域１５ｓに書き込まれたかを示す属性情報である。つまり、コマンドを受信してからＣｏｍｍｉｔの処理などによってデータ有無情報を「データ有」から「データ無」に書き換えるまでの一又は複数のＷｒｉｔｅの処理（一のコマンドに対応して行った処理に含まれる一又は複数のＷｒｉｔｅの処理）を一の処理段階として、このＷｒｉｔｅの処理で書き込まれた退避情報について同一のトランザクション番号を結びつけて管理している。トランザクション番号は、処理段階が変わるたびに「１」の値がインクリメント（加算）され、所定の最大値に達したとき、「０」にリセットされる。従って、トランザクション番号は、対応する退避情報が有効な又は古い無効な処理段階において書き込まれたものであるか、つまり、対象情報が有効であるか否かをその属性によって示す属性有効性情報である。
【００３１】
なお、トランザクション番号のリセット時にＣＰＵ１２は、退避領域１５ｓの初期化を行うことが望ましい。トランザクション番号が一回りし、以前の処理段階及び新たな処理段階の退避情報に同一のトランザクション番号が付されることを防止するためである。また、Ｃｏｍｍｉｔの処理及びＷｒｉｔｅ（書き込み要求）の処理とは、それぞれ所定の要求（Ｃｏｍｍｉｔ、Ｗｒｉｔｅ）があった場合、つまり、ＣＰＵ１２が実行するプログラムから所定の呼び出しがあった場合に行う処理であって、その処理内容については、図６（ｃ）及び図５を用いて後述する。更に、有効な退避情報とは、バックアップとしての役割を果たすなどの有用な退避情報であって、役割がなくなれば、無効な退避情報となる。
【００３２】
図２に示すように、退避情報は、退避情報生成部１２４によって生成される情報であって、書き込み要求があった場合に、データ領域１５ｄの指定された領域に記憶されている退避の対象となった対象情報であるデータと、その管理情報とが続けて退避領域１５ｓに書き込まれたものである。なお、「続けて書き込まれる」とは、図２の＃２１に示すように、対象情報又は管理情報が分割され、その一部が続けて書き込まれている場合であってもよい。管理情報は、アドレス、データ長、チェックコードなどの退避したデータを管理するための情報である。アドレスは、退避したデータの退避元のデータ領域１５ｄにおける先頭アドレス、つまり、書き込み要求で指定された領域の位置を示す退避元位置情報であり、データ長は、退避したデータの情報量である。また、チェックコードは、退避情報と照合などすることによって、退避情報データが退避領域１５ｓに正常に書き込まれたか否か、つまり、退避情報の正当性を示す書き込み正否情報である。
【００３３】
図４、図５及び図７は、本発明によるＩＣカードの動作及び本発明によるＩＣカードプログラムを示すフローチャートである。以下、ＣＰＵ１２の処理を中心に説明する。
図４（ａ）に示すように、ステップ１１０（以下、「ステップ」を「Ｓ」という。）において、ＩＣカード１０は、外部装置２０に接続され、電源、クロックの供給を受け、処理を開始する。ＩＣカード１０は、外部装置２０からコマンドを受信し（Ｓ１２０）、Ｒｏｌｌｂａｃｋの処理（後述する図７参照）を行い（Ｓ１３０）、その後にコマンドに応じた処理を実行する（Ｓ１４０）。ＩＣカード１０は、この処理結果をレスポンスとして外部装置２０へ送信し（Ｓ１５０）、再びコマンド待ちの状態となり、外部装置２０との接続が切れるまで、次のコマンドを受信した場合にも同様の処理を繰り返す（Ｓ１２０からＳ１５０まで）。
【００３４】
図４（ｂ）は、図４（ａ）においてＩＣカード１０が受信したコマンド（Ｓ１２０）に対応して行う処理（Ｓ１４０）のうち、不揮発性メモリ１５に対して行う書き込みなどの処理を示す図である。なお、図４（ａ）のＳ１００においてＩＣカード１０は、初期化された状態（図３参照）にあり、ＩＣカード１０がＳ１２０で受信したコマンドに対応して行う処理において、書き込み要求（Ｗｒｉｔｅ）が２回行われるものとする。
図４（ｂ）に示すように、ＩＣカード１０は、コマンドに対応して２回のＷｒｉｔｅの処理を行う（Ｓ２１０，Ｓ２３０）。Ｗｒｉｔｅの処理は、指定されたデータ領域１５ｄに指定された新たなデータを書き込む処理であって、このとき、指定された領域のデータを退避領域１５ｓに退避する（図１０（ａ）の＃１，＃２参照）。Ｗｒｉｔｅの処理の詳細については、図５を用いて後述する。
ＩＣカード１０は、２回のＷｒｉｔｅの処理が正常に行われた場合には、Ｃｏｍｍｉｔの処理を行う（Ｓ２５０）。Ｃｏｍｍｉｔの処理は、退避領域１５ｓをクリアにする、つまり、退避領域１５ｓに記憶されている退避情報を無効とする処理であって、詳細については、図６（ｃ）を用いて後述する。
【００３５】
一方、ＩＣカード１０は、退避領域１５ｓ又はデータ領域１５ｄへの書き込みが正常に行われなかったなど、いずれかのＷｒｉｔｅの処理中にエラーとなった場合には（Ｓ２２０，Ｓ２４０）、Ｒｏｌｌｂａｃｋの処理を行い（Ｓ２６０）、コマンドに対応する処理の実行を終了する（Ｓ２７０）。Ｒｏｌｌｂａｃｋの処理とは、退避領域１５ｓに復帰すべき退避情報が存在する場合に、復帰し、その後に退避領域１５ｓをクリアにする処理であって、詳細については、図７を用いて後述する。
【００３６】
図５は、本発明によるＩＣカードが行うＷｒｉｔｅの処理を示すフローチャートであり、図６は、図５の処理における不揮発性メモリ１５の退避領域１５ｓの変化を示す図である。
先ず１回目のＷｒｉｔｅの処理［図４（ｂ）のＳ２１０］について説明する。
Ｓ３００において、書き込み要求があり、ＣＰＵ１２は、処理を開始し、判定部１２１は、退避領域１５ｓに有効な退避情報が記憶されているか否かをデータ有無情報に基づいて判定する（Ｓ３１０）。ＩＣカード１０は、初期化された状態（図３参照）であるため、否と判定し、書き換え部１２３は、「データ有」に書き換える（Ｓ３２０）。また、書き換え部１２３は、先頭頁（最初）のトランザクション番号をインクリメントし、「０」から「１」へ書き換える（Ｓ３３０）。退避情報生成部１２４は、退避情報をＲＡＭ１３上で生成し（Ｓ３４０）、書き込み部１２２は、この生成された退避情報に含まれるデータと、その管理情報とを続けて書き込む［Ｓ３５０、図６（ａ）］。これら一連の処理が正常に終了した場合に、書き込み部１２２は、データ領域１５ｄの指定された領域へ新たなデータを書き込み（Ｓ３６０）、処理を終了する（Ｓ４１０）。
【００３７】
次に２回目のＷｒｉｔｅの処理［図４（ｂ）のＳ２３０］について説明する。Ｓ３１０において、ＩＣカード１０の判定部１２１は、データ有と判定し［図６（ａ）の＃６１］、先頭頁のトランザクション番号と、次の頁のトランザクション番号を比較する（Ｓ３７０）。同一である場合には、判定部１２１は、その頁（次の頁）のチェックコードに基づいて、退避情報の正当性を判定する（Ｓ４００）。正しいと判定した場合には、ＣＰＵ１２は、次の頁（「次の頁」の次の頁）について同様の処理を行う（Ｓ３７０，Ｓ３８０）。Ｓ４００の判定において否と判定した場合には、Ｓ３４０へ進む。また、Ｓ３８０の判定において、次の頁のトランザクション番号が先頭頁と異なる場合には、書き換え部１２３は、次の頁のトランザクション番号を先頭頁のトランザクション番号と同一に書き換える（Ｓ３９０）。
【００３８】
退避情報が１頁で収まらない場合には、書き換え部１２３は、退避情報を書き込む予定の頁の全てのトランザクション番号を先頭頁と同一に書き換える。本実施形態においては、書き換え部１２３は、２つの頁のトランザクション番号を書き換える［図６（ｂ）の＃６２］。退避情報生成部１２４は、退避情報を生成し（Ｓ３４０）、書き込み部１２２は、生成した退避情報を、書き換えられたトランザクション番号の後（Ｓ３９０）、又は、有効でないと判定された退避情報の頁に、つまり、有効な退避情報の頁の後（Ｓ４００）に対象情報及び管理情報を続けて２つの頁に分けて書き込む［Ｓ３５０、図６（ｂ）］。書き込み部１２２は、新たなデータをデータ領域１５ｄの指定された領域へ書き込み（Ｓ３６０）、処理を終了する（Ｓ４１０）。
【００３９】
これら２回のＷｒｉｔｅの処理が正常に行われた場合には、ＩＣカード１０は、Ｃｏｍｍｉｔの処理を行い、退避領域１５ｓをクリアにする［図４（ｂ）のＳ２５０］。つまり、書き換え部１２３は、データ有無情報を「データ無」に書き換える［図６（ｃ）の＃６３］。
なお、図４（ｂ）のＳ２５０でＣｏｍｍｉｔの処理を終了した後に、図４（ａ）のＳ１２０において、ＩＣカード１０が次のコマンドを受信し、Ｗｒｉｔｅの処理を行った場合には、ＩＣカード１０は、図５のＳ３００からＳ３９０まで２回目のＷｒｉｔｅの処理と同様に処理を行い、トランザクション番号を「２」にインクリメントし、退避情報を書き込む。処理後の退避領域１５ｓは、図６（ｄ）の状態となる。トランザクション番号が「１」の頁の退避情報は、以前の処理段階で書き込まれた古い無効な退避情報である。
【００４０】
図７は、ＩＣカード１０が行うＲｏｌｌｂａｃｋの処理を示すフローチャートである。ＩＣカード１０は、次のルールに従って、Ｒｏｌｌｂａｃｋの処理を行う。
（１）データ有無情報が「データ有」の場合、つまり、退避領域１５ｓに有効な退避情報が記憶されている場合に処理を行う。
（２）先頭頁のトランザクション番号と同一のトランザクション番号に対応する退避情報（対象情報）、つまり、直近に書き込まれた先頭頁の有効な退避情報と同一の処理段階において書き込まれた退避情報を復帰の対象（復帰対象情報）とする。
（３）チェックコードが正しい退避情報を復帰の対象とする、つまり、退避領域１５ｓへ正常に書き込まれた退避情報を復帰対象情報とする。
（４）ファーストイン・ラストアウト、つまり、後に退避領域１５ｓに書き込まれた退避情報（復帰対象情報）から復帰を行う。
（５）全ての復帰対象情報の復帰が終了、つまり、復帰対象情報のデータ領域１５ｄへの書き込みが終了してからデータ有無情報を「データ無」と書き換える。
以上のルールに従って処理を行うなど、復帰すべき有効な退避情報（復帰対象情報）を退避元の場所（指定された領域）に戻して復帰できれば、Ｒｏｌｌｂａｃｋの処理手順は、限定されない。以下、図７を参照しながらその一例を説明する。
【００４１】
図７に示すように、Ｓ５００において、所定の呼び出し（復帰必要性確認要求；Ｒｏｌｌｂａｃｋ）があり、ＩＣカード１０は、Ｒｏｌｌｂａｃｋの処理を開始する。Ｓ５１０において、判定部１２１は、退避領域１５ｓに有効な退避情報が記憶されているか否かをデータ有無情報に基づいて判定する（Ｓ５１０）。否と判定した場合には、ＩＣカード１０は、Ｒｏｌｌｂａｃｋの処理を終了する（Ｓ５８０）。肯と判定した場合には、判定部１２１は、先頭頁の退避情報の正当性をチェックコードに基づいて判定する（Ｓ５２０）。不正と判定した場合には、Ｓ５６０に進む。正しいと判定した場合には、ＣＰＵ１２は、この退避情報を復帰すべき情報（復帰対象情報）と判断する（Ｓ５３０）。
【００４２】
判定部１２１は、先頭頁のトランザクション番号及び次の頁のトランザクション番号を比較し（Ｓ５４０）、同一であるか否かを判定する（Ｓ５５０）。同一である場合には、ＩＣカード１０は、同様に次の頁（「次の頁」の次の頁）について処理を行う（Ｓ５４０からＳ５７０まで）。判定部１２１が次の頁のトランザクション番号が先頭頁のトランザクション番号と異なると判定した場合には（Ｓ５５０）、書き込み部１２２は、Ｓ５３０において復帰対象情報と判断された全ての退避情報について、データをその管理情報に基づいてデータ領域１５ｄへそれぞれ書き込み、データの復帰を行う（Ｓ５６０）。なお、書き込み部１２２は、後の頁の退避情報から先頭頁の退避情報の順にデータの復帰を行う。データの復帰が正常に終了した場合に、書き換え部１２３は、データ有無情報を「データ無」に書き換え（Ｓ５７０）、ＩＣカード１０は、Ｒｏｌｌｂａｃｋの処理を終了する（Ｓ５８０）。
【００４３】
図８（ａ）は、ＩＣカード１０がＣｏｍｍｉｔの処理［図４（ｂ）のＳ２５０］を行う直前に電源断が発生した場合の退避領域１５ｓのメモリ構造を示す図である。このＩＣカード１０に再び電源が供給された場合には［図４（ａ）のＳ１１０］、ＩＣカード１０は、Ｒｏｌｌｂａｃｋの処理を行う［図４（ａ）のＳ１３０］。図７に示すように、ＩＣカード１０は、データ有無情報、チェックコード、トランザクション番号などに基づいて判定を行い（Ｓ５１０，Ｓ５２０，Ｓ５５０）、トランザクション番号が先頭頁と同一の「２」である頁の退避情報［図８（ａ）の＃８１］を復帰対象情報と判断し（Ｓ５３０）、データ領域１５ｄへ復帰する（Ｓ５６０）。
【００４４】
図８（ｂ）は、退避領域１５ｓへの退避情報の書き込み中（図５のＳ３５０）に電源断が発生した場合の退避領域１５ｓの構造を示す図である。このＩＣカード１０に再び電源が供給された場合に［図４（ａ）のＳ１１０］、ＩＣカード１０は、Ｒｏｌｌｂａｃｋの処理を行う［図４（ａ）のＳ１３０］。図７に示すように、ＩＣカード１０は処理を行い、チェックコードに基づいて２番目及び３番目の頁の退避情報について不備があると判定し（Ｓ５２０）、先頭頁の退避情報のみ［図８（ｂ）の点線］を復帰対象情報と判断し（Ｓ５３０）、復帰を行う（Ｓ５８０）。
【００４５】
本実施形態によれば、ＩＣカード１０は、不揮発性メモリ１５の退避領域１５ｓに対象情報であるデータと、アドレス、データ長及びチェックコードを含む管理情報とを続けて頁単位で書き込み、頁単位での迅速な書き込みによる書き込み保証が可能となった。また、図１１に示すように、頁番号Ｎ及びＮ＋１の領域（縦線）を指定する書き込み要求があった場合には、この指定された領域に記憶されているデータと、管理情報とを続けて、１頁又は２頁の退避情報として退避領域１５ｓへ書き込むため、書き込み回数が１回又は２回となり、管理情報を別の領域に書き込む場合（３回）に比べて書き込み回数を減らすことができ、より一層の処理の迅速化を図ることが可能となった。
【００４６】
また、データ長を含む管理情報を対象情報に続けて退避領域１５ｓに書き込むことによって、退避領域１５ｓの各頁において対象情報が書き込まれている領域を明確にすることが可能となった。更に、対象情報及び管理情報の情報量を明確にすることによって、頁毎の空き領域の情報量を把握することが可能となった。更にまた、チェックコードを退避領域１５ｓに書き込むことによって、対象情報を退避領域１５ｓに書き込む処理においてエラーがあった場合であっても、その検出を容易に行うことが可能となった。
【００４７】
また、退避領域１５ｓに有効な対象情報が記憶されているか否かを判定することによって、対象情報を書き込む位置を明確にし、特に、データ有無情報及びトランザクション番号に基づいて判定を行うことによって、判定を容易にし、処理の迅速化を図ることが可能となった。また、退避領域１５ｓの先頭頁（最初にアクセスされる位置）にデータ有無情報を記憶することによって、判定をより一層容易にすることが可能となった。
更に、トランザクション番号を記憶し、対象情報の属性（処理段階）毎に有効性を差別化することによって、退避領域１５ｓに書き込まれている対象情報についての処理手順に柔軟性を持たせ、効率的な処理を行うことが可能となった。
【００４８】
更にまた、データ有無情報及びトランザクション番号に基づいて対象情報の復帰を行う必要性について判定することによって、判定を容易にし、処理の迅速化を図ることが可能となった。
また、チェックコードに基づいて、対象情報の有効性、対象情報の復帰の必要性について判定することによって、正確な判定を実現し、確実に書き込み保証を行うことが可能となった。
更に、初期化情報を記憶することによって任意のタイミングでの初期化を可能とし、利便性の向上を図ることが可能となった。
【００４９】
（変形形態）
以上説明した実施形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲内である。例えば、ＩＣカード１０及び外部装置２０は、接触式、非接触式のいずれの方式で通信を行ってもよく、通信方式は、限定されない。また、ＩＣカード１０は、データ領域１５ｄに記憶されているデータについて書き込み保証を行うが、アプリケーションプログラムの書き換えが行われる場合など、データ領域１５ｄに記憶されているプログラムが消去される場合には、プログラムについて書き込み保証を行ってもよく、対象となるデータ領域１５ｄに記憶されている情報の種類は、限定されない。
【００５０】
ＩＣカード１０は、Ｗｒｉｔｅの処理において、先頭頁と異なるトランザクション番号の頁に書き込みを行うが（図５のＳ３７０，Ｓ３８０，Ｓ３５０など）、図９（ａ）及び図９（ｂ）に示すように、トランザクション番号が同一の頁（有効な退避情報の頁）において、その空き領域（＃９１）に退避情報生成部１２４が生成した退避情報を書き込む容量があるか否かをデータ長などに基づいて判定部１２１が判定し、肯と判定した場合には、書き込み部１２２は、この空き領域へ退避情報の書き込みを行ってもよい（＃９２）。
また、チェックコードは、退避情報の正当性を示す書き込み正否情報であるが、トランザクション番号（退避情報が複数頁にわたる場合には、複数頁のトランザクション番号）の正当性をも示していてもよい［図９（ｃ）の＃９４］。図９（ｃ）は、空き領域へ退避情報が書き込まれ［図９（ｂ）］、Ｃｏｍｍｉｔの処理が行われ［図４（ｂ）のＳ２５０］、受信した新たなコマンドの処理［図４（ａ）のＳ１４０］、つまり、次の処理段階において同一のデータ長を有する退避情報の書き込み（＃９３）が行われた場合の退避領域１５ｓのメモリ構造を示している。このような場合に、チェックコードが退避情報のみの正否のみを示すときには、前の処理段階において書き込まれた退避情報（＃９２）がトランザクション番号に基づいて有効なものとみなされるおそれがあるが、チェックコードがトランザクション番号の正当性を示しているとき（＃９４）には、トランザクション番号が「１」から「２」へ書き換えられているため、トランザクション番号が不正とみなされ、前の処理段階の無効な退避情報（＃９２）が復元されることを防止することが可能となる。
【００５１】
ＩＣカード１０は、一の書き換え可能な不揮発性メモリ（不揮発性メモリ１５）の記憶領域がデータ領域１５ｄ及び退避領域１５ｓに割り当てられているが、２以上の書き換え可能な不揮発性メモリを備える場合には、異なる不揮発性メモリにそれぞれデータ領域１５ｄ、退避領域１５ｓを割り当ててもよい。対象情報を記憶するデータ領域１５ｄ、退避情報を記憶する退避領域１５ｓをそれぞれ別個の領域として管理できれば、いずれの不揮発性メモリに記憶するかは限定されない。
【００５２】
ＩＣカードは、コマンドの受信後［図４（ａ）のＳ１３０］、Ｗｒｉｔｅの処理にエラーがあった場合［図４（ｂ）のＳ２６０］にＲｏｌｌｂａｃｋの処理（図７）を行うが、外部装置２０から電源などが供給されてから［図４（ａ）のＳ１１０］、Ｗｒｉｔｅの処理を行う前までに少なくとも１度のＲｏｌｌｂａｃｋの処理を行っていれば、その処理を行うタイミングは、限定されない。
【００５３】
また、Ｒｏｌｌｂａｃｋの処理と同様に、Ｗｒｉｔｅの処理もデータ領域１５ｄの指定された領域に記憶されている対象情報から退避情報を生成し、適切なトランザクション番号に書き換えられれば、トランザクション番号の書き換え（図５のＳ３９０）、退避情報の生成（Ｓ３４０）などの処理の前後、つまりＷｒｉｔｅの処理手順は、限定されない。
【００５４】
Ｗｒｉｔｅの処理、Ｒｏｌｌｂａｃｋの処理及びＣｏｍｍｉｔの処理をＣＰＵ１２に実行させるプログラムは、オペレーティングシステムに含まれていてもよいし、アプリケーションプログラムに含まれていてもよく、ＩＣカード１０に記憶されているいずれのプログラムに含まれるかは限定されない。
【００５５】
不揮発性メモリ１５は、退避領域１５ｓの先頭頁にデータ有無情報を格納し、記憶しているが、ＣＰＵ１２が退避領域１５ｓの最終頁からアクセスする場合には、最終頁に記憶していてもよく、最初にアクセスされる位置に記憶していればよい。
【００５６】
【発明の効果】
以上詳しく説明したように、本発明によれば、以下の効果を得ることが可能となった。
（１）退避領域に対象情報と、退避元位置情報などの管理情報とを続けて頁単位で書き込み、頁単位での迅速な書き込みによる書き込み保証を実現するとともに、制御情報（管理情報）を別の領域に書き込む場合に比べて書き込み回数を減らすことによって、より一層の処理の迅速化を図る。
（２）対象情報の情報量を含む管理情報を対象情報に続けて退避領域に書き込むことによって、退避領域の各頁において対象情報が書き込まれている領域を明確にする。また、対象情報及び管理情報の情報量を明確にすることによって、頁毎の空き領域の情報量を明確にし、空き領域に対象情報及び管理情報を書き込むなど、２以上の対象情報及び管理情報を一の頁に格納し、退避領域を有効に活用する。
（３）チェックコードなどの書き込み正否情報を退避領域に書き込むことによって、対象情報を退避領域に書き込む処理においてエラーがあった場合であっても、その容易な検出を可能とする。
（４）退避領域に有効な対象情報が記憶されているか否かを判定することによって、対象情報を書き込む位置を明確にする。特に、有効性情報に基づいて判定を行うことによって、判定を容易にし、処理の迅速化を図る。また、退避領域の最初にアクセスされる位置に退避領域有効性情報を記憶することによって、判定をより一層容易にする。
（５）例えば、トランザクション番号などの属性別有効性情報を記憶し、対象情報の属性（処理段階）毎に有効性を差別化することによって、退避領域に書き込まれている対象情報についての処理手順に柔軟性を持たせ、効率的な処理を可能とする。
（６）有効性情報に基づいて対象情報の復帰を行う必要性について判定することによって、判定を容易にし、処理の迅速化を図る。
（７）正否示唆情報に基づいて、対象情報、又は、対象情報及び管理情報の正当性、対象情報の復帰の必要性について判定することによって、的確な判定を実現し、確実に書き込み保証を行う。
（８）初期化情報を記憶することによって任意のタイミングでの初期化を可能とし、利便性の向上を図る。
【図面の簡単な説明】
【図１】本発明によるＩＣカードの実施形態を示すブロック図である。
【図２】退避領域１５ｓのメモリ構造を示す図である。
【図３】退避領域１５ｓの初期化された状態を示すメモリ構造図である。
【図４】本発明によるＩＣカードの動作及び本発明によるＩＣカードプログラムを示すフローチャートである。
【図５】本発明によるＩＣカードの動作及び本発明によるＩＣカードプログラムを示すフローチャートである。
【図６】Ｗｒｉｔｅの処理における退避領域１５ｓの変化を示す図である。
【図７】本発明によるＩＣカードの動作及び本発明によるＩＣカードプログラムを示すフローチャートである。
【図８】ＩＣカード１０に電源断が発生した場合の退避領域１５ｓのメモリ構造図である。
【図９】本発明によるＩＣカード及びＩＣカードプログラムの変形形態における退避領域１５ｓの構造を示す図である。
【図１０】従来のＩＣカードによる書き込み保証の処理を説明するためのＥＥＰＲＯＭ１５−２のメモリ構造図である。
【図１１】従来のＩＣカードによる頁単位での書き込み保証の処理を説明するためのＥＥＰＲＯＭ１５−２のメモリ構造図である。
【符号の説明】
１０  ＩＣカード
１１  Ｉ／Ｏインターフェイス
１２  ＣＰＵ
１３  ＲＡＭ
１４  ＲＯＭ
１５  不揮発性メモリ
１５ｄ  データ領域
１５ｓ  退避領域
２０  外部装置
１２１  判定部
１２２  書き込み部
１２３  書き換え部
１２４  退避情報生成部
【図１】
2004265275.tif 000003
【図２】
2004265275.tif 000004
【図３】
2004265275.tif 000005
【図４】
2004265275.tif 000006
【図５】
2004265275.tif 000007
【図６】
2004265275.tif 000008
【図７】
2004265275.tif 000009
【図８】
2004265275.tif 000010
【図９】
2004265275.tif 000011
【図１０】
2004265275.tif 000012
【図１１】
2004265275.tif 000013