JP4776462B2 - 携帯可能電子装置および携帯可能電子装置の制御方法 - Google Patents

携帯可能電子装置および携帯可能電子装置の制御方法 Download PDF

Info

Publication number
JP4776462B2
JP4776462B2 JP2006197282A JP2006197282A JP4776462B2 JP 4776462 B2 JP4776462 B2 JP 4776462B2 JP 2006197282 A JP2006197282 A JP 2006197282A JP 2006197282 A JP2006197282 A JP 2006197282A JP 4776462 B2 JP4776462 B2 JP 4776462B2
Authority
JP
Japan
Prior art keywords
data
writing
electronic device
portable electronic
written
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.)
Active
Application number
JP2006197282A
Other languages
English (en)
Other versions
JP2008027070A (ja
Inventor
量一 栗山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006197282A priority Critical patent/JP4776462B2/ja
Priority to PCT/JP2007/063935 priority patent/WO2008010450A1/en
Priority to EP07768405A priority patent/EP2041703A1/en
Publication of JP2008027070A publication Critical patent/JP2008027070A/ja
Priority to US12/355,012 priority patent/US20090177921A1/en
Application granted granted Critical
Publication of JP4776462B2 publication Critical patent/JP4776462B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Description

この発明は、たとえば、データの書込みや書換え可能な不揮発性メモリおよびCPUなどの制御素子を有したモジュールを内蔵し、外部から入力されるコマンドに対応した処理を実行するICカードなどの携帯可能電子装置および携帯可能電子装置の制御方法に関する。
近年、ICカードなどの携帯可能電子装置は、様々な用途に利用されている。このようなICカードには、画像データなどのデータ量の大きいデータ(データ長の長いデータ)を記憶することも多い。たとえば、個人用に発行されるICカードには、発行処理時に、所有者の個人情報の1つとして顔画像データなどがICカード内の不揮発性メモリに書込まれることも多い。また、上記のようなICカードでは、不揮発性メモリに1回のみの書込みが可能な領域が設けられていることがある。このような1回のみの書込みが可能な領域には、発行処理時に、上記個人情報などのデータが書込まれる。画像データのようなデータ長の長いデータは、複数回に分けて順次、ICカード処理装置からICカードに送信される。これは、1つのコマンドでデータ長の長いデータを全て送信するのが困難であるからである。たとえば、ICカードでは送受信データが255バイトまでと規定されているものがある。このような場合、上記ICカードでは、順次、受信するデータを、不揮発性メモリに書込んでいく。しかしながら、通信エラー等でデータの書き込みが中断されると、当該ICカードの上記不揮発性メモリには、残りのデータが書込めなくなる。これは、不揮発性メモリにおける1回のみ書込み可能な領域は、全て未書込み状態でないと、データが書き込めないためである。
また、従来のICカードに関する技術として、特開平10−214232号公報には、外部装置から与えられる特殊な初期化命令に応じて、1回のみ書込み可能な領域を未書込み状態にする技術が記載されている。この場合、外部装置では、初期化すべき特定のICカードに対して初期化命令を与える必要がある。このような処理は、初期化すべきICカードを人手で識別し、当該ICカードに初期化命令を与えるための操作を人手で行う必要があると考えられる。
また、従来のICカードに関する別の技術として、特開2002−229744号公報には、データの書込み処理において、バックアップ領域にデータを書込んでおき、データの書込みが中断された場合、書込み識別フラグを参照してバックアップ領域に書込んでおいたデータの書込みを行う技術が提案されている。しかしながら、このような技術では、ICカード内にバックアップ領域を設けたり、バックアップ領域にデータを書込む処理を行ったりする必要がある。
特開平10−214232号公報 特開2002−229744号公報
この発明の一形態は、上記のような問題点を解決するものであり、メモリへの効率的なデータの書き込み処理を行うことができる携帯可能電子装置および携帯可能電子装置の制御方法を提供することを目的とする。
この発明の一形態としての携帯可能電子装置は、データを記憶する第1の記憶手段と、前記第1の記憶手段がデータの書き込みに失敗した状態であるか否かを示す識別情報を記憶する第2の記憶手段と、前記第1の記憶手段へのデータの書込みを要求する命令が与えられた場合、前記識別情報に基づいて前記第1の記憶手段がデータの書込みに失敗した状態であるか否かを判断する判断手段と、この判断手段により前記第1の記憶手段がデータの書込みに失敗した状態でないと判断した場合、前記命令に従って前記第1の記憶手段にデータを書込む処理を行う書込処理手段と、前記判断手段により前記第1の記憶手段がデータの書込みに失敗した状態であると判断した場合、前記第1の記憶手段に書込まれているデータを前記命令で指定されたデータに書き換える処理を行う書換処理手段とを有する。
この発明の携帯可能電子装置の制御方法は、データを記憶するための不揮発性メモリを有する携帯可能電子装置に用いられる方法であって、前記不揮発性メモリにおけるデータ記憶領域へのデータの書込みを要求する命令が与えられた場合、当該データ記憶領域がデータの書き込みに失敗した状態であるか否かを示す識別情報に基づいて当該データ記憶領域がデータの書込みに失敗した状態であるか否かを判断し、この判断により前記データ記憶領域がデータの書込みに失敗した状態でないと判断した場合、前記命令に従って前記データ記憶領域にデータを書込む処理を行い、前記判断により前記データ記憶領域がデータの書込みに失敗した状態であると判断した場合、前記データ記憶領域に書込まれているデータを前記命令で指定されたデータに書き換える処理を行う。
この発明の一形態によれば、効率的なデータの書き込み処理を行うことができる携帯可能電子装置および携帯可能電子装置の制御方法を提供できる。
以下、この発明を実施するための最良の形態について図面を参照しつつ説明する。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカード1およびICカード1を含むICカードシステムの構成例を示すブロック図である。
上記ICカード1は、外部装置としてのICカード処理装置2からの電源供給により動作可能な状態となる。動作可能となったICカード1は、上記ICカード処理装置2からのコマンドに応じて種々の処理を行う。上記ICカード処理装置2は、ICカード1を動作させるための電源を供給するとともに、当該ICカード1に対して種々の処理を要求するコマンドを供給する。
なお、上記ICカード1は、上記ICカード処理装置2と物理的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)であっても良いし、アンテナや無線通信部等により上記ICカード処理装置2と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良い。非接触式ICカードと接触式ICカードとはICカード処理装置2との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、接触式ICカードであっても、非接触式ICカードであっても同様に適用できる。
まず、上記ICカード1の構成例について説明する。
図1に示すように、上記ICカード1は、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、および、通信部(外部インターフェース)15などにより構成される。
また、上記ICカード1は、カード状の本体Cにより形成されている。上記ICカード1を形成するカード状の本体Cには、1つ(あるいは複数)のICチップ1aが埋設される。上記ICチップ1aは、制御素子11、プログラムメモリ12、ワーキングメモリ13、データメモリ14、通信部15などにより構成される。たとえば、当該ICカード1が非接触式ICカードである場合、上記ICチップ1aは、電波を送受信するアンテナに接続された状態でモジュール化される。このモジュールは、カード状の本体内に埋設される。また、当該ICカード1が接触式ICカードである場合、上記ICチップ1aは、外部機器と物理的に接触するコンタクト部に接続された状態でモジュール化される。このモジュールは、上記コンタクト部が外部に露出するように、カード状の本体C内に埋設される。
上記制御素子11は、ICカード1全体の制御を司るものである。上記制御素子11は、上記プログラムメモリ12あるいはデータメモリ14に記憶された制御プログラムおよび制御データなどに基づいて動作する。たとえば、上記制御素子11は、基本的な動作(所定のコマンドに応じた処理)を司る制御プログラムを実行することにより、外部装置から与えられるコマンドに応じた処理を実行する。
上記プログラムメモリ12は、読み出し専用のメモリ(ROM:リードオンリーメモリ)により構成される。上記プログラムメモリ12には、予め基本的な動作(たとえば所定のコマンドに対する処理)を実行するための制御プログラムおよび制御データなどが記憶されている。上記プログラムメモリ12には、予め当該ICカード1の仕様に応じた制御プログラム及び制御データが記憶される。上記プログラムメモリ12に記憶される制御プログラムにより、上記制御素子11は、外部から与えられるコマンドに応じた処理を実現している。
上記ワーキングメモリ13は、揮発性のメモリ(RAM;ランダムアクセスメモリ)により構成される。上記ワーキングメモリ13は、データを一時保管するバッファメモリとして機能する。例えば、上記ワーキングメモリ13には、ICカード処理装置(外部装置)2との通信処理において、送信されるデータあるいは受信したデータなどが一時的に保管される。また、上記ワーキングメモリ13には、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
上記データメモリ(不揮発性メモリ)14は、データの書き込みが可能な不揮発性のメモリである。上記データメモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記データメモリ14には、ISO/IEC7816などで定義された構造のファイルにより各種のデータが記憶される。たとえば、上記データメモリ14には、複数の階層からなる構造(ツリー構造)で管理されるデータファイルとしてのファイル(EF:Elementary File)、および、データフォルダとしてのファイル(DF:Dedicated File)が記憶される。なお、上記DFには、使用目的に応じた処理プログラムおよび運用データなどが記憶される。このため、当該ICカード1が複数の使用目的に使用される場合、上記データメモリ14には、各使用目的に応じた複数のDFが記憶される。
上記通信部15は、外部装置(たとえば、ICカード処理装置2)とのデータ通信を行うものである。たとえば、当該ICカード1が非接触式ICカードである場合、上記通信部15は、受信した電波としての送信データを復調し、復調した信号を上記制御素子11に供給する。また、当該ICカード1が非接触式ICカードである場合、上記通信部15は、上記制御素子11から与えられる送信用のデータを変調し、変調したデータを電波として発信する。また、当該ICカード1が接触式ICカードである場合、上記通信部では、外部装置と物理的に接触するコンタクト部を介してデータの送受信を行う。
また、上記通信部15は、外部装置から供給される電力を受信する。たとえば、非接触式ICカードでは、図示しない電源部が上記通信部15により受信した電波から当該ICカード1の各部を動作させるための電源およびクロックパルスを生成する。また、接触式ICカードでは、図示しないコンタクト部を介して入力される電力およびクロックパルスがICカード1内の各部に供給されるようになっている。
次に、上記ICカード処理装置2について説明する。
上記ICカード処理装置2は、図1に示すように、制御装置21およびカードリーダライタ22を有している。上記制御装置21は、パーソナルコンピュータ(PC)などにより構成される。上記制御装置21は、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インターフェースなどの各種インターフェースなどにより構成される。上記制御装置21では、上記演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、上記制御装置21は、ICカード1とのデータ通信を行う上記カードリーダライタ22とのデータの入出力を行うようになっている。
たとえば、上記制御装置21には、上記ICカード1を用いた各種の処理に応じた制御プログラムが予め記憶されている。上記制御装置21では、上記のような制御プログラムを実行することにより上記ICカード1に各種の処理を実行させる。たとえば、上記ICカード1の発行処理は、発行処理用のプログラムにより実行される。つまり、上記ICカードの発行処理において、上記制御装置21は、発行処理用のプログラムに基づく所定の手順で、発行時に書込むべきデータをデータの書込みを要求するコマンドにより上記カードリーダライタ22を介してICカード1へ供給する。
上記カードリーダライタ22は、上記ICカード1とのデータ通信を行う通信手段として機能する。上記カードリーダライタ22は、上記ICカード1の通信方式に応じた通信方式によるデータ通信を行うものである。つまり、上記カードリーダライタ22を介して制御装置21は、上記ICカード1とのデータ通信を実現している。
上記ICカード1が接触型のICカードである場合、上記カードリーダライタ22は、ICカード1と物理的に接触してデータ通信を行うためのコンタクト部および通信制御部などにより構成される。接触型のICカードとのデータの送受信を行う場合、上記カードリーダライタ22では、上記コンタクト部がICカード1側に設けられているコンタクト部と物理的に接触して各種のデータ通信を行う。また、上記カードリーダライタ22では、ICカード1に物理的に接触しているコンタクト部を介して当該ICカード1に対して電源およびクロックパルスを供給するようになっている。
また、上記ICカード1が非接触型のICカードである場合、上記カードリーダライタ22は、上記ICカード1との無線によるデータ通信を行うためのアンテナおよび通信制御部(変復調回路等)などにより構成される。非接触型のICカード1へデータを送信する場合、上記カードリーダライタ22では、通信制御部により上記制御装置21から与えられる送信データを変調し、変調した信号を電波としてアンテナにより発信する。また、非接触型のICカード1からデータを受信する場合、上記カードリーダライタ22では、アンテナにより受信した電波としての信号を通信制御部により復調し、復調したデータを受信データとして上記制御装置21へ供給する。また、上記カードリーダライタ22では、上記のようなデータの送受信とともに、上記ICカード1を動作させるための電源およびクロックパルスとなる電波をアンテナにより発信するようになっている。
次に、データメモリ14に記憶されるデータの構成について説明する。
上述したように、上記データメモリ14には、データがデータファイル(EF)として記憶される。たとえば、ICカードの標準仕様であるISO7816では、データメモリ14に記憶するデータファイル(EF)の構造として、透過構造(transparent)EF(バイナリEF)、および、レコード構造(record)EF(レコードEF)などが定義されている。
上記透過構造EFには、構造化されていないデータ(バイナリデータ)が記憶される。このため、上記透過構造EFでは、データの自由度が高く、画像データなどのデータ長の大きなデータを記憶するのに適している。このような透過構造EFには、バイナリ系のコマンドでアクセスするようになっている。また、上記レコードEFには、管理情報と実データ(レコードデータ)とを有する所定の形式のレコードがデータとして記憶される。このため、レコードEFでは、データの管理が容易である。このようなレコード構造EFに記憶されているデータ(レコード)には、レコード系のコマンドでアクセスするようになっている。
図2は、データメモリ(不揮発性メモリ)14に記憶されるデータの構成例を示す図である。また、図3は、EF定義情報の構成例を示す図である。
図2に示す構成例では、マスターファイル(MF)、DF(DF1)、EF(EF0001、EF0002、EF0003)が定義されている。MF定義情報100には、MFを定義する情報が記憶される。DF定義情報110には、DF1を定義する情報が記憶される。EF定義情報111、112、113の記憶領域(第2の記憶手段)には、それぞれEF0001、EF0002、EF0003を定義する情報が記憶される。領域(第1の記憶手段)R1、R2、R3は、それぞれEF0001、EF0002、EF0003としてのデータを格納するためのデータ記憶領域(データエリア)である。なお、ここでは、EF0001、EF0002、EF0003は、バイナリEFであり、かつ、1回のみの書込みが許可されるデータファイルであるものとする。
EF定義情報111、112、113は、図3に示すように、「EF ID」、「先頭アドレス」、「サイズ」、「フラグ(書込みNGフラグ)」を有している。上記「EF ID」は、EFを識別するための識別情報である。上記「先頭アドレス」は、データメモリ14において当該EFのデータが記憶されるデータ記憶領域(データエリア)の先頭のアドレスを示す情報である。上記「サイズ」は、当該EFのデータの大きさ(データ長)を示す情報である。
また、「フラグ(書込みNGフラグ)」は、当該EFのデータエリアに対する書込みが失敗している状態か否かを示す情報である。上記「フラグ」は、当該EF(バイナリEF)のデータエリアに対する書込みが失敗した場合に、オフ状態(ここでは「1」)からオン状態(ここでは「0」)に書き換えられる。上記「フラグ」の書き換え手順については、後で詳細に説明する。なお、上記EF定義情報には、上記「フラグ」がオン状態である場合に書込みが失敗した領域(エラーが発生したアドレス)を記憶するようにしても良い。この場合、上記EF定義情報では、データの書込みが失敗した状態であるか否かを「フラグ」により判定できるとともに、データの書込みが失敗した領域(アドレス)を特定することが可能となる。
たとえば、図3に示す例では、EF定義情報111は、「EF ID」が「0001」、「先頭アドレス」が「8000」、「サイズ」が「1000」となっている。これは、図2に示すように、データメモリ14におけるアドレス「8000」から「1000」ビット分の領域、つまり、アドレス「8000−8FFF」がEF0001のデータエリアR1であることを定義することを示している。また、図3に示す例では、EF定義情報111は、「フラグ(書込みNGフラグ)」が「0(NG発生)」となっている。これは、当該EF0001のデータエリアR1へのデータ書込み処理が失敗している状態であることを示している。なお、図2、図3、図4及び図5では、数値が16進数で示されているものとする。
図3に示す例では、EF定義情報112は、「EF ID」が「0002」、「先頭アドレス」が「9000」、「サイズ」が「200」となっている。これは、図2に示すように、データメモリ14におけるアドレス「9000」から「200」ビット分の領域、つまり、アドレス「9000−91FF」がEF0002のデータエリアR2であることを定義することを示している。また、図3に示す例では、EF定義情報112は、「フラグ(書込みNGフラグ)」が「1(NGなし)」となっている。これは、当該EF0002のデータエリアR2へのデータ書込み処理が失敗している状態でないことを示している。
図3に示す例では、EF定義情報113は、「EF ID」が「0003」、「先頭アドレス」が「9200」、「サイズ」が「100」となっている。これは、図2に示すように、データメモリ14におけるアドレス「9200」から「100」ビット分の領域、つまり、アドレス「9200−92FF」がEF0003のデータエリアR3であることを定義することを示している。また、図3に示す例では、EF定義情報113は、「フラグ(書込みNGフラグ)」が「1(NGなし)」となっている。これは、当該EF0003のデータエリアR3へのデータ書込み処理が失敗している状態でないことを示している。
次に、上記ICカード1に供給されるコマンドについて説明する。
上述したように、図1に示すようなシステムにおいて、上記ICカード1は、上記ICカード処理装置2から供給されるコマンドに応じた処理を実行するようになっている。上記ICカード1が実行可能なコマンドには、種々のコマンドがある。たとえば、上記データメモリ14にデータの書込みあるいは読出しを要求するコマンドには、バイナリ系のコマンドとレコード系のコマンドとがある。
上記バイナリ系のコマンドは、主に、バイナリEFに対するデータの書込みあるいは読出しを要求するのに用いられる。上記バイナリ系のコマンドでは、上位装置がEF内のデータへのアクセスをオフセットで指定する。これに対して、上記レコード系のコマンドは、主に、レコードEFに対するデータの書込みあるいは読出しを要求するのに用いられる。上記レコード系のコマンドでは、上位装置は、ICカードに対してレコードEFへのアクセスをレコードを示す情報で指定する。
次に、上記バイナリ系のコマンドの1つとしてのライトバイナリ(WRITE BINARY)コマンドについて説明する。
図4は、ライトバイナリコマンドの構成例を示す図である。また、図5は、図4に示すライトバイナリコマンドに続く、送信データ(コマンド)の例を示す図である。
上記ライトバイナリコマンドは、バイナリEFへのデータの書込を要求するバイナリ系のコマンドである。ライトバイナリコマンドは、図4に示すように、「CLA」部、「INS」部、「P1」部、「P2」部、「Lc」部、「Data」部などの情報から構成されている。上記「CLA」部および上記「INS」部には、コマンドの種類を示す情報が格納される。図4に示す例では、上記「CLA」部および上記「INS」部には、ライトバイナリコマンドであることを示す「00」および「D0」が格納されている。
上記「P1」部および上記「P2」部には、当該コマンドの処理パラメータを示す情報が格納される。また、上記「P1」部には、データの書込み対象となるファイル(EF)を指定する情報(EF IDを示す情報)が格納される。図4に示す例では、上記「P1」部には、「81(16進数)=10000001(2進数)」が格納されている。なお、図4に示す例では、「P1」部における値の2進数の下5桁がEFの識別情報(EF ID)を示すものとする。つまり、図4に示す例では、上記「P1」部では、EFIDとして「00001」を指定している。
また、上記「P2」部には、上記「P1」部で指定されるEFにおけるデータの書込む位置(アドレス)を示す情報としてのオフセット値が格納される。図4に示す例では、上記「P2」部には、上記「P1」部で指定されるEF0001におけるオフセット値を示す情報として「00」が格納されている。すなわち、図4に示す例では、EFIDが「00001」、かつ、オフセット値が「0」である。このため、図4に示すライトバイナリコマンドでは、上記「P1」部および上記「P2」部において、データの書込み開始位置として、EF0001の先頭アドレスを指定している。
また、上記「Lc」部には、バイナリデータとして書込むべきデータ全体の長さを示す情報が格納される。上記「Data」部には、書込むべきデータのうち最初の部分のデータが格納される。「Data」部には、所定の長さまでのデータが格納されるものとする。つまり、上記「Lc」部で指定されている長さのデータが、必ずしも「Data」部に全てが格納されているわけではない。バイナリデータとして書込むべきデータ全体の長さが、「Data」部に格納しきれない長さであれば、上記「Data」には、書込むべきデータのうち最初の部分のデータが格納される。
たとえば、図4に示す例では、「Lc」部にはデータ長として「001000」が指定されている。これは、書込むべきバイナリデータ全体のデータ長が「1000」であることを示している。また、上記「Data」部には、データ長が「F7」のデータが格納されている。ここでは、上記「Data」部に格納可能なデータ長が「F7」であるとする。この場合、図4に示すように、ライトバイナリコマンドの「Data」部には、書込むべきバイナリデータ全体うち先頭からデータ長が「F7」までのデータだけしか格納されていない。
従って、書込むべきバイナリデータのうち残りの「F09」のデータは、当該ライトバイナリコマンドとは、別にICカードに供給する必要がある。このため、ライトバイナリコマンドでは、当該コマンドの「Data」部に格納しきれない残りのデータ(バイナリデータ)を続けてICカードに供給できるようになっている。ここでは、当該ライトバイナリコマンドに続けて、データ長が「FE」のデータが順次送信されるようになっているものとする。図5は、図4に示すライトバイナリコマンドに続いて送信されるべきデータ(コマンド)の例を示す図である。図4に示すライトバイナリコマンドで指定された書込むべきバイナリデータ全体は、図5に示すようなデータ長が「FE」のデータごとに分割される。これらのデータ長が「FE」のデータは、ライトバイナリコマンドに続いて順次送信されるようになっている。
すなわち、ライトバイナリコマンドの「Data」部に格納しきれないデータ長が大きなバイナリデータは、所定のデータ長に基づいて分割され、ライトバイナリコマンドに続いて順次、ICカード処理装置からICカードへ供給されるようになっている。これにより、ICカードでは、ライトバイナリコマンドの「Lc」部で指定されている長さのバイナリデータを、ライトバイナリコマンドの「Data」部、および、ライトバイナリコマンドに続く送信データとして順次受信する。この場合、ICカード1は、受信したデータを書込む処理を行うようになっている。
また、上記のようなライトバイナリコマンドを用いて順次供給される複数のデータは、ワーキングメモリが大容量であれば、全てを一旦ワーキングメモリに蓄積することも可能である。しかしながら、ICカード1等の携帯可能電子装置では、装置自体の物理的な大きさの制限などにより大容量のワーキングメモリを具備することは難しい。このため、本実施の形態では、ICカード1は、受信した一部のデータをデータメモリ14に書込んでから、書込んだデータに続くデータを受信するようになっているものとする。つまり、本実施の形態では、ライトバイナリコマンドを用いて供給される一連のデータのうち少なくとも一部のデータを書込んでから続きのデータを受信する場合を想定するものとする。
次に、上記ICカード1における上記ライトバイナリコマンドに対する処理について説明する。
図6は、ライトバイナリコマンドに対する処理例を説明するためのフローチャートである。なお、図6に示す例では、ライトバイナリコマンドで指定されるデータメモリ14に書込むべきバイナリデータが複数に分割されてICカード1に供給される場合を想定している。また、ここでは、ICカード1の発行処理(データメモリ14における1回のみ書込み可能な領域にデータを書込む処理)を想定するものとする。
まず、上記ICカード処理装置2がICカード1を動作させるための電力およびクロックパルスを当該ICカード1に供給したものとする。上記ICカード処理装置2から電力およびクロックが供給されると、上記ICカード1は、起動処理、および、リセット処理を行う。上記リセット処理が完了すると、上記ICカード1の制御素子11は、上記ICカード処理装置2に対する初期応答として、初期応答データをICカード処理装置2へ送信する(ステップS10)。このような初期応答データを受信したICカード処理装置2では、ICカード1に対してコマンドを送信する。
上記初期応答データを送信したICカード1では、上記ICカード処理装置2からのコマンドの待ちの状態となっている。この状態において上記ICカード処理装置2から送信されたコマンドを上記通信部15により受信すると(ステップS11、YES)、上記ICカード1の制御素子11は、受信したコマンドの種類を判別する。上記ICカード1の制御素子11は、受信したコマンドの「CLA」部及び「INS」部の値に基づいて当該コマンドの種類を判別する。
上記受信したコマンドがライトバイナリコマンド以外のコマンドであると判定した場合(ステップS12、NO)、上記制御素子11は、当該コマンドに応じた処理を実行する(ステップS13)。なお、コマンドの種類と「CLA」部及び「INS」部の値との関係は、たとえば、上記プログラムメモリ12に予め記憶されている。また、各種のコマンドに応じた処理は、予めプログラムメモリ12に記憶されるプログラムに基づいて実行される。
上記受信したコマンドがライトバイナリコマンドであると判定した場合(ステップS12、YES)、上記ICカード1の制御素子11は、当該ライトバイナリコマンドにおける処理パラメータとしての「P1」部の値に基づいてバイナリデータを書込む対象とするデータファイル(バイナリEF)を判断する(ステップS14)。すなわち、上記ICカード1の制御素子11は、受信したライトバイナリコマンドの「P1」部に設定されているEFIDのEFの定義情報をデータメモリ14から検索する。この検索結果として、上記制御素子11は、当該ライトバイナリコマンドで書込み対象として指定されているEFが存在するか否かを判断している。
この判断により対象となるEF(当該ライトバイナリコマンドの「P1」部で指定されたEF)が存在しないと判断した場合(ステップS14、NO)、上記ICカード1の制御素子11は、所定のエラー処理を行う(ステップS22)。この場合、上記制御素子11は、エラー処理として、たとえば、当該ライトバイナリコマンドで指定された書込み対象のEFが存在しない旨を上記ICカード処理装置2に通知する処理などを行う。
上記判断により対象となるEF(当該ライトバイナリコマンドの「P1」部で指定されたEF)が存在すると判断した場合(ステップS14、YES)、上記制御素子11は、対象とするEFに対するフラグ(書込みNGフラグ)がオン(図3に示す例では「0」)となっているか否かを判断する(ステップS15)。すなわち、上記ICカード1の制御素子11は、当該ライトバイナリコマンドの「P1」部に設定されているEFIDのEFの定義情報において、フラグ(書込みNGフラグ)がオン(「0」)かオフ(「1」)かを判定する。この場合、上記制御素子11は、当該ライトバイナリコマンドで書込み対象として指定されているEFのフラグがオンであるか否かを判断している。
この判断により対象となるEF(当該ライトバイナリコマンドの「P1」部で指定されたEF)のフラグがオンであると判断した場合(ステップS15、YES)、上記ICカード1の制御素子11は、後述する書込みエラー状態のEFに対する処理を行う(ステップS31〜S38、又は、ステップS41)。この書込みエラー状態のEFに対する処理については、後で詳細に説明する。
また、上記判断により対象とするEFに対するフラグがオンでないと判断した場合、つまり、対象とするEFに対するフラグがオフである場合、(ステップS15、NO)、上記制御素子11は、対象とするEFの記憶領域(書込み領域)は未書込み状態か否かを判断する(ステップS16)。ここでは、対象とするEFが1回のみの書込みが許可されている領域であるものとする。また、書込み済みであるか否かは、未書き込み状態であるか否かにより判断されるものとする。
すなわち、上記ICカード1の制御素子11は、受信したライトバイナリコマンドの「P1」部に設定されているEFIDのEF定義情報で示されている領域(当該EFのデータ記憶領域)が未書込み状態であるか否かを判断する。ここでは、未書込み状態が全て「FF(全てのビットが「1」)」の値であるものとする。従って、上記ICカード1の制御素子11は、当該EFのデータ記憶領域における全てのビットが「1」の値になっているか否かにより未書込み状態であるか否かを判断する。
この判断により対象とするEFの記憶領域が未書き込み状態でないと判断した場合(ステップS16、NO)、上記制御素子11は、所定のエラー処理を行う(ステップS22)。この場合、上記制御素子11は、エラー処理として、たとえば、当該ライトバイナリコマンドで指定された書込み対象のEFが未書込み状態でない旨を上記ICカード処理装置2に通知する処理などを行う。
なお、ここでは、前段のステップS15で当該EFのフラグがオフであることを確認している。このため、上記ステップS16で未書込み状態でないと判断される場合、当該EFのデータ記憶領域は、データの書込み済み、あるいは、メモリ不良等のハードウエアの不具合などが想定される。したがって、このような場合、上記制御素子11は、当該ライトバイナリコマンドに対する処理が実行できないと判定し、エラー処理を行うようになっている。
また、上記判断により対象とするEFの記憶領域が未書き込み状態であると判断した場合(ステップS16、YES)、上記制御素子11は、当該ライトバイナリコマンドに応じた書込み処理を実行する(ステップS17〜S20)。まず、上記ライトバイナリコマンドを受信した場合、上記制御素子11は、当該ライトバイナリコマンドの「P2」部に格納されているオフセット値で指定される先頭アドレスから当該ライトバイナリコマンドの「Data」部に格納されているデータを書込む処理を行う(ステップS17)。
たとえば、図4に示すようなライトバイナリコマンドを受信した場合、上記制御素子11は、データメモリ14におけるEF0001の先頭アドレス「8000」から「Data」部に格納されているデータ(全データ長「1000」のうちの最初のデータ長「F7」分のデータ)を書込む処理を行う。なお、上記ステップS17の各データの書込み処理においてハードウエア等の不具合により書き込みエラーが発生した場合も、上記制御素子11は、上記対象EFのフラグをオンし、エラー処理を行うようにしても良い。
上記ステップS17の書込み処理が完了すると、上記制御素子11は、全データの受信および書込み処理が完了したか否かを判断する(ステップS18)。この判断は、「Lc」部に格納されているデータ長のデータ(つまり、全データ長分のバイナリデータ)の書込みが完了したか否かにより判断される。
上記判断により全データの受信および書込み処理が完了していないと判断した場合(ステップS18、NO)、上記制御素子11は、受信した分のデータの書込み完了を示すレスポンスをICカード処理装置2に送信し、次のデータ(バイナリデータ)の受信待ち状態となる。上記ICカード処理装置2では、上記ICカード1からの書込み完了を示すレスポンスに応じて次のデータ(バイナリデータ)を送信する処理を行う。
上記データの受信待ち状態においてICカード処理装置2から次のデータが送信されると、上記ICカード1は、上記通信部15により当該データを受信する受信処理を行う(ステップS19)。この受信処理において上記ICカード1の制御素子11は、データが正常に受信されているか否かを判断する処理を行っている(ステップS20)。
上記判断により上記ICカード処理装置2から送信されたデータが正常に受信されたと判断した場合(ステップS20、NO)、当該ICカード1の制御素子11は、上記ステップS17へ戻り、受信したデータの書込み処理を行う。このように、上記ICカード1の制御素子11は、上記ライトバイナリコマンドで指定された全データが受信済みと判断されるまで、上記ステップS17〜S20の処理を繰り返し実行する。これにより、通信エラーなどのエラーが発生しなければ、上記ICカード1には、複数に分割されて供給されるバイナリデータをライトバイナリコマンドで指定された条件に従ってデータメモリ14に書込むことができる。
また、上記判断によりデータの受信処理において通信エラーが発生したと判断した場合、つまり、バイナリデータの受信途中で通信エラーが発生した場合(ステップS20、YES)、上記制御素子11は、対象とするEFのフラグをオン(図3に示す例では「0」)にする(ステップS21)。たとえば、次のデータが所定の許容時間内に受信できない場合、あるいは、パリティチェックなどにより受信したデータが正常でないと判断された場合、上記制御素子11は、通信エラーが発生したものと判断する。また、対象としているEFのフラグをオンにすると、当該ICカード1の制御素子11は、所定のエラー処理を行う(ステップS22)。この場合、上記制御素子11は、たとえば、通信エラーによりバイナリデータの書込み処理が失敗した旨をICカード処理装置2に通知するなどのエラー処理を行う。
また、上記ステップS18において、全データ(ライトバイナリコマンドの「Lc」部で指定されたデータ長のバイナリデータ)の受信および書込み処理が完了したと判断した場合(ステップS18、YES)、上記制御素子11は、上記ライトバイナリコマンドに対する全ての処理が正常に終了したものと判断する。この場合、上記制御素子11は、当該ライトバイナリコマンドで指定されていたEFの定義情報におけるフラグをオフ(図3に示す例では「1」)に設定し(ステップS23)、正常終了処理を行う(ステップS24)。たとえば、上記制御素子11は、上記正常終了処理として、当該ライトバイナリコマンドで指定された全データの書き込みか完了した旨を上記ICカード処理装置2に通知する処理などを行う。
次に、ライトバイナリコマンドで指定された書込み対象のEFのフラグがオンであった場合(書込み対象のEFがエラー状態である場合)の処理例について説明する。
まず、フラグがオンの状態であるEFに対する第1の処理例について説明する。
図7は、ライトバイナリコマンドで書き込み対象に指定されたEFのフラグがオンであった場合に実行する処理(書換処理)としての第1の処理例を説明するためのフローチャートである。つまり、図7に示すフローチャートでは、上述した図6のステップS15で対象とするEFのフラグがオンであると判断された場合に実行する第1の処理例を示している。
上述したように、ライトバイナリコマンドを受信した場合、上記ICカード1の制御素子11は、当該ライトバイナリコマンドの「P1」部で指定されたEFのフラグがオンであるか否かを判断する。この判断により対象となるEF(当該ライトバイナリコマンドの「P1」部で指定されたEF)のフラグがオンであると判断した場合(ステップS15、YES)、上記ICカード1の制御素子11は、書込みエラー状態のEFに対する処理として、図7に示すような書込みエラー状態のEFに対する書換処理(第1の処理例)を行う(ステップS31〜38)。
この書込みエラー状態のEFに対する書換処理では、まず、上記ICカード1の制御素子11は、受信したライトバイナリコマンドの「Data」部に格納されている書き込むべきデータ(受信データ)と書込み対象のEFに書込まれているデータ(書込済みのデータ)とを先頭のアドレスから1バイト単位で比較する(ステップS31)。この比較により、上記ICカード1の制御素子11は、1バイト単位で受信データと書込済みのデータとが一致するか否かを判断する(ステップS32)。
なお、ここでは、受信データと書込済みのデータとを比較する単位は、適宜設定可能である。たとえば、受信データと書込済みのデータとを1ビット単位で比較しても良いし、複数バイト単位で比較するようにしても良い。ただし、ここでは、1バイト単位で受信データと書込済みのデータとを比較するものとする。
また、上記EF定義情報において書込みが失敗した領域(エラーが発生したアドレス)が記憶されていれば、上記判断により受信データと書込済みのデータとが一致しないと判断した場合、上記制御素子11は、不一致となった領域と書込みが失敗した領域とが一致するか否かを確認するようにしても良い。この場合、不一致となった領域が書込み失敗によって誤ったデータが記憶されている領域であるか否かを確認できる。
上記判断により受信データと書込済みのデータとが一致しないと判断した場合(ステップS32、NO)、上記ICカード1の制御素子11は、一致していない各バイトに対して受信データを書込む処理を行う(ステップS33)。つまり、書込み対象のEFのデータ記憶領域において受信データと一致しない領域は、受信データに書き換えられる。ここでは、1バイト単位で受信データと書込済みのデータとを比較している。このため、上記ステップS33では、受信データと一致していないデータが記憶されているバイト単位の領域を受信データに基づいて書き換える。
上記ステップS33により書込み対象とする領域を受信データに書き換えた場合、あるいは、上記判断により受信データと書込済みのデータとが一致すると判断した場合(ステップS31、NO)、上記ICカード1の制御素子11は、全データの受信および書込み処理が完了したか否かを判断する(ステップS34)。この判断は、上記ステップS18と同様に、ライトバイナリコマンドの「Lc」部に格納されているデータ長のデータ(つまり、全データ長分のバイナリデータ)の受信および書込み処理が完了したか否かにより判断される。
上記判断により全データの受信および書込み処理が完了していないと判断した場合(ステップS34、NO)、上記制御素子11は、受信した分のデータの書込み完了を示すレスポンスをICカード処理装置2に送信し、次のデータ(バイナリデータ)の受信待ち状態となる。上記ICカード処理装置2では、上記ICカード1からの書込み完了を示すレスポンスに応じて次のデータ(バイナリデータ)を送信する処理を行う。上記データの受信待ち状態においてICカード処理装置2から次のデータが送信されると、上記ICカード1は、上記ステップS19と同様に、上記通信部15によりICカード処理装置2からのデータを受信する受信処理を行う(ステップS35)。この受信処理において上記ICカード1の制御素子11は、上記ステップS20と同様に、上記ICカード処理装置2からのデータが正常に受信されているか否かを判断する処理を行っている(ステップS36)。
上記判断により上記ICカード処理装置2から送信されたデータが正常に受信されたと判断した場合(ステップS36、NO)、当該ICカード1の制御素子11は、上記ステップS31へ戻る。このように、上記ICカード1の制御素子11は、ライトバイナリコマンドで指定された全データが受信済みと判断されるまで、上記ステップS31〜S36の処理を繰り返し実行する。これにより、通信エラーなどのエラーが発生しなければ、上記ICカード1は、ライトバイナリコマンドに続いて複数に分割されて供給されるバイナリデータをエラー状態(フラグがオンしている状態)のEF(未書込み状態でないEF)に書込むことができる。
また、上記判断によりデータの受信処理において通信エラーが発生したと判断した場合、つまり、バイナリデータの受信途中で通信エラーが発生した場合(ステップS36、YES)、上記制御素子11は、上記ステップS21及びS22と同様に、対象とするEFのフラグをオンし(ステップS37)、所定のエラー処理を行う(ステップS38)。この場合、上記制御素子11は、たとえば、エラー処理として、通信エラーによりエラー状態のEFに対するバイナリデータの書込み処理が失敗した旨をICカード処理装置2に通知するなどの処理を行う。
また、上記ステップS34において、全データ(ライトバイナリコマンドの「Lc」部で指定されたデータ長のバイナリデータ)の受信および書込みが完了したと判断した場合(ステップS34、YES)、上記制御素子11は、上記ライトバイナリコマンドに対する全ての処理が正常に終了したものと判断し、上記ステップS23へ進む。この場合、上記制御素子11は、当該ライトバイナリコマンドで指定されていたEFの定義情報におけるフラグをオフに設定し(ステップS23)、正常終了処理を行う(ステップS24)。
上記のように、第1の処理例では、1回のみの書込みが許可されるデータファイルに対するデータの書込み処理が失敗した場合にオンされるフラグを設定しておき、ライトバイナリコマンドで指定された書込み対象とするEFのフラグがオン状態である場合、上記ICカード1は、当該EFに書込むべき受信データと当該EFのデータ記憶領域に既に書込まれているデータとを比較し、一致しない記憶領域を受信データに基づいて書き換える処理を行うようにしたものである。
これにより、通信エラー等により1回のみの書込みが許可されるデータ領域へのデータの書込みが失敗した場合であっても、再度、当該データの書込み処理を実行することができる。特に、データ長が大きいバイナリデータを書込むために複数回に分けてデータがICカードへ送信される場合、通信エラーが発生しても、再度、当該データの書込みを実行することができる。この結果、カードの発行処理等において、書込みが失敗したICカードを再利用することができる。
次に、フラグがオンの状態であるEFに対する第2の処理例について説明する。
図8は、ライトバイナリコマンドで書き込み対象に指定されたEFのフラグがオンであった場合に実行する第2の処理例を説明するためのフローチャートである。つまり、図8に示すフローチャートでは、上述した図6のステップS15で対象とするEFのフラグがオンであると判断された場合に実行する第2の処理例を示している。
上述したように、ライトバイナリコマンドを受信した場合、上記ICカード1の制御素子11は、当該ライトバイナリコマンドの「P1」部で指定されたEFのフラグがオンであるか否かを判断する。この判断により対象となるEF(当該ライトバイナリコマンドの「P1」部で指定されたEF)のフラグがオンであると判断した場合(ステップS15、YES)、上記ICカード1の制御素子11は、書込みエラー状態のEFに対する処理として、図8に示すような書込みエラー状態のEFを未書込み状態にする処理(第2の処理例)を行う(ステップS41)。
この書込みエラー状態のEFを未書込み状態にする処理では、上記ICカード1の制御素子11は、受信したライトバイナリコマンドで書込み対象として指定されたEFのデータ記憶領域を全てイニシャル値(たとえば、「FF」)に書き換える処理を行う(ステップS41)。ここでは、未書込み状態のEFは、データ記憶領域が全てイニシャル値としての「FF」(つまり、全てのビットが「1」)になっているものとしている。このため、上記ステップS41でデータ記憶領域を全てイニシャル値に書き換えた場合、上述した図6のフローチャートで示す処理が可能となる。従って、上記ステップS41でデータ記憶領域を全てイニシャル値に書き換えた場合、上記ICカード1の制御素子11は、上記ステップS17へ進み、上述したような処理を行う。
上記のように、第2の処理例では、1回のみの書込みが許可されるデータファイルに対するデータの書込み処理が失敗した場合にオンされるフラグを設定しておき、ライトバイナリコマンドで指定された書込み対象とするEFのフラグがオン状態である場合、上記ICカード1の制御素子11は、当該EFのデータ記憶領域を全てイニシャル値に書き換えることにより当該EFを未書込み状態にし、未書込み状態にしたEFに対して受信データを書込むようにしたものである。
これにより、通信エラー等により1回のみの書込みが許可されるデータ領域へのデータの書込みが失敗した場合であっても、再度、当該データの書込み処理を実行することができる。特に、データ長が大きいバイナリデータを書込むために複数回に分けてデータがICカードへ送信される場合、通信エラーが発生しても、再度、当該データの書込みを実行することができる。この結果、カードの発行処理等において、書込みが失敗したICカードを再利用することができる。
また、上記第1の処理例あるいは上記第2の処理例によれば、ICカード処理装置が再度ライトバイナリコマンドを与えれば、当該ICカードは、書込み対象とするEFの状態をフラグにより判別し、その判別した状態に応じたデータの書込み処理を行うことができる。従って、ICカード処理装置が特定のICカードに対して特別なコマンドを与えなくても、当該ICカードでは、通信エラー等により書込みが失敗した1回のみ書込みが可能な領域に対してデータを書込むことができる。また、ICカード内にバッアップ用のメモリなどを設けなくとも、当該ICカードでは、書込み対象とするEFの状態に応じたデータの書込み処理を行うことができる。これらの結果として、本実施の形態によれば、効率的なデータの書込み処理を行うことができるICカードを提供できる。
本実施の形態に係るICカードおよびICカードを含むシステムの構成例を示すブロック図。 データメモリに記憶されるデータの構成例を示す図である。 EF定義情報の構成例を示す図である。 ライトバイナリコマンドの構成例を示す図である。 図4に示すライトバイナリコマンドに続く送信データの例を示す図である。 ライトバイナリコマンドに対する処理例を説明するためのフローチャートである。 ライトバイナリコマンドで書き込み対象に指定されたEFのフラグがオンであった場合に実行される第1の処理例を説明するためのフローチャート。 ライトバイナリコマンドで書き込み対象に指定されたEFのフラグがオンであった場合に実行される第2の処理例を説明するためのフローチャート。
符号の説明
1…ICカード(携帯可能電子装置)、1a…ICチップ、C…本体、2…ICカード処理装置(外部装置)、11…制御素子(判断手段、書込処理手段、書換処理手段、設定手段、確認手段、禁止手段)、12…プログラムメモリ、13…ワーキングメモリ、14…データメモリ(不揮発性メモリ)、15…通信部、111、112、113…EF定義情報(第2の記憶手段)、R1、R2、R3…データ記憶領域(第1の記憶手段)

