(57)【要約】【課題】不揮発性記憶装置の寿命を、ホスト機器から事前に検出する。【解決手段】ホスト機器は、不揮発性装置に対して通常処理と寿命検出処理の２つの処理が実施で可能ある。この寿命検出処理は、所定の書き込み回数や所定の経過時間に基づき実行される。寿命検出処理では、通常処理で使用しない論理ブロックアドレスに対するダミーデータの書き込みを行う。この処理で、不良物理ブロックの増加によって、所定の論理ブロックアドレス分のデータを書き込むことが出来ない場合を不揮発性記憶装置の寿命として検出する。【選択図】図４
2005276288.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、
前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の２種類の処理方法を備え、前記不揮発性記憶装置に対して前記２種類の処理方法を選択的に実行することを特徴とする不揮発性記憶装置の寿命管理方法。
【請求項２】
前記寿命検出処理は、前記不揮発性記憶装置に対する書き込み回数に基づき実施することを特徴とする請求項１に記載の不揮発性記憶装置の寿命管理方法。
【請求項３】
前記寿命検出処理は、前記ホスト機器によって一定時間毎に実施することを特徴とする請求項１に記載の不揮発性記憶装置の寿命管理方法。
【請求項４】
前記寿命検出処理は、前記ホスト機器によって決定される任意のタイミングで実行することを特徴とする請求項１に記載の不揮発性記憶装置の寿命管理方法。
【請求項５】
不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、
前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の２種類の処理方法を備え、
前記寿命検出処理による前記不揮発性記憶装置に対する書き込み読み出しは、前記通常処理で前記不揮発性記憶装置に対して書き込み読出しを実行できる領域以外の領域に対して実行できることを特徴とする不揮発性記憶装置の寿命管理方法。
【請求項６】
前記寿命検出処理は、前記不揮発性記憶装置の使用可能な物理ブロックが所定数未満である状態を寿命として検出することを特徴とする請求項１ないし５のいずれかに記載の不揮発性記憶装置の寿命管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性の半導体メモリを使用した不揮発性記憶装置に係り、特にその耐久性を管理する寿命管理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラや携帯電話等の携帯機器市場の拡大に伴い、メモリーカードの用途も拡大している。フラッシュメモリに代表される不揮発性メモリを搭載したメモリーカードは、その容量の増加に伴い、データファイル等を主に記憶する外部記憶から、システムの情報や実行ファイル等を記憶する内部記憶へとその用途が広がろうとしている。
【０００３】
また、従来の外部記憶としての使用においても、不揮発性メモリの寿命により記憶したデータが破壊したり、メモリーカードが使用できなくなったりとうという、不揮発性メモリ特有の課題があり、それに対応するために種々の対策が考えられてきた（例えば、特許文献１〜３を参照）。しかし、これらに共通した解決策としては、いずれも不揮発性メモリの側に何らかの工夫を施すものであった。例えば、特許文献１に記載の発明では、フラッシュメモリを含むメモリシステム内部に寿命検出回路を搭載することで、フラッシュメモリの寿命を検出している。しかし、この方法では、ホストシステムはこの寿命検出回路を搭載した不揮発性メモリのみでしか寿命を検出できなかった。
【０００４】
しかしも、今後、内部記憶としての使用を考えた場合に、ホスト側から検出でき、より容易で確度の高い寿命予測方法が必要である。
【特許文献１】特開平６−５２６９４号公報
【特許文献２】特開平５−７３４３３号公報
【特許文献３】特開平１１−２５０６７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の様に不揮発性メモリを使用しているシステムにおいて、その不揮発性メモリが寿命検出機能を搭載していなければ、ホスト機器は不揮発性メモリの寿命を認識することができず、その結果、突然の書き込み不良に見舞われてシステム破綻につながりかねない、という重要な課題が存在していた。
【０００６】
本発明は上記課題を解決するため、ホスト機器から不揮発性記憶装置の寿命を容易に予見でき、的確に管理可能な不揮発性記憶装置の寿命管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における不揮発性記憶装置の寿命管理方法であって、ホスト機器は、不揮発性装置に対してデータの書き込み読出しを行う通常処理と、不揮発性記憶装置の残りの寿命を検出する寿命検出処理の２種類の処理方法を備え、不揮発性記憶装置に対して２種類の処理方法を選択的に実行するものである。
【０００８】
これにより、不揮発性記憶装置の寿命検出は、ホスト機器側のタイミングで行うことが可能となる。
【発明の効果】
【０００９】
これにより、ホスト機器は、不揮発性記憶装置の寿命を予め予見することができ、システムとして不揮発性記憶装置の書き込み不良等に至る前に適切な対応を講じることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１０】
本発明の請求項１記載の発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の２種類の処理方法を備え、前記不揮発性記憶装置に対して前記２種類の処理方法を選択的に実行することを特徴とする。
【００１１】
また、請求項２記載の発明は、請求項１に係る発明において、前記寿命検出処理は、前記不揮発性記憶装置に対する書き込み回数に基づき実施することを特徴とする。
【００１２】
また、請求項３記載の発明は、請求項１に係る発明において、前記寿命検出処理は、前記ホスト機器によって一定時間毎に実施することを特徴とする。
【００１３】
また、請求項４記載の発明は、請求項１に係る発明において、前記寿命検出処理は、前記ホスト機器によって任意のタイミングで実行することを特徴とする。
【００１４】
これらにより、ホスト機器が不揮発性記憶装置に対して、所定の周期や所望のタイミングで寿命検出を実行することができるので、書き込み不良などを至る前に不揮発性記憶装置の状態を予見することできる。
【００１５】
また、請求項５記載の発明は、不揮発性記憶装置に対してデータの書き込み読出しを実行するホスト機器における前記不揮発性記憶装置の寿命管理方法であって、前記ホスト機器は、前記不揮発性装置に対してデータの書き込み読出しを行う通常処理と、前記不揮発性記憶装置の残りの寿命を検出する寿命検出処理の２種類の処理方法を備え、前記寿命検出処理による前記不揮発性記憶装置に対する書き込み読み出しは、前記通常処理で前記不揮発性記憶装置に対して書き込み読出しを実行できる領域以外の領域に対して実行できることを特徴とする。これにより、ホスト機器が検出した不揮発性記憶装置の寿命に関する情報を、通常処理とは異なる領域に書き込むことができるので、別のホスト機器などにおいても検出結果を共有することができる。
【００１６】
また、請求項６記載の発明は、請求項１〜５のいずれかに係る発明において、前記寿命検出処理は、前記不揮発性記憶装置の使用可能な物理ブロックが所定数未満である状態を寿命として検出することを特徴とする。これにより、不揮発性記憶装置の側に寿命を検出する回路を設けることなく、ホスト側の処理として不揮発性記憶装置の寿命を予見することができる。
【００１７】
以下、本発明の実施の形態による不揮発性記憶装置の寿命管理方法について、図面を用いて説明する。
【００１８】
（実施の形態）
図１は、本発明の実施の形態による不揮発性記憶装置の寿命管理方法を実現するための構成例を示すブロック図である。
【００１９】
図１において、１０１はメモリーカード、１０２はメモリーカードに対してデータの読み出しまたは書き込みを行うホスト機器（以下、単にホストと称す）である。
【００２０】
メモリーカード１０１において、１０３はメモリーカード１０１に搭載されてホスト１０２から書き込まれるデータが実際に書き込まれる不揮発性半導体メモリーとしてのフラッシュメモリであり、１０４はメモリーカード１０１内部に搭載されてホスト１０２からの書き込み読出し処理に対してフラッシュメモリ１０３へのデータの書き込み読出しを制御するコントローラであり、１０５はフラッシュメモリ１０３を構成する複数の物理ブロックの中で既に消去済であってデータ書き込み可能なブロックの場所を示すテーブルを格納する消去済テーブルであり、１０６はホスト１０２からのデータの読出し書き込み処理時の論理アドレスとフラッシュメモリ１０３の物理アドレスとを変換するテーブルを格納する論物変換テーブルである。
【００２１】
また、ホスト１０２において、１１０はメモリーカード１０１に読み書きするデータに係る処理を行うアプリケーション処理部であり、１１１はホスト１０２を制御するためのＣＰＵであり、１１２はＣＰＵ１１２が実行するためのプログラムやデータを格納するＲＡＭであり、これらはバス１１３を介して接続される。アプリケーション処理部１１０は、メモリーカード１０１と接続するためのカードインターフェース（カードＩ／Ｆ）１１４と、メモリーカード１０１に対して通常のデータの読み書きを実行するための通常処理手段１１５と、メモリーカード１０１に対して寿命検出の処理を実行するための寿命検出処理手段１１６とを備える。
【００２２】
図２は、メモリーカード１０１に内蔵されるフラッシュメモリ１０３の内部構造を示す概念図である。１６ＭＢのフラッシュメモリの場合、独立してデータの書き込み消去が可能な１０２４個の物理ブロック（ＰＢ０〜１０２３）からなり、ひとつの物理ブロックの容量は１６ｋＢである。なお、物理ブロックの数、物理ブロックの容量は、デバイスにより種々存在し、この限りではない。
【００２３】
メモリーカード１０１にホスト１０２がデータを書き込む場合、ホスト１０２はカードＩ／Ｆを介してメモリーカード１０１に対して書き込み命令と書き込みデータを送る。それに対してコントローラ１０４は、消去済テーブル１０５から消去済で書き込み可能なフラッシュメモリ１０３内の物理ブロックを検索し、当該物理ブロックに対してホスト１０２からのデータを書き込む。その後、論物変換テーブル１０６に、書き込みを行ったデータのホスト１０２から指定されたアドレス（論理ブロックアドレス：ＬＢＡ）と、実際にフラッシュメモリ１０３に書き込んだアドレス（物理ブロックアドレス：ＰＢＡ）との対応を登録する。この書き込みの際に、書き込むデータが既に書き込み済みである場合は上書き処理となり、上書きされたことによって古くなったデータが書き込まれていた物理ブロックの消去も行う。
【００２４】
ホスト１０２が、メモリーカード１０１からデータを読み出す場合、ホスト１０２はメモリーカード１０１に読出し命令を送り、それに対応してコントローラ１０４はホスト１０２が指定してきた論理アドレスに対応するフラッシュメモリ１０３の物理アドレスを論物変換テーブル１０６から得てデータを読み出す。
【００２５】
以上のようにして、ホスト１０２はメモリーカード１０１に対して、通常処理によるデータの書き込み読出しを行う。
【００２６】
一般的なフラッシュメモリでは、実際にフラッシュメモリに存在する物理ブロックが全て使用可能であると保証されているわけではない。例えば１６ＭＢの容量を持つＮＡＮＤ型フラッシュメモリ（１６ｋＢ×１０２４ブロック）を例にとると、有効ブロック数の最小値として１００４ブロックというように明記されているものがある。即ち、このフラッシュメモリが有する物理ブロックの総数は１０２４ブロックであるので、その差２０個が保証できないブロックの最大値として示されている。
【００２７】
また、メモリーカード１０１には、ホスト１０２からはアクセスできない特殊なシステム領域や、書き換えに対応するためのワーク領域として、いくつかの物理ブロックを使用する必要があり、ホスト１０２がメモリーカード１０１に対して読出し書き込みできる領域はさらに限定される。
【００２８】
例えば、本実施の形態によるメモリーカード１０１のアクセスできる領域は、物理ブロック９９６個に相当する容量をアクセスできる領域と限定する。つまりフラッシュメモリ１０３の保証できる１００４個の物理ブロックから、システム領域、ワーク領域として８個の物理ブロックを引いた残りが、外部からアクセス可能な領域である。この物理ブロック９９６個の容量は、１６ｋＢ×９９６＝１５９３６ｋＢ＝１５．５６２５ＭＢ＝１６３１８４６４Ｂ、である。
【００２９】
従って、ホスト１０２は、メモリーカード１０１の全容量を１６３１８４６４Ｂ、つまり論理ブロック０〜９９５としてデータの読出し書き込みを行う。
【００３０】
しかしまた、フラッシュメモリ１０３の書き換え回数は、例えば１０万回とデータシートに記載され、一般的に使用される他のメモリーであるＤＲＡＭやＳＲＡＭの１０の１５乗回に比べて桁が少ないために、メモリーカード１０１を使用しているうちに、書き換え回数の１０万回を越えて使用してしまい、有効ブロック数が１００４個を下回ってしまう可能性を否定できない。そのためホスト１０２は、メモリーカード１０１の寿命である残りの書き換え回数が少なくなったことを検出して、適切に対応する必要がある。
【００３１】
そのためにホスト１０２は、通常処理手段１１５により実行される通常処理においては、メモリーカード１０１の全容量を使用することはしない。具体的には１６３１８４６４Ｂよりも少ない１６２２０１６０Ｂの容量つまり論理ブロック０〜９８９を持つメモリーカード１０１としてファイルシステムを構成して使用する。容量１６２２０１６０Ｂは物理ブロック９９０個に相当する容量である。つまりフラッシュメモリ１０３の有効ブロック数が保証値の１００４個よりも少なく９９８個（９９０＋８（システム、ワーク用））になっても使用上の問題は発生しないようにして使用する。１６２２０１６０Ｂよりも大きな領域を使用するのは、寿命検出処理手段１１６により寿命検出処理を行うときである。寿命検出処理は、ホスト１０２がメモリーカード１０１の書き換え回数をカウントして、例えば千回毎とか、二千回毎とか、いくつかの特定の回数を越えたら実行する。
【００３２】
従って、図３に示す様に、ホスト１０２で使用するアドレス空間としては、通常処理では、０〜９８９の９９０ブロック分であり、寿命検出処理では、９９０〜９９５の６ブロック分である。ここで、寿命検出処理に割り当てる６ブロックというのは、１００４−（９９０＋８）＝１００４―９９８＝６として決定したものである。従って、ホスト１０２からメモリーカード１０１へ出力される論理アドレス（ＬＢＡ）としては０〜９９５のいずれかを取ることになる。そして、論物変換テーブルで対応する物理アドレス（ＰＢＡ）に変換され、フラッシュメモリ１０３内の物理ブロックが参照される。なお、同図中でＢＢと記されたブロックは、その使用が保証されない不良ブロックを示すものであり、この様な物理ブロックは、論物変換テーブルにエントリーされることはない。また、ホスト１０２で指定する論理ブロックアドレスが通常処理と寿命検出処理とでは重なりがなく、異なる領域にアクセスすることになるので、寿命検出処理によるメモリーカード１０１への書き込みや消去は自由に行うことが可能である。
【００３３】
図４は本実施の形態による寿命管理方法による寿命検出処理を示すフローチャートである。本処理は、寿命検出処理手段１１６をＣＰＵ１１１とＲＡＭ１１２により制御することで実行する。
【００３４】
同図において、ステップ３０１でホスト１０２はメモリーカード１０１に対する論理ブロックアドレスを９９０に設定する。その次にステップ３０２でデータが存在していないはずのメモリーカード１０１の論理ブロック９９０に対してダミーデータの書き込みを行う。ここで、論理ブロック９９０〜９９５は、通常処理では使用されないので、普通はデータが存在していないはずである。
【００３５】
次に、ステップ３０３の判定処理で書き込み結果の良否を判定し、正しく書き込めた場合はステップ３０４に遷移して論理ブロックを１インクリメントする。次に、ステップ３０５の判定処理で論理ブロックがメモリーカード１０１の使用できる領域を超えているかどうかの判断である論理ブロックが９９６以上であるか否かを判定し、メモリーカード１０１の使用できる領域であればステップ３０２に遷移して、続けてダミーデータの書き込みを行う。こうして論理ブロック９９０〜９９５に対してダミーデータの書き込みを行った後にステップ３０５の判定処理でメモリーカード１０１の使用できる領域外であると判定し、ステップ３０６で論理ブロック９９０〜９９５に対して消去を実行し、ダミーデータの書き込みを行ってきた論理ブロックの消去を行う。ここで、ステップ３０５の判断処理で、論理ブロックが９９６以上と判断された場合は、寿命検出処理が正常に終了した旨の表示などの処理を実行してもよい。
【００３６】
このフローにおいて、ステップ３０３の判定処理で正常終了できなかった場合というのは、有効ブロックが保証値の１００４個以下にまで少なくなって、あと数個の不良ブロックが発生したらメモリーカード１０１はホスト１０２からの通常処理においても書き込みできなくなることがわかる。そのためステップ３０７へ遷移し、メモリーカード１０１の寿命が近いことを検出した旨の処理実行することができる。ステップ３０７の処理としては、警告表示や警告音出力など所望の処理を行うようにすればよい。ステップ３０７からはステップ３０６に遷移し、書き込んだダミーデータの消去を行う。
【００３７】
この寿命検出フローを実行することにより、寿命を検出しなかった場合はあと６個の不良ブロックが発生してもホスト１０２の通常処理において寿命とならないことがわかり、寿命を検出した場合には、後６個以下の不良ブロックが発生したらホスト１０２の通常処理においても書き込み不良を起こす場合があり、メモリーカード１０１が寿命であることがわかる。
【００３８】
この後ホスト１０２はメモリーカード１０１の交換を促すメッセージを使用者に対して発することにより、使用者はメモリーカード１０１の寿命を知り、書き込み不良等のシステム的に重大な課題が発生する前にメモリーカード１０１の交換等の適切な処置を講ずることができる。
【００３９】
なお、本実施の形態において、寿命検出処理はメモリーカード１０１に対する書き換え回数が特定回数を越えたら実行するとして説明したが、ホスト機器１０２が管理する一定時間毎、例えば１ヶ月に１回の間隔で実行しても構わない。また、この間隔や回数をホスト機器の使用者が設定できるようにしてもよいし、使用者の意図で寿命検出処理を適宜実行するように構成してもよい。
【００４０】
また、特定回数を越えて実行する場合でも、一定時間毎で実行する場合でも、通常処理を行わない期間に寿命検出処理を実行することにより通常処理の処理を妨げないようにすることができ、その通常処理の処理を確実に妨げないためにはホスト１０２の使用者により明示的に寿命検出処理の実行を指示できるようにすることにより確実に通常処理の処理時間外に寿命検出処理を行うことができる。
【産業上の利用可能性】
【００４１】
本発明に係る不揮発性記憶装置の寿命管理方法は、ホスト機器で実行することにより、不揮発性記憶装置の寿命を予め予見することができ、システムとして不揮発性記憶装置の書き込み不良等に至る前に適切な対応を講じることができるという効果を有し、不揮発性記憶装置を用いる各種電子機器等に適用可能なプログラム、プロセス等をとして有用である。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施の形態によるメモリーカードとホストとの構成を示すブロック図
【図２】同実施の形態によるメモリーカードのフラッシュメモリ内部の構成を示す概念図
【図３】同実施の形態による寿命検出処理に係るアドレス関係を示す概念図
【図４】同実施の形態によるメモリーカードの寿命検出処理を示すフローチャート
【符号の説明】
【００４３】
１０１    メモリーカード
１０２    ホスト
１０３    フラッシュメモリ
１０４    コントローラ
１０５    消去済テーブル
１０６    論物変換テーブル
１１０    アプリケーション処理部
１１１    ＣＰＵ
１１２    ＲＡＭ
１１３    バス
１１４    カードＩ／Ｆ
１１５    通常処理手段
１１６    寿命検出処理手段
【図１】
2005276288.tif 000003
【図２】
2005276288.tif 000004
【図３】
2005276288.tif 000005
【図４】
2005276288.tif 000006