(57)【要約】  【課題】  ＩＣカードにおける、複雑なアクセス管理機能を簡略化すること。  【解決手段】  アプリケーションプログラムの格納アドレスを示すアプリケーションデータ配置情報を生成し、メモリアクセス監視を行う。アプリケーションプログラムのデータが不揮発性メモリ中に連続して配置されるように生成することで、メモリアクセス監視機能の処理を簡略化する。【選択図】  図４
2005339054.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおいて、
アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロード部と、
前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成部と、
不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置部と、
前記アプリケーション配置情報を参照して、アプリケーションプログラムのメモリアクセス状態を監視するメモリアクセス監視部とを備え、
前記アプリケーションデータ配置情報生成部は、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする半導体メモリカード。
【請求項２】
前記アプリケーション情報はアプリケーションコードと変数とスタックとデータからなることを特徴とする請求項１記載の半導体メモリカード。
【請求項３】
前記アプリケーションデータ配置情報生成部は、前記アプリケーション情報のうち、スタック領域を多重化して配置するように前記アプリケーション配置情報を生成することを特徴とする請求項２記載の半導体メモリカード。
【請求項４】
前記不揮発性メモリは、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）またはＭＲＡＭ(Ｍａｇｎｅｔｏｒｏｒｅｓｉｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)またはＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）であることを特徴とする請求項１記載の半導体メモリカード。
【請求項５】
アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおけるメモリ配置方法であって、
アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロードステップと、
前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成ステップと、
不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置ステップとを備え、
前記アプリケーションデータ配置情報生成ステップは、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする半導体メモリカードのメモリ配置方法。
【請求項６】
アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおけるメモリ配置プログラムであって、
アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロードステップと、
前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成ステップと、
不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置ステップとを備え、
前記アプリケーションデータ配置情報生成ステップは、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする半導体メモリカードのメモリ配置プログラム。
【請求項７】
アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードの集積回路であって、
アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロード部と、
前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成部と、
不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置部と、
前記アプリケーション配置情報を参照して、アプリケーションプログラムのメモリアクセス状態を監視するメモリアクセス監視部とを備え、
前記アプリケーションデータ配置情報生成部は、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする半導体メモリカードの集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションのダウンロード機能を有する半導体メモリカードに関し、特に、ダウンロードアプリケーションのメモリ配置方法に関するものである。
【背景技術】
【０００２】
近年、クレジットカードをはじめ多くの磁気カードが半導体メモリカードへ転換されてきている。その理由として、半導体メモリカードは、磁気カードに比べて記憶容量が大きいことはもとより、格納される個人情報等の情報漏えいを防ぐセキュリティ機能が強化されていることが特徴として挙げられる。上記格納データの保護機能を持った半導体メモリカードの代表としてＩＣカードがある。
図２は一般的なＩＣカードの内部構造を示す図である。プログラムを格納するＲＯＭ２０３、プログラム実行の際に用いられるデータを一時的に格納するＲＡＭ２０２、ＲＯＭ２０３に記憶されたプログラムに従って各種コマンド処理等の制御処理を行うＣＰＵ２０１、外部からダウンロードされたデータを格納する書き換え可能な不揮発性メモリＦｅＲＡＭ２０４、メモリのアクセス状況を監視するメモリアクセス監視部２０６により構成されている。
ところで、このＩＣカードは、通常、一枚のＩＣカードに対し、電子マネー等の単一のサービスのみ提供してきたが、近年のＩＣカードにおけるメモリの記憶容量とアクセス速度の向上、そして、ＣＰＵの処理速度の向上によって、一枚のＩＣカードに対し、複数のサービスを提供するＩＣカードが提案されつつある。また、書き換え不能なＲＯＭにアプリケーションデータを静的に組み込むだけではなく、書き換え可能な不揮発性メモリへアプリケーションデータを動的に追加したり、削除したりする機能を有したＩＣカードも提案されている。これらにより、利用者が異なるサービスを提供するＩＣカードを複数枚所持する必要をなくし、一枚のＩＣカードにより、異なる複数のサービスを享受することが可能となる。このような、複数のサービスを提供するＩＣカードは、複数のアプリケーションを備えているので、該ＩＣカードは、マルチアプリケーション対応のＩＣカードと呼ばれている。なお、本書では、以降の説明において、単にＩＣカードを示す場合は、マルチアプリケーション対応のＩＣカードを意味する。
なお、ＦｅＲＡＭ２０４は、ＥＥＰＲＯＭと同様の不揮発性メモリであるが、メモリアクセス速度が速いという特性がある。そのため、ＲＡＭのようなワーキングメモリとしても、ＥＥＰＲＯＭのようなストレージメモリとしても利用できるというメリットがある。
【０００３】
図３は、従来のＩＣカードにおいて、アプリケーションデータがダウンロードされた際のメモリ配置図である。ダウンロードされたアプリケーションデータは、アプリケーションコード３２１とそのアプリケーションが使用するデータ（ファイルシステム等）３２２は、不揮発性メモリのＦｅＲＡＭ２０４へ配置される。また、アプリケーションが使用する変数３１１とスタック３１２は、ＲＡＭ２０２へ配置される。
図３を例として参照すると上記配置は、変数３１１はＲＡＭ２０２の領域０ｘ０００００１００〜０ｘ０００００５００に配置され、スタック３１２はＲＡＭ２０２の領域０ｘ００００１４００〜０ｘ００００１８００に配置され、アプリケーションコード３２１はＦｅＲＡＭ２０４の領域０ｘ８００００１００〜０ｘ８０００３０００に配置され、データを格納するファイルシステム３２２はＦｅＲＡＭ２０４の領域０ｘ８０００６０００〜０ｘ８０００６５００に配置される。
そのため、例えば、あるダウンロードしたアプリケーションデータに係る情報は、ＲＡＭ２０２とＦｅＲＡＭ２０４に分かれて配置されるだけでなく、同一のメモリにあっても、例えば変数とスタックは非連続な領域へ配置される。
【特許文献１】特開２００３−２２４２５号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の構成では、一つのアプリケーションを動作させる場合、メモリアクセス監視部２０６にて、複数の領域を監視する必要があるため、アクセス監視機能がより複雑となる。また、特に、二つ以上のアプリケーションを同時に実行し、ディスパッチが頻繁に発生する場合、そのディスパッチごとにアクセス管理機能は、管理範囲を複数変更する必要があるため、変更時に発生するオーバーヘッドは、無視出来ない処理量となる課題も有していた。
【０００５】
本発明は、前記従来の課題を解決するもので、アプリケーションを実行する際に必要な情報、つまり、コード、変数、スタック、そして、関連データを不揮発性メモリに連続配置する機能を提供することにより、管理範囲を単一化し、アクセス管理機能の処理を簡略化することを目的とする。
【課題を解決するための手段】
【０００６】
前記従来の課題を解決するために、本発明の、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおいて、アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロード部と、取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成部と、不揮発性メモリにアプリケーション情報をアプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置部と、アプリケーション配置情報を参照して、アプリケーションプログラムのメモリアクセス状態を監視するメモリアクセス監視部とを備え、アプリケーションデータ配置情報生成部は、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成するようにした。
【０００７】
なお、本発明の半導体メモリカードにおける不揮発性メモリとはＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）またはＭＲＡＭ(Ｍａｇｎｅｔｏｒｏｒｅｓｉｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)またはＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）である。
【０００８】
なお、本発明の半導体メモリカードにおけるアプリケーションデータ配置情報生成部が生成するアプリケーション情報はアプリケーションコード、変数、スタック、データからなる。
【０００９】
本発明の、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおいて、アプリケーションデータ配置情報生成部はアプリケーション情報のうち、スタック領域を多重化して配置するように前記アプリケーション配置情報を生成するようにした。
【００１０】
また本発明の半導体メモリカードのメモリ配置方法は、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおけるメモリ配置方法であって、アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロードステップと、前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成ステップと、不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置ステップとを備え、前記アプリケーションデータ配置情報生成ステップは、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする。
【００１１】
また本発明の半導体メモリカードのメモリ配置プログラムは、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおけるメモリ配置プログラムであって、アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロードステップと、前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成ステップと、不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置ステップとを備え、前記アプリケーションデータ配置情報生成ステップは、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする。
【００１２】
また本発明の半導体メモリカードの集積回路は、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードの集積回路であって、アプリケーションプログラムデータを外部機器より取得するアプリケーションデータダウンロード部と、前記取得したアプリケーションプログラムデータから、アプリケーションの動作に必要なアプリケーション情報と、該アプリケーション情報の前記不揮発性メモリ中での格納アドレスで構成されるアプリケーション配置情報を生成するアプリケーションデータ配置情報生成部と、不揮発性メモリに前記アプリケーション情報を前記アプリケーション配置情報に基づいて配置するアプリケーションデータ情報配置部と、前記アプリケーション配置情報を参照して、アプリケーションプログラムのメモリアクセス状態を監視するメモリアクセス監視部とを備え、前記アプリケーションデータ配置情報生成部は、前記アプリケーション情報が不揮発性メモリ中に連続して配置されるように前記アプリケーション配置情報を生成することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、アプリケーションプログラムデータを格納する不揮発性メモリを有する半導体メモリカードにおいて、単一の領域を監視することにより、アプリケーションが使用する全てのリソースを監視することが可能となる。結果、メモリアクセス監視部の簡略化が可能となる。また、アクセス頻度の向上により、不揮発性メモリの破損頻度の向上が課題として挙げられるが、スタックの多重化により、その発生率を低減することが可能となる。
本発明のアプリケーションプログラムデータを外部サーバー機器より取得する手段と、そのアプリケーションプログラムデータからアプリケーションデータ情報を生成する手段とそのアプリケーションデータを連続して配置する手段により、アプリケーションのアクセス管理の処理が簡略化出来る。
さらに、アプリケーション情報に含まれるスタック領域を多重化することにより、不揮発性メモリの破損を防ぐことが出来る。
【発明を実施するための最良の形態】
【００１４】
以下本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
まず始めに、本発明に係るＩＣカードの実施形態のうち、使用形態について説明する。図１における使用環境を想定した場合、ＩＣカード２００を保有するユーザは、カードリーダライタ１２１、及び、ポータブルデバイス１２２、及び、発行端末１２３へ、ＩＣカード２００を接続することにより、各種サービスの提供を受ける。
図１の使用環境について詳しく説明する。図１の使用環境は、各種アプリケーションデータを管理保有するサーバー１００、サーバーと各種端末まで相互接続するネットワーク１１０、そして、各種端末である、カードリーダライタ１２１、ポータブルデバイス１２２、発行端末１２３、さらに、ユーザが保有するＩＣカード２００によって構成される。少なくとも、サーバー１００は、０個以上のＩＣカードへダウンロード出来るアプリケーションＡＰ＿１（１０１）、ＡＰ＿２（１０２）等を保有することが可能であり、また、端末からの要求に応じて、ダウンロードが可能ならば、対応するアプリケーションを端末へ送信する手段を有する。また、各種端末は、少なくとも、ＩＣカードからの新規サービスの要求を、ホストに要求する手段と要求によって得られたアプリケーションデータをＩＣカードへ送信する手段を有する環境である。
ユーザに新規サービスを提供する場合、つまり、ＩＣカード２００にアプリケーションデータ１０１をダウンロードするケースについて説明する。ＩＣカード２００が各種端末、カードリーダライタ１２１、ポータブルデバイス１２２、発行端末１２３に接続した状態で、新規サービスの取得を要求した場合、各種端末からネットワーク１１０を介してサーバー１００へ要求が送信される。サーバーは、要求に応じて、アプリケーションデータの配信をＩＣカードが接続されている端末へ行う。端末は、サーバー１００から配信されたアプリケーションデータを、ＩＣカード２００へ送信する。ＩＣカードは、送信されたアプリケーションデータを後の手順に従って、ＩＣカード内へダウンロードする。
【００１５】
次に、図４、図５、図６および図７を参照して、アプリケーションデータのダウンロード処理を説明する。図４は、本発明の実施の形態１における機能ブロック図である。図５は、本発明の実施の形態１におけるアプリケーションデータのダウンロード処理のフローチャートである。図６はＦｅＲＡＭ２０４内部のメモリ配置状態を示す。図７はアプリケーションデータのＦｅＲＡＭ２０４内部のメモリ配置状態を示す。
アプリケーションデータダウンロード部４０１は、サーバー１００よりアプリケーションデータを取得する(ステップＳＴ５０１)。
アプリケーションデータ配置情報生成部４０２は、取得したアプリケーションデータから、アプリケーションコード６０１のＦｅＲＡＭ２０４内格納アドレス６１１、変数６０２のＦｅＲＡＭ２０４内格納アドレス６１２、スタック６０３の内格納アドレス６１３、データ６０４のＦｅＲＡＭ２０４内格納アドレス６１４を示すアプリケーションデータ配置情報６０５を生成し、ＦｅＲＡＭ２０４の所定のアドレスに格納する（ステップＳＴ５０２）。ここで、上記各データ領域は連続した領域に配置するようアドレスを決定する。また、アプリケーションデータ配置情報６０５はダウンロードしたアプリケーションごとに別の領域に格納される。
上記各データは、アプリケーションデータ配置情報６０５に基づきＦｅＲＡＭ２０４に格納される（ステップＳＴ５０３）。
【００１６】
以後、メモリアクセス監視部４０４は所定のアプリケーションに対するメモリアクセス状況をメモリ領域の開始アドレスとメモリ領域の終了アドレスのみを管理することで監視することが可能となる。メモリ領域の開始アドレスとメモリ領域の終了アドレスは、アプリケーションデータ配置情報６０５を参照すれば分かるが、さらにメモリ領域の開始アドレスとメモリ領域の終了アドレスの部分のみ特別に管理するアクセス管理テーブル７００に登録することによりメモリアクセス監視部４０４の処理上の便宜を図ること可能である（ステップＳＴ５０４）。
なお、アプリケーションデータ配置情報生成部４０２は、アプリケーションデータ配置情報６０５を生成する際、ＦｅＲＡＭ２０４の空き領域を検索して配置アドレスを決定する。また、空き領域を検索する際、メモリセルの故障による不良メモリブロックを回避することは言うまでもない。
【００１７】
（実施の形態２）
図８は、実施の形態１とは異なる、アプリケーションデータ配置情報８００を示している。アプリケーションデータ配置情報６０５では、スタック領域６０３が一つであったのに対し、アプリケーションデータ配置情報８００ではスタックａ６０３ａとスタックｂ６０３ｂの二つが存在する。
上記スタック構成により、アプリケーション実行では、二つスタックを所定のタイミングで交互に使い分けることが出来る。他データ領域に比べ使用頻度の高いスタックを２重化することで、ウェアレベリング機能を持たせることが可能となる。
なお、本実施の形態において、スタックを２つにて構成しているが、２つ以上でもよい。
【００１８】
（実施の形態１〜実施の形態２の第１の補足事項）
以上、実施形態１、２説明した。尚、これまでの説明において本発明の半導体メモリカードにおいて備えている、
アプリケーションデータダウンロード部、アプリケーションデータ配置情報生成部、アプリケーションデータ配置部、メモリアクセス監視部などは、コンピュータプログラムとして実現される。当該プログラムは、半導体メモリカードのＲＯＭに格納され実行されるものと、外部よりダウンロードされ、不揮発性メモリに格納され実行されるものとがある。
【００１９】
（実施の形態１〜実施の形態２の第２の補足事項）
また、さらに、上述の機能ブロックは、ＣＰＵ、ＲＡＭ、ＲＯＭ、不揮発性メモリ等のハードウェア資源との組み合わせにより、集積回路であるＬＳＩとして実現される場合がある。これらは、個別に１チップ化されても良いし、一部又はすべてを含むように１チップ化されても良い。
図９に実施の形態１、実施の形態２おける集積回路化の一例を示す。ＬＳＩ９００は集積回路化の一例を示し、集積回路化する機能ブロックの範囲の例である。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製作後にプログラムすることが可能なＦＰＧＡ(Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ)やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術、有機化学技術等の適用が可能性としてありえる。
【産業上の利用可能性】
【００２０】
本発明に係る不揮発性メモリを有する半導体メモリカードおよび、アプリケーションデータ配置方法は、マルチアプリケーション環境におけるデータ保護機能に優れるため、マルチアプリケーション対応のＩＣカードなどの用途が考えられる。
【図面の簡単な説明】
【００２１】
【図１】本発明のＩＣカードの使用環境図
【図２】本発明のＩＣカードのハードウェア構成図
【図３】従来のＩＣカードにおけるダウンロードアプリケーションデータの配置図
【図４】本発明のＩＣカードのソフトウェア構成図
【図５】本発明のＩＣカードにおけるダウンロードアプリケーションデータの配置処理を示すフローチャート
【図６】本発明のＩＣカードにおけるダウンロードアプリケーションデータの配置図
【図７】本発明のＩＣカードにおけるダウンロードアプリケーションデータのメモリ領域の開始アドレスとメモリ領域の終了アドレスの部分のみを管理するアクセス管理テーブル
【図８】本発明のＩＣカードにおけるダウンロードアプリケーションデータのスタックを２重化した場合の配置図
【図９】本発明のＩＣカードの機能を集積回路化した場合の構成例
【符号の説明】
【００２２】
１００  サーバー
４０１  アプリケーションデータダウンロード部
４０２  アプリケーションデータ配置情報生成部
４０３  アプリケーションデータ情報配置部
４０４  メモリアクセス監視部
２０４  ＦｅＲＡＭ
【図１】
2005339054.tif 000003
【図２】
2005339054.tif 000004
【図３】
2005339054.tif 000005
【図４】
2005339054.tif 000006
【図５】
2005339054.tif 000007
【図６】
2005339054.tif 000008
【図７】
2005339054.tif 000009
【図８】
2005339054.tif 000010
【図９】
2005339054.tif 000011