JP4205975B2 - Bus bridge device and data transfer control method - Google Patents

Bus bridge device and data transfer control method Download PDF

Info

Publication number
JP4205975B2
JP4205975B2 JP2003073224A JP2003073224A JP4205975B2 JP 4205975 B2 JP4205975 B2 JP 4205975B2 JP 2003073224 A JP2003073224 A JP 2003073224A JP 2003073224 A JP2003073224 A JP 2003073224A JP 4205975 B2 JP4205975 B2 JP 4205975B2
Authority
JP
Japan
Prior art keywords
command
control unit
data
bus bridge
transfer control
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 - Fee Related
Application number
JP2003073224A
Other languages
Japanese (ja)
Other versions
JP2004280640A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2003073224A priority Critical patent/JP4205975B2/en
Publication of JP2004280640A publication Critical patent/JP2004280640A/en
Application granted granted Critical
Publication of JP4205975B2 publication Critical patent/JP4205975B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、互いに異なるバスインタフェースを有する複数の電子機器をブリッジし、これら機器間のデータ転送を制御するバスブリッジ装置およびそのデータ転送制御方法に関するものであり、特に、IEEE1394インタフェースを備えたホスト機器としてのコンピュータとIDEインタフェースを備えた周辺機器との間でのデータ転送に好適なバスブリッジ装置の技術に属する。
【0002】
【従来の技術】
一般に、パーソナルコンピュータに標準搭載されているIDE(Integrated Device Electronics)インタフェースは安価であるため、内蔵用の光ディスクドライブやハードディスクドライブなどの内蔵ストレージ機器の最初のモデルとして持たせることが多い。これに比べて、IEEE(Institute of Electrical and Electronics Engineers)1394やUSB2.0(universal serial bus)といった次世代のインタフェースは高価であり、現状では、あまり普及していない。したがって、Windows(登録商標)やMacOS(登録商標)などの一般的なオペレーティング・システムと内蔵ストレージ機器を、IEEE1394インタフェースを通じて接続する場合、新たにIEEE1394インタフェースを備えた内蔵ストレージ機器を開発するよりも、既に開発されているIDEインタフェースを備えた内蔵ストレージ機器を、IDEブリッジ(ブリッジ装置)を介してIEEE1394インタフェースに接続する方がコスト面で有利であり、現在の主流となっている。
【0003】
一方、コストダウンの目的で、内蔵ストレージ機器自体には温度管理用のファンやファン駆動用の制御出力端子が搭載されていない場合が多い。このため、たとえば、内蔵ストレージ機器の筐体にファンを取り付け、IEEE1394インタフェース側からそのファンを駆動および制御して、内蔵ストレージ機器の温度管理を行っている(たとえば、特許文献1参照)。
【0004】
【特許文献1】
特開平10−254811号公報
【0005】
【発明が解決しようとする課題】
一般に、内蔵ストレージ機器の温度情報は、内蔵ストレージ機器にIDEインタフェース用のベンダーユニークコマンドを発行することによって得ることができる。しかし、コンピュータが内蔵ストレージ機器からデータを読み出している最中に、IEEE1394インタフェース側から内蔵ストレージ機器に対してベンダーユニークコマンドを発行すると、データの読み出しが一時中断してしまうことがある。すなわち、IEEE1394インタフェース側からベンダーユニークコマンドを発行することによって、転送レートが低下し、再生中の動画や音声が途切れてしまうおそれがある。
【0006】
上記問題に鑑み、本発明は、互いに異なるバスインタフェースを備えた複数の電子機器をブリッジし、これら機器間でデータ転送を行う際に、データ転送レートを低下させることなく、ブリッジされた内蔵ストレージ機器などに対して、温度情報取得などの割り込み制御をかけることが可能なバスブリッジ装置、およびそのような割り込み制御を可能にするデータ転送制御方法の提供を目的とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために本発明が講じた手段は、第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置として、前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、与えられたコマンドに従って、前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、この予測した予測コマンドを前記第2の転送制御部に与え、かつ、当該予測コマンドと前記第1のコマンドの後に実際に発行された第2のコマンドとが一致するか否かを判断する先読み制御部と、前記予測コマンドに従って前記第2の転送制御部によって前記第2の機器から先読みされた先読みデータを、一時的に記憶する記憶部と、前記第2の機器に対して割り込み制御をかける割り込み制御部とを備えたものとする。ここで、前記第1の転送制御部は、前記先読み制御部によって前記予測コマンドと前記第2のコマンドとの一致が判断されたとき、前記記憶部に記憶された先読みデータを、前記第1の機器に転送するものとする。また、前記割り込み制御部は、前記第1の転送制御部によって前記記憶部から前記先読みデータが転送されている間に、前記割り込み制御をかけるものとする。
【0008】
本発明によると、先読み制御部によって第1のコマンドから予測された予測コマンドに従って、第2の転送制御部によって第2の機器からデータが先読みされ、先読みデータが記憶部に一時的に記憶される。そして、予測コマンドと第1の機器からの第1のコマンドの後に実際に発行された第2のコマンドとが一致するとき、第1の転送制御部によって、記憶部に記憶された先読みデータが第1の機器に転送される。この先読みデータの転送の間、第2の転送制御部および第2の機器は動作していない状態、すなわちアイドル状態にあり、割り込み制御が可能となる。したがって、このアイドル状態の期間に、割り込み制御部によって第2の機器に対して割り込み制御がかけられる。これにより、第1および第2の機器間のデータ転送レートを低下させることなく、第2の機器に対して割り込み制御をかけることができる。
【0009】
好ましくは、前記割り込み制御部は、前記記憶部に記憶された先読みデータの量を監視し、前記第1の機器に未転送の先読みデータが所定量以上残存すると判断したとき、前記割り込み制御をかけるものとする。
【0010】
また、本発明が講じた手段は、第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置として、前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、与えられたコマンドに従って、前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、この予測した予測コマンドを前記第2の転送制御部に与え、かつ、当該予測コマンドと前記第1のコマンドの後に実際に発行された第2のコマンドとが一致するか否かを判断する先読み制御部と、前記第2の機器に対して割り込み制御をかける割り込み制御部とを備えたものとする。ここで、前記第2の転送制御部は、前記予測コマンドに従った前記第2の機器からのデータの先読み処理を一時停止しておき、前記先読み制御部によって前記前記予測コマンドと前記第2のコマンドとの一致が判断されたとき、当該データの先読み処理を再開するものとする。また、前記割り込み制御部は、前記第2の転送制御部が前記データの先読み処理を一時停止してから再開するまでの間に、前記割り込み制御をかけるものとする。
【0011】
本発明によると、先読み制御部によって第1のコマンドから予測された予測コマンドに従って、第2の転送制御部によって第2の機器からのデータの先読み処理が行われるが、これが一時停止の状態にされる。そして、予測コマンドと第1の機器からの第1のコマンドの後に実際に発行された第2のコマンドとが一致するとき、データの先読み処理が再開され、第2の機器からデータが読み出され、第1の機器に転送される。このとき、データ転送フェーズから処理が再開されるため、コマンド・オーバーヘッドが生じない。したがって、この間を利用して、割り込み制御部によって第2の機器に対して割り込み制御がかけられる。これにより、第1および第2の機器間のデータ転送レートを低下させることなく、第2の機器に対して割り込み制御をかけることができる。
【0012】
なお、上記の各バスブリッジ装置における第2の転送制御部は、前記先読み制御部によって前記予測コマンドと前記第2のコマンドとの不一致が判断されたとき、前記予測コマンドに係る処理を破棄するとともに、前記第2のコマンドに従って、前記第2の機器と通信することが好ましい。
【0013】
また、本発明が講じた手段は、第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置として、前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、前記第1のバスインタフェースの使用状況を監視して、前記第1の機器から発行される各コマンド間の空き時間を判断し、この空き時間に、前記第2の機器に対して割り込み制御をかける割り込み制御部とを備え、前記第1および第2の転送制御部を介して前記第1および第2の機器間でデータ転送を行うとともに、前記第2の機器に対して割り込み制御をかけるものとする。
【0014】
本発明によると、割り込み制御部によって、第1のバスインタフェースの使用状況が監視され、前記第1の機器から発行される各コマンド間の空き時間が判断される。そして、この空き時間を利用して、第2の機器に対して割り込み制御がかけられる。これにより、第1および第2の機器間のデータ転送レートを低下させることなく、第2の機器に対して割り込み制御をかけることができる。
【0015】
なお、上記の各バスブリッジ装置における割り込み制御部は、前記割り込み制御によって前記第2の機器から得た情報に基づいて、当該バスブリッジ装置に接続された第3の機器を制御することが好ましい。具体的には、前記第3の機器は、前記第2の機器の温度管理用のファンであるとする。また、前記割り込み制御部は、前記割り込み制御によって前記第2の機器から温度管理情報を得、この温度管理情報に基づいて前記ファンを制御するものとする
【0016】
た、本発明が講じた手段は、第1の機器と第2の機器との間に設けられ、前記第1の機器と第1のバスインタフェースを通じて通信するとともに、前記第2の機器と第2のバスインタフェースを通じて通信し、前記第1および第2の機器間でデータ転送を行うバスブリッジ装置として、前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、予測した予測コマンドに従った、前記第2の機器から前記第1の機器へのデータ転送について、その処理の一部を先読み処理として実行し、前記第1の機器から前記第1のコマンドの後に発行された第2のコマンドが、前記予測コマンドと一致したとき、前記データ転送の残処理を実行し、前記残処理の実行中に、前記第2の機器に対して割り込み制御をかけるものとする。
【0017】
上記の各バスブリッジ装置において、具体的には、前記第1のバスインタフェースは、IEEE(Institute of Electrical and Electronics Engineers)1394規格またはUSB(universal serial bus)規格に準拠したものとする。また、前記第2のバスインタフェースは、IDE(Integrated Device Electronics)規格に準拠したものとする。
【0018】
一方、上記課題を解決するために本発明が講じた手段は、第1の機器と第2の機器との間に設けられ、前記第1の機器と第1のバスインタフェースを通じて通信するとともに、前記第2の機器と第2のバスインタフェースを通じて通信し、前記第1および第2の機器間でデータ転送を行うバスブリッジ装置において、当該データ転送を制御するデータ転送制御方法として、前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測するステップと、予測した予測コマンドに従った、前記第2の機器から前記第1の機器へのデータ転送について、その処理の一部を先読み処理として実行するステップと、前記第1の機器から前記第1のコマンドの後に発行された第2のコマンドが、前記予測コマンドと一致したとき、前記データ転送の残処理を実行するステップと、前記残処理の実行中に、前記第2の機器に対して割り込み制御をかけるステップとを有するものとする。
【0019】
好ましくは、前記先読み処理は、前記第2の機器に前記予測コマンドを発行するステップと、前記第2の機器から転送されたデータを受信するステップと、受信したデータを、記憶手段に蓄積するステップとを有するものとする。また、前記残処理は、前記記憶手段に蓄積されたデータを、前記第1の機器に転送するステップを有するものとする。
【0020】
また、好ましくは、前記先読み処理は、前記第2の機器に前記予測コマンドを発行するステップを有するものとする。また、前記残処理は、前記第2の機器から転送されたデータを受信するステップと、受信したデータを、記憶手段に蓄積するステップと、前記記憶手段に蓄積されたデータを、前記第1の機器に転送するステップを有するものとする。
【0021】
そして、前記データ転送制御方法は、さらに、前記割り込み制御によって、前記第2の機器から、前記バスブリッジ装置に接続された第3の機器の制御に係る情報を得るステップと、前記第3の機器の制御に係る情報に基づいて前記第3の機器を制御するステップとを有することが好ましい。
【0022】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0023】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るバスブリッジ装置の構成を示す。本実施形態のバスブリッジ装置10Aは、第1のバスインタフェースとしてのIEEE1394インタフェース21を有する第1の機器としてIEEE1394ホスト装置(ホスト機器)31と、第2のバスインタフェースとしてのIDEインタフェース22を有する第2の機器としての内蔵ストレージ機器32とをブリッジし、これら機器間のデータ転送を制御するとともに、接続された第3の機器としてのファン33を制御して内蔵ストレージ機器32の温度管理を行うものである。
【0024】
バスブリッジ装置10Aは、ホスト機器31側に接続されるIEEE1394インタフェース部としてのPHY11およびLINK12と、ホスト機器31との間でデータ転送処理を行う第1の転送制御部13と、内蔵ストレージ機器32との間でデータ転送処理を行う第2の転送制御部14と、記憶部15と、第2の転送制御部14を制御する先読み制御部16と、第1および第2の転送制御部13,14ならびにファン33を制御する割り込み制御部としてのCPU17とを備えている。
【0025】
第1の転送制御部13は、PHY11およびLINK12を介してIEEE1394のパケット制御を行い、ホスト機器31から与えられたパケットを、内蔵ストレージ機器32用のコマンドおよびデータを含むパケットとそれ以外のパケットとに区別して適宜処理する。具体的には、第1の転送制御部13は、IEEE1394パケットの内容を解析して、ORB(オペレーション・リクエスト・ブロック、図2参照)内のCDB(コマンド・データ・ブロック)から内蔵ストレージ機器32へのコマンド(SCSIコマンド、図3参照)を抽出する。そして、この抽出したコマンドを第2の転送制御部14に送る。
【0026】
第2の転送制御部14は、第1の転送制御部13から内蔵ストレージ機器32用のコマンドを受け、IDEインタフェース22を通じて内蔵ストレージ機器32に当該コマンドを発行してデータ転送処理を行う。
【0027】
記憶部15は、内蔵ストレージ機器32から読み出されたホスト機器31宛ての送信データを一時的に記憶する。
【0028】
先読み制御部16は、ホスト機器31から内蔵ストレージ機器32宛てに発行されるコマンドを予測し、当該予測コマンドを第2の転送制御部14に与えて、第2の転送制御部14を制御する。
【0029】
CPU17は、第1および第2の転送制御部13,14を制御してIEEE1394インタフェース処理およびIDEインタフェース処理を管理するとともに、適宜、ファン33を制御する。
【0030】
以上のように構成された本実施形態のバスブリッジ装置10Aの動作について、図4のタイミングチャートを参照しながら説明する。
【0031】
まず、ホスト機器31からIEEE1394インタフェース21に、CDB1を含むORBのパケットが出力される。第1の転送制御部13は、このパケットを解析して第1のコマンドとしてのコマンド1を抽出し、コマンド1を第2の転送制御部14に送る。そして、第1の転送制御部13は、第2の転送制御部14からの応答を待つ。このとき、CPU17によって、ORB内の転送パラメータが第1の転送制御部13にセットされる。
【0032】
第2の転送制御部14は、第1の転送制御部13から与えられた内蔵ストレージ機器32宛てのコマンド1を、IDEインタフェース22を通じて内蔵ストレージ機器32に発行し、内蔵ストレージ機器32からデータ転送開始要求を受ける。データ転送開始要求を受けると、第2の転送制御部14は、第1の転送制御部13に対してコマンド完了通知を行うとともにデータ転送開始要求を行い、データ転送の指示をする。そして、IDEインタフェース22を通じて内蔵ストレージ機器32から転送されるデータ1を、記憶部15を経由して第1の転送制御部13に送る。第1の転送制御部13は、与えられたデータをIEEE1394のパケットに成形して、IEEE1394インタフェース21を通じて当該データをホスト機器31に送信する。
【0033】
内蔵ストレージ機器32からホスト機器31にデータを転送する場合、内蔵ストレージ機器32からのデータ転送の方が先に完了する。すなわち、内蔵ストレージ機器32から、データ1〜データnまでが読み出された時点で、第1の転送制御部13は、まだ、記憶部15に記憶されたデータの転送処理中である。そこで、先読み制御部16は、先ほど第2の転送制御部14から内蔵ストレージ機器32に発行されたコマンド1を参照して、ホスト機器31が次に発行するコマンドを予測し、当該予測コマンド(コマンド2)を第2の転送制御部14に与えておく。なお、このとき、第1の転送制御部13は、ホスト機器31とのデータ転送中またはデータ転送終了処理中であるが、第2の転送制御部14および先読み制御部16は、これとは関係なく独立して動作する。
【0034】
ここで、コマンド予測の一例を説明しておく。ホスト機器31が発行したコマンドに従って内蔵ストレージ機器32から映像や音声データを読み出す場合、一度に全データを読み出すのではなく、32K〜64KByte程度の固定長にデータを分割して読み出すのが一般的である。このような場合、ホスト機器31がデータ読み出しに当たって最初に発行したコマンドに指定されたデータの先頭アドレスおよびそのデータ長から、ホスト機器31が次に発行するコマンドに指定されるデータの先頭アドレスおよびそのデータ長を予測することができる。特に、内蔵ストレージ機器32が、音楽CDやDVD−Videoなどを再生する場合には、これらメディアにおいては連続したアドレスにデータが配置されることが多いため、読み出しに係るアドレスを予測することはきわめて容易である。
【0035】
先読み制御部16によって発行されたコマンド2に対して、内蔵ストレージ機器32からデータ転送要求が第2の転送制御部14に送られると、第2の転送制御部14と内蔵ストレージ機器32との間でデータ転送が開始される。このデータ転送において内蔵ストレージ機器32から送信されるデータ1〜データnは、第2の転送制御部14を経由して記憶部15に記憶される。この処理は、ホスト機器31から内蔵ストレージ機器32に次のコマンドが発行されるまで任意に繰り返される。
【0036】
そして、ホスト機器31は、CDB1を含むORBのパケットの処理が完了すると、次に、CDB2を含むORBのパケットを出力する。先ほどと同じく、CPU17によって第1の転送制御部13のパラメータがセットされ、また、第1の転送制御部13によって内蔵ストレージ機器32宛ての第2のコマンドが抽出され、第2の転送制御部14に送られる。このとき、先読み制御部16は、ホスト機器31からの当該次発行のコマンドと先に予測した予測コマンドとが一致するか否かを判断する。そして、一致すると判断したとき、第2の転送制御部14を介して第1の転送制御部13にコマンド完了通知を行うとともにデータ転送開始要求を行い、第1の転送制御部13にデータ転送の指示をする。このとき、内蔵ストレージ機器32へのコマンド発行は行われない。
【0037】
第1の転送制御部13は、データ転送開始要求を受けると、記憶部15に記憶されているデータ1〜データnを読み出してホスト機器31に転送する。ここで、記憶部15に記憶されているデータは、先読み制御部16が予測したコマンドに基づいて内蔵ストレージ機器32から先読みされたデータである。
【0038】
記憶部15から先読みされたデータが読み出されている間、第2の転送制御部14、IDEインタフェース22および内蔵ストレージ機器32は動作してないアイドル状態にある。したがって、この間を利用してCPU17から内蔵ストレージ機器32宛てに温度情報取得コマンドを発行する。これにより、内蔵ストレージ機器32からホスト機器31へのデータ転送レートを低下させることなく、内蔵ストレージ機器32から温度情報を取得することができる。
【0039】
以上、本実施形態によると、ホスト機器31および内蔵ストレージ機器32間のデータ転送レートを低下させることなく、温度情報の取得といった内蔵ストレージ機器32に対する割り込み制御をかけることができる。これにより、たとえば、ホスト機器31において内蔵ストレージ機器32から読み出した動画データなどの再生中に、当該動画再生を途切れさせることなく、ファン33を適宜制御して内蔵ストレージ機器32の温度管理を行うことができる。
【0040】
なお、CPU7は、記憶部15に記憶されたデータの量を監視し、ホスト機器31によってまだ読み出されていないデータが所定量以上十分に残存している判断したとき、温度情報取得コマンドを発行することが好ましい。こうすることにより、第2の転送制御部14、IDEインタフェース22および内蔵ストレージ機器32がアイドル状態にある期間内に、温度情報取得に係る処理を完了することが保証される。これにより、より確実に、ホスト機器31および内蔵ストレージ機器32間のデータ転送レートの低下を回避することができる。
【0041】
また、先読み制御部16は、予測コマンドとホスト機器31からの次発行のコマンドとが一致しないと判断したとき、第2の転送制御部14を介してIDEインタフェース22を制御し、内蔵ストレージ機器32に対して先に発行した予測コマンドを破棄するように処置し、また、第2の転送制御部14は、当該次発行のコマンドを内蔵ストレージ機器32に新たに発行することが好ましい。こうすることにより、先読み制御部16が予測誤りをした場合であっても、データ転送処理を正常な状態に復帰させることができる。
【0042】
(第2の実施形態)
図5は、本発明の第2の実施形態に係るバスブリッジ装置の構成を示す。同図において、図1に示した構成要素と同様のものについては、図1と同一の符号を付している。図5からわかるように、本実施形態のバスブリッジ装置10Bは、第1の実施形態に係るバスブリッジ装置10Aにおける記憶部15を省略した構成となっている。以下、バスブリッジ装置10Bの動作について、図6のタイミングチャートを参照しながら説明する。なお、バスブリッジ装置10Aと異なる点についてのみ説明する。
【0043】
第2の転送制御部14は、先読み制御部16によって予測されたコマンド2を内蔵ストレージ機器32に発行した後、内蔵ストレージ機器32から実際にデータを先読みすることなく、データ転送フェーズでデータ転送処理を一時停止の状態にしておく。そして、先読み制御部16によって、ホスト機器31からの次発行のコマンドと先に予測したコマンドとの一致が判断され、第1の転送制御部13に対してコマンド完了通知が行われ、データ転送の指示がされたとき、第2の転送制御部14は、一時停止の状態にしていたデータ転送処理を再開する。このとき、内蔵ストレージ機器32へのコマンド発行は行われず、一時停止していたデータ転送フェーズから処理が再開される。これにより、次発行のコマンドの処理に係るコマンド・オーバーヘッドを削減することができる。そして、この削減されたオーバーヘッドの期間に、CPU17は、内蔵ストレージ機器32に割り込み制御をかけることができる。
【0044】
以上、本実施形態によると、データを先読みして一時的に記憶する記憶手段を備えることなく、ホスト機器31および内蔵ストレージ機器32間のデータ転送レートの低下を回避することができる。これにより、第1の実施形態に係るバスブリッジ装置10Aよりも、より小さな回路規模で実施可能となる。
【0045】
(第3の実施形態)
図7は、本発明の第3の実施形態に係るバスブリッジ装置の構成を示す。同図において、図1に示した構成要素と同様のものについては、図1と同一の符号を付している。図7からわかるように、本実施形態のバスブリッジ装置10Cは、第1の実施形態に係るバスブリッジ装置10Aにおける記憶部15および先読み制御部16を省略した構成となっている。以下、バスブリッジ装置10Cの動作について、図8のタイミングチャートを参照しながら説明する。なお、バスブリッジ装置10Aと異なる点についてのみ説明する。
【0046】
CPU17は、第1の転送制御部13を介してIEEE1394インタフェース21の使用状況、すなわちホスト機器31からのコマンド発行の頻度を監視し、ホスト機器31がORBを発行してこない状態を判断する。この場合、第2の転送制御部14はアイドル状態にあるため、CPU17は、内蔵ストレージ機器32に温度情報取得コマンドを発行すべく第2の転送制御部14を駆動する。これにより、ホスト機器31がORBを発行してこない空き時間を利用して、内蔵ストレージ機器32の温度情報を得ることができる。
【0047】
IEEE1394インタフェース21に発行されるコマンド間の空き時間の判断には、たとえば、アイソクロナス(Isochronous)転送に係るいわゆるアイソクロナスギャップを用いることができる。アイソクロナス転送では、125μsの間隔でパケット転送が行われるため、あるパケットの転送が完了し、次のパケットの転送が実行されるまでの空き時間(アイソクロナスギャップ)を判断することができる。したがって、この空き時間を利用して、内蔵ストレージ機器32に割り込み制御をかけることが可能である。ただし、現在の内蔵ストレージ機器32ではドライブ応答性能が十分でないため、アイソクロナスギャップ内に割り込み制御を完了することが困難である。しかし、将来的にはドライブ応答性能の向上が予想されるため、アイソクロナスギャップ内に割り込み制御を完了することは十分可能である。
【0048】
以上、本実施形態によると、IEEE1394インタフェース21の使用状況を監視し、ホスト機器31がORBを発行してこない空き時間に、内蔵ストレージ機器32に対して割り込み制御をかけることができる。これにより、ホスト機器31および内蔵ストレージ機器32間のデータ転送レートを低下させることなく、内蔵ストレージ機器32に対して、温度情報取得の割り込み制御をかけることができる。さらに、第1および第2の実施形態に係るバスブリッジ装置10A,10Bよりも、回路面積をより一層低減することができる。
【0049】
参考例
図9は、参考例に係るバスブリッジ装置の構成を示す。同図において、図1に示した構成要素と同様のものについては、図1と同一の符号を付している。図7からわかるように、本参考例のバスブリッジ装置10Dは、第1の実施形態に係るバスブリッジ装置10Aにおける記憶部15、先読み制御部16およびCPU17を省略した構成となっている。以下、バスブリッジ装置10Dについて、バスブリッジ装置10Aと異なる点についてのみ説明する。
【0050】
IDEの仕様に関して、内蔵ストレージ機器32と第2の転送制御部14との間でやり取りされる情報としてINTRQ信号およびSTATUSレジスタ情報がある。第2の転送制御部14において、これら情報を、コマンド処理フェーズ、データ転送フェーズおよび何も送受信されていないアイドルフェーズのそれぞれと関連付けることによって、内蔵ストレージ機器32から与えられる情報が、温度管理要求なのか、それとも通常の信号およびデータ処理要求なのかを見分けることができる。
【0051】
コマンド処理フェーズおよびデータ転送フェーズにおいて、第2の転送制御部14は、内蔵ストレージ機器32からINTRQ信号を受けたとき、内蔵ストレージ機器32からIDEインタフェース21のSTATUSレジスタ情報を取得する。このとき、内蔵ストレージ機器32は、STATUSレジスタ情報に含まれるフラグによって温度管理要求を表すことにより、第2の転送制御部14に温度管理のための制御を要求することができる。そして、この要求を受けた第2の転送制御部14は、ファン33を制御して、内蔵ストレージ機器32の温度管理を行う。
【0052】
また、アイドルフェーズにおいても上記と同様に、第2の転送制御部14は、INTRQ信号を受けることによって、内蔵ストレージ機器32から、温度管理要求を表すフラグを含むSTATUSレジスタ情報を得、これに基づいて、ファン33を制御する。
【0053】
以上、本参考例によると、内蔵ストレージ機器32からの割り込み要求(INTRQ信号)に応じて、内蔵ストレージ機器32から温度管理情報を得、これに基づいてファン33を制御することができる。したがって、内蔵ストレージ機器32に対して、温度情報取得コマンドを発行する必要がなく、ホスト機器31および内蔵ストレージ機器32間のデータ転送レートを低下させることがない。
【0054】
なお、内蔵ストレージ機器32からのINTRQ信号に応じてSTATUSレジスタ情報を取得するのではなく、第2の転送制御部14が内蔵ストレージ機器32に対してポーリングし、定期的にSTATUS情報を得るようにすることも可能である。これにより、第2の転送制御部14は、INTRQ信号が与えられなくとも、ファン33の制御タイミングを知ることができる。
【0055】
上記説明において、本発明に係るバスブリッジ装置10A〜10Dは、IEEE1394インタフェースとIDEインタフェースとをブリッジするものであるとしたが、これはあくまでも一例であり、本発明が対象とするバスインタフェースはこれらに限定されるものではない。たとえば、IEEE1394に代えてUSB2.0などにしてもよい。
【0056】
また、本発明の第2の機器として、内蔵ストレージ機器32ではなく、外付けのストレージ機器であってもよい。また、本発明の第3の機器は、内蔵ストレージ機器32の温度管理用のファン33以外のものであってもよい。したがって、割り込み制御部としてのCPU17が内蔵ストレージ機器32に対して行う割り込み制御は、温度管理情報の取得に限定されるものではない。
【0057】
【発明の効果】
以上説明したように、本発明によると、互いに異なるバスインタフェースをそれぞれ備えた第1の機器および第2の機器をブリッジし、これら機器間のデータ転送を制御するバスブリッジ装置について、データ転送レートを低下させることなく、第2の機器に対して割り込み制御をかけることができる。これにより、たとえば、第2の機器からデータを読み出して動画などを再生中に、画像を途切れさせることなく第2の機器の温度管理情報などを取得することができる。そして、取得した温度管理情報などに基づいて、適切に第2の機器の温度管理などを行うことができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係るバスブリッジ装置の構成図である。
【図2】 IEEE1394に係るORBのフォーマットを示す図である。
【図3】 SCSIコマンドのフォーマットを示す図である。
【図4】 本発明の第1の実施形態に係るバスブリッジ装置のタイミングチャートである。
【図5】 本発明の第2の実施形態に係るバスブリッジ装置の構成図である。
【図6】 本発明の第2の実施形態に係るバスブリッジ装置のタイミングチャートである。
【図7】 本発明の第3の実施形態に係るバスブリッジ装置の構成図である。
【図8】 本発明の第3の実施形態に係るバスブリッジ装置のタイミングチャートである。
【図9】 参考例に係るバスブリッジ装置の構成図である。
【符号の説明】
10A,10B,10C,10D バスブリッジ装置
13 第1の転送制御部
14 第2の転送制御部
15 記憶部(記憶手段)
16 先読み制御部
17 CPU(割り込み制御部)
21 IEEE1394インタフェース(第1のバスインタフェース)
22 IDEインタフェース(第2のバスインタフェース)
31 ホスト機器(第1の機器)
32 内蔵ストレージ機器(第2の機器)
33 ファン(第3の機器)
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a bus bridge device that bridges a plurality of electronic devices having different bus interfaces and controls data transfer between these devices, and a data transfer control method thereof, and more particularly, to a host device having an IEEE1394 interface. This belongs to the technology of a bus bridge device suitable for data transfer between a computer and a peripheral device equipped with an IDE interface.
[0002]
[Prior art]
  Generally, an IDE (Integrated Device Electronics) interface that is standardly installed in a personal computer is inexpensive, and is often provided as the first model of a built-in storage device such as a built-in optical disk drive or hard disk drive. Compared to this, next-generation interfaces such as IEEE (Institute of Electrical and Electronics Engineers) 1394 and USB 2.0 (universal serial bus) are expensive and are not widely used at present. Therefore, when connecting a general operating system such as Windows (registered trademark) or MacOS (registered trademark) and a built-in storage device through the IEEE 1394 interface, rather than developing a new built-in storage device equipped with the IEEE 1394 interface. It is more cost-effective to connect an already-developed built-in storage device having an IDE interface to an IEEE 1394 interface via an IDE bridge (bridge device), which is currently the mainstream.
[0003]
  On the other hand, for the purpose of cost reduction, the built-in storage device itself is often not equipped with a temperature management fan or a fan drive control output terminal. For this reason, for example, a fan is attached to the housing of the internal storage device, and the temperature of the internal storage device is managed by driving and controlling the fan from the IEEE1394 interface side (see, for example, Patent Document 1).
[0004]
[Patent Document 1]
      Japanese Patent Laid-Open No. 10-254811
[0005]
[Problems to be solved by the invention]
  Generally, the temperature information of the internal storage device can be obtained by issuing a vendor unique command for the IDE interface to the internal storage device. However, if the vendor unique command is issued from the IEEE 1394 interface side to the internal storage device while the computer is reading data from the internal storage device, the data reading may be temporarily interrupted. That is, by issuing a vendor unique command from the IEEE 1394 interface side, there is a possibility that the transfer rate is lowered and the video and audio being reproduced are interrupted.
[0006]
  In view of the above problems, the present invention bridges a plurality of electronic devices having different bus interfaces and bridges a built-in storage device without lowering the data transfer rate when transferring data between these devices. It is an object of the present invention to provide a bus bridge device capable of performing interrupt control such as temperature information acquisition and the like, and a data transfer control method enabling such interrupt control.
[0007]
[Means for Solving the Problems]
  Means taken by the present invention to solve the above problems is provided between the first device and the second device, and as a bus bridge device for transferring data between the first device and the first device, From the first transfer control unit that communicates via the first bus interface, the second transfer control unit that communicates with the second device via the second bus interface according to a given command, and the first device With reference to the issued first command, a command issued after the first command is predicted, the predicted command is given to the second transfer control unit, and the predicted command and the command A prefetch control unit that determines whether or not a second command that is actually issued after the first command matches, and the second device by the second transfer control unit according to the prediction command Luo prefetched preread data, a storage unit for temporarily storing, and that a interrupt control unit to interrupt control with respect to the second device. Here, when the first read control unit determines that the prediction command matches the second command by the prefetch control unit, the first transfer control unit stores the prefetch data stored in the storage unit as the first transfer control unit. It shall be transferred to the device. The interrupt control unit applies the interrupt control while the prefetch data is being transferred from the storage unit by the first transfer control unit.
