(57)【要約】【課題】データ記憶装置に記憶されるデータの信頼性を維持することが可能なメモリ制御装置、信頼性判定期間の更新方法、及びデータの書込み方法の提供。【解決手段】フラッシュメモリと、計時部と、温度検出部と、制御プロセッサとを備えた情報処理装置が実行するフラッシュメモリ管理処理では、フラッシュメモリにデータが書き込まれると、信頼性判定値を最大値とし、以後、規定時間が経過する毎に、動作温度に基づく経過減算値を算出して（Ｓ１３０）、その経過減算値を信頼性判定値から減算することにより、信頼性判定値を更新する（Ｓ１４０）。読出し要求が出力されれば、読出減算値を信頼性判定値から減算することにより、信頼性判定値を更新する（Ｓ１８０）。順次更新される信頼性判定値が規定閾値以下となった場合、フラッシュメモリからデータを読み出し、その読み出したデータを書込み処理する（Ｓ２３０）。【選択図】図３
2009026119.tif 000002
【特許請求の範囲】
【請求項１】
浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行するデータ書込手段と、前記データ記憶装置からデータを読み出す読出制御を実行するデータ読出手段とを備えたメモリ制御装置であって、
前記データ書込手段が書込制御を実行してから、そのデータの信頼性が維持されるものとして予め設定された期間を信頼性担保期間とし、前記信頼性担保期間を最大の期間として、前記データ書込手段が書込制御を実行してからの経過時間である書込経過時間に従って短縮される信頼性判定期間を格納する判定期間格納手段と、
前記データ記憶装置周辺の温度を表す動作温度を検出する温度検出手段と、
前記書込経過時間と、前記信頼性判定期間の短縮される期間との割合を短縮率として、前記温度検出手段を介して動作温度を取得する毎に、その取得した動作温度に基づき、前記動作温度が高いほど大きな前記短縮率を設定する短縮率設定手段と、
前記短縮率設定手段で短縮率が設定される毎に、その設定された短縮率に従って、前記判定期間格納手段に格納されている信頼性判定期間を更新する第一判定期間更新手段と、
前記判定期間格納手段に格納されている信頼性判定期間が予め規定された規定閾値以下である場合、前記データ記憶装置から読み出したデータを書込データとして、前記データ書込手段に書込制御を実行させる再書込手段と
を備えることを特徴とするメモリ制御装置。
【請求項２】
前記第一判定期間更新手段は、
前記短縮率設定手段で設定される短縮率と、前記動作温度の取得間隔とに基づいて、前記短縮率が大きいほど、及び前記取得間隔が長いほど、長い期間を示す減算期間を算出し、前記信頼性判定期間から減算期間を減算することにより、前記判定期間格納手段に格納されている信頼性判定期間を更新することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記短縮率設定手段は、
予め規定された規定時間毎に、前記動作温度を取得することを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
前記短縮率設定手段は、
当該メモリ制御装置が起動された時に、前記動作温度を取得することを特徴とする請求項１ないし請求項３のいずれかに記載のメモリ制御装置。
【請求項５】
前記データ読出手段が読出制御を実行するための読出要求が取得された場合、予め設定された設定期間を前記信頼性判定期間から減算することにより、前記判定期間格納手段に格納されている信頼性判定期間を更新する第二判定期間更新手段を備えることを特徴とする請求項１ないし請求項４のいずれかに記載のメモリ制御装置。
【請求項６】
前記第二判定期間更新手段は、
前記温度検出手段を介して前記動作温度を取得し、その動作温度が高いほど前記設定時間を長くすることを特徴とする請求項５に記載のメモリ制御装置。
【請求項７】
前記データ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性が前記データ記憶装置よりも低下し難いメモリを退避メモリとして、前記温度検出手段を介して取得した動作温度が前記規定温度以上である場合に、前記書込データを前記退避メモリに記憶し、前記温度検出手段を介して取得する動作温度が前記規定温度未満となるまでの間、前記データ書込手段の動作を禁止するデータ退避手段と、
前記データ退避手段による禁止が解除されると、前記退避メモリに記憶させたデータを前記書込データとして、前記データ書込手段に書込制御を実行させる退避データ再書込手段と
を備えることを特徴とする請求項１ないし請求項６のいずれかに記載のメモリ制御装置。
【請求項８】
浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行するデータ書込手段を備えたメモリ制御装置であって、
前記データ記憶装置周辺の温度を表す動作温度を検出する温度検出手段と、
前記データ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性が前記データ記憶装置よりも低下し難いメモリを退避メモリとして、前記温度検出手段を介して取得した動作温度が前記規定温度以上である場合に、前記書込データを前記退避メモリに記憶し、前記温度検出手段を介して取得する動作温度が前記規定温度未満となるまでの間、前記データ書込手段の動作を禁止するデータ退避手段と、
前記データ退避手段による禁止が解除されると、前記退避メモリに記憶させたデータを前記書込データとして、前記データ書込手段に書込制御を実行させる退避データ再書込手段と
を備えることを特徴とするメモリ制御装置。
【請求項９】
前記データ記憶装置は、フラッシュＥＥＰＲＯＭを用いたものであることを特徴とする請求項１ないし請求項８のいずれかに記載のメモリ制御装置。
【請求項１０】
浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行してから、その書込データの信頼性が維持されるものとして予め設定された期間を信頼性担保期間とし、前記信頼性担保期間を最大の期間として有し、前記書込制御を実行してからの経過時間に従って順次短縮される期間を信頼性判定期間として、前記信頼性判定期間が予め規定された規定閾値以下である場合に、前記データ記憶装置から読み出したデータを前記書込データとして、前記書込制御を実行するメモリ制御装置での信頼性判定期間の更新方法であって、
前記データ記憶装置周辺の温度を表す動作温度を取得する動作温度取得過程と、
前記信頼性判定期間で短縮される期間と経過時間との割合を短縮率とし、前記動作温度取得過程で取得された動作温度に基づき、前記動作温度が高いほど短縮率を増加させると共に、その短縮率に従って前記信頼性判定期間を更新する判定期間更新過程と
を有することを特徴とする信頼性判定期間の更新方法。
【請求項１１】
浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置、または前記データ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性が前記データ記憶装置よりも低下し難いメモリである退避メモリを制御するメモリ制御装置が実行するデータの書込み方法であって、
前記データ記憶装置周辺の温度を表す動作温度を取得する動作温度取得過程と、
前記動作温度取得過程で取得された動作温度が前記規定温度以上である場合に、前記退避メモリにデータを記憶し、前記動作温度取得過程で取得した動作温度が前記規定温度未満となるまでの間、前記データ記憶装置へのデータの書込みを禁止するデータ退避過程と、
前記データ退避過程での禁止が解除されると、前記退避メモリに記憶させたデータを前記データ記憶装置に書き込む退避データ再書込過程と
を有することを特徴とするデータの書込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置を制御するメモリ制御装置、メモリ制御装置による信頼性判定期間の更新方法、及びデータ記憶装置へのデータの書き込み方法に関する。
【背景技術】
【０００２】
従来より、シリコン材料によって形成された浮遊ゲートに電荷を保持することでデータを記憶するデータ記憶装置（例えば、フラッシュＥＥＰＲＯＭ）と、データ記憶装置へのデータの書込み、データ記憶装置からのデータの読出しを制御する制御装置とを備えた情報処理装置が知られている（例えば、特許文献１、２参照）。
【０００３】
なお、データ記憶装置に記憶されるデータは、浮遊ゲートに保持された電荷量により決定される。
また、浮遊ゲートに保持される電荷量は、データ記憶装置にデータを書込んだ後、そのデータを長時間放置した場合、シリコン材料に含まれる不純物と、浮遊ゲートに保持されるべき電荷とが結びついて浮遊ゲートから電荷が抜け出ること（以下、この現象をデータの劣化と称す）により低下する。このため、この種の情報処理装置では、データ記憶装置に書き込んだデータと、データ記憶装置から読み出されるデータとが一致しなくなり、データ記憶装置に記憶されるデータの信頼性を維持することができない可能性があった。
【０００４】
これに対して、データ記憶装置にデータを書き込んでからの経過時間（以下、書込経過時間とする）を取得し、書込経過時間が予め規定された電荷維持可能時間を超えた場合、そのデータをデータ記憶装置に再書込みする情報処理装置（以下、従来装置とする）が知られている（例えば、特許文献３参照）。
【特許文献１】特開２００６−３０１９９３号公報
【特許文献２】特開２００３−２０８３５２号公報
【特許文献３】特開平０８−１４７９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、データ記憶装置では、温度が高い状態で使用されると、浮遊ゲートに加わる熱エネルギーが大きくなるため、シリコン材料中の不純物が活性化し、浮遊ゲートに保持されるべき電荷が浮遊ゲートから抜け出やすくなる。
【０００６】
このため、従来装置では、データ記憶装置を高温の下で使用した場合には、データの劣化が促進され、書込経過時間が電荷維持可能時間となる前に（即ち、データの再書込みが行われる前に）、データ記憶装置に記憶されたデータの信頼性が低下する可能性があった。つまり、従来装置であっても、データ記憶装置に記憶されるデータの信頼性を維持することができない可能性があった。
【０００７】
そこで、本発明は、データ記憶装置に記憶されるデータの信頼性を維持することが可能なメモリ制御装置、信頼性判定期間の更新方法、及びデータの書込み方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明のメモリ制御装置は、浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行するデータ書込手段と、データ記憶装置からデータを読み出す読出制御を実行するデータ読出手段とを備えたものである。
【０００９】
そのメモリ制御装置には、データ記憶装置周辺の温度を表す動作温度を検出する温度検出手段が備えられ、判定期間格納手段には、データ書込手段が書込制御を実行してから、そのデータの信頼性が維持されるものとして予め設定された信頼性担保期間を最大の期間とし、データ書込手段が書込制御を実行してからの経過時間である書込経過時間に従って短縮される信頼性判定期間が格納されている。そして、書込経過時間と、信頼性判定期間の短縮される期間との割合を短縮率として、短縮率設定手段が、温度検出手段を介して動作温度を取得する毎に、その取得した動作温度に基づき、動作温度が高いほど大きな短縮率を設定し、第一判定期間更新手段が、短縮率設定手段で短縮率が設定される毎に、その設定された短縮率に従って、判定期間格納手段に格納されている信頼性判定期間を更新すると共に、判定期間格納手段に格納されている信頼性判定期間が予め規定された規定閾値以下である場合、再書込手段が、データ記憶装置から読み出したデータを書込データとして、データ書込手段に書込制御を実行させる。
【００１０】
通常、浮遊ゲートに電荷を保持するデータ記憶装置（いわゆるフラッシュメモリ）は、データ記憶装置から読み出したデータの書込制御（即ち、再書込み、以下、フラッシュリフレッシュとも称す）が定期的に行われていれば、データ記憶装置に記憶されたデータの信頼性を維持することができる。しかしながら、例えば、データ記憶装置が高温に晒された状況下で使用される場合のように、浮遊ゲートに高温が加えられた状態では、浮遊ゲートに保持されるべき電荷の抜け（以下、この現象をデータの劣化と称す）が促進され、データが変化する可能性がある。
【００１１】
そこで、本発明のメモリ制御装置では、動作温度を考慮して短縮率を設定し、その短縮率に従って、信頼性判定期間を求めている。
つまり、本発明のメモリ制御装置によれば、データ記憶装置の動作温度によるデータの劣化速度の変化が反映された信頼性の高い信頼性判定期間を用いて、再書込みの必要性を判定することができる。これにより、本発明のメモリ制御装置によれば、データ記憶装置に記憶されたデータの信頼性が低下する前の適切なタイミングにて、データの再書込みが実行されることになり、データ記憶装置に記憶されているデータの信頼性を維持することができる。
【００１２】
ところで、例えば、従来装置において、電荷維持可能時間を短くすることにより、データの信頼性が低下する前にデータの再書込みを実行することは可能である。ところが、このような方法では、本来、一回の再書込みで十分な期間に数回の再書込みが行われる等、必要以上にデータの再書込みが行われることになり、書込みによるフラッシュメモリの劣化が促進されてしまう。
【００１３】
しかしながら、本発明のメモリ制御装置によれば、信頼性の高い信頼性判定期間を用いて、再書込みの必要性を判定するため、必要以上にデータの再書込みが行われることがないので、書込みによるフラッシュメモリの劣化を低減することができる。
【００１４】
なお、ここで言うデータの信頼性とは、読出制御を実行した時に読み出されるデータが、書込制御を実行した時に書き込まれるデータと一致することの確からしさを示すものであり、信頼性が低下するとは、読出制御を実行した時に読み出されるデータと、書込制御を実行した時に書き込まれるデータとが、一致しない可能性が高くなることを示すものとする。つまり、データの劣化が進むと、データの信頼性は低下する。
【００１５】
ここで言うデータ記憶装置周辺の温度とは、半導体メモリ（即ち、データ記憶装置）が、どのような温度下に置かれているのかを示したものであり、半導体メモリ表面の温度でも良いし、半導体メモリ周辺の気温でも良い。
【００１６】
また、本発明のメモリ制御装置における第一判定期間更新手段は、請求項２に記載のように、短縮率設定手段で設定される短縮率と、動作温度の取得間隔とに基づいて、短縮率が大きいほど、及び取得間隔が長いほど、長い期間を示す減算期間を算出し、信頼性判定期間から減算期間を減算することにより、判定期間格納手段に格納されている信頼性判定期間を更新するように構成されていても良い。
【００１７】
この場合、短縮率は、取得間隔が一定であれば動作温度が高いほど、動作温度が一定であれば取得間隔が長いほど、大きなものとなる。このため、第一判定期間更新手段にて算出される減算期間は、動作温度の取得間隔が一定であれば動作温度が高いほど、動作温度が一定であれば取得間隔が長いほど、長い期間となる。
【００１８】
なお、このような本発明のメモリ制御装置における短縮率設定手段は、請求項３に記載のように、予め規定された規定時間毎に、動作温度を取得するように構成されていることが望ましい。
【００１９】
このように構成された本発明のメモリ制御装置では、取得間隔を算出する必要が無いため、処理を簡易化することができる。
さらに、本発明のメモリ制御装置における短縮率設定手段は、請求項４に記載のように、メモリ制御装置が起動された時に、動作温度を取得するように構成されていることが望ましい。
【００２０】
このように構成された本発明のメモリ制御装置では、電源供給が停止されている期間を考慮して短縮率を設定し、その短縮率に従って信頼性判定期間が求められる。つまり、本発明のメモリ制御装置によれば、電源供給が停止されている期間に生じるデータの劣化が反映された、より信頼性の高い信頼性判定期間を求めることができる。
【００２１】
一般的に、データ記憶装置では、データ記憶装置に記憶されているデータの読出制御が繰り返し実行されることにより、データの劣化が生じる可能性があった。
そこで、本発明のメモリ制御装置は、請求項５に記載のように、データ読出手段が読出制御を実行するための読出要求が取得された場合、第二判定期間更新手段が、予め設定された設定期間を信頼性判定期間から減算することにより、判定期間格納手段に格納されている信頼性判定期間を更新するように構成されていても良い。
【００２２】
このように構成された本発明のメモリ制御装置によれば、読出制御によるデータの劣化が反映された、より信頼性の高い信頼性判定期間を求めることができる。
このような本発明のメモリ制御装置における第二判定期間更新手段は、請求項６に記載のように、温度検出手段を介して動作温度を取得し、その動作温度が高いほど設定時間を長くするように構成されていることが望ましい。
【００２３】
つまり、本発明のメモリ制御装置によれば、読出制御時のデータの劣化も動作温度の影響を受けるため、これを考慮した信頼性判定期間を求めることで、信頼性判定期間の信頼性をより確実なものとすることができる。
【００２４】
ところで、データ書込手段が書込制御を実行する時の動作温度が、浮遊ゲートを形成する材料（ここでは、不純物も含む）が活性化する規定温度よりも高い場合、浮遊ゲートに注入した電荷が浮遊ゲート内に保持されず一部が抜け出てしまう可能性があった。つまり、書込制御を実行した当初から、データの劣化が生じる可能性があった。
【００２５】
そこで、データ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性がデータ記憶装置よりも低下し難いメモリを退避メモリとした場合、本発明のメモリ制御装置は、請求項７に記載のように、データ退避手段が、温度検出手段を介して取得した動作温度が規定温度以上である場合に、書込データを退避メモリに記憶し、温度検出手段を介して取得する動作温度が規定温度未満となるまでの間、データ書込手段の動作を禁止すると共に、退避データ再書込手段が、データ退避手段による禁止が解除されると、退避メモリに記憶させたデータを書込データとして、データ書込手段に書込制御を実行させるように構成されていることが望ましい。
【００２６】
このように構成された本発明のメモリ制御装置では、書込制御が実行される場合に、動作温度が規定温度未満であれば、書込データがデータ記憶装置に書き込まれ、動作温度が規定温度以上であれば、書込データが退避メモリに退避される。そして、動作温度が規定温度未満まで低下すると、退避メモリに記憶されたデータをデータ記憶装置に書き込む。ただし、書込制御にて書き込まれる書込データは、初回書込み時のデータであっても良いし、データ記憶装置から読み出されたデータであっても良い。
【００２７】
このように構成された本発明のメモリ制御装置によれば、動作温度が規定温度よりも低い場合に、データ記憶装置に書込データを書き込むため、浮遊ゲートに保持すべき電荷を維持することができる。この結果、本発明のメモリ制御装置によれば、書込制御を実行した当初からデータの劣化が進むことを防止でき、結果として、データ記憶装置に記憶されるデータの信頼性を確実に維持することができる。
【００２８】
なお、本発明のメモリ制御装置は、浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行するデータ書込手段と、データ記憶装置周辺の温度を表す動作温度を検出する温度検出手段とを備えたものである場合、請求項８に記載のように、データ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性がデータ記憶装置よりも低下し難いメモリを退避メモリとして、温度検出手段を介して取得した動作温度が規定温度以上である場合に、データ退避手段が、書込データを退避メモリに記憶し、温度検出手段を介して取得する動作温度が規定温度未満となるまでの間、データ書込手段の動作を禁止すると共に、退避データ再書込手段が、データ退避手段による禁止が解除されると、退避メモリに記憶させたデータを書込データとして、データ書込手段に書込制御を実行させる。
【００２９】
このような本発明のメモリ制御装置によれば、動作温度が規定温度よりも低い場合に、データ記憶装置にデータの書込みを実行するため、請求項８に記載のメモリ制御装置と同様に、データの書込みをした当初からデータの劣化が進むことを防止できる。
【００３０】
ところで、本発明のメモリ制御装置は、請求項９に記載のように、フラッシュＥＥＰＲＯＭを用いたデータ記憶装置を制御するように構成されていることが望ましい。
また、本発明は、浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置に書込データを書き込む書込制御を実行してから、その書込データの信頼性が維持されるものとして予め設定された信頼性担保期間を最大の期間として有し、書込制御を実行してからの経過時間に従って順次短縮される信頼性判定期間が予め規定された規定閾値以下である場合に、データ記憶装置から読み出したデータを書込データとして、書込制御を実行するメモリ制御装置での信頼性判定期間の更新方法としてなされたものでも良い。
【００３１】
ただし、この信頼性判定期間の更新方法では、請求項１０に記載のように、動作温度取得過程にて、データ記憶装置周辺の温度を表す動作温度を取得し、判定期間更新過程にて、動作温度取得過程で取得された動作温度に基づき、動作温度が高いほど、信頼性判定期間で短縮される期間と経過時間との割合である短縮率を増加させると共に、その短縮率に従って信頼性判定期間を更新する必要がある。
【００３２】
このような本発明の信頼性判定期間の更新方法によれば、データ記憶装置の動作温度を考慮した信頼性の高い信頼性判定期間を求めることができ、データの信頼性が低下する前の適切なタイミングにて、データの再書込みを実行することができる。つまり、請求項１に記載のメモリ制御装置と同様の効果を得ることができる。
【００３３】
なお、本発明は、浮遊ゲートに電荷を保持することでデータを記憶する不揮発性の半導体メモリからなるデータ記憶装置、またはデータ記憶装置とは別に設けられ、予め規定された規定温度以上でのデータの信頼性がデータ記憶装置よりも低下し難いメモリである退避メモリを制御するメモリ制御装置が実行するデータの書込み方法としてなされたものでも良い。
【００３４】
ただし、このデータの書込み方法では、動作温度取得過程にて、データ記憶装置周辺の温度を表す動作温度を取得して、データ退避過程にて、動作温度取得過程で取得された動作温度が規定温度以上である場合に、退避メモリにデータを記憶し、動作温度取得過程で取得した動作温度が規定温度未満となるまでの間、データ記憶装置へのデータの書込みを禁止すると共に、データ退避過程での禁止が解除されると、退避データ再書込み過程にて、退避メモリに記憶させたデータをデータ記憶装置に書き込む必要がある。
【００３５】
このような本発明のデータの書込み方法によれば、請求項９に記載のメモリ制御装置と同様に、動作温度が規定温度よりも低い場合に、データ記憶装置にデータの書込むため、データの書込みをした当初からデータが劣化することを防止できる。このため、データ記憶装置に記憶されるデータの信頼性をより確実に維持することができる。
【発明を実施するための最良の形態】
【００３６】
以下に本発明の実施形態を図面と共に説明する。
図１は、本発明が適用された情報処理装置を備え、車両に搭載されたナビゲーション装置１の概略構成を示したブロック図である。
【００３７】
ナビゲーション装置１は、自車両の現在位置を検出する位置検出器５と、ユーザーからの各種指示を入力するための操作スイッチ群６と、ユーザーが発話した音声に基づく電気信号を出力するマイクロフォン（図示せず）と、情報を表示する表示装置８と、各種のガイド音声等を出力するための音声出力部９と、位置検出器５、操作スイッチ群６、マイクロフォン等の入力に従って、表示装置８、及び音声出力部９を制御する情報処理装置２０とを備えている。
【００３８】
位置検出器５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）用の人工衛星からの電波を図示しないＧＰＳアンテナを介して受信して、その受信信号を出力するＧＰＳ受信機５ａと、車両に加えられる回転運動の大きさを検出するジャイロセンサ５ｂと、地磁気から進行方位を検出するための地磁気センサ５ｃとを備えている。そして、これら各センサ等５ａ〜５ｃからの出力信号に基づいて情報処理装置２０が、車両の現在位置、進行方向の方位等を算出する。
【００３９】
また、表示装置８は、カラー表示装置であり、液晶ディスプレイ，有機ＥＬディスプレイ，ＣＲＴなどがあるが、その何れを用いてもよい。
そして、操作スイッチ群６は、表示装置８の表示面と一体に構成されたタッチパネル、及び表示装置８の周囲に設けられたキースイッチ等から構成されている。なお、タッチパネルと表示装置８とは積層一体化されており、タッチパネルには、感圧方式、電磁誘導方式、静電容量方式、あるいはこれらを組み合わせた方式など各種の方式があるが、その何れを用いてもよい。
【００４０】
音声出力部９は、情報処理装置２０からの信号を音声に変換して出力するスピーカであり、具体的には、フラッシュメモリ３５（図２参照）に格納された施設のガイドや各種案内の音声を出力する。
【００４１】
さらに、マイクロフォンは、利用者が音声を入力（発話）するとその入力した音声に基づく電気信号（音声信号）を情報処理装置２０に出力するものである。このマイクロフォンを介して入力される音声コマンドによって、ナビゲーション装置１の操作が可能なように構成されている。
〈情報処理装置について〉
次に、本発明の主要部である情報処理装置２０について説明する。
【００４２】
ここで、図２は、情報処理装置の概略構成を示したブロック図である。
情報処理装置２０は、処理プログラム等を格納するＲＯＭ２１と、データを一時的に格納するＲＡＭ２２と、ナビゲーション装置１の使用者によって入力されたデータ等を格納するフラッシュメモリ３５と、時刻を計時する計時部２３と、フラッシュメモリ３５の動作温度を検出する温度検出部２４と、ＲＯＭ２１や、ＲＡＭ２２に格納されたプログラムに従って、各種処理を実行する制御プロセッサ３０と、ＲＯＭ２１に格納された処理プログラムやデータ等を、制御プロセッサ３０を介すことなくＲＡＭ２２や、フラッシュメモリ３５に転送するＤＭＡコントローラ２５とを備えている。
【００４３】
フラッシュメモリ３５は、シリコン材料によって形成された浮遊ゲートに電荷を保持することによりデータを記憶する不揮発性の半導体メモリ、いわゆるフラッシュＥＥＰＲＯＭを中心に構成された周知の記憶装置である。したがって、フラッシュメモリ３５は、少なくとも一以上の浮遊ゲートからなるｎ個（ｎは３以上の自然数）の記憶ブロック３６（図２中、第一記憶ブロック３６ａ，第二記憶ブロック３６ｂ，第ｎ記憶ブロック３６ｃ）を有しており、この記憶ブロック３６ａ〜ｃ毎に、データの書込み、及び消去が可能に構成されている。
【００４４】
そのフラッシュメモリ３５には、地図データ（ノードデータ、リンクデータ、コストデータ、道路データ、地形データ、マークデータ、交差点データ、施設のデータ等）、案内用の音声データ、音声認識データ等が予め記憶されている。この他に、フラッシュメモリ３５は、当該ナビゲーション装置１の使用者が入力したデータや、後述する各種処理を実行することで生成されるデータを記憶するようにされている。
【００４５】
温度検出部２４は、フラッシュメモリ３５の周辺（例えば、フラッシュメモリ３５の表面）における温度（以下、動作温度とする）を計測する温度センサーであり、計測した動作温度を制御プロセッサ３０に出力するように構成されている。
【００４６】
そして、ＲＯＭ２１には、現在位置付近の地図を表示してその中に車両現在位置マークを表示する現在位置表示処理、目的地までの経路を設定する経路設定処理、経路設定処理により設定された経路に従って表示装置８への表示や音声出力部９からの音声出力による経路案内を行う経路案内処理等の周知の処理に加えて、ナビゲーション装置１の起動時に、ナビゲーション装置１を構成する各部を起動（リセット）する起動処理等を実行するための処理プログラムが格納されている。さらに、ＲＯＭ２１には、フラッシュメモリ３５へのデータの書込み、及びフラッシュメモリ３５からのデータの読出しを制御することに加えて、温度検出部２４にて検出される動作温度に基づき、信頼性判定値を演算し、その信頼性判定値に従って、フラッシュメモリ３５から読み出したデータの書込み（即ち、再書込み）を行うフラッシュメモリ管理処理を実行するための処理プログラムが格納されている。
【００４７】
この他、ＲＯＭ２１には、フラッシュメモリ管理処理を制御プロセッサ３０が実行する時に用いられ、信頼性判定値の最大値である信頼性担保値が格納されている。その信頼性担保値は、平常の温度（例えば、２５℃）を保ち続けた状態にて、浮遊ゲートに保持される電荷が予め規定された規定量以上抜け出ることの無い、データの書込みを実行してからの期間（即ち、信頼性を維持可能な期間）として、予め設定された期間（本実施形態では、１０年とする）である。
【００４８】
なお、フラッシュメモリ管理処理にて用いられる信頼性判定値とは、記憶ブロック３６ａ〜ｃ毎に設定されるものであり、フラッシュメモリ３５の記憶ブロック３６にデータの書込みを実行してからの経過時間に応じて、信頼性担保値から順次減少されることにより更新されるものである。つまり、データの書込みがなされた時に信頼性担保値となる信頼性判定値がマイナスとなった場合には、データの劣化が進み、記憶ブロック３６に書込まれているデータの信頼性が低下する可能性が高くなる。
【００４９】
さらに、ＲＯＭ２１には、フラッシュメモリ管理処理を制御プロセッサ３０が実行する時に用いられる温度係数と、動作温度とが対応付けられた温度係数マップが格納されている。なお、温度係数マップは、図９（Ａ）に示すように、ナビゲーション装置１に電源供給されている時の動作温度（図中、Ｔａ）と、温度係数とを対応付けた第一温度係数マップ、及び図９（Ｂ）に示すように、ナビゲーション装置１に電源供給されていない時の日時（より正確には、その日時にて求められる平均の動作温度）と、温度係数とを対応付けた第二温度係数マップから構成されている。
【００５０】
ただし、この温度係数マップに示された温度係数は、予め実験等によって、各動作温度において浮遊ゲートから抜け出る単位時間当たりの電荷量を求めることにより設定されたものであり、動作温度が高いほど大きな値となるようにされている。つまり、データの劣化が促進される高温では、経過時間よりも大きな時間が信頼性判定値から減算されることで、記憶ブロック３６に書き込まれたデータの信頼性が低下する前に、再書込みが行われるようにされている。
【００５１】
ただし、ここで言うデータの信頼性とは、フラッシュメモリ３５から読み出されるデータが、フラッシュメモリ３５に書込みを実行した時のそのデータと一致することの確からしさを示すものであり、データの劣化とは、浮遊ゲートに保持されるべき電荷が、シリコン材料に含まれる不純物等と結合して、浮遊ゲートから抜け出る現象を示すものとする。また、信頼性の低下とは、フラッシュメモリ３５から読み出されるデータと、フラッシュメモリ３５に書込みを実行した時のそのデータとが、一致しない可能性が予め規定された基準値（例えば、３％）よりも高くなることを示すものとする。つまり、データの劣化が進み、浮遊ゲートから抜け出る電荷量が多くなるとデータの信頼性は低下する。
【００５２】
また、ＲＡＭ２２は、予め規定された規定温度以上でのデータの信頼性が、規定温度以上でフラッシュメモリ３５に書き込まれたデータの信頼性よりも低下し難い読み書き可能な周知のメモリである。そのＲＡＭ２２には、図８に示すように、フラッシュメモリ３５の記憶ブロック３６ａ〜ｃ毎に信頼性判定値を格納するための領域が確保されており、制御プロセッサ３０がフラッシュメモリ管理処理等の各種処理を実行する時の作業領域として利用する。ただし、図８中の信頼性判定値は、小数点時間を４ビットとした上で、１６進数にて、最大値（即ち、信頼性担保値、１０年）を表している。
【００５３】
ところで、図２に示すように、制御プロセッサ３０は、各種処理を実行するために必要なデータを一時的に格納するレジスタ３１と、ＲＯＭ２１からの処理プログラムの読出しや、ＲＡＭ２２またはフラッシュメモリ３５へのデータの書込み、及びそれらのデータの読出しを制御する制御装置３２と、処理プログラムに従って各種演算を行う演算装置３３とを備えている。
【００５４】
レジスタ３１は、フラッシュメモリ管理処理を実行する時の演算結果を格納するリフレッシュ要求レジスタ３１ａと、フラッシュメモリ３５へのデータの書込み要求を格納する書込み要求レジスタ（以下、ＷＲ要求レジスタ）３１ｂと、フラッシュメモリ３５からのデータの読出し要求を格納する読出し要求レジスタ（以下、ＲＥ要求レジスタ）３１ｃとを少なくとも備えている。
【００５５】
なお、ＷＲ要求レジスタ３１ｂは、経路設定処理等の処理を制御プロセッサ３０が実行することや、ナビゲーション装置１の使用者が操作スイッチ群６を操作することで生成されるデータ、及びそれらのデータをフラッシュメモリ３５に書込むための書込み要求が出力されたことを示す書込要求フラグを格納するようにされている。また、ＲＥ要求レジスタ３１ｃは、経路設定処理等の処理を制御プロセッサ３０が実行することや、ナビゲーション装置１の使用者が操作スイッチ群６を操作することで、フラッシュメモリ３５からデータの読出しを実行するための読出し要求が出力されたことを示す読出要求フラグ、及びフラッシュメモリ３５から読み出されたデータを格納するようにされている。
【００５６】
以上説明したように、制御プロセッサ３０は、現在位置表示処理、経路設定処理、経路案内処理に加えて、フラッシュメモリ管理処理、及び起動処理を実行可能に構成されている。
【００５７】
ただし、情報処理装置２０を含むナビゲーション装置１は、車両に搭載されたバッテリー（図示せず）から電源供給を受けることにより、動作可能に構成されており、バッテリーからの電源供給が停止された場合には、全ての機能が停止される。
〈フラッシュメモリ管理処理〉
次に、制御プロセッサ３０が実行するフラッシュメモリ管理処理について説明する。
【００５８】
ここで、図３は、フラッシュメモリ管理処理の処理手順を示したフローチャートである。
このフラッシュメモリ管理処理が起動されると、まず、Ｓ１１０にて、計時部２３から現在の時刻を取得し、予め規定された規定時間（本実施形態では、１５分とする）経過したか否かを判定する。そして、その判定の結果、規定時間が経過しているものと判定された場合、Ｓ１２０へと進む。つまり、本フラッシュメモリ管理処理が起動されてから、もしくは前回Ｓ１２０へと進んでから、規定時間が経過していれば、Ｓ１２０へと進む。
【００５９】
Ｓ１２０では、温度検出部２４を介して動作温度を取得して、Ｓ１３０へ進む。
そのＳ１３０では、Ｓ１２０で取得した動作温度に基づき、経過減算値を算出する。具体的に、本実施形態では、Ｓ１２０で取得した動作温度での温度係数を、ＲＯＭ２１に格納された第一温度係数マップから読出し、その読出した温度係数を規定時間に掛け合わせたものを経過減算値とする。したがって、Ｓ１２０で取得される動作温度が高いほど、Ｓ１３０で算出される経過減算値は大きなものとなる。
【００６０】
続くＳ１４０では、Ｓ１３０にて算出した経過減算値を、信頼性判定値から減算することにより、全ての記憶ブロック３６について信頼性判定値を更新して、Ｓ１５０へと進む。
【００６１】
つまり、Ｓ１２０からＳ１４０では、規定時間が経過する毎に、その取得された動作温度の下に、フラッシュメモリ３５が規定時間放置されたものとして経過減算値を算出すると共に、その算出した経過減算値を信頼性判定値から減算することで信頼性判定値を更新している。
【００６２】
一方、Ｓ１１０での判定の結果、規定時間を経過していない場合には、Ｓ１５０へと進む。つまり、フラッシュメモリ３５の全ての記憶ブロック３６について、信頼性判定値を更新することなくＳ１５０へと進む。
【００６３】
そして、Ｓ１５０では、本フラッシュメモリ管理処理とは異なる経路設定処理等の処理を制御プロセッサ３０が実行することや、ナビゲーション装置１の使用者が操作スイッチ群６を操作することで、書込み要求が出力されているか否かを判定する。具体的には、制御プロセッサ３０のＷＲ要求レジスタ３１ｂに書込要求フラグが立てられていれば、書込み要求が出力されているものと判断する。
【００６４】
そして、判定の結果、書込み要求が出力されたものと判断された場合、Ｓ１６０へと進み、動作温度が予め規定された規定温度未満であれば、フラッシュメモリ３５にデータを格納し、動作温度が規定温度以上であれば、ＲＡＭ２２にデータを格納する書込み処理を実行し、その後、Ｓ１７０へと進む。なお、Ｓ１５０での判定の結果、書込み要求が出力されていないものと判断された場合には、書込み処理を実行することなく、Ｓ１７０へと進む。
【００６５】
そのＳ１７０では、本フラッシュメモリ管理処理とは異なる経路案内処理等の処理を制御プロセッサ３０が実行することや、ナビゲーション装置１の使用者が操作スイッチ群６を操作することで、読出し要求が出力されているか否かを判定する。具体的には、制御プロセッサ３０のＲＥ要求レジスタ３１ｃに読出要求フラグが立てられていれば、読出し要求が出力されているものと判断する。
【００６６】
そして、判定の結果、読出し要求が出力されたものと判断された場合、Ｓ１８０へと進み、フラッシュメモリ３５からデータの読出しを行う読出し処理を実行し、その後、Ｓ１９０へと進む。なお、Ｓ１７０での判定の結果、読出し要求が出力されていないものと判断された場合には、読出し処理を実行することなく、Ｓ１９０へと進む。
【００６７】
そのＳ１９０では、ナビゲーション装置１の使用者が操作スイッチ群６を操作することで、ナビゲーション装置１を停止するための終了要求が入力されたか否かを判定する。そして、判定の結果、終了要求が入力されたものと判断された場合、Ｓ２５０にて、ナビゲーション装置１を停止するために必要な準備を行うための終了時処理を実行し、その後、本処理も終了する。一方、Ｓ１９０での判定の結果、終了要求が入力されていないものと判断された場合、Ｓ２００へと進む。
【００６８】
そして、Ｓ２００では、信頼性判定値が予め規定された規定閾値以下であるか否かを、各記憶ブロック３６ａ〜ｃ毎に判定し、判定の結果、信頼性判定値が規定閾値以下である記憶ブロック３６が一つでもあれば、Ｓ２１０へと進む。なお、本実施形態における規定閾値は、具体的に、０として設定されている。
【００６９】
さらに、Ｓ２１０では、Ｓ２００にて信頼性判定値が規定閾値以下であるものと判定された記憶ブロック３６についてのアドレス（以下、リフレッシアドレス）を算出する。
続くＳ２２０では、Ｓ２１０にて算出されたリフレッシュアドレスを指定して、フラッシュメモリ３５からデータを読み出す。
【００７０】
さらに、Ｓ２３０では、Ｓ２２０で読み出したデータを、フラッシュメモリ３５のリフレッシュアドレスによって指定される記憶ブロック３６に再書込みするための書込み処理を実行する。したがって、動作温度が規定温度以上である時には、データがＲＡＭ２２に書き込まれ、動作温度が規定温度未満である時にのみ、リフレッシュアドレスによって指定される記憶ブロック３６に、データが書き込まれる（即ち、記憶ブロック３６にデータが再書込みされる）。
【００７１】
そして、その後Ｓ１１０へと戻る。なお、Ｓ２１０からＳ２４０の処理は、信頼性判定値が規定閾値以下であるものと判定された全ての記憶ブロック３６について実行される。
なお、Ｓ２００での判定の結果、全ての記憶ブロック３６についての信頼性判定値が規定閾値よりも大きいものと判定された場合にも、Ｓ１１０へと戻る。
【００７２】
つまり、フラッシュメモリ管理処理では、規定時間が経過する毎に、その時の動作温度に応じた経過減算値を算出し、その経過減算値を信頼性判定値から減算することにより信頼性判定値を更新する。そして、順次更新された信頼性判定値が、規定閾値以下となった場合、これ以上の期間、記憶ブロック３６に記憶したデータを放置しておくと、そのデータの信頼性が低下する可能性が高くなるものとして、そのデータをフラッシュメモリ３５に再書込みしている。
〈読出し処理について〉
次に、フラッシュメモリ管理処理にて実行される読出し処理について説明する。
【００７３】
ここで、図４は、読出し処理の処理手順を示したフローチャートである。
この読出し処理は、フラッシュメモリ管理処理のＳ１８０にて起動されると、まず、Ｓ４１０では、読出し要求により、フラッシュメモリ３５から読み出されるべきデータが格納されている記憶ブロック３６のアドレス（以下、読出アドレスとする）を算出する。以下、読出し処理において、読出し要求により読み出されるデータを読出データと称す。
【００７４】
続く、Ｓ４１５では、読出データがＲＡＭ２２に格納されている（即ち、退避されている）かフラッシュメモリ３５に格納されているかを判定する。そして、判定の結果、読出データがフラッシュメモリ３５に格納されているものと判断された場合、Ｓ４２０へと進む。
【００７５】
なお、本実施形態では、具体的に、後述する書込み処理において、退避フラグがローレベルにセットされていれば、読出データがフラッシュメモリ３５に格納されているものとし、退避フラグがハイレベルにセットされていれば、読出データがＲＡＭ２２に格納されているものとする。
【００７６】
そして、Ｓ４２０では、Ｓ４１０にて算出された読出アドレスを指定して、記憶ブロック３６に格納されているデータ（即ち、読出データ）を読み出し、Ｓ４３０へと進む。
続くＳ４３０では、温度検出部２４を介して動作温度を取得して、Ｓ４４０へと進み、そのＳ４４０では、読出減算値を算出する。具体的に、本実施形態では、ＲＯＭ２１に格納された第一温度係数マップから、Ｓ４３０で取得した動作温度での温度係数を読出し、その読出した温度係数を、予め設定された設定時間に掛け合わせることにより読出減算値を算出する。
【００７７】
なお、設定時間とは、一回のデータの読み出しにより、浮遊ゲートに加わるエネルギーの大きさを、フラッシュメモリ３５が常温（例えば、２５℃）の下に放置されることで、浮遊ゲートに累積されるエネルギーと等しくなる時間として示したものである。本実施形態では、具体的に、信頼性担保値（１０年）を、読出し可能な回数である読出限界回数（１万回）にて除した値（８時間）としている。
【００７８】
したがって、読出減算値は、Ｓ４３０で取得した動作温度が高いほど、大きな値となる。
そして、Ｓ４５０では、Ｓ４４０にて算出した読出減算値を、Ｓ４２０にてデータを読み出した記憶ブロック３６についての信頼性判定値から減算することにより、その記憶ブロック３６についての信頼性判定値を更新して、Ｓ４６０へと進む。
【００７９】
続くＳ４６０では、Ｓ４５０にて更新された信頼性判定値が規定閾値以下であるか否かを判定し、判定の結果、信頼性判定値が規定閾値以下であれば、Ｓ４７０へと進む。
そのＳ４７０では、先のＳ４２０にて読み出したデータを、動作温度が予め規定された規定温度未満であれば、フラッシュメモリ３５に書込み、動作温度が規定温度以上であれば、ＲＡＭ２２に書込む書込み処理を実行する。
【００８０】
そして、Ｓ４７０にて実行された書込み処理が終了すると、本読出し処理を終了して、フラッシュメモリ管理処理のＳ１９０へと戻る。なお、Ｓ４６０での判定の結果、信頼性判定値が規定閾値よりも大きいものと判定された場合には、書込み処理を実行すること無く、フラッシュメモリ管理処理のＳ１９０へと戻る。
【００８１】
また、Ｓ４１５での判定の結果、読出データがＲＡＭ２２に格納されているものと判断された場合には、Ｓ４７５にて、ＲＡＭ２２から読出データを読み出した上で、フラッシュメモリ管理処理のＳ１９０へと戻る。
【００８２】
つまり、読出し処理では、フラッシュメモリ３５からデータの読出しが実行される毎に、その読出しによりデータの劣化が生じるものとして、そのデータが読出される記憶ブロック３６についての信頼性判定値から、読出減算値を減算することにより信頼性判定値を更新している。これと共に、更新された信頼性判定値が規定閾値以下であれば、フラッシュメモリ３５から読み出されたデータの再書込みを実行している。
〈書込み処理について〉
次に、フラッシュメモリ管理処理にて実行される書込み処理について説明する。
【００８３】
ここで、図５は、書込み処理の処理手順を示したフローチャートである。
この書込み処理は、フラッシュメモリ管理処理のＳ１６０、Ｓ２３０、読出し処理のＳ４７０にて起動されると、まず、Ｓ３１０では、温度検出部２４を介して動作温度を取得する。
【００８４】
続くＳ３２０では、Ｓ３１０で取得した動作温度が、予め規定された温度閾値以上であるか否かを判定し、判定の結果、動作温度が温度閾値以上であるものと判断された場合には、Ｓ３３０へと進む。なお、温度閾値とは、フラッシュメモリ３５の浮遊ゲートを形成するシリコン材料（ここでは、不純物も含む）が活性化する温度であり、本実施形態では、具体的に、６５℃とする。
【００８５】
そして、Ｓ３３０では、フラッシュメモリ３５に書き込むべきデータを、ＲＡＭ２２に格納する。以下では、このＳ３３０にてＲＡＭ２２に書き込まれるデータを退避データと称す。そして、Ｓ３４０では、退避データをＲＡＭ２２に格納したことを示す退避フラグをハイレベルとし、その後、フラッシュメモリ管理処理のＳ１７０、もしくはＳ２４０、読出し処理へと戻る。
【００８６】
一方、Ｓ３２０での判定の結果、Ｓ３１０で取得した動作温度が温度閾値未満であれば、Ｓ３５０へと進み、フラッシュメモリ３５の指定された記憶ブロック３６（即ち、アドレスを指定して）にデータを格納する。
【００８７】
そして、Ｓ３６０では、Ｓ３５０でデータを格納した記憶ブロック３６についての信頼性判定値を最大値へとリセット、即ち、信頼性担保値に更新する。
さらに、Ｓ３７０では、今回の書込み処理の実行以前に実行された書込み処理にて、退避データがＲＡＭ２２に格納されたか否かを判定する。そして、判定の結果、退避データがＲＡＭ２２に格納されているものと判定された場合には、Ｓ３８０へと進む。具体的に、本実施形態では、退避フラグがハイレベルであれば、退避データがＲＡＭ２２に格納されているものと判断する。
【００８８】
そのＳ３８０では、ＲＡＭ２２に格納されている全ての退避データを読み出して、その退避データを当初指定されていたフラッシュメモリ３５の記憶ブロック３６に書き込み、退避フラグをローレベルへと戻す。そして、その後、フラッシュメモリ管理処理のＳ１７０、もしくはＳ２４０、読出し処理へと戻る。
【００８９】
一方、Ｓ３７０での判定の結果、退避データがＲＡＭ２２に格納されていないものと判断された場合にも、フラッシュメモリ管理処理のＳ１７０、もしくはＳ２４０、読出し処理へと戻る。
【００９０】
つまり、書込み処理では、動作温度が温度閾値以上であれば、ＲＡＭ２２に退避データを格納し、動作温度が温度閾値未満であれば、フラッシュメモリ３５にデータを格納する。さらに、動作温度が温度閾値未満であり、かつ退避データがＲＡＭ２２に格納されていれば、その退避データをフラッシュメモリ３５に書き込む。
〈終了時処理について〉
次に、フラッシュメモリ管理処理にて実行される終了時処理について説明する。
【００９１】
図６は、終了時処理の処理手順を示したフローチャートである。
この終了時処理は、フラッシュメモリ管理処理のＳ２５０にて起動されると、まず、Ｓ５１０では、現在（即ち、終了時）の年月日、及び時刻（以下、終了時刻とする）を計時部２３から取得する。続くＳ５２０では、Ｓ５１０にて取得した終了時刻を、フラッシュメモリ３５に格納する。
【００９２】
そして、Ｓ５３０では、先の書込み処理にてＲＡＭ２２に書き込まれたデータや、信頼性判定値等のデータをフラッシュメモリ３５に書き込み、それらのデータがフラッシュメモリ３５に書き込まれた後、経路設定処理等の処理を終了する終了処理を実行する。なお、この終了処理にて、各種処理が終了された後に、フラッシュメモリ管理処理を終了し、その後、ナビゲーション装置１への電源供給を停止する。
〈起動処理について〉
次に、制御プロセッサ３０が実行する起動処理について説明する。
【００９３】
ここで、図７は、起動処理の処理手順を示したフローチャートである。
この起動処理は、ナビゲーション装置１に電源の供給が開始された時（例えば、イグニッションキーがＯＮとなった時）に起動され、起動されると、まず、Ｓ６１０にて、フラッシュメモリ３５に格納されている全ての記憶ブロック３６についての信頼性判定値をＲＡＭ２２に転送すると共に、現在（即ち、起動時）の年月日、及び時刻（以下、起動時刻とする）を計時部２３から取得する。
【００９４】
続く、Ｓ６２０では、フラッシュメモリ３５に格納されている終了時刻を取得し、その終了時刻と、Ｓ６１０にて取得した起動時刻とに従って、ナビゲーション装置１への電源供給が停止されていた時間（ここでは、終了時（何月何日の何時）から、起動時（何月何日の何時）までの放置されていた時間、以下、放置時間とする）を算出する。
【００９５】
そして、Ｓ６３０では、Ｓ６２０にて算出した放置時間と、第二温度係数マップから読み出される温度係数に基づいて、放置減算値を算出する。
本実施形態では、具体的に、放置時間に対応する温度係数と、その放置時間とを掛け合わせることにより、放置減算値を算出している。ただし、起動処理における温度係数は、図９（Ｂ）に示すように、ナビゲーション装置１への電源供給が停止されていた月と、時刻とによって一律に決定される。
【００９６】
このため、例えば、図１１に示すように、終了時刻が２００７年８月１日２０時００分であり、かつ起動時刻が２００７年８月２日１５時００分である場合、放置減算値は、第一放置減算値、第二放置減算値、第三放置減算値、第四放置減算値を足し合わせた（２２．４）となる。ただし、第一放置減算値は、６月から９月（以下、夏季とする）における０時から６時までの温度係数（１．０）に、０時から６時までの放置時間（６時間）を掛け合わせたものであり、第二放置減算値は、夏季における６時から１０時までの温度係数（１．４）に、６時から１０時までの放置時間（４時間）を掛け合わせたものである。さらに、第三放置減算値は、夏季における１０時から１８時までの温度係数（２．０）に、１０時から１５時までの放置時間（５時間）を掛け合わせたものであり、第四放置減算値は、夏季における１８時から２４時までの温度係数（１．４）に、２０時から２４時までの放置時間（４時間）を掛け合わせたものである。
【００９７】
ここで、起動処理へと説明を戻し、続くＳ６４０では、全ての記憶ブロック３６についての信頼性判定値から、Ｓ６３０にて算出された放置減算値を減算することにより信頼性判定値を更新する。
【００９８】
続く、Ｓ６５０では、Ｓ６４０にて、信頼性判定値が規定閾値以下であるか否かを、各記憶ブロック３６ａ〜ｃ毎に判定し、判定の結果、信頼性判定値が規定閾値以下である記憶ブロック３６が一つでもあれば、Ｓ６６０へと進む。
【００９９】
そのＳ６６０では、Ｓ６６０にて信頼性判定値が規定閾値以下であるものと判定された記憶ブロック３６からデータを読み出し、その読み出したデータをその記憶ブロック３６に再書込みして、Ｓ６７０へと進む。
【０１００】
なお、Ｓ６５０での判定の結果、信頼性判定値が規定閾値以下である記憶ブロック３６が一つも無い場合にも、Ｓ６７０へと進む。
そして、Ｓ６７０では、ナビゲーション装置１の各部を起動する周知のリセット処理を実行し、その後、フラッシュメモリ管理処理や、経路設定処理等を起動する。
〈情報処理装置の動作例について〉
次に、情報処理装置２０の動作例（即ち、フラッシュメモリ管理処理の実行例）について説明する。
【０１０１】
ここで、図１０は、情報処理装置２０の動作例を示した説明図である。
情報処理装置２０では、例えば、図１０に示すように、書込み処理が実行されることにより、フラッシュメモリ３５の第一記憶ブロック３６ａにデータが書き込まれると、その第一記憶ブロック３６ａについての信頼性判定値を最大値にリセット、即ち、信頼性担保値へと更新する。
【０１０２】
そして、規定時間が経過する毎に、動作温度を取得して、経過減算値を算出すると共に、その経過減算値を信頼性判定値から減算することにより、信頼性判定値を更新することを繰り返す。
【０１０３】
例えば、図１０に示す例では、第一記憶ブロック３６ａにデータを書き込んだ後、最初に規定時間（１５分、図中、０．２５時間、以下、カッコ内の数字は、動作例での例示とする）が経過した時に取得される動作温度が６５℃であるため、第一温度係数マップから６５℃での温度係数（４）を読み出して、経過減算値（１）を信頼性判定値から減算する（ただし、図中の信頼性判定値は、１６進数にて表示している）。
【０１０４】
さらに、次に規定時間が経過した時に取得される動作温度が８５℃であるため、第一温度係数マップから８５℃での温度係数（８）を読み出して、経過減算値（２）を信頼性判定値から減算する。
【０１０５】
一方、本実施形態の情報処理装置２０では、読出し要求が出力される毎に、動作温度を取得して、読出減算値を算出すると共に、その読出減算値を信頼性判定値から減算することにより、信頼性判定値を更新することを行っている。
【０１０６】
例えば、図１０に示す例では、読出し要求が出力された時（即ち、読出し処理が実行された時）に取得される動作温度が８５℃であるため、第一温度係数マップから８５℃での温度係数（８）を読み出して、その温度係数に設定時間（８時間）を掛け合わせることにより読出減算値（６４）を算出すると共に、その読出減算値を信頼性判定値から減算する。
【０１０７】
そして、これらのステップを繰り返すことにより、信頼性判定値を順次更新し、その更新された信頼性判定値が規定閾値（０）以下となった場合、第一記憶ブロック３６ａに書き込まれているデータを読み出し、その読み出したデータを第一記憶ブロック３６ａに再書込みする。
【０１０８】
つまり、情報処理装置２０では、動作温度が高いほど、データの劣化が促進されることから、大きな減算値（ここでは、経過減算値、読出減算値、放置減算値）を算出し、信頼性判定値を更新している。即ち、信頼性判定値は、動作温度が考慮されたものであるため、データの劣化速度が正確に反映されたものとなる。
【０１０９】
そして、記憶ブロック３６に記憶されているデータの信頼性が低下する前に、即ち、信頼性判定値が規定閾値以下となった場合、書込み処理を行い、データの再書込みを実行している。
［本実施形態の効果］
以上説明したように、本実施形態の情報処理装置２０によれば、動作温度を考慮することにより、データの劣化速度を正確に反映した信頼性判定値を算出することができる。この結果、フラッシュメモリ３５に記憶されたデータの信頼性が低下する前に、そのデータを読み出して再書込みすることができ、フラッシュメモリ３５に記憶されたデータの信頼性を維持することができる。
【０１１０】
特に、本実施形態の情報処理装置２０によれば、起動時にも信頼性判定期間を更新することにより、電源供給が停止されている期間でのデータの劣化を反映した、より正確な信頼性判定期間を求めることができる。
【０１１１】
さらに、本実施形態の情報処理装置２０では、データの読出しを実行する毎に、信頼性判定期間を更新することにより、読出しを繰り返すことによるデータの劣化（いわゆるリードディスターブ）を反映した、より正確な信頼性判定値を求めることができる。
【０１１２】
なお、本実施形態の情報処理装置２０によれば、規定時間毎に、信頼性判定値を更新しているため、記憶ブロック３６に記憶されているデータの信頼性が低下する前の適切なタイミングで、データの再書込みを実施することができる。
【０１１３】
さらに、本実施形態の情報処理装置２０では、データの書込みを実行する場合、動作温度が規定温度以上であれば、ＲＡＭ２２にデータを退避させ、動作温度が規定温度未満まで低下した後に、その退避させたデータをフラッシュメモリ３５に書き込んでいる（以下、この処理を退避処理とする）。
【０１１４】
このため、本実施形態の情報処理装置によれば、動作温度が高いことにより、データの劣化が進むことを抑制でき、データを書き込んだ当初から、データの信頼性が低下することを防止できる。
【０１１５】
特に、本実施形態の情報処理装置２０によれば、データの再書き込みを実行する時であっても、動作温度が高ければ退避メモリにデータを書き込むため、データの再書込み当初から、データの信頼性が低下することを防止できる。
【０１１６】
これらの結果、本実施形態の情報処理装置２０によれば、フラッシュメモリ３５に記憶されるデータの信頼性を、より確実に維持することができる。
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することができる。
【０１１７】
例えば、上記実施形態における温度検出部２４は、フラッシュメモリ３５表面の温度を動作温度として検出していたが、温度検出部２４にて検出される動作温度はこれに限るものではなく、フラッシュメモリ３５周辺の気温でも良い。また、ナビゲーション装置１内の温度でも良いし、外気温でも良い。つまり、フラッシュメモリ３５が、どのような温度下に置かれているのかを示したものであれば、どの位置での温度でも良い。
【０１１８】
また、上記実施形態におけるフラッシュメモリ管理処理では、規定時間が経過する毎に、全ての記憶ブロック３６について信頼性判定値の更新を行っていたが、予め規定された記憶ブロックについての信頼性判定値のみを更新するようにしても良い。つまり、予め規定された特定データ（例えば、規定率以上の頻度で使用されるデータ）が格納される記憶ブロック３６についてのみ、データの信頼性を管理するようにしても良い。
【０１１９】
この場合の情報処理装置によれば、予め用意する必要のある信頼性判定値が少なくなるため、フラッシュメモリ管理処理のために使用するＲＡＭ２２の作業領域を削減でき、その削減された作業領域を他の処理の作業領域に振り分けることができる。
【０１２０】
さらに、上記実施形態における信頼性判定期間は、経過時間に従って減算していたが、経過時間に従って加算されるものでも良い。ただし、この場合、動作温度が高いほど長い期間が順次加算され、更新された信頼性判定値が信頼性担保値以下である場合に、データの再書込みを行う。つまり、信頼性判定値は、データが劣化するまでの期間を示すものであれば、どのようなものでも良い。
【０１２１】
上記実施形態における制御プロセッサ３０は、情報処理装置２０に備えられたフラッシュメモリ３５を制御対象としていたが、制御プロセッサ２０の制御対象は、情報処理装置２０に組み込まれたフラッシュメモリに限らない。例えば、フラッシュＥＥＰＲＯＭを用いたメモリカード（例えば、ＳＤカードや、ＵＳＢフラッシュメモリ等）であっても良い。ただし、この場合、これらのメモリカードを装着する装着部が情報処理装置２０に備えられ、その装着部を介して制御プロセッサ３０がメモリカードを制御する必要がある。
【０１２２】
また、上記実施形態における読出し処理では、Ｓ４６０にて、信頼性判定値が規定閾値以下であるか否かの判定、Ｓ４７０にて、書込み処理を実行していたが、これらの処理は実行されなくとも良い。つまり、読出し処理のＳ４６０、及びＳ４７０は省略されていても良い。
【０１２３】
ところで、上記実施形態における書込み処理、読出し処理は、フラッシュメモリ管理処理に組み込まれていたが、フラッシュメモリ管理処理、書込み処理、読出し処理は、それぞれ独立した処理として、制御プロセッサ３０に並列で実行されるようにされていても良い。つまり、情報処理装置が、規定時間が経過するごとに信頼性判定値を更新する処理（上記実施形態のフラッシュメモリ管理処理に相当する処理）、読出し要求が取得された場合に信頼性判定値を更新する処理（上記実施形態の読出し処理に相当する処理）、書込み時の動作温度が高ければ、ＲＡＭ２２に書込み、動作温度が低ければ、フラッシュメモリ３５に書き込む処理（上記実施形態の書込み処理に相当する処理）を実行可能であれば、それらの処理がどのように構成されていても良い。
【０１２４】
なお、上記実施形態における制御プロセッサ２０は、フラッシュメモリ管理処理を実行することより、読出し処理、書込み処理も実行していたが、現在位置表示処理、経路設定処理、経路案内処理に加えて、書込み処理のみを実行可能に構成されていても良い。
【０１２５】
ただし、この場合の書込み処理には、動作温度を取得するステップ（即ち、Ｓ３１０）の前に、書込み要求が出力されたか否かを判定するステップ（即ち、フラッシュメモリ管理処理のＳ１５０）が組み込まれており、その判定が否定判定であれば、書込み要求が出力されるまで待機し、その判定が肯定判定であれば、動作温度を取得するステップに進むようにされている必要がある。
【０１２６】
このように構成された情報処理装置であっても、動作温度が規定温度よりも低い場合に、フラッシュメモリ３５にデータの書込みを実行するため、データの書込みをした当初からデータの信頼性が低下することを防止できる。このため、フラッシュメモリ３５に記憶されるデータの信頼性をより確実に維持することができる。
【０１２７】
さらに、上記実施形態では、制御プロセッサ２０のみが書き込み処理を行ったが、書込み処理は、ＤＭＡコントローラ２５が実行しても良い。
また、上記実施形態における温度係数マップは、第一温度係数マップと、第二温度係数マップとの二つのマップから構成されていたが、一つのマップから構成されていても良いし、温度検出部２４を介して取得される動作温度に従って、温度係数が算出されるような数式として表されていても良い。
【０１２８】
ところで、上記実施形態における情報処理装置２０には、ＲＯＭ２１が備えられていたが、ＲＯＭ２１は省略されていても良い。ただし、この場合、ＲＯＭ２１に格納されているデータは、フラッシュメモリ３５に格納されている必要がある。また、情報処理装置２０には、外部記憶装置として周知のハードディスク装置が備えられていても良い。この場合、地図データ等の容量の大きなデータや、フラッシュメモリ管理処理を実行するための処理プログラム等の各種処理プログラム、信頼性判定値（ここでは、信頼性担保値も含む）、温度係数マップ等がハードディスク装置に格納されていても良い。
【０１２９】
なお、上記実施形態では、情報処理装置２０は、ナビゲーション装置１に備えられていたが、これに限るものではない。
【図面の簡単な説明】
【０１３０】
【図１】ナビゲーション装置の概略構成を示したブロック図である。
【図２】情報処理装置の概略構成を示したブロック図である。
【図３】フラッシュメモリ管理処理の処理手順を示したフローチャートである。
【図４】書込み処理の処理手順を示したフローチャートである。
【図５】読出し処理の処理手順を示したフローチャートである。
【図６】終了時処理の処理手順を示したフローチャートである。
【図７】起動処理の処理手順を示したフローチャートである。
【図８】記憶ブロック毎に設定される信頼性判定値を示した説明図である。
【図９】動作温度と温度係数とを対応付けた温度係数マップを示した説明図である。
【図１０】情報処理装置の動作例を説明するための説明図である。
【図１１】起動処理の動作例を説明するための説明図である。
【符号の説明】
【０１３１】
１…ナビゲーション装置  ２０…情報処理装置  ２１…ＲＯＭ  ２２…ＲＡＭ  ２３…計時部  ２４…温度検出部  ２５…ＤＭＡコントローラ  ３０…制御プロセッサ  ３５…フラッシュメモリ  ３６…記憶ブロック
【図１】
2009026119.tif 000003
【図２】
2009026119.tif 000004
【図３】
2009026119.tif 000005
【図４】
2009026119.tif 000006
【図５】
2009026119.tif 000007
【図６】
2009026119.tif 000008
【図７】
2009026119.tif 000009
【図８】
2009026119.tif 000010
【図９】
2009026119.tif 000011
【図１１】
2009026119.tif 000012
【図１０】
2009026119.tif 000013