Claims (15)

  1. データを記憶する第1の記憶手段と、
    前記第1の記憶手段がデータの書き込みに失敗した状態であるか否かを示す識別情報を記憶する第2の記憶手段と、
    前記第1の記憶手段へのデータの書込みを要求する命令が与えられた場合、前記識別情報に基づいて前記第1の記憶手段がデータの書込みに失敗した状態であるか否かを判断する判断手段と、
    この判断手段により前記第1の記憶手段がデータの書込みに失敗した状態でないと判断した場合、前記命令に従って前記第1の記憶手段にデータを書込む処理を行う書込処理手段と、
    前記判断手段により前記第1の記憶手段がデータの書込みに失敗した状態であると判断した場合、前記第1の記憶手段に書込まれているデータを前記命令で指定されたデータに書き換える処理を行う書換処理手段と、
    を有することを特徴とする携帯可能電子装置。
  2. 前記書込処理手段によるデータの書込処理が失敗した場合、前記識別情報を前記第1の記憶手段がデータの書込みに失敗した状態であることを示す情報に設定する第1の設定手段と、
    前記書換処理手段によるデータの書き換え処理が成功した場合、前記識別情報を前記第1の記憶手段がデータの書込みに失敗した状態でないことを示す情報に設定する第2の設定手段と、
    を有することを特徴とする前記請求項1に記載の携帯可能電子装置。
  3. さらに、前記判断手段により前記第1の記憶手段がデータの書込みに失敗した状態でないと判断した場合、前記第1の記憶手段が未書込み状態であるか否かを確認する確認手段と、
    前記判断手段により前記第1の記憶手段がデータの書込みに失敗した状態でないと判断し、かつ、前記確認手段により前記第1の記憶手段が未書込み状態でないと判断された場合、前記第1の記憶手段へのデータの書込みを禁止する禁止手段と、を有し、
    前記書込処理手段は、前記判断手段により前記第1の記憶手段がデータの書込みに失敗した状態でないと判断し、かつ、前記確認手段により前記第1の記憶手段が未書込み状態であると判断された場合に、前記命令に従って前記第1の記憶手段にデータを書込む処理を行う、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  4. 前記判断手段は、複数回に分けて与えられるデータを前記第1の記憶手段へ書込むこと要求する命令が与えられた場合、前記識別情報に基づいて前記第1の記憶手段がデータの書込みに失敗した状態であるか否かを判断し、
    前記書込処理手段は、前記判断手段により前記識別情報が書込みに失敗した状態であることを示していると判断した場合、前記命令により前記第1の記憶手段に書込むことが要求されているデータの一部を受信するごとに、受信した各データを前記第1の記憶手段に書込む処理を行う、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  5. 前記書換処理手段は、前記命令により前記第1の記憶手段に書込むことが要求されている受信データと前記第1の記憶手段における当該受信データを書込むべき領域に書込まれているデータとが一致するか否かを判定し、一致しない領域のデータを前記受信データに書き換える処理を行う、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  6. 前記書換処理手段は、前記命令により前記第1の記憶手段に書込むことが要求されているデータの一部を受信するごとに、受信データと前記第1の記憶手段における当該受信データを書込むべき領域に書込まれているデータとが一致するか否かを判定し、一致しない領域のデータを受信データに書き換える処理を行う、
    ことを特徴とする前記請求項4に記載の携帯可能電子装置。
  7. 前記書換処理手段は、前記第1の記憶手段を未書込み状態に書き換え、未書込み状態に書き換えた前記第1の記憶手段に対して前記書込処理手段によるデータの書込み処理を実行させる、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  8. 前記各手段を具備するモジュールと、
    前記モジュールが埋設された本体と、を有する、
    ことを特徴とする前記請求項1乃至7の何れかに記載の携帯可能電子装置。
  9. データを記憶するための不揮発性メモリを有する携帯可能電子装置の制御方法であって、
    前記不揮発性メモリにおけるデータ記憶領域へのデータの書込みを要求する命令が与えられた場合、当該データ記憶領域がデータの書き込みに失敗した状態であるか否かを示す識別情報に基づいて当該データ記憶領域がデータの書込みに失敗した状態であるか否かを判断し、
    この判断により前記データ記憶領域がデータの書込みに失敗した状態でないと判断した場合、前記命令に従って前記データ記憶領域にデータを書込む処理を行い、
    前記判断により前記データ記憶領域がデータの書込みに失敗した状態であると判断した場合、前記データ記憶領域に書込まれているデータを前記命令で指定されたデータに書き換える処理を行う、
    ことを特徴とする携帯可能電子装置の制御方法。
  10. さらに、前記データの書込処理が失敗した場合、前記識別情報を前記データ記憶領域がデータの書込みに失敗した状態であることを示す情報に設定し、
    前記データの書換え処理が成功した場合、前記識別情報を前記データ記憶領域がデータの書込みに失敗した状態でないことを示す情報に設定する、
    ことを特徴とする前記請求項9に記載の携帯可能電子装置の制御方法。
  11. さらに、前記判断により前記データ記憶領域がデータの書込みに失敗した状態でないと判断した場合、前記データ記憶領域が未書込み状態であるか否かを確認し、
    前記判断により前記データ記憶領域がデータの書込みに失敗した状態でないと判断し、かつ、前記確認により前記データ記憶領域が未書込み状態でないことが確認された場合、前記データ記憶領域へのデータの書込みを禁止し、
    前記書込処理は、前記判断により前記データ記憶領域がデータの書込みに失敗した状態でないと判断し、かつ、前記確認により前記データ記憶領域が未書込み状態であることが確認された場合に、前記命令に従って前記データ記憶領域にデータを書込む処理を行う、
    ことを特徴とする前記請求項9に記載の携帯可能電子装置の制御方法。
  12. 前記判断は、複数回に分けて与えられるデータを前記データ記憶領域へ書込むことを要求する命令が与えられた場合、前記識別情報に基づいて前記データ記憶領域がデータの書込みに失敗した状態であるか否かを判断し、
    前記書込処理は、前記判断により前記識別情報が書込みに失敗した状態であることを示していると判断した場合、前記命令により前記データ記憶領域に書込むことが要求されているデータの一部を受信するごとに、受信した各データを前記データ記憶領域に書込む、
    ことを特徴とする前記請求項9に記載の携帯可能電子装置の制御方法。
  13. 前記書換処理は、前記命令により前記データ記憶領域に書込むことが要求されている受信データと前記データ記憶領域における当該受信データを書込むべき領域に書込まれているデータとが一致するか否かを判定し、一致しない領域のデータを受信データに書き換える、
    ことを特徴とする前記請求項9に記載の携帯可能電子装置の制御方法。
  14. 前記書換処理は、前記命令により前記データ記憶領域に書込むことが要求されているデータの一部を受信データとして受信するごとに、受信データと前記データ記憶領域における当該受信データを書込むべき領域に書込まれているデータとが一致するか否かを判定し、一致しない領域のデータを受信データに書き換える、
    ことを特徴とする前記請求項12に記載の携帯可能電子装置の制御方法。
  15. 前記書換処理は、前記データ記憶領域を未書込み状態に書き換え、未書込み状態に書き換えた前記データ記憶領域に対して前記書込処理によるデータの書込みを行う、
    ことを特徴とする前記請求項9に記載の携帯可能電子装置の制御方法。