[0008]
  According to the present invention, in accordance with the prediction command predicted from the first command by the prefetch control unit, data is prefetched from the second device by the second transfer control unit, and the prefetch data is temporarily stored in the storage unit. . When the prediction command matches the second command actually issued after the first command from the first device, the first transfer control unit stores the prefetched data stored in the storage unit as the first command. 1 device. During the transfer of the prefetched data, the second transfer control unit and the second device are not operating, that is, in an idle state, and interrupt control is possible. Therefore, during this idle state, the interrupt control unit applies interrupt control to the second device. Thereby, interrupt control can be applied to the second device without lowering the data transfer rate between the first and second devices.
[0009]
  Preferably, the interrupt control unit monitors the amount of prefetched data stored in the storage unit and applies the interrupt control when it is determined that a predetermined amount or more of unread prefetched data remains in the first device. Shall.
[0010]
  The means provided by the present invention is a bus bridge device that is provided between the first device and the second device and transfers data between them, and the first device and the first bus interface. A first transfer control unit that communicates with the second device according to a given command, a second transfer control unit that communicates with the second device through a second bus interface, and a first issued from the first device. The command issued after the first command is predicted, the predicted command is given to the second transfer control unit, and the predicted command and the first command It is assumed that a prefetch control unit that determines whether or not a second command that is actually issued later matches and an interrupt control unit that performs interrupt control on the second device are provided. Here, the second transfer control unit suspends prefetch processing of data from the second device according to the prediction command, and the prefetch control unit and the second command are preliminarily suspended. When a match with the command is determined, the prefetch process of the data is resumed. The interrupt control unit applies the interrupt control during a period from when the second transfer control unit pauses the data prefetching process to when it resumes.
