(57)【要約】【課題】複数のデータ処理装置を接続したシステムにおいて、データの転送速度を高速化する。【解決手段】送信を行うインタフェース回路を有する第１のデータ処理装置と、受信を行うインタフェース回路を有する第２のデータ処理装置と、転送すべきデータを保持する記憶装置とを備えるデータ処理システムにおいて、データの転送を行うインタフェース方法であって、前記記憶装置における前記転送すべきデータを示すアドレス情報を、前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路に通知するアドレス通知ステップと、前記第２のデータ処理装置が、前記アドレス情報に基づいて前記記憶装置にアクセスし、前記転送すべきデータを読み出すデータ読み出しステップとを備える。【選択図】図１
2008059195.tif 000002
【特許請求の範囲】
【請求項１】
送信を行うインタフェース回路を有する第１のデータ処理装置と、受信を行うインタフェース回路を有する第２のデータ処理装置と、転送すべきデータを保持する記憶装置とを備えるデータ処理システムにおいて、データの転送を行うインタフェース方法であって、
前記記憶装置における前記転送すべきデータを示すアドレス情報を、前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路に通知するアドレス通知ステップと、
前記第２のデータ処理装置が、前記アドレス情報に基づいて前記記憶装置にアクセスし、前記転送すべきデータを読み出すデータ読み出しステップとを備える
ことを特徴とするインタフェース方法。
【請求項２】
請求項１に記載のインタフェース方法において、
前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路にデータを転送させるデータ転送命令を、前記アドレス通知ステップと、前記データ読み出しステップとを行うための命令に置き換えるステップを更に備える
ことを特徴とするインタフェース方法。
【請求項３】
請求項１に記載のインタフェース方法において、
前記アドレス通知ステップと、前記データ読み出しステップとを行うための新たな種類のデータ転送命令を用いる
ことを特徴とするインタフェース方法。
【請求項４】
請求項１に記載のインタフェース方法において、
前記第１のデータ処理装置及び前記第２のデータ処理装置は、前記記憶装置のアドレス空間の少なくとも一部を共有する
ことを特徴とするインタフェース方法。
【請求項５】
請求項４に記載のインタフェース方法において、
前記第１のデータ処理装置及び前記第２のデータ処理装置のうち少なくとも一方は、前記記憶装置を内蔵している
ことを特徴とするインタフェース方法。
【請求項６】
請求項４に記載のインタフェース方法において、
前記データ処理システムは、前記記憶装置を前記第１のデータ処理装置及び前記第２のデータ処理装置の外部に備えている
ことを特徴とするインタフェース方法。
【請求項７】
請求項１に記載のインタフェース方法において、
前記データ処理システムは、前記記憶装置を複数備え、
前記第１のデータ処理装置及び前記第２のデータ処理装置は、前記複数の記憶装置のアドレス空間の少なくとも一部を共有している
ことを特徴とするインタフェース方法。
【請求項８】
送信を行うインタフェース回路を有する第１のデータ処理装置と、受信を行うインタフェース回路を有する第２のデータ処理装置と、転送すべきデータを保持し前記第１のデータ処理装置が使用する第１の領域と前記第２のデータ処理装置が使用する第２の領域とを有する記憶装置とを備えるデータ処理システムにおいて、データの転送を行うインタフェース方法であって、
前記転送すべきデータを、前記第１の領域から前記第２の領域にコピーするデータコピーステップと、
前記第２のデータ処理装置が、前記記憶装置にアクセスし、前記第２の領域にコピーされたデータを読み出すデータ読み出しステップとを備える
ことを特徴とするインタフェース方法。
【請求項９】
請求項８に記載のインタフェース方法において、
前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路にデータを転送させるデータ転送命令を、前記データコピーステップと、前記データ読み出しステップとを行うための命令に置き換えるステップを更に備える
ことを特徴とするインタフェース方法。
【請求項１０】
請求項８に記載のインタフェース方法において、
前記データコピーステップと、前記データ読み出しステップとを行うための新たな種類のデータ転送命令を用いる
ことを特徴とするインタフェース方法。
【請求項１１】
転送すべきデータを保持する記憶装置と、
送信を行う第１のインタフェース回路を有する第１のデータ処理装置と、
受信を行う第２のインタフェース回路を有し、前記転送すべきデータを前記記憶装置から読み出す第２のデータ処理装置とを備え、
前記第１のインタフェース回路は、
前記記憶装置における前記転送すべきデータを示すアドレス情報を、前記第２のインタフェース回路に通知するものであり、
前記第２のデータ処理装置は、
前記アドレス情報に基づいて、前記転送すべきデータを前記記憶装置から読み出すものである
ことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ処理装置間において、データの転送を行うためのインタフェース方法に関する。
【背景技術】
【０００２】
従来、複数のデータ処理装置を接続したシステムにおけるインタフェース方法の１つとして、データ処理装置間を既存のインタフェースプロトコルで接続する方法が用いられてきた。
【０００３】
図２は、２つのＬＳＩ（large scale integration）の間で従来のインタフェース方法によりデータの転送を行うシステムの構成を示すブロック図である。図２では、一連のデータ処理の前工程を担当するフロントエンドＬＳＩ１０１と後工程を担当するバックエンドＬＳＩ１０２とは、既存のインタフェース１０３により接続されている。この場合、フロントエンドＬＳＩ１０１とバックエンドＬＳＩ１０２との間の通信は、既存のインタフェース１０３のプロトコルに従って行われる。
【０００４】
図２によると、インタフェースに関するハードウェア及びソフトウェアに少量の変更を行ったものを流用して、それぞれが独立して処理を行う複数のデータ処理装置を、１つに接続して運用することができる。
【０００５】
また、複数のデータ処理装置においてメモリを共有で使用することにより、インタフェースを実現する方法もある（例えば、特許文献１を参照）。図３は、複数のデータ処理装置が同じ共有メモリをそれぞれ使用するシステムの構成を示すブロック図である。図３のシステムでは、データ処理装置２０１，２０２は、一方が他方のデータ処理装置にそれぞれ送信するデータを、共有バス２０３を介して共有メモリ２０４に書き込み、一方が他方のデータ処理装置からそれぞれ受信するデータを、共有メモリ２０４から共有バス２０３を介して読み出す。
【０００６】
このインタフェース方法を用いると、データを共有メモリに蓄積することによって、送信側のデータ処理装置と受信側のデータ処理装置とが非同期であっても、容量の大きいデータを送受信することができる。
【特許文献１】特開平５−２２５１２７号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図２のシステムにおけるインタフェース方法は、データ処理装置間の通信がそのインタフェース特有のプロトコルに従って行われるため、例えば、命令の発行には適している。しかしながら、このインタフェース方法によると、データ転送を行う場合には、プロトコルのオーバーヘッドによって転送速度が低下するという問題があった。
【０００８】
図４は、図２のシステムの構成を詳しく示すブロック図である。図４で示されるように、送信側及び受信側のＬＳＩがバッファメモリ１０５の異なる領域をそれぞれ使用し、転送前のデータ及び転送されたデータをそれぞれバッファメモリ１０５に蓄積する。このため、システム全体としてはメモリ資源上に同一のデータが複数存在することになり、転送データの容量より大きい領域を使用してしまうという問題があった。
【０００９】
図３のシステムにおけるインタフェース方法は、容量の大きいデータの転送には適しているが、命令を発行する場合には、レスポンスが低下するという問題があった。また、フロントエンドＬＳＩ及びバックエンドＬＳＩのように単独で機能的に完結している場合には、各データ処理装置が持つ通信に関するハードウェア及び組込みソフトウェアを大幅に変更する必要があり、ソフトウェアの継承及び機能の互換性確保が困難であるという問題があった。
【００１０】
本発明は、複数のデータ処理装置を接続したシステムにおいて、ソフトウェア及びハードウェアの変更を最小限にとどめながら、データの転送速度を高速化することを目的とする。また、データ転送に必要なバッファメモリの領域を削減することを目的とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するため、請求項１の発明が講じた手段は、送信を行うインタフェース回路を有する第１のデータ処理装置と、受信を行うインタフェース回路を有する第２のデータ処理装置と、転送すべきデータを保持する記憶装置とを備えるデータ処理システムにおいて、データの転送を行うインタフェース方法であって、前記記憶装置における前記転送すべきデータを示すアドレス情報を、前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路に通知するアドレス通知ステップと、前記第２のデータ処理装置が、前記アドレス情報に基づいて前記記憶装置にアクセスし、前記転送すべきデータを読み出すデータ読み出しステップとを備えるものである。
【００１２】
請求項１の発明によると、データの転送をインタフェース回路間では行わずに、記憶装置上で、送信側が書き込んだデータを受信側が読み出すようにしてデータの転送を行う。このため、インタフェース回路間のプロトコルのオーバーヘッドに影響されることがなく、データの転送速度を高速化することができる。また、記憶装置上では送信側及び受信側はそれぞれ同じデータを扱うので、データ転送に使用する記憶装置の領域を削減することができる。
【００１３】
請求項２の発明は、請求項１に記載のインタフェース方法において、前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路にデータを転送させるデータ転送命令を、前記アドレス通知ステップと、前記データ読み出しステップとを行うための命令に置き換えるステップを更に備えるものである。
【００１４】
請求項２の発明によると、既存の命令を置き換えて用いるので、既存のインタフェースプロトコルから命令の種類が増加することを抑えることができる。
【００１５】
請求項３の発明は、請求項１に記載のインタフェース方法において、前記アドレス通知ステップと、前記データ読み出しステップとを行うための新たな種類のデータ転送命令を用いるものである。
【００１６】
請求項３の発明によると、既存のインタフェースプロトコルに新たな命令を追加して用いるので、既存のインタフェースプロトコルに対して上位互換性を持つことができる。
【００１７】
請求項４の発明は、請求項１に記載のインタフェース方法において、前記第１のデータ処理装置及び前記第２のデータ処理装置は、前記記憶装置のアドレス空間の少なくとも一部を共有するものである。
【００１８】
請求項５の発明は、請求項４に記載のインタフェース方法において、前記第１のデータ処理装置及び前記第２のデータ処理装置のうち少なくとも一方は、前記記憶装置を内蔵しているものである。
【００１９】
請求項６の発明は、請求項４に記載のインタフェース方法において、前記データ処理システムは、前記記憶装置を前記第１のデータ処理装置及び前記第２のデータ処理装置の外部に備えているものである。
【００２０】
請求項７の発明は、請求項１に記載のインタフェース方法において、前記データ処理システムは、前記記憶装置を複数備え、前記第１のデータ処理装置及び前記第２のデータ処理装置は、前記複数の記憶装置のアドレス空間の少なくとも一部を共有しているものである。
【００２１】
請求項８の発明は、送信を行うインタフェース回路を有する第１のデータ処理装置と、受信を行うインタフェース回路を有する第２のデータ処理装置と、転送すべきデータを保持し前記第１のデータ処理装置が使用する第１の領域と前記第２のデータ処理装置が使用する第２の領域とを有する記憶装置とを備えるデータ処理システムにおいて、データの転送を行うインタフェース方法であって、前記転送すべきデータを、前記第１の領域から前記第２の領域にコピーするデータコピーステップと、前記第２のデータ処理装置が、前記記憶装置にアクセスし、前記第２の領域にコピーされたデータを読み出すデータ読み出しステップとを備えるものである。
【００２２】
請求項８の発明によると、データの転送をインタフェース回路間では行わずに、記憶装置上で、送信側の領域にあるデータを受信側の領域にコピーしたものを、受信側が読み出すようにしてデータの転送を行う。このため、インタフェース回路間のプロトコルのオーバーヘッドに影響されることがないので、データの転送速度を高速化することができる。
【００２３】
請求項９の発明は、請求項８に記載のインタフェース方法において、前記第１のデータ処理装置のインタフェース回路から前記第２のデータ処理装置のインタフェース回路にデータを転送させるデータ転送命令を、前記データコピーステップと、前記データ読み出しステップとを行うための命令に置き換えるステップを更に備えるものである。
【００２４】
請求項１０の発明は、請求項８に記載のインタフェース方法において、前記データコピーステップと、前記データ読み出しステップとを行うための新たな種類のデータ転送命令を用いるものである。
【００２５】
請求項１１の発明は、転送すべきデータを保持する記憶装置と、送信を行う第１のインタフェース回路を有する第１のデータ処理装置と、受信を行う第２のインタフェース回路を有し、前記転送すべきデータを前記記憶装置から読み出す第２のデータ処理装置とを備え、前記第１のインタフェース回路は、前記記憶装置における前記転送すべきデータを示すアドレス情報を、前記第２のインタフェース回路に通知するものであり、前記第２のデータ処理装置は、前記アドレス情報に基づいて、前記転送すべきデータを前記記憶装置から読み出すものである。
【発明の効果】
【００２６】
本発明によれば、データの転送についてのみ、インタフェース回路間で直接行わないようにするので、インタフェース回路間でデータの転送も実際に行う場合に比べ、ハードウェア及びソフトウェアにわずかに変更を加えるだけで、データの転送速度を高速化することができる。また、データ転送に使用する記憶装置の領域を削減することができる。したがって、多くのデータ処理装置を有する大規模なシステムを高速化し、低コスト化することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２８】
図１は、本発明の実施形態に係るデータ処理システムの構成を示すブロック図である。図１のデータ処理システムは、データ処理装置１０，２０と、記憶装置４０とを備えている。データ処理装置１０，２０は、例えばＬＳＩであって、インタフェース回路１２，２２をそれぞれ有する。記憶装置４０は、転送データ用バッファ領域４２を有する。データ処理装置１０，２０は、転送データ用バッファ領域４２においてアドレス空間の少なくとも一部を共有し、それぞれ任意のデータの書き込み及び読み出しを行う。
【００２９】
インタフェース回路１２，２２は、それぞれ互いに接続され、命令４１１とそれに対する応答４１２とをやり取りする。インタフェース回路１２，２２は、例えば、ＡＴＡ（advanced technology attachment）規格に準拠している。この規格では、命令を発行して送信するホストと、命令を受信して応答するデバイスとが対になっている。本実施形態では、インタフェース回路１２をホスト側インタフェース回路とし、インタフェース回路２２をデバイス側インタフェース回路とする。
【００３０】
データ処理装置１０とデータ処理装置２０との間で通信が行われる場合には、以下のように処理が行われる。始めに、インタフェース回路１２は、通信を行うために命令４１１をインタフェース回路２２に送信する。インタフェース回路２２は、受け取った命令４１１をデコードして実行し、応答４１２をインタフェース回路１２に送信する。このように、命令４１１と応答４１２とのやり取りによって、インタフェース回路１２とインタフェース回路２２との間に通信が成立する。
【００３１】
データ処理装置１０とデータ処理装置２０との間で行われる通信の内容が、データ処理装置１０からデータ処理装置２０へのデータ転送である場合には、以下のように処理が行われる。始めに、インタフェース回路１２はインタフェース回路２２に対し、命令４１１として、データ転送に割り当てられた命令コードを送信する。また、データ処理装置１０は、データ処理装置２０に転送すべきデータを、事前に転送データ用バッファ領域４２に書き込んでおく。インタフェース回路１２は、命令コードを送信した後、インタフェース回路２２に対し、転送データ用バッファ領域４２に配置された転送すべきデータを示すアドレス情報、例えば、開始番地とデータサイズとを通知する。
【００３２】
インタフェース回路２２は、データ転送に割り当てられた命令コードを受信すると、その直後に送信されるアドレス情報を、データ処理装置２０に転送すべきデータのアドレス情報としてラッチする。データ処理装置２０は、インタフェース回路２２がラッチしたアドレス情報に基づいて転送データ用バッファ領域４２にアクセスし、転送すべきデータを必要に応じて読み出す。
【００３３】
データ処理装置１０とデータ処理装置２０との間で行われるデータ転送以外の通信については、インタフェース回路１２とインタフェース回路２２との間で行う。これによって、ソフトウェア及びハードウェアの変更を最小限にとどめることができる。
【００３４】
また、データ処理装置２０からデータ処理装置１０にデータを転送する場合にも、上記と同様に処理を行うことができる。
【００３５】
なお、インタフェース回路１２からインタフェース回路２２にデータを転送する処理を行うための、既存のインタフェースプロトコルによるデータ転送の命令を、転送すべきデータのアドレス情報をインタフェース回路２２に通知する処理と、転送データ用バッファ領域４２から転送すべきデータを読み出す処理とを行うための命令に置き換えても良い。これによって、既存のインタフェースプロトコルにおいて、命令の種類の増加を抑えることができる。
【００３６】
なお、転送すべきデータのアドレス情報をインタフェース回路２２に通知する処理と、転送データ用バッファ領域４２から転送すべきデータを読み出す処理とを行うための新たな種類のデータ転送命令を用いることにしても良い。これによって、既存のインタフェースプロトコルに対して上位互換性を持つことができる。
【００３７】
なお、記憶装置４０において、データ処理装置１０，２０がアドレス空間を共有する転送データ用バッファ領域４２ではなく、データ処理装置１０，２０が個別にそれぞれ使用する領域を用いて、データ転送を行っても良い。この場合には、転送すべきデータは、データ処理装置１０が使用する領域から、データ処理装置２０が使用する領域にコピーされる。データ処理装置２０は、コピーされたデータを、記憶装置４０においてデータ処理装置２０が使用する領域から必要に応じて読み出す。
【００３８】
なお、インタフェース回路１２からインタフェース回路２２にデータを転送する処理を行うための、既存のインタフェースプロトコルによるデータ転送の命令を、転送すべきデータをデータ処理装置１０が使用する領域からデータ処理装置２０が使用する領域にコピーする処理と、データ処理装置２０が使用する領域から、コピーされたデータを読み出す処理とを行うための命令に置き換えても良い。
【００３９】
なお、転送すべきデータをデータ処理装置１０が使用する領域からデータ処理装置２０が使用する領域にコピーする処理と、データ処理装置２０が使用する領域から、コピーされたデータを読み出す処理とを行うための新たな種類のデータ転送命令を用いることにしても良い。
【００４０】
なお、記憶装置４０は、データ処理装置１０，２０それぞれの外部にあっても良いし、データ処理装置１０，２０の少なくとも一方が、記憶装置４０を内蔵するようにしても良い。
【００４１】
なお、データ処理システムが記憶装置４０を複数備えるようにし、データ処理装置１０，２０が、これらの記憶装置４０においてアドレス空間の少なくとも一部を共有するようにしても良い。
【００４２】
以上のように、本実施形態によると、複数のデータ処理装置を接続したシステムにおいて、データの転送速度を高速化することができる。また、データ転送に使用する記憶装置の領域を削減することができる。したがって、インタフェース回路をそれぞれが有する複数のＬＳＩを１チップ化して単一のＬＳＩを構築する場合には、システムを高速化し、コストを抑えることができる。
【産業上の利用可能性】
【００４３】
以上説明したように、本発明は、データの転送速度を高速化するので、データ転送を行う複数のデータ処理装置を有するシステム等について有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の実施形態に係るデータ処理システムの構成を示すブロック図である。
【図２】２つのＬＳＩの間で従来のインタフェース方法によりデータの転送を行うシステムの構成を示すブロック図である。
【図３】複数のデータ処理装置が同じ共有メモリをそれぞれ使用するシステムの構成を示すブロック図である。
【図４】図２のシステムの構成を詳しく示すブロック図である。
【符号の説明】
【００４５】
１０，２０  データ処理装置
１２，２２  インタフェース回路
４０  記憶装置
【図１】
2008059195.tif 000003
【図２】
2008059195.tif 000004
【図３】
2008059195.tif 000005
【図４】
2008059195.tif 000006