JP2010218147A - 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法 - Google Patents

携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法 Download PDF

Info

Publication number
JP2010218147A
JP2010218147A JP2009063248A JP2009063248A JP2010218147A JP 2010218147 A JP2010218147 A JP 2010218147A JP 2009063248 A JP2009063248 A JP 2009063248A JP 2009063248 A JP2009063248 A JP 2009063248A JP 2010218147 A JP2010218147 A JP 2010218147A
Authority
JP
Japan
Prior art keywords
file
command
area
data
memory
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.)
Withdrawn
Application number
JP2009063248A
Other languages
English (en)
Inventor
Atsushi Takahashi
厚志 高橋
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 JP2009063248A priority Critical patent/JP2010218147A/ja
Publication of JP2010218147A publication Critical patent/JP2010218147A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】不揮発性メモリ25における各種の記憶領域を最適化するためのガーベージコレクションを効率的に実行することできるICカード2およびICカード2におけるメモリ制御方法を提供する。
【解決手段】ICカード2の不揮発性メモリ25には、各ファイルの定義情報を記憶する定義領域と、各ファイルのデータを記憶するデータ領域と、上記定義領域と上記データ領域との間に形成される空き領域とを有する記憶領域が設けられる。上記ICカード2は、ファイルの定義領域内あるいはデータ領域内に空き領域が生じた場合、ガーベージコレクションが必要であることを示すガーベージ要求フラグ25aをセットする。上記ICカード2は、各種のコマンドを受信した場合に、上記ガーベージ要求フラグ25aがセットされていれば、当該受信コマンドに応じた処理を実行するとともに、上記不揮発性メモリ25に対してガーベージコレクションにおける一部の処理を実行する。
【選択図】図2

Description