[0011]
  According to the present invention, in accordance with the prediction command predicted from the first command by the prefetch control unit, the prefetch process of data from the second device is performed by the second transfer control unit, but this is temporarily stopped. The When the prediction command matches the second command actually issued after the first command from the first device, the data prefetching process is resumed, and the data is read from the second device. And transferred to the first device. At this time, since processing is resumed from the data transfer phase, no command overhead occurs. Therefore, using this interval, the interrupt control unit applies interrupt control to the second device. Thereby, interrupt control can be applied to the second device without lowering the data transfer rate between the first and second devices.
[0012]
  The second transfer control unit in each bus bridge device discards the process related to the prediction command when the prefetch control unit determines that the prediction command does not match the second command. It is preferable to communicate with the second device according to the second command.
[0013]
  The means provided by the present invention is a bus bridge device that is provided between the first device and the second device and transfers data between them, and the first device and the first bus interface. A first transfer control unit that communicates through the second bus controller, a second transfer control unit that communicates with the second device through a second bus interface, and a usage status of the first bus interface. The first and second transfer control units, comprising: an interrupt control unit that determines an idle time between commands issued from the device, and applies an interrupt control to the second device during the idle time. It is assumed that data transfer is performed between the first and second devices via an interrupt and interrupt control is applied to the second device.