JP2006197282A 2006-07-19 2006-07-19 携帯可能電子装置および携帯可能電子装置の制御方法 Active JP4776462B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006197282A JP4776462B2 (ja) 2006-07-19 2006-07-19 携帯可能電子装置および携帯可能電子装置の制御方法
PCT/JP2007/063935 WO2008010450A1 (en) 2006-07-19 2007-07-06 Portable electronic device and control method thereof
EP07768405A EP2041703A1 (en) 2006-07-19 2007-07-06 Portable electronic device and control method thereof
US12/355,012 US20090177921A1 (en) 2006-07-19 2009-01-16 Portable electronic device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006197282A JP4776462B2 (ja) 2006-07-19 2006-07-19 携帯可能電子装置および携帯可能電子装置の制御方法

Publications (2)

Publication Number Publication Date
JP2008027070A JP2008027070A (ja) 2008-02-07
JP4776462B2 true JP4776462B2 (ja) 2011-09-21

Family

ID=38956783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006197282A Active JP4776462B2 (ja) 2006-07-19 2006-07-19 携帯可能電子装置および携帯可能電子装置の制御方法

Country Status (4)

Country Link
US (1) US20090177921A1 (ja)
EP (1) EP2041703A1 (ja)
JP (1) JP4776462B2 (ja)
WO (1) WO2008010450A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4868979B2 (ja) * 2006-08-21 2012-02-01 株式会社東芝 携帯可能電子装置およびicカード
JP5101378B2 (ja) * 2008-04-16 2012-12-19 ソニー株式会社 リーダライタ、通信処理装置、通信処理方法、データ管理システム及び通信システム
JP5724387B2 (ja) * 2011-01-07 2015-05-27 大日本印刷株式会社 携帯装置及び動的データの格納位置変更方法
US8650543B1 (en) * 2011-03-23 2014-02-11 Intuit Inc. Software compatibility checking
FR2983622B1 (fr) * 2011-12-02 2014-01-24 Morpho Ecriture de donnees dans une memoire non volatile de carte a puce

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0820933B2 (ja) * 1990-04-20 1996-03-04 ダイキン工業株式会社 データ書き込み方法およびその装置
JP3613546B2 (ja) * 1999-04-09 2005-01-26 ローム株式会社 データ処理システム、データ処理装置およびデータ処理方法
JP2002123806A (ja) * 2000-10-17 2002-04-26 Fujitsu Ltd Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体
JP2004206543A (ja) * 2002-12-26 2004-07-22 Sony Corp 情報管理システム、情報管理装置、電子機器、情報管理方法、記録媒体、並びにプログラム

Also Published As

Publication number Publication date
EP2041703A1 (en) 2009-04-01
US20090177921A1 (en) 2009-07-09
JP2008027070A (ja) 2008-02-07
WO2008010450A1 (en) 2008-01-24

Similar Documents

Publication Publication Date Title
US9418224B2 (en) Portable electronic device and control method of portable electronic device
EP2642422B1 (en) Ic card and ic card control method
US20100070707A1 (en) Portable electronic device and data processing method in portable electronic device
JP5454933B2 (ja) 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法
JP2010182270A (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法
TWI451248B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
JP4776462B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
CN103218319A (zh) 数据保护方法、存储器控制器与存储器储存装置
JP2009075797A (ja) 携帯可能電子装置
JP2008310596A (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP4868979B2 (ja) 携帯可能電子装置およびicカード
KR100399603B1 (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
US20090083273A1 (en) Portable electronic apparatus and control method for portable electronic apparatus
JP4784138B2 (ja) Icカード、および、icカード用プログラム
JP4836707B2 (ja) 携帯可能電子装置およびicカード
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP4950730B2 (ja) 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード
JP2006107363A (ja) 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
JP6984328B2 (ja) 電子情報記憶媒体、icカード、外部機器、データ書き込み方法及びデータ書き込みプログラム
JP2003030608A (ja) 携帯可能情報記録媒体へのデータアクセス方法
JP5050508B2 (ja) 記憶装置、記憶装置のプログラム及び記憶処理方法
JP6039036B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110607

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110628

R151 Written notification of patent or utility model registration

Ref document number: 4776462

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140708

Year of fee payment: 3