(57)【要約】【課題】データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減するデータ通信装置等を提供する。【解決手段】データ通信装置１は、データバス４を通してデータ通信を行う際に用いる通信バッファ３と、その通信バッファ３が接続されるデータバス４によるデータ通信を制御する制御部２とを有する。そして、制御部２は、通信バッファ３においてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバス４におけるデータ速度及びそのデータバス４を構成するレーンの数を減らし、バッファ使用率が第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバス４におけるデータ速度及びレーンの数を増やす。【選択図】      図１
2014078065.tif 000002
【特許請求の範囲】
【請求項１】
データバスを通じてデータ通信を行う際に用いる通信バッファと、その通信バッファが接続されるデータバスによるデータ通信を制御する制御部とを有し、
前記制御部は、
前記通信バッファにおいてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度及び該データバスを構成するレーンの数を減らし、
前記バッファ使用率が前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおける前記データ速度及び前記レーンの数を増やすことを特徴とするデータ通信装置。
【請求項２】
前記制御部は、前記通信バッファにおいて、該通信バッファと第１データ通信装置との間を接続する前記データバスに接続されるアップストリームポートと、前記通信バッファとは別の通信バッファと第２データ通信装置との間を接続する前記データバスとは別のデータバスに接続されるダウンストリームポートとが有する前記通信バッファにおけるバッファ使用率を監視することを特徴とする請求項１に記載のデータ通信装置。
【請求項３】
前記制御部は、前記バッファ使用率を監視した結果に応じて、前記アップストリームポート及びダウンストリームポートが接続する相手先との間においてデータを転送する際のデータ速度であるリンクスピードと、前記アップストリームポート及びダウンストリームポートが接続する相手先との間において１以上のリンク数を表すレーン数とを変更することを特徴とする請求項１若しくは請求項２に記載のデータ通信装置。
【請求項４】
前記通信バッファは、送信バッファと受信バッファとを含み、
前記制御部は、
前記通信バッファにおける前記バッファ使用率が前記送信バッファと受信バッファが共に第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度より遅い速度の第１データ速度で当該データバスにおけるデータ通信を確立し、
前記通信バッファにおける少なくとも何れか一方の前記バッファ使用率が、前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおけるデータ速度より速い速度の第２データ速度で当該データバスにおけるデータ通信を確立し、
前記第１データ速度においても前記通信バッファにおける前記バッファ使用率が共に前記第１使用率を超えない場合は、現在接続しているデータバスを構成するレーンにおける数より少ないレーン数を用いて当該データバスにおけるデータ通信を確立し、
前記通信バッファにおける少なくとも何れか一方の前記バッファ使用率が、前記第２データ速度においても前記第２使用率を超える場合は、現在接続しているレーン数より多いレーン数を用いて当該データバスにおけるデータ通信を確立することを特徴とする請求項２若しくは請求項３に記載のデータ通信装置。
【請求項５】
前記制御部は、
監視対象の前記アップストリームポート及びダウンストリームポートがそれぞれ有する送信バッファ及び受信バッファが成すバッファ領域の内、前記送信バッファ及び受信バッファが共に、第１使用率に対応する容量を占有する時間が、所定の時間間隔で監視した際に所定回数連続した場合に、当該アップストリームポート及びダウンストリームポートにおける通信バッファの使用率が低いと判断し、
前記送信バッファ及び受信バッファのうちの少なくとも何れか一方が、第１使用率より大きい第２使用率に対応する容量を占有する時間が、前記所定の時間間隔で監視した際に所定回数連続した場合に、当該アップストリームポート及びダウンストリームポートにおける通信バッファの使用率が高いと判断することを特徴とする請求項２乃至請求項４の何れか１項に記載のデータ通信装置。
【請求項６】
前記制御部は、
監視対象の前記アップストリームポート及びダウンストリームポートがそれぞれ有する前記送信バッファ及び受信バッファにおける前記バッファ使用率を監視する前記所定の時間間隔と、該バッファ使用率を監視する期間と、前記アップストリームポート及びダウンストリームポートがそれぞれ有する送信バッファ及び受信バッファが成す領域のうち前記第１使用率に対応する容量、及び該第１使用率より大きい前記第２使用率に対応する容量を、前記バッファ使用率における変化を表す変化率に応じて変更することを特徴とする請求項２乃至請求項５の何れか１項に記載のデータ通信装置。
【請求項７】
前記制御部は、
前記バッファ使用率に応じて、それぞれ予め決められた前記リンクスピード及び前記レーン数の少なくとも何れか一方を増加若しくは減少させることを特徴とする請求項３若しくは請求項４に記載のデータ通信装置。
【請求項８】
前記第１データ通信装置は、ＰＣＩ＿Ｅｘｐｒｅｓｓ規格に準拠したルートコンプレックス若しくは該ルートコンプレックスを内蔵する中央処理装置であり、前記第２データ通信装置は、ＰＣＩ＿Ｅｘｐｒｅｓｓ規格に準拠したエンドポイントであるＰＣＩ＿Ｅｘｐｒｅｓｓバスと周辺機器を接続する周辺バスとの間におけるデータ通信形式を変換するホストバスアダプタであることを特徴とする請求項１乃至請求項７の何れか１項に記載のデータ通信装置。
【請求項９】
データバスを通じてデータ通信を行う際に用いる通信バッファが接続されるデータバスを前記データ通信を制御する制御手段によって制御するに際して、
前記制御手段によって、
前記通信バッファにおいてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度及び該データバスを構成するレーンの数を減らし、
前記バッファ使用率が前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおける前記データ速度及び前記レーンの数を増やすことを特徴とするデータ通信装置の制御方法。
【請求項１０】
データバスを通じてデータ通信を行う際に用いる通信バッファが接続されるデータバスを有するデータ通信装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムによって、
前記通信バッファにおいてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度及び該データバスを構成するレーンの数を減らし、
前記バッファ使用率が前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおける前記データ速度及び前記レーンの数を増やす処理を、
コンピュータに実現させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、データ通信装置においてデータバスが消費する電力を低減する技術分野に関する。
【背景技術】
【０００２】
近年、サーバ装置等の情報処理装置は、その内部に、データを転送する際に用いるバスの１種として、Ｐｅｒｉｐｈｅｒａｌ＿Ｃｏｍｐｏｎｅｎｔ_Ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｓｐｅｃｉａｌ＿Ｉｎｔｅｒｅｓｔ＿Ｇｒｏｕｐ（以下、「ＰＣＩ−ＳＩＧ」と略称する）が仕様を規定する、ＰＣＩ＿Ｅｘｐｒｅｓｓバス（以下、「ＰＣＩｅバス」と略称する場合あり）を有する。
【０００３】
係る情報処理装置は、中央処理装置であるＣｅｎｔｒａｌ＿Ｐｒｏｃｃｅｓｓｉｎｇ＿Ｕｎｉｔ（以下、「ＣＰＵ」と略称する）とシステムバスによって接続され、ＰＣＩｅバスを制御するルートコンプレックス（Ｒｏｏｔ＿Ｃｏｍｐｌｅｘ：以下、「ＲＣ」と略称する）と呼ばれるホストブリッジを有する。
【０００４】
また、ＲＣは、ＰＣＩｅバス仕様に準拠する周辺機器を制御するデバイスであるエンドポイント（Ｅｎｄｐｏｉｎｔ：以下「ＥＰ」と略称する）に、ＰＣＩｅバスを介して接続する。
【０００５】
また、係る情報処理装置は、ＰＣＩｅバスに、ＥＰを接続する接続点であるポート（入出力ポート）を増設するために、複数のポートを有するＰＣＩｅスイッチをＲＣに接続することが可能である。
【０００６】
また、係るＰＣＩｅスイッチは、ＲＣに向う方向を表すアップストリーム（Ｕｐｓｔｒｅａｍ）と呼ばれるポートを介してＲＣや、ＲＣを内蔵するＣＰＵと接続される。
【０００７】
また、係るＰＣＩｅスイッチは、ＲＣから離れる方向を表すダウンストリーム（Ｄｏｗｎｓｔｒｅａｍ）と呼ばれるポートを介して周辺デバイスであるＥＰに接続される。
【０００８】
つまり、ＣＰＵによって処理されたデータは、例えばＲＣを経て、ＰＣＩｅスイッチにおけるアップストリームポートを介してＰＣＩｅスイッチにおいて分岐され、ＰＣＩｅスイッチにおけるダウンストリームポートを介してＥＰとの間でＰＣＩｅバスのデータをやりとりする。
【０００９】
ここで、ＰＣＩｅスイッチと、ＲＣやＥＰとの間を接続するポートは、物理層における差動ペア信号（つまり、正相と逆相とから成る差動信号）をそれぞれ送信と受信で有するレーンと呼ばれるバスによって接続される。
【００１０】
そして、レーンは、１つ以上がまとめられて必要なデータ伝送帯域を確保する。そのデータ伝送帯域が確保された通信路は、リンクと呼ばれる。また、リンクにおけるデータ通信速度をリンクスピード（リンク速度）と呼ぶ。つまり、リンクスピードは、リンク単位で設定される。
【００１１】
係る情報処理装置の一例であるデータ通信装置は、起動の際にＰＣＩｅスイッチにおいて、ＥＰとの間でお互いのデバイスがサポートする最大のリンクスピード及びレーン数でリンクを確立する。
【００１２】
また、係るデータ通信装置では、ＰＣＩ＿Ｅｘｐｒｅｓｓバス（ＰＣＩｅバス）と、例えばＳｅｒｉａｌ＿Ａｔｔａｃｈｅｄ＿ＳＣＳＩ（Ｓｍａｌｌ＿Ｃｏｍｐｕｔｅｒ＿Ｓｙｓｔｅｍ＿Ｉｎｔｅｒｆａｃｅ）：以下、「ＳＡＳ」と略称する）バスとの間でインタフェースを変換するホストバスアダプタ（Ｈｏｓｔ＿Ｂｕｓ＿Ａｄａｐｔｅｒ：以下、「ＨＢＡ」と略称する）カードを経て繋げる相手先の周辺機器が、例えば、磁気テープストレージ装置などの低速なデバイスであったり、或いは使用頻度が少ないデバイスである場合がある。
【００１３】
つまり、係るデータ通信装置では、ＰＣＩｅスイッチにおけるダウンストリームポートが繋がる、例えば当該ＳＡＳ＿ＨＢＡカードとの間において、データ速度が遅かったり、バスの使用率が低い場合においても、当該ＰＣＩ＿ｅバスにおけるリンクは、上述したような起動の際に予め決まる、ＰＣＩｅスイッチと、例えばＳＡＳ＿ＨＢＡカードとの双方で接続可能な最大のリンクスピード及び最大のレーン数で動作するため、必要以上に多くの電力を消費する。
【００１４】
一方で、上述したデータ通信装置では、Ｉｎｐｕｔ／Ｏｕｔｐｕｔ(つまり、データ入出力部。以下、「ＩＯ」と略称する）において、上述したようなＰＣＩ＿ｅバスのようなシリアルバスが用いられ、近年、その通信速度が高速化しており、それに伴いＩＯにおける消費電力も増大してきている。そのため、ＩＯにおける消費電力の低減が求められている。
【００１５】
尚、ここでは、情報処理装置におけるＣＰＵから見て上流にあるＲＣと、下流にあるＥＰとを接続するＰＣＩｅスイッチにおける消費電力の低減を中心に説明する。
【００１６】
ここで、特許文献１に記載された技術は、情報処理装置における通信インタフェースにおいて、データ転送能力と消費電力とを最適にする通信速度を決定する技術を開示する。
【００１７】
より具体的には、特許文献１に記載された技術は、送信若しくは受信すべきデータの有無や、送信アンダーラン若しくは受信オーバーランが発生する率や、送信若しくは受信すべきデータが無い時間が継続する時間を調べて、データ転送すべきデータが無いか、或いはデータが少なければ、より低い通信速度に下げることにより、データを転送する際に消費される消費電力を削減する技術を開示する。
【００１８】
また、特許文献２に記載された技術は、ネットワーク環境の状態によっては、一時的に通信がブロックされることがあるネットワーク環境なのかどうかを調べて、通信がブロックされないと判断した場合は、通信装置とネットワークとの間における接続においてリンクスピード（つまり、データ通信速度）を低減する技術を開示する。
【００１９】
より具体的には、特許文献２に記載された技術は、ネットワークに接続するコンピュータに、Ｉｎｔｅｒｎｅｔ＿Ｐｒｏｔｏｃｏｌ（以下、「ＩＰ」と略称する）アドレスなどの必要な情報を自動的に割り当てる、Ｄｙｎａｍｉｃ＿Ｈｏｓｔ＿Ｃｏｎｆｉｇｕｒａｔｉｏｎ＿Ｐｒｏｔｏｃｏｌ（以下、「ＤＨＣＰ」と略称する）サーバからの応答時間を基に、通信がブロックされると判断した場合は、リンクスピードを維持し、通信がブロックされないと判断した場合は、リンクスピードを下げることにより、通信装置における省電力の効果を向上させる技術を開示する。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】再特ＷＯ２００３／０９６６５１号公報
【特許文献２】特開２０１１−２３９０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２１】
上述した特許文献１が開示する技術は、情報処理装置自身が有する通信可能なＬｏｃａｌ＿Ａｒｅａ＿Ｎｅｔｗｏｒｋ（以下、「ＬＡＮ」と略称する）機能を用いてＬＡＮ通信を可能に制御する通信制御部が、周辺機器との間で、送受信するデータが無くなる事象が発生するのを契機としており、当該事象がまず発生する必要がある。
【００２２】
つまり、特許文献１が開示する技術は、送受するデータが無いか、送信アンダーランや受信オーバーラン等の事象が発生しない通常のデータ転送中においてデータ速度等を変更するような制御は行なうことはできない。
【００２３】
また、特許文献１に記載された技術は、送受信バッファにおけるバッファ使用率に基づいてリンクスピードを増減させることや、リンク数を増減させることについては言及していない。
【００２４】
また、上述した特許文献２が開示する技術は、周辺機器との間で、ＬＡＮ通信を行なう際に、ネットワーク接続装置との間におけるプロトコルを用いて、一時的に通信がブロックされないと判断した場合に、現在の速度よりも低いリンクスピードで接続するのに留まる。
【００２５】
また、特許文献２が開示する技術は、ホストバスとの間で、送受信バッファが実際に使用される際のバッファ使用率に基づいてリンクスピードを増減させることや、リンク数を増減させることについては言及していない。
【００２６】
また、上述した特許文献１及び特許文献２が開示する技術は、これらの開示された技術を組み合わせたとしても、データ通信装置におけるホストバスを制御するホストコントローラが備える送受信バッファが使用される際のバッファ使用率に基づいて、データ通信装置自身が判断してリンクスピードを増減させることや、リンク数を増減させるようなことは開示していない。
【００２７】
即ち、本発明の主たる目的は、上述した課題を解決するために、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減するデータ通信装置等を提供することである。
【課題を解決するための手段】
【００２８】
本発明は、上述した課題の解決を目的としてなされた。
【００２９】
即ち、本発明に係るデータ通信装置は、
データバスを通じてデータ通信を行う際に用いる通信バッファと、その通信バッファが接続されるデータバスによるデータ通信を制御する制御部とを有し、
前記制御部は、
前記通信バッファにおいてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度及び該データバスを構成するレーンの数を減らし、
前記バッファ使用率が前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおける前記データ速度及び前記レーンの数を増やすことを特徴とする。
【００３０】
また、本発明の他の見地として、本発明に係るデータ通信装置の制御方法は、
データバスを通じてデータ通信を行う際に用いる通信バッファが接続されるデータバスを前記データ通信を制御する制御手段によって制御するに際して、
前記制御手段によって、
前記通信バッファにおいてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバスにおけるデータ速度及び該データバスを構成するレーンの数を減らし、
前記バッファ使用率が前記第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバスにおける前記データ速度及び前記レーンの数を増やすことを特徴とする。
【００３１】
なお、同目的は、上記構成を有する上述したデータ通信装置及びその制御方法をコンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読取り可能な記憶媒体によっても達成される。
【発明の効果】
【００３２】
本発明によれば、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の第１の実施形態に係るデータ通信装置における機能を概念的に表すブロック図である。
【図２】本発明の第２の実施形態に係るデータバススイッチにおける機能を概念的に表すブロック図である。
【図３】本発明の第３の実施形態に係るデータ通信装置において、起動に際してのＰＣＩ＿Ｅｘｐｒｅｓｓバスの速度設定、及びレーン数設定を例示するブロック図である。
【図４】本発明の第３の実施形態に係るデータ通信装置において、リンクスピードを調整した際におけるＰＣＩ＿Ｅｘｐｒｅｓｓバスの速度設定を例示するブロック図である。
【図５】本発明の第３実施形態に係るデータ通信装置におけるＰＣＩｅスイッチにおいてバッファ使用率を監視している様子を説明する図である。
【図６】本発明の第３の実施形態に係るデータ通信装置におけるリンクスピード調整処理を行なう際の制御を表すフローチャートである。
【図７】本発明の第３の実施形態に係るデータ通信装置におけるレーン数変更処理を行なう際の制御を表すフローチャートである。
【図８】第３の実施形態に係るデータ通信装置におけるリンクスピード調整処理を行なった結果、データ入出力部における電力消費が削減される場合を説明する図である。
【図９】本発明の第４の実施形態に係るデータ通信装置においてリンクスピード調整処理、及びレーン数変更処理を行なうプログラムが情報処理装置において動作する構成を例示する図である。
【発明を実施するための形態】
【００３４】
以下、本発明を実施する形態について図面を参照して詳細に説明する。
【００３５】
＜第１の実施形態＞
本発明の第１の実施形態の構成について説明する。図１は、本発明の第１の実施形態に係るデータ通信装置１における機能を概念的に表すブロック図である。
【００３６】
本実施形態に係るデータ通信装置１は、制御部２と、通信バッファ３とを有する。
【００３７】
通信バッファ３は、データバス４を介して外部装置５に対して通信可能にデータをバッファ（一時的に記憶）するバッファである。
【００３８】
制御部２は、その通信バッファ３におけるデータが占有する率を表すバッファ使用率を監視する。
【００３９】
即ち、本実施形態に係るデータ通信装置１は、データバス４を通してデータ通信を行う際に用いる通信バッファ３と、その通信バッファ３が接続されるデータバス４によるデータ通信を制御する制御部２とを有する。
【００４０】
そして、制御部２は、通信バッファ３においてデータが占める割合を表すバッファ使用率が第１使用率を超えない場合は、現在接続しているデータバス４におけるデータ速度及びそのデータバス４を構成するレーンの数を減らし、バッファ使用率が第１使用率より大きい第２使用率を超える場合は、現在接続しているデータバス４におけるデータ速度及びレーンの数を増やす。
【００４１】
つまり、本実施形態に係るデータ通信装置１によれば、制御部２は、通信バッファ３におけるバッファ使用率を監視すると共に、その監視するバッファ使用率を基に、データバス４におけるデータ通信速度を減速、若しくは増速、或いはデータバス４を並列的に構成するレーン数を減数、若しくは増数することができる。
【００４２】
本データ通信装置１において、データ通信速度が速いほど、また、使用するレーン数が多いほど、通信バッファ３及びデータバス４における消費電力は大きい。
【００４３】
本実施形態に係るデータ通信装置１は、データ通信を行う際にデータをバッファする通信バッファ３と外部装置５とを接続するデータバス４における消費電力を低減することができる。
【００４４】
その理由は、データ通信装置１は、制御部２を用いて、通信バッファ３におけるバッファ使用率に応じて、データ通信速度及びレーン数を抑制することができるからである。
【００４５】
即ち、本実施形態によれば、データ通信装置において、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【００４６】
尚、本実施形態によれば、通信バッファ３におけるバッファ使用率が大きければ、データ通信速度及びレーン数を増加させることができるので、データ転送効率を向上させることができる。
【００４７】
以上、本発明の第１の実施形態として、上述した構成及び動作を例に説明したが、係る本実施形態を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【００４８】
＜第２の実施形態＞
次に、第１の実施形態を基本とする第２の実施形態について図２を参照して説明する。第２の実施形態は、上述したデータ通信装置１において述べた、制御部２と通信バッファ３とを、データバス（不図示）を分岐するデータバススイッチ５０に適用した例を表す。
【００４９】
図２は、第２の実施形態に係るデータバススイッチ５０における機能を概念的に表すブロック図である。図２に示すように、第１の実施形態で述べた制御部２は、本実施形態では、更にバッファ監視部８０と、リンク制御部９０とを含む。
【００５０】
また、第１の実施形態で述べた通信バッファ３は、本実施形態における通信バッファ３０に対応する。通信バッファ３０は、上述したＲＣ（不図示、以下同様）と接続するアップストリームポート（Ｕｐｓｔｒｅａｍ＿Ｐｏｒｔ。以下、「ＵＰ」と略称する）５１に、送信バッファ５２及び受信バッファ５３を有する。
【００５１】
また、通信バッファ３０は、ＥＰ（不図示、以下同様）と接続するダウンストリームポート（＃１）（Ｄｏｗｎｓｔｒｅａｍ＿Ｐｏｒｔ。以下、「ＤＰ」と略称する）６１に、送信バッファ６２及び受信バッファ６３を有する。更に、通信バッファ３０は、別のＥＰと接続するダウンストリームポート（＃２）７１（以下、「ＤＰ７１」と略称する）に、送信バッファ７２及び受信バッファ７３を有する。
【００５２】
つまり、データバススイッチ５０は、ＲＣである第１データ通信装置（不図示、以下同様）との間のデータバス（不図示、以下同様）をＵＰ５１で終端し、ＥＰである第２データ通信装置（不図示、以下同様）との間のデータバスをＤＰ６１及びＤＰ７１でそれぞれ終端し、制御部２を用いて、第１データ通信装置との間のデータを、第２データ通信装置との間で分配、或いは、統合するように制御するデータバススイッチと捉えることができる。
【００５３】
また、本データバススイッチ５０は、起動する際に、接続されたＲＣ及びＥＰとの間で許容される最大のデータ通信速度で通信が確立される。
【００５４】
また、バッファ監視部８０は、通信バッファ３０における各ポート（ＵＰ５１と、ＤＰ６１と、ＤＰ７１。以下、同様）が有する各バッファ（送信バッファ及び受信バッファ）におけるバッファ使用率を監視する。
【００５５】
また、リンク制御部９０は、バッファ監視部８０における通信バッファ３０の監視結果に基づいて、各ポートにおけるデータ通信速度であるリンクスピードを変更する。
【００５６】
より具体的には、上述した各ポートが有する各バッファにおけるバッファ使用率が例えば、３０％を超えなければ、現在のデータ通信速度より低速のデータ通信速度に切り替え、例えばバッファ使用率が８０％を超えれば、現在のデータ通信速度より高速のデータ通信速度に切り替える。
【００５７】
これにより、制御部２は、バッファ使用率が低ければ、起動に際して接続されるＲＣ及びＥＰとの間で許容されるデータ通信速度が最大のデータ通信速度である場合は、それより遅いデータ通信速度に変更することができるので、速いデータ通信速度で接続された場合に比べて各ポートにおける消費電力を低減することが可能となる。
【００５８】
尚、制御部２は、バッファ使用率が高ければ、ＲＣやＥＰとの間で遅い速度に変更されたデータ通信速度より、速いデータ通信速度に変更することができるので、より効率のよいデータ伝送が可能となる。
【００５９】
また、各ポートにおける通信バッファのバッファ使用率は、送信バッファと受信バッファの合計値や、平均値を基にすることができる。
【００６０】
また、本実施形態では、一例として、バッファ監視部８０と、リンク制御部９０を用いて説明したが、制御部２によって実現するようにしてもよい。
【００６１】
また、上述したバッファ使用率は、説明のため、一例として述べており、これらの値に限定でいるわけではない。
【００６２】
即ち、本実施形態によれば、データバススイッチ５０において、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【００６３】
以上、本発明の第２の実施形態として、上述した構成及び動作を例に説明したが、係る本実施形態を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【００６４】
＜第３の実施形態＞
次に、第１及び第２の実施形態を基本とする第３の実施形態について図３乃至図８を参照して説明する。第３の実施形態は、上述したデータ通信装置１やデータバススイッチ５０において述べた、制御部２や通信バッファ３、若しくは通信バッファ３０をＰＣＩｅスイッチに適用した例を説明する。
【００６５】
図３は、第３の実施形態に係るデータ通信装置１０において、起動の際におけるＰＣＩ＿Ｅｘｐｒｅｓｓバス（ＰＣＩｅバス）の速度設定、及びレーン数設定を例示するブロック図である。
【００６６】
図３に示すデータ通信装置１０は、一例として、ＣＰＵ１１と、ＰＣＩｅスイッチ１２と、ＰＣＩｅスロット１に接続されるホストバスアダプタ（ＳＡＳ）１３（以下、「ＳＡＳ＿ＨＢＡ１３」と略称する）と、ＰＣＩｅスロット２に接続されるホストバスアダプタ（ＦＣ）１４（以下、「ＦＣ＿ＨＢＡ１４」と略称する）と、ＰＣＩｅスロット３に接続されるＬＡＮカード１５とを有している。
【００６７】
ここで、ＳＡＳ＿ＨＢＡ１３は、ＳＡＳ＿ＨＢＡ１３におけるアップストリームであるＰＣＩｅバスと、ＳＡＳ＿ＨＢＡ１３におけるＳＡＳバスとの間でデータ通信形式の変換を行なう。
【００６８】
また、ＦＣ＿ＨＢＡ１４は、ＦＣ＿ＨＢＡ１４におけるアップストリームであるＰＣＩｅバスと、ＦＣ＿ＨＢＡ１４におけるファイバーチャネル（Ｆｉｂｅｒ＿Ｃｈａｎｎｅｌ：以下、「ＦＣ」と略称する）バスとの間でデータ通信形式の変換を行なう。
【００６９】
また、図３は、一例として外部装置５にデータをバックアップする際に使用されるテープデバイス１６と、例えばデータベース（Ｄａｔａｂａｓｅ：以下、「ＤＢ」と略称する）装置等において使用されるディスクアレイ１７を有する。
【００７０】
そして、テープデバイス１６と、ディスクアレイ１７は、データ通信装置１０が有するＰＣＩｅスイッチ１２におけるダウンポートストリームおける、上述したそれぞれのホストバスアダプタであるＳＡＳ＿ＨＢＡ１３と、ＦＣ＿ＨＢＡ１４を介してそれぞれ接続される。
【００７１】
また、ＰＣＩｅスロット３に接続されるＬＡＮカード１５におけるアップストリームポートは、ＣＰＵ１１が内部に有するＲＣから分岐されたＰＣＩ＿ｅバスにおけるダウンストリームポートに接続される。
【００７２】
そして、ＬＡＮカード１５におけるダウンストリームポートは、例えばイントラネットやインターネットなどの通信可能な通信ネットワーク１８（以下、単に「ネットワーク」と称する場合あり）に接続される。
【００７３】
また、上述したＬＡＮカード１５と同様に、ＰＣＩｅスイッチ１２におけるアップストリームポートは、ＣＰＵ１１が内部に有するＲＣから分岐されたＰＣＩｅバスにおけるダウンポートストリームに接続される。
【００７４】
つまり、本実施形態におけるデータ通信装置１０は、例えばデータセンタや、サーバルームにおける例えばＤＢ装置であり、一例として、比較的高い負荷が継続するデータベースを構成するディスクアレイ１７と、適宜バックアップを行なうために低い頻度でかつ、比較的低い負荷で使われるテープデバイス１６とが、ＬＡＮカード１５を介してネットワーク１８に接続され、そのネットワーク１８に接続される図示していない外部装置であるサーバ装置等の情報処理装置等から必要なデータが検索される。
【００７５】
ここで、ＰＣＩ−ＳＩＧが規定するＰＣＩ＿Ｅｘｐｒｅｓｓ（Ｇｅｎｅｒａｔｉｏｎ３。以下同様）バスに関する規格は、物理層における伝送速度を表すリンクスピードとして、８Ｇｂｐｓ（ギガビット毎秒。以下同様）、５Ｇｂｐｓ、２．５Ｇｂｐｓの３種類が定義されている。
【００７６】
また、当該ＰＣＩ＿Ｅｘｐｒｅｓｓバス規格に対応するＨＢＡや、周辺機器は、これら３種類のリンクスピードに対応することができるものとする（以下、同様）。
【００７７】
ここで、図４は、本実施形態に係るデータ通信装置１０において、リンクスピードを調整した際におけるＰＣＩｅバスの速度設定を例示するブロック図である。
【００７８】
図４に示すように、本実施形態に係るデータ通信装置１０において、リンクスピードを調整した際に、ＰＣＩｅスイッチ１２は、例えば、ＰＣＩｅスロット１に搭載（接続）されるＳＡＳ＿ＨＢＡ１３との間のダウンストリームポート（図中、ＰＣＩｅスロット１につながる点線部分）にデータを送信及び受信する際のバッファの使用率が低いと判断し、転送速度を８Ｇｂｐｓから最も低速の２．５Ｇｂｐｓへ変更し、その速度においてリンクを確立している。
【００７９】
また、本実施形態に係るデータ通信装置１０において、リンクスピードを調整した際に、ＰＣＩｅスイッチ１２は、例えば、ＰＣＩｅスロット２に搭載（接続）されるＦＣ＿ＨＢＡ１４との間のダウンストリームポート（図中、ＰＣＩｅスロット２につながる点線部分）にデータを送信または受信するバッファの使用率が比較的に高いと判断し、８Ｇｂｐｓから５Ｇｂｐｓへ速度を変更し、その速度においてリンクを確立している。
【００８０】
ここで、図５は、本実施形態に係るデータ通信装置１０におけるＰＣＩｅスイッチ１２の内部構成を表している。即ち、図５は、本実施形態に係るデータ通信装置１０におけるＰＣＩｅスイッチにおいてバッファ使用率を監視している様子を概念的に表す図である。
【００８１】
図５において、ＰＣＩｅスイッチ１２は、マイクロコントローラ１０１を有している。また、マイクロコントローラ１０１は、バッファ監視部１０２と、リンク制御部１０３とを有する。
【００８２】
また、ＰＣＩｅスイッチ１２は、アップストリームポート１０４（以下、「ＵＰ１０４」と略称する）と、ダウンストリームポート（＃１）１０７（以下、「ＤＰ１０７」と略称する）と、ダウンストリームポート（＃２）１１０（以下、「ＤＰ１１０」と略称する）とを有する。
【００８３】
そして、ＵＰ１０４は、送信バッファ１０５と、受信バッファ１０６とを有する。また、ＤＰ１０７は、送信バッファ１０８と、受信バッファ１０９とを有する。また、ＤＰ１１０は、送信バッファ１１１と、受信バッファ１１２とを有する。
【００８４】
また、マイクロコントローラ１０１は、リンク制御部１０３を用いて、ＵＰ１０４と、ＤＰ１０７と、ＤＰ１１０とにおける、リンクスピードとレーン数を指定する。
【００８５】
そして、マイクロコントローラ１０１は、バッファ監視部１０２を用いて、それぞれのポートが有する送信バッファと受信バッファとにおけるバッファ使用率を所定の間隔で監視する。
【００８６】
ここで、マイクロコントローラ１０１は、バッファ監視部１０２から得られるＵＰ１０４と、ＤＰ１０７とＤＰ１１０の各ポートにおけるそれぞれの送信及び受信バッファのバッファ使用率に応じてＵＰ及び各ＤＰにおけるリンクスピード及びレーン数を変更する。
【００８７】
尚、バッファ監視部１０２におけるバッファ使用率の監視及び、リンク制御部１０３におけるリンクスピードとレーン数の制御は、例えば、送信及び受信バッファにおけるバッファ使用率が共に低ければ、リンクスピードやレーン数を下げる（減らす）ようにし、送信若しくは受信バッファのうち何れかのバッファ使用率が高ければ、リンクスピードやレーン数を上げる（増やす）ように監視及び制御を行なう。
【００８８】
次に、本実施形態におけるデータ通信装置１０の動作について、図６及び図７に示すフローチャートを用いて説明する。
【００８９】
図６は、本実施形態に係るデータ通信装置１０におけるリンクスピード調整処理を行なう際の制御を表すフローチャートである。
【００９０】
また、図７は、本実施形態に係るデータ通信装置１０におけるレーン数変更処理を行なう際の制御（処理手順）を表すフローチャートである。
【００９１】
図６に示す、リンクスピード調整処理を参照すると、本データ通信装置１０が起動され、ＣＰＵ１１が立ち上がる際に、本ＰＣＩｅスイッチ１２を初期化するステートマシン（不図示）は、リセット状態から解除されると共に、ＰＣＩｅスイッチ１２が有するマイクロコントローラ１０１を動作させる（ステップＳ＿Ａ０）。
【００９２】
そして、マイクロコントローラ１０１は、ＰＣＩｅスイッチ１２に接続されるＰＣＩｅデバイスにおける各ポートが有する各レーンにおいてＰＣＩｅバスにおける物理層の接続を確立するためのリンクトレーニングを実行する。
【００９３】
そして、ＰＣＩｅスイッチ１２は、ＵＰ及びＤＰ各ポートにおける各レーンが動作することが可能な、最大の転送レート（例えば、８ＧＢｐｓ）及び最大のリンク数（例えば、３２）によって、リンクアップ（つまりリンクを確立すること）が行われる（ステップＳ＿Ａ１）。
【００９４】
そして、マイクロコントローラ１０１は、図６に示す、リンクスピード調整処理を表すフローチャートにおけるステップＳ＿Ａ２以降の処理を実行する。
【００９５】
そして、マイクロコントローラ１０１は、バッファ使用率を計測すると共に、計測した結果に基づいて制御を行うポートを指定する（ステップＳ＿Ａ３）。
【００９６】
ここで、ステップＳ＿Ａ３では、ステップＳ＿Ａ８との間において、以下に示す３つのポート指定を順次行なう。つまり、ＰＯＲＴ＿ＮＵＭ＝１＿Ｕｐｓｔｒｅａｍ＿Ｐｏｒｔ１０４と、ＰＯＲＴ＿ＮＵＭ＝２＿Ｄｏｗｎｓｔｒｅａｍ＿Ｐｏｒｔ１０７と、ＰＯＲＴ＿ＮＵＭ＝３＿Ｄｏｗｎｓｔｒｅａｍ＿Ｐｏｒｔ１１０である。
【００９７】
尚、バッファ使用率を測定するポートの順番は、例えば負荷が重い順に、アップストリームであるＵＰ１０４、ディスクアレイ装置が接続されるＤＰ１１０、テープストレージ装置が接続されるＤＰ１０７の順であってもよい。
【００９８】
そして、マイクロコントローラ１０１は、上述した指定されたポートに対し、送信及び受信バッファにおけるバッファ使用率をそれぞれ計測する（ステップＳ＿Ａ４）。
【００９９】
次に、マイクロコントローラ１０１は、ステップＳ＿Ａ４において計測した結果が、送信及び受信バッファにおけるバッファ使用率が共に、例えば３０％以下であった場合には、ＰＣＩｅバスにおけるエラー検出回路をディセーブルにし（ステップＳ＿Ａ５１）、リンク速度を１段階下げて（遅くして）、リンクを再確立する（ステップＳ＿Ａ６１）。
【０１００】
尚、マイクロコントローラ１０１は、本リンク速度変更処理において、当該リンクを一旦、電気的なアイドル状態にした後に、リンクを復旧する処理であるリカバリ状態において、リンク速度を例えば、１段階下げるコマンドを発行することによりリンクを再確立する。一例としては、現在８Ｇｂｐｓでリンクを確立していれば、５Ｇｂｐｓに変更する。また、現在５Ｇｂｐｓでリンクを確立していれば、２．５Ｇｂｐｓに変更する。
【０１０１】
尚、リンクスピードの下げ幅は、１段階に限らない。
【０１０２】
尚、図５に示すように、ＵＰ１０４と、ＤＰ１０７及びＤＰ１１０は、エラー検出回路を有している。エラー検出回路は、例えば、各ポートにおいてリンクスピードやリンク数を変更する際に、その過渡状態を誤ってエラーとして検出し、そのエラーが上位層へ伝播してしまわないよう、一旦、エラー検出回路をディゼーブルにし、リンクスピードや、リンク数を変更した後に、再び、エラー検出回路をイネーブルするように制御される。
【０１０３】
また、マイクロコントローラ１０１は、バッファ使用率が、例えば３１％以上であった場合で、更に、その際における送信若しくは受信バッファにおける何れかのバッファ使用率が、例えば８１％を超える場合は、同様にリンクを一旦アイドル状態にし、エラー検出回路をディセーブル（Ｄｉｓａｂｌｅ。つまり、機能させなくする。以下同様）にし（ステップＳ＿Ａ５２）、リンク速度を、例えば１段階上げて（速くして）リンクを再確立する（ステップＳ＿Ａ６２）。
【０１０４】
尚、マイクロコントローラ１０１は、上述した低速化と同様に、当該リンクを一旦、電気的なアイドル状態にした後に、リンクを復旧する処理であるリカバリ状態において、リンク速度を、１段階上げるコマンドを発行することによりリンクを再確立する。一例として、現在２．５Ｇｂｐｓでリンクを確立していれば、５Ｇｂｐｓに変更する。また、現在５Ｇｂｐｓでリンクを確立していれば、８Ｇｂｐｓに変更する。
【０１０５】
尚、リンクスピードの上げ幅は、１段階に限らない。
【０１０６】
また、送信及び受信バッファにおけるバッファ使用率は、例えば後述するバッファ使用率を平均化するような方法をとることが可能である。
【０１０７】
そして、マイクロコントローラ１０１は、リンク速度変更（Ｓ＿Ａ６１、及びＳ＿Ｓ６２）を行なって、対象ポートにおいてリンクが確立した後は、エラー検出回路におけるエラーを表す情報をクリアした後、エラー検出回路をイネーブル（イネーブル。つまり、機能させるようにする。以下同様）にする（ステップＳ＿Ａ７１、ステップＳ＿Ａ７２）。
【０１０８】
そして、マイクロコントローラ１０１は、上述した処理を、ＰＯＲＴ＿ＮＵＭ＝ＰＯＲＴ＿ＮＵＭ＋１として、ポート番号を変更することにより、アップストリームポート１０４から実行し、例えばＤＰ１０７、ＤＰ１１０の順番で実行する（ステップＳ＿Ａ８）。
【０１０９】
そして、マイクロコントローラ１０１は、図６に示すレーン数変更処理を行なった後に、例えば、１０秒間のウェイト（Ｗａｉｔ）を入れて（ステップＳ＿１０）、再びアップストリームポート（つまり、ＰＯＲＴ＿ＮＵＭ＝１）におけるステップＳ＿Ａ２からリンクスピード調整処理を行い、以降、送信及び受信バッファ使用率の監視及びその監視結果に基づく制御を繰り返し行う。
【０１１０】
尚、ウェイトは、所定の間隔でバッファ使用率を監視することができればよく、１０秒以外の他の秒数であってもよい。
【０１１１】
また、マイクロコントローラ１０１は、例えばＤＰ１１０における処理が終わり、全てのポートにおける処理が終わると（つまり、ＰＯＲＴ＿ＮＵＭ＝４になった場合）、引き続き、図６に示すレーン数変更処理を行う（ステップＳ＿Ａ９）。
【０１１２】
ここで、図７に示す、レーン数変更処理について説明する。本レーン数変更処理は、上述した図６に示すリンクスピード調整処理に続いて、レーン数変更処理を実行することにより、データ通信装置におけるＰＣＩｅスイッチが消費する消費電力を更に削減することが可能である。
【０１１３】
まず、図６に示す、リンクスピード調整処理が各ポートに対して終わった後に、リンクスピード調整処理におけるステップＳ＿Ａ９を実行する。つまり、ステップＳ＿Ａ９におけるレーン数変更処理は、リンクスピード調整処理に続く処理として、図７に示すフローチャートにおける制御を実行する。
【０１１４】
マイクロコントローラ１０１は、図７に示す、レーン数変更処理を表すフローチャートにおけるステップＳ＿Ｂ２以降の処理を実行する。
【０１１５】
そして、マイクロコントローラ１０１は、バッファ使用率を計測し、計測した結果に基づいて制御を行うポートを指定する（ステップＳ＿Ｂ３）。
【０１１６】
ここで、ステップＳ＿Ｂ３では、ステップＳ＿Ｂ８との間において、以下に示す３つのポート指定を順次行なう。つまり、ＰＯＲＴ＿ＮＵＭ＝１＿Ｕｐｓｔｒｅａｍ＿Ｐｏｒｔ１０４と、ＰＯＲＴ＿ＮＵＭ＝２＿Ｄｏｗｎｓｔｒｅａｍ＿Ｐｏｒｔ１０７と、ＰＯＲＴ＿ＮＵＭ＝３＿Ｄｏｗｎｓｔｒｅａｍ＿Ｐｏｒｔ１１０である。
【０１１７】
尚、バッファ使用率を測定するポートの順番は、例えば負荷が重い順に、アップストリームであるＵＰ１０４、ディスクアレイ装置が接続されるＤＰ１１０、テープストレージ装置が接続されるＤＰ１０７の順であってもよい。
【０１１８】
そして、マイクロコントローラ１０１は、上述した指定されたポートに対し、送信及び受信バッファにおけるバッファ使用率をそれぞれ計測する（ステップＳ＿Ｂ４）。
【０１１９】
次に、マイクロコントローラ１０１は、ステップＳ＿Ｂ４において計測した結果が、何れかのバッファ使用率が共に、例えば３０％以下であった場合には、ＰＣＩｅバスにおけるエラー検出回路をディセーブルにし（ステップＳ＿Ｂ５１）、レーン数を１段階減らして（例えば、半減）、リンクを再確立する（ステップＳ＿Ｂ６１）。
【０１２０】
尚、マイクロコントローラ１０１は、本レーン数変更処理において、当該リンクを一旦、電気的なアイドル状態にした後に、リンクを復旧する処理であるリカバリ状態において、レーン数を、例えば、１段階減らすコマンドを発行することによりリンクを再確立する。一例として、現在８レーンでリンクを確立していれば、４レーンに変更する。また、現在４レーンでリンクを確立していれば、２レーンに変更する。
【０１２１】
尚、レーン数の下げ幅は、１段階に限らない。
【０１２２】
また、マイクロコントローラ１０１は、バッファ使用率が、例えば３１％以上であった場合で、更に、その際における送信若しくは受信バッファにおける何れかのバッファ使用率が、例えば８１％を超える場合は、同様にリンクを一旦アイドル状態にし、エラー検出回路をディセーブルにし（ステップＳ＿Ｂ５２）、レーン数を１段階増やして（例えば、倍増）、リンクを再確立する（ステップＳ＿Ｂ６２）。
【０１２３】
尚、マイクロコントローラ１０１は、上述したレーン数の減数化と同様に、当該リンクを一旦、電気的なアイドル状態にした後に、リンクを復旧する処理であるリカバリ状態において、レーン数を1段階増やすコマンドを発行することによりリンクを再確立する。一例として、現在２レーンでリンクを確立していれば、４レーンに変更する。また、現在４レーンでリンクを確立していれば、８レーンに変更する。
【０１２４】
尚、レーン数の上げ幅は、１段階に限らない。
【０１２５】
そして、マイクロコントローラ１０１は、リンク速度変更（Ｓ＿Ｂ６１、及びＳ＿Ｂ６２）を行って、対象ポートにおいてリンクが確立した後は、エラー検出回路におけるエラーを表す情報をクリアした後、エラー検出回路をイネーブルにする（ステップＳ＿Ｂ７１、ステップＳ＿Ｂ７２）。
【０１２６】
マイクロコントローラ１０１は、上述した処理を、ＰＯＲＴ＿ＮＵＭ＝ＰＯＲＴ＿ＮＵＭ＋１として、ポート番号を変更することにより、ＵＰ１０４から実行し、例えばＤＰ１０７、ＤＰ１１０の順番で実行する（ステップＳ＿Ｂ８）。
【０１２７】
そして、マイクロコントローラ１０１は、ＤＰ１１０における処理が終わり、全てのポートにおける処理が終わると（つまり、ＰＯＲＴ＿ＮＵＭ＝４になった場合）、引き続き、図６に示すリンクスピード調整処理を行う（ステップＳ＿Ａ２）。
【０１２８】
また、図５に示す、ＰＣＩｅスイッチ１２における送信及び受信バッファ使用率は、一例として、バッファ使用率が例えば３０％以下であれば、バッファ使用率が低いとして、リンクスピードを低減することや、レーン数を削減することとし、また、バッファ使用率が例えば８１％以上であれば、バッファ使用率が高いとして、リンクスピードを増大することや、レーン数を増加することとした。
【０１２９】
しかしながら、送信及び受信バッファにおけるデータ量は、動的に変化するので、バッファ使用率は変動する。そこで、バッファ使用量を平均化し、その平均化されたバッファ使用量を基にバッファ使用率を求め、予め定めた閾値に基づいて判断するようにすればよい。
【０１３０】
より具体的には、図５に示す、ＰＣＩｅスイッチ１２におけるマイクロコントローラ１０１は、バッファであるＵＰ１０４と、ＤＰ１０７と、ＤＰ１１０とがそれぞれ有する送信及び受信バッファにおけるサイズを、例えばそれぞれ１０等分に分割する。
【０１３１】
そして、マイクロコントローラ１０１は、例えば１００ｍｓ（ｍｉｌｌｉ＿ｓｅｃｏｎｄ）毎に例えば１秒間に亘り（つまり１０回）、分割されたバッファにおいて、データが少ない方から貯まる際に、３以下である状態が継続すれば、バッファ使用率は３０％以下とすればよい。
【０１３２】
また、マイクロコントローラ１０１は、例えば１００ｍｓ毎に例えば１秒間に亘り（つまり１０回）、分割されたバッファにおいて、データが少ない方から貯まる際に、８以上である状態が継続すれば、バッファ使用率は８１％以上とするようにしてもよい。
【０１３３】
また、その際にリンクスピードや、レーン数は、頻繁に変更されないように、バッファ使用率を監視する間隔や、バッファ使用率を監視する期間や、バッファ使用率を監視する際の閾値（例えば、バッファを１０等分したサイズにおいて、データが少ない方から貯まる際の容量を表す、例えば下から３番目や８番目などの閾値）を、バッファ使用率における変化率に基づいて適宜に変更するようにすればよい。
【０１３４】
また、バッファ使用率における変化率は、例えばバッファ使用率を監視する期間を単位時間として、その単位時間におけるデータが少ない方から貯まる際の変化率を求めるようにすればよい。
【０１３５】
尚、上述した監視間隔や、回数や、バッファ使用率を判断する閾値は、一例であり、この数値に限定しているわけではない。
【０１３６】
ここで、図８は、本実施形態に係るデータ通信装置１０におけるリンクスピード調整処理を行なった結果、データ入出力部における電力消費が削減される場合を説明する図である。
【０１３７】
上述したように、本実施形態に係るデータ通信装置１０は、各ポートにおけるバッファ使用率（データ通信量）に応じて、リンクスピード及びレーン数を調整するため、必要以上に電力が消費されることを防止することができる。
【０１３８】
つまり、図８に示すように、本実施形態におけるＰＣＩｅスイッチ１２を用いた場合の消費電力を低減する効果は、全てのポートが例えば８Ｇｂｓｐで、且つ、８レーンによって動作している場合に比べると、リンクスピードを調整した（下げた）場合の各ポートにおける、レーン毎に有するパラレルデータとシリアルデータとの間で変換を行う回路（不図示）におけるデータ速度を低減することによって、当該回路における消費電力を低減することができるので、合計消費電力は３０％程度削減できる。
【０１３９】
更に、レーン数を削減した場合も加える（不図示）と、消費電力を低減する効果は、全てのポートが例えば８Ｇｂｓｐで、且つ、８レーンによって動作している場合に比べると、レーン数を変更した（減らした）場合の各ポートにおける、レーン毎に有するパラレルデータとシリアルデータとの間で変換を行う回路（不図示）を休止することによって、当該回路における消費電力を更に低減することができるので、合計消費電力は、リンクスピードを調整した場合も含めて６０％程度削減することが可能である。
【０１４０】
尚、各レーンにおける消費電力は、ＰＣＩ＿ＳＩＧが公開する「Ｍｉｎｉｍｉｚｉｎｇ＿ＰＣＩ＿Ｅｘｐｒｅｓｓ＿Ｐｏｗｅｒ＿Ｃｏｎｓｕｍｐｔｉｏｎ」に記載された、例えば以下の値を参考値として計算している。
【０１４１】
即ち２．５ＧＴ／ｓ（Ｇｉｇａ＿Ｔｒａｎｓｆｅｒ＿ｐｅｒ＿ｓｅｃｏｎｄ）＿Ｓｗｉｔｈｅｃｓでの消費電力は、１００−１５０ｍＷ／レーンで、５ＧＴ／ｓ＿Ｓｗｉｔｈｅｃｓでの消費電力は、１５０−２００ｍＷ／レーンで、８ＧＴ／ｓ＿Ｓｗｉｔｈｅｃｓでの消費電力は、＿３００ｍＷ／レーンである。
【０１４２】
尚、本実施形態では、リンクスピード調整処理は、変更するリンク速度を１段階として説明したが、バッファ使用率の増減変化量に基づいて、最小速度、若しくは最大速度を含む２段階以上で変化させることを許す構成をとることも可能である。
【０１４３】
同様に、レーン数変更処理は、変更するレーン数を１段階として説明したが、バッファ使用率の増減変化量に基づいて、最小数、若しくは最大数を含む２段階以上で変化させることを許す構成をとることも可能である。
【０１４４】
上述したように、本実施形態によれば、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【０１４５】
尚、リンクスピード調整処理及びレーン数変更処理は、ＰＣＩ＿Ｅｘｐｒｅｓｓ規格に準拠したコマンドを用いることが可能であるので、ＰＣＩ＿Ｅｘｐｒｅｓｓ規格を用いる機器間において適用可能である。
【０１４６】
また、リンクスピードは、例えば、上限が８Ｇｂｐｓ、下限が２．５Ｇｂｐｓであるので、現在のリンクスピードが８Ｇｂｐｓ若しくは２．５Ｇｂｐｓであれば、バッファ使用率によらず、上限以上のリンクスピードに上げたり、下限以下のリンクスピードに下げたりすることはできず、その場合は、それぞれ上限リンクスピード若しくは、下限リンクスピードを維持するものとする。
【０１４７】
また、同様にレーン数は、例えば、上限が３２、下限が１であるので、現在のレーン数が３２若しくは１であれば、バッファ使用率によらず、上限以上のレーン数に上げたり、下限以下のレーン数に下げたりすることはできず、その場合は、それぞれ上限数若しくは、下限数を維持するものとする。
【０１４８】
以上、本発明の第３の実施形態として、上述した構成及び動作を例に説明したが、係る本実施形態を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【０１４９】
（第３の実施形態の第１の実施例）
次に、第３の実施形態を基本とする第３の実施形態の第１の実施例について図３乃至図７を参照して説明する。第３の実施形態では、リンクスピード調整処理と、レーン数変更処理とを実現する機能を、ＰＣＩｅスイッチ１２に搭載して実現することを説明した。
【０１５０】
本実施形態の第１の実施例では、図３に示すＣＰＵ１１に内蔵されたＲＣにおけるＰＣＩ＿Ｅｘｐｒｅｓｓバス（ＰＣＩｅバス。不図示）に対しても実施することが可能である。
【０１５１】
従って、以下の説明においては、本実施例に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより重複する説明を省略する。
【０１５２】
係る第１の実施例は、図５に示すような専用のマイクロコントローラ１０１を用いる代わりに、ＣＰＵ自身において実行する例えばファームウェア（Ｆｉｒｍ＿Ｗａｒｅ（以下、「ＦＷ」と略称する）制御により、自ＣＰＵが有するＰＣＩｅバスにおけるバッファ使用率を監視し、リンクスピード調整処理及びレーン数変更処理を行うようにする。
【０１５３】
これにより、図３に示す、例えばＬＡＮカード１５において、ＣＰＵ１１におけるＲＣ、が有するＰＣＩｅバスにおけるバッファ使用率に基づいてリンクスピードを調整したり、レーン数を変更したりすることができる。
【０１５４】
また、本実施例は、第１乃至第３の実施形態を基本としている。そのため、本実施例は、第１乃至第３の実施形態が有する効果を同様に有する。
【０１５５】
つまり、本本実施例によれば、ＣＰＵに内蔵するＲＣや、そのＲＣにＰＣＩｅバスを介して接続されるＰＣＩｅスイッチにおいて、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【０１５６】
以上、本発明の第３の実施形態の第１の実施例として、上述した構成及び動作を例に説明したが、係る本実施例を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【０１５７】
（第３の実施形態の第２実施例）
次に、第３の実施形態を基本とする第３の実施形態の第２の実施例について図３乃至図７を参照して説明する。
【０１５８】
本実施形態の第２の実施例では、図３に示す、ホストバスアダプタ（ＨＢＡ）１３、１４は、アップストリームは、ＰＣＩｅバスであり、ダウンストリームがＬＡＮインタフェースであって、通信可能なＬＡＮインタフェースを有する外部装置である例えばネットワークストレージ装置等に接続される点が、第３の実施形態、及びその第１の実施例と相違する。
【０１５９】
つまり、ＬＡＮを介して周辺機器を制御するＨＢＡを有する構成においても、そのＨＢＡにおけるＰＣＩｅバスが接続されるアップストリームにおいて、ＰＣＩｅバスにおけるバッファ使用率に応じて、リンクスピードやレーン数を変更することが可能である。
【０１６０】
一例として、アップストリームにおいてＰＣＩｅバスを用い、ダウンストリームにおいてＬＡＮを用いるＥｘｐＥｔｈｅｒ（イクスプレスイーサ。以下同様）規格に準拠したＥｘｐＥｔｈｅｒデバイスを接続する際にも、そのアップストリームにおいて適用することが可能である。
【０１６１】
係る第２の実施例は、これにより、例えばオフィス等における、データ通信装置において、消費電力を低減しながら、ＥｘｐＥｔｈｅｒ規格に対応する周辺機器を使用することが可能である。
【０１６２】
また、本実施例は、第１乃至第３の実施形態を基本としている。そのため、本実施例は、第１乃至第３の実施形態が有する効果を同様に有する。
【０１６３】
つまり、本実施例によれば、データバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【０１６４】
以上、本発明の第３の実施形態の第２の実施例として、上述した構成及び動作を例に説明したが、係る本実施例を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【０１６５】
＜第４の実施形態＞
次に、第１乃至第３の実施形態を基本とする、第４の実施形態について図９を参照して説明する。図９は、第３の実施形態に係るデータ通信装置１０おける機能（図３）を情報処理装置３００によって実現する際の構成を表すブロック図である。即ち、図９は、本実施形態に係るデータ通信装置においてリンクスピード調整処理、及びレーン数変更処理を行なうプログラムが情報処理装置において動作する構成を例示する図である。
【０１６６】
本実施形態に係るデータ通信装置は、第３の実施形態における機能及び処理を情報処理装置３００におけるＣＰＵと、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ＿Ｓｙｓｔｅｍ：以下「ＯＳ」と略称する）及びアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ：以下、「ＡＰ」と略称する）とからなるソフトウェア（Ｓｏｆｔｗａｒｅ：以下、「ＳＷ」と略称する）によって実現する。
【０１６７】
図９を参照すると、本実施形態に係る情報処理装置３００は、ＣＰＵ３０１と、メモリ３０２と、ＰＣＩｅスイッチ処理プログラム３０３と、不揮発性主記憶装置３０４と、アプリケーションソフトウェア（ＡＰ＿ＳＷ）を本情報処理装置３００に供給する際に用いる記憶媒体リーダライタ３０５と、データバス３０６と、通信インタフェース３０７と、入出力コントローラ及びＰＣＩｅスイッチ３０８と、ディスプレー３０９及び記憶媒体３１０とからなる。
【０１６８】
本実施形態において、情報処理装置３００は、図３に示すブロック図における各機能と、図６及び図７に示すフローチャートにおける各処理とを、図９に示す情報処理装置３００が有するＣＰＵ３０１と、そのＣＰＵ３０１において動作するソフトウェアであるＯＳ並びに、メモリ３０２に展開したコンピュータ・プログラムであるＰＣＩｅスイッチ処理プログラム３０３とが協働することにより実現する。
【０１６９】
尚、本実施形態では、一例として、第３の実施形態に係るデータ通信装置１０を基にしたデータベース装置を、情報処理装置３００により実現するコンピュータ・プログラムを説明する。
【０１７０】
しかしながら、上述した装置構成に限定しているわけではなく、第３の実施形態における第１及び第２の応用例等についても、上述したＰＣＩｅスイッチ処理プログラム３０３、及び後述するデータベースプログラム３１８を適宜に改変することにより、データ通信装置１０を用いた多様な情報処理装置を、コンピュータ・プログラムを用いて情報処理装置３００により実現することが可能である。
【０１７１】
また、メモリ３０２におけるデータベースプログラム３１８は、本情報処理装置３００をデータ通信装置を用いたデータベース装置として動作させるためのプログラムであり、例えば、上述した第３の実施形態におけるＣＰＵ１１が、データ通信装置１０を制御するプログラムに対応する。
【０１７２】
続いて、本情報処理装置３００によるデータ通信装置におけるＰＣＩｅスイッチ処理プログラム３０３について説明する。ＰＣＩｅスイッチ処理プログラム３０３は例えば、上述した第３の実施形態における図５に示すマイクロコントローラ１０１が行う処理に対応する。
【０１７３】
本情報処理装置３００におけるＰＣＩｅスイッチ処理プログラム３０３は、処理機能として、リンクスピード調整処理３１１及びレーン数変更処理３１２の各処理プログラムを有する。
【０１７４】
そして、ＰＣＩｅスイッチ処理プログラム３０３におけるリンクスピード調整処理３１１及びレーン数変更処理３１２は、第３の実施形態において説明した図６及び図７に示すフローチャートにそれぞれ順に対応する処理を実行する。
【０１７５】
尚、上述した各処理を実現する各フローチャートを用いた動作説明は、第３の実施形態において説明しているので、本実施形態における説明は省略する。
【０１７６】
また、本情報処理装置３００は、ＰＣＩｅスイッチ処理プログラム３０３を外部からファイルやデータの形式で読み書きする記憶媒体リーダライタ３０５と、ＣＰＵ３０１と協働するＯＳによる制御によって情報処理装置３００が備える各種入出力データの入出力を制御する入出力コントローラ及びＰＣＩｅスイッチ３０８と、外部装置(不図示。以下、同様)とデータ交換することが可能なデータバス３０６と、同じく外部装置とデータ通信することが可能な通信インタフェース３０７とを有する。
【０１７７】
尚、ホストバスアダプタ（ＳＡＳ）３１３は、インタフェースにＳＡＳを用いており、例えば、テープデバイス装置等を接続することが可能である。また、ホストバスアダプタ（ＦＣ）３１４は、インタフェースにＦＣを用いており、例えば、ディスクアレイ装置等を接続することが可能である。
【０１７８】
また、ＰＣＩｅスイッチ処理プログラム３０３や、データベースプログラム３１８は、図示していない、Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ（以下、「ＲＯＭ」と略称する）等において、本情報処理装置３００をデータベース装置として制御するためのファームウェア（ＦＷ）として記憶させるようにしてもよい。
【０１７９】
そして、本データ通信装置を操作する操作者は、例えばディスプレー３０９を用いて、入出力コントローラ及びＰＣＩｅスイッチ３０８に接続されるホストバスアダプタ（ＳＡＳ）３１３や、ホストバスアダプタ（ＦＣ）３１４に接続されるそれぞれ、例えばテープデバイス装置や、ディスクアレイ装置等が運用される様子をモニタリングすることが可能である。
【０１８０】
その際に、操作者は、入出力コントローラ及びＰＣＩｅスイッチ３０８に接続されるホストバスアダプタ（ＳＡＳ）３１３や、ホストバスアダプタ（ＦＣ）３１４におけるリンクスピードや、レーン数の状況を、ディスプレー３０９において併せて表示させ、データベース装置としての運用状況を管理することが可能である。
【０１８１】
また、本実施形態に係る情報処理装置３００は、上述したデータ通信装置１０（図３）、におけるＰＣＩｅスイッチ１２における制御を表すフローチャート（図６及び図７）を、実現可能なコンピュータ・プログラム（即ち、ＰＣＩｅスイッチ処理プログラム３０３）として供給する。
【０１８２】
そして、そのコンピュータ・プログラムを情報処理装置３００によるデータベース装置としての制御方法として用意した上記ＣＰＵ３０１及び協働するＯＳ並びに、ＰＣＩｅスイッチ処理プログラム３０３をメモリ３０２に読み出して実行することによって、第３の実施形態で説明したデータ通信装置１０の動作が達成される。
【０１８３】
また、当該情報処理装置３００への上述したコンピュータ・プログラムの供給方法は、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ−Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等のディスクメディア及び、ユニバーサルシリアルバス（Ｕｎｉｖｅｒｓａｌ＿Ｓｅｒｉａｌ＿Ｂｕｓ：以下「ＵＳＢ」と略称する）メモリ等のメモリメディア等の各種のコンピュータ読み取り可能な記憶媒体３１０を介して当該情報処理装置３００内へ、記憶媒体リーダライタ３０５を用いてインストールする方法を採用可能である。
【０１８４】
また、当該情報処理装置３００への上述したコンピュータ・プログラムの供給方法は、データバス３０６を介して外部装置からインストールする方法あるいは、通信インタフェース３０７を用いてインターネット等の有線や無線等の通信可能な通信回線を介して外部装置よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。
【０１８５】
そして、このような場合において、本実施形態は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体３１０によって構成されると捉えることができる。
【０１８６】
また、係る汎用の情報処理装置３００を用いたデータベース装置は、専用の装置によって実現してもよい。
【０１８７】
本実施形態は、第３の実施形態を基本としている。そのため、本実施形態は、第３の実施形態が有する効果を同様に有する。
【０１８８】
即ち、本実施形態によれば、情報処理装置３００が有する入出力コントローラ及びＰＣＩｅスイッチ３０８が有するＰＣＩｅバスのデータバッファにおけるバッファ使用率に応じて、データバスが消費する電力を適切に低減することができる。
【０１８９】
以上、本発明の第４の実施形態として、上述した構成及び動作を例に説明したが、係る本実施形態を例として説明した本発明は、必ずしも係る構成や動作には限定されない。
【産業上の利用可能性】
【０１９０】
本発明は、上述した各実施形態には限定されず、例えば、ＰＣＩ＿Ｅｘｐｒｅｓｓスイッチ等の高速シリアル通信バスを構成する各ポートにおけるデータ送信バッファ及びデータ受信バッファにおいてバッファ使用率を監視し、バッファ使用率に応じてリンクスピード及びレーン数を調整するように制御する情報処理装置等に適用可能である。
【符号の説明】
【０１９１】
１    データ通信装置
２    制御部
３    通信バッファ
４    データバス
５    外部装置
１０    データ通信装置
１１    ＣＰＵ
１２    ＰＣＩｅスイッチ
１３    ホストバスアダプタ（ＳＡＳ）
１４    ホストバスアダプタ（ＦＣ）
１５    ＬＡＮカード
１６    テープデバイス
１７    ディスクアレイ
１８    通信ネットワーク
３０    通信バッファ
５０    データバススイッチ
５１    アップストリームポート
５２    送信バッファ
５３    受信バッファ
６１    ダウンストリームポート（＃１）
６２    送信バッファ
６３    受信バッファ
７１    ダウンストリームポート（＃２）
７２    送信バッファ
７３    受信バッファ
８０    バッファ監視部
９０    リンク制御部
１０１    マイクロコントローラ
１０２    バッファ監視部
１０３    リンク制御部
１０４    アップストリームポート
１０５    送信バッファ
１０６    受信バッファ
１０７    ダウンストリームポート（＃１）
１０８    送信バッファ
１０９    受信バッファ
１１０    ダウンストリームポート（＃２）
１１１    送信バッファ
１１２    受信バッファ
３００    情報処理装置
３０１    ＣＰＵ
３０２    メモリ
３０３    ＰＣＩｅスイッチ処理プログラム
３０４    不揮発性主記憶装置
３０５    記憶媒体リーダライタ
３０６    データバス
３０７    通信インタフェース
３０８    入出力コントローラ及びＰＣＩｅスイッチ
３０９    ディスプレー
３１０    記憶媒体
３１１    リンクスピード調整処理
３１２    レーン数変更処理
３１３    ホストバスアダプタ（ＳＡＳ）
３１４    ホストバスアダプタ（ＦＣ）
３１８    データベースプログラム
【図１】
2014078065.tif 000003
【図２】
2014078065.tif 000004
【図３】
2014078065.tif 000005
【図４】
2014078065.tif 000006
【図５】
2014078065.tif 000007
【図６】
2014078065.tif 000008
【図７】
2014078065.tif 000009
【図８】
2014078065.tif 000010
【図９】
2014078065.tif 000011