JP2019049876A - 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム - Google Patents
電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム Download PDFInfo
- Publication number
- JP2019049876A JP2019049876A JP2017173954A JP2017173954A JP2019049876A JP 2019049876 A JP2019049876 A JP 2019049876A JP 2017173954 A JP2017173954 A JP 2017173954A JP 2017173954 A JP2017173954 A JP 2017173954A JP 2019049876 A JP2019049876 A JP 2019049876A
- Authority
- JP
- Japan
- Prior art keywords
- update
- volatile memory
- data
- stored
- update data
- 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.)
- Pending
Links
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】論理アドレスと物理アドレスの対応関係を記述したテーブルが記憶される領域についての書き換え回数を低減することにより、不揮発性メモリの寿命を向上させることができる電子情報記憶媒体等を提供する。【解決手段】不揮発性メモリに論理アドレスと物理アドレスの対応関係を記述した第1テーブルを記憶させ、揮発性メモリに第1テーブルのコピーである第2テーブルを記憶させ、テーブルを更新する場合には第2テーブルのみを更新し、当該更新内容を更新データとして不揮発性メモリに記憶させる。不揮発性メモリに更新データが記憶されている場合に、揮発性メモリに第2テーブルを記憶させる場合には、第1テーブルのコピーで第2テーブルを記憶させた後、当該第2テーブルを更新データで更新する。【選択図】図7
Description
IC(Integrated Circuit)チップ等の電子情報記憶媒体の技術分野に関する。
ICチップなどの電子情報記憶媒体は、CPU、RAM、フラッシュメモリ等の不揮発性メモリを備え、不揮発性メモリにはOS(Operating System)やアプリケーションプログラム、各種データを記憶する。不揮発性メモリは、その構造上、数万〜数十万程度の書き換え回数の上限が存在し、その上限を超えた書き換えが行われた記憶素子については正常にデータの記録が行えなくなる。その上限による影響を受け難いようにするために、一般に不揮発性メモリについてウェアレベリング処理が行われている。
ウェアレベリング処理とは、書き換えが行われる物理的な記憶素子が特定のものに偏らないように分散することで、特定のデータについて繰り返し書き換えが発生した場合でもデバイス全体として記憶素子の消耗を平均化する技術である。ユーザ(アプリケーション)に対して見せるアドレスは、ウェアレベリング処理を実施しない場合であれば物理アドレスになるが、ウェアレベリング処理を実施する場合は論理アドレスとなる。ユーザが論理アドレスに対してのアクセスを要求した場合、OSは自身が管理する論理アドレスと物理アドレスの対応関係を記述したテーブル(アドレス変換テーブル)を用いて、変換後の物理アドレスへの要求として処理する。これにより、例えば、ユーザから見て特定のデータに対して書き込みを繰り返す場合であっても、物理的な記憶素子は(アドレス変換テーブルを更新することによって)複数の記憶素子に分散することができ、不揮発性メモリ全体として飛躍的に書き換え耐久性を向上させることができる。
特許文献1には、フラッシュメモリに対してウェアレベリング処理を行う記憶装置について開示されている。当該記憶装置は、ホストシステムから指示されたデータを記憶しておくためのユーザ領域と、各ブロックは消去済み状態であり、各ブロックの書き換え回数を平均化するために使用されるブロックのあつまりである代替領域とを備えるフラッシュメモリを備え、ユーザ領域中でデータが格納されていない論理セクタアドレスと物理セクタアドレスとの対応関係を解除するとともに、対応関係が解除された物理ブロックを消去し代替領域のブロックとして使用可能化する。これにより、ウェアレベリング処理に用いられる代替領域を増やすことができ、ウェアレベリング処理をより有効に行うことができるため、フラッシュメモリの寿命を伸ばすことができる。
ウェアレベリング処理が実施される不揮発性メモリにおいてユーザ領域のデータを更新する場合、不揮発性メモリ上のアドレス変換テーブルにおける当該論理アドレスに対応した物理アドレスを特定するための情報を更新する必要がある。しかしながら、従来のウェアレベリング処理では、ユーザ領域のデータを更新する場合、当該データの記憶領域を変更するとともにアドレス変換テーブルにおける物理アドレスを特定するための情報を更新しているが、アドレス変換テーブルそのものが記憶されている領域についてはウェアレベリング処理がなされておらず、当該領域の方がユーザ領域により先に書き換え回数の上限に達してしまうおそれがある。
そこで、本発明は、論理アドレスと物理アドレスの対応関係を記述したテーブルが記憶される領域についての書き換え回数を低減することにより、不揮発性メモリの寿命を向上させることができる電子情報記憶媒体等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、所定の時期に前記第1テーブルのコピーを第2テーブルとして揮発性メモリに記憶させるコピー手段と、前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新手段と、前記第1更新手段による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成手段と、前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記コピー手段により前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新手段と、を備えることを特徴とする。なお、「所定の時期」の一例として、本発明である電子情報記憶媒体に電源が投入された時(電子情報記憶媒体の起動時)や、アプリケーションが選択された時などが挙げられる。
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記不揮発性メモリに更新データが記憶されている場合において、所定の初期化条件が満たされた場合に、前記第2テーブルのコピーにより前記第1テーブルを更新し、前記更新データが記憶されている領域を解放する初期化手段、を更に備えることを特徴とする。
請求項3に記載の発明は、請求項1又は2に記載の電子情報記憶媒体であって、前記第1更新手段は、前記アプリケーションデータの更新に伴う、前記不揮発性メモリに対するウェアレベリング処理に応じて、前記第2テーブルにおける当該アプリケーションデータの物理アドレスを更新することを特徴とする。
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の電子情報記憶媒体を備えるICカードである。
請求項5に記載の発明は、アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、揮発性メモリと、を備える電子情報記憶媒体によるテーブル管理方法であって、所定の時期に前記第1テーブルのコピーを第2テーブルとして前記揮発性メモリに記憶させるコピー工程と、前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新工程と、前記第1更新工程による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成工程と、前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新工程と、を含むことを特徴とする。
請求項6に記載の発明は、アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、揮発性メモリと、コンピュータと、を備える電子情報記憶媒体における前記コンピュータを、所定の時期に前記第1テーブルのコピーを第2テーブルとして揮発性メモリに記憶させるコピー手段、前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新手段、前記第1更新手段による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成手段、前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新手段、として機能させることを特徴とする。
本発明によれば、アプリケーションデータが更新される場合に、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述し、不揮発性メモリに記憶される第1テーブルは更新されず、当該第1テーブルのコピーであって、揮発性メモリに記憶される第2テーブルのみが更新されることから、不揮発性メモリの第1テーブルが記憶される領域についての書き換え回数を低減することができ、不揮発性メモリの寿命を向上させることができる。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、アプリケーションのアップデート機能を有するマルチアプリケーションICチップを搭載するICカードに対して本発明を適用した場合の実施の形態である。
[1.ICチップ1aの構成及び概要]
まず、図1を参照して、ICカード1に搭載されるICチップ1aの構成について説明する。図1は、ICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。本実施形態のICカード1は、接触によるデータ通信と非接触によるデータ通信の2つの通信機能を兼ね備えたデュアルインターフェース型ICカードである。但し、ICカード1の種類はデュアルインターフェース型ICカードに限定されず、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにICチップ1aがエンベットされた接触型ICカードであってもよいし、また、アンテナコイルを内蔵し無線でリーダ・ライタとデータ通信する非接触型ICカードであってもよい。
まず、図1を参照して、ICカード1に搭載されるICチップ1aの構成について説明する。図1は、ICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。本実施形態のICカード1は、接触によるデータ通信と非接触によるデータ通信の2つの通信機能を兼ね備えたデュアルインターフェース型ICカードである。但し、ICカード1の種類はデュアルインターフェース型ICカードに限定されず、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにICチップ1aがエンベットされた接触型ICカードであってもよいし、また、アンテナコイルを内蔵し無線でリーダ・ライタとデータ通信する非接触型ICカードであってもよい。
図1に示すように、ICチップ1aは、CPU(Central Processing Unit)10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成される。CPU10は、ROM12又は不揮発性メモリ13に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。なお、I/O回路14は、外部機器2とのインターフェイスを担う。これにより、ICチップ1aは、リーダ・ライタを備える外部機器2との間で接触又は非接触で通信を行うことができる。接触式のICチップ1aの場合、I/O回路14には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子(ICチップ1aへ電源供給する端子)、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部機器2との間で通信を行うための端子である。一方、非接触式のICチップ1aの場合、I/O回路14には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部機器2の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICチップ1aが通信機器に組み込まれる場合、外部機器2には通信機器の機能を担う制御部が該当する。
不揮発性メモリ13には、例えばフラッシュメモリ、強誘電体メモリ又は「Electrically Erasable Programmable Read-Only Memory」を適用することができる。不揮発性メモリ13は、OS及び各種アプリケーションを記憶する。また、不揮発性メモリ13は、アプリケーションが使用するデータを記憶するユーザ領域とOSが使用するデータを記憶するOS領域がある。OS領域には特に論理アドレスと物理アドレスの対応関係を記述したアドレス変換テーブルが記憶される。アドレス変換テーブルは、例えば、論理アドレスに対応する物理アドレスそのものを格納することとしても良いし、論理アドレスに対応する物理アドレスを特定するための情報を格納することとしても良い。なお、OSは、その一機能として不揮発性メモリ13についてウェアレベリング処理を行う。
アドレス変換テーブルにおける、論理アドレスに対応する物理アドレスを特定するための情報の一例について説明する。例えば、アドレス変換テーブルには、論理アドレスと対応付けて、論理アドレスに対応する物理アドレスを特定するための情報として「論理アドレスと物理アドレスの排他的論理和(xor)」を格納することとしてもよい。このとき、論理アドレスと物理アドレスを4バイトで表現することとし、先頭1バイトと末尾1バイトを除いた真ん中の2バイトを共通の値とする仕組みとすれば、論理アドレスから物理アドレスを算出する場合、論理アドレスと格納データの排他的論理和を計算し、1バイト目と4バイト目を足せば物理アドレスとなる。
ここで、図2−図7を用いて、OSによるアドレス変換テーブルの管理方法の概略について説明する。図2は、アドレス変換テーブルTAが初期状態である場合におけるICチップ1a起動時の動作例を示す概念図である。図3は、ICチップ1a起動中におけるアドレス変換テーブルTAの書き換え発生時(1回目)の動作例を示す概念図である。図4は、ICチップ1a起動中におけるアドレス変換テーブルTAの書き換え発生時(2回目)の動作例を示す概念図である。図5は、アドレス変換テーブルTAが非初期状態である場合におけるICチップ1a起動時の動作例を示す概念図である。図6は、アドレス変換テーブルTAの初期化時の動作例を示す概念図である。
本実施形態においてOSは、全アプリケーション共有のアドレス変換テーブルTAを不揮発性メモリ13に記憶させており、ICチップ1aの起動時(電源投入時)にアドレス変換テーブルTAのコピーであるアドレス変換テーブルTBをRAM11に記憶させる。つまり、OSはICチップ1aの起動中において、不揮発性メモリ13及びRAM11のそれぞれに、アドレス変換テーブルTA及びアドレス変換テーブルTBを併存させる。アドレス変換テーブルTAを基準テーブルTAといい、アドレス変換テーブルTBを運用テーブルTBという場合がある。以下、具体的にアドレス変換テーブルTA及びアドレス変換テーブルTBを併存させて管理する方法について説明する。
図2に示すように、OSは、基準テーブルTAが初期状態である場合においてICチップ1aが起動する場合、基準テーブルTAのコピーである運用テーブルTBをRAM11に記憶させる。
図3に示すように、OSは、ICチップ1a起動中に、ユーザ領域(アプリケーションが使用するデータ領域)のデータの書き換えが発生した場合に、ウェアレベリングのために運用テーブルTBの物理アドレスを特定するための情報を書き換えるとともに、当該書き換え内容を示す更新データD1を生成して不揮発性メモリ13に記憶させる。図4に示すように、OSは、ユーザ領域のデータの書き換えが更に発生すると、運用テーブルTBの物理アドレスを特定するための情報を書き換えるとともに、当該書き換え内容を示す更新データD2を生成して不揮発性メモリ13に追加で記憶させる。以降、OSは、ICチップ1a起動中に、ユーザ領域のデータの書き換えが発生する度に、運用テーブルTBを書き換えるとともに、当該書き換え内容を示す更新データDn(以下、更新データD1〜Dnを総称して更新データDという場合がある)を生成して不揮発性メモリ13に追加で記憶させる。このように、不揮発性メモリ13に更新データDが記憶されている状態をアドレス変換テーブルの非初期状態といい、図1に示したように不揮発性メモリ13に更新データDが記憶されていない状態をアドレス変換テーブルの初期状態という。
図5に示すように、OSは、基準テーブルTAが非初期状態である場合においてICチップ1aが起動する場合、基準テーブルTAのコピーである運用テーブルTBをRAM11に記憶させ、次いで、更新データDに基づいて、運用テーブルTBを書き換える。このとき、OSは、不揮発性メモリ13に更新データDを記憶させた順に従って、当該更新データDに基づいて運用テーブルTBを書き換える。これにより、最新の状態の運用テーブルTBをRAM11に生成することができる。
OSは、ユーザ領域のデータの書き換えが発生する度に、当該書き換え内容を示す更新データDnを生成して不揮発性メモリ13に追加で記憶させるが、更新データDnの生成を繰り返すと不揮発性メモリ13の記憶容量を圧迫してしまう。そこで、OSは、所定の初期化条件が満たされた場合に、基準テーブルTAの初期化を行う。具体的には、図6に示すように、OSは、運用テーブルTBのコピーにより基準テーブルTAを書き換えるとともに、更新データD1〜Dnを無効化する。これにより、基準テーブルTAは最新の状態のアドレス変換テーブルとすることができるとともに、更新データDが不揮発性メモリ13の記憶容量を圧迫してしまうことを防ぐことができる。
次に、図7を用いて、不揮発性メモリ13に記憶される基準テーブルTA及び更新データDと、RAM11に記憶される運用テーブルTBの遷移について説明する。なお、図7の例では、不揮発性メモリ13に記憶させる更新データDの上限数を4つとする。
まず、図7(A)に示すように、基準テーブルTAが初期状態である場合、更新データDが記憶される領域は空き状態となっており、ICチップ1aの起動により、基準テーブルTAのコピーが運用テーブルTBとしてRAM11に記憶される。つまり、基準テーブルTAと運用テーブルTBは同じ内容となっている。なお、図7の基準テーブルTAと運用テーブルTBは、論理アドレスと物理アドレスの対応関係を示す情報を保持するが、これらのテーブルにおける物理アドレスを特定するための情報を記憶する位置(例えば、図7における(1)〜(8))を、論理アドレスと対応付けておくことで、物理アドレスを特定するための情報のみを保持する構造となっている。例えば、論理アドレス(1)を示す位置に物理アドレス「アドレスA」を特定するための情報を保持することにより論理アドレス(1)と物理アドレス「アドレスA」が対応していることを示している。
次いで、アプリケーションによるユーザ領域のデータの書き換えが2回行われると、それぞれの書き換えに基づいて、OSは、例えば図7(B)に示すように、運用テーブルTBの(3)を「アドレスC」を特定するための情報から「アドレスI」を特定するための情報に書き換え、次いで、運用テーブルTBの(8)を「アドレスH」を特定するための情報から「アドレスJ」を特定するための情報に書き換える。これに伴い、OSは(3)を「アドレスI」を特定するための情報に書き換えることを示す一つ目の更新データD1を生成して不揮発性メモリ13に記憶させ、次いで、(8)を「アドレスJ」を特定するための情報に書き換えることを示す二つ目の更新データD2を生成して不揮発性メモリ13に記憶させる。
更に、アプリケーションによるユーザ領域のデータの書き換えが2回行われると、それぞれの書き換えに基づいて、OSは、例えば図7(C)に示すように、運用テーブルTBの(7)を「アドレスG」を特定するための情報から「アドレスC」を特定するための情報に書き換え、次いで、運用テーブルTBの(1)を「アドレスA」を特定するための情報から「アドレスH」を特定するための情報に書き換える。これに伴い、OSは(7)を「アドレスC」を特定するための情報に書き換えることを示す三つ目の更新データD3を生成して不揮発性メモリ13に記憶させ、次いで、(1)を「アドレスH」を特定するための情報に書き換えることを示す四つ目の更新データD4を生成して不揮発性メモリ13に記憶させる。
そして、OSは、所定の初期化条件が満たされると、図7(D)に示すように、運用テーブルTBのコピーにより基準テーブルTAを書き換え、更新データD1〜D4を解放して更新データが記憶されていた領域を空き状態とする。
[2.起動時処理]
次に、図8を用いて、ICチップ1aの起動時処理の動作例について説明する。図8は、起動時処理の一例を示すフローチャートである。
次に、図8を用いて、ICチップ1aの起動時処理の動作例について説明する。図8は、起動時処理の一例を示すフローチャートである。
図8に示すように、OS(を実行するCPU10)は、ICチップ1aの起動時に、基準テーブルTAをコピーしてRAM11に書き込むことにより運用テーブルTBを生成する(ステップS101)。
次に、OSは、更新データD(空き状態でない更新データD)が不揮発性メモリ13に記憶されているか否かを判定する(ステップS102)。このとき、OSは、更新データDが不揮発性メモリ13に記憶されていないと判定した場合には(ステップS102:NO)、起動時処理を終了する。
一方、OSは、更新データDが不揮発性メモリ13に記憶されていると判定した場合には(ステップS102:YES)、不揮発性メモリ13に追加された時期が最も早い更新データDを一つ選択する(ステップS103)。
次に、OSは、ステップS103の処理で選択した更新データDに基づいて運用テーブルTBを更新し(ステップS104)、ステップS102の処理に移行する。そして、OSは、不揮発性メモリ13に記憶されている全ての更新データDに基づいて運用テーブルTBを更新するまでステップS102〜ステップS104の処理を繰り返す。このとき、ステップS103の処理では、それまでに選択していない更新データDの中で、不揮発性メモリ13に追加された時期が最も早い更新データを一つ選択する。
[3.書き込み時処理]
次に、図9を用いて、ユーザ領域にデータの書き込みが行われた際に実行される書き込み時処理の動作例について説明する。図9は、書き込み時処理の一例を示すフローチャートである。
次に、図9を用いて、ユーザ領域にデータの書き込みが行われた際に実行される書き込み時処理の動作例について説明する。図9は、書き込み時処理の一例を示すフローチャートである。
図9に示すように、OS(を実行するCPU10)は、アプリケーションによるユーザ領域のデータの更新が行われた場合に、当該更新が行われたデータの論理アドレスに基づいて、不揮発性メモリ13上の書き込み領域を特定する(ステップS201)。具体的には、ウェアレベリングの観点から、それまでの書き込み回数が少ない領域を書き込み領域として特定する。
次に、OSは、ステップS201の処理で特定した書き込み領域に、アプリケーションが更新したデータ(更新後のデータ)を書き込む(ステップS202)。
次に、OSは、運用テーブルTBの更新を行う(ステップS203)。具体的には、アプリケーションによる更新が行われたデータの論理アドレスに対応する運用テーブルTB上の位置に、ステップS201の処理で特定した書き込み領域の物理アドレスを特定するための情報を書き込む。
次に、OSは、更新データDを生成し、不揮発性メモリ13に追加して記憶させる(ステップS204)。
ここで、書き込み時処理について、例えば、アプリケーションが論理アドレス「アドレスP」(物理アドレス「アドレスs」)のデータを更新した場合を例に説明する。まず、OSは、アプリケーションにより更新された更新後のデータを、物理アドレス「アドレスs」で特定される領域に書き込むのではなく、ウェアレベリング処理により、書き込み回数が少ない領域を特定し(ステップS201)、当該領域に書き込む(ステップS202)。このとき、書き込んだ領域を特定する物理アドレスを「アドレスt」とすると、OSは運用テーブルTBの論理アドレス「アドレスP」に対応する物理アドレスを特定するための情報を「アドレスt」を特定するための情報に更新する(ステップS203)。そして、OSは、論理アドレス「アドレスP」に対応する物理アドレスを特定するための情報を「アドレスt」を特定するための情報に更新したことを示す更新データDを生成し、不揮発性メモリ13に記憶させる。
[4.更新時処理]
次に、図10を用いて、ICチップ1aにおける基準テーブルTAの更新を行う更新時処理の動作例について説明する。図10は、更新時処理の一例を示すフローチャートである。
次に、図10を用いて、ICチップ1aにおける基準テーブルTAの更新を行う更新時処理の動作例について説明する。図10は、更新時処理の一例を示すフローチャートである。
図10に示すように、まず、OS(を実行するCPU10)は、所定の初期化条件が満たされたか否かを判定する(ステップS301)。所定の初期化条件としては、例えば、アプリケーションの一連の処理が終了しており、且つ、更新データDの数が上限の所定割合(例えば、80%)を超えている、という条件を設定することができる。但し、この条件は一例であり、その他の条件を所定の初期化条件としてもよい。OSは、所定の初期化条件が満たされていないと判定した場合には(ステップS301:NO)、更新時処理を終了する。
一方、OSは、所定の初期化条件が満たされていると判定した場合には(ステップS301:YES)、運用テーブルTBのコピーにより基準テーブルTAを更新する(ステップS302)。
次に、OSは、全ての更新データを無効化し(ステップS303)、更新処理を終了する。
以上のように、本実施形態のICチップ1a(「電子情報記憶媒体」の一例)は、不揮発性メモリ13(「不揮発性メモリ」の一例)が、アプリケーションに関するユーザ領域のデータ(「アプリケーションデータ」の一例)と、当該ユーザ領域のデータの論理アドレスと物理アドレスとの対応関係を記述した基準テーブルTA(「第1テーブル」の一例)と、を記憶し、CPU10(「コピー手段」、「第1更新手段」、「更新データ生成手段」、「第2更新手段」の一例)が、ICチップ1aの起動時に基準テーブルTAのコピーを運用テーブルTB(「第2テーブル」の一例)としてRAM11(「揮発性メモリ」の一例)に記憶させ、ユーザ領域のデータの更新に伴って、運用テーブルTBを更新し、当該更新内容を示す更新データDを生成して、不揮発性メモリ13に記憶させ、ICチップ1aの起動時に、不揮発性メモリ13に更新データDが記憶されている場合には、基準テーブルTAのコピーによりRAM11に記憶された運用テーブルTBを更新データDに基づいて更新する。
したがって、本実施形態のICチップ1aによれば、ユーザ領域のデータが更新される場合に、基準テーブルTAは更新されず、基準テーブルTAのコピーであって、RAM11に記憶される運用テーブルTBのみが更新されることから、基準テーブルTAが記憶される領域についての書き換え回数を低減することができ、不揮発性メモリ13の寿命を向上させることができる。また、ユーザ領域のデータが更新された際に、更新データDを不揮発性メモリ13に書き込むだけのため、不揮発性メモリ13のアドレス変換テーブル全体を書き換える場合と比較して、書き換え時間を大幅に短くすることができる。
また、本実施形態のICチップ1aのCPU10(「初期化手段」の一例)は、不揮発性メモリ13に更新データDが記憶されている場合において、所定の初期化条件が満たされた場合に、運用テーブルTBのコピーにより基準テーブルTAを更新し、更新データDが記憶されている領域を解放する。これにより、更新データDが無数に不揮発性メモリ13に記憶され、不揮発性メモリ13の記憶容量を圧迫することを防ぐことができる。
更に、本実施形態のICチップ1aのCPU10(「第1更新手段」の一例)は、ユーザ領域のデータの更新に伴う、不揮発性メモリ13に対するウェアレベリング処理に応じて、運用テーブルTBにおける当該ユーザ領域のデータの物理アドレスを更新する。これにより、不揮発性メモリ13において、基準テーブルTAが記憶される領域の書き換え回数の低減のみならず、ユーザ領域のデータが記憶される領域の書き換え回数の平均化を実現することができる。
なお、本実施形態において、全アプリケーションで共有のアドレス変換テーブルを用意して利用することとしたが、アプリケーション毎にアドレス変換テーブルを用意して利用することとしてもよい。この場合、図8の起動時処理は、アプリケーション選択時処理として、アプリケーションが選択された時に実行することとしてもよい。なお、アプリケーションが選択された時は本発明の「所定の時期」の一例である。
1 ICカード
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器
Claims (6)
- アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、
所定の時期に前記第1テーブルのコピーを第2テーブルとして揮発性メモリに記憶させるコピー手段と、
前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新手段と、
前記第1更新手段による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成手段と、
前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記コピー手段により前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新手段と、
を備えることを特徴とする電子情報記憶媒体。 - 請求項1に記載の電子情報記憶媒体であって、
前記不揮発性メモリに更新データが記憶されている場合において、所定の初期化条件が満たされた場合に、前記第2テーブルのコピーにより前記第1テーブルを更新し、前記更新データが記憶されている領域を解放する初期化手段、
を更に備えることを特徴とする電子情報記憶媒体。 - 請求項1又は2に記載の電子情報記憶媒体であって、
前記第1更新手段は、前記アプリケーションデータの更新に伴う、前記不揮発性メモリに対するウェアレベリング処理に応じて、前記第2テーブルにおける当該アプリケーションデータの物理アドレスを更新することを特徴とする電子情報記憶媒体。 - 請求項1乃至3の何れか一項に記載の電子情報記憶媒体を備えるICカード。
- アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、揮発性メモリと、を備える電子情報記憶媒体によるテーブル管理方法であって、
所定の時期に前記第1テーブルのコピーを第2テーブルとして前記揮発性メモリに記憶させるコピー工程と、
前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新工程と、
前記第1更新工程による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成工程と、
前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記コピー工程により前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新工程と、
を含むことを特徴とするテーブル管理方法。 - アプリケーションに関するアプリケーションデータと、当該アプリケーションデータの論理アドレスと物理アドレスとの対応関係を記述した第1テーブルと、を記憶する不揮発性メモリと、揮発性メモリと、コンピュータと、を備える電子情報記憶媒体における前記コンピュータを、
所定の時期に前記第1テーブルのコピーを第2テーブルとして揮発性メモリに記憶させるコピー手段、
前記アプリケーションデータの更新に伴って、前記第2テーブルを更新する第1更新手段、
前記第1更新手段による更新内容を示す更新データを生成して、前記不揮発性メモリに記憶させる更新データ生成手段、
前記所定の時期に、前記不揮発性メモリに前記更新データが記憶されている場合には、前記コピー手段により前記揮発性メモリに記憶された前記第2テーブルを前記更新データに基づいて更新する第2更新手段、
として機能させることを特徴とするテーブル管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017173954A JP2019049876A (ja) | 2017-09-11 | 2017-09-11 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017173954A JP2019049876A (ja) | 2017-09-11 | 2017-09-11 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019049876A true JP2019049876A (ja) | 2019-03-28 |
Family
ID=65905613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017173954A Pending JP2019049876A (ja) | 2017-09-11 | 2017-09-11 | 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019049876A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11656999B2 (en) | 2019-06-17 | 2023-05-23 | Samsung Electronics Co., Ltd. | Electronic device and method for determining and managing a partial region of mapping information in volatile memory |
JP7438432B1 (ja) | 2023-06-01 | 2024-02-26 | 大日本印刷株式会社 | 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005242897A (ja) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | フラッシュディスク装置 |
JP2009237668A (ja) * | 2008-03-26 | 2009-10-15 | Masumi Suzuki | フラッシュメモリを用いた記憶装置 |
US20100169551A1 (en) * | 2008-12-27 | 2010-07-01 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
JP2011180963A (ja) * | 2010-03-03 | 2011-09-15 | Renesas Electronics Corp | 半導体集積回路装置 |
-
2017
- 2017-09-11 JP JP2017173954A patent/JP2019049876A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005242897A (ja) * | 2004-02-27 | 2005-09-08 | Oki Electric Ind Co Ltd | フラッシュディスク装置 |
JP2009237668A (ja) * | 2008-03-26 | 2009-10-15 | Masumi Suzuki | フラッシュメモリを用いた記憶装置 |
US20100169551A1 (en) * | 2008-12-27 | 2010-07-01 | Kabushiki Kaisha Toshiba | Memory system and method of controlling memory system |
JP2010157141A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
JP2011180963A (ja) * | 2010-03-03 | 2011-09-15 | Renesas Electronics Corp | 半導体集積回路装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11656999B2 (en) | 2019-06-17 | 2023-05-23 | Samsung Electronics Co., Ltd. | Electronic device and method for determining and managing a partial region of mapping information in volatile memory |
JP7438432B1 (ja) | 2023-06-01 | 2024-02-26 | 大日本印刷株式会社 | 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168640B (zh) | 存储系统、信息处理系统及非易失性存储器的控制方法 | |
CN107168884B (zh) | 存储系统、信息处理系统及非易失性存储器的控制方法 | |
CN107168639B (zh) | 存储系统、信息处理系统及非易失性存储器的控制方法 | |
CN107168885B (zh) | 存储系统、信息处理系统及非易失性存储器的控制方法 | |
US9842030B2 (en) | Data storage device and flash memory control method | |
KR100818797B1 (ko) | 메모리 용량 조절 방법과 메모리 용량 조절 장치 | |
US7093101B2 (en) | Dynamic data structures for tracking file system free space in a flash memory device | |
US7010662B2 (en) | Dynamic data structures for tracking file system free space in a flash memory device | |
TW574647B (en) | Data processing method in high-capacity flash EEPROM card system | |
CN101727978B (zh) | 在电可擦和可编程的非易失性存储器中写入和读取数据的方法 | |
CN107329905B (zh) | 数据储存装置以及快闪存储器控制方法 | |
US8775758B2 (en) | Memory device and method for performing a write-abort-safe firmware update | |
TWI354295B (en) | Performance or power-optimized code/data storage f | |
US9235534B2 (en) | Data protecting method, memory controller and memory storage apparatus | |
KR20040076589A (ko) | 메모리 카드 | |
JP5895565B2 (ja) | Icカード、及びプログラム | |
JP2019049876A (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体によるテーブル管理方法及びテーブル管理プログラム | |
US11218164B2 (en) | Data storage device and non-volatile memory control method | |
JP4826232B2 (ja) | 情報処理装置およびブートプログラムの書き換え方法 | |
US20100306455A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
US20090034333A1 (en) | Method for Managing a Non-Volatile Memory In a Smart Card | |
JP7322923B2 (ja) | セキュアエレメント,トランザクション制御方法およびデバイス | |
JP2006293706A (ja) | アプリケーションの更新機能を有するマルチアプリケーションicカード | |
JP7040053B2 (ja) | 電子情報記憶媒体、icカード、電子情報記憶媒体による情報処理方法及びos | |
JP7438432B1 (ja) | 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210622 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211228 |