説明

半導体集積回路装置

【課題】不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図る。
【解決手段】半導体集積回路装置(10)は、不揮発性メモリ(108)と制御部(101)とRAM(107)とを含む。上記制御部は、アドレス変換テーブルを、電源投入時の初期設定により上記RAMに形成し、このアドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御する。論理/物理アドレス変換テーブルがRAM内に設けられているため、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になり、不揮発性メモリへのデータ書き込み時間が短縮される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリを内蔵した半導体集積回路装置における電源遮断対策技術に関し、例えば非接触式ICカードに搭載されるカード用マイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【0002】
不揮発性メモリを内蔵した半導体集積回路装置の一例として、非接触式ICカードに搭載されるカード用マイクロコンピュータを挙げることができる。非接触式ICカードは、カードの内部にアンテナを持ち、外部装置(リーダライタ)との間で、電波を利用したデータ通信を行うことができる。非接触式ICカードの動作用電源も電波から生成することができるため、バッテリー無しで動作可能になっているが、書き込み最中にカードを磁界から遠ざけた場合には、電源遮断により書き込みが不完全となる虞れがある。
【0003】
特許文献1には、消去及び書き込み処理中に動作電源が遮断されても記憶情報が不所望に消失しないメモリカードが記載されている。それによれば、不揮発性メモリは、そのメモリ領域の物理アドレス毎に空き情報フラグを対応付けた消去テーブルと、論理アドレス毎にメモリ領域の物理アドレスを対応付けたアドレス変換テーブルとを有し、空き情報フラグは対応メモリ領域が消去許可か否かを示す。制御回路は、消去テーブルの空き情報フラグを参照して書き換えデータを書き込むメモリ領域を決定し、データを書き込んだメモリ領域の物理アドレスと論理アドレスとを対応をアドレス変換テーブルに反映し、消去テーブルの空き情報フラグを更新する。書き換えデータを書き込むメモリ領域は消去テーブルの空き情報フラグを参照して決定し、書き換え前のメモリ領域と同じメモリ領域で書き換えを行わない。
【0004】
特許文献2には、仮想的なセクタ消去の最中に電源が切れてしまっても、差分のデータが損なわれることのない記録技術が記載されている。それによれば、複数のブロック化された記録単位領域を有する不揮発記録媒体に対し、その各記録単位領域に連続的な書込み動作を行い、かつ記録単位領域毎に一括消去動作を行う。そして新たにファイルを上書き保存する際に、記録単位領域の既に書き込まれた既存ファイル直後の空き領域から書込み動作を開始するとともに、かかる書込み動作終了するまでの間、記録単位領域に書き込まれている上書きファイル対応のファイルを保持するようにしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−127185号公報
【特許文献2】特開2008−077669号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
非接触インタフェースを有するOS(Operating System;オペレーティングシステム)規格では、デバイスとして書き込み最中に電源遮断(Tear off)が発生した場合、中途半端な状態で不揮発性メモリ上のデータを放置することはデバイスの信頼性低下となると考え、書込みが正常に終了しなかった場合、次に同アドレスの読み出し要求があったときは書込み実施前のデータを出力するよう規定されている。
【0007】
特許文献1によれば、データ書き込み要求の発生時には不揮発性メモリの空き領域への書き込みを実施し、旧データへの上書きを実施しないようにしている。そして、論理アドレスと物理アドレスとの変換に用いられるアドレス変換テーブルが不揮発性メモリ内に形成され、不揮発性メモリへのデータ書き込み処理時に、不揮発性メモリ内のアドレス変換テーブル更新が行われる。つまり、不揮発性メモリへのデータ書き込み毎に、不揮発性メモリへのデータ書き込みと、当該不揮発性メモリ内のアドレス変換テーブル更新のために、結果的に不揮発性メモリへの書き込み動作が2度必要とされる。不揮発性メモリへの書き込み処理について本願発明者が検討したところ、不揮発性メモリとは別のメモリ例えばRAM(Random Access Memory)にアドレス変換テーブルを形成すれば、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になるため、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上が図れることを見いだした。しかし、RAMにアドレス変換テーブルを形成する場合には、電源遮断によりRAM内のアドレス変換テーブルが失われてしまうため、それについての対策が不可欠となる。
【0008】
特許文献2においては、論理アドレスと物理アドレスとの変換に用いられるアドレス変換テーブルが用いられていないため、電源遮断とRAM内のアドレス変換テーブルとの関係については考慮されていない。
【0009】
本発明の目的は、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図るための技術を提供することにある。
【0010】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0011】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0012】
すなわち、不揮発性メモリと、上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部と、上記制御部によってランダムアクセス可能なRAMとを設ける。上記不揮発性メモリは、書き込み単位とされるページを含み、上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報とを含む。上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記RAMの第1記憶エリアに形成するアドレス変換テーブル形成機能と、上記RAMの第1記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能とを含む。上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記RAMの第2記憶エリアにコピーする第1機能と、上記RAMの第2記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第2機能とを含む。さらに上記データ書き込み機能は、上記第2機能によるデータ書き込みに対応して、上記RAMの第2記憶エリアのページ管理情報を更新する第3機能と、上記ページ管理情報が更新された後に、上記RAMの第2記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第4機能とを含む。
【発明の効果】
【0013】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【0014】
すなわち、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図るための技術を提供することができる。
【図面の簡単な説明】
【0015】
【図1】本発明にかかる半導体集積回路装置の一例とされるカード用マイクロコンピュータの構成例ブロック図である。
【図2】上記カード用マイクロコンピュータに含まれるEEPROMの初期状態の説明図である。
【図3】上記カード用マイクロコンピュータの動作の流れを示すフローチャートである。
【図4】上記カード用マイクロコンピュータにおいて書き込み命令が受信された場合の動作の流れを示すフローチャートである。
【図5】上記カード用マイクロコンピュータにおいて読み出し命令が受信された場合の動作の流れを示すフローチャートである。
【図6】上記EEPROMにおけるメモリフォーマットと論理/物理アドレス変換テーブルとの関係説明図である。
【図7】上記EEPROMに含まれるブロックのデータ書き換えを目的とする書き込み命令が受信された場合の主要部の状態説明図である。
【図8】旧データがRAM内の所定エリアにコピーされた状態の説明図である。
【図9】上記カード用マイクロコンピュータに含まれるRAM内の書き込み用エリアにコピーされたデータの更新後の状態説明図である。
【図10】上記EEPROMにおける空きページへのデータ書き込みの説明図である。
【図11】上記EEPROMにおけるデータと、上記RAMの書き込み用エリアのデータとの比較の説明図である。
【図12】上記RAM内の書き込み用エリアにおける確認フラグの変更と当該確認フラグの上記EEPROMへのオーバーライトの説明図である。
【図13】上記RAM内の論理/物理アドレス変換テーブルの更新の説明図である。
【図14】空きページの判定基準を説明するための説明図である。
【図15】空きページの判定基準を説明するための説明図である。
【図16】空きページの判定基準を説明するための説明図である。
【図17】空きページの判定基準を説明するための説明図である。
【図18】EEPROMの書き換え単位と、書き換えにかかるデータサイズとの関係の説明図である。
【図19】EEPROMの書き換え単位と、書き換えにかかるデータサイズとの関係の説明図である。
【図20】上記カード用マイクロコンピュータが搭載された非接触式ICカードの使用例説明図である。
【図21】上記カード用マイクロコンピュータを搭載する非接触式ICカードに対応するリーダライタに結合されるホストシステムでの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0016】
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【0017】
〔1〕本発明の代表的な実施の形態に係る半導体集積回路装置(10)は、不揮発性メモリ(108)と、上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部(101)と、上記制御部によってランダムアクセス可能なRAM(107)とを含む。上記不揮発性メモリは、書き込み単位とされるページを含み、上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報とを含む。上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記RAMの第1記憶エリアに形成するアドレス変換テーブル形成機能と、上記RAMの第1記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能とを含む。上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記RAMの第2記憶エリアにコピーする第1機能と、上記RAMの第2記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第2機能とを含む。さらに上記データ書き込み機能は、上記第2機能によるデータ書き込みに対応して、上記RAMの第2記憶エリアのページ管理情報を更新する第3機能と、上記ページ管理情報が更新された後に、上記RAMの第2記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第4機能とを含む。
【0018】
論理/物理アドレス変換テーブルが不揮発性メモリ内に設けられている場合には、当該不揮発性メモリへのデータ書き込み毎に、不揮発性メモリへのデータ書き込みと、当該不揮発性メモリ内のアドレス変換テーブル更新のために、結果的に不揮発性メモリへの書き込み動作が2度必要とされる。
【0019】
これに対して、上記構成の半導体集積回路装置においては、論理/物理アドレス変換テーブルがRAM内に設けられているため、不揮発性メモリ内のアドレス変換テーブル更新のための不揮発性メモリへの書き込み動作が不要になる。RAM内の論理/物理アドレス変換テーブルの更新は、不揮発性メモリの場合に比べて高速に行うことができる。このため、不揮発性メモリへのデータ書き込み処理全体としてのパフォーマンスの向上を図ることができる。
【0020】
また制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記RAMの第1記憶エリアに形成するため、電源投入毎に適切なアドレス変換テーブルを得ることができる。
【0021】
〔2〕上記〔1〕において、上記ページ管理情報は、データが正常に書き込まれたことを示す確認フラグを含む。上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記RAMの第2エリアのデータとが一致するか否かを判別する第5機能を含む。また、上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記RAMの第2記憶エリアのデータとが一致する場合に、上記RAMの第2記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグを更新する第6機能を含む。
【0022】
第5機能により、上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記RAMの第2エリアのデータとが一致するか否かの判別が行われ、上記両データが一致する場合には、第6機能により、上記RAMの第2記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグが更新される。確認フラグの値に基づいて、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。さらには、上書き処理においては、通常のデータ書き込みと比べてデータ消去処理を実施していないため、データ書き込み機能においては、全体として短時間で処理を完了することが可能となる。このため、非接触通信が行われる場合においても、従来技術のような不揮発性メモリへの2度の書き込み動作を行う場合に比べて、より早く必要なデータ通信を完了させることが可能となり、データ書き込み中に電源遮断が発生する可能性を小さくすることが可能となる。
【0023】
〔3〕上記〔2〕において、上記ページ管理情報には、タイムスタンプを含めることができる。このとき、上記第3機能には、上記第2機能によるデータ書き込みに対応して、上記タイムスタンプの現在の値に、1を加算することで上記タイムスタンプを更新する機能を設けることができる。
【0024】
上記タイムスタンプにより、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。
【0025】
〔4〕上記〔3〕において、上記ページ管理情報には、当該ページ管理情報を含むページの論理ページナンバーと、上記ページ管理情報についてのチェックサムとを含めることができる。
【0026】
論理ページナンバーと、上記ページ管理情報についてのチェックサムとに基づいて、データの有効性を判別することができるので、データの信頼性の向上を図ることができる。
【0027】
〔5〕上記〔4〕において、上記アドレス変換テーブル形成機能には、上記制御部のリセットにより起動され、同じ論理ページナンバーを持つ物理ページが複数存在する場合に、当該物理ページにおけるページ管理情報に基づいて上記空きページを判定する第7機能を含めることができる。
【0028】
第7機能により、空きページの判定が行われることにより、上記第4機能による書き込み先(空きページ)を決定することができる。
【0029】
〔6〕上記〔5〕において、上記第7機能には、同じ論理ページナンバーを持つ複数の物理ページ間で、上記チェックサム及び上記確認フラグが共に正常であり、上記タイムスタンプが互いに異なる場合に、上記タイムスタンプの値が小さいほうを上記空きページと判定する機能を含めることができる。上記第7機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、上記タイムスタンプ、上記論理ページナンバー、上記確認フラグ、及び上記チェックサムの少なくともひとつが異常であると判断された物理ページを上記空きページと判定する機能を含めることができる。上記第7機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、データが正常に書き込まれたか否かの確認が済んでいないと判断された物理ページを上記空きページと判定する機能を含めることができる。上記第7機能には、同じ論理ページナンバーを持つ複数の物理ページのうち、確認フラグ以外のデータは正常と判断された物理ページは有効とし、それとは異なる物理ページを上記空きページと判定する機能を含めることができる。
【0030】
以上の空きページ判定機能によれば、電源遮断の発生タイミング、すなわち書き込みのどの段階で電源遮断が発生したかを考慮してデータの有効性を判断して空きページを決定するようにしているため、不揮発性メモリ内の旧データ及び書き込みにかかる新データの何れかが必ず有効と判断され、それによって適切な空きページ判定を行うことができる。
【0031】
2.実施の形態の詳細
実施の形態について更に詳述する。
【0032】
<実施の形態1>
図1には、本発明にかかる半導体集積回路装置の一例とされるカード用マイクロコンピュータが示される。
【0033】
図1に示されるカード用マイクロコンピュータ10は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成され、非接触式ICカードに搭載されるシングルチップマイクロコンピュータである。
【0034】
カード用マイクロコンピュータ10は、それぞれ所定の機能を有する複数の機能モジュールを含み、それらは、アドレス信号を伝達するためのアドレスバスABUSや、データを伝達するためのデータバスDBUSを介して各種信号のやり取りが可能に結合されている。
【0035】
カード用マイクロコンピュータ10には、CPU(中央処理装置、制御部)101、I/O(入出力)ポート102、ウォッチドッグタイマ(WDT)103、システムコントロールロジック104、セキュリティロジック105、ROM(Read Only Memory;リードオンリーメモリ)106、RAM(Random Access Memory;ランダムアクセスメモリ)107が設けられる。CPU101は、所定のプログラムを実行することで、カード用マイクロコンピュータ10全体の動作を制御する。I/Oポート102は、2チャンネルのI/O外部割り込み兼用ポート(I/O−1/IRQ,I/O−2/IRQ)を有する。ウォッチドッグタイマ(WDT)103は、CPU101で実行されるプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作が行なわれなかった場合を検出する。システムコントロールロジック104は、CPU101の制御下でカード用マイクロコンピュータシステムの動作を制御する。セキュリティロジック105は、システムの安全を維持することを目的とするファイアウォールマネージメントなどを含む。ROM106には、CPU101で実行されるプログラムが格納される。RAM107は、CPU101によってランダムアクセス可能なメモリとされ、特に制限されないが、ダイナミック型RAMやスタティック型RAMとされる。このRAM107には、後に詳述するように、CPU101の制御下で、アドレス変換テーブルが形成される。
【0036】
またカード用マイクロコンピュータ10には、EEPROM(電気的に消去可能なプログラマブルROM、不揮発性メモリ)108、複数のタイマ(TMR1,TMR2,TMR3)109、剰余乗算コプロセッサ110、DESコプロセッサ111、AESコプロセッサ112が設けられる。EEPROM108は、不揮発性メモリの一例とされる。このEEPROM108へのデータ書き込み動作やEEPROM108からのデータ読み出し動作は、CPU101によって制御される。このような意味で、CPU101を「制御部」とも称する。複数のタイマ(TMR1,TMR2,TMR3)109は、それぞれクロックを数えることで一定時間の経過を知るのに用いられる。剰余乗算コプロセッサ110、DESコプロセッサ111、AESコプロセッサ112は、暗号演算処理等、所定の演算処理を実行する。本例では、コプロセッサでの演算処理の作業領域に使用されるRAM(CRAM)が剰余乗算コプロセッサ110に設けられている。
【0037】
さらにカード用マイクロコンピュータ10には、乱数生成回路(RNG)113、擬似乱数発生回路(DNG)114、接触インタフェース(UART)115、非接触インタフェース116、アナログ制御回路117が設けられる。乱数生成回路(RNG)113は乱数を発生する。擬似乱数発生回路(DNG)114は擬似乱数を発生する。接触インタフェース(UART)115は、外部装置(リーダライタ)に接触された状態で各種信号のやり取りを可能にする。非接触インタフェース116は、外部装置(リーダライタ)と非接触状態で各種信号のやり取りを可能にする。本例では、データ入出力のための通信バッファ(BUF)が非接触インタフェース116内に設けられる。アナログ制御回路117は、入力切り替え機能を有し、外部装置(リーダライタ)に接触された状態では、非接触式ICカードに設けられた接触インタフェース端子を介して、リセット信号RES、クロック信号CLK、電源電圧Vcc,Vssの取り込みを可能にする。電源電圧Vcc,Vssは、カード用マイクロコンピュータ10の動作用電源とされる。リセット信号RESによって、カード用マイクロコンピュータ10をリセットすることができる。また、カード用マイクロコンピュータ10への電源投入により、アナログ制御回路117によって、パワーオンリセット信号が形成されるようになっている。カード用マイクロコンピュータ10への電源投入時には、上記パワーオンリセット信号によってカード用マイクロコンピュータ10が初期化されるようになっている。また、アナログ制御回路117は、外部装置(リーダライタ)に接触されていない状態では、電波を介して外部装置(リーダライタ)との間の通信を可能にする。この場合、カード用マイクロコンピュータ10の電源は、アンテナ118を介して受信する外部装置(非接触リーダー/ライター装置)のRFキャリア信号の整流・平滑によって生成される。この場合においても、カード用マイクロコンピュータ10への電源投入時には、上記パワーオンリセット信号によってカード用マイクロコンピュータ10が初期化される。
【0038】
データ書き込み最中の電源遮断とは、例えば、非接触通信を行っている最中に、カード用マイクロコンピュータ10が実装された非接触ICカードを外部装置の磁界から遠ざけた場合に、RFキャリア信号を十分に受信することが不可能となり、結果として、RFキャリア信号を整流・平滑化することによって生成されるはずの電源が十分に生成されなくなることで、通信最中に電源遮断が発生してしまうことである。
【0039】
図2には、上記EEPROM108の初期状態が示される。
【0040】
EEPROM108は、特に制限されないが、電源遮断対策領域202と、電源遮断対策対象外領域(電源遮断非対策領域)203,204を含む。電源遮断対策領域202へのデータ書き込みの最中に電源が遮断された場合でも、デバイスの信頼性低下を生じないような対策がとられている。しかし、電源遮断対策対象外領域203,204へのデータ書き込みについては、そのような対策はとられていない。電源遮断対策対象外領域203,204(その他のデータエリア)は、書き換えが不要とされるデータの格納に利用できる。
【0041】
CPU101は、EEPROM108における物理メモリ空間および論理メモリ空間を、基本的に一定サイズのページと呼ばれる単位に分割して管理を行う。ページは、物理ページナンバー(以降、ナンバーを「No.」と略記する場合もある)や論理ページナンバーで識別される。論理ページナンバーと物理ページナンバーとの対応付けは、論理/物理アドレス変換テーブルで実現される。EEPROM108におけるページは、複数のデータが格納されるブロック(データブロック)「Block」とページ管理情報が格納されるページ管理情報エリア201とを含む。EEPROM108へのデータ書き込みはページ単位で行われる。
【0042】
図6には、上記EEPROM108におけるメモリフォーマットと論理/物理アドレス変換テーブルとの関係が示される。
【0043】
図6(A)に示されるように、書き込み最中の電源遮断対策のため、EEPROM108における複数のページのうちのひとつが必ず空きページとされ、新たなデータ書き込みは、この空きページに対して行われる。図6に示される例では、物理ページNo.H’70が空きページとされ、当該空きページに属するブロックは、「Vacant Block(空きブロック)」とされることで、他のページのブロックと区別されている。
【0044】
ページ管理情報エリア201に記録されるページ管理情報は、図6(C)に拡大して示されるように、タイムスタンプ(TS)、論理ページNo.(H’00)、確認フラグ(H’81)、ページ管理情報に対する第1チェックサム(CS1)、データブロックに対する第2チェックサム(CS2)を含む。タイムスタンプは、後述するように空きページの判断に用いられる。論理ページNo.は、EEPROM108における論理ページNo.である。確認フラグは、データが正常に書き込まれたことを示すためのフラグである。ページ管理情報に対する第1チェックサムは、タイムスタンプと論理ページNo.とのワードの総計値とされ、データブロックに対する第2チェックサムは、当該ページにおけるデータブロックのワードの総計値とされる。第1チェックサム及び第2チェックサムは、それぞれ誤り検出に用いられる。
【0045】
論理/物理アドレス変換テーブルは、図6(B)に示されるように、論理ページNo.と物理ページNo.とが対応付けられており、この論理/物理アドレス変換テーブル601を参照することで、論理アドレスに対する物理アドレスが得られる。また、この論理/物理アドレス変換テーブル601を参照することで、EEPROM108における空きページの物理ページNo.が得られるようになっている。このような論理/物理アドレス変換テーブル601は、このカード用マイクロコンピュータ10のパワーオンリセット後の初期化処理により、RAM107に形成される。
【0046】
図3には、カード用マイクロコンピュータ10の動作の流れが示される。
【0047】
カード用マイクロコンピュータ10に電源電圧Vcc,Vssが投入されたとき、又はアンテナ118を介して電源電圧が供給されたとき(301)、アナログ制御回路117において、パワーオンリセット信号が発生され、それによってカード用マイクロコンピュータ10が初期化される。すなわち、CPU101によって、所定のリセット処理プログラムが実行されることにより、カード用マイクロコンピュータ10におけるハードウェア(H/W)の初期化処理及びソフトウェア(S/W)の初期化処理が行われ(302,303)、論理/物理アドレス変換テーブルの作成が実行される(304)。論理/物理アドレス変換テーブルは、EEPROM108における電源遮断対策対象領域202(図2参照)の全体がCPU101によってスキャンされ、そのスキャン結果に基づいてRAM107の所定エリアに構築される。論理/物理アドレス変換テーブルには、空きページの物理ページNo.も含まれる。尚、空きページの判定基準については後に詳述する。論理/物理アドレス変換テーブルが作成された後に、カード用マイクロコンピュータ10は、命令の受信待ち状態となる(305)。この状態で、書き込み命令や読み出し命令が受信された場合には、当該命令に応じた処理がCPU101の制御下で行われる(306)。
【0048】
図4には、カード用マイクロコンピュータ10において書き込み命令が受信された場合の動作の流れが示される。
【0049】
以下、図4に基づいて、カード用マイクロコンピュータ10の動作を説明する。尚、書き込み命令は、外部装置とされるリーダライタから発行され、このリーダライタから発行された書き込み命令には、データを書き換えたいブロック番号、及び書き換えにかかるデータが含まれるものとする。
【0050】
書き込み命令が受信されると(401)、当該命令がCPU101でデコードされ、そのデコード結果に基づいて、先ず、アドレス変換処理が行われる(402)。図7には、ブロック1(Block1)のデータ書き換えを目的とする書き込み命令が受信された場合の主要部の状態が示される。この例では、EEPROM108におけるH’00〜H’70までが電源遮断対策対象領域とされる。また、特に制限されないが、EEPROM108の書き換え単位(ページのサイズ)は64バイト、書き換えにかかるデータサイズ(ブロックのサイズ)は16バイトとされる。
【0051】
ブロック1(Block1)に対応する論理ページNo.から物理ページNo.への変換は、RAM107内の論理/物理アドレス変換テーブル601を参照して行われる。
【0052】
次に、ステップ402でのアドレス変換結果に基づいて、旧データがRAM107の所定エリアにコピーされる(403)。図8には、旧データがRAM107の所定エリアにコピーされた状態が示される。この例では、データ書き換えの対象とされるブロック1(Block1)が含まれるページ(物理ページNo.H’00)の記憶データがRAM107の書き込み用エリア801にコピーされる。
【0053】
次に、ステップ403でRAM107の書き込み用エリア801にコピーされたデータの更新が行われる(404)。図9には、ステップ403でRAM107の書き込み用エリア801にコピーされたデータの更新後の状態が示される。この例では、書き込み用エリア801におけるブロック1(Block1)のデータが、書き込み命令にかかるデータ(Block1’)に変更される。この変更に伴い、タイムスタンプが、「TS」から「TS+1」に更新され、確認フラグが「H’81」から「H’FF」に更新され、さらに、第1チェックサムの値が「CS1」から「CS1’」に更新され、第2チェックサムの値が「CS2」から「CS2’」に更新される。
【0054】
次に、EEPROM108における空きページへのデータ書き込みが行われる(405)。つまり、論理/物理アドレス変換テーブル601を参照してEEPROM108における空きページの物理ページNo.が求められ(この例では「H’70」)、図10に示されるように、この空きページに、RAM107の書き込み用エリア801のデータ(ステップ404で更新されたもの)が書き込まれる。
【0055】
上記ステップ405のデータ書き込みが行われた後、そのデータ書き込みが正しく行われたか否かを確認するため、図11に示されるように、EEPROM108における物理ページNo.H’70のデータ(ステップ405で書き込まれたデータ)と、RAM107の書き込み用エリア801のデータ(書き込み元のデータ)との比較が行われる(406)。
【0056】
上記ステップ406のデータ比較の結果、両データが一致すると判断された場合、それは上記ステップ405でのデータ書き込みが正しく行われたことを意味するから、その場合には、確認フラグのオーバーライトが行われる(407)。つまり、上記ステップ406のデータ比較の結果、両データが一致すると判断された場合には、図12に示されるように、RAM107の書き込み用エリア801における確認フラグが、それまでの「H’FF」から、確認完了を示すデータ、例えば「H’81」に変更され、この変更後の確認フラグが、EEPROM108における物理ページNo.H’70のデータにオーバーライト(上書き)される。このオーバーライトでは、確認フラグ以外のデータの書き込みは不要であるため、RAM107の書き込み用エリア801における確認フラグ以外のデータは、全て「H’FF」に変更される。ステップ407におけるオーバーライトは、上記ステップ405のデータ書き込みと比べてデータ消去処理を実施していない分、短時間で完了する。つまり、上記ステップ407では、確認フラグ以外のデータは「H‘FF」でオーバーライトするため、RAM107の書き込み用エリア801は、結果的に、確認完了を示すデータのみが更新されている。
【0057】
尚、上記ステップ406のデータ比較の結果、両データが一致しないと判断された場合には、それは上記ステップ405でのデータ書き込みが正しく行われていないことを意味するから、書き込み失敗とし処理を終了する。
【0058】
上記ステップ407のオーバーライト後に、論理/物理アドレス変換テーブル601の更新が行われる(408)。つまり、図13に示されるように、論理/物理アドレス変換テーブル601の内容を、EEPROM108の状態に整合させるため、論理/物理アドレス変換テーブル601において、論理ページNo.H’00の物理ページNo.が、それまでの「H’00」から「H’70」に変更され、空きページの物理ページNo.が、それまでの「H’70」から「H’00」に変更される。
【0059】
以上により、受信された書き込み命令に対応するデータ書き換えが終了する。
【0060】
次に、図3におけるステップ304の論理/物理アドレス変換テーブル作成で行われる空きページの判定について詳述する。互いに等しい論理ページNo.を有する物理ページが二つ存在する場合、CPU101は以下の判定基準に従って空きページを決定する。
【0061】
空きページの判定基準として、以下の4ケースを挙げることができる。
【0062】
《ケース1》
先ず、ケース1について説明する。
【0063】
図14に示されるように、互いに等しい論理ページNo.H’00を有する二つの物理ページにおいて、それぞれ第1チェックサム(CS1,CS1’)および第2チェックサム(CS2,CS2’)が正しく、且つ、確認フラグ(H’81)も正常にオーバーライトされているが、タイムスタンプが互いに異なる場合がある。かかる場合は、タイムスタンプの大きいほうが有効データとされる。つまり、タイムスタンプは、RAM107の書き込み用エリア801にコピーされたデータがステップ404で更新(図9参照)された結果、それまでの「TS」から「TS+1」に変更されているはずであるから、このタイムスタンプの大きいほうが有効データである。従って、「TS+1」のタイムスタンプを有する物理ページNo.H‘70が有効ページと判定され、「TS」のタイムスタンプを有する物理ページNo.H’00が空きページと判定され、その判定結果が、論理/物理アドレス変換テーブル601に書き込まれる。
【0064】
本ケースは、ステップ408の論理/物理アドレス変換テーブルの更新後に電源が遮断された場合であり、最も一般的なケースである(図4参照)。
【0065】
《ケース2》
ケース2について説明する。
【0066】
図15に示されるように、例えば物理ページNo.70のページ管理情報において、タイムスタンプ、論理ページNo.、確認フラグ、第1チェックサムおよび第2チェックサムのうち、少なくともひとつが、あり得ない値(異常値)の場合、それは無効データ(Invalid data)と判断され、当該物理ページNo.70が空きページと判定され、その判定結果が、論理/物理アドレス変換テーブル601に書き込まれる。
【0067】
本ケースは、ステップ405の物理ページNo.70へのデータ書き込みの最中に電源が遮断されることにより、データが異常値となってしまった可能性があるため、当該データ書き込み以前のデータ(EEPROM108の旧データであり、本例では物理ページNo.H’00のデータ)が有効(有効データページ)とされる(図4参照)。
【0068】
《ケース3》
ケース3について説明する。
【0069】
図16に示されるように、互いに等しい論理ページNo.H’00を有する二つの物理ページにおいて、それぞれ第1チェックサム(CS1,CS1’)および第2チェックサム(CS2,CS2’)が正しく、物理ページNo.H’70のタイムスタンプが物理ページNo.H’00に比べて、+1(更新)されているにもかかわらず、物理ページNo.H’70の確認フラグがH’FFのままである場合が考えられる。かかる場合には、物理ページNo.H’70が空きページと判定され、その判定結果が、論理/物理アドレス変換テーブル601に書き込まれる。
【0070】
本ケースは、データが正常に書き込まれたにもかかわらず、電源遮断により、ステップ406でのデータ比較に基づいてデータが正常に書き込まれたか否かの確認が済んでいないことが考えられるため、当該データ書き込み以前のデータ(EEPROM108の旧データであり、本例では物理ページNo.H’00のデータ)が有効とされる(図4参照)。
【0071】
《ケース4》
ケース4について説明する。
【0072】
図17に示されるように、互いに等しい論理ページNo.H’00を有する二つの物理ページにおいて、それぞれ第1チェックサム(CS1,CS1’)および第2チェックサム(CS2,CS2’)が正しく、物理ページNo.H’70のタイムスタンプが物理ページNo.H’00に比べて、+1されているにもかかわらず、物理ページNo.H’70の確認フラグが異常な値(ただし、「H’FF」を除く)である場合が考えられる。かかる場合、物理ページNo.H’00が空きページと判定され、その判定結果が、論理/物理アドレス変換テーブル601に書き込まれる。
【0073】
本ケースは、ステップ406でのデータ比較に基づいてデータが正常に書き込まれたことが確認されたものの、ステップ407での確認フラグのオーバーライトの最中に電源が遮断された可能性があり、確認フラグ以外は正常に書き込まれていると判断される。このため、本例では当該データ書き込み以後のデータ(EEPROM108の新データであり、本例では物理ページNo.H’70のデータ)が有効とされる(図4参照)。
【0074】
以上の空きページ判定基準によれば、電源遮断の発生タイミング、すなわち書き込みのどの段階で発生したかを考慮してデータの有効性を判断して空きページを決定するようにしているため、EEPROM108内の旧データ及び書き込みにかかる新データの何れかが必ず有効と判断され、それによって適切な空きページ判定を行うことができ、EEPROM108から読み出されるデータの信頼性の向上を図ることができる。
【0075】
ここで従来技術に従えば、論理/物理アドレス変換テーブル601がEEPROM108内に設けられている場合には、EEPROM108へのデータ書き込み毎に、EEPROM108へのデータ書き込みと、当該EEPROM108内のアドレス変換テーブル更新のために、結果的にEEPROM108への書き込み動作が2度必要とされる。
【0076】
これに対してこの実施の形態では、論理/物理アドレス変換テーブル601がRAM107内に設けられているため、EEPROM108内のアドレス変換テーブル更新のためのEEPROM108への書き込み動作が不要になる。RAM107内の論理/物理アドレス変換テーブル601の更新は、EEPROM108の場合に比べて高速に行うことができる。このため、EEPROM108へのデータ書き込み処理全体としてのパフォーマンスの向上を図ることができる。
【0077】
データ書き込み処理において、上記ステップ406のデータ比較の結果、両データが一致すると判断された場合、確認フラグのオーバーライトが行われる(407)。しかしこのオーバーライトでは、確認フラグ以外のデータの書き込みは不要であるため、RAM107の書き込み用エリア801における確認フラグ以外のデータは、全て「H’FF」に変更される。上記ステップ407におけるオーバーライトは、上記ステップ405のデータ書き込みと比べてデータ消去処理を実施していない分、短時間で完了することができる。従って、確認フラグのオーバーライトは、EEPROM108へのデータ書き込み処理全体としてのパフォーマンスの向上を妨げるものではない。
【0078】
また、上記ステップ407におけるオーバーライト(上書き処理)においては、通常のデータ書き込みと比べてデータ消去処理を実施していないため、データ書き込み処理においては、全体として短時間で処理を完了することが可能となる。よって、非接触通信が行われる場合においても、従来技術のような不揮発性メモリへの2度の書き込み動作を行う場合に比べて、より早く必要なデータ通信(書き込み通信等)を完了させることが可能となり、通信中に電源遮断が発生する可能性をを小さくすることが可能となる。
【0079】
次に、読み出し命令がカード用マイクロコンピュータ10において受信された場合の動作について説明する。
【0080】
図5には、カード用マイクロコンピュータ10において読み出し命令が受信された場合の動作の流れが示される。
【0081】
尚、読み出し命令は、リーダライタから発行され、このリーダライタから発行された書き込み命令には、データを読み出したいブロック番号などの情報が含まれるものとする。
【0082】
読み出し命令が受信されると(501)、上記書き込み命令が受信された場合と同様に、当該命令がCPU101でデコードされ、そのデコード結果に基づいて、先ず、アドレス変換処理が行われる(502)。データを読み出したいブロックの論理ページNo.から物理ページNo.への変換は、RAM107内の論理/物理アドレス変換テーブル601を参照して行われる。そして、得られた物理ページNo.の記憶データがEEPROM108からRAM107の所定エリアにコピーされ(503)、コピーされたデータの中から、上記読み出し命令に対応するデータがリーダライタへ出力される(504)。
【0083】
次に、EEPROM108の書き換え単位と、書き換えにかかるデータサイズとの関係について説明する。
【0084】
カード用マイクロコンピュータ10は、EEPROM108の書き換え単位毎に、ページ管理情報が格納されるページ管理情報エリア201が設けられ、パワーオンリセットに起因する初期設定において、上記ページ管理情報がスキャンされ、それに基づいて論理/物理アドレス変換テーブル601が形成されるようになっている。このようなカード用マイクロコンピュータ10によれば、EEPROM108の書き換え単位と、書き換えにかかるデータサイズ(ユーザが要求するデータサイズ)との間に、以下のような関係がある。
【0085】
例えば図18(A)に示されるように、EEPROM108の書き換え単位が32バイトであって、データサイズ(ユーザが要求するデータサイズ)が1バイトや16バイトの場合には、上記実施の形態の場合と同様に、メモリ書き換えの回数は何れも1回となる。しかし、データサイズが32バイトの場合には、メモリ書き換えの回数は2回となる。すなわち、EEPROM108の書き換え単位が32バイトであって、データサイズが32バイトの場合には、図18(B)に示されるように、先ず、書き込みデータが16バイトに分割され、それがページ管理情報(16バイト)とともに空きページに書き込まれ、RAM内の論理/物理アドレス変換テーブル601が更新される(181)。そしてこのステップ181の処理で空きページとなった物理アドレスNo.に、残りのデータ(16バイト)とページ管理情報(16バイト)とが書き込まれ、RAM内の論理/物理アドレス変換テーブル601が更新される(182)。このようにEEPROM108の書き換え単位が32バイトであって、データサイズが32バイトの場合には、書き換え回数が2回となる。尚、EEPROM108の書き換え単位が32バイトであって、データサイズが32バイトを越える場合には、書き換え回数がさらに増える可能性がある。
【0086】
また、EEPROM108の書き換え単位が32バイトの場合には、図18(C)に示されるように、ページ管理情報(16バイト)の存在により、ユーザデータの書き込みに使用できる領域は、電源遮断対策対象領域202(図2参照)の半分となってしまうため、実用的ではない。
【0087】
図19(A)に示されるように、EEPROM108の書き換え単位が128バイトであって、データサイズ(ユーザが要求するデータサイズ)が1バイトや112バイト以下の場合には、上記実施の形態の場合と同様に、メモリ書き換えの回数は何れも1回となる。しかし、データサイズが113バイトを越える場合には、メモリ書き換えの回数は2回となる。尚、EEPROM108の書き換え単位が128バイトであって、データサイズが113バイトを越える場合の書き込み処理は、図18(B)に示される場合と同様となる。
【0088】
また、EEPROM108の書き換え単位が128バイトの場合には、図19(B)に示されるように、ページ管理情報(16バイト)は、EEPROM108の書き換え単位(128バイト)の1/8と少ないため、実用的と考えられる。
【0089】
以上を勘案すると、EEPROM108の書き換え単位と、書き換えにかかるデータサイズとの関係は、書き換えにかかるデータサイズ(ユーザが要求するデータサイズ)が、EEPROM108の書き換え単位以下となるように設定するのが望ましい。
【0090】
また、EEPROM108のメモリ使用量は、電源遮断対策対象領域202(図2参照)のうち、ページ管理情報の占める割合は、可能な限り少ないほうが良い。
【0091】
上記実施の形態では、EEPROM108の書き換え単位(ページのサイズ)を64バイト、書き換えにかかるデータサイズ(ブロックのサイズ)を16バイトとしているが、この設定は、上記の理由により適切と考えられる。
【0092】
次に、上記カード用マイクロコンピュータ10が搭載された非接触式ICカードの使用例について説明する。
【0093】
図20に示されるように、カード用マイクロコンピュータ10が搭載された非接触式ICカード212は、交通チケット、金融カード、入退出カードとして用いることができる。
【0094】
非接触式ICカード212が交通チケットとして用いられる場合、非接触式ICカード212内のEEPROM108には、カードの残高、改札通過時刻、改札を通過した駅などの各種情報が、リーダライタ211によって書き込まれる。
【0095】
非接触式ICカード212が金融カードとして用いられる場合、非接触式ICカード212内のEEPROM108には、カードの残高、引き出し/預け入れ日時などの各種情報が、リーダライタ211によって書き込まれる。
【0096】
非接触式ICカード212が入退出カードとして用いられる場合、非接触式ICカード212内のEEPROM108には、入室時刻や退室時刻などの各種情報が、リーダライタ211によって書き込まれる。
【0097】
また、リーダライタ211から伝達された各種情報を暗号化してから非接触式ICカード212内のEEPROM108に書き込み、EEPROM108からの読み出しデータを復号化してからリーダライタ211に出力することができる。この場合の暗号化処理や復号化処理は、カード用マイクロコンピュータ10内の剰余乗算コプロセッサ110、DESコプロセッサ111、AESコプロセッサ112などを用いて高速に行うことができる。
【0098】
上記のように電源遮断対策が施されたカード用マイクロコンピュータ10を搭載する非接触式ICカード212に対応するリーダライタ211に結合されるホストシステム(コンピュータシステム)においては、図21に示されるような処理が行われることで、上記カード用マイクロコンピュータ10の能力が発揮される。
【0099】
すなわち、非接触式ICカード212に対応するリーダライタ211に結合されるホストシステムでは、所定の通信プロトコルに従って、非接触式ICカード212内のカード用マイクロコンピュータ10と非接触通信接続を確立し(2101)、前回の非接触通信接続において、電源遮断に起因する処理中断が発生しているか否かの判別が行われる(2102)。この判別は、上記ホストシステムにおいて、カード用マイクロコンピュータ10におけるEEPROM108内のデータを期待値と比較することで可能となる。そして、上記ステップ2102の判別において、電源遮断に起因する処理中断は発生していない(Y)と判断された場合には、上記ホストシステムから非接触式ICカード212に対する所望のアクセスが開始される(2105)。しかし、上記ステップ2102の判別において、電源遮断に起因する処理中断が発生している(N)と判断された場合には、上記電源遮断に起因する処理中断にかかるデータが、必要に応じて、カード用マイクロコンピュータ10におけるEEPROM108に書き込まれる(2104)。
【0100】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0101】
例えば、EEPROM108における電源遮断対策対象外領域203,204(その他のデータエリア)を省略し、EEPROM108の記憶領域の全てを電源遮断対策対象領域202としても良い。
【0102】
EEPROM108に代えて他の不揮発性メモリであるフラッシュメモリを適用することができる。
【符号の説明】
【0103】
10 カード用マイクロコンピュータ
101 CPU
102 I/Oポート
103 ウォッチドッグタイマ
104 システムコントロールロジック
105 セキュリティロジック
106 ROM
107 RAM
108 EEPROM
109 複数のタイマ
110 剰余乗算コプロセッサ
111 DESコプロセッサ
112 AESコプロセッサ
113 乱数生成回路
114 擬似乱数発生回路
115 接触インタフェース
116 非接触インタフェース
117 アナログ制御回路
118 アンテナ
201 ページ管理情報エリア
202 電源遮断対策対象領域
203,204 電源遮断対策対象外領域
211 リーダライタ
212 非接触式ICカード
601 論理/物理アドレス変換テーブル
801 書き込み用エリア

