(57)【要約】【課題】移動体端末の記憶媒体中の全領域をウエアレベリング対象にすると、メモリデバイスの寿命を伸ばせる。しかし、信頼性が要求されるデータと信頼性が要求されないデータが同じ度合で保護されるため、信頼性が要求されるデータの信頼性が確保できない。【解決手段】移動体端末におけるデータを、保護対象データと保護対象でないデータに分類し、ブロックの消去回数と保護対象データ、保護対象でないデータの種別に応じてウエアレベリング対象範囲を変更する。また、保護対象データを持ち、かつ、消耗度が高いブロックをウエアレベリング対象から除外する。【選択図】図１
2011150454.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体と、
前記記憶媒体に保存するデータが保護すべきデータか否かを検出する保護対象データ検出手段と、
前記保護対象データ検出手段により検出されたデータを保護対象データにすべきか否かを決定する保護対象データ決定手段と、
前記保護対象データ決定手段により保護対象データと決定されたデータを記憶する保護対象データ記憶手段と、
前記記憶媒体の消耗度を平準化するための書き込みブロックを決定する書き込みブロック決定手段と、
前記記憶媒体における各ブロックの消去回数を記憶するブロック消去回数記憶手段と、
前記記憶媒体におけるブロックの平均消去回数が所定値を超えると、保護対象データと保護対象でないデータに対して、異なるウエアレベリング対象範囲を決定するウエアレベリング対象範囲決定手段と、
データ書き込みを要求するアプリケーションＩ／Ｆと、
前記アプリケーションＩ／Ｆからの書き込み要求するデータに対して、前記保護対象データ記憶手段から保護対象データか否かを判定し、前記ウエアレベリング対象範囲決定手段が決定したウエアレベリング対象範囲への書き込みを決定し、前記ブロック決定手段に入力するデータ書き込み制御手段と、
前記記憶媒体のブロックを消去し、書き込みデータを前記記憶媒体に書き込むブロック消去・書き込み手段と、
を備えた移動体端末。
【請求項２】
さらに前記保護対象データ決定手段により決定された保護対象データを保護対象でないデータに変更する保護対象データ変更手段と、を備えた請求項１記載の移動体端末。
【請求項３】
さらに保護対象データを含む、かつブロック消去回数が所定値を超える、前記書き込みブロック決定手段により決定された書き込みブロックをウエアレベリング対象範囲から除外する平準化ブロック除外手段と、を備えた請求項１記載の移動体端末。
【請求項４】
さらに保護対象データを含む、かつブロック消去回数が所定値を超える、前記書き込みブロック決定手段により決定された書き込みブロックをウエアレベリング対象範囲から除外する平準化ブロック除外手段と、を備えた請求項２記載の移動体端末。
【請求項５】
前記保護対象データ検出手段は、ユーザが設定機能により設定した保護対象データを検出することを特徴とする請求項１ないし請求項４のいずれかに記載の移動体端末。
【請求項６】
前記保護対象データ検出手段は、移動体端末においてアクセス回数が多いデータ、または起動回数が多いアプリケーションのプログラムコードを保護対象データとして検出することを特徴とする請求項１ないし請求項４のいずれかに記載の移動体端末。
【請求項７】
前記保護対象データ決定手段は、前記保護対象データ検出手段により検出されたデータから、保護可能なデータ量に基づき、保護対象データを決定することを特徴とする請求項５または請求項６記載の移動体端末。
【請求項８】
前記ウエアレベリング対象範囲決定手段は、平均消去回数より大きい消去回数を持つブロックを保護対象でないデータのウエアレベリング対象範囲にし、平均消去回数より小さい消去回数を持つブロックを保護対象データのウエアレベリング対象範囲にすることを特徴とする請求項１ないし請求項７のいずれかに記載の移動体端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体端末のフラッシュ記憶媒体に用いられる消耗平準化（ウエアレベリング）技術に関するものである。
【背景技術】
【０００２】
近年、携帯電話機、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の移動体端末に、データを記憶させるための記憶装置として、フラッシュ記憶媒体メモリが用いられている。フラッシュ記憶媒体は、いくつかの連続した領域に分けられていて、それぞれ領域ごとに個別に消去可能である。このような領域は、当技術分野でユニット、ブロックまたはセクタなど様々な呼び方で呼ばれているが、本明細書ではブロックと呼ぶことにする。
【０００３】
各ブロックにデータを書き込む際には、データを書き込む前に、既にブロックに書き込まれているデータを消去する必要がある。ところが、フラッシュ記憶媒体の各ブロックには、記憶媒体の物理特性により消去回数の制限があり、消去回数が制限回数を超えるとそのブロックは壊れてしまうという不具合を生じる。また、各ブロックの消去回数の増加に伴い、各ブロックに書き込んだデータを正しく読み出すためには、より短時間でデータの読み出しをする必要があるという不具合を生じる。
【０００４】
従来、消耗平準化（ウエアレベリング）技術として、ブロックのデータを消去する処理が行われ、書き込み可能なブロックが再生成される不揮発性メモリにあって、消去回数の少ないブロックにある有効データの内の単位データ分を、消去回数の多いブロックにコピーし、上記消去回数の少ないブロックにあるコピーされた上記単位データ分を無効データ化する操作を繰り返すように構成したものが知られている。この構成によれば、上記消去回数の多いブロックに有効データがコピーされ、上記消去回数の多いブロックを消去され難くすると共に、上記消去回数の少ないブロックにある有効データがコピーされて無効データ化されていくことで、上記消去回数の少ないブロックを消去し易くすることができる（特許文献１参照）。
【０００５】
また、他の消耗平準化（ウエアレベリング）技術として、フラッシュデータ・マネジャーにより、所与の多数回書き込みまたは消去動作が行われる度に１回ずつ、最終的に全ブロックが選択されるまで順次選択する仕方で周期的に媒体のブロックを選択し、選択されたブロックデータを別の自由ブロックへ移動して、選択されたブロックを消去するように構成したものが知られている。この方法によれば、システムリソースの使用を最小限に抑えつつ消耗平準化（ウエアレベリング）が実現されるべく、静的領域を実際には静的のままにしておらず、同領域内の静的データを実際に他の物理的位置に移動するアルゴリズムを提供することにより可能となる（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２９６０１４号公報
【特許文献２】特表２００４−５２２２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の発明では、フラッシュ記憶媒体中の全く変わらないデータ、または、ほとんど変わらないデータを含む領域（静的領域）のみに対して消耗平準化（ウエアレベリング）を行なっている。携帯端末などのフラッシュ記憶媒体が組み込まれた装置において、フラッシュ記憶媒体の静的領域は、全体の記憶領域に対して、約半分の割合を占めている。そのため、特許文献１記載の発明では、消耗平準化（ウエアレベリング）対象となる範囲は少なく、ブロックの平均消去回数が多くなり、フラッシュ記憶媒体の寿命が伸びないという問題があった。
【０００８】
また、特許文献２記載の発明では、メモリ全領域に対して同等の消耗平準化（ウエアレベリング）を行うため、フラッシュ記憶媒体の寿命が伸ばせるが、信頼性が要求されるデータ（静的データ）と信頼性が要求されないデータ（動的データ）が同じ度合で保護されるため、信頼性が要求されるデータの信頼性が確保できないという問題があった。
【０００９】
本発明は、係る点に鑑みてなされたものであり、移動体端末における信頼性が要求されるデータを検出し、この検出結果に基づきデータの消耗平準化処理（ウエアレベリング処理）を行うことにより、フラッシュ記憶媒体の寿命を延ばしつつ、信頼性が要求されるデータを保護できる移動体端末を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記従来の課題を解決するため、本発明の移動体端末は、記憶媒体と、前記記憶媒体に保存するデータが保護すべきデータか否かを検出する保護対象データ検出手段と、前記保護対象データ検出手段により検出されたデータを保護対象データにすべきか否かを決定する保護対象データ決定手段と、前記保護対象データ決定手段により保護対象データと決定されたデータを記憶する保護対象データ記憶手段と、前記記憶媒体の消耗度を平準化するための書き込みブロックを決定する書き込みブロック決定手段と、前記記憶媒体における各ブロックの消去回数を記憶するブロック消去回数記憶手段と、前記記憶媒体におけるブロックの平均消去回数が所定値を超えると、保護対象データと保護対象でないデータに対して、異なるウエアレベリング対象範囲を決定するウエアレベリング対象範囲決定手段と、データ書き込みを要求するアプリケーションＩ／Ｆと、前記アプリケーションＩ／Ｆからの書き込み要求するデータに対して、前記保護対象データ記憶手段から保護対象データか否かを判定し、前記ウエアレベリング対象範囲決定手段が決定したウエアレベリング対象範囲への書き込みを決定し、前記ブロック決定手段に入力するデータ書き込み制御手段と、前記記憶媒体のブロックを消去し、書き込みデータを前記記憶媒体に書き込むブロック消去・書き込み手段と、を備えた構成を有する。
【００１１】
この構成により、保護対象データか否かを検出することができ、保護対象データに対しては、高い優先度で消耗平準化（ウエアレベリング）を行うことで、記憶媒体の寿命を伸ばしつつ、移動体端末にとって大切なデータを保護することができる。
【発明の効果】
【００１２】
以上のように、本発明の移動体端末によれば、信頼性が要求されるデータに対しては、他のデータに比較して高い信頼性が確保でき、記憶媒体の寿命を伸ばしつつ、移動体端末にとって大切なデータを保護することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１における移動体端末のデータ書き込みに関連するブロックの概略構成を示す図
【図２】本発明の実施の形態１におけるデータ書き込み動作を説明するフローチャート
【図３】本発明の実施の形態２における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図
【図４】本発明の実施の形態２における保護対象データ検出部、及び保護対象データ変更部の動作を説明するフローチャート
【図５】本発明の実施の形態２におけるデータ書き込み動作を説明するフローチャート
【図６】本発明の実施の形態３における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図
【図７】本発明の実施の形態３におけるデータ書き込み動作を説明するフローチャート
【図８】本発明の実施の形態４における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図
【図９】本発明の実施の形態４における保護対象データ検出部、及び保護対象データ変更部の動作を説明するフローチャート
【図１０】本発明の実施の形態４におけるデータ書き込み動作を説明するフローチャート
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００１５】
（実施の形態１）
図１は、本発明の実施の形態１における移動体端末のデータ書き込みに関連するブロックの概略構成を示す図である。ここでは、移動体端末におけるデータの書き込みに関連するブロックの動作について詳述し、データの書き込みに関連しない移動体端末中のブロックについての説明は省略する。
【００１６】
図１に示したとおり、移動体端末におけるデータ書き込みに関連するブロックは、概略、メモリアクセス部１００、データ書き込み要求Ｉ／Ｆ１２１、記憶媒体１３１から構成される。
【００１７】
メモリアクセス部１００は、保護対象データ検出部１０１、保護対象データ決定部１０２、保護対象データ記憶部１０３、ウエアレベリング対象範囲決定部１０４、データ書き込み制御部１０５、書き込みブロック決定部１１１、ブロック消去・書き込み部１１２、ブロック消去回数記憶部１１３から構成されている。
【００１８】
記憶媒体１３１は、移動体端末で用いるデータを記憶する。記憶するデータとしては、例えば、プログラムコード、ユーザが撮った写真のデータ、ユーザが送受信したメールに関するデータ、等である。
【００１９】
データ書き込み要求Ｉ／Ｆ１２１は、移動体端末で動作しているアプリケーションなどから記憶媒体１３１に書き込みが要求されるデータの書き込み要求を、メモリアクセス部１００に入力する。
【００２０】
保護対象データ検出部１０１は、記憶するデータが保護対象データか否かを検出する。例えば、ユーザが設定機能により保護したいデータとして設定した、メール、写真などのデータを、保護対象データとして検出する。
【００２１】
保護対象データ決定部１０２は、保護対象データ検出部１０１で検出されたデータが「保護対象データ」の場合、「保護対象データ」として維持すべきか、「保護対象でないデータ」に変更すべきかを決定する。保護対象データ検出部１０１で検出された保護すべきデータ量が多い場合、これらのデータを適切に保護できない。従って、検出された保護すべきデータの量が記憶媒体１３１の容量の定められた値（例えば、５割）以上になると、保護対象データ検出部１０１で新しく検出されたデータを保護対象でないデータとする。
【００２２】
保護対象データ記憶部１０３は、保護対象データ決定部１０２で判定された保護対象データの記憶媒体１３１中のアドレスを管理し、この管理情報を記憶媒体１３１に保管する。
【００２３】
ウエアレベリング対象範囲決定部１０４は、異なる優先度を持つ書き込みデータに対して、異なるウエアレベリング対象範囲を決定する。例えば、記憶媒体１３１にあるブロック全体の平均消去回数より消去回数が小さいブロックを保護対象データのウエアレベリング対象範囲とし、残りのブロックは保護対象でないデータのウエアレベリング対象範囲とする。
【００２４】
データ書き込み制御部１０５は、書き込み要求Ｉ／Ｆ１２１から書き込み要求を受け、保護対象データ記憶部１０３を参照し、書き込み要求データが保護対象データか否かを判断する。そして、ウエアレベリング対象範囲決定部１０４を参照し、書き込みデータに対するウエアレベリング対象範囲を決定し、これらの情報を書き込みブロック決定部１１１に入力する。
【００２５】
書き込みブロック決定部１１１は、ブロック消去回数記憶部２１３を参照し、データ書き込み制御部１０５に入力されたウエアレベリング対象範囲の中から、消耗度が低い１つのブロックを書き込みブロックとして決定する。例えば、最も消去回数が小さいブロックを「書き込みブロック」として決定する。このようにすれば、記憶媒体中の各ブロックの消去回数を平準化することができ、その結果、全ブロックの消耗を平準化することができる。
【００２６】
ブロック消去・書き込み部１１２は、書き込みブロック決定部１１１により決められた「書き込みブロック」にデータを書き込む。「書き込みブロック」に書き込みがされていない領域が充分ある場合、すぐにデータ書き込みを行う。一方、「書き込みブロック」に空き領域が足りない場合（移動処理が必要な場合）、書き込みブロックにおけるデータを他のブロックに移動し、この書き込みブロックを消去してからデータの書き込みを行う。
【００２７】
ブロック消去回数記憶部１１３は、記憶媒体１３１における各ブロックの消去回数を記憶する。ブロック消去・書き込み部１１２で消去処理が発生した場合、消去ブロックの消去回数を更新する。
【００２８】
図２は、本発明の実施の形態１における移動体端末のデータ書き込み動作を説明するフローチャートである。
【００２９】
まず、データ書き込み制御部１０５は、書き込み要求Ｉ／Ｆ１２１からデータ書き込み要求の有無を判定する（Ｓ１０１）。
【００３０】
データ書き込み制御部１０５は、書き込み要求Ｉ／Ｆ１２１からデータ書き込み要求が発生していない場合（Ｓ１０１、Ｎｏ）、処理を終了する。
【００３１】
一方、書き込み要求Ｉ／Ｆ１２１からデータ書き込み要求が発生した場合（Ｓ１０１、Ｙｅｓ）、ブロック消去回数記憶部１１３を参照し、記憶媒体１３１における全ブロックの平均消去回数を計算し、平均消去回数が閾値αを超えているか否かを判定する（Ｓ１０２）。
【００３２】
全ブロックの平均消去回数が閾値α以下の場合（Ｓ１０２、Ｎｏ）、データ書き込み制御部１０５は、記憶媒体の全領域をウエアレベリング対象範囲とする（Ｓ１０５）。
【００３３】
全ブロックの平均消去回数が閾値α以上の場合（Ｓ１０２、Ｙｅｓ）、データ書き込み制御部１０５は、保護対象データ記憶部１０３を参照する（Ｓ１０３）。
【００３４】
書き込みデータが「保護対象データ」でないの場合（Ｓ１０４、Ｎｏ）、データ書き込み制御部１０５は、平均消去回数より大きい消去回数を持つブロックをウエアレベリング対象範囲とする（Ｓ１０６）。
【００３５】
書き込みデータが「保護対象データ」である場合（Ｓ１０４、Ｙｅｓ）、平均消去回数より小さい消去回数を持つブロックをウエアレベリング対象範囲とする（Ｓ１０７）。
【００３６】
書き込みブロック決定部１１１は、データ書き込み制御部１０５が決定した書き込みデータのウエアレベリング対象範囲を受け、このウエアレベリング対象範囲から１つの書き込み先ブロックを決定する（Ｓ１０８）。
【００３７】
ブロック消去・書き込み部１１２は、決定された書き込み先ブロックの移動処理が必要か否かを判断する（Ｓ１０９）。
【００３８】
選択されたブロックに書き込みがされていない領域が充分ある場合（Ｓ１０９、Ｎｏ）、ブロック消去・書き込み部１１２は、書き込みデータを書き込みブロック決定部１１１により決定されたブロックにデータの書き込みを行い（Ｓ１１０）、終了する。
【００３９】
一方、選択されたブロックに書き込みがされていない領域が足りない場合（Ｓ１０９、Ｙｅｓ）、このブロックの消去を行う必要がある。このとき、ブロック消去・書き込み部１１２は、「選択されたブロック中のデータを他のブロックに移動してから、このブロックを消去する」という「移動処理」を行う（Ｓ１１１）。
【００４０】
次に、ブロック消去・書き込み部１１２は、「Ｓ１１１」で行った「移動処理」の後、データをブロックに書き込み（Ｓ１１０）、データ書き込み処理を終了する。
【００４１】
（実施の形態２）
図３は、本発明の実施の形態２における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図である。ここでは、移動体端末におけるデータの書き込みに関連するブロックの動作について詳述し、データの書き込みに関連しない移動体端末中のブロックについての説明は省略する。
【００４２】
図３に示したとおり、移動体端末における、データ書き込みに関連するブロックは、概略、メモリアクセス部２００、データ書き込み要求Ｉ／Ｆ２２１、記憶媒体２３１から構成される。
【００４３】
メモリアクセス部２００は、保護対象データ検出部２０１、保護対象データ決定部２０２、保護対象データ変更部２１４、保護対象データ記憶部２０３、ウエアレベリング対象範囲決定部２０４、データ書き込み制御部２０５、書き込みブロック決定部２１１、ブロック消去・書き込み部２１２、ブロック消去回数記憶部２１３から構成されている。
【００４４】
記憶媒体２３１は、移動体端末で用いるデータを記憶する。記憶するデータとしては、例えば、プログラムコード、ユーザが撮った写真のデータ、ユーザが送受信したメールに関するデータ、等である。
【００４５】
データ書き込み要求Ｉ／Ｆ２２１は、移動体端末で動作しているアプリケーションなどから記憶媒体２３１に書き込みが要求される、データの書き込み要求を、メモリアクセス部２００に入力する。
【００４６】
保護対象データ検出部２０１は、記憶するデータが保護対象データか否かを検出し、保護対象データである場合、このデータを保護対象データ決定部２０２に入力する。例えば、ユーザが設定機能により保護したいデータとして設定した、メール、写真などのデータを、保護対象データとして検出する。また、所定の期間毎に、移動体端末においてアクセス回数が多いデータ、あるいは、総起動時間が長いアプリケーションのプログラムコードのデータがあるか否かを検出する。このようなデータがあった場合は、保護対象データとして検出する。
【００４７】
保護対象データ決定部２０２は、保護対象データ検出部２０１で検出されたデータが「保護対象データ」の場合、「保護対象データ」として維持すべきか、「保護対象でないデータ」に変更すべきかを決定する。保護対象データ検出部２０１で検出された保護すべきデータ量が多い場合、これらのデータを適切に保護できない。従って、検出された保護すべきデータの量が記憶媒体２３１の容量の定められた値（例えば、全体の記憶容量の５割）以上になると、保護対象データ検出部２０１で新しく検出されたデータを保護対象でないデータとする。
【００４８】
保護対象データ変更部２１４は、既に保護対象データ決定部２０２で「保護対象データ」として決定されたが、保護対象データ検出部２０１で「保護対象でないデータ」として検出されたデータである場合は、「保護対象データ」として決定されたデータを「保護対象でないデータ」に変更する。
【００４９】
保護対象データ記憶部２０３は、保護対象データ決定部２０２で判定された保護対象データの記憶媒体２３１中のアドレスを管理し、この管理情報を記憶媒体２３１に保管する。
【００５０】
ウエアレベリング対象範囲決定部２０４は、異なる優先度を持つ書き込みデータに対して、異なるウエアレベリング対象範囲を決定する。例えば、記憶媒体２３１にあるブロック全体の平均消去回数より消去回数が小さいブロックを保護対象データのウエアレベリング対象範囲とし、残りのブロックは保護対象でないデータのウエアレベリング対象範囲とする。
データ書き込み制御部２０５は、書き込み要求Ｉ／Ｆ２２１から書き込み要求を受け、保護対象データ記憶部２０３を参照し、書き込み要求データが保護対象データか否かを判断する。そして、ウエアレベリング対象範囲決定部２０４を参照し、書き込みデータに対するウエアレベリング対象範囲を決定し、これらの情報を書き込みブロック決定部２１１に入力する。
【００５１】
書き込みブロック決定部２１１は、ブロック消去回数記憶部２１３を参照し、データ書き込み制御部２０５に渡されたウエアレベリング対象範囲の中から、消耗度が低い１つのブロックを書き込みブロックとして決定する。例えば、最も消去回数が小さいブロックを「書き込みブロック」として決定する。このようにすれば、記憶媒体中の各ブロックの消去回数を平準化することができ、その結果、全ブロックの消耗を平準化することができる。
【００５２】
ブロック消去・書き込み部２１２は、書き込みブロック決定部２１１により決められた「書き込みブロック」にデータを書き込む。「書き込みブロック」に書き込みがされていない領域が充分ある場合、すぐにデータの書き込みを行う。一方、「書き込みブロック」に空き領域が足りない場合（移動処理が必要な場合）、書き込みブロックにおけるデータを他のブロックに移動し、この書き込みブロックを消去してからデータの書き込みを行う。
【００５３】
ブロック消去回数記憶部２１３は、記憶媒体２３１における各ブロックの消去回数を記憶する。ブロック消去・書き込み部２１２で消去処理が発生した場合、消去ブロックの消去回数を更新する。
【００５４】
図４は、本発明の実施の形態２における保護対象データ検出部、及び保護対象データ変更部の動作を説明するフローチャートである。
【００５５】
まず、移動体端末において、アプリケーションが起動される（Ｓ２２１、Ｙｅｓ）とアプリケーション起動回数の記録を更新する（Ｓ２２２）。
【００５６】
保護対象データ検出部２０１は、常にアプリケーションの起動回数を観測し、所定の期間毎に（Ｓ２２３、Ｙｅｓ）、アプリケーション起動回数の記録を確認する。
【００５７】
所定の期間経過したか否かを判断し（Ｓ２２３）、所定の期間経過した場合には（Ｓ２２３、Ｙｅｓ）、保護対象データ検出部２０１は、起動回数が多いアプリケーションを保護対象データ決定部２０２に入力し、これらのアプリケーションのプログラムコードデータを保護対象データとして扱う（Ｓ２２４）。
【００５８】
次に、保護対象データ変更部２１４は、保護対象データ記憶部２０３で管理している保護対象データリストに存在しているが、「Ｓ２２２」でカウントされた起動回数が少ないアプリケーションのプログラムコードデータを保護対象データリストから除外する（Ｓ２２５）。
【００５９】
次に、保護対象データ検出部２０１は、全てのアプリケーション起動回数の記憶をリセットし（Ｓ２２６）、常に各アプリケーションの起動状況を監視する「Ｓ２２１」に戻る。
【００６０】
上記の「アプリケーションの起動回数」を「アプリケーションの総起動時間」にすることもできる。
【００６１】
図５は、本発明の実施の形態２におけるデータ書き込み動作を説明するフローチャートである。Ｓ２０１〜Ｓ２１１の各ステップで行う動作は、実施の形態１で説明したＳ１０１〜Ｓ１１１の各ステップで行う動作と同じであるため、ここでは、説明を省略する。  （実施の形態３）
図６は、本発明の実施の形態３における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図である。ここでは、移動体端末におけるデータの書き込みに関連するブロックの動作について詳述し、データの書き込みに関連しない移動体端末中のブロックについての説明は省略する。
【００６２】
図６に示したとおり、移動体端末におけるデータ書き込みに関連するブロックは、概略、メモリアクセス部３００、データ書き込み要求Ｉ／Ｆ３２１、記憶媒体３３１から構成される。
【００６３】
メモリアクセス部３００は、保護対象データ検出部３０１、保護対象データ決定部３０２、保護対象データ記憶部３０３、ウエアレベリング対象範囲決定部３０４、データ書き込み制御部３０５、ウエアレベリング対象範囲除外部３０６、書き込みブロック決定部３１１、ブロック消去・書き込み部３１２、ブロック消去回数記憶部３１３から構成されている。
【００６４】
記憶媒体３３１は、移動体端末で用いるデータを記憶する。記憶するデータとしては、例えば、プログラムコード、ユーザが撮った写真のデータ、ユーザが送受信したメールに関するデータ、等である。
【００６５】
データ書き込み要求Ｉ／Ｆ３２１は、移動体端末で動作しているアプリケーションなどから記憶媒体３３１に書き込みが要求されるデータの書き込み要求を、メモリアクセス部３００に入力する。
【００６６】
保護対象データ検出部３０１は、記憶するデータが保護対象データか否かを検出する。例えば、ユーザが設定機能により保護したいデータとして設定した、メール、写真などのデータを、保護対象データとして検出する。
【００６７】
保護対象データ決定部３０２は、保護対象データ検出部３０１で検出されたデータが「保護対象データ」の場合、「保護対象データ」として維持すべきか、「保護対象でないデータ」に変更すべきかを決定する。保護対象データ検出部３０１で検出された保護すべきデータ量が多い場合、これらのデータを適切に保護できない。従って、検出された保護すべきデータの量が記憶媒体３３１の容量の定められた値（例えば、５割）以上になると、保護対象データ検出部３０１で新しく検出されたデータを保護対象でないデータとする。
【００６８】
保護対象データ記憶部３０３は、保護対象データ決定部３０２で判定された保護対象データの記憶媒体３３１中のアドレスを管理し、この管理情報を記憶媒体３３１に保管する。
【００６９】
ウエアレベリング対象範囲決定部３０４は、異なる優先度を持つ書き込みデータに対して、異なるウエアレベリング対象範囲を決定する。例えば、記憶媒体３３１にあるブロック全体の平均消去回数より消去回数が小さいブロックを保護対象データのウエアレベリング対象範囲とし、残りのブロックは保護対象でないデータのウエアレベリング対象範囲とする。
【００７０】
データ書き込み制御部３０５は、書き込み要求Ｉ／Ｆ３２１から書き込み要求を受け、保護対象データ記憶部３０３を参照し、書き込み要求データが保護対象データか否かを判断する。そして、ウエアレベリング対象範囲決定部３０４を参照し、書き込みデータに対するウエアレベリング対象範囲を決定し、これらの情報を書き込みブロック決定部３１１に入力する。
【００７１】
書き込みブロック決定部３１１は、ブロック消去回数記憶部３１３を参照し、データ書き込み制御部３０５に渡されたウエアレベリング対象範囲の中から、消耗度が低い１つのブロックを書き込みブロックとして決定する。例えば、最も消去回数が小さいブロックを「書き込みブロック」として決定する。このようにすれば、記憶媒体中の各ブロックの消去回数を平準化することができ、その結果、全ブロックの消耗を平準化することができる。
【００７２】
ブロック消去・書き込み部３１２は、書き込みブロック決定部３１１により決められた「書き込みブロック」にデータを書き込む。「書き込みブロック」に書き込みがされていない領域が充分ある場合、すぐにデータ書き込みを行う。一方、「書き込みブロック」に空き領域が足りない場合（移動処理が必要な場合）、書き込みブロックにおけるデータを他のブロックに移動し、この書き込みブロックを消去してからデータの書き込みを行う。
【００７３】
ブロック消去回数記憶部３１３は、記憶媒体３３１における各ブロックの消去回数を記憶する。ブロック消去・書き込み部３１２で消去処理が発生した場合、消去ブロックの消去回数を更新する。
【００７４】
ウエアレベリング対象範囲除外部３０６は、書き込みブロック決定部３１１により決定され、ブロック消去回数記憶部３１３に記載された、書き込みブロックの消去回数を参照する。この消去回数が所定値を越え、かつ、このブロックに保護対象データを含む場合、選択されたブロックをウエアレベリング対象範囲から除外する。こうすることにより、今後、このブロックが書込みブロック決定部により移動先ブロックとして選択されない。
【００７５】
図７は、本発明の実施の形態３における移動体端末のデータ書き込み動作を説明するフローチャートである。
【００７６】
まず、データ書き込み制御部３０５は、書き込み要求Ｉ／Ｆ３２１からデータ書き込み要求の有無を判定する（Ｓ３０１）。
【００７７】
データ書き込み制御部３０５は、書き込み要求Ｉ／Ｆ３２１からデータ書き込み要求が発生していない場合（Ｓ３０１、Ｎｏ）、処理を終了する。
【００７８】
一方、書き込み要求Ｉ／Ｆ３２１からデータ書き込み要求が発生した場合（Ｓ３０１、Ｙｅｓ）、ブロック消去回数記憶部３１３を参照し、記憶媒体３３１における全ブロックの平均消去回数を計算し、平均消去回数が閾値αを超えているか否かを判定する（Ｓ３０２）。
【００７９】
全ブロックの平均消去回数が閾値α以下の場合（Ｓ３０２、Ｎｏ）、データ書き込み制御部３０５は、記憶媒体の全領域をウエアレベリング対象範囲とする（Ｓ３０５）。
【００８０】
全ブロックの平均消去回数が閾値α以上の場合（Ｓ３０２、Ｙｅｓ）、データ書き込み制御部３０５は、保護対象データ記憶部３０３を参照する（Ｓ３０３）。
【００８１】
書き込みデータが「保護対象データ」でないの場合（Ｓ３０４、Ｎｏ）、データ書き込み制御部３０５は、平均消去回数より大きい消去回数を持つブロックをウエアレベリング対象範囲とする（Ｓ３０６）。
【００８２】
書き込みデータが「保護対象データ」である場合（Ｓ３０４、Ｙｅｓ）、平均消去回数より小さい消去回数を持つブロックをウエアレベリング対象範囲とする（Ｓ３０７）。
【００８３】
書き込みブロック決定部３１１は、データ書き込み制御部３０５が決定した書き込みデータのウエアレベリング対象範囲を受け、このウエアレベリング対象範囲から１つの書き込み先ブロックを決定する（Ｓ３０８）。
【００８４】
ブロック消去・書き込み部３１２は、決定された書き込み先ブロックの移動処理が必要か否かを判断する（Ｓ３０９）。
【００８５】
選択されたブロックに書き込みがされていない領域が充分ある場合（Ｓ３０９、Ｎｏ）、ブロック消去・書き込み部３１２は、書き込みデータを書き込みブロック決定部３１１により決定されたブロックにデータの書き込みを行い（Ｓ３１４）、終了する。
【００８６】
一方、選択されたブロックに書き込みがされていない領域が足りない場合（Ｓ３０９、Ｙｅｓ）、このブロックの消去を行う必要がある。このとき、ウエアレベリング対象範囲除外部３０６は、保護対象データ記憶部３０３を参照し、このブロックに保護対象データを含むか否かを判断する（Ｓ３１０）。
【００８７】
書き込みブロックに保護対象データを含まない場合（Ｓ３１０、Ｎｏ）、ブロック消去・書き込み部３１２は、「選択されたブロック中のデータを他のブロックに移動してから、このブロックを消去する」という「移動処理」を行う（Ｓ３１５）。
【００８８】
次に、ブロック消去・書き込み部３１２は、「Ｓ３１５」で行った「移動処理」の後、データをブロックに書き込み（Ｓ３１４）、データ書き込み処理を終了する。
【００８９】
書き込みブロックに保護対象データを含む場合（Ｓ３１０、Ｙｅｓ）、ウエアレベリング対象範囲除外部３０６は、ブロック消去回数記憶部３１３を参照し、このブロックの消去回数が閾値βを越えたか否かを判断する（Ｓ３１１）。
【００９０】
消去回数が閾値β以上の場合（Ｓ３１１、Ｙｅｓ）、この書き込みブロックをウエアレベリング対象範囲から除外し（Ｓ３１２）、ウエアレベリング対象範囲を更新する（Ｓ３１３）。
【００９１】
次に、書き込みブロック決定部３１１は、再びウエアレベリング対象範囲から書き込みブロックを決定し（Ｓ３０８）、前述の「Ｓ３０９」、「Ｓ３１４」へと進み、処理を終了する。
【００９２】
一方、Ｓ３１１で書き込みブロックの消去回数が所定値β以下の場合（Ｓ３１１、Ｎｏ）、ブロック消去・書き込み部３１２は、書き込みブロックの「移動処理」を行い（Ｓ３１５）、前述の「Ｓ３１４」へ進み、終了する。
（実施の形態４）
図８は、本発明の実施の形態４における移動体端末のデータ書き込みに関連するブロックの概略構成を示すブロック図である。ここでは、移動体端末におけるデータの書き込みに関連するブロックの動作について詳述し、データの書き込みに関連しない移動体端末中のブロックについての説明は省略する。
【００９３】
図８に示したとおり、移動体端末における、データ書き込みに関連するブロックは、概略、メモリアクセス部４００、データ書き込み要求Ｉ／Ｆ４２１、記憶媒体４３１から構成される。
【００９４】
メモリアクセス部４００は、保護対象データ検出部４０１、保護対象データ決定部４０２、保護対象データ変更部４１４、保護対象データ記憶部４０３、ウエアレベリング対象範囲決定部４０４、データ書き込み制御部４０５、ウエアレベリング対象範囲除外部４０６、書き込みブロック決定部４１１、ブロック消去・書き込み部４１２、ブロック消去回数記憶部４１３から構成されている。
【００９５】
記憶媒体４３１は、移動体端末で用いるデータを記憶する。記憶するデータとしては、例えば、プログラムコード、ユーザが撮った写真のデータ、ユーザが送受信したメールに関するデータ、等である。
【００９６】
データ書き込み要求Ｉ／Ｆ４２１は、移動体端末で動作しているアプリケーションなどから記憶媒体４３１に書き込みが要求される、データの書き込み要求を、メモリアクセス部４００に入力する。
【００９７】
保護対象データ検出部４０１は、記憶するデータが保護対象データか否かを検出し、保護対象データである場合、このデータを保護対象データ決定部４０２に入力する。例えば、ユーザが設定機能により保護したいデータとして設定した、メール、写真などのデータを、保護対象データとして検出する。また、所定の期間毎に、移動体端末においてアクセス回数が多いデータ、あるいは、総起動時間が長いアプリケーションのプログラムコードのデータがあるか否かを検出する。このようなデータがあった場合は、保護対象データとして検出する。
【００９８】
保護対象データ決定部４０２は、保護対象データ検出部４０１で検出されたデータが「保護対象データ」の場合、「保護対象データ」として維持すべきか、「保護対象でないデータ」に変更すべきかを決定する。保護対象データ検出部４０１で検出された保護すべきデータ量が多い場合、これらのデータを適切に保護できない。従って、検出された保護すべきデータの量が記憶媒体４３１の容量の定められた値（例えば、全体の記憶容量の５割）以上になると、保護対象データ検出部４０１で新しく検出されたデータを保護対象でないデータとする。
保護対象データ変更部４１４は、既に保護対象データ決定部４０２で「保護対象データ」として決定されたが、保護対象データ検出部４０１で「保護対象でないデータ」として検出されたデータである場合は、「保護対象データ」として決定されたデータを「保護対象でないデータ」に変更する。
【００９９】
保護対象データ記憶部４０３は、保護対象データ決定部４０２で判定された保護対象データの記憶媒体４３１中のアドレスを管理し、この管理情報を記憶媒体４３１に保管する。
【０１００】
ウエアレベリング対象範囲決定部４０４は、異なる優先度を持つ書き込みデータに対して、異なるウエアレベリング対象範囲を割り当てる。例えば、記憶媒体４３１にあるブロック全体の平均消去回数より消去回数が小さいブロックを保護対象データのウエアレベリング対象範囲とし、残りのブロックは保護対象でないデータのウエアレベリング対象範囲とする。
データ書き込み制御部４０５は、書き込み要求Ｉ／Ｆ４２１から書き込み要求を受け、保護対象データ記憶部４０３を参照し、書き込み要求データが保護対象データか否かを判断する。そして、ウエアレベリング対象範囲決定部４０４を参照し、書き込みデータに対するウエアレベリング対象範囲を決定し、これらの情報を書き込みブロック決定部４１１に入力する。
【０１０１】
書き込みブロック決定部４１１は、ブロック消去回数記憶部４１３を参照し、データ書き込み制御部４０５に入力されたウエアレベリング対象範囲の中から、消耗度が低い１つのブロックを書き込みブロックとして決定する。例えば、最も消去回数が小さいブロックを「書き込みブロック」として決定する。このようにすれば、記憶媒体中の各ブロックの消去回数を平準化することができ、その結果、全ブロックの消耗を平準化することができる。
【０１０２】
ブロック消去・書き込み部４１２は、書き込みブロック決定部４１１により決められた「書き込みブロック」にデータを書き込む。「書き込みブロック」に書き込みがされていない領域が充分ある場合、すぐにデータ書き込みを行う。一方、「書き込みブロック」に空き領域が足りない場合（移動処理が必要な場合）、書き込みブロックにおけるデータを他のブロックに移動し、この書き込みブロックを消去してからデータの書き込みを行う。
【０１０３】
ブロック消去回数記憶部４１３は、記憶媒体４３１における各ブロックの消去回数を記憶する。ブロック消去・書き込み部４１２で消去処理が発生した場合、消去ブロックの消去回数を更新する。
【０１０４】
ウエアレベリング対象範囲除外部４０６は、書き込みブロック決定部４１１により決定され、ブロック消去回数記憶部４１３に記載された、書き込みブロックの消去回数を参照する。この消去回数が所定値を越え、かつ、このブロックに保護対象データを含む場合、選択されたブロックをウエアレベリング対象範囲から除外する。こうすることにより、今後、このブロックが書込みブロック決定部により移動先ブロックとして選択されない。
【０１０５】
図９は、本発明の実施の形態４における保護対象データ検出部、及び保護対象データ変更部の動作を説明するフローチャートである。
【０１０６】
まず、移動体端末において、アプリケーションが起動される（Ｓ４２１、Ｙｅｓ）とアプリケーション起動回数の記録を更新する（Ｓ４２２）。
【０１０７】
保護対象データ検出部４０１は、常にアプリケーションの起動回数を観測し、所定の期間毎に（Ｓ４２３、Ｙｅｓ）、アプリケーション起動回数の記録を確認する。
【０１０８】
所定の期間経過したか否かを判断し（Ｓ４２３）、所定の期間経過した場合には（Ｓ４２３、Ｙｅｓ）、保護対象データ検出部４０１は、起動回数が多いアプリケーションを保護対象データ決定部４０２に入力し、これらのアプリケーションのプログラムコードデータを保護対象データとして扱う（Ｓ４２４）。
次に、保護対象データ変更部４１４は、保護対象データ記憶部４０３で管理している保護対象データリストに存在しているが、「Ｓ４２２」でカウントされた起動回数が少ないアプリケーションのプログラムコードデータを保護対象データリストから除外する（Ｓ４２５）。
【０１０９】
次に、保護対象データ検出部４０１は、全てのアプリケーション起動回数の記憶をリセットし（Ｓ４２６）、常に各アプリケーションの起動状況を監視する「Ｓ４２１」に戻る。
【０１１０】
上記の「アプリケーションの起動回数」を「アプリケーションの総起動時間」にすることもできる。
【０１１１】
図１０は、本発明の実施の形態４におけるデータ書き込み動作を説明するフローチャートである。Ｓ４０１〜Ｓ４１５の各ステップで行う動作は、実施の形態３で説明したＳ３０１〜Ｓ３１５の各ステップで行う動作と同じであるため、ここでは、説明を省略する。
【産業上の利用可能性】
【０１１２】
本発明は、移動体端末の記憶媒体に記憶したデータに優先度をつけて、消耗平準化（ウエアレベリング）を実行することにより、記憶媒体の寿命を延ばしつつ、信頼性が要求されるデータが保護されるため、移動体端末の記憶媒体への適用が可能である。
【符号の説明】
【０１１３】
１０１、２０１、３０１、４０１    保護対象データ検出部
１０２、２０２、３０２、４０２    保護対象データ決定部
１０３、２０３、３０３、４０３    保護対象データ記憶部
１０４、２０４、３０４、３０４    ウエアレベリング対象範囲決定部
１０５、２０５、３０５、４０５    データ書き込み制御部
３０６、４０６    ウエアレベリング対象範囲除外部
１１１、２１１、３１１、４１１    書き込みブロック決定部
１１２、２１２、３１２、４１２    ブロック消去・書き込み部
１１３、２１３、３１３、４１３    ブロック消去回数記憶部
２１４、４１４    保護対象データ変更部
１２１、２２１、３２１、４２１    書き込み要求Ｉ／Ｆ
１３１、２３１、３３１、４３１    記憶媒体
【図１】
2011150454.tif 000003
【図２】
2011150454.tif 000004
【図３】
2011150454.tif 000005
【図４】
2011150454.tif 000006
【図５】
2011150454.tif 000007
【図６】
2011150454.tif 000008
【図７】
2011150454.tif 000009
【図８】
2011150454.tif 000010
【図９】
2011150454.tif 000011
【図１０】
2011150454.tif 000012