[0014]
  According to the present invention, the use state of the first bus interface is monitored by the interrupt control unit, and the free time between the commands issued from the first device is determined. Then, using this idle time, interrupt control is applied to the second device. Thereby, interrupt control can be applied to the second device without lowering the data transfer rate between the first and second devices.
[0015]
  Note that the interrupt control unit in each bus bridge device described above preferably controls the third device connected to the bus bridge device based on the information obtained from the second device by the interrupt control. Specifically, the third device is assumed to be a temperature management fan for the second device. The interrupt control unit obtains temperature management information from the second device by the interrupt control, and controls the fan based on the temperature management information..
[0016]
  MaThe means provided by the present invention is provided between the first device and the second device, communicates with the first device through the first bus interface, and communicates with the second device and the second device. The first command issued from the first device is referred to as a bus bridge device that communicates through the bus interface and transfers data between the first and second devices. A command to be issued later is predicted, and a part of the process is executed as a prefetch process for data transfer from the second device to the first device according to the predicted command predicted, and the first When the second command issued after the first command from the device matches the prediction command, the remaining processing of the data transfer is executed, and the second device is executed during the remaining processing. for It shall be multiplied by the interrupt control.
[0017]
  In each of the above bus bridge devices, specifically, the first bus interface is assumed to conform to IEEE (Institute of Electrical and Electronics Engineers) 1394 standard or USB (universal serial bus) standard. The second bus interface conforms to the IDE (Integrated Device Electronics) standard.
[0018]
  On the other hand, the means taken by the present invention to solve the above problem is provided between the first device and the second device, communicates with the first device through a first bus interface, and In a bus bridge device that communicates with a second device through a second bus interface and performs data transfer between the first and second devices, the first device is used as a data transfer control method for controlling the data transfer. Referring to the first command issued from the first device, predicting a command issued after the first command, and from the second device to the first device according to the predicted command predicted A step of executing a part of the process as a pre-reading process, and a second command issued after the first command from the first device includes When matched with the command, and performing the remaining processes of the data transfer, during execution of the remaining processing, it is assumed that a step of interrupting the control to the second device.
[0019]
  Preferably, the prefetch process includes a step of issuing the prediction command to the second device, a step of receiving data transferred from the second device, and a step of storing the received data in a storage unit It shall have. Further, the remaining processing includes a step of transferring data stored in the storage means to the first device.
[0020]
  Preferably, the prefetching process includes a step of issuing the prediction command to the second device. The remaining processing includes a step of receiving data transferred from the second device, a step of storing the received data in a storage unit, and a step of storing the data stored in the storage unit in the first unit. It is assumed to have a step of transferring to the device.
[0021]
  The data transfer control method further includes the step of obtaining information related to control of the third device connected to the bus bridge device from the second device by the interrupt control, and the third device. It is preferable to have a step of controlling the third device based on the information related to the control of the second device.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
  Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0023]
  (First embodiment)
  FIG. 1 shows a configuration of a bus bridge device according to a first embodiment of the present invention. The bus bridge device 10A according to the present embodiment includes an IEEE 1394 host device (host device) 31 as a first device having an IEEE 1394 interface 21 as a first bus interface, and an IDE interface 22 as a second bus interface. Bridge the internal storage device 32 as the second device, control data transfer between these devices, and control the temperature of the internal storage device 32 by controlling the fan 33 as the connected third device It is.
[0024]
  The bus bridge device 10A includes a PHY 11 and a LINK 12 as IEEE 1394 interface units connected to the host device 31 side, a first transfer control unit 13 that performs data transfer processing with the host device 31, and an internal storage device 32. A second transfer control unit 14 that performs data transfer processing between them, a storage unit 15, a prefetch control unit 16 that controls the second transfer control unit 14, and first and second transfer control units 13 and 14. And a CPU 17 serving as an interrupt control unit for controlling the fan 33.
[0025]
  The first transfer control unit 13 performs IEEE 1394 packet control via the PHY 11 and the LINK 12, and converts a packet given from the host device 31 into a packet including a command and data for the internal storage device 32 and other packets. Distinguish between them and process appropriately. Specifically, the first transfer control unit 13 analyzes the content of the IEEE 1394 packet and starts from the CDB (command data block) in the ORB (operation request block, see FIG. 2) to the internal storage device 32. Command (SCSI command, see FIG. 3). Then, this extracted command is sent to the second transfer control unit 14.
[0026]
  The second transfer control unit 14 receives a command for the internal storage device 32 from the first transfer control unit 13 and issues the command to the internal storage device 32 through the IDE interface 22 to perform data transfer processing.
[0027]
  The storage unit 15 temporarily stores transmission data addressed to the host device 31 read from the internal storage device 32.
[0028]
  The prefetch control unit 16 predicts a command issued from the host device 31 to the internal storage device 32, and gives the prediction command to the second transfer control unit 14 to control the second transfer control unit 14.
[0029]
  The CPU 17 controls the first and second transfer control units 13 and 14 to manage the IEEE 1394 interface process and the IDE interface process, and appropriately controls the fan 33.
[0030]
  The operation of the bus bridge device 10A of the present embodiment configured as described above will be described with reference to the timing chart of FIG.
[0031]
  First, an ORB packet including CDB 1 is output from the host device 31 to the IEEE 1394 interface 21. The first transfer control unit 13 analyzes this packet, extracts the command 1 as the first command, and sends the command 1 to the second transfer control unit 14. Then, the first transfer control unit 13 waits for a response from the second transfer control unit 14. At this time, the transfer parameter in the ORB is set in the first transfer control unit 13 by the CPU 17.
[0032]
  The second transfer control unit 14 issues the command 1 addressed to the internal storage device 32 given from the first transfer control unit 13 to the internal storage device 32 through the IDE interface 22 and starts data transfer from the internal storage device 32. Receive a request. Upon receiving the data transfer start request, the second transfer control unit 14 issues a command completion notification to the first transfer control unit 13 and makes a data transfer start request to instruct data transfer. Then, the data 1 transferred from the internal storage device 32 through the IDE interface 22 is sent to the first transfer control unit 13 via the storage unit 15. The first transfer control unit 13 forms the given data into an IEEE 1394 packet, and transmits the data to the host device 31 through the IEEE 1394 interface 21.
[0033]
  When data is transferred from the internal storage device 32 to the host device 31, the data transfer from the internal storage device 32 is completed first. That is, when data 1 to data n are read from the built-in storage device 32, the first transfer control unit 13 is still transferring data stored in the storage unit 15. Therefore, the prefetch control unit 16 refers to the command 1 issued from the second transfer control unit 14 to the internal storage device 32 earlier, predicts the next command to be issued by the host device 31, and executes the prediction command (command 2) is given to the second transfer control unit 14. At this time, the first transfer control unit 13 is in the process of data transfer with the host device 31 or the data transfer end process, but the second transfer control unit 14 and the prefetch control unit 16 are related to this. It works independently.
[0034]
  Here, an example of command prediction will be described. When reading video or audio data from the internal storage device 32 in accordance with a command issued by the host device 31, it is common to divide and read the data into fixed lengths of about 32K to 64K bytes instead of reading all the data at once. is there. In such a case, the start address of the data specified in the next command to be issued by the host device 31 and the start address of the data specified by the command issued first by the host device 31 and the data length thereof are read. Data length can be predicted. In particular, when the built-in storage device 32 reproduces a music CD, DVD-Video, or the like, data is often arranged at continuous addresses in these media, so it is extremely difficult to predict an address related to reading. Easy.