【特許請求の範囲】
【請求項1】
不揮発性メモリと、
上記不揮発性メモリへのデータ書き込み及び上記不揮発性メモリからのデータ読み出しを制御可能な制御部と、
上記制御部によってランダムアクセス可能なRAMと、を含み、
上記不揮発性メモリは、書き込み単位とされるページを含み、
上記ページは、それぞれデータを記憶可能な複数のブロックと、上記複数のブロックに書き込まれたデータを上記ページ単位で管理するためのページ管理情報と、を含み、
上記制御部は、上記不揮発性メモリについての論理アドレスを物理アドレスに変換するためのアドレス変換テーブルを、電源投入時の初期設定により上記RAMの第1記憶エリアに形成するアドレス変換テーブル形成機能と、
上記RAMの第1記憶エリアに形成された上記アドレス変換テーブルを参照して、上記不揮発性メモリにおけるブロックへのデータ書き込みを制御するデータ書き込み機能と、を含み、
上記データ書き込み機能は、データ書き込みの対象となるブロックを含むページの記憶データを上記RAMの第2記憶エリアにコピーする第1機能と、
上記RAMの第2記憶エリアに対して、上記データ書き込みの対象となるブロックへのデータ書き込みを行う第2機能と、
上記第2機能によるデータ書き込みに対応して、上記RAMの第2記憶エリアのページ管理情報を更新する第3機能と、
上記ページ管理情報が更新された後に、上記RAMの第2記憶エリアの記憶データを、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込む第4機能と、を含むことを特徴とする半導体集積回路装置。
【請求項2】
上記ページ管理情報は、データが正常に書き込まれたことを示す確認フラグを含み、
上記データ書き込み機能は、上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記RAMの第2エリアのデータとが一致するか否かを判別する第5機能と、
上記アドレス変換テーブルで空きページとされる上記不揮発性メモリの物理ページに書き込まれたデータと、それに対応する上記RAMの第2記憶エリアのデータとが一致する場合に、上記RAMの第2記憶エリアの上記確認フラグの値を変更してから、その確認フラグを、上記不揮発性メモリにおいて対応する物理ページへ上書きすることで、当該物理ページにおける確認フラグを更新する第6機能と、を含む請求項1記載の半導体集積回路装置。
【請求項3】
上記ページ管理情報は、タイムスタンプを更に含み、
上記第3機能は、上記第2機能によるデータ書き込みに対応して、上記タイムスタンプの現在の値に、1を加算することで上記タイムスタンプを更新する機能を含む請求項2記載の半導体集積回路装置。
【請求項4】
上記ページ管理情報は、当該ページ管理情報を含むページの論理ページナンバーと、上記ページ管理情報についてのチェックサムと、を更に含む請求項3記載の半導体集積回路装置。
【請求項5】
上記アドレス変換テーブル形成機能は、上記制御部のリセットにより起動され、同じ論理ページナンバーを持つ物理ページが複数存在する場合に、当該物理ページにおけるページ管理情報に基づいて上記空きページを判定する第7機能を含む請求項4記載の半導体集積回路装置。
【請求項6】
上記第7機能は、同じ論理ページナンバーを持つ複数の物理ページ間で、上記チェックサム及び上記確認フラグが共に正常であり、上記タイムスタンプが互いに異なる場合に、上記タイムスタンプの値が小さいほうを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、上記タイムスタンプ、上記論理ページナンバー、上記確認フラグ、及び上記チェックサムの少なくともひとつが異常であると判断された物理ページを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、データが正常に書き込まれたか否かの確認が済んでいないと判断された物理ページを上記空きページと判定する機能と、
同じ論理ページナンバーを持つ複数の物理ページのうち、確認フラグ以外のデータは正常と判断された物理ページは有効とし、それとは異なる物理ページを上記空きページと判定する機能と、を含む請求項5記載の半導体集積回路装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate