(57)【要約】【課題】ＭＭＵを使用するＯＳにより管理される主記憶装置へのプログラム等のロード時間の短縮と、データのバックアップ時間の短縮が可能なアクセス装置を提供する。【解決手段】ナビゲーション装置が有するフラッシュメモリには、プログラムが配置される領域であるｔｅｘｔ領域と、バックアップデータが配置される領域であるｂａｃｋｕｐ領域とが設けられている。そして、自車両の運転開始時に、フラッシュメモリにおけるｔｅｘｔ領域及びｂａｃｋｕｐ領域のメモリイメージを、メインメモリにおけるｔｅｘｔ領域とｂａｃｋｕｐ領域とに一括して書き込む。また、自車両の運転終了時に、メインメモリにおけるｂａｃｋｕｐ領域のメモリイメージを、フラッシュメモリにおけるｂａｃｋｕｐ領域に一括して書き込む。【選択図】図３
2010020695.tif 000002
【特許請求の範囲】
【請求項１】
揮発性の記憶手段であって、メモリ管理ユニットを使用するＯＳにより管理されている記憶手段である第一の記憶手段と、
不揮発性の記憶手段である第二の記憶手段と、
前記第一の記憶手段及び前記第二の記憶手段にアクセスする制御手段と、
を備えるアクセス装置であって、
前記第二の記憶手段は、
複数のプログラムが配置されている連続した記憶領域であるプログラム記憶領域と、
前記プログラム記憶領域に配置されている前記プログラムを機能させるべく前記プログラム毎に設けられている各データのバックアップが配置されるための連続した記憶領域であるバックアップ記憶領域と、
を有し、
前記制御手段は、
前記プログラム記憶領域に配置されている前記プログラムを機能させるべく前記プログラム毎に設けられている各データであって、前記第一の記憶手段における連続した記憶領域に配置されているデータを、所定のタイミングにて、前記第二の記憶手段における前記バックアップ記憶領域にバックアップデータとして一括して記憶させるバックアップ手段と、
前記プログラムのロード指令を受けた際、前記第二の記憶手段における前記プログラム記憶領域に配置されている前記プログラムを、一括して前記第一の記憶手段における連続した記憶領域にロードすると共に、前記バックアップデータのロード指令を受けた際、前記第二の記憶手段の前記バックアップ記憶領域に配置されている前記バックアップデータを、一括して前記第一の記憶手段における連続した記憶領域にロードするロード手段と、
を有すること、
を特徴とするアクセス装置。
【請求項２】
請求項１に記載のアクセス装置において、
前記ロード手段は、前記第二の記憶手段における前記プログラム記憶領域に配置されている複数の前記プログラムを、前記第一の記憶手段における所定の連続した記憶領域にロードし、
前記アクセス装置は、前記第一の記憶手段における前記所定の連続した記憶領域にロードされた複数の前記プログラムについて、各プログラムが配置されている記憶領域の先頭の物理アドレスを特定可能な情報であるロードアドレス情報であって、前記ＯＳが参照するための前記ロードアドレス情報を記憶するロードアドレス情報記憶手段をさらに備えること、
を特徴とするアクセス装置。
【請求項３】
請求項１または請求項２に記載のアクセス装置において、
前記第二の記憶手段は、前記プログラム記憶領域と、前記バックアップ記憶領域とを隣接した記憶領域として有しており、
前記ロード手段は、前記プログラムのロード指令と前記バックアップデータのロード指令とを同時に受け、前記第二の記憶手段の前記プログラム記憶領域に配置されている前記プログラムと、前記バックアップ記憶領域に配置されている前記バックアップデータとを、一括して前記第一の記憶手段にロードすること、
を特徴とするアクセス装置。
【請求項４】
請求項１から請求項３のいずれかに記載のアクセス装置において、
前記アクセス装置は、車両に搭載されており、
前記ロード手段は、自車両の運転開始時に前記プログラムのロード指令と、前記バックアップデータのロード指令とを受けること、
を特徴とするアクセス装置。
【請求項５】
請求項１から請求項３のいずれかに記載のアクセス装置において、
前記アクセス装置は、車両に搭載されており、
前記バックアップ手段は、自車両の運転が終了したタイミングにて、前記第一の記憶手段における前記連続した記憶領域に配置されている前記データを、前記第二の記憶手段における前記バックアップ記憶領域に前記バックアップデータとして一括して記憶させること、
を特徴とするアクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理ユニットを使用するＯＳにより管理される主記憶装置を有するアクセス装置に関する。
【背景技術】
【０００２】
従来、組み込みシステムにおけるプログラムやデータ等のアドレス配置は、プログラムの設計時に決定されていた。これらのプログラムやデータ等をフラッシュメモリ等に連続的に配置しておき、例えば、プログラムをＤＲＡＭへロードする際には、フラッシュメモリ等に記憶されているプログラムを、ＤＭＡ等を用いて一括してＤＲＡＭへ書き込んでいた。このため、フラッシュメモリ等に記憶されているプログラム等を、ＤＲＡＭ等へ高速にロードすることができた。
【０００３】
一方、ＭＭＵ（メモリ管理ユニット）を使用するＯＳ（オペレーティングシステム）では、補助記憶装置に記憶されているプログラムを主記憶装置にロードする際、ＯＳのカーネルがこのプログラムをロードするアドレスを決定し、このアドレスを特定可能な情報を記憶しておく。このように、ＯＳがプログラムを主記憶装置にロードする際には、従来の組み込みシステムにおいてプログラムをＤＲＡＭ等にロードする場合と比べて、時間がかかってしまう。また、上記ＯＳのカーネルは、プログラムと共にこのプログラムに用いられるデータをロードする際、このデータを、プログラムと共に主記憶装置における同一の領域内に配置していた。また、補助記憶装置においても、プログラムとこのプログラムのバックアップデータとは同一の領域に共に配置されていた。このため、上記ＯＳのカーネルは、複数のプログラムに用いられるデータのバックアップを行う際には、バックアップデータを補助記憶装置の複数の領域に分散して記憶していた。
【０００４】
また、通常、車載装置には複数のアプリケーションが搭載されている。このため、例えば、車載装置にＭＭＵを使用するＯＳが搭載されている場合、ＯＳのカーネルは、運転開始時に複数のプログラムを主記憶装置にロードしなければならない。さらに、車載装置は、例えば、補助記憶装置等を用いて運転終了時にプログラムの実行に必要なデータのバックアップを行い、運転開始時にこれらのバックアップデータを主記憶装置にロードして処理を行う場合がある。通常、車載装置は、車両の運転開始後、速やかに処理を開始することが要求されているが、運転開始時に多くのプログラムやバックアップデータのロードを行う場合には、車載装置は、速やかに処理を開始することができなくなってしまうおそれがある。また、車載装置は、車両の運転終了後、電力の消費を抑えるため、速やかに終了することが求められている。しかしながら、複数のプログラムについてデータのバックアップを行う際には、車載装置は、バックアップデータを補助記憶装置の複数の領域に記憶しなければならず、複数回にわたって補助記憶装置への書込み処理を実行しなければならない。したがって、バックアップ処理に時間がかかってしまい、車載装置は、運転終了後、速やかに終了することができなくなってしまうおそれがある。
【０００５】
特許文献１には、システムプログラムのダウンロード時間を短縮する方法が記載されている。この方法によれば、システムプログラムの更新部分のみをダウンロードすることができるため、ダウンロード時間を短縮することができる。しかしながら、この方法は、システムプログラムの更新が行われた場合に、システムプログラムのダウンロード時間を短縮するための方法である。このため、主記憶装置にプログラムやバックアップデータをロードする場合や、補助記憶装置にバックアップを行う場合にこの方法を適用したとしても、ロード時間やバックアップ時間を短縮することはできない。
【特許文献１】特開２００２−２９７３８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本願発明は上記課題に鑑みてなされたものであり、ＭＭＵを使用するＯＳにより管理される主記憶装置にプログラム及びバックアップデータをロードする時間を短縮すると共に、補助記憶装置にバックアップを行う時間を短縮することが可能なアクセス装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた請求項１に記載のアクセス装置は、揮発性の記憶手段であって、メモリ管理ユニットを使用するＯＳにより管理されている記憶手段である第一の記憶手段と、不揮発性の記憶手段である第二の記憶手段と、第一の記憶手段及び第二の記憶手段にアクセスする制御手段とを備える。そして、第二の記憶手段は、複数のプログラムが配置されている連続した記憶領域であるプログラム記憶領域と、プログラム記憶領域に配置されているプログラムを機能させるべくプログラム毎に設けられている各データのバックアップが配置されるための連続した記憶領域であるバックアップ記憶領域とを有する。また、制御手段は、プログラム記憶領域に配置されているプログラムを機能させるべくプログラム毎に設けられている各データであって、第一の記憶手段における連続した記憶領域に配置されているデータを、所定のタイミングにて、第二の記憶手段におけるバックアップ記憶領域にバックアップデータとして一括して記憶させるバックアップ手段を有する。また、制御手段は、プログラムのロード指令を受けた際、第二の記憶手段におけるプログラム記憶領域に配置されているプログラムを、一括して第一の記憶手段における連続した記憶領域にロードすると共に、バックアップデータのロード指令を受けた際、第二の記憶手段のバックアップ記憶領域に配置されているバックアップデータを、一括して第一の記憶手段における連続した記憶領域にロードするロード手段を有する。
【０００８】
尚、第一の記憶手段とは、主記憶装置であっても良い。また、第二の記憶手段とは、補助記憶装置であっても良い。
また、プログラムまたはデータを一括してロードするとは、例えば、ＤＭＡＣ等を用いて、所定の記憶手段の所定の記憶領域に記憶されている全てのデータ等を、他の記憶手段の所定の記憶領域に高速に書き込むことを意味する。
【０００９】
ＭＭＵを使用するＯＳにより管理されている主記憶装置にプログラムをロードする際、プログラムをロードする物理アドレスを特定可能な情報であるロードアドレス情報を予め生成しておき、このロードアドレス情報により特定される物理アドレスにプログラムをロードするという方法が知られている。こうすることにより、プログラムをロードする度にロードアドレス情報を生成する場合と比べ、ロード時間を短縮することができる。例えば、このような方法を用いて複数のプログラムのロードを行う場合において、請求項１に記載のアクセス装置のように、第二の記憶手段に複数のプログラムが配置されているプログラム記憶領域を設け、この記憶領域に配置されているプログラムを一括して第一の記憶手段にロードすることにより、プログラム単位で第一の記憶手段へロードを行う場合に比べ、ロード時間を短縮することができる。
【００１０】
さらに、請求項１に記載のアクセス装置は、第一の記憶手段に配置される各プログラムに対応するデータを、第一の記憶手段における連続した領域に配置している。したがって、例えば、各プログラムに対応するデータが複数の領域に配置されている場合に比べ、これらのデータのバックアップ処理を簡素化することができ、バックアップ処理に必要な時間を短縮することが可能となる。また、このアクセス装置では、第二の記憶手段にバックアップデータが配置されているバックアップ記憶領域を設け、この記憶領域に配置されているバックアップデータを一括して第一の記憶手段にロードしている。したがって、例えば、複数の領域に配置されているバックアップデータを第一の記憶手段にロードする場合に比べ、ロード時間を短縮することができる。
【００１１】
このように、請求項１に記載のアクセス装置は、ＭＭＵを利用するＯＳにより管理される主記憶装置にプログラム及びバックアップデータをロードする時間を短縮すると共に、補助記憶装置にバックアップを行う時間を短縮することができる。
【００１２】
また、アクセス装置は、次のようにして、第一の記憶手段にロードされたプログラムの物理アドレスを特定しても良い。
すなわち、請求項２に記載されているように、ロード手段は、第二の記憶手段におけるプログラム記憶領域に配置されている複数のプログラムを、第一の記憶手段における所定の連続した記憶領域にロードしても良い。そして、アクセス装置は、第一の記憶手段における所定の連続した記憶領域にロードされた複数のプログラムについて、各プログラムが配置されている記憶領域の先頭の物理アドレスを特定可能な情報であるロードアドレス情報であって、ＯＳが参照するためのロードアドレス情報を記憶するロードアドレス情報記憶手段をさらに備えても良い。
【００１３】
こうすることにより、アクセス装置は、第一の記憶手段にプログラムをロードする際にプログラムのロード先の物理アドレスを特定する場合に比べ、ロードを行う時間を短縮することができる。
【００１４】
また、ロード手段は、次のようにしてプログラムとバックアップデータとをロードしても良い。
すなわち、請求項３に記載されているように、第二の記憶手段は、プログラム記憶領域と、バックアップ記憶領域とを隣接した記憶領域として有しており、ロード手段は、プログラムのロード指令とバックアップデータのロード指令とを同時に受け、第二の記憶手段のプログラム記憶領域に配置されているプログラムと、バックアップ記憶領域に配置されているバックアップデータとを、一括して第一の記憶手段にロードしても良い。
【００１５】
こうすることにより、第二の記憶手段に記憶されているプログラムとバックアップデータとを第一の記憶手段にロードするために必要な時間を、より短縮することができる。
また、アクセス装置は、次のタイミングでロードを開始しても良い。
【００１６】
すなわち、請求項４に記載されているように、アクセス装置は、車両に搭載されており、ロード手段は、自車両の運転開始時にプログラムのロード指令と、バックアップデータのロード指令とを受けても良い。
【００１７】
こうすることにより、アクセス装置は、運転開始後、速やかに第二の記憶手段に記憶されているプログラムとバックアップデータとを第一の記憶手段にロードすることができる。したがって、アクセス装置は、運転開始後、速やかに処理を開始することが可能となる。
【００１８】
また、アクセス装置は、次のタイミングでバックアップを行っても良い。
すなわち、請求項５に記載されているように、アクセス装置は、車両に搭載されており、バックアップ手段は、自車両の運転が終了したタイミングにて、第一の記憶手段における連続した記憶領域に配置されているデータを、第二の記憶手段におけるバックアップ記憶領域にバックアップデータとして一括して記憶させても良い。
【００１９】
こうすることにより、アクセス装置は、運転終了後、速やかに第一の記憶手段に記憶されているデータのバックアップを行うことができる。したがって、アクセス装置は、運転開始後、速やかに終了することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００２１】
［構成の説明］
図１は、本実施形態のナビゲーション装置１の構成を示すブロック図である。ナビゲーション装置１は、操作部１０、表示部２０、音声出力部３０、ＨＤＤ４０、地図データ入力器５０、制御部６０、位置検出器７０、及び、車内ＬＡＮ通信部８０から構成されている。また、ナビゲーション装置１は、電力を消費しない状態、または、消費電力を低減させた状態である終了モードと、経路案内等の処理を行うことが可能な状態である通常モードとを有している。ナビゲーション装置１は、自車両の運転開始時には、終了モードから通常モードに遷移し、自車両の運転終了時には、通常モードから終了モードに遷移する。
【００２２】
操作部１０は、ユーザからの各種指示を受け付ける部位であり、具体的にはメカニカルなキースイッチや、タッチスイッチ等から構成される。
表示部２０は、各種表示を行う部位であり、具体的にはＬＣＤや有機ＥＬ等から構成される。
【００２３】
音声出力部３０は、制御部６０から入力された信号に基づき音声を出力する部位である。
ＨＤＤ４０は、ＡＴＡＰＩバスを介して制御部６０と接続されている。ＨＤＤ４０は、各種データを記憶することができる。
【００２４】
地図データ入力器５０は、経路案内等を行う際に使用する地図データや、所定の施設を検索する際に用いる施設検索情報等の各種データを入力するための装置である。これらのデータの記憶媒体としては、そのデータ量が膨大であるため、ＤＶＤ−ＲＯＭ等を用いるのが一般的である。
【００２５】
制御部６０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらを接続するバスライン等からなる周知のマイクロコンピュータを中心に構成される。制御部６０は、制御部６０が有するメインメモリにロードされたＯＳを実行し、このＯＳ上で種々の処理を実行する。制御部６０の詳細な構成については後述する。
【００２６】
位置検出器７０は、ＧＰＳ（Global Positioning System）用の人工衛星からの電波を、図示しないＧＰＳアンテナを介して受信して車両の位置、方位、速度等を検出するＧＰＳ受信器７１と、車両に加えられる回転運動の大きさを検出するジャイロスコープ７２と、車両の前後方向の加速度等から走行した距離を検出する距離センサ７３とを備えている。そして、これらは、各々が性質の異なる誤差を有しているため、互いに補完しながら使用するように構成されている。
【００２７】
車内ＬＡＮ通信部８０は、図示しない車内ＬＡＮを介して種々の情報の送受信を行う部位である。
また、図２は、ナビゲーション装置１の制御部６０の構成を示すブロック図である。制御部６０は、ＣＰＵ６１と、ＡＴＡＰＩ  Ｉ／Ｆ６２と、ＤＭＡＣ６３と、メインメモリ６４と、フラッシュメモリ６５とを有しており、これらの構成要素は、内部バスを介して接続されている。
【００２８】
ＣＰＵ６１は、メインメモリ６４にロードされたプログラムに従い内部バスに接続されている各構成要素を制御し、種々の制御を行う部位である。ＣＰＵ６１は、ＭＭＵを内蔵している。
【００２９】
ＡＴＡＰＩ  Ｉ／Ｆ６２は、ＡＴＡＰＩバスを介して接続されているＨＤＤ４０との通信の制御を行う部位である。
ＤＭＡＣ６３は、内部バスを介して、フラッシュメモリ６５の所定のアドレスに記憶されているデータを、メインメモリ６４の所定のアドレスに書き込む部位である。
【００３０】
メインメモリ６４は、ＤＲＡＭと、ＤＲＡＭを制御するメモリコントローラ等から構成されている部位である。メインメモリ６４には、ＯＳと、このＯＳ上から起動されるアプリケーションプログラムがロードされる。このＯＳは、ＣＰＵ６１に内蔵されているＭＭＵを使用して仮想記憶管理等を行う。
【００３１】
フラッシュメモリ６５は、記憶内容を書き換え可能な周知のフラッシュメモリである。
［動作の説明］
次に、ナビゲーション装置１の動作について説明する。
【００３２】
（１）メインメモリ、及びフラッシュメモリのメモリイメージについて
図３の（ａ）は、ナビゲーション装置１の制御部６０が備えるメインメモリ６４のメモリイメージである。メインメモリ６４は、ｈｅａｐ領域６４ａと、ｃａｃｈｅ領域６４ｂと、ｔｅｘｔ領域６４ｃと、ｂａｃｋｕｐ領域６４ｄという領域を有している。
【００３３】
ｈｅａｐ領域６４ａとは、ＯＳが、アプリケーションプログラムを実行する際に必要となる記憶領域を動的に確保するための領域である。ヒープ領域は、２種類のラベルを持つ双方向リストによって構成されている。初期状態では、リストはひとつの「未使用」ノードが全体を占めていて、メモリ確保関数(Ｃ言語のｍａｌｌｏｃ、Ｃ＋＋のｎｅｗ等)によって、「未使用」ノードから必要な分を切り取って「使用中」ノードと「未使用」ノードに分ける。確保したメモリが不要になった場合には、メモリ解放関数(Ｃ言語のｆｒｅｅ、Ｃ＋＋のｄｅｌｅｔｅ等)によってノードのラベルを「未使用」に書き換える。解放のつど、あるいはカウンタによって一定水準に達した時、連続した個々の「未使用」ノードが結合され、大きな「未使用」ノードに還元される。「未使用」ノードが不足した場合には、オペレーティングシステムに領域拡大を要求し、ヒープ領域が拡大される。尚、「未使用ノード」と「使用中」ノードが混在し、ヒープ領域がバラバラに分断された状態をフラグメンテーション状態と呼ぶ。
【００３４】
ｃａｃｈｅ領域６４ｂとは、ＨＤＤ４０から読み出されたデータや、地図データ入力器５０を介して読み出されたデータのうち、ＣＰＵ６１によりアクセスされる頻度が高いデータが格納される領域である。本実施形態では、メインメモリ６４にｃａｃｈｅ領域６４ｂを設け、上述したデータを記憶させることにより、ＣＰＵ６１からＨＤＤ４０へのアクセス速度や、地図データ入力器５０を介して読み出されるデータへのアクセス速度を向上させている。尚、通常、ＣＰＵ等の処理装置が情報を取得する際に、メインメモリやバス等の遅延を隠蔽し、処理装置とメインメモリ等との性能差を埋めるために、処理装置とメインメモリとの間に設けられている高速小容量メモリのことをキャッシュメモリ、またはキャッシュと呼ぶ。本実施形態では、ＨＤＤ４０等へのアクセス速度を向上させるためにメインメモリ６４に設けられている領域を、ｃａｃｈｅ領域６４ｂと呼んでいる。
【００３５】
ｔｅｘｔ領域６４ｃとは、ＣＰＵ６１により実行されるプログラムが配置される領域である。ＣＰＵ６１がこの領域に配置されているプログラムに従い処理を行うことにより、ナビゲーション装置１の制御が行われる。この領域には、ＯＳや、ＯＳ上から起動される複数のアプリケーションプログラム等が配置される。
【００３６】
ｂａｃｋｕｐ領域６４ｄとは、ｔｅｘｔ領域６４ｃに配置されている各プログラムが機能する際に用いられるデータのうち、バックアップが必要なデータが配置される領域である。
【００３７】
尚、メインメモリ６４は、上述した領域以外にも、メインメモリ６４にロードされたプログラムの物理アドレスを特定するための情報であるロードアドレス情報を記憶するための領域であるデータ領域を有している（図示なし）。尚、このデータ領域は、ｔｅｘｔ領域６４ｃに配置されているＯＳのカーネルにより管理される領域である。
【００３８】
また、図３の（ｂ）は、ナビゲーション装置１の制御部６０が備えるフラッシュメモリ６５のメモリイメージである。フラッシュメモリ６５は、ｔｅｘｔ領域６５ａと、ｂａｃｋｕｐ領域６５ｂという二つの隣接した領域を有している。
【００３９】
ｔｅｘｔ領域６５ａとは、ナビゲーション装置１が終了モードから通常モードに遷移した際の、メインメモリ６４におけるｔｅｘｔ領域６４ｃのメモリイメージが記憶されている領域である。
【００４０】
ｂａｃｋｕｐ領域６５ｂとは、メインメモリ６４におけるｂａｃｋｕｐ領域６４ｄに配置されたデータのバックアップを行うための領域である。
尚、フラッシュメモリ６５は、上述した領域以外にも、ロードアドレス情報を記憶するための領域であるデータ領域を有している（図示なし）。
【００４１】
（２）メモリイメージ生成処理について
次に、ナビゲーション装置１のＨＤＤ４０に記憶されているプログラムを制御部６０が有するメインメモリ６４のｔｅｘｔ領域６４ｃに配置することにより、ｔｅｘｔ領域６４ｃのメモリイメージを生成すると共に、ｔｅｘｔ領域６４ｃにロードされたプログラムの物理アドレスを特定するための情報であるロードアドレス情報を生成する処理であるメモリイメージ生成処理について説明する。本処理は、ナビゲーション装置１の電源投入時にフラッシュメモリ６５にプログラムが存在しない場合（つまり、初回起動時）に実行される処理である。
【００４２】
Ｓ１０５では、ナビゲーション装置１の制御部６０は、ＨＤＤ４０に記憶されているデータを解析してメインメモリ６４にロードすべきプログラムを特定し、Ｓ１１０に処理を移行する。
【００４３】
Ｓ１１０では、制御部６０は、Ｓ１０５にて特定したプログラムを、全てメインメモリ６４にロードしたか否かを判定する。特定したプログラムが全てメインメモリ６４にロードされた場合（Ｓ１１０：Ｙｅｓ）、制御部６０は、Ｓ１３５に処理を移行する。特定したプログラムが全てメインメモリ６４にロードされていない場合（Ｓ１１０：Ｎｏ）、制御部６０は、Ｓ１１５に処理を移行する。
【００４４】
Ｓ１１５では、制御部６０は、Ｓ１０５にて特定したプログラムの中からメインメモリ６４にロードするプログラムを選択し、選択したプログラムをロードする物理アドレスを特定する。具体的には、制御部６０は、メインメモリ６４のｔｅｘｔ領域６４ｃにおいてプログラムがロードされていない領域である未使用領域の先頭の物理アドレスを、プログラムをロードする物理アドレスとして特定する。そして、制御部６０は、Ｓ１２０に処理を移行する。
【００４５】
Ｓ１２０では、制御部６０は、Ｓ１１５にて選択したプログラムのサイズを特定し、このプログラムのサイズと、ｔｅｘｔ領域６４ｃにおける未使用領域のサイズとを比較する。このプログラムのサイズが未使用領域のサイズ以下である場合（Ｓ１２０：Ｙｅｓ）、制御部６０は、プログラムのロードが可能であるとみなし、Ｓ１２５に処理を移行する。このプログラムのサイズが未使用領域のサイズよりも大きい場合（Ｓ１２０：Ｎｏ）、制御部６０は、プログラムのロードが不可能であるとみなし、本処理を終了する。
【００４６】
Ｓ１２５では、制御部６０は、Ｓ１１５にて選択したプログラムを、ＡＴＡＰＩ  Ｉ／Ｆ６２を介してＨＤＤ４０から読み出し、ｔｅｘｔ領域６４ｃにおける未使用領域の先頭の物理アドレスから始まる記憶領域に記憶する。そして、制御部６０は、Ｓ１３０に処理を移行する。
【００４７】
Ｓ１３０では、制御部６０は、Ｓ１２５にてメインメモリ６４に記憶したプログラムの物理アドレスを特定し、このプログラムと特定した物理アドレスとを関連付けて、ロードアドレス情報としてメインメモリ６４におけるデータ領域に記憶させる。そして、制御部６０は、Ｓ１１０に処理を移行する。
【００４８】
ロードすべきプログラムが全てメインメモリ６４にロードされた場合に移行するＳ１３５では、制御部６０は、メインメモリ６４におけるｔｅｘｔ領域６４ｃのメモリイメージを、フラッシュメモリ６５におけるｔｅｘｔ領域６５ａに記憶する。また、制御部６０は、メインメモリ６４におけるデータ領域に記憶されているロードアドレス情報を、フラッシュメモリ６５におけるデータ領域に記憶させる。そして、制御部６０は、本処理を終了する。
【００４９】
（３）バックアップ処理について
次に、ナビゲーション装置１の制御部６０が有するメインメモリ６４におけるｂａｃｋｕｐ領域６４ｄに記憶されているデータを、フラッシュメモリ６５におけるｂａｃｋｕｐ領域６５ｂにバックアップする処理であるバックアップ処理について説明する。図５の（ａ）は、バックアップ処理について説明するためのフローチャートである。本処理は、自車両の運転終了時に、ナビゲーション装置１が終了モードに遷移する際に実行される処理である。
【００５０】
Ｓ２０５では、ナビゲーション装置１の制御部６０は、メインメモリ６４におけるｂａｃｋｕｐ領域６４ｄに記憶されている全てのデータを、フラッシュメモリ６５におけるｂａｃｋｕｐ領域６５ｂに書き込む。そして、全てのデータの書き込みが終了すると、制御部６０は、処理を終了する。
【００５１】
（４）ロード処理について
次に、ナビゲーション装置１の制御部６０が有するフラッシュメモリ６５におけるｔｅｘｔ領域６５ａに記憶されているプログラムと、ｂａｃｋｕｐ領域６５ｂに記憶されているバックアップデータとを、メインメモリ６４におけるｔｅｘｔ領域６４ｃ及びｂａｃｋｕｐ領域６４ｄに一括してロードする処理であるロード処理について説明する。図５の（ｂ）は、ロード処理について説明するためのフローチャートである。本処理は、自車両の運転が開始され、ナビゲーション装置１が終了モードから通常モードに復帰する際に実行される処理である。
【００５２】
Ｓ３０５では、ナビゲーション装置１の制御部６０は、フラッシュメモリ６５のデータ領域に記憶されているロードアドレス情報を読み出してメインメモリ６４のデータ領域に記憶し、Ｓ３１０に処理を移行する。
【００５３】
Ｓ３１０では、制御部６０は、フラッシュメモリ６５におけるｔｅｘｔ領域６５ａに記憶されているプログラムと、ｂａｃｋｕｐ領域６５ｂに記憶されているバックアップデータとを、メインメモリ６４におけるｔｅｘｔ領域６４ｃ及びｂａｃｋｕｐ領域６４ｄに一括してロードする。このとき、制御部６０は、ＤＭＡＣ６３を用いて、フラッシュメモリ６５におけるｔｅｘｔ領域６５ａの先頭アドレスから、ｂａｃｋｕｐ領域６５ｂの最終アドレスに記憶されているデータを、メインメモリ６４におけるｔｅｘｔ領域６４ｃ及びｂａｃｋｕｐ領域６４ｄに一括して転送する。そして、制御部６０は、本処理を終了する。
【００５４】
以後、制御部６０のＣＰＵ６１は、メインメモリ６４のｔｅｘｔ領域６４ｃにロードされたＯＳを実行する。そして、ＯＳにより制御されるＣＰＵ６１は、メインメモリ６４のデータ領域に記憶されているロードアドレス情報を参照してｔｅｘｔ領域６４ｃにロードされたアプリケーションプログラムの物理アドレスを特定し、アプリケーションプログラムを実行する。
【００５５】
［効果］
本実施形態のナビゲーション装置１は、自車両の運転終了時に、メインメモリ６４における一領域であるｂａｃｋｕｐ領域６４ｄに記憶されているデータを、フラッシュメモリ６５におけるｂａｃｋｕｐ領域６５ｂに一括して書き込むことにより、ｂａｃｋｕｐ領域６４ｄに記憶されているデータのバックアップを行う（Ｓ２０５）。したがって、ナビゲーション装置１は、バックアップすべきデータがメインメモリ６４の複数の領域に配置されている場合に比べ、データのバックアップを行うための時間を短縮することができ、自車両の運転終了後、速やかに終了モードに遷移することができる。
【００５６】
また、ナビゲーション装置１によれば、自車両の運転開始時に終了モードから通常モードに遷移する際に、フラッシュメモリ６５に連続的に配置されているｔｅｘｔ領域６５ａとｂａｃｋｕｐ領域６５ｂのメモリイメージが、ＤＭＡＣ６３によりメインメモリ６４におけるｔｅｘｔ領域６４ｃとｂａｃｋｕｐ領域６４ｄとに一括してロードされる（Ｓ３１０）。したがって、ナビゲーション装置１は、プログラムやバックアップデータがフラッシュメモリ６５の複数の領域に配置されている場合に比べ、プログラム及びバックアップデータをロードする時間を短縮することができ、自車両の運転開始後、速やかに処理を開始することが可能となる。
【００５７】
また、ナビゲーション装置１は、メインメモリ６４におけるｔｅｘｔ領域６４ｃのメモリイメージを生成する際、ｔｅｘｔ領域６４ｃに配置されたプログラムの物理アドレスを特定可能な情報であるロードアドレス情報を生成し（Ｓ１３０）、フラッシュメモリ６５のデータ領域に記憶する（Ｓ１３５）。そして、制御部６０は、メインメモリ６４にプログラムをロードする際に、フラッシュメモリ６５のデータ領域に記憶されているロードアドレス情報を読み出してメインメモリ６４のデータ領域に記憶する（Ｓ２０５）。そして、ＯＳの実行を開始した制御部６０のＣＰＵ６１は、メインメモリ６４のデータ領域に記憶されているロードアドレス情報を参照してｔｅｘｔ領域６４ｃにロードされたアプリケーションプログラムの物理アドレスを特定し、アプリケーションプログラムを実行する。したがって、制御部６０は、メインメモリ６４にプログラムをロードする度にロードアドレス情報を生成する場合と比べ、メインメモリ６４にプログラムをロードする時間を短縮することができる。
【００５８】
［他の実施形態］
（１）ナビゲーション装置１は、制御部６０が有するフラッシュメモリ６５を用いて、メインメモリ６４のｔｅｘｔ領域６４ｃのメモリイメージの保存と、ｂａｃｋｕｐ領域６４ｄのバックアップとを行っている。しかし、ナビゲーション装置１は、例えば、ＨＤＤ４０を用いて、メインメモリ６４のｔｅｘｔ領域６４ｃのメモリイメージの保存と、ｂａｃｋｕｐ領域６４ｄのバックアップとを行っても良い。このような構成を有する場合であっても、同様の効果を得ることができる。
【００５９】
（２）ナビゲーション装置１の制御部６０が有するメインメモリ６４には、プログラムが配置される領域であるｔｅｘｔ領域６４ｃと、バックアップが必要なデータが配置される領域であるｂａｃｋｕｐ領域６４ｄとは、互いに隣接した領域として設けられている。しかし、これらの領域は、離れた領域として設けられていても良い。また、フラッシュメモリ６５には、プログラムが配置される領域であるｔｅｘｔ領域６５ａと、バックアップを行うための領域であるｂａｃｋｕｐ領域６５ｂとは、互いに隣接した領域として設けられている。しかし、これらの領域もまた、離れた領域として設けられていても良い。このような構成を有する場合であっても、フラッシュメモリ６５におけるｔｅｘｔ領域６５ａと、ｂａｃｋｕｐ領域６５ｂとに配置されているデータを、領域毎に一括してメインメモリ６４にロードすることができる。したがって、プログラム単位でロードを行う場合に比べ、ロード時間を短縮することができる。
【００６０】
［特許請求の範囲との対応］
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
【００６１】
ナビゲーション装置１がアクセス装置に相当する。
また、メインメモリ６４のデータ領域がロードアドレス情報記憶手段に相当する。
また、メインメモリ６４が第一の記憶手段に、フラッシュメモリ６５が第二の記憶手段に、ＣＰＵ６１及びＤＭＡＣ６３が制御手段にそれぞれ相当する。
【００６２】
また、ＣＰＵ６１がバックアップ手段に、ＤＭＡＣ６３がロード手段にそれぞれ相当する。
また、メインメモリ６４におけるｔｅｘｔ領域６４ｃが所定の連続した記憶領域に相当し、フラッシュメモリ６５におけるｔｅｘｔ領域６５ａがプログラム記憶領域に、ｂａｃｋｕｐ領域６５ｂがバックアップ記憶領域にそれぞれ相当する。
【図面の簡単な説明】
【００６３】
【図１】ナビゲーション装置１の構成を示すブロック図である。
【図２】ナビゲーション装置１が備える制御部６０の構成を示すブロック図である。
【図３】メインメモリ６４及びフラッシュメモリ６５のメモリイメージを示すブロック図である。
【図４】メモリイメージ生成処理について説明するためのフローチャートである。
【図５】バックアップ処理及びロード処理について説明するためのフローチャートである。
【符号の説明】
【００６４】
１…ナビゲーション装置、１０…操作部、２０…表示部、３０…音声出力部、４０…ＨＤＤ、５０…地図データ入力器、６０…制御部、６１…ＣＰＵ、６２…ＡＴＡＰＩ  Ｉ／Ｆ、６３…ＤＭＡＣ、６４…メインメモリ、６４ａ…ｈｅａｐ領域、６４ｂ…ｃａｃｈｅ領域、６４ｃ…ｔｅｘｔ領域、６４ｄ…ｂａｃｋｕｐ領域、６５…フラッシュメモリ、６５ａ…ｔｅｘｔ領域、６５ｂ…ｂａｃｋｕｐ領域、７０…位置検出器、７１…ＧＰＳ受信器、７２…ジャイロスコープ、７３…距離センサ、８０…車内ＬＡＮ通信部。
【図１】
2010020695.tif 000003
【図２】
2010020695.tif 000004
【図３】
2010020695.tif 000005
【図４】
2010020695.tif 000006
【図５】
2010020695.tif 000007