(57)【要約】【課題】コスト増を伴わず、かつ短時間でファイルエントリ情報やリンクリスト情報を復旧可能な、車載用の車載電子機器を提供する。【解決手段】  リンクリスト情報をその一部である書込み単位ごとに前記記憶デバイスにおける複数の書込み位置に書き込み、前記複数の書込み位置と、当該複数の書込み位置に対する前記書込み単位の書込み終了を示すデータとをバックアップ用のメモリに格納し、電源が遮断された後再投入されたときに、前記メモリに格納された複数の書込み位置のうち第１の書込み位置に対する前記第１の書込み単位の書込みが終了していない場合には、第２の書込み位置に書き込まれたデータを前記第１の書込み位置に書き込む。よって、大容量のバックアップ用メモリを必要とせず、またバックアップ用のリンクリスト情報のすべてを書き込むことなく復旧が可能となる。【選択図】    図５
2010272044.tif 000002
【特許請求の範囲】
【請求項１】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに、車載バッテリからの電源が投入・遮断される車載電子機器であって、
前記電源が遮断されたときでもデータを保持可能なメモリと、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記リンクリスト情報をその一部である第１の書込み単位ごとに前記記憶デバイスにおける複数のリンクリスト情報書込み位置に書き込む書込手段と、
前記複数のリンクリスト情報書込み位置と、当該複数のリンクリスト情報書込み位置に対する前記第１の書込み単位の書込み終了を示すデータとを前記メモリに格納するバックアップ手段と、
前記電源が遮断された後再投入されたときに、前記複数のリンクリスト情報書込み位置のうち第１のリンクリスト情報書込み位置に対する前記第１の書込み単位の書込みが終了していない場合には、第２のリンクリスト情報書込み位置に書き込まれたデータを前記第１のリンクリスト情報書込み位置に書き込む復旧手段とを有することを特徴とする車載電子機器。
【請求項２】
請求項１において、
前記書込手段は、更に前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおける複数のファイルエントリ情報書込み位置に書き込み、
前記バックアップ手段は、更に前記複数のファイルエントリ情報書込み位置のうち第１のファイルエントリ情報書込み位置を前記記憶デバイスに書き込み、
前記復旧手段は、前記電源が遮断された後再投入されたとき更に、前記第１のファイルエントリ情報書込み位置に対する前記第２の書込み単位の書込みが終了していない場合には、第２のファイルエントリ情報書込み位置に書き込まれたデータを前記第１のファイルエントリ情報書込み位置に書き込むことを特徴とする車載電子機器。
【請求項３】
請求項１において、
前記復旧手段は、前記電源が再投入されたときに、前記メモリに予め格納されるチェックコードが所定の状態でない場合には、前記記憶デバイスに格納された複数のリンクリスト情報のうち１つのリンクリスト情報を他のリンクリスト情報に書き込むことを特徴とする車載電子機器。
【請求項４】
請求項１において、
前記復旧手段は、前記電源が再投入されたときに、前記メモリにデータが格納されていない場合には、前記記憶デバイスに格納された複数のリンクリスト情報のうち１つのリンクリスト情報を他のリンクリスト情報に書き込むことを特徴とする車載電子機器。
【請求項５】
請求項１において、
前記ファイルの数または容量にかかわらず、前記メモリが所定容量であることを特徴とする車載電子機器。
【請求項６】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに、車載バッテリからの電源が投入・遮断される車載電子機器であって、
前記電源が遮断されたときでもデータを保持可能なメモリと、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおける複数のファイルエントリ情報書込み位置に書き込む書込手段と、
前記複数のファイルエントリ情報書込み位置のうち第１のファイルエントリ情報書込み位置を前記記憶デバイスに書き込むバックアップ手段と、
前記電源が遮断された後再投入されたときに、前記第１のファイルエントリ情報書込み位置に対する前記第２の書込み単位の書込みが終了していない場合には、第２のファイルエントリ情報書込み位置に書き込まれたデータを前記第１のファイルエントリ情報書込み位置に書き込む復旧手段とを有することを特徴とする車載電子機器。
【請求項７】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに、車載バッテリからの電源が投入・遮断される車載電子機器であって、
前記電源が遮断されたときでもデータを保持可能なメモリと、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおけるファイルエントリ情報書込み位置に書き込む書込手段と、
前記第２の書込み単位と、前記ファイルエントリ情報書込み位置とを前記メモリに格納するバックアップ手段と、
前記電源が遮断された後再投入されたときに、前記ファイルエントリ情報書込み位置に対する前記メモリに格納された第２の書込み単位の書込みが終了していない場合には、当該第２の書込み単位を当該ファイルエントリ情報書込み位置に書き込む復旧手段とを有することを特徴とする車載電子機器。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記車載バッテリからの電源が更に他の車載機器に投入・遮断されることを特徴とする車載電子機器。
【請求項９】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに車載バッテリからの電源が投入・遮断され、更に前記電源が遮断されたときでもデータを保持可能なメモリを有する車載電子機器の制御プログラムであって、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記リンクリスト情報をその一部である第１の書込み単位ごとに前記記憶デバイスにおける複数のリンクリスト情報書込み位置に書き込む第１の書込工程と、
前記複数のリンクリスト情報書込み位置と、前記複数のリンクリスト情報書込み位置に対する書込み終了を示すデータとを前記メモリに格納する第１のバックアップ工程と、
前記電源が遮断された後再投入されたときに、前記複数のリンクリスト情報書込み位置のうち第１のリンクリスト情報書込み位置に対する前記第１の書込み単位の書込みが終了していない場合には、第２のリンクリスト情報書込み位置に書き込まれたデータを前記第１のリンクリスト情報書込み位置に書き込む第１の復旧工程とを前記車載電子機器に実行させることを特徴とする制御プログラム。
【請求項１０】
請求項９において、
前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおける複数のファイルエントリ情報書込み位置に書き込む第２の書込工程と、
前記複数のファイルエントリ情報書込み位置のうち第１のファイルエントリ情報書込み位置を前記記憶デバイスに書き込む第２のバックアップ行程と、
前記電源が遮断された後再投入されたときに、前記第１のファイルエントリ情報書込み位置に対する前記第２の書込み単位の書込みが終了していない場合には、第２のファイルエントリ情報書込み位置に書き込まれたデータを前記第１のファイルエントリ情報書込み位置に書き込む第２の復旧工程とを更に前記車載電子機器に実行させることを特徴とする制御プログラム。
【請求項１１】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに車載バッテリからの電源が投入・遮断され、更に前記電源が遮断されたときでもデータを保持可能なメモリを有する車載電子機器の制御プログラムであって、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおける複数のファイルエントリ情報書込み位置に書き込む書込工程と、
前記複数のファイルエントリ情報書込み位置のうち第１のファイルエントリ情報書込み位置を前記記憶デバイスに書き込むバックアップ工程と、
前記電源が遮断された後再投入されたときに、前記第１のファイルエントリ情報書込み位置に対する前記第２の書込み単位の書込みが終了していない場合には、第２のファイルエントリ情報書込み位置に書き込まれたデータを前記第１のファイルエントリ情報書込み位置に書き込む復旧工程とを前記車載電子機器に実行させることを特徴とする制御プログラム。
【請求項１２】
単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに車載バッテリからの電源が投入・遮断され、更に前記電源が遮断されたときでもデータを保持可能なメモリを有する車載電子機器の制御プログラムであって、
前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおけるファイルエントリ情報書込み位置に書き込む書込工程と、
前記第２の書込み単位と前記ファイルエントリ情報書込み位置とを前記メモリに格納するバックアップ工程と、
前記電源が遮断された後再投入されたときに、前記ファイルエントリ情報書込み位置に対する前記メモリに格納された第２の書込み単位の書込みが終了していない場合には、当該第２の書込み単位を当該ファイルエントリ情報書込み位置に書き込む復旧工程とを前記車載電子機器に実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに、外部スイッチにより電源が投入・遮断される車載電子機器に関し、特に、前記記憶デバイスにデータ書込み中に電源が遮断されたときに、データを復旧する技術に関する。
【背景技術】
【０００２】
近年の車載電子機器は、カーナビゲーションだけでなく、オーディオ、ビジュアルといった機能を備えることが求められる。そして、車載電子機器は、地図データ、楽曲データ、映像データといった種々のコンテンツデータを格納するための記憶デバイスを必要とする。これらのコンテンツデータは、大容量であるとともに適宜更新することが求められる。よって、大容量かつ書き換え可能な記憶デバイスとして、ハードディスク装置が用いられる。特許文献１には、コンテンツデータを格納するハードディスク装置について記載されている。
【０００３】
ハードディスク装置は一般的に、単一のファイルを複数の領域（セクタ）に振り分けて格納する。またハードディスク装置は、ディスクをデータ領域と管理領域とに分け、データ領域にファイルのデータを格納する。そして、管理領域にファイルのいわば目次に相当する、ファイルエントリ情報とリンクリスト情報とを格納する。ファイルエントリ情報は、ファイルごとの開始位置（セクタ番号）を有する。また、リンクリスト情報は、ファイルが格納されたセクタのリンク順序を有する。
【０００４】
車載電子機器では、ファイルシステムがハードディスク装置に対するファイルの読み書きを制御する。データを読み出すときには、ファイルシステムはまず管理領域のファイルエントリ情報とリンクリスト情報を読み出す。そして、ファイルの開始セクタ番号とセクタのリンク順序とを取得する。そして、データ領域内のセクタをリンク順序に従って開始セクタから順次参照してデータを読み出し、所望のファイルを読み出す。またファイルを書き込むときには、ファイルシステムはハードディスク装置から書込み可能なセクタ番号を取得する。そして、開始セクタ番号を有するファイルエントリ情報とセクタのリンク順序を有するリンクリスト情報とを管理領域に書き込むとともに、データ領域のセクタにファイルのデータを書き込む。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３７７９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ハードディスク装置は、ファイル書込みの際、セクタごとにデータの書込みが完了したか否かを管理する。データの書込みが完了したセクタでは、以後、随時データの読み出しが可能となる。しかし、データの書込みが完了しないセクタでは、以後、データの読出しができなくなる。かかるセクタを、以下では不良セクタという。
【０００７】
不良セクタが発生する原因の一つとして、ハードディスク装置にデータを書き込んでいるときの電源の瞬断があげられる。ここで、車載電子機器は一般的に、アクセサリスイッチにより車載バッテリと接続され、電源が投入・遮断される。そして、アクセサリスイッチは、電装品など他の車載機器に対しても電源を投入・遮断するように構成される。よって、ユーザは、アクセサリスイッチを開閉することにより、車載電子機器その他の機器に対する電源の投入・遮断を一括して行う傾向にある。このため、たとえばパーソナルコンピュータなどの汎用コンピュータと比べたときに、車載電子機器の正常な終了手順を経ずに電源が遮断される場合が多くなる。すると、ハードディスク装置において不良セクタが生じ、その後のファイルの読出しに支障をきたす確率が高くなる。
【０００８】
特に、管理領域に不良セクタが生じると、次のような問題が生じる。たとえばリンクリスト情報に不良セクタが生じると、不良セクタが生じた箇所以降のリンク順序を読み出せなくなり、セクタのリンクをたどれなくなる。すると、ファイルそのものを読み出せなくなる。あるいは、ファイルエントリ情報に不良セクタが生じると、不良セクタが生じた箇所におけるディレクトリとその下位のディレクトリに含まれるファイルの開始位置が読み出せなくなる。このように、書込み途中だったファイルだけでなく、書込みが完了したファイルや、すでに格納されていたファイルまで読み出せなくなる場合がある。
【０００９】
この点、汎用コンピュータであれば、ファイルエントリ情報やリンクリスト情報に書き込むデータの履歴を不揮発メモリまたはハードディスクに格納したり、ハードディスク内にこれらの情報のバックアップデータを作成したりして、復旧に備える方法が提案されている。しかし、前者の方法は大容量のメモリまたはハードディスクを必要とするので、小型化と低コスト化の要望が強い車載電子機器には好ましくない。また、後者の方法では、バックアップしたデータを不良セクタが生じたファイルエントリ情報やリンクリスト情報に移植する復旧処理に、ある程度の時間がかかる。車載電子機器では汎用コンピュータより高頻度で復旧処理が発生しうることを考慮すると、長時間の復旧処理はユーザの利便性を損ねるおそれがあり、好ましくない。
【００１０】
そこで、上記に鑑みてなされた本発明の目的は、コスト増を伴わず、かつ短時間でファイルエントリ情報やリンクリスト情報を復旧可能な、車載電子機器を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明の第１の側面における車載電子機器は、単一のファイルを複数の領域に振り分けて格納する記憶デバイスを有するとともに、車載バッテリからの電源が投入・遮断される車載電子機器であって、前記電源が遮断されたときでもデータを保持可能なメモリを有する。そして、書込手段が、前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記リンクリスト情報をその一部である第１の書込み単位ごとに前記記憶デバイスにおける複数のリンクリスト情報書込み位置に書き込む。また、バックアップ手段が、前記複数のリンクリスト情報書込み位置と、当該複数のリンクリスト情報書込み位置に対する前記第１の書込み単位の書込み終了を示すデータとを前記メモリに格納する。さらに、復旧手段が、前記電源が遮断された後再投入されたときに、前記複数のリンクリスト情報書込み位置のうち第１のリンクリスト情報書込み位置に対する前記第１の書込み単位の書込みが終了していない場合には、第２のリンクリスト情報書込み位置に書き込まれたデータを前記第１のリンクリスト情報書込み位置に書き込むことを特徴とする。
【００１２】
また、本発明の第２の側面における車載電子機器は、書込手段が、前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおける複数のファイルエントリ情報書込み位置に書き込む。また、バックアップ手段が、前記複数のファイルエントリ情報書込み位置のうち第１のファイルエントリ情報書込み位置を前記記憶デバイスに書き込む。そして、復旧手段が、前記電源が遮断された後再投入されたときに、前記第１のファイルエントリ情報書込み位置に対する前記第２の書込み単位の書込みが終了していない場合には、第２のファイルエントリ情報書込み位置に書き込まれたデータを前記第１のファイルエントリ情報書込み位置に書き込むことを特徴とする。
【００１３】
さらに、本発明の第３の側面における車載電子機器は、書込手段が、前記記憶デバイスに前記ファイルを格納するときの当該ファイルの開始位置を有するファイルエントリ情報と、前記開始位置からの前記領域のリンク順序を有するリンクリスト情報とを前記記憶デバイスに書き込むときに、前記ファイルエントリ情報をその一部である第２の書込み単位ごとに前記記憶デバイスにおけるファイルエントリ情報書込み位置に書き込む。また、バックアップ手段が、前記第２の書込み単位と前記ファイルエントリ情報書込み位置とを前記メモリに格納する。そして、復旧手段が、前記電源が遮断された後再投入されたときに、前記ファイルエントリ情報書込み位置に対する前記メモリに格納された第２の書込み単位の書込みが終了していない場合には、当該第２の書込み単位を当該ファイルエントリ情報書込み位置に書き込むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、コスト増を伴わず、かつ短時間でリンクリスト情報やファイルエントリ情報を復旧可能な車載電子機器が提供される。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における車載電子機器の使用状況を説明する図である。
【図２】車載電子機器１０の構成を説明するブロック図である。
【図３】ハードディスク装置１９に対するデータの読み書きについて説明する図である。
【図４】リンクリスト情報の復旧における、書込手段、バックアップ手段としてのファイルシステム１２８ａの動作について説明する図である。
【図５】ファイルシステム１２８ａの復旧手段としての動作について説明する図である。
【図６】リンクリスト情報ＬＬの復旧方法における変形例について説明する図である。
【図７】ファイルエントリ情報の復旧における、ファイルシステム１２８ａの、書込手段、バックアップ手段としての動作について説明する。
【図８】ファイルシステム１２８ａの復旧手段としての動作について説明する図である。
【図９】バックアップメモリ１８にバックアップデータを作成する方法について説明する図である。
【図１０】バックアップメモリ１８に格納されるデータについて説明する図である。
【図１１】ハードディスク装置１９にデータを書き込むときの車載電子機器１０の動作手順を説明するフローチャート図である。
【図１２】復旧方法を実行するときの、車載電子機器１０の動作手順を説明するフローチャート図である。
【図１３】リンクリスト情報復旧処理の手順を説明するフローチャート図である。
【図１４】ファイルエントリ情報復旧処理の手順を説明するフローチャート図である。
【図１５】ファイルエントリ情報復旧処理の別の手順を説明するフローチャート図である。
【発明を実施するための形態】
【００１６】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１７】
図１は、本実施形態における車載電子機器の使用状況を説明する図である。車載電子機器１０は、カーナビゲーション、オーディオ、及びビジュアル機能が一体化された車載電子機器である。車載電子機器１０は、地図データ、楽曲データ、映像データといったコンテンツデータを格納するためのハードディスク装置１９を有する。また、車載電子機器１０は、ハードディスク装置１９に対するコンテンツデータの読み書きを制御する読み書き制御部１２８を有する。車載電子機器１０は、読み書き制御部１２８によりハードディスク装置１９に格納した地図データを読み出し、経路探索を行う。また、車載電子機器１０は、読み書き制御部１２８によりハードディスク装置１９に格納した楽曲データや映像データを読み出し、楽曲や映像を再生出力する。
【００１８】
車載電子機器１０は、公衆通信網５０と接続可能に構成される。公衆通信網５０は、たとえばインターネットやＶＩＣＳ（Vehicle Information and Communication System）通信網である。車載電子機器１０は、公衆通信網５０を介してコンテンツデータ提供者のサーバ（図示は省略）に接続し、コンテンツデータをダウンロードする。そして、ダウンロードしたコンテンツデータをハードディスク装置１９に格納する。かかるコンテンツデータには、上記のような楽曲データや映像データのほかに、音楽ＣＤのＴＯＣ（Table of Contents）やＣＤＤＢ（CD Data Base）などが含まれる。また、車載電子機器１０は、公衆通信網５０以外に、無線放送により伝送されるコンテンツデータを受信してもよい。
【００１９】
また、車載電子機器１０は、外部の記憶媒体７と接続可能に構成される。記憶媒体７は、たとえばＵＳＢメモリやＳＤカードである。車載電子機器１０は、外部の記憶媒体７からコンテンツデータを読み出し、ハードディスク装置１９に格納する。ユーザは、汎用コンピュータその他の情報処理装置を用いてこれら記憶媒体７にコンテンツデータを格納することにより、記憶媒体７を介して車載電子機器１０にコンテンツデータを移植することができる。
【００２０】
このように、車載電子機器１０は、ユーザの希望により随時、公衆通信網５０や記憶媒体７により新規のコンテンツデータを取得できる。よって、ハードディスク装置１９に格納されるコンテンツデータは、適宜、更新される。
【００２１】
また、車載電子機器１０は、車載バッテリ２０と車載電子機器１０外部のアクセサリ（ＡＣＣ）スイッチ２２により接続され電源が投入・遮断される。車載電子機器１０は、ＡＣＣスイッチ２２がオンのときに電源が投入されて動作する。一方、ＡＣＣスイッチ２２がオフのときには電源が遮断され、動作を中断する。またＡＣＣスイッチ２２は、同じ車両に搭載された電装品などの機器に車載バッテリ２０からの電源を投入・遮断する。よって、ユーザがＡＣＣスイッチ２２を開閉することにより、車載電子機器１０を含む機器への電源を一括して投入・遮断する場合がある。
【００２２】
ここで、ハードディスク装置１９がデータの書込みを行っているときに電源が遮断されると、ハードディスクに不良セクタが生じる。すると読み書き制御部１２８が不良セクタに対する読み書きをしようとしたときに、ハードディスク装置１９は読み書き制御部１２８にエラーを通知する。よって、データの読み書きに支障を来すようになる。本実施形態では、後述する方法により、不良セクタが生じた場合であっても以後のデータ読出しを可能にする。
【００２３】
図２は、車載電子機器１０の構成を説明するブロック図である。車載電子機器１０では、ＣＰＵ（Central Processing Unit）１２が、種々の制御プログラムや処理プログラムを実行して、システム制御部１２２、ナビゲーション制御部１２４、メイン制御部１２６、読み書き制御部１２８、及びデコード部１４０を構成する。ＲＯＭ（Read Only Memory）１４は、ＣＰＵ１２が実行する制御プログラムや処理プログラムを格納する。ＲＡＭ（Random Access Memory）１６は、ＣＰＵ１２が動作するときに各種演算のためのデータを一時的に格納し、作業領域として用いられる。
【００２４】
システム制御部１２２は、車載電子機器１０全体の動作を統括的に制御する。また、車載電子機器１０への電源投入を検知して、ナビゲーション制御部１２４、メイン制御部１２６、読み書き制御部１２８、及びデコード部１４０を起動する。
【００２５】
ナビゲーション制御部１２４は、地図データに基づきカーナビゲーションのための経路探索処理を行う。地図データは、ハードディスク装置１９に格納される。また、表示部３や操作入力部４と、他の各部とのインターフェイスを提供する。すなわち、表示部３に表示させる画像データを生成したり、操作入力部４からの入力を他の各部に受け渡したりする。
【００２６】
メイン制御部１２６は、カーオーディオやビジュアル機能を実現するための制御を行う。メイン制御部１２６は、ユーザによる楽曲再生指示や映像再生指示を操作入力部４から受ける。そして、読み書き制御部１２８を介して楽曲データや映像データなどのコンテンツデータを取得する。コンテンツデータは、接続ポート６に接続される記憶媒体７やハードディスク装置１９に格納される。あるいは、メイン制御部１２６は、オーディオデッキ２１からコンテンツデータを取得する。オーディオデッキ２１は、ＣＤやＤＶＤといった記憶媒体からコンテンツデータを読み出す。そして、メイン制御部１２６は、コンテンツデータをデコード部１４０に渡す。
【００２７】
デコード部１４０は、楽曲データをデコードして音声信号を生成し、車載されたスピーカ８に出力する。あるいは、映像データをデコードして映像信号を生成し、ナビゲーション制御部１２４を介して表示部３に出力する。
【００２８】
またメイン制御部１２６は、ユーザによるコンテンツデータのダウンロード指示を操作入力部４から受ける。そして、通信部１９を介して公衆通信網５０に接続し、公衆通信網５０経由でコンテンツデータ提供者のサーバに接続する。通信部１９は、無線通信により公衆通信網５０と接続可能に構成される。そしてメイン制御部１２６は、そのサーバからコンテンツデータをダウンロードする。そして、ダウンロードしたコンテンツデータを、読み書き制御部１２８を介してハードディクス装置１９に格納する。あるいは、通信部１９は、無線放送により伝送されるコンテンツデータを受信してもよい。
【００２９】
また、メイン制御部１２６は、ユーザによるコンテンツデータの転送指示を操作入力部４から受ける。そして、読み書き制御部１２８を介して記憶媒体７からコンテンツデータを取得する。そして、取得したコンテンツデータを読み書き制御部１２８を介してハードディクス装置１９に格納する。
【００３０】
読み書き制御部１２８は、接続ポート６に接続される記憶媒体７やハードディスク装置１９に対し、コンテンツデータの読出しや書込みを行う。読み書き制御部１２８は、デバイスドライバ１２８ｂとファイルシステム１２８ａを有する。デバイスドライバ１２８ｂは、記憶媒体７とハードディスク装置１９に対し、コンテンツデータを読み書きする位置とコンテンツデータの受渡しを行う。ファイルシステム１２８ａは、デバイスドライバ１２８ｂに対し、コンテンツデータをファイルとして読み書きする位置の指示と、コンテンツデータの受渡しを行う。その動作については、後に詳述する。
【００３１】
ハードディスク装置１９は、磁性体が塗布されたハードディスク１９ａと、これにデータを書き込む磁気ヘッド、及びこれらのドライブ機構とその制御回路を有する。ハードディスクは、管理領域とデータ領域とを有する。ハードディスク装置１９は、管理領域とデータ領域においてセクタ単位でデータを格納する。このとき、単一のファイルを複数のセクタに振り分けて格納する。ハードディスク装置１９は、ＡＣＣスイッチ２２がオンのときに電源が投入されて動作する。そして、ＡＣＣスイッチ２２がオフのときには電源が遮断され、動作を中断する。
【００３２】
車載電子機器１０は、ＲＯＭ１４やＲＡＭ１６のほかに、バックアップメモリ１８を有する。バックアップメモリ１８は、ＡＣＣスイッチ２２により車載バッテリ２０からの電源が遮断されたときでも、格納したデータを保持できるように構成される。たとえば、バックアップ電源を有するＤＲＡＭ（Dynamic RAM）やＳＤＲＡＭ（Synchronous DRAM）で構成される。あるいは、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）などの書換え可能な不揮発性メモリで構成してもよい。本実施形態では、バックアップメモリ１８はハードディスク装置１９に格納されるファイルの復旧に必要なデータを保持する。その詳細については後に詳述する。
【００３３】
図３は、ハードディスク装置１９に対するデータの読み書きについて説明する図である。ハードディスク装置１９のハードディスク１９ａは、管理領域ＭＡとデータ領域ＤＡを有する。ハードディスク装置１９は、管理領域ＭＡにファイルエントリ情報ＦＥとリンクリスト情報ＬＬを格納し、データ領域ＤＡにデータのファイルを格納する。またハードディスク装置１９は、管理領域ＭＡとデータ領域ＤＡでは、セクタ単位でデータを格納する。
【００３４】
ファイルエントリ情報ＦＥは、ファイル名「Ｆｉｌｅ＿００１」、「Ｆｉｌｅ＿００２」、「Ｆｉｌｅ＿００３」・・・と、ファイルの開始位置である開始セクタ番号を有する。ファイルエントリ情報ＦＥはさらに、図示を省略するが、ファイルごとのデータ容量を有する。リンクリスト情報ＬＬは、ファイルが格納されたセクタのリンク順序を有する。リンクリスト情報ＬＬはたとえば、ＦＡＴ（File Allocation Table）である。ＦＡＴの場合、複数のセクタを１つのクラスタとして取り扱い、クラスタ単位でセクタのリンク順序を有する。ただし、ここでは便宜上、リンクリスト情報ＬＬはセクタ単位でリンク順序を有するものとして説明する。
【００３５】
まず、ファイル「Ｆｉｌｅ＿００１」を例として、ファイルの書込みについて説明する。
【００３６】
ハードディスク装置１９は、データ領域ＤＡの空き状況に応じて、ファイル「Ｆｉｌｅ＿００１」をセクタＳＥＣに格納する。ここで、セクタＳＥＣは、それぞれセクタ番号「００１」、「００８」、「０１０」、「００３」、「０２０」を有する。そして、セクタＳＥＣは、この順序でリンクする。ここで、ファイル「Ｆｉｌｅ＿００１」の開始セクタ番号は「００１」である。
【００３７】
ファイルシステム１２８ａは、各セクタ番号をハードディスク装置１９から受け取る。そして、ファイルエントリ情報ＦＥに、ファイル名「Ｆｉｌｅ＿００１」と開始セクタ番号「００１」を書き込む（矢印Ｆ１）。
【００３８】
そして、ファイルシステム１２８ａは、リンクリスト情報ＬＬにセクタのリンク順序を書き込む。リンクリスト情報ＬＬのインデックス番号は、セクタ番号に対応する。そして、各インデックス番号には次のセクタ番号が対応づけて登録される。よって、ファイル「Ｆｉｌｅ＿００１」のセクタのリンク順序は、インデックス番号に従って「００１」「００８」、「０１０」、「００３」、「０２０（ＥＮＤ）」のようにたどることができる。
【００３９】
次に、ファイルの読出しについて説明する。上記このようにして書き込まれたファイル「Ｆｉｌｅ＿００１」を読み出すときには、ファイルシステム１２８ａはまずファイルエントリ情報ＦＥからファイル名「Ｆｉｌｅ＿００１」とその開始セクタ位置「００１」を検索する。そして、リンクリスト情報ＬＬからセクタＳＥＣのリンク順序を取得する。つまり、インデックス番号「００１」「００８」、「０１０」、「００３」、「０２０（ＥＮＤ）」を検索する。そして、データ領域ＤＡのセクタＳＥＣをその順序で参照して、格納されたデータを読み出す。このようにして、ファイル「Ｆｉｌｅ＿００１」が読み出される。
【００４０】
なお、一旦書き込んだファイルを更新するときには、ファイルシステム１２８ａは、上記のようにして検索したリンク順序で、セクタＳＥＣに対し順次更新データを書き込む。
【００４１】
ここで、ファイルエントリ情報ＦＥやリンクリスト情報ＬＬを書き込むときに車載電子機器１０の電源が遮断され、管理領域ＭＡに不良セクタが生じると、以後のファイル読み出しに支障をきたす。かかる場合にファイルエントリ情報ＦＥやリンクリスト情報ＬＬの復旧を行うために、ファイルシステム１２８ａは次のような処理を実行する。本実施形態では、以下で説明するファイルエントリ情報ＦＥやリンクリスト情報ＬＬの復旧処理を行うファイルシステム１２８ａが、本発明における「書込手段」、「バックアップ手段」、及び「復旧手段」に対応する。
【００４２】
説明の便宜上、まずリンクリスト情報ＬＬの復旧方法について説明する。次いで、ファイルエントリ情報ＦＥの復旧方法について説明する。
【００４３】
[１]  リンクリスト情報ＬＬの復旧方法
図４、図５は、リンクリスト情報ＬＬの復旧方法について説明する図である。本実施形態では、ファイルシステム１２８ａは、リンクリスト情報ＬＬのバックアップデータをハードディスク１９ａの管理領域ＭＡに作成する。そうすることによりデータを冗長化して、不良セクタが生じたときに備える。なお、ＦＡＴの仕様によれば、管理領域ＭＡには２つのＦＡＴを格納するための領域を設けることが可能である。以下では、リンクリスト情報ＬＬ１とそのバックアップデータのリンクリスト情報ＬＬ２を例として説明する。
【００４４】
まず図４で、書込手段、バックアップ手段としてのファイルシステム１２８ａの動作について説明する。ファイルシステム１２８は、書込手段として、リンクリスト情報ＬＬ１、ＬＬ２をハードディスク装置１９に書き込む際、所定の書込み単位ＷＵごとにリンクリスト情報ＬＬ１、ＬＬ２の一部を作成してＲＡＭに格納する（Ｓ１）。ここで書込み単位ＷＵは、たとえば１セクタに相当する５１２バイト分のデータである。
【００４５】
そして、ファイルシステム１２８ａがバックアップ手段として、書込み単位ＷＵを書き込む位置と、書込み終了を示すフラグデータ（以下、書込みフラグ）とをバックアップメモリ１８に格納する。ここで、書込み単位ＷＵを書き込む位置は、セクタ番号やそのアドレスである。このときファイルシステム１２８ａは、リンクリスト情報ＬＬ１、ＬＬ２ごとに、書込み位置ＷＰ１、ＷＰ２と書込みフラグＷＦ１、ＷＦ２をバックアップメモリ１８に格納する（Ｓ２）。ここにおいて、書込み位置ＷＰ１、ＷＰ２が、「リンクリスト情報書込み位置」に対応する。また以下では、書込みフラグＷＦ１、ＷＦ２の値「ＯＮ」は書込みが完了していない状態を示し、「ＯＦＦ」は書込み完了を示す。そして、書込みフラグＷＰ１、ＷＰ２は、「ＯＦＦ」を初期値として書き込まれる。
【００４６】
次に、ファイルシステム１２８ａが書込手段として、書込み単位ＷＵをハードディスク装置１９に書き込む。このとき、まず書込みフラグＷＦ１を「ＯＮ」にし、リンクリスト情報ＬＬ１に対し書込み単位ＷＵを書き込む（Ｓ３）。このとき、書込み位置ＷＰ１に対応するセクタＳＥＣ_ＷＰ１に書込み単位ＷＵを書き込む。そして、リンクリスト情報ＬＬ１に対する書込み単位ＷＵの書込みが終了すると、ファイルシステム１２８ａは、バックアップ手段として書込みフラグＷＦ１を「ＯＦＦ」にする（Ｓ３´）。次に、ファイルシステム１２８ａは書込みフラグＷＦ２を「ＯＮ」にし、リンクリスト情報ＬＬ２に対し書込み単位ＷＵを書き込む（Ｓ４）。このとき、書込み位置ＷＰ２に対応するセクタＳＥＣ_ＷＰ２に書込み単位ＷＵを書き込む。そして、リンクリスト情報ＬＬ２に対する書込み単位の書込みが終了すると、書込みフラグＷＦ２を「ＯＦＦ」にする（Ｓ４´）。
【００４７】
このような動作を繰り返すことにより、リンクリスト情報ＬＬ１、ＬＬ２が管理領域ＭＡに書き込まれる。このとき、バックアップメモリ１８に格納される書込み位置ＷＰ１、ＷＰ２は、書込み単位ＷＵごとに上書きされる。また書込みフラグＷＰ１、ＷＰ２の初期値は、その度ごとに「ＯＦＦ」に設定される。
【００４８】
上記の処理において、たとえばリンクリスト情報ＬＬ１に書込み単位ＷＵを書き込んでいるときに電源が遮断されると、書込みフラグＷＦ１は「ＯＮ」、書込みフラグＷＦ２は「ＯＦＦ」の状態でバックアップメモリ１８に保持される。また、リンクリスト情報ＬＬ２に書込み単位を書き込んでいるときに電源が遮断されると、書込みフラグＷＦ１は「ＯＦＦ」、書込みフラグＷＦ２は「ＯＮ」の状態でバックアップメモリ１８に保持される。
【００４９】
よって、電源が復帰した後に、ファイルシステム１２８ａは復旧手段として、まず書込みフラグＷＦ１、ＷＦ２を読み出して、リンクリスト情報ＬＬ１、ＬＬ２のどちらを書き込んでいるときに電源が遮断されたかを検出する。
【００５０】
次に図５を用いて、ファイルシステム１２８ａの復旧手段としての動作について説明する。まず説明の便宜上、図５（Ａ）を用いてリンクリスト情報ＬＬ２を書き込んでいるときに電源が遮断された場合について説明する。この場合、書込みフラグＷＦ１は「ＯＦＦ」、書込みフラグＷＦ２は「ＯＮ」の状態でバックアップメモリ１８に格納されている。よってこのとき、リンクリスト情報ＬＬ２を構成するセクタに不良セクタが発生しているものと判断できる。そして、その位置は、電源遮断時に書込みが行われていた位置、すなわちバックアップメモリ１８に格納されたリンクリスト情報ＬＬ２の書込み位置ＷＰ２に対応する。
【００５１】
よって、ファイルシステム１２８ａは、バックアップメモリ１８から書込み位置ＷＰ２を読み出す（Ｓ５）。そして、書込み位置ＷＰ２に対応する書込み位置、つまり書込み位置ＷＰ１を読み出す（Ｓ６）。そして、書込み位置ＷＰ１におけるリンクリスト情報ＬＬ１のセクタＳＥＣ＿ＷＰ１からデータを読み出す（Ｓ７）。このときリンクリスト情報ＬＬ１に対する書込み単位ＷＵの書込みは既に終了しており、そのデータはセクタＳＥＣ＿ＷＰ１に格納されている。よって、ファイルシステム１２８ａは、読み出したデータをリンクリスト情報ＬＬ２の書込み位置ＷＰ２に対応するセクタＳＥＣ＿ＷＰ２に書き込む（Ｓ８）。このようにすることで、セクタＳＥＣ＿ＷＰ２のデータが確定される。よって、セクタＳＥＣ＿ＷＰ２が不良セクタであった場合にこれを解消でき、それとともにリンクリスト情報ＬＬ２を復旧できる。
【００５２】
次に、図５（Ｂ）を用いて、リンクリスト情報ＬＬ１を書き込んでいるときに電源が遮断された場合について説明する。この場合、書込みフラグＷＦ１は「ＯＮ」、書込みフラグＷＦ２は「ＯＦＦ」の状態でバックアップメモリ１８に格納されている。よってこのとき、リンクリスト情報ＬＬ１を構成するセクタに不良セクタが発生しているものと判断できる。そして、その位置は、電源遮断時に書込みが行われていた位置、すなわちバックアップメモリ１８に格納された書込み位置ＷＰ１に対応する。
【００５３】
よって、ファイルシステム１２８ａは、バックアップメモリ１８から書込み位置ＷＰ１を読み出す（Ｓ１５）。そして、その書込み位置ＷＰ１に対応する書込み位置、つまり書込み位置ＷＰ２を読み出す（Ｓ１６）。そして、書込み位置ＷＰ２におけるリンクリスト情報ＬＬ２のセクタＳＥＣ＿ＷＰ２からデータを読み出す（Ｓ１７）。このときリンクリスト情報ＬＬ２は、書込みが行われる前の状態であるので、過去のデータが読み出される。そして、ファイルシステム１２８ａは、読み出したデータを書込み位置ＷＰ１に対応するリンクリスト情報ＬＬ１のセクタＳＥＣ＿ＷＰ１に書き込む（Ｓ１８）。このようにすることで、セクタＳＥＣ＿ＷＰ１のデータが確定される。よって、セクタＳＥＣ＿ＷＰ１が不良セクタであった場合に、これが解消される。なお、上述したように、セクタＳＥＣ＿ＷＰ２に書き込まれるデータは過去のリンクリスト情報のデータであるが、不良セクタを解消することで、以後の読み出しを可能にできる。よって、再度コンテンツデータの書込みを実行することができるようになる。
【００５４】
このようにして、リンクリスト情報ＬＬ１、ＬＬ２を復旧できる。また、バックアップメモリ１８は書込み単位ＷＵ全体（５１２バイト）を格納するのではなく、その書込み位置ＷＰ１、ＷＰ２と書込みフラグＷＦ１、ＷＦ２を格納することとした。よって、バックアップメモリ１８の最小限の容量（たとえば４バイト）を用いることでリンクリスト情報ＬＬ１、ＬＬ２の復旧が可能となる。特に、コンテンツデータのファイルの容量が大きくなると、これに伴いリンクリスト情報ＬＬ１、ＬＬ２のデータ容量も大きくなる。しかし、このようにすれば、コンテンツデータのファイルの容量にかかわらず、バックアップメモリ１８の一定の容量を使用するだけでリンクリスト情報ＬＬ１、ＬＬ２の復旧が可能となる。そして、バックアップメモリ１８の容量を最小限とすることができるので、車載電子機器１０全体として回路規模を小型化でき、低コスト化が可能になる。
【００５５】
さらに、リンクリスト情報ＬＬ１、ＬＬ２のうち一方の全体のデータを他方に書き込むのではなく、不良セクタ分のデータを書き込むようにした。よって、復旧処理にかかる時間を最小限とすることが可能となるので、ユーザの利便性を向上させることができる。
【００５６】
[２]  リンクリスト情報の復旧方法における変形例
バックアップメモリ１８は、上述したように、ＡＣＣスイッチ２２がオフされたときでも格納されたデータを保持できるように構成される。そのためにはたとえば、ＥＥＰＲＯＭなどの書換え可能な不揮発性メモリで構成することが可能であるが、より望ましくは、バックアップ電源を有するＤＲＡＭやＳＤＲＡＭで構成される。ＳＤＲＡＭやＤＲＡＭは読み書き速度がＥＥＰＲＯＭより速いので処理を高速化でき、またＥＥＰＲＯＭと比べて小容量単位での書込みが可能であるのでハードウェア資源を最適に利用できる。
【００５７】
バックアップ電源としては、車載バッテリ２０とは別個に電池を備えることや、ＡＣＣスイッチ２２とは別系統で車載バッテリ２０から電源供給を受けることが可能である。ここで後者の場合に、車載バッテリ２０との接続が取り外されることにより、バックアップメモリ１８のデータが消失してしまうことがある。たとえば、検査などの目的で車載電子機器１０が車体から取り外されるような場合である。
【００５８】
そこで、変形例におけるファイルシステム１２８ａは、バックアップメモリ１８のデータが消失した場合に、次のような方法によりリンクリスト情報ＬＬ１、ＬＬ２を復旧する。
【００５９】
図６は、リンクリスト情報ＬＬの復旧方法における変形例について説明する図である。まず、図６（Ａ）で、ハードディスク１９ａの管理領域ＭＡに格納されたリンクリスト情報ＬＬ２に不良セクタが含まれる場合について説明する。ファイルシステム１２８ａは、復旧手段としてまず、バックアップメモリ１８に格納した書込み位置ＷＰ１、ＷＰ２を参照する。しかし、このとき書込み位置ＷＰ１、ＷＰ２は消失している。あるいは、たとえば後述するように、バックアップメモリ１８に予め格納されるチェックコードが消失している場合に、書込み位置ＷＰ１、ＷＰ２が消失していることを判断してもよい。そして、この時点ではリンクリスト情報ＬＬ１、ＬＬ２のいずれに不良セクタが含まれるかは不明である。
【００６０】
そこでファイルシステム１２８ａは、まずリンクリスト情報ＬＬ１の開始位置から順次セクタＳＥＣ１＿１、２、・・・、Ｎごとにデータを読み出す。そして、読み出したデータをリンクリスト情報ＬＬ２のセクタＳＥＣ２＿１、２、・・・、Ｎに順次書き込む（Ｓ２０）。ここで、リンクリスト情報ＬＬ１における全セクタの読み出しが完了すれば、リンクリスト情報ＬＬ２に不良セクタが含まれる蓋然性が高い。しかしこのとき、リンクリスト情報ＬＬ１のデータを移植することにより、リンクリスト情報ＬＬ２を復旧することができる。
【００６１】
次に、図６（Ｂ）で、リンクリスト情報ＬＬ１に不良セクタが含まれる場合について説明する。図６（Ａ）の動作を実行しているときに、リンクリスト情報ＬＬ１におけるセクタＳＥＣ１＿Ｎが不良セクタである場合には、ハードディスク装置１９からエラーが通知され、その位置で読み出しができなくなる。するとファイルシステム１２８ａは、リンクリスト情報ＬＬ１の読み出しを一旦中止する。そして、読み出せないセクタＳＥＣ１＿Ｎに対応するリンクリスト情報ＬＬ２のセクタＳＥＣ２＿Ｎのデータを読み出す。そして、読み出したデータをリンクリスト情報ＬＬ１のセクタＳＥＣ１＿Ｎに書き込む（Ｓ２２）。そして、リンクリスト情報ＬＬ１における続きのセクタＳＥＣ１＿Ｎ＋１からデータの読出しを再開し、読み出したデータをリンクリスト情報ＬＬ２のセクタＳＥＣ２＿Ｎ＋１から書き込む（Ｓ２４）。
【００６２】
このようにすれば、リンクリスト情報ＬＬ１を復旧することができる。なおこの場合、リンクリスト情報ＬＬ２は、書込みが行われる前の状態であるので、最新の情報のデータではない。しかし、不良セクタを解消することで、以後の読出しを可能にできる。よって、再度コンテンツデータの書込みを実行することができるようになる。
【００６３】
[３]  ファイルエントリ情報の第１の復旧方法
次に、ファイルエントリ情報ＦＥの復旧方法について説明する。本実施形態では、ファイルシステム１２８ａはファイルエントリ情報ＦＥをハードディスク１９ａに書き込む際、２つの方法でデータを冗長化させ、復旧に備える。第１の方法は、ハードディスク１９ａ内にファイルエントリ情報のバックアップデータを作成する方法である。第２の方法は、ハードディスク１９ａに書き込むときの書込み単位をバックアップメモリ１８に格納する方法である。次では、まず第１の方法について説明し、次いで第２の方法について説明する。
【００６４】
図７、図８は、ハードディスク１９ａにファイルエントリ情報ＦＥのバックアップデータを作成することにより、ファイルエントリ情報ＦＥを復旧する方法について説明する図である。ここでは、ファイルエントリ情報ＦＥ１とそのバックアップデータのファイルエントリ情報ＦＥ２を例として説明する。
【００６５】
まず図７を用いて、ファイルシステム１２８ａの、書込手段、バックアップ手段としての動作について説明する。ファイルシステム１２８ａは、書込手段として、ファイルエントリ情報ＦＥ１のバックアップデータのファイルエントリ情報ＦＥ２を作成する際、所定の書込み単位ｆＷＵごとにファイルエントリ情報の一部を作成してＲＡＭに格納する（Ｓ１０１）。書込み単位ｆＷＵは、たとえば１セクタに対応する５１２バイト分のデータである。そしてファイルシステム１２８ａは、書込み単位ｆＷＵをハードディスク装置１９に書き込む。このとき、まずファイルエントリ情報ＦＥ１に対し書込み単位ｆＷＵを書き込む（Ｓ１０３）。このとき、書込み位置ｆＷＰ１に対応するセクタＳＥＣ_ｆＷＰ１に書込み単位ｆＷＵを書き込む。ここにおいて、書込み位置ｆＷＰ１が、「ファイルエントリ情報書込み位置」に対応する。
【００６６】
次に、ファイルシステム１２８ａは、バックアップ手段として、ファイルエントリ情報ＦＥ２に対し書込み単位ｆＷＵを書き込む（Ｓ１０４）。このときファイルエントリ情報ＦＥ２は、管理領域ＭＡではなく固定の未使用領域ＤＡ１に書き込まれる。また、書込み位置ｆＷＰ２に対応するセクタＳＥＣ_ｆＷＰ２に書込み単位ｆＷＵが書き込まれる。そしてファイルシステム１２８ａは、書込み位置ｆＷＰ１をハードディスク装置１９の固定の未使用領域ＤＡ１に格納する（Ｓ１０５）。
【００６７】
このような動作を繰り返すことにより、ファイルエントリ情報ＦＥ１がハードディスク１９ａの管理領域ＭＡに、ファイルエントリ情報ＦＥ２が固定の未使用領域ＤＡ１に書き込まれる。ただし、ファイルエントリ情報を格納する領域により本実施形態が限定されるものではない。なお、書込み位置ｆＷＰ１も固定の未使用領域ＤＡ１に書き込まれるが、書込み位置ｆＷＰ１は書込み単位ｆＷＵごとに上書きされる。
【００６８】
図８は、ファイルシステム１２８ａの復旧手段としての動作について説明する図である。ここでは、ファイルエントリ情報ＦＥ１に書き込んでいるときに電源が遮断された場合について説明する。
【００６９】
ファイルシステム１２８ａは、復旧手段としてハードディスク装置１９の固定の未使用領域ＤＡ１から書込み位置ｆＷＰ１を読み出す（Ｓ１１５）。そして、ファイルエントリ情報ＦＥ２における書込み位置ｆＷＰ１に対応する書込み位置、つまり書込み位置ｆＷＰ２のセクタＳＥＣ＿ｆＷＰ２からデータを読み出して（Ｓ１１６）、書込み位置ｆＷＰ１に対応するファイルエントリ情報ＦＥ１のセクタＳＥＣ＿ｆＷＰ１に、読み出したデータを書き込む（Ｓ１１８）。このようにすることで、セクタＳＥＣ＿ｆＷＰ１が不良セクタであった場合に、これが解消される。なお、このときファイルエントリ情報ＦＥ２は、書込みが行われる前の状態であるので、最新の情報のデータではないが、不良セクタを解消することで、以後の読み出しを可能にできる。よって、再度コンテンツデータの書込みを実行することができるようになる。
【００７０】
このように、ファイルエントリ情報ＦＥ１を復旧できる。また、ハードディスク装置１９の未使用領域ＤＡ１に書込み位置ｆＷＰ１を格納することとしたので、ハードディスク装置１９の容量増大を必要とせず、最小限の容量を用いることでファイルエントリ情報ＦＥ１の復旧が可能となる。また、バックアップＲＡＭ１８の容量増大を必要としない。よって、車載電子機器１０全体として回路規模を小型化でき、低コスト化が可能になる。
【００７１】
さらに、ファイルエントリ情報ＦＥ２の全体のデータをファイルエントリ情報ＦＥ１に書き込むのではなく、不良セクタ分のデータを書き込むようにしたので、復旧処理にかかる時間を最小限とすることが可能となり、ユーザの利便性を向上させることができる。
【００７２】
[４]  ファイルエントリ情報の第２の復旧方法
図９は、バックアップメモリ１８にバックアップデータを作成する方法について説明する図である。まずファイルエントリ情報ＦＥをハードディスク１９の管理領域ＭＡに書き込むときに、ファイルシステム１２８ａは書込手段として、所定の書込み単位ｆＷＵごとにファイルエントリ情報ＦＥの一部のデータを生成してＲＡＭ１６に格納する（Ｓ２０１）。ここで書込み単位ｆＷＵは、たとえば１セクタに相当する５１２バイトである。
【００７３】
そして、ファイルシステム１２８ａは、バックアップ手段として、書込み単位を書き込む位置ｆＷＰと、書込み単位ｆＷＵのデータとをバックアップメモリ１８に格納する（Ｓ２０２、Ｓ２０３）。
【００７４】
そして、ファイルシステム１２８ａは、書込手段として、書込み単位ｆＷＵをハードディスク装置１９に書き込む（Ｓ２０４）。このような動作を繰り返すことにより、ファイルエントリ情報ＦＥが管理領域ＭＡに書き込まれる。このとき、バックアップメモリ１８に格納される書込み単位ｆＷＵと書込み位置ｆＷＰは、書込み単位ごとに上書きされる。
【００７５】
上記の処理において、ファイルエントリ情報ＦＥに書込み単位ｆＷＵを書き込んでいるときに電源が遮断される。そして電源が復帰した後、ファイルシステム１２８ａは復旧手段として、まずファイルエントリ情報ＦＥにおける書込み位置ｆＷＰのデータを確認する。そして、これが読み出せない場合には、ファイルエントリ情報ＦＥに不良セクタが発生しているものと判断できる。よって、バックアップメモリ１８に格納された書込み単位ｆＷＵを、書込み位置ｆＷＰに対応するセクタＳＥＣ＿ｆＷＰに書き込む（Ｓ２１０）。そうすることにより、不良セクタを解消するとともにデータを復旧できる。
【００７６】
このように、ファイルエントリ情報ＦＥを復旧できる。なおこの方法によれば、バックアップメモリ１８はハードディスク装置１９より読み書きが高速であるので、書込み単位ｆＷＵを書き込む際の処理が高速化される。また、リンクリスト情報ＬＬの場合は上述したようにファイルの容量が大きくなるのに伴いデータ容量が大きくなるが、ファイルエントリ情報ＦＥの場合はそのデータ容量はリンクリスト情報ＬＬほどファイルの容量に依存しない。よって、バックアップメモリ１８に書込み単位ｆＷＵを格納する方法は、処理を高速化させるうえで好適な態様である。
【００７７】
上述の説明において、リンクリスト情報ＬＬとファイルエントリ情報ＦＥの復旧方法を示した。本実施形態には、リンクリスト情報ＬＬの復旧とファイルエントリ情報ＦＥの復旧の両方を行う場合も、いずれか一方のみを行う場合も含まれる。
【００７８】
［５］  バックアップメモリ１８に保持されたデータの正確性を担保するための変形例
上述したリンクリスト情報ＬＬや、ファイルエントリ情報ＦＥの第２の復旧方法では、バックアップメモリ１８に格納されたデータに基づいて復旧が行われる。よって、バックアップメモリ１８に格納されるデータの正確性が要求される。ここで、バックアップメモリ１８に格納されたデータの正確性を担保するための変形例について説明する。
【００７９】
本変形例は、リンクリスト情報ＬＬとファイルエントリ情報ＦＥの復旧方法のいずれにも適用可能である。本変形例では、ファイルシステム１２８ａがバックアップ手段として、バックアップメモリ１８に次のようなデータを格納しておく。これにより、復旧手段としてバックアップメモリ１８のデータを読み出す際に、その正確性を確認することができる。
【００８０】
図１０は、バックアップメモリ１８に格納されるデータについて説明する図である。バックアップチェックコードｂＣＨは、車載電子機器１０の初期化時などに書き込まれる所定のデータ（たとえば文字列）である。ファイルシステム１２８ａは、バックアップチェックコードｂＣＨを読み出すことができたときに、バックアップメモリ１８全体としてのデータが消失していないことを確認できる。
【００８１】
リンクリスト情報ＬＬの書込み位置ＷＰ、リンクリスト情報ＬＬの書込みフラグＷＦ、ファイルエントリ情報ＦＥの書込み位置ｆＷＰ、ファイルエントリ情報ＦＥの書込み単位ｆＷＵについては上述したとおりである。なおここでは、リンクリスト情報ＬＬとファイルエントリ情報ＦＥの両方の復旧を行う場合を示すが、いずれか一方のみの場合には、それぞれに必要なデータが書き込まれる。また、ファイルエントリ情報ＦＥのバックアップデータをハードディスク装置１９に作成する第１の方法の場合には、ファイルエントリ情報ＦＥの書込み単位ｆＷＵを省略することが可能である。
【００８２】
ファイルエントリ情報ＦＥの書込み単位チェックコードｆＣＨは、バックアップメモリ１８の所定領域、たとえば５１２バイト分の予め確保された領域の末尾に書き込まれる所定のデータ（たとえば文字列）である。ファイルシステム１２８ａは、書込み単位チェックコードｆＣＨを初期化時に書き込む。そしてファイルエントリ情報ＦＥの書込み単位ｆＷＵをこの所定領域に正常に書き込むと、この書込み単位チェックコードｆＣＨは上書きされる。よって、ファイルシステム１２８ａは、この書込み単位チェックコードｆＣＨを読み出すことができないときに、書込み単位ｆＷＵが正常に書き込まれたことを確認できる。
【００８３】
さらに、ファイルシステム１２８ａは、ファイルエントリ情報ＦＥ２に書き込まれた書込み単位ｆＷＵの正確性を確認するために、ファイルエントリ情報ＦＥ２の書込み単位ｆＷＵのチェックサムＣＳＭを格納する。ファイルシステム１２８ａは、ハードディスク装置１９から書込み単位ｆＷＵを読み出してそのチェックサムを算出し、格納されたチェックサムＣＳＭと一致すれば、ファイルエントリ情報ＦＥ２に書き込まれた書込み単位が正確であることを確認できる。
【００８４】
[６]  本実施形態における車載電子機器１０の動作手順
次に、本実施形態における車載電子機器１０の動作手順について、図１１〜図１５を用いて説明する。
【００８５】
図１１は、リンクリスト情報ＬＬ１、ＬＬ２やファイルエントリ情報ＦＥ１、ＦＥ２をハードディスク装置１９に書き込むときの車載電子機器１０の動作手順を説明するフローチャート図である。図１１（Ａ）の手順は、電源が投入された状態で、たとえばユーザからの指示入力に応答してコンテンツデータをハードディスク装置１９に格納する際に実行される。図１１（Ａ）の手順は、ファイルシステム１２８ａが実行する手順である。
【００８６】
ファイルシステム１２８ａは、まずリンクリスト情報の書込みを、対応するすべてのセクタが終了するまでループして実行する（Ｓ１００、Ｓ１１０）。すなわち、ファイルシステム１２８ａは、書込み単位ＷＵごとに、書込み位置ＷＰ１をバックアップメモリ１８に格納する（Ｓ１０１）。そして、書込みフラグＷＦ１を初期値の「ＯＦＦ」から「ＯＮ」に変更する（Ｓ１０２）。そしてリンクリスト情報ＬＬ１の書き込み位置ＷＰ１に書込み単位ＷＵを書き込む（Ｓ１０３）。そして、書込み位置ＷＰ１に対する書込みが終了すると書込みフラグＷＦ１の値を「ＯＮ」から「ＯＦＦ」に変更する（Ｓ１０４）。
【００８７】
次に、ファイルシステム１２８ａは、リンクリスト情報ＬＬ２の書き込み位置ＷＰ２をバックアップメモリ１８に格納する（Ｓ１０５）。そして、書込みフラグＷＦ２を初期値の「ＯＦＦ」から「ＯＮ」に変更する（Ｓ１０６）。そして、リンクリスト情報ＬＬ２の書込み位置ＷＰ２に書込み単位ＷＵを書き込む（Ｓ１０７）。そして、書込み位置ＷＰ２に対する書込みが終了すると書込みフラグＷＦ２の値を「ＯＮ」から「ＯＦＦ」に変更する（Ｓ１０８）。このように、ファイルシステム１２８ａは、手順Ｓ１０２から手順Ｓ１０８を、リンクリスト情報ＬＬ１、ＬＬ２に対応するすべてのセクタにデータを書き込むまで繰り返す。
【００８８】
次に、ファイルシステム１２８ａは、ファイルエントリ情報の書込みを、対応するすべてのセクタが終了するまでループして実行する（Ｓ１１２、Ｓ１２２）。ここでは、例として、ファイルエントリ情報ＦＥ１、ＦＥ２をハードディスク装置１９に書き込む場合を示す。
【００８９】
ファイルシステム１２８ａは、、固定の未使用領域ＤＡ１のファイルエントリ情報ＦＥ２に書込み単位ｆＷＵを書き込み（Ｓ１１８）、更に書込み位置ＷＰ１を書き込む（Ｓ１１９）。そして、ファイルエントリ情報ＦＥ１の書込み位置ｆＷＰ１に書込み単位ｆＷＵを書き込む（Ｓ１２０）。このように、ファイルシステム１２８ａは、手順Ｓ１１２から手順Ｓ１２２を、ファイルエントリ情報ＦＥ１、ＦＥ２に対応するすべてのセクタに書き込むまで繰り返す。
【００９０】
なお、書込み単位ｆＷＵをバックアップメモリ１８に格納する場合には、手順Ｓ１１８〜Ｓ１２０の代わりに、図１１（Ｂ）に示すように、バックアップメモリ１８に書込み単位ｆＷＵと書込み位置ＷＰを格納し（Ｓ１１３）、ファイルエントリ情報ＦＥに書込み単位ｆＷＵの書込みを行う（Ｓ１１５）。
【００９１】
また、ここでは図示を省略したが、ファイルシステム１２８ａは、上記の手順に加え、ハードディスク１９ａのデータ領域ＤＡに対し、コンテンツデータのファイルの書込みを行う。
【００９２】
次に、図１１の手順を実行するときに電源が遮断され、再投入されたときの復旧処理について図１２を用いて説明する。
【００９３】
図１２は、上述した復旧方法を実行するときの、車載電子機器１０の動作手順を説明するフローチャート図である。図１２の手順は、電源が投入されたときに、車載電子機器１０全体としての初期化動作の一部としてファイルシステム１２８ａが実行する手順である。ファイルシステム１２８ａは、まずリンクリスト情報の復旧処理を実行する（Ｓ１０００）。そして、ファイルエントリ情報の復旧処理を実行する（Ｓ１００２）。リンクリスト情報の復旧処理（Ｓ１０００）と、ファイルエントリ情報の復旧処理（Ｓ１００２）は、いずれか一方のみであってもよい。
【００９４】
図１３は、リンクリスト情報復旧処理の手順を説明するフローチャート図である。図１３の手順は、図１２における手順Ｓ１０００のサブルーチンに対応する。図１３の手順は、復旧手段としてのファイルシステム１２８ａが実行する。
【００９５】
まず、ファイルシステム１２８ａは、バックアップメモリ１８にデータが格納されているかを確認する（Ｓ１０１０）。このとき、図１０で示したバックアップチェックコードｂＣＨが読み出されたときに、データが格納されていることを確認する。格納されていれば（Ｓ１０１０のＹＥＳ）、書込みフラグＷＦ１、ＷＦ２に基づいて、リンクリスト情報ＬＬ１、ＬＬ２のうちどちらで不良セクタが生じたかを判断する（Ｓ１０１４）。リンクリスト情報ＬＬ２と判断した場合には（Ｓ１０１４の「ＬＬ２」）、リンクリスト情報ＬＬ１からリンクリスト情報ＬＬ２に書込みを行い（Ｓ１０１８）、処理を終了する。一方、リンクリスト情報ＬＬ１と判断した場合には（Ｓ１０１４の「ＬＬ１」）、リンクリスト情報ＬＬ２からリンクリスト情報ＬＬ１に書込みを行い（Ｓ１０１６）、処理を終了する。
【００９６】
また、ファイルシステム１２８ａは、バックアップメモリ１８にデータが格納されていない場合には（Ｓ１０１０のＮＯ）、リンクリスト情報ＬＬ１１のすべてのデータをリンクリスト情報ＬＬ２に書き込む（Ｓ１０１８）。全セクタの書込みが完了するまで、リンクリスト情報ＬＬ１からリンクリスト情報ＬＬ２にデータを書き込む処理を実行する（Ｓ１０２４のＮＯ）。そして、全てのセクタの書込みが完了すると（Ｓ１０２４のＹＥＳ）、処理を終了する。このとき、リンクリスト情報ＬＬ１に不良セクタがある場合（Ｓ１０２０のＹＥＳ）、リンクリスト情報ＬＬ２におけるそのセクタのデータをリンクリスト情報ＬＬ１に書き込み（Ｓ１０２２）、処理を終了する。
【００９７】
このような手順によれば、リンクリスト情報ＬＬ１、ＬＬ２を短時間で復旧できる。また、バックアップメモリ１８のデータが消失していた場合であっても、リンクリスト情報ＬＬ１、ＬＬ２を復旧できる。
【００９８】
図１４は、ファイルエントリ情報復旧処理の手順を説明するフローチャート図である。図１４の手順は、図１２における手順Ｓ１００２のサブルーチンに対応する。図１４の手順は、復旧手段としてのファイルシステム１２８ａが実行する手順である。またこの手順は、ハードディスク装置１９にファイルエントリ情報のバックアップデータを作成する第１の方法に対応する。
【００９９】
まず、ファイルシステム１２８ａは、ハードディスク装置１９からファイルエントリ情報ＦＥ２の書込み単位ＷＵを読出し（Ｓ１１１９）、そのチェックサムを算出して、図１０で示した書込み単位チェックサムＣＳＭと一致するかを確認する（Ｓ１１２０）。一致していれば（Ｓ１１２０のＯＫ）、ファイルエントリ情報ＦＥ２に対する書込みが正常に終了していると判断できる。そして、ファイルシステム１２８ａは、ファイルエントリ情報ＦＥ１の書込み位置ＷＰを読読出す（Ｓ１１２２）。そして、読出されないときにはファイルエントリ情報ＦＥ１で不良セクタが生じたと判断し（Ｓ１１２４のＹＥＳ）、ファイルエントリ情報ＦＥ２からファイルエントリ情報ＦＥ１に書込みを行い（Ｓ１１２６）、処理を終了する。なお、ファイルエントリ情報ＦＥ２の書込み単位ＷＵから求めたチェックサムが書込み単位チェックサムＣＳＭと一致しない場合や（Ｓ１１２０のＮＧ）、情報ＦＥ１で不良セクタが生じていないと判断した場合（Ｓ１１２４のＮＯ）には、処理を終了する。
【０１００】
このような手順によれば、ファイルエントリ情報ＦＥ１を短時間で復旧できる。
【０１０１】
図１５は、ファイルエントリ情報復旧処理の別の手順を説明するフローチャート図である。図１５の手順は、バックアップメモリ１８にファイルエントリ情報の書込み単位のバックアップデータを作成する第２の方法に対応する。すなわち、この手順は、図１２における手順Ｓ１００２のサブルーチンとして、図１４の手順の代わりに復旧手段としてのファイルシステム１２８ａが実行する。
【０１０２】
まず、ファイルシステム１２８ａは、バックアップメモリ１８にデータが格納されているかを確認する（Ｓ１１３０）。具体的には、図１０で示したバックアップチェックコードｂＣＨが読み出されれば、格納されていると判断できる。そして、格納されていれば（Ｓ１１３０のＹＥＳ）、そのデータが正確であるかを確認する（Ｓ１１３２）。具体的には、図１０で示した書込み単位チェックコードｆＣＨが読み出されれば、正確であると判断できる。そして、正確であれば（Ｓ１１３２のＹＥＳ）、書込み位置ＷＰを読み出し（Ｓ１３３）、ファイルエントリ情報で不良セクタが生じたかを判断する（Ｓ１１３４）。読出しができず、不良セクタが生じていると判断した場合には（Ｓ１１３４のＹＥＳ）、バックアップメモリ１８が格納するファイルエントリ情報の一部、つまり書込み単位ｆＷＵをハードディスク１９ａの管理領域ＭＡ内のファイルエントリ情報ＦＥに書き込み（Ｓ１１３６）、処理を終了する。
【０１０３】
また、バックアップメモリ１８にデータが格納されていない場合や（Ｓ１１３０のＮＯ）、そのデータが正確でない場合には（Ｓ１１３２のＮＯ）、復旧処理を行わずに終了する。
【０１０４】
このような手順によれば、ファイルエントリ情報ＦＥを短時間で復旧できる。そしてさらに、バックアップメモリ１８のデータが消失または一部が破壊されていた場合であっても、ファイルエントリ情報ＦＥを復旧できる。
【０１０５】
上述の説明では、ハードディスク装置１９を記憶デバイスの例として示した。しかし、１つのファイルを複数の領域に振り分けて格納する、ＥＥＰＲＯＭなどの記憶デバイスにも本実施形態は適用できる。また、リンクリスト情報については、セクタ単位でリンク順序を有する場合を例として説明した。しかし、ＦＡＴなどクラスタ単位でセクタのリンク順序を有する場合であっても、本実施形態の範囲内に含まれる。さらに、上述の説明では、リンクリスト情報やファイルエントリ情報に対する書込み単位の例として、セクタの容量に対応した書込み単位について説明した。しかし、書込み単位の大きさはこれに限られず、たとえばクラスタ単位であってもよい。また、記憶デバイスがＥＥＰＲＯＭで構成される場合には、１または複数のブロック単位であってもよい。
【０１０６】
また、外部スイッチにより電源が投入・遮断される電子機器として、車載電子機器を例として説明したが、かかる構成を有する電子機器であれば、他の電子機器であっても本実施形態は適用できる。
【０１０７】
以上のように、本実施形態によれば、低コストかつ迅速にファイルエントリ情報やリンクリスト情報の復旧が可能となる。  
【符号の説明】
【０１０８】
１０：車載電子機器、１８：バックアップメモリ、１９：ハードディスク装置、１２８：読み書き制御部、１２８ａ：ファイルシステム、ＬＬ１、ＬＬ２：リンクリスト情報、ＦＥ１、ＦＥ２：ファイルエントリ情報
【図１】
2010272044.tif 000003
【図２】
2010272044.tif 000004
【図３】
2010272044.tif 000005
【図４】
2010272044.tif 000006
【図５】
2010272044.tif 000007
【図６】
2010272044.tif 000008
【図７】
2010272044.tif 000009
【図８】
2010272044.tif 000010
【図９】
2010272044.tif 000011
【図１０】
2010272044.tif 000012
【図１１】
2010272044.tif 000013
【図１２】
2010272044.tif 000014
【図１３】
2010272044.tif 000015
【図１４】
2010272044.tif 000016
【図１５】
2010272044.tif 000017