JP4330200B2 - Navigation device - Google Patents

Navigation device Download PDF

Info

Publication number
JP4330200B2
JP4330200B2 JP4639599A JP4639599A JP4330200B2 JP 4330200 B2 JP4330200 B2 JP 4330200B2 JP 4639599 A JP4639599 A JP 4639599A JP 4639599 A JP4639599 A JP 4639599A JP 4330200 B2 JP4330200 B2 JP 4330200B2
Authority
JP
Japan
Prior art keywords
data
transfer
processing unit
disk
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP4639599A
Other languages
Japanese (ja)
Other versions
JP2000242601A (en
Inventor
太 西田
進 竹嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kenwood KK
Sumitomo Electric Industries Ltd
Original Assignee
Kenwood KK
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kenwood KK, Sumitomo Electric Industries Ltd filed Critical Kenwood KK
Priority to JP4639599A priority Critical patent/JP4330200B2/en
Publication of JP2000242601A publication Critical patent/JP2000242601A/en
Application granted granted Critical
Publication of JP4330200B2 publication Critical patent/JP4330200B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明はナビゲーション装置に関し、特にディスク状の記憶媒体からデータをメモリに転送する装置であって、使用環境条件が厳しい車載機器などに好適なナビゲーション装置に関する。
【0002】
【従来の技術】
従来よりディスク状の記憶媒体(たとえばCD−ROM、DVDなど)からメモリへのデータ転送を行なう方式として、ダイレクトメモリアクセス(DMA)方式が知られている。これは中央処理装置(以下CPUという)がDMA処理部に対して、メモリにおいてデータを格納する先頭アドレスとデータの転送サイズとを指定することで、以降は記憶媒体から順番に送られてくるデータを、指定されたメモリアドレスから連続的にCPUの処理に依存せずにDMA処理部がデータ転送を行なう方式である。
【0003】
図11は、従来のデータ転送管理装置の構成を示すブロック図である。図を参照して、データ転送管理装置は、CPU101と、DMA処理部103と、メモリ105と、ディスク読取装置107と、ディスク109とから構成される。
【0004】
CPU101からの要求に基づき、ディスク109の所望の領域のデータがDMA処理部103によりメモリ105の所望のアドレスに転送される。
【0005】
CPU101は、ディスク読取装置107に対し、ディスク109の所望の領域のデータの転送を要求する(データ転送要求制御)。ディスク読取装置107は、DMA処理部103へデータ転送の要求を行なう。DMA処理部103は、ディスク読取装置107へデータ転送の許可を行なう。
【0006】
CPU101は、DMA処理部103の制御と、バスの使用許可とを行なう。DMA処理部103は、CPU101に対して転送終了通知やバス使用要求を出力する。
【0007】
ディスク109は、複数の領域(たとえば領域A〜C)に分割されており、それぞれの領域を単位としてデータは格納されている。
【0008】
ここでは、ディスク109の領域Aの一部である領域A1と領域A2とのデータを読出し、それぞれメモリ105のアドレスWWWW〜WWWW+L1の領域およびアドレスXXXX〜XXXX+L2の領域に格納し、領域Cからデータを読出し、メモリ105のアドレスZZZZ〜ZZZZ+Nの領域に格納する場合を想定する。
【0009】
すなわち、ディスク109の領域Bのデータはここでは不要のデータである。
【0010】
図12は、CPU101、メモリ105、DMA処理部103およびディスク読取装置107との間でのデータのやり取りを説明するための図である。
【0011】
まず、ステップ(I)において、CPU101は、DMA処理部103に対してメモリ105へのデータの格納を行なうスタートアドレスWWWWと、転送バイト数L1とを設定する。CPU101は、ディスク読取装置107に対し、ディスクの領域Aの先頭からL1サイズ(L1バイト)分のデータを出力するよう要求する。
【0012】
この要求を受けて、ディスク読取装置107は、停止状態から駆動状態に移行する。ディスク読取装置107のヘッドは、領域Aの先頭直前に移動し、データの読取の準備を行なう。その後、ディスク読取装置107において、領域Aの先頭の最初のセクタの読取が終了すると、データの転送が開始される。
【0013】
ステップ(II)において、ディスク読取装置107はDMA処理部103に対し、1バイト目のデータの転送要求を行なう。これを受けてDMA処理部103は、CPU101に対しCPUバスの使用要求を出力する。CPU101は、DMA処理部103に対しCPUバスの使用許可を出力する。
【0014】
その後、DMA処理部103は、メモリ105に対し転送先アドレスWWWWを通知し、一方ディスク読取装置107に対しデータ転送許可を行なう。その後、ディスク読取装置から1バイト目のデータがDMA処理部103を介し、メモリ105に書込まれる。
【0015】
このとき、DMA処理部103は転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。その後、図12における▲1▼で示される処理が繰返し行なわれる。ディスク読取装置107においてL1バイト分のデータの読取が終了したのであれば、ディスク109の回転が停止状態となる。
【0016】
ステップ(III)において、ディスク読取装置107からDMA処理部103に対し、L1バイト目のデータ転送要求が送られ、DMA処理部103がCPU101に対しCPUバスの使用要求を出力し、CPU101がDMA処理部103に対しCPUバスの使用許可を出力したのであれば、DMA処理部103は、メモリ105に対しアドレスWWWW+L1を指定し、ディスク読取装置107に対しデータ転送許可を与える。
【0017】
その後、ディスク読取装置107からDMA処理部103を介しL1バイト目のデータがメモリ105へ書込まれる。このとき、▲1▼で示される部分と同様に、転送先アドレスは1インクリメントされ、転送バイト数は1デクリメントされる。転送バイト数を1デクリメントすると「0」となるため、DMA処理部はデータの転送が終了したことを検出する。この検出結果に応じて、DMA処理部103はCPU101に対し転送終了の割込処理を行なう。
【0018】
図12において▲2▼で示されるステップ(I)〜(III)の動作がスタートアドレスXXXX、スタートアドレスZZZZに対しても同様に行なわれる。
【0019】
すなわち、CPU101は、DMA処理部103に対しスタートアドレスXXXX、転送バイト数L2を設定し、ディスク読取装置に領域Aの先頭+L1の位置からL2バイトのデータを要求する。その後、CPU101は、DMA処理部103に対し、スタートアドレスZZZZ、転送バイト数Nを設定し、ディスク読取装置に領域Cの先頭からNバイト分のデータの出力を要求する。
【0020】
この動作により、ディスク109の領域A1とA2のデータが、メモリ105のアドレスWWWW〜WWWW+L1およびアドレスXXXX〜XXXX+L2の領域に格納される。また、領域Cのデータが、メモリ105のアドレスZZZZ〜ZZZZ+Nの領域に格納される。
【0021】
【発明が解決しようとする課題】
しかしながら、従来のデータ転送管理装置には以下に述べる問題点があった。
【0022】
[問題点1]
従来のデータ転送管理装置においては、ディスク状の記憶媒体の不連続なデータ領域を、不連続のメモリ領域に転送する必要があるため、ディスクへのデータ転送要求やDMA処理部の制御頻度が高く、CPUのオーバヘッドが多い。
【0023】
特に、ナビゲーション装置などで使用される地図データは、メッシュという概念で格納されており、CPUが必要とする地図データは、ディスク状で離散的な状態で格納されている場合が多い。したがって、必要なデータのみ記憶媒体に対して要求するには、複数回のデータ転送要求を行なう必要がある。
【0024】
一方、CPU側でもメッシュの概念でデータの演算を行なっているため、地図表示を画面上で移動させる場合などにおいては、不要となるデータが離散的に発生する。すなわち、メモリの使用効率が悪くなるため、適宜必要なデータのみを連続的な領域に集約して、大きなメモリの連続空間を確保し、次のデータ転送が可能となるようにするガベージコレクションを行なう必要がある。
【0025】
しかしながら、ガベージコレクションを行なうと、データ整理のためにCPUの処理時間を使用することとなる。これに対し、論理アドレスと物理アドレスとの変換を行なうメモリマネージメントユニット(MMU)を使用することで、このようなデータ整理の時間がなくなるが、MMUを使用するとメモリの空き空間が細切れに離散的に発生するため、DMA処理部の制御頻度が高くなるというデメリットが発生する。
【0026】
[問題点2]
ディスク状においてピックアップの近距離の移動を繰返しながらデータを読むと、不要部分まで含めて一括してデータを読んだ場合より、多くの時間が必要となる。
【0027】
ピックアップの移動距離が短い場合には、ピックアップを必要な場所に移動させる時間よりも、フォーカス合わせを行ない、指定された場所のデータリードを可能とするまでの時間の方が長い。したがって、複数回の近距離移動を行ないながら、必要部分のみのデータ読出を行なうと、不要部分まで含めて一括して連続的にデータ読出を行なうよりも長い時間が必要となる。
【0028】
しかしながら、不要なデータまで含めて一括してデータを読込むことは、メモリ使用効率が悪くなることを意味する。また、MMU使用の場合は、メモリ上でそのような連続した物理アドレス領域を確保することができない場合が多い。
【0029】
[問題点3]
ナビゲーション装置においては、データ読出装置のモータに掛かるストレスがパーソナルコンピュータなどに比べ大きい。
【0030】
ナビゲーション装置においては、メッシュ状に分割された地図データを読込み、データ処理を行なうため、ディスク状の記憶媒体から連続した大量のデータを読込む場合は少ない。すなわち、ディスク状の記憶媒体からは小刻みにお互いに近くにあるデータを不連続に読出すことが多い。そのため、データ読出におけるピックアップの位置制御を行なうモータは起動、高速回転、読出中の低速回転、および停止を繰返すことになり、モータにはストレスの掛かる起動、および停止の生じる頻度が高くなる。
【0031】
したがって、ナビゲーション装置におけるモータは使用される部品の中で摩耗および故障しやすいものとなっている。特にナビゲーション装置を車両に搭載する場合には、温度や振動などの動作環境の条件も悪く、モータに対し極力ストレスを与えない配慮が必要である。
【0032】
[問題点4]
記憶媒体から転送されるデータのデータバス幅に対して、メモリのデータバス幅が広いため、CPUのバス使用効率が悪いという問題点が従来のデータ転送管理装置にはあった。
【0033】
すなわち、ディスク読取装置から転送されるデータのビット幅は8ビットまたは16ビットであるが、最近においてナビゲーション装置の高機能化に伴い、32ビットCPUが用いられることが多い。すなわち、メモリのデータ幅は32ビットである。したがって、記憶媒体のデータバス幅が8ビットの場合は、1回のDMA転送にて有効な部分はCPUデータバスの1/4であり、無駄が多い。
【0034】
そこでこの発明の目的は、効率的なデータ転送を行なうことができるナビゲーション装置を提供することである。
【0035】
この発明の他の目的は、処理速度の速いナビゲーション装置を提供することである。
【0036】
この発明のさらに他の目的は、装置に掛かるストレスを小さくすることができるナビゲーション装置を提供することである。
【0037】
この発明のさらに他の目的は、データ転送を有効に行なうことができるナビゲーション装置を提供することである。
【0038】
【課題を解決するための手段】
上記目的を達成するためこの発明のある局面に従うと、ナビゲーション装置は、
車両に搭載可能なナビゲーション装置であって、
ディスク状の記憶媒体からデータ読出を行なうディスク読取装置と、
前記ディスク読取装置が読出したデータを格納するメモリと、
前記ディスク読取装置と前記メモリとのそれぞれに接続され、それぞれを制御するDMA処理部と、
前記ディスク読取装置と前記メモリと前記DMA処理部とのそれぞれに接続され、装置全体を制御する中央制御装置と、
データの転送アドレスと転送するデータのサイズと転送の制御のためのフラグとを含むコマンドを少なくとも1つ記憶する記憶手段とを備え、
前記メモリは、前記中央制御装置を介して前記ディスク読取装置と接続されるルートとは別に前記DMA処理部を介して前記ディスク読取装置と接続され、前記ディスク読取装置から前記DMA処理部を介した前記メモリへのデータの書込は前記中央制御装置の動作とは独立して行なうことが可能で、
前記記憶手段は、前記データの転送アドレスと前記転送するデータのサイズとのうちの少なくとも1つを簡略化して記憶し、該簡略化して記憶されたコマンドは1回の読出動作で読出が可能であり、
前記ディスク読取装置は、前記ディスク状の記憶媒体から、転送不要なデータをも含む連続したデータの読出を行ない、
前記DMA処理部は、
前記ディスク読取装置からのデータを一時的にラッチするレジスタを備え、
前記記憶手段に記憶されたコマンドに基づいて前記ディスク読取装置が読出したデータのうち、前記転送不要なデータを除いて前記メモリに格納させ、
前記レジスタが前記中央制御装置のデータバス幅分のデータをラッチしたときに、該ラッチしたデータを転送する。
【0039】
この発明によると、ディスク状の記憶媒体から転送不要なデータを含む連続したデータの読出が行なわれ、転送不要なデータを除いたデータがメモリに格納されるため、効率的なデータ転送を行なうことがで、処理速度が速く装置に掛かるストレスを小さくすることができるナビゲーション装置を提供することが可能となる。
【0041】
らにレジスタが中央制御装置のデータバス幅分のデータをラッチしたときに、該ラッチしたデータを転送するため、データの転送を有効に行なうことができ
また、1回の読出動作により1つのコマンドの読出ができるため、より効率的な処理を行なうことができる。
【0042】
好ましくは、中央処理装置は、エンディアン制御情報を出力し、レジスタにおけるデータの格納順序はエンディアン制御情報に基づいて変化することを特徴とする。
【0043】
この発明によると上述の効果に加えて、エンディアンが異なる場合にもデータの転送を容易に行なうことができる。
【0048】
【発明の実施の形態】
[第1の実施の形態]
図1は、本発明の第1の実施の形態におけるデータ転送管理装置を備えたナビゲーション装置の構成を示すブロック図である。
【0049】
図を参照して、ナビゲーション装置は、装置全体の制御を行なうCPU101と、装置が起動されたときに実行されるプログラムなどを記憶するROM109と、GPSや車速検出部やジャイロセンサなどにより構成され、車両の現在位置を検出する位置検出部111と、車両の現在位置に車両の付近の地図を重畳して表示するディスプレイ113と、車両の目的地などを入力する入力装置115と、ディスク状の記憶媒体からのデータや後述する転送コマンドデータ列を記憶するメモリ105と、ディスク状の記憶媒体およびメモリ105へのダイレクトメモリアクセスの制御を行なうDMA処理部103と、ディスク状の処理媒体からデータを読取り、出力するディスク読取装置107とから構成されている。
【0050】
メモリ105とDMA処理部103、DMA処理部103とディスク読取装置107はそれぞれ接続されているため、ディスク読取装置107からDMA処理部103を介したメモリ105へのデータの書込はCPU101の動作とは独立して行なうことができる。
【0051】
図2は、図1のナビゲーション装置に含まれるデータ転送管理装置の構成を示すブロック図である。本実施の形態におけるデータ転送管理装置は、図11に示される従来の装置と比較して、メモリ105に転送コマンドデータ列記憶部105a(図3)を備えることを特徴としている。
【0052】
転送コマンドデータ列は、少なくとも1つの転送コマンドデータを含む。1つの転送コマンドデータは、転送バイト数情報と、転送先アドレス情報と、転送制御フラグとを含む。
【0053】
ここに、転送バイト数情報とは、転送を行なうデータのサイズを示す情報であり、転送先アドレス情報とは、データを記憶させるメモリ105内のアドレスに関する情報である。
【0054】
転送制御フラグは、転送の状態を制御するためのフラグであり、「00」であるときには、ディスク109より読出されたデータは、そのままメモリ105に記憶される。
【0055】
転送制御フラグが「10」であるときには、ディスク109より読出されたデータは、メモリ105には記憶されない。
【0056】
転送制御フラグが「01」であるときには、ディスク109より読出されたデータは、そのままメモリ105に記憶される。また、このとき読出と記憶が終了した時点ですべての処理が終了される。
【0057】
転送コマンドデータ列の転送バイト数情報(たとえばl1)と、転送先アドレス情報(たとえばwwww)は、DMA処理部103によりそれぞれ実転送バイト数(たとえばL1)と物理アドレス(たとえばWWWW)に変換される。
【0058】
図3は、転送バイト数情報と転送先アドレス情報との変換方法について説明するための図である。
【0059】
本実施の形態では、転送先アドレスや転送バイト数のデータを転送先アドレス情報や転送バイト数情報に簡略化してメモリに記憶している。これにより、コマンド列格納に必要なメモリの使用量を削減するとともに、DMA処理部103が1回のメモリアクセスでデータ転送処理に必要なすべての情報を獲得することができる。
【0060】
たとえば地図データのような情報を処理する場合、一般的にはデータはある規定の単位で管理されている。そのため、データ量はどのような値でも取り得るわけではない。
【0061】
たとえば、256バイト、512バイト、1024バイトといった2のn乗の単位でデータの管理は行なわれている。したがって、転送先アドレスや転送バイト数もこのような単位の倍数の値で設定されることとなる。すなわち、設定される値の下位の複数ビットはすべて「0」となる。
【0062】
また、アドレスバスが32ビット(4Gバイト空間)あるCPUであっても、実際にデータ転送に使用されるメモリ領域は8Mバイト、16Mバイトといった範囲でしかない。そのため、転送先メモリアドレスの上位側ビットは固定値である。したがってこの固定値は、DMA処理部103の内部に保存しておけばよい。
【0063】
以上の理由により、転送先アドレスの設定にあたっては、上位側ビットおよび下位側ビットは不要であり、転送バイト数の設定においても下位ビットは不要である。したがって、それぞれの必要な部分のみで転送コマンドデータ列を編集し、1回のメモリの読出でデータ転送に必要なすべての情報を獲得することが可能となる。
【0064】
図2および図3において、データの管理単位を1024バイト、データ転送に使用するアドレス空間を16Mバイトとすると、図4に示されるように、転送バイト数情報l1と転送先アドレス情報wwwwとを、実転送バイト数L1と転送先アドレス(物理アドレス)WWWWに変換することが可能となる。
【0065】
一方で、ディスクにおけるデータの管理単位も決められている。たとえばディスクとしてCD−ROMを用いた場合は、1セクタが2048バイトとなっており、ディスク読出装置からのデータ転送量は2048×nの値となる。
【0066】
したがって、前述の例のようにCPU側のデータ管理単位が1024バイトであった場合、必要なデータが1024バイトであっても、2048バイトのデータを転送する必要がある。このことよりメモリに不要なデータを格納する場合が生じる。しかしながら、本実施の形態においてはこのような場合でも、転送コマンドデータ列によってデータをメモリに記憶しない設定にすることで、ディスク読出装置の管理単位以下の必要なデータのみをメモリに転送することができ、メモリを有効使用することができる。
【0067】
図5から図7は、図2に示される転送コマンドデータ列が設定されるときのCPU101とDMA処理部103とディスク読取装置107との間のデータの流れを示す図である。
【0068】
図2に示される転送コマンドデータ列により、ディスク内の連続したデータ領域A,B,Cのうち、領域Aのデータ(データサイズLバイト)をメモリの物理アドレスWWWWアドレスからL1サイズ分、XXXXアドレスからL2サイズ分(ここでL=L1+L2である)転送し、さらに領域Cのデータ(データサイズNバイト)をメモリ領域ZZZZからNサイズ分転送する処理が行なわれる。
【0069】
なお領域B(データサイズMバイト)は不要のデータである。
ここで、CPUデータバスは32ビット、ローカルバス幅は8ビット、エンディアンはリトルエンディアンである場合を想定している。
【0070】
図5〜図7を参照して、ステップ(I)において、CPU101はメモリ105のアドレスAAAAからコマンド列を格納する。CPU101は、DMA処理部103へコマンド列の先頭アドレスを設定する。CPU101は、ディスク読取装置107へ、領域Aの先頭からL1サイズ分のデータを出力する旨要求する。
【0071】
ステップ(II)において、DMA処理部103はCPU101に対しCPUのバスの使用要求を送信する。CPU101はDMA処理部103へCPUバスの使用許可を出力する。DMA処理部103は、メモリ105に対しアドレスAAAAを出力し、メモリ105からそのアドレスのデータを読出す。
【0072】
DMA処理部103は、読出されたデータに基づき、転送先アドレス情報wwwwを物理アドレスWWWWに変換し、それを転送先アドレスとして設定する。また、転送バイト数情報l1を実転送バイト数L1に変換し、それをバイト数として設定する。また、読出されたデータに基づき転送制御フラグ「00」を内部に設定する。そして、コマンド列アドレスをAAAA+4とする。
【0073】
このときディスク読取装置107では、領域Aの先頭の最初のセクタの読取を終了しデータの転送を開始している。
【0074】
ステップ(III)において、ディスク読取装置107は、DMA処理部103に対し1バイト目のデータ転送要求を出力する。DMA処理部103はこれを受けて、CPU101に対しCPUバスの使用要求を出力する。CPU101は、DMA処理部103に対しCPUバスの使用許可を出力する。
【0075】
DMA処理部103はメモリ105に対し、アドレスWWWWを出力し、ディスク読取装置107に対しデータ転送許可を出力する。すると、ディスク読取装置107からDMA処理部103を介してメモリ105へ1バイト目のデータが転送され、データの書込が行なわれる。そして、DMA処理部103は転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。以下、図5の▲3▼で示される処理が繰返し行なわれる。
【0076】
ディスク読取装置107は、L1分のデータを読取った後も連続して動作を行なう。
【0077】
ステップ(IV)において、ディスク読取装置107は、DMA処理部103に対しL1バイト目のデータの転送要求を出力する。DMA処理部103は、CPUへバスの使用要求を出力し、CPU101はDMA処理部103に対しCPUバス使用許可を出力する。
【0078】
その後、DMA処理部103はメモリ105に対しアドレスWWWW+L1を出力し、ディスク読取装置107に対しデータ転送許可を与える。
【0079】
ディスク読取装置107からL1バイト目のデータがDMA処理部103を介しメモリ105へ転送され、データの書込が行なわれる。
【0080】
ここで、転送バイト数を1デクリメントすると「0」となるため、1回目のコマンド処理を終了したことをDMA処理部103は検出する。
【0081】
次にDMA処理部103は、コマンド列アドレスAAAA+4から読出したデータに基づき、転送先アドレス情報xxxxを物理アドレスXXXXに変換し、転送先アドレスとして設定する。また、転送バイト数情報l2を実転送バイト数L2に変換し、バイト数として設定する。また、転送制御フラグ「00」を内部に設定する。この状態で、図5の▲4▼の処理が行なわれる。
【0082】
次に、ステップ(V)において、DMA処理部103はCPU101に対しCPUバス使用要求を出力する。CPU101は、CPUバス使用許可をDMA処理部103へ送信する。
【0083】
DMA処理部103は、メモリ105に対しアドレスAAAA+8を出力し、メモリ105からデータを読出す。読出されたデータに基づき、DMA処理部103は転送先アドレス情報yyyyを物理アドレスYYYYに変換し、転送先アドレスとして設定する。また、転送バイト数情報mを実転送バイト数Mに変換し、バイト数として設定する。また転送制御フラグ「10」を内部に設定する。さらに、コマンド列アドレスをAAAA+12とする。
【0084】
このときディスク読取装置は領域Aのデータ読取後においても連続して領域Bのデータの読取を行なっている。
【0085】
ステップ(VI)において、ディスク読取装置107は、DMA処理部103に対し領域Bの1バイト目のデータ転送要求を出力する。これを受けてDMA処理部103はデータ転送許可をディスク読取装置107へ送信する。ディスク読取装置107は、データ転送許可に基づき1バイト目のデータをDMA処理部103へ送信する。
【0086】
しかしながら、この処理において転送制御フラグが「10」と設定されているため、メモリ105へのデータ転送処理は実施されない。これにより、ディスク読取装置107からデータの読取は行なわれるが、メモリ105へデータが記憶されることはない。
【0087】
DMA処理部103は1つのデータの転送が行なわれるたびに、転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。
【0088】
そして、図6の▲5▼に示される処理が繰返し行なわれる。領域Bのデータの読取が終了した後も、ディスク読取装置107は連続して領域Cのデータを読取る。
【0089】
Mバイト目のデータの転送要求がディスク読取装置107からDMA処理部103へ送信されたのであれば、DMA処理部103はディスク読取装置107へデータの転送許可を与える。これに基づき、ディスク読取装置107はMバイト目のデータをDMA処理部103に対し転送する。
【0090】
そしてDMA処理部103は転送バイト数を1デクリメントした結果が「0」になったことを検出することで、3回目のコマンド処理を終了したことを検知する。
【0091】
次に、ステップ(VII)において、DMA処理部103は、CPU101に対しCPUバスの使用要求を出力する。これを受けてCPU101は、DMA処理部103へCPUバスの使用許可を出力する。
【0092】
DMA処理部103は、アドレスAAAA+12をメモリ105に対し出力することでデータの読出を行なう。DMA処理部103は、転送先アドレス情報zzzzを物理アドレスZZZZに変換し、転送先アドレスとして設定する。また、転送バイト数情報nを実転送バイト数Nに変換し、バイト数として設定する。さらに、転送制御情報フラグ「01」を内部に設定する。また、コマンド列アドレスをAAAA+16とする。
【0093】
ステップ(VIII)において、ディスク読取装置107は領域Cの1バイト目のデータの転送要求をDMA処理部103に対し出力する。これを受けて、DMA処理部103はCPU101に対しCPUバスの使用要求を出力する。
【0094】
CPU101は、DMA処理部103に対しCPUバスの使用許可を出力する。これを受けて、DMA処理部103はメモリ105にアドレスZZZZを出力し、ディスク読取装置107にデータ転送許可を与える。
【0095】
ディスク読取装置107からDMA処理部103を介し1バイト目のデータが転送されることで、メモリ105へのデータの書込が行なわれる。
【0096】
DMA処理部103は転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。
【0097】
以下図7の▲6▼に示される処理が繰返し行なわれる。
ディスク読取装置107は、領域Cのデータの読取を終了した後、ディスクの回転を停止させる。その後ステップ(IV)において、ディスク読取装置107はDMA処理部103に対しNバイト目のデータの転送要求を出力する。これを受けてDMA処理部103は、CPU101に対しCPUバスの使用要求を出力する。CPU101は、DMA処理部103に対しCPUバスの使用許可を出力する。
【0098】
DMA処理部103は、アドレスZZZZ+Nをメモリ105に対して送信し、ディスク読取装置107へデータの転送許可を与える。
【0099】
ディスク読取装置107は、DMA処理部103を介してメモリ105に対しNバイト目のデータ転送を行なう。これによりメモリ105に対するデータの書込が行なわれる。
【0100】
DMA処理部103は、転送バイト数を1デクリメントした結果が0になったことに基づき、4回目のコマンド処理が終了したことを検出する。そして、転送制御フラグが「01」であることから、コマンド列の終了を判定し、全処理を終了する。全処理の終了は割込によりCPU101に通知される。
【0101】
以上のように本実施の形態においては、1回のDMA処理部へのコマンドの発行と1回のディスク読取装置へのデータ要求に基づいて、不連続なメモリ領域にディスクの不連続な領域のデータを転送することができる。
【0102】
なお、ここでDMAの制御コマンド列を事前に準備するため、CPUの負荷が発生するように思われるが、従来の分割されたDMA転送の方式においても、メモリのどの部分にディスク状のどの領域のデータを転送するべきかの情報は当然メモリの任意の部分に格納されている。したがって、今回のコマンド列の作成においては、単にコマンド列の情報を書込む形態と順番とを変えているだけであり、CPUの処理負荷が従来の技術と比較して増えることはない。
【0103】
[第2の実施の形態]
第2の実施の形態においては、DMA転送処理部において、ディスク読出装置からのデータを一旦データラッチレジスタに取込むことを特徴としている。データラッチレジスタにCPUのバス幅分のデータが記憶された時点でデータ転送は行なわれる。
【0104】
以下においては本発明の第2の実施の形態におけるナビゲーション装置が第1の実施の形態と異なる部分について説明する。
【0105】
図8は、本発明の第2の実施の形態におけるDMA処理部103の内部構成を示す図である。図を参照して、DMA処理部103は、実行する転送コマンドのアドレスを記憶するコマンド列アドレスカウンタ103aと、転送先アドレスを記録するデータ転送先アドレスカウンタ103bと、転送制御フラグを記憶する転送制御フラグレジスタ103cと、バス制御部103dと、転送されたデータのバイト数をカウントするためのデータ転送数カウンタ103eと、ディスク読取装置107から送られてきた8ビットのデータを4回ラッチすることで、32ビットのデータを作り出力するデータラッチレジスタ103fと、セレクタ103gとから構成されている。
【0106】
図9は、DMA処理部103のデータラッチレジスタ103fとセレクタ103gとの動作を説明するための図である。
【0107】
図において、▲7▼で示される部分が、図5の▲3▼または図7の▲6▼の動作を4回繰返した動作に相当する。
【0108】
すなわち、図9に示されるように本実施の形態においては第1の実施の形態と比較してメモリへのデータの書込回数が1/4となる。したがって、データ転送によりCPUのデータバスを使用する頻度が下がるため、その分CPUデータバスを有効に使用できることとなる。
【0109】
より詳しくは図9を参照して、ディスク読取装置107はDMA処理部103に対し4iバイト目のデータ転送要求を出力する。DMA処理部103はこれを受けてディスク読取装置107へデータ転送を許可する。ディスク読取装置107は、4iバイト目のデータをDMA処理部処理部103に対し出力する。
【0110】
DMA処理部103は、32ビットにより構成されるデータラッチレジスタ103fのビット7〜0に転送されたデータを格納する。そして、転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。
【0111】
次に、ディスク読取装置107はDMA処理部103に対し4i+1バイト目のデータの転送要求を出力する。DMA処理部103がデータ転送許可をディスク読取装置107に対し出力すると、ディスク読取装置107はDMA処理部103に対し4i+1バイト目のデータを転送する。
【0112】
するとDMA処理部103は、データラッチレジスタ103fのビット15〜8にデータを格納する。その後、転送先アドレスは1インクリメントされ、転送バイト数は1デクリメントされる。
【0113】
次に、ディスク読取装置107は、DMA処理部103に対し4i+2バイト目のデータの転送要求を出力する。DMA処理部103からデータの転送許可がディスク読取装置107に対してなされると、ディスク読取装置107はDMA処理部103に対し4i+2バイト目のデータを転送する。
【0114】
DMA処理部103はデータラッチレジスタ103fのビット23〜16にデータを格納する。その後、転送先アドレスは1インクリメントされ、転送バイト数は1デクリメントされる。
【0115】
次にディスク読取装置107からDMA処理部103に対し4i+3バイト目のデータの転送要求がなされる。DMA処理部103からディスク読取装置107へデータの転送許可がなされると、ディスク読取装置107からDMA処理部103に対し4i+3バイト目のデータの転送が行なわれる。
【0116】
DMA処理部103は、データラッチレジスタ103fのビット31〜24にデータを格納する。
【0117】
その後、DMA処理部103はCPU101に対しCPUのバスの使用要求を出力する。CPU101からDMA処理部103に対しCPUのバス使用許可がなされると、DMA処理部103は、メモリ105に対しアドレスJJJJを出力し、データの書込を行なう。その後、DMA処理部103は転送先アドレスを1インクリメントし、転送バイト数を1デクリメントする。
【0118】
なお、図9においてはリトルエンディアンの設定がなされた場合について説明したが、DMA処理部にエンディアン情報として、ビッグエンディアンの設定がなされた場合には、データ転送の順番とデータラッチレジスタへのデータ格納位置の関係が変更となる。より詳しくは、
4iバイト目のデータ→データラッチレジスタのビット31〜24
4i+1バイト目のデータ→データラッチレジスタのビット23〜16
4i+2バイト目のデータ→データラッチレジスタのビット15〜8
4i+3バイト目のデータ→データラッチレジスタのビット7〜0
となる。このような順序でデータを格納することで、容易にエンディアンの変換がなされることになる。
【0119】
このように、CPUによりエンディアン情報を出力させ、それに基づいてレジスタにおけるデータの格納順序を変化させることで、CPUによるエンディアン変換処理を不要とすることができる。
【0120】
[変形例]
転送コマンドデータ列として、図10に示されるコマンド列を用いてもよい。
【0121】
図10に示されるコマンド列は、
(1) 転送先物理アドレスWWWWに転送バイト数L1バイトのデータを転送し、
(2) 転送先物理アドレスXXXXに転送バイト数L2バイトのデータを転送し、
(3) 転送バイト数Mバイトのデータをディスク読取装置からDMA処理部に対してのみ転送し、メモリへの格納は行なわず(ダミーの転送先アドレスとしてYYYYを設定している。したがってYYYYは適当な値でよい)、
(4) 転送先物理アドレスZZZZに転送バイト数Nバイトのデータを転送する処理を一括して行なうコマンド列である。
【0122】
この場合のDMA処理部の動作は、
(1) アドレスAAAAからコマンドのデータ量(コマンド情報量)を読出し、メモリ上のどこまでがコマンド列を意味するデータであるかを識別する。
【0123】
(2) AAAA+4のアドレスから最初のコマンドとしてのデータ転送先物理アドレスを読出し、内部の転送アドレスカウンタにセットする。
【0124】
(3) AAAA+8のアドレスから最初のコマンドのデータ転送バイト数を読出し、内部の転送バイト数カウンタにセットする。
【0125】
(4) AAAA+12から最初のコマンドのディスク読出装置からの転送データをメモリに書込む必要性の有無の情報を読出し、内部のフラグレジスタにセットする。
【0126】
(5) 最初のコマンドが終了すると、AAAA+16のアドレスから2回目のコマンドとしてのデータ転送先物理アドレスを読出し、内部の転送アドレスカウンタにセットする。
【0127】
(6) AAAA+20のアドレスから2回目のコマンドとしてのデータ転送バイト数を読出し、内部の転送バイト数カウンタにセットする。
【0128】
(7) AAAA+24のアドレスから2回目のコマンドのディスク読出装置からの転送データをメモリに書込む必要性の有無の情報を読出し、内部のフラグレジスタにセットする。
【0129】
以下、同様の動作を繰返し、最初に読込んだコマンド情報量のコマンド列データの処理が終了したら、全コマンド終了と判定する。
【0130】
本実施の形態においては、DMA転送処理部にコマンド情報量を格納し演算する回路が必要となる。転送制御フラグの部分に次のアドレスに格納されているデータがDMA転送処理部に対するコマンド列を意味するかどうかの情報を1ビット追加することで、メモリの使用量を削減し、DMA転送処理部のコマンド列の終了判定を容易にすることもできる。
【0131】
[実施の形態における効果]
上述の実施の形態においては以下の効果を有する。
【0132】
CPUからは、DMA処理部とディスク読取装置に対しそれぞれ1回ずつの制御を行なうことで不連続のメモリ領域にディスク状の不連続の領域のデータを転送することができる。これにより、CPUの処理負荷を低減させる効果が大きい。
【0133】
また、不要なデータがメモリに書込まれることもなく、不要なデータの転送中はローカルバスのみで転送処理を行なうことができるため、CPUのデータバスの使用効率に何ら影響を与えない。
【0134】
また、ディスクの近距離間でのデータ読出の場合には、データ読出のオーバヘッドがないため、データ転送時間の短縮が見込まれる。
【0135】
さらに、ディスク読取装置のピックアップを移動させるモータを安定した速度で連続的に動作させることができるため、モータの摩耗が少なくなりモータの寿命を延ばすことができる。
【0136】
また、第2の実施の形態においては、CPUのデータバス幅とディスク読取装置のデータバス幅の違いをデータラッチレジスタにより吸収することができる。これにより従来のデータ転送よりもCPUのデータバスの使用頻度を減らすことができ、CPUのデータバスの使用効率が向上する。
【0137】
また、エンディアンの変換処理を行なうと、記憶媒体に格納されたデータとCPUのエンディアンの違いを吸収することができる。またCPUによるエンディアン変換処理を不要とすることができる。
【0138】
さらに、1回のメモリからのコマンドデータの読出によって転送開始アドレス、転送バイト数、転送制御の情報を得ることができ、DMA処理部も簡単に構成することができる。
【0139】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるナビゲーション装置の構成を示すブロック図である。
【図2】図1に含まれるデータ転送管理装置の構成を示すブロック図である。
【図3】転送コマンドデータ列の具体例を示す図である。
【図4】転送バイト数情報および転送先アドレス情報を転送バイト数および転送先アドレスに変換する処理を説明するための図である。
【図5】データ転送管理装置の動作を説明するための図である。
【図6】図5に続く図である。
【図7】図6に続く図である。
【図8】第2の実施の形態におけるデータ転送管理装置の構成を示すブロック図である。
【図9】第2の実施の形態におけるデータ転送管理装置の動作を説明するための図である。
【図10】実施の形態における変形例を説明するための図である。
【図11】従来のデータ転送管理装置の構成を示すブロック図である。
【図12】従来のデータ転送管理装置の動作を説明するための図である。
【符号の説明】
101 CPU
103 DMA処理部
105 メモリ
107 ディスク読取装置
109 ディスク
[0001]
BACKGROUND OF THE INVENTION
  This inventionIs naConcerning vigation devices, especially devices that transfer data from a disk-shaped storage medium to a memory, and are suitable for in-vehicle devices that have severe operating environment conditionsNaThe present invention relates to a navigation device.
[0002]
[Prior art]
Conventionally, a direct memory access (DMA) system is known as a system for transferring data from a disk-shaped storage medium (for example, CD-ROM, DVD, etc.) to a memory. This is because the central processing unit (hereinafter referred to as “CPU”) designates the start address for storing data in the memory and the transfer size of the data to the DMA processing unit, and thereafter the data sent from the storage medium in order. Is a system in which the DMA processing unit transfers data continuously from a specified memory address without depending on the processing of the CPU.
[0003]
FIG. 11 is a block diagram showing a configuration of a conventional data transfer management device. Referring to the figure, the data transfer management device includes a CPU 101, a DMA processing unit 103, a memory 105, a disk reading device 107, and a disk 109.
[0004]
Based on a request from the CPU 101, data in a desired area of the disk 109 is transferred to a desired address in the memory 105 by the DMA processing unit 103.
[0005]
The CPU 101 requests the disk reader 107 to transfer data in a desired area of the disk 109 (data transfer request control). The disk reader 107 makes a data transfer request to the DMA processing unit 103. The DMA processing unit 103 permits data transfer to the disk reading device 107.
[0006]
The CPU 101 controls the DMA processing unit 103 and permits use of the bus. The DMA processing unit 103 outputs a transfer end notification and a bus use request to the CPU 101.
[0007]
The disk 109 is divided into a plurality of areas (for example, areas A to C), and data is stored in units of each area.
[0008]
Here, the data in the areas A1 and A2 which are part of the area A of the disk 109 are read, stored in the areas of the addresses WWW to WWW + L1 and the addresses XXXX to XXXX + L2 of the memory 105, respectively, and the data from the area C is stored. It is assumed that data is read and stored in the area of the address ZZZZ to ZZZZZ + N in the memory 105.
[0009]
That is, the data in the area B of the disk 109 is unnecessary data here.
[0010]
FIG. 12 is a diagram for explaining data exchange among the CPU 101, the memory 105, the DMA processing unit 103, and the disk reading device 107.
[0011]
First, in step (I), the CPU 101 sets a start address WWWW for storing data in the memory 105 and a transfer byte number L1 for the DMA processing unit 103. The CPU 101 requests the disk reader 107 to output L1 size (L1 byte) data from the beginning of the area A of the disk.
[0012]
In response to this request, the disk reader 107 shifts from the stopped state to the driven state. The head of the disk reader 107 moves immediately before the beginning of the area A and prepares for data reading. Thereafter, when the disk reading device 107 finishes reading the first sector at the beginning of the area A, data transfer is started.
[0013]
In step (II), the disk reader 107 requests the DMA processing unit 103 to transfer the first byte data. In response to this, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. The CPU 101 outputs a CPU bus use permission to the DMA processing unit 103.
[0014]
After that, the DMA processing unit 103 notifies the transfer destination address WWWW to the memory 105, while permitting data transfer to the disk reader 107. Thereafter, the first byte data is written into the memory 105 via the DMA processing unit 103 from the disk reader.
[0015]
At this time, the DMA processing unit 103 increments the transfer destination address by 1 and decrements the transfer byte count by 1. Thereafter, the process indicated by (1) in FIG. 12 is repeated. If the disk reading device 107 has finished reading L1 bytes of data, the rotation of the disk 109 is stopped.
[0016]
In step (III), a data transfer request for the L1 byte is sent from the disk reader 107 to the DMA processing unit 103, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101, and the CPU 101 performs DMA processing. If the CPU bus use permission is output to the unit 103, the DMA processing unit 103 designates the address WWW + L 1 for the memory 105 and gives the data transfer permission to the disk reading device 107.
[0017]
Thereafter, the L1 byte data is written from the disk reader 107 to the memory 105 via the DMA processing unit 103. At this time, similarly to the portion indicated by (1), the transfer destination address is incremented by 1, and the transfer byte count is decremented by 1. When the transfer byte count is decremented by 1, it becomes “0”, so that the DMA processing unit detects that the data transfer is completed. In accordance with the detection result, the DMA processing unit 103 performs an interrupt process for completing the transfer to the CPU 101.
[0018]
The operations of steps (I) to (III) indicated by (2) in FIG. 12 are similarly performed on the start address XXXX and the start address ZZZ.
[0019]
That is, the CPU 101 sets the start address XXXX and the transfer byte number L2 to the DMA processing unit 103, and requests the disk reading device for L2 byte data from the position of the beginning of the area A + L1. Thereafter, the CPU 101 sets the start address ZZZ and the transfer byte number N to the DMA processing unit 103, and requests the disk reader to output data of N bytes from the head of the area C.
[0020]
By this operation, the data in the areas A1 and A2 of the disk 109 are stored in the areas of the addresses WWW to WWW + L1 and the addresses XXXX to XXXX + L2 of the memory 105. Further, the data in the area C is stored in the areas of the addresses ZZZZZ to ZZZZZ + N in the memory 105.
[0021]
[Problems to be solved by the invention]
However, the conventional data transfer management device has the following problems.
[0022]
[Problem 1]
In the conventional data transfer management device, since it is necessary to transfer the discontinuous data area of the disk-shaped storage medium to the discontinuous memory area, the data transfer request to the disk and the control frequency of the DMA processing unit are high. CPU overhead is high.
[0023]
In particular, map data used in a navigation device or the like is stored in the concept of mesh, and map data required by the CPU is often stored in a disc-like and discrete state. Therefore, in order to request only necessary data from the storage medium, it is necessary to make a plurality of data transfer requests.
[0024]
On the other hand, since data calculation is also performed on the CPU side based on the concept of mesh, unnecessary data is discretely generated when the map display is moved on the screen. In other words, since the memory usage efficiency deteriorates, only the necessary data is collected in a continuous area as appropriate, and a large memory continuous space is secured to enable the next data transfer. There is a need.
[0025]
However, when garbage collection is performed, CPU processing time is used for data reduction. On the other hand, the use of a memory management unit (MMU) that performs conversion between logical addresses and physical addresses eliminates such time for data reduction. However, when MMU is used, the free space of the memory is divided into discrete pieces. Therefore, there is a demerit that the control frequency of the DMA processing unit is increased.
[0026]
[Problem 2]
When data is read while repeatedly moving the pickup at a short distance in a disk shape, more time is required than when data is read all at once including unnecessary portions.
[0027]
When the moving distance of the pickup is short, the time until the focus is adjusted and the data reading at the designated place becomes possible is longer than the time for moving the pickup to the required place. Therefore, if data reading of only a necessary part is performed while performing a short distance movement a plurality of times, a longer time is required than when data reading is continuously performed in a lump including unnecessary parts.
[0028]
However, reading data collectively including unnecessary data means that the memory use efficiency deteriorates. Further, when using the MMU, it is often impossible to secure such a continuous physical address area on the memory.
[0029]
[Problem 3]
In the navigation device, the stress applied to the motor of the data reading device is greater than that of a personal computer or the like.
[0030]
In a navigation device, map data divided in a mesh shape is read and data processing is performed. Therefore, there are few cases of reading a large amount of continuous data from a disk-shaped storage medium. That is, data that is close to each other is often read discontinuously from a disk-shaped storage medium. For this reason, the motor that controls the position of the pickup in data reading repeats start-up, high-speed rotation, low-speed rotation during read-out, and stop, and the frequency of start-up and stop that causes stress on the motor increases.
[0031]
Therefore, the motor in the navigation apparatus is likely to be worn and broken among the components used. In particular, when a navigation device is mounted on a vehicle, the conditions of the operating environment such as temperature and vibration are poor, and it is necessary to consider that the motor is not stressed as much as possible.
[0032]
[Problem 4]
The conventional data transfer management device has a problem that the CPU bus utilization efficiency is low because the data bus width of the memory is wider than the data bus width of the data transferred from the storage medium.
[0033]
That is, the bit width of data transferred from the disk reader is 8 bits or 16 bits, but recently, 32-bit CPUs are often used as navigation devices become more sophisticated. That is, the data width of the memory is 32 bits. Therefore, when the data bus width of the storage medium is 8 bits, the effective portion in one DMA transfer is 1/4 of the CPU data bus, which is wasteful.
[0034]
  Accordingly, an object of the present invention is to perform efficient data transfer.NaIt is to provide a vigination device.
[0035]
  Another object of the present invention is to increase the processing speed.InnaIt is to provide a vigination device.
[0036]
  Still another object of the present invention is to reduce the stress applied to the apparatus.NaIt is to provide a vigination device.
[0037]
  Still another object of the present invention is to enable effective data transfer.NaIt is to provide a vigination device.
[0038]
[Means for Solving the Problems]
  In order to achieve the above object, according to one aspect of the present invention,navigationThe device
  A navigation device that can be mounted on a vehicle,
  Data from disk-shaped storage mediaofReadDisk readerWhen,
  SaidDisc readerReaddiddataThe casePayMemory,
  A DMA processor connected to and controlling each of the disk reader and the memory;
  A central control device connected to each of the disk reading device, the memory and the DMA processing unit for controlling the entire device;
  Storage means for storing at least one command including a transfer address of data, a size of data to be transferred, and a flag for controlling transfer;
  The memory is connected to the disk reading device via the DMA processing unit separately from a route connected to the disk reading device via the central control unit, and from the disk reading device via the DMA processing unit. Writing data to the memory can be performed independently of the operation of the central control unit,
  The storage means stores at least one of the transfer address of the data and the size of the data to be transferred in a simplified manner, and the command stored in a simplified manner can be read by one read operation. Yes,
  The disk reader reads continuous data including unnecessary data from the disk-shaped storage medium,
  The DMA processing unit
    A register that temporarily latches data from the disk reader;
    Of the data read by the disk reader based on the command stored in the storage means, store the data in the memory excluding the unnecessary data,
    When the register latches data corresponding to the data bus width of the central controller, the latched data is transferred.The
[0039]
  According to the present invention, from a disk-shaped storage mediumtransferContinuous data reading including unnecessary data is performed,transferSince data excluding unnecessary data is stored in the memory, efficient data transfer is possible.KiThe processing speed is fast and the stress on the device can be reduced.navigationAn apparatus can be provided.
[0041]
  TheIn additionWhen the register latches data for the data bus width of the central control unit, in order to transfer the latched data,Data can be transferred effectivelyRu.
  Further, since one command can be read by one reading operation, more efficient processing can be performed.
[0042]
Preferably, the central processing unit outputs endian control information, and the storage order of data in the register is changed based on the endian control information.
[0043]
According to the present invention, in addition to the above effects, data can be easily transferred even when the endian is different.
[0048]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of a navigation device provided with a data transfer management device according to the first embodiment of the present invention.
[0049]
Referring to the figure, the navigation device is composed of a CPU 101 that controls the entire device, a ROM 109 that stores a program executed when the device is activated, a GPS, a vehicle speed detection unit, a gyro sensor, and the like. A position detection unit 111 that detects the current position of the vehicle, a display 113 that displays a map of the vicinity of the vehicle superimposed on the current position of the vehicle, an input device 115 that inputs the destination of the vehicle, and a disk-shaped storage A memory 105 for storing data from the medium and a transfer command data string to be described later, a DMA processing unit 103 for controlling direct memory access to the disk-shaped storage medium and the memory 105, and reading data from the disk-shaped processing medium , And an output disk reading device 107.
[0050]
Since the memory 105 and the DMA processing unit 103 are connected to each other, and the DMA processing unit 103 and the disk reading device 107 are connected to each other, data writing from the disk reading device 107 to the memory 105 via the DMA processing unit 103 is performed by the operation of the CPU 101. Can be done independently.
[0051]
FIG. 2 is a block diagram showing a configuration of a data transfer management device included in the navigation device of FIG. The data transfer management device according to the present embodiment is characterized in that the memory 105 includes a transfer command data string storage unit 105a (FIG. 3) as compared with the conventional device shown in FIG.
[0052]
The transfer command data string includes at least one transfer command data. One transfer command data includes transfer byte number information, transfer destination address information, and a transfer control flag.
[0053]
Here, the transfer byte number information is information indicating the size of data to be transferred, and the transfer destination address information is information regarding an address in the memory 105 in which the data is stored.
[0054]
The transfer control flag is a flag for controlling the transfer state. When it is “00”, the data read from the disk 109 is stored in the memory 105 as it is.
[0055]
When the transfer control flag is “10”, the data read from the disk 109 is not stored in the memory 105.
[0056]
When the transfer control flag is “01”, the data read from the disk 109 is stored in the memory 105 as it is. At this time, all processing is completed when reading and storage are completed.
[0057]
Transfer byte number information (for example, l1) and transfer destination address information (for example, www) in the transfer command data string are converted into an actual transfer byte number (for example, L1) and a physical address (for example, WWWW) by the DMA processing unit 103, respectively. .
[0058]
FIG. 3 is a diagram for explaining a conversion method between transfer byte number information and transfer destination address information.
[0059]
In this embodiment, the data of the transfer destination address and the number of transfer bytes are simplified to the transfer destination address information and the transfer byte number information and stored in the memory. As a result, the amount of memory used for storing the command string can be reduced, and the DMA processing unit 103 can acquire all the information necessary for the data transfer process in one memory access.
[0060]
For example, when processing information such as map data, the data is generally managed in a specific unit. Therefore, the data amount cannot take any value.
[0061]
For example, data is managed in units of 2 to the power of 2 such as 256 bytes, 512 bytes, and 1024 bytes. Accordingly, the transfer destination address and the number of transfer bytes are also set as a multiple of such a unit. That is, all the lower bits of the set value are “0”.
[0062]
Even in a CPU with an address bus of 32 bits (4 Gbyte space), the memory area actually used for data transfer is only in the range of 8 Mbytes and 16 Mbytes. For this reason, the upper bits of the transfer destination memory address are fixed values. Therefore, this fixed value may be stored in the DMA processing unit 103.
[0063]
For the above reasons, when setting the transfer destination address, the upper bit and the lower bit are not required, and the lower bit is not required when setting the number of transfer bytes. Therefore, it is possible to edit the transfer command data string only in each necessary portion and acquire all information necessary for data transfer by reading the memory once.
[0064]
2 and 3, when the data management unit is 1024 bytes and the address space used for data transfer is 16 Mbytes, as shown in FIG. 4, transfer byte number information 11 and transfer destination address information wwww It is possible to convert the actual transfer byte number L1 to the transfer destination address (physical address) WWWW.
[0065]
On the other hand, the data management unit in the disk is also determined. For example, when a CD-ROM is used as a disk, one sector is 2048 bytes, and the data transfer amount from the disk reading device is a value of 2048 × n.
[0066]
Therefore, when the data management unit on the CPU side is 1024 bytes as in the above example, even if the necessary data is 1024 bytes, it is necessary to transfer 2048 bytes of data. This may cause unnecessary data to be stored in the memory. However, in this embodiment, even in such a case, by setting the transfer command data string so that the data is not stored in the memory, only necessary data below the management unit of the disk reading device can be transferred to the memory. And the memory can be used effectively.
[0067]
FIGS. 5 to 7 are diagrams showing a data flow among the CPU 101, the DMA processing unit 103, and the disk reader 107 when the transfer command data string shown in FIG. 2 is set.
[0068]
According to the transfer command data sequence shown in FIG. 2, of the continuous data areas A, B, and C in the disk, the data in the area A (data size L bytes) is an XXXX address corresponding to the L1 size from the physical address WWW address of the memory. To L2 size (here, L = L1 + L2) is transferred, and the data of area C (data size N bytes) is further transferred from memory area ZZZ for N size.
[0069]
Area B (data size M bytes) is unnecessary data.
Here, it is assumed that the CPU data bus is 32 bits, the local bus width is 8 bits, and the endian is little endian.
[0070]
5 to 7, in step (I), CPU 101 stores a command string from address AAAA in memory 105. The CPU 101 sets the head address of the command string in the DMA processing unit 103. The CPU 101 requests the disk reader 107 to output data for the L1 size from the beginning of the area A.
[0071]
In step (II), the DMA processing unit 103 transmits a CPU bus use request to the CPU 101. The CPU 101 outputs a CPU bus use permission to the DMA processing unit 103. The DMA processing unit 103 outputs an address AAAA to the memory 105 and reads data at the address from the memory 105.
[0072]
Based on the read data, the DMA processing unit 103 converts the transfer destination address information wwww to the physical address WWWW, and sets it as the transfer destination address. Also, the transfer byte number information l1 is converted into the actual transfer byte number L1 and set as the byte number. Further, the transfer control flag “00” is set inside based on the read data. Then, the command string address is set to AAAA + 4.
[0073]
At this time, the disk reader 107 finishes reading the first sector at the beginning of the area A and starts data transfer.
[0074]
In step (III), the disk reader 107 outputs a data transfer request for the first byte to the DMA processing unit 103. In response to this, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. The CPU 101 outputs a CPU bus use permission to the DMA processing unit 103.
[0075]
The DMA processing unit 103 outputs an address WWWW to the memory 105 and outputs a data transfer permission to the disk reading device 107. Then, the first byte of data is transferred from the disk reader 107 to the memory 105 via the DMA processing unit 103, and the data is written. Then, the DMA processing unit 103 increments the transfer destination address by 1, and decrements the transfer byte count by 1. Thereafter, the process indicated by (3) in FIG. 5 is repeated.
[0076]
The disk reader 107 continues to operate after reading L1 worth of data.
[0077]
In step (IV), the disk reader 107 outputs a data transfer request for the L1 byte to the DMA processing unit 103. The DMA processing unit 103 outputs a bus use request to the CPU, and the CPU 101 outputs a CPU bus use permission to the DMA processing unit 103.
[0078]
Thereafter, the DMA processing unit 103 outputs an address WWW + L1 to the memory 105, and grants data transfer permission to the disk reading device 107.
[0079]
The L1 byte data is transferred from the disk reader 107 to the memory 105 via the DMA processing unit 103, and data is written.
[0080]
Here, when the transfer byte count is decremented by 1 to “0”, the DMA processing unit 103 detects that the first command processing has been completed.
[0081]
Next, the DMA processing unit 103 converts the transfer destination address information xxx into the physical address XXXX based on the data read from the command string address AAAA + 4, and sets it as the transfer destination address. Also, the transfer byte number information 12 is converted into the actual transfer byte number L2 and set as the byte number. Also, the transfer control flag “00” is set inside. In this state, the process (4) in FIG. 5 is performed.
[0082]
Next, in step (V), the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. The CPU 101 transmits a CPU bus use permission to the DMA processing unit 103.
[0083]
The DMA processing unit 103 outputs an address AAAA + 8 to the memory 105 and reads data from the memory 105. Based on the read data, the DMA processing unit 103 converts the transfer destination address information yyyy into a physical address YYYY and sets it as a transfer destination address. Also, the transfer byte count information m is converted into the actual transfer byte count M and set as the byte count. Further, the transfer control flag “10” is set inside. Further, the command string address is AAAA + 12.
[0084]
At this time, the disk reader continuously reads the data in the area B even after the data in the area A is read.
[0085]
In step (VI), the disk reading device 107 outputs a data transfer request for the first byte in area B to the DMA processing unit 103. In response to this, the DMA processing unit 103 transmits data transfer permission to the disk reading device 107. The disk reading device 107 transmits the first byte data to the DMA processing unit 103 based on the data transfer permission.
[0086]
However, since the transfer control flag is set to “10” in this process, the data transfer process to the memory 105 is not performed. As a result, data is read from the disk reader 107, but no data is stored in the memory 105.
[0087]
Each time one piece of data is transferred, the DMA processing unit 103 increments the transfer destination address by 1 and decrements the transfer byte count by 1.
[0088]
Then, the process shown in (5) of FIG. 6 is repeated. Even after the reading of the data in the area B is completed, the disk reading device 107 continuously reads the data in the area C.
[0089]
If the M byte data transfer request is transmitted from the disk reading device 107 to the DMA processing unit 103, the DMA processing unit 103 grants the data transfer permission to the disk reading device 107. Based on this, the disk reader 107 transfers the Mth byte data to the DMA processing unit 103.
[0090]
The DMA processing unit 103 detects that the third command processing has been completed by detecting that the result of decrementing the transfer byte count by 1 is “0”.
[0091]
Next, in step (VII), the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. In response to this, the CPU 101 outputs a CPU bus use permission to the DMA processing unit 103.
[0092]
The DMA processing unit 103 reads the data by outputting the address AAAA + 12 to the memory 105. The DMA processing unit 103 converts the transfer destination address information zzzz into a physical address ZZZZ and sets it as a transfer destination address. Also, the transfer byte count information n is converted into the actual transfer byte count N and set as the byte count. Further, the transfer control information flag “01” is set inside. The command string address is AAAA + 16.
[0093]
In step (VIII), the disk reading device 107 outputs a transfer request for data of the first byte in area C to the DMA processing unit 103. In response to this, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101.
[0094]
The CPU 101 outputs a CPU bus use permission to the DMA processing unit 103. In response to this, the DMA processing unit 103 outputs the address ZZZZ to the memory 105 and gives the disk reader 107 data transfer permission.
[0095]
When the first byte data is transferred from the disk reader 107 via the DMA processing unit 103, the data is written into the memory 105.
[0096]
The DMA processing unit 103 increments the transfer destination address by 1 and decrements the transfer byte count by 1.
[0097]
Thereafter, the process shown in (6) of FIG. 7 is repeated.
The disk reader 107 stops the rotation of the disk after reading the data in the area C. Thereafter, in step (IV), the disk reader 107 outputs a transfer request for the Nth byte data to the DMA processing unit 103. In response to this, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. The CPU 101 outputs a CPU bus use permission to the DMA processing unit 103.
[0098]
The DMA processing unit 103 transmits the address ZZZZZ + N to the memory 105 and gives permission to transfer data to the disk reading device 107.
[0099]
The disk reading device 107 transfers the Nth byte data to the memory 105 via the DMA processing unit 103. As a result, data is written to the memory 105.
[0100]
The DMA processing unit 103 detects that the fourth command processing has been completed based on the result of decrementing the transfer byte count by 1 being 0. Since the transfer control flag is “01”, the end of the command string is determined, and all the processes are ended. The end of all processes is notified to the CPU 101 by interruption.
[0101]
As described above, according to the present embodiment, the discontinuous memory area has a discontiguous area of the disc based on the issuance of a command to the DMA processor and a data request to the disc reader once. Data can be transferred.
[0102]
Here, it seems that the CPU control load is generated because the DMA control command sequence is prepared in advance. However, even in the conventional divided DMA transfer method, in any part of the memory, any disk-like area Information on whether to transfer the data is naturally stored in an arbitrary part of the memory. Therefore, in the creation of the command sequence this time, the form and order of writing the command sequence information are simply changed, and the processing load on the CPU does not increase as compared with the conventional technology.
[0103]
[Second Embodiment]
The second embodiment is characterized in that the DMA transfer processing unit temporarily takes data from the disk reading device into a data latch register. Data transfer is performed when data corresponding to the CPU bus width is stored in the data latch register.
[0104]
In the following, portions of the navigation device according to the second embodiment of the present invention that are different from those of the first embodiment will be described.
[0105]
FIG. 8 is a diagram illustrating an internal configuration of the DMA processing unit 103 according to the second embodiment of the present invention. Referring to the figure, a DMA processing unit 103 includes a command string address counter 103a that stores an address of a transfer command to be executed, a data transfer destination address counter 103b that records a transfer destination address, and transfer control that stores a transfer control flag. By latching the 8-bit data sent from the disk reader 107 four times, the flag register 103c, the bus control unit 103d, the data transfer number counter 103e for counting the number of transferred data bytes , A data latch register 103f that generates and outputs 32-bit data, and a selector 103g.
[0106]
FIG. 9 is a diagram for explaining the operation of the data latch register 103f and the selector 103g of the DMA processing unit 103.
[0107]
In the figure, the portion indicated by (7) corresponds to the operation of repeating the operation of (3) in FIG. 5 or (6) in FIG. 7 four times.
[0108]
That is, as shown in FIG. 9, in the present embodiment, the number of times data is written to the memory is ¼ compared to the first embodiment. Therefore, since the frequency of using the CPU data bus is reduced due to the data transfer, the CPU data bus can be used effectively accordingly.
[0109]
More specifically, with reference to FIG. 9, the disk reader 107 outputs a 4i byte data transfer request to the DMA processing unit 103. In response to this, the DMA processing unit 103 permits data transfer to the disk reading device 107. The disk reader 107 outputs the 4i-th byte data to the DMA processing unit processing unit 103.
[0110]
The DMA processing unit 103 stores the transferred data in bits 7 to 0 of the data latch register 103f composed of 32 bits. Then, the transfer destination address is incremented by 1, and the transfer byte count is decremented by 1.
[0111]
Next, the disk reader 107 outputs a 4i + 1 byte data transfer request to the DMA processing unit 103. When the DMA processing unit 103 outputs data transfer permission to the disk reading device 107, the disk reading device 107 transfers the 4i + 1 byte data to the DMA processing unit 103.
[0112]
Then, the DMA processing unit 103 stores data in bits 15 to 8 of the data latch register 103f. Thereafter, the transfer destination address is incremented by 1, and the transfer byte count is decremented by 1.
[0113]
Next, the disk reader 107 outputs a 4i + 2 byte data transfer request to the DMA processing unit 103. When data transfer permission is given from the DMA processing unit 103 to the disk reading device 107, the disk reading device 107 transfers the 4i + 2 byte data to the DMA processing unit 103.
[0114]
The DMA processing unit 103 stores data in bits 23 to 16 of the data latch register 103f. Thereafter, the transfer destination address is incremented by 1, and the transfer byte count is decremented by 1.
[0115]
Next, the disk reader 107 issues a 4i + 3 byte data transfer request to the DMA processing unit 103. When the transfer of data from the DMA processing unit 103 to the disk reading device 107 is permitted, the 4i + 3rd byte data is transferred from the disk reading device 107 to the DMA processing unit 103.
[0116]
The DMA processing unit 103 stores data in bits 31 to 24 of the data latch register 103f.
[0117]
Thereafter, the DMA processing unit 103 outputs a CPU bus use request to the CPU 101. When the CPU 101 permits the CPU processing unit 103 to use the bus of the CPU, the DMA processing unit 103 outputs the address JJJJ to the memory 105 and writes data. Thereafter, the DMA processing unit 103 increments the transfer destination address by 1 and decrements the transfer byte count by 1.
[0118]
In FIG. 9, the case where little endian is set is described. However, when big endian is set as endian information in the DMA processing unit, the order of data transfer and data storage in the data latch register are described. The positional relationship is changed. More details
4i byte data → bits 31-24 of data latch register
4i + 1 byte data → bits 23 to 16 of data latch register
4i + 2nd byte data → bit 15 to 8 of data latch register
4i + 3rd byte data → data latch register bits 7-0
It becomes. By storing data in this order, endian conversion can be easily performed.
[0119]
In this manner, the endian conversion processing by the CPU can be made unnecessary by outputting the endian information by the CPU and changing the data storage order in the register based on the output.
[0120]
[Modification]
The command sequence shown in FIG. 10 may be used as the transfer command data sequence.
[0121]
The command sequence shown in FIG.
(1) Transfer L1 bytes of data to the transfer destination physical address WWW,
(2) Transfer L2 bytes of data to the transfer destination physical address XXXX,
(3) Data having a transfer byte count of M bytes is transferred only from the disk reader to the DMA processing unit and is not stored in the memory (YYYY is set as a dummy transfer destination address. Any value)
(4) This is a command sequence for performing batch processing of transferring data of the number of transfer bytes of N bytes to the transfer destination physical address ZZZ.
[0122]
The operation of the DMA processor in this case is as follows:
(1) The command data amount (command information amount) is read from the address AAAA, and the extent on the memory is identified as the data representing the command string.
[0123]
(2) The data transfer destination physical address as the first command is read from the AAAA + 4 address and set in the internal transfer address counter.
[0124]
(3) The number of data transfer bytes of the first command is read from the AAAA + 8 address and set in the internal transfer byte number counter.
[0125]
(4) Read information on the necessity of writing transfer data from the disk reading device of the first command to the memory from AAAAA + 12 and set it in the internal flag register.
[0126]
(5) When the first command is completed, the data transfer destination physical address as the second command is read from the AAAA + 16 address and set in the internal transfer address counter.
[0127]
(6) The number of data transfer bytes as the second command is read from the address AAAA + 20 and set in the internal transfer byte number counter.
[0128]
(7) From the address AAAA + 24, information on the necessity of writing transfer data from the disk reading device of the second command to the memory is read and set in the internal flag register.
[0129]
Thereafter, the same operation is repeated, and when the processing of the command string data having the command information amount read first is finished, it is determined that all commands are finished.
[0130]
In this embodiment, a circuit for storing and calculating the command information amount in the DMA transfer processing unit is required. By adding 1 bit to the transfer control flag portion whether or not the data stored at the next address means a command string for the DMA transfer processing unit, the memory usage is reduced, and the DMA transfer processing unit It is also possible to easily determine the end of the command string.
[0131]
[Effects of the embodiment]
The above-described embodiment has the following effects.
[0132]
The CPU can transfer the data in the disc-like discontinuous area to the discontinuous memory area by performing control once for each of the DMA processing unit and the disc reader. Thereby, the effect of reducing the processing load on the CPU is great.
[0133]
Further, unnecessary data is not written in the memory, and transfer processing can be performed only by the local bus during transfer of unnecessary data, so that the use efficiency of the data bus of the CPU is not affected at all.
[0134]
In addition, in the case of data reading over a short distance of the disk, since there is no data reading overhead, the data transfer time can be shortened.
[0135]
Furthermore, since the motor for moving the pickup of the disk reader can be continuously operated at a stable speed, the wear of the motor is reduced and the life of the motor can be extended.
[0136]
In the second embodiment, the difference between the CPU data bus width and the disk reader data bus width can be absorbed by the data latch register. As a result, the use frequency of the CPU data bus can be reduced as compared with the conventional data transfer, and the use efficiency of the CPU data bus is improved.
[0137]
Further, when endian conversion processing is performed, the difference between the data stored in the storage medium and the endian of the CPU can be absorbed. Further, endian conversion processing by the CPU can be eliminated.
[0138]
In addition, the transfer start address, the number of transfer bytes, and transfer control information can be obtained by reading the command data from the memory once, and the DMA processing unit can also be configured easily.
[0139]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a navigation device according to a first embodiment of the present invention.
2 is a block diagram showing a configuration of a data transfer management device included in FIG. 1. FIG.
FIG. 3 is a diagram illustrating a specific example of a transfer command data string.
FIG. 4 is a diagram for explaining processing for converting transfer byte count information and transfer destination address information into transfer byte count and transfer destination address;
FIG. 5 is a diagram for explaining the operation of the data transfer management device;
FIG. 6 is a diagram following FIG. 5;
FIG. 7 is a diagram subsequent to FIG. 6;
FIG. 8 is a block diagram illustrating a configuration of a data transfer management device according to a second embodiment.
FIG. 9 is a diagram for explaining the operation of the data transfer management device according to the second embodiment;
FIG. 10 is a diagram for explaining a modification of the embodiment.
FIG. 11 is a block diagram showing a configuration of a conventional data transfer management device.
FIG. 12 is a diagram for explaining the operation of a conventional data transfer management device.
[Explanation of symbols]
101 CPU
103 DMA processor
105 memory
107 Disc reader
109 discs

Claims (2)

車両に搭載可能なナビゲーション装置であって、
ディスク状の記憶媒体からデータ読出を行なうディスク読取装置と、
前記ディスク読取装置が読出したデータを格納するメモリと、
前記ディスク読取装置と前記メモリとのそれぞれに接続され、それぞれを制御するDMA処理部と、
前記ディスク読取装置と前記メモリと前記DMA処理部とのそれぞれに接続され、装置全体を制御する中央制御装置と、
データの転送アドレスと転送するデータのサイズと転送の制御のためのフラグとを含むコマンドを少なくとも1つ記憶する記憶手段とを備え
前記メモリは、前記中央制御装置を介して前記ディスク読取装置と接続されるルートとは別に前記DMA処理部を介して前記ディスク読取装置と接続され、前記ディスク読取装置から前記DMA処理部を介した前記メモリへのデータの書込は前記中央制御装置の動作とは独立して行なうことが可能で、
前記記憶手段は、前記データの転送アドレスと前記転送するデータのサイズとのうちの少なくとも1つを簡略化して記憶し、該簡略化して記憶されたコマンドは1回の読出動作で読出が可能であり、
前記ディスク読取装置は、前記ディスク状の記憶媒体から、転送不要なデータをも含む連続したデータの読出を行ない、
前記DMA処理部は、
前記ディスク読取装置からのデータを一時的にラッチするレジスタを備え、
前記記憶手段に記憶されたコマンドに基づいて前記ディスク読取装置が読出したデータのうち、前記転送不要なデータを除いて前記メモリに格納させ、
前記レジスタが前記中央制御装置のデータバス幅分のデータをラッチしたときに、該ラッチしたデータを転送する、ナビゲーション装置。
A navigation device that can be mounted on a vehicle,
A disk reader for reading data from a disk-shaped storage medium;
The data to which the disk reader is reading a memory which store,
A DMA processor connected to and controlling each of the disk reader and the memory;
A central control device connected to each of the disk reading device, the memory and the DMA processing unit for controlling the entire device;
Storage means for storing at least one command including a transfer address of data, a size of data to be transferred, and a flag for controlling transfer ;
The memory is connected to the disk reading device via the DMA processing unit separately from a route connected to the disk reading device via the central control unit, and from the disk reading device via the DMA processing unit. Writing data to the memory can be performed independently of the operation of the central control unit,
The storage means stores at least one of the transfer address of the data and the size of the data to be transferred in a simplified manner, and the command stored in a simplified manner can be read by one read operation. Yes,
The disk reader reads continuous data including unnecessary data from the disk-shaped storage medium,
The DMA processing unit
A register that temporarily latches data from the disk reader;
Of the data read by the disk reader based on the command stored in the storage means, store the data in the memory excluding the unnecessary data,
A navigation device that transfers the latched data when the register latches data for the data bus width of the central control device.
前記中央処理装置は、エンディアン制御情報を出力し、前記レジスタにおけるデータの格納順序は、前記エンディアン制御情報に基づいて変化することを特徴とする、請求項に記載のナビゲーション装置。The navigation device according to claim 1 , wherein the central processing unit outputs endian control information, and a storage order of data in the register changes based on the endian control information.
JP4639599A 1999-02-24 1999-02-24 Navigation device Expired - Lifetime JP4330200B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4639599A JP4330200B2 (en) 1999-02-24 1999-02-24 Navigation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4639599A JP4330200B2 (en) 1999-02-24 1999-02-24 Navigation device

Publications (2)

Publication Number Publication Date
JP2000242601A JP2000242601A (en) 2000-09-08
JP4330200B2 true JP4330200B2 (en) 2009-09-16

Family

ID=12745970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4639599A Expired - Lifetime JP4330200B2 (en) 1999-02-24 1999-02-24 Navigation device

Country Status (1)

Country Link
JP (1) JP4330200B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4514173B2 (en) * 2000-10-13 2010-07-28 キヤノン株式会社 Data processing method and image processing apparatus
US8210948B2 (en) 2005-07-15 2012-07-03 Mitsubishi Electric Corporation Recording medium reproducing apparatus, recording medium reproducing method, and portable recording medium
US9128699B2 (en) * 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command

Also Published As

Publication number Publication date
JP2000242601A (en) 2000-09-08

Similar Documents

Publication Publication Date Title
KR100245896B1 (en) Hard disk drive controller using plural microprocessor
JP2545482B2 (en) Interface device transfer parameter setting method
EP1036363A2 (en) Minimal frame buffer manager for use in data storage devices
JP4330200B2 (en) Navigation device
JP5206103B2 (en) Storage device, storage device control system, storage device control method, and program
JP2002007076A (en) Recording and reproducing device
JP2001216193A (en) Cache mechanism and operation control method of cache mechanism
JP3072559B2 (en) ATAPI interface control circuit and DVD player using the circuit
JPH09160813A (en) File managing device
JP4209108B2 (en) Storage device control method, storage device used in this method, disk array device, and disk controller
JP2912090B2 (en) Time slot interchange circuit
JP2541117B2 (en) Data access device
JPS63213018A (en) External memory control device
JP3734072B2 (en) Local bus control device
JP2570986B2 (en) Data transfer control device and method
JP2980163B2 (en) Data transfer method
JPH09114598A (en) Disk cache device
JPH0365570B2 (en)
JP2000305798A (en) Error detection code generating method and its device
JPS58109915A (en) Data transfer controlling system of bus coupling system
JPS6243745A (en) Information processor
JPH0652056A (en) Cache memory system
JPS6269347A (en) Direct memory access controller
JPH0628110A (en) Compact disk reading device
JPH0376059A (en) Magnetic disk device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060221

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090306

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090616

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term