(57)【特許請求の範囲】
【請求項１】
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードであって、
前記オペレーティングシステムの元で動作し、前記不揮発性メモリにおけるメモリ領域を前記書換可領域あるいは前記書換不可領域に変更するステータス変更部
を備え、
前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製した後、前記ステータス変更部が前記第１アプリケーションデータの複製元の書換不可領域を書換可領域に変更する
ことを特徴とするＩＣカード。
【請求項２】
前記書換可領域及び前記書換不可領域の各々が、書き換えが可であることを示す書換可状態、書き換えが不可であることを示す書換不可状態を定義する書換ステータスにより設定されており、
前記書換ステータスを前記書換可状態及び前記書換不可状態の各々に書き換え、前記不揮発性メモリにおけるメモリ領域を前記書換可領域及び前記書換不可領域のいずれかに変更するステータス変更部を備える
ことを特徴とする請求項１に記載のＩＣカード。
【請求項３】
前記ステータス変更部が、
前記第１アプリケーションデータの複製元の書換不可領域の前記書換ステータスを書換不可状態から書換可状態に変更し、複製元の書換不可領域を書換可領域に変更する
ことを特徴とする請求項２に記載のＩＣカード。
【請求項４】
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有するＩＣカードであって、
オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションとが前記書換不可領域に書き込まれており、
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおいて、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製することで生成したメモリイメージにおける前記書換可領域におけるアドレスに対応して、前記第１アプリケーションが使用する第１アプリケーションデータが前記書換可領域に書き込まれている
ことを特徴とするＩＣカード。
【請求項５】
前記書換可領域及び前記書換不可領域の各々が、書き換えが可であることを示す書換可状態、書き換えが不可であることを示す書換不可状態を定義する書換ステータスにより設定されており、
前記書換ステータスを前記書換可状態及び前記書換不可状態の各々に書き換え、前記不揮発性メモリにおけるメモリ領域を前記書換可領域及び前記書換不可領域のいずれかに変更するステータス変更部を備えることを特徴とする請求項４に記載のＩＣカード。
【請求項６】
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおけるメモリ制御方法であって、
ステータス変更部が、前記オペレーティングシステムの元で動作し、前記不揮発性メモリにおけるメモリ領域を前記書換可領域あるいは前記書換不可領域に変更する書換状態変更過程
を含み、
前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製した後、前記ステータス変更部が前記第１アプリケーションデータの複製元の書換不可領域を書換可領域に変更する
ことを特徴とするＩＣカードにおけるメモリ制御方法。
【請求項７】
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有するＩＣカードにおけるメモリ制御方法であって、
データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおいて、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製することでメモリイメージを生成する過程と、
オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションとを前記書換不可領域に書き込む過程と、
前記メモリイメージにおける前記書換可領域におけるアドレスに対応して、前記第１アプリケーションが使用する第１アプリケーションデータを前記書換可領域に書き込む過程と
を含むことを特徴とするＩＣカードにおけるメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣ（Integrated Circuit）カード及びＩＣカードにおけるメモリ制御方法に関する。
【背景技術】
【０００２】
近年ＩＣカードの普及が高まるにつれて、１枚のカードに、個々のサービスを実行させるアプリケーションプログラム（以後アプリケーションと略称する）を複数提供することが可能であり、発行後でもアプリケーションを追加する機能を持つ、いわゆる、マルチアプリケーション機能を持つＩＣカードの需要が高くなっている（例えば、特許文献１参照）。
【０００３】
従来、ＩＣカードにおけるメモリとして、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）及びＲＡＭ（Random Access Memory）の各々が用いられていた。上述のアプリケーションを実行させるＯＳ（Operating System）と、ＩＣカードの特定の第１アプリケーションと、第１アプリケーションが使用するデータである第１アプリケーションデータとの各々は、製造時にＲＯＭに書き込まれていた。
【０００４】
また、第１アプリケーションデータは、上述のＯＳが最初に起動された際、ＲＯＭからＥＥＰＲＯＭにコピーされて用いられる。これは、ＩＣカードの出荷後に第１アプリケーションデータにおける所定のデータの初期値がユーザによって書き換えられる場合があるためである。
現状においても、上述したＯＳが用いられており、ＲＯＭに書き込んだ第１アプリケーションデータを、ＥＥＰＲＯＭにコピーして用いる。
【０００５】
図９は、従来例におけるＩＣカードのメモリ制御を説明するメモリマップを示す図である。図９は、ＲＯＭ領域に書き込まれた第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、ＥＥＰＲＯＭ領域に複製（コピー）する処理を示している。ＯＳは、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、アドレスＡＤＲ＿０２の領域からアドレスＡＤＲ＿１０の領域に対して複製する処理を示している。図１０は、従来例におけるＩＣカードのメモリ制御を説明するメモリマップを示す図である。この図１０は、アドレスＡＤＲ＿０２の領域からアドレスＡＤＲ＿１０の領域に対して複製した後、ＩＣカードのメモリにおいて、ＲＯＭ領域とＥＥＰＲＯＭ領域との双方において、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが存在していることを示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２０３２０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年、フラッシュメモリなどの電気的に書換可能な不揮発性メモリの微細化が進み、単位面積当たりの容量が従来のＲＯＭと同等となっている。また、チップに不揮発性メモリのみを形成する場合と、ＲＯＭ領域とＥＥＰＲＯＭ領域とを同一チップ上に形成する場合とでは、ＲＯＭとＥＥＰＲＯＭとのプロセスの違いなどにより、ＲＯＭ領域とＥＥＰＲＯＭ領域とを同一チップ上に形成する場合の方がチップ単価が増加する。
このため、ＩＣカードにおいても、フラッシュメモリなどの電気的に書換可能な不揮発性メモリが用いられるようになった。
【０００８】
しかしながら、ＩＣカードにおけるメモリのアドレス構成は、メモリをフラッシュメモリとした場合においても、ＲＯＭとＥＥＰＲＯＭとを用いた従来の図９及び図１０に示すメモリマップに対応させ、フラッシュメモリを書換不可のＲＯＭ領域と書換可能なＥＥＰＲＯＭ領域とに分割して用いている。
このため、図１０に示す様に、フラッシュメモリにおいても、ＲＯＭ領域とＥＥＰＲＯＭ領域との双方において、同一の第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが存在しており、フラッシュメモリのメモリ容量を効率的に使用できない。
【０００９】
本発明は、このような事情に鑑みてなされたもので、ＩＣカードにおけるフラッシュメモリなどの電気的に書換可能な不揮発性メモリの容量を効率的に用いることが可能なＩＣカード及びＩＣカードにおけるメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
この発明は上述した課題を解決するためになされたもので、本発明のＩＣカードは、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードであって、前記オペレーティングシステムの元で動作し、前記不揮発性メモリにおけるメモリ領域を前記書換可領域あるいは前記書換不可領域に変更するステータス変更部を備え、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製した後、前記ステータス変更部が前記第１アプリケーションデータの複製元の書換不可領域を書換可領域に変更することを特徴とする。
【００１１】
本発明のＩＣカードは、前記書換可領域及び前記書換不可領域の各々が、書き換えが可であることを示す書換可状態、書き換えが不可であることを示す書換不可状態を定義する書換ステータスにより設定されており、前記書換ステータスを前記書換可状態及び前記書換不可状態の各々に書き換え、前記不揮発性メモリにおけるメモリ領域を前記書換可領域及び前記書換不可領域のいずれかに変更するステータス変更部を備えることを特徴とする。
【００１２】
本発明のＩＣカードは、前記ステータス変更部が、前記第１アプリケーションデータの複製元の書換不可領域の前記書換ステータスを書換不可状態から書換可状態に変更し、複製元の書換不可領域を書換可領域に変更することを特徴とする。
【００１３】
本発明のＩＣカードは、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有するＩＣカードであって、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションとが前記書換不可領域に書き込まれており、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおいて、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製することで生成したメモリイメージにおける前記書換可領域におけるアドレスに対応して、前記第１アプリケーションが使用する第１アプリケーションデータが前記書換可領域に書き込まれていることを特徴とする。
【００１４】
本発明のＩＣカードは、前記書換可領域及び前記書換不可領域の各々が、書き換えが可であることを示す書換可状態、書き換えが不可であることを示す書換不可状態を定義する書換ステータスにより設定されており、前記書換ステータスを前記書換可状態及び前記書換不可状態の各々に書き換え、前記不揮発性メモリにおけるメモリ領域を前記書換可領域及び前記書換不可領域のいずれかに変更するステータス変更部を備えることを特徴とする。
【００１５】
本発明のＩＣカードにおけるメモリ制御方法は、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおけるメモリ制御方法であって、ステータス変更部が、前記オペレーティングシステムの元で動作し、前記不揮発性メモリにおけるメモリ領域を前記書換可領域あるいは前記書換不可領域に変更する書換状態変更過程を含み、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製した後、前記ステータス変更部が前記第１アプリケーションデータの複製元の書換不可領域を書換可領域に変更することを特徴とする。
【００１６】
本発明のＩＣカードにおけるメモリ制御方法は、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有するＩＣカードにおけるメモリ制御方法であって、データの書き換えが可である書換可領域とデータの書き換えが不可である書換不可領域とのいずれかにメモリ領域が設定されている電気的に書換可能な不揮発性メモリを有し、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションと前記第１アプリケーションが使用する第１アプリケーションデータとが予め前記書換不可領域に書き込まれたＩＣカードにおいて、前記オペレーティングシステムが最初に起動する際、当該オペレーティングシステムが前記第１アプリケーションデータを前記書換可領域に複製することでメモリイメージを生成する過程と、オペレーティングシステムと当該オペレーティングシステム下で動作する第１アプリケーションとを前記書換不可領域に書き込む過程と、前記メモリイメージにおける前記書換可領域におけるアドレスに対応して、前記第１アプリケーションが使用する第１アプリケーションデータを前記書換可領域に書き込む過程とを含むことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ＩＣカードにおけるフラッシュメモリなどの電気的に書換可能な不揮発性メモリの容量を効率的に用いることが可能なＩＣカード及びＩＣカードにおけるメモリ制御方法を提供することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態によるＩＣカードの構成例を示す概略ブロック図である。
【図２】フラッシュメモリのメモリマップの構成例を説明する概念図である。
【図３】メモリマップ記憶部１０４に書き込まれているメモリマップを示すアドレステーブルの構成例を示す図である。
【図４】第１の実施形態のＩＣカードにおける書換ステータスの変更処理の動作例を示すフローチャートである。
【図５】フラッシュメモリのメモリマップの構成例を説明する概念図である。
【図６】第２アプリケーションがインストールされた際のフラッシュメモリ２００におけるメモリマップの構成例を説明する概念図である。
【図７】第２の実施形態におけるフラッシュメモリのメモリマップの構成例を説明する概念図である。
【図８】第３の実施形態におけるフラッシュメモリのメモリマップの構成例を説明する概念図である。
【図９】従来例におけるＩＣカードのメモリ制御を説明するメモリマップを示す図である。
【図１０】従来例におけるＩＣカードのメモリ制御を説明するメモリマップを示す図である。
【発明を実施するための形態】
【００１９】
＜第１の実施形態＞
以下、図面を参照して、本発明の第１の実施形態について説明する。図１は、本発明の第１の実施形態によるＩＣカードの構成例を示す概略ブロック図である。この図１において、ＩＣカード１は、カード制御部１００、フラッシュメモリ２００及びＲＡＭ３００の各々を備えている。カード制御部１００は、ＯＳ部１０１、ステータス変更部１０２、入出力制御部１０３及びメモリマップ記憶部１０４の各々を備えている。
ＯＳ部１０１は、フラッシュメモリ２００に格納されたＯＳのプログラムを図示しないＣＰＵ（Central Processing Unit）等が実行することで機能するオペレーティングシステムである。
【００２０】
ステータス変更部１０２は、フラッシュメモリ２００に格納された機能プログラムであり、上述のＣＰＵが実行することにより、フラッシュメモリの各領域における書換状態を示すアドレステーブルにおける書換ステータス（後述）を変更する処理を行う。このステータスは、ＩＣチップの内部の記憶部のいずれかの領域に、ＩＣチップ製造メーカー用の管理領域として設けられている。上記ステータスは、ＩＣチップ用のＳＤＫ（Software Development Kit）の機能を利用して変更する。他の方法として、上記ステータスは、ＩＣチップ製造メーカーが提供するＡＰＩ（Application Programming Interface）をコールすることにより変更、もしくは、上記ステータスを直接書き換えて変更する。
【００２１】
入出力制御部１０３は、フラッシュメモリ２００に格納された機能プログラムであり、上述のＣＰＵにより実行されることで、ＩＣカード１と他の外部装置とのデータの送受信の処理を行う。本実施形態において、上述のＣＰＵは、図示されていないが、ＯＳ部１０１、ステータス変更部１０２及び入出力制御部１０３をそれぞれの上記機能プログラムを実行するが、各部の機能の説明を動作主体として個別に行うため図示しない。
【００２２】
メモリマップ記憶部１０４は、フラッシュメモリ２００のいずれかの領域に書き込まれており、フラッシュメモリ２００内の各領域における書換ステータスが記載されたアドレステーブルを記憶している。ここで、書換ステータスは、フラッシュメモリ２００の各領域がデータの書換可（書換が可）である書換可状態にある書換可領域（ＥＥＰＲＯＭ領域に対応）であるか、データの書換不可（書換が不可）である書換不可状態にある書換不可領域（ＲＯＭ領域に対応）であるかを定義するステータスである。
フラッシュメモリ２００は、上記アドレステーブルの示すメモリマップで各領域の書換状態が示される、所定の容量を有する不揮発性メモリである。
【００２３】
図２は、フラッシュメモリのメモリマップの構成例を説明する概念図である。図２において、例えば、フラッシュメモリ２００は、アドレスＡＤＲ＿００からアドレスＡＤＲ＿ｎまでのアドレス空間を有している。ＯＳのプログラムは、開始アドレスであるアドレスＡＤＲ＿００から、終了アドレスであるアドレスＡＤＲ＿０１−１の領域に書き込まれている。ここで、アドレスＡＤＲ＿０１−１は、第１アプリケーションのプログラムの領域の開始アドレスＡＤＲ＿０１の一つまえのアドレスを示している。すなわち、アドレスＡＤＲ＿０１−１は、アドレスＡＤＲ＿００で開始される領域の終了アドレスを示すため、次の領域が開始されるアドレスＡＤＲ＿０１から「１」を減算したアドレスである。各図において後述するアドレスＡＤＲ＿ＸＸ−１（ＸＸは所定の数値）とするアドレスの記載も同様である。第１アプリケーションのプログラムは、開始アドレスであるアドレスＡＤＲ＿０１から、終了アドレスであるアドレスＡＤＲ＿０２−１の領域に書き込まれている。第１アプリケーションデータは、開始アドレスであるアドレスＡＤＲ＿０２から、終了アドレスであるアドレスＡＤＲ＿０３−１の領域に書き込まれている。ＯＳデータは、開始アドレスであるアドレスＡＤＲ＿１１から、終了アドレスであるアドレスＡＤＲ＿ｎの領域に書き込まれている。
【００２４】
図３は、メモリマップ記憶部１０４に書き込まれて記憶されているメモリマップを示すアドレステーブルの構成例を示す図である。設計時に定められたフラッシュメモリ２００の全ての領域の情報を示している。アドレステーブルの項目としては、開始アドレス、終了アドレス、使用用途、書換ステータスの各々を有している。開始アドレスは、フラッシュメモリに書き込まれているプログラムあるいはデータの領域の開始のアドレスが示されている。終了アドレスは、フラッシュメモリに書き込まれているプログラムあるいはデータの領域の終了のアドレスが示されている。使用用途は、図２で説明した、ＯＳ、第１アプリケーション、第２アプリケーションなどのプログラム、ＯＳデータ、第１アプリケーションデータ、第２アプリケーションデータなどのデータなどの種別を定義する識別情報が示されている。
【００２５】
書込ステータスフラグは、フラッシュメモリ２００の各領域がデータの書換可である書換可状態にある書換可領域であるか、データの書換不可である書換不可状態にある書換不可領域であるかを定義するステータスを示すフラグである。例えば、書込ステータスフラグが「１」に設定されている場合、この書込ステータスフラグが対応する領域が書込可状態であることを示す。一方、書込ステータスフラグが「０」に設定されている場合、この書込ステータスフラグが対応する領域が書込不可状態であることを示す。
【００２６】
図１に戻り、ＲＡＭ３００は、ＯＳがデータの処理途中において、処理途中のデータなどを一旦記憶させる一時記憶メモリとして使用される。
【００２７】
次に、図２、図４及び図５を用いて第１の実施形態のＩＣカードにおける書換ステータスの変更処理について説明する。図４は、第１の実施形態のＩＣカードにおける書換ステータスの変更処理の動作例を示すフローチャートである。図５は、フラッシュメモリのメモリマップの構成例を説明する概念図である。
【００２８】
ステップＳ１：
外部のサーバが、ＩＣカード１におけるフラッシュメモリ２００の全ての領域を書込可の状態下において、ＯＳのプログラムのインストールを行う。
すなわち、上記サーバは、所定のデータベースからロードしたＯＳのプログラム（実行形式の実行コードに変換されている）を、リーダライタを介して、図２に示す様に、フラッシュメモリ２００におけるアドレスＡＤＲ＿００（開始アドレス）からアドレスＡＤＲ０１−１（終了アドレス）の領域に書き込んで記憶させる。また、サーバは、所定のデータベースからロードしたＯＳデータを、アドレスＡＤＲ＿１１からアドレスＡＤＲ＿ｎの領域に書き込む。
【００２９】
このとき、サーバは、ＯＳデータをアドレスＡＤＲ＿１１からアドレスＡＤＲ＿ｎの領域に書き込んだ後に、メモリマップ記憶部１０４のアドレステーブルにおいてＯＳのプログラムを書き込んだアドレスＡＤＲ＿００からアドレスＡＤＲ０１−１の領域の書換ステータスフラグを、「１」から「０」に書き換え、ＥＥＰＲＯＭ領域（書込可領域）からＲＯＭ領域（書換不可領域）に変更する。また、サーバは、メモリマップ記憶部１０４のアドレステーブルのアドレスＡＤＲ＿０１からアドレスＡＤＲ＿０１−１における領域の使用用途を未使用からＯＳに変更する。同様に、サーバは、アドレステーブルのアドレスＡＤＲ＿１１からアドレスＡＤＲ＿ｎにおける領域の使用用途を未使用からＯＳデータに変更する。
【００３０】
ステップＳ２：
サーバは、所定のデータベースからロードした第１アプリケーションＡｐｐ．１のプログラム（実行形式の実行コードに変換されている）及び第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、リーダライタを介して、図２に示す様に、フラッシュメモリ２００のアドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１、アドレスＡＤＲ＿０２からアドレスＡＤＲ０３−１それぞれの領域に書き込んで記憶させる。
また、サーバは、フラッシュメモリ２００のアドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１、アドレスＡＤＲ＿０２からアドレスＡＤＲ０３−１それぞれの領域の書換ステータスフラグを、「１」から「０」に書き換る。
【００３１】
これにより、サーバは、フラッシュメモリ２００のアドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１、アドレスＡＤＲ＿０２からアドレスＡＤＲ０３−１の各々の領域を、書換可状態のＥＥＰＲＯＭ領域（書込可領域）から、書換不可状態のＲＯＭ領域（書換不可領域）に変更する。また、サーバは、アドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１の領域におけるアドレステーブルの使用用途を、未使用からアプリケーションＡｐｐ．１に変更する。同様に、サーバは、アドレスＡＤＲ＿０２からアドレスＡＤＲ０３−１の領域におけるアドレステーブルの使用用途を、未使用からアプリケーションＡｐｐ．１に変更する。
【００３２】
ステップＳ３：
サーバは、ＯＳの初期化の処理を行う。すなわち、サーバは、ＯＳのプログラムのバージョン情報、ＯＳのシリアル番号及び処理ステータスなど、ＯＳ部１０１が使用するデータをＯＳデータにおけるディフォルト値に上書きする。ここで、処理ステータスは、ＩＣカード１に対するアプリケーションのインストールやイニシャライズなどの実行履歴などのステータス（ログ）を示す情報である。
また、サーバは、ＩＣカードが入荷された際、フラッシュメモリ２００やＲＡＭ３００に対して正常にデータの読み書きが行えるか否かを確認するＯＳの動作確認を行う。
【００３３】
ステップＳ４：
ＯＳ部１０１は、ＩＣカード１に最初に電源が供給化された際に起動し、図２に示す様に、フラッシュメモリ２００のアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１に書き込まれている第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを読み出す。そして、ＯＳ部１０１は、複製元から読み出した第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、アドレスＡＤＲ＿１０からアドレスＡＤＲ１１−１の領域に書き込む。これにより、ＯＳ部１０１は、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの複製（コピー）処理を行う。
【００３４】
ステップＳ５：
ＯＳ部１０１は、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの複製処理が終了した後、ステータス変更部１０２を起動する。
ステータス変更部１０２は、図５に示す様に、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの複製元のアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１までの領域を書込不可状態から書込可状態に変更する。すなわち、ステータス変更部１０２は、アドレステーブルにおいてアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１までの領域の書換ステータスビットを、「０」から「１」に書き換え、ＲＯＭ領域（書込不可領域）からＥＥＰＲＯＭ領域（書換可領域）に変更する。このとき、ＯＳ部１０１は、アドレステーブルの使用用途を第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡから未使用に変更する。これにより、アドレスＡＤＲ＿０２からアドレスＡＤＲ＿１０−１までが、フラッシュメモリのメモリ空間においてまとまった未使用領域となる。
【００３５】
ステップＳ６：
次に、サーバは、ＯＳ部１０１を介して、外部のサーバから供給されるユーザＩＤ、パスワード、カード番号などの第１アプリケーションＡｐｐ．１のパーソナライズ（初期化して活性化の処理）に必要なデータであるパーソナルデータを入力する。そして、サーバは、アドレスＡＤＲ＿１０からアドレスＡＤＲ１１−１の領域における第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡにおける予め設定されたアドレスのディフォルト値のデータに対して上記パーソナルデータを上書きし、第１アプリケーションＡｐｐ．１の初期化を行う。
【００３６】
これにより、サーバは、第１アプリケーションＡｐｐ．１に対応した種々のサービスを受けるための機能をＩＣカード１に付加するための初期化を終了する。
そして、サーバは、ＯＳ部１０１を介して第１アプリケーションを起動し、パーソナライズした結果において、ユーザＩＤ、パスワード、カード番号など個人認証が行えるパーソナルデータが第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡに書き込まれ、個人認証が行えるか否かの動作確認を行う。
【００３７】
ステップＳ７：
サーバは、ＯＳ部１０１を介して、外部のサーバから供給される第１アプリケーションの活性化に必要な発行データを、アドレスＡＤＲ＿１０からアドレスＡＤＲ１１−１の領域におけるアプリケーションデータＡｐｐ．１＿ＤＡＴＡの予め設定されたアドレスのディフォルト値に対して上書きし、第１アプリケーションと第１アプリケーションのサービスを行うサービスサーバとのデータの送受信機能を活性化することにより、ＩＣカード１のパーソナライズを行う。
【００３８】
ステップＳ８：
そして、サーバは、ＯＳ部１０１を介して、第１アプリケーションＡｐｐ．１を起動し、ユーザＩＤ、パスワード、カード番号及び発行データなどにより、上記サービスサーバに接続してサービス処理が受けられる状態にあるか否かの確認を行う。すなわち、サーバは、サービスサーバにおけるユーザの登録データと、アプリケーションデータＡｐｐ．１＿ＤＡＴＡに書き込まれているユーザＩＤ、パスワード、カード番号及び発行データなどとが一致していることを確認し、各データの設定値の確認を行い、処理を終了する。
【００３９】
図６は、第２アプリケーションがインストールされた際のフラッシュメモリ２００におけるメモリマップの構成例を説明する概念図である。
図５に示す未使用領域となったアドレスＡＤＲ＿０２からアドレスＡＤＲ＿１０−１の領域に、図６に示す様に、第１アプリケーションＡｐｐ．１と異なる第２アプリケーションＡｐｐ．２と、この第２アプリケーションＡｐｐ．２が使用するデータである第２アプリケーションデータＡｐｐ．１＿ＤＡＴＡがサーバにより、リーダライタを介して書き込まれる。
【００４０】
ここで、フラッシュメモリ２００未使用領域において、プログラム（ＯＳあるいはアプリケーション）は小さいアドレスから大きなアドレスに向かい、データは大きいアドレスから小さいアドレスに向かって順次書き込まれる。すなわち、プログラム及びデータの各々は、それぞれ連続して書き込まれる。
ＯＳ部１０１は、第２アプリケーションＡｐｐ．２が書き込まれたアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０４−１の領域を書換可状態（ＥＥＰＲＯＭ領域）から書換不可状態（ＲＯＭ領域）に変更する。
【００４１】
すなわち、ＯＳ部１０１は、アドレステーブルにおける書換ステータスビットを「１」から「０」に変更し、使用用途の欄に第２アプリケーションＡｐｐ．２を示す識別情報を書き込む。
また、ＯＳ部１０１は、第２アプリケーションデータＡｐｐ．２＿ＤＡＴＡが書き込まれたアドレスＡＤＲ＿０５からアドレスＡＤＲ＿１０−１の領域の使用用途の欄に第２アプリケーションデータＡｐｐ．２＿ＤＡＴＡを示す識別情報を書き込む。
【００４２】
上述したように、本実施形態に依れば、フラッシュメモリ２００の各領域の書換状態を、書換ステータスを書換可状態または書換不可状態のいずれかに設定することにより、所定の領域を従来のＲＯＭ領域及びＥＥＰＲＯＭ領域とに任意に変更することが可能となり、例えば、第１アプリケーションデータＡｐｐ．２＿ＤＡＴＡの複製が終了した後、複製元のデータ領域を書換状態を変更させて開放するなどの処理が可能となり、メモリ空間の使用効率を向上させることができる。
【００４３】
＜第２の実施形態＞
以下、図面を参照して、本発明の第２の実施形態について説明する。本実施形態におけるＩＣカード１の構成は、第１の実施形態と同様である。以下、第１の実施形態と異なる構成及び動作についての説明を行う。
本実施形態においては、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、第１アプリケーションＡｐｐ．１をフラッシュメモリ２００に書き込む際、アプリケーションＡｐｐ．１とともにフラッシュメモリに従来のＲＯＭ領域に相当するアドレスの領域に書き込むのではなく、従来のＥＥＰＲＯＭ領域に相当するアドレスの領域に書き込む本実施形態においても、第１の実施形態と同様に、外部のサーバが、ＩＣカード１におけるフラッシュメモリ２００の全ての領域を書込可の状態下において、ＯＳのプログラムのインストールを行う。
【００４４】
すなわち、本実施形態においては、第１の実施形態のように、フラッシュメモリ２００において、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、一旦ＲＯＭ領域に書き込んだ後、ＲＯＭ領域の複製元の領域から、ＥＥＰＲＯＭ領域の複製先の領域に複製しない。サーバは、ＩＣカード１に対する第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡのフラッシュメモリ２００への書き込み処理において、はじめから上記複製先の領域に書き込むインストールを行う。
【００４５】
図７は、第２の実施形態におけるフラッシュメモリのメモリマップの構成例を説明する概念図である。サーバは、ＯＳ及びアプリケーションＡｐｐ．１の各々を、フラッシュメモリ２００のアドレスＡＤＲ＿００からアドレスＡＤＲ０１−１、アドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１それぞれの領域に書き込む。そして、サーバは、アドレステーブルにおけるアドレスＡＤＲ＿００からアドレスＡＤＲ０１−１、アドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１の各々の領域の書換ステータスフラグを「１」から「０」に変更し、それぞれの領域を書込不可状態とする。また、サーバは、アドレステーブルにおけるアドレスＡＤＲ＿００からアドレスＡＤＲ０１−１、アドレスＡＤＲ＿０１からアドレスＡＤＲ０２−１の各々の領域の使用用途を、それぞれＯＳ、第１アプリケーションＡｐｐ．１とする。
【００４６】
また、サーバは、アプリケーションデータＡｐｐ．１＿ＤＡＴＡ及びＯＳデータの各々を、フラッシュメモリ２００のアドレスＡＤＲ＿１０からアドレスＡＤＲ１１−１、アドレスＡＤＲ＿１１からアドレスＡＤＲ＿ｎまでのそれぞれの領域に書き込む。サーバは、フラッシュメモリ２００のアドレスＡＤＲ＿１０からアドレスＡＤＲ１１−１、アドレスＡＤＲ＿１１からアドレスＡＤＲ＿ｎの各々のアドレステーブルにおける使用用途を、それぞれ第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡ、ＯＳデータとする。
【００４７】
図７に示されるように、第１の実施形態における第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが書き込まれるフラッシュメモリのアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１までの領域が、本実施形態においては、第１アプリケーションＡｐｐ．１が書き込まれないため、ＩＣカード１が製造された際の初期状態から未使用のＥＥＰＲＯＭ領域である。
このため、本実施形態によれば、第１の実施形態と同様に、フラッシュメモリ２００のメモリ空間を効率的に使用することができ、かつ第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの複製を、ＲＯＭ領域からＥＥＰＲＯＭ領域に対して行う必要がないため、第１アプリケーションＡｐｐ．１の初期化における時間が第１の実施形態に比較して短縮される効果がある。
【００４８】
また、本実施形態においては、フラッシュメモリ２００における第１アプリケーションＡｐｐ．１＿ＤＡＴＡを書き込むアドレスＡＤＲ＿１０からアドレスＡＤＲ＿１１−１の領域を、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを書き込む前、例えば設計時点においてに予め決めておく必要がある。
例えば、実験として、第１の実施形態における手法において、図２に示されるように、サーバによりＯＳ、ＯＳデータ、第１アプリケーションＡｐｐ．１、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの各々をフラッシュメモリ２００に書き込ませる。そして、ＯＳ部１０１により、ＲＯＭ領域の第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡをＥＥＰＲＯＭ領域に複製させる。そして、複製された第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが複製された領域のアドレスＡＤＲ＿１０からアドレスＡＤＲ＿１１−１を抽出する。これにより、本実施形態においては、サーバがＩＣカード１のフラッシュメモリ２００に対して第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを書き込む際、上記実験の結果から、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを書き込むフラッシュメモリ２００の領域として、抽出されたアドレスＡＤＲ＿１０からアドレスＡＤＲ＿１１−１の領域を設定する。
【００４９】
上述したように、本実施形態においては、ＩＣカード１のメモリ空間の設計時において一旦、第１の実施形態と同様の処理を実験として行い、予めフラッシュメモリ２００におけるいずれのアドレスに第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが書き込まれるかを確認する。そして、本実施形態においては、第１アプリケーションＡｐｐ．１のインストール時に、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡをＥＥＰＲＯＭ領域に上記実験により求めたアドレスＡＤＲ＿１０からアドレス＿１１−１の領域に書き込む。
ＯＳの初期化及び動作確認と、第１アプリケーションＡｐｐ．１の初期化、パーソナライズ及び確認との動作は、第１の実施形態と同様である。
【００５０】
＜第３の実施形態＞
以下、図面を参照して、本発明の第３の実施形態について説明する。本実施形態におけるＩＣカード１の構成は、第１の実施形態と同様である。以下、第１の実施形態と異なる構成及び動作についての説明を行う。
本実施形態においては、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡを、ＯＳの初期化の際にＥＥＰＲＯＭ領域への複製を行わない。本実施形態においては、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが書き込まれている領域を、ＯＳの初期化の際に、書換可状態のＥＥＰＲＯＭ領域とする。
本実施形態においても、第１及び第２の実施形態と同様に、ＩＣカード１におけるフラッシュメモリ２００の全ての領域を書込可の状態下において、ＯＳ、第１アプリケーションＡｐｐ．１及び第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの各々を、フラッシュメモリ２００に対して書き込む処理を行う。
【００５１】
図８は、第３の実施形態におけるフラッシュメモリのメモリマップの構成例を説明する概念図である。この図８に示すように、第１の実施形態と同様に、ＯＳ、第１アプリケーションＡｐｐ．１及び第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの各々がフラッシュメモリ２００に書き込まれる。このとき、また、ＯＳ、第１アプリケーションＡｐｐ．１及び第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの各々が書き込まれたアドレスＡＤＲ＿００からアドレスＡＤＲ＿０１−１、アドレスＡＤＲ＿０１からアドレスＡＤＲ＿０２−１、アドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１それぞれが、書換不可状態とされＲＯＭ領域となる。一方、サーバは、ＯＳデータをフラッシュメモリ２００のアドレスＡＤＲ＿１１からアドレスＡＤＲｎに書き込む。
【００５２】
そして、ＯＳの初期化の際、ＯＳ部１０１は、ステータス変更部１０２を起動し、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡが記憶されているアドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１の領域を、書込可のＥＥＰＲＯＭ領域に変更する。これにより、アドレスＡＤＲ＿０２からアドレスＡＤＲ＿０３−１における第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡのデータを変更することが可能となる。
【００５３】
上述したように、本実施形態においては、第１の実施形態のようにＥＥＰＲＯＭ領域に複製した後に、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの書き込まれた領域をＲＯＭ領域からＥＥＰＲＯＭ領域として解放するのではなく、複製せずに書換ステータスのみをＥＥＰＲＯＭ領域として用いる。
これにより、本実施形態によれば、第１の実施形態と同様に、フラッシュメモリ２００のメモリ空間を効率的に使用することができ、かつ第２の実施形態と同様に、第１アプリケーションデータＡｐｐ．１＿ＤＡＴＡの複製を行う必要がないため、第１アプリケーションＡｐｐ．１の初期化における時間が第１の実施形態に比較して短縮される効果がある。
ＯＳの初期化及び動作確認と、第１アプリケーションＡｐｐ．１の初期化、パーソナライズ及び確認との動作は、第１の実施形態と同様である。
【００５４】
また、図１による第１の実施形態、第２の実施形態及び第３の実施形態の各々のＩＣカードの各々の部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりＩＣカードにおけるアプリケーションのインストール及びサービスに関する処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００５５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５６】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイルであっても良い。
【００５７】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５８】
１…ＩＣカード
１００…カード制御部
１０１…ＯＳ部
１０２…ステータス変更部
１０３…入出力制御部
１０４…メモリマップ記憶部
２００…フラッシュメモリ
３００…ＲＡＭ
【図１】
0006662140.tif 000002
【図２】
0006662140.tif 000003
【図３】
0006662140.tif 000004
【図４】
0006662140.tif 000005
【図５】
0006662140.tif 000006
【図６】
0006662140.tif 000007
【図７】
0006662140.tif 000008
【図８】
0006662140.tif 000009
【図９】
0006662140.tif 000010
【図１０】
0006662140.tif 000011