(57)【要約】【課題】本発明は、書き込み回数やデータ破壊の程度に応じたデータの保護が可能になるデータリフレッシュ装置、データリフレッシュ方法を提供することを目的とする。【解決手段】複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置であって、記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出手段と、記憶領域に記憶されたデータのエラー訂正を行うエラー訂正手段と、エラー訂正手段によって訂正された訂正データを記憶領域のいずれかに書き込むリフレッシュ手段と、記憶領域に対する書き込み回数に応じて、リフレッシュ手段の動作周期を制御するリフレッシュ制御手段とを備える。【選択図】      図１
2008299621.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置であって、
前記記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出手段と、
前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正手段と、
前記エラー訂正手段によって訂正された訂正データを前記記憶領域のいずれかに書き込むリフレッシュ手段と、
前記記憶領域に対する書き込み回数に応じて、前記リフレッシュ手段の動作周期を制御するリフレッシュ制御手段と、
を備えたデータリフレッシュ装置。
【請求項２】
複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置であって、
記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出手段と、
前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正手段と、
前記エラー検出手段によって検出されたある記憶領域の記憶データのエラーの個数が、所定数以下である場合に、前記エラー訂正手段によって訂正された訂正データを当該記憶領域に書き込み、前記エラーの個数が前記所定数より多い場合に、前記訂正データを、当該記憶領域とは異なる記憶領域に書き込むリフレッシュ手段と、
前記記憶領域に対する書き込み回数に応じて、前記リフレッシュ手段の動作周期を制御するリフレッシュ制御手段と、
を備えたデータリフレッシュ装置。
【請求項３】
前記リフレッシュ手段は、所定の周期で動作し、
前記リフレッシュ制御手段は、前記書き込み回数に応じて前記所定の周期を変更する
請求項１または２に記載のデータリフレッシュ装置。
【請求項４】
前記エラー検出手段によって検出されたエラーの個数が、前記所定数より少ない第二の所定数以下である場合に、前記エラー訂正手段は前記エラー訂正を行わない
請求項１または２に記載のデータリフレッシュ装置。
【請求項５】
前記エラー検出手段は、前記記憶領域に記憶された誤り訂正符号に基づいて前記エラーの個数を検出する
請求項１または２に記載のデータリフレッシュ装置。
【請求項６】
前記エラー訂正手段は、前記記憶領域に記憶された誤り訂正符号に基づいて前記エラー訂正を行う
請求項１または２に記載のデータリフレッシュ装置。
【請求項７】
前記複数の記憶領域それぞれのデータ書き込み回数を記憶する書き込み回数記憶手段をさらに備え、
前記リフレッシュ制御手段は、前記書き込み回数記憶手段に記憶された書き込み回数に基づいて前記リフレッシュ手段を動作させる
請求項１または２に記載のデータリフレッシュ装置。
【請求項８】
複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置に用いられるデータリフレッシュ方法であって、
前記記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出ステップと、
前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正ステップと、
前記エラー訂正ステップによって訂正された訂正データを前記記憶領域のいずれかに書き込むリフレッシュステップと、
前記記憶領域に対する書き込み回数に応じて、前記リフレッシュステップの動作周期を制御するリフレッシュ制御ステップと、
を備えたデータリフレッシュ方法。
【請求項９】
複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置に用いられるデータリフレッシュ方法であって、
記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出ステップと、
前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正ステップと、
前記エラー検出ステップによって検出されたある記憶領域の記憶データのエラーの個数が、所定数以下である場合に、前記エラー訂正ステップによって訂正された訂正データを当該記憶領域に書き込み、前記エラーの個数が前記所定数より多い場合に、前記訂正データを、当該記憶領域とは異なる記憶領域に書き込むリフレッシュステップと、
前記記憶領域に対する書き込み回数に応じて、前記リフレッシュステップの動作周期を制御するリフレッシュ制御ステップと、
を備えたデータリフレッシュ方法。
【請求項１０】
前記リフレッシュステップは、所定の周期で動作し、
前記リフレッシュ制御ステップは、前記書き込み回数に応じて前記所定の周期を変更する
請求項８または９に記載のデータリフレッシュ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データリフレッシュ装置、及びデータリフレッシュ方法に関する。
【背景技術】
【０００２】
フラッシュメモリ、ハードディスク装置等の記憶装置では、データの書き込み回数が多くなると、記憶されたデータが破壊されやすくなる。このような記憶装置においては、データを書き込むことができる回数に限界がある。
【０００３】
また、記憶装置にデータを書き込む際にエラービットが発生し、データが破壊されることがある。このため、データが破壊されても訂正できるように、誤り訂正符号（ＥＣＣ：error-correction code）がデータに付加されて記憶される。
【０００４】
誤り訂正符号の符号化方法には、パリティビットやチェックサム、ＣＲＣ等の方式がある。特許文献１には、情報の重要度やエラーの発生頻度に対応した方式の誤り訂正符号をデータに付加するメモリデータ保護方法が記載されている。
【０００５】
上記メモリデータ保護方法においては、各ブロックのエラー検出回数を記憶しておき、この検出回数に基づいて適切な誤り検出・訂正符号を選択して符号化を行う。エラーの検出回数がある程度以上になったブロックについては、エラーが再発する可能性が高いと判断し、このブロックに書き込む情報の符号化は、誤り検出・訂正能力が高い符号化方式に変更される。また、エラー検出回数が予め決めておいた最大値を越えると、そのブロックでは情報の保証ができないと判断し、他のブロックに情報を退避させて、そのブロックは使用しないようにする。
【０００６】
このように、データにＥＣＣを付加して記憶させることで、破壊されたデータを訂正することができる。
【特許文献１】特開２００４−１５２１９４号公報（０００６段落、第４頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記メモリデータ保護方法では、データを訂正する都度、訂正されたデータをメモリに書き込むため、書き込み回数が増加する。このためデータ訂正が頻繁に行われた場合、書き込み回数の限界に近づいてしまい、かえってデータが破壊されやすくなってしまう。
【０００８】
また前記メモリデータ保護方法では、多くのデータが破壊されている場合であっても、エラー検出回数が所定回数に達しないとデータの退避を行わない。このため、エラー検出回数が所定回数に達する前に、訂正不能な重度のデータ破壊が生じてしまうことがある。
【０００９】
本発明は、前記のような問題に鑑みなされたもので、その目的は、書き込み回数に応じたデータの保護が可能になるデータリフレッシュ装置、データリフレッシュ方法を提供することにある。
【００１０】
本発明の他の目的は、書き込み回数やデータ破壊の程度に応じたデータの保護が可能になるデータリフレッシュ装置、データリフレッシュ方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係るデータリフレッシュ装置は、複数の記憶領域からなる記憶装置に記憶されたデータのリフレッシュを行うデータリフレッシュ装置であり、前記記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出手段と、前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正手段と、前記エラー訂正手段によって訂正された訂正データを前記記憶領域のいずれかに書き込むリフレッシュ手段と、前記記憶領域に対する書き込み回数に応じて、前記リフレッシュ手段の動作周期を制御するリフレッシュ制御手段と、を備える。
【００１２】
本発明に係るデータリフレッシュ装置は、複数の記憶領域からなる記憶装置に記憶されたデータのデータリフレッシュを行うデータリフレッシュ装置であり、記憶領域に記憶されたデータに発生しているエラーの個数を検出するエラー検出手段と、前記記憶領域に記憶されたデータのエラー訂正を行うエラー訂正手段と、前記エラー検出手段によって検出されたある記憶領域の記憶データのエラーの個数が、所定数以下である場合に、前記エラー訂正手段によって訂正された訂正データを当該記憶領域に書き込み、前記エラーの個数が前記所定数より多い場合に、前記訂正データを、当該記憶領域とは異なる記憶領域に書き込むリフレッシュ手段と、前記記憶領域に対する書き込み回数に応じて、前記リフレッシュ手段の動作周期を制御するリフレッシュ制御手段とを備える。
【発明の効果】
【００１３】
本発明のデータリフレッシュ装置は、書き込み回数に応じてデータリフレッシュ周期を変更するリフレッシュ制御手段を備えるので、書き込み回数に応じたデータの保護を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下図面により本発明の一実施の形態について説明する。
【００１５】
図１は、本実施の形態に係わるデータリフレッシュ機能を有するＦＭチューナ付き携帯音楽プレーヤ装置の電気的構成を示すブロック図である。
【００１６】
本実施形態に係るデータリフレッシュ装置は装置本体１を備え、装置本体１にはフラッシュメモリ２が着脱自在に装着される。フラッシュメモリ２は装置本体１に内蔵されていてもよい。
【００１７】
フラッシュメモリ２は、たとえばＮＡＮＤ型フラッシュメモリ等の記憶装置である。このフラッシュメモリ２は、画像データや音楽データやパソコンのデータ等の各種のファイルデータを格納する。ファイルデータは図示しない他の装置でフラッシュメモリ２に書き込んでも良いし、装置本体１で書き込んでも良い。そのため、装置本体１には外部からのファイルデータが入力されるＵＳＢ端子のような入力端子（図示せず）が設けられている。フラッシュメモリ２へのデータの書き込み、あるいはデータの読み出しは複数バイト（例えば、５１２バイト＋１６冗長バイト）からなるページ単位で行われる。データの書き込みの際に発生するエラービットを訂正するために、ページごとに誤り訂正符号（ＥＣＣ）が付加されて記憶される。また、読み出し回数、書き込み回数が多いページほど、データが破壊されやすい。フラッシュメモリ２に記憶されたデータを読み出す際には、記憶データと共にＥＣＣを読み出して誤り訂正処理を行う。
【００１８】
装置本体１は制御部１０を備えている。制御部１０は、中央演算装置（ＭＰＵ）１１、内蔵メモリ１２、ＲＡＭ１３を有する。制御部１０には、ディスプレイ１７が接続され、アナログ／デジタル変換器１４を介してスピーカ１５、ＦＭチューナ１６が接続される。
【００１９】
ＭＰＵ１１は内蔵メモリ１２に予め記憶されている制御プログラムに従い、ＲＡＭ１２をワークメモリとして装置各部の動作を制御する。
【００２０】
また、制御部１０は内蔵メモリ１２に予め記憶されているデータリフレッシュプログラムに従い、フラッシュメモリ２に記憶されているデータのリフレッシュ処理を制御する。データリフレッシュプログラムはフラッシュメモリ２に予め記憶されていてもよい。
【００２１】
内蔵メモリ１２は、装置本体１に内蔵されたＲＯＭ等の記憶装置である。内蔵メモリ１２は、前記制御プログラムやデータリフレッシュプログラムなど、各種のプログラムデータを予め格納する。
【００２２】
ＲＡＭ１３には、データテーブル１３ａ等の記憶領域が確保される。
【００２３】
図２は、データテーブル１３ａに格納されるデータ内容の一例を示す図である。
【００２４】
データテーブル１３ａは、フラッシュメモリ２の各ページのデータ書き込み回数及びリフレッシュ周期データを記憶する。フラッシュメモリ２にデータが書き込まれると、対応するページの書き込み回数Ｗの値が１だけ増加する。また、後述するメモリデータフレッシュ処理の結果、いずれかのページのリフレッシュ周期が変更されると、対応するリフレッシュ周期データが書き換えられる。周期データの初期値は全てのページについて一定の値が格納される。書き込み回数の初期値は０である。
【００２５】
フラッシュメモリ２に記憶された音楽データは、制御部１０によって誤り検出・訂正が行われた後、アナログ／デジタル変換器１４を介してアナログの音声信号に変換され、スピーカ１５から出力される。
【００２６】
ディスプレイ１７はＬＣＤ等の表示装置からなり、フラッシュメモリ２に記憶された画像ファイル等を表示する。
【００２７】
次に、前記構成によるデータリフレッシュ装置において行われるデータリフレッシュ処理について説明する。
【００２８】
図３はデータ破壊の程度と書き込み回数に応じたデータリフレッシュ処理内容の一例を示す図である。
【００２９】
図３に示すように、本実施の形態においては、各ページのエラービット数ＥＢ及び書き込み回数Ｗに応じて、リフレッシュ処理の内容を決定する。
【００３０】
データ破壊の程度が大きいページほど、多くのエラービットが発生する。すなわち、エラービット数ＥＢは、データがどの程度破壊されているかを示す。
【００３１】
エラービット数ＥＢの値が所定の訂正限界ビット数を超えると、誤り訂正符号（ＥＣＣ）を用いても発生したエラーを訂正できなくなる。この訂正限界は、フラッシュメモリ２の物理的性質やＥＣＣの符号化方式などによって決定される。エラービット数が訂正限界を超えると、そのページに記憶されていたデータは失われたと判断される。
【００３２】
エラービット数ＥＢの値が所定の訂正限界ビット数以下であれば、発生したエラーを訂正して正しいデータを復元することができる。復元したデータの書込み場所は次のように決められる。
【００３３】
１ページにデータの書き込みを繰り返して行うと、そのページの記憶特性が劣化してデータが破壊されやすくなる。たとえば、書き込み回数が所定の書き込み限界より多くなったページでは、データが破壊される危険性が高い。この書き込み限界は、フラッシュメモリ２の物理的性質などから決定される。
【００３４】
本実施の形態では、書き込み回数が書き込み限界より多いページに記憶されていたデータは、ＥＣＣを用いて訂正できたとしても、当該ページには書き込まない（書き戻さない）で、別のページに書き込む（書き直す）。この処理を退避とも称する。
【００３５】
また、書き込み回数が書き込み限界以下であり、エラービット数が比較的少ないページは、訂正すべき重大なエラーは起こっていないと見なすことができる。
【００３６】
エラービット数が図３に示す軽度エラー領域（エラービット数が、所定のビット数ＥＢ１以下の領域）にあるページでは、データ破壊の程度は軽微であり、訂正する必要はないと判断される。
【００３７】
たとえばフラッシュメモリ２に記憶されているエラーの程度が軽微である場合は、このようなわずかなエラーを検出するたびにデータを訂正して書き込み直していては、かえって書き込み回数の増加を招く。そして書き込み回数が増加することによって、データが破壊されやすくなる。このため、このようなごくわずかなエラーについては、無視してもかまわないエラーであると見なして訂正を行わない。この場合、書き込み回数に応じたリフレッシュ周期の変更だけを行う。
【００３８】
書き込み回数が多いページほど、データが破壊されやすい。従って、書き込み回数が多いページのリフレッシュ周期は短縮し、データが破壊される前にデータリフレッシュ処理を行うことが好ましい。書き込み回数が少ないページのデータについて頻繁にデータリフレッシュ処理を行っていては、書き直し処理によってかえって書き込み回数が増える。その結果、データが壊れやすくなってしまう。書き込み回数が低いページについては、リフレッシュ周期は長く設定してよい。
【００３９】
書き込み回数が書き込み限界を超えず、データ破壊の程度が中程度のページについては、データ破壊が無視できない程度であると見なす。すなわちエラービット数ＥＢが図３の中度エラー領域（エラービット数が、所定のビット数ＥＢ１より多く、所定のビット数ＥＢ２以下である領域）にあるページは、データがある程度破壊されており、訂正の必要があると判断される。
【００４０】
中度エラー領域にあるページのデータは、ＥＣＣデータを用いて修復する。修復されたデータは、同じページに再度書き込まれる。
【００４１】
書き込み回数が書き込み限界を超えず、データ破壊の程度が比較的大きいページでは、データ訂正を行って、訂正されたデータを別のページに書き移す必要がある。すなわち、エラービット数が、図３に示す重度エラー領域（エラービット数が、ＥＢ２より多く、訂正限界以下である領域）にあるページでは、データの訂正は可能なものの、データが大きく破壊されている。該ページのデータはＥＣＣデータを用いて訂正可能である。しかしながら、このようなページにこれ以上データを保持させておくと、やがて訂正限界を迎える。訂正限界を超えたデータは完全に破壊され、訂正が不能となる。このため、訂正されたデータは別のページに書き直し、退避させる必要がある。
【００４２】
前記所定のビット数ＥＢ１及びＥＢ２は、フラッシュメモリ２の物理的性質やＥＣＣの符号化方式等に基づいて決定される。
【００４３】
次に、前記データリフレッシュ処理の処理手順について説明する。
【００４４】
図４は前記データリフレッシュ装置によるデータリフレッシュ処理を示すフローチャートである。
【００４５】
まずＭＰＵ１１は、データテーブル１３ａ（図２参照）にページごとに記憶されているリフレッシュ周期データに基づいて、リフレッシュタイミングを迎えたページがあるかどうかを判断する（ブロックＢ１）。リフレッシュタイミングを迎えたページがあると判断すると（ブロックＢ１でＹＥＳ）、ＭＰＵ１１はそのページをリフレッシュ処理の対象ページとして指定する（ブロックＢ２）。
【００４６】
そして、フラッシュメモリ２から、指定された対象ページに記憶されたデータ及び対応するＥＣＣデータを読み出す（ブロックＢ３）。
【００４７】
読み出されたＥＣＣデータに基づいて、ＥＣＣデータに含まれるエラービット数ＥＢの算出が行われる（ブロックＢ４）。ＭＰＵ１１は、読み出したデータが訂正可能であるかどうかを、算出したエラービット数ＥＢに基づいて判断する（ブロックＢ５）。
【００４８】
ブロックＢ４で算出されたエラービット数ＥＢが所定の訂正限界より多い場合、対象ページのデータはＥＣＣデータを用いても訂正不能であると判断される（図３参照）。訂正限界はフラッシュメモリ２の物理的性質や、ＥＣＣの符号化方式等に基づいて決定される。
【００４９】
データの訂正が不能である場合は（ブロックＢ５でＮＯ）、この対象ページのデータは破壊されたと判断される。そしてデータが破壊されたことをユーザに通知する（ブロックＢ６）。すなわち、ブロックＢ６では、たとえばディスプレイ１７にエラーメッセージを表示させたり、スピーカ１５から警告音を発生させたりするなどの処理を行い、データ破壊が起こったことをユーザに通知する。
【００５０】
エラービット数ＥＢが訂正限界以下であれば、データの訂正は可能であると判断される（ブロックＢ５でＹＥＳ）。
【００５１】
対象ページの書き込み回数Ｗが所定の書き込み限界より多いかどうかが判断される（ブロックＢ７）。書き込み限界は、安全なデータ書き込みを保証する最大の書き込み回数である。１ページに対して、この書き込み限界より書き込み回数が多いと、データが破壊される危険性が高くなる。該書き込み限界も、フラッシュメモリ２の物理的性質や、ＥＣＣの符号化方式等に基づいて決定される。
【００５２】
書き込み回数Ｗが書き込み限界を超えている場合には（ブロックＢ７でＹＥＳ）、データ訂正により訂正されたデータを別のページに書き移す必要がある。従って、対象ページのデータに対してＥＣＣデータを用いた誤り訂正処理が行われる（ブロックＢ８）。
【００５３】
訂正されたデータは、書き込み可能な別のページ（退避ページ）に改めて書き込まれる（ブロックＢ９）。また、前記対象ページは書き込み回数Ｗが書き込み限界を超えているため、これ以上データを保持しているとデータが破壊される危険性が高いページであるとされる。このようなページへの以後の書き込みは禁止される。訂正後のデータが書き込まれた退避ページのリフレッシュ周期は、該退避ページに対する書き込み回数に応じて設定される（ブロックＢ１０）。すなわち、データテーブル１３ａに記憶された該退避ページのリフレッシュ周期が、書き込み回数に応じた周期に書き換えられる。書き込み回数が増える程、破壊される可能性が高くなるので、リフレッシュ周期を短くする。
【００５４】
対象ページの書き込み回数が書き込み限界より少ないと判断された場合（ブロックＢ７でＮＯ）、続いて対象ページのデータ破壊の程度を判断する（ブロックＢ１１およびＢ１２）。
【００５５】
データ破壊の程度は、エラービット数ＥＢの大きさから判断する。エラービット数ＥＢが大きいページほど、データ破壊の程度が大きい。
【００５６】
対象ページのエラービット数ＥＢが図３の重度エラー領域にある（エラービット数ＥＢが訂正限界ビット数以下で、ＥＢ２より大きい）場合、データ破壊の程度は重度であると判断される（ブロックＢ１１でＹＥＳ）。データ破壊が重度である場合、対象ページのデータを訂正して書き込み可能な別のページに書き移す必要がある。そこで、ＥＣＣデータを用いて対象ページのデータを訂正する（ブロックＢ８）。
【００５７】
訂正されたデータは、書き込み可能な別のページ（退避ページ）に改めて書き込まれる（ブロックＢ９）。また、前記対象ページは、これ以上データを保持しているとデータが破壊される危険性が高いページであるとされる。このようなページへの以後の書き込みは禁止される。訂正後のデータが書き込まれた退避ページのリフレッシュ周期は、該退避ページに対する書き込み回数に応じて設定される（ブロックＢ１０）。すなわち、データテーブル１３ａに記憶された該退避ページのリフレッシュ周期が、書き込み回数に応じた周期に書き換えられる。
【００５８】
対象ページのエラービット数ＥＢが図３の中度エラー領域にある（エラービット数ＥＢがＥＢ２以下で、ＥＢ１より大きい）場合、データ破壊の程度が中程度であると判断される（ブロックＢ１１でＮＯ、ブロックＢ１２でＹＥＳ）。データ破壊が中程度である場合も、対象ページのデータを訂正する必要がある。ＥＣＣデータを用いて対象ページのデータを訂正する（ブロックＢ１３）。
【００５９】
データの破壊が中度の場合は、訂正されたデータは再び対象ページに書き込まれる（ブロックＢ１４）。その後、書き込み回数に応じて対象ページのリフレッシュ周期が変更される（ブロックＢ１５）。すなわち、データテーブル１３ａに記憶された対象ページのリフレッシュ周期が、書き込み回数に応じた周期に書き換えられる。
【００６０】
対象ページのエラービット数ＥＢが、図３の軽度エラー領域にある（エラービット数ＥＢがＥＢ１以下である）場合、データ破壊の程度は軽微であると判断される（ブロックＢ１１、Ｂ１２でＮＯ）。データ破壊が軽微であれば、エラー訂正の必要はない。従って、データの訂正は行わず、対象ページのリフレッシュ周期の変更のみを行う。すなわち、データテーブル１３ａに記憶された対象ページのリフレッシュ周期を、書き込み回数Ｗに応じた周期に書き換える（ブロックＢ１５）。
【００６１】
その後、再びブロックＢ１に戻っていずれかのページのリフレッシュタイミングの到来を待つ。
【００６２】
以上説明したように、本実施の形態によれば、データ書き込み頻度及びデータ破壊の程度に応じて、ページごとに適切にデータを保護することが可能になる。
【００６３】
すなわち、本実施の形態に係るデータリフレッシュ処理によれば、ページごとのデータ書き込み頻度に応じてデータリフレッシュ周期を変更することができる。このため、書き込み頻度が少ないページについてはリフレッシュ周期を長く設定して、データ訂正処理によるデータ書き込み回数の不必要な増加を防止できる。一方、書き込み頻度が高いページではリフレッシュ周期を短く設定して、データ訂正不能になる前にデータを別のページに退避させて、データを保護することができる。
【００６４】
また、本実施の形態によれば、１ページに対するデータ書き込み回数が所定の書き込み限界を超えた場合には、訂正したデータを別のページに退避させることができる。一方、１ページに対するデータ書き込み回数が前記書き込み限界を超えない場合には、データ破壊の程度に応じた処理を行うことができる。すなわち、処理対象ページに発生しているエラーが軽微なエラーであればエラー訂正は行わず、中程度のエラーであればデータを訂正して元のページに書き込み、大きなエラーが発生していれば訂正して別のページに書き込む。従って、発生したエラーが無視できる軽微なエラーである場合には、データ訂正を行わない。このため、書き込み回数の増加を防ぐことができ、前記書き込み回数の増加によるデータ破壊を防ぐことができる。また、訂正限界に近い重大なデータ破壊が生じている場合には、データを別のページに退避させてデータを保護することができる。
【００６５】
変形例
本発明は上述した実施の形態に限定されず、種々変形して実施可能である。例えば、上述の説明では、各ページの書き込み回数に基づいてリフレッシュ周期を変更している。しかしながら、複数ページからなるブロックごとにリフレッシュ周期を設定・変更してもよい。この場合、ブロックごとにデータ書き込み回数及び消去回数を記憶しておく。記憶された書き込み回数及び消去回数に応じて、対応するブロックのリフレッシュ周期を変更する。特に、データの消去をブロック単位で行うフラッシュメモリ（たとえばＮＡＮＤ型フラッシュメモリ）の場合、データの書き込み、消去が頻繁に行われるブロックでデータが破壊される危険性が高い。ブロックごとにリフレッシュ周期を設定・変更することで、データの消去回数にも応じたデータ保護が可能になる。
【００６６】
また、各ページのリフレッシュ周期の設定・変更を行う際に、ページごとの書き込み回数及びブロックごとの消去回数を用いてもよい。この場合、書き込み回数はページごとに、消去回数はブロックごとに記憶しておく。処理対象ページのリフレッシュ周期を変更する際には、該対象ページの書き込み回数及び、該対象ページを含むブロックの消去回数の双方に基づいて周期の変更を行えばよい。
【００６７】
上述の実施の形態では、フラッシュメモリ２に記憶されたデータについて、データリフレッシュ処理を行っている。しかしながら、メモリデータフレッシュ処理の対象はフラッシュメモリに限定されない。たとえばＥＰＲＯＭ等のデータの読み出し及び書き込みが可能な記録装置であれば、本実施の形態に係るデータリフレッシュ処理を適用することができる。
【００６８】
上述の実施の形態では、書き込み回数及びエラービットの数に基づいて、リフレッシュ処理の内容が決定された。しかしながら、書き込み回数のみに基づいてリフレッシュ処理の内容を決定してもよい。この場合、図４のブロックＢ１１及びＢ１２の判断は行われない。エラーの程度に関わらず、書き込み回数に応じたリフレッシュ処理の内容が決定される。あるいは、エラービットの数のみに基づいてリフレッシュ処理の内容を決定してもよい。この場合、図４のブロックＢ７の判断は行われない。
【００６９】
上述の実施の形態では、いずれかのページがリフレッシュタイミングを迎えたら、リフレッシュ処理が行われた。しかしながら、メモリデータリフレッシュ処理は所定の動作周期で行ってもよい。所定の動作周期は各ページのリフレッシュ周期よりも短く設定する。この場合、制御部１０は所定の動作周期で以下に述べるような処理を行う。また、以下に述べる処理は、すべてのページについて行われる。すなわち、制御部１０は１つのページのリフレッシュ周期を検出して、リフレッシュ処理を行うべきかどうかを判断する。リフレッシュ処理を行わないと判断されたら、図４のブロックＢ２以降の処理は行わず、次のページのリフレッシュ周期を検出し、同様の判断を行う。このような判断をすべてのページについて行い、処理を行うべきページがあれば、当該ページについて図４のブロックＢ２以降の処理を行う。
【００７０】
上述の実施の形態では、書き込み回数が書き込み限界を超えず、エラービット数ＥＢがＥＢ１以下である場合には、データ訂正は行わず、書き込み回数に応じた周期の変更のみを行った（図３参照）。しかしながら、エラービット数ＥＢがＥＢ１以下である場合でも、データ訂正を行うようにしてもよい。この場合、上述の実施の形態で説明した中度エラー領域と軽度エラー領域の区別はなくなる。
【００７１】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【００７２】
また、本発明は、コンピュータに所定の手段を実行させるための（あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための）プログラムを記録したコンピュータ読取り可能な記録媒体としても実施することもできる。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係わるデータリフレッシュ装置の電気的構成を示すブロック図。
【図２】データテーブル１３ａに格納されるデータ内容の一例を示す図。
【図３】データ破壊の程度と書き込み回数に応じたデータリフレッシュ処理内容の例を示す図。
【図４】前記データリフレッシュ装置によるデータリフレッシュ処理を示すフローチャート。
【符号の説明】
【００７４】
１…装置本体、２…フラッシュメモリ、１０…制御部、１１…ＭＰＵ、１２…内蔵メモリ、１３…ＲＡＭ、１４…Ａ／Ｄ変換器、１５…スピーカ、１６…ＦＭチューナ、１７…ディスプレイ
【図１】
2008299621.tif 000003
【図２】
2008299621.tif 000004
【図３】
2008299621.tif 000005
【図４】
2008299621.tif 000006