[0035]
  In response to the command 2 issued by the prefetch control unit 16, when a data transfer request is sent from the internal storage device 32 to the second transfer control unit 14, the data transfer between the second transfer control unit 14 and the internal storage device 32 is performed. The data transfer is started. Data 1 to data n transmitted from the internal storage device 32 in this data transfer are stored in the storage unit 15 via the second transfer control unit 14. This process is arbitrarily repeated until the next command is issued from the host device 31 to the internal storage device 32.
[0036]
  When the processing of the ORB packet including CDB1 is completed, the host device 31 next outputs the ORB packet including CDB2. As before, the CPU 17 sets the parameters of the first transfer control unit 13, the second transfer control unit 13 extracts the second command addressed to the internal storage device 32, and the second transfer control unit 14. Sent to. At this time, the prefetch control unit 16 determines whether or not the next issued command from the host device 31 matches the predicted command previously predicted. When it is determined that they match, a command completion notification is sent to the first transfer control unit 13 via the second transfer control unit 14 and a data transfer start request is sent to the first transfer control unit 13 for data transfer. Give instructions. At this time, no command is issued to the internal storage device 32.
[0037]
  When receiving the data transfer start request, the first transfer control unit 13 reads the data 1 to data n stored in the storage unit 15 and transfers them to the host device 31. Here, the data stored in the storage unit 15 is data prefetched from the internal storage device 32 based on the command predicted by the prefetch control unit 16.
[0038]
  While the prefetched data is being read from the storage unit 15, the second transfer control unit 14, the IDE interface 22, and the built-in storage device 32 are in an idle state where they are not operating. Therefore, a temperature information acquisition command is issued from the CPU 17 to the internal storage device 32 using this interval. Thereby, the temperature information can be acquired from the internal storage device 32 without reducing the data transfer rate from the internal storage device 32 to the host device 31.
[0039]
  As described above, according to the present embodiment, interrupt control for the internal storage device 32 such as acquisition of temperature information can be performed without reducing the data transfer rate between the host device 31 and the internal storage device 32. Thus, for example, during playback of moving image data read from the internal storage device 32 in the host device 31, the temperature of the internal storage device 32 is controlled by appropriately controlling the fan 33 without interrupting the playback of the moving image. Can do.
[0040]
  The CPU 7 monitors the amount of data stored in the storage unit 15 and issues a temperature information acquisition command when determining that there is a sufficient amount of data that has not yet been read by the host device 31 beyond a predetermined amount. It is preferable to do. By doing so, it is assured that the processing related to the temperature information acquisition is completed within the period in which the second transfer control unit 14, the IDE interface 22 and the internal storage device 32 are in the idle state. As a result, it is possible to avoid a decrease in the data transfer rate between the host device 31 and the built-in storage device 32 more reliably.
[0041]
  Further, when the prefetch control unit 16 determines that the prediction command and the next issued command from the host device 31 do not match, the prefetch control unit 16 controls the IDE interface 22 via the second transfer control unit 14, and the built-in storage device 32. The second transfer control unit 14 preferably issues a new issue command to the internal storage device 32 so that the previously issued prediction command is discarded. Thus, even if the prefetch control unit 16 makes a prediction error, the data transfer process can be returned to a normal state.
[0042]
  (Second Embodiment)
  FIG. 5 shows the configuration of the bus bridge device according to the second embodiment of the present invention. In the figure, the same components as those shown in FIG. 1 are denoted by the same reference numerals as those in FIG. As can be seen from FIG. 5, the bus bridge device 10B of the present embodiment has a configuration in which the storage unit 15 in the bus bridge device 10A according to the first embodiment is omitted. Hereinafter, the operation of the bus bridge device 10B will be described with reference to the timing chart of FIG. Only differences from the bus bridge device 10A will be described.
[0043]
  The second transfer control unit 14 issues the command 2 predicted by the prefetch control unit 16 to the internal storage device 32, and then performs data transfer processing in the data transfer phase without actually prefetching data from the internal storage device 32. Is in a paused state. Then, the prefetch control unit 16 determines that the next issued command from the host device 31 matches the previously predicted command, and notifies the first transfer control unit 13 of the completion of the command. When instructed, the second transfer control unit 14 resumes the data transfer process that has been suspended. At this time, the command is not issued to the internal storage device 32, and the processing is resumed from the data transfer phase that has been suspended. As a result, the command overhead associated with the processing of the next issued command can be reduced. Then, during the reduced overhead period, the CPU 17 can apply interrupt control to the internal storage device 32.
[0044]
  As described above, according to the present embodiment, it is possible to avoid a decrease in the data transfer rate between the host device 31 and the built-in storage device 32 without providing a storage unit that pre-reads and stores data. Thereby, it becomes possible to implement with a smaller circuit scale than the bus bridge device 10A according to the first embodiment.
[0045]
  (Third embodiment)
  FIG. 7 shows a configuration of a bus bridge device according to the third embodiment of the present invention. In the figure, the same components as those shown in FIG. 1 are denoted by the same reference numerals as those in FIG. As can be seen from FIG. 7, the bus bridge device 10 </ b> C of the present embodiment has a configuration in which the storage unit 15 and the prefetch control unit 16 in the bus bridge device 10 </ b> A according to the first embodiment are omitted. Hereinafter, the operation of the bus bridge device 10C will be described with reference to the timing chart of FIG. Only differences from the bus bridge device 10A will be described.
[0046]
  The CPU 17 monitors the use status of the IEEE 1394 interface 21, that is, the frequency of command issuance from the host device 31 via the first transfer control unit 13, and determines whether the host device 31 has not issued an ORB. In this case, since the second transfer control unit 14 is in an idle state, the CPU 17 drives the second transfer control unit 14 to issue a temperature information acquisition command to the internal storage device 32. Thereby, the temperature information of the built-in storage device 32 can be obtained using the free time that the host device 31 does not issue the ORB.
[0047]
  For example, a so-called isochronous gap related to isochronous transfer can be used to determine the free time between commands issued to the IEEE 1394 interface 21. In isochronous transfer, since packet transfer is performed at an interval of 125 μs, it is possible to determine an idle time (isochronous gap) until transfer of a certain packet is completed and transfer of the next packet is executed. Therefore, it is possible to apply interrupt control to the built-in storage device 32 using this free time. However, since the current built-in storage device 32 has insufficient drive response performance, it is difficult to complete interrupt control within the isochronous gap. However, since the drive response performance is expected to improve in the future, it is possible to complete the interrupt control within the isochronous gap.
[0048]
  As described above, according to the present embodiment, the usage status of the IEEE 1394 interface 21 can be monitored, and interrupt control can be applied to the internal storage device 32 during the idle time when the host device 31 does not issue the ORB. As a result, the interrupt control for acquiring the temperature information can be applied to the internal storage device 32 without reducing the data transfer rate between the host device 31 and the internal storage device 32. Furthermore, the circuit area can be further reduced as compared with the bus bridge devices 10A and 10B according to the first and second embodiments.
[0049]
  (Reference example)
  FIG.Reference exampleThe structure of the bus bridge apparatus which concerns on this is shown. In the figure, the same components as those shown in FIG. 1 are denoted by the same reference numerals as those in FIG. As can be seen from FIG.Reference exampleThe bus bridge device 10D has a configuration in which the storage unit 15, the prefetch control unit 16, and the CPU 17 in the bus bridge device 10A according to the first embodiment are omitted. Hereinafter, only a difference of the bus bridge device 10D from the bus bridge device 10A will be described.
[0050]
  Regarding the IDE specification, there are INTRQ signal and STATUS register information as information exchanged between the internal storage device 32 and the second transfer control unit 14. The second transfer control unit 14 associates the information with each of the command processing phase, the data transfer phase, and the idle phase in which nothing is transmitted / received, so that the information provided from the internal storage device 32 is a temperature management request. Or whether it is a normal signal and data processing request.
[0051]
  In the command processing phase and the data transfer phase, the second transfer control unit 14 acquires the STATUS register information of the IDE interface 21 from the internal storage device 32 when receiving the INTRQ signal from the internal storage device 32. At this time, the internal storage device 32 can request control for temperature management from the second transfer control unit 14 by expressing the temperature management request by the flag included in the STATUS register information. Upon receiving this request, the second transfer control unit 14 controls the fan 33 to manage the temperature of the internal storage device 32.
[0052]
  Also in the idle phase, similarly to the above, the second transfer control unit 14 receives the INTRQ signal to obtain STATUS register information including a flag indicating a temperature management request from the internal storage device 32, and based on this. Then, the fan 33 is controlled.
[0053]
  This is the bookReference exampleAccording to this, temperature management information is obtained from the internal storage device 32 in response to an interrupt request (INTRQ signal) from the internal storage device 32, and the fan 33 can be controlled based on this. Therefore, it is not necessary to issue a temperature information acquisition command to the internal storage device 32, and the data transfer rate between the host device 31 and the internal storage device 32 is not reduced.