この発明は、例えば、データメモリに記憶されているファイルを削除したり、データメモリにファイルを創成したりすることが可能なICカードなどの携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法に関する。
従来、ICカードなどの携帯可能電子装置に適用される規格としては、たとえば、「ETSI TS 102 222」と呼ばれる規格がある。上記「ETSI TS 102 222」の6.3章では、「CREATE FILE」というコマンドが規定されている。このコマンド(クリエイトファイルコマンド)は、メモリ上にファイルを創成することを要求するコマンドである。このクリエイトファイルコマンドが与えられたICカードは、ファイルを創成するために必要な空き容量がメモリ上に存在すれば、ファイルを創成する。
また、「ETSI TS 102 222」の6.4章では、「DELETE FILE」というコマンドが規定されている。このコマンド(デリートファイルコマンド)は、ファイルの削除を要求するコマンドである。このコマンドによりあるファイルが削除された場合、削除されたファイルが使用していたメモリ上のリソースは開放され、削除されたファイルが使用していたメモリ領域は、論理的に消去された状態になる。つまり、デリートファイルコマンドに応じてあるファイルを削除した場合、メモリの未使用領域が増える。しかしながら、単純に特定のファイルを削除しただけでは、メモリ上に空き領域が点在することになり、メモリが効率的に利用できない状態となってしまう。
そのため、従来のICカードには、デリートファイルコマンドの処理を実施した後、空き領域を1カ所に集めるガーベージコレクションと呼ばれるメモリを最適化する機能を有するものがある。上記ガーベージコレクションは、メモリ上に点在する空き領域を詰めるように、データ全体を移動させる処理である。上記ガーベージコレクションでは、メモリ上において多くのデータを移動させる必要があるので、処理に多くの時間を要することが多い。たとえば、上記ガーベージコレクションをデリートファイルコマンドに対する処理の一部として実行する場合、デリートファイルコマンドに対する処理時間(コマンドを受信してから当該コマンドに対するレスポンスデータを送信するまでの時間)が他のコマンドに対する処理時間に比べて極端に増大するという問題がある。
ETSI TS 102 222
この発明の一形態は、メモリにおける各種の領域を最適化するための処理を効率的に実行することできる携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法を提供することを目的とする。
この発明の一形態としての携帯可能電子装置は、コマンドに応じて動作するものにおいて、データを記憶するメモリと、前記メモリに記憶されているデータの削除を要求する削除コマンドが与えられた場合、前記削除コマンドで指定されたデータを削除する削除手段と、前記削除手段により前記削除コマンドで指定されたデータを削除した場合、前記メモリに対する最適化処理を要求するフラグをセットする最適化設定手段と、前記最適化設定手段によりフラグがセットされている状態でコマンドが与えられた場合、当該コマンドに応じた処理を実行するとともに、前記メモリに対する最適化処理における一部の処理を実行するコマンド処理手段とを有する。
この発明の一形態としての携帯可能電子装置におけるメモリ制御方法は、コマンドに応じて動作する携帯可能電子装置における方法であって、メモリに記憶されているデータの削除を要求する削除コマンドが与えられた場合、前記削除コマンドで指定されたデータを削除し、前記削除コマンドで指定されたデータを削除した場合、前記メモリに対する最適化処理を要求するフラグをセットし、前記フラグがセットされている状態でコマンドが与えられた場合、当該コマンドに応じた処理を実行するとともに、前記メモリに対する最適化処理における一部の処理を実行する。
この発明の一形態によれば、メモリにおける各種の領域を最適化するための処理を効率的に実行することできる携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法を提供できる。
図1は、本実施の形態に係るICカードおよびICカード処理装置の構成例を概略的に示す図である。 図2は、本実施の形態に係るICカードの構成例を概略的に示すブロック図である。 図3は、データメモリとしての不揮発性メモリに記憶されるファイル形式のデータの構成例を示す図である。 図4は、不揮発性メモリにおいて、図3に示す状態からファイル2に関するデータを削除した状態を示す図である。 図5は、不揮発性メモリにおいて、図4に示す状態に対してガーベージコレクションを行った結果を示している。 図6は、ICカードにおけるファイル削除処理の流れを説明するためのフローチャートである。 図7は、ICカードにおけるコマンド処理の流れを説明するためのフローチャートである。 図8は、図4に示す状態の不揮発性メモリにおいてファイル3の定義情報とデータとを移動させた状態を示す図である。 図9は、図4に示す状態の不揮発性メモリにおいてファイル3〜ファイルn−1の定義情報とデータとを移動させた状態を示す図である。 図10は、図4に示す状態の不揮発性メモリにおいてファイル3〜ファイルnの定義情報とデータとを移動させた状態を示す図である。 図11は、ICカードにおけるファイル創成処理の流れを説明するためのフローチャートである。 図12は、図10に示す状態の不揮発性メモリの記憶領域にファイルn+1を創成した状態を示している。
以下、この発明の実施の形態について図面を参照して詳細に説明する。
図1は、本実施の形態に係るICカード(携帯可能電子装置)2、および、ICカード2との通信機能を有する外部装置としてのICカード処理装置1の構成例を概略的に示すブロック図である。
まず、上記ICカード処理装置1の構成について説明する。
上記ICカード処理装置1は、図1に示すように、制御部11、ディスプレイ12、キーボード13、テンキー14、及び、カードリーダライタ15などを有している。
上記制御部11は、ICカード処理装置1全体の動作を制御するものである。上記制御部11は、CPU、種々のメモリ及び各種インターフェースなどにより構成される。たとえば、上記制御部11は、パーソナルコンピュータ(PC)により構成される。
上記制御部11は、上記カードリーダライタ15によりICカード2へコマンドを送信する機能、ICカード2から受信したデータを基に種々の処理を行う機能などを有している。たとえば、上記制御部11は、カードリーダライタ15を介してICカード2にデータの書き込みコマンドを送信することによりICカード2内の不揮発性メモリにデータを書き込む制御を行う。また、上記制御部11は、ICカード2に読み取りコマンドを送信することによりICカード2からデータを読み出す制御を行う。
上記ディスプレイ12は、上記制御部11の制御により種々の情報を表示する表示装置である。上記キーボード13は、当該ICカード処理装置1の操作員が操作する操作部として機能し、操作員により種々の操作指示やデータなどが入力される。上記テンキー14は、使用者IDあるいはパスワードなど数字などの情報を入力する為の入力部として機能する。
上記カードリーダライタ15は、上記ICカード2との通信を行うためのインターフェース装置である。上記カードリーダライタ15は、上記ICカード2の通信方式に応じたインターフェースにより構成される。たとえば、上記ICカード2が接触型のICカードである場合、上記カードリーダライタ15は、ICカード2のコンタクト部と物理的かつ電気的に接続するための接触部などにより構成される。
また、上記ICカード2が非接触型のICカードである場合、上記カードリーダライタ15は、ICカード2との無線通信を行うためのアンテナおよび通信制御などにより構成される。上記カードリーダライタ15では、上記ICカード2に対する電源供給、クロック供給、リセット制御、データの送受信が行われるようになっている。このような機能によってカードリーダライタ15は、上記制御部11による制御に基づいて上記ICカード2の活性化(起動)、種々のコマンドの送信、及び送信したコマンドに対する応答の受信などを行なう。
次に、上記ICカード2について説明する。
上記ICカード2は、上記ICカード処理装置1などの上位機器から電力などの供給を受けた際、活性化される(動作可能な状態になる)ようになっている。例えば、上記ICカード2が接触型の通信によりICカード処理装置1と接続される場合、つまり、ICカード2が接触型のICカードで構成される場合、上記ICカード2は、通信インターフェースとしてのコンタクト部を介してICカード処理装置1からの動作電源及び動作クロックの供給を受けて活性化される。
また、上記ICカード2が非接触型の通信方式によりICカード処理装置1と接続される場合、つまり、上記ICカード2が非接触式のICカードで構成される場合、上記ICカード2は、通信インターフェースとしてのアンテナ及び変復調回路などを介してICカード処理装置1からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
次に、上記ICカード2の構成例について説明する。
図2は、本実施の形態に係るICカード2の構成例を概略的に示すブロック図である。上記ICカード2は、本体Cを構成する筐体内にモジュールMが内蔵されている。上記モジュールMは、1つまたは複数のICチップCaと通信用の外部インターフェース(通信インターフェース)とが接続された状態で一体的に形成され、ICカード2の本体C内に埋設されている。また、上記ICカード2のモジュールMは、図2に示すように、制御部21、通信インターフェース22、ROM23、RAM24、不揮発性メモリ25などを有してしている。
上記制御部21は、当該ICカード2全体の制御を司るものである。上記制御部21は、上記ROM23あるいは上記不揮発性メモリ25に記憶されている制御プログラムや制御データに基づいて動作することにより、種々の機能を実現する。たとえば、上記制御部21は、オペレーティングシステムのプログラムを実行することにより、当該ICカード2の基本的な動作制御を行う。また、上記制御部21は、アプリケーションプログラムを実行することにより、当該ICカード2の運用形態に応じた種々の動作制御を行う。なお、各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、上記制御部21は、ハードウエア回路により実行される機能を制御する。
上記通信インターフェース22は、上記ICカード処理装置1のカードリーダライタ15との通信を行うためのインターフェースである。当該ICカード2が接触型のICカードとして実現される場合、上記通信インターフェース22は、上記ICカード処理装置1のカードリーダライタ15と物理的かつ電気的に接触して信号の送受信を行うための通信制御部とコンタクト部とにより構成される。また、当該ICカード2が非接触型のICカードとして実現される場合、通信インターフェース22は、上記ICカード処理装置1のカードリーダライタ15との無線通信を行うための変復調回路などの通信制御部とアンテナとにより構成される。
上記ROM23は、不揮発性のメモリである。上記ROM23は、当該ICカード2における基本的な動作を実現するための制御用のプログラムおよび制御データなどを記憶する。つまり、上記ROM23は、当該ICカード2の仕様に応じた制御用のプログラムあるいは制御データなどを記憶するプログラムメモリとして機能する。
上記RAM24は、揮発性のメモリである。上記RAM24は、ワーキングメモリとして機能する。また、上記RAM24は、制御部21が処理中のデータなどを一時保管するバッファとしても機能する。例えば、上記RAM24は、上記通信インターフェース22を介してICカード処理装置1から受信したデータを一時的に保管するようになっている。また、上記RAM24には、適宜、後述するガーベージ要求フラグ25aがセットされるようになっている。
上記不揮発性メモリ25は、書込みおよび書換えが可能な不揮発性のメモリである。上記不揮発性メモリ25は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)あるいはフラッシュROMなどの記憶装置により構成される。上記不揮発性メモリ25は、ファイル形式のデータなどが記憶されるデータメモリとして機能する。また、上記不揮発性メモリ25には、適宜、後述するガーベージ要求フラグ25aがセットされるようになっている。
また、上記不揮発性メモリ25には、当該ICカード2の運用用途に応じた制御プログラムあるいは制御データなどを記憶するようにして良い。たとえば、上記不揮発性メモリ25では、データファイルなどが定義され、それらのファイルに種々のデータが書き込まれる。上記不揮発性メモリ25に格納されるファイルは、ファイル定義情報によって定義される。上記ファイル定義情報により定義されたファイルのデータは、上記不揮発性メモリ25上に確保された記憶領域に記憶される。
次に、上記不揮発性メモリ25におけるデータの構成について説明する。
図3は、データメモリとしての不揮発性メモリ25に記憶されるファイル形式のデータの構成例を示す図である。
図3に示す構成例では、不揮発性メモリ25においてICカード制御情報ごとに記憶領域R1が確保されている。ICカード制御情報ごとの記憶領域R1には、定義情報とデータとから構成される複数のファイルが記憶される。たとえば、ICカード制御情報1の記憶領域R1には、n個のファイルが格納されている。上記記憶領域R1は、n個の各ファイルの定義情報が記憶される定義領域Ra1と、n個の各ファイルのデータが記憶されるデータ領域Rb1と、空き領域Rc1とを有している。
上記定義領域Ra1には、n個分の各ファイルの定義情報が格納される。ファイルの定義情報は、たとえば、ファイルの識別情報、および、データの記憶場所を示す情報などである。また、上記定義領域Ra1は、上記記憶領域R1の先頭(先端)アドレスから設けられる記憶領域である。言い換えれば、各ファイルの定義情報は、図3に示すように、記憶領域R1の先頭アドレスから順に記憶され、この結果として、上記記憶領域R1の先頭アドレスから設けられる定義領域Ra1が形成される。
上記データ領域Rb1には、n個分の各ファイルのデータが格納される。ファイルのデータは、たとえば、上記ファイル定義情報で示される記憶領域に記憶される。また、上記データ領域Rb1は、上記記憶領域R1の最後尾(後端)アドレスから設けられる記憶領域である。言い換えれば、各ファイルのデータは、図3に示すように、記憶領域R1の後端アドレスから前の領域に順次記憶され、この結果として、上記記憶領域R1の後端アドレスから設けられるデータ領域Rb1が形成される。
上記空き領域Rc1は、当該記憶領域R1内において、上記定義領域Ra1と上記データ領域Rb1との間に形成される領域である。言い換えると、上記空き領域Rc1は、記憶領域R1に形成される定義領域Ra1とデータ領域Rb1とによって生じる領域である。上記空き領域Rc1は、上記記憶領域R1における定義領域Ra1とデータ領域Rb1と大きさに応じた記憶容量となる。
また、上記のように、定義領域Ra1は、各ファイルの定義情報が記憶領域R1の先頭アドレスから順に並べることにより形成される領域であり、データ領域Rb1は、各ファイルのデータが記憶領域R1の後端アドレスから順に積み上げられてることにより形成される領域である。従って、空き領域Rc1は、ファイル(定義情報及びデータ)が追記されるごとに領域が狭くなる。定義領域Ra1とデータ領域Rb1との間の空き領域Rc1が無くなると、ファイルの定義情報およびデータが書き込めなくなる(新たなファイルを追加できなくなる)。
図4は、不揮発性メモリ25において、図3に示す状態からファイル2に関するデータを削除した状態を示す図である。
図3に示す状態のデータからファイル2を削除した場合、不揮発性メモリ25における記憶領域R1は、図4に示すような状態となる。図4に示す例では、定義領域Ra1においてファイルの定義情報が格納されていた領域が空き状態(未使用領域)となっており、データ領域Rb1においてファイル2のデータが格納されていた領域が空き状態(未使用領域)となっている。
ここで、新規のファイルは、定義領域Ra1とデータ領域Rb1とに間に形成される空き領域Rc1に創成(記憶)されるものとする。つまり、新規ファイルの定義情報は、既存の定義領域Ra1に続けて記憶され、新規ファイルのデータは、既存のデータ領域Rb1の直前に続けて記憶されるものとする。この場合、ファイルの削除によって生じた定義領域Ra1内の空き領域(削除領域、未使用領域)およびデータ領域Rb1内の空き領域(削除領域、未使用領域)は、そのままの状態では、新規ファイルを記憶するための記憶領域としては利用できない。これは、単純にファイルを削除しても、実使用可能な空き領域として利用できる領域をふやすことができないことを意味している。
一般に、ICカードでは、ファイルの削除によって生じた定義領域Ra1内の未使用領域(空き領域)およびデータ領域Rb1内の未使用領域(空き領域)を効率的に利用するために、空き領域を1箇所に集めるガーベージコレクションと呼ばれる処理を行う。ガーベージコレクションは、メモリ内の最適化処理である。たとえば、図4に示すようなデータ構成となった場合、ガーベージコレクションでは、定義領域Ra1内の空き領域(削除領域)とデータ領域Rb1内の空き領域(削除領域)とを、定義領域Ra1とデータ領域Rb1との間に形成される空き領域Rc1に集める。つまり、定義領域Ra1内の空き領域およびデータ領域Rb1内の空き領域は、そのまま使用することが容易ではい。このため、ガーベージコレクションで定義領域Ra1内の空き領域およびデータ領域Rb1内の空き領域を1つの空き領域に集めることにより不揮発性メモリの効率な使用が実現できる。
図5は、不揮発性メモリ25において、図4に示す状態のデータに対してガーベージコレクションを行った結果を示している。
図5に示すように、ガーベージコレクションでは、定義領域Ra1内の空き領域とデータ領域Rb1内の空き領域とを、空き領域Rc1に集結させている。図5に示す状態は、実際には定義領域Ra1内の各定義情報を順に詰めて、データ領域Rb1内の各データを順に詰める処理により得られる。すなわち、ガーベージコレクションでは、定義領域Ra1内の空き領域(削除領域)に続く全ての定義情報を順次、削除領域の大きさ分だけシフトする。これと共に、ガーベージコレクションでは、データ領域Rb1内の空き領域(削除領域)に続く全てのデータを順次、削除領域の大きさ分だけシフトする。
一般的なICカードでは、上記のようなガーベージコレクションをファイルの削除処理とともに実行する。ガーベージコレクションの処理全体としては、移動させるデータ量が多ければ多いほど、長い処理時間が必要となる。つまり、一般的なICカードでは、ファイルとして記憶するデータが多ければ多いほど、ファイルの削除処理に長い処理時間が必要となる傾向がある。これに対して、本実施の形態に係るICカード2では、ガーベージコレクションの処理を種々の処理時に分散して実行する。
次に、本ICカード2における各種のコマンドに対する処理について説明する。
上記ICカード2は、外部装置から与えられるコマンドに応じた処理を行う。たとえば、ICカード2は、デリートファイル(DELETE FILE)コマンドに応じて、特定のファイルを削除する処理(ファイル削除処理)を実行する。また、本ICカード2では、ファイル削除処理として、指定されたファイルを削除するとともに、ガーベージコレクションの分散処理を設定する。ガーベージコレクションの分散処理の設定は、たとえば、ガーベージコレクションの分散処理を要求するガーベージ要求フラグ25aをセットすることにより実現される。
すなわち、上記ICカード2は、ICカード処理装置1からコマンドを受信した場合に、上記ガーベージ要求フラグ25aがセットされていれば、受信コマンドに応じた処理とともに、ガーベージコレクションの一部を実行する。言い換えれば、上記ガーベージ要求フラグ25aがセットされたICカード2では、各種のコマンドを受信するごとに、ガーベージコレクションが徐々に進行する。この結果として、本ICカード2では、特定のコマンドに対する処理に多くの処理時間をかけることなく、ガーベージコレクションを分散して実行できる。
次に、本ICカード2におけるデリートファイルコマンドに対応する処理(ファイル削除処理)について説明する。
図6は、本ICカード2におけるファイル削除処理の流れを説明するためのフローチャートである。
まず、ICカード2は、ICカード処理装置1からのコマンド受信待ちの状態であるものとする(ステップS10)。この状態においてICカード処理装置1からのコマンドを受信した場合(ステップS11)、制御部21は、受信したコマンドがデリートファイルコマンドであるか否かを判断する(ステップS12)。
この判断により受信したコマンドがデリートファイルコマンドであると判断した場合(ステップS12、YES)、制御部21は、当該デリートファイルコマンドで指定されているファイルを削除する処理を行う(ステップS13)。ファイルを削除することは、当該ファイルの定義情報とデータとを削除することを意味する。ただし、ファイルの定義情報を削除すると、当該ファイルのデータはそのままの状態であってもファイルのデータとしての意味を持たなくなる。このため、特定のファイルを削除する処理としては、当該ファイルの定義情報を消去するだけでも良い。
上記デリートファイルコマンドで指定されたファイルを削除した場合、不揮発性メモリ25上では、図4に示すように、削除が指定されたファイルの定義情報が記憶されていた記憶領域(削除領域)と当該ファイルのデータが記憶されていた記憶領域(削除領域)とが空き領域となる。これらの削除領域としての空き領域をガーベージコレクションにより最適化するため、本ICカード2の制御部21は、ガーベージコレクションの分散処理を要求するガーベージ要求フラグ25aをセットする(ステップS14)。
上記ガーベージ要求フラグ25aをセットすると、上記制御部21は、デリートファイルコマンドに対するレスポンスデータとして、ファイルの削除が正常に完了した旨を示す情報をICカード処理装置1へ送信する。なお、上記ステップS13あるいはステップS14の処理においてエラーが発生した場合、制御部21は、エラー内容を示すレスポンスデータを生成し、生成したレスポンスデータをICカード処理装置1へ送信する。
上記のような処理によれば、ICカードは、デリートファイルコマンドを受信した場合、指定されたファイルの定義情報とデータとを削除した後、実際にガーベージコレクションを実行することなく、ガーベージ要求フラグ25aをセットする。これにより、デリートファイルコマンドを受信した場合の処理時間が短縮される。この結果として、不揮発性メモリ25内に記憶するデータが大きくなっても、デリートファイルコマンドに対する処理に長い処理時間がかかる事を防ぐことができる。
次に、本ICカード2におけるデリートファイルコマンドおよびクリエイトファイルコマンド以外のコマンドに対する処理について説明する。
図7は、本ICカード2におけるコマンド処理の流れを説明するためのフローチャートである。
まず、ICカード2がデリートファイルコマンド以外のコマンドをICカード処理装置1から受信したものとする。この場合、制御部21は、さらに、当該受信コマンドがクリエイトファイルコマンドであるか否かを確認する(ステップS21)。受信コマンドがクリエイトファイルコマンドでないと判断した場合(ステップS21、NO)、上記制御部21は、当該受信コマンドに応じた処理を実行する(ステップS22)。たとえば、受信コマンドがリードコマンドであれば、制御部21は、データの読出し処理を行い、受信コマンドがライトコマンドであれば、制御部21は、データの書込み処理を行う。
上記受信コマンドに応じた処理を実行すると、上記制御部21は、ガーベージ要求フラグ25aがセットされているか否かを確認する(ステップS23)。この確認によりガーベージ要求フラグ25aがセットされていない場合(ステップS23、NO)、上記制御部21は、受信コマンドに応じた処理の結果を示すレスポンスデータをICカード処理装置1へ送信し、受信コマンドに対する処理を終了する(ステップS27)。
また、上記ガーベージ要求フラグ25aがセットされている場合(ステップS23、YES)、上記制御部21は、受信コマンドに割り当てられるガーベージコレクションの一部の処理を実行する(ステップS24)。コマンドを受信するごとにガーベージコレクションの一部の処理として実行すべき処理内容は、予め設定される。上述したように、ガーベージコレクションは、不揮発性メモリ25に記憶されているデータを順次移動させる処理である。このため、コマンドを受信するごとに実行すべき処理内容としては、ガーベージコレクションとして移動させるデータの所定量が設定することが考えられる。
たとえば、ここでは、コマンドを受信するごとに、所定数のファイルに関するデータを移動させるように設定されているものとする。このような設定では、上記制御部21は、ガーベージ要求フラグ25aがセットされていれば、1つのコマンドを処理するごとに、不揮発性メモリ25において所定数のファイルに関するデータ(定義情報とデータ)を最適な場所に移動させる。
上記のような設定内容に従って不揮発性メモリ25において所定数のファイルに関するデータを移動させると、制御部21は、ガーベージコレクションが完了したか否かを判断する(ステップS25)。この判断は、定義領域Ra1あるいはデータ領域Rb1内に空き領域が存在するか否かにより判断できる。上記判断によりガーベージコレクションが完了したと判断した場合(ステップS25、YES)、制御部21は、ガーベージ要求フラグ25aをクリアする(ステップS26)。
上記判断によりガーベージコレクションが完了していないと判断した場合(ステップS25、NO)、あるいは、上記ガーベージ要求フラグ25aをクリアした場合、制御部21は、受信コマンドに対する処理結果を示すレスポンスデータをICカード処理装置1へ送信し、受信コマンドに対する処理を終了する(ステップS27)。
以下、上述したようなコマンド処理の具体例について説明する。
ただし、以下の説明では、1つのコマンドを処理するごとに、不揮発性メモリ25において1つのファイルに関するデータを最適な場所に移動させる設定となっているものとする。
図8〜図10は、受信したコマンドを処理するごとに実行される処理内容を説明するための図である。
図8は、図4に示すような状態の不揮発性メモリ25に対して1つのコマンドを処理する場合に実行されるデータ移動(ガーベージコレクションの一部)の処理結果を示している。図8では、図4に示す定義領域Ra1内の空き領域がファイル3の定義情報の直後に移動している。これは、ファイル2を削除した後に受信した1つ目のコマンドに対する処理において、ファイル3の定義情報がファイル1の定義情報に連続する領域に移動したことを示している。ただし、定義領域Ra1は先頭アドレスを基準に設計されている。このため、ファイル3の定義情報とファイル1の定義情報とが連続するとは、ファイル1の定義情報の後端アドレスにファイル3の定義情報の先頭アドレスが連続することを意味している。
また、図8では、図4に示すデータ領域Rb1内の空き領域がファイル3のデータの直前に移動している。これは、ファイル2を削除した後に受信した1つ目のコマンドに対する処理において、ファイル3のデータがファイル1のデータに連続する領域に移動したことを示している。ただし、データ領域Rb1は記憶領域R1の後端アドレスを基準に設計されている。このため、ファイル3のデータとファイル1のデータとが連続するとは、ファイル3のデータとの後端アドレスにファイル1のデータの先頭アドレスが連続することを意味している。
図9は、図4に示すような状態の不揮発性メモリ25に対して{(n−1)−2}個目のコマンドを処理する場合に実行されるデータ移動の処理結果を示している。
図9では、定義領域Ra1内の空き領域がファイルn−1の定義情報の直後に移動している。これは、ファイル2を削除した後に受信した(n−3)個目のコマンドに対する処理において、ファイルn−1の定義情報がファイルn−2の定義情報に連続する領域に移動したことを示している。ただし、定義領域Ra1は先頭アドレスを基準に設計されている。このため、ファイルn−1の定義情報とファイルn−2の定義情報とが連続するとは、ファイルn−2の定義情報の後端アドレスにファイルn−1の定義情報の先頭アドレスが連続することを意味している。
また、図9では、データ領域Rb1内の空き領域がファイル3のデータの直前に移動している。これは、ファイル2を削除した後に受信した(n−3)個目のコマンドに対する処理において、ファイルn−1のデータがファイルn−2のデータに連続する領域に移動したことを示している。ただし、データ領域Rb1は記憶領域R1の後端アドレスを基準に設計されている。このため、ファイルn−1のデータとファイルn−2のデータとが連続するとは、ファイルn−1のデータとの後端アドレスにファイルn−2のデータの先頭アドレスが連続することを意味している。
図10は、図9に示すような状態の不揮発性メモリ25に対して、1つのコマンドを処理する場合に実行されるデータ移動の処理結果を示している。言い換えれば、図10は、図4に示すような状態の不揮発性メモリ25に対して(n−2)個目のコマンドを処理する場合に実行されるデータ移動の処理結果を示している。
図10では、定義領域Ra1内の空き領域が消滅(空き領域Rc1に結合)している。これは、ファイル2を削除した後に受信した(n−2)個目のコマンドに対する処理において、ファイルnの定義情報がファイルn−1の定義情報に連続する領域に移動したことを示している。ただし、定義領域Ra1は先頭アドレスを基準に設計されている。このため、ファイルnの定義情報とファイルn−1の定義情報とが連続するとは、ファイルn−1の定義情報の後端アドレスにファイルnの定義情報の先頭アドレスが連続することを意味している。
また、図10では、データ領域Rb1内の空き領域が消滅(空き領域RC1に結合)している。これは、ファイル2を削除した後に受信した(n−2)個目のコマンドに対する処理において、ファイルnのデータがファイルn−1のデータに連続する領域に移動したことを示している。ただし、データ領域Rb1は記憶領域R1の後端アドレスを基準に設計されている。このため、ファイルnのデータとファイルn−1のデータとが連続するとは、ファイルnのデータとの後端アドレスにファイルn−1のデータの先頭アドレスが連続することを意味している。
上記のような処理によれば、ICカードは、ガーベージ要求フラグ25aがセットされている場合、コマンドを受信するごとに、ガーベージコレクションの分散処理を行う。つまり、ICカードは、複数のコマンドに対する処理において、分散した処理を順次実行することによりガーベージコレクション全体を完結させる。この結果として、特定のコマンドに対する処理に長い時間をかけることなく、長い処理時間が必要なガーベージコレクションを複数のコマンドで負担することができる。
次に、本ICカード2におけるクリエイトファイルコマンドに対する処理(ファイル創成処理)について説明する。
図11は、本ICカード2におけるファイル創成処理の流れを説明するためのフローチャートである。
まず、ICカード2がクリエイトファイルコマンドをICカード処理装置1から受信したものとする(ステップS21、YES)。この場合、制御部21は、当該受信したクリエイトファイルコマンドで指定されているファイルを創成するために必要な空き容量があるか否かを判断する(ステップS31)。当該コマンドで指定されているファイルを創成するための空き容量があると判断した場合(ステップS31、YES)、上記制御部21は、当該コマンドに応じて新規のファイルを創成するファイル創成処理を実行する(ステップS32)。
上記クリエイトファイルコマンドに対応するファイル創成処理では、制御部21は、定義領域Ra1に新規ファイルの定義情報を記憶する領域を確保するとともに、データ領域Rb1に新規ファイルのデータを記憶する領域を確保する。すなわち、制御部21は、当該コマンドで創成が要求された新規ファイルの定義情報を既存の定義領域Ra1の終端アドレスに続けて記録する。また、上記制御部21は、当該新規ファイルの定義情報において、終端アドレスが既存のデータ領域Rb1の先頭アドレスに連続となるようなデータの記憶領域を定義する。たとえば、図12は、図10に示す状態の不揮発性メモリ25の記憶領域R1にファイルn+1を創成した状態を示している。図12に示すように、創成されたファイルn+1の定義情報およびデータの記憶領域は、図10に示す空き領域Rc1の一部が割り当てられている。
上記のように、制御部21は、不揮発性メモリ25上の空き領域Rc1において新規ファイルに関するデータ(定義情報とデータ)の記憶領域を確保することにより、新規ファイルを創成する。このようなファイル創成処理を実行すると、上記制御部21は、ファイル創成処理の結果を示すレスポンスデータをICカード処理装置1へ送信し(ステップS33)、当該コマンドに対する処理を終了する。
また、当該クリエイトファイルコマンドで指定されているファイルを創成するための空き容量が無いと判断した場合(ステップS31、NO)、上記制御部21は、上記ガーベージ要求フラグ25aがセットされているか否かを確認する(ステップS34)。この確認によりガーベージ要求フラグ25aがセットされていないことが確認された場合(ステップS34、NO)、上記制御部21は、当該クリエイトファイルコマンドで要求されるファイルの創成が不可能であるため、エラー処理を実行する(ステップS35)。たとえば、制御部21は、エラー処理として、空き容量不足のためファイルの創成が不可能である旨の通知するレスポンスデータを生成する。この場合、制御部21は、エラー内容を示すレスポンスデータをICカード処理装置1へ送信し、処理を終了する(ステップS33)。
また、上記ガーベージ要求フラグ25aがセットされている場合(ステップS34、YES)、上記制御部21は、進行中のガーベージコレクションとして、残っている処理を全て実行する(ステップS36)。つまり、制御部21は、ステップS36の処理として、定義領域Ra1内およびデータ領域Rb1内の空き領域を全て空き領域Rc1に集める処理を行う。
たとえば、不揮発性メモリ25が図8に示すような状態である場合、上記制御部21は、定義領域Ra1内の空き領域とデータ領域Rb1内の空き領域とをそれぞれ空き領域Rc1に集める処理を行う。具体的には、制御部21は、図8に示す状態の不揮発性メモリ25に対して、ファイル4〜ファイルnの各定義情報およびデータを順に移動させて図10に示すような状態とする処理を行う。
上記のような処理により進行中であったガーベージコレクションが完了すると、制御部21は、ガーベージ要求フラグ25aをクリアする(ステップS37)。ガーベージ要求フラグ25aをクリアすると、制御部21は、上記ステップS31へ戻り、当該受信したクリエイトファイルコマンドで指定されている新規のファイルを創成するために必要な空き容量があるか否かを判断する(ステップS31)。
すなわち、完了したガーベージコレクションにより新規のファイルを創成するための空き容量が確保できる状態となった場合、上記制御部21は、上記ステップS32へ進み、コマンドに応じた新規のファイルを創成するファイル創成処理を実行する。これに対して、ガーベージコレクションが完了しても新規のファイルを創成するための空き容量が確保できない場合、上記制御部21は、上記ステップS35へ進み、ファイルの創成が不可能であるためエラー処理を実行する。
上記のような処理によれば、ICカードは、ガーベージ要求フラグがセットされている状態でクリエイトファイルコマンドを受信した場合、ファイルを創成するための空き容量が無ければ、残りのガーベージコレクションを実行することによりガーベージコレクションを完了させる。これにより、ガーベージコレクションが完了する前にクリエイトファイルコマンドを受信した場合、ファイルを創成するための空き容量が無ければ、ガーベージコレクションを完了した状態でファイルの創成が可能か否かを判定できる。
C…本体、M…モジュール、Ca…ICチップ、1…ICカード処理装置、2…ICカード、11…端末装置、15…カードリーダライタ、21…制御部、22…通信インターフェース、23…ROM、24…RAM、25a…ガーベージ要求フラグ、25…不揮発性メモリ、R1、R2…記憶領域、Ra1…定義領域、Rb1…データ領域、Rc1…空き領域。

