(57)【要約】【課題】メモリデータ書換え中にタグへの供給電源が切れた場合にメモリ内容が壊れてしまう不都合を回避するためにデータ保証に必要なメモリ容量を少なくできるようにするとともに、メモリ内容の改竄を防止できるようにする。【解決手段】条件判定手段の判定結果が更新条件に合致する場合には、有効データ管理手段により管理されている有効データが保持されているアドレス領域とは異なる側のアドレス領域に前記最新の更新データの書込みを行い、その後、有効データとして管理するアドレス領域を反転させるように制御するとともに、リーダ／ライタ装置へＡＣＫ応答するように前記条件判定手段を制御し、前記判定結果が前記更新条件に合致しない場合には、メモリの更新データを無効として不揮発メモリに保持されている有効データの書換えを行なわないように更新データ書き込み手段を制御する状態制御シーケンサとを備える。【選択図】図５
2012230560.tif 000002
【特許請求の範囲】
【請求項１】
リーダ／ライタ装置との間でデータ通信を行う送受信回路と、
前記送受信回路を介して前記リーダ／ライタ装置から取得する更新データを第１のアドレス領域または第２のアドレス領域に保持する不揮発メモリと、
前記第１のアドレス領域または第２のアドレス領域にそれぞれ保持されている更新データのうちのどちらかを有効データとして管理する有効データ管理手段と、
前記リーダ／ライタ装置とデータ通信を行って取得した最新の更新データと、前記不揮発メモリに保持されている有効データとが更新条件に合致するか否かを判定する条件判定手段と、
前記条件判定手段の判定結果が前記更新条件に合致する場合には、前記有効データ管理手段により管理されている有効データが保持されているアドレス領域とは異なる側のアドレス領域に前記最新の更新データの書込みを行う更新データ書き込み手段と、
前記更新データ書き込み手段が前記最新の更新データの書込みを行った後に有効データとして管理するアドレス領域を反転させるように前記有効データ管理手段を制御するとともに、前記送受信回路から前記リーダ／ライタ装置へＡＣＫ応答するように前記条件判定手段を制御し、前記判定結果が前記更新条件に合致しない場合には、メモリの更新データを無効として前記不揮発メモリに保持されている有効データの書換えを行なわないように前記更新データ書き込み手段を制御する状態制御シーケンサとを備えたことを特徴とするデータキャリア。
【請求項２】
所定の通信コマンドの受信回数をカウントするカウンタ回路と、
前記カウンタ回路のカウンタ値を所定のコマンドで不揮発メモリに更新データとして書込んで保存する保存手段と、
各部の動作を制御する制御手段とを備え、
前記制御手段は、更新データの誤書込みが発生した場合には書き込み前のデータを有効にし、更新データが更新前のデータより小さい場合には更新データを有効とし、逆に大きい場合には書き込み自体を防止することを特徴とするデータキャリア。
【請求項３】
前記送受信回路と前記リーダ／ライタ装置との通信をＲＦ方式で行うことを特徴とする請求項１に記載のデータキャリア。
【請求項４】
前記送受信回路と前記リーダ／ライタ装置との通信をＵＡＲＴ、またはＩ２Ｃバスを含む接触方式で行うことを特徴とする請求項１に記載のデータキャリア。
【請求項５】
前記状態制御シーケンサは、前記判定結果が前記更新条件に合致しない場合には、メモリの更新データを無効として前記不揮発メモリに保持されている有効データの書換えを行なわないように前記更新データ書き込み手段を制御するとともに、前記送受信回路から前記リーダ／ライタ装置へＮＡＣＫ応答するように前記条件判定手段を制御することを特徴とする請求項１に記載のデータキャリア。
【請求項６】
前記第１のアドレス領域または第２のアドレス領域にそれぞれ保持されている更新データは、前回の書き込み処理により書き込まれた更新データ及び前々回の書き込み処理により書き込まれた更新データであり、
前記有効データ管理手段は、前回の書き込み処理により書き込まれた更新データを有効データとして管理することを特徴とする請求項１に記載のデータキャリア。
【請求項７】
データキャリアとの間でデータ通信を行うリーダ／ライタ装置であって、
データ通信相手のデータキャリアが何度もアクセスを試みた場合には、所定の通信コマンドの発行回数をカウントし、前記カウントした値を不揮発メモリに保存するカウント値保存手段と、
前記不揮発メモリに保存しているカウント値が、予め設定されているリサイクル数に応じた所定の回数より多い値であることを検出するカウント値検出手段とを有し、
前記カウント値検出手段により不正なアクセスを検出することを特徴とするリーダ／ライタ装置。
【請求項８】
請求項１〜６の何れか１項に記載のデータキャリアと、請求項７に記載のリーダ／ライタ装置とを有することを特徴とするデータキャリアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータキャリア及びデータキャリアシステムに関し、特に、食器の使用回数、リネンのクリーニング回数、貸衣装のレンタル回数、またはバッテリーパックの充電回数、トナー・インクカートリッジなどの消耗品リサイクル回数などを管理するために用いて好適な技術に関するものである。
【背景技術】
【０００２】
近年、地球環境の保全を目的として各種リサイクル品のリサイクルが図られるようになってきた。例えば、レストランや学校、社員食堂などで繰り返し使用される食器や、ホテルのリネン用品、貸衣装業者の衣装、デジタルカメラのバッテリー、複写機・プリンタなどのトナー・インクカートリッジなどは、使い捨てることなくリサイクル品として繰り返し使用できるように様々な工夫がされてきている。
【０００３】
しかしながら、リサイクル品は再使用するにつれて劣化していくため、その再使用回数を効率よく管理する仕組みが必要になってきている。再使用回数を管理する方法のひとつとして、書換え可能なメモリ機能を持つタグを用いる方法がある。これは、メモリ機能を持つタグをリサイクル品に取り付け、リサイクル品を再使用する都度メモリの使用履歴を更新して再利用期限や制限回数と比較することで管理するようにしている。例えば、特許文献１においては、確実に対応するリサイクル品に対する使用情報を記録する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１３４５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、メモリ機能を搭載したタグを取り付けたリサイクル品の運用に際して次のような課題がある。
第１の課題としては、書換えに失敗してメモリ内容を壊してしまう場合がある。また、第２の課題として、不正な値に意図的に書き換えられてしまうことを確実に防止することが困難なことである。
【０００６】
第１の課題の具体例としては、タグのメモリデータ書換え中にタグへの供給電源が切れた場合には、メモリの保存データは不定値となり書換え前の値か書換え後の値であるかを含めて全く保証されない。例えば、書換え可能な不揮発性メモリの代表であるＥＥＰＲＯＭの場合、データ書換えの際には一度昇圧して該当アドレスのメモリデータをデータの全ビットの値が全て「1」の値になるようイレース（ＨＩＧＨレベルにチャージ）し、データの値が「０」（ＬＯＷレベル)のビット線のみ書き込む（ＬＯＷレベルにディスチャージする）動作を行う。
【０００７】
よって、チャージ直後に電源が切れた場合、データは全て値「１」に化けてしまい、ディスチャージ中に電源が切れた場合はデータの値そのものが「０」とも「１」とも判定できない中間的な電圧レベルで不定な値となる危険性が高くなってしまう。このため従来は、プリペード前払いカードの課金データや、リネン・消耗品などのリサイクル回数データなどのように、減算方向への一方向性を担保する必要性があるデータ（履歴データ）では、データが壊れては運用システムが破綻することになってしまう。このような不都合を回避するため、書き込み中にデータ化けが起こり得るものとしてソフトウェアで回避シーケンスを組む方法が考案されていた。
【０００８】
この回避方法として、複数メモリの多数決判定方式がある。具体的には、メモリの４つの異なるアドレスに同じ値を書いておいて、更新する前に当該４つのアドレスのデータを読み出して２つの値が同じであれば多数決で正しい値として認識し、更新値をメモリの当該４つのアドレスに書き込む方法である。ここで言う更新値とは、プリペード前払いカードにあってはカードの利用者が消費した課金データであり、リネン・消耗品などにあっては読み出した値からリサイクル使用数を差し引いた値のことである。
【０００９】
また、メモリの節約のため３つの異なるアドレスを使って多数決判定する方法もあるが、この場合には２つ目を書き換えている最中に供給電源が落ちた場合には３つの値がそれぞれ異なって正確な判定がつかないリスクがあった。以上のようなソフトウェアによる回避方法では処理時間がかかる上に制御ソフトウェアの負担が大きいという問題があった。
【００１０】
第２の課題の具体例としては、偽造を試みる者によってプリペードの課金データが任意の値に書き換えられてしまうと大きな損失を伴う。また、リネン・消耗品などのリサイクルデータが不正に書き換えられてしまうと、リネン・消耗品の品質問題が生じてしまうことである。
【００１１】
このため、これら重要な履歴データ（多くの場合一方向性のデータ改竄防止を図る方法として、パスワード照合や鍵データに基づく認証、データそのものの暗号化などの技術が用いられている。
【００１２】
しかしながら、いずれの方法も偽造を試みる者による解読攻撃を受けており、いたちごっこの状況にある。これらの改竄防止策が破られた場合には為すすべがなく、システム自体を新たに更新するなど大きなコストを伴っていた。
【００１３】
本発明は前述の問題点に鑑み、メモリデータ書換え中にタグへの供給電源が切れた場合にメモリ内容が壊れてしまう不都合を回避するための方式を考案し、正しいデータの保証に必要なメモリ容量を少なくできるようにするとともに、パスワード照合や鍵データに基づく認証、データそのものの暗号化などの技術を用いることなく、メモリ内容の改竄を防止できるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明のデータキャリアは、リーダ／ライタ装置との間でデータ通信を行う送受信回路と、前記送受信回路を介して前記リーダ／ライタ装置から取得する更新データを第１のアドレス領域または第２のアドレス領域に保持する不揮発メモリと、前記第１のアドレス領域または第２のアドレス領域にそれぞれ保持されている更新データのうちのどちらかを有効データとして管理する有効データ管理手段と、前記リーダ／ライタ装置とデータ通信を行って取得した最新の更新データと、前記不揮発メモリに保持されている有効データとが更新条件に合致するか否かを判定する条件判定手段と、前記条件判定手段の判定結果が前記更新条件に合致する場合には、前記有効データ管理手段により管理されている有効データが保持されているアドレス領域とは異なる側のアドレス領域に前記最新の更新データの書込みを行う更新データ書き込み手段と、前記更新データ書き込み手段が前記最新の更新データの書込みを行った後に有効データとして管理するアドレス領域を反転させるように前記有効データ管理手段を制御するとともに、前記送受信回路から前記リーダ／ライタ装置へＡＣＫ応答するように前記条件判定手段を制御し、前記判定結果が前記更新条件に合致しない場合には、メモリの更新データを無効として前記不揮発メモリに保持されている有効データの書換えを行なわないように前記更新データ書き込み手段を制御する状態制御シーケンサとを備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、メモリデータ書換え中にタグへの供給電源が切れた場合にメモリ内容が壊れてしまう不都合を回避するために必要なメモリ容量を少なくすることができる。また、リーダ／ライタ装置側のソフトウェアで行っていた誤書込み防止処理を不要にできるとともに、運用で開示されている書込みコマンドでは履歴データを戻す方向への不正なデータ改竄を行うことができないので、データ改竄を確実に防止することができる。ここで履歴データを戻す方向への不正なデータとは、プリペードの課金データにあってはカードに記憶されている残高値より増やす方向のデータのことであり、リネン・消耗品などにあっては残り使用可能回数が増やされる方向のデータのことである。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態を示し、食器用タグのリサイクル管理説明図である。
【図２】本発明の第２の実施形態を示し、レンタル衣料品用タグのリサイクル管理説明図である。
【図３】本発明の第３の実施形態を示し、消耗品用タグのリサイクル管理を説明する第１の例を示す図である。
【図４】本発明の第４の実施形態を示し、消耗品用タグのリサイクル管理を説明する第２の例を示す図である。
【図５】実施形態のタグの機能構成例を示すブロック図である。
【図６】タグのメモリ内容を書き換える際に行なわれる時系列処理の順を示すタイミングチャートである。
【図７】実施形態の状態制御シーケンサの処理の一例を示すフローチャートである。
【図８】状態制御シーケンサの構成例を説明するブロック図である。
【図９】発行時の状態制御シーケンサの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１７】
次に、図面を参照しながら本発明の実施形態を説明する。
（第１の実施形態）
図１は、本実施形態のタグを食器のリサイクル管理を行うために用いた例を説明する図である。
図１において、１は管理パソコン、２は食器、３はタグ、４はタグリーダライタ、５は食器洗い機、６はオートレジ（自動清算）システムを導入した店舗部門、レストラン、７は食器洗浄部門である。
【００１８】
図１に示すように、本実施形態においては、レストランや学校、社員食堂などで繰り返し使用される食器２の使用回数（リサイクル回数）を管理するために用いられ、タグ３は食器２の底部に取り付けられている。タグ３には、食器２の使用回数が記録されるとともに、食器２に盛られている料理の内容に係る情報が記録されている。ここで、食器２に盛られている料理の内容に係る情報としては、料理の価格、料理のカロリー、料理の栄養素等に係る情報が考えられる。
【００１９】
料理が盛られている食器２は、店舗部門６においては、タグリーダライタ４に載置されることにより、前述したように、料理の価格、料理のカロリー、料理の栄養素等に係る情報がタグリーダライタ４によってタグ３から読み取られる。そして、読み取られた情報は、タグリーダライタ４に接続されている管理パソコン１に供給され、前述した各種の情報が管理パソコン１により管理される。
【００２０】
店舗部門６において、内部に盛られていた料理が食された食器２は、食器洗浄部門７に運ばれ、食器洗い機５により洗浄される。その後、タグリーダライタ４に載置され、タグ３から情報が読み取られる。この場合、食器２には料理が盛られていないので、読み取られる情報は、食器２の使用回数（リサイクル回数）である。
【００２１】
タグリーダライタ４により読み取られた食器２の使用回数の情報は、管理パソコン１に送られる。食器２は、再使用するにつれて劣化していくため、その材質などにより再使用する回数の上限が予め設定されている。そのため、予め設定されている上限に達していない食器２は店舗部門６に運ばれて再使用されるが、上限に達した食器２は店舗部門６に運ばれることなく廃棄処分にされる。
【００２２】
前述したように、第１の実施形態においては、食器２を使用して洗浄する毎に再使用回数を管理するので、予め設定されている上限を超えて食器２を使用する不都合を確実に防止することができる。また、後述するように、タグ３に書き込まれている使用回数を改ざんしたりして食器の再利用を際限なく続けるなどの不正使用を確実に防止することができる。
【００２３】
（第２の実施形態）
次に、図２を参照しながら本発明の第２の実施形態を説明する。本実施形態においては、レンタル衣料品の使用回数を管理するシステムにタグを使用した例を示している。
図２において、２１は管理パソコン、２２はリネンサプライ品、制服、貸衣裳などを含むレンタル衣料品、２３はタグ、２４はタグリーダライタ、２５は洗濯機、２６はホテル、店舗部門などのレンタル衣料品の使用部門、２７はクリーニング部門である。
【００２４】
本実施形態においては、レンタル衣料品２２にはタグ２３が取り付けられている。これにより、レンタル衣料品の使用部門２６においては、タグリーダライタ２４によりタグ２３に格納されている情報を取得することができる。
【００２５】
タグ２３に格納されている情報としては、レンタル衣料品２２の使用履歴、名称（品名）、材質、色、デザイン等、種々であるが、本実施形態においては、使用履歴を厳格に管理している。これは、使用回数の上限や再利用期限がレンタル衣料品２２ごとに予め設定されており、使用回数の上限や再利用期限を超えてレンタル衣料品２２を使用しないようにするためである。
【００２６】
使用回数の上限や再利用期限に係る情報は、クリーニング部門２７において取得される。すなわち、レンタル衣料品の使用部門２６において使用されたレンタル衣料品２２は回収されてクリーニング部門２７に運ばれる。そして、使用済のレンタル衣料品２２は洗濯機２５によりクリーニングされた後に、タグリーダライタ２４によりタグ２３に格納されている情報が読み取られる。タグリーダライタ２４により読み取られたレンタル衣料品２２に係る情報は、管理パソコン２１に送られる。
【００２７】
管理パソコン２１は、レンタル衣料品２２毎に、使用回数の上限や再利用期限などを管理しているので、再利用期限や制限回数を超えたレンタル衣料品２２がレンタル衣料品の使用部門２６に回されるのを確実に防止することができる。
【００２８】
（第３の実施形態）
次に、図３を参照しながら本発明の第３の実施形態を説明する。
本実施形態は、ビデオカメラやデジタルカメラなどに使用する、リチウムイオンバッテリなどの２次電池３２にタグ３３を取り付けて、２次電池３２の使用回数などを管理するようにした例を示している。
【００２９】
図３において、３１はリーダ／ライタ装置を内蔵したビデオカメラまたはデジタルカメラなどの２次電池３２を使用する機器である。３４はリーダ／ライタ装置、３５は充電器である。
【００３０】
本実施形態においては、２次電池３２にはタグ３３が取り付けられている。これにより、２次電池３２を充電器３５にセットして充電すると、タグ３３に記録されている過去の充電回数がリーダ／ライタ装置３４によって読み取られる。また、今回の充電を行うことにより、タグ３３に記録されている充電回数が１回加算される。
【００３１】
充電済の２次電池３２を２次電池使用機器３１に装着すると、２次電池使用機器３１に内蔵されているリーダ／ライタ装置３４が２次電池３２のタグ３３から記録されている情報を読み取る。読み取る情報としては、２次電池３２の製造年月日、定格、使用履歴（充電回数）などである。
【００３２】
前述のように構成することにより、２次電池３２の使用履歴を確実に管理することが可能となり、２次電池３２の使用期限を過ぎて使用して液漏れ事故を起こしたり、充電回数の上限を超えて使用したりする不都合を確実に防止可能なシステムを構築することができる。
【００３３】
（第４の実施形態）
次に、図４を参照しながら本発明の第４の実施形態を説明する。
本実施形態においては、本発明のリサイクル回数管理用タグを消耗品のリサイクル管理に使用した例である。
【００３４】
図４において、４１はトナー使用機器であるプリンタ、４２はトナーカートリッジ、４３はタグであり、トナーカートリッジ４２に取り付けられている。４４はリーダ／ライタ装置であり、プリンタ４１に取り付けられている。プリンタ４１〜リーダ／ライタ装置４４はユーザのオフィイス４６で使用される。
【００３５】
トナーカートリッジ４２内のトナーが空になると、トナーカートリッジ再生工場４７に運ばれて詰め替え(リフィル)が行なわれる。トナーカートリッジ再生工場４７においては、トナー充填機４５によりトナーカートリッジ４２の内部にトナーが再充填される。この際に、トナーカートリッジ４２に取り付けられているタグ４３に、再充填に係る情報が書き込まれる。書き込まれる情報の一例としては、トナーカートリッジ４２のＩＤコード、再充填を行った回数等、トナーカートリッジ４２の使用履歴を管理するために必要な情報である。
【００３６】
トナーリサイクルシステムについて、更に詳細に説明する。
消耗品であるトナーは、トナーカートリッジ４２に充填され、このトナーカートリッジ４２をプリンタ４１に装着して印刷される。１本のトナーカートリッジ４２で印刷可能なおおよその上限枚数は決まっており、たとえば文字情報の印刷が多い一般事務用途では通常容量カートリッジで４０００枚、大容量カートリッジで８０００枚といった具合である。勿論、トナー消費量の多い写真などの画像印刷ではこれらの枚数より少なくなる。
【００３７】
消耗品の使用履歴管理では、トナーを工場で充填時にこれら上限値データを充填したトナーカートリッジ４２に貼り付けたタグ内のメモリに定義した「印刷枚数データ」に書いておき、プリンタ４１側は印刷時にタグからこの「印刷枚数データ」を読み出して、文字情報や画像などの印刷内容に応じて増減させた換算枚数を印刷の都度計算し、読み出し値から減じて「更新データ書込みコマンド」でタグの「印刷枚数データ」に上書きする。
【００３８】
これによって、印刷の都度「印刷枚数データ」は減算されていくことになり、読み出し値がゼロになったら使い切ったということで、新たな印刷を禁止するとともにコントロールパネルやパソコンの画面にトナーカートリッジ４２の交換アラームを表示して利用者に周知する。ここで、プリンタ４１のユーザは使い切って空になったトナーカートリッジ４２をプリンタメーカの指定場所に送り、新たなトナーカートリッジ４２を購入するのが通常のトナーリサイクルシステムである。
【００３９】
上述のリサイクルシステムでは具体的に、空になったトナーカートリッジ４２は、プリンタメーカのトナー充填工場に送られ、清掃確認後に再度充填して「リサイクル回数データ」（新品の初回発行時には予めリサイクル上限値を工場にて書き込んであるものとする）を１回減じるとともに充填量に応じた「印刷枚数データ」を再度発行する。ここで用いられる発行コマンドは、工場のみで使われるコマンドであり、図９にそのフローチャートを示して後述する。プリンタ４１はこの発行コマンドを搭載しないので、「印刷枚数データ」を再度発行することはできない。このように、正規のトナー消耗品リサイクルシステムでは品質保証ができるように、計画されたリサイクル回数、印刷枚数で運用することができるようにしている。
【００４０】
しかしながら、トナーの充填のみを安価に請け負う不正な業者などによってトナーカートリッジ４２に取り付けたタグの「リサイクル回数データ」や「印刷枚数データ」を不正に書き換えられてこれらの業者によってトナー充填された場合、正規のメーカーのトナー充填工場には戻ってこないことになる。このようなケースでは、トナーカートリッジ４２が際限なく再利用されることになり品質保証ができなくなる。
【００４１】
最悪の場合、プリンタヘッドが傷つくなどしてプリンタ４１が故障する原因になる。プリンタ４１側では、これらタグメモリの「リサイクル回数データ」や「印刷枚数データ」の読み出しと「更新データ書込みコマンド」による書込みしかアクセスしない場合には正規品か不正品（成りすまし）かを判別することが困難である。
【００４２】
そこで、データの発行ができないメモリデータ（「アクセスログデータ」）を定義し、タグの起動時（電源投入時など）にタグ内に専用に設けた「アクセスカウンタ（カウンタ回路）」にロードし、所定のコマンド（例えば「印刷枚数データ」の読み出しコマンドなど）をタグが受信した都度「アクセスカウンタ」を減算し、別の所定のコマンド（例えば「更新データ書込みコマンド」など）を受信した都度、この「アクセスカウンタ」の値を「アクセスログデータ」に上書きするようにする。
【００４３】
プリンタ４１は、このカウンタ値を読み出すか、「アクセスカウンタ」の値がゼロになったことを示す「ゼロフラグ」を読み出すことで正規品か不正品かを判断することができる。「アクセスログデータ」は、予め定めたリサイクル寿命に相当する値を決めておき、タグメーカーのICレベルの段階で初期値として書き込んで初期値の再発行を禁止しておいてプリンタメーカのトナー充填工場でも発行しないようにすることで、「アクセスログデータ」の安全性がより高まる。
【００４４】
このようにすることで「初期データ」を発行する工場から仮に発行コマンドの仕組みが外部に漏れるなどした場合でも「アクセスログデータ」は初期値を再発行することはできないので、プリンタ４１側ではこのタグにアクセスする都度「アクセスカウンタ」は減算一方となり、予め設定したリサイクル寿命値になるとゼロになるため、不正業者による不正なトナーリサイクル品を際限なく繰り返し使用されることを抑止することができる。
【００４５】
次に、第１の実施形態〜第４の実施形態で使用されるタグの構成例を、図５を参照しながら説明する。
図５に示すように、本実施形態のタグ５１は、状態制御シーケンサ５２、コマンドデコーダ５３、送受信回路５４、ログ管理用メモリ５５、条件判定回路５６、第１のデータレジスタ（Ｒ）５７、第２のデータレジスタ（Ｎ）５８を有する。
【００４６】
ログ管理用メモリ５５は、不揮発メモリで構成されており、条件判定回路５６による条件判定処理が実行された際に、その結果をデータとして保存しておく有効フラグ領域５５ａ、メモリ内容を記憶しておくためのアドレス領域として、第１のアドレス領域５５ｂ及び第２のアドレス領域５５ｃを有している。
【００４７】
このように構成された本実施形態のタグ５１において、状態制御シーケンサ５２の処理の一例を、図７のフローチャートを参照しながら説明する。
送受信回路５４がリーダ／ライタ装置ＲＷとデータ通信を行い、リーダ／ライタ装置ＲＷから更新用のＮＥＷデータ（ｎ−ｍ）を受信し、第２のデータレジスタ（Ｎ）５８に保存する（Ｓ７１）。リーダ／ライタ装置ＲＷとの通信は送受信回路５４を用いてＲＦ（電磁誘導）方式で行う。この他に、通信をＵＡＲＴ（非同期シリアル）、またはＩ２Ｃバスを含む接触方式で行うようにしてもよい。
【００４８】
次に、「有効フラグ」が指示するメモリデータ（図５では、第１のアドレス領域５５ｂ（Ａ面）とする）に記憶されているＯＬＤデータ（ｎ）を読み出して第１のデータレジスタ（Ｒ）５７に保持する（Ｓ７２）。次に、ＯＬＤデータ（ｎ）＝０か否かを条件判定回路５６で判定する（Ｓ７３）。「０」の場合はメモリ書き換えを行わずにＮＡＣＫ応答コードをリーダ／ライタ装置ＲＷに返信する。
【００４９】
「０」以外の場合は、第１のデータレジスタ（Ｒ）５７に保持されたＯＬＤデータ（ｎ）と、第２のデータレジスタ（Ｎ）５８に保持されたＮＥＷデータ（ｎ−ｍ）とを条件判定回路５６により条件判定処理する（Ｓ７４）。Ｓ７３、７４は、ログ管理用メモリ５５に保持されている有効データが更新条件に合致するか否かを判定する条件判定処理である。
【００５０】
なお、このタグ５１のメモリ５５の上記第１のアドレス領域５５ｂ、第２のアドレス領域５５ｃには、運用時には用いない専用の発行コマンドで初期値となるデータを予め書き込んでおく。運用時のデータ更新処理については図６のタイミングチャートを用いて後述する。図６は図７のフローチャートを時間軸で表現したチャートである。運用時には図６に示すように、更新データの書込みコマンド「ＣＭＤ」で更新用の「ＩＤ」、「ＡＤＲ」、ＮＥＷデータ（ｎ−ｍ）を、リーダ／ライタ装置ＲＷから送信する。タグ５１は、リーダ／ライタ装置ＲＷから送信された当該更新データ書込みコマンド「ＣＭＤ」に続く「ＩＤ」、「ＡＤＲ」を受信後に、状態制御シーケンサ５２が「ＩＤ」が一致した場合には、「ＡＤＲ」と「有効フラグ」で特定される第１のアドレス領域５５ｂまたは第２のアドレス領域５５ｃのいずれかから更新対象データのＯＬＤデータ（ｎ）を読み出して第１のデータレジスタ（Ｒ）５７に保存する。
【００５１】
ここで指定する「ＩＤ」とは、タグがＲＦＩＤであって、リーダ／ライタ装置ＲＷの発する交番磁界中に複数のタグが存在するような場合に、所定のタグ５１を特定するために使用されるものであり、言わば背番号のことである。タグの個体識別が必要ない１対１通信の場合は、特段「ＩＤ」の指定をする必要がない。
【００５２】
Ｓ７４の条件処理において、条件が成立した場合、メモリ５５の有効フラグ領域５５ａの「有効フラグ」の示す方と反対側のアドレス領域のデータを、最新の「ＮＥＷデータ（ｎ−ｍ）」に書き換えて更新し（Ｓ７５）、その後「有効フラグ」を反転し、有効フラグ領域５５ａに書き込んで保存する（Ｓ７６）。その後、条件判定回路５６は送受信回路５４を介してＡＣＫ（更新終了）をリーダ／ライタ装置ＲＷに返信する。
【００５３】
一方、Ｓ７４の条件処理において、条件が不成立の場合はＳ７８に進み、メモリ５５のデータも「有効フラグ」も書き換えず、送受信回路５４からＮＡＣＫ応答コードをリーダ／ライタ装置ＲＷに返信する。これら一連のタイミング制御は、状態制御シーケンサ５２で行う。前述の説明において、「ｎ」、「ｍ」は整数である。前述のようにして、第１のアドレス領域５５ｂまたは第２のアドレス領域５５ｃにそれぞれ保持されている更新データのうちのどちらかを有効データとして管理する有効データ管理処理を行う。
【００５４】
次に、第１のデータレジスタ（Ｒ）５７及び第２のデータレジスタ（Ｎ）５８を設けた利点について詳細に説明する。
「データレジスタN」を設けた理由としては、次の（ａ）、（ｂ）２つがある。
（ａ）リーダ／ライタ装置ＲＷから送られてくるコマンドCMDからNEWデータの前後には、通信パケット用のヘッダーとなるSOF(Start of Flame)、コマンドCMDからNEWデータまでのデータ値を検算するCRC16データ、フッターとなるEOF(End of Flame)が付加してある。
【００５５】
そして、コマンドとデータが正しいか否かを、受信したCRC16のデータと照合してフッター受信まで正しく完結したことをもってコマンドを実行する。このため、受信したNEWデータを一旦「第２のデータレジスタ（Ｎ）５８」にセーブし、コマンド完結後に処理を実行する回路構成にしている。この理由は、リーダ／ライタ装置ＲＷから送信されるコマンドには、リード、ライト、パスワード照合など色々なコマンドがありそれぞれによって処理が異なるためである。
【００５６】
（ｂ）更新データ書込みコマンドで送られてくるNEWデータはLSB（最下位桁）側からシリアルで送られて来るため、OLDデータと大小判定するにはひっくり返してMSB(最上位桁）側からサーチした方が簡便である。このため、一度NEWデータを全て保存している。
勿論下位桁側から1bitずつ比較して大小判定することもできるので、（ｂ）項は多少分りやすいという程度である。
【００５７】
次に「第２のデータレジスタ（Ｒ）５７」を設けた理由は、安価なタグに搭載したメモリは、１byte単位で読み書きするパラレルインターフェイスになっておりメモリに保存したOLDデータは複数Byteで構成される場合が殆どであり、Byte単位での順次アクセスとなるため、条件判定回路５６に入力する前に読み出したOLDデータを一時的に保存することでタイミング設計を容易にするためである。
【００５８】
しかしながら、リーダ／ライタ装置ＲＷからの更新データ書込みコマンドで送られてくるＮＥＷデータを送受信回路５４からシリアル信号のまま出力し、そのシリアル信号に同期してメモリデータをシリアル信号で出力して条件判定回路５６に入力すれば、リアルタイム処理で条件判定することができるので、第１のデータレジスタ（Ｒ）５７及び第２のデータレジスタ（Ｎ）５８は必ずしも設けなくてもよい。
【００５９】
次に、図８を参照しながら状態制御シーケンサ５２の内部構成の一例を説明する。
図８の例ではＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３、入力ポート８４、出力ポート８５で構成し、入力ポート８４から取り込んだコマンドデコード信号の内容によってＲＯＭ８２に格納したシーケンスプログラムによって出力ポート８５からメモリ５５へのアドレス、リードライト信号、条件判定タイミング信号を出力する。なお、この例ではＣＰＵ８１を紹介したが、ＣＰＵ８１に限らずハードウェアによるシーケンス制御でもよい。
【００６０】
具体的な手順を図６に示すタイミングチャートによって説明する。
送受信回路５４から受信したコマンドデータ列をコマンドデコーダ５３に入力し、更新データ書込みコマンドを検出した場合に状態制御シーケンサ５２を起動する。
【００６１】
図６のデータ更新、条件判定のタイミングにおいて、
（１）条件判定ＮＧの場合は、ログ管理用メモリ５５をＮＥＷデータ（ｎ−ｍ）に更新せず送受信回路５４からＮＡＣＫ応答する。ここでいう条件判定NGとはOLDデータ=0(Ｓ７３)、またはOLDデータ(n)>NEWデータ(n-m)（Ｓ７４)が成立しないことを指す。
（２）条件判定ＯＫの場合は、ログ管理用メモリ５５の有効フラグ領域５５ａの「有効フラグ」が示す方と反対のアドレス領域（図５ではＢ面のメモリ）を「ＮＥＷデータ（ｎ−ｍ）」に書換え後、有効フラグ領域５５ａの「有効フラグ」を保存してからＡＣＫ応答する。ここでいう条件判定OKとはOLDデータ=0(Ｓ７３)が成立せず、かつOLDデータ(n)>NEWデータ(n-m)（Ｓ７４)が成立することを指す。
【００６２】
本実施形態において、更新用のデータと「有効フラグ」を同時ではなく時間的な順番で書き込む点がポイントである。
以上の制御をすることで、車の燃料計のように走行中は減算一方の巻き戻しができない一方向性のデータとして管理することがきる。
【００６３】
本実施形態により、第１の課題でリーダ／ライタ装置ＲＷ側のソフトウェアで行っていた誤書込み防止処理が不要になるとともに、第２の課題についても発行系コマンドが解析されない限り、リサイクル運用時のデータ改竄防止に効果がある。
【００６４】
例えば、更新データが小さい値のみ有効とする条件比較では、データ更新の都度ログメモリは減算方向のみ記録保持されることになる。また、値が０になった場合には減算を停止する仕組みを設けてエラー応答するようにすることでリサイクル回数の管理を行うことができる。
【００６５】
また、不正な業者がより大きなデータに書き戻そうとしても発行コマンドを開示しない限り運用で開示されている書込みコマンドでは大きなデータに書き戻すことはできない。これにより、リサイクル回数を不正に改竄することを防止することができる。
【００６６】
前述した実施形態においては、不揮発メモリに記憶している２種類のデータのどちらが有効であるかを示すために、「有効フラグ」を用いていた。これは、プリンタなどのトナー消耗品の場合、ユーザによる脱着が容易であるため、トナー消耗品に対するアクセスの回数を管理することは困難であるからである。また、データそのものが書き損じがあって壊れているかもしれず、真正値であることは保証されないからである。このため、本実施形態においては「有効フラグ」を設け、同じデータを異なるアドレスに時間差をつけて書き込んでから「有効フラグ」を反転することで、データの書き損じによる悪影響（誤認識によるデータ化け）をなくしている。
【００６７】
しかしながら、図８に示したように、ＣＰＵ８１を搭載したタグ製品ではＲＯＭ８２のソフトウェアで奇数アドレスデータ、偶数アドレスデータそれぞれに、データとともにそのＣＲＣ（巡回冗長検査）値を計算して一緒に書くなどして、読み出した際に真正値であることを保証するようにすることもできる。
【００６８】
この場合は、図６のタイミングチャートで「有効フラグ更新」に該当する箇所を「Ａ面データ更新」に変更する。フラグがない代わりにＡ面、Ｂ面に時間をおいて同じデータとＣＲＣ値をセットで書き込むことで更新値を保証することが可能になる。同じ値を時間をおいて２回書き込むことで、パワー途絶によるデータ破壊があった場合でも片方のデータは保全されているので、読み出し時はＡ面、Ｂ面のＣＲＣ値が合っている方のデータを採用すればよい。通常データが壊れていなければどちらも同じデータ値とＣＲＣ値になっている。これは、いわゆるミラーデータ、バックアップデータの扱いとなる。
【００６９】
なお、本発明には直接関係しないが、専用の発行コマンドについて触れておく。発行コマンドとは、通常運用系とは異なる発行専用装置に搭載されるコマンドであり、リサイクル回数やプリペード課金値などの初期値をメモリに書き込むための専用コマンドである。このため、高いセキュリティ性が求められる場合が多く、発行前に認証を必要としたり、１回しか発行できないようにしたりして、タグのメモリに発行済フラグを設けるなど様々に改竄防止対策がとられることが多い。
【００７０】
図９（ａ）はRWの発行コマンドの一般的なフォーマットである。ここに示すように、発行データの書込みコマンド「ＣＭＤ」で発行用の「ＩＤ」、「ＡＤＲ」、「発行データ」を、リーダ／ライタ装置ＲＷから送信する。タグ５１は、リーダ／ライタ装置ＲＷから送信された当該発行データ書込みコマンド「ＣＭＤ」に続く「ＩＤ」、「ＡＤＲ」を受信後に、状態制御シーケンサ５２が「ＩＤ」が一致した場合には、「ＡＤＲ」とで特定されるメモリ領域に発行データを保存する。
【００７１】
ここで指定する「ＩＤ」とは、タグがＲＦ「ＩＤ」であって、リーダ／ライタ装置ＲＷの発する交番磁界中に複数のタグが存在するような場合に、所定のタグ５１を特定するために使用されるものであり、言わば背番号のことである。タグの個体識別が必要ない１対１通信の場合は、特段「ＩＤ」の指定をする必要がない。
【００７２】
図９（ｂ）は、発行処理手順の一例を示すフローチャートである。
Ｓ９１において、ログデータ書き込みアドレスＡＤＲの受信、発行データの受信が行われると、次に、Ｓ９２に進み、発行済フラグがメモリから読み出される。
【００７３】
次に、Ｓ９３において、新規発行か否かを判断する。新規発行の場合にはＳ９４に進み、発行データを第１のアドレス領域５５ｂ、第２のアドレス領域５５ｃに書き込む。次に、発行済フラグをログ管理用メモリ５５に書き込み、その後、ＡＣＫ（更新終了）応答をリーダ／ライタ装置に行う。
【００７４】
一方、Ｓ９３の判断の結果、新規発行ではない場合には、Ｓ９７に進み、メモリ書き換えなしであるので、ＮＡＣＫ（更新不可）応答をリーダ／ライタ装置に行う。
なお、Ｓ９２、９３、９５の９７の処理は、発行済フラグをメモリに設けた場合にのみ行う処理である。
【００７５】
前述した実施形態では、「消耗品サイクル回数の管理用タグ」として使用した場合について説明したが、本発明は記憶しているデータを厳重に、かつ正確に保護する必要があるタグ（データキャリア）、例えば、プリペイドカードなどにも適用することができる。
【符号の説明】
【００７６】
５１  タグ、５２  状態制御シーケンサ、５３  コマンドデコーダ、５４  送受信回路、５５  ログ管理用メモリ、５５ａ  有効フラグ領域、５５ｂ  第１のアドレス領域、５５ｃ  第２のアドレス領域、５６  条件判定回路、５７  第１のデータレジスタ（Ｒ）、５８  第２のデータレジスタ（Ｎ）
【図１】
2012230560.tif 000003
【図２】
2012230560.tif 000004
【図３】
2012230560.tif 000005
【図４】
2012230560.tif 000006
【図５】
2012230560.tif 000007
【図６】
2012230560.tif 000008
【図７】
2012230560.tif 000009
【図８】
2012230560.tif 000010
【図９】
2012230560.tif 000011