(57)【要約】【課題】  不揮発性メモリ１４上の一部の記憶領域においてデータの書込みエラーが発生しても、不揮発性メモリ１４全体が使用不能となったり、当該不揮発性メモリ１４を具備したＩＣカードＣの使用に不具合が生じたりすることを防止できる。【解決手段】  ＩＣカードＣに用いられる不揮発性メモリ１４において、予め書換え頻度の高いデータの記憶領域に対して代替領域を用意しておき、上記記憶領域へのデータの書込みエラーが発生した場合には当該データを記録する領域を代替領域に変更して記録するようにしたものである。【選択図】      図１
2005338924.tif 000002
【特許請求の範囲】
【請求項１】
携帯可能電子装置に用いられる不揮発性メモリにおいて、
特定のデータを記録するデータ記憶領域と、
前記データ記憶領域の代わりに前記特定のデータを記録する前記データ記憶領域の代替領域と、
前記データ記憶領域あるいは前記代替領域のどちらの領域が前記特定のデータを記録する領域として有効であるかを示す識別情報を記録する識別情報記憶領域と、
を具備することを特徴とする携帯可能電子装置に用いられる不揮発性メモリ。
【請求項２】
前記識別情報記憶領域には、前記識別情報として、前記データ記憶領域が使用中であるか使用禁止であるかを示す情報、および、前記代替領域が使用中であるか未使用であるかを示す情報が記録される、
ことを特徴とする前記請求項１に記載の携帯可能電子装置に用いられる不揮発性メモリ。
【請求項３】
前記特定のデータを記録する領域を前記データ記憶領域から前記代替領域に移行する場合、前記識別情報記憶領域に記録されている識別情報は、前記データ記憶領域が使用禁止に書き換えられるとともに、前記代替領域が使用中に書き換えられる、
ことを特徴とする前記請求項２に記載の携帯可能電子装置に用いられる不揮発性メモリ。
【請求項４】
携帯可能電子装置に用いられる不揮発性メモリにおいて、
特定のデータファイルを記録する記憶領域を示す記憶領域指定情報と、前記記憶領域の代わりに前記特定のデータファイルを記録する代替領域を示す代替領域指定情報と、これらの領域のうちどの領域が当該データファイルを記録する記憶領域として有効であるを示す識別情報とが記憶される定義情報記憶領域と、
前記記憶領域指定情報により指定される記憶領域と前記代替領域指定情報により指定される代替領域とを有するデータ記憶領域と、
を具備することを特徴とする携帯可能電子装置に用いられる不揮発性メモリ。
【請求項５】
前記定義情報記憶領域には、識別情報として、前記記憶領域指定情報により指定される記憶領域が使用中であるか使用禁止であるかを示す情報、および、前記代替領域指定情報により指定される代替領域が使用中であるか未使用であるかを示す情報が記録される、
ことを特徴とする前記請求項４に記載の携帯可能電子装置に用いられる不揮発性メモリ。
【請求項６】
前記特定のデータファイルを記録する領域を前記記憶領域から前記代替領域に移行する場合、前記定義情報記憶領域に記録されている前記識別情報は、前記記憶領域が使用禁止に書き換えられるとともに前記代替領域が使用中に書き換えられる、
ことを特徴とする前記請求項５に記載の携帯可能電子装置に用いられる不揮発性メモリ。
【請求項７】
不揮発性メモリを具備する携帯可能電子装置において、
前記不揮発性メモリへ書き込むべきデータの記憶領域を判断する第１の判断手段と、
この第１の判断手段により判断した前記不揮発性メモリ上の記憶領域にデータを書き込む書込手段と、
この書込手段により前記不揮発性メモリの前記記憶領域に書き込んだデータを読み出す読出手段と、
前記読出手段にて読み出したデータと前記書込手段により書き込むべきデータとに基づいて前記不揮発性メモリの前記記憶領域へのデータの書込みエラーが発生したか否かを判断する第２の判断手段と、
この第２の判断手段により前記記憶領域へのデータの書込みエラーが発生したと判断した場合、前記書込手段により書き込みを行った前記不揮発性メモリの前記記憶領域を使用禁止とするとともに、当該データを記憶する領域を前記不揮発性メモリの前記記憶領域に対する代替領域に移行する移行手段と、
を具備することを特徴とする携帯可能電子装置。
【請求項８】
前記移行手段は、前記記憶領域の状態を示す識別情報を使用禁止に書き換えるとともに、前記代替領域の状態を示す識別情報を使用中に書き換える、
ことを特徴とする前記請求項７に記載の携帯可能電子装置。
【請求項９】
さらに、前記読出手段にて読み出したデータと前記書込手段により書き込むべきデータとが一致しない場合に、前記書込手段による当該データの書き込みと前記読出手段による読み出しを再度実行する再実行手段を有し、
前記第２の判断手段は、前記再実行手段により前記書込手段及び前記読出手段による処理を再実行した回数が所定の制限回数以上である場合に、前記記憶領域へのデータの書込みエラーが発生したと判断する、
ことを特徴とする前記請求項７に記載の携帯可能電子装置。
【請求項１０】
さらに、前記読出手段にて読み出したデータと前記書込手段により書き込むべきデータとが一致しない場合に、前記書込手段による当該データの書き込みと前記読出手段による読み出しを再度実行する再実行手段と、
前記第２の判断手段により前記不揮発性メモリ上の前記記憶領域へのデータの書込みエラーが発生したと判断した場合に、当該記憶領域の代替領域が前記不揮発性メモリ上に有るか否かを判断する第３の判断手段とを有し、
前記移行手段は、前記第３の判断手段により代替領域があると判断した場合に、前記書込手段により書き込みを行った記憶領域を使用禁止とするとともに、当該データを記憶する領域を前記記憶領域の代替領域に移行する、
ことを特徴とする前記請求項７に記載の携帯可能電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、キャッシュカードやクレジットカードなどの種々の用途に利用されるＩＣカードなどの携帯可能電子装置、及び携帯可能電子装置に用いられる不揮発性メモリに関する。
【背景技術】
【０００２】
従来、キャッシュカードやクレジットカード等として利用される携帯可能電子装置としてのＩＣカードは、カード状の筐体内に、ＣＰＵ、不揮発性メモリ、プログラムメモリ、作業用メモリ、および有線若しくは無線通信による外部機器との通信部などの機能を実現するためのＬＳＩチップを有している。上記のようなＩＣカードに用いられる不揮発性メモリは、記憶素子としてＥＥＰＲＯＭやフラッシュメモリなどから構成されている。このような構成の不揮発性メモリでは、書き込み（書き換え）回数に数万回〜数十万回という制限（寿命）がある。
【０００３】
しかしながら、ＩＣカードの使用目的や使用頻度によっては、不揮発性メモリ上の特定のデータ（所定のメモリ領域に書き込まれるデータ）が頻繁に書き換えられることがある。このような場合、上記したような不揮発性メモリの書き換え回数に対する制限は、不揮発性メモリ上の頻繁に書き換えられる特定のデータに対しては十分に大きいものとは言い難い。さらに、ＩＣカードの不揮発性メモリ上において書き込みエラーが発生した場合、当該データが失われてＩＣカード自体が使用できなくなってしまうことがあるという問題がある。このような不揮発性メモリの寿命を延ばす技術としては、特開２００２−２７８８５０号公報（特許文献１）あるいは特開２００３−２０３０１６号公報（特許文献２）などが提案されている。
【０００４】
例えば、上記特許文献１では、書き換え回数に制限のある不揮発性メモリ上に複数のデータ書き込み領域を確保し、更にどの書き込み領域を使用しているかを示すポインタ領域を設け、データの書き換えが発生する毎にデータを実際に書き込む領域を変更（ローテーション）すると共にどの書き込み領域に書き込んだかをポインタ領域に記録することによって特定の不揮発性メモリ領域に対する書き換え回数を減らす技術について記載されている。
【０００５】
しかしながら、上記特許文献１に記載されている技術では、ポインタ領域がデータ書き込み領域と同じ不揮発性メモリ上にあるため、データ書き込み領域の書き換え回数が減ってもポインタ領域の書き換えはデータ書き換えの都度実行されるため、ポインタ領域の書き換え回数がデータ書き込み領域よりも先に制限回数に達してしまうという問題点がある。
【０００６】
また、上記特許文献２では、複数の単位領域（ブロック）を有するフラッシュメモリのデータを書き換える際、それまでのデータを上書きせず、未使用かつ書き換え回数が少ないブロックを選択してそこに新しいデータを書き込む技術について記載されている。
【０００７】
しかしながら、上記特許文献２に記載されている技術では、フラッシュメモリのブロック単位でデータ書き込みを管理しているために、使用されない無駄なメモリ領域が発生し易く、限られたメモリ容量しか持たないＩＣカード用のＬＳＩに設ける不揮発性メモリとしては不向きであるという問題点がある。
【０００８】
さらに、上記特許文献１及び上記特許文献２では両者ともに、データ更新の都度、ポインタ領域等への書き込みが新たに発生するために、書き込み速度の遅い不揮発性メモリでは処理時間が増大してしまうという問題点もある。
【特許文献１】特開２００２−２７８８５０号公報
【特許文献２】特開２００３−２０３０１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上記のように、従来のＩＣカードでは、不揮発性メモリ上の同一の記憶領域へのデータの書き込み（書き換え）回数に寿命があり、頻繁に書き換えられるデータに対して、書き込みエラーが発生した場合は当該データが失われてＩＣカード自体が使用できなくなってしまうことがあるという問題点がある。さらに、従来の技術では、不揮発性メモリの寿命を延ばすために、データの書込処理ごとに通常の書込処理以外の余分なプログラム上の処理を行う必要があるため、不揮発性メモリへのデータの書込処理に要する処理時間が増えて処理自体が遅くなってしまうという問題点がある。
【００１０】
この発明は、上記のような問題点を解決するものであり、不揮発性メモリへのデータ書き換えの都度余分な処理や余分な不揮発性メモリへの書込みを行うことなく、不揮発性メモリの一部の記憶領域でデータが書き換えられなくなってもそのデータを保持することができる携帯可能電子装置及び携帯可能電子装置に用いられる不揮発性メモリを提供することを目的とする。
【課題を解決するための手段】
【００１１】
この発明の携帯可能電子装置に用いられる不揮発性メモリは、特定のデータを記録するデータ記憶領域と、前記データ記憶領域の代わりに前記特定のデータを記録する前記データ記憶領域の代替領域と、前記データ記憶領域あるいは前記代替領域のどちらの領域が前記特定のデータを記録する領域として有効であるかを示す識別情報を記録する識別情報記憶領域とを有する。
【００１２】
この発明の携帯可能電子装置に用いられる不揮発性メモリは、特定のデータファイルを記録する記憶領域を示す記憶領域指定情報と、前記記憶領域の代わりに前記特定のデータファイルを記録する代替領域を示す代替領域指定情報と、これらの領域のうちどの領域が当該データファイルを記録する記憶領域として有効であるを示す識別情報とが記憶される定義情報記憶領域と、前記記憶領域指定情報により指定される記憶領域と前記代替領域指定情報により指定される代替領域とを有するデータ記憶領域とを有する。
【００１３】
この発明の携帯可能電子装置は、不揮発性メモリを具備するものにおいて、前記不揮発性メモリに書き込むべきデータの記憶領域を判断する第１の判断手段と、この第１の判断手段により判断した前記不揮発性メモリ上の記憶領域にデータを書き込む書込手段と、この書込手段により前記不揮発性メモリの前記記憶領域に書き込んだデータを読み出す読出手段と、前記読出手段にて読み出したデータと前記書込手段により書き込むべきデータとに基づいて前記記憶領域へのデータの書込みエラーが発生したか否かを判断する第２の判断手段と、この第２の判断手段により前記不揮発性メモリの前記記憶領域へのデータの書込みエラーが発生したと判断した場合、前記書込手段により書き込みを行った前記不揮発性メモリの前記記憶領域を使用禁止とするとともに、当該データを記憶する領域を前記不揮発性メモリの前記記憶領域に対する代替領域に移行する移行手段とを有する。
【発明の効果】
【００１４】
この発明によれば、不揮発性メモリへのデータ書き換えの都度余分な処理や余分な不揮発性メモリへの書込みを行うことなく、不揮発性メモリの一部の記憶領域でデータが書き換えられなくなってもそのデータを保持することができる携帯可能電子装置及び携帯可能電子装置に用いられる不揮発性メモリを提供できる。
【発明を実施するための最良の形態】
【００１５】
以下、この発明を実施するための最良の形態について図面を参照しつつ説明する。
【００１６】
図１は、この発明の実施の形態に係る携帯可能電子装置としてのＩＣカードＣの構成例を示すブロック図である。
【００１７】
上記ＩＣカードＣは、図１に示すようなＩＣカード処理装置１からの電源供給により動作可能な状態となり、上記ＩＣカード処理装置１からのコマンドに応じて動作するものである。上記ＩＣカード処理装置１は、ＩＣカードＣに対して種々の処理を要求するコマンドを供給するものであり、例えば、上記ＩＣカードＣがキャッシュカードやクレジットカードとして利用される運用形態においては、各種の取引処理を行う自動取引装置として機能する。
【００１８】
また、上記ＩＣカードＣは、上記ＩＣカード処理装置１と物理的に接触して通信を行う接触式の携帯可能電子装置（接触式ＩＣカード）であっても良いし、アンテナや無線通信部等により上記ＩＣカード処理装置１と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ＩＣカード）であっても良い。
【００１９】
なお、本実施の形態では、接触式ＩＣカードを想定して説明するが、接触式ＩＣカードと非接触式ＩＣカードとはＩＣカード処理装置１との通信方式が異なるだけである。このため、以下に説明する実施の形態は、非接触式ＩＣカードにも同様に適用できる。
【００２０】
図１に示すように、上記ＩＣカードＣは、カード状の筐体内に内蔵されるＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、不揮発性メモリ１４、及び通信インターフェース１５などから構成される。上記ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、不揮発性メモリ１４、及び通信インターフェース１５等は、ＬＳＩチップ（図示しない）により構成され、ＩＣカードＣ本体内に埋設される。
【００２１】
上記ＣＰＵ１１は、ＩＣカードＣ全体の制御を司るものである。上記ＣＰＵ１１は、上記ＲＯＭ１３あるいは不揮発性メモリ１４に記憶された制御プログラムに基づいて動作する。上記ＣＰＵ１１は、上記のような制御プログラムに基づいて各部の動作制御を実現している。例えば、上記ＣＰＵ１１は、上記不揮発性メモリ１４へのデータの書き込み処理（書込手段）、上記不揮発性メモリ１４からのデータの読み出し処理（読出手段）、あるいは種々の判断処理（第１、第２、第３の判断手段）などを実行する機能を有している。さらに、上記ＣＰＵ１１は、後述するような、上記不揮発性メモリ１４へのデータの書き込み及び読み出し処理などを再実行する処理（再実行手段）やデータの記憶領域を代替領域に移行する処理（移行手段）を実行する機能も有している。
【００２２】
上記ＲＡＭ１２は、ワーキングメモリとして機能する揮発性のメモリである。上記ＲＡＭ１２は、上記ＣＰＵ１１が処理中のデータなどを一時保管するバッファとして機能し、例えば、上記通信インターフェース１５による上位装置としてのＩＣカード処理装置１との通信データを一時保管するようになっている。
【００２３】
上記ＲＯＭ１３は、予め制御用のプログラムや制御データなどが記憶されている不揮発性のメモリである。上記ＲＯＭ１３は、製造段階でＩＣカードＣ内に組み込まれるものであり、上記ＲＯＭ１３に記憶されている制御プログラムは、予め当該ＩＣカードＣの仕様に応じて組み込まれる。
【００２４】
上記不揮発性メモリ１４は、データの書き込みが可能な不揮発性のメモリである。上記不揮発性メモリ１４は、例えば、ＥＥＰＲＯＭあるいはフラッシュメモリなどにより構成される。上記不揮発性メモリ１４には、当該ＩＣカードＣの使用目的に応じて当該ＩＣカードＣを使用（運用）するために必要なプログラムファイルやデータファイルなどが定義され、それらのファイルにデータが書き込まれるようになっている。例えば、当該ＩＣカードＣの認証処理に用いる鍵データ等の設定情報や当該ＩＣカードＣを使用するごとに書き換えられる使用履歴情報などの情報は、上記不揮発性メモリ１４に記録される。上記不揮発性メモリ１４のメモリ領域の構成等については、後で詳細に説明する。
【００２５】
上記通信インターフェース１５は、上位機器としてのＩＣカード処理装置１とのデータ通信を行う通信インターフェースである。また、当該ＩＣカードＣは、上記通信インターフェース１５により上記ＩＣカード処理装置１から各部を動作させるための電源供給を受けるようになっている。上記通信インターフェースは、上記ＩＣカード処理装置１とのコンタクト部や通信を制御する通信制御部等により構成される。また、上記ＩＣカードＣを接触式ＩＣカードで実現する場合、上記通信インターフェース１５は、図示しないコンタクト部や通信制御部などにより構成される。この場合、ＩＣカードＣは、上記通信インターフェース１５を介してＩＣカード処理装置１から電源供給を受けてＩＣカードＣ内の各部を動作させ、当該ＩＣカード処理装置１とのデータの送受信を行う。
【００２６】
なお、ＩＣカードＣを非接触式ＩＣカード（無線カード）で実現する場合、上記通信インターフェース１５は、無線通信の通信制御行う通信部と図示しない無線通信用のアンテナとから構成される。この場合、上記通信インターフェース１５は、上記無線通信用のアンテナを介してＩＣカード処理装置１とのデータの送受信を行う。また、ＩＣカードＣを非接触式ＩＣカードで実現する場合、当該ＩＣカードＣは、図示しない電源生成部により上記通信インターフェース１５が上記ＩＣカード処理装置１から受信した電波からＩＣカードＣ内の各部を動作させるための電源を生成する。
【００２７】
次に、上記不揮発性メモリ１４の構成例について説明する。  
まず、データの定義情報において書換え頻度の高いデータの記憶領域に対して代替領域を設定する場合について図２を参照しつつ説明する。
【００２８】
図２（ａ）、（ｂ）は、上記不揮発性メモリ１４上に記録される鍵データの定義情報の構成例を示す図である。図２（ａ）、（ｂ）では、鍵データの定義情報としての内部制御情報を記録する記憶領域に対して代替の記憶領域（代替領域）を設けた場合の構成例を示している。なお、図２（ａ）、（ｂ）では、代替領域を設ける鍵データの内部制御情報として鍵データによる認証が失敗した回数を示す照合異常発生回数を想定している。
【００２９】
上記鍵データの定義情報は、不揮発性メモリ１４上の予め決められた記憶領域２０に記録される。すなわち、上記鍵データの定義情報の記憶領域２０及び記憶領域２０内の各データの各記憶領域は、当該ＩＣカードの発行処理時（あるいは当該鍵データを定義する際）に、不揮発性メモリ１４上に設定（定義）される。このため、上記鍵データの定義情報は、常に、不揮発性メモリ１４上における特定の領域に記録されるようになっている。
【００３０】
また、図２に示す鍵データの定義情報の記憶領域２０には、識別情報としての状態フラグＡの記憶領域（識別情報記憶領域）２１ａ、特定のデータとしての照合異常回数Ａの記憶領域（データ記憶領域）２１ｂ、識別情報としての状態フラグＢの記憶領域（識別情報記憶領域）２２ａ、及び、特定のデータとしての照合異常回数Ｂの記憶領域（代替領域）２２ｂが設けられている。これらの記憶領域２１ａ、２１ｂ、２２ａ、２２ｂは、当該当該ＩＣカードの発行処理時（あるいは当該鍵データを定義する際）に、不揮発性メモリ１４上に設定（定義）される。
【００３１】
上記照合異常回数Ａあるいは上記照合異常回数Ｂは、当該鍵データによる認証が失敗した回数を示すデータであり、当該鍵データに対する照合異常回数は、記憶領域２１ｂ、あるいは記憶領域２２ｂの何れかに記録される。また、上記状態フラグＡは、記憶領域２１ｂが有効（使用中）であるか無効（使用禁止）であるかを示すデータであり、上記状態フラグＢは、記憶領域２２ｂが有効（使用中）であるか無効（未使用）であるかを示すデータである。
【００３２】
また、本実施の形態では、当該鍵データの定義情報にて定義する鍵データに対する照合異常回数を記録する領域を１つだけ指定するため、上記状態フラグの何れか１つが有効（使用中）に設定され、それ以外の状態フラグは無効（未使用あるいは使用禁止）に設定される。また、上記状態フラグが未使用とされている場合にはその記憶領域が代替領域として使用可能であることを示し、上記状態フラグが使用禁止とされている場合にはその記憶領域が代替領域として使用不能であることを示している。
【００３３】
例えば、当該鍵データに対する照合異常回数を示すデータが上記記憶領域２１ｂに記録されている場合、上記記憶領域２１ａには、状態フラグＡとして上記記憶領域２１ｂが使用中であることを示すデータが記録されるとともに、上記記憶領域２２ａには、状態フラグＢとして上記記憶領域２２ｂが無効（未使用）であることを示すデータが記録される。これにより、当該鍵データに対する照合異常回数を示すデータの記録する領域として、上記記憶領域２１ｂを使用可能とし、上記記憶領域２２ｂを無効（未使用）と設定することができる。
【００３４】
また、当該鍵データに対する照合異常回数を示すデータが上記記憶領域２２ｂに記録されている場合、上記記憶領域２１ａには、状態フラグＡとして上記記憶領域２１ｂが無効（使用禁止）であることを示すデータが記録されるとともに、上記記憶領域２２ａには、状態フラグＢとして上記記憶領域２２ｂが使用中であることを示すデータが記録される。これにより、当該鍵データに対する照合異常回数を示すデータの記録する領域として、上記記憶領域２２ｂを使用可能とし、上記記憶領域２１ｂを無効（使用禁止）と設定することができる。
【００３５】
上記のような構成を有する不揮発性メモリ１４の運用方法としては、例えば、特定のデータ（図２の例では照合異常回数を示すデータ）が記録可能な領域を２つ以上設定しておき、当該ＩＣカードの発行処理時（あるいは当該鍵データを定義する際）に、何れかの記憶領域を有効としてそれ以外の記憶領域（代替領域）を未使用とし、使用中の記憶領域で書込みエラーが発生した場合に書き込みエラーが発生した記憶領域を使用禁止としてそれ以外の何れかの記憶領域（未使用の記憶領域）を有効とするようにすれば良い。
【００３６】
このような運用を実現するには、例えば、当該ＩＣカードを発行する際に、図２（ａ）に示すように、上記記憶領域２１ａに使用中であることを示すデータを記録して上記記憶領域２１ｂを当該鍵データに対する照合異常発生回数を記録する領域として有効とする。この場合、図２（ａ）に示すように、上記記憶領域２２ａには未使用であることを示すデータを記録して上記記憶領域２２ｂを無効となるように設定しておく。
【００３７】
さらに、当該ＩＣカードにおいて上記記憶領域２１ｂへのデータの書き込み異常が発生した場合、図２（ｂ）に示すように、上記記憶領域２２ａには使用中であることを示すデータを記録して上記記憶領域２２ｂを当該鍵データに対する照合異常発生回数を記録する領域として有効とする。この場合、図２（ｂ）に示すように、上記記憶領域２１ａには使用禁止であることを示すデータが記録して上記記憶領域２１ｂが無効となるように設定する。
【００３８】
上記のように、不揮発性メモリ上のデータの定義情報において、例えば、動作制御に関わるデータなどのＩＣカードの運用時に書換え頻度の高いのデータの記憶領域については代替領域を設けておき、データ書き込み異常が発生した場合、当該データを記憶する領域を代替領域に変更することが可能な構成としたものである。
【００３９】
これにより、データの定義情報において、書換え頻度の高いデータの記憶領域が書き込み異常となっても代替領域に当該データを記録することができ、ＩＣカード内の不揮発性メモリが使用不能となったり、当該ＩＣカードの使用に不具合が発生したりすることがなく、ＩＣカード及びＩＣカード内の不揮発性メモリ全体としての寿命を延ばすことができ、かつ、ＩＣカードの動作に対する信頼性を向上させることができる。
【００４０】
次に、不揮発性メモリ１４上のデータ記憶領域内の記憶領域に対して代替領域を設定する場合について図３及び図４を参照しつつ説明する。
【００４１】
すなわち、データの定義情報において書換え頻度の高いデータの記憶領域に対して代替領域を設定する場合については上述したが、ここでは、不揮発性メモリ１４にデータの定義情報を記録する定義情報記憶領域と実際にデータを記録するデータ記憶領域とを設け、定義情報で指定されるデータ記憶領域内のデータの記憶領域に代替領域を設定する場合について説明する。
【００４２】
図３（ａ）、（ｂ）は、上記不揮発性メモリ１４上に定義されるデータの定義情報の構成例を示す概念図である。また、図４（ａ）は、図３（ａ）で定義されるデータの書込み領域の構成例を示す図であり、図４（ｂ）は、図３（ｂ）で定義されるデータの書込み領域の構成例を示す図である。また、図３（ａ）、（ｂ）に示す構成例では、データの定義情報によって、図４（ａ）、（ｂ）に示すような、実際にデータを書き込む記憶領域と当該データの代替の書き込み領域としての代替領域とを指定（設定）するようになっている。
【００４３】
図３（ａ）、（ｂ）に示すデータの定義情報は、不揮発性メモリ１４上の定義情報記憶領域としての記憶領域３０に記録されるものとする。このデータの定義情報は、当該データを定義するとともに当該データのデータファイルが記録されている記憶領域を示す情報である。つまり、定義情報により定義されるデータは、実際のデータ記憶領域としてのデータ書き込み領域（データファイル領域）４０内の指定された記憶領域４１、４２、４３にデータファイルとして記録される。従って、データ定義情報において、当該データ（データファイル）の記憶領域が変更されなければ、常に、不揮発性メモリ１４上における特定の記憶領域に当該データが記録されるようになっている。
【００４４】
また、図３（ａ）、（ｂ）に示すデータ定義情報の記憶領域３０には、識別情報としての状態フラグＡの記憶領域３１ａ、記憶領域指定情報としてのポインタＡの記憶領域３１ｂ、識別情報としての状態フラグＢの記憶領域３２ａ、代替領域指定情報としてのポインタＢの記憶領域３２ｂ、識別情報としての状態フラグＣの記憶領域３３ａ、及び、代替領域指定情報としてのポインタＣの記憶領域３３ｂが設けられている。これらの記憶領域３１ａ、３１ｂ、３２ａ、３２ｂ、３３ａ、３３ｂは、当該当該ＩＣカードの発行処理時（あるいは当該データを定義する際）に、不揮発性メモリ１４上に設定（定義）される。
【００４５】
上記ポインタＡ、あるいはポインタＢ、ポインタＣは、当該データを記録するデータ書き込み領域における記憶領域（記憶領域あるいは代替領域）を示す情報が記録される。図３に示す例では、当該データを記録するデータ書き込み領域における記憶領域の先頭アドレスを示す情報が記録されるようになっている。
【００４６】
例えば、図３（ａ）、（ｂ）の記憶領域３１ｂに記録されているポインタＡは、図４（ａ）、（ｂ）のデータ書き込み領域におけるアドレス１０００Ｈからの記憶領域４１を示している。また、図３（ａ）、（ｂ）の記憶領域３２ｂに記録されているポインタＢは、図４（ａ）、（ｂ）のデータ書き込み領域におけるアドレス１２００Ｈからの記憶領域（代替領域）４２を示している。また、図３（ａ）、（ｂ）の記憶領域３３ｂに記録されているポインタＣは、図４（ａ）、（ｂ）のデータ書き込み領域におけるアドレス１４００Ｈからの記憶領域（代替領域）４３を示している。
【００４７】
また、上記状態フラグＡ、状態フラグＢ及び状態フラグＣは、それぞれポインタＡ、ポインタＢ及びポインタＣにて示されるデータの書き込み領域の状態を示すデータが記録される。従って、上記状態フラグＡ、状態フラグＢ及び状態フラグＣには、各ポインタＡ、ポインタＢ及びポインタＣが示すデータの書き込み領域が有効（使用中）であるか無効（未使用、あるいは使用禁止）であるかを示すデータが記録される。
【００４８】
また、本実施の形態では、当該データ定義情報にて定義するデータを記録する記憶領域を１つだけ指定するため、上記状態フラグの何れか１つが有効（使用中）に設定され、それ以外の状態フラグが無効（未使用あるいは使用禁止）に設定される。また、上記状態フラグが未使用とされている場合にはその記憶領域が代替領域として使用可能であることを示し、上記状態フラグが使用禁止とされている場合にはその記憶領域が代替領域として使用不能であることを示している。
【００４９】
例えば、当該データ定義情報にて定義されるデータを上記記憶領域３１ｂに記録されているポインタＡが示す記憶領域４１に記録する場合、上記記憶領域３１ａには、状態フラグＡとして上記記憶領域３１ｂで示す記憶領域４１が有効（使用中）であることを示すデータが記録されるとともに、上記記憶領域３２ａには状態フラグＢとして上記記憶領域３２ｂで示す記憶領域４２が無効（未使用）であることを示すデータが記録され、上記記憶領域３３ａには状態フラグＣとして上記記憶領域３３ｂで示す記憶領域４３が無効（未使用）であることを示すデータが記録される。
【００５０】
これにより、当該データの記憶領域として、上記記憶領域３１ｂに記録されるポインタＡが示す記憶領域を使用可能とし、上記記憶領域３２ｂ及び３３ｂに記録されるポインタＢ及びＣが示す記憶領域を無効（未使用）と設定することができる。
【００５１】
また、当該データ定義情報にて定義されるデータを上記記憶領域３１ｂに記録されているポインタＢが示す記憶領域４２に記録する場合（例えば、ポインタＡで示す記憶領域が使用不能となった場合）、上記記憶領域３１ａには状態フラグＡとして上記記憶領域３１ｂで示す記憶領域４１が無効（使用禁止）であることを示すデータが記録されるとともに、上記記憶領域３２ａには状態フラグＢとして上記記憶領域３２ｂで示す記憶領域４２が有効（使用中）であることを示すデータが記録され、上記記憶領域３３ａには状態フラグＣとして上記記憶領域３３ｂで示す記憶領域４３が無効（未使用）であることを示すデータが記録される。
【００５２】
これにより、当該データを記録する領域として、上記記憶領域３２ｂで示す記憶領域を使用可能とし、上記記憶領域３１ａで示す記憶領域を無効（使用禁止）とし、さらに、上記記憶領域３３ａで示す記憶領域を無効（未使用）と設定することができる。
【００５３】
また、当該データ定義情報にて定義されるデータを上記記憶領域３１ｂに記録されているポインタＣが示す記憶領域４３に記録する場合（例えば、ポインタＡ及びポイントＢで示す各記憶領域が使用不能となった場合）、上記記憶領域３１ａには状態フラグＡとして上記記憶領域３１ｂで示す記憶領域４１が無効（使用禁止）であることを示すデータが記録され、上記記憶領域３２ａには状態フラグＢとして上記記憶領域３２ｂで示す記憶領域４２が無効（使用禁止）であることを示すデータが記録され、上記記憶領域３３ａには状態フラグＣとして上記記憶領域３３ｂで示す記憶領域４３が有効（使用中）であることを示すデータが記録される。
【００５４】
これにより、当該データを記録する領域として、上記記憶領域３３ｂで示す記憶領域を使用可能とし、上記記憶領域３１ａ及び上記記憶領域３３ａで示す記憶領域を無効（使用禁止）として設定することができる。
【００５５】
上記のような構成を有する不揮発性メモリ１４の運用方法として、例えば、当該ＩＣカードの発行処理時（あるいは当該データを定義する際）には、当該データ（データ定義情報で定義されるデータ）を記録する記憶領域としてデータ記憶領域内に複数の記憶領域を設定し、さらに、それらのデータ記憶領域内の複数の記憶領域のうち何れかの記憶領域を有効としてそれ以外の記憶領域を代替領域として未使用にしておく。そして、このように発行処理されたＩＣカードの運用時においては、使用中の記憶領域で書き込み異常が発生した場合に書き込み異常が発生した記憶領域を使用禁止としてそれ以外の何れかの記憶領域（未使用の記憶領域）を有効とするようにすれば良い。
【００５６】
このような運用形態を実現するためには、例えば、当該ＩＣカードを発行する際に、図３（ａ）に示すように、上記記憶領域３１ａに使用中であることを示すデータを記録し、上記記憶領域３１ｂのポインタＡが示す記憶領域を当該データの記憶領域として有効とする。この場合、図３（ａ）に示すように、上記記憶領域３２ａ及び上記記憶領域３３ａには未使用であることを示すデータを記録して、上記記憶領域３２ｂのポインタＢ及び上記記憶領域３３ｂのポインタＣが示す各記憶領域を未使用（無効）となるように設定しておく。
【００５７】
さらに、当該ＩＣカードにおいて上記記憶領域３１ｂのポインタＡが示す記憶領域４１へのデータの書き込み異常が発生した場合、図３（ｂ）に示すように、上記記憶領域３２ａに使用中であることを示すデータを記録して上記記憶領域４１の代替領域としての上記記憶領域３２ｂのポインタＢが示す記憶領域４２を当該データの記憶領域として有効とする。また、この場合、上記記憶領域４１に記録されるべきデータは、全て上記記憶領域４１の代替領域としての上記記憶領域４２にコピーされて記録される。
【００５８】
なお、この場合、図３（ｂ）に示すように、上記記憶領域３１ａに使用禁止であることを示すデータが記録して上記記憶領域３１ｂのポインタＡが示す記憶領域を使用禁止（無効）となるように設定する。また、この場合、上記記憶領域３３ａには未使用であることを示すデータを記録されており、上記記憶領域３３ｂのポインタＣが示す記憶領域を未使用（無効）のままとなっている。
【００５９】
上記のように、不揮発性メモリ上の定義情報で定義されるデータ（データファイル）については、予めデータ記憶領域内にデータの記憶領域と代替領域を定義しておき、データ書き込み異常が発生した場合、当該データの定義情報によって当該データを記録するデータ記憶領域内の領域を代替領域に変更することが可能な構成としたものである。
【００６０】
これにより、定義情報で指定されるデータ記憶領域内の記憶領域へのデータが書き込み異常となっても、当該データの定義情報を変更することにより、データ記憶領域内の代替領域に当該データを記録することができ、ＩＣカード内の不揮発性メモリが使用不能となったり、ＩＣカードの使用に不具合が発生したりすることがなく、ＩＣカード及びＩＣカード内の不揮発性メモリ全体としての寿命を延ばすことができ、かつ、ＩＣカードの動作に対する信頼性を向上させることができる。
【００６１】
次に、上記のような不揮発性メモリ１４を有するＩＣカードＣにおける書き込み処理について説明する。  
図５は、ＩＣカードＣの書き込み処理の動作例を説明するためのフローチャートである。  
まず、不揮発性メモリ１４に書き込むべきデータを取得すると（ステップＳ１１）、上記ＣＰＵ１１は、当該データを記録する不揮発性メモリ１４上の記憶領域を判断する（ステップＳ１２）。ここで、例えば、図２に示すようなデータ（照合異常回数）については、各状態フラグのうち使用中となっている状態フラグに対応する記憶領域を当該データの記憶領域と判断する。また、図３及び図４に示すようなデータについては、各状態フラグのうち使用中となっている状態フラグに対応するポインタが示す記憶領域を当該データの記憶領域と判断する。
【００６２】
当該データを書き込むべき記憶領域を判断すると、上記ＣＰＵ１１は、当該データの書き込み処理に対するリトライカウンタを０にセット（リセット）する（ステップＳ１３）。このリトライカウンタは、例えば、当該データの書き込み処理を行う際に上記ＲＡＭ１２上に形成されるものであり、書き込み処理を再試行（リトライ）するごとに値がカウントアップされるデータ書込処理のリトライ回数が記録されるカウンタである。
【００６３】
上記リトライカウンタをセットすると、上記ＣＰＵ１１は、上記ステップＳ１２で判断した不揮発性メモリ１４上の記憶領域に当該データを書き込む書込処理を行う（ステップＳ１４）。例えば、上記不揮発性メモリ１４がＥＥＰＲＯＭで構成される場合、上記ＣＰＵ１１は、上記記憶領域に当該データを上書きすることにより当該データの書込処理を実行する。また、上記不揮発性メモリ１４がフラッシュメモリで構成される場合、上記ＣＰＵ１１は、上記記憶領域をブロック単位ごとに一旦消去してから当該データを書き込むことにより当該データの書込処理を実行する。
【００６４】
上記記憶領域に当該データを書き込むと、上記ＣＰＵ１１は、その記憶領域から記録されているデータを読み出す（ステップＳ１５）。これは、上記記憶領域にデータが正しく記録されているか否かを判定するための確認読取（ベリファイリード）である。すなわち、上記記憶領域に記録されているデータを読み出すと、上記ＣＰＵ１１は、上記記憶領域に書き込むべきデータと実際に上記記憶領域から読み出したデータとが一致するか否かを判断する（ステップＳ１６）。この判断により両者のデータが一致すると判断した場合（ステップＳ１６、ＹＥＳ）、上記ＣＰＵ１１は、当該データの書き込みが正常に完了したのと判断して当該処理を正常終了する。
【００６５】
また、上記判断により上記記憶領域に書き込むべきデータと実際に上記記憶領域から読み出したデータとが一致しないと判断した場合（ステップＳ１６、ＮＯ）、上記ＣＰＵ１１は、リトライカウンタの値を加算することによりリトライカウンタをカウントアップする（ステップＳ１７）。
【００６６】
上記リトライカウンタをカウントアップすると、上記ＣＰＵ１１は、リトライカウンタの値（リトライ回数）が所定の制限回数以上であるか否かを判断する（ステップＳ１８）。この制限回数は、データの書込処理に対する制限回数として予め上記ＲＯＭ１３などに記録される値である。
【００６７】
上記判断によりリトライ回数が所定の制限回数未満であると判断した場合（ステップＳ１８、ＮＯ）、上記ＣＰＵ１１は、上記ステップＳ１４へ戻り、上記記憶領域へのデータの書き込みからの処理を再度実行（リトライ）する。
【００６８】
また、上記判断によりリトライ回数が所定の制限回数以上であると判断した場合（ステップＳ１８、ＹＥＳ）、上記ＣＰＵ１１は、上記記憶領域に対して代替領域が有るか否かを判断する（ステップＳ１９）。なお、ここでは、例えば、上記記憶領域に対する代替領域が存在し、かつ、その代替領域が未使用である場合に、上記記憶領域に対する代替領域が有ると判断される。また、代替領域が未使用であるか否かは、その代替領域の状態フラグにより判断されるものである。
【００６９】
すなわち、上記判断により上記記憶領域に対する代替領域がないと判断した場合（ステップＳ１９、ＮＯ）、上記ＣＰＵ１１は、上記記憶領域への当該データの書き込みが不可能であると判断し（ステップＳ２０）、当該データの書込処理を書込みエラーとして当該処理を終了する。
【００７０】
また、上記判断により上記記憶領域の代替領域があると判断した場合（ステップＳ１９、ＹＥＳ）、上記ＣＰＵ１１は、上記記憶領域に対する代替領域の状態フラグを使用中に書換えるとともに（ステップＳ２１）、上記記憶領域の状態フラグを使用禁止に書き換える（ステップＳ２２）。これにより、上記記憶領域が使用禁止となり、上記記憶領域に対する代替領域が使用可能となる。
【００７１】
例えば、図２（ａ）に示すような状態において上記記憶領域２１ｂへのデータの書き込みが失敗した場合（データ書込のリトライ回数が制限回数以上となった場合）、上記ＣＰＵ１１は、図２（ｂ）に示すように、上記記憶領域２２ｂの状態フラグＢを使用中に書換えるとともに、上記記憶領域２１ｂの状態フラグＡを使用禁止に書き換える。これにより、当該データを記憶する領域は、上記記憶領域２１ｂの代替領域としての記憶領域２２ｂに変更される。
【００７２】
また、図３（ａ）及び図４（ａ）に示すような状態において記憶領域４１へのデータの書き込みが失敗した場合（データ書込のリトライ回数が制限回数以上となった場合）、上記ＣＰＵ１１は、図３（ｂ）及び図４（ｂ）に示すように、上記記憶領域３２ｂの状態フラグＢを使用中に書換えるとともに、上記記憶領域３１ｂの状態フラグＡを使用禁止に書き換える。これにより、当該データを記憶する領域は、上記ポインタＡで示す記憶領域４１の代替領域としてのポインタＢで示す記憶領域４２に変更される。
【００７３】
上記ステップＳ２１及びＳ２２で代替領域の状態フラグを使用中に書換えるとともに、上記記憶領域の状態フラグを使用禁止に書き換えると、上記ＣＰＵ１１は、上記ステップＳ１２へ戻り、再度、データを記憶すべき領域を判断する。ここでは、代替領域の状態フラグが使用中となっているため、上記ＣＰＵ１１は、当該データを書き込むべき記憶領域が上記代替領域であると判断するものである。すなわち、代替領域の状態フラグを使用中に書換えるとともに、上記記憶領域の状態フラグを使用禁止に書き換えると、上記ＣＰＵ１１は、状態フラグを使用中に書き換えた代替領域を記憶領域として上記ステップＳ１２からの処理を再度実行する。
【００７４】
なお、上記ステップＳ１８ではリトライ回数が所定の制限回数以上か否かを判断するものとしたが、代替領域を有する記憶領域へのデータ書込処理に対するリトライの制限回数と代替領域が設定されていない記憶領域へのデータの書込処理に対するリトライの制限回数とは、それぞれ別の値を設定するようにしても良い。例えば、代替領域と有する記憶領域へのデータ書込処理に対しては、代替領域が設定されていない記憶領域へのデータの書込処理に対する制限回数よりも少ない制限回数を設定しても良い。
【００７５】
この場合、代替領域がある記憶領域へのデータの書込処理については、代替領域への移行を迅速に行うために、少ない回数のリトライを実施して代替領域へ移行するようにすることができ、代替領域が設定されていない記憶領域へのデータの書込みについては、当該記憶領域へのデータの書込みをできるだけ成功させるために、可能な限り多くの回数のリトライを実施するようにすることができる。
【００７６】
上記のように、本実施の形態では、不揮発性メモリに書き込むデータのうち書き換え頻度が高いデータについては、ＩＣカードの発行時に、通常のデータの記憶領域に加えて１つまたは複数の代替領域を確保しておき、ＩＣカードの運用時において、データの書き換え処理でデータの書き込み異常が発生したら、それまでデータを書き込んでいた不揮発性メモリ上の記憶領域を放棄して代替領域に当該データを書き込み、以降、当該代替領域に対してデータの読み書きを行うようにしたものである。
【００７７】
これにより、不揮発性メモリ上の一部の記憶領域（ブロック）においてデータの書込みエラーが発生しても、不揮発性メモリ全体が使用不能となったり、当該不揮発性メモリを搭載したＩＣカードが使用に不具合が生じたりすることを防止できる。この結果として、不揮発性メモリ上の一部のブロックにおいて書き換え寿命によりデータの書き換えが出来ない状態となっても、ＩＣカード全体としてはデータが失われずに処理を続けることが可能となり、ＩＣカードの寿命を延ばすことが可能になる。
【００７８】
また、本実施の形態では、ＩＣカード内部の不揮発性メモリにデータ書き込みあるいは書き換えを行う際、通常は特段の処理を行わずに通常の書込処理を行い、その書込処理で書き込みエラーが発生した場合に、それまでの記憶領域を放棄して予備の記憶領域としての代替領域を使用するようにしたものである。これにより、通常の書込処理においては余分なプログラム処理や不揮発性メモリへの書き込みを行わず、即ち、処理時間を増やさずに、不揮発性メモリの寿命を延ばし、以てＩＣカードの寿命を延ばすことが可能である。
【００７９】
また、上記のような不揮発性メモリの構成では、予め書換え頻度の高いデータの記憶領域について代替領域を予め用意しておき、書換えエラーが発生した場合にはデータを記録する領域を代替領域に変更するようにしたものである。これにより、書換え頻度の高い不揮発性メモリ上における一部の記憶領域においてデータの書込みエラーが発生しても、当該ＩＣカードあるいはＩＣカード内の不揮発性メモリの使用に不具合が生じたり、使用不能となったりすることを防止できる。
【００８０】
また、不揮発性メモリ上に特定のデータを記録するための領域として複数の記憶領域を設けた場合、それらの記憶領域の有効性を示す状態フラグを各記憶領域に対応して設定しておくことにより、どの記憶領域が有効となっているかを容易に判別することができ、記憶領域を代替領域に切替える場合にも制御が簡単である。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態に係るＩＣカードの構成例を示すブロック図。
【図２】不揮発性メモリ上に記録されるデータの定義情報の構成例を示す図。
【図３】不揮発性メモリ上に記録されるデータの定義情報の構成例を示す図。
【図４】図３のデータの定義情報により定義されるデータの記憶領域の構成例を示す図。
【図５】ＩＣカードの不揮発性メモリへのデータの書込処理の動作例を説明するためのフローチャート。
【符号の説明】
【００８２】
Ｃ…ＩＣカード（携帯可能電子装置）、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…不揮発性メモリ、１５…通信インターフェース、２０…記憶領域、２１ａ、２２ａ…記憶領域（状態フラグ）、２１ｂ…記憶領域、２２ｂ…記憶領域（代替領域）、３０…記憶領域（定義情報記憶領域）、３１ａ、３２ａ、３３ａ…記憶領域（状態フラグ）、３１ｂ…記憶領域（ポインタ）、３２ｂ、３３ｂ…記憶領域（代替領域のポインタ）、４０…記憶領域（データ記憶領域）、４１…記憶領域、４２、４３…記憶領域（代替領域）、
【図１】
2005338924.tif 000003
【図２】
2005338924.tif 000004
【図３】
2005338924.tif 000005
【図４】
2005338924.tif 000006
【図５】
2005338924.tif 000007