(57)【要約】【課題】ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行うことができるデータ管理方法を提供する。【解決手段】アプリケーション１１に応じて、ファイルおよびファイル管理テーブルのデータを記憶装置４内の特定の領域に格納し、記憶装置４内の特定の領域に格納したデータをデバイスドライバ２が管理するキャッシュ３に蓄積し、ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行う。【選択図】  図１
2004334506.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを所定の管理単位毎に管理するファイル管理テーブルを含むファイルシステムを用いたデータ管理方法であって、
アプリケーションに応じて、前記ファイルおよび前記ファイル管理テーブルのデータを記憶装置内の特定の領域に格納する格納ステップと、
前記記憶装置内の特定の領域に格納したデータをデバイスドライバが管理するキャッシュに蓄積する蓄積ステップと、
を含むデータ管理方法。
【請求項２】
前記蓄積ステップは、前記記憶装置に格納したファイルおよびファイル管理テーブルのデータを、それぞれ前記キャッシュの第１の領域と第２の領域とに分割して蓄積する請求項１に記載のデータ管理方法。
【請求項３】
前記蓄積ステップは、前記記憶装置に格納したファイル管理テーブルのデータを前記キャッシュに蓄積する請求項１に記載のデータ管理方法。
【請求項４】
前記蓄積ステップは、前記記憶装置に格納したファイル管理テーブルのデータのうち、アクセス頻度の高いファイルのファイル管理テーブルのデータを蓄積する請求項３に記載のデータ管理方法。
【請求項５】
前記蓄積ステップは、前記記憶装置に格納された全てのファイル管理テーブルのデータを蓄積可能な容量のキャッシュを確保してから前記ファイル管理テーブルのデータを蓄積する請求項１ないし請求項３のいずれかに記載のデータ管理方法。
【請求項６】
前記蓄積ステップは、前記キャッシュに蓄積されている記憶時期が古いデータのアドレスに対して新たなデータを書き込む請求項１ないし請求項５のいずれかに記載のデータ管理方法。
【請求項７】
前記蓄積ステップは、前記キャッシュに蓄積されているアクセス頻度の低いデータのアドレスに対して新たなデータを書き込む請求項１ないし請求項５のいずれかに記載のデータ管理方法。
【請求項８】
前記蓄積ステップは、前記キャッシュに蓄積されている参照時期の古いデータのアドレスに対して新たなデータを書き込む請求項１ないし請求項５のいずれかに記載のデータ管理方法。
【請求項９】
コンピュータに請求項１ないし請求項８のいずれかに記載のデータ管理方法に記載のステップを実行させるデータ管理プログラム。
【請求項１０】
請求項９に記載のデータ管理プログラムを実行するナビゲーション装置であって、
前記記憶装置は特定の領域に自車位置等のリアルタイムの更新が必要なデータを格納するナビゲーション装置。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、データ管理方法、データ管理プログラムおよびナビゲーション装置に関する。
【０００２】
【従来の技術】
オペレーティングシステムが提供するファイルシステムは、記憶装置に対して特定の制御方式を用いたデータの管理を行っている。ファイルを所定の管理単位毎に管理するファイル管理テーブルを有するファイルシステムを使用する楊合において、ファイル管理テーブルのデータはファイルのデータにアクセスする際に必ず参照されるため、ファイル管理テーブルを優先的にキャッシュすることはキャッシュのヒット率を向上させるために有効な手段である（例えば特許文献１参照）。
【０００３】
【特許文献１】
特開平１１−１３４２５５号公報
【０００４】
【発明が解決しようとする課題】
しかし、組み込みオペレーティングシステム等が提供するファイルシステムが、ファイル管理テーブルをキャッシングする仕組みを備えていない場合、キャッシュ方式の変更が許可されていないこともあり、ファイルアクセスを効率的に行うことができない。
【０００５】
特に、ナビゲーション装置等に搭載されるオペレーティングシステムが充分なキャッシュ方式を提供していない場合は、データのリアルタイムの更新等が困難になるという問題がある。
【０００６】
本発明は、上記事情に鑑みてなされたもので、ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行うことができるデータ管理方法、データ管理プログラムおよびナビゲーション装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明のデータ管理方法は、ファイルを所定の管理単位毎に管理するファイル管理テーブルを含むファイルシステムを用いたデータ管理方法であって、アプリケーションに応じて、前記ファイルおよび前記ファイル管理テーブルのデータを記憶装置内の特定の領域に格納する格納ステップと、前記記憶装置内の特定の領域に格納したデータをデバイスドライバが管理するキャッシュに蓄積する蓄積ステップとを含むものである。
【０００８】
この構成により、デバイスドライバが管理するキャッシュに記憶装置に格納したデータが蓄積されるため、ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行うことができる。
【０００９】
また、本発明のデータ管理方法は、前記蓄積ステップが、前記記憶装置に格納したファイルおよびファイル管理テーブルのデータを、それぞれ前記キャッシュの第１の領域と第２の領域とに分割して蓄積するものである。
【００１０】
この構成により、ファイル管理テーブルが纏めて蓄積されるため、ファイルアクセスを効率的に行うことができる。
【００１１】
また、本発明のデータ管理方法は、前記蓄積ステップが、前記記憶装置に格納したファイル管理テーブルのデータを前記キャッシュに蓄積するものである。
【００１２】
この構成により、ファイル管理テーブルのデータのみがキャッシュに蓄積されるため、キャッシュの容量が小さい場合でも、効率的にキャッシュにデータを蓄積することができる。
【００１３】
また、本発明のデータ管理方法は、前記蓄積ステップが、前記記憶装置に格納したファイル管理テーブルのデータのうち、アクセス頻度の高いファイルのファイル管理テーブルのデータを蓄積するものである。
【００１４】
この構成により、アクセス頻度の高いファイルのファイル管理テーブルのデータのみが蓄積されるため、さらに効率的にキャッシュにデータを蓄積することができる。
【００１５】
また本発明のデータ管理方法は、前記蓄積ステップが、前記記憶装置に格納された全てのファイル管理テーブルのデータを蓄積可能な容量のキャッシュを確保してから前記ファイル管理テーブルのデータを蓄積するものである。
【００１６】
この構成により、全てのファイル管理テーブルのデータを蓄積可能な容量のキャッシュが確保されるため、全てのファイル管理テーブルのデータの蓄積が可能となり、ファイルアクセスを効率的に行うことができる。
【００１７】
また、本発明のデータ管理方法は、前記蓄積ステップが、前記キャッシュに蓄積されている記憶時期が古いデータのアドレスに対して新たなデータを書き込むものである。また、本発明のデータ管理方法は、前記蓄積ステップが、前記キャッシュに蓄積されているアクセス頻度の低いデータのアドレスに対して新たなデータを書き込むものである。また、本発明のデータ管理方法は、前記蓄積ステップが、前記キャッシュに蓄積されている参照時期の古いデータのアドレスに対して新たなデータを書き込むものである。
【００１８】
この構成により、キャッシュの容量が一杯になったときに、ＦＩＦＯ方式、ＬＦＵ方式、ＬＲＵ方式で新たなデータが書き込まれるため、キャッシュを効率良く使用することができる。
【００１９】
また、本発明のデータ管理プログラムは、コンピュータに上記データ管理方法に記載のステップを実行させるものである。
【００２０】
この構成により、ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行うことができる。
【００２１】
また、本発明のナビゲーション装置は、上記データ管理プログラムを実行するナビゲーション装置であって、前記記憶装置は特定の領域に自車位置等のリアルタイムの更新が必要なデータを格納するものである。
【００２２】
この構成により、リアルタイムの更新が必要なデータが記憶装置の特定の領域に格納されるため、このデータをキャッシュに蓄積することで、ナビゲーション装置のデータアクセスを効率的に行うことができる。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
本発明の実施の形態のナビゲーション装置を図１に示す。
図１において、ナビゲーション装置１００は、ウインドウズＣＥ（登録商標）等のオペレーティングシステムを搭載したホスト装置１２と、ハードディスクあるいはＳＤメモリカード等の記憶装置４と、ホスト装置１２と、ナビゲーションを実行するアプリケーション１１とを備える。
【００２４】
また、ホスト装置１２は、記憶装置４に格納されたファイルをファイル管理テーブルによって所定の管理単位毎に管理するファイルシステム１と、アプリケーション１１に応じてアクセス頻度の高いデータを優先的にキャッシュするキャッシュ３を管理するデバイスドライバ２とを含む。
【００２５】
本実施形態のナビゲーション装置１００において、アプリケーション１１が記憶装置４にデータを書き込む場合、データはデバイスドライバ２内のキャッシュ３に一旦書き込まれ、キャッシュ３内のデータがその後記憶装置４に書き込まれる。
【００２６】
一方、アプリケーション１１が記憶装置４からデータを読み出す場合は、そのデータがキャッシュ３内にあるかどうかを調べ、あればそのデータをアプリケーション１１に転送し、なければ記憶装置４からそのデータを読み出してキャッシュ３に書き込んだ後、アプリケーション１１に転送する。
【００２７】
従って、アプリケーション１１がアクセスするデータがキャッシュ３にない場合は、データの転送速度は記憶装置４の読み出し速度と同等の速度になってしまい効率的なデータ転送を行うことができない。
【００２８】
そのため、本実施形態のナビゲーション装置１００では、記憶装置４の特定のパーティション（領域）に、アプリケーション１１に応じたアクセス頻度の高いデータをあらかじめ格納し、デバイスドライバ２にそれらのデータが存在する領域のセクタアドレス等の情報を持たせ、アクセス頻度の高いデータを優先的にキャッシュ３に蓄積するようにしている。
【００２９】
図２は、アプリケーション１１に応じてアクセス頻度の高いファイルを指定する優先度テーブル１３の一例を示す。優先度テーブル１３には、例えば、アプリケーションＡＰＰ００１に含まれるファイルｆｉｌｅ００１、ｆｉｌｅ００２、ｆｉｌｅ００３等に対して優先度１、２、３等が割り振られる。ここで、優先度１、２、３の順に優先度が高いとする。
【００３０】
優先度テーブル１３は、あらかじめホスト装置１２の図示しないＲＯＭに書き込んでおいてもよく、あるいは、あらかじめ記憶装置４に格納しておき、ナビゲーション装置１００が起動したときにホスト装置１２に読み込まれるようにしてもよい。
【００３１】
ファイルシステム１は、アプリケーション１１をインストールする場合に優先度テーブル１３を参照し、アプリケーション１１に含まれるファイルを優先度に従って記憶装置４の所定のパーティションに格納する。
【００３２】
図３は、ファイルシステム１が作成したファイル管理テーブル１４の一例を示す。ファイル管理テーブル１４には、例えば、最も優先度の高い優先度１のファイルがパーティションＡに格納され、優先度２、３のファイルがそれぞれパーティションＢ、Ｃに格納される。また、ファイル管理テーブル１４には、アプリケーション１１に含まれるファイルのファイル名、ファイル容量および最新アクセス時刻等のファイル管理データが書き込まれる。
【００３３】
このように本実施形態のナビゲーション装置１００によれば、アプリケーション１１に応じてアクセス頻度の高いデータを記憶装置４の特定のパーティションに格納し、それらのデータをデバイスドライバ２が管理するキャッシュ３に優先的に蓄積できるので、従来のキャッシング方法よりさらに高速なアクセスが可能となる。
【００３４】
また、本実施形態のナビゲーション装置１００では、アクセス頻度の高いデータとして、毎秒数回のアクセスあるいは更新が行われる車両位置情報、走行軌跡情報、および数分ごとにアクセスあるいは更新が行われる受信交通情報等が指定される。
【００３５】
なお、上記の実施形態では、アプリケーション１１に応じてアクセス頻度の高いデータを、優先度テーブル１３を参照して記憶装置４の所定のパーティションに格納したが、記憶装置４のパーティションを作成するときに所定のパーティションにハードコーディングすることも可能である。
【００３６】
また、デバイスドライバ２内でファイル管理テーブルのＭＢＲ（マスターブートレコード）およびＢＰＢ（ＢＩＯＳパラメータブロック）等のパーティション情報を読み、ファイル管理テーブル領域のセクタアドレスを計算することも可能である。
【００３７】
このように、本実施形態のナビゲーション装置１００によれば、ファイルシステム１の下層に位置するデバイスドライバ２にアプリケーション１１に応じてアクセス頻度の高いデータを優先的にキャッシュさせることにより、キャッシュのヒット率が高いデータ管理システムを構築することができる。
【００３８】
図４は、本実施形態のナビゲーション装置１００におけるキャッシュ３の使用法を説明するための図である。キャッシュ３内の領域は、記憶装置４に格納されるファイルを管理するファイル管理テーブルのデータを格納するキャッシュ領域５と、記憶装置４に格納されるファイルのデータを格納するキャッシュ領域６との２つの固定領域に分割される。
【００３９】
そして、記憶装置４が、図４に示すように、例えば、パーティションＡからパーティションＸまでの複数のパーティションに分割されている場合に、パーティションＡ内のファイル管理テーブル領域７およびパーティションＸ内のファイル管理テーブル領域９に格納されているデータを、キャッシュ３のキャッシュ領域５へ蓄積する。そして、パーティションＡ内のファイルのデータ領域８およびパーティションＸ内のファイルのデータ領域１０に格納されているデータを、キャッシュ３内のキャッシュ領域６へ蓄積する。
【００４０】
すなわち、この場合はアプリケーション１１に応じてアクセス頻度の高いデータが記憶装置４のパーティションＡ〜Ｘに分散して格納されている場合であり、キャッシュ３は、パーティションＡ〜Ｘに格納されているそれらのデータを蓄積する。
【００４１】
また、キャッシュ３の容量が一杯になり、各パーティションに格納されているファイルのデータ量がキャッシュ３の容量より多い場合は、キャッシュ３において記憶した時期が最も古いデータ、アクセス頻度が最も低いデータ、あるいは参照時期が最も古いデータが蓄積されている領域に対して新たなデータを蓄積することにより、ファイルアクセスの効率的に行うことができる。
【００４２】
このように本実施形態のナビゲーション装置１００によれば、ファイルシステム１自体が持つキャッシュ方式が不十分である場合においても、ファイルシステム１の下層に位置するデバイスドライバ２においてファイル管理テーブルのデータを優先的にキャッシュすることにより、キャッシュのヒット率が高いナビゲーション装置１００を構築することができる。
【００４３】
図５は、本実施形態のナビゲーション装置１００におけるキャッシュ３の別の使用法を説明するための図である。この場合、キャッシュ３は、記憶装置４に格納されたファイル管理テーブルのみをキャッシュ領域５に蓄積する。
【００４４】
そして、記憶装置４が、パーティションＡからパーティションＸまでの複数のパーティションに分かれている場合に、パーティションＡ内のファイル管理テーブル領域７に格納されているデータおよびパーティションＸ内のファイル管理テーブル領域９に格納されているデータを、キャッシュ３のキャッシュ領域５へ蓄積する。
【００４５】
すなわち、この場合はアプリケーション１１に応じてアクセス頻度の高いデータとして記憶装置４のパーティションＡ〜Ｘに格納されているファイル管理テーブルのみを指定した場合であり、キャッシュ３は、パーティションＡ〜Ｘに格納されているファイル管理データのみを蓄積する。
【００４６】
なお、キャッシュ３の容量をファイル管理テーブルのデータ量と一致させておけば、アクセス頻度の高いファイル管理テーブルのデータの全てをキャッシュ３に蓄積することができ、記憶装置４へのアクセスを低減してハードディスク等の耐久性を向上させることができる。
【００４７】
このように本実施形態のナビゲーション装置１００によれば、組み込みオペレーティングシステムにおいてホスト装置１２内に十分な容量のキャッシュ３を確保できない場合に、ファイル管理テーブルのみを蓄積することにより、少ないキャシュ３を有効に利用して効率的なファイルアクセスを行うことができる。
【００４８】
図６は、本実施形態のナビゲーション装置１００におけるキャッシュ３の別の使用法を説明するための図である。キャッシュ３は、記憶装置４の特定のパーティション、例えばパーティションＡに格納されたファイル管理テーブル７のデータをキャッシュ領域５に蓄積する。
【００４９】
すなわち、この場合はアプリケーション１１に応じてアクセス頻度の高いデータとして記憶装置４のパーティションＡに格納されているファイル管理テーブルのみが指定された場合であり、キャッシュ３は、パーティションＡに格納されているファイル管理テーブルのデータのみを蓄積する。
【００５０】
このように本実施形態のナビゲーション装置１００によれば、組み込みオペレーティングシステム等においてホスト装置１２内に十分な容量のキャッシュ３を確保できない場合に、特に高速なアクセスが必要となる特定のパーティションのファイル管理テーブルのみをキャッシュ対象とすることで、限られた容量のキャシュ３を有効に利用して効率的なファイルアクセスを行うことができる。
【００５１】
【発明の効果】
以上のように本発明は、デバイスドライバが管理するキャッシュに記憶装置に格納したデータを蓄積することにより、ファイルシステムが提供するキャッシュ方式が不十分な場合でも、ファイルアクセスを効率的に行うという効果を有するデータ管理方法、データ管理プログラムおよびナビゲーション装置を提供することができるものである。
【図面の簡単な説明】
【図１】本発明の実施形態におけるナビゲーション装置１００の概略構成を示すブロック図
【図２】アプリケーションに応じてアクセス頻度の高いファイルを指定する優先度テーブルの１例を示す図
【図３】ファイルシステムが作成したファイル管理テーブルの１例を示す図
【図４】本実施形態のナビゲーション装置におけるキャッシュの使用法を説明するための図
【図５】本実施形態のナビゲーション装置におけるキャッシュの別の使用法を説明するための図
【図６】本実施形態のナビゲーション装置におけるキャッシュの別の使用法を説明するための図
【符号の説明】
１  ファイルシステム
２  デバイスドライバ
３  キャッシュ
４  記憶装置
５  ファイル管理テーブルのキャッシュ領域
６  ファイル領域のキャッシュ領域
７、９  ファイル管理テーブル領域
８、１０  ファイル領域
１１  アプリケーション
１２  ホスト装置
１３  優先度テーブル
１４  ファイル管理テーブル
１００  ナビゲーション装置
【図１】
2004334506.tif 000003
【図２】
2004334506.tif 000004
【図３】
2004334506.tif 000005
【図４】
2004334506.tif 000006
【図５】
2004334506.tif 000007
【図６】
2004334506.tif 000008