JP2008310596A - 携帯可能電子装置および携帯可能電子装置の制御方法 - Google Patents
携帯可能電子装置および携帯可能電子装置の制御方法 Download PDFInfo
- Publication number
- JP2008310596A JP2008310596A JP2007157871A JP2007157871A JP2008310596A JP 2008310596 A JP2008310596 A JP 2008310596A JP 2007157871 A JP2007157871 A JP 2007157871A JP 2007157871 A JP2007157871 A JP 2007157871A JP 2008310596 A JP2008310596 A JP 2008310596A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- written
- card
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】サイズの大きいデータの書込み処理の途中で通信エラーなどのエラーが発生した場合であっても、未書込み状態の領域を容易に検出でき、効率的に書込み処理を再開することができるICカード1およびICカード処理システムを提供できる。
【解決手段】ICカード1では、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータをデータメモリ14に書込む処理を行う場合、当該データを格納するデータ領域を複数のブロックに分けた各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。上記データ領域における未書込み状態の位置を調査する場合、ICカード1は、当該データ領域における各フラグをチェックすることにより未書込み状態の領域(ブロック)を判定する。
【選択図】図1
【解決手段】ICカード1では、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータをデータメモリ14に書込む処理を行う場合、当該データを格納するデータ領域を複数のブロックに分けた各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。上記データ領域における未書込み状態の位置を調査する場合、ICカード1は、当該データ領域における各フラグをチェックすることにより未書込み状態の領域(ブロック)を判定する。
【選択図】図1
Description
本発明は、例えば、個人情報あるいは取引情報などが記憶されているICチップが内蔵されているICカードあるいはICタグなどの携帯可能電子装置、および、上記携帯可能電子装置の制御方法などに関する。
近年、ICカードなどの携帯可能電子装置は、様々な用途に利用されている。このようなICカードには、使用用途に応じた個人情報や金銭的な取引情報などの種々のデータが記憶される。上記のようなデータは、通常、ICカード内に設けられているEEPROMやフラッシュROMなどの不揮発性メモリに書込まれる。また、ICカードは、外部装置からのコマンドに応じて不揮発性メモリへのデータ書込み処理などを実行するようになっている。不揮発性メモリに書込むべきデータの量が多い場合、上記ICカード内の受信データ格納用のメモリ(受信バッファ)では、全ての書込みデータを保持することができない。このため、ICカードでは、分割された書込みデータを順次受信して不揮発性メモリへの書込み処理を行う。上記のような大量のデータを不揮発性メモリに書込み処理は、長い処理時間を要する。このため、不揮発性メモリへのデータ書込みに要する処理時間を短縮したり、処理を簡略化する技術が要望されている。
従来、受信バッファに格納しきれないような大量のデータを不揮発性メモリに書込み処理としては、ICカードにおいて不揮発性メモリへのデータ書込み処理と外部装置とのデータ通信(書込みデータの受信処理)とを並行して行う技術が提案されている(たとえば、特許文献1)。このような技術では、不揮発性メモリにデータを書込む処理と並行して書込みデータの受信処理を行うことにより、全データの書込み処理に要する時間を短縮することが目的となっている。しかしながら、上記のような技術を適用しても、従来のICカードでは、データの書込み処理が途中でエラーとなってしまった場合、最初から書込み処理を再実行するか、エラーが発生した位置を精査してエラーが発生した位置から書込み処理を行う必要がある。
特開2002−352747号公報
この発明の一形態は、サイズの大きなデータをメモリに書込む処理を効率的に行うことができる携帯可能電子装置および携帯可能電子装置の制御方法を提供することを目的とする。
この発明の一形態としての携帯可能電子装置は、外部装置から供給されるコマンドに応じて動作するものにおいて、複数のブロック領域と各ブロックに対応づけられている複数のフラグ領域とからなるデータ領域を有する記憶手段と、前記外部装置から前記データ領域へのデータの書込みを要求する命令が与えられた場合、各ブロック領域にデータを書込むごとに対応する各フラグ領域にデータが書込み済みであることを示す情報を書込む書込み手段と、前記フラグ領域に格納されている情報に基づいて前記データ領域における各ブロック領域のうちデータが未書込み状態のブロック領域を検出する検出手段と、この検出手段により検出された未書込み状態のブロック領域を示す情報を前記外部装置へ出力する出力手段とを有する。
この発明の一形態としての携帯可能電子装置の制御方法は、外部装置から供給されるコマンドに応じて動作する携帯可能電子装置に用いられる方法であって、前記外部装置から複数のブロック領域と各ブロック領域に対応づけられている複数のフラグ領域とを有するデータ領域へのデータの書込みを要求する命令が与えられた場合、前記データを各ブロック領域に順次書込み、前記各ブロック領域にデータを書込むごとに対応する各フラグ領域にデータが書込み済みであることを示す情報を書込み、前記データ領域への前記データの書込みがエラーとなった場合、前記各フラグ領域に格納されている情報に基づいて前記データ領域における各ブロック領域のうちデータが未書込み状態のブロック領域を検出し、この検出された未書込み状態のブロック領域を示す情報を前記外部装置へ出力する。
この発明の一形態によれば、サイズの大きなデータをメモリに書込む処理を効率的に行うことができる携帯可能電子装置および携帯可能電子装置の制御方法を提供できる。
以下、この発明に係る実施の形態について図面を参照しつつ説明する。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカード1およびICカード1を含むICカードシステムの構成例を示すブロック図である。
上記ICカード1は、外部装置としてのICカード処理装置2からの電源供給により動作可能な状態となる。動作可能となったICカード1は、上記ICカード処理装置2からのコマンドに応じて種々の処理を行う。上記ICカード処理装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1に対して種々の処理を要求するコマンドを供給する。上記ICカード処理装置2がICカード1に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカード1およびICカード1を含むICカードシステムの構成例を示すブロック図である。
上記ICカード1は、外部装置としてのICカード処理装置2からの電源供給により動作可能な状態となる。動作可能となったICカード1は、上記ICカード処理装置2からのコマンドに応じて種々の処理を行う。上記ICカード処理装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1に対して種々の処理を要求するコマンドを供給する。上記ICカード処理装置2がICカード1に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
また、上記ICカード1は、アンテナあるいは無線通信部等により上記ICカード処理装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良し、上記ICカード処理装置2と物理的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)であっても良い。さらには、上記ICカード1は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード(デュアルインターフェースICカード)であっても良い。なお、この実施の形態では、主に、非接触式ICカードを想定して説明する。非接触式ICカードと接触式ICカードとはICカード処理装置2との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、接触式ICカードにも同様に適用できる。
上記ICカード1の構成例について説明する。
図1に示すように、上記ICカード1は、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース(アンテナあるいはコンタクト部)17などを有している。
また、上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。たとえば、図2は、非接触式ICカード全体の構成例を示す図である。図2に示す非接触式ICカードは、カード状の本体Cを有している。この本体C内には、図2に点線で示すように、1つ(あるいは複数)のICチップ1aとインターフェース17としてのアンテナとを有するモジュールMが埋め込まれている。
図1に示すように、上記ICカード1は、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15、電源部16、および、インターフェース(アンテナあるいはコンタクト部)17などを有している。
また、上記ICカード1は、カード状の本体Cにより構成される。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aとインターフェース17とが埋設される。上記ICチップ1aは、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信制御部15および電源部16などを有している。上記ICチップ1aは、上記インターフェース17に接続された状態でモジュール化され、当該ICカード1を形成するカード状の本体C内に埋設される。たとえば、図2は、非接触式ICカード全体の構成例を示す図である。図2に示す非接触式ICカードは、カード状の本体Cを有している。この本体C内には、図2に点線で示すように、1つ(あるいは複数)のICチップ1aとインターフェース17としてのアンテナとを有するモジュールMが埋め込まれている。
上記制御素子11は、ICカード1全体の制御を司るものである。上記制御素子11は、上記プログラムメモリ12あるいはデータメモリ14に記憶されている制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御素子11は、上記プログラムメモリ12に記憶されている基本的な動作を司る制御プログラムを実行することにより、外部装置から与えられるコマンドに応じた処理を実行する。これにより、外部装置から上記データメモリ14へのデータの書込みを要求するコマンドが与えられれば、上記制御素子11は、上記データメモリ14へのデータの書き込み処理を実行する。また、外部装置から上記データメモリ14に記憶されているデータの読み出しを要求するコマンドが与えられれば、上記制御素子11は、上記データメモリ14からのデータの読み出し処理を実行する。さらに、上記制御素子11は、当該ICカード1の用途などに応じてインストールされる処理プログラムを実行することにより、用途に応じた処理を実現するようになっている。
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12には、予め基本動作を司る制御プログラムおよび制御データなどが記憶されている。上記プログラムメモリ12には、予め当該ICカード1の仕様に応じた制御プログラム及び制御データが記憶される。たとえば、上記制御素子11は、上記プログラムメモリ12に記憶される制御プログラムにより外部から与えられるコマンドに応じた処理を実現する。また、上記プログラムメモリ12には、データメモリ14におけるメモリ領域の属性(たとえば、1回書込み領域などを指定する情報)などを指定するための情報なども記憶するようにしても良い。
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、ICカード処理装置(外部装置)2との通信処理において、送受信されるデータが一時的に保管される。また、上記ワーキングメモリ13には、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、当該ICカード1の使用目的に応じた種々の情報が記憶される。
たとえば、当該ICカードの使用目的に応じたアプリケーション(処理プログラムおよび運用データなど)は、各種の用途に応じた使用を可能するための発行処理において、上記データメモリ14に書込まれる。上記のような発行処理において上記データメモリ14に書込むべきアプリケーションデータは、通常、データサイズが大きく、特定の書込みコマンドによって書込み処理が実行される。また、発行処理以外であっても、サイズが大きいデータをデータメモリに書込む場合、特定の書込みコマンドによって書込み処理が実行されれる。
たとえば、当該ICカードの使用目的に応じたアプリケーション(処理プログラムおよび運用データなど)は、各種の用途に応じた使用を可能するための発行処理において、上記データメモリ14に書込まれる。上記のような発行処理において上記データメモリ14に書込むべきアプリケーションデータは、通常、データサイズが大きく、特定の書込みコマンドによって書込み処理が実行される。また、発行処理以外であっても、サイズが大きいデータをデータメモリに書込む場合、特定の書込みコマンドによって書込み処理が実行されれる。
なお、当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のアプリケーションが記憶される。また、当該ICカード1の使用目的に応じたアプリケーションは、上記データメモリ14上に定義された使用目的ごとのプログラムファイルおよびデータファイルなどの各ファイルに記憶される。このようなファイル構造は、たとえば、ISO/IEC7816−4に基づくものである。つまり、上記ICカード1のデータメモリ14には、種々のアプリケーションおよび種々の運用データが記憶可能である。
上記通信制御部15は、上記インターフェース17を介して外部装置(たとえば、ICカード処理装置2)とのデータ通信を制御するものである。たとえば、当該ICカードが非接触型のICカードであれば、外部装置からデータを受信する場合、上記通信制御部15は、インターフェース17としてのアンテナにより受信した電波としての送信データを復調し、復調した信号を上記制御素子11に供給する。また、外部装置へデータを送信する場合、上記通信制御部15は、上記制御素子11から与えられるデータを変調し、変調したデータを上記インターフェース17としてのアンテナにより電波として発信する。なお、接触式ICカードでは、インターフェース17として、アンテナの代わりに、外部装置の接触端子部と物理的・電気的に接触するコンタクト部を介して外部装置とのデータ通信を行う。
上記電源部16は、当該ICカード1の各部を動作させるための上記インターフェース17を介して受信する電力およびクロックパルスを供給する。たとえば、当該ICカードが非接触型のICカードであれば、上記電源部16は、上記インターフェース17としてのアンテナにより受信した電波から電力およびクロックパルスを生成し、当該ICカード内の各部に供給するようになっている。また、上記電源部16からの電力供給により起動した場合、上記制御素子11は、当該ICカード1の処理状態をリセットする処理を行うようになっている。なお、当該ICカード1が接触型のICカードであれば、上記電源部16はインターフェース17を介して外部装置から直接的に供給される電力およびクロックパルスにより各部へ供給するようになっている。
次に、上記ICカード処理装置2について説明する。
上記ICカード処理装置2は、図1に示すように、制御装置21およびカードリーダライタ22を有している。上記制御装置21は、パーソナルコンピュータ(PC)などにより構成される。上記制御装置21は、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置21では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置21は、ICカード1とのデータ通信を行う上記カードリーダライタ22とのデータの入出力を行うようになっている。
上記ICカード処理装置2は、図1に示すように、制御装置21およびカードリーダライタ22を有している。上記制御装置21は、パーソナルコンピュータ(PC)などにより構成される。上記制御装置21は、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置21では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置21は、ICカード1とのデータ通信を行う上記カードリーダライタ22とのデータの入出力を行うようになっている。
たとえば、上記制御装置21には、上記ICカード1を用いた各種の処理に応じた制御プログラムが予め記憶されている。上記制御装置21では、上記のような制御プログラムを実行することにより上記ICカード1を用いた各種の処理を実行する。たとえば、上記ICカード1を用いた各種の処理において、上記制御装置21は、所定のコマンドを所定の手順で供給する。上記制御装置21では、上記のような各コマンドに対するICカード1からの各レスポンス(コマンドに対する処理結果等を示す情報)に基づいて各種の処理を行うようになっている。
上記カードリーダライタ22は、上記ICカード1とのデータ通信を行う通信手段として機能する。上記カードリーダライタ22は、上記ICカード1の通信方式に応じた通信方式によるデータ通信を行うためのものである。つまり、上記カードリーダライタ22を介して制御装置21は、上記ICカード1とのデータ通信を実現している。
上記ICカード1が非接触型のICカードである場合、上記カードリーダライタ22は、上記ICカード1との無線によるデータ通信を行うためのアンテナおよび通信制御部(変復調回路等)などにより構成される。非接触型のICカード1へデータを送信する場合、上記カードリーダライタ22では、通信制御部により上記制御装置21から与えられる送信データを変調し、変調した信号を電波としてアンテナにより発信する。また、非接触型のICカード1からデータを受信する場合、上記カードリーダライタ22では、アンテナにより受信した電波としての信号を通信制御部により復調し、復調したデータを受信データとして上記制御装置21へ供給する。また、上記カードリーダライタ22では、上記のようなデータの送受信とともに、上記ICカード1を動作させるための電源およびクロックパルスとなる電波をアンテナにより発信するようになっている。
また、上記ICカード1が接触型のICカードである場合、上記カードリーダライタ22は、ICカード1と物理的に接触してデータ通信を行うためのコンタクト部および通信制御部などにより構成される。接触型のICカードとのデータの送受信を行う場合、上記カードリーダライタ22では、上記コンタクト部がICカード1側に設けられているコンタクト部と物理的に接触して各種のデータ通信を行う。また、上記カードリーダライタ22では、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に対して電力およびクロックパルスを供給するようになっている。
次に、上記ICカード1内のデータメモリ14へのデータの書込み処理について説明する。
図3は、データメモリ14におけるデータAの書込み領域(データA領域)40の構成例を示している。
図3に示すように、データAの書込み領域40は、所定のデータ長からなる複数の領域(以下、これの領域をブロックと称する)41a、41b、…ごとにフラグ領域42a、42b、…が設けられている。すなわち、データAの書込み領域40は、それぞれにフラグ領域42a、42b、…が設けられている複数のブロック41a、41b、…から構成されている。
図3は、データメモリ14におけるデータAの書込み領域(データA領域)40の構成例を示している。
図3に示すように、データAの書込み領域40は、所定のデータ長からなる複数の領域(以下、これの領域をブロックと称する)41a、41b、…ごとにフラグ領域42a、42b、…が設けられている。すなわち、データAの書込み領域40は、それぞれにフラグ領域42a、42b、…が設けられている複数のブロック41a、41b、…から構成されている。
ここでは、各ブロック(各ブロック領域)は、データメモリ14に一度に書込めるデータ長ごとの領域として設定されているものとする。たとえば、32バイト、64バイト、128バイトごとに、データメモリ14へデータを書込む仕様であれば、各ブロック41a、41b、…としては、32バイト、64バイト、128バイトごとの領域が設けられる。すなわち、当該ICカード1では、所定のデータサイズごとにデータメモリ14における各ブロック41a、41b、…に対して書込み処理を行う。
各フラグ領域42a、42b、…は、それぞれ対応する各ブロック41a、41b、…へのデータの書込み状態を示す情報が格納される。すなわち、各ブロック41a、41b、…へのデータの書込みが完了するごとに、対応する各フラグ領域42a、42b、…には、データ書込みが完了していることを示す情報(図3に示す例では「1」)が格納される。また、各フラグ領域42a、42b、…は、初期状態において、対応する各ブロック41a、41b、…へのデータ書込みが未了であることを示す情報(図3に示す例では「0」)が格納されている。
また、図3に示す例では、データA領域40において、各フラグ領域42a、42b、…は、1番目からn番目までの各ブロック41a、41b、…、41nへのデータの書込みが完了し、n+1番目以降の各ブロック41n+1、…にはデータが書込まれていない状態を示している。たとえば、ICカード1には、各ブロック41a、41b、…に書込むべきデータAを各ブロックのサイズごとに分割したデータがICカード処理装置2から順次供給されるものとする。このような場合、n+1番目のブロック41n+1に書込むべきデータの受信中に通信エラーが発生すると、データA領域40は、図3に示すような状態となる。
次に、上記ICカード1に供給されるコマンドについて説明する。
図1に示すようなシステムにおいて、上記ICカード1は、上記ICカード処理装置2から供給されるコマンドに応じた処理を実行するようになっている。上記ICカード1が実行可能なコマンドには、種々のコマンドがある。たとえば、データの書込みを要求するコマンド(ライトコマンド)あるいはデータの書換えを要求するコマンド(アップデートコマンド)には、一般に、バイナリ系のコマンドとレコード系のコマンドとがある。上記バイナリ系のコマンドは、主に、バイナリのデータ領域(データファイル)に対してデータの書込みあるいは書換えなどを要求するのに用いられる。上記バイナリ系のコマンドでは、データファイルにおけるデータの位置をオフセットで指定する。これに対して、上記レコード系のコマンドは、主に、レコード形式のデータ領域(データファイル)に対してデータの書込みあるいは書換えなどを要求するのに用いられる。上記レコード系のコマンドでは、データファイルへのアクセスをレコードを示す情報で指定する。なお、以下の説明では、主に、バイナリ系のライトコマンドによりサイズが大きいデータをデータメモリ14に書込む処理を想定するものとする。
図1に示すようなシステムにおいて、上記ICカード1は、上記ICカード処理装置2から供給されるコマンドに応じた処理を実行するようになっている。上記ICカード1が実行可能なコマンドには、種々のコマンドがある。たとえば、データの書込みを要求するコマンド(ライトコマンド)あるいはデータの書換えを要求するコマンド(アップデートコマンド)には、一般に、バイナリ系のコマンドとレコード系のコマンドとがある。上記バイナリ系のコマンドは、主に、バイナリのデータ領域(データファイル)に対してデータの書込みあるいは書換えなどを要求するのに用いられる。上記バイナリ系のコマンドでは、データファイルにおけるデータの位置をオフセットで指定する。これに対して、上記レコード系のコマンドは、主に、レコード形式のデータ領域(データファイル)に対してデータの書込みあるいは書換えなどを要求するのに用いられる。上記レコード系のコマンドでは、データファイルへのアクセスをレコードを示す情報で指定する。なお、以下の説明では、主に、バイナリ系のライトコマンドによりサイズが大きいデータをデータメモリ14に書込む処理を想定するものとする。
また、ICカード処理装置2からICカード1に供給されるコマンドは、通常、所定のデータ長で構成される。例えば、各コマンドは、「CLA」部、「INS」部、「P1」部、「P2」部、「Lc」部、「Data」部などから構成される。上記「CLA」部および上記「INS」部には、コマンドの種類を示す情報が格納される。上記「P1」部および上記「P2」部には、当該コマンドの処理パラメータを示す情報が格納される。また、ライトコマンドの「P1」部には、データの書込み対象となるデータファイル(データ領域)を指定する情報(たとえば、図3ではデータA領域を示す情報)が格納される。また、ライトコマンドの「P2」部には、上記「P1」部で指定されるデータ領域におけるデータの書込む位置(アドレス)を示す情報としてのオフセット値(当該データ領域(データファイル)の先頭からのアドレス)が格納される。また、上記「Lc」部には、書込むべきデータ全体の長さを示す情報が格納される。上記「Data」部には、書込むべきデータあるいは書込むべきデータのうちの最初の部分のデータが格納される。ここでは、コマンド全体が所定のデータ長であることを想定しているため、「Data」部には、所定の長さまでのデータが格納される。このため、書込むべきデータ全体の長さが「Data」部に格納しきれない長さであれば、「Data」には、書込むべきデータのうち最初の部分のデータが格納される。
上記のように、1つのライトコマンドに格納しきれないデータ長が大きなデータは、所定のデータ長に基づいて分割され、当該ライトコマンドに続いて順次、ICカード1へ供給されるようになっている。これにより、上記ICカード1では、ライトコマンドで書込みが要求されるデータを順次受信する。このようなライトコマンドを用いて順次供給されるデータは、ICカード1内のバッファとして機能するワーキングメモリ13が大容量でなければ、全データを蓄積することができない。一般的に、ICカード1等の携帯可能電子装置では、装置自体の物理的な大きさの制限などにより大容量のワーキングメモリ13を具備することが難しい。
このため、本実施の形態において、ICカード1は、受信したデータを順次データメモリ14に書込みつつ、書込んだデータに続くデータを順次受信するようになっているものとする。このような処理手順では、データの書込み処理の途中で通信エラー等などが発生した場合、ICカード1のデータメモリ14には、書込み処理中であったデータが途中まで書込まれた状態となる。
たとえば、図3に示す構成例では、データメモリ14におけるデータA領域における各ブロック41a、41b、…へのデータAの書込み状態は、各フラグ領域42a、42b、…に格納されているデータにより示される。言い換えれば、各フラグ領域42a、42b、…をチェックすれば、各ブロック41a、41b、…へのデータAの書込み状況がチェックできるようになっている。これにより、データAの書込みが中断された場合、データA領域全体を読み出して照合するなどの調査を行わなくても、エラーが発生した位置、つまり、データの書込みが完了していない領域を容易に判断することが可能となる。
次に、上記ICカード1におけるデータメモリ14へのデータ書込み処理の手順について説明する。
図4は、上記データメモリ14へのデータ書込み処理の第1の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。
図4は、上記データメモリ14へのデータ書込み処理の第1の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。
まず、上記ICカード処理装置2がICカード1を動作させるための電力およびクロックパルスを当該ICカード1に供給したものとする。上記ICカード処理装置2から電力およびクロックが供給されると、上記ICカード1は、起動処理、および、リセット処理を行う(ステップS11)。上記リセット処理が完了すると、上記ICカード1の制御素子11は、上記ICカード処理装置2に対する初期応答として、初期応答データをICカード処理装置2へ送信する。このような初期応答データを受信したICカード処理装置2では、ICカード1に対してコマンドを送信する。
上記初期応答データを送信したICカード1では、上記ICカード処理装置2からのコマンドの待ちの状態となっている。この状態において上記ICカード処理装置2から送信されたコマンドを上記通信制御部15により受信すると(ステップS12、YES)、上記ICカード1の制御素子11は、受信したコマンドの種類を判別する。たとえば、各コマンドが「CLA」部、「INS」部、「P1」部、「P2」部、「Lc」部、「Data」部で構成される場合、上記ICカード1の制御素子11は、受信したコマンドの「CLA」部及び「INS」部の値に基づいて当該コマンドの種類を判別する。
上記受信したコマンドがデータの書込みを要求するコマンド(ライトコマンド)であると判定した場合(ステップS13、YES)、上記ICカード1の制御素子11は、当該ライトコマンドにおける処理パラメータ(例えば「P1」部及び「P2」部の値)に基づいてデータを書込む対象とするデータファイル(データ領域)および当該データファイルにおける書込み開始位置を判別する。当該コマンドが指定するデータの書込み位置を判別すると、上記制御素子11は、データの書込み位置が未書込み状態か否かを判断する(ステップS14)。すなわち、上記制御素子11は、当該コマンドで指定された書込み位置のブロックが、未書込み状態であるか否か(書込み済みか、未書き込みか)を判断する。指定された書込み位置が未書込み状態であるか否かは、たとえば、指定された書込み位置のブロックに対応するフラグの状態により判断される。
上記判断により指定されたデータの書込み位置が未書込み状態でないと判断した場合(ステップS14、NO)、上記制御素子11は、所定のエラー処理を行う(ステップS15)。この場合のエラー処理では、指定された書込み位置がデータ書込み済みであるためデータが書込みが不可である旨の通知を当該コマンドに対する応答(レスポンス)としてICカード処理装置2へ送信する。これにより、コマンドの送信元であるICカード処理装置2では、指定した領域が書込済みのためエラーとなったことを認識できるようになっている。
また、上記判断により指定されたデータの書込み位置が未書込み状態であると判断した場合(ステップS14、YES)、上記制御素子11は、指定された書込み位置のブロックへのデータの書込み処理を実行する(ステップS16)。この書込み処理を実行する時点では、少なくとも当該ブロックに書込むべきデータがバッファメモリとしてのワーキングメモリ13に格納されているものとする。従って、上記書込み処理では、ワーキングメモリ13に記憶されているデータをデータメモリ14における指定されたデータ領域の各ブロックに順に書込む処理を行う。なお、上記書込み処理においてメモリ不良等のハードウエアの不具合などによりデータの書込みができない場合、上記制御素子11は、その旨をICカード処理装置2へ応答するなどのエラー処理を行う。
上記書込み処理により指定されたデータ領域のブロックに対するデータの書込みが完了すると、上記制御素子11は、当該ブロックに対応するフラグをオン状態とする(ステップS17)。たとえば、図3に示す構成において、ブロック41aに対するデータの書込みが完了すると、上記制御素子11は、初期状態として「0」となっているフラグ領域42aを「1」に書き換える。
上記データの書込み及びフラグのセットが完了すると、上記制御素子11は、ライトコマンドで指定された全データの受信および書込み処理が完了したか否かを判断する(ステップS18)。この判断は、受信したライトコマンドにおけるパラメータで指定されたデータ長(たとえば、当該コマンドの「Lc」部で示される)のデータを指定されたデータファイル(データ領域)に書込んだか否かにより判断される。
上記判断により全データの受信および書込み処理が完了していないと判断した場合(ステップS18、NO)、上記制御素子11は、順次、ライトコマンドに続いてICカード処理装置2から送信される分割された各データを受信し、受信した各データを各ブロックにの書込む処理を行う。また、上記ICカード1の制御素子11は、上記ICカード処理装置2から分割された各データを受信し、受信した各データの各ブロックへの書込みが完了するごとに、各データの書込み完了を示すレスポンスをICカード処理装置2に送信する。これに対して、上記ICカード処理装置2では、ICカード1のレスポンスを確認しつつ、順次データを送信する。
なお、図4に示す例では、説明を簡単にするため、ICカード1は、受信したデータの書込みが完了するごとに、次のデータ(書込んだデータに続くデータ)をICカード処理装置2から受信するようになっている。つまり、図4に示す例では、ICカード処理装置2は、ICカード1からの各データの書込み完了を示すレスポンスに応じて次のデータを送信する処理を行う。ただし、ICカード1における各データの受信処理および書込み処理のタイミングは、これに限定されるものではない。たとえば、上記ICカード1では、上記ICカード1における各ブロックへのデータの書込み処理と並行して分割された各データをICカード処理装置2から受信するようにしても良い。
すなわち、上記ICカード処理装置2から次のデータ(ライトコマンドに続く分割されたデータ)が送信されると、上記ICカード1は、上記通信制御部15により当該データを受信する受信処理を行う(ステップS19)。この受信処理において上記ICカード1の制御素子11は、ICカード処理装置2から送信されたデータが正常に受信されているか否かを判断する処理を行っている(ステップS20)。
上記判断により上記ICカード処理装置2から送信されたデータが正常に受信されたと判断した場合(ステップS20、NO)、当該ICカード1の制御素子11は、上記ステップS16へ戻り、受信した次のデータを指定されたデータ領域における次のブロックに書込む書込み処理を行う。このように、上記ICカード1の制御素子11は、上記ライトコマンドで指定された全データが受信済みと判断されるまで、上記ステップS16〜S20の処理を繰り返し実行する。これにより、通信エラーなどのエラーが発生しなければ、上記ICカード1では、複数に分割されて供給されるデータをライトコマンドで指定された条件に従ってデータメモリ14に書込むことができる。
また、上記判断により上記ICカード処理装置2から送信されたデータの受信処理において通信エラーが発生したと判断した場合、つまり、データの受信途中で通信エラーが発生した場合(ステップS20、YES)、上記制御素子11は、所定のエラー処理を行う(ステップS15)。この場合のエラー処理としては、通信エラーが発生した旨の通知をICカード処理装置2へ送信する処理を行う。たとえば、次のデータが所定の許容時間内に受信できない場合、あるいは、パリティチェックなどにより受信したデータが正常でないと判断された場合、上記制御素子11は、通信エラーが発生したものと判断する。
また、上記ステップS18において、全データ(ライトコマンドの「Lc」部で指定されたデータ長の書込みデータ)の受信および書込み処理が完了したと判断した場合(ステップS18、YES)、上記制御素子11は、ライトコマンドで指定された全データの書込み処理が正常に終了したものと判断する。この場合、上記制御素子11は、当該ライトコマンドで指定されていた全データの書込みが正常終了した旨のレスポンスをICカード処理装置2へ送信する正常終了処理を行う(ステップS21)。
また、上記ICカード処理装置2から書込み要求コマンド以外のコマンドを受信した場合(ステップS13、NO)、上記制御素子11は、各コマンドに応じた処理を行う。ここで、特定のデータ領域における未書込み領域の通知を要求するコマンドを受信した場合(ステップS22、YES)、上記制御素子11は、当該コマンドで指定されたデータ領域における各ブロックに対応する各フラグのチェックを行う(ステップS23)。この各フラグのチェック処理では、指定されたデータ領域において未書き込み状態であることを示している最初のフラグを検出する。
上記各フラグのチェック処理の結果により未書込み状態の最初のフラグが検出されると、上記制御素子11は、当該データ領域において未書込み状態の最初のフラグが対応するブロックが未書込み状態であると判定する。この判定結果に基づいて、上記制御素子11は、指定されたデータ領域における未書込み領域を示す情報をICカード処理装置2へ通知する処理を行う(ステップS24)。この処理では、たとえば、データ領域における未書込み領域を示す情報として、当該データ領域の先頭からの未書込み領域の先頭のアドレス(未書込みのブロックの先頭アドレス)を通知する。これは、ライトコマンドにおいて指定したデータ領域におけるオフセットアドレス(当該データ領域の先頭からの位置)を書込み開始位置として指定できるためである。
すなわち、この第1の処理例において、通信エラーあるいは書込みエラー等によりデータ全体の書込みが完了しなかった場合、つまり、あるデータ領域に対するデータの書込み処理が途中でエラーとなった場合、上記ICカード処理装置2は、上記ICカード1からのエラー通知を受信する。このようなエラー通知を受信した上記ICカード処理装置2では、当該ICカード1に対して当該データの書込みを再度実行するのであれば、当該データ領域における書込みが失敗した位置(つまり、未書込み領域)を示す情報をICカード1に要求する。
言い換えれば、データの書込みが途中でエラーとなった旨の通知を受信したICカード処理装置2は、当該データの書込みをリトライするために、未書込み領域の通知を要求するコマンドをICカード1へ送信する。この未書込み領域の通知を要求するコマンドでは、たとえば、データ領域(データファイル)を指定し、そのデータ領域における未書込み領域の先頭アドレスの通知を要求する。
このようなコマンドに対して、ICカード1では、上記ステップS23及びS24の処理を実行する。つまり、指定データ領域における未書込み領域の通知を要求するコマンドを受信した場合、上記ICカード1は、当該データ領域における各ブロックの各フラグの状態をチェックし、未書込み状態となっている最初のブロックの先頭アドレスを示す情報を上記コマンドに対するレスポンスとしてICカード処理装置2へ送信する。
さらに、上記未書込み領域の通知を要求するコマンドに対するレスポンスとして、上記ICカード1から未書込み状態の先頭アドレスを示す情報を受信すると、上記ICカード処理装置2では、当該データ領域における未書込み状態の位置からデータの書込みを再開させるためのライトコマンドをICカード1へ送信する。この場合、ICカード処理装置2からICカード1へ送信されるライトコマンドでは、ICカード1から通知された未書込み状態の先頭アドレスが書込み開始位置として指定され、当該書込み開始位置から書込まれるべきデータ(例えば、通信エラーとなったデータ以降のデータ)が書込みデータとして指定される。このようなライトコマンドを受信した場合、上記ICカード1では、当該コマンドで指定された位置を書込み開始位置として、上記ステップS13〜21の処理を行う。
上記のように、第1の処理例では、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータをデータメモリ14に書込む場合、ICカード1は、当該データを格納するためのデータ領域を複数のブロックに分けた各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。さらに、特定のデータ領域における未書込み状態の領域の通知を要求するコマンドを受信した場合、上記ICカード1は、各ブロックに対応する各フラグをチェックすることにより未書込み状態の領域(ブロック)を判定し、その判定結果を通知する。これにより、サイズの大きいデータの書込み処理の途中で通信エラーなどのエラーが発生した場合であっても、未書込み状態の領域を容易に検出でき、効率的に書込み処理を再開することができる。
次に、上記データメモリ14へのデータ書込み処理の第2の処理例について説明する。
図5は、上記データメモリ14へのデータ書込み処理の第2の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。
図5は、上記データメモリ14へのデータ書込み処理の第2の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。
図5に示す第2の処理例は、ライトコマンドを受信した場合に、当該ライトコマンドで指定されたデータ領域にデータが書込まれていれば、指定されたデータ領域において未書込み状態の領域をレスポンスとして通知する点が図4に示す第1の処理例と異なる。なお、図5に示すステップS31−S34およびS36−S41は、それぞれ図4に示すステップS11−S14およびS16−S21とほぼ同様であるため、詳細な説明を省略するものとする。
すなわち、上記ICカード処理装置2から受信したライトコマンドで指定されたデータの書込み位置が未書込み状態でないと判断した場合、つまり、上記ICカード処理装置2から受信したライトコマンドで指定されたデータの書込み位置が書込み済みの状態であると判断した場合(ステップS34、NO)、上記制御素子11は、上記ステップS23と同様に、当該ライトコマンドで指定されたデータ領域における各ブロックに対応する各フラグのチェックを行う(ステップS43)。この各フラグのチェック処理では、指定されたデータ領域において未書き込み状態であることを示している最初のフラグを検出する。
上記各フラグのチェック処理の結果により未書込み状態の最初のフラグが検出されると、上記制御素子11は、当該データ領域において未書込み状態の最初のフラグが対応するブロックが未書込み状態であると判定する。この判定結果に基づいて、上記制御素子11は、当該ライトコマンドで指定された書込み位置がデータ書込み済みであるためデータ書込みが不可である旨の通知とともに、当該ライトコマンドで指定されたデータ領域における未書込み領域を示す情報をICカード処理装置2へ通知する処理を行う(ステップS44)。この際、たとえば、データ領域における未書込み領域を示す情報としては、当該データ領域の先頭からの未書込み領域の先頭のアドレス(未書込みのブロックの先頭アドレス)を通知する。
このような通知を受けたICカード処理装置では、ライトコマンドで指定したデータの書込み処理が失敗したことと、当該ライトコマンドで指定したデータ領域における未書込み領域を示す情報とを得る。これにより、上記ICカード処理装置2では、当該データ領域における未書込み状態の位置からデータの書込みを実行させるためのライトコマンドをICカード1へ送信する。このライトコマンドでは、ICカード1から通知された未書込み状態の先頭アドレスが書込み開始位置として指定され、当該書込み開始位置から書込まれるべきデータ(例えば、通信エラーとなったデータ以降のデータ)が書込みデータとして指定される。
このようなライトコマンドを受信した上記ICカード1では、当該コマンドで指定された位置を書込み開始位置として、上記ステップS32〜41の処理を行う。これにより、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータの書込み処理の途中で通信エラーなどのエラーが発生した場合であっても、エラーとなった位置から書込み処理を再開することが可能となる。
上記のように、第2の処理例では、サイズの大きいデータをデータメモリ14に書込む場合、ICカード1は、当該データを格納するためのデータ領域を複数のブロックに分けた各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。あるデータ領域へのデータの書込み処理が途中でエラーとなった状態において、再度、当該データ領域に対するデータの書込みコマンドを受信すると、上記ICカード1は、当該コマンドで指定されたデータ領域における各フラグをチェックすることにより未書き込み状態の領域(ブロック)を検出し、その未書き込み状態の領域を示す情報を通知する。この通知した未書込み状態の領域からのデータの書込みを要求するライトコマンドを受信した場合、上記ICカード1は、当該データ領域における未書込み状態の領域からデータの書込みを実行する。
また、上記ICカード処理装置2では、あるデータ領域へのデータの書込み処理が途中でエラーとなった旨を通知を受けた場合、再度、当該データ領域を指定したデータの書込みコマンドを送信すれば、そのコマンドに対するレスポンスとして、当該データ領域における未書き込み領域を示す情報を得ることができる。このような情報を取得した場合、上記ICカード処理装置2は、当該データ領域に対して未書込み状態の領域からのデータの書込みを要求する。これにより、上記のようなコマンドを受信したICカードでは、未書込み状態の領域(たとえば、通信エラーによりデータが書込めなかった領域)からのデータ書込み処理を再開することが可能となる。
次に、上記データメモリ14へのデータ書込み処理の第3の処理例について説明する。
図6は、上記データメモリ14へのデータ書込み処理の第3の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。また、ここでは、データメモリ14において1回のみデータの書込みを可能するメモリ属性が設定されている領域(以下、1回書込み領域と称する)にデータを書込む処理を想定するものとする。
図6は、上記データメモリ14へのデータ書込み処理の第3の処理例を説明するためのフローチャートである。なお、ここでは、ライトコマンドで指定されるデータメモリ14に書込むべきデータが複数に分割されてICカード1に供給される場合を想定するものとする。また、ここでは、データメモリ14において1回のみデータの書込みを可能するメモリ属性が設定されている領域(以下、1回書込み領域と称する)にデータを書込む処理を想定するものとする。
図6に示す第3の処理例は、書換えコマンド(アップデートコマンド)を受信した場合に、当該書換えコマンドで指定されたデータ領域が1回書込みの領域で、かつ、当該データ領域にデータが書込まれていれば、当該データ領域において未書込み状態の領域を示す情報をレスポンスとして通知する点が図4に示す第1の処理例と異なる。なお、図5に示すステップS51−S61は、それぞれ図4に示すステップS11−S21とほぼ同様であるため、詳細な説明を省略するものとする。
すなわち、上記ICカード処理装置2から1回書込み領域を指定した書換えコマンドを受信した場合(ステップS62、NO)、上記制御素子11は、当該書換えコマンドで指定されたデータ領域(書換え領域)が1回書込み領域であるか否かを判断する(ステップS63)。この判断により指定された書換え領域が1回書込み領域であると判断した場合(ステップS63、YES)、上記制御素子11は、さらに、指定された書換え領域が未書込み状態であるか否かを判断する(ステップS64)。
この判断により指定された書換え領域が書込み済みであると判断した場合(ステップS64、NO)、つまり、書換えコマンドで指定された書換え領域が書込み済みの1回書込み領域である場合、上記制御素子11は、上記ステップS23と同様に、当該書換えコマンドで指定された書換え領域(データ領域)における各ブロックに対応する各フラグのチェックを行う(ステップS65)。この各フラグのチェック処理では、指定されたデータ領域における各ブロックに対応する各フラグのうち未書き込み状態であることを示している最初のフラグを検出する。
上記各フラグのチェック処理の結果により未書込み状態の最初のフラグが検出されると、上記制御素子11は、当該データ領域において未書込み状態の最初のフラグが対応するブロックが未書込み状態であると判定する。この判定結果に基づいて、上記制御素子11は、当該書換えコマンドで指定されたデータの書換えが不可である旨の通知とともに、当該書換えコマンドで指定されたデータ領域における未書込み領域を示す情報をICカード処理装置2へ通知する処理を行う(ステップS66)。この際、たとえば、データ領域における未書込み領域を示す情報としては、当該データ領域の先頭からの未書込み領域の先頭のアドレス(未書込みのブロックの先頭アドレス)を通知する。
このような通知を受けたICカード処理装置2では、書換えコマンドで指定したデータの書換え処理が失敗したことと、当該書換えコマンドで指定したデータ領域における未書込み領域とを示す情報を得る。これにより、上記ICカード処理装置2では、当該データ領域における未書込み状態の位置からデータの書込みを実行させるためのライトコマンドをICカード1へ送信する。このライトコマンドでは、ICカード1から通知された未書込み状態の先頭アドレスが書込み開始位置として指定され、当該書込み開始位置から書込まれるべきデータ(例えば、通信エラーとなったデータ以降のデータ)が書込みデータとして指定される。
このようなライトコマンドを受信した上記ICカード1では、当該コマンドで指定された位置を書込み開始位置として、上記ステップS52〜61の処理を行う。これにより、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータの書込み処理の途中で通信エラーなどのエラーが発生した場合であっても、エラーとなった位置から書込み処理を再開することが可能となる。
上記のように、第3の処理例では、サイズの大きいデータをデータメモリ14における1回書込み領域に書込む行う場合、当該データを格納するためのデータ領域を複数のブロックに分けた各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。あるデータ領域へのデータの書込み処理が途中でエラーとなった状態において、再度、当該データ領域に対するデータの書換えコマンドを受信すると、上記ICカード1は、当該書換えコマンドで指定されたデータ領域において各フラグをチェックすることにより未書き込み状態の領域(ブロック)を検出し、その未書込み状態の領域を示す情報を通知する。この通知した未書込み状態の領域からのデータの書込みを要求するライトコマンドを受信した場合、上記ICカード1は、当該データ領域における未書込み状態の領域からデータの書込みを実行する。
また、ICカード処理装置2では、あるデータ領域へのデータの書込み処理が途中でエラーとなった旨を通知を受けた場合、再度、当該データ領域を指定したデータの書換えコマンドを送信すれば、そのコマンドに対するレスポンスとして、当該データ領域における未書き込み状態の領域を示す情報を得ることができる。このような情報を取得した場合、上記ICカード処理装置2は、当該データ領域に対して未書込み状態の領域からのデータの書込みを要求することができる。このようなコマンドを受信したICカードでは、未書込み状態の領域(たとえば、通信エラーによりデータが書込めなかった領域)からのデータ書込み処理を再開することが可能となる。
上記のように、本実施の形態に係るICカード1は、一度にバッファメモリとしてのワーキングメモリ13に格納しきれないようなサイズの大きいデータをデータメモリ14に書込む場合、当該データを格納するためのデータ領域を複数のブロックに分けて各ブロックの書込み処理が完了するごとに各ブロックに対応づけて設けられている各フラグをセットする。上記データ領域における未書込み状態の位置を調査する場合、ICカード1は、当該データ領域における各フラグをチェックすることにより未書込み状態の領域(ブロック)を判定する。これにより、サイズの大きいデータの書込み処理の途中で通信エラーなどのエラーが発生した場合であっても、未書込み状態の領域を容易に検出でき、効率的に書込み処理を再開することができる。
C…本体、M…モジュール、1…ICカード、1a…ICチップ、2…ICカード処理装置、11…制御素子、12…プログラムメモリ、13…ワーキングメモリ、14…データメモリ、15…通信制御部、16…電源部、17…インターフェース、21…制御装置、22…カードリーダライタ、40…データA領域(データ領域、データファイル、記憶手段)、41(41a、41b、…、41n、…)…ブロック領域(ブロック)、42(42a、42b、…、42n、…)…フラグ領域(フラグ)
Claims (9)
- 外部装置から供給されるコマンドに応じて動作する携帯可能電子装置において、
複数のブロック領域と各ブロックに対応づけられている複数のフラグ領域とからなるデータ領域を有する記憶手段と、
前記外部装置から前記データ領域へのデータの書込みを要求する命令が与えられた場合、各ブロック領域にデータを書込むごとに対応する各フラグ領域にデータが書込み済みであることを示す情報を書込む書込み手段と、
前記フラグ領域に格納されている情報に基づいて前記データ領域における各ブロック領域のうちデータが未書込み状態のブロック領域を検出する検出手段と、
この検出手段により検出された未書込み状態のブロック領域を示す情報を前記外部装置へ出力する出力手段と、
を有することを特徴とする携帯可能電子装置。 - さらに、前記外部装置から前記データ領域においてデータが未書込み状態の領域を示す情報を要求する命令が与えられた場合、前記検出手段により未書き込み状態のブロック領域を検出し、前記出力手段により前記検出手段で検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力する制御手段を有する、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。 - さらに、前記外部装置から前記データ領域へのデータの書込みを要求する命令が与えられた場合、前記データ領域にデータが書込まれているか否かを判断する判断手段と、
この判断手段により前記データ領域にデータが書込まれていると判断した場合、前記検出手段により未書き込み状態のブロック領域を検出し、前記出力手段により前記検出手段で検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力する制御手段と、を有し、
前記書込み手段は、前記判断手段により前記データ領域にデータが書込まれていないと判断した場合、各ブロック領域にデータを書込むごとに対応する各フラグ領域にデータが書込み済みであることを示す情報を書込む、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。 - さらに、前記外部装置から前記データ領域に対するデータの書換えを要求する命令が与えられた場合、前記データ領域にデータが書込まれているか否かを判断する判断手段と、
この判断手段により前記データ領域にデータが書込まれていると判断した場合、前記検出手段により未書き込み状態のブロック領域を検出し、前記出力手段により前記検出手段で検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力する制御手段と、を有する、
ことを特徴とする前記請求項1に記載の携帯可能電子装置。 - 前記出力手段は、前記検出手段により検出された未書込み状態のブロック領域と書込み済みのブロック領域との境界位置を示す情報を前記データ領域における未書込み領域の先頭位置として出力する、
ことを特徴とする前記請求項1乃至4に記載の携帯可能電子装置。 - 外部装置から供給されるコマンドに応じて動作する携帯可能電子装置に用いられる制御方法であって、
前記外部装置から複数のブロック領域と各ブロック領域に対応づけられている複数のフラグ領域とを有するデータ領域へのデータの書込みを要求する命令が与えられた場合、前記データを各ブロック領域に順次書込み、
前記各ブロック領域にデータを書込むごとに対応する各フラグ領域にデータが書込み済みであることを示す情報を書込み、
前記データ領域への前記データの書込みがエラーとなった場合、前記各フラグ領域に格納されている情報に基づいて前記データ領域における各ブロック領域のうちデータが未書込み状態のブロック領域を検出し、
この検出された未書込み状態のブロック領域を示す情報を前記外部装置へ出力する、
ことを特徴とする携帯可能電子装置の制御方法。 - さらに、前記外部装置から前記データ領域においてデータが未書込み状態の領域を示す情報を要求する命令が与えられた場合、前記検出により未書き込み状態のブロック領域を検出し、前記検出により検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力する、
ことを特徴とする前記請求項6に記載の携帯可能電子装置の制御方法。 - さらに、前記外部装置から前記データ領域へのデータの書込みを要求する命令が与えられた場合、前記データ領域にデータが書込まれているか否かを判断し、
この判断により前記データ領域にデータが書込まれていると判断した場合、前記検出により前記データ領域における未書き込み状態のブロック領域を検出し、前記検出により検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力し、
前記各ブロック領域への書込みは、前記判断により前記データ領域にデータが書込まれていないと判断した場合、前記データを各ブロック領域に書込む、
ことを特徴とする前記請求項6に記載の携帯可能電子装置の制御方法。 - さらに、前記外部装置から前記データ領域に対するデータの書換えを要求する命令が与えられた場合、前記データ領域にデータが書込まれているか否かを判断し、
この判断により前記データ領域にデータが書込まれていると判断した場合、前記検出により前記データ領域における未書き込み状態のブロック領域を検出し、前記検出により検出した未書き込み状態のブロック領域を示す情報を前記外部装置へ出力する、
ことを特徴とする前記請求項6に記載の携帯可能電子装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007157871A JP2008310596A (ja) | 2007-06-14 | 2007-06-14 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007157871A JP2008310596A (ja) | 2007-06-14 | 2007-06-14 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008310596A true JP2008310596A (ja) | 2008-12-25 |
Family
ID=40238138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007157871A Pending JP2008310596A (ja) | 2007-06-14 | 2007-06-14 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008310596A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049389A (ja) * | 2016-09-20 | 2018-03-29 | 凸版印刷株式会社 | 記憶媒体装置及びプログラム |
JP2019079349A (ja) * | 2017-10-25 | 2019-05-23 | 大日本印刷株式会社 | Icカードおよびターミナル装置 |
WO2019159715A1 (ja) * | 2018-02-16 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | 車両制御装置およびプログラム更新システム |
JP7468754B1 (ja) | 2023-06-01 | 2024-04-16 | 大日本印刷株式会社 | 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム |
-
2007
- 2007-06-14 JP JP2007157871A patent/JP2008310596A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049389A (ja) * | 2016-09-20 | 2018-03-29 | 凸版印刷株式会社 | 記憶媒体装置及びプログラム |
JP2019079349A (ja) * | 2017-10-25 | 2019-05-23 | 大日本印刷株式会社 | Icカードおよびターミナル装置 |
WO2019159715A1 (ja) * | 2018-02-16 | 2019-08-22 | 日立オートモティブシステムズ株式会社 | 車両制御装置およびプログラム更新システム |
CN111684416A (zh) * | 2018-02-16 | 2020-09-18 | 日立汽车***株式会社 | 车辆控制装置及程序更新*** |
JPWO2019159715A1 (ja) * | 2018-02-16 | 2020-12-03 | 日立オートモティブシステムズ株式会社 | 車両制御装置およびプログラム更新システム |
JP7044859B2 (ja) | 2018-02-16 | 2022-03-30 | 日立Astemo株式会社 | 車両制御装置およびプログラム更新システム |
US11449329B2 (en) | 2018-02-16 | 2022-09-20 | Hitachi Astemo, Ltd. | Vehicle control device and program update system |
CN111684416B (zh) * | 2018-02-16 | 2023-09-29 | 日立安斯泰莫株式会社 | 车辆控制装置及程序更新*** |
JP7468754B1 (ja) | 2023-06-01 | 2024-04-16 | 大日本印刷株式会社 | 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050289291A1 (en) | Mobile electronic equipment | |
JP4896837B2 (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
KR101783526B1 (ko) | Ic 카드, 전자 장치 및 휴대 가능 전자 장치 | |
JP2008310596A (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
JP4776462B2 (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
US20120234926A1 (en) | Portable electronic apparatus | |
JP6233134B2 (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
US10461971B2 (en) | IC card, portable electronic device, program, processing apparatus, and processing system | |
KR101530479B1 (ko) | Ic 카드 및 휴대 가능 전자 장치 | |
JP4868979B2 (ja) | 携帯可能電子装置およびicカード | |
JP2006293706A (ja) | アプリケーションの更新機能を有するマルチアプリケーションicカード | |
JP5341947B2 (ja) | Icカード、icカードの制御方法、および携帯可能電子装置の制御方法 | |
JP4965909B2 (ja) | Icカード | |
JP6325394B2 (ja) | Icカード、携帯可能電子装置、及び、icカード処理装置 | |
JP2004185419A (ja) | 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法 | |
JP2014059806A (ja) | Icカード、携帯可能電子装置、及びicカード処理装置 | |
JP7433886B2 (ja) | Icカード及びicカードの制御プログラム | |
JP5038918B2 (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
JP4357327B2 (ja) | 非接触式icカードシステム | |
JP2008305263A (ja) | 不揮発性半導体記憶装置及びメモリ管理方法 | |
JP2017142655A (ja) | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム | |
JP6281302B2 (ja) | 情報処理装置、icカード、及びデータ処理方法 | |
JP2005338924A (ja) | 携帯可能電子装置に用いられる不揮発性メモリと携帯可能電子装置 | |
JP2009075816A (ja) | 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法 | |
JP2008310597A (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 |