[0054]
  Instead of acquiring the STATUS register information according to the INTRQ signal from the built-in storage device 32, the second transfer control unit 14 polls the built-in storage device 32 and periodically obtains the STATUS information. It is also possible to do. Thereby, the second transfer control unit 14 can know the control timing of the fan 33 even if the INTRQ signal is not given.
[0055]
  In the above description, the bus bridge apparatuses 10A to 10D according to the present invention bridge the IEEE 1394 interface and the IDE interface. It is not limited. For example, USB 2.0 or the like may be used instead of IEEE 1394.
[0056]
  The second device of the present invention may be an external storage device instead of the internal storage device 32. The third device of the present invention may be other than the temperature management fan 33 of the internal storage device 32. Therefore, the interrupt control performed by the CPU 17 as the interrupt control unit on the internal storage device 32 is not limited to the acquisition of the temperature management information.
[0057]
【The invention's effect】
  As described above, according to the present invention, a data transfer rate is set for a bus bridge device that bridges a first device and a second device each having a different bus interface and controls data transfer between these devices. Interrupt control can be applied to the second device without lowering. Thereby, for example, when data is read from the second device and a moving image or the like is being reproduced, the temperature management information of the second device can be acquired without interrupting the image. And based on the acquired temperature management information etc., the temperature management etc. of a 2nd apparatus can be performed appropriately.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a bus bridge device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing an ORB format according to IEEE 1394.
FIG. 3 is a diagram showing a format of a SCSI command.
FIG. 4 is a timing chart of the bus bridge device according to the first embodiment of the present invention.
FIG. 5 is a configuration diagram of a bus bridge device according to a second embodiment of the present invention.
FIG. 6 is a timing chart of the bus bridge device according to the second embodiment of the present invention.
FIG. 7 is a configuration diagram of a bus bridge device according to a third embodiment of the present invention.
FIG. 8 is a timing chart of the bus bridge device according to the third embodiment of the present invention.
FIG. 9Reference exampleIt is a lineblock diagram of the bus bridge device concerning.
[Explanation of symbols]
  10A, 10B, 10C, 10D Bus bridge device
  13 First transfer control unit
  14 Second transfer control unit
  15 Storage unit (storage means)
  16 Prefetch control unit
  17 CPU (interrupt controller)
  21 IEEE 1394 interface (first bus interface)
  22 IDE interface (second bus interface)
  31 Host device (first device)
  32 Internal storage device (second device)
  33 fans (third equipment)

Claims (13)

第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置であって、
前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、
与えられたコマンドに従って、前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、
前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、この予測した予測コマンドを前記第2の転送制御部に与え、かつ、当該予測コマンドと前記第1のコマンドの後に実際に発行された第2のコマンドとが一致するか否かを判断する先読み制御部と、
前記予測コマンドに従って前記第2の転送制御部によって前記第2の機器から先読みされた先読みデータを、一時的に記憶する記憶部と、
前記第2の機器に対して割り込み制御をかける割り込み制御部とを備え、
前記第1の転送制御部は、前記先読み制御部によって前記予測コマンドと前記第2のコマンドとの一致が判断されたとき、前記記憶部に記憶された先読みデータを、前記第1の機器に転送するものであり、
前記割り込み制御部は、前記第1の転送制御部によって前記記憶部から前記先読みデータが転送されている間に、前記割り込み制御をかけるものである
ことを特徴とするバスブリッジ装置。
A bus bridge device that is provided between a first device and a second device and performs data transfer between them,
A first transfer control unit that communicates with the first device through a first bus interface;
A second transfer control unit that communicates with the second device through a second bus interface according to a given command;
Referring to a first command issued from the first device, predicting a command issued after the first command, providing the predicted command to the second transfer control unit; and A prefetch control unit that determines whether or not the prediction command and the second command actually issued after the first command match;
A storage unit that temporarily stores prefetched data prefetched from the second device by the second transfer control unit according to the prediction command;
An interrupt control unit that performs interrupt control on the second device,
The first transfer control unit transfers the prefetch data stored in the storage unit to the first device when the prefetch control unit determines that the prediction command matches the second command. Is what
The bus bridge device, wherein the interrupt control unit applies the interrupt control while the prefetch data is transferred from the storage unit by the first transfer control unit.
請求項1に記載のバスブリッジ装置において、
前記割り込み制御部は、前記記憶部に記憶された先読みデータの量を監視し、前記第1の機器に未転送の先読みデータが所定量以上残存すると判断したとき、前記割り込み制御をかける
ことを特徴とするバスブリッジ装置。
The bus bridge device according to claim 1, wherein
The interrupt control unit monitors the amount of prefetched data stored in the storage unit and applies the interrupt control when it is determined that a predetermined amount or more of unread prefetched data remains in the first device. A bus bridge device.
第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置であって、
前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、
与えられたコマンドに従って、前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、
前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、この予測した予測コマンドを前記第2の転送制御部に与え、かつ、当該予測コマンドと前記第1のコマンドの後に実際に発行された第2のコマンドとが一致するか否かを判断する先読み制御部と、
前記第2の機器に対して割り込み制御をかける割り込み制御部とを備え、
前記第2の転送制御部は、前記予測コマンドに従った前記第2の機器からのデータの先読み処理を一時停止しておき、前記先読み制御部によって前記前記予測コマンドと前記第2のコマンドとの一致が判断されたとき、当該データの先読み処理を再開するものであり、
前記割り込み制御部は、前記第2の転送制御部が前記データの先読み処理を一時停止してから再開するまでの間に、前記割り込み制御をかけるものである
ことを特徴とするバスブリッジ装置。
A bus bridge device that is provided between a first device and a second device and performs data transfer between them,
A first transfer control unit that communicates with the first device through a first bus interface;
A second transfer control unit that communicates with the second device through a second bus interface according to a given command;
Referring to a first command issued from the first device, predicting a command issued after the first command, providing the predicted command to the second transfer control unit; and A prefetch control unit that determines whether or not the prediction command and the second command actually issued after the first command match;
An interrupt control unit that performs interrupt control on the second device,
The second transfer control unit temporarily stops prefetch processing of data from the second device according to the prediction command, and the prefetch control unit performs the prediction command and the second command. When a match is determined, the prefetch processing of the data is resumed.
The bus bridge device, wherein the interrupt control unit applies the interrupt control during a period from when the second transfer control unit pauses the data prefetching process to when it resumes.
請求項1または3に記載のバスブリッジ装置において、
前記第2の転送制御部は、前記先読み制御部によって前記予測コマンドと前記第2のコマンドとの不一致が判断されたとき、前記予測コマンドに係る処理を破棄するとともに、前記第2のコマンドに従って、前記第2の機器と通信する
ことを特徴とするバスブリッジ装置。
The bus bridge device according to claim 1 or 3,
The second transfer control unit discards the process related to the prediction command when the prefetch control unit determines that the prediction command and the second command do not match, and according to the second command, A bus bridge device that communicates with the second device.
第1の機器と第2の機器との間に設けられ、これらの間でデータ転送を行うバスブリッジ装置であって、
前記第1の機器と第1のバスインタフェースを通じて通信する第1の転送制御部と、
前記第2の機器と第2のバスインタフェースを通じて通信する第2の転送制御部と、
前記第1のバスインタフェースの使用状況を監視して、前記第1の機器から発行される各コマンド間の空き時間を判断し、この空き時間に、前記第2の機器に対して割り込み制御をかける割り込み制御部とを備え、
前記第1および第2の転送制御部を介して前記第1および第2の機器間でデータ転送を行うとともに、前記第2の機器に対して割り込み制御をかける
ことを特徴とするバスブリッジ装置。
A bus bridge device that is provided between a first device and a second device and performs data transfer between them,
A first transfer control unit that communicates with the first device through a first bus interface;
A second transfer control unit that communicates with the second device through a second bus interface;
The usage status of the first bus interface is monitored to determine a free time between commands issued from the first device, and interrupt control is applied to the second device during this free time. With an interrupt controller,
A bus bridge device, wherein data is transferred between the first and second devices via the first and second transfer control units, and interrupt control is applied to the second device.
請求項1、3および5のいずれか一つに記載のバスブリッジ装置において、
前記割り込み制御部は、前記割り込み制御によって前記第2の機器から得た情報に基づいて、当該バスブリッジ装置に接続された第3の機器を制御する
ことを特徴とするバスブリッジ装置。
In the bus bridge device according to any one of claims 1, 3, and 5,
The bus bridge device, wherein the interrupt control unit controls a third device connected to the bus bridge device based on information obtained from the second device by the interrupt control.
請求項6に記載のバスブリッジ装置において、
前記第3の機器は、前記第2の機器の温度管理用のファンであり、
前記割り込み制御部は、前記割り込み制御によって前記第2の機器から温度管理情報を得、この温度管理情報に基づいて前記ファンを制御するものである
ことを特徴とするバスブリッジ装置。
The bus bridge device according to claim 6, wherein
The third device is a fan for temperature management of the second device,
The bus bridge device, wherein the interrupt control unit obtains temperature management information from the second device by the interrupt control, and controls the fan based on the temperature management information.
第1の機器と第2の機器との間に設けられ、前記第1の機器と第1のバスインタフェースを通じて通信するとともに、前記第2の機器と第2のバスインタフェースを通じて通信し、前記第1および第2の機器間でデータ転送を行うバスブリッジ装置であって、
前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測し、
予測した予測コマンドに従った、前記第2の機器から前記第1の機器へのデータ転送について、その処理の一部を先読み処理として実行し、
前記第1の機器から前記第1のコマンドの後に発行された第2のコマンドが、前記予測コマンドと一致したとき、前記データ転送の残処理を実行し、
前記残処理の実行中に、前記第2の機器に対して割り込み制御をかける
ことを特徴とするバスブリッジ装置。
Provided between a first device and a second device, communicate with the first device through a first bus interface, communicate with the second device through a second bus interface, and And a bus bridge device for transferring data between the second devices,
Referring to a first command issued from the first device, predicting a command issued after the first command;
For data transfer from the second device to the first device according to the predicted command that has been predicted, a part of the processing is executed as a prefetching process,
When the second command issued after the first command from the first device matches the prediction command, the remaining processing of the data transfer is executed,
A bus bridge device that performs interrupt control on the second device during execution of the remaining processing.
請求項1、3、5および8のいずれか一つに記載のバスブリッジ装置において、
前記第1のバスインタフェースは、IEEE(Institute of Electrical and Electronics Engineers)1394規格またはUSB(universal serial bus)規格に準拠したものであり、
前記第2のバスインタフェースは、IDE(Integrated Device Electronics)規格に準拠したものである
ことを特徴とするバスブリッジ装置。
In the bus bridge device according to any one of claims 1, 3, 5 and 8 ,
The first bus interface is compliant with IEEE (Institute of Electrical and Electronics Engineers) 1394 standard or USB (universal serial bus) standard,
The bus bridge device according to claim 2, wherein the second bus interface conforms to an IDE (Integrated Device Electronics) standard.
第1の機器と第2の機器との間に設けられ、前記第1の機器と第1のバスインタフェースを通じて通信するとともに、前記第2の機器と第2のバスインタフェースを通じて通信し、前記第1および第2の機器間でデータ転送を行うバスブリッジ装置において、当該データ転送を制御する方法であって、
前記第1の機器から発行された第1のコマンドを参照して、この第1のコマンドの後に発行されるコマンドを予測するステップと、
予測した予測コマンドに従った、前記第2の機器から前記第1の機器へのデータ転送について、その処理の一部を先読み処理として実行するステップと、
前記第1の機器から前記第1のコマンドの後に発行された第2のコマンドが、前記予測コマンドと一致したとき、前記データ転送の残処理を実行するステップと、
前記残処理の実行中に、前記第2の機器に対して割り込み制御をかけるステップとを有する
ことを特徴とするデータ転送制御方法。
Provided between a first device and a second device, communicate with the first device through a first bus interface, communicate with the second device through a second bus interface, and And a method for controlling the data transfer in the bus bridge device that performs data transfer between the second devices,
Referring to a first command issued from the first device, predicting a command issued after the first command;
Executing a part of the process as a prefetch process for data transfer from the second device to the first device according to the predicted command predicted;
Executing a remaining process of data transfer when a second command issued after the first command from the first device matches the prediction command;
And a step of performing interrupt control on the second device during execution of the remaining processing.
請求項10に記載のデータ転送制御方法において、
前記先読み処理は、
前記第2の機器に前記予測コマンドを発行するステップと、
前記第2の機器から転送されたデータを受信するステップと、
受信したデータを、記憶手段に蓄積するステップとを有するものであり、
前記残処理は、
前記記憶手段に蓄積されたデータを、前記第1の機器に転送するステップを有するものである
ことを特徴とするデータ転送制御方法。
The data transfer control method according to claim 10 , wherein
The prefetching process includes
Issuing the prediction command to the second device;
Receiving data transferred from the second device;
Storing the received data in the storage means,
The remaining processing is
A data transfer control method comprising a step of transferring data stored in the storage means to the first device.
請求項10に記載のデータ転送制御方法において、
前記先読み処理は、
前記第2の機器に前記予測コマンドを発行するステップを有するものであり、
前記残処理は、
前記第2の機器から転送されたデータを受信するステップと、
受信したデータを、記憶手段に蓄積するステップと、
前記記憶手段に蓄積されたデータを、前記第1の機器に転送するステップを有するものである
ことを特徴とするデータ転送制御方法。
The data transfer control method according to claim 10 , wherein
The prefetching process includes
Issuing the prediction command to the second device;
The remaining processing is
Receiving data transferred from the second device;
Storing received data in storage means;
A data transfer control method comprising a step of transferring data stored in the storage means to the first device.
請求項10に記載のデータ転送制御方法において、
前記割り込み制御によって、前記第2の機器から、前記バスブリッジ装置に接続された第3の機器の制御に係る情報を得るステップと、
前記第3の機器の制御に係る情報に基づいて前記第3の機器を制御するステップとを有する
ことを特徴とするデータ転送制御方法。
The data transfer control method according to claim 10 , wherein
Obtaining information related to control of a third device connected to the bus bridge device from the second device by the interrupt control;
And a step of controlling the third device based on information relating to the control of the third device.
JP2003073224A 2003-03-18 2003-03-18 Bus bridge device and data transfer control method Expired - Fee Related JP4205975B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003073224A JP4205975B2 (en) 2003-03-18 2003-03-18 Bus bridge device and data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003073224A JP4205975B2 (en) 2003-03-18 2003-03-18 Bus bridge device and data transfer control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008219887A Division JP4740988B2 (en) 2008-08-28 2008-08-28 Bus bridge device

