説明

不揮発性半導体記憶装置及びメモリ管理方法

【課題】 不揮発性メモリに対するデータ更新処理及び電源断等に対する異常対応処理の処理手順の簡略化及び処理時間の短縮を図ることができる不揮発性半導体記憶装置を提供する。
【解決手段】 複数アドレスからなるメモリセルブロックを複数備える不揮発性メモリと、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、メモリセルブロック単位でのデータ更新処理の制御を行うメモリ制御手段を備え、データ更新処理が複数の要素処理を含み、メモリセルブロックが、データ領域と実行中の要素処理を特定可能なステータス情報を記憶するステータス情報記憶領域を備え、ステータス情報の夫々が、上書き込み処理の実行のみでステータス情報記憶領域を次に実行する要素処理のステータス情報に更新可能なデータ構成を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリを備える不揮発性半導体記憶装置、不揮発性メモリのデータ更新処理の電源断等による異常終了時の不揮発性メモリのメモリ管理方法に関する。
【背景技術】
【0002】
従来、例えば、クレジットカードやキャッシュカード等の用途で、磁気を利用して各種情報を記憶した磁気カードが広く普及している。また、近年は、IC(Integrated Circuit)チップ(半導体集積回路)を埋め込んだICカードが普及しつつある。ICカードは、磁気カードと比較して、記憶容量が大きく、複製や偽造等が難しいため、セキュリティ性が高い。このため、高いセキュリティ性が必要とされる電子マネー機能等の用途で普及しつつある。
【0003】
ICカードでは、一般的に、電源を切っても記憶内容を保持することができる不揮発性メモリが用いられることが多い。このような不揮発性メモリには、例えば、EEPROM(Electrically Erasable/Programmable Read Only Memory)、フラッシュEEPROM、FRAM(ferroelectric random access memory)等がある。尚、特に、EEPROM(以下、フラッシュメモリと称する)は、大容量化が容易に、且つ、低コストで実現できる。
【0004】
ところで、フラッシュメモリ等の不揮発性メモリは、原理上、アドレス単位或いはビット単位で、消去状態(例えば、‘1’)を書き込み状態(例えば、‘0’)にすることはできるが、アドレス単位或いはビット単位で、書き込み状態を消去状態にすることはできない。つまり、消去状態を書き込み状態にする書き込み処理は、アドレス単位或いはビット単位で実行できるが、書き込み状態を消去状態にする消去処理については、メモリセルブロック単位(セクタ単位)で一括して行われ、アドレス単位或いはビット単位で実行することはできない。
【0005】
このため、不揮発性半導体記憶装置では、一般的に、所定のメモリセルブロックに既に書き込まれているデータの全部または一部を更新する場合、更新後のデータを一括消去処理済みのメモリセルブロック(更新先ブロック)に書き込む書き込み処理を実行した後、更新前のデータが記憶されたメモリセルブロック(更新元ブロック)を一括消去する一括消去処理を実行するデータ更新処理を実行している。尚、更新元ブロック及び更新先ブロックには同じ論理アドレス(仮想アドレス)が割り当てられる。
【0006】
ところで、フラッシュメモリ等の不揮発性メモリでは、一括消去処理や書き込み処理の実行中に、何らかの原因により、電源断が発生する場合がある。一括消去処理の実行中に電源断が発生した場合には、例えば、メモリセルブロック内に書き込み状態のビットが残存する、或いは、消去状態及び書き込み状態の何れにも該当しない不定状態のビットが発生する等の問題が生じる。また、書き込み処理の実行中に電源断が発生すると、例えば、記憶すべきデータの一部が欠落した状態となる等の問題が発生する。この場合には、問題が発生したメモリセルブロックが使用できなくなる、或いは、当該フラッシュメモリを搭載したICカード等の不揮発性半導体記憶装置が正常に動作しない等の不具合が発生する可能性がある。このため、一括消去処理や書き込み処理の実行中に電源断が発生した場合には、問題が発生したメモリセルブロックを特定して正常な状態にする異常対応処理を実行する必要がある。
【0007】
尚、フラッシュメモリでは、製造プロセス等の条件によるが、通常、1ワード分のデータを書き込む書き込み処理にかかる時間は、約数10μ秒である。これに対し、1つのメモリセルブロックを一括消去する一括消去処理にかかる時間は、約数100ミリ秒〜数秒である。このため、特に、処理時間の比較的長い一括消去処理では、実行中に、電源断等が発生する可能性が高くなるという問題があった。
【0008】
更に、電力供給やデータ通信のための接点を持たない非接触式ICカードの場合、非接触式ICカードとのデータ通信及び非接触式ICカードへの電源供給を行うリーダライタ装置とのデータ通信を、電磁誘導等の方式を採用することにより、非接触で行う。これにより、非接触式ICカードでは、データ通信時に非接触式ICカードが固定されていないことにより、非接触式ICカードが動作中にリーダライタ装置の通信可能圏内からはずれる等して、リーダライタ装置から電源供給を受けられなくなり、電源断が発生する可能性が比較的高い。尚、リーダライタ装置との通信時に固定されている接触式ICカードであっても、外部からの振動等により接続不良等が発生し、動作中に電源断が発生する可能性がある。
【0009】
このため、フラッシュメモリ等の不揮発性メモリを搭載した不揮発性半導体記憶装置において、書き込み処理や一括消去処理等の実行中に発生した電源断による不具合に対する様々な技術が提案されている。
【0010】
ところで、フラッシュメモリには、フラッシュメモリの信頼性の観点から、一括消去処理の実行回数(消去回数)が所定の制限回数を超えないように制限している。このため、消去回数をメモリセルブロック毎に記憶しておき、メモリセルブロック全体で消去処理の実行回数が平準化されるように管理する場合がある。従って、このような管理が必要な場合には、電源断等による不具合に対する異常対応処理では、このような一括消去処理の実行回数等を含むブロック固有情報が消失しないようにする必要がある。
【0011】
不揮発性半導体記憶装置における一括消去処理やデータ更新処理(書き込み処理及び一括消去処理を含む)等の実行中に電源断が発生したときの復旧処理に係る技術として、例えば、データ更新処理における更新元ブロックの一括消去処理の実行前に、消去処理対象のメモリセルブロックの識別情報、一括消去処理の実行回数、ステータス情報等のブロック固有情報を退避ブロックに記憶し、一括消去処理の実行後に消去処理対象のメモリセルブロックにブロック固有情報を書き戻しすると共に、システムの初期化前に、ブロック固有情報に基づいて電源断の発生の有無を検出し、電源断が発生していると判断した場合には、更新先ブロックの復旧処理等を実行する不揮発性半導体記憶装置がある(例えば、特許文献1参照)。
【0012】
以下、フラッシュメモリにおけるデータ更新処理、及び、電源断発生時の異常対応処理について、図14及び図15を基に簡単に説明する。ここで、図14は、データ更新処理における更新元ブロックAと更新先ブロックBの記憶内容の遷移を示しており、図15は、異常対応処理における更新元ブロックAと更新先ブロックBの記憶内容の遷移を示している。
【0013】
尚、ここでは、フラッシュメモリが、複数アドレスからなるメモリセルブロックを複数備え、各メモリセルブロックが、図14及び図15に示すように、所定のデータを記憶するデータ領域と、ブロック固有情報を記憶する管理情報領域とを備えて構成されている場合を想定して説明する。
【0014】
先ず、データ更新処理について図14を基に説明する。データ更新処理では、先ず、更新後のデータを記憶するための更新先ブロックBを選択する(状態J101)。続いて、電源断等の異常終了の対応のため、更新元ブロックAのブロック固有情報を、更新先ブロックBの管理情報領域内の所定の領域に書き込む書き込み処理を実行する(状態J102)。続いて、更新先ブロックBのデータ領域に、更新後のデータを書き込む書き込み処理を実行する(状態J103)。引き続き、更新元ブロックAに対し一括消去処理を実行し(状態J104)、管理情報領域の所定の位置に、更新先ブロックBに退避させた更新元ブロックAのブロック固有情報を書き込む(状態J105)。
【0015】
続いて、電源断発生時の異常対応処理について図15を基に説明する。尚、ここでは、データ更新処理において、更新先ブロックBのデータ領域に、更新後のデータを書き込む書き込み処理の実行中に電源断が発生した場合を想定して説明する。
【0016】
システム初期化後、更新先ブロックBには、更新後のデータが途中まで書き込まれた状態となる(状態J111)。この状態では、更新先ブロックBを利用できないことから、更新先ブロックBをデータ更新処理の実行前の状態に戻す復旧処理を実行する必要がある。復旧処理では、先ず、更新先ブロックBのブロック固有情報を更新元ブロックAに書き込み、一時退避させる(状態J112)。続いて、更新先ブロックBに対する一括消去処理を実行し(状態J113)、更新元ブロックAに退避させた更新先ブロックBのブロック固有情報を更新先ブロックBの管理情報領域の所定の位置に書き込む(状態J114)。これにより、更新先ブロックBについては、データ更新処理の実行前の状態(状態J101)に復旧させることができる。
【0017】
尚、電源断発生による異常対応処理を実行した後は、更新元ブロックAに、復旧処理のためのブロックBのブロック固有情報が書き込まれている状態となる。この状態で、ブロックCを用いてブロックAのデータを更新するデータ更新処理を実行しようとし、当該データ更新処理の実行途中で更に電源断が発生した場合、ブロックCの復旧処理を実行する必要が生じる。しかし、ブロックAには、復旧処理のための記憶領域には既にブロックBのブロック固有情報が記憶されていることから、ブロックCの固有情報を記憶することができず、ブロックCに対する復旧処理を実行することができなくなるという問題があった。これを回避するためには、復旧処理のために、複数のブロック固有情報が記憶可能な記憶領域を確保する、或いは、外部装置で管理する等する必要がある。
【0018】
【特許文献1】特開平10−40175号公報
【発明の開示】
【発明が解決しようとする課題】
【0019】
従来の異常対応処理は、上述した特許文献1に記載の不揮発性半導体記憶装置では、ブロック固有情報の管理のためにメモリセルブロック内にブロック固有情報が記憶されていることから、消去処理の実行毎に、消去処理の対象となるメモリセルブロックのブロック固有情報を退避させる書き込み処理を実行しなければならない。これによって、データ更新処理及び異常対応処理の処理手順の煩雑化及び処理時間の増大を招いていた。
【0020】
しかしながら、例えば、携帯電話機のアドレス帳等、不揮発性メモリに記憶したデータの書き換えが頻発せず、また、当該不揮発性メモリを搭載した不揮発性半導体記憶装置の寿命までに、不揮発性メモリの消去処理の実行回数が制限回数に達する可能性が無い場合には、必ずしも消去処理の実行回数を管理する必要は無く、ブロック固有情報をメモリセルブロック内に記憶する必要はないと考えられる。また、消去処理の実行回数を管理する必要がある不揮発性メモリにおいても、メモリセルブロックの消去処理の実行回数を、外部装置や内蔵の管理用メモリ領域等によりメモリセルブロックを使用せずに管理可能である場合には、必ずしもブロック固有情報をメモリセルブロック内に記憶する必要はないと考えられる。
【0021】
尚、ブロック固有情報を管理しない場合は、異常対応処理において、上述した復旧処理中の電源断の発生に対応するための復旧処理が実行できなくなる問題を回避でき、データ更新処理において、ブロック固有情報の退避に係る処理を省いて処理時間を短縮できる。しかし、ブロック固有情報を管理しない場合、異常対応処理において、異常終了の発生の判定が困難となり、該判定に係る処理が複雑化する。更に、ブロック固有情報を管理しない場合は、データ更新処理のどの段階で電源断等が発生したかを特定することができず、更新元ブロック及び更新先ブロックの状態を、データ更新処理の実行開始前の状態に戻す必要があり、異常対応処理における処理手順の簡略化や処理時間の短縮を図ることは困難であった。
【0022】
このため、不揮発性メモリを搭載した不揮発性半導体記憶装置において、データ更新処理及び異常対応処理について、メモリセルブロックに電源断等による異常終了が発生したか否かの判定や、異常終了発生時における異常対応処理に係る処理手順の簡略化及び処理時間の短縮を図ることができる技術が求められている。
【0023】
本発明は上記の問題に鑑みてなされたものであり、その目的は、不揮発性メモリに対するデータ更新処理及び電源断等に対する異常対応処理の処理手順の簡略化及び処理時間の短縮を図ることができる不揮発性半導体記憶装置を提供する点にある。
【課題を解決するための手段】
【0024】
上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、複数アドレスからなるメモリセルブロックを複数備える不揮発性メモリと、前記不揮発性メモリに対し、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、及び、前記メモリセルブロック単位でのデータ更新処理の制御を行うメモリ制御手段と、を備えた不揮発性半導体記憶装置であって、前記データ更新処理が、更新対象の前記データが記憶された前記メモリセルブロックの内の更新元ブロック、及び、更新後の前記データを記憶するための前記メモリセルブロックである更新先ブロックに対する複数の要素処理を含んで構成され、前記メモリセルブロックが、所定のデータを記憶するデータ領域と、前記データ更新処理の実行中に、実行中の前記データ更新処理の内の前記要素処理を特定可能なステータス情報を記憶するためのステータス情報記憶領域を備えて構成され、前記ステータス情報の夫々が、直前に実行された前記要素処理の前記ステータス情報が記憶されている前記更新先ブロックの前記ステータス情報記憶領域に対する前記書き込み処理の実行のみで、前記ステータス情報記憶領域を次に実行する前記要素処理のステータス情報に更新可能なデータ構成を有することを第1の特徴とする。
【0025】
上記特徴の本発明に係る不揮発性半導体記憶装置は、前記データ更新処理が、前記要素処理として、前記更新先ブロックに更新後の前記データを書き込む第1要素処理を含んで構成され、前記制御手段が、前記第1要素処理の実行開始時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第1要素処理の実行中であることを示す前記ステータス情報を書き込むことを第2の特徴とする。
【0026】
上記何れかの特徴の本発明に係る不揮発性半導体記憶装置は、前記データ更新処理が、前記要素処理として、前記更新元ブロックを一括消去する第2要素処理を含んで構成され、前記制御手段が、前記第2要素処理の実行開始時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第2要素処理の実行中であることを示す前記ステータス情報を書き込むことを第3の特徴とする。
【0027】
上記何れかの特徴の本発明に係る不揮発性半導体記憶装置は、前記制御手段が、前記データ更新処理の終了時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記データ更新処理が正常に終了したことを示す前記ステータス情報を書き込むことを第4の特徴とする。
【0028】
上記何れかの特徴の本発明に係る不揮発性半導体記憶装置は、前記メモリセルブロックが、前記更新元ブロックを特定するための更新元ブロック特定情報を記憶するためのブロック特定情報記憶領域を備えて構成されることを第5の特徴とする。
【0029】
上記何れかの特徴の本発明に係る不揮発性半導体記憶装置は、メモリセルブロックが、前記更新元ブロックの論理アドレスを記憶するための論理アドレス記憶領域を備えて構成されることを第6の特徴とする。
【0030】
上記何れかの特徴の本発明に係る不揮発性半導体記憶装置は、前記制御手段が、システム初期化時に、前記メモリセルブロックの夫々について、前記ステータス情報記憶領域に前記データ更新処理が正常に終了したことを示す前記ステータス情報が記憶されていない前記メモリセルブロックを検索し、前記メモリセルブロックが検索された場合に、前記データ更新処理が異常終了したと判定し、前記ステータス情報が示す前記要素処理を特定し、特定された前記要素処理が、前記更新先ブロックに更新後の前記データを書き込む第1要素処理である場合に、前記更新先ブロックを一括消去して前記第1要素処理を再開可能な状態にする復旧処理を実行し、特定された前記要素処理から前記データ更新処理を再開することを第7の特徴とする。
【0031】
上記目的を達成するための本発明に係るメモリ管理方法は、上記第1の特徴の不揮発性半導体記憶装置におけるメモリ管理方法であって、前記データ更新処理において、前記メモリセルブロックから前記更新元ブロックを検索すると共に、前記メモリセルブロックから前記更新先ブロックを選択する前処理工程と、前記前処理工程の実行後に、前記更新先ブロックに対し、更新後の前記データを書き込む第1要素処理を実行する第1要素工程と、前記第1要素工程の実行後に、前記更新元ブロックを一括消去する第2要素処理を実行する第2要素工程と、を備え、前記前処理工程の実行後、前記第1要素工程の実行開始前に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第1要素処理の実行中であることを示す第1要素処理情報を書き込む第1ステータス情報書き込み工程と、前記第1要素工程の実行後、前記第2要素工程の実行開始前に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第2要素処理の実行中であることを示す第2要素処理情報を書き込む第2ステータス情報書き込み工程と、前記データ更新処理の完了後に、前記データ更新処理が正常に終了したことを示す完了情報を書き込む第3ステータス情報書き込み工程と、を実行することを第1の特徴とする。
【0032】
上記特徴の本発明に係るメモリ管理方法は、前記不揮発性半導体記憶装置のシステム初期化時に、前記メモリセルブロックの夫々について、前記ステータス情報記憶領域に前記データ更新処理が正常に終了したことを示す前記ステータス情報が記憶されていない前記メモリセルブロックを検索し、前記メモリセルブロックが検索された場合に、前記データ更新処理が異常終了したと判定する異常終了判定工程と、前記異常終了判定工程において異常終了が判定された場合に、前記更新先ブロックの前記ステータス情報から前記要素処理を特定する要素処理特定工程と、特定された前記要素処理が、前記更新先ブロックに更新後の前記データを書き込む第1要素処理である場合に、前記更新先ブロックを一括消去して前記第1要素処理を再開可能な状態にする復旧処理を実行する復旧工程と、を備え、特定された前記要素処理から前記データ更新処理を再開することを第2の特徴とする。
【発明の効果】
【0033】
上記特徴の不揮発性半導体記憶装置によれば、データ更新処理において、実行中のデータ更新処理の内の要素処理を特定可能なステータス情報を更新先ブロックのステータス情報記憶領域に記憶する構成にしたので、例えば、電源断による異常終了発生後におけるシステム初期化時等に、ステータス情報を確認するだけで、データ更新処理のどの段階(要素処理)で電源断が発生したかを特定することが可能になる。
【0034】
更に、上記特徴の不揮発性半導体記憶装置によれば、ステータス情報の夫々が、直前に実行された要素処理のステータス情報が記憶されている更新先ブロックのステータス情報記憶領域に対する書き込み処理の実行のみで、ステータス情報記憶領域を次に実行する要素処理のステータス情報に更新可能なデータ構成を有するので、容易に且つ迅速に、消去処理を実行する必要なく要素処理毎のステータス情報の記憶が可能になる。つまり、上記特徴の不揮発性半導体記憶装置によれば、ステータス情報の更新を、比較的処理時間の短いアドレス単位やビット単位での書き込み処理の実行のみで実現できるので、ステータス情報の更新中に電源断が発生し、ステータス情報が不定となる可能性を低く抑えることができる。
【0035】
また、上記特徴の不揮発性半導体記憶装置では、中断された要素処理を、ステータス情報を確認するのみで容易に特定可能であることから、複雑な処理を実行することなく、中断された要素処理の内容に応じて、中断された要素処理前の状態に戻す復旧処理の実行の可否の設定や、再開する要素処理の設定等、中断されたデータ更新処理を正常に終了させるための異常対応処理の設定を、より柔軟に行うことが可能になる。
【0036】
そして、上記第2の特徴の不揮発性半導体記憶装置のように、更新先ブロックに更新後のデータを書き込む書き込み処理を要素処理として設定すれば、当該書き込み処理が中断された場合には、更新先ブロックを書き込み処理の実行前の状態に戻す復旧処理の実行後に、更新後のデータを書き込むための書き込み処理を最初から実行することで、より少ない処理工数で、データ更新処理を完遂するための異常対応処理を実行することが可能になる。同様に、上記第3の特徴の不揮発性半導体記憶装置のように、更新元ブロックの一括消去処理を要素処理として設定すれば、当該一括消去処理が中断された場合には、当該一括処理を再開することで、より少ない処理工数で、データ更新処理を完遂するための異常対応処理を実行することが可能になる。従って、上記特徴の不揮発性半導体記憶装置によれば、中断された要素処理の内容に応じた異常対応処理が可能になることから、一律にデータ更新処理の実行前の状態に復旧させる場合に比べ、より効果的に異常対応処理の工数を低減することが可能になる。
【0037】
上記第4の特徴の不揮発性半導体記憶装置によれば、データ更新処理の終了時に、更新先ブロックのステータス情報記憶領域に、データ更新処理が正常に終了したことを示すステータス情報を書き込むように構成したので、ステータス情報の確認のみで、データ更新処理が正常に終了したか否かを確認することができる。これにより、上記第4の特徴の不揮発性半導体記憶装置は、従来技術に係る不揮発性半導体記憶装置のように、例えば、更新先ブロックのデータ領域の状態を判定する等の煩雑な処理を実行することなく、電源断の発生の有無の診断を容易に行うことができる。
【0038】
尚、上記特徴の不揮発性半導体記憶装置を、消去処理の実行回数を管理する必要が無い用途で用いる場合、若しくは、メモリセルブロックを使用せずに消去処理の実行回数を管理する場合に適用すれば、個々のメモリセルブロック内に消去処理の実行回数等のブロック固有情報を記憶する必要が無くなるので、データ更新処理や一括消去処理等の実行時に、ブロック固有情報の退避のための書き込み処理が不要になり、該書き込み処理にかかる処理時間の短縮を図ることが可能になる。
【発明を実施するための最良の形態】
【0039】
以下、本発明に係る不揮発性半導体記憶装置及びメモリ管理方法(以下、適宜「本発明装置」、「本発明方法」と略称する)の実施形態を図面に基づいて説明する。
【0040】
〈本発明に係る不揮発性半導体記憶装置の装置構成〉
先ず、本発明装置の構成について、図1〜図5を基に説明する。尚、本実施形態では、本発明装置1がICカード1に構築されている場合について説明する。ここで、図1は、本実施形態におけるICカード1の概略構成例を部分的に示している。
【0041】
ICカード1は、図1に示すように、複数アドレスからなるメモリセルブロックMBを複数備えるフラッシュメモリ11(不揮発性メモリに相当)と、各種制御プログラムを実行することによりICカード1の各種機能を実現するCPU10(Central Processing Unit、メモリ制御手段に相当)と、ICカード1の各種機能を実現する各種制御プログラム等が格納されたROM13(Read Only Memory)と、CPU10による制御プログラムの実行において生成される各種データを一時的に記憶するためのRAM12(Random Access Memory)と、リーダライタ装置と物理的に接続してデータ通信を行うための接触式用通信I/F14と、リーダライタ装置と物理的に接続せずにデータ通信を行うための非接触式用通信I/F15を備えて構成されている。本実施形態では、ICカード1は、接触式用通信I/F14または非接触式用通信I/F15を介して、リーダライタ装置から電源供給を受けるように構成されている。
【0042】
CPU10は、ICカード1の各種機能を実現するために、フラッシュメモリ11に対し、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、及び、メモリセルブロック単位でのデータ更新処理等の制御を行う。
【0043】
ここで、CPU10によるデータ更新処理は、更新対象のデータが記憶されたメモリセルブロックの内の更新元ブロック、及び、更新後のデータを記憶するためのメモリセルブロックである更新先ブロックに対する複数の要素処理を含んで構成されている。より詳細には、本実施形態では、要素処理として、更新先ブロックに更新後のデータを書き込む第1要素処理と、更新元ブロックを一括消去する第2要素処理を想定している。
【0044】
更に、CPU10は、本発明装置及び本発明方法に係る機能として、データ更新処理の制御と共に、データ更新処理を構成する要素処理夫々の実行開始時に、後述する更新先ブロックのステータス情報記憶領域に対し、実行中の要素処理を特定可能なステータス情報を書き込む書き込み処理の制御を行う。
【0045】
より具体的には、CPU10は、第1要素処理の実行開始時に、後述する更新先ブロックのステータス情報記憶領域に、第1要素処理の実行中であることを示すステータス情報を書き込むための書き込み処理を実行する。同様に、CPU10は、第2要素処理の実行開始時に、更新先ブロックのステータス情報記憶領域に、第2要素処理の実行中であることを示すステータス情報を書き込むための書き込み処理を実行する。更に、CPU10は、データ更新処理の終了時に、更新先ブロックのステータス情報記憶領域に、データ更新処理が正常に終了したことを示すステータス情報を書き込むための書き込み処理を実行する。
【0046】
また、CPU10は、本発明装置及び本発明方法に係る機能を実現するために、ICカード1のシステム初期化時に、メモリセルブロックの夫々について、後述するステータス情報記憶領域にデータ更新処理が正常に終了したことを示すステータス情報が記憶されていないメモリセルブロックを検索し、メモリセルブロックが検索された場合に、データ更新処理が異常終了したと判定し、ステータス情報が示す要素処理を特定し、特定された要素処理が、更新先ブロックに更新後のデータを書き込む第1要素処理である場合に、更新先ブロックを一括消去して第1要素処理を再開可能な状態にする復旧処理を実行し、特定された要素処理からデータ更新処理を再開するように構成されている。
【0047】
フラッシュメモリ11は、図2に示すように、複数のメモリセルブロックMB1〜MBn(nは2以上の整数)を備えている。尚、ここでは、メモリブロックMB1が物理アドレスの下位側、メモリセルブロックMBnが物理アドレスの上位側となるように構成されている。また、このメモリセルブロック単位で一括消去処理を実行可能に構成されている。
【0048】
各メモリセルブロックMBは、図3に示すように、所定のデータを記憶するデータ領域Rdと、後述する本発明装置及び本発明方法のデータ更新処理におけるステータス情報、更新元ブロック特定情報、更新元ブロックの論理アドレスを記憶する管理情報領域Raを備えて構成されている。ここで、図4は、管理情報領域Raの一構成例を示しており、メモリセルブロックMBの論理アドレスを記憶する論理アドレス記憶領域T1、更新先ブロックのステータス情報を記憶するステータス情報記憶領域T2、更新元ブロックを特定するための更新元ブロック特定情報を記憶するブロック特定情報記憶領域T3、更新元ブロックのステータス情報を記憶するステータス情報記憶領域T4を備えて構成されている。
【0049】
より具体的には、ステータス情報記憶領域T2に記憶されるステータス情報の夫々は、直前に実行された要素処理のステータス情報が記憶されている更新先ブロックのステータス情報記憶領域に対する書き込み処理の実行のみで、ステータス情報記憶領域を次に実行する要素処理のステータス情報に更新可能なデータ構成を有している。
【0050】
ここで、図5は、要素処理とそのステータス情報の一例を示している。ここでは、更新先ブロックに対し更新後のデータを書き込む書き込み処理(第1要素処理)の実行中であることを示す第1要素処理情報として、ステータス情報FEh(hは16進数であることを示す記号)が割り当てられている。同様に、更新元ブロックに対する一括消去処理(第2要素処理)の実行中であることを示す第2要素処理情報として、ステータス情報FChが割り当てられている。また、データ更新処理が正常に終了したことを示す完了情報として、ステータス情報F8hが割り当てられている。言い換えると、第1要素処理情報は“1111 1110”が、第2要素処理情報は“1111 1100”が、データ更新処理の完了情報は“1111 1000”が、夫々割り当てられている。
【0051】
つまり、第2要素処理のステータス情報の記憶は、第1要素処理のステータス情報に対し“1111 1100”を上書きする、或いは、先頭から7ビット目を消去状態‘1’から書き込み状態‘0’に書き込むことで実行可能である。同様に、データ更新処理の正常終了を示すステータス情報の記憶は、第2要素処理のステータス情報に対し、“1111 1000”を上書きする、或いは、先頭から6ビット目を消去状態‘1’から書き込み状態‘0’に書き込むことで実行可能である。これにより、ステータス情報の記憶には、上書き処理またはビット単位での書き込み処理以外の複雑な処理を必要としない。
【0052】
〈本発明に係るメモリ管理方法の処理手順1:データ更新処理〉
本発明方法におけるデータ更新処理の処理手順について、図6〜図8を基に説明する。ここで、図6は、本発明方法におけるデータ更新処理の処理手順の一例を示している。また、図7は、データ更新処理において、更新元ブロック及び更新先ブロックにおける管理情報領域Raの記憶内容の一例を表形式で示しており、図8は、データ更新処理において、更新元ブロック及び更新先ブロックにおけるメモリセルブロックMBの記憶内容の一例を模式的に示している。
【0053】
尚、本実施形態では、図8において、物理アドレス01hのメモリセルブロックMBが更新元ブロックを示しており、物理アドレス02hのメモリセルブロックMBが更新先ブロックを示している。また、論理アドレスは、03hである。
【0054】
データ更新処理の開始時、CPU10は、先ず、外部入力された論理アドレスに基づいて更新元ブロックを特定し、未使用のメモリセルブロックMBから更新先ブロックを選択する(ステップS101、状態J11、前処理工程)。
【0055】
ここで、CPU10は、第1要素処理の実行のために、更新先ブロックのステータス情報記憶領域T2に、第1要素処理情報を記憶する(ステップS102、状態J12、第1ステータス情報書き込み工程)。ここでは、図5に示すように、第1要素処理情報としてFEhを書き込む。
【0056】
引き続き、CPU10は、第1要素処理を実行する。CPU10は、第1要素処理において、先ず、更新先ブロックの論理アドレス記憶領域T1に論理アドレス03hを、ブロック特定情報記憶領域T3に、更新元ブロックの物理アドレス01hを書き込む書き込み処理を実行する(ステップS103、状態J13)。引き続き、CPU10は、更新先ブロックのデータ領域Rdに、更新後のデータを書き込む書き込み処理を行う(ステップS104、状態J14、第1要素工程)。ここで、更新前のデータは、図8に示すように、データD1、データD2、データD3で構成されており、更新後のデータは、データD1、データD2’、データD3で構成されている。本実施形態では、データ領域Rdに記憶されたデータの内のデータD2が更新される。
【0057】
ここで、CPU10は、第2要素処理の実行のために、更新先ブロックのステータス情報記憶領域T2に、第2要素処理情報を記憶する(ステップS105、状態J15、第2ステータス情報書き込み工程)。ここでは、図5に示すように、第2要素処理情報としてFChを書き込む。
【0058】
引き続き、CPU10は、データ更新処理の第2要素処理を実行する。CPU10は、第2要素処理において、更新元ブロックを消去する一括消去処理を行う(ステップS016、状態J16、J17)。尚、図7に示す状態J16は、一括消去処理の実行途中の状態を、状態J17は、一括消去処理の実行終了段階での状態を示している。その後、CPU10は、図6及び図7に示すように、更新先ブロックのステータス情報記憶領域T4に、更新先ブロックの一括消去処理が正常に終了したことを示す消去完了情報5Fhを書き込む(ステップS107、状態J18)。
【0059】
更に、CPU10は、第2要素処理の実行後、即ち、データ更新処理の完了後に、前記データ更新処理が正常に終了したことを示す完了情報を書き込む(ステップS108、状態J19、第3ステータス情報書き込み工程)。ここでは、図5に示すように、完了情報としてF8hを書き込む。
【0060】
〈本発明に係るメモリ管理方法の処理手順2:異常対応処理(データ更新処理時)〉
本発明方法におけるデータ更新処理の実行中の電源断等に対する異常対応処理の処理手順について、図9〜図12を基に説明する。
【0061】
ここで、図9は、本発明方法におけるデータ更新処理時の異常終了に対する異常対応処理の処理手順の一例を示しており、図10は、異常対応処理における復旧処理の処理手順の一例を示している。また、図11は、異常対応処理において、更新元ブロック及び更新先ブロックにおける管理情報領域Raの記憶内容の一例を表形式で示しており、図12は、異常対応処理において、更新元ブロック及び更新先ブロックにおけるメモリセルブロックMBの記憶内容の一例を模式的に示している。
【0062】
システム初期化時、CPU10は、メモリセルブロックMBの夫々について、データ更新処理の実行中に電源断等による異常終了が発生したか否かを判定する。具体的には、CPU10は、確認対象のメモリセルブロックMBを選択し(ステップS201)、ステータス情報記憶領域T2に記憶されたステータス情報を確認する。ステータス情報記憶領域T2に、データ更新処理が正常に終了したことを示すステータス情報F8hが記憶されていない場合には、CPU10は、当該メモリセルブロックMBについて、データ更新処理が異常終了したと判定する(異常終了判定工程)。
【0063】
より具体的には、CPU10は、ステータス情報がFEhであるか否かを確認し(要素処理特定工程)、ステータス情報がFEhの場合は(ステップS202でYES分岐、状態J21)、更新先ブロックに更新後のデータを書き込む第1要素処理において電源断が発生したと判定する。この場合、CPU10は、更新先ブロックの状態を第1要素処理の実行前の状態に戻す復旧処理を実行する(ステップS210、復旧工程)。CPU10は、その後、データ更新処理を実行する。
【0064】
復旧処理では、CPU10は、図10に示すように、更新先ブロックのステータス情報記憶領域T4に、復旧処理の実行を示すステータス情報5Ahを書き込む(ステップS211、状態J22)。続いて、CPU10は、更新先ブロックを一括消去して、第1要素処理を再開可能な状態にする(ステップS212、状態J23、24)。尚、図11に示す状態J23は、一括消去処理の実行途中の状態を、状態J24は、一括消去処理の実行終了段階での状態を示している。最後に、CPU10は、図10に示すように、更新先ブロックのステータス情報記憶領域T4に、復旧処理が正常に終了したことを示すステータス情報5Fhを書き込み(ステップS213)、復旧処理及び異常対応処理を終了する。
【0065】
CPU10は、ステップS202においてステータス情報がFEhでないと確認された場合は(ステップS202でNO分岐)、ステータス情報がFChであるか否かを確認し(要素処理特定工程)、ステータス情報がFChの場合は(ステップS203でYES分岐)、更新元ブロックに対する一括消去を行う第2要素処理において電源断が発生したと判定し、第2要素処理(図6、ステップS106)からデータ更新処理を再開し、異常対応処理を終了する。
【0066】
CPU10は、ステップS203においてステータス情報がFChでないと確認された場合は、確認対象のメモリセルブロックMBについてデータ更新処理時に異常終了が発生していないと判断し、未確認のメモリセルブロックMBが在る場合には(ステップS204でYES分岐)、未確認のメモリセルブロックMBから確認対象のメモリセルブロックMBを選択し、異常終了判定工程(ステップS202、S203)を実行する。CPU10は、ステップS204において未確認のメモリセルブロックMBが無い場合(ステップS204でNO分岐)、異常対応処理を終了する。
【0067】
〈本発明に係るメモリ管理方法の処理手順3:異常対応処理(復旧処理時)〉
本発明方法における復旧処理(ステップS210)の実行中の電源断等に対する異常対応処理の処理手順について、図13を基に説明する。
【0068】
ここで、図13は、本発明方法における復旧処理時の異常終了に対する異常対応処理の処理手順の一例を示している。尚、本実施形態では、図13に示す復旧処理時の異常終了に対する異常対応処理は、説明のために、図9及び図10に示すデータ更新処理時の異常終了に対する異常対応処理の終了後に実行する場合を想定して説明する。
【0069】
システム初期化時、CPU10は、図13に示すように、メモリセルブロックMBの夫々について、復旧処理の実行中に電源断等による異常終了が発生したか否かを判定する。具体的には、CPU10は、確認対象のメモリセルブロックMBを選択し(ステップS301)、ステータス情報記憶領域T4に記憶されたステータス情報を確認する。
【0070】
ステータス情報記憶領域T4に、一括消去処理が正常に終了したことを示す5Fhが記憶されていない場合(ステップS302でNO分岐)、CPU10は、当該メモリセルブロックMBについて、一括消去処理が異常終了したと判定する。
【0071】
ここで、ステータス情報記憶領域T4に5Fh以外の値が記憶されている場合としては、図6に示すデータ更新処理の第2要素工程(ステップS106)の実行中における電源断等による異常終了、または、図10に示す復旧処理における更新先ブロックに対する一括消去処理(ステップS212)の実行中に電源断等による異常終了が発生した場合が考えられる。尚、既に、図9及び図10に示すデータ更新処理時の異常終了に対する異常対応処理が終了している場合には、図6に示すデータ更新処理の第2要素工程(ステップS106)の実行中における異常終了に対する異常対応処理は既に実行されているため、ステップS302で検出される異常終了は、復旧処理中の一括消去処理における異常終了となる。この場合、CPU10は、図10に示す復旧処理のステップS212から復旧処理を再開する(ステップS310)。
【0072】
CPU10は、ステップS302において、ステータス情報記憶領域T4に5Fhが記憶されている場合(ステップS302でYES分岐)は、確認対象のメモリセルブロックMBについて復旧処理時に異常終了が発生していないと判断し、未確認のメモリセルブロックMBが在る場合には(ステップS204でYES分岐)、未確認のメモリセルブロックMBから確認対象のメモリセルブロックMBを選択し、復旧処理時の異常終了の判定(ステップS302)を行う。CPU10は、ステップS303において未確認のメモリセルブロックMBが無い場合(ステップS303でNO分岐)、異常対応処理を終了する。
【0073】
〈別実施形態〉
〈1〉上記実施形態では、本発明装置及び本発明方法を、フラッシュメモリ11を備えたICカード1に適用する場合について説明したが、これに限るものではない。フラッシュメモリ11以外の他の不揮発性メモリを用いたICカードであっても良いし、ICカード以外の不揮発性半導体記憶装置に適用しても良い。
【0074】
〈2〉上記実施形態では、要素処理として、更新先ブロックに更新後のデータを書き込む第1要素処理と、更新元ブロックを一括消去する第2要素処理とを想定したが、これに限るものではない。
【0075】
また、各要素処理やデータ更新処理の完了情報に割り当てるステータス情報の値は、上記実施形態に限られるものではない。各ステータス情報は、直前に実行された要素処理のステータス情報が記憶されている更新先ブロックのステータス情報記憶領域に対する書き込み処理の実行のみで、ステータス情報記憶領域を次に実行する要素処理のステータス情報に更新可能なデータ構成を有していれば良い。
【0076】
〈3〉上記実施形態では、説明のために、データ更新処理時の異常終了に対する異常対応処理の実行後に、復旧処理時の異常終了に対する異常対応処理を実行する場合について説明したが、これに限るものではない。例えば、ステータス情報記憶領域T2及びT4の両方を用い、データ更新処理及び復旧処理における異常終了の判定をまとめて同時に実行し、判定結果から、復旧処理の実行可否や、データ更新処理の再開設定を行うように構成しても良い。
【0077】
〈4〉上記実施形態では、図3に示すように、各メモリセルブロック内に、データ領域Rdとステータス情報を記憶するステータス情報記憶領域T2、T4に加え、更新元ブロックの論理アドレスを記憶する論理アドレス記憶領域T1と、更新元ブロック特定情報を記憶するブロック特定情報記憶領域T3を設けたが、メモリセルブロックの構成はこれに限るものではなく、他の情報を記憶する記憶領域を別途構成する等しても良い。
【0078】
また、上記実施形態では、ステータス情報を記憶するために、2つのステータス情報記憶領域T2、T4を設けたが、これに限るものではない。1つのステータス情報記憶領域を設ける構成にしても良いし、更に複数のステータス情報記憶領域を設ける構成にしても良い。
【0079】
〈5〉上記実施形態では、システム初期化時に、電源断等の発生の有無を判定するように構成したが、これに限るものではなく、システム初期化時以外にも電源断等の発生の有無を判定し、システムの初期化や異常対応処理を実行するように構成しても良い。
【図面の簡単な説明】
【0080】
【図1】本発明に係る不揮発性半導体記憶装置の概略構成例を示す部分概略ブロック図
【図2】不揮発性メモリのブロック構成例を示す部分概略ブロック図
【図3】本発明に係る不揮発性半導体記憶装置におけるメモリセルブロックの一構成例を示す部分概略ブロック図
【図4】本発明に係る不揮発性半導体記憶装置におけるメモリセルブロックの管理情報領域の一構成例を示す部分概略ブロック図
【図5】本発明に係る不揮発性半導体記憶装置におけるデータ更新処理とステータス情報の一例を示す表
【図6】本発明に係るメモリ管理方法におけるデータ更新処理の処理手順の一例を示すフローチャート
【図7】本発明に係るメモリ管理方法のデータ更新処理における管理情報領域の記憶内容の一例を示す表
【図8】本発明に係るメモリ管理方法のデータ更新処理におけるメモリセルブロックの記憶内容の一例を示す概略ブロック図
【図9】本発明に係るメモリ管理方法における異常対応処理(データ更新処理時)の処理手順の一例を示すフローチャート
【図10】本発明に係るメモリ管理方法における復旧処理の処理手順の一例を示すフローチャート
【図11】本発明に係るメモリ管理方法の異常対応処理における管理情報領域の記憶内容の一例を示す表
【図12】本発明に係るメモリ管理方法の異常対応処理におけるメモリセルブロックの記憶内容の一例を示す概略ブロック図
【図13】本発明に係るメモリ管理方法における異常対応処理(復旧処理時)の処理手順の一例を示すフローチャート
【図14】従来技術に係る不揮発性半導体記憶装置の通常のデータ更新処理におけるメモリセルブロックの記憶内容を模式的に示す概略ブロック図
【図15】従来技術に係る不揮発性半導体記憶装置のデータ更新処理の修復処理におけるメモリセルブロックの記憶内容を模式的に示す概略ブロック図
【符号の説明】
【0081】
1 本発明に係る不揮発性半導体記憶装置(ICカード)
10 CPU(メモリ制御手段)
11 フラッシュメモリ(不揮発性メモリ)
12 RAM
13 ROM
14 接触式用通信I/F
15 非接触式用通信I/F
MB メモリセルブロック
Rd データ領域
Ra 管理情報領域
T1 論理アドレス記憶領域
T2、T4 ステータス情報記憶領域
T3 ブロック特定情報記憶領域

