JP4140750B2 - Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 - Google Patents
Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 Download PDFInfo
- Publication number
- JP4140750B2 JP4140750B2 JP2000399932A JP2000399932A JP4140750B2 JP 4140750 B2 JP4140750 B2 JP 4140750B2 JP 2000399932 A JP2000399932 A JP 2000399932A JP 2000399932 A JP2000399932 A JP 2000399932A JP 4140750 B2 JP4140750 B2 JP 4140750B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- temporary
- program
- 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、ICカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体に関する。
【0002】
【従来の技術】
プラスチック・カードに半導体チップを組み込んだ高性能ICカードの需要が高まっている。また、様々な環境でのICカードの利用が求められるようになってきており、それにしたがって、様々なデバイス(CPUやメモリなど)がICカードに用いられるようになっている。
【0003】
図10は従来のICカード内メモリアクセス制御システムを示す図である。
【0004】
100はICカード、101は外部機器、102はICカード100内の制御部、103はICカード100内のメモリアクセス部、104はICカード100内のメモリ(アクセスが比較的低速)、105は外部機器101から制御部102へのコマンド送信、106は制御部102から外部機器101へのレスポンス受信、107は制御部102とメモリアクセス部103間のメモリ読み書き、108はメモリアクセス部103とメモリ104間のメモリ読み書きである。
【0005】
図10に示すようなICカード100内のメモリ104ヘの読み書きを処理する従来のICカード内メモリアクセス制御においては、メモリ104ヘの読み書き要求が発生するごとに、メモリ104ヘ読み書きを行っていた。
【0006】
【発明が解決しようとする課題】
従来、外部機器101から電源が供給されるICカードは、アクセス処理の途中で電源が切れたり、やり直しの要求が発生したりする異常が発生することが多く、処理途中での不整合が多いという問題がある。アクセス処理の途中で、電源断が発生したり、やり直しの要求が発生した場合、電源断時には次の電源投入時に、やり直し要求が発生したときはそのときに、それまで書き込んでいたデータを再び書き込む処理が必要であった。
【0007】
従来では、上記のように、メモリ104ヘの読み書き要求が発生するごとに、メモリ104ヘ読み書きを行っていたので、全体の処理時間に比べて、メモリ読み書きにかかる処理時間が大きい場合、読み書きが比較的低速なメモリ104に読み書きすると、全体としてかなり処理速度が低下する。また、処理時間が長くなる場合、途中で上記異常が発生しやすかった。加えて、上記異常発生時のメモリ104の不整合を修正するために、長い処理時間を要していた。
【0008】
本発明は、上述したような従来のシステムに有する問題に鑑みてなされたもので、その目的は、アクセスが比較的低速なICカード内メモリに対する読み書きを極力減らし、メモリアクセス処理時間の総和を極力少なくすることができるICカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体を提供することにある。
【0009】
また、本発明の別の目的は、トランザクション処理を付加することで、ICカード内メモリに不整合が発生しにくく、かつ、高速に前の状態へ復帰し、あるいは完了することができるICカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体を提供することにある。
【0010】
上記の目的を達成するために、本発明のICカード内メモリアクセス制御方法は、ICカード内のプログラムから前記ICカード内のメモリの前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、前記メモリよりも読み書きの高速な前記ICカード内の一時メモリヘ一時的にデータを書き込み、前記一時メモリの書き込み先のアドレスを保持し、前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、前記一時メモリの、前記所定のアドレスに対するデータが書き込まれている同じ場所へ、書き込みを再度行い、また、前記プログラムからあるアドレスの読み込み要求があったとき、前記一時メモリに書き込まれたデータの読み出しを行い、このアドレスが前記一時メモリに登録されていないときは、前記メモリからデータの読み出しを行い、前記一時メモリが満杯になったとき、または外部からのコマンドに対するレスポンスを送信する前に、前記一時メモリに書き込まれたデータをすべて前記メモリへ格納し、その後、前記一時メモリに書き込まれたデータをすべてクリアし、前記プログラムからの要求により、前記プログラムの要求する時点に、前記一時メモリに書き込まれたデータをすべて前記メモリに書き込み、データの更新を行い、または前記一時メモリに書き込まれたデータをすべてクリアするトランザクション処理を行うことを特徴とする。
【0012】
また、本発明のICカード内メモリアクセス制御装置は、ICカード内メモリに対するプログラムからの書き込みあるいは読み込み要求と、一時メモリに一時的に書き込まれたデータのすべてを前記メモリへ更新し、あるいは前記一時メモリに書き込まれたデータの全てを廃棄する要求を検出する読み書き検出手段と、一時的に書き込まれるデータを前記一時メモリに格納する一時データ格納手段と、前記一時メモリに一時的に書き込んだアドレスを管理する一時データ格納アドレス記憶手段と、アクセス要求されたアドレスのデータが前記一時データ格納アドレス記憶手段に格納されている場合に、前記一時データ格納手段からデータを読み書きし、アクセス要求されたアドレスのデータが前記一時データ格納アドレス記憶手段に格納されていない場合に、前記アクセス要求が読み込み要求のときには前記メモリから読み出し、前記アクセス要求が書き込み要求のときには前記一時データ格納手段にデータを書き込み、かつ、書き込み要求されたアドレスを前記一時データ格納アドレス記憶手段に記憶する一時データアクセス制御手段とを備えたことを特徴とする。
【0013】
さらに本発明のプログラム記録媒体は、ICカード内のプログラムから前記ICカード内のメモリの前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、前記メモリよりも読み書きの高速な前記ICカード内の一時メモリヘ一時的にデータを書き込み、前記一時メモリの書き込み先のアドレスを保持し、前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、前記一時メモリの、前記所定のアドレスに対するデータが書き込まれている同じ場所へ、書き込みを再度行い、また、前記プログラムからあるアドレスの読み込み要求があったとき、前記一時メモリに書き込まれたデータの読み出しを行い、このアドレスが前記一時メモリに登録されていないときは、前記メモリからデータの読み出しを行い、前記一時メモリが満杯になったとき、または外部からのコマンドに対するレスポンスを送信する前に、前記一時メモリに書き込まれたデータをすべて前記メモリへ格納し、その後、前記一時メモリに書き込まれたデータをすべてクリアし、前記プログラムからの要求により、前記プログラムの要求する時点に、前記一時メモリに書き込まれたデータをすべて前記メモリに書き込み、データの更新を行い、または前記一時メモリに書き込まれたデータをすべてクリアするトランザクション処理をICカード内の制御部に実行させるためのアクセスプログラムを格納したことを特徴とする。
【0014】
本発明では、ICカード内に例えばフラッシュメモリなどの大容量でアクセスの比較的低速なメモリと、RAMなどの小容量でアクセスの比較的高速な一時メモリを併せ持たせ、比較的アクセスの低速なメモリのアクセス速度改善とトランザクション機能の追加を図る。すなわち、まず、ICカード内の比較的低速なメモリに対するメモリ読み書き要求を検出する。読み込みの場合、比較的高速な一時メモリに一時的に格納されたデータがあるかどうか確認し、あればそのデータを返し、なければICカード内メモリ制御部にデータ読み出し要求を出し、そのデータを返す。一方、書き込みの場合、一時メモリに一時的な書き込みデータがあれば、その同じ場所に書き込みデータを格納し(上書きし)、なければ新しく格納する。また、データ更新要求を受け取ったときに、一時的に格納されたデータをすべてICカード内のメモリに書き込み、クリアする。
【0015】
従来、ICカード内のメモリヘの読み書きが発生するごとにメモリヘ読み書きしていたのを、本発明では、比較的高速なICカード内の一時メモリヘ一時的に読み書きを行うことで、1回当たりの読み書きの処理速度を向上させる。処理全体として、1回当たりの読み書き処理時間の減少分の合計から、最後にICカード内のメモリに、一時的に格納したデータをすべて更新する処理時間を差し引いた時間だけ全体的に処理速度が向上することになる。
【0016】
また、本発明では、前記一時メモリに一時的に書き込まれたデータを強制的に前記メモリに書き込み(トランザクションコミット)、以降前記一時メモリに対して読み書きを行い、前記プログラムの要求する時点と外部からのコマンドに対するレスポンスを送信するときに、前記一時メモリに書き込まれたデータをすべて前記メモリに書き込み、データの更新を行うことで、データの更新前に電源断が発生しても前記メモリに不整合が発生しない、あるいは、前記一時メモリに書き込まれたデータをすべてクリアする(トランザクションアボート)ことで、強制的に前記メモリに書き込む前の状態に復帰することにより、メモリにアクセスするプログラムを実行している際、電源断ややり直しの要求等の異常が発生した場合、一時メモリヘ書き込む前の状態に即座に戻り、始めから処理をやり直すことが可能となる。
【0017】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態について詳細に説明する。なお、以下で説明する図面で、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【0018】
図1は本発明の実施の形態のICカード内メモリアクセス制御システムを示す図である。
【0019】
10はICカード、11は外部機器、12はICカード10内の制御部、13は読み書き検出手段、14はメモリアクセス部、15はメモリ(アクセスが比較的低速)、16は一時データアクセス制御手段、17は一時データ格納手段、18は一時データ格納アドレス記憶手段、19は一時メモリアクセスモジュール、20は一時メモリ(アクセスが比較的高速)、21は外部機器11から制御部12へのコマンド送信、22は制御部12から外部機器11へのレスポンス受信、23は制御部12と読み書き検出手段13間のメモリ読み書き、24はメモリアクセス部14とメモリ15間のメモリ読み書き、25は一時メモリアクセスモジュール19と一時メモリ20間のメモリ読み書きである。
【0020】
メモリ15は例えばフラッシュメモリなどの大容量でアクセスの比較的低速なメモリであり、一時メモリ20はRAMなどの小容量でアクセスの比較的高速な一時メモリである。
【0021】
本実施の形態においては、ICカード10の内部は制御部12、メモリアクセス部14、メモリ15からなる従来と同様の構成に加えて、読み書き検出手段13、一時データアクセス制御手段16、一時データ格納手段17、一時データ格納アドレス記憶手段18、一時メモリアクセスモジュール19、および一時メモリ20を備える。
【0022】
制御部12は、外部機器11からのコマンドを受け付け、内部のプログラムを実行し、レスポンスを外部機器11に送信するモジュールである。メモリアクセス部14は、メモリ15に対して読み書きを行うモジュールである。一時メモリアクセスモジュール19は、一時メモリ20に対して読み書きを行うモジュールである。
【0023】
図2は本実施の形態のICカード内メモリアクセス制御のメインルーチンの流れを示す図、図3は読み込み処理の流れを示す図、図4は書き込み処理の流れを示す図、図5は更新処理の流れを示す図、図6は廃棄処理の流れを示す図である。
【0024】
以下、図1〜図6を用いて本実施の形態のICカード内メモリアクセス制御の流れについて説明する。
【0025】
外部機器11(図1)からコマンドを受信すると(図2のステップ201)、ICカード10内の制御部12は、電源投入後初めての内部プログラム実行であれば、一時メモリ20を一時メモリアクセスモジュール19を用いて初期化する(ステップ202)。ここで、一時メモリデバイスの特性によっては、一時メモリ20は電源投入時に初期化されている場合があるため、この初期化処理は不必要な場合がある。
【0026】
その後、内部プログラムを実行する(ステップ203)。
【0027】
読み書き検出手段13は、制御部12が実行するプログラムから発生するメモリ15および一時メモリ20への読み込み、書き込み、更新、廃棄の要求を受け(フックし)(ステップ204)、一時データアクセス制御手段16に通知する。
【0028】
もし、読み込み要求である場合(ステップ205)、読み込み処理が開始される(ステップ206)。読み込み処理(図3のステップ301)では、一時メモリ20に読み込み先アドレスが登録されているかを、一時データ格納アドレス記憶手段18に間い合わせる(ステップ302)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いてそのアドレスが格納されているかを一時メモリ20から検索し、有無を返す。有りの場合、一時データアクセス制御手段16は、一時データ格納手段17にそのアドレスのデータを読み出すように要求する(ステップ304)。一時データ格納手段17は、一時メモリアクセスモジュール19を用いて、そのアドレスのデータを一時メモリ20から読み出し、一時データアクセス制御手段16に返す。無しの場合は、メモリアクセス部14を用いてメモリ15からそのアドレスのデータを読み出す(ステップ303)。
【0029】
読み込み要求ではなく、書き込み要求である場合(図2のステップ207)、書き込み処理が開始される(ステップ208)。書き込み処理(図4のステップ401)では、一時メモリ20に書き込み先アドレスが登録されているかを一時データ格納アドレス記憶手段18に間い合わせる(ステップ402)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いて一時メモリ20からそのアドレスが格納されているかを検索し、有無を返す。有りの場合、一時データ格納手段17に一時メモリ20のそのアドレスのデータ部に書き込むように要求する(ステップ404)。一時データ格納手段17は、一時メモリアクセスモジュール19を用いて、そのアドレスのデータを一時メモリ20に書き込む。無しの場合、一時データ格納アドレス記憶手段18にそのアドレスを登録するように要求する(ステップ403)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いて、そのアドレスを登録(書き込み)する。そして、一時データ格納手段17は、書き込むデータを一時メモリアクセスモジュール19を用いて一時メモリ20にデータを書き込む(ステップ404)。
【0030】
書き込み要求ではなく、更新要求である場合(図2のステップ209)、更新処理が開始される(ステップ210)。更新処理(図5のステップ501)では、格納されている全てのアドレスを一時データ格納アドレス記憶手段18から読み出し、かつ、そのアドレスに対応するデータをすべて一時データ格納手段17から読み出し、メモリアクセス部14を用いてメモリ15にすべて書き出す(ステップ502)。その後、一時データ格納手段17に対して一時メモリ20に格納されているすべてのデータのクリアを要求し(ステップ503)、一時データ格納アドレス記憶手段18に対して登録されているアドレスのすべてのクリアを要求する(ステップ504)。一時データ格納アドレス記憶手段18と一時データ格納手段17は、一時メモリアクセスモジュール19を用いて一時メモリ20のクリア処理を行う。
【0031】
更新要求ではなく、廃棄要求である場合(図2のステップ211)、廃棄処理が開始される(ステップ212)。廃棄処理(図6のステップ601)では、一時データ格納手段17に対して格納されているすべてのデータのクリアを要求し(ステップ603)、一時データ格納アドレス記憶手段18に対して登録されているアドレスのすべてクリアを要求する(ステップ602)。一時データ格納アドレス記憶手段18と一時データ格納手段17は、一時メモリアクセスモジュール19を用いて一時メモリ20のクリア処理を行う。
【0032】
以上の要求を読み書き検出手段13によりすべて検出(フック)し、ICカード10内の制御部12による内部プログラム実行が終了するまで繰り返す。内部プログラムが終了した場合(図2のステップ213)、更新処理を行う(ステップ214)。最後に、制御部12は、外部機器11に対してレスポンスを送信して終了する(ステップ215)。
【0033】
図7は、本実施の形態のICカード内メモリアクセス制御のトランザクションを使っている場合のメインルーチンの流れを示す図、図8は書き込み処理の流れを示す図、図9(a)はトランザクション開始処理の流れを示す図、(b)はトランザクション更新処理の流れを示す図、(c)はトランザクション廃棄処理の流れを示す図である。なお、読み込み処理、更新処理、廃棄処理の流れを示す図はそれぞれ図3、図5、図6と同様であるので、図示は省略する。
【0034】
以下、図7〜図9、および図3、図5、図6を用いて本実施の形態のトランザクションを使っている場合のICカード内メモリアクセス制御の流れについて説明する。
【0035】
外部機器11(図1)からコマンドを受信すると(図7のステップ701)、ICカード10内の制御部12は、電源投入後初めての内部プログラム実行であれば、一時メモリ20を一時メモリアクセスモジュール19を用いて初期化する(ステップ702)。ここで、一時メモリデバイスの特性によっては、一時メモリ20は電源投入時に初期化されている場合があるため、この初期化処理は不必要な場合がある。
【0036】
その後、内部プログラムを実行する(ステップ703)。
【0037】
読み書き検出手段13は、制御部12が実行するプログラムから発生するメモリ15および一時メモリ20への読み込み、書き込み、更新、廃棄の要求を受け(フックし)(ステップ704)、一時データアクセス制御手段16に通知する。
【0038】
トランザクション開始要求である場合(ステップ705)、トランザクション開始処理が開始される(ステップ706)。トランザクション開始処理が開始され(図9(a)のステップ901)、開始処理がされ(ステップ902)、トランザクション中フラグをオンにし(ステップ903)、トランザクション開始処理を終了する(ステップ904)。トランザクション開始前に、一時メモリ20にあるデータをすべて書き出す。トランザクション廃棄、あるいは電源断時に、トランザクション開始前の状態に復帰できるようにするためである。トランザクション中フラグは、一時メモリ20が満杯になったとき、内部的にメモリ15に書き出すことを回避するためのものである。もし、回避しなかった場合、トランザクション開始前の状態に復帰できなくなる。
【0039】
トランザクション更新要求である場合(ステップ707)、トランザクション更新処理が開始される(ステップ708)。トランザクション更新処理が開始され(図9(b)のステップ905)、更新処理がされ(ステップ906)、トランザクション中フラグをオフにし(ステップ907)、トランザクション更新処理を終了する(ステップ908)。
【0040】
トランザクション廃棄要求である場合(ステップ709)、トランザクション廃棄処理が開始される(ステップ710)。トランザクション廃棄処理が開始され(図9(c)のステップ909)、廃棄処理がされ(ステップ910)、トランザクション中フラグをオフにし(ステップ911)、トランザクション廃棄処理を終了する(ステップ912)。
【0041】
もし、読み込み要求である場合(ステップ711)、読み込み処理が開始される(ステップ712)。読み込み処理(図3のステップ301)では、一時メモリ20に読み込み先アドレスが登録されているかを、一時データ格納アドレス記憶手段18に間い合わせる(ステップ302)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いてそのアドレスが格納されているかを一時メモリ20から検索し、有無を返す。有りの場合、一時データアクセス制御手段16は、一時データ格納手段17にそのアドレスのデータを読み出すように要求する(ステップ304)。一時データ格納手段17は、一時メモリアクセスモジュール19を用いて、そのアドレスのデータを一時メモリ20から読み出し、一時データアクセス制御手段16に返す。無しの場合は、メモリアクセス部14を用いてメモリ15からそのアドレスのデータを読み出す(ステップ303)。
【0042】
読み込み要求ではなく、書き込み要求である場合(図7のステップ713)、書き込み処理が開始される(ステップ714)。書き込み処理(図8のステップ801)では、一時メモリ20に書き込み先アドレスが登録されているかを一時データ格納アドレス記憶手段18に間い合わせる(ステップ802)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いて一時メモリ20からそのアドレスが格納されているかを検索し、有無を返す。有りの場合、一時データ格納手段17に一時メモリ20のそのアドレスのデータ部に書き込むように要求する(ステップ808)。一時データ格納手段17は、一時メモリアクセスモジュール19を用いて、そのアドレスのデータを一時メモリ20に書き込む。無しの場合、一時メモリ20の空き容量がないかを問い合わせ(ステップ803)、空き容量がある場合、一時データ格納アドレス記憶手段18にそのアドレスを登録するように要求する(ステップ807)。一時データ格納アドレス記憶手段18は、一時メモリアクセスモジュール19を用いて、そのアドレスを登録(書き込み)する。そして、一時データ格納手段17は、書き込むデータを一時メモリアクセスモジュール19を用いて一時メモリ20にデータを書き込む(ステップ808)。一時メモリ20の空き容量がない場合、トランザクション中フラグがオンであるかを問い合わせ(ステップ804)、オフの場合は更新処理を行う(ステップ805)。オンの場合は、内部プログラムにエラーを通知する(ステップ806)。
【0043】
書き込み要求ではなく、更新要求である場合(図7のステップ715)、更新処理が開始される(ステップ716)。更新処理(図5のステップ501)では、格納されている全てのアドレスを一時データ格納アドレス記憶手段18から読み出し、かつ、そのアドレスに対応するデータをすべて一時データ格納手段17から読み出し、メモリアクセス部14を用いてメモリ15にすべて書き出す(ステップ502)。その後、一時データ格納手段17に対して一時メモリ20に格納されているすべてのデータのクリアを要求し(ステップ503)、一時データ格納アドレス記憶手段18に対して登録されているアドレスのすべてのクリアを要求する(ステップ504)。一時データ格納アドレス記憶手段18と一時データ格納手段17は、一時メモリアクセスモジュール19を用いて一時メモリ20のクリア処理を行う。
【0044】
更新要求ではなく、廃棄要求である場合(図7のステップ717)、廃棄処理が開始される(ステップ718)。廃棄処理(図6のステップ601)では、一時データ格納手段17に対して格納されているすべてのデータのクリアを要求し(ステップ603)、一時データ格納アドレス記憶手段18に対して登録されているアドレスのすべてクリアを要求する(ステップ602)。一時データ格納アドレス記憶手段18と一時データ格納手段17は、一時メモリアクセスモジュール19を用いて一時メモリ20のクリア処理を行う。
【0045】
以上の要求を読み書き検出手段13によりすべて検出(フック)し、ICカード10内の制御部12による内部プログラム実行が終了するまで繰り返す。内部プログラムが終了した場合(図7のステップ719)、更新処理を行う(ステップ720)。最後に、制御部12は、外部機器11に対してレスポンスを送信して終了する(ステップ721)。
【0046】
以上のように、本実施の形態のICカード内メモリアクセス制御方法は、ICカード10内のプログラムからICカード10内のメモリ15の前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、メモリ15よりも読み書きの高速なICカード10内の一時メモリ20ヘ一時的にデータを書き込み、一時メモリ20の書き込み先のアドレスを保持し、前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、一時メモリ20ヘ書き込みを再度行い、また、前記プログラムからあるアドレスの読み込み要求があったとき、一時メモリ20に書き込まれたデータの読み出しを行い、このアドレスが一時メモリ20に登録されていないときは、メモリ15からデータの読み出しを行い、一時メモリ20が満杯になったとき、または外部からのコマンドに対するレスポンスを送信するときに、一時メモリ20に書き込まれたデータをすべてメモリ15へ格納し、その後、一時メモリ20に書き込まれたデータをすべてクリアし、前記プログラムからの要求により、前記プログラムの要求する時点に、一時メモリ20に書き込まれたデータをすべてメモリ15に書き込み、データの更新を行い、または一時メモリ20に書き込まれたデータをすべてクリアするトランザクション処理を行う。
【0048】
また、本実施の形態のICカード内メモリアクセス制御装置は、ICカード10内メモリ15に対するプログラムからの書き込みあるいは読み込み要求と、一時メモリ20に一時的に書き込まれたデータのすべてをメモリ15ヘ更新し、あるいは一時メモリ20に書き込まれたデータのすべてを廃棄する要求を検出(フック)する読み書き検出手段13と、一時的に書き込まれるデータを一時メモリ20に格納する一時データ格納手段17と、一時メモリ20に一時的に書き込んだアドレスを管理する一時データ格納アドレス記憶手段18と、アクセス要求されたアドレスのデータが一時データ格納アドレス記憶手段18に格納されている場合、一時データ格納手段17からデータを読み書きし、アクセス要求されたアドレスのデータが一時データ格納アドレス記憶手段18に格納されていない場合、メモリ15から読み出し、一時データ格納手段17にデータを書き込み、かつ、アクセス要求されたアドレスを一時データ格納アドレス記憶手段18に記憶する一時データアクセス制御手段16とを備えている。
【0049】
さらに、本実施の形態のプログラム記憶媒体は、ICカード10内のプログラムからICカード10内のメモリ15の前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、メモリ15よりも読み書きの高速なICカード10内の一時メモリ20ヘ一時的にデータを書き込み、一時メモリ20の書き込み先のアドレスを保持し、前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、一時メモリ20ヘ書き込みを再度行い、また、前記プログラムからあるアドレスの読み込み要求があったとき、一時メモリ20に書き込まれたデータの読み出しを行い、このアドレスが一時メモリ20に登録されていないときは、メモリ15からデータの読み出しを行い、一時メモリ20が満杯になったとき、または外部からのコマンドに対するレスポンスを送信するときに、一時メモリ20に書き込まれたデータをすべてメモリ15へ格納し、その後、一時メモリ20に書き込まれたデータをすべてクリアし、前記プログラムからの要求により、前記プログラムの要求する時点に、一時メモリ20に書き込まれたデータをすべてメモリ15に書き込み、データの更新を行い、または一時メモリ20に書き込まれたデータをすべてクリアするトランザクション処理を行うアクセスプログラムを格納したものである。
【0050】
本発明では、ICカード10内に例えばフラッシュメモリなどの大容量でアクセスの比較的低速なメモリ15と、RAMなどの小容量でアクセスの比較的高速な一時メモリ20を併せ持たせ、比較的アクセスの低速なメモリ15のアクセス速度改善とトランザクション機能の追加を図るものである。
【0051】
従来、ICカード内のメモリヘの読み書きが発生するごとにメモリヘ読み書きしていたのを、本発明では、一時的に比較的高速なICカード内の一時メモリ20ヘ読み書きを行うことで、1回当たりの読み書きの処理速度を向上させる。処理全体として、1回当たりの読み書き処理時間の減少分の合計から、最後にICカード10内のメモリ15に、一時的に格納したデータをすべて更新する処理時間を差し引いた時間だけ全体的に処理速度が向上することになる。
【0052】
また、本実施の形態では、一時メモリ20に一時的に書き込まれたデータを強制的にメモリ15に書き込み、以降一時メモリ20に対して読み書きを行い、プログラムの要求する時点と外部からのコマンドに対するレスポンスを送信するときに、一時メモリ20に書き込まれたデータをすべてメモリ15に書き込み、データの更新を行うことで、データの更新前に電源断が発生してもメモリ15に不整合が発生しない、あるいは、一時メモリ20に書き込まれたデータをすべてクリアすることで、強制的にメモリ15に書き込む前の状態に復帰することにより、メモリアクセスするプログラムを実行している際、電源断ややり直しの要求等の異常が発生した場合、一時メモリ20ヘ書き込む前の状態に即座に戻り、始めから処理をやり直すことが可能となる。なお、RAMから構成される一時メモリ20は、電源断により書き込み中のデータは自動的にクリアされる。
【0053】
以上のように、本実施の形態では、▲1▼比較的低速なICカード10内のメモリ15に対する読み書きを高速に行うことができ、▲2▼異常発生時の復元処理ややり直し処理時の廃棄処理、更新処理を高速に行うことができる、という効果が得られる。
【0054】
以上本発明を実施の形態に基づいて具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【0055】
【発明の効果】
以上説明したように、本発明によれば、▲1▼比較的低速なICカード内メモリに対する読み書きを高速に行うことができ、▲2▼異常発生時の復元処理ややり直し処理時の廃棄処理、更新処理を高速に行うことができる、という効果が得られる。
【図面の簡単な説明】
【図1】図1は本発明の実施の形態のICカード内メモリアクセス制御システムを示す図である。
【図2】本実施の形態のICカード内メモリアクセス制御のメインルーチンの流れを示す図である。
【図3】本実施の形態のICカード内メモリアクセス制御の読み込み処理の流れを示す図である。
【図4】本実施の形態のICカード内メモリアクセス制御の書き込み処理の流れを示す図である。
【図5】本実施の形態のICカード内メモリアクセス制御の更新処理の流れを示す図である。
【図6】本実施の形態のICカード内メモリアクセス制御の廃棄処理の流れを示す図である。
【図7】本実施の形態のICカード内メモリアクセス制御のトランザクションを使っている場合のメインルーチンの流れを示す図である。
【図8】本実施の形態のトランザクションを使っている場合の書き込み処理の流れを示す図である。
【図9】(a)は本実施の形態のトランザクション開始処理の流れを示す図、(b)はトランザクション更新処理の流れを示す図、(c)はトランザクション廃棄処理の流れを示す図である。
【図10】従来のICカード内メモリアクセス制御システムを示す図である。
【符号の説明】
10…ICカード、11…外部機器、12…制御部、13…読み書き検出手段、14…メモリアクセス部、15…メモリ(アクセスが比較的低速)、16…一時データアクセス制御手段、17…一時データ格納手段、18…一時データ格納アドレス記憶手段、19…一時メモリアクセスモジュール、20…一時メモリ(アクセスが比較的高速)、21…コマンド送信、22…レスポンス受信、23、24、25…メモリ読み書き。
Claims (3)
- ICカード内のプログラムから前記ICカード内のメモリの前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、前記メモリよりも読み書きの高速な前記ICカード内の一時メモリヘ一時的にデータを書き込み、前記一時メモリの書き込み先のアドレスを保持し、
前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、前記一時メモリの、前記所定のアドレスに対するデータが書き込まれている同じ場所へ、書き込みを再度行い、
また、前記プログラムからあるアドレスの読み込み要求があったとき、前記一時メモリに書き込まれたデータの読み出しを行い、このアドレスが前記一時メモリに登録されていないときは、前記メモリからデータの読み出しを行い、
前記一時メモリが満杯になったとき、または外部からのコマンドに対するレスポンスを送信する前に、前記一時メモリに書き込まれたデータをすべて前記メモリへ格納し、その後、前記一時メモリに書き込まれたデータをすべてクリアし、
前記プログラムからの要求により、前記プログラムの要求する時点に、前記一時メモリに書き込まれたデータをすべて前記メモリに書き込み、データの更新を行い、または前記一時メモリに書き込まれたデータをすべてクリアするトランザクション処理を行うことを特徴とするICカード内メモリアクセス制御方法。 - ICカード内メモリに対するプログラムからの書き込みあるいは読み込み要求と、一時メモリに一時的に書き込まれたデータのすべてを前記メモリへ更新し、あるいは前記一時メモリに書き込まれたデータの全てを廃棄する要求を検出する読み書き検出手段と、
一時的に書き込まれるデータを前記一時メモリに格納する一時データ格納手段と、
前記一時メモリに一時的に書き込んだアドレスを管理する一時データ格納アドレス記憶手段と、
アクセス要求されたアドレスのデータが前記一時データ格納アドレス記憶手段に格納されている場合に、前記一時データ格納手段からデータを読み書きし、アクセス要求されたアドレスのデータが前記一時データ格納アドレス記憶手段に格納されていない場合に、前記アクセス要求が読み込み要求のときには前記メモリから読み出し、前記アクセス要求が書き込み要求のときには前記一時データ格納手段にデータを書き込み、かつ、書き込み要求されたアドレスを前記一時データ格納アドレス記憶手段に記憶する一時データアクセス制御手段とを備えたことを特徴とする請求項1記載のICカード内メモリアクセス制御方法に使用するICカード内メモリアクセス制御装置。 - ICカード内のプログラムから前記ICカード内のメモリの前記プログラムが指定する所定のアドレスに対する書き込み要求が電源投入後初回であったとき、前記メモリよりも読み書きの高速な前記ICカード内の一時メモリヘ一時的にデータを書き込み、前記一時メモリの書き込み先のアドレスを保持し、
前記プログラムから該プログラムが指定する前記所定のアドレスヘの書き込み要求が次以降にあったとき、前記一時メモリの、前記所定のアドレスに対するデータが書き込まれている同じ場所へ、書き込みを再度行い、
また、前記プログラムからあるアドレスの読み込み要求があったとき、前記一時メモリに書き込まれたデータの読み出しを行い、このアドレスが前記一時メモリに登録されていないときは、前記メモリからデータの読み出しを行い、
前記一時メモリが満杯になったとき、または外部からのコマンドに対するレスポンスを送信する前に、前記一時メモリに書き込まれたデータをすべて前記メモリへ格納し、その後、前記一時メモリに書き込まれたデータをすべてクリアし、
前記プログラムからの要求により、前記プログラムの要求する時点に、前記一時メモリに書き込まれたデータをすべて前記メモリに書き込み、データの更新を行い、または前記一時メモリに書き込まれたデータをすべてクリアするトランザクション処理をICカード内の制御部に実行させるためのアクセスプログラムを格納したことを特徴とするプログラム記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000399932A JP4140750B2 (ja) | 2000-12-28 | 2000-12-28 | Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000399932A JP4140750B2 (ja) | 2000-12-28 | 2000-12-28 | Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002203216A JP2002203216A (ja) | 2002-07-19 |
JP4140750B2 true JP4140750B2 (ja) | 2008-08-27 |
Family
ID=18864609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000399932A Expired - Lifetime JP4140750B2 (ja) | 2000-12-28 | 2000-12-28 | Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4140750B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5481348B2 (ja) * | 2010-10-27 | 2014-04-23 | 株式会社日立製作所 | 通信装置および記録媒体、通信システム |
US9104690B2 (en) * | 2011-01-27 | 2015-08-11 | Micron Technology, Inc. | Transactional memory |
-
2000
- 2000-12-28 JP JP2000399932A patent/JP4140750B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002203216A (ja) | 2002-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10198186B2 (en) | Systems, methods and computer program products memory space management for storage class memory | |
US7620784B2 (en) | High speed nonvolatile memory device using parallel writing among a plurality of interfaces | |
CN101241459B (zh) | 计算机系统、盘装置以及数据更新控制方法 | |
KR101491626B1 (ko) | 메모리 저장 장치, 데이터베이스를 위한 트랜잭션 기능을 지원하는 방법 및 메모리 시스템 | |
JP5445463B2 (ja) | 計算機システム、データ保存方法およびプログラム | |
CN108431783B (zh) | 访问请求处理方法、装置及计算机系统 | |
KR20170021287A (ko) | 비휘발성 데이터 저장장치 내부에서 원자적으로 복수의 기록 트랜잭션을 수행하는 장치 제어기 및 방법 | |
CN108132890B (zh) | 存储芯片的垃圾回收方法、装置、设备及存储介质 | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
JPH113306A (ja) | エージェント方式 | |
KR101529651B1 (ko) | 메모리 저장 장치, 데이터베이스를 위한 트랜잭션 기능을 지원하는 방법 및 메모리 시스템 | |
US20120054434A1 (en) | Information Processing Apparatus and Cache Control Method | |
US9507657B2 (en) | Investigation program, information processing apparatus, and information processing method | |
WO2000016199A1 (fr) | Procede permettant de realiser une table de gestion de memoire et dispositif de memoire | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
JP4140750B2 (ja) | Icカード内メモリアクセス制御方法および装置並びにプログラム記憶媒体 | |
CN111694806A (zh) | 一种事务日志的缓存方法、装置、设备和存储介质 | |
KR100981064B1 (ko) | 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법 | |
JP3959870B2 (ja) | ディスク内容障害回復方法及び計算装置 | |
JP4076316B2 (ja) | 不揮発性キャッシュメモリを用いたデータ書き込みシステム | |
JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
CN112698785B (zh) | 存储设备的数据更新方法 | |
JP5287938B2 (ja) | デバイス制御システム及びプログラム | |
JPH10340215A (ja) | データバックアップ方式 | |
JP2000339218A (ja) | キャッシュメモリの障害処理装置、キャッシュメモリの障害処理方法、マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050112 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050607 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050805 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050819 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050922 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060731 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080425 |
|
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: 20080604 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110620 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4140750 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: 20110620 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120620 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130620 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140620 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |