(57)【要約】【課題】Ｗｉｎｄｏｗｓ（登録商標）やＭａｃｉｎｔｏｓｈといった、標準的なＯＳとドライブ機器を１３９４Ｉ／Ｆで接続した場合、ＡＴＡＰＩ＿Ｉ／ＦやＡＴＡ＿Ｉ／Ｆを持った機器を１３９４接続する場合に、一つのコマンドを処理中に他のコマンドも受け付け可能とすること。【解決手段】ＣＰＵ宛て、転送制御回路７宛てのパケットを状況に応じて振り分けるパケットフィルタ６により、コマンド処理の最適化を図り、ドライブへのコマンド処理を独立して処理する転送制御回路８を設けてＣＰＵ３が占有されないように構成する。【選択図】      図１
2004326350.tif 000002
【特許請求の範囲】
【請求項１】
第一のインターフェースを備えた第１の電子機器と第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のデータ転送を実行するデータ処理装置であって、
受信したパケットを格納する受信メモリと、
上記第一のインターフェースの転送制御を行なう第１の転送制御回路と、
上記第二のインターフェースの転送制御を独立して行なう第２の転送制御回路と、
上記受信したパケットを、上記第２の電子機器宛てのものと、それ以外のものとに振り分ける受信フィルタと、
上記受信フィルタからのパケットのうち、上記第２の電子機器宛てのものを受け、該パケット内の所定の識別子に基づいて、該パケットが上記第２の転送制御回路宛てのものと判断した場合に、上記第２の転送制御回路が処理する任意のデータ部分のみを出力し、それ以外のパケット、または上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを、上記受信メモリへ格納するパケットフィルタと、
上記第２の転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なう制御部と、
を備えたことを特徴とするデータ処理装置。
【請求項２】
請求項１記載のデータ処理装置において、
上記受信フィルタは、上記第２の電子機器宛て以外のパケットを上記受信メモリに対して出力する、
ことを特徴とするデータ処理装置。
【請求項３】
請求項１記載のデータ処理装置において、
上記制御部は、
上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを上記受信メモリより読み出し、該パケットより命令を抽出して処理を行い、上記第二のインターフェースの処理を上記第２の転送制御回路の処理が終了した後、該第２の転送制御回路を制御して実行する、
ことを特徴とするデータ処理装置。
【請求項４】
請求項３記載のデータ処理装置において、
上記制御部は、上記第２の転送制御回路の処理を任意のタイミングで途中終了させ、任意のタイミングで上記受信メモリ内のパケットを上記第二のインターフェースへ転送処理する、
ことを特徴とするデータ処理装置。
【請求項５】
請求項１記載のデータ処理装置において、
上記パケットフィルタは、上記受信したパケット内の所定の識別子から上記第１の転送制御回路宛てと判断した場合に、該第１の転送制御回路へ受信パケットを渡し、
上記制御部は、上記第１の転送制御回路へ任意のパケットデータを任意のタイミングでセットする、
ことを特徴とするデータ処理装置。
【請求項６】
請求項１記載のデータ処理装置において、
送信する任意のパケットを格納する送信メモリを備え、
上記制御部は、上記送信メモリへ任意の送信パケットデータを任意のタイミングでセットする、
ことを特徴とするデータ処理装置。
【請求項７】
請求項１記載のデータ処理装置において、
上記パケットフィルタは、受信したパケット内の所定の識別子を読み出す際のデータの大きさを任意に変える、
ことを特徴とするデータ処理装置。
【請求項８】
請求項１記載のデータ処理装置において、
上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを基に、少なくとも一つのデータを置換し、パケット内の少なくとも一つのデータを並び替えて上記第２の転送制御回路を介して上記第二のインターフェース処理を制御する、
ことを特徴とするデータ処理装置。
【請求項９】
請求項８記載のデータ処理装置において、
上記パケットフィルタは、上記第２の転送制御回路が上記第二のインターフェース処理を制御する際に、任意のアドレス空間と任意の転送長を用いて行なわれるようにデータを変換する、
ことを特徴とするデータ処理装置。
【請求項１０】
請求項１記載のデータ処理装置において、
上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを比較して、該比較結果が所定の判断条件と一致する場合、上記受信メモリへ当該パケットデータを格納する、
ことを特徴とするデータ処理装置。
【請求項１１】
請求項１記載のデータ処理装置において、
上記第２の転送制御回路は、上記制御部が上記第二のインターフェース処理を制御してデータ転送しているときに、該転送制御処理から解放する、
ことを特徴とするデータ処理装置。
【請求項１２】
請求項１記載のデータ処理装置において、
上記第一のインターフェースとのデータ転送用パケット及びシーケンス処理用パケットを格納するＦＩＦＯを備え、
上記パケットフィルタは、上記受信メモリ、及び上記第２の転送制御回路の状態を検知し、上記第２の転送制御回路宛てのパケットを受信した場合に、該第２の転送制御回路が上記第二のインターフェース処理を制御中であれば上記第２の転送制御回路宛てのパケットを上記受信メモリへ格納し、また、上記ＦＩＦＯにパケット格納時に実行不能な場合に、上記第一のインターフェースへ再試行要求を出す、
ことを特徴とするデータ処理装置。
【請求項１３】
請求項１記載のデータ処理装置において、
上記第一のインターフェースが、ＩＥＥＥ１３９４である、
ことを特徴とするデータ処理装置。
【請求項１４】
請求項１記載のデータ処理装置において、
上記第二のインターフェースが、ＡＴＡＰＩ／ＡＴＡインターフェースであることを特徴とするデータ処理装置。
【請求項１５】
第一のインターフェースを備えた第１の電子機器と、第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のパケットデータ転送を実行するデータ処理方法において、
上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップと、
上記第２の電子機器宛てのパケットデータに該パケットデータが転送制御回路宛てのものであることを示す所定の識別子が含まれているか否かを判定するステップと、
上記パケットデータに所定の識別子が含まれている場合に、上記パケットデータのうちの上記転送制御回路が処理を行なう任意のデータ部分のみを出力し、それ以外のパケット、または上記転送制御回路にて処理待ちとなった該転送制御回路宛てのパケット、を受信メモリへ格納するステップと、
上記転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なうステップと、
を含むことを特徴とするデータ処理方法。
【請求項１６】
請求項１３記載のデータ処理方法において、
上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップの前に、上記第１の電子機器から出力されたパケットデータに含まれる命令情報の変換が必要であるか否かを判定するステップを含む、
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、およびデータ処理方法に関し、特に、パーソナルコンピュータシステムにおけるＷｉｎｄｏｗｓ（登録商標）などのＯＳ環境において、ＩＥＥＥ１３９４インターフェースなどを持つコンピュータに、ＡＴＡＰＩ／ＡＴＡインターフェースなどの異種のインターフェースを持つ周辺機器を接続する際の効率化を図ったものに関するものである。
【０００２】
【従来の技術】
光ディスクドライブやＨＤＤ等のＳｔｏｒａｇｅ機器は多くの場合、パーソナルコンピュータへの内蔵用として、安価であり、パーソナルコンピュータに標準搭載されているＡＴＡＰＩ／ＡＴＡインターフェースを最初のモデルに持たせることが多い。それに比べて、１３９４インターフェースやＵＳＢインターフェースといった次世代インターフェースは高価であり、普及もあまり進んでいないのが現状である。
【０００３】
よって、Ｗｉｎｄｏｗｓ（登録商標）やＭａｃｉｎｔｏｓｈといった、標準的なＯＳ（オペレーティング・システム）とハードディスクなどのドライブ機器とを１３９４インターフェースで接続する場合、新たに１３９４インターフェース用のドライブを開発することにより、既に開発が完了しているＡＴＡＰＩ／ＡＴＡインターフェースモデルのドライブと、１３９４インターフェースとをＡＴＡＰＩ／ＡＴＡブリッジを介して接続して１３９４インターフェースをドライブに持たせるのが、現在の主流となっている。
【０００４】
しかしながら、Ｗｉｎｄｏｗｓ（登録商標）やＭａｃｉｎｔｏｓｈといった、標準的なＯＳとドライブ機器とを１３９４インターフェースで接続した場合、ＡＴＡＰＩ＿Ｉ／ＦやＡＴＡ＿Ｉ／Ｆを持った機器を１３９４インターフェースで接続する場合には、１３９４コマンドをＡＴＡＰＩ／ＡＴＡコマンドに変換して制御する必要が出てくるが、一つのコマンドの処理中、つまりコマンドの変換からインターフェースの制御までの期間にはＣＰＵが占有されているため他のコマンドを受け付けない、即ち処理できないといったシステム的な制限があった。
【０００５】
【特許文献１】
特開平１０−２５４８１１号公報
【０００６】
【発明が解決しようとする課題】
従来のデータ処理装置、およびデータ処理方法は以上のように構成されており、異なるインターフェース間を接続している間にはＣＰＵが占有されてしまい、他のコマンドを受け付けできないというシステム的な制限があった。
この発明は以上のような問題点を解消するためになされたもので、データ処理装置によって異なるインターフェース間を接続している期間にＣＰＵが占有されて、他のコマンドを受付け不能となり、システム的な制限が生じるのを解除することのできるデータ処理装置、およびデータ処理方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の請求項１にかかるデータ処理装置は、第一のインターフェースを備えた第１の電子機器と第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のデータ転送を実行するデータ処理装置であって、受信したパケットを格納する受信メモリと、上記第一のインターフェースの転送制御を行なう第１の転送制御回路と、上記第二のインターフェースの転送制御を独立して行なう第２の転送制御回路と、上記受信したパケットを、上記第２の電子機器宛てのものとそれ以外のものとに振り分ける受信フィルタと、上記受信フィルタからのパケットのうち、上記第２の電子機器宛てのものを受け、該パケット内の所定の識別子に基づいて、該パケットが上記第２の転送制御回路宛てのものと判断した場合に、上記第２の転送制御回路が処理する任意のデータ部分のみを出力し、それ以外のパケット、または上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを上記受信メモリへ格納するパケットフィルタと、上記第２の転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なう制御部と、を備えたものである。
【０００８】
また、本発明の請求項２にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記受信フィルタは、上記第２の電子機器宛て以外のパケットを上記受信メモリに対して出力するものである。
【０００９】
また、本発明の請求項３にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記制御部は、上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを上記受信メモリより読み出し、該パケットより命令を抽出して処理を行い、上記第二のインターフェースの処理を上記第２の転送制御回路の処理が終了した後、該第２の転送制御回路を制御して実行するものである。
【００１０】
また、本発明の請求項４にかかるデータ処理装置は、請求項３記載のデータ処理装置において、上記制御部は上記第２の転送制御回路の処理を任意のタイミングで途中終了させ、任意のタイミングで上記受信メモリ内のパケットを上記第二のインターフェースへ転送処理するものである。
【００１１】
また、本発明の請求項５にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記受信したパケット内の所定の識別子から上記第１の転送制御回路宛てと判断した場合に、該第１の転送制御回路へ受信パケットを渡し、上記制御部は、上記第１の転送制御回路へ任意のパケットデータを任意のタイミングでセットするものである。
【００１２】
また、本発明の請求項６にかかるデータ処理装置は、請求項１記載のデータ処理装置において、送信する任意のパケットを格納する送信メモリを備え、上記制御部は、上記送信メモリへ任意の送信パケットデータを任意のタイミングでセットするものである。
【００１３】
また、本発明の請求項７にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記パケットフィルタは、受信したパケット内の所定の識別子を読み出す際のデータの大きさを任意に変えるものである。
【００１４】
また、本発明の請求項８にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを基に、少なくとも一つのデータを置換し、パケット内の少なくとも一つのデータを並び替えて上記第２の転送制御回路を介して上記第二のインターフェース処理を制御するものである。
【００１５】
また、本発明の請求項９にかかるデータ処理装置は、請求項８記載のデータ処理装置において、上記パケットフィルタは、上記第２の転送制御回路が上記第二のインターフェース処理を制御する際に、任意のアドレス空間と任意の転送長を用いて行なわれるようにデータを変換するものである。
【００１６】
また、本発明の請求項１０にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを比較して、該比較結果が所定の判断条件と一致する場合、上記受信メモリへ当該パケットデータを格納するものである。
【００１７】
また、本発明の請求項１１にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記第２の転送制御回路は、上記制御部が上記第二のインターフェース処理を制御してデータ転送しているときに、該転送制御処理から解放するものである。
【００１８】
また、本発明の請求項１２にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記第一のインターフェースとのデータ転送用パケット及びシーケンス処理用パケットを格納するＦＩＦＯを備え、上記パケットフィルタは、上記受信メモリ、及び上記第２の転送制御回路の状態を検知し、上記第２の転送制御回路宛てのパケットを受信した場合に、該第２の転送制御回路が上記第二のインターフェース処理を制御中であれば上記第２の転送制御回路宛てのパケットを上記受信メモリへ格納し、また、上記ＦＩＦＯにパケット格納時に実行不能な場合に、上記第一のインターフェースへ再試行要求を出すものである。
【００１９】
また、本発明の請求項１３にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記第一のインターフェースが、ＩＥＥＥ１３９４としたものである。
【００２０】
また、本発明の請求項１４にかかるデータ処理装置は、請求項１記載のデータ処理装置において、上記第二のインターフェースが、ＡＴＡＰＩ／ＡＴＡインターフェースとしたものである。
【００２１】
また、本発明の請求項１５にかかるデータ処理方法は、第一のインターフェースを備えた第１の電子機器と、第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のパケットデータ転送を実行するデータ処理方法において、上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップと、上記第２の電子機器宛てのパケットデータに該パケットデータが転送制御回路宛てのものであることを示す所定の識別子が含まれているか否かを判定するステップと、上記パケットデータに所定の識別子が含まれている場合に、上記パケットデータのうちの上記転送制御回路が処理を行なう任意のデータ部分のみを出力し、それ以外のパケット、または上記転送制御回路にて処理待ちとなった該転送制御回路宛てのパケット、を受信メモリへ格納するステップと、上記転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なうステップと、を含むものである。
【００２２】
また、本発明の請求項１６にかかるデータ処理方法は、請求項１３記載のデータ処理方法において、上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップの前に、上記第１の電子機器から出力されたパケットデータに含まれる命令情報の変換が必要であるか否かを判定するステップを含む、ものである。
【００２３】
【発明の実施の形態】
（実施の形態１）
以下、図面を参照して、本発明の実施の形態１にかかるデータ処理装置、およびデータ処理方法について説明する。
図１は本発明の実施の形態１にかかるデータ処理装置の構成図である。図１に示すように、本発明のデータ処理装置は、例えば異種インターフェースとして、ＩＥＥＥ１３９４インターフェース２０を持ち、ＩＥＥＥ１３９４ホストシステムが入っている第１の電子機器３０と、ＡＴＡＰＩ／ＡＴＡインターフェース２１を持つ第２の電子機器３２とを、本データ処理装置３１で接続するものである。
【００２４】
上記データ処理装置３１においては、第１の電子機器３０側に接続するＩＥＥＥ１３９４インターフェース部であるＰＨＹ１（物理層）と、ＰＨＹ１よりパケットデータを生成する、あるいはパケットデータよりＰＨＹ１データを生成するＬＩＮＫ２とを有する。また、ＩＥＥＥ１３９４パケット制御を行なうために、第２の電子機器用のパケット、およびデータ転送時のデータを含むパケットと、それ以外のパケット（ＣＰＵ３で処理する、第２の電子機器とは無関係なコマンドなど）と、を振り分ける受信フィルタ５と、該受信フィルタ５によって振り分けられたＩＥＥＥ１３９４パケットのうち、第２の電子機器３２に関与しないデータ、あるいは第２の電子機器３２に関与するが、すぐには処理できないコマンドを格納する受信メモリ４と、第１の電子機器３０とのデータ転送用パケット及びシーケンス処理用パケットを格納するデータＦＩＦＯ９と、上記受信フィルタ５より振り分けられたＩＥＥＥ１３９４パケットからコマンド部だけを読み出し、それを基に転送制御回路（第２の制御回路）７を制御して第２の電子機器３２とコマンド処理を行なうパケットフィルタ６を有する。また、このパケットフィルタ６はＣＰＵ３（制御部）よりパラメータの変更などの要請の有る場合、該当するパケットを受信メモリ４に格納し、また転送用制御回路７がコマンド処理中に、ＣＰＵ３で処理できないコマンドを受信メモリ４へ格納する役目も果たす。
【００２５】
さらに、データ処理装置３１は、ＩＥＥＥ１３９４インターフェース２０及びデータＦＩＦＯ９及び受信フィルタ５を介して第１の電子機器３０とデータ転送、及びＳＢＰ２シーケンス処理（ＡＴＡＰＩ／ＡＴＡと１３９４のパケット変換処理）を行なう第１の（ＳＢＰ２）制御回路８と、転送制御回路７がビジー状態の場合、あるいはコマンドパラメータ変更時などの場合に、受信メモリ４よりデータを読み出し、パケット内のコマンドに基づいて転送制御回路７を制御して第２の電子機器３２へデータを送信しコマンド処理を行なう、または、第１の電子機器３０へ送信メモリ１０を介して応答パケットを返す、または、ＳＢＰ２制御回路８を介して第１の電子機器３０とＳＢＰ２シーケンス処理を行なうＣＰＵ３とからなる。
【００２６】
図６は以上のような構成を有するデータ処理装置の全体的な動作を示すフローチャートであり、該フローチャートに基づいて装置の全体的な動作について説明する。
【００２７】
フローがスタートすると（ステップＳ６００）、ステップＳ６０１において、受信フィルタ５によって、データが第２の電子機器３２宛てのものか否かが判定され、第２の電子機器３２宛て以外のデータは、ステップＳ６０１において、受信メモリ４に出力され、第２の電子機器３２宛てのデータはステップＳ６０２においてパケットフィルタ６に出力される。
【００２８】
次いで、ステップＳ６０３において、パケットフィルタ６に送られたデータは、転送制御回路７宛てのものと、それ以外のものに分別され、転送制御回路７宛てのものは、ステップＳ６０４において、転送制御回路７が処理中（ＢＵＳＹ）であった場合には、ステップＳ６０５に進んで、パケットを受信メモリ４へ出力する。一方、ステップＳ６０４において、転送制御回路７が処理中でなかった場合には、パケットを転送制御回路７に対して出力し、転送制御回路７はパケット中にコマンドに従って処理を行なう。
【００２９】
ステップＳ６０６では、ステップＳ６０５で受信メモリ４に入力されたパケットをＣＰＵ３が読み出して、コマンド及びパラメータを取り出して処理を行い、転送制御回路７の処理が終了するのを待って、転送制御回路７を直接駆動して第２の電子機器３２に対する処理を行なわせる。
【００３０】
以下、図１を参照して、各場合におけるデータ処理装置の特徴について図４および図７を参照しつつ説明する。なお、ここでは第２の電子機器３２としてＡＴＡＰＩインターフェースを用いるものとして説明する。
【００３１】
まず、第２の電子機器３２および第１の電子機器３０のコマンド処理において、ＣＰＵ３が制御から解放されるまでの動きを、第２の電子機器３２からデータを転送するコマンドの処理例を挙げて説明する。
【００３２】
図１に示すように、ＩＥＥＥ１３９４インターフェース部であるＰＨＹ１とＬＩＮＫ２と、受信パケットを振り分ける受信フィルタ５を通じて１３９４バス上のパケットヘッダーを解析し、ターゲットとしてＡＴＡＰＩ／ＡＴＡインターフェース２１を持つ第２の電子機器３２へのパケットであると認識されると、ＯＲＢ（オペレーション・リクエスト・ブロック）内のＣＤＢ（コマンド・データ・ブロック）を、パケットフィルタ６へ送る。パケットフィルタ６は、ＯＲＢ内の転送パラメータをＳＢＰ２制御回路８へ送ると共に、ＣＤＢの内容に基づき、ＡＴＡＰＩ／ＡＴＡインターフェース２１に合わせたＡＴＡＰＩコマンドとして転送制御回路７を制御し、また、ＣＰＵ３へコマンド発行を行なったことを通知する（図７のステップＳ７００〜Ｓ７０３）。
【００３３】
上記通知を確認したＣＰＵ３は、コマンドが正常終了する場合を想定したステータスパケットをＳＢＰ２制御回路８へあらかじめセットしておく。このとき、ＣＰＵ３の処理は実行中のコマンド処理制御から完全に解放されている。
【００３４】
転送制御回路７は、受け取ったＡＴＡＰＩコマンドをＡＴＡＰＩ／ＡＴＡインターフェース２１に合わせて第２の電子機器３２へ発行し、その応答を待つ。そして、第２の電子機器３２から応答があり次第、転送制御回路７はその成否を確認して、その結果をＣＰＵ３へ通知する。
【００３５】
そして上記第２の電子機器３２より要望されて、上記第１の電子機器３０へデータ転送を行なう場合は、転送制御回路７が先にＡＴＡＰＩ／ＡＴＡインターフェース２１のデータ転送パラメータを読み出して、転送方向と、もし必要ならば転送長も合わせて取得する。その後、ＳＢＰ２制御回路８へデータ転送を開始するように指示を出して、ＳＢＰ２制御回路８からの応答を待つ。
【００３６】
そして、ＳＢＰ２制御回路８がＩＥＥＥ１３９４インターフェース２０のデータ転送準備ができたことを伝えると、転送制御回路７はＡＴＡＰＩ／ＡＴＡインターフェース２１を介して第２の電子機器３２から所定のデータを読出してＳＢＰ２制御回路８へ順次引き渡す。
【００３７】
ＳＢＰ２制御回路８は引き渡されたデータに、先に渡されたＯＲＢ内の転送パラメータを基にパケットヘッダーを付加してデータＦＩＦＯ９内にＩＥＥＥ１３９４パケットデータを作成する。そして、ＩＥＥＥ１３９４パケットデータ作成完了後、ＩＥＥＥ１３９４インターフェース部のＬＩＮＫ２及びＰＨＹ１を制御しつつＩＥＥＥ１３９４インターフェース２０、及び受信フィルタ５を介して第１の電子機器３０と順次パケットによるデータ転送を行なう（図７のステップＳ７０５，Ｓ７１０，Ｓ７１１）。
【００３８】
以上のようにして、第２の電子機器３２から要望されたデータ転送が完了すると、転送制御回路７はデータ転送完了をＳＢＰ２制御回路８及びＣＰＵ３へ通知する。この通知を受けてＳＢＰ２制御回路８は、ＩＥＥＥ１３９４インターフェース２０へのパケットによるデータ転送処理を完了すると共に、データ転送が正常に終了した場合は、ＣＰＵ３より先に書き込まれたステータスパケットを第１の電子機器３０宛てに送信し、ステータスパケット送信が完了するとＣＰＵ３へコマンド処理完了の通知をする。
【００３９】
この時点でＣＰＵ３は、転送制御回路７、及びＳＢＰ２制御回路８からのコマンド処理完了通知の内容を確認して、異常がある場合には異常が起こったことを知らせるエラーステータスパケットを作成して第１の電子機器３０へ送信する必要があるが、正常時には何も処理する必要はない。ここまでのコマンドとデータの主な流れは図４の左側部分に示される。
【００４０】
一方、第２の電子機器３２から第１の電子機器３０へのデータ転送の要望が無く、コマンド発行が正常に終了した場合には、転送制御回路７はＳＢＰ２制御回路８へステータスパケット送信指示を出して第１の電子機器３０とのコマンド処理を完了させると共にＣＰＵ３へコマンド処理完了を通知する。ステータスパケット送信を完了したＳＢＰ２制御回路８はコマンド処理完了をＣＰＵ３へ通知する（図７のステップＳ７０６〜Ｓ７０９）。この時点でＣＰＵ３は転送制御回路７、及びＳＢＰ２制御回路８からのコマンド処理完了通知の内容を確認して、異常がある場合には異常が起こったことを知らせるエラーステータスパケットを作成して第１の電子機器３０へ送信する必要があるが、正常時には何も処理する必要はない。
【００４１】
次にコマンド処理が正常に完了したことでコマンド処理制御から解放されたＣＰＵ３が行なえる処理について説明する。
【００４２】
ＣＰＵ３はコマンド処理から解放されているので、第１の電子機器３０と第２の電子機器３２との間で行なわれるコマンド処理、及びデータ転送処理の制御によるＣＰＵ３の処理のかく乱が無くなり、この期間に例えば、定期的に転送制御回路７を駆動して、第２の電子機器３２へ動作状態を確認するためのコマンドを作成・発行することができる。そして、そのコマンドによって第２の電子機器３２から返されるデータをパケットフィルタ６、及びＳＢＰ２制御回路８を介してデータＦＩＦＯ９へ格納し、この格納された情報をＣＰＵ３によってＳＢＰ２制御回路８を介してデータＦＩＦＯ９に格納されたデータを読み出してデータの内容を確認することができる。そしてその確認結果に応じて、例えば、ＣＰＵ３がドライブ内の温度状態（第２の電子機器３２）を把握して、必要時には外部ファンを回して空冷を行いドライブ内の温度を安全な領域に保つといった制御処理を行なうことも可能になる。
【００４３】
次に、図５に示すように、ＩＥＥＥ１３９４インターフェース部であるＰＨＹ１とＬＩＮＫ２と、受信パケットを振り分ける受信フィルタ５を通じて、１３９４バス上のパケットヘッダーを解析し、ターゲットとしてＡＴＡＰＩ／ＡＴＡインターフェース２１を持つ第２の電子機器３２へのパケットであるとが認識されると、ＯＲＢ内のＣＤＢを、パケットフィルタ６へ送ろうとするが、この時、パケットフィルタ６は、転送制御回路７がＡＴＡＰＩ／ＡＴＡインターフェース２１の処理を行なっていた場合、及び、ＣＰＵ３から予め指定された識別子を持つＣＤＢであった場合は、受信メモリ４へ受信したパケットのまま格納する。
【００４４】
ＣＰＵ３は受信メモリ４よりパケットを読み出して、第２の電子機器３２へのパケットであることを判断すると、転送制御回路７、及びＳＢＰ２制御回路８の処理が完了するのを待って、読み出したパケットからコマンド、及びパラメータを取り出し、転送制御回路７を直接駆動して、第２の電子機器３２とＡＴＡＰＩ／ＡＴＡインターフェース２１との制御を行なう。この場合のステータスパケットの作成、及びＳＢＰ２制御回路８へセットするタイミングはＣＰＵ３の処理に依存する。また、この際、ＣＰＵ３が処理した第２の電子機器３２へのコマンドが、データ転送を伴うものであった場合でも、転送制御回路７がデータ転送処理を統括するので、ＣＰＵ３はこのデータ転送制御から解放され、受信メモリ４に他のパケットが格納されている場合は、その処理を随時行なうことができる。
【００４５】
また、ＣＰＵ３は受信メモリ４より読み出したパケットを即座に実行したい場合で、この時、第１の電子機器３０と第２の電子機器３２との間でコマンド処理中であった場合には、転送制御回路７およびＳＢＰ２制御回路８へ中断命令を出し、コマンド処理を終了させて、初期化、及び終了処理の後に読み出したパケットのコマンドを転送制御回路７へ処理することで、処理するコマンドの優先度をＣＰＵ３が管理するといった制御も可能である。
【００４６】
次にＩＥＥＥ１３９４インターフェース部であるＰＨＹ１とＬＩＮＫ２と、受信パケットを振り分ける受信フィルタ５とを通じて、１３９４バス上のパケットヘッダーを解析し、該パケットがＣＰＵ３へのパケットであると認識されると、受信したパケットは受信メモリ４へ格納される。受信したパケットが要求パケットであった場合、ＣＰＵ３は受信メモリ４から受信パケットを読み出し、応答パケットを作成して送信メモリ１０へ書き込む。送信メモリ１０に書き込まれた応答パケットはＩＥＥＥ１３９４インターフェース部であるＬＩＮＫ２によって読み出され、ＰＨＹ１を介してＩＥＥＥ１３９４インターフェース２０へ送信される。
【００４７】
また、受信したパケットがシーケンス制御に関わるものであった場合、ＣＰＵ３は転送制御回路７、及びＳＢＰ２制御回路８へアクセスし、ＩＥＥＥ１３９４インターフェース２０、及びＡＴＡＰＩ／ＡＴＡインターフェース２１へそれぞれ処理中断または初期化といった制御を必要なタイミングで行なうことが可能である。
【００４８】
次にＡＴＡＰＩ／ＡＴＡインターフェース２１の制御処理について説明する。ＩＥＥＥ１３９４インターフェース部であるＰＨＹ１とＬＩＮＫ２と、受信パケットを振り分ける受信フィルタ５とを通じて、１３９４バス上のパケットヘッダーを解析し、ターゲットとして本ＡＴＡＰＩ／ＡＴＡインターフェース２１を持つ第２の電子機器３２へのパケットであると認識されると、ＯＲＢ内のＣＤＢを、パケットフィルタ６へ送る。
【００４９】
図２は、ＳＢＰ２で規定されているＯＲＢ内のブロック構成を示しており、ＣＤＢ部分に実装される１２Ｂｙｔｅのコマンドを示している。この１２Ｂｙｔｅのコマンドは図３に示すＳＣＳＩコマンドそのものであり、ＡＴＡＰＩコマンドとしてそのままＡＴＡＰＩインターフェースを備える電子機器へ用いることができるが、ＡＴＡインターフェースを備える電子機器へはそのままの形で用いることができない。
【００５０】
実際の処理としては、コマンドパケットを転送するのではなく、ＡＴＡ制御レジスタへ１Ｂｙｔｅずつ設定してゆき、設定の最後にＣｏｍｍａｎｄレジスタへ１Ｂｙｔｅ書き込むことでＡＴＡコマンドの発行を行なう。第２の電子機器がＡＴＡインターフェースを備えている場合、パケットフィルタ６は、ＯＲＢ内の転送パラメータをＳＢＰ２制御回路８へ送り、また、ＣＰＵ３へコマンド発行を行なったことを通知すると共に、ＡＴＡ機器制御モード時は、ＣＰＵ３から設定された情報に従って、ＣＤＢの内容に基づき、ＡＴＡＰＩ／ＡＴＡインターフェース２１に合わせたＡＴＡコマンドとして転送制御回路７を制御する。このとき、パケットフィルタ６は、ＣＰＵ３よりＡＴＡコマンド制御対象とするＣＤＢ［０］の値と、ＡＴＡコマンド制御でＣｏｍｍａｎｄレジスタに設定するＡＴＡコマンドコードと、ＣＤＢ［０］を除いた残り１１ＢｙｔｅのＣＤＢデータのうち、各種ＡＴＡ制御レジスタへ設定するデータを１Ｂｙｔｅ単位で指定するための並び替えデータを設定されている。パケットフィルタ６はこのＣＰＵ３からの設定データを基に、ＡＴＡコマンド制御に必要な、Ｃｏｍｍａｎｄレジスタ、ＤｅｖｉｃｅＨｅａｄレジスタ、Ｃｙｌｉｎｄｅｒ＿Ｈｉｇｈレジスタ、Ｃｙｌｉｎｄｅｒ＿Ｌｏｗレジスタ、ＳｅｃｏｔｏｒＮｕｍｂｅｒレジスタ、ＳｅｃｔｏｒＣｏｕｎｔレジスタ、ＦｅａｔｕｒｅｓレジスタへのデータをＣＤＢ内から選択、または、置換して作り出して設定することで、ＡＴＡインターフェースを備えた第２の電子機器３２側のＡＴＡ制御レジスタを介してＡＴＡコマンド発行制御を行なう。
【００５１】
ここで、ＡＴＡ制御レジスタへデータ転送を伴うＡＴＡコマンドを発行する場合、転送サイズ、及びアドレスの範囲を指定するのに、現在２通りの方法が用意されている。一つは従来仕様である、アドレス２８Ｂｉｔ、一回のコマンドでの転送サイズ８Ｂｉｔ方式であり、もう一つはアドレス４８Ｂｉｔ、一回のコマンドでの転送サイズ１６Ｂｉｔ方式である。前者の方式では、６つのＡＴＡ制御レジスタへ各一回ずつ書き込みを行い、ＡＴＡコマンドを発行するが、後者の方式では、６つのＡＴＡ制御レジスタの内、４つのレジスタを２回ずつ書き込むことでＡＴＡコマンドを発行する。両方式のどちらを選択するかは、第２の電子機器３２から返されるＩｄｅｎｔｆｙコマンドのデータを参照してＣＰＵ３が決める。転送制御回路７はＣＰＵ３からの設定に従って上記２つの方式を選択してＡＴＡインターフェースを制御する。
【００５２】
ＡＴＡコマンド発行後、転送制御回路７は、ＡＴＡインターフェースを備える第２の電子機器３２側のＡＴＡ制御レジスタの一つである、Ｓｔａｔｕｓレジスタをモニタリングする。Ｓｔａｔｕｓレジスタ内のＢＳＹビットが解除され、ＣＨＫビットが立っていないのを確認すると、ＡＴＡコマンド発行が正常処理されたことを示すことになり、ＡＴＡコマンド発行が成功したことをＣＰＵ３へ通知する。逆にＣＨＫビットが立っていた場合にはＡＴＡコマンド発行が異常処理されたことを示すことになるので、ＡＴＡコマンド発行が失敗したことをＣＰＵ３へ通知することになる。
【００５３】
ここで、ＢＳＹビットが解除され、ＤＲＱビットが立っていた場合は、コマンド発行が成功し、データ転送を要望されていることになり、転送制御回路７はＩＥＥＥ１３９４インターフェース２０を備える第１の電子機器３０へデータ転送を行なうべく、ＳＢＰ２制御回路８へデータ転送起動指示を出す。ＳＢＰ２制御回路８はＡＴＡインターフェース上の転送データをＩＥＥＥ１３９４パケット内のデータフィールド部へ格納して、ＩＥＥＥ１３９４インターフェース２０上をパケットとして送信し、第１の電子機器３０とデータ転送を行なう。
【００５４】
データ転送完了後、転送制御回路７はＡＴＡインターフェースを備える第２の電子機器３２側のＡＴＡ制御レジスタである、Ｓｔａｔｕｓレジスタを再びモニタリングして、ＢＳＹビットが解除された時のＤＲＱビットの状態を確認する。ＤＲＱビットが立っていなかった場合は、その時点でデータ転送が完了し、ＳＢＰ２制御回路８へＣＰＵ３があらかじめセットしておいたステータスパケットを送信させる。ＤＲＱビットが立っていた場合には再びデータ転送が必要であり、再度同じ手順でＩＥＥＥ１３９４インターフェースを備える第１の電子機器３０へデータ転送が行なわれる。また、ＣＨＫビットが立っていた時には、第２の電子機器３２側で異常が発生したことになるので、ＣＰＵ３へ通知を行い、ＣＰＵ３は第２の電子機器３２のエラー処理を行ない、エラーステータスパケットを第１の電子機器３０へ送る。
【００５５】
次に、第２の電子機器３２がＡＴＡＰＩインターフェースを備えている場合、パケットフィルタ６は、ＯＲＢ内の転送パラメータをＳＢＰ２制御回路８へ送り、また、ＣＰＵ３へコマンド発行を行なった事を通知すると共に、ＡＴＡＰＩ／ＡＴＡインターフェース２１に合わせたＡＴＡＰＩコマンドとして転送制御回路７を制御する。このとき、パケットフィルタ６は、転送モードの指定に必要なＦｅａｔｕｒｅｓレジスタの設定値をＣＰＵ３からの設定データを基に設定し、ＡＴＡパケットを送信するためのパケットコマンドコードをＡＴＡＰＩインターフェースを備える第２の電子機器３２側のＡＴＡ制御レジスタである、Ｃｏｍｍａｎｄレジスタへ設定した後、同制御レジスタの一つである、Ｓｔａｔｕｓレジスタをモニタリングし、ＢＳＹビットが解除され、ＤＲＱビットが立っていた場合に限り、受信フィルタ５より受け取ったＣＤＢデータをＡＴＡパケットデータとして、同制御レジスタ内のＤａｔａレジスタへ転送する。この時、Ｄａｔａレジスタへ転送するＣＤＢデータのサイズは現在、６Ｂｙｔｅ、１２Ｂｙｔｅ、１６Ｂｙｔｅの３種類あり、そのサイズはＯＲＢが格納されているＩＥＥＥ１３９４パケットのＤａｔａＬｅｎｇｔｈフィールドから算出することができ、その状況で適切なＣＤＢサイズを選択して転送する。ここまででＡＴＡＰＩコマンドの発行が終わり、転送制御回路７は再びＳｔａｔｕｓレジスタのモニタリングを行なう。
【００５６】
ＡＴＡＰＩコマンド発行後、Ｓｔａｔｕｓレジスタ内のＢＳＹビットが解除され、ＣＨＫビットが立っていないのを確認すると、ＡＴＡＰＩコマンド発行が正常処理されたことを示すことになり、ＡＴＡＰＩコマンド発行が成功したことをＣＰＵ３へ通知する。逆にＣＨＫビットが立っていた場合にはＡＴＡＰＩコマンド発行が異常処理されたことを示すことになるので、ＡＴＡＰＩコマンド発行が失敗したことをＣＰＵ３へ通知することになる。
【００５７】
ここで、ＢＳＹビットが解除され、ＤＲＱビットが立っていた場合は、コマンド発行が成功し、データ転送を要望されていることになり、転送制御回路７はＩＥＥＥ１３９４インターフェース２０を備える第１の電子機器３０へデータ転送を行なうべく、ＳＢＰ２制御回路８へデータ転送起動指示を出す。ＳＢＰ２制御回路８はＡＴＡＰＩインターフェース上の転送データをＩＥＥＥ１３９４パケット内のデータフィールド部へ格納して、ＩＥＥＥ１３９４インターフェース２０上をパケットとして送信し、第１の電子機器３０とデータ転送を行なう。
【００５８】
データ転送完了後、転送制御回路７はＡＴＡＰＩインターフェースを備える第２の電子機器３２側のＡＴＡ制御レジスタである、Ｓｔａｔｕｓレジスタを再びモニタリングして、ＢＳＹビットが解除された時のＤＲＱビットの状態を確認する。ＤＲＱビットが立っていなかった場合は、その時点でデータ転送が完了し、ＳＢＰ２制御回路８へＣＰＵ３があらかじめセットしておいたステータスパケットを送信させる。ＤＲＱビットが立っていた場合には、再びデータ転送が必要であり、再度同じ手順でＩＥＥＥ１３９４インターフェースを備える第１の電子機器３０へデータ転送が行なわれる。また、ＣＨＫビットが立っていた時には、第２の電子機器３２側で異常が発生したことになるので、ＣＰＵ３へ通知を行い、ＣＰＵ３は第２の電子機器３２のエラー処理を行ない、エラーステータスパケットを第１の電子機器３０へ送る。
【００５９】
このように本実施の形態によれば、受信したパケットを格納する受信メモリ４と、第二のインターフェースであるＡＴＡＰＩ／ＡＴＡバス２１の転送制御を独立して行なう第２の転送制御回路７と、上記受信したパケットのうち、第２の電子機器３２宛てのものとそれ以外のものとに振り分ける受信フィルタ５と、受信フィルタ５の出力パケットのうち、上記第２の電子機器３２宛てのものを受け、該パケット内の所定の識別子に基づいて、該パケットが上記第２の転送制御回路７宛てのものと判断した場合に、上記第２の転送制御回路７が処理する任意のデータ部分のみを出力し、それ以外のパケット、または上記第２の転送制御回路７にて処理待ちとなった該第２の転送制御回路７宛てのパケットを上記受信メモリ４へ格納するパケットフィルタ６と、上記第２の転送制御回路７の動作状態に応じて上記受信メモリ４からパケットを読み出して所定の処理を行なう制御部であるＣＰＵ３と、を備えたものとしたので、状況に応じて受信コマンドの処理を振り分け、データ処理装置によって異なるインターフェース間を接続している期間にＣＰＵが占有されることがなくなり、他のコマンドの受付けが可能となり、システム的な制限を解除することができ、また、Ｂｕｓ上での転送レートを確保する点において、コマンド処理におけるＣＰＵ負荷を削減でき、ＣＰＵ性能に依存しないシステムを構成することができる。
【００６０】
なお、上記実施の形態においては、種類の異なるインターフェースとして、ＩＥＥＥ１３９４とＡＴＡＰＩおよびＡＴＡを用いる例を挙げて示したが、その他のインターフェース、例えば、ＵＳＢなどのものを用いることも可能である。またデータ転送転送について、第２の電子機器３２から第１の電子機器３０が読み出す方向について説明したが、これは一例であり、コマンド種類、転送方向、転送長、転送速度に関しては上記説明に限定されるものではない。
【００６１】
また、上記実施の形態では第２の電子機器３２としてＡＴＡＰＩインターフェースを用いるものとして説明したが、ＡＴＡインターフェースを用いる場合には、図８に示すように、ステップＳ８００からＳ８０２に示されるようにコマンド変換ステップが新たに設けられることとなる。
【００６２】
【発明の効果】
以上のように、本発明の請求項１にかかるデータ処理装置によれば、第一のインターフェースを備えた第１の電子機器と第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のデータ転送を実行するデータ処理装置であって、受信したパケットを格納する受信メモリと、上記第一のインターフェースの転送制御を行なう第１の転送制御回路と、上記第二のインターフェースの転送制御を独立して行なう第２の転送制御回路と、上記受信したパケットを、上記第２の電子機器宛てのものとそれ以外のものとに振り分ける受信フィルタと、上記受信フィルタからのパケットのうち、上記第２の電子機器宛てのものを受け、該パケット内の所定の識別子に基づいて、該パケットが上記第２の転送制御回路宛てのものと判断した場合に、上記第２の転送制御回路が処理する任意のデータ部分のみを出力し、それ以外のパケット、または上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを上記受信メモリへ格納するパケットフィルタと、上記第２の転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なう制御部と、を備えたものとしたので、状況に応じて受信コマンドの処理を振り分け、データ処理装置によって異なるインターフェース間を接続している期間にＣＰＵが占有されることがなくなり、他のコマンドの受付けが可能となり、システム的な制限が生じるのを解除することができ、また、Ｂｕｓ上での転送レートを確保する点において、コマンド処理におけるＣＰＵ負荷を削減でき、ＣＰＵ性能に依存しないシステムを構成することができるという効果がある。
【００６３】
また、本発明の請求項２にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記受信フィルタは、上記第２の電子機器宛て以外のパケットを上記受信メモリに対して出力するものとしたので、受信フィルタによって第２の電子機器宛て以外のパケットが後段の回路に転送されることがなくなるという効果がある。
【００６４】
また、本発明の請求項３にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記制御部は、上記第２の転送制御回路にて処理待ちとなった該第２の転送制御回路宛てのパケットを上記受信メモリより読み出し、該パケットより命令を抽出して処理を行い、上記第二のインターフェースの処理を上記第２の転送制御回路の処理が終了した後、該第２の転送制御回路を制御して実行するものとしたので、処理待ちとなった第２の転送制御回路宛てのパケットを後に実行することができるという効果がある。
【００６５】
また、本発明の請求項４にかかるデータ処理装置によれば、請求項３記載のデータ処理装置において、上記制御部は上記第２の転送制御回路の処理を任意のタイミングで途中終了させ、任意のタイミングで上記受信メモリ内のパケットを上記第二のインターフェースへ転送処理するものとしたので、処理待ちとなった第２の転送制御回路宛てのパケットを優先的に処理することができるという効果がある。
【００６６】
また、本発明の請求項５にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記受信したパケット内の所定の識別子から上記第１の転送制御回路宛てと判断した場合に、該第１の転送制御回路へ受信パケットを渡し、上記制御部は、上記第１の転送制御回路へ任意のパケットデータを任意のタイミングでセットするものとしたので、受信コマンドをＣＰＵと転送制御部に振り分けることでＣＰＵをコマンド処理から開放することができ、システムの安定性を図ることができるという効果がある。
【００６７】
また、本発明の請求項６にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、送信する任意のパケットを格納する送信メモリを備え、上記制御部は、上記送信メモリへ任意の送信パケットデータを任意のタイミングでセットするものとしたので、送信パケットデータの処理を任意のタイミングで行なうことができるという効果がある。
【００６８】
また、本発明の請求項７にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記パケットフィルタは、受信したパケット内の所定の識別子を読み出す際のデータの大きさを任意に変えるものとしたので、システムの状態に応じて最適な効率でデータの転送を行なうことができるという効果がある。
【００６９】
また、本発明の請求項８にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを基に、少なくとも一つのデータを置換し、パケット内の少なくとも一つのデータを並び替えて上記第２の転送制御回路を介して上記第二のインターフェース処理を制御するものとしたので、システムの状態に合わせて処理するコマンドの順番を任意に変更することができ、システムの効率向上を図ることができるという効果がある。
【００７０】
また、本発明の請求項９にかかるデータ処理装置によれば、請求項８記載のデータ処理装置において、上記パケットフィルタは、上記第２の転送制御回路が上記第二のインターフェース処理を制御する際に、任意のアドレス空間と任意の転送長を用いて行なわれるようにデータを変換するものとしたので、受信したパケット内の所定の識別子を読み出す際のデータの大きさを任意に変えるものとしたので、システムの状態に応じて最適な効率でデータの転送を行なうことができるという効果がある。
【００７１】
また、本発明の請求項１０にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記パケットフィルタは、上記制御部からの任意の設定情報と、受信したパケット内の少なくとも一つの識別子とを比較して、該比較結果が所定の判断条件と一致する場合、上記受信メモリへ当該パケットデータを格納するものとしたので、受信したパケットデータを効率よく振り分けることができるという効果がある。
【００７２】
また、本発明の請求項１１にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記第２の転送制御回路は、上記制御部が上記第二のインターフェース処理を制御してデータ転送しているときに、該転送制御処理から解放するものとしたので、システムがコマンド処理待ちとなる時間を削減でき、システムの効率向上を図ることができるという効果がある。
【００７３】
また、本発明の請求項１２にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記第一のインターフェースとのデータ転送用パケット及びシーケンス処理用パケットを格納するＦＩＦＯを備え、上記パケットフィルタは、上記受信メモリ、及び上記第２の転送制御回路の状態を検知し、上記第２の転送制御回路宛てのパケットを受信した場合に、該第２の転送制御回路が上記第二のインターフェース処理を制御中であれば上記第２の転送制御回路宛てのパケットを上記受信メモリへ格納し、また、上記ＦＩＦＯにパケット格納時に実行不能な場合に、上記第一のインターフェースへ再試行要求を出すものとしたので、受信したパケットのコマンドが処理待ちとなってもその間ＣＰＵが専有されることがなくなり、システムの効率向上を図ることができるという効果がある。
【００７４】
また、本発明の請求項１３にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記第一のインターフェースが、ＩＥＥＥ１３９４としたので、ＩＥＥＥ１３９４とその他のインターフェース間でコマンドの変換を効率よく行なうことができるという効果がある。
【００７５】
また、本発明の請求項１４にかかるデータ処理装置によれば、請求項１記載のデータ処理装置において、上記第二のインターフェースが、ＡＴＡＰＩ／ＡＴＡインターフェースとしたので、ＡＴＡＰＩ／ＡＴＡとその他のインターフェース間でコマンドの変換を効率よく行なうことができるという効果がある。
【００７６】
また、本発明の請求項１５にかかるデータ処理方法によれば、第一のインターフェースを備えた第１の電子機器と、第二のインターフェースを備えた第２の電子機器とを接続し、両電子機器間のパケットデータ転送を実行するデータ処理方法において、上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップと、上記第２の電子機器宛てのパケットデータに該パケットデータが転送制御回路宛てのものであることを示す所定の識別子が含まれているか否かを判定するステップと、上記パケットデータに所定の識別子が含まれている場合に、上記パケットデータのうちの上記転送制御回路が処理を行なう任意のデータ部分のみを出力し、それ以外のパケット、または上記転送制御回路にて処理待ちとなった該転送制御回路宛てのパケット、を受信メモリへ格納するステップと、上記転送制御回路の動作状態に応じて上記受信メモリからパケットを読み出して所定の処理を行なうステップと、を含むものとしたので、状況に応じて受信コマンドの処理を振り分け、データ処理装置によって異なるインターフェース間を接続している期間にＣＰＵが占有されることがなくなり、他のコマンドの受付けが可能となり、システム的な制限が生じるのを解除することができ、また、Ｂｕｓ上での転送レートを確保する点において、コマンド処理におけるＣＰＵ負荷を削減でき、ＣＰＵ性能に依存しないシステムを構成することができるという効果がある。
【００７７】
また、本発明の請求項１６にかかるデータ処理方法によれば、請求項１３記載のデータ処理方法において、上記第１の電子機器から出力されたパケットデータを、上記第２の電子機器宛てのものと、それ以外のものとに振り分けるステップの前に、上記第１の電子機器から出力されたパケットデータに含まれる命令情報の変換が必要であるか否かを判定するステップを含む、ものとしたので、２つのインターフェース間でコマンドの変換が必要な場合においても、これを実現することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかるデータ処理装置の構成例を示すブロック図である。
【図２】上記データ処理装置によって処理されるパケットのＯＲＢのフォーマットを示す図である。
【図３】ＳＣＳＩコマンドのフォーマットを示す図である。
【図４】上記データ処理装置による第２の電子機器制御のうち、ＣＰＵの介入を必要としない場合のコマンド、及びデータの流れの概略を示した図である。
【図５】上記データ処理装置による第２の電子機器制御のうち、ＣＰＵからの介入がある場合のコマンド及びデータの流れの概略を示した図である。
【図６】上記データ処理装置の全体的な動作を示すフローチャートを記載した図である。
【図７】上記データ処理装置によるデータ転送処理のフローの一例を示した図である。
【図８】図７のデータ転送処理のフローの一例においてコマンド変換を行なう際のフローの一例を示した図である。
【符号の説明】
１  ＰＨＹ
２  ＬＩＮＫ
３  ＣＰＵ
４  受信メモリ
５  受信フィルタ
６  パケットフィルタ
７  転送制御回路
８  ＳＢＰ２制御回路
９  データＦＩＦＯ
１０  送信メモリ
２０  ＩＥＥＥ１３９４バス
２１  ＡＴＡＰＩ／ＡＴＡバス
３０  第１の電子機器
３１  データ処理装置
３２  第２の電子機器
【図１】
2004326350.tif 000003
【図２】
2004326350.tif 000004
【図３】
2004326350.tif 000005
【図４】
2004326350.tif 000006
【図５】
2004326350.tif 000007
【図６】
2004326350.tif 000008
【図７】
2004326350.tif 000009
【図８】
2004326350.tif 000010