JP2006107363A - 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法 - Google Patents

携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法 Download PDF

Info

Publication number
JP2006107363A
JP2006107363A JP2004296631A JP2004296631A JP2006107363A JP 2006107363 A JP2006107363 A JP 2006107363A JP 2004296631 A JP2004296631 A JP 2004296631A JP 2004296631 A JP2004296631 A JP 2004296631A JP 2006107363 A JP2006107363 A JP 2006107363A
Authority
JP
Japan
Prior art keywords
address
data
storage area
nonvolatile memory
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.)
Pending
Application number
JP2004296631A
Other languages
English (en)
Inventor
Satoru Sekiya
哲 関谷
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 JP2004296631A priority Critical patent/JP2006107363A/ja
Publication of JP2006107363A publication Critical patent/JP2006107363A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 不揮発性メモリ14の書き換え寿命によりデータの書き換えが出来ない状態となっても、データが失われず処理を続けることが可能となり、ICカードCの寿命を延ばすことが可能になる。また、不揮発性メモリ14上に書き換えが出来ないブロックが生じた時点で不揮発性メモリ14上の未使用ブロックから代替領域を割り当てるため、予め代替領域を確保しておく必要がなく、メモリの利用効率が良い。
【解決手段】 不揮発性メモリ14に対するデータの書込み異常が発生した場合、データの書込み異常となった不揮発性メモリ14上の記憶領域(ブロック)を放棄し、不揮発性メモリ14上の空き領域(未使用ブロック)を代替領域として割り当て、以後、データの書込み異常となった不揮発性メモリ14上の記憶領域については代替領域を使用するようにしたものである。
【選択図】 図1

Description