Publications (2)

Publication Number Publication Date
JP2004280640A JP2004280640A (en) 2004-10-07
JP4205975B2 true JP4205975B2 (en) 2009-01-07

Family

ID=33289174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003073224A Expired - Fee Related JP4205975B2 (en) 2003-03-18 2003-03-18 Bus bridge device and data transfer control method

Country Status (1)

Country Link
JP (1) JP4205975B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5857228B2 (en) * 2013-04-12 2016-02-10 パナソニックIpマネジメント株式会社 Frequency control method and frequency control system
JP7416211B2 (en) 2020-03-27 2024-01-17 日本電気株式会社 Communications system
CN113760106B (en) * 2020-06-01 2024-02-13 华硕电脑股份有限公司 wireless input device

Also Published As

Publication number Publication date
JP2004280640A (en) 2004-10-07

Similar Documents

Publication Publication Date Title
KR100591866B1 (en) Electronic control device and method
EP1794681B1 (en) Memory card controller, memory card drive device, and computer program
KR100781926B1 (en) Computer system and control method of the same
JP5822567B2 (en) Controller and transfer speed control method
US9076491B2 (en) Audio data inputting apparatus and audio data outputting apparatus
US6292878B1 (en) Data recorder and method of access to data recorder
JP2004070571A (en) Data transfer control system, electronic equipment, program and data transfer control method
JP6370027B2 (en) Continuous read burst support at high clock speeds
CN1637727A (en) Electronic device with serial ata interface and power saving method for serial ata buses
US7590765B2 (en) Bulk data transfer and buffer control device and electronic instrument
US20060190637A1 (en) Control apparatus, information processing apparatus, and data transferring method
JP5887568B2 (en) Memory card controller, memory card adapter and memory card drive
JP4205975B2 (en) Bus bridge device and data transfer control method
JP3400772B2 (en) Packet transmission / reception processing device
JP4343524B2 (en) Control device and digital video device
JP4740988B2 (en) Bus bridge device
US7424580B2 (en) Data transfer control device, electronic instrument, program and method of fabricating electronic instrument
JP2004094478A (en) Disk drive, and data transfer method
JP3642220B2 (en) Data transfer method, print control apparatus and recording medium
JP2001337913A (en) Data transfer system and its device
JPH11234315A (en) Communication device, method, system and record medium
JP2001337911A (en) Usb-atapi interface system and atapi-usb converter used for it
JP2004220382A (en) Recording/reproducing device
EP1079305A2 (en) USB data monitoring apparatus
JP2007018417A (en) Ata disk array device, and operation control method and operation control program for ata disk array device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080828

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: 20080924

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: 20081017

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

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

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: 20121024

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees