(57)【要約】【課題】一方向バスに接続された計算機ノードに対して、データ経路の実装コストを抑え、この計算機ノードとの間で効率よくデータ転送を行うこと。【解決手段】本発明にかかるコンピュータシステムは、入力バス３０ａのデータ帯域幅を出力バス４０ａのデータ帯域幅よりも大きく設定し（入力バス３０ｂのデータ帯域幅を出力バス４０ｂのデータ帯域幅よりも大きく設定し）て、各装置間にかかるデータ転送を制御する。また、各バスのデータ帯域幅を非対称に設定したことにより発生するデータ転送の非整合を、バッファ部５０ａ〜５０ｄを設けて吸収する。【選択図】        図１
2007066109.tif 000002
【特許請求の範囲】
【請求項１】
データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御装置であって、
前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、当該計算機との間のデータの送受信を制御するデータ送受信制御手段、
を備えたことを特徴とするデータ送受信制御装置。
【請求項２】
前記計算機に入力するデータを一時的に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録手段を更に備え、前記データ送受信制御手段は、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする請求項１に記載のデータ送受信制御装置。
【請求項３】
前記データ送受信制御手段は、前記入力データ記録手段に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする請求項２に記載のデータ送受信制御装置。
【請求項４】
前記入力データ記録手段がデータを蓄積していない状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする請求項３に記載のデータ送受信制御装置。
【請求項５】
前記入力データ記録手段がデータを蓄積している状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする請求項３に記載のデータ送受信制御装置。
【請求項６】
前記計算機から出力されるデータを一時的に記録し、当該計算機から他装置に転送されるデータの転送速度差を補う出力データ記録手段を更に備え、前記データ送受信制御手段は、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする請求項１に記載のデータ送受信制御装置。
【請求項７】
前記データ送受信制御手段は、前記出力データ記録手段に係るデータの蓄積状態に基づいて、他装置に対するデータの転送速度を変更することを特徴とする請求項６に記載のデータ送受信制御装置。
【請求項８】
前記出力データ記録手段がデータを蓄積していない状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする請求項７に記載のデータ送受信制御装置。
【請求項９】
前記出力データ記録手段がデータを蓄積している状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする請求項７に記載のデータ送受信制御装置。
【請求項１０】
前記データ送受信制御手段は、データの転送速度を識別する識別情報を、送信するデータに付加することを特徴とする請求項３〜９のいずれか一つに記載のデータ送受信制御装置。
【請求項１１】
データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、
前記計算機に入力するデータを取得する入力データ取得工程と、
前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、前記入力データ取得工程において取得したデータを、前記計算機に送信する入力データ送信工程と、
を含んだことを特徴とするデータ送受信制御方法。
【請求項１２】
前記計算機に入力するデータを一時的に記録装置に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録工程を更に含み、前記入力データ送信工程は、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする請求項１１に記載のデータ送受信制御方法。
【請求項１３】
前記入力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする請求項１２に記載のデータ送受信制御方法。
【請求項１４】
前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする請求項１３に記載のデータ送受信制御方法。
【請求項１５】
前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする請求項１３に記載のデータ送受信制御方法。
【請求項１６】
データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、
前記計算機から出力されるデータを取得する出力データ取得工程と、
前記計算機から出力されるデータを転送する出力バスのデータ帯域幅を、前記計算機に入力するデータを転送する入力バスのデータ帯域幅以下にして、前記出力データ取得工程において取得したデータを、他装置に送信する出力データ送信工程と、
を含んだことを特徴とするデータ送受信制御方法。
【請求項１７】
前記計算機から出力されるデータを一時的に記録装置に記録し、当該計算機から他装置に送信されるデータの転送速度差を補う出力データ記録工程を更に含み、前記出力データ送信工程は、前記記録装置に記録されたデータを他装置に送信することを特徴とする請求項１６に記載のデータ送受信制御方法。
【請求項１８】
前記出力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機から他装置に送信するデータの転送速度を変更することを特徴とする請求項１７に記載のデータ送受信制御方法。
【請求項１９】
前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする請求項１８に記載のデータ送受信制御方法。
【請求項２０】
前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする請求項１８に記載のデータ送受信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御装置およびデータ送受信制御方法に関し、特に、一方向バスに接続された計算機ノードに対して、データ経路の実装コストを抑え、この計算機ノードとの間で効率よくデータ転送を実行可能なデータ送受信制御装置およびデータ送受信制御方法に関するものである。
【背景技術】
【０００２】
近年、半導体実装技術の向上等により、より大きな計算能力を、より小さい計算機ノードに実装することが可能となっている。例えば、半導体の微細化により、一つのＣＰＵ（Central Processing Unit）ＬＳＩ（Large Scale Integration）あたりの処理能力は年々増加傾向にある。したがって、より大量のデータを、より小さい計算機ノードに出し入れしなければならない。
【０００３】
すなわち、転送データ量の増加に伴って、より小さい計算機ノードから、より大きな帯域をもつデータ信号線（バス等）を引き出さなければならなくなったため、データ経路の実装コストが、相対的に大きくなってしまうという問題があった。
【０００４】
そこで、特許文献１では、双方向にデータの出し入れが可能なバス（以下、双方向バスと表記する）に接続された装置および双方向バスにおいて、この双方向バスのデータ転送量を監視し、装置に入力されるデータ量と装置から出力されるデータ量との転送能力の比を制御することによって、双方向バスのデータ帯域幅を大きくする必要性をなくし、データ経路の実装コストを抑えていた。
【０００５】
また、非特許文献１では、計算機ノードにデータの入力するための入力バスに係るデータ帯域幅よりも、計算機ノードからデータを出力するための出力バスに係るデータ帯域幅を優先させ、入力バスと出力バスとの合計データ帯域幅を従来と同じにすることによって、一部の計算機ノード（ゲーム機等に利用される計算機ノード）に対するデータ経路の実装コストを最小限に抑えていた。
【０００６】
【特許文献１】特開平８−６３４２９号公報
【非特許文献１】PC WATCH IMPRESS、[online]、[平成１７年８月２３日検索]、インターネット＜ＵＲＬ：http//pc.watch.impress.co.jp/docs/2005/0211/kaigai155.htm＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術にかかる双方向バスは、伝送方向を切り替えるために、物理的な伝送条件が厳しく、そのために伝送速度を十分に上げることが困難となってきている。このため、近年の高速伝送を必要とするバスにおいては、一方向バスを用いる必要がある場合が多い。
【０００８】
しかし、ＣＰＵおよびメモリ間のデータ転送に利用される複数の一方向バス、例えば、入力バスおよび出力バスは、それぞれ別々のデータ転送経路であるため、特許文献１において開示されているような手法を用いて、各バスのデータ帯域幅を変更することができず、結果として、ＣＰＵの処理能力向上に伴い、一方向バスのデータ帯域幅を増加する必要があり、経路コストが膨大なものとなっていた。
【０００９】
また、非特許文献１に記載されているように、出力バスのデータ帯域幅を入力バスのデータ帯域幅よりも大きくすることは、一部の計算機ノードに対して有効であるが、一般の計算機ノード（特に、スワップ型のデータキャッシュを有する計算機ノード）は、出力データ量よりも入力データ量のほうが多くなる傾向が強いため、有効ではない。
【００１０】
すなわち、一方向バスに接続された計算機ノードに対して、データ経路の実装コストを抑え、この計算機ノードとの間で効率よくデータ転送を行うことが極めて重要な課題となっている。
【００１１】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、一方向バスに接続された計算機ノードに対して、データ経路の実装コストを抑え、この計算機ノードとの間で効率よくデータ転送可能なデータ送受信制御装置およびデータ送受信制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するため、請求項１に係るデータ送受信制御装置は、データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御装置であって、前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、当該計算機との間のデータの送受信を制御するデータ送受信制御手段、を備えたことを特徴とする。
【００１３】
また、請求項２の発明に係るデータ送受信制御装置は、請求項１の発明において、前記計算機に入力するデータを一時的に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録手段を更に備え、前記データ送受信制御手段は、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする。
【００１４】
また、請求項３の発明に係るデータ送受信制御装置は、請求項２の発明において、前記データ送受信制御手段は、前記入力データ記録手段に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする。
【００１５】
また、請求項４の発明に係るデータ送受信制御装置は、請求項３の発明において、前記入力データ記録手段がデータを蓄積していない状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする。
【００１６】
また、請求項５の発明に係るデータ送受信制御装置は、請求項３の発明において、前記入力データ記録手段がデータを蓄積している状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする。
【００１７】
また、請求項６の発明に係るデータ送受信制御装置は、請求項１の発明において、前記計算機から出力されるデータを一時的に記録し、当該計算機から他装置に転送されるデータの転送速度差を補う出力データ記録手段を更に備え、前記データ送受信制御手段は、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする。
【００１８】
また、請求項７の発明に係るデータ送受信制御装置は、請求項６の発明において、前記データ送受信制御手段は、前記出力データ記録手段に係るデータの蓄積状態に基づいて、他装置に対するデータの転送速度を変更することを特徴とする。
【００１９】
また、請求項８の発明に係るデータ送受信制御装置は、請求項７の発明において、前記出力データ記録手段がデータを蓄積していない状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする。
【００２０】
また、請求項９の発明に係るデータ送受信制御装置は、請求項７の発明において、前記出力データ記録手段がデータを蓄積している状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする。
【００２１】
また、請求項１０の発明に係るデータ送受信制御装置は、請求項３〜９のいずれか一つの発明において、前記データ送受信制御手段は、データの転送速度を識別する識別情報を、送信するデータに付加することを特徴とする。
【００２２】
また、請求項１１に係るデータ送受信制御方法は、データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、前記計算機に入力するデータを取得する入力データ取得工程と、前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、前記入力データ取得工程において取得したデータを、前記計算機に送信する入力データ送信工程と、を含んだことを特徴とする。
【００２３】
また、請求項１２に係るデータ送受信制御方法は、請求項１１の発明において、前記計算機に入力するデータを一時的に記録装置に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録工程を更に含み、前記入力データ送信工程は、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする。
【００２４】
また、請求項１３に係るデータ送受信制御方法は、請求項１２の発明において、前記入力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする。
【００２５】
また、請求項１４に係るデータ送受信制御方法は、請求項１３の発明において、前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする。
【００２６】
また、請求項１５に係るデータ送受信制御方法は、請求項１３の発明において、前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする。
【００２７】
また、請求項１６に係るデータ送受信制御方法は、データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、前記計算機から出力されるデータを取得する出力データ取得工程と、前記計算機から出力されるデータを転送する出力バスのデータ帯域幅を、前記計算機に入力するデータを転送する入力バスのデータ帯域幅以下にして、前記出力データ取得工程において取得したデータを、他装置に送信する出力データ送信工程と、を含んだことを特徴とする。
【００２８】
また、請求項１７に係るデータ送受信制御方法は、請求項１６の発明において、前記計算機から出力されるデータを一時的に記録装置に記録し、当該計算機から他装置に送信されるデータの転送速度差を補う出力データ記録工程を更に含み、前記出力データ送信工程は、前記記録装置に記録されたデータを他装置に送信することを特徴とする。
【００２９】
また、請求項１８に係るデータ送受信制御方法は、請求項１７の発明において、前記出力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機から他装置に送信するデータの転送速度を変更することを特徴とする。
【００３０】
また、請求項１９に係るデータ送受信制御方法は、請求項１８の発明において、前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする。
【００３１】
また、請求項２０に係るデータ送受信制御方法は、請求項１８の発明において、前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする。
【発明の効果】
【００３２】
請求項１の発明によれば、データ送受信制御装置は、データの転送方向が一方向のバスに接続された計算機に入力するデータを転送する入力バスのデータ帯域幅を、計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、計算機との間のデータの送受信を制御するので、低コストで、計算機との間のデータ送受信を効率よく行うことができる。
【００３３】
また、請求項２の発明によれば、データ送受信制御装置は、計算機に入力するデータを一時的に記録し、計算機に入力データの転送速度差を補い、計算機に入力するデータを計算機に送信するので、計算機に対するデータ送信を正常に実行することができる。
【００３４】
また、請求項３の発明によれば、データ送受信制御装置は、一時的に蓄積したデータの蓄積状態に基づいて、計算機に対するデータの転送速度を変更するので、入力バスおよび出力バスのデータ帯域幅を非対称にした結果生じるデータ転送の非整合を適切に対処することができる。
【００３５】
また、請求項４の発明によれば、データ送受信制御装置は、入力データを蓄積していない状態で、計算機に入力するデータを新たに取得した場合に、データ転送速度を変更しないで、計算機にデータを送信するので、計算機に対するデータ送信を効率よく実行することができる。
【００３６】
また、請求項５の発明によれば、データ送受信制御装置は、入力データを蓄積している状態で、計算機に入力するデータを新たに取得した場合に、データの転送速度を上げて、計算機にデータを送信するので、計算機に対するデータ送信を効率よく実行することができる。
【００３７】
また、請求項６の発明によれば、データ送受信制御装置は、計算機から出力されたデータを一時的に記録し、計算機から他装置に転送されるデータの転送速度差を補い、計算機から出力されたデータを他装置に送信するので、計算機から他装置に対するデータ送信を正常に実行することができる。
【００３８】
また、請求項７の発明によれば、データ送受信制御装置は、計算機から出力されたデータの蓄積状態に基づいて、他装置に対するデータの転送速度を変更するので、入力バスおよび出力バスのデータ帯域幅を非対称にした結果生じるデータ転送の非整合を適切に対処することができる。
【００３９】
また、請求項８の発明によれば、データ送受信制御装置は、計算機から出力されたデータが蓄積されていない状態で、計算機から出力されたデータを取得した場合に、データの転送速度を変更しないで、データを他装置に送信するので、計算機から他装置に対するデータ送信を効率よく実行することができる。
【００４０】
また、請求項９の発明によれば、データ送受信制御装置は、計算機から出力されたデータが蓄積されている状態で、計算機から出力されたデータを取得した場合に、データの転送速度を上げて、データを他装置に送信するので、計算機から他装置に対するデータ送信を効率よく実行することができる。
【００４１】
また、請求項１０の発明によれば、データ送受信制御装置は、データの転送速度を識別する識別情報を送信するデータに付加するので、データ送信を正常に実行することができる。
【００４２】
また、請求項１１の発明によれば、データ送受信制御方法は、データの転送方向が一方向のバスに接続された計算機に入力するデータを取得し、計算機に入力するデータを転送する入力バスのデータ帯域を、計算機から出力されたデータを転送する出力バスのデータ帯域よりも大きくして、データを計算機に送信するので、低コストで、計算機との間のデータ送受信を効率よく行うことができる。
【００４３】
また、請求項１２の発明によれば、データ送受信制御方法は、計算機に入力するデータを一時的に記録装置に記録して、計算機に入力するデータの転送速度差を補い、記録装置に記録したデータを計算機に送信するので、計算機に対するデータ送信を適切に実行することができる。
【００４４】
また、請求項１３の発明によれば、データ送受信制御方法は、記録装置に係るデータの蓄積状態に基づいて、計算機に対するデータの転送速度を変更するので、計算機に対するデータ送信を効率よく実行することができる。
【００４５】
また、請求項１４の発明によれば、データ送受信制御方法は、記録装置がデータを蓄積していない状態で、記録装置が計算機に入力するデータを新たに記録した場合には、データの転送速度を変更しないで、記録装置に記録されたデータを計算機に送信するので、計算機に対するデータ送信を効率よく実行することができる。
【００４６】
また、請求項１５の発明によれば、データ送受信制御方法は、記録装置がデータを蓄積している状態で、記録装置が計算機に入力するデータを新たに記録した場合には、データの転送速度を上げて、記録装置に記録されたデータを計算機に送信するので、計算機に対するデータ送信を効率よく実行することができる。
【００４７】
また、請求項１６の発明によれば、データ送受信制御方法は、データの転送方向が一方向のバスに接続された計算機から出力されるデータを取得し、計算機から出力されるデータを転送する出力バスのデータ帯域幅を、計算機に入力するデータを転送する入力バスのデータ帯域幅以下にして、計算機から出力されたデータを他装置に送信するので、低コストで、計算機との間のデータ送受信を効率よく行うことができる。
【００４８】
また、請求項１７の発明によれば、データ送受信制御方法は、計算機から出力されるデータを一時的に記録装置に記録して、計算機から他装置に送信されるデータの転送速度差を補い、記録装置に記録したデータを他装置に送信するので、他装置に対するデータ送信を適切に実行することができる。
【００４９】
また、請求項１８の発明によれば、データ送受信制御方法は、記録装置に係るデータの蓄積状態に基づいて、計算機から他装置に送信するデータの転送速度を変更するので、他装置に対するデータ送信を効率よく実行することができる。
【００５０】
また、請求項１９の発明によれば、データ送受信制御方法は、記録装置がデータを蓄積していない状態で、計算機から出力されたデータを新たに記録した場合には、データの転送速度を変更しないで、記録装置に記録されたデータを計算機から他装置に送信するので、他装置に対するデータ送信を効率よく実行することができる。
【００５１】
また、請求項２０の発明によれば、データ送受信制御方法は、記録装置がデータを蓄積している状態で、計算機から出力されたデータを新たに記録した場合には、データの転送速度を上げて、記録装置に記録されたデータを計算機から他装置に送信するので、他装置に対するデータ送信を効率よく実行することができる。
【発明を実施するための最良の形態】
【００５２】
以下に添付図面を参照して、この発明に係るデータ送受信制御装置およびデータ送受信制御方法の好適な実施の形態を詳細に説明する。
【実施例】
【００５３】
まず、本発明の特徴について説明する。本発明では、計算機ノードに入力するデータを転送するための入力バスと計算機ノードから出力されたデータを転送するための出力バスとのデータ帯域幅を非対称にする。具体的には、入力バスのデータ帯域幅を出力バスのデータ帯域幅よりも大きくする。
【００５４】
ここで、入力／出力バスのデータ帯域幅を非対称にした理由の一例をあげると、計算機ノードで必要とされるデータ帯域は、入力と出力とで等しいわけではなく、通常、計算機ノードに入力されるデータ量と出力されるデータ量とを比較すると、入力されるデータ量のほうが出力されるデータ量よりも多くなる傾向が強いからである。さらに、計算機ノードが内部にスワップ型のデータキャッシュを有する場合には、この傾向が顕著となる。
【００５５】
このように、計算機ノードで必要とされる入力／出力のデータ帯域に着目し、入力バスのデータ帯域幅を出力バスのデータ帯域幅よりも大きく設定することで、データ経路にかかる資源を有効に利用できると共に、データ経路の実装コストを抑えることができる。
【００５６】
つぎに、本実施例にかかるコンピュータシステムの構成について説明する。図１は、本実施例にかかるコンピュータシステムの構成を示すブロック図である。同図に示すように、このコンピュータシステムは、計算機ノード１０，２０、入力バス３０ａ〜３０ｃ、出力バス４０ａ〜４０ｃ、バッファ部５０ａ〜５０ｆ、クロスバ機構６０および主記憶装置７０を有する。
【００５７】
計算機ノード１０は、入力バス３０ａから転送されるデータを取得して、所定の演算を実行し、演算実行結果などの出力データを、出力バス４０ａを利用して主記憶装置７０または計算機ノード２０に転送する装置である。計算機ノード２０は、計算機ノード１０と同様に、入力バス３０ｂから転送されるデータを取得して、所定の演算を実行し、演算実行結果などの出力データを、出力バス４０ｂを利用して主記憶装置７０または計算機ノード１０に転送する装置である。
【００５８】
入力バス３０ａ〜３０ｃおよび出力バス４０ａ〜４０ｃは、データの転送方向が一方向となるバスである。具体的に、入力バス３０ａは、クロスバ機構６０から入力されたデータを計算機ノード１０に転送するバスであり、入力バス３０ｂは、クロスバ機構６０から入力されたデータを計算機ノード２０に転送するバスであり、入力バス３０ｃは、主記憶装置７０から入力されたデータをクロスバ機構６０に転送するバスである。
【００５９】
また、出力バス４０ａは、計算機ノード１０から入力されたデータをクロスバ機構６０に転送するバスであり、出力バス４０ｂは、計算機ノード２０から入力されたデータをクロスバ機構６０に転送するバスであり、出力バス４０ｃは、クロスバ機構６０から入力されたデータを主記憶装置７０に転送するバスである。
【００６０】
ここで、クロスバ機構６０は、計算機ノード１０，２０と、主記憶装置７０との間でデータをやり取りする際に、経路を動的に切り替える装置であり、主記憶装置７０は、計算機ノード１０，２０で利用されるユーザデータやプログラムを記憶する記憶装置である。なお、図１では省略するが、この主記憶装置７０は、補助記憶装置などに接続されている。
【００６１】
なお、入力バス３０ａのデータ帯域幅をw_ain、出力バス４０ａのデータ帯域幅をw_aoutとすると、本発明では、w_ain＞w_aoutとなるように各データ帯域幅を設定する。また、入力バス３０ｂのデータ帯域幅をw_bin、出力バス４０ｂのデータ帯域幅をw_boutとすると、本発明では、w_bin＞w_boutとなるように各データ帯域幅を設定する。
【００６２】
さらに、図１に示したコンピュータシステムのデータ転送経路に着目すると、計算ノード２０および主記憶装置７０から出力されたデータが、計算機ノード１０に転送される場合もあるため、本発明では、入力バス３０ａのデータ帯域幅が、w_ain＞w_bout+w_moutとなるように設定する。ここで、「w_mout」は、入力バス３０ｃのデータ帯域幅である。
【００６３】
また、計算機ノード１０および主記憶装置７０から出力されたデータが、計算機ノード２０に転送される場合もあるため、本発明では、入力バス３０ｃのデータ帯域幅が、w_bin＞w_aout+w_moutとなるように設定する。
【００６４】
本実施例では一例として、各データ帯域幅の比を、
w_ain,w_bin=5
w_aout,w_bout=3
w_min（入力バス４０ｃのデータ帯域幅）,w_mout=4*n(n>=1)
w_xb（クロスバ機構の内部バスの転送能力）=4
のように設定する。このように、各データ帯域幅の比を設定すると、例えば、w_ainとw_aoutとの比は、５対３となる。
【００６５】
バッファ部５０ａ〜５０ｆは、各装置から出力されたデータを記憶する記憶部である。なお、バッファ部５０ａ〜５０ｄは、入力バス３０ａ，４０ａと出力バス３０ｂ，４０ｂとのデータ帯域幅を非対称に設定したために発生する非整合を吸収する仕組みが導入されている。
【００６６】
ここで、バッファ部５０ａの構成について説明する（データバッファ５０ｂ〜５０ｄは、バッファ部５０ａの構成と同様であるため説明を省略する）。図２は、バッファ部の構成を示す機能ブロック図である。同図に示すように、このバッファ部５０ａは、スイッチ５１、データバッファ５２、セレクタ５３、パケット生成器５４および制御部５５を有する。
【００６７】
スイッチ５１は、クロスバ機構６０から取得したデータをデータバッファ５２の各記録領域に割り振る装置である。データバッファ５２は、複数の記憶領域を有し、それぞれの記憶領域に、データを一時的に記憶する記憶装置である。以下では、それぞれの記憶領域をエントリーと表記する。また、図２に示すように、各エントリーは３２バイト（４バイト×８）のデータを格納可能である。
【００６８】
セレクタ５３は、データバッファ５２が有する複数のエントリーからデータ取得対象となるエントリーを選択し、選択したエントリーからデータを取得する装置である。セレクタ５３は、エントリーから取得したデータをパケット生成器５４に転送する。
【００６９】
パケット生成器５４は、セレクタ５３から転送されたデータを基にして、パケットを生成し、生成したパケットを計算機ノード１０に転送する装置である。なお、パケット生成器５４は、データバッファ５２のデータ蓄積状態に応じて、パケットの転送速度を変更し、転送速度を変更したパケットを計算機ノードに転送する。データバッファ５２のデータ蓄積状態は、制御部５５によって常に監視されており、パケット生成器５４は、制御部５５からデータバッファ５２のデータ蓄積状態に係る情報を取得する。
【００７０】
制御部５５は、バッファ部５０ａの各装置、具体的には、スイッチ５１、セレクタ５３およびパケット生成器５４を制御する処理部である。すなわち、スイッチ５１は、制御部５５の指示により、データ記録先となる各エントリーにデータを割り振る。セレクタ５３は、制御部５５の指示によって選択されたエントリーからデータを取得し、取得したデータをパケット生成器５４に転送する。
【００７１】
続いて、パケット生成器５４が生成するパケットについて説明する。本実施例において、パケット生成器５４は、２タイプのパケットを生成する。具体的に、データバッファ５２の各エントリーにデータが蓄積されていない状態で、新たにスイッチ５１からエントリーにデータが記録された場合には、パケット生成器５４は、エントリーに記録されたデータをそのままパケットに変換し、変換したパケットを順次、計算機ノード１０に転送する。
【００７２】
例えば、スイッチ５１からエントリーに４バイトサイクルでデータが記録された場合には、パケット生成器５４は、１パケットあたり、４バイトのデータを有するパケットを生成し、生成したパケットを計算機ノード１０に転送する。以下、１パケットあたり４バイトのデータを有するパケット群の転送をロングバージョン転送と表記する。
【００７３】
図３は、ロングバージョン転送に係る各パケットのデータ構造の一例を示す図である。図３に示した例では、９個のパケットからなり、先頭（１ｓｔ）のパケットには、ヘッダ情報が格納されている。このヘッダ情報には、図３に示す各パケット情報がロングバージョン転送であると受信側（例えば計算機ノード）が一意に識別可能な転送速度識別情報が格納されている。この転送速度識別情報は、パケット生成器５４によってパケット生成時に生成され、先頭パケットに格納される。
【００７４】
また、各パケット１ｓｔ〜９ｓｔの先頭には、このパケットに格納された情報を識別するための識別情報が付加されている。すなわち、この識別情報によって、受信側（例えば計算機ノード）は、パケットに格納されたデータが、ヘッダ情報なのかユーザデータなのかを判定することができる。
【００７５】
続いて、もう一方のパケットのタイプについて説明する。バッファ部５２の各エントリーにデータが蓄積されている状態で、新たにスイッチ５１からエントリーにデータが記録された場合には、パケット生成器５４は、パケットの転送速度を上げる。
【００７６】
例えば、スイッチ５１からエントリー（このエントリーにはデータが蓄積されていることとする）に４バイトサイクルでデータが記録された場合には、パケット生成器５４は、１パケットあたり、５バイトのデータを有するパケットを生成し、生成したパケットを計算機ノード１０に転送する。以下、１パケットあたり５バイトのデータを有するパケット群の転送をショートバージョン転送と表記する。
【００７７】
図４は、ショートバージョン転送に係る各パケットのデータ構造の一例を示す図である。図４に示した例では、７個のパケットからなり、先頭（１ｓｔ）のパケットには、ヘッダ情報およびユーザデータが格納されている。このヘッダ情報には、図４に示す各パケット情報がショートバージョン転送であると受信側（例えば、計算機ノード）が一意に識別可能な転送速度識別情報が格納されている。この転送速度識別情報は、パケット生成器５４によってパケット生成時に生成され、先頭パケットに格納される。
【００７８】
また、各パケット１ｓｔ〜７ｎｄの先頭には、このパケットに格納された情報を識別するための識別情報が付加されている。すなわち、この識別情報によって、受信側（例えば計算機ノード）は、パケットに格納されたデータが、ヘッダ情報なのかユーザデータなのかを（図４のパケットのようにヘッダ情報とユーザデータとを含む場合もある）判定することができる。なお、ショートバージョン転送では、ロングバージョン転送に係る９パケット分のデータを７バケットで転送（転送速度をあげて転送）するため、各パケットをまたいでユーザデータ（ＷＯＲＤ０〜ＷＯＲＤ７）が格納されている。
【００７９】
例えば、図３に係るユーザデータＷＯＲＤ０は、２ｎｄパケットに格納されるが、図４に係るユーザデータＷＯＲＤ０は、１ｓｔパケットおよび２ｓｔに分割されて格納されている。
【００８０】
図５は、ロングバージョン転送およびショートバージョン転送に係るパケット転送の一例を示す図である。同図に示すように、バッファ部５０ａは、パケット転送の前半では、データバッファ５２にデータが蓄積されていないため、ロングバージョン転送でパケット転送が行われるが、後半では、データバッファ５２にデータが蓄積されているので、ショートバージョン転送で、転送速度をあげて、パケット転送を実行する。
【００８１】
なお、ここでは詳しい説明を省略するが、バッファ部５０ｂ，５０ｄは、バッファ部５０ａと同様の仕組みを用いて、計算機ノード１０，２０から出力されたデータをクロスバ機構６０に転送する。
【００８２】
すなわち、バッファ部５０ｂ，５０ｄは、計算機ノード１０または２０から出力されたデータをデータバッファに記録し、パケット生成器は、データバッファのデータ蓄積状態に基づいて、クロスバ機構６０に転送するパケットの転送速度を変更する。
【００８３】
上述してきたように、本実施例にかかるコンピュータシステムは、入力バス３０ａのデータ帯域幅を出力バス４０ａのデータ帯域幅よりも大きく設定し（入力バス３０ｂのデータ帯域幅を出力バス４０ｂのデータ帯域幅よりも大きく設定し）て、各装置間にかかるデータ転送を制御する。また、各バスのデータ帯域幅を非対称に設定したことにより発生するデータ転送の非整合をバッファ部５０ａ〜５０ｄを設けて吸収することによって、限られた資源であるデータ経路を有効に利用することができ、効率よく計算機ノードとの間でデータ転送を実行することができる。
【００８４】
（付記１）データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御装置であって、
前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、当該計算機との間のデータの送受信を制御するデータ送受信制御手段、
を備えたことを特徴とするデータ送受信制御装置。
【００８５】
（付記２）前記計算機に入力するデータを一時的に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録手段を更に備え、前記データ送受信制御手段は、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする付記１に記載のデータ送受信制御装置。
【００８６】
（付記３）前記データ送受信制御手段は、前記入力データ記録手段に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする付記２に記載のデータ送受信制御装置。
【００８７】
（付記４）前記入力データ記録手段がデータを蓄積していない状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする付記３に記載のデータ送受信制御装置。
【００８８】
（付記５）前記入力データ記録手段がデータを蓄積している状態で、前記計算機に入力するデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記入力データ記録手段に記録されたデータを前記計算機に送信することを特徴とする付記３に記載のデータ送受信制御装置。
【００８９】
（付記６）前記計算機から出力されるデータを一時的に記録し、当該計算機から他装置に転送されるデータの転送速度差を補う出力データ記録手段を更に備え、前記データ送受信制御手段は、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする付記１に記載のデータ送受信制御装置。
【００９０】
（付記７）前記データ送受信制御手段は、前記出力データ記録手段に係るデータの蓄積状態に基づいて、他装置に対するデータの転送速度を変更することを特徴とする付記６に記載のデータ送受信制御装置。
【００９１】
（付記８）前記出力データ記録手段がデータを蓄積していない状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を変更しないで、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする付記７に記載のデータ送受信制御装置。
【００９２】
（付記９）前記出力データ記録手段がデータを蓄積している状態で、前記計算機から出力されたデータを新たに記録した場合には、前記データ送受信制御手段は、データの転送速度を上げて、前記出力データ記録手段に記録されたデータを他装置に送信することを特徴とする付記７に記載のデータ送受信制御装置。
【００９３】
（付記１０）前記データ送受信制御手段は、データの転送速度を識別する識別情報を、送信するデータに付加することを特徴とする付記３〜９のいずれか一つに記載のデータ送受信制御装置。
【００９４】
（付記１１）データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、
前記計算機に入力するデータを取得する入力データ取得工程と、
前記計算機に入力するデータを転送する入力バスのデータ帯域幅を、前記計算機から出力されたデータを転送する出力バスのデータ帯域幅よりも大きくして、前記入力データ取得工程において取得したデータを、前記計算機に送信する入力データ送信工程と、
を含んだことを特徴とするデータ送受信制御方法。
【００９５】
（付記１２）前記計算機に入力するデータを一時的に記録装置に記録し、当該計算機に入力するデータの転送速度差を補う入力データ記録工程を更に含み、前記入力データ送信工程は、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする付記１１に記載のデータ送受信制御方法。
【００９６】
（付記１３）前記入力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機に対するデータの転送速度を変更することを特徴とする付記１２に記載のデータ送受信制御方法。
【００９７】
（付記１４）前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする付記１３に記載のデータ送受信制御方法。
【００９８】
（付記１５）前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機に入力するデータを新たに記録した場合には、前記入力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機に送信することを特徴とする付記１３に記載のデータ送受信制御方法。
【００９９】
（付記１６）前記入力データ送信工程は、データの転送速度を識別する識別情報を前記計算機に送信するデータに付加することを特徴とする付記１３、１４または１５に記載のデータ送受信制御方法。
【０１００】
（付記１７）データの転送方向が一方向のバスに接続された計算機との間のデータ送受信を制御するデータ送受信制御方法であって、
前記計算機から出力されるデータを取得する出力データ取得工程と、
前記計算機から出力されるデータを転送する出力バスのデータ帯域幅を、前記計算機に入力するデータを転送する入力バスのデータ帯域幅以下にして、前記出力データ取得工程において取得したデータを、他装置に送信する出力データ送信工程と、
を含んだことを特徴とするデータ送受信制御方法。
【０１０１】
（付記１８）前記計算機から出力されるデータを一時的に記録装置に記録し、当該計算機から他装置に送信されるデータの転送速度差を補う出力データ記録工程を更に含み、前記出力データ送信工程は、前記記録装置に記録されたデータを他装置に送信することを特徴とする付記１７に記載のデータ送受信制御方法。
【０１０２】
（付記１９）前記出力データ送信工程は、前記記録装置に係るデータの蓄積状態に基づいて、前記計算機から他装置に送信するデータの転送速度を変更することを特徴とする付記１８に記載のデータ送受信制御方法。
【０１０３】
（付記２０）前記記録装置がデータを蓄積していない状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を変更しないで、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする付記１９に記載のデータ送受信制御方法。
【０１０４】
（付記２１）前記記録装置がデータを蓄積している状態で、当該記録装置が前記計算機から出力されたデータを新たに記録した場合には、前記出力データ送信工程は、データの転送速度を上げて、前記記録装置に記録されたデータを前記計算機から他装置に送信することを特徴とする付記１９に記載のデータ送受信制御方法。
【０１０５】
（付記２２）前記出力データ送信手段は、データの転送速度を識別する識別情報を前記計算機から他装置に送信するデータに付加することを特徴とする付記１９、２０または２１に記載のデータ送受信制御方法。
【産業上の利用可能性】
【０１０６】
以上のように、本発明にかかるデータ送受信制御装置およびデータ送受信制御方法は、一方向バスの限られたデータ帯域幅を有効に利用して、計算機ノードに対するデータ送受信を効率よく行う必要のあるコンピュータシステム等に対して有用である。
【図面の簡単な説明】
【０１０７】
【図１】本実施例にかかるコンピュータシステムの構成を示すブロック図である。
【図２】バッファ部の構成を示す機能ブロック図である。
【図３】ロングバージョン転送に係る各パケットのデータ構造の一例を示す図である。
【図４】ショートバージョン転送に係る各パケットのデータ構造の一例を示す図である。
【図５】ロングバージョン転送およびショートバージョン転送に係るパケット転送の一例を示す図である。
【符号の説明】
【０１０８】
１０，２０    計算機ノード
３０ａ，３０ｂ，３０ｃ  入力バス
４０ａ，４０ｂ，４０ｃ  出力バス
５０ａ，５０ｂ，５０ｃ，５０ｄ，５０ｅ，５０ｆ  バッファ部
５１    スイッチ
５２    データバッファ
５３    セレクタ
５４    パケット生成器
５５    制御部
６０    クロスバ機構
７０    主記憶装置
【図１】
2007066109.tif 000003
【図２】
2007066109.tif 000004
【図３】
2007066109.tif 000005
【図４】
2007066109.tif 000006
【図５】
2007066109.tif 000007