本発明は、例えば、キャッシュカードやクレジットカードなどの種々の用途に利用されるICカードなどの不揮発性メモリを有する携帯可能電子装置とこのような携帯可能電子装置に用いられるメモリアクセス方法に関する。
従来、キャッシュカードやクレジットカード等として利用される携帯可能電子装置としてのICカードは、カード状の筐体内に、CPU、不揮発性メモリ、プログラムメモリ、作業用メモリ、および有線若しくは無線通信による外部機器との通信部などの機能を実現するためのLSIチップを有している。上記のようなICカードに用いられる不揮発性メモリは、記憶素子としてEEPROMやフラッシュメモリなどから構成されている。このような構成の不揮発性メモリでは、書き込み(書き換え)回数に数万回〜数十万回という制限(寿命)がある。
しかしながら、ICカードの使用目的や使用頻度によっては、不揮発性メモリ上の特定のデータ(所定のメモリ領域に書き込まれるデータ)が頻繁に書き換えられることがある。このような場合、上記したような不揮発性メモリの書き換え回数に対する制限は、不揮発性メモリ上の頻繁に書き換えられる特定のデータに対しては十分に大きいものとは言い難い。さらに、ICカードの不揮発性メモリ上において書き込みエラーが発生した場合、当該データが失われてICカード自体が使用できなくなってしまうことがあるという問題がある。このような不揮発性メモリの寿命を延ばす技術としては、特開2002−278850号公報(特許文献1)あるいは特開2003−203016号公報(特許文献2)などが提案されている。
例えば、上記特許文献1では、書き換え回数に制限のある不揮発性メモリ上に複数のデータ書き込み領域を確保し、更にどの書き込み領域を使用しているかを示すポインタ領域を設け、データの書き換えが発生する毎にデータを実際に書き込む領域を変更(ローテーション)すると共にどの書き込み領域に書き込んだかをポインタ領域に記録することによって特定の不揮発性メモリ領域に対する書き換え回数を減らす技術について記載されている。
しかしながら、上記特許文献1に記載されている技術では、ポインタ領域がデータ書き込み領域と同じ不揮発性メモリ上にあるため、データ書き込み領域の書き換え回数が減ってもポインタ領域の書き換えはデータ書き換えの都度実行されるため、ポインタ領域の書き換え回数がデータ書き込み領域よりも先に制限回数に達してしまうという問題点がある。
また、上記特許文献2では、複数の単位領域(ブロック)を有するフラッシュメモリのデータを書き換える際、それまでのデータを上書きせず、未使用かつ書き換え回数が少ないブロックを選択してそこに新しいデータを書き込む技術について記載されている。
しかしながら、上記特許文献2に記載されている技術では、フラッシュメモリのブロック単位でデータ書き込みを管理しているために、使用されない無駄なメモリ領域が発生し易く、限られたメモリ容量しか持たないICカード用のLSIに設ける不揮発性メモリとしては不向きであるという問題点がある。
さらに、上記特許文献1及び上記特許文献2では両者ともに、データ更新の都度、ポインタ領域等への書き込みが新たに発生するために、書き込み速度の遅い不揮発性メモリでは処理時間が増大してしまうという問題点もある。
特開2002−278850号公報 特開2003−203016号公報
上記のように、従来のICカードでは、不揮発性メモリ上の同一の記憶領域へのデータの書き込み(書き換え)回数に寿命があり、頻繁に書き換えられるデータに対して、書き込みエラーが発生した場合は当該データが失われてICカード自体が使用できなくなってしまうことがあるという問題点がある。さらに、従来の技術では、不揮発性メモリの寿命を延ばすために、データの書込処理ごとに通常の書込処理以外の余分なプログラム上の処理を行う必要があるため、不揮発性メモリへのデータの書込処理に要する処理時間が増えて処理自体が遅くなってしまうという問題点がある。
この発明は、上記のような問題点を解決するものであり、不揮発性メモリ上の一部の記憶領域においてデータの書込み異常が発生した場合であっても、そのデータを安全かつ効率的に保持することができる携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法を提供することを目的とする。
この発明の携帯可能電子装置は、データの書き換えが可能な不揮発性メモリと、前記不揮発性メモリにおけるデータの書込み対象とする記憶領域のアドレスを指定する制御する制御手段と、この制御手段により指定されたアドレスの記憶領域へのデータの書込み異常が発生した場合、前記記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定する設定手段と、この設定手段により設定されたアドレス変換情報に基づいて前記制御手段が指定するアドレスを変換するアドレス変換手段とを有する。
この発明の携帯可能電子装置は、データの書き換えが可能な不揮発性メモリと、前記不揮発性メモリに対してデータの書込み対象とする記憶領域のアドレスを指定してデータの書込処理を行う書込手段と、この書込手段により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれたか否かを判断する判断手段と、この判断手段により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれていないと判断した場合、前記データの書込み対象の記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定する設定手段と、この設定手段により設定されたアドレス変換情報に基づいて指定されるアドレスを変換するアドレス変換手段と、前記設定手段により設定されたアドレス変換情報に基づいて前記アドレス変換手段により変換されるアドレスの代替領域に前記データを書き込む処理手段とを有する。
この発明の携帯可能電子装置に用いられるメモリアクセス方法は、データの書き換えが可能な不揮発性メモリを有する携帯可能電子装置に用いられる方法であって、前記不揮発性メモリに対してデータの書込み対象とする記憶領域のアドレスを指定してデータの書込処理を行い、前記書込処理により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれたか否かを判断し、この判断により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれていないと判断した場合、前記データの書込み対象の記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定し、この設定されたアドレス変換情報に基づいて指定されるアドレスを変換し、前記設定されたアドレス変換情報に基づいて変換されるアドレスの代替領域に前記データを書き込む。
この発明によれば、不揮発性メモリ上の一部の記憶領域においてデータの書込み異常が発生した場合であっても、そのデータを安全かつ効率的に保持することができる携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法を提供できる。
以下、この発明を実施するための最良の形態について図面を参照しつつ説明する。
図1は、この発明の実施の形態に係る携帯可能電子装置としてのICカードCの構成例を示すブロック図である。
上記ICカードCは、図1に示すようなICカード処理装置1からの電源供給により動作可能な状態となり、上記ICカード処理装置1からのコマンドに応じて動作するものである。上記ICカード処理装置1は、ICカードCに対して種々の処理を要求するコマンドを供給するものであり、例えば、上記ICカードCがキャッシュカードやクレジットカードとして利用される運用形態においては、各種の取引処理を行う自動取引装置として機能する。
また、上記ICカードCは、上記ICカード処理装置1と物理的に接触して通信を行う接触式の携帯可能電子装置(接触式ICカード)であっても良いし、アンテナや無線通信部等により上記ICカード処理装置1と非接触の状態で無線通信を行う非接触式の携帯可能電子装置(非接触式ICカード)であっても良い。
なお、本実施の形態では、接触式ICカードを想定して説明するが、接触式ICカードと非接触式ICカードとはICカード処理装置1との通信方式が異なるだけである。このため、以下に説明する実施の形態は、非接触式ICカードにも同様に適用できる。
図1に示すように、上記ICカードCは、カード状の筐体内に内蔵されるCPU11、RAM12、ROM13、主不揮発性メモリ14、通信インターフェース15、アドレス制御回路16、データバス17およびアドレスバス18などから構成される。これらの各部は、図示しないLSIチップ上に構成され、当該ICカードC本体内に埋設される。
また、上記CPU11、RAM12、ROM13、主不揮発性メモリ14、通信インターフェース15およびアドレス制御回路16等は、データバスを介してデータの送受信を行うようになっている。また、上記主不揮発性メモリ14は、上記アドレスバス18及びアドレス制御回路16を介して上記CPU11から与えられるアドレス信号によりアクセスが制御される。
上記CPU11は、ICカードC全体の制御を司るものである。上記CPU11は、上記ROM13あるいは主不揮発性メモリ14に記憶された制御プログラムに基づいて動作する。上記CPU11は、上記のような制御プログラムに基づいて各部の動作制御を実現している。例えば、上記CPU11は、上記主不揮発性メモリ14へのデータの書き込み処理(書込手段)、上記主不揮発性メモリ14からのデータの読み出し処理(読出手段)、あるいは種々の判断処理(判断手段)などを実行する機能を有している。また、上記CPU11は、アドレス制御回路16にアドレス変換情報を書き込む処理(設定手段)を行う機能を有している。
上記RAM12は、ワーキングメモリとして機能する揮発性のメモリである。上記RAM12は、上記CPU11が処理中のデータなどを一時保管するバッファとして機能し、例えば、上記通信インターフェース15による上位装置としてのICカード処理装置1との通信データを一時保管するようになっている。
上記ROM13は、予め制御用のプログラムや制御データなどが記憶されている不揮発性のメモリである。上記ROM13は、製造段階でICカードC内に組み込まれるものであり、上記ROM13に記憶されている制御プログラムは、予め当該ICカードCの仕様に応じて組み込まれる。
上記主不揮発性メモリ14は、データの書き込みが可能な不揮発性のメモリである。上記不揮発性メモリ14は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。上記不揮発性メモリ14には、当該ICカードCの使用目的に応じて当該ICカードCを使用(運用)するために必要なプログラムファイルやデータファイルなどが定義され、それらのファイルにデータが書き込まれるようになっている。例えば、当該ICカードCの認証処理に用いる鍵データ等の設定情報や当該ICカードCを使用するごとに書き換えられる使用履歴情報などの情報は、上記主不揮発性メモリ14に記録される。
上記アドレス制御回路16は、上記主不揮発性メモリ14にアクセスするアドレスを制御する回路である。上記CPU11、上記主不揮発性メモリ14及び上記アドレス制御回路16の関係については、後で詳細に説明する。
上記通信インターフェース15は、上位機器としてのICカード処理装置1とのデータ通信を行う通信インターフェースである。また、当該ICカードCは、上記通信インターフェース15により上記ICカード処理装置1から各部を動作させるための電源供給を受けるようになっている。上記通信インターフェース15は、上記ICカード処理装置1とのコンタクト部や通信を制御する通信制御部等により構成される。
なお、上記ICカードCを接触式ICカードで実現する場合、上記通信インターフェース15は、図示しないコンタクト部や通信制御部などにより構成される。この場合、ICカードCは、上記通信インターフェース15を介してICカード処理装置1から電源供給を受けてICカードC内の各部を動作させ、当該ICカード処理装置1とのデータの送受信を行う。
また、ICカードCを非接触式ICカード(無線カード)で実現する場合、上記通信インターフェース15は、無線通信の通信制御行う通信部と図示しない無線通信用のアンテナとから構成される。この場合、上記通信インターフェース15は、上記無線通信用のアンテナを介してICカード処理装置1とのデータの送受信を行う。また、ICカードCを非接触式ICカードで実現する場合、当該ICカードCは、図示しない電源生成部により上記通信インターフェース15が上記ICカード処理装置1から受信した電波からICカードC内の各部を動作させるための電源を生成する。
次に、上記のように構成されるICカードCにおける主不揮発性メモリ14に対するアドレス制御について説明する。
図2は、上記アドレス制御回路16によるアドレス変換を説明するためのブロック図である。
図2に示すように、上記CPU11から出力されるアドレス信号は、アドレス制御回路16を介して主不揮発性メモリ14に供給される。また、上記アドレス制御回路16は、図2に示すように、副不揮発性メモリ21と排他的論理和回路(XOR回路)22とを有している。
上記副不揮発性メモリ21は、書き換え可能な不揮発性のメモリにより構成される。上記副不揮発性メモリ21には、上記CPU11から出力されるアドレスに対応して当該アドレスを変換するための値(アドレス変換情報)が設定される。上記XOR回路22は、上記副不揮発性メモリ21に設定されているアドレス変換情報と、上記CPU11から出力されるアドレスとの排他的論理和を算出し、その演算結果を主不揮発性メモリ14へ出力する。
また、本実施の形態では、上記主不揮発性メモリ14への書込みエラーが発生した場合に、上記主不揮発性メモリ14の記憶領域をブロック単位で変更するものとする。このため、本実施の形態では、上記副不揮発性メモリ21に設定されるアドレス変換情報、及び上記XOR回路22が排他的論理和を算出するアドレス信号は、上記CPU11が指定する全アドレス信号のうち上記主不揮発性メモリ14のブロックを指定する信号部分であるものとする。
例えば、主不揮発性メモリ14へのデータの書き込み単位である1ブロックのサイズを64バイト、ブロック数が256で全容量が16Kバイトとする。この場合、主不揮発性メモリ14におけるアドレスを指定するアドレス信号は、14本必要となる。また、アドレス信号の上位8ビット(A13〜A6)は、主不揮発性メモリ14におけるブロックを指定するために用いられ、アドレス信号の下位6ビット(A5〜A0)は、主不揮発性メモリにおける1つのブロック(上位8ビットで指定されるブロック)内のバイト指定に用いられる。
主不揮発性メモリ14が上記のように構成される場合、上記アドレス制御回路16の副不揮発性メモリ21には、容量が8ビット×256バイトの不揮発性のメモリが用いられる。これにより、上記副不揮発性メモリ21には、A13〜A6に対応する信号(D7〜D0)としてのアドレス変換情報が記憶(設定)される。このアドレス変換情報は、上記CPU11により副不揮発性メモリに書き込まれる(設定される)情報である。なお、副不揮発性メモリ21に記憶されるアドレス変換情報(D7〜D0)の初期値は、全て’0’とする。
上記アドレス制御回路16のXOR回路22は、上記副不揮発性メモリ21に設定されているアドレス変換情報としての信号(D7〜D0)と、上記CPU11から与えられるアドレス信号の上位8ビット(A13〜A6)とのビット毎の排他的論理和(A13’〜A6’)を算出する。上記XOR回路22は、排他的論理和の演算結果としての信号(A13’〜A6’)’を主不揮発性メモリ14へアドレス信号の上位8ビット(A13〜A6)として出力する。なお、上記XOR回路22による排他的論理和は、ソフトウエア的に演算することも可能であるが、本実施の形態ではハードウエア的に演算するものとする。
このような構成により、上記副不揮発性メモリ21にアドレス変換のためのアドレス変換情報が書き込まれていない初期状態である場合(つまり、D7〜D0が全て’0’である場合)、上記CPU11から出力されるアドレス信号A13〜A6と、上記XOR回路22から出力される信号A13’〜A6’とは等しい値となる。従って、副不揮発性メモリ21にアドレス変換のための情報が書き込まれていない状態では、上記CPU11がアクセスしたアドレスは、そのまま主不揮発性メモリ14のアドレスとなる。
これに対して、上記副不揮発性メモリ21にアドレス変換情報が書き込まれた場合(つまり、D7〜D0が全て’0’でない場合)、上記CPU11から出力されるアドレス信号A13〜A6と、上記XOR回路22から出力される信号A13’〜A6’とは異なる値となることがある。すなわち、上記副不揮発性メモリ21に設定されたアドレス変換情報(初期値でない値)が書き込まれている状態では、上記CPU11がアクセスしたアドレスは、アドレス変換情報により変換された主不揮発性メモリ14のアドレスとなる。
ここで、アドレス信号に対する制御の具体例について説明する。
まず、上記主不揮発性メモリ14のアドレスがA13〜A6:‘00001000’のブロックに書き込み異常が発生した場合を想定する。この場合、上記CPU11は、上記主不揮発性メモリ14の空き領域をチェックする。このチェックの結果として、上記CPU11が上記主不揮発性メモリ14のアドレスA13〜A6:‘10000000’のブロックを、上記主不揮発性メモリ14のアドレスA13〜A6:‘00001000’のブロックの代替領域として選択したものとする。
この場合、上記CPU11は、アドレス信号がA13〜A6:‘00001000’の場合に選択される副不揮発性メモリ21のアドレス変換情報としてD7〜D0:‘10001000’を書き込む。この状態において、上記CPU11がアドレスA13〜A6:‘00001000’を出力すると、実際に上記主不揮発性メモリ14に与えられるアドレスは、‘00001000’と‘10001000’との上記XOR回路22による排他的論理和であるA13’〜A6’:‘10000000’となる。
これにより、上記CPU11が指定する主不揮発性メモリ14のエラーブロック(書込み異常が発生した記憶領域)は、主不揮発性メモリ14上の代替領域のアドレスに変換される。
一方、CPU11が他のブロックを指定するアドレス信号(A13〜A6≠‘00001000’)を出力した場合、アドレス信号がA13〜A6≠‘00001000’の場合に選択される副不揮発性メモリ21のアドレス変換情報は全て初期値(D7〜D0:‘00000000’)である。
このため、上記CPU11が出力したアドレス信号(A13〜A6≠‘00001000’)とD7〜D0:‘00000000’との上記XOR回路22による排他的論理和は、上記CPU11が出力したアドレス信号(A13〜A6≠‘00001000’)と同じ値になり、上記CPU11が出力したアドレス値と実際に主不揮発性メモリ14に与えられるアドレス値とは変化しない。
次に、上記のような不揮発性メモリ14を有するICカードCにおける書き込み処理について説明する。
図3は、ICカードCの書き込み処理の動作例を説明するためのフローチャートである。
まず、上記主不揮発性メモリ14に書き込むべきデータを取得すると、上記CPU11は、当該データを書き込む上記主不揮発性メモリ14上の記憶領域(ブロック)を決定する(ステップS10)。これにより、データの書込み処理の対象とする上記主不揮発性メモリ14上の記憶領域(ブロック)を決定すると、上記CPU11は、当該記憶領域のデータを読み出し、RAM12上にコピーする(ステップS11)。
上記RAM12上にデータをコピーすると、上記CPU11は、さらに、上記主不揮発性メモリ14に書き込むべきデータにより上記RAM12上のデータを更新する(ステップS12)。これにより、RAM12上には、データの書込み処理の対象となる上記主不揮発性メモリ14の記憶領域にデータが正常に書き込まれた状態(実際に書き込むデータ)が保持される。
上記RAM12上に実際に書き込むべきデータを保持すると、上記CPU11は、上記主不揮発性メモリ14への当該データの書き込み処理に対するリトライカウンタを0にセット(リセット)する(ステップS13)。このリトライカウンタは、例えば、当該データの書き込み処理を行う際に上記RAM12上に形成されるものであり、書き込み処理を再試行(リトライ)するごとに値がカウントアップされるデータ書込処理のリトライ回数のカウンタである。
上記リトライカウンタをセットすると、上記CPU11は、上記アドレスバス18を介して上記ステップS10で決定した上記主不揮発性メモリ14上の記憶領域(ブロック)を指定するとともに、上記データバス17を介してRAM12上に保持しているデータを上記主不揮発性メモリ14上の指定されている記憶領域に書き込む書込処理を行う(ステップS14)。
なお、上記主不揮発性メモリ14がEEPROMで構成される場合、上記CPU11は、上記主不揮発性メモリ14上の指定した記憶領域に当該データを上書きすることにより当該データの書込処理を実行する。また、上記主不揮発性メモリ14がフラッシュメモリで構成される場合、上記CPU11は、上記主不揮発性メモリ14上の指定した記憶領域をブロック単位ごとに一旦消去してから当該データを書き込むことにより当該データの書込処理を実行する。
上記主不揮発性メモリ14上の指定した記憶領域へのデータの書込み処理を終了すると、上記CPU11は、上記主不揮発性メモリ14上の書込み処理を行った記憶領域(指定した記憶領域)に記憶されているデータを読み出す(ステップS15)。これは、データの書込み処理により上記主不揮発性メモリ14上の指定した記憶領域にデータが正しく記録されているか否かを判定するための確認読取(ベリファイリード)である。
これにより、上記主不揮発性メモリ14上の指定した記憶領域に記憶されているデータを読み出すと、上記CPU11は、上記記憶領域に書き込んだデータと実際に上記記憶領域から読み出したデータとが一致するか否かを判断する(ステップS16)。この判断により両者のデータが一致すると判断した場合(ステップS16、YES)、上記CPU11は、当該データの書き込みが正常に完了したのと判断して当該書込み処理を正常終了する。
また、上記判断により指定した記憶領域に書き込んだデータと指定した記憶領域から実際に読み出したデータとが一致しないと判断した場合(ステップS16、NO)、上記CPU11は、リトライカウンタの値を加算することによりリトライカウンタをカウントアップする(ステップS17)。
上記リトライカウンタをカウントアップすると、上記CPU11は、リトライカウンタの値(リトライ回数)が所定の制限回数以上であるか否かを判断する(ステップS18)。この制限回数は、データの書込処理に対する制限回数として予め上記ROM13などに記録される値である。また、上記リトライ回数は、不揮発性メモリに記憶するようにすることにより任意に設定できるようにしても良い。
上記判断によりリトライ回数が所定の制限回数未満であると判断した場合(ステップS18、YES)、上記CPU11は、上記ステップS14へ戻り、上記主不揮発性メモリ14上の指定した記憶領域へのデータの書き込みからの処理を再度実行(リトライ)する。
また、上記判断によりリトライ回数が所定の制限回数以上であると判断した場合(ステップS18、NO)、上記CPU11は、上記主不揮発性メモリ14上に当該書込み処理でデータを書き込むべきであった記憶領域の代替として使える空き領域が有るか否かを判断する(ステップS19)。
ここでは、例えば、上記主不揮発性メモリ14に空き領域(未使用領域)が存在し、かつ、その空き領域がデータを書き込むべき領域(ブロック)の代替えとして使用できるか否かにより代替として使える空き領域(代替領域)が有るか否かを判断する。
すなわち、本実施の形態では、予め主不揮発性メモリ14上に記憶領域に対する代替領域を設定しておく必要がない。言い換えると、本実施の形態では、上記主不揮発性メモリ14上に予め代替領域を設定しておかなくとも、主不揮発性メモリ14上のある記憶領域(ブロック)へのデータの書込み異常が発生した時点で、空き領域を書込み異常が発生した領域(ブロック)の代替領域とすることが可能となる。この結果、上記主不揮発性メモリ14の記憶領域を効率的に使用することができる。
上記判断により上記主不揮発性メモリ14上に指定した記憶領域の代替として使用できる空き領域がないと判断した場合(ステップS19、NO)、上記CPU11は、上記主不揮発性メモリ14への当該データの書き込みが不可能であると判断し(ステップS20)、当該データの書込処理を書込みエラーとして当該処理を終了する。
また、上記判断により上記主不揮発性メモリ14上に指定した記憶領域の代替として使用できる空き領域があると判断した場合(ステップS19、YES)、上記CPU11は、上記ステップS10で指定した主不揮発性メモリ14上の記憶領域(ブロック)のアドレスを、代替として使用できる空き領域(ブロック)のアドレスに変換するためのアドレス変換情報を上記アドレス制御回路16の副不揮発性メモリ21に書き込む(ステップS21)。
上記アドレス変換情報を上記副不揮発性メモリ21に書き込んだ後、上記CPU11は、再度、上記ステップS13へ戻り、リトライカウンタのリセット、データの書込み処理、ベリファイリード等を行う。この際、上記CPU11では上記ステップS10で決定したアドレスを再度指定するが、このアドレスは上記アドレス変換情報によって上記アドレス制御回路16で代替として使用される領域(代替領域)のアドレスに変換される。
上記のような処理により、データの書込み異常により代替領域を設定した記憶領域(ブロック)のアドレスは、上記アドレス制御回路16により代替領域(ブロック)のアドレスに変換される。つまり、上記ステップS21にてアドレス変換情報を設定した後は、上記CPU11側の制御が同様であっても、上記CPU11が指定するアドレスは、上記アドレス制御回路16でハードウエア的かつ自動的に変換される。これにより、データの書込み異常に伴って代替領域を設定した記憶領域(ブロック)へのアクセスは、代替領域へのアクセスとして実行される。
従って、上記CPU11側では、書込み異常が発生した記憶領域に対する代替領域の実際のアドレスを意識することなく、主不揮発性メモリ14へのアクセス制御を行うことができる。この結果として、書込み異常が発生した記憶領域を代替領域に変更しても、上記CPU11が実行する制御には、変更を加える必要がない。さらに、アドレス変換は、アドレス制御回路16によりハードウエア的に実行されるため、CPU自身がアドレス変換等の処理を行う必要がなく、CPU11が主不揮発性メモリ14にアクセスする際に余分な処理時間が発生することがない。
上記のように、本実施の形態では、主不揮発性メモリに対するデータの書込み異常が発生した場合、データの書込み異常となった主不揮発性メモリ上の記憶領域(ブロック)を放棄し、主不揮発性メモリ上の空き領域(未使用ブロック)を代替領域として割り当て、以後、データの書込み異常となった主不揮発性メモリ上の記憶領域(ブロック)については代替領域を使用するようにしたものである。
これにより、主不揮発性メモリの書き換え寿命によりデータの書き換えが出来ない状態となっても、データが失われず処理を続けることが可能となり、ICカードの寿命を延ばすことが可能になる。
また、主不揮発性メモリ上に書き換えが出来ないブロックが生じた時点で不揮発性メモリ上の未使用ブロックから代替領域を割り当てる。このため、予め代替領域を確保しておく必要がなく、メモリの利用効率が良い。
さらに、データの書込み異常となった主不揮発性メモリ上の記憶領域(ブロック)に代替領域を割り当てた場合、CPUがデータの書込み異常となった主不揮発性メモリ上の記憶領域(ブロック)のアドレスを指定してもアドレス制御回路がハードウェア的に代替領域のアドレスに変換し、主不揮発性メモリ上の代替領域にアクセスする。
これにより、CPUが通常の主不揮発性メモリに対するアクセス処理において、メモリ管理のためのソフトウエアの変更やアドレス変換などの余分な処理や管理データの書き込みなどを行う必要なく、処理速度を低下させることがない。
本発明の実施の形態に係るICカードの構成例を示すブロック図。 アドレス制御回路によるアドレス変換を説明するためのブロック図である。 ICカードの書き込み処理の動作例を説明するためのフローチャートである。
符号の説明
C…ICカード(携帯可能電子装置)、11…CPU、12…RAM、13…ROM、14…主不揮発性メモリ、15…通信インターフェース、16…アドレス制御回路、17…データバス、18…アドレスバス、21…副不揮発性メモリ、22…XOR回路

Claims (6)

  1. データの書き換えが可能な不揮発性メモリと、
    前記不揮発性メモリにおけるデータの書込み対象とする記憶領域のアドレスを指定する制御手段と、
    この制御手段により指定されたアドレスの記憶領域へのデータの書込み異常が発生した場合、前記記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定する設定手段と、
    この設定手段により設定されたアドレス変換情報に基づいて前記制御手段が指定するアドレスを変換するアドレス変換手段と、
    を具備することを特徴とする携帯可能電子装置。
  2. さらに、前記制御手段により指定されたアドレスの記憶領域へのデータの書込み異常が発生した場合、前記不揮発性メモリ上における空き領域を検出する検出手段を有し、
    前記設定手段は、前記データの書込み異常が発生した記憶領域のアドレスを前記検出手段により検出した空き領域のアドレスに変換するアドレス変換情報を設定する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  3. 前記アドレス変換手段は、前記設定手段により設定されたアドレス変換情報に基づいて前記制御手段が指定するアドレスを演算処理し、その演算結果を出力する演算回路である、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  4. 前記演算回路は、前記設定手段により設定されたアドレス変換情報と前記制御手段が指定するアドレス信号との排他的論理和を算出するXOR回路である、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  5. データの書き換えが可能な不揮発性メモリと、
    前記不揮発性メモリに対してデータの書込み対象とする記憶領域のアドレスを指定してデータの書込処理を行う書込手段と、
    この書込手段により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれたか否かを判断する判断手段と、
    この判断手段により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれていないと判断した場合、前記データの書込み対象の記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定する設定手段と、
    この設定手段により設定されたアドレス変換情報に基づいて指定されるアドレスを変換するアドレス変換手段と、
    前記設定手段により設定されたアドレス変換情報に基づいて前記アドレス変換手段により変換されるアドレスの代替領域に前記データを書き込む処理手段と、
    を具備することを特徴とする携帯可能電子装置。
  6. データの書き換えが可能な不揮発性メモリを有する携帯可能電子装置に用いられるメモリアクセス方法であって、
    前記不揮発性メモリに対してデータの書込み対象とする記憶領域のアドレスを指定してデータの書込処理を行い、
    前記書込処理により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれたか否かを判断し、
    この判断により前記不揮発性メモリにおけるデータの書込み対象の記憶領域にデータが正常に書き込まれていないと判断した場合、前記データの書込み対象の記憶領域のアドレスを前記記憶領域に対する代替領域のアドレスに変換するためのアドレス変換情報を設定し、
    この設定されたアドレス変換情報に基づいて指定されるアドレスを変換し、
    前記設定されたアドレス変換情報に基づいて変換されるアドレスの代替領域に前記データを書き込む。
    ことを特徴とする携帯可能電子装置に用いられるメモリアクセス方法。
JP2004296631A 2004-10-08 2004-10-08 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法 Pending JP2006107363A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004296631A JP2006107363A (ja) 2004-10-08 2004-10-08 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004296631A JP2006107363A (ja) 2004-10-08 2004-10-08 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Publications (1)

Publication Number Publication Date
JP2006107363A true JP2006107363A (ja) 2006-04-20

Family

ID=36376997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004296631A Pending JP2006107363A (ja) 2004-10-08 2004-10-08 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法

Country Status (1)

Country Link
JP (1) JP2006107363A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134880A (ja) * 2006-11-29 2008-06-12 Dainippon Printing Co Ltd 携帯可能情報記録媒体及びそのプログラム
JP2010505193A (ja) * 2006-09-28 2010-02-18 サンディスク コーポレイション メモリカードの寿命末期の回復およびサイズ変更
JP2010238192A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd メモリ制御装置、メモリモジュール及びメモリ制御方法
JPWO2015182439A1 (ja) * 2014-05-26 2017-04-20 ソニー株式会社 記憶装置、記憶システムおよび記憶装置の制御方法
US10089031B2 (en) 2015-04-13 2018-10-02 Samsung Electronics Co., Ltd. Data storage and operating method thereof

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05314019A (ja) * 1992-05-08 1993-11-26 Toshiba Corp メモリカード装置
JP2002032996A (ja) * 2001-06-04 2002-01-31 Hitachi Ltd マイクロコンピュータシステム
JP2002182989A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd 記憶システムおよびデータ処理システム
JP2002278850A (ja) * 2001-03-14 2002-09-27 Nec Corp 半導体装置
JP2003076615A (ja) * 2001-09-06 2003-03-14 Hitachi Ltd 不揮発性半導体記憶装置
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JP2004240793A (ja) * 2003-02-07 2004-08-26 Renesas Technology Corp メモリシステム
JP2004527821A (ja) * 2001-01-19 2004-09-09 ハネウェル・インターナショナル・インコーポレーテッド メモリのための簡略な故障許容

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JPH05314019A (ja) * 1992-05-08 1993-11-26 Toshiba Corp メモリカード装置
JP2002182989A (ja) * 2000-12-11 2002-06-28 Hitachi Ltd 記憶システムおよびデータ処理システム
JP2004527821A (ja) * 2001-01-19 2004-09-09 ハネウェル・インターナショナル・インコーポレーテッド メモリのための簡略な故障許容
JP2002278850A (ja) * 2001-03-14 2002-09-27 Nec Corp 半導体装置
JP2002032996A (ja) * 2001-06-04 2002-01-31 Hitachi Ltd マイクロコンピュータシステム
JP2003076615A (ja) * 2001-09-06 2003-03-14 Hitachi Ltd 不揮発性半導体記憶装置
JP2004240793A (ja) * 2003-02-07 2004-08-26 Renesas Technology Corp メモリシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010505193A (ja) * 2006-09-28 2010-02-18 サンディスク コーポレイション メモリカードの寿命末期の回復およびサイズ変更
JP2008134880A (ja) * 2006-11-29 2008-06-12 Dainippon Printing Co Ltd 携帯可能情報記録媒体及びそのプログラム
JP2010238192A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd メモリ制御装置、メモリモジュール及びメモリ制御方法
US8495463B2 (en) 2009-03-31 2013-07-23 Fujitsu Limited Memory controlling apparatus and method
JPWO2015182439A1 (ja) * 2014-05-26 2017-04-20 ソニー株式会社 記憶装置、記憶システムおよび記憶装置の制御方法
US10089031B2 (en) 2015-04-13 2018-10-02 Samsung Electronics Co., Ltd. Data storage and operating method thereof

Similar Documents

Publication Publication Date Title
JP4734033B2 (ja) 記憶装置
JP4079506B2 (ja) 不揮発性半導体メモリシステムの制御方法
JP4129381B2 (ja) 不揮発性半導体記憶装置
JP3233079B2 (ja) データ処理システム及びデータ処理方法
US20120304000A1 (en) Restoring storage devices based on flash memories and related circuit, system, and method
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
KR20040014971A (ko) 비휘발성 메모리의 제어방법
US10642731B2 (en) Memory management method and storage controller
JP3576625B2 (ja) フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
TWI660271B (zh) 整理指令記錄方法、記憶體控制電路單元與記憶體儲存裝置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
JPH09198884A (ja) フラッシュメモリ管理方法
JP4158526B2 (ja) メモリカード及びメモリへのデータ書き込み方法
TWI616807B (zh) 資料寫入方法以及儲存控制器
JP2007293917A (ja) メモリシステムの制御方法
JP4776462B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2006107363A (ja) 携帯可能電子装置と携帯可能電子装置に用いられるメモリアクセス方法
JP3620478B2 (ja) 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
JP4266742B2 (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム
JP2910745B2 (ja) 記憶装置及びデータ処理方法
CN111858389B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
JP2012037971A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
JP4580724B2 (ja) 不揮発性メモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110517