(57)【要約】　【課題】データ転送路の転送効率がその転送能力と等しくなるデータ転送システムを提供する。　【解決手段】ビデオボード２０へデータを転送する場合で、転送の途中でデータ処理が必要ない場合には、ＨＤＤ装置１０のデュアルポートメモリ１６を介してデータの転送が行われる。これによって、第２のデータ転送であるビデオボード２０のＤＭＡコントローラ２２によるＨＤＤ装置１０のデュアルポートメモリ１６からビデオボード２０の出力インターフェース２４への転送でのみＩ／Ｏバス４０が使用され、第１のデータ転送であるＨＤＤ装置１０のＤＭＡコントローラ１２によるＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６への転送では、Ｉ／Ｏバスは使用されない。　【選択図】　図１
2004118857.tif 000002
【特許請求の範囲】
【請求項１】
　データ転送路によりデータ処理装置に接続された２台の装置である転送元装置から転送先装置へのデータ転送を行うデータ転送システムであって、前記転送元装置は、前記データ処理装置からの指示に応じて、当該転送元装置の所定領域に記憶されたデータを一時記憶手段へ転送可能な送出側転送手段を備え、一方、前記転送先装置は、前記データ処理装置の指示に応じて、前記一時記憶手段に転送されたデータを当該転送先装置の所定領域へ転送可能な受取側転送手段を備えたデータ転送システムにおいて、
　前記一時記憶手段を前記転送元装置又は前記転送先装置が備えていることを特徴とするデータ転送システム。
【請求項２】
　前記データ処理装置は、データ処理のためのデータ記憶手段を備えており、
　前記転送元装置から前記転送先装置へのデータ転送の途中で前記データ処理装置によるデータ処理が必要な場合、前記転送元装置の前記送出側転送手段に対して当該転送元装置の所定領域に記憶されたデータを前記データ記憶手段へ転送するよう指示すると共に、前記転送先装置の前記受取側転送手段に対して前記データ記憶手段に転送されたデータを当該転送先装置の所定領域へ転送するよう指示し、一方、前記転送元装置から前記転送先装置へのデータ転送の途中で前記データ処理装置によるデータ処理が不必要な場合、前記転送元装置の前記送出側転送手段に対して当該転送元装置の所定領域に記憶されたデータを前記一時記憶手段へ転送するよう指示すると共に、前記転送先装置の前記受取側転送手段に対して前記一時記憶手段に転送されたデータを当該転送先装置の所定の領域に転送するよう指示することを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
　前記一時記憶手段はデュアルポートメモリであることを特徴とする請求項１又は２に記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、本発明は、例えばビデオサーバに代表されるような、高速でデータ転送を行うデータ転送システムに関する。
【背景技術】
【０００２】
　従来、Ｉ／Ｏバス等の１つのデータ転送路を介してメインコンピュータに接続されている２台の装置間での高速なデータ転送は、一般的に両装置のＤＭＡコントローラ（Direct Memory Access Controller ）によって行われていた。
【０００３】
　このようなデータ転送は、両方の装置を制御するメインコンピュータから両装置へ個別に転送指示があり、それぞれの装置のＣＰＵがそれぞれの装置のＤＭＡコントローラにデータ転送の設定をすることにより実行される。また、このようなデータ転送は、転送元の装置及び転送先の装置のＤＭＡコントローラによって以下に示すように２段階で行われる。まず、転送元装置のＤＭＡコントローラが、例えばハードディスク等の所定領域からデータを読み出し、転送先装置のＤＭＡコントローラからアクセス可能なメモリ装置へ一旦データを転送する。そして、次に転送先装置のＤＭＡコントローラが、転送元装置のＤＭＡコントローラによって転送されたデータが記憶されているメモリ装置からデータを読み出し、例えば出力インターフェース等の所定領域へデータを転送する。このように、両装置のＤＭＡコントローラからアクセス可能なメモリ装置を介在させた２段階のデータ転送を、必要に応じて繰り返すことにより、転送元装置から転送先装置への高速なデータ転送が実現されている。なお、以下の説明では転送元装置のＤＭＡコントローラによるデータ転送を「第１のデータ転送」、転送先装置のＤＭＡコントローラによるデータ転送を「第２のデータ転送」という。
【０００４】
　ところで、従来のデータ転送では、第１及び第２のデータ転送に介在するメモリ装置として、両装置を制御するメインコンピュータのメモリ装置を利用していた。なぜなら、メインコンピュータのメモリ装置を利用することで、転送の途中でデータ処理を行うことが可能となるからである。このデータ処理としては、例えばデータに所定の値を加算するというような演算処理等が考えられる。従来はデータ処理が必要である場合を考慮して、データ処理が不必要な場合であっても常にデータ処理装置のメモリ装置を介在させたデータ転送が行われていた。
【０００５】
　ここで、上述したデータ転送を図６に示すデータ転送システム３のブロック図に基づいて具体的に説明する。データ転送システム３は、データ転送路としてのＩ／Ｏバス４０によってコンピュータ３０に接続されたハードディスクドライブ装置（以下「ＨＤＤ装置」と記述する。）１０からネットワークボード２０へデータを転送するシステムである。詳しくは、ＨＤＤ装置１０のＨＤ（ハードディスク）１５内のデータ５０を、ネットワークボード２０の出力インターフェース２４へ転送するシステムである。
【０００６】
　まず、第１のデータ転送で、ＨＤＤ装置１０のＤＭＡコントローラ１２はＨＤ１５からデータ５０を読み出して、コンピュータ３０のメモリ装置３２へ転送する。続く第２のデータ転送で、ネットワークボード２０のＤＭＡコントローラ２２はコンピュータ３０のメモリ装置３２からデータ５０を読み出して、ネットワークボード２０の出力インターフェース２４へ転送する。
【０００７】
　このように、ＨＤＤ装置１０のデータ５０をネットワークボード２０へ転送するような、データ処理を必要としないデータ転送であっても、コンピュータ３０のメモリ装置３２が、ＨＤＤ装置１０のＤＭＡコントローラ１２による第１のデータ転送とネットワークボード２０のＤＭＡコントローラ２２による第２のデータ転送に介在していた。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
　ところが、データ処理装置のメモリ装置を介在させることにより、第１のデータ転送においても、第２のデータ転送においてもデータ転送路及びコンピュータのバスブリッジが使用されることになる。例えば図６のデータ転送システム３では、コンピュータ３０のメモリ装置３２を介してデータ転送が行われることによって、第１のデータ転送においても、第２のデータ転送においてもＩ／Ｏバス４０及びバスブリッジ３３が使用されることになる。
【０００９】
　このため、単位時間に転送元装置から転送先装置に転送可能なデータ量（以下「転送効率」という。）は、データ転送路が単位時間に転送可能なデータ量（以下「データ転送路の転送能力」という。）又はバスブリッジが単位時間に転送可能なデータ量（以下「バスブリッジの転送能力」という。）の半分となってしまう。詳しくは、データ転送路の転送能力がバスブリッジの転送能力よりも低い場合、転送効率はデータ転送路の転送能力の半分となってしまい、逆にバスブリッジの転送能力がデータ転送路の転送能力よりも低い場合、転送効率はバスブリッジの転送能力の半分となってしまう。このことを、上述のデータ転送システム３を例として図７（ａ）の説明図に基づき具体的に説明する。
【００１０】
　図７（ａ）は、図６に示したデータ転送システム３における第１及び第２のデータ転送で転送されるデータ量を示したものである。図７（ａ）では、縦軸を転送能力、横軸を時間としている。なお、Ｉ／Ｏバス４０及びバスブリッジ３３は転送能力βであるとする。一般的にバスブリッジ３３の転送能力はＩ／Ｏバス４０の転送能力に比べて低くなっているシステムが多いが、ここでは説明を簡単にするために、Ｉ／Ｏバス４０及びバスブリッジ３３の転送能力を共にβとしている。また、一般的に、ＣＰＵバスの転送能力はデータ転送路の転送能力に比べて非常に大きく、図６中のコンピュータ３０のＣＰＵバス３４、ＨＤＤ装置１０のＣＰＵバス１７及びネットワークボード２０のＣＰＵバス２７は共に転送能力αであるとする。図７（ａ）中にαを示した。ところが、例えばＨＤＤ装置１０のハードディスク１５からコンピュータ３０のメモリ装置３２にデータが転送される場合、ＨＤＤ装置１０のＣＰＵバス１７、Ｉ／Ｏバス４０、コンピュータ３０のバスブリッジ３３及びＣＰＵバス３４を介することになるが、このとき、最も転送能力の低いＩ／Ｏバス４０及びコンピュータ３０のバスブリッジ３３の転送能力βでデータ転送される。
【００１１】
　図７（ａ）中の時刻ｔ０からｔ１まで第１のデータ転送、すなわちＨＤＤ装置１０のＨＤ１５からコンピュータ３０のメモリ装置３２へのデータ転送が行われ、時刻ｔ１からｔ２まで第２のデータ転送、すなわちコンピュータ３０のメモリ装置３２からネットワークボード２０の出力インターフェース２４へのデータ転送が行われたものとする。このとき、第１及び第２のデータ転送において、上述したようにＩ／Ｏバス４０及びコンピュータ３０のバスブリッジ３３の転送能力βでデータ転送が行われる。なお、時刻ｔ０からｔ１までには、映像データの転送時間の他に映像データ転送のためのコンピュータ３０のＣＰＵ３１からＨＤＤ装置１０の中央制御装置１１への命令データの転送時間が含まれる。また、時刻ｔ１からｔ２までには、映像データの転送時間の他に映像データ転送のためのコンピュータ３０のＣＰＵ３１からネットワークボード２０の中央制御装置２１への命令データの転送時間が含まれる。ところが、映像データの転送時間に比べると、命令データの転送時間は非常に小さくなるので図７中には示さない。ここで、コンピュータ３０でデータ処理の必要のない映像データを転送する場合、第１及び第２のデータ転送におけるデータ量が等しくなるため、時刻ｔ０からｔ１までの時間及び時刻ｔ１からｔ２までの時間は共に時間（Ｔ／２）である。
【００１２】
　このとき、図７（ａ）中の時間Ｔの間にＨＤＤ装置１０からネットワークボード２０へ転送されたデータは、図７（ａ）中の時刻ｔ１からｔ２で転送されたデータ（図７（ａ）中の斜線部分）である。従って、そのデータ量は、β×（Ｔ／２）である。これをＩ／Ｏバス４０及びバスブリッジ３３の使用時間Ｔで割ると、Ｉ／Ｏバス４０及びバスブリッジ３３の転送効率は（β／２）となる。このように、Ｉ／Ｏバス４０及びバスブリッジ３３の転送効率はそれらの転送能力の半分になってしまう。
【００１３】
　上述のように、従来、データ処理が必要な場合を考慮して第１及び第２のデータ転送に常にデータ処理装置のメモリ装置が介在していたため、このような状況は常に生じていた。結果として、データ処理の必要のないデータ転送であるにもかかわらず、そのシステムのデータ転送に要求される転送効率の２倍以上の転送能力を持つデータ転送路及びバスブリッジを用いてシステムを構成しなければならなかった。例えば、図６中のＩ／Ｏバス４０及びバスブリッジ３３に要求されるデータの転送効率がβであれば、転送能力（β×２）以上のＩ／Ｏバス４０及びバスブリッジ３３を使用してシステムを構成する必要があった。特にビデオサーバ等のようにＨＤＤ装置から映像を供給するような高速なデータ転送の要求されるシステムでは、データ転送路のコストが大きくなり、システム全体のコストを大きくしてしまうという問題があった。
【００１４】
　本発明は、データ転送路の転送効率をその転送能力に近づけ、かつバスブリッジの転送能力に依存しないデータ転送を実現することを目的とする。
【課題を解決するための手段及び発明の効果】
【００１５】
　請求項１に記載のデータ転送システムは、データ転送路によりデータ処理装置に接続された２台の装置である転送元装置から転送先装置へのデータ転送を行うデータ転送システムであり、転送元装置は、データ処理装置からの指示に応じて、その転送元装置の所定領域に記憶されたデータを一時記憶手段へ転送可能な送出側転送手段を備え、一方、転送先装置は、データ処理装置の指示に応じて、一時記憶手段に転送されたデータをその転送先装置の所定領域へ転送可能な受取側転送手段を備えたデータ転送システムにおいて、一時記憶手段を転送元装置又は転送先装置が備えていることを特徴としている。
【００１６】
　本発明のデータ転送システムは１つのデータ転送路によってデータ処理装置に接続された２台の装置である転送元装置から転送先装置へデータ転送を行うものである。本発明のデータ転送システムは、次のような手順で転送元装置の所定領域のデータを転送先装置の所定領域へ転送する。まず、データ処理装置からデータ転送の指示が転送元装置に出されると、その指示に応じて転送元装置の送出側転送手段が転送元装置の所定領域に記憶されたデータを一時記憶手段に転送することができる。一方、データ処理装置からデータ転送の指示が転送先装置へ出されると、その指示に応じて転送先装置の受取側転送手段が一時記憶手段に転送されたデータを転送先装置の所定領域へ転送することができる。
【００１７】
　この一時記憶手段を転送元装置又は転送先装置が備えることにより、例えば一時記憶手段が転送元装置に設けられている場合、第１のデータ転送、すなわち送出側転送手段によるデータ転送においてデータ転送路は使用されず、第２のデータ転送、すなわち受取側転送手段によるデータ転送においてのみデータ転送路が使用されることになる。一方、例えば一時記憶手段が転送先装置に設けられている場合、第２のデータ転送、すなわち受取側転送手段によるデータ転送においてデータ転送路は使用されず、第１のデータ転送、すなわち送出側転送手段によるデータ転送においてのみデータ転送路が使用されることになる。
【００１８】
　また、バスブリッジは第１のデータ転送においても、第２のデータ転送においても使用されない。これを、図１に示したデータ転送システム１に基づき具体的に説明する。データ転送システム１は本発明の一例である。
【００１９】
　データ転送システム１は、データ転送路としてのＩ／Ｏバス４０によってコンピュータ３０に接続されたＨＤＤ装置１０からネットワークボード２０へデータを転送するシステムである。図１に示すデータ転送システム１では、一時記憶手段としてのデュアルポートメモリ１６をＨＤＤ装置１０が備えている。つまり、ＨＤＤ装置１０のＤＭＡコントローラ１２による第１のデータ転送では、ＨＤＤ装置１０のＨＤ１５内のデータ５０がＨＤＤ装置１０のデュアルポートメモリ１６へ転送されることになる。そして、ネットワークボード２０のＤＭＡコントローラ２２による第２のデータ転送では、ＨＤＤ装置１０のデュアルポートメモリ１６に記憶されたデータ５０がＩ／Ｏバス４０を介してネットワークボード２０の出力インターフェース２４へ転送されることになる。つまり、第２のデータ転送においてのみＩ／Ｏバス４０が使用されている。さらに、第１及び第２のデータ転送のどちらにおいてもバスブリッジ３３は使用されていない。
【００２０】
　これによって、本発明のデータ転送システムにおけるデータ転送路の転送効率はその転送能力とほぼ等しくできると共に、バスブリッジの転送能力に依存しないデータ転送を実現することができる。データ転送路の転送効率がその転送能力とほぼ等しくなることを、上述のデータ転送システム１を用いて図７（ｂ）の説明図に基づき検証する。
【００２１】
　図７（ｂ）は、図１に示したデータ転送システム１でのデータ転送において、時刻ｔ３から時刻ｔ５までに転送されるデータを示したものである。図７（ｂ）では、図７（ａ）と同様に、縦軸を転送能力、横軸を時間とし、Ｉ／Ｏバス４０は転送能力β、ＨＤＤ装置１０のＣＰＵバス１７は転送能力αであるとする。また、図７（ｂ）中の時刻ｔ３からｔ４まで第１のデータ転送、すなわちＨＤＤ装置１０のＨＤ１５からデュアルポートメモリ１６へのデータ転送が行われ、時刻ｔ４からｔ５まで第２のデータ転送、すなわちＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４へのデータ転送が行われたものとする。転送されるデータ量は図７（ａ）の場合と同じとする。また、転送の途中でデータ処理はされないため、第１のデータ転送量と第２のデータ転送量は等しくなる。
【００２２】
　このとき、図７（ｂ）中の時刻ｔ３からｔ４までの第１のデータ転送では、Ｉ／Ｏバス４０は使用されず、ＨＤＤ装置１０のＣＰＵバス１７のみが使用されることになる。従って、時刻ｔ３からｔ４まではＨＤＤ装置１０のＣＰＵバス１７の転送能力αでデータ転送が行われる。一方、図７（ｂ）中の時刻ｔ４からｔ５までの第２のデータ転送においてはＩ／Ｏバス４０が使用され、Ｉ／Ｏバス４０の転送能力βでデータ転送が行われる。そのため、時刻ｔ４からｔ５までの時間は図７（ａ）と同様（Ｔ／２）となり、この時間のみＩ／Ｏバスが使用されている。
【００２３】
　そして、時間Ｔの間にＨＤＤ装置１０からネットワークボード２０へ転送されたデータ量は、図７（ｂ）中の時刻ｔ１からｔ２で転送されたデータ（図７（ｂ）中の斜線部分）である。従って、そのデータ量は、β×（Ｔ／２）である。これをＩ／Ｏバス４０の使用時間（Ｔ／２）で割ると、Ｉ／Ｏバス４０の転送効率はβとなる。すなわち、Ｉ／Ｏバス４０の転送効率は転送能力と等しくなる。
【００２４】
　つまり、本発明のデータ転送システムは、データ転送路に要求される転送効率とほぼ等しい転送能力を持つデータ転送路で構成することができる。ここで、ほぼ等しいというのは、上述したような命令データの転送時間等が実際には存在し、実際にはシステムに要求される転送効率よりも少し大きな転送能力のデータ転送路で構成する必要が生じる場合もあるからである。
【００２５】
　なお、本発明のデータ転送システムでは、従来の構成に加えて、新たに一時記憶手段をデータ記憶装置又はデータ出力装置に設けることを考えると、ハード的に構成要素は増えることになるが、データ転送路に必要なコストが大きく減少するために、全体としてコストを抑えることができ大変大きな効果を奏する。また、コンピュータのバスブリッジはデータ転送において使用されないため、従来のように、バスブリッジの転送能力に依存しないデータ転送が実現可能となる。
【００２６】
　さらに、例えば、一時記憶手段を転送元装置が備えている場合、転送元装置内でのデータ転送である第１のデータ転送では、転送元装置のＣＰＵバスのみが使用されることになる。一方、一時記憶手段を転送先装置が備えている場合、転送先装置内でのデータ転送である第２のデータ転送では、転送先装置のＣＰＵバスのみが使用されることになる。つまり、一般的にデータ転送路よりも転送能力の高いＣＰＵバスのみを利用したデータ転送が、第１又は第２のデータ転送のどちらかで行われることになるため、データ転送全体の時間を短縮できる点でも効果を奏する。
【００２７】
　さらにまた、コンピュータのＣＰＵバスが使用されるのは、上述した第１及び第２のデータ転送の命令データを転送するときにのみである。一方、従来のシステムでは、コンピュータのメモリ装置を介したデータ転送が行われるために、第１のデータ転送においても第２のデータ転送においても、コンピュータのＣＰＵバスが使用されることになっていた。これによって、コンピュータがデータ転送の途中で別の処理を行うことができる点でも有利である。
【００２８】
　なお、請求項１に示したデータ転送システムはデータ処理装置の指示に応じて、一時記憶手段を介したデータ転送を行うものであった。つまり、例えばデータ処理の必要性に基づいてデータ処理装置が指示を出すような構成も考えられる。そこで、請求項２に示すデータ処理システムは、請求項１に示したデータ転送システムに加えて、データ処理装置は、データ処理のためのデータ記憶手段を備えており、転送元装置から転送先装置へのデータ転送の途中でデータ処理装置によるデータ処理が必要な場合、転送元装置の送出側転送手段に対してその転送元装置の所定領域に記憶されたデータをデータ記憶手段へ転送するよう指示すると共に、転送先装置の受取側転送手段に対してデータ記憶手段に転送されたデータをその転送先装置の所定領域へ転送するよう指示し、一方、転送元装置から転送先装置へのデータ転送の途中でデータ処理装置によるデータ処理が不必要な場合、転送元装置の送出側転送手段に対してその転送元装置の所定領域に記憶されたデータを一時記憶手段へ転送するよう指示すると共に、転送先装置の受取側転送手段に対して一時記憶手段に転送されたデータをその転送先装置の所定の領域に転送するよう指示することを特徴としている。
【００２９】
　この場合、データ処理が必要な場合は第１及び第２のデータ転送をデータ処理装置のデータ記憶手段を介して行い、一方、データ処理が不必要な場合は第１及び第２のデータ転送を転送元装置又は転送先装置の備える一時記憶手段を介して行うのである。これによって、転送元装置から転送先装置へのデータ転送の途中でデータ処理を必要とするようなデータ転送も可能となり、一方、転送元装置から転送先装置へのデータ転送の途中でデータ処理を必要としないデータ転送では、上述のようにデータ転送路の転送効率がその転送能力に等しくなるようなデータ転送を行うことが可能となる。
【００３０】
　また、一時記憶手段としては、ＲＡＭ等の記憶媒体を用いて構成することが考えられるが、請求項３に示すように、読み出し及び書き込みが同時にできるデュアルポートメモリを用いるとよい。この場合、読み出したデータを一時記憶手段に書き込むのと並行して、一時記憶手段からデータを読み出すことができる。つまり、第１のデータ転送及び第２のデータ転送を並行して行うことができる。
【００３１】
　例えば、従来のデータ転送システムを考えると、第１のデータ転送においても、第２のデータ転送においてもデータ転送路が使用されていたために第１及び第２のデータ転送を並行して行うことは不可能であった。それに対して、本発明のデータ転送システムでは、第１又は第２のデータ転送のどちらかでしかデータ転送路を使用しないために、上述のようなデュアルポートメモリを一時記憶手段として利用することで第１及び第２のデータ転送を並行して行うことが可能となる。その結果、システム全体の転送効率を大幅に向上させることができる。
【発明を実施するための最良の形態】
【００３２】
　以下、本発明を具体化した一実施形態を図面を参照して説明する。図１は、本発明を具体化したデータ転送システム１の概略構成を示すブロック図である。
【００３３】
　本実施形態のデータ転送システム１は、「転送元装置」としてのハードディスクドライブ装置（以下「ＨＤＤ装置」と記述する。）１０と、「転送先装置」としてのネットワークボード２０と、「データ処理装置」としてのコンピュータ３０と、「データ転送路」としてのＩ／Ｏバス４０とから構成されている。
【００３４】
　ＨＤＤ装置１０は、制御手段としての中央制御装置１１と、中央制御装置１１によるデータ転送の設定に基づいてデータの転送を行うＤＭＡコントローラ１２と、「転送元装置の所定領域」としてのハードディスク（以下「ＨＤ」と記述する。）１５と、ＨＤ１５を制御するディスクコントローラ１４と、Ｉ／Ｏバス４０とのインターフェースであるバスインターフェース１３と、↑「一時記憶手段」としてのデュアルポートメモリ１６とを備えている。なお、中央制御装置１１は周知のＣＰＵ１１ａ、ＲＯＭ１１ｂ及びＲＡＭ１１ｃを備えている。また、中央制御装置１１及びＤＭＡコントローラ１２が「送出側転送手段」に相当する。さらにまた、ＨＤ１５にはデータ転送の対象となるデータ５０が記憶されている。
【００３５】
　ネットワークボード２０は、制御手段としての中央制御装置２１と、中央制御装置２１によるデータ転送の設定に基づいてデータの転送を行うＤＭＡコントローラ２２と、「転送先装置の所定領域」としての出力インターフェース２４と、Ｉ／Ｏバス４０とのインターフェースであるバスインターフェース２３とを備えている。なお、中央制御装置２１は、上述の中央制御装置１１と同様、周知のＣＰＵ２１ａ、ＲＯＭ２１ｂ及びＲＡＭ２１ｃを備えている。また、中央制御装置２１及びＤＭＡコントローラ２２が「受取側転送手段」に相当する。
【００３６】
　コンピュータ３０は、制御手段としてのＣＰＵ３１と、データ処理のための「データ記憶手段」としてのメモリ装置３２と、コンピュータ３０内のデータ転送路であるＣＰＵバス３４と、Ｉ／Ｏバス４０とＣＰＵバス３４とを接続するバスブリッジ３３とを備えている。
【００３７】
　次に、データ転送システム１における転送処理を図２、図３及び図４のフローチャートに基づいて説明する。データ転送システム１は、コンピュータ３０のデータ転送指示に基づいてＨＤＤ装置１０のＨＤ１５に記憶されているデータ５０を転送するシステムである。
【００３８】
　（１）最初に図２のフローチャートに基づいて、図１中のコンピュータ３０のＣＰＵ３１による制御処理を説明する。まず、最初のステップＳ１００において、図１中のＨＤＤ装置１０からネットワークボード２０へデータ転送をするか否かを判断する。この判断は、例えばコンピュータ３０に電話回線等により接続された図示しない端末からのリクエスト等（以下「端末リクエスト等」という。）による転送要求等に基づき判断される。ここで、ＨＤＤ装置１０からネットワークボード２０へデータ転送しない場合（Ｓ１００：ＮＯ）には、後述のＳ１８０へ移行する。一方、ＨＤＤ装置１０からネットワークボード２０へデータ転送する場合（Ｓ１００：ＹＥＳ）にはＳ１１０へ移行する。
【００３９】
　Ｓ１１０では、ネットワークボード２０へのデータ転送においてデータ処理が必要か否かを判断する。この判断は、端末リクエスト等の内容に基づき行われる。データ処理というのは、例えば、転送するデータ５０に演算処理等をすることが考えられる。ここで、データ処理が必要であると判断された場合（Ｓ１１０：ＹＥＳ）、後述のＳ１５０へ移行する。一方、データ処理が必要でないと判断された場合（Ｓ１１０：ＮＯ）、Ｓ１２０へ移行する。
【００４０】
　Ｓ１２０では、図１中のＨＤＤ装置１０の中央制御装置１１に対して、ＨＤＤ装置１０のＨＤ１５に記憶されているデータ５０を読み出してＨＤＤ装置１０のデュアルポートメモリ１６へ転送するよう指示する。これに対応して、ＨＤＤ装置１０では、中央制御装置１１の指示に基づきＤＭＡコントローラ１２がＨＤ１５内のデータ５０をデュアルポートメモリ１６へ転送する。
【００４１】
　続くＳ１２５では、ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があったか否かを判断する。Ｓ１２０の転送指示に対するＨＤＤ装置１０のＤＭＡコントローラ１２によるデータ転送が終了すると、ＨＤＤ装置１０の中央制御装置１１がコンピュータ３０のＣＰＵ３１に対して転送の終了報告をする。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告がないうちは（Ｓ１２５：ＮＯ）Ｓ１２５の判断を繰り返す。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があると（Ｓ１２５：ＹＥＳ）Ｓ１３０へ移行する。
【００４２】
　Ｓ１３０では、図１中のネットワークボード２０の中央制御装置２１に対して、ＨＤＤ装置１０のデュアルポートメモリ１６へ転送されたデータ５０を読み出してネットワークボード２０の出力インターフェース２４へ転送するよう指示する。これに対応して、ネットワークボード２０では中央制御装置２１の指示に基づきＤＭＡコントローラ２２がデータ５０をＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４へ転送する。
【００４３】
　続くＳ１３５では、ネットワークボード２０の中央制御装置２１（図１参照）からの転送の終了報告があったか否かを判断する。Ｓ１３０の転送指示に対するネットワークボード２０のＤＭＡコントローラ２２によるデータ転送が終了すると、ネットワークボード２０の中央制御装置２１がコンピュータ３０のＣＰＵ３１に対して転送の終了報告をする。ネットワークボード２０の中央制御装置２１からの転送の終了報告がないうちは（Ｓ１３５：ＮＯ）、Ｓ１３５の判断を繰り返す。ネットワークボード２０の中央制御装置２１からの転送の終了報告があると（Ｓ１３５：ＹＥＳ）、Ｓ１４０へ移行する。
【００４４】
　Ｓ１４０では、ＨＤＤ装置１０のＨＤ１５内のデータ５０の全部が転送されたか否かを判断する。これは、ＨＤＤ装置１０のデュアルポートメモリ１６にデータ５０が一度に記憶できない場合の判断である。この場合、データ５０の一部がＳ１２０からＳ１３５までの処理で転送されることになる。この判断はＨＤＤ装置１０の中央制御装置１１からの報告に基づき行われる。ここでデータ５０に転送されていない部分がある場合（Ｓ１４０：ＮＯ）、Ｓ１２０からＳ１４０までの処理を繰り返す。一方、データ５０の全部が転送された場合（Ｓ１４０：ＹＥＳ）、コンピュータ３０のＣＰＵ３１による本制御処理を終了する。
【００４５】
　上述のＳ１１０で肯定判断された場合、すなわちデータ処理が必要な場合に移行することになるＳ１５０においては、図１中のＨＤＤ装置１０の中央制御装置１１に対して、ＨＤ１５に記憶されているデータ５０を読み出してコンピュータ３０のメモリ装置３２へ転送するよう指示する。これに対応して、ＨＤＤ装置１０では、中央制御装置１１の指示に基づきＤＭＡコントローラ１２がデータ５０をコンピュータ３０のメモリ装置３２へ転送する。
【００４６】
　続くＳ１５５では、ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があったか否かを判断する。Ｓ１５０の転送指示に対するＨＤＤ装置１０のＤＭＡコントローラ１２によるデータ転送が終了すると、ＨＤＤ装置１０の中央制御装置１１がコンピュータ３０のＣＰＵ３１に対して転送の終了を報告をする。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告がないうちは（Ｓ１５５：ＮＯ）Ｓ１５５の判断を繰り返す。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があると（Ｓ１５５：ＹＥＳ）Ｓ１６０へ移行する。
【００４７】
　Ｓ１６０では、図１中のネットワークボード２０の中央制御装置２１に対して、コンピュータ３０のメモリ装置３２へ転送されたデータ５０を読み出してネットワークボード２０の出力インターフェース２４へ転送するよう指示する。これに対応して、ネットワークボード２０では、中央制御装置２１の指示に基づきＤＭＡコントローラ２２がデータ５０をコンピュータ３０のメモリ装置３２から出力インターフェース２４へ転送する。
【００４８】
　続くＳ１６５では、ネットワークボード２０の中央制御装置２１からの転送の終了報告があったか否かを判断する。Ｓ１６０の指示に対して、ネットワークボード２０のＤＭＡコントローラ２２によるデータ転送が終了すると、ネットワークボード２０の中央制御装置２１がコンピュータ３０のＣＰＵ３１に対して転送の終了報告をする。ネットワークボード２０の中央制御装置２１からの転送の終了報告がないうちは（Ｓ１６５：ＮＯ）Ｓ１６５の判断を繰り返す。ネットワークボード２０の中央制御装置２１からの転送の終了報告があると（Ｓ１６５：ＹＥＳ）Ｓ１７０へ移行する。
【００４９】
　Ｓ１７０では、データ５０の全部が転送されたか否かを判断する。これは、コンピュータ３０のメモリ装置３２にデータ５０が一度に記憶できない場合の判断である。この場合、データ５０の一部がＳ１５０から１６５までの処理で転送されることになる。この判断は、ＨＤＤ装置１０の中央制御装置１１からの報告により行われる。ここでデータ５０に転送されていない部分がある場合（Ｓ１７０：ＮＯ）、Ｓ１５０から１７０までの処理を繰り返す。一方、データ５０の全部が転送された場合（Ｓ１７０：ＹＥＳ）、コンピュータ３０のＣＰＵ３１による本制御処理を終了する。
【００５０】
　さらにまた、上述のＳ１００で否定判断された場合、すなわち図１中のネットワークボード２０へのデータ転送の要求がない場合に移行することになるＳ１８０においては、コンピュータ３０へのデータ転送の要求があるか否かを判断する。例えば、ネットワークボード２０への出力とは関係なくコンピュータ３０でデータ５０のデータ処理を行う場合等が考えられる。又は、コンピュータ３０のメモリ装置３２へ転送したデータをネットワークボード２０以外の図示しない他の装置へ転送することも考えられる。ここでコンピュータ３０へのデータ転送の要求がある場合（Ｓ１８０：ＹＥＳ）、Ｓ１９０へ移行する。一方、コンピュータ３０へのデータ転送の要求がない場合（Ｓ１８０：ＮＯ）、Ｓ１９０の処理を実行せずコンピュータ３０のＣＰＵ３１による本制御処理を終了する。
【００５１】
　Ｓ１９０では、図１中のＨＤＤ装置１０の中央制御装置１１に対して、ＨＤ１５に記憶されているデータ５０を読み出してコンピュータ３０のメモリ装置３２へ転送するよう指示をする。これに対応して、ＨＤＤ装置１０では、中央制御装置１１の指示に基づきＤＭＡコントローラ１２がデータ５０をＨＤ１５からコンピュータ３０のメモリ装置３２へ転送する。
【００５２】
　続くＳ１９５では、ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があったか否かを判断する。Ｓ１９０の転送指示に対するＨＤＤ装置１０のＤＭＡコントローラ１２によるデータ転送が終了すると、ＨＤＤ装置１０の中央制御装置１１がコンピュータ３０のＣＰＵ３１に対して転送の終了報告をする。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告がないうちは（Ｓ１９５：ＮＯ）Ｓ１９５の判断を繰り返す。ＨＤＤ装置１０の中央制御装置１１からの転送の終了報告があると（Ｓ１９５：ＹＥＳ）、コンピュータ３０のＣＰＵ３１による本制御処理を終了する。
【００５３】
　（２）次に、（１）のコンピュータ３０のＣＰＵ３１の制御処理に対応するハードディスク装置１０の中央制御装置１１による転送処理を図３のフローチャートに基づいて説明する。まず、最初のステップＳ２００において、コンピュータ３０からの転送指示があるか否かを判断する。ここでコンピュータ３０からの転送指示があった場合（Ｓ２００：ＹＥＳ）、Ｓ２１０へ移行する。一方、コンピュータ３０からの転送指示がなかった場合（Ｓ２００：ＮＯ）、ＨＤＤ装置１０の中央制御装置１１による本転送処理を終了する。ここで肯定判断されるのは、図２のフローチャートに基づき（１）で説明したコンピュータ３０のＣＰＵ３１による制御処理の中のＳ１２０、Ｓ１５０及びＳ１９０の処理が実行された場合である。
【００５４】
　Ｓ２１０では、コンピュータ３０からの転送指示が、ＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６への転送指示であるか否かを判断する。ここでＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６への転送指示である場合（Ｓ２１０：ＹＥＳ）にはＳ２２０へ移行する。一方、ＨＤＤ装置１０のＨＤ１５からコンピュータ３０のメモリ装置３２への転送指示である場合（Ｓ２１０：ＮＯ）にはＳ２３０へ移行する。ここで肯定判断されるのは、（１）で説明したＳ１２０の処理が実行された場合であり、否定判断されるのは、（１）で説明したＳ１５０及びＳ１９０の処理が実行された場合である。
【００５５】
　Ｓ２２０では、ＨＤＤ装置１０のＤＭＡコントローラ１２に対してＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６へのデータ転送を設定する。これによって、ＨＤＤ装置１０のＤＭＡコントローラ１２は、ＨＤ１５に記憶されているデータ５０をデュアルポートメモリ１６へ転送する。
【００５６】
　Ｓ２３０では、ＨＤＤ装置１０のＤＭＡコントローラ１２に対してＨＤＤ装置１０のＨＤ１５からコンピュータ３０のメモリ装置３２へのデータ転送を設定する。これによって、ＨＤＤ装置１０のＤＭＡコントローラ１２はＨＤ１５に記憶されているデータ５０をコンピュータ３０のメモリ装置３２へ転送する。
【００５７】
　Ｓ２４０では、ＨＤＤ装置１０のＤＭＡコントローラ１２による転送が終了したか否かを判断する。ＨＤＤ装置１０のＤＭＡコントローラ１２による転送が終了していない場合（Ｓ２４０：ＮＯ）、Ｓ２４０の判断処理を繰り返す。一方、ＨＤＤ装置１０のＤＭＡコントローラ１２による転送が終了した場合（Ｓ２４０：ＹＥＳ）、Ｓ２５０へ移行する。
【００５８】
　Ｓ２５０では、ＨＤＤ装置１０のＤＭＡコントローラ１２によるデータ転送の終了をコンピュータ３０のＣＰＵ３１へ報告する。この報告処理に対応してコンピュータ３０のＣＰＵ３１は、（１）で説明したＳ１２５、Ｓ１５５及びＳ１９５（図２参照）で肯定判断をすることになる。
【００５９】
　続くＳ２６０では、ＨＤＤ装置１０のＨＤ１５内のデータ５０が全て転送されたか否かをＨＤＤ装置１０のＤＭＡコントローラ１２に問い合わせて判断する。ＨＤＤ装置１０のＨＤ１５内のデータ５０がＨＤＤ装置１０のデュアルポートメモリ１６に一度に記憶できない場合、データ５０は分割して転送されることは上述した。ここで、データ５０が全て転送されたと判断した場合（Ｓ２６０：ＹＥＳ）、Ｓ２７０へ移行する。一方、データ５０に転送されていない部分がある場合（Ｓ２６０：ＮＯ）、Ｓ２７０の処理を実行せずにＨＤＤ装置１０の中央制御装置１１による本転送処理を終了する。
【００６０】
　Ｓ２７０では、コンピュータ３０のＣＰＵ３１へデータ５０の全てが転送されたことを報告する。そして、ＨＤＤ装置１０の中央制御装置１１による本転送処理を終了する。この報告処理に対応してコンピュータ３０のＣＰＵ３１は、（１）で説明したＳ１４０及びＳ１７０の処理において肯定判断をすることになる。
【００６１】
　なお、ここで説明したＨＤＤ装置１０の中央制御装置１１及びＤＭＡコントローラ１２によるＳ２００、Ｓ２１０、Ｓ２２０及びＳ２３０の処理が送信側転送手段としての処理に相当する。
（３）次に、（１）のコンピュータ３０のＣＰＵ３１の制御処理に対応するネット
ワークボード２０の中央制御装置２１による転送処理を図４のフローチャートに基
づいて説明する。
【００６２】
　まず、最初のステップＳ３００において、コンピュータ３０からの転送指示があるか否かを判断する。ここでコンピュータ３０からの転送指示があった場合（Ｓ３００：ＹＥＳ）、Ｓ３１０へ移行する。一方、コンピュータ３０からの転送指示がなかった場合（Ｓ３００：ＮＯ）、ネットワークボード２０の中央制御装置２１による本転送処理を終了する。ここで肯定判断されるのは、図２のフローチャートに基づき（１）で説明したコンピュータ３０のＣＰＵ３１による制御処理の中のＳ１３０及びＳ１６０の処理が実行された場合である。
【００６３】
　Ｓ３１０では、コンピュータ３０からの転送指示が、ＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４への転送指示であるか否かを判断する。ここでＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４への転送指示である場合（Ｓ３１０：ＹＥＳ）にはＳ３２０へ移行する。一方、コンピュータ３０のメモリ装置３２からネットワークボード２０の出力インターフェース２４への転送指示である場合（Ｓ３１０：ＮＯ）にはＳ３３０へ移行する。ここで肯定判断されるのは、（１）で説明したＳ１３０の処理が実行された場合で、否定判断されるのは、（１）で説明したＳ１６０の処理が実行された場合である。
【００６４】
　Ｓ３２０では、ネットワークボード２０のＤＭＡコントローラ２２に対してＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４へのデータ転送を設定する。Ｓ３３０では、ネットワークボード２０のＤＭＡコントローラ２２に対してコンピュータ３０のメモリ装置３２からネットワークボード２０の出力インターフェース２４へのデータ転送を設定する。
【００６５】
　Ｓ３３２にてデータ転送の用意できたか否かを判断する。用意ができている場合（Ｓ３３２：ＹＥＳ）、Ｓ３３４にてＳ３２０又はＳ３３０の設定に基づくデータ転送処理を開始する。一方、用意ができていない場合（Ｓ３３２：ＮＯ）、Ｓ３３２の判断処理を繰り返す。
【００６６】
　Ｓ３４０では、ネットワークボード２０のＤＭＡコントローラ２２による転送が終了したか否かを判断する。ネットワークボード２０のＤＭＡコントローラ２２による転送が終了していない場合（Ｓ３４０：ＮＯ）、Ｓ３４０の判断処理を繰り返す。一方、ネットワークボード２０のＤＭＡコントローラ２２による転送が終了した場合（Ｓ３４０：ＹＥＳ）、Ｓ３５０へ移行する。
【００６７】
　Ｓ３５０では、ネットワークボード２０のＤＭＡコントローラ２２によるデータ転送の終了をコンピュータ３０のＣＰＵ３１へ報告する。この報告処理に対応してコンピュータ３０のＣＰＵ３１は、（１）で説明したＳ１３５及びＳ１６５で肯定判断をすることになる。そして、ネットワークボード２０の中央制御装置２１による転送処理を終了する。
【００６８】
　なお、ここで説明したネットワークボード２０の中央制御装置２１及びＤＭＡコントローラ２２によるＳ３００、Ｓ３１０、Ｓ３２０及びＳ３３０の処理が受取側転送手段としての処理に相当する。以上、（１）〜（３）で説明したように、本実施形態のデータ転送システム１では、ネットワークボード２０へ転送する場合であり（Ｓ１００：ＹＥＳ）、かつ転送の途中でデータ処理が必要ない場合（Ｓ１１０：ＮＯ）には、ＨＤＤ装置１０のデュアルポートメモリ１６を介してデータの転送が行われる。これによって、第２のデータ転送であるネットワークボード２０のＤＭＡコントローラ２２によるＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４への転送でのみＩ／Ｏバス４０が使用され、第１のデータ転送であるＨＤＤ装置１０のＤＭＡコントローラ１２によるＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６への転送では、Ｉ／Ｏバス４０は使用されない。
【００６９】
　従って、このときはＩ／Ｏバス４０の転送効率はその転送能力と等しくなる。これを、図７（ｂ）の説明図に基づき検証する。図７（ｂ）は、本実施形態のデータ転送システム１において、時刻ｔ３からｔ５までに転送されたデータを示したものである。縦軸を転送能力、横軸を時間とし、Ｉ／Ｏバス４０の転送能力をβ、ＨＤＤ装置１０のＣＰＵバス１７の転送能力をαとする。また、図７（ｂ）中の時刻ｔ３からｔ４まで第１のデータ転送、すなわちＨＤＤ装置１０のＤＭＡコントローラ１２によるＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６へのデータ転送が行われ、時刻ｔ４からｔ５まで第２のデータ転送、すなわちネットワークボード２０のＤＭＡコントローラ２２によるＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４へのデータ転送が行われたものとする。データ転送の途中でデータ処理が必要ない場合、第１及び第２のデータ転送におけるデータ量が等しい。
【００７０】
　このとき、図７（ｂ）中の時刻ｔ３からｔ４までの第１のデータ転送では、Ｉ／Ｏバス４０は使用されず、ＨＤＤ装置１０のＣＰＵバス１７のみが使用されることになる。従って、時刻ｔ３からｔ４まではＨＤＤ装置１０のＣＰＵバス１７の転送能力αでデータ転送が行われる。一方、図７（ｂ）中の時刻ｔ４からｔ５までの第２のデータ転送においてはＩ／Ｏバス４０が使用され、Ｉ／Ｏバス４０の転送能力βでデータ転送が行われる。そのため、時刻ｔ４からｔ５までの時間は図７（ａ）と同様（Ｔ／２）となり、この時間のみＩ／Ｏバスが使用されている。
【００７１】
　そして、時間Ｔの間にＨＤＤ装置１０からネットワークボード２０へ転送されたデータ量は、図７（ｂ）中の時刻ｔ１からｔ２で転送されたデータ（図７（ｂ）中の斜線部分）である。従って、そのデータ量は、β×（Ｔ／２）である。これをＩ／Ｏバス４０の使用時間（Ｔ／２）で割ると、Ｉ／Ｏバス４０の転送効率はβとなる。すなわち、Ｉ／Ｏバス４０の転送効率は転送能力と等しくなる。
【００７２】
　ところで、図１中のネットワークボード２０の出力インターフェース２４へのデータ転送では、例えばＨＤ１５に記憶されている映像データを再生するという目的が一般的であるため、データ処理は不必要であるが高速なデータ転送を要求されることが多い。従って、このような目的のためのデータ転送を可能とするシステムとして本実施形態のデータ転送システム１を用いれば、Ｉ／Ｏバス４０に要求される転送効率とほぼ等しい転送能力のＩ／Ｏバス４０を用いてシステムを構成することができる。従来のデータ転送システム３では、上述のように、Ｉ／Ｏバス４０に要求される転送効率の２倍以上の転送能力を持つＩ／Ｏバス４０を用いて構成する必要があり、Ｉ／Ｏバス４０のコストが全体のコストを大きくしてしまっていた。それに対して、本実施形態のデータ転送システム１では、ＨＤＤ装置１０のデュアルポートメモリ１６は新たに設けなければならないものの、Ｉ／Ｏバス４０のコストを大きく減少させることができ、システム全体のコストを大幅に減少させることができる。
【００７３】
　また、本実施形態のデータ転送システム１によれば、第１のデータ転送においても、第２のデータ転送においても、コンピュータ３０のバスブリッジ３３は使用されない。これによって、コンピュータ３０のバスブリッジ３３の転送能力に依存しないデータ転送が可能となる。
【００７４】
　さらに、図７（ｂ）に示したように、第１のデータ転送ではＨＤＤ装置１０のＣＰＵバス１７のみが使用されるため、ＣＰＵバス１７の転送能力αでデータ転送が行われる。結果として第１のデータ転送にかかる時間が短縮されることになり、図７（ａ）に比べてデータ転送全体にかかる時間Ｔが短縮される点でも効果を奏する。
【００７５】
　また、本実施形態のデータ転送システム１では、第１及び第２のデータ転送に介在するメモリ装置としてデュアルポートメモリ１６を使用している。デュアルポートメモリ１６は、データの書き込みに並行して読み出しを行うことが可能である。そのため、上述の説明では第１及び第２のデータ転送を別々に説明していたが、実際には第１及び第２のデータ転送を並行して行うことが可能である。その結果、データ転送全体にかかる時間はさらに短縮されることになる。
【００７６】
　さらにまた、従来のシステムでは、コンピュータ３０のメモリ装置３２を介したデータ転送が行われるために、第１のデータ転送においても第２のデータ転送においても、コンピュータ３０のＣＰＵバス３２が使用されることになっていた。それに対して、本実施形態のデータ転送システム１では、コンピュータ３０のＣＰＵバス３４が使用されるのは、第１及び第２のデータ転送の命令データを転送するときにのみである。これによって、コンピュータ３０がデータ転送の途中で別の処理を行うことができる点でも有利である。
【００７７】
　このことを、図８及び図９のタイムチャートを比較することにより検証する。図８は本実施形態のデータ転送システム１のデータ転送に関するタイムチャートである。一方、図９は、図６に示す従来のデータ転送システム３のデータ転送に関するタイムチャートである。図８（ａ）及び図９（ａ）は、コンピュータ３０のＣＰＵバス３４を転送されるデータを示し、図８（ｂ）及び図９（ｂ）は、Ｉ／Ｏバス４０を転送されるデータを示し、図８（ｃ）及び図９（ｃ）は、ＨＤＤ装置１０のＣＰＵバス１７を転送されるデータを示している。ここで、縦軸を転送能力、横軸を時間とし、コンピュータ３０のＣＰＵバス３４及びＨＤＤ装置１０のＣＰＵバス１７の転送能力をα、Ｉ／Ｏバス４０の転送能力をβとして説明する。なお、図８及び図９では、第１及び第２のデータ転送を２回行うことにより、目標とするデータ転送を行っている。
【００７８】
　最初に図８のタイムチャートに基づいて、本実施形態のデータ転送システム１について説明する。まず、時刻ｔ６からｔ７まで、第１のデータ転送のための命令データＡをコンピュータ３０のＣＰＵ３１がＨＤＤ装置１０の中央制御装置１１へ転送する（図２中のＳ１２０）。このとき、コンピュータ３０のＣＰＵバス３４（図８（ａ）参照）、Ｉ／Ｏバス４０（図８（ｂ）参照）及びＨＤＤ装置のＣＰＵバス１７（図８（ｃ）参照）を介して命令データＡが転送される。上述したように、転送能力の最も低いＩ／Ｏバスの転送能力βで命令データは転送される。
【００７９】
　この命令データＡに基づいて、時刻ｔ７からｔ８まで、第１のデータ転送、すなわちＨＤＤ装置１０のＨＤ１５からＨＤＤ装置１０のデュアルポートメモリ１６へデータ転送が行われ、映像データＥが転送される（図３中のＳ２２０）。このとき、ＨＤＤ装置のＣＰＵバス１７のみが使用され、転送能力αでデータ転送が行われる（図８（ｃ）参照）。このデータ転送の終了時にＨＤＤ装置１０の中央制御装置１１は転送の終了報告を行う（図３中のＳ２５０）。なお、この終了報告に関するデータについては、煩雑になるため図８中には図示しない。
【００８０】
　時刻ｔ８からｔ９まで、第２のデータ転送をするための命令データＢをコンピュータ３０のＣＰＵ３１がネットワークボード２０の中央制御装置２１へ転送する（図２中のＳ１３０）。このとき、コンピュータ３０のＣＰＵバス３４（図８（ａ）参照）、Ｉ／Ｏバス４０（図８（ｂ）参照）及びネットワークボード２０のＣＰＵバス２７を介して命令データＢが転送される。この場合も、転送能力の最も低いＩ／Ｏバスの転送能力βで命令データは転送される。
【００８１】
　この命令データＢに基づいて、時刻ｔ９から時刻ｔ１０まで、第２のデータ転送、すなわちＨＤＤ装置１０のデュアルポートメモリ１６からネットワークボード２０の出力インターフェース２４へのデータ転送が行われ、映像データＥが転送される（図４中のＳ３３４）。このとき、ＨＤＤ装置１０のＣＰＵバス１７（図８（ｃ）参照）及びＩ／Ｏバス４０（図８（ｂ）参照）及びネットワークボード２０のＣＰＵバス２７を介してデータ転送が行われる。
【００８２】
　時刻ｔ１０からｔ１４までは、上述の時刻ｔ６からｔ１０までと同様である。すなわち、時刻ｔ１０からｔ１１まで命令データＣが転送され、時刻ｔ１１からｔ１２まで第１のデータ転送が行われ、映像データＦが転送される。時刻ｔ１２からｔ１３まで命令データＤが転送され、時刻ｔ１３からｔ１４まで第２のデータ転送が行われ、映像データＦが転送される。
【００８３】
　次に、図９のタイムチャートに基づいて、図６に示した従来のデータ転送システム３について説明する。まず、時刻ｔ１５からｔ１６まで、第１のデータ転送のための命令データＡをコンピュータ３０のＣＰＵ３１がＨＤＤ装置１０の中央制御装置１１へ転送する。このとき、コンピュータ３０のＣＰＵバス３４（図９（ａ）参照）、Ｉ／Ｏバス４０（図９（ｂ）参照）及びＨＤＤ装置のＣＰＵバス１７（図９（ｃ）参照）を介して命令データＡが転送される。上述したように、転送能力の最も低いＩ／Ｏバスの転送能力βで命令データは転送される。
【００８４】
　この命令データＡに基づいて、時刻ｔ１６からｔ１７まで、第１のデータ転送、すなわちＨＤＤ装置１０のＨＤ１５からコンピュータ３０のメモリ装置３２へのデータ転送が行われる。このとき、コンピュータ３０のＣＰＵバス３４（図９（ａ）参照）、Ｉ／Ｏバス４０（図９（ｂ）参照）及びＨＤＤ装置１０のＣＰＵバス１７（図９（ｃ）参照）を介して転送能力αでデータ転送が行われる。このデータ転送の終了時にＨＤＤ装置１０の中央制御装置１１は転送の終了報告を行う。なお、この終了報告に関するデータについては、煩雑になるため図９中には図示しない。
【００８５】
　時刻ｔ１７からｔ１８まで、第２のデータ転送のための命令データＢをコンピュータ３０のＣＰＵ３１がネットワークボード２０の中央制御装置２１へ転送する。このとき、コンピュータ３０のＣＰＵバス３４（図９（ａ）参照）、Ｉ／Ｏバス４０（図９（ｂ）参照）及びネットワークボード２０のＣＰＵバス２７を介して命令データＢが転送される。この場合も、転送能力の最も低いＩ／Ｏバスの転送能力βで命令データは転送される。
【００８６】
　この命令データＢに基づいて、時刻ｔ１８から時刻ｔ１９まで、第２のデータ転送、すなわちコンピュータ３０のメモリ装置３２からネットワークボード２０の出力インターフェース２４へのデータ転送が行われる。このときコンピュータ３０のＣＰＵバス３４（図９（ａ）参照）、Ｉ／Ｏバス４０（図９（ｂ）参照）及びネットワークボード２０のＣＰＵバス２７を介してデータ転送が行われる。
【００８７】
　時刻ｔ１９からｔ２２までは、上述の時刻ｔ１５からｔ１９までと同様である。すなわち、時刻ｔ１０からｔ１１まで命令データＣが転送され、時刻ｔ１１からｔ１２まで、第１のデータ転送が行われ、映像データＦが転送される。時刻ｔ１２からｔ１３まで、命令データＤが転送され、時刻ｔ１３からｔ１４まで第２のデータ転送が行われ、映像データＦが転送される。
【００８８】
　図９に示すように、図６に示したような従来のデータ転送システム３では、コンピュータ３０のＣＰＵバス３４は、データ転送の開始（時刻ｔ１５）から終了（時刻ｔ２２）まで常に使用されていた。それに対して、図８に示すように、本実施形態のデータ転送システム１では、データ転送の開始（時刻ｔ６）から終了（時刻ｔ１４）までに、ｔ７〜ｔ８，ｔ９〜ｔ１０，ｔ１１〜ｔ１２，ｔ１３〜ｔ１４の期間はコンピュータ３０のＣＰＵバス３４は使用されない。ここで、上述したように命令データＡ〜Ｄの転送時間が映像データの転送時間に比べてかなり短くなることを考慮すると、コンピュータ３０のＣＰＵバス３４はデータ転送中にほとんど使用されないことになる。従って、データ転送中にコンピュータ３０はＣＰＵバス３４を利用した別の処理を行うことが可能となる。
【００８９】
　また、本実施形態のデータ転送システム１では、ＨＤＤ装置１０のＨＤ１５からネットワークボード２０へのデータ転送であり（図２中のＳ１００：ＹＥＳ）、転送の途中でデータ処理が必要な場合（Ｓ１１０：ＹＥＳ）には、コンピュータ３０のメモリ装置３２を介してデータ転送を行う。これによって、ＨＤＤ装置１０からネットワークボード２０へのデータ転送の途中でデータ処理を必要とするようなデータ転送も可能となる。
【００９０】
　さらにまた、本実施形態のデータ転送システム１では、ＨＤＤ装置１０のＨＤ１５からネットワークボード２０へのデータ転送でない場合（図２中のＳ１００：ＮＯ）、コンピュータ３０へのデータ転送要求があるか否かを判断して（図２中のＳ１８０）、コンピュータ３０へのデータ転送要求がある場合（Ｓ１８０：ＹＥＳ）には、コンピュータ３０のメモリ装置３２へデータを転送することでネットワークボード２０へのデータ転送処理とは別のデータ転送やデータ処理を行うこともできる。
【００９１】
　以上、本発明はこのような実施形態に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。例えば、上記実施形態では、一時記憶手段であるデュアルポートメモリ１６はＨＤＤ装置１０に設けられていたが、一時記憶手段はネットワークボード２０が備えていてもよい。つまり、図５に示すデータ転送システム２のように、図１中のデュアルポートメモリ１６の代わりにデュアルポートメモリ２６をネットワークボード２０が備える構成としてもよい。この場合、第１のデータ転送であるＨＤＤ装置１０のＤＭＡコントローラ１２のデータ転送（図５参照）でのみＩ／Ｏバス４０が使用され、第２のデータ転送であるネットワークボード２０のＤＭＡコントローラ２２のデータ転送（図５参照）ではＩ／Ｏバス４０は使用されないことになる。従って、発揮される効果は上記実施形態のデータ転送システム１と同様となる。
【図面の簡単な説明】
【００９２】
【図１】実施形態のデータ転送システムの概略構成を示すブロック図である。
【図２】コンピュータのＣＰＵによる制御処理を示すフローチャートである。
【図３】ＨＤＤ装置の転送処理を示すフローチャートである。
【図４】ネットワークボードの転送処理を示すフローチャートである。
【図５】別の実施形態のデータ転送システムの概略構成を示すブロック図である。
【図６】従来のデータ転送システムの概略構成を示すブロック図である。
【図７】転送効率と転送能力の関係を示す説明図である。
【図８】実施形態のデータ転送システムのデータ転送におけるバスの使用状況を説明するタイムチャートである。
【図９】従来のデータ転送システムのデータ転送におけるバスの使用状況を説明するタイムチャートである。
【符号の説明】
【００９３】
１，２…データ転送システム
３…従来のデータ転送システム
１０…ハードディスクドライブ装置
２０…ネットワークボード
１１，２１…中央制御装置
１１ａ，２１ａ…ＣＰＵ
１１ｂ，２１ｂ…ＲＯＭ
１１ｃ，２１ｃ…ＲＡＭ
１２，２２…ＤＭＡコントローラ
１３，２３…バスインターフェース
１４…ディスクコントローラ
１５…ハードディスク
１６，２６…デュアルポートメモリ
１７，２７…ＣＰＵバス
３０…コンピュータ
３１…ＣＰＵ
３２…メモリ装置
３３…バスブリッジ
３４…ＣＰＵバス
４０…Ｉ／Ｏバス
５０…データ
【図１】
2004118857.tif 000003
【図２】
2004118857.tif 000004
【図３】
2004118857.tif 000005
【図４】
2004118857.tif 000006
【図５】
2004118857.tif 000007
【図６】
2004118857.tif 000008
【図７】
2004118857.tif 000009
【図８】
2004118857.tif 000010
【図９】
2004118857.tif 000011