(57)【要約】【課題】前のセッションでＥＥＰＲＯＭ内蔵型ＩＣタグへの書込処理が正常に終了したか否かを認識する。【解決手段】データ書込時に、各ビットを「１」にリセットした後、本来のビットを記録する必要がある不揮発性メモリに対してデータの書き込みを行う。書込ルーチンを、管理ビット「１」を書き込む前処理段階、書込対象データを記録領域に書き込む本書込段階、管理ビット「０」を書き込む後処理段階の３段階によって構成する。各セッションの開始時に、管理ビットを読み出す確認段階を実行し、「０」であれば前のセッションは正常終了、「１」であれば異常終了と認識する。複数のアプリケーションを切り替えて利用する場合は、各アプリケーションごとに独立した管理ビットを用意し、各アプリケーションごとに正常終了・異常終了の判断を行う。【選択図】図３
2009110468.tif 000002
【特許請求の範囲】
【請求項１】
データ書き込み時に、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録する書込処理を必要とする不揮発性メモリと、外部から書き込むべきデータを指定した書込命令が与えられたときに、前記書込処理を実行する制御部と、を有する携帯型情報記録媒体と、
前記記録媒体が所定の交信範囲内に入ったときに、前記記録媒体に対して電磁波による電力供給を行いながら、前記記録媒体に対して電磁波を介して交信を行い、前記不揮発性メモリに対するデータの書き込みおよび読み出しを行う情報処理装置と、
を備える情報処理システムにおける前記情報処理装置から前記記録媒体へのアクセス方法であって、
前記記録媒体が前記情報処理装置の交信範囲内に入ったときに、前記情報処理装置から前記記録媒体に対して電力供給を行い、前記情報処理装置と前記記録媒体との間の交信を開始する交信開始段階と、
前記記録媒体に対して過去に行われたデータの書込処理が正常に完了したか否かを確認する確認段階と、
前記情報処理装置から前記記録媒体に対して、前記不揮発性メモリに設けられた所定の管理ビット領域に前記第１の論理状態に対応する管理ビットを書き込むための第１の書込命令を与え、前記制御部に前記第１の書込命令を実行させる前処理段階と、
前記記録媒体から前記情報処理装置に対して前記第１の書込命令についての書込完了応答があった後に、前記情報処理装置から前記記録媒体に対して、前記不揮発性メモリに設けられた所定の記録領域に所定の書込対象データを書き込むための第２の書込命令を与え、前記制御部に前記第２の書込命令を実行させる本書込段階と、
前記記録媒体から前記情報処理装置に対して前記第２の書込命令についての書込完了応答があった後に、前記情報処理装置から前記記録媒体に対して、前記管理ビット領域に前記第２の論理状態に対応する管理ビットを書き込むための第３の書込命令を与え、前記制御部に前記第３の書込命令を実行させる後処理段階と、
前記情報処理装置と前記記録媒体との間の交信を終了する交信終了段階と、
を有し、
前記確認段階において、前記管理ビットを前記記録媒体から前記情報処理装置へ読み出してその論理状態を調べ、前記第２の論理状態であった場合には、過去に行われたデータの書込処理が正常に完了したものと判断し、前記第１の論理状態であった場合には、過去に行われたデータの書込処理が異常終了したものと判断することを特徴とする携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法。
【請求項２】
請求項１に記載のアクセス方法において、
確認段階において、過去に行われたデータの書込処理が異常終了したものと判断された場合に、前記情報処理装置が所定のエラー処理を実行することを特徴とする携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法。
【請求項３】
請求項１または２に記載のアクセス方法において、
記録媒体の不揮発性メモリ内に、複数ｎ個のアプリケーション用記録領域と複数ｎ個のアプリケーション用管理ビット領域とを設け、
情報処理装置に複数ｎ個のアプリケーション用プログラムの一部もしくは全部を格納し、第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時には、前処理段階および後処理段階の管理ビットを第ｉ番目のアプリケーション用管理ビット領域に対して書き込み、本書込段階の書込対象データを第ｉ番目のアプリケーション用記録領域に書き込むことを特徴とする携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法。
【請求項４】
請求項３に記載のアクセス方法において、
第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時における確認段階では、第ｉ番目のアプリケーション用管理ビット領域に記録されている管理ビットについての論理状態のみを調べることを特徴とする携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法。
【請求項５】
請求項１〜４のいずれかに記載の交信開始段階、確認段階、前処理段階、本書込段階、後処理段階、および交信終了段階を実行する機能をもった情報処理装置。
【請求項６】
請求項５に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法に関し、特に、非接触式の携帯型情報記録媒体に対する書込処理に異常が生じたことを確認するための技術に関する。
【背景技術】
【０００２】
一般に非接触式ＩＣカードやＩＣタグと呼ばれている携帯型情報記録媒体は、リーダ／ライタ機能を備えた情報処理装置との間で無線交信を行う機能を有しており、外部からのデータの書き込みや外部へのデータの読み出しを非接触状態で行うことが可能である。このため、このような携帯型情報記録媒体は、様々な用途の情報処理システムで広く利用されている。
【０００３】
特に、リーダ／ライタ装置側からの電磁波エネルギーによって電力供給を受けるタイプの記録媒体では、内部に電力発生源を組み込む必要がないため、小型化や低コスト化を図る上で好都合である。その半面、リーダ／ライタ装置側からの電力供給が途絶えると、その時点で機能が停止してしまう弊害がある。とりわけ、記録媒体に対する書込作業の途中で電力供給が途絶えた場合は、書き込まれたデータの信頼性は著しく低下する。
【０００４】
このような問題に対処するために、たとえば、下記の特許文献１には、書込対象データにチェックコードを付加しておき、このチェックコードを調べることにより、データの信頼性を確認する方法が開示されている。また、下記の特許文献２には、記録媒体と情報処理装置との双方に処理状態を示すフラグを作成しておき、両フラグの整合性をみることにより、記録媒体に対する書込処理が正常に終了したか否かを確認する技術が開示されている。
【特許文献１】特開２００６−３５０７３８号公報
【特許文献２】特開２００２−２５１５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＩＣカードやＩＣタグなどの携帯型情報記録媒体には、不揮発性メモリとしてＥＥＰＲＯＭが用いられているものが少なくない。このような電荷注入式の不揮発性メモリにデータを書き込むときには、その動作原理上、特有のリセット処理を実行する必要がある。すなわち、データ書き込み時に、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録する書込処理が必要となる。たとえば、「１０１０１０１０」なる８ビットのデータを書き込む場合、まず、各ビットを第１の論理状態「１」にリセットした後、「０」を記録する必要があるビットに対してのみ、第２の論理状態「０」の書き込みを行うことになる。
【０００６】
このようなリセット処理を必要とする不揮発性メモリでは、データを書き込んでいる最中に電力供給が突然停止すると、メモリ内のデータは全く予期しない内容になる。もちろん、チェックコードやフラグなどを更新中に電力供給が突然停止した場合も、これらの内容は全く予期しない内容になってしまう可能性がある。このため、従来提案されている方法では、書込処理が正常に終了したか否かを確実に認識することが困難である。
【０００７】
そこで本発明は、データ書き込み時にリセット処理を必要とする不揮発性メモリを有する携帯型情報記録媒体に対して、外部の情報処理装置から電磁波による電力供給を行いながらデータの書き込みを行う際に、書込処理が正常に終了したか否かを確実に認識することが可能な方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
(1)   本発明の第１の態様は、データ書き込み時に、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録する書込処理を必要とする不揮発性メモリと、外部から書き込むべきデータを指定した書込命令が与えられたときに、上記書込処理を実行する制御部と、を有する携帯型情報記録媒体と、
記録媒体が所定の交信範囲内に入ったときに、記録媒体に対して電磁波による電力供給を行いながら、記録媒体に対して電磁波を介して交信を行い、不揮発性メモリに対するデータの書き込みおよび読み出しを行う情報処理装置と、
を備える情報処理システムにおける情報処理装置から記録媒体へのアクセス方法において、
記録媒体が情報処理装置の交信範囲内に入ったときに、情報処理装置から記録媒体に対して電力供給を行い、情報処理装置と記録媒体との間の交信を開始する交信開始段階と、
記録媒体に対して過去に行われたデータの書込処理が正常に完了したか否かを確認する確認段階と、
情報処理装置から記録媒体に対して、不揮発性メモリに設けられた所定の管理ビット領域に第１の論理状態に対応する管理ビットを書き込むための第１の書込命令を与え、制御部に第１の書込命令を実行させる前処理段階と、
記録媒体から情報処理装置に対して第１の書込命令についての書込完了応答があった後に、情報処理装置から記録媒体に対して、不揮発性メモリに設けられた所定の記録領域に所定の書込対象データを書き込むための第２の書込命令を与え、制御部に第２の書込命令を実行させる本書込段階と、
記録媒体から情報処理装置に対して第２の書込命令についての書込完了応答があった後に、情報処理装置から記録媒体に対して、管理ビット領域に第２の論理状態に対応する管理ビットを書き込むための第３の書込命令を与え、制御部に第３の書込命令を実行させる後処理段階と、
情報処理装置と記録媒体との間の交信を終了する交信終了段階と、
を行うようにし、
確認段階において、管理ビットを記録媒体から情報処理装置へ読み出してその論理状態を調べ、第２の論理状態であった場合には、過去に行われたデータの書込処理が正常に完了したものと判断し、第１の論理状態であった場合には、過去に行われたデータの書込処理が異常終了したものと判断するようにしたものである。
【０００９】
(2)   本発明の第２の態様は、上述した第１の態様に係る携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法において、
確認段階で、過去に行われたデータの書込処理が異常終了したものと判断された場合は、情報処理装置が所定のエラー処理を実行するようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述した第１または第２の態様に係る携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法において、
記録媒体の不揮発性メモリ内に、複数ｎ個のアプリケーション用記録領域と複数ｎ個のアプリケーション用管理ビット領域とを設け、
情報処理装置に複数ｎ個のアプリケーション用プログラムの一部もしくは全部を格納し、第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時には、前処理段階および後処理段階の管理ビットを第ｉ番目のアプリケーション用管理ビット領域に対して書き込み、本書込段階の書込対象データを第ｉ番目のアプリケーション用記録領域に書き込むようにしたものである。
【００１１】
(4)   本発明の第４の態様は、上述した第３の態様に係る携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法において、
第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時における確認段階では、第ｉ番目のアプリケーション用管理ビット領域に記録されている管理ビットについての論理状態のみを調べるようにしたものである。
【００１２】
(5)   本発明の第５の態様は、上述した第１〜第４の態様に係るアクセス方法における交信開始段階、確認段階、前処理段階、本書込段階、後処理段階、および交信終了段階を実行する機能をもった情報処理装置を構成するようにしたものである。
【００１３】
(6)   本発明の第６の態様は、上述した第５の態様に係る情報処理装置を、コンピュータに所定のプログラムを組み込むことにより実現するようにしたものである。
【発明の効果】
【００１４】
本発明に係る携帯型情報記録媒体を用いた情報処理システムにおける記録媒体へのアクセス方法によれば、データ書き込み時にビットのリセット処理を必要とする不揮発性メモリに対する書込ルーチンは、まず、第１の論理状態（ビットリセット時の状態）を示す管理ビットを書き込む前処理段階を行い、続いて、本来の書込対象データを書き込む本書込段階を行い、その後に第２の論理状態を示す管理ビットを書き込む後処理段階を行うことによって完了する。このため、書込ルーチンが正常に終了していた場合には、必ず管理ビットの論理状態は第２の論理状態となる。したがって、管理ビットの論理状態を確認することにより、書込処理が正常に終了したか否かを確実に認識することが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を図示する実施形態に基づいて説明する。
【００１６】
＜＜＜  §１．本発明の適用対象となる情報処理システム  ＞＞＞
図１は、本発明の適用対象となる情報処理システムの構成例を示すブロック図である。図示のとおり、この情報処理システムは、情報処理装置１００と携帯型情報記録媒体２００によって構成されている。
【００１７】
ここでは、携帯型情報記録媒体２００として、ＩＣタグを用いた例が示されているが、本発明で利用する携帯型情報記録媒体２００は、持ち運びが可能な担体であって、外部から与えられる電磁波により電力供給が可能になり、当該電磁波を利用して外部と交信する機能をもち、デジタルデータを記録する不揮発性メモリを内蔵した記録媒体であれば、ＩＣカードやその他の記録媒体であってもかまわない。
【００１８】
情報処理装置１００は、記録媒体２００側に内蔵された不揮発性メモリに対するデータの書き込みおよび読み出しを行う構成要素である。図示のとおり、ここに示す実施形態の場合、情報処理装置１００は、ホストコンピュータ１１０とリーダ／ライタ装置１２０とによって構成されている。ホストコンピュータ１１０は、所定のプログラムに基づいて動作し、リーダ／ライタ装置１２０を介して記録媒体２００に対して種々の命令を与えるとともに、リーダ／ライタ装置１２０を介して記録媒体２００から返される応答を受信する。リーダ／ライタ装置１２０は、記録媒体２００に対して、電磁波による電力供給を行いながら当該電磁波を介して交信を行う機能を有している。
【００１９】
一方、携帯型情報記録媒体２００は、図示のとおり、通信部２１０、電源発生部２２０、制御部２３０、揮発性メモリ２４０、不揮発性メモリ２５０を有している。リーダ／ライタ装置１２０から発せられた電磁波（図では、波線で示す）は、記録媒体２００が所定の交信範囲内にある場合に、通信部２１０および電源発生部２２０で受信される。電源発生部２２０は、受信した電磁波に基づいて、記録媒体２００内部で利用する電源電圧を発生し、他の構成要素にこれを供給する。通信部２１０は、電磁波を利用してリーダ／ライタ装置１２０側から搬送されてくるデジタル情報を受信するとともに、インピーダンスを変化させることにより電磁波の伝播状態を変動させ、当該変動をリーダ／ライタ装置１２０側へ伝えることによりデジタル情報の発信を行う。
【００２０】
かくして、情報処理装置１００と記録媒体２００との間で電磁波を利用した交信が可能になる。両者間の交信は、基本的には、情報処理装置１００側から記録媒体２００側への命令（コマンド）の送信と、記録媒体２００側から情報処理装置１００側への応答（与えられたコマンドに対するレスポンス）の送信とを繰り返し実行することにより行われる。制御部２３０は、情報処理装置１００側から与えられた命令（コマンド）を実行するとともに、当該命令の実行結果を示す応答（レスポンス）を情報処理装置１００側へと返す処理を行う。
【００２１】
制御部２３０が実行する主たる処理は、メモリに対するデータの書込処理とメモリからのデータ読出処理である。図示の記録媒体２００には、揮発性メモリ２４０と不揮発性メモリ２５０とが設けられている。揮発性メモリ２４０はＲＡＭであり、電源発生部２２０からの電源供給が行われている条件下でのみ記録内容が保持される。不揮発性メモリ２５０はＥＥＰＲＯＭであり、電源供給を受けない状態でも記録内容が保持される。情報処理装置１００側から書込命令が与えられると、当該書込命令に付随する書込対象データは、一旦、揮発性メモリ２４０に一時的に保存された後、制御部２３０によって、不揮発性メモリ２５０へと書き込まれる。また、情報処理装置１００側から読出命令が与えられると、制御部２３０は、不揮発性メモリ２５０から読み出した読出対象データを、一旦、揮発性メモリ２４０に一時的に保存した後、通信部２１０を介して情報処理装置１００側へと送信する処理を実行する。
【００２２】
ここで重要な点は、不揮発性メモリ２５０（ＥＥＰＲＯＭ）が、書込時に特有のリセット処理を必要とするメモリである点である。すなわち、不揮発性メモリ２５０へのデータ書き込み時には、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録するという２段階のプロセスからなる書込処理が必要となる。
【００２３】
図２は、不揮発性メモリ２５０に対する書込処理の手順の具体例を示す図である。ここでは、情報処理装置１００側から「１００１０１０１」なる８ビットのデータを書込対象データとする書込命令が与えられた場合の書込処理の具体的な手順が示されている。外部から与えられた書込対象データは、図２(a) に示されているように、一旦、揮発性メモリ（ＲＡＭ）２４０内に一時的に保存される。そして、不揮発性メモリ（ＥＥＰＲＯＭ）２５０内の書込対象となる領域の各ビットは、まず、図２(b) に示すように、第１の論理状態（この例の場合は論理値「１」）にリセットされる。すなわち、書込対象となる領域の各ビットは、すべて論理値「１」を示す状態に書き換えられる。
【００２４】
その後、図２(a) に示す「１００１０１０１」なるＲＡＭ２４０内の８ビットのデータが、ＥＥＰＲＯＭ２５０内の書込対象となる領域（この時点では、図２(b) の状態となっている）に記録され、当該領域は図２(c) に示す状態となる。実際には、図２(b) に示す各ビット「１」のうち、論理値「１」を記録すべきビットについては、そのままの状態が維持され、論理値「０」を記録すべきビットについてのみ論理値「０」への書き換えが実行される。
【００２５】
結局、不揮発性メモリ２５０について書込処理を行う場合、書込対象となるデータビットが、論理値「０」であろうが「１」であろうが、不揮発性メモリ２５０内のビットは、まず、論理値「１」の状態にリセットされ、その後、書込対象となるデータビットに応じて、論理値「１」の状態のままとするか、論理値「０」の状態に書き換える処理が行われることになる。
【００２６】
なお、不揮発性メモリ２５０によっては、上述の例とは逆に、まず、論理値「０」の状態にリセットした後、書込対象となるデータビットに応じて、論理値「０」の状態のままとするか、論理値「１」の状態に書き換える処理を行う場合もある。要するに、このような特有のリセット処理を必要とする不揮発性メモリでは、データ書き込み時に、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録する（第１の論理状態を記録する場合は、実質的には、リセットされた状態のまま何もしないことになる）処理が必要となる。
【００２７】
したがって、図１に示す制御部２３０は、情報処理装置１００側から「何らかの書き込むべきデータ」を指定した書込命令が与えられたときに、上述した手順による書込処理を実行する機能を有している。本発明は、このように、書込時に上記特有のビットリセット処理を必要とする不揮発性メモリを内蔵した記録媒体２００を用いる情報処理システムへの適用を前提とした技術である。
【００２８】
既に述べたとおり、書込時に上記特有のビットリセット処理を必要とする不揮発性メモリでは、データを書き込んでいる最中に電源が突然停止すると、メモリ内のデータは全く予期しない内容になる。上述したとおり、記録媒体２００に対する電力供給は、情報処理装置１００側から発せられる電磁波によって行われるが、記録媒体２００と情報処理装置１００との距離が離れてしまった場合、外部からの十分な電力供給を行うことができず、記録媒体２００内の電源が突然停止する事態が生じる。
【００２９】
現在利用されている典型的な非接触型のＩＣタグの場合、リーダ／ライタ装置１２０からの距離が７０ｃｍ以内であれば、通常の電力供給が可能であるが、それ以上離れると、電磁波による電力供給は不安定になり、記録媒体２００内の電源が突然停止する事態が生じかねない。特に、ＩＣタグを身につけている利用者が、リーダ／ライタ装置１２０の近傍を歩きながら、もしくは走りながら交信するという環境下では、記録媒体２００側でデータを書き込んでいる最中に電源が突然停止する事態が生じる可能性が高くなる。
【００３０】
このように、データの書込処理中に電源停止が生じると、不揮発性メモリ２５０内のデータは全く予期しない内容になる。たとえば、記録媒体２００側に書込命令が送信されたときには、図２(a) に示すように、揮発性メモリ２４０内に「１００１０１０１」なる書込対象データが格納されているが、この時点では、まだ不揮発性メモリ２５０内への書き込みは完了していないので、この時点で電力供給が突然停止すると、不揮発性メモリ２５０内の記録内容は、書込命令を受信する前の状態のままである。また、電力供給が停止するタイミングが、上記特有のビットリセット処理の直後であったとすると、不揮発性メモリ２５０内の記録内容は、図２(b) に示すように、各ビットが論理値「１」の状態となってしまう。
【００３１】
もちろん、記録媒体２００側での書込処理の途中で電力供給が停止すると、与えられた書込命令に対する書込完了応答が送信されないことになるので、交信相手となっていた情報処理装置１００側では、書込命令が正常に終了しなかったことを認識することができる。しかしながら、その後、当該記録媒体２００が別な情報処理装置１００と交信した場合、記録媒体２００内に異常終了の痕跡を残しておかない限り、当該別な情報処理装置１００は、前の交信セッションにおける異常終了の事実を認識することができない。
【００３２】
本発明は、多数の情報処理装置１００と、多数の携帯型情報記録媒体２００とを備えた情報処理システムにおいて、任意の情報処理装置１００と任意の携帯型情報記録媒体２００とが自由に交信を行う環境下で、前の交信セッションにおける異常終了の事実を後の交信セッションにおいて認識できるようにする技術を提案するものである。そのために、本発明では、記録媒体２００内の不揮発性メモリ２５０に「管理ビット」なるものを記録するようにし、この「管理ビット」によって、異常終了の痕跡を残せるようにしている。以下、その方法を§２において詳述する。
【００３３】
＜＜＜  §２．本発明に係るアクセス方法の基本手順  ＞＞＞
図３は、本発明により情報処理装置１００から記録媒体２００に対してアクセスを行う手順を示すダイアグラムである。ここで、図の左半分に示す各手順は、情報処理装置１００が実行する手順であり、基本的には、記録媒体２００に対して命令を与える処理と、当該命令に応じて記録媒体２００から戻ってきた応答に対応する処理によって構成される。これらの処理は、実際には、ホストコンピュータ１１０内に格納されているプログラムに基づいて実行されることになる。一方、図の右半分に示す各手順は、記録媒体２００が実行する手順であり、基本的には、情報処理装置１００から与えられた命令を実行する処理と、当該実行結果を応答として返す処理によって構成される。これらの処理は、記録媒体２００内の制御部２３０によって実行されることになる。
【００３４】
まずはじめに、交信開始段階として、情報処理装置１００から記録媒体２００に対して電力供給が行われるとともに、リセット命令が与えられる。情報処理装置１００は、記録媒体２００が所定の交信範囲内に入ったときに、電磁波による電力供給を行い、リセット命令を与える処理を実行する。制御部２３０は、このリセット命令に応じて、交信開始に備えるためのリセット処理を実施し、情報処理装置１００側にリセット応答を返す。このリセット命令とリセット応答のやりとりにより、両者は交信を開始する準備を整えることになる。
【００３５】
なお、この交信開始段階のリセット命令、リセット処理、リセット応答における「リセット」は、記録媒体２００の動作を初期状態にするためのリセットを意味するものであり、不揮発性メモリ２５０（ＥＥＰＲＯＭ）への書込時に行われる特有のビットリセット処理（図２(b) に示すように各ビットを「１」にする処理）とは別個のものである。
【００３６】
交信開始後に実行される以下の各処理は、ホストコンピュータ１１０に組み込まれた所定のアプリケーションプログラムのルーチンに基づいて進行することになる。したがって、この後、どのような処理が実行されるかは、当該アプリケーションプログラムの内容に依存する事項になるが、図３には、本発明に係る方法に特有の確認段階と書込ルーチンとを実行した例が示されている。
【００３７】
確認段階は、前の交信セッションにおける書込処理、別言すれば、記録媒体２００に対して過去に行われたデータの書込処理が、正常に完了したか否かを確認する段階である。この確認段階では、情報処理装置１００から記録媒体２００に対して、管理ビット読出命令が与えられる。ここで、管理ビットは、不揮発性メモリ２５０内の管理ビット領域に記録されるビットであり、管理ビット読出命令は、当該管理ビットの論理値を読み出す指示を与える命令である。
【００３８】
記録媒体２００側では、この管理ビット読出命令を受けた制御部２３０が、管理ビットの論理値を読み出し、管理ビット読出応答として、当該論理値を情報処理装置１００側へと伝える処理が行われる。情報処理装置１００側では、ホストコンピュータ１１０が、この管理ビットの論理値に基づいて、前の交信セッションにおける書込処理が正常に完了したか否かを確認する。すなわち、管理ビットの論理値が「０」であれば、正常終了したものと認識し、「１」であれば、異常終了したものと認識する。このような認識の意味合いについては後述する。
【００３９】
さて、本発明では、記録媒体２００に対するデータの書込ルーチンは、図示のとおり、前処理段階、本書込段階、後処理段階の３つの段階から構成される。ここで、本書込段階は、書込対象データを所定のアドレス場所に書き込むことを指示するための本来の書込命令を実行する段階であり、従来から一般に行われている段階であるが、前処理段階と後処理段階は、本発明で付加された特有の段階である。このように、従来から行われていた本書込段階の前後に前処理段階と後処理段階とを付加した点が、本発明の重要な特徴である。
【００４０】
まず、前処理段階では、情報処理装置１００から記録媒体２００に対して、管理ビット「１」を書き込む命令（以下、第１の書込命令と呼ぶ）が与えられる。記録媒体２００側では、この第１の書込命令を受けた制御部２３０が、管理ビット「１」の書込処理を実行する。すなわち、不揮発性メモリ２５０内の所定アドレスに設けられた管理ビット領域（１ビットの管理ビットを格納する領域）に対して、論理値「１」を書き込む処理を実行する。
【００４１】
もちろん、この管理ビット「１」の書込処理は、§１で述べたとおり、管理ビット領域を論理値「１」にリセットした後、論理値「１」を記録する処理（実質的には、何もしない処理）によって実行されることになる。制御部２３０は、管理ビット「１」の書き込みが完了したら、書込完了応答を情報処理装置１００側へと返す。図示のとおり、前処理段階は、情報処理装置１００がこの書込完了応答を受け取ったら終了である。
【００４２】
さて、前処理段階が終了したら、続いて本書込段階が行われる。この本書込段階は、上述したとおり、本来の書込命令を与える段階であり、情報処理装置１００から記録媒体２００に対して、所定の記録エリアへ書込対象データを書き込む命令（以下、第２の書込命令と呼ぶ）が与えられる。記録媒体２００側では、この第２の書込命令を受けた制御部２３０が、書込対象データの書込処理を実行する。すなわち、制御部２３０は、不揮発性メモリ２５０内の指定された記録エリアに対して、情報処理装置１００から与えられた書込対象データを書き込む処理を実行する。
【００４３】
もちろん、この書込処理も、§１で述べたとおり、書込対象となる記録エリアの各ビットを論理値「１」にリセットした後、書込対象データの各ビットに応じて、個々のビット位置に論理値「０」もしくは論理値「１」を記録する処理（論理値「１」を記録する場合は、実質的には、何もしない）によって実行されることになる。制御部２３０は、書き込みが完了したら、書込完了応答を情報処理装置１００側へと返す。図示のとおり、書込段階は、情報処理装置１００がこの書込完了応答を受け取ったら終了である。
【００４４】
さて、書込段階が終了したら、続いて後処理段階が行われる。この後処理段階では、情報処理装置１００から記録媒体２００に対して、管理ビット「０」を書き込む命令（以下、第３の書込命令と呼ぶ）が与えられる。記録媒体２００側では、この第３の書込命令を受けた制御部２３０が、管理ビット「０」の書込処理を実行する。すなわち、不揮発性メモリ２５０内の所定アドレスに設けられた管理ビット領域（この時点では、前処理段階によって論理値「１」が書き込まれている）に対して、論理値「０」を書き込む処理を実行する。
【００４５】
もちろん、この管理ビット「０」の書込処理は、§１で述べたとおり、管理ビット領域を論理値「１」にリセットした後、これを論理値「０」に書き換える処理によって実行されることになる。制御部２３０は、管理ビット「０」の書き込みが完了したら、書込完了応答を情報処理装置１００側へと返す。図示のとおり、後処理段階は、情報処理装置１００がこの書込完了応答を受け取ったら終了である。
【００４６】
このように、前処理段階、本書込段階、後処理段階の３段階が終了したら、書込ルーチンは完了である。図３に示す例は、この書込ルーチンのみを目的とした交信セッションであるため、この後、交信終了段階となり、交信セッションは終了する。図３には、交信終了段階の処理は何ら記載されていないが、必要に応じて、記録媒体２００を所持している利用者に対して、交信が終了した旨の報知処理（たとえば、ピッという確認音を提示したり、ディスプレイ画面上に交信完了を示す文字を提示したりする処理）を行うようにしてもよい。
【００４７】
なお、図３には、書込ルーチンのみが示されているが、必要に応じて、読出ルーチンを実施してもかまわない。読出ルーチンは従来の一般的な手順と変わりない。具体的には、情報処理装置１００から記録媒体２００に対して、特定のアドレスを指定した読出命令を与えると、読出完了応答とともに、読み出されたデータが記録媒体２００から情報処理装置１００へと送信されることになる。もちろん、交信セッションによっては、読出ルーチンのみが実行される場合もある。
【００４８】
さて、ここで、前処理段階と後処理段階の意味合いを考えてみよう。これらの処理は、記録媒体２００側の不揮発性メモリ２５０内に設けられた管理ビット領域に記録されている管理ビットの論理値を変更するための処理である。すなわち、前処理段階は、管理ビットを「１」にする処理であり、後処理段階は、管理ビットを「０」にする処理である。そして、書込対象データの書き込みを行うための本書込段階は、前処理段階と後処理段階との間に挟まれている。これは、本書込段階の実行中は、必ず管理ビットが「１」になっていることを意味し、管理ビットが「０」になっていたとしたら、それは、本書込段階が完了し、後処理段階までもが完了していることを意味する。
【００４９】
結局、確認段階において読み出された管理ビットが「０」であれば、過去に行われた書込処理が正常終了したことを意味することになる。なぜなら、書込ルーチンの途中で処理が中断した場合、管理ビットは必ず「１」になるからである。
【００５０】
たとえば、書込ルーチン開始直後の前処理段階で電源停止が生じて処理が中断した場合、管理ビットには、まずビットのリセット処理によって「１」が書き込まれるので、次の交信セッションにおける確認段階で、異常終了との判断がなされることになる。もし、前処理段階において「１」を書き込むリセット前に処理が中断した場合は、管理ビットは「０」になっているが、この場合は、まだ次の書込段階へは移行していないので、本来の書込対象データの書込処理に関しては、何ら問題は生じていない。したがって、次の交信セッションにおける確認段階で、正常との判断がなされたとしても何ら問題はない。
【００５１】
一方、本書込段階の最中に電源停止が生じて処理が中断した場合は、図２(b) に示すようなリセット時に中断しようが、図２(c) に示すような記録完了時に中断しようが、管理ビットは「１」の状態のままであるので、次の交信セッションにおける確認段階で、異常終了との判断がなされることになる。
【００５２】
また、後処理段階では、管理ビット「０」の書き込みが行われることになるが、当該書込処理は、前述したとおり、まず管理ビット領域を「１」にリセットした後、これを「０」に書き換えることによって実行される。ここで、もし、管理ビット領域を「１」にリセットした直後に処理が中断したとしても、管理ビットは「１」の状態のままであるので、次の交信セッションにおける確認段階で、異常終了との判断がなされることになる。もちろん、管理ビットを「０」に書き換えた後に処理が中断した場合は、次の交信セッションにおける確認段階で、正常終了との判断がなされることになるが、この場合は、既に本書込段階は正常終了しているわけであるから、正常終了との判断がなされても何ら問題はない。
【００５３】
結局、書込処理を行う際に、まず各ビットを「１」にリセットする必要がある不揮発性メモリを用いている場合には、前処理段階で管理ビット「１」を書き込み、後処理段階で管理ビット「０」を書き込むようにし、確認段階では、読み出した管理ビットが「０」なら過去に行われた書込処理が正常終了したと判断し、「１」なら異常終了したと判断することにすれば、少なくとも本来の書込対象データの書込作業中（本書込段階）に処理が中断した場合には、次の交信セッションにおける確認段階で必ず異常終了との判断がなされることになり、書込対象データの書込失敗を、次の交信セッションにおいて確実に認識することができる。もちろん、書込対象データの書込処理が成功しているのにもかかわらず、次の交信セッションにおける確認段階で異常終了との判断がなされるケースも起こり得るが、そのような対応は、通常、書込失敗を見逃すよりも好ましい結果となる。要するに本発明では、異常終了の疑いがあれば、確認段階で異常終了との判断が行われることになり、常に安全サイドの判断がなされる。
【００５４】
なお、各ビットを「１」にリセットする必要がある不揮発性メモリを用いている場合に、上述の例とは逆に、前処理段階で管理ビット「０」を書き込み、後処理段階で管理ビット「１」を書き込むようにし、確認段階では、読み出した管理ビットが「１」なら過去に行われた書込処理が正常終了したと判断し、「０」なら異常終了したと判断する運用もありうる。しかしながら、そのような運用は、前処理段階で電力供給が停止した場合、管理ビットが「１」の状態（リセットの状態）となってしまう可能性があり、書込処理中断というエラーが生じているにも拘わらず、次回の交信セッションにおいて、正常終了との判断がなされてしまうため好ましくない。したがって、書込処理を行う際に、まず各ビットを「１」にリセットする必要がある不揮発性メモリを用いている場合には、上述したとおり、前処理段階で管理ビット「１」を書き込み、後処理段階で管理ビット「０」を書き込むようにし、確認段階では、読み出した管理ビットが「０」なら過去に行われた書込処理が正常終了したと判断し、「１」なら異常終了したと判断する運用をとるのが好ましい。逆に言えば、上述の例とは逆のタイプの不揮発性メモリ、すなわち、書込処理を行う際に、まず各ビットを「０」にリセットする必要がある不揮発性メモリを用いる場合には、前処理段階で管理ビット「０」を書き込み、後処理段階で管理ビット「１」を書き込むようにし、確認段階では、読み出した管理ビットが「１」なら過去に行われた書込処理が正常終了したと判断し、「０」なら異常終了したと判断すればよい。
【００５５】
結局、一般論として述べれば、データ書き込み時に、各ビットを第１の論理状態にリセットした後、各ビットに第１の論理状態もしくは第２の論理状態のいずれかの論理状態を記録する書込処理を必要とする不揮発性メモリを用いる場合、前処理段階では、情報処理装置１００から記録媒体２００に対して、不揮発性メモリ２５０に設けられた所定の管理ビット領域に第１の論理状態に対応する管理ビットを書き込むための第１の書込命令を与え、制御部２３０に第１の書込命令を実行させるようにし、記録媒体２００から情報処理装置１００に対して第１の書込命令についての書込完了応答があった後に行われる本書込段階では、情報処理装置１００から記録媒体２００に対して、不揮発性メモリ２５０に設けられた所定の記録領域に所定の書込対象データを書き込むための第２の書込命令を与え、制御部２３０に第２の書込命令を実行させるようにし、記録媒体２００から情報処理装置１００に対して第２の書込命令についての書込完了応答があった後に行われる後処理段階では、情報処理装置１００から記録媒体２００に対して、管理ビット領域に第２の論理状態に対応する管理ビットを書き込むための第３の書込命令を与え、制御部２３０に第３の書込命令を実行させるようにし、確認段階では、管理ビットを記録媒体２００から情報処理装置１００へ読み出してその論理状態を調べ、当該論理状態が第２の論理状態であった場合には、過去に行われたデータの書込処理が正常に完了したものと判断し、第１の論理状態であった場合には、過去に行われたデータの書込処理が異常終了したものと判断するようにすればよい。
【００５６】
なお、実用上は、確認段階において、過去に行われたデータの書込処理が異常終了したものと判断された場合には、情報処理装置１００が所定のエラー処理を実行するようにしておくのが好ましい。具体的にどのようなエラー処理を行うかは、個々のアプリケーションプログラムの内容に応じて適宜設定すればよい。たとえば、記録媒体２００を所持する利用者に対して、何らかのエラーが生じたことを報知し、記録媒体２００を再発行するような手続を行うようにしてもよい。
【００５７】
なお、図３には、１つの交信セッションがすべて正常に進行した例が示されているが、もちろん、途中で電源停止などの事態が生じた場合は、記録媒体２００から情報処理装置１００に対して、与えられた命令に対応する正しい応答が送信されないまま交信が終了することになるので、当該情報処理装置１００側では、当該記録媒体２００との交信が異常終了した旨のエラー処理が実行されることになる。このようなエラー処理は、既に利用されている公知の技術であるので、ここでは詳しい説明は省略する。
【００５８】
＜＜＜  §３．複数のアプリケーションプログラムを用いる実施形態  ＞＞＞
ここでは、複数のアプリケーションプログラムによって、単一の記録媒体２００を共用するような利用形態に本発明を適用した例を述べることにする。前述したとおり、ホストコンピュータ１１０内にはアプリケーションプログラムが組み込まれており、記録媒体２００に対するアクセスは、このアプリケーションプログラムの制御の下で行われる。単一の記録媒体２００を複数のアプリケーションプログラムで共用する場合、通常、不揮発性メモリ２５０内に、個々のアプリケーションごとにそれぞれ専用の記録領域が設けられる。
【００５９】
図４は、３種類のアプリケーションプログラムＡ，Ｂ，Ｃを利用する場合の不揮発性メモリ２５０の領域構成例を示すブロック図である。図示の例の場合、不揮発性メモリ２５０内には、アプリケーションＡ用記録領域２５１、アプリケーションＢ用記録領域２５２、アプリケーションＣ用記録領域２５３が設けられているが、これらの各記録領域は、それぞれアプリケーションプログラムＡ，Ｂ，Ｃがそれぞれ利用する専用の記録領域である。
【００６０】
一方、管理領域２５４は、たとえば、この記録媒体２００を所持する利用者に関するユーザ情報や管理情報を記録するための領域である。ここに示す実施形態の場合、この管理領域２５４内に管理ビット領域（図にハッチングを施した領域：図の下方にその詳細な構成例を示す）を設け、各アプリケーションごとの管理ビットを記録できるようにしてある。具体的には、管理ビット領域は、合計８ビットからなる領域であり、第１ビット目は、アプリケーションＡ用管理ビット領域ａ、第２ビット目は、アプリケーションＢ用管理ビット領域ｂ、第３ビット目は、アプリケーションＣ用管理ビット領域ｃとして利用されている。各記録領域２５１，２５２，２５３と各管理ビット領域ａ，ｂ，ｃとの間には、それぞれ対応関係が定義されている。
【００６１】
この図４に示すような不揮発性メモリ２５０を有する記録媒体２００は、３種類のアプリケーションプログラムＡ，Ｂ，Ｃからのアクセスに応じてデータの書き込みや読み出し処理を行うことになるが、それぞれ各アプリケーションごとに設けられた専用の領域に対するアクセスを行うことになる。たとえば、アプリケーションプログラムＡから与えられた書込対象データは、アプリケーションＡ用記録領域２５１内に記録することになり、その際に必要になる管理ビットは、アプリケーションＡ用管理ビット領域ａに記録することになる。
【００６２】
なお、このように３種類のアプリケーションプログラムを利用する情報処理システムの第１の形態は、同一の情報処理装置１００内のホストコンピュータ１１０に、３種類のアプリケーションプログラムＡ，Ｂ，Ｃの全部を組み込む形態である。この場合、１台の情報処理装置１００は、いずれか１つのアプリケーションプログラムを選択的に起動して、記録媒体２００に対するアクセスを行うことになる。記録媒体２００側では、どのアプリケーションプログラムが起動しているかを判断して、記録領域２５１，２５２，２５３のいずれかの記録領域に対してアクセスを行い、管理ビット領域ａ，ｂ，ｃのいずれかに管理ビットを記録する。
【００６３】
３種類のアプリケーションプログラムを利用する情報処理システムの第２の形態は、情報処理装置１００ごとに、組み込むアプリケーションプログラムを変える形態である。たとえば、情報処理装置１００ＡにはアプリケーションプログラムＡを組み込み、情報処理装置１００ＢにはアプリケーションプログラムＢを組み込み、情報処理装置１００ＣにはアプリケーションプログラムＣを組み込んだ場合、記録媒体２００側では、どのアプリケーションプログラムが組み込まれた情報処理装置と交信中であるかを判断して、記録領域２５１，２５２，２５３のいずれの記録領域に対してアクセスを行い、管理ビット領域ａ，ｂ，ｃのいずれに管理ビットを記録するかを決定することになる。
【００６４】
なお、一般的な不揮発性メモリの場合、１ビット単位でのデータ書込処理はできず、数ビットごとのブロック単位での書き込みしかできないケースが多い。したがって、実用上は、たとえば、図４に示す管理ビット領域ａにのみ管理ビットを記録する場合であっても、数ビットをまとめたブロック単位での書込処理が行われることになる。たとえば、８ビットからなるブロック単位での書き込みしかできない場合、図４に示す管理ビット領域内の８ビットのデータすべてを、揮発性メモリ（ＲＡＭ）２４０に読み出し、この揮発性メモリ２４０上で、管理ビット領域ａの管理ビットを所望の論理値に書き換え、続いて、不揮発性メモリ（ＥＥＰＲＯＭ）２５０上の管理ビット領域内の８ビットのデータをすべて「１」にリセットし、最後に、揮発性メモリ（ＲＡＭ）２４０上で「０」となっているビットに対応する管理ビット領域内のビットを「０」に書き換える処理が実行されることになる。
【００６５】
この§３で説明する実施形態を一般論として述べれば、記録媒体２００の不揮発性メモリ２５０内に、複数ｎ個のアプリケーション用記録領域と複数ｎ個のアプリケーション用管理ビット領域とを設け、情報処理装置１００に複数ｎ個のアプリケーション用プログラムの一部もしくは全部を格納し、第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時には、前処理段階および後処理段階の管理ビットを第ｉ番目のアプリケーション用管理ビット領域に対して書き込み、本書込段階の書込対象データを第ｉ番目のアプリケーション用記録領域に書き込むようにすればよい。
【００６６】
このように、複数ｎ個のアプリケーション用プログラムのための記録媒体として共用する場合に、アプリケーション用管理ビット領域をそれぞれ各アプリケーションプログラムごとに別個に設けておき、管理ビットを各アプリケーションプログラムごとに別個に記録できるようにしておけば、いずれかのアプリケーションプログラムによる書込処理が異常終了した場合、当該アプリケーションプログラムについての管理ビットにのみ異常終了の痕跡が残るので、異常終了が起こったアプリケーションプログラムについてのみエラー処理を実行する等、アプリケーションごとに別個独立した対応をとることが可能になる。
【００６７】
図５は、複数のアプリケーションプログラムが組み込まれた情報処理装置１００と、この複数のアプリケーションプログラムによって共用される記録媒体２００との間の１セッションの交信手順を示す流れ図である。
【００６８】
まず、交信開始後に、ステップＳ１における準備処理が実行される。これは、複数のアプリケーションプログラムに共通した処理であり、たとえば、管理領域２５４から、この記録媒体２００を所持する利用者に関するユーザ情報や管理情報を、情報処理装置１００側に読み出す処理などが実行される。
【００６９】
続くステップＳ２では、所望のアプリケーションプログラムの起動が行われる。そして、ここに示す実施形態では、アプリケーションプログラムの起動直後のステップＳ３において、確認段階の処理が実行される。これは、現在起動中のアプリケーションプログラムに関して、過去の交信セッションにおいて書込処理が異常終了していたか否かを判断する処理である。たとえば、ステップＳ２で起動したプログラムがアプリケーションプログラムＡであった場合、ステップＳ３の確認段階の処理では、アプリケーションＡ用管理ビット領域ａ内の管理ビットが読み出され、その論理値が調べられることになる。ここで、異常終了との判断がなされれば、所定のエラー処理が実行される。
【００７０】
こうして、ステップＳ３における確認段階が終了したら、続いてステップＳ４へ進み、起動中のアプリケーションプログラムの処理に応じたルーチン選択が行われる。図示の実施形態の場合、読出ルーチンＳ５、書込ルーチンＳ６、その他のルーチンＳ７の３通りのケースが示されている。ここで、書込ルーチンＳ６は、図３のダイアグラムに示されているとおり、前処理段階、本書込段階、後処理段階の３つの段階から構成される。
【００７１】
いずれかのルーチンの実行が完了したら、ステップＳ８にて、アプリケーションを終了するか否かが判断される。アプリケーションを終了しない場合は、再びステップＳ４のルーチン選択処理へと戻ることになり、所望のルーチンが再び選択され実行される。アプリケーションを終了する場合は、ステップＳ９にて、交信終了するか否かが判断される。交信終了しない場合は、ステップＳ２へと戻ることになり、別なアプリケーションが起動される。交信終了する場合は、１交信セッションが終了することになる。
【００７２】
この図５に示す実施形態の特徴は、第ｉ番目（１≦ｉ≦ｎ）のアプリケーション用プログラムの実行時における確認段階（ステップＳ３）では、第ｉ番目のアプリケーション用管理ビット領域に記録されている管理ビットについての論理状態のみを調べる点である。ステップＳ３では、ステップＳ２で起動したアプリケーションプログラムに関して、過去の書込処理が異常終了したか否かが判断され、異常終了したと判断された場合には、必要に応じてエラー処理が実行される。したがって、アプリケーションごとにそれぞれ別個独立した対応をとることが可能になる。
【００７３】
もちろん、場合によっては、ステップＳ３の確認段階の処理をステップＳ１の直後に行うようにし、すべてのアプリケーションプログラムに関して、過去の書込処理が異常終了したか否かを判断し、異常終了したと判断された場合には、必要に応じて共通のエラー処理を実行するようにしてもかまわない。この場合、確認段階では、すべてのアプリケーション用の管理ビットが調べられることになる。ただ、一般的には、書込処理が異常終了していた場合に、どのようなエラー処理を実行するかは、個々のアプリケーションプログラムの作成者の意向に応じて決定すべき事項であるので、実用上は、図５に示す例のように、起動中のアプリケーションプログラムに関する管理ビットのみを調べるだけで十分であろう。
【図面の簡単な説明】
【００７４】
【図１】本発明の適用対象となる情報処理システムの構成例を示すブロック図である。
【図２】図１に示す不揮発性メモリ２５０に対する書込処理の手順を示す図である。
【図３】本発明により情報処理装置１００から記録媒体２００に対してアクセスを行う手順を示すダイアグラムである。
【図４】本発明において、複数のアプリケーションプログラムを利用する場合の不揮発性メモリの領域構成例を示すブロック図である。
【図５】本発明において、複数のアプリケーションプログラムを利用する場合の１セッションの交信手順を示す流れ図である。
【符号の説明】
【００７５】
１００：情報処理装置
１１０：ホストコンピュータ
１２０：リーダライタ装置
２００：携帯型情報記録媒体（ＩＣタグ）
２１０：通信部
２２０：電源発生部
２３０：制御部
２４０：揮発性メモリ（ＲＡＭ）
２５０：不揮発性メモリ（ＥＥＰＲＯＭ）
２５１：アプリケーションＡ用記録領域
２５２：アプリケーションＢ用記録領域
２５３：アプリケーションＣ用記録領域
２５４：管理領域
ａ：アプリケーションＡ用管理ビット領域
ｂ：アプリケーションＢ用管理ビット領域
ｃ：アプリケーションＣ用管理ビット領域
Ｓ１〜Ｓ９：流れ図の各ステップ
【図１】
2009110468.tif 000003
【図２】
2009110468.tif 000004
【図３】
2009110468.tif 000005
【図４】
2009110468.tif 000006
【図５】
2009110468.tif 000007