JP5983349B2 - Icカード、データ読み書き方法、及びデータ読み書きプログラム - Google Patents

Icカード、データ読み書き方法、及びデータ読み書きプログラム Download PDF

Info

Publication number
JP5983349B2
JP5983349B2 JP2012256150A JP2012256150A JP5983349B2 JP 5983349 B2 JP5983349 B2 JP 5983349B2 JP 2012256150 A JP2012256150 A JP 2012256150A JP 2012256150 A JP2012256150 A JP 2012256150A JP 5983349 B2 JP5983349 B2 JP 5983349B2
Authority
JP
Japan
Prior art keywords
data
page
storage area
error detection
read
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.)
Active
Application number
JP2012256150A
Other languages
English (en)
Other versions
JP2014102792A (ja
Inventor
歩 小林
歩 小林
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2012256150A priority Critical patent/JP5983349B2/ja
Publication of JP2014102792A publication Critical patent/JP2014102792A/ja
Application granted granted Critical
Publication of JP5983349B2 publication Critical patent/JP5983349B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、ページを複数含んで構成されるページ群を1単位としてデータの読み書きが行われるフラッシュメモリにデータの読み書きを行うICカードの技術に関する。
携帯電話機をはじめとする携帯端末に挿入されるSIMカードでは、電池が不足すると、SIMカードへの電圧供給も途絶えることとなる。この現象を断電と定義する。ファイル書き込み中に断電が発生すると、書き込みが失敗し、ファイルの値が壊れる現象が起こる。このような現象の対策について、従来から、書き込み保証が行われてきた。書き込み保証とは一般に、書き込み処理時にバックアップをとっておくことで、断電が発生した際にも、データ更新前、あるいはデータ更新後の何れかに値を遷移させることにより、データ書き込みの一貫性を守る機能のことである。
近年、ICカードに搭載されるICチップでは、フラッシュメモリが採用されるようになってきた。そのため、従来の不揮発性メモリであるEEPROMとは異なり、書き込み処理のロジックが異なることとなる。フラッシュメモリでは、保持した値を書き換える際、ページ単位(読み書きを行う最小単位であり、例えば128バイト、256バイト、または512バイト)の消去処理(0→1あるいは1→0)と、1バイト書き込み処理(1→0あるいは0→1)が発生する。この二つの処理は、供給される電圧によって実現することになる。
EEPROMとフラッシュメモリの特性が異なることにより、断電時のデータの破損現象も、従来のEEPROMとは異なることが知られている。データの破損現象の差異として、EEPROMでは書き込み中にアクセスしたアドレスの範囲のみ壊れるのに対して、フラッシュメモリでは、ページ単位に電圧がかかるためページ単位に値が壊れることが知られている。フラッシュメモリにおけるデータの破損を検知(つまり、データの誤りを検出)するために、ページ内に例えばCRC(Cyclic Redundancy Check, CRC)を保持しておくことにより、破損を検知し、バックアップの値によって修復することが可能である。従来の技術においても、バックアップを取り、書き込み保証を実現する技術は数多く提案されている(例えば特許文献1及び2参照)。
特開2001−318836号公報 特開2004−062504号公報
ところで、フラッシュメモリに格納された値の書き換え処理の途中で断電が発生すると、当該値は0または1のどちらかの領域に留まるかで値が決定するが、0または1の領域の境界付近で断電が発生した場合、供給電圧が中途半端なため、フラッシュメモリ上に浅く書き込まれることがある。このとき、断電直後は、フラッシュメモリ上の格納値は書き込み前の正常な値となっているが、時間経過とともに値が壊れる現象が発生することがある。この現象を遅延破壊と定義する。従来技術のようにデータの破損を単純にCRCやチェックコードといった手段で検知する方法では、上記遅延破壊によるデータの破損を検知することが困難である。
そこで、本発明は、フラッシュメモリにおける遅延破壊によるデータの破損に対応することが可能なICカード、データ読み書き方法、及びデータ読み書きプログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードであって、前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、前記コントローラは、前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定手段と、前記特定手段により特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定手段により特定された前記最も古い前記ページの前記格納領域に書き込む制御手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載のICカードにおいて、前記コントローラは、前記データに誤り検出された場合、誤りが検出された前記データが格納されていたページより書き込みが新しいページの前記格納領域からデータを読み出して、前記誤りが検出されたデータを前記揮発性メモリ上で上書きし、当該上書きしたデータを、前記誤りが検出された前記データが格納されていた前記ページの前記格納領域に書き込むことを特徴とする。
請求項3に記載の発明は、揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードにおけるデータ読み書き方法であって、前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、前記データ読み書き方法は、前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定ステップと、前記特定ステップにより特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定ステップにより特定された前記最も古い前記ページの前記格納領域に書き込むステップと、を含むことを特徴とする。
請求項4に記載の発明は、揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードにおける前記コントローラにより実行されるデータ読み書きプログラムであって、前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、前記データ読み書きプログラムは、前記コントローラを、前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定手段、及び前記特定手段により特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定手段により特定された前記最も古い前記ページの前記格納領域に書き込む制御手段として機能させることを特徴とする。
本発明によれば、フラッシュメモリにおける遅延破壊によるデータの破損に対応することができる。
(A)は、ICカード1の概要構成例を示す図であり、(B)は、ページリングの構成例を示す図であり、(C)は、ページ内のメモリ構成例を示す図である。 フラグを使って実現される順番管理の一例を示す概念図である。 CPU11により実行される読み書き処理を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。
先ず、図1を参照して、本実施形態に係るICカードについて説明する。図1(A)は、ICカード1の概要構成例を示す図であり、図1(B)は、ページリングの構成例を示す図であり、図1(C)は、ページ内のメモリ構成例を示す図である。なお、ICカード1は、キャッシュカード、クレージットカード、社員カード等として使用される。或いは、ICカード1は、スマートフォンや携帯電話機等に組み込まれる。
図1(A)に示すように、ICカード1には、ICチップ1aが搭載されている。ICチップ1aは、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、フラッシュメモリ13、及びI/O回路14を備えて構成される。
CPU11は、各種プログラムを実行するコントローラであり、プログラムにしたがって、RAM12及びフラッシュメモリ13に対するデータの読み書き処理を行う。RAM12は、データを一時的に記憶する揮発性メモリである。I/O回路14は、図示しないリーダライタ装置等とのインターフェイスを担う。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が設けられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子はリーダライタ装置とのデータ通信を行う端子である。
フラッシュメモリ13は、プログラムやファイルのデータを格納する不揮発性メモリである。CPU11からフラッシュメモリ13へのアクセスは、データの読み書きが行われる最小単位であるページ単位で行われるように構成されている。また、フラッシュメモリ13には、ページを複数含んで構成されるページ群を1単位としてデータの読み書きが行われる。このページ群は、例えば、図1(B)に示すように、3つのページを連ねたページリング(ページ群の一例)Rとして構成される。なお、図1(B)に示す例では、3つのページP1〜P3を連ねたページリングRを示すが、2つのページを連ねたページリングであってもよいし、4つ以上のページを連ねたページリングであってもよい。また、ページリングRは、ページP1〜P3を物理構造的に連ねて構成されてもよいし、ページP1〜P3が管理上、論理構造的に連ねていれば物理構造的には連ねていなくてもよい。
ページリングRに含まれる各ページP1〜P3は、図1(C)に示すように、値を格納するための値格納領域52と、値格納領域52への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域51と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域53とを有する。ここで、値の例としては、例えば逐次更新される日付やカウント値等が挙げられる。誤り検出符号の例としては、CRC、チェックコード、チェックサム等が挙げられる。ページリングRは、上記フラグによって書き込みの順番が決定される。そして、最も順番が古いページに書き込みが発生し、書き込みが発生したページは最も新しいページとなる。値が読み出される際には、最も新しいページが参照される。つまり、ページリングRでデータの読み書きが実行される際に、書き込みが発生するのは最も古いページであり、読み込みが発生するのは最も新しいページであるという特性がある。そのため、ページリングRに対して書き込みが発生した際に断電によって破損するのは最も古いページである。この特性によって、遅延破壊の現象が発生し、誤り検出符号で検出(検知)できなかったとしても、読み出されるデータは遅延破壊の影響を受けないようにすることができる。
図2は、フラグを使って実現される順番管理の一例を示す概念図である(図中矢印で示されるページが、書き込みが発生するページ)。図2に示す例では、ページリングRの各ページで管理されるフラグには、2値(“5A”と“A5”)が使用されている。対象ページへの書き込み時、フラグの値が反転(“5A”→“A5”または“A5”→“5A”)されることでページの順番が管理される。2値の境界値が最も新しいページと最も古いページの境界値となる。また、フラグの値が同一の場合、図2中、“Low Address”のページが最も古いページであり、“High Address”のページが最も新しいページである。
CPU11は、ページリングでのデータの読み書き処理において、先ずはページリングをチェックし破損しているページがあれば当該ページの修復(ページリングのチェック及び修復)を行い、その次に、上記フラグを用いて最も新しいページと最も古いページを検索し、当該検索により特定した最も新しいページからデータをRAM12に読み出して更新した後、上記検索により特定した最も古いページに更新されたデータを書き込む。ところで、上述した遅延破壊の現象において問題の起因となる浅い書き込みは、電圧をかけ直せば上書きされる。よって、遅延破壊で破損される可能性のあるページのデータは、上記読み書き処理において破損が発生しなければ、次回の書き込み時に上書きされる。一方、次回の読み書き処理までに遅延破壊によりページが破損していれば、ページリングのチェックによって破損が検出され、例えば2番目に古いデータで、書き込みが発生した最も古いページが修復されることになる。しかし、ページリングのチェックによりページが破損していないことを確認できたとしても、当該チェック後に、遅延破壊によりページが破損する場合が想定される。もし、当該チェック後、遅延破壊によって、最も新しいページと最も古いページの検索中(フラグのチェック中)にページ破損が発生すると、ページリングの順番管理を正常に行えなくなる。
そこで、本実施形態において、CPU11は、ページリングに含まれる各ページの格納領域51〜53からデータ(つまり、値、フラグ、及び誤り検出符号)をRAM12に読み出し、当該RAM12上で当該データに含まれる誤り検出符号を用いて当該データの誤り検出(破損検出)を行い、誤りが検出されなかった当該データに含まれるフラグを用いてページリングRに含まれる各ページの中で書き込みが最も新しいページと最も古いページを検索して特定する(本発明の特定手段の一例)。これにより、リングページRの順番を保証することができる。これは、フラッシュメモリ13からRAM12にコピーされ、誤り検出符号で破損されていないことが確認されたデータは、少なくともRAM12上にあるうちは破損しないためである。
そして、CPU11は、上記RAM12上のフラグを用いて特定した最も新しいページの格納領域51〜53からデータをRAM12に読み出し、当該RAM12上で当該データに含まれる値、フラグ、及び誤り検出符号を更新し、更新した値、フラグ、及び誤り検出符号を含むデータを、上記RAM12上のフラグを用いて特定した最も古いページの格納領域51〜53に書き込む(本発明の制御手段の一例)。
次に、図3を参照して、ページリングRでのデータの読み書き処理の詳細を説明する。図3は、CPU11により実行される読み書き処理を示すフローチャートである。
図3に示す処理は、CPU11が例えばリーダライタ装置からI/O回路14を介して、特定のページリングに対する書き込みコマンドを受信した場合に開始される。図3に示す処理が開始されると、CPU11は、対象のページリングに含まれるページ数分(例えば、ページリングRにおけるページP1〜P3全て)の検索処理が実行されたか否かを判定する(ステップS1)。この検索処理(ステップS2〜S7の処理)は、例えば、CPU11における検索処理部(検索処理プログラムに基づくモジュール)により実行される。そして、対象のページリングに含まれるページ数分の検索処理が実行されていないと判定された場合(ステップS1:NO)、ステップS2へ進む。一方、対象のページリングに含まれるページ数分の検索処理が実行されたと判定された場合(ステップS1:YES)、ステップS7へ進む。
ステップS2では、CPU11は、ページリングRにおける対象ページの格納領域51〜53からデータを読み出してRAM12にコピーする。次いで、CPU11は、RAM12にコピーされたデータ(RAM12上のデータ)に含まれる誤り検出符号を用いて当該データに誤りがあるか否かを判定する(ステップS3)。例えば、誤り検出符号としてCRCを用いる場合、RAM12上のデータを入力値として所定の関数に代入することにより得られた固定長の値と、RAM12上のデータに含まれるCRCとが一致していればデータに誤りがないと判定され、一致していなければデータに誤りがあると判定(つまり、誤りの検出)される。そして、RAM12上のデータに誤りがないと判定された場合(ステップS3:NO)、ステップS4へ進む。一方、RAM12上のデータに誤りがあると判定された場合(ステップS3:YES)、ステップS5へ進む。
ステップS4では、CPU11は、RAM12上のデータからフラグを取得し、当該取得したフラグを、例えばRAM12に予め用意されたバッファ(ページ数×フラグの容量分)に格納し、ステップS1に戻る。
ステップS5では、CPU11は、RAM12上のデータを、フラッシュメモリ13上の例えば次ページのデータにより上書きする。つまり、CPU11は、RAM12上で誤りが検出されたデータが格納されていた破損ページより書き込みが新しいページの格納領域51〜53からデータを読み出して、上記誤りが検出されたデータをRAM12上で上書きする。例えば、破損ページはページリングの管理で最も古いページであるため、RAM12上のデータが例えば2番目に古いページのデータで上書きされる。これにより、破損ページがあったとしても、そのデータを迅速に修復することができる。次いで、CPU11は、RAM12上で上書きされたデータをフラッシュメモリ13上の対象ページに反映し(ステップS6)、ステップS4へ進む。つまり、CPU11は、データに誤りが検出された場合、誤りが検出されたデータが格納されていた破損ページより書き込みが新しいページの格納領域51〜53からデータを読み出して、誤りが検出されたデータをRAM12上で上書きし、当該上書きしたデータを、誤りが検出されたデータが格納されていた破損ページの格納領域51〜53に書き込む。
ステップS7では、CPU11は、バッファに格納したフラグ(つまり、誤りが検出されなかった当該データに含まれるフラグ)を検索してフラグの2値の境界を探すことでページの書き込みの順番を決定し、書き込みが最も新しいページと最も古いページを特定する。こうして、上記検索処理が終了すると、続いて、ステップS8以降のデータ更新処理が開始される。このデータ更新処理は、例えば、CPU11におけるデータ更新処理部(データ更新処理プログラムに基づくモジュール)により実行される。なお、ステップS7で特定された最も新しいページへのアドレス及び特定された最も古いページへのアドレスは、検索処理部からデータ更新処理部へ通知される。
ステップS8では、CPU11は、ステップS7で特定された最も新しいページへのアドレスにしたがって、当該最も新しいページの格納領域51〜53からデータを読み出してRAM12にコピーする。次いで、CPU11は、上記書き込みコマンドにより指定された値(書き換えたい値)によりRAM12にコピーされたデータに含まれる値を書き換えて更新(反映)する(ステップS9)。次いで、CPU11は、RAM12にコピーされたデータに含まれるフラグを反転させ、誤り検出符号を再計算する(ステップS10)。これにより、フラグ及び誤り検出符号も更新される。そして、CPU11は、更新した値、フラグ、及び誤り検出符号を含むデータを、ステップS7で特定された最も新しいページへのアドレスにしたがって、当該最も古いページの格納領域51〜53に書き込み(ステップS11)、上記処理を終了する。
以上説明したように、上記実施形態によれば、CPU11は、ページリングに含まれる各ページからデータをRAM12に読み出し、当該RAM12上で当該データに含まれる誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれるフラグを用いてページリングRに含まれる各ページの中で書き込みが最も新しいページと最も古いページを検索して特定してから、特定した最も新しいページからデータをRAM12に読み出し、当該RAM12上で当該データを更新し、更新したデータを上記特定した最も古いページに書き込むように構成したので、ページリングの破損チェック後に遅延破壊によって最も新しいページと最も古いページの検索中にページ破損が発生するという事態を防止することができ、リングページの順番を保証することができる。よって、フラッシュメモリ13における遅延破壊によるデータの破損に対応することができる。
1 ICカード
1a ICチップ
11 CPU
12 RAM
13 フラッシュメモリ
14 I/O回路

Claims (4)

  1. 揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードであって、
    前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、
    前記コントローラは、
    前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定手段と、
    前記特定手段により特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定手段により特定された前記最も古い前記ページの前記格納領域に書き込む制御手段と、
    を備えることを特徴とするICカード。
  2. 前記コントローラは、前記データに誤り検出された場合、誤りが検出された前記データが格納されていたページより書き込みが新しいページの前記格納領域からデータを読み出して、前記誤りが検出されたデータを前記揮発性メモリ上で上書きし、当該上書きしたデータを、前記誤りが検出された前記データが格納されていた前記ページの前記格納領域に書き込むことを特徴とする請求項1に記載のICカード。
  3. 揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードにおけるデータ読み書き方法であって、
    前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、
    前記データ読み書き方法は、
    前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定ステップと、
    前記特定ステップにより特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定ステップにより特定された前記最も古い前記ページの前記格納領域に書き込むステップと、
    を含むことを特徴とするデータ読み書き方法。
  4. 揮発性メモリと、データの読み書きが行われる最小単位であるページを複数含んで構成されるページ群を1単位として前記データの読み書きが行われるフラッシュメモリと、前記揮発性メモリ及び前記フラッシュメモリに対する前記データの読み書きを行うコントローラと、を備えるICカードにおける前記コントローラにより実行されるデータ読み書きプログラムであって、
    前記ページ群に含まれる各ページは、値を格納するための値格納領域と、前記値格納領域への書き込みの順番の決定に用いられるフラグを格納するためのフラグ格納領域と、データの誤り検出に用いられる誤り検出符号を格納するための誤り検出符号格納領域とを有し、
    前記データ読み書きプログラムは、前記コントローラを、
    前記ページ群に含まれる各ページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記誤り検出符号を用いて当該データの誤り検出を行い、誤りが検出されなかった当該データに含まれる前記フラグを用いて前記ページ群に含まれる各ページの中で書き込みが最も新しいページと最も古いページを特定する特定手段、及び
    前記特定手段により特定された前記最も新しいページの前記格納領域からデータを前記揮発性メモリに読み出し、当該揮発性メモリ上で当該データに含まれる前記値、前記フラグ、及び前記誤り検出符号を更新し、更新した前記値、前記フラグ、及び前記誤り検出符号を含むデータを、前記特定手段により特定された前記最も古い前記ページの前記格納領域に書き込む制御手段として機能させることを特徴とするデータ読み書きプログラム。
JP2012256150A 2012-11-22 2012-11-22 Icカード、データ読み書き方法、及びデータ読み書きプログラム Active JP5983349B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012256150A JP5983349B2 (ja) 2012-11-22 2012-11-22 Icカード、データ読み書き方法、及びデータ読み書きプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012256150A JP5983349B2 (ja) 2012-11-22 2012-11-22 Icカード、データ読み書き方法、及びデータ読み書きプログラム

Publications (2)

Publication Number Publication Date
JP2014102792A JP2014102792A (ja) 2014-06-05
JP5983349B2 true JP5983349B2 (ja) 2016-08-31

Family

ID=51025220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012256150A Active JP5983349B2 (ja) 2012-11-22 2012-11-22 Icカード、データ読み書き方法、及びデータ読み書きプログラム

Country Status (1)

Country Link
JP (1) JP5983349B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4227149B2 (ja) * 2006-04-19 2009-02-18 三菱電機株式会社 電子制御装置の情報記憶方法
JP2009116521A (ja) * 2007-11-05 2009-05-28 Denso Corp メモリのデータ書替方法

Also Published As

Publication number Publication date
JP2014102792A (ja) 2014-06-05

Similar Documents

Publication Publication Date Title
US8006030B2 (en) Memory controller for identifying the last valid page/segment in a physical block of a flash memory
TWI662410B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
US20070055969A1 (en) System and method for updating firmware
KR20070076849A (ko) 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
CN109086078B (zh) 安卓系统升级方法、装置、服务器及移动终端
US9195582B2 (en) Data storing method and apparatus applied to flash memory storage device
US6941413B2 (en) Nonvolatile memory, its data updating method, and card reader equipped with such nonvolatile memory
JP5983349B2 (ja) Icカード、データ読み書き方法、及びデータ読み書きプログラム
JP6233134B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
CN113434086B (zh) 数据存储方法、装置、非易失性存储器件和存储器
US7353348B2 (en) Nonvolatile memory and card reader provided with the same
JP4266742B2 (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
CN110134322B (zh) 运用dram的储存装置及其相关数据处理方法
US7313648B2 (en) Corruption tolerant method and system for deploying and modifying data in flash memory
CN111090542A (zh) 基于异常掉电的异常块识别方法、装置及计算机设备
US7849279B2 (en) Method for the secure updating data areas in non volatile memory, device to perform such a method
JP4866114B2 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法
JP6252341B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP5786702B2 (ja) セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
KR100575927B1 (ko) 이동통신 단말기에서 부팅 방법
JP6015461B2 (ja) 情報記録媒体、データ読み書き方法、及びデータ読み書きプログラム
JP5708228B2 (ja) Icカード及びicカードのリフレッシュ方法
JP7021465B2 (ja) 電子情報記憶装置、icカード、データ復元方法、及びデータ復元プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160718

R150 Certificate of patent or registration of utility model

Ref document number: 5983349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150