(57)【特許請求の範囲】
【請求項１】
読み書き可能な情報記憶手段を用いてナビゲーション処理を行うナビゲーション装置において、
前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、
前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出手段と、
前記主な記憶領域に論理エラーがあれば修復する修復手段と、を備え、
前記管理検出手段は、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行い、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行い、
前記修復手段は、前記主な記憶領域に論理エラーがあれば修復し、
前記主な記憶領域における論理エラーのチェックと修復とが終了した場合には、前記管理検出手段が、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行うことを特徴とするナビゲーション装置。
【請求項２】
前記修復手段による修復中であることを報知する報知手段を備えたことを特徴とする請求項１に記載のナビゲーション装置。
【請求項３】
読み書き可能な情報記憶手段を用いてナビゲーション処理を行うナビゲーション方法において、
前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、
コンピュータが、
前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出ステップと、
前記主な記憶領域に論理エラーがあれば修復する修復ステップと、を実行するものであり、
前記管理検出ステップは、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行うステップと、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行うステップと、
前記主な記憶領域における論理エラーのチェックと前記修復処理における修復とが終了した場合に、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行うステップと、を含むことを特徴とするナビゲーション方法。
【請求項４】
コンピュータが、前記修復ステップによる修復中であることを報知する報知ステップを実行することを特徴とする請求項３に記載のナビゲーション方法。
【請求項５】
読み書き可能な情報記憶手段を用いてナビゲーション処理をコンピュータに行わせるナビゲーションプログラムにおいて、
前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、
前記プログラムは、前記コンピュータに、
前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出機能と、
前記主な記憶領域に論理エラーがあれば修復する修復機能と、を実現させるものであり、
前記管理検出機能は、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行う機能と、
装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行う機能と、
前記主な記憶領域における論理エラーのチェックと前記修復処理における修復とが終了した場合に、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行う機能と、を含むことを特徴とするナビゲーションプログラム。
【請求項６】
コンピュータに、前記修復機能における修復中であることを報知する報知機能を実現させることを特徴とする請求項５に記載のナビゲーションプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、論理エラーのチェックや修復中も、少なくとも自車周辺の地図表示など一定のナビゲーション動作が可能なナビゲーション装置、方法及びプログラムに関するものである。
【０００２】
【従来の技術】
近年、自動車の普及とデジタル技術の進歩に伴い、ナビゲーションの技術が急速に普及している。ナビゲーションは、車載機等の装置が道路地図データを用いて、ＧＰＳなどで自車位置を逐次検出し周辺地図上に画面表示したり、指定された目的地への最適な誘導経路を探索しそれにそって進行方向等を画面表示や合成音声などで誘導案内するものである。
【０００３】
初期のナビゲーション装置では、道路地図データ等を保存しておく外部記憶装置において読み込み専用のＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどが用いられ、利用開始後に設定など何かデータを保存する場合としては、ＳＲＡＭのような不揮発性メモリに少量のデータを保存する程度であった。もっとも近年になると、道路地図データ容量の増加や、利用開始後に走行経路など容量の大きいデータを保存しておきたい需要、といった背景から、読み書き可能な記憶装置として、大容量のハードディスクドライブ（単に「ハードディスク」やＨＤＤとも表す）を利用するものが増えている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−３６５０６３
【０００５】
【発明が解決しようとする課題】
ところで、ハードディスクのような読み書き可能な大容量記憶手段では、ＦＡＴ（File Allocation Table）やディレクトリ等の管理情報を中心としたデータの論理フォーマットを正しく維持することが必須であり、このような論理フォーマットの代表的形式としてＦＡＴ１６、ＦＡＴ３２、ＮＴＦＳなどが知られている。
【０００６】
しかし、例えばデータ書込み中の不用意な電源断でデータが途中までしか保存できなかった場合など何らかの理由で、上記のようなデータの論理フォーマットに矛盾等のエラー（以下「論理エラー」と呼ぶ）が生じる可能性がある。このような論理エラーは、パーソナルコンピュータ（ＰＣ）ではアプリケーションプログラムからのファイルアクセスを妨げたり、場合によっては基本ソフトであるＯＳの正常な起動も妨げ、また、ナビゲーション装置ではナビゲーションプログラムからのデータ読み書きを妨げるなど、障害の原因となる。
【０００７】
そこで、ＰＣでは、例えばＯＳの終了処理が未完だったことを次回起動時に検出すると、論理エラーの有無をチェックし、必要なら修復を行うものもある。このようなチェックと修復により論理エラーが解消すれば、アプリケーションからファイルにアクセス可能となる。このようなチェックと修復に要する時間は、ＣＰＵの性能、ハードディスクの容量等によりまちまちであるが、ＰＣはもともと、自宅やオフィスなど落ち着いた環境で、いろいろな用途に使う複雑なシステムであり、このチェックや修復に多少の時間がかかってもユーザは待つことにあまり不快を感じない。また、ＰＣが多く利用される自宅やオフィスなどの環境では電源は安定しており、予期しない電源断のような論理エラー発生要因はそもそも少ない。
【０００８】
しかしながら、ナビゲーション装置ではこれらの事情が異なり、まず、車のエンジン始動後はすぐに走行するユーザが多いため、ナビゲーション装置には即応性が特に強く求められ、起動後は直ちに地図表示を行って自身が走行している道路がどこかを確認できる必要がある。そのため、ＰＣが備える上記のようなチェックや修復の機能をそのままナビゲーション装置に持ち込むと、論理エラーのチェックや修復中に地図等が画面に表示されないことになってユーザにとっては支障が大きく、とても不快に感じられる問題があった。
【０００９】
また、ナビゲーション装置が多く利用される自動車では、自宅やオフィスほどの電源安定性は望めず、ユーザのイグニッションキー操作で突然電源が切られたり、電装品の動作状態、車載バッテリ残量、環境的外乱による瞬断など不安定要因も多く、書込み可能な記憶装置を用いれば論理エラーの起きる契機はＰＣよりもはるかに大きい。
【００１０】
本発明は、上記のような従来技術の問題点を解決するもので、その目的は、論理エラーのチェックや修復中も、少なくとも自車周辺の地図表示など一定のナビゲーション動作が可能なナビゲーション装置、方法及びプログラムを提供することである。
【００１１】
【課題を解決するための手段】
上記の目的を達成するため、請求項１の発明は、読み書き可能な情報記憶手段を用いてナビゲーション処理を行うナビゲーション装置において、前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出手段と、前記主な記憶領域に論理エラーがあれば修復する修復手段と、を備え、前記管理検出手段は、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行い、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行い、前記主な記憶領域における論理エラーのチェックと、前記修復手段による修復とが終了した場合に、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行うことを特徴とする。
【００１２】
請求項３の発明は、請求項１の発明を方法という見方から捉えたもので、読み書き可能な情報記憶手段を用いてナビゲーション処理を行うナビゲーション方法において、前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、コンピュータが、前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出ステップと、前記主な記憶領域に論理エラーがあれば修復する修復ステップと、を実行するものであり、前記管理検出ステップは、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行うステップと、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行うステップと、前記主な記憶領域における論理エラーのチェックと前記修復処理における修復とが終了した場合に、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行うステップと、を含むことを特徴とする。
【００１３】
請求項５の発明は、請求項１，３の発明をコンピュータのプログラムという見方から捉えたもので、読み書き可能な情報記憶手段を用いてナビゲーション処理をコンピュータに行わせるナビゲーションプログラムにおいて、前記情報記憶手段は、前記ナビゲーション処理に必要なデータを格納する主な記憶領域と、走行中の自車位置付近の道路地図データのみを記憶する予備記憶領域とからなり、前記プログラムは、前記コンピュータに、前記情報記憶手段への書込み開始のときに、どの領域に書き込むかを表すフラグを所定の不揮発性メモリにセットし、書込み終了時にはそのフラグをリセットするとともに、装置の起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断する管理検出機能と、前記主な記憶領域に論理エラーがあれば修復する修復機能と、を実現させるものであり、前記管理検出機能は、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っていない場合には、前記主な記憶領域のデータを用いて通常のナビゲーション処理を行う機能と、装置の起動時に前記不揮発性メモリ内に書き込みフラグが立っており、このフラグが前記主な記憶領域に関するものである場合には、前記主な記憶領域に論理エラーの可能性があると判断し、前記主な記憶領域の論理エラーのチェックを行うとともに、前記予備記憶領域に記憶された自車位置付近の道路地図データを用いてナビゲーション処理を行う機能と、前記主な記憶領域における論理エラーのチェックと前記修復処理における修復とが終了した場合に、前記主な記憶領域のデータを用いて起動し通常のナビゲーション処理を行う機能と、を含むことを特徴とする。
【００１４】
以上の態様では、ハードディスクドライブ等の読み書き可能な大容量外部記憶手段を複数の領域に分け、予期せぬ電源断による書込み途中など、記録データの論理的フォーマットの異常すなわち論理エラーやその可能性が検出された場合、その領域へのエラーチェックや修復の間、他の領域のデータを用いてナビゲーション処理の少なくとも一部を実行できるので、使い勝手が向上する。
【００１８】
また、主な記憶領域とに論理エラーやその可能性が検出されても、そのエラーチェックや修復の間、予備記憶領域からバックアップ用の道路地図データ等を読み出すことで、自車位置と周辺地図表示などある程度のナビゲーション処理が可能となるので、ユーザは常に自車位置がわかり、使い勝手が向上する。
【００２２】
さらに、書込みフラグを用いた簡易な構成により論理エラーの可能性を確実容易に検出できる利点がある。
【００４１】
請求項２、請求項１に記載のナビゲーション装置において、前記修復手段による修復中であることを報知する報知手段を備えたことを特徴とする。
【００４２】
請求項４の発明は、請求項２の発明を方法という見方から捉えたもので、請求項３に記載のナビゲーション方法において、コンピュータが、前記修復ステップによる修復中であることを報知する報知ステップを実行することを特徴とする。
【００４３】
請求項６の発明は、請求項２，４の発明をコンピュータのプログラムという見方から捉えたもので、請求項５に記載のナビゲーションプログラムにおいて、コンピュータに、前記修復機能における修復中であることを報知する報知機能を実現させることを特徴とする。
【００４４】
これらの態様では、修復中であることをユーザに知らせることにより、バックアップ処理など一部の機能しか働かないことが予めわかり、ユーザの混乱が防止される。
【００４５】
【発明の実施の形態】
次に、本発明の実施の形態（以下「実施形態」と呼ぶ）について図面を参照して具体的に説明する。なお、本実施形態は、コンピュータをプログラムで制御することにより実現できるが、この場合のハードウェアやプログラムの実現態様は各種変更可能であるから、以下の説明では、本発明及び本実施形態の各機能を実現する仮想的回路ブロックを用いる。
【００４６】
〔１．ハードウェア構成〕
本実施形態は、本発明のナビゲーション装置（以下「本装置」と呼ぶ）を示し、方法及びプログラム、そのようなプログラムを記録した記録媒体としても把握可能であり、そのようなプログラムをインターネットや携帯電話網などの通信ネットワーク経由で各車両のナビゲーションシステムにダウンロードして実行させることも本発明の一態様である。
【００４７】
〔１−１．全体構成〕
まず、本装置は、読み書き可能な情報記憶手段であるハードディスクドライブ（ＨＤＤ）を用いてナビゲーション処理を行うナビゲーション装置であり、図１の機能ブロック図に示す下記の各要素を備えている。すなわち、絶対位置・方位検出部１は、本装置が搭載された自動車（自車と呼ぶ）の現在位置すなわち自車位置について、地表での絶対的な位置座標や方位を計算するために、例えば、ＧＰＳ衛星から送られてくるＧＰＳ電波をアンテナやレシーバなどで受信するための部分である。また、相対方位検出部２は、ジャイロなどを使って自車の相対的な方位を検出するための部分である。また、車速検出部３は、自動車より得られる車速パルスを処理することで自車の速度を計算する部分である。
【００４８】
また、メインＣＰＵ及びその周辺回路４は、本装置全体を制御する制御回路の役割を果たす部分である。また、メモリ群Ｍは、本装置の動作に必要な各種のメモリで、例えば、プログラム格納用のＲＯＭ５は本装置の起動時にメインＣＰＵによりアクセスされる。また、ワークエリアなどを提供するダイナミックＲＡＭ（ＤＲＡＭ）６にはメインプログラムがロードされる。また、ＳＲＡＭ（スタティックＲＡＭ）７は、各種の設定やフラグ等の情報を記憶する記憶手段であり、メイン電源がオフになっている間もバッテリーバックアップされ、オンになったときにメモリ内容を提供するが、フラッシュメモリやハードディスクドライブなど、他の記憶手段によっても置換可能である。また、表示用のＶＲＡＭ（ビデオＲＡＭ）８は表示部１０に表示すべき画像のビットマップデータを格納する。
【００４９】
また、表示部１０は、地図や操作メニューなど各種の情報を、図示しない液晶表示画面に表示する部分であり、音声合成との併用が望ましい。また、入力部１１は、ユーザがスイッチなどから命令などの情報を入力するための部分であり、タッチセンサ機能、リモコンユニット、赤外線送受信ユニットなどを備える。また、ユーザインタフェース部９は、Ｉ／Ｏ制御回路やデバイスドライバなどを使って、表示部１０及び入力部１１と、メインＣＰＵ及びその周辺回路４とを結ぶユーザインタフェースである。また、ＨＤＤ制御部１２は、ハードディスクドライブを読み書きする手段である。
【００５０】
また、ＦＭ多重受信及び処理部１３は、ＦＭ放送波を受信しこの放送波からＶＩＣＳサービスの交通情報など所望のデータを取り出す処理を行う部分であり、交通情報は渋滞情報を含む。また、光／ビーコン受信及び処理部１４は、路肩などに設置された光ビーコンや電波ビーコンから、各ビーコンの識別情報やＶＩＣＳサービスの交通情報などの情報を受信及び処理する部分である。
【００５１】
〔１−２．メインＣＰＵ及びその周辺回路の役割〕
さらに、メインＣＰＵ及びその周辺回路４は、上記のようなプログラムの作用によって、図１に示す下記の各部分としての役割を実現するように構成されている。すなわち、現在位置検出部４０は、自車位置を逐次計算するための手段であり、具体的には、ＧＰＳ航法測位と自律航法測位とを組み合わせることで車両位置を計算するように構成される。
【００５２】
ここで、ＧＰＳ航法測位は、人工衛星からの電波に基づいて絶対位置・方位検出部１で得られる情報を使って現在位置を計算するものである。また、自律航法測位は、地磁気及び自車の速度に基づいて相対方位検出部２及び車速検出部３から得られる情報を使って現在位置を計算するものである。
【００５３】
また、目的地指定部４１は、データベースからの施設検索や地図上でのカーソル指定などにより目的地の入力を受け付ける手段であり、経路設定部４２は、入力された目的地までの経路を、前記道路地図データに基いて計算し又は所定のサーバへ通信経由で計算を委託して、結果として得られた経路を設定する手段である。また、地図表示部４３は、算出された前記車両位置及び前記道路地図データに基づいて、周辺の地図上におけるその車両位置と、前記経路の少なくとも一部とを表示部１０に三次元表示又は他の態様で表示する手段であり、案内制御部４４は、経路のうち表示する部分や点滅強調などの要素を決めたり、合成音声の併用などにより誘導案内を制御する手段である。
【００５４】
また、管理検出部４５は、ＨＤＤ制御部１２内の記憶領域を複数の領域に区分管理するとともに、各領域の論理エラーについて少なくともその可能性を検出する手段である。また、管理検出部４５は、ＨＤＤへの書込み開始のときにはどの領域に書き込むかを表すフラグを所定の不揮発性メモリ例えばＳＲＡＭ７にセットし、書込み終了時にはそのフラグをリセットするとともに、起動時にそのフラグをチェックすることでどの領域に論理エラーの可能性があるかを判断するように構成される。
【００５５】
また、バックアップ制御部４６は、いずれかの領域について論理エラーの可能性が検出されたときに、地図表示部４３を制御することにより、他の領域のデータを用いてナビゲーション処理の少なくとも一部をバックアップ処理として実行する手段である。また、修復部４７は、前記バックアップ処理の実行中に、その論理エラーにかかる領域又はデータの少なくとも一方について修復を行うデータ修復手段である。
【００５６】
〔２．ハードディスク内の領域構成〕
次に、管理検出部４５によりＨＤＤが区分管理される状態を示す。すなわち、本実施形態では、ハードディスクを２つのパーティションに分け、第１のパーティション（０ドライブ）は主な記憶領域として、ナビゲーションのための道路地図データ、その他必要な画像データ等が格納される。これに対応し、目的地指定部４１、経路設定部４２、地図表示部４３及び案内制御部４４は、主な記憶領域である０ドライブ内の道路地図データを用いて、自車位置を含む周辺地図表示と、それ以外のナビゲーション処理を行う手段である。
【００５７】
一方、第２のパーティション（１ドライブ）は、予備記憶領域として、走行中の自車位置付近のみの道路地図データを書き込んでおくエリアとして使用する。すなわち、この予備記憶領域である１ドライブには、少なくとも前記周辺地図表示に要する道路地図データが、予め格納され又は主な記憶領域である０ドライブからコピーされる。このコピーは例えば周期的又はある程度移動ごとに行う。そして、バックアップ制御部４６は、主な記憶領域である０ドライブについて論理エラーの可能性が検出されたときに、予備記憶領域である１ドライブ内の道路地図データを用いて、周辺地図表示又はそれに準じた所定の処理をバックアップ処理として行う。
【００５８】
〔３．作用の概略〕
上記のように構成される本実施形態では、電源供給が断たれる瞬間にハードディスクにデータが書き込み中であったか否かは、次回起動時に次のように判断され、それに応じた処理が行われる。ここで、本実施形態に関する処理手順を図２のフローチャートに示す。
【００５９】
すなわち、管理検出部４５は、データ書き込み開始の際、どちらのドライブに書き込みを行うかを示すＨＤＤ書き込みフラグをＳＲＡＭ７などの不揮発性メモリの所定領域に保存しておき、書き込み終了後、そのフラグをクリアする。このため、次回の電源供給直後に、そのＳＲＡＭ内の書き込みフラグが立っているかチェックし（ステップ１）、フラグが立っていなければ、すなわちフラグがクリアされていればそのまま主な記憶領域である０ドライブを用いて起動し通常のナビゲーション処理を行う（ステップ２）。なお、０ドライブと１ドライブに並列にデータを書き込むことはできないので、両ドライブともに書き込み中という状態は存在しない。
【００６０】
フラグがクリアされていなかったドライブについては（ステップ１）、何らかの要因でデータの書き込みが完了しておらず論理エラーの可能性があるため、ナビゲーション装置起動の際に、管理検出部４５が必要な部分をハードディスクドライブから読み込んでチェックし、実際に論理エラーがあれば修復部４７による修復を行う。
【００６１】
すなわち、まず、立っているフラグが０ドライブに関するものである場合（ステップ３）、０ドライブについて書き込み中に電源供給が断たれた等の事情があったと判断され、一方、予備記憶領域である１ドライブ内には少なくとも電源供給が断たれたときの自車位置付近の道路地図データが保存されているので、管理検出部４５はナビゲーション装置を起動のうえ、バックアップ制御部４６に、その道路地図データを用いて暫定的に、自車位置周辺の地図表示に機能を限定したバックアップ処理を開始させ、あわせて修復中であることを文字や音声などでユーザに報知し（ステップ４）、機能が制限されていることがわかるようにする。
【００６２】
このように、本実施形態では、修復中であることをユーザに知らせることにより、バックアップ処理など一部の機能しか働かないことが予めわかり、ユーザの混乱が防止される。
【００６３】
そして、修復部４７による０ドライブの修復中は、バックアップ制御部４６は１ドライブ中の道路地図データを使用する（ステップ５）。０ドライブで正常にチェックと修復が終了すると（ステップ６）、０ドライブのデータを使用した通常処理に戻される（ステップ７）。
【００６４】
一方、立っているフラグが予備記憶領域である１ドライブに関するものの場合は（ステップ３）、主な記憶領域である０ドライブ内のデータを用いてナビゲーション装置を通常通り起動させると共に、１ドライブの方をチェック及び修復し（ステップ８）、１ドライブが正常に修復終了すれば通常のナビゲーション処理を開始する（ステップ９）。
【００６５】
〔４．ハードディスクにおける論理フォーマット〕
次に、上記のようなチェック及び修復の前提となるハードディスクの各領域について正常状態における論理フォーマットの概要を図３に示す。この図に示すように、ハードディスクドライブの記憶領域全体は、基本領域と拡張領域に分かれ、さらに拡張領域内は一又は二以上の論理領域に分かれ、拡張領域と、論理領域は入れ子の構造になりうるので、各領域のブートレコードは、基本領域のＭＢＲ（Master Boot Record）から、拡張領域のＥＰＢＲ（Extended Partition Boot Record）へと、順次追跡していく必要がある。基本領域を複数構成することも可能である。
【００６６】
〔４−１．ＭＢＲとＥＰＢＲ〕
上に述べたＭＢＲとＥＰＢＲでは、共に、４４６バイト目からパーティションテーブルが格納されている。なお、ＭＢＲの４４６バイトまでは、ＯＳをディスクから読み込むためのコードが記録されている。一方、ＥＰＢＲは、４４６バイトまでは、特に意味を持たず、通常は０ｘ００あるいは０ｘ２０で埋められる。ここで、パーティションテーブルの一例を示す。
【００６７】
【表１】
0004188735.tif 000002
Offset:0x1BE から、１６バイト分、パーティションテーブルがある。パーティションテーブルは最大４テーブルまで記録が可能で、通常は２つ使用する。
【００６８】
パーティションテーブルの１エントリは、アクティブフラグ（１バイト）、ＣＨＳによる開始セクタ（３バイト）、パーティションタイプ（１バイト）、ＣＨＳによる終了セクタ（３バイト）、ＬＢＡによる開始セクタ（４バイト）、パーティションサイズ（４バイト）となる。パーティションエントリがいくつかは、最大４つで、パーティションタイプ＝０になるまでで判断する。
【００６９】
パーティションタイプは、以下の通りであるが、ここでは、値以外は省略している。
【００７０】
【表２】
0004188735.tif 000003
【００７１】
〔４−２．ＦＡＴの基本構成〕
続いて、一つのパーティションにおけるＦＡＴの基本構成を図４に示す。このなかでＢＰＢは、ＢＩＯＳパラメータブロックすなわちブートセクタのことであり、ＢＰＢの実例として、例えばＦＡＴ３２の場合、以下のようになっている。
【００７２】
【表３】
0004188735.tif 000004
Offset:0x00, Size: 3  ジャンプ命令ＯＳをロードするためのジャンプ命令が書き込まれる。
Offset:0x03, Size: 8  OEM ラベル名
フォーマットを行ったＯＳやバージョン。Windows（登録商標）95 OSR2 以降は、「MSWIN4.1」、それ以前は「MSWIN4.0」。FAT16の場合は、「MSDOS5.0」などとなる。
Offset:0x0B, Size:2  論理セクタサイズ
論理ドライブの１セクタあたりのバイト数。通常は、0x0200（512バイト／セクタ）。
Offset:0x0D, Size:1  １クラスタあたりのセクタ数
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 のどれかが使用される。
Offset:0x0E, Size:2  予約セクタ数
セクタ０からＦＡＴ領域の直前までのセクタ数。すなわちメインＦＡＴの開始セクタ番号を表す。
Offset:0x10, Size:1  ＦＡＴの数
ディスクに存在するＦＡＴの組の数。通常は、予備ＦＡＴを一つ持ち、２。
Offset:0x11, Size:2  ルートディレクトリエントリの最大数
FAT12/16 用であり、FAT32では、常に 0x0000 となる。
Offset:0x13, Size:2  全セクタ数
FAT12/16 用であり、FAT32では、常に 0x0000 となる。
Offset:0x15, Size:1  メディアディスクリプタ
メディアの種類を示すフラグ。以下の数値が使用される。
【００７３】
【表４】
0004188735.tif 000005
Offset:0x16, Size:2  ＦＡＴのセクタ数
FAT12/16用であり、FAT32では、常に 0x0000 となる。
Offset:0x18, Size: 2  １トラックあたりのセクタ数
Offset:0x1A, Size: 2  ドライブのヘッド数
ドライブの物理的な情報を表すパラメータ。
Offset:0x1C, Size:4  不可視セクタ数
論理ドライブの先頭セクタ直前までの物理ドライブのセクタ数。
Offset:0x20, Size:4  全セクタ数
Offset:0x13 のセクタ数が０の場合、こちらのセクタ数が有効（FAT32用）。
Offset:0x24, Size:4  １つのＦＡＴあたりのセクタ数
FAT32用。
Offset:0x28, Size:2  メディアディスクリプションフラグ
FAT32用。通常は、0x0000 が書き込まれており、ミラーリングを行うと、bit7 が 1 になって bit3-0 にアクティブＦＡＴ番号が入る。
Offset:0x2A, Size:4  ルートディレクトリの開始クラスタ
FAT32用。特に意図しない限りは、0x00000002 が書き込まれ、FAT領域の直後になる。
Offset:0x30, Size:2  ファイルシステム情報のセクタ番号
FAT32用。FSINFOのセクタ番号を表す。
Offset:0x32, Size:2  ブートセクタのコピーのセクタ番号
FAT32用。論理ドライブの先頭セクタが壊れているときに使われるブートセクタのコピーの位置を表す。
Offset:0x34, Size:6  予約エリア
FAT32用。
Offset:0x40（FAT32）、0x24（FAT12/16）, Size:1  物理ドライブ番号
ハードディスクの場合 0x80 が通常書き込まれる。
Offset:0x41（FAT32）、0x25（FAT12/16）, Size:1  予約エリア
Offset:0x42（FAT32）、0x26（FAT12/16）, Size:1  ブートシグネチャ
0x29 の場合は、ボリュームシリアル番号を持つ。
Offset:0x43（FAT32）、0x27（FAT12/16）, Size:4  ボリュームシリアルID
フォーマット時にランダムに割り当てられるシリアルナンバー。
Offset:0x47（FAT32）、0x2B（FAT12/16）, Size:11 ボリュームラベル
Offset:0x52（FAT32）、0x36（FAT12/16）, Size:8  ファイルシステムタイプ
通常、「FAT32」／「FAT16」／「FAT12」のいずれかが書き込まれる。
Offset:0x1FE, Size:2  マジックナンバー
0x55AA が書き込まれる。
【００７４】
〔４−３．ＦＳＩＮＦＯ（ファイル記述子）〕
ＦＡＴ３２では、論理セクタ番号１にＦＳＩＮＦＯと呼ばれる領域を持っている。ＦＡＴ１２／１６では、空き容量を計算するためにはＦＡＴをすべて読み出して未使用クラスタ数を数えなければならなかったが、ＦＡＴ３２ではこのＦＳＩＮＦＯに空きクラスタ数を書き込むことで空き容量の計算速度が向上している。ＦＳＩＮＦＯの実際は、以下のようになっている。
【００７５】
【表５】
0004188735.tif 000006
Offset:0x1E4, Size:4  ファイルシステムシグネチャ
0x61417272（rrAa）に固定。
Offset:0x1E8, Size:4  空きクラスタ数
空きクラスタが計算されていないときは、0xFFFFFFFF が書き込まれる。
Offset:0x1EC, Size:4  最終書き込みクラスタ番号
Offset:0x1F0, Size:6  予約エリア
Offset:0x1FE, Size:2  マジックナンバー
0x55AA が書き込まれる。
【００７６】
〔４−４．ＦＡＴ領域（ＦＡＴ−１とＦＡＴ−２）〕
ＦＡＴ領域は、各ＦＡＴエントリが対応するクラスタ順に並んでいる領域である。各ＦＡＴエントリはクラスタに１対１に対応しており、ＦＡＴエントリを参照することで対応するクラスタがどのような状態か（使用中、空きなど）を知ることができる。ＦＡＴ領域の実際を次に示す。
【００７７】
【表６】
[00000000] F8 FF FF 0F FF FF FF 7F FF FF FF 0F FF FF FF 0F |
[00000010] 06 00 00 00 FF FF FF 0F FF FF FF 0F FF FF FF 0F |
[00000020] FF FF FF 0F 77 00 00 00 0B 00 00 00 FF FF FF 0F |
[00000030] 12 0F 00 00 FF FF FF 0F FF FF FF 0F FF FF FF 0F |
[00000040] FF FF FF 0F FF FF FF 0F 6E 06 00 00 FF FF FF 0F |
[00000050] FF FF FF 0F FF FF FF 0F FF FF FF 0F FF FF FF 0F |
【００７８】
ＦＡＴ３２のクラスタは、４Ｂｙｔｅｓ（３２ビット）で表されるので、ＦＡＴエントリも４Ｂｙｔｅｓずつ区切って読み出されることになる。上のＯｆｆｓｅｔ  ０ｘ１０，Ｓｉｚｅ４のエントリはクラスタ番号４のエントリで、クラスタ番号６が続いていることを示している。
【００７９】
また、ＦＡＴエントリの意味を次に示す。
【表７】
0004188735.tif 000007
【００８０】
〔４−５．ディレクトリエントリ〕
ディレクトリエントリは、そのディレクトリ内にあるファイルの情報を記録する場所である。ルートディレクトリの情報は、ＦＡＴ３２では、通常クラスタ番号２がルートディレクトリエントリとなりデータ領域に記録される。ＦＡＴ１２／１６では、ルートディレクトリエントリは、フォーマット時に領域が確保される。
【００８１】
サブディレクトリは、データ領域に確保される。ディレクトリエントリは、先頭から各ファイルごとに３２バイトずつ割り当てられる。ディレクトリエントリが多くなるとクラスタチェーンを作成し、別のクラスタに続きを作成する。ディレクトリエントリの実際を次に示す。なお、次の表８ではアドレス前半４桁の「００００」は省略とする。
【００８２】
【表８】
[00C0] 42 4F 4F 54 20 20 20 20 49 4E 49 26 18 69 23 92 | BOOT    INI
[00D0] 82 2B 90 9B 05 00 01 9A 82 2B C6 D6 C1 00 00 00 |
[00E0] 42 20 00 53 00 65 00 74 00 74 00 0F 00 4A 69 00 | B S e t t   Ji
[00F0] 6E 00 67 00 73 00 00 00 FF FF 00 00 FF FF FF FF | n g s
[0100] 01 44 00 6F 00 63 00 75 00 6D 00 0F 00 4A 65 00 |  D o c u m  Je
[0110] 6E 00 74 00 73 00 20 00 61 00 00 00 6E 00 64 00 | n t s   a  n d
[0120] 44 4F 43 55 4D 45 7E 31 20 20 20 10 00 3D 42 92 | DOCUME~1    =B
[0130] 82 2B 88 2B 00 00 43 92 82 2B E6 50 00 00 00 00 |
Offset:0x00, Size:8  ファイル名
Offset:0x08, Size:3  拡張子
MS-DOS 形式 8.3 ファイル名が記録される。それぞれ、８文字、３文字に満たない場合は残りがスペース（0x20）で埋められる。先頭バイトが 0xE5 のとき、そのファイルが削除済みであることを示す。
Offset:0x0B, Size:1  ファイル属性
このファイル属性は、以下の数値の和で表される。但し、0x0F の場合のみ、ロングファイルを表す。
【００８３】
【表９】
0004188735.tif 000008
Offset:0x0C, Size:1  予約エリア
大小文字フラグとして、Windows（登録商標）NT で使用される。
Offset:0x0D, Size:1  作成時刻（10ms単位）
Offset:0x0E, Size:2  作成時刻
Offset:0x10, Size:2  作成日付
Offset:0x12, Size:2  アクセス日付
Offset:0x14, Size:2  ファイルの先頭クラスタ番号の上位２バイト
FAT32用。
Offset:0x16, Size:2  更新時刻
Offset:0x18, Size:2  更新日付
Offset:0x1A, Size:2  ファイルの先頭クラスタ番号の下位２バイト
Offset:0x1C, Size:4  ファイルサイズ
【００８４】
〔５．論理エラーのチェック方法〕
以上の前提において、論理エラーのチェックを行うには、その領域の「ＦＡＴ−１」と「ＦＡＴ−２」の内容が互いに一致するか否かを比較したり、ＦＡＴのセクタ番号異常をチェックすることが考えられる。前者では、「ＦＡＴ−１」と「ＦＡＴ−２」が、本来、同じでなければならないものをチェックし、異なる場合、いずれかに他を合わせることで修復を行う。
【００８５】
このような本実施形態では、ＦＡＴの共通性という単純な基準で論理エラーの有無を確実容易にチェックできる利点がある。また、本実施形態では、複数のＦＡＴ間の不一致があっても、いずれかに統一するという単純な手法により確実容易に修復を行える利点がある。
【００８６】
またＦＡＴのセクタ番号異常に基く後者では、「ＦＡＴ−１」、「ＦＡＴ−２」が示すクラスタ番号が異常な取り得ない値、例えば最大クラスタ番号を越えているか否かをチェックし、そのような論理エラーに対しては、該当するクラスタ番号についてそこを未使用領域又は最終使用領域とする。
【００８７】
このように本実施形態では、ＦＡＴ中のセクタ番号又はクラスタ番号の異常の有無という単純な基準で論理エラーの有無を確実容易にチェックできる利点がある。また、本実施形態では、クラスタ番号が最大クラスタ番号を超えていても、そこを未使用領域又は最終使用領域とするという単純な手法により確実容易に修復を行える利点がある。
【００８８】
具体的なチェックや修復の手法としては、従来知られたいかなるものを選択してもよいが、例えばディレクトリ情報、ファイル情報と「ＦＡＴ−１」、「ＦＡＴ−２」の関連がおかしいかどうか等のチェックを用いることも可能である。このようにすれば、ディレクトリ又はファイルの情報と、ＦＡＴの関連が正常か異常かという単純な基準で、論理エラーの検出や修復を確実容易に行える利点がある。
【００８９】
〔６．効果〕
以上のように、本実施形態では、ハードディスクドライブ等の読み書き可能な大容量外部記憶手段を複数の領域に分け、予期せぬ電源断による書込み途中など、記録データの論理的フォーマットの異常すなわち論理エラーやその可能性が検出された場合、その領域へのエラーチェックや修復の間、他の領域のデータを用いてナビゲーション処理の少なくとも一部を実行できるので、使い勝手が向上する。
【００９０】
また、本実施形態では、主な記憶領域に論理エラーやその可能性が検出されても、そのエラーチェックや修復の間、予備記憶領域からバックアップ用の道路地図データ等を読み出すことで、自車位置と周辺地図表示などある程度のナビゲーション処理が可能となるので、ユーザは常に自車位置がわかり、使い勝手が向上する。
【００９１】
また、本実施形態では、書込みフラグを用いた簡易な構成により論理エラーの可能性を確実容易に検出できる利点がある。
【００９２】
また、本実施形態では、修復部４７の作用により、修理に出したりユーザに特別な知識や処置を要求することなく、領域やデータの自己修復により論理エラーを自動解消し正常な状態へ早期に復帰できる利点がある。
【００９３】
〔７．他の実施形態〕
なお、本発明は上記実施形態に限定されるものではなく、次に例示するような他の実施形態も含むものである。例えば、情報の記憶手段はハードディスクには限定されず、ＤＶＤ−ＲＡＭやＤＶＤ−ＲＷ、各種フラッシュメモリカードなどでもよいし、また、ドライブの論理フォーマット、論理エラーの態様、チェックや修復の内容などは、上記実施形態に示したものは一例に過ぎず、自由に他のものを選択可能である。また、上記実施形態では、ハードディスクドライブの領域を２つのパーティションに分け、常に自車位置付近の道路地図データを一方のパーティションに保存する例を説明したが、保存先はＳＲＡＭのような不揮発性メモリでもよい。
【００９４】
また、一方のパーティションについて、ある程度の領域を確保し、可能性の考えられる範囲、例えば日本全国について、ある一定レベルの道路地図データを予め最初から入れておいてもよい。このようにすれば、常に自車位置付近の道路地図データを一方のパーティションにバックアップするようなことが必要ないので、システム負荷が軽減される等の利点がある。また、周辺地図表示「又はそれに準じた所定の処理」は、要所での進行方向案内など自由に選択しうる。
【００９５】
【発明の効果】
以上のように、この発明によれば、少なくとも自車周辺の地図表示など一定のナビゲーション動作が可能なナビゲーション装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態の構成を示す機能ブロック図。
【図２】本発明の実施形態における処理手順を示すフローチャート。
【図３】本発明の実施形態におけるハードディスクドライブの論理フォーマットの概要を示す概念図。
【図４】本発明の実施形態におけるＦＡＴの基本構成を示す概念図。
【符号の説明】
１…絶対位置・方位検出部
２…相対方位検出部
３…車速検出部
４…メインＣＰＵ及びその周辺回路
Ｍ…メモリ群
５…ＲＯＭ
６…ＤＲＡＭ
７…ＳＲＡＭ
８…ＶＲＡＭ
９…ユーザインタフェース部
１０…表示部
１１…入力部
１２…ＨＤＤ制御部
１３…ＦＭ多重受信及び処理部
１４…光／ビーコン受信及び処理部
Ｍ…メモリ群
４０…現在位置検出部
４１…目的地指定部
４２…経路設定部
４３…地図表示部
４４…案内制御部
４５…管理検出部
４６…バックアップ制御部
４７…修復部
【図１】
0004188735.tif 000009
【図２】
0004188735.tif 000010
【図３】
0004188735.tif 000011
【図４】
0004188735.tif 000012