【特許請求の範囲】
【請求項1】
複数アドレスからなるメモリセルブロックを複数備える不揮発性メモリと、
前記不揮発性メモリに対し、メモリセルブロック単位での一括消去処理、所定アドレス数の記憶領域単位またはビット単位での書き込み処理、及び、前記メモリセルブロック単位でのデータ更新処理の制御を行うメモリ制御手段と、を備えた不揮発性半導体記憶装置であって、
前記データ更新処理が、更新対象の前記データが記憶された前記メモリセルブロックの内の更新元ブロック、及び、更新後の前記データを記憶するための前記メモリセルブロックである更新先ブロックに対する複数の要素処理を含んで構成され、
前記メモリセルブロックが、所定のデータを記憶するデータ領域と、前記データ更新処理の実行中に、実行中の前記データ更新処理の内の前記要素処理を特定可能なステータス情報を記憶するためのステータス情報記憶領域を備えて構成され、
前記ステータス情報の夫々が、直前に実行された前記要素処理の前記ステータス情報が記憶されている前記更新先ブロックの前記ステータス情報記憶領域に対する前記書き込み処理の実行のみで、前記ステータス情報記憶領域を次に実行する前記要素処理のステータス情報に更新可能なデータ構成を有することを特徴とする不揮発性半導体記憶装置。
【請求項2】
前記データ更新処理が、前記要素処理として、前記更新先ブロックに更新後の前記データを書き込む第1要素処理を含んで構成され、
前記制御手段が、前記第1要素処理の実行開始時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第1要素処理の実行中であることを示す前記ステータス情報を書き込むことを特徴とする請求項1に記載の不揮発性半導体記憶装置。
【請求項3】
前記データ更新処理が、前記要素処理として、前記更新元ブロックを一括消去する第2要素処理を含んで構成され、
前記制御手段が、前記第2要素処理の実行開始時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第2要素処理の実行中であることを示す前記ステータス情報を書き込むことを特徴とする請求項1または2に記載の不揮発性半導体記憶装置。
【請求項4】
前記制御手段が、前記データ更新処理の終了時に、前記更新先ブロックの前記ステータス情報記憶領域に、前記データ更新処理が正常に終了したことを示す前記ステータス情報を書き込むことを特徴とする請求項1〜3の何れか1項に記載の不揮発性半導体記憶装置。
【請求項5】
前記メモリセルブロックが、前記更新元ブロックを特定するための更新元ブロック特定情報を記憶するためのブロック特定情報記憶領域を備えて構成されることを特徴とする請求項1〜4の何れか1項に記載の不揮発性半導体記憶装置。
【請求項6】
前記メモリセルブロックが、前記更新元ブロックの論理アドレスを記憶するための論理アドレス記憶領域を備えて構成されることを特徴とする請求項1〜5の何れか1項に記載の不揮発性半導体記憶装置。
【請求項7】
前記制御手段が、
システム初期化時に、前記メモリセルブロックの夫々について、前記ステータス情報記憶領域に前記データ更新処理が正常に終了したことを示す前記ステータス情報が記憶されていない前記メモリセルブロックを検索し、
前記メモリセルブロックが検索された場合に、前記データ更新処理が異常終了したと判定し、
前記ステータス情報が示す前記要素処理を特定し、
特定された前記要素処理が、前記更新先ブロックに更新後の前記データを書き込む第1要素処理である場合に、前記更新先ブロックを一括消去して前記第1要素処理を再開可能な状態にする復旧処理を実行し、
特定された前記要素処理から前記データ更新処理を再開することを特徴とする請求項1〜6の何れか1項に記載の不揮発性半導体記憶装置。
【請求項8】
請求項1に記載の不揮発性半導体記憶装置におけるメモリ管理方法であって、
前記データ更新処理において、前記メモリセルブロックから前記更新元ブロックを検索すると共に、前記メモリセルブロックから前記更新先ブロックを選択する前処理工程と、
前記前処理工程の実行後に、前記更新先ブロックに対し、更新後の前記データを書き込む第1要素処理を実行する第1要素工程と、
前記第1要素工程の実行後に、前記更新元ブロックを一括消去する第2要素処理を実行する第2要素工程と、を備え、
前記前処理工程の実行後、前記第1要素工程の実行開始前に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第1要素処理の実行中であることを示す第1要素処理情報を書き込む第1ステータス情報書き込み工程と、
前記第1要素工程の実行後、前記第2要素工程の実行開始前に、前記更新先ブロックの前記ステータス情報記憶領域に、前記第2要素処理の実行中であることを示す第2要素処理情報を書き込む第2ステータス情報書き込み工程と、
前記データ更新処理の完了後に、前記データ更新処理が正常に終了したことを示す完了情報を書き込む第3ステータス情報書き込み工程と、を実行することを特徴とするメモリ管理方法。
【請求項9】
前記不揮発性半導体記憶装置のシステム初期化時に、前記メモリセルブロックの夫々について、前記ステータス情報記憶領域に前記データ更新処理が正常に終了したことを示す前記ステータス情報が記憶されていない前記メモリセルブロックを検索し、前記メモリセルブロックが検索された場合に、前記データ更新処理が異常終了したと判定する異常終了判定工程と、
前記異常終了判定工程において異常終了が判定された場合に、前記更新先ブロックの前記ステータス情報から前記要素処理を特定する要素処理特定工程と、
特定された前記要素処理が、前記更新先ブロックに更新後の前記データを書き込む第1要素処理である場合に、前記更新先ブロックを一括消去して前記第1要素処理を再開可能な状態にする復旧処理を実行する復旧工程と、を備え、
特定された前記要素処理から前記データ更新処理を再開することを特徴とする請求項9に記載のメモリ管理方法。

【図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


【公開番号】特開2008−305263(P2008−305263A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2007−153181(P2007−153181)
【出願日】平成19年6月8日(2007.6.8)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】