Claims (10)

  1. コマンドに応じて動作する携帯可能電子装置において、
    データを記憶するメモリと、
    前記メモリに記憶されているデータの削除を要求する削除コマンドが与えられた場合、前記削除コマンドで指定されたデータを削除する削除手段と、
    前記削除手段により前記削除コマンドで指定されたデータを削除した場合、前記メモリに対する最適化処理を要求するフラグをセットする最適化設定手段と、
    前記最適化設定手段によりフラグがセットされている状態でコマンドが与えられた場合、当該コマンドに応じた処理を実行するとともに、前記メモリに対する最適化処理における一部の処理を実行するコマンド処理手段と、
    を有することを特徴とする携帯可能電子装置。
  2. 前記メモリは、ファイル単位でデータを記憶し、
    前記削除手段は、前記削除コマンドで指定されるファイルを削除し、
    前記コマンド処理手段は、1つのコマンドが与えられるごとに、前記最適化処理における一部の処理として、前記削除手段によるファイルの削除で発生した未使用領域を詰めるように前記メモリにおける所定数のファイルを移動させる、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  3. 前記コマンド処理手段は、1つのコマンドが与えられるごとに、前記最適化処理における一部の処理として、前記削除手段によるファイルの削除で発生した未使用領域を詰めるように前記メモリにおける1つのファイルを移動させる、
    ことを特徴とする前記請求項2に記載の携帯可能電子装置。
  4. 前記メモリは、各ファイルの定義情報を記憶する定義領域と、各ファイルのデータを記憶するデータ領域と、前記定義領域と前記データ領域との間に形成される空き領域とを有し、
    前記最適化設定手段は、前記定義領域内あるいは前記データ領域内に未使用領域が生じた場合に、前記フラグをセットし、
    前記コマンド処理手段は、1つのコマンドが与えられるごとに、前記最適化処理における一部の処理として、前記定義領域内あるいは前記データ領域内の未使用領域を詰めるように、前記メモリにおける所定数のファイルを移動させる、
    ことを特徴とする前記請求項1乃至3の何れか1項に記載の携帯可能電子装置。
  5. 前記コマンド処理手段は、前記最適化設定手段によりフラグがセットされている状態でファイルの創成を要求するコマンドが与えられた場合、ファイルを創成するための空き領域が無ければ、前記最適化処理の残りの処理を全て実行する、
    ことを特徴とする前記請求項1乃至4の何れか1項に記載の携帯可能電子装置。
  6. コマンドに応じて動作する携帯可能電子装置におけるメモリ制御方法であって、
    メモリに記憶されているデータの削除を要求する削除コマンドが与えられた場合、前記削除コマンドで指定されたデータを削除し、
    前記削除コマンドで指定されたデータを削除した場合、前記メモリに対する最適化処理を要求するフラグをセットし、
    前記フラグがセットされている状態でコマンドが与えられた場合、当該コマンドに応じた処理を実行するとともに、前記メモリに対する最適化処理における一部の処理を実行する、
    ことを特徴とする携帯可能電子装置におけるメモリ制御方法。
  7. 前記メモリに記憶されるデータは、ファイル単位であり、
    前記フラグは、前記削除コマンドで指定されたファイルを削除した場合にセットし、
    前記最適化処理における一部の処理としては、1つのコマンドが与えられるごとに、前記ファイルの削除で発生した未使用領域を詰めるように前記メモリにおける所定数のファイルを移動させる、
    ことを特徴とする前記請求項6に記載の携帯可能電子装置におけるメモリ制御方法。
  8. 前記コマンド処理手段は、前記最適化処理における一部の処理としては、1つのコマンドが与えられるごとに、前記ファイルの削除で発生した未使用領域を詰めるように前記メモリにおける1つのファイルを移動させる、
    ことを特徴とする前記請求項7に記載の携帯可能電子装置におけるメモリ制御方法。
  9. 前記メモリには、各ファイルの定義情報を記憶する定義領域と、各ファイルのデータを記憶するデータ領域と、前記定義領域と前記データ領域との間に形成される空き領域とが設けられ、
    前記フラグは、前記定義領域内あるいは前記データ領域内に未使用領域が生じた場合にセットし、
    前記最適化処理における一部の処理としては、1つのコマンドが与えられるごとに、前記定義領域内あるいは前記データ領域内の未使用領域を詰めるように、前記メモリにおける所定数のファイルを移動させる、
    ことを特徴とする前記請求項6乃至8の何れか1項に記載の携帯可能電子装置におけるメモリ制御方法。
  10. さらに、前記最適化設定手段によりフラグがセットされている状態でファイルの創成を要求するコマンドが与えられた場合、ファイルを創成するための空き領域が無ければ、前記最適化処理の残りの処理を全て実行する、
    ことを特徴とする前記請求項6乃至9の何れか1項に記載の携帯可能電子装置におけるメモリ制御方法。
JP2009063248A 2009-03-16 2009-03-16 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法 Withdrawn JP2010218147A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009063248A JP2010218147A (ja) 2009-03-16 2009-03-16 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009063248A JP2010218147A (ja) 2009-03-16 2009-03-16 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2010218147A true JP2010218147A (ja) 2010-09-30

Family

ID=42976944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009063248A Withdrawn JP2010218147A (ja) 2009-03-16 2009-03-16 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2010218147A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016517065A (ja) * 2013-03-06 2016-06-09 アビニシオ テクノロジー エルエルシー 記憶されたデータユニットに対する操作の管理
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016517065A (ja) * 2013-03-06 2016-06-09 アビニシオ テクノロジー エルエルシー 記憶されたデータユニットに対する操作の管理
US9959070B2 (en) 2013-03-06 2018-05-01 Ab Initio Technology Llc Managing operations on stored data units
US10133500B2 (en) 2013-03-06 2018-11-20 Ab Initio Technology Llc Managing operations on stored data units

Similar Documents

Publication Publication Date Title
US10156988B2 (en) Composite solid state drive identification and optimization technologies
CN101952808B (zh) 存储设备的扩展利用区域
CN102723099A (zh) 包括用于处理多命令描述符块以便利用并发性的主机接口的闪存装置
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
JP2011022768A (ja) 携帯可能電子装置、icカードおよび携帯可能電子装置の制御方法
JP5225054B2 (ja) Icカード
CN101751338B (zh) 数据存取控制装置及数据存取方法
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
CN101025711A (zh) 控制闪存的设备和方法
JP4896842B2 (ja) 携帯可能電子装置
JP2010218147A (ja) 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法
JP5259540B2 (ja) 携帯可能電子装置、icカード、携帯可能電子装置の処理システムおよび携帯可能電子装置の制御方法
JP7278083B2 (ja) 半導体装置、制御方法、およびプログラム
US20100235393A1 (en) Portable electronic device and access control method in portable electronic device
JP6769150B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP5214291B2 (ja) Icカードおよびicカードの制御方法
JP2014059806A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2004185419A (ja) 携帯可能電子媒体と、その携帯可能電子媒体の発行システム、処理方法及び発行方法
JP5341947B2 (ja) Icカード、icカードの制御方法、および携帯可能電子装置の制御方法
JP5038918B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2008123450A (ja) 記録媒体及びメモリアクセス可能な電子機器
KR102020674B1 (ko) Ic 카드 전용 발급 명령어를 이용한 데이터 발급 및 저장방법
JP2013164686A (ja) Icカードおよび携帯可能電子装置
CN115933969A (zh) 存储器装置控制方法、存储器装置、电子装置、存储器控制器及计算机可读媒体
JP2009075816A (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605