(57)【要約】【課題】クレジットベース設計によるフロー制御において、データ転送速度と回路動作の最適化を行って消費電力を節約するデータ送信装置、情報処理装置、及び動作周波数制御方法を提供すること。【解決手段】本発明に係るデータ送信装置は、データ受信装置にデータを送信する送信手段と、データ受信装置から送信され、データ受信装置の受信可能なデータ量に係わる情報を受信する受信手段と、送信手段によるデータ送信の転送レートに対応する動作周波数を制御する周波数制御手段と、を具備し、周波数制御手段は、データ受信装置の受信可能なデータ量を有するデータを送信手段が送信するのに要する送信時間が、データ送信を開始してから受信手段が情報を受信するまでの受信時間よりも小さい場合、送信時間と受信時間との値が等しくなるまで動作周波数値を低下させる。【選択図】図６
2010218063.tif 000002
【特許請求の範囲】
【請求項１】
データ受信装置にデータを送信する送信手段と、
前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信する受信手段と、
前記送信手段によるデータ送信の転送レートに対応する動作周波数を制御する周波数制御手段と、を具備し、
前記周波数制御手段は、前記データ受信装置の受信可能なデータ量を有するデータを前記送信手段が送信するのに要する送信時間が、データ送信を開始してから前記受信手段が前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させる周波数制御手段であることを特徴とするデータ送信装置。
【請求項２】
前記周波数制御手段は、前記送信時間の値が前記受信時間の値より大きい場合、前記送信時間と前記受信時間との値が等しくなるまで前記動作周波数を上げる周波数制御手段であることを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
データ受信装置および当該データ受信装置にデータを送信するデータ送信装置を有する情報処理装置において、
前記データ送信装置は、
前記データ受信装置にデータを送信する送信手段と、
前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信する受信手段と、
前記送信手段によるデータ送信の転送レートに対応する動作周波数を制御する周波数制御手段と、を具備し、
前記周波数制御手段は、前記データ受信装置の受信可能なデータ量を有するデータを前記送信手段が送信するのに要する送信時間が、データ送信を開始してから前記受信手段が前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させる周波数制御手段であることを特徴とする情報処理装置。
【請求項４】
前記周波数制御手段は、前記送信時間の値が前記受信時間の値より大きい場合、前記送信時間と前記受信時間との値が等しくなるまで前記動作周波数を上げる周波数制御手段であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
データ受信装置にデータを送信し、
前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信し、
前記データ受信装置へのデータ送信の転送レートに対応する動作周波数を制御し、
前記データ受信装置の受信可能なデータ量を有するデータを送信するのに要する送信時間が、データ送信を開始してから前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させることを特徴とする動作周波数制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置、情報処理装置、及び動作周波数制御方法の分野に関する。
【背景技術】
【０００２】
PCIバスに代わるシリアル転送インターフェースとして、PCI Express（登録商標）が知られている。PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、低電圧差動信号伝送、ポイントツーポイントで送
受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の
違いによる高いスケーラビリティなどの特徴を持つ。
【０００３】
PCI Expressで用いられる最小構成の伝送路であるレーンは、片方向2.5Gbps、双方向5.0Gbpsの全二重通信が可能である。8ビットのデータを送るのにクロック信号など2ビットを追加した10ビットを費やすため、実効データ転送レートは、片方向2.0Gbps(250MB/s)、双方向4.0Gbps(500MB/s)である。ただ実際のPCI Expressポートは、レーンを複数束ねた構成、例えばx2、x4、x8、x12、x16、x32などの製品が登場しており、このような高速性によりAGPに代わるビデオカード用インターフェースとして利用されるようになってきている。
【０００４】
PCI Expressにおけるデータ転送方式は、PCIバスよりもネットワークでのパケットの送受信に近似している。内部構成も同様にネットワークに似ており、トランザクション層、データリンク層、物理層の３層構造となっている。例えば、データ送信されるとき、発行された送信リクエストは、トランザクション層でパケット化され、データリンク層に渡される。データリンク層は、接続されている相手側デバイス間との送受信の制御を担っており、パケットにシーケンス番号、CRCを付加し物理層に渡す。物理層は、シリアル転送を受け持つ部分で、8b/10b変換を行うSERDESによってパケットがシリアルデータとして送られる。
【０００５】
一般に、ＰＣ（Personal Computer）等の情報処理装置では、デバイス間のインターフェースにPCIバス等に代表されるパラレル方式のバスが使用されている。しかし、パラレル方式のバスでは、レイテンシが小さく、パケットサイズやバッファサイズの動的な最適化の仕組みを構築することができない。そこで、内部バスの更なる高速化と高効率化を実現する手段として、ＰＣＩバスのようなパラレル方式のインターフェースに代えて、PCI Expressを採用した情報処理装置及びデータ通信装置が提案されるようになってきた（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところでPCI Expressのフロー制御は、クレジットベースで行われることが知られている。データ転送を始める前に、受け取り側のバッファの空き状況を確認するようにして、オーバーフロー、アンダフローが発生しないメカニズムである。
【０００７】
具体的に、受信側（例えば受信側エンドポイント）は、リンク初期化時に自身が受信可能なバッファ容量（クレジット値）を送信側に通知しておく。送信側（例えば送信側エンドポイント）は、受信側のバッファ容量と送信するパケットの長さとを比較し、受信側のバッファ容量に一定の残りがある場合、パケットを送信する。そして送信側は、自身が送信したパケットのサイズを通知された受信側のバッファ容量から減算する。また、受信側からバッファ容量の空き情報が伝えられるとその分を加算する。このようなクレジットベースのフロー制御により、送信側は受信側のバッファ容量を超えることなくパケットの転送を行なえるようにしている。
【０００８】
このようなフロー制御によれば、送信側のデータ送信速度に対して受信側のバッファ容量が十分大きい場合、送信側は通知された受信側のバッファ容量（クレジット空き容量情報レジスタ値）が０になる前に、受信側からバッファ容量の空き情報（Update FC）を受信できる。従ってこの場合、送信側は、受信側に対してデータを連続的に送信することができる。
【０００９】
その一方、送信側のデータ送信速度に対して受信側のバッファ容量が十分でない場合（小さい場合）、送信側で回路動作（クロック周波数）を上げてデータ送信速度を上昇させていくとやがて、受信側からバッファ容量の空き情報（Update FC）を受信する前に、送信側では通知された受信側のバッファ容量（クレジット空き容量情報レジスタ値）が０になってしまう。この場合送信側は、受信側に対してデータを送信することができない。受信側からバッファ容量の空き情報（Update FC）を受信して受信側からバッファ容量確保したとの通知を受けてから、送信側は受信側に対してデータを送信することができるようになるのである。クレジットベースのフロー制御ではこのような状況下において、待ち時間が発生しその分データ転送レートが低下してしまう。
【００１０】
従って、PCI Expressのようなクレジットベースのフロー制御においては、受信側のバッファ容量が０である以上、送信側での回路動作がいくら高速であっても受信側へのデータ送信は許可されないため、その消費電力に無駄が生じていた。
【００１１】
そこで本発明では上記のような問題に鑑み、クレジットベース設計によるフロー制御において、データ転送速度と回路動作の最適化を行って消費電力を節約するデータ送信装置、情報処理装置、及び動作周波数制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
そこで上記課題を解決するため、本発明に係るデータ送信装置は、データ受信装置にデータを送信する送信手段と、前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信する受信手段と、前記送信手段によるデータ送信の転送レートに対応する動作周波数を制御する周波数制御手段と、を具備し、前記周波数制御手段は、前記データ受信装置の受信可能なデータ量を有するデータを前記送信手段が送信するのに要する送信時間が、データ送信を開始してから前記受信手段が前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させる周波数制御手段であることを特徴とする。
【００１３】
また上記課題を解決するため、本発明に係る情報処理装置は、データ受信装置および当該データ受信装置にデータを送信するデータ送信装置を有する情報処理装置において、前記データ送信装置は、前記データ受信装置にデータを送信する送信手段と、前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信する受信手段と、前記送信手段によるデータ送信の転送レートに対応する動作周波数を制御する周波数制御手段と、を具備し、前記周波数制御手段は、前記データ受信装置の受信可能なデータ量を有するデータを前記送信手段が送信するのに要する送信時間が、データ送信を開始してから前記受信手段が前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させる周波数制御手段であることを特徴とする。
【００１４】
また上記課題を解決するため、本発明に係る動作周波数制御方法は、データ受信装置にデータを送信し、前記データ受信装置から送信され、前記データ受信装置の受信可能なデータ量に係わる情報を受信し、前記データ受信装置へのデータ送信の転送レートに対応する動作周波数を制御し、前記データ受信装置の受信可能なデータ量を有するデータを送信するのに要する送信時間が、データ送信を開始してから前記情報を受信するまでの受信時間よりも小さい場合、前記送信時間と前記受信時間との値が等しくなるまで動作周波数値を低下させることを特徴とする。
【００１５】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、クレジットベース設計によるフロー制御において、データ転送速度と回路動作の最適化を行って消費電力を節約するデータ送信装置、情報処理装置、及び動作周波数制御方法を提供することができる。
【図面の簡単な説明】
【００１７】
【図１】PCI Expressシステムの構成を示す図の一例である。
【図２】PCI Expressプラットホームを有する情報処理装置１の構成を示す図の一例である。
【図３】PCI Expressで規定されるフロー制御を説明するシーケンス図である。
【図４】本発明に係るPCI Expressのデータ通信装置間構成を示す図の一例である
【図５】実施例によるフロー制御を説明するシーケンス図である。
【図６】送信側の回路の動作周波数fとデータ転送レートRの関係を示す図の一例である。
【図７】送信データとUpdate FCの状態を模式的に示す図である。
【図８】送信データとUpdate FCの状態を模式的に示す図である。
【図９】送信データとUpdate FCの状態を模式的に示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明を実施するための形態を各実施形態において図面を用いて説明する。
【００１９】
＜構成＞
（システムの構成）
図１は、PCI Expressシステムの構成を示す図の一例である。ＣＰＵ１１０やメモリ１１１が接続されたルートコンプレックス１１２に対して、PCI Expressグラフィックス１１３がPCI Express１１４ａにより接続され、また、エンドポイント１１５ａやレガシーエンドポイント１１６ａがPCI Express１１４ｂにより接続されたスイッチ１１７ａがPCI Express１１４ｃにより接続され、さらには、エンドポイント１１５ｂやレガシーエンドポイント１１６ｂがPCI Express１１４ｄにより接続されたスイッチ１１７ｂやPCIバススロット１１８が接続されたPCIブリッジ１１９がPCI Express１１４ｅにより接続されたスイッチ１１７ｃがPCI Express１１４ｆにより接続されたツリー構造（木構造）とされている。
【００２０】
図２は、PCI Expressプラットホームを有する情報処理装置１の構成を示す図の一例である。つまり、実際に情報処理装置１に搭載されるPCI Expressプラットホーム例を示す。図示例は、ＣＰＵ１２１がＣＰＵホストバス１２２により接続され、メモリ１２３が接続されたメモリハブ１２４（ルートコンプレックスに相当する）に対して、例えば、グラフィックス１２５がｘ１６のPCI Express１２６ａにより接続され、また、変換機能を有するＩ／Ｏハブ１２７がPCI Express１２６ｂにより接続されている。このＩ／Ｏハブ１２７には、例えば、Serial ATA１２８によりストレージ１２９が接続され、LPC１３０によりローカルＩ／Ｏ１３１が接続され、USB 2.0１３２やPCIバススロット１３３が接続されている。さらには、Ｉ／Ｏハブ１２７には、PCI Express１２６ｃによりスイッチ１３４が接続され、このスイッチ１３４には、各々、PCI Express１２６ｄ，１２６ｅ，１２６ｆによりモバイルドック１３５、ギガビットイーサネット１３６（イーサネットは登録商標）、アドインカード１３７が接続されている。
【００２１】
ところで、PCI Expressのフロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って図１においては、PCI Expressにより接続されるルートコンプレックス１１２、スイッチ１１７、エンドポイント１１５ａ、レガシーエンドポイント１１６ａ、及びPCI ブリッジ１１９等全てのデータ通信装置は本発明に係るデータ「送信」装置になり得る。また図２においても同様に、メモリハブ１２４、Ｉ／Ｏハブ１２７、グラフィックス１２５、モバイルドック１３５、ギガビットイーサネット１３６、及びアドインカード１３７等全てのデータ通信装置は本発明に係るデータ「送信」装置になり得る。
【００２２】
例えば、PCI Express１２６ａにより接続されるメモリハブ１２４及びグラフィックス１２５においては、その用途から想定して、主にメモリハブ１２４がデータ「送信」装置となり、グラフィックス１２５がデータ「受信」装置となる場合が多い。しかしながら、グラフィックス１２５からメモリハブ１２４へ何らかのデータ通信を行う限り、今度は逆にメモリハブ１２４がデータ「受信」装置となり、グラフィックス１２５がデータ「送信」装置となる。即ち、PCI Expressに接続されるデータ通信装置は、データの送信側及び受信側の何れにもなり得る機能を備えている。
【００２３】
（フロー制御）
次に、PCI Expressで規定されるフロー制御（フローコントロール）について説明する。一般的なフロー制御として、送信側はまずデータを送信し、受信側で問題が発生したら再度送信する方法がある。これに対してPCI Expressでは、送信側は、事前に受信側バッファの空き容量を確認し十分な空き容量が確保できている場合に、パケットを送信する。
【００２４】
PCI Expressのフロー制御は、データリンクレイヤが生成するDLLP(Data Link Layer Packet)によって実現される。DLLPタイプとして、「Init FC」、「Update FC」に大別できる。またこれらフロー制御用のDLLPには「Hdr FC」、「Data FC」の値を格納するフォーマットを有しており、これらの値から、例えば送信側は受信側のバッファがどれくらい余っているかを知ることができるようになっている。
【００２５】
図３は、PCI Expressで規定されるフロー制御を説明するシーケンス図である。PCI Expressのフロー制御は、クレジットベースで行われる。まず受信側は、リンク初期化時に自身が受信可能なバッファ容量（クレジット値）を送信側に通知しておく。送信側は、受信側のバッファ容量と送信するパケットの長さとを比較し、受信側のバッファ容量に一定の残りがある場合、パケットを送信する。そして送信側は、自身が送信したパケットのサイズを通知された受信側のバッファ容量から減算する。また、送信側は、受信側からバッファ容量の空き情報が伝えられるとその分を加算する。以下、図中、送信側（データ送信装置）と受信側（データ受信装置）を登場させて説明を行う。
【００２６】
始めに、受信側はInit FCを発行して送信側にクレジット値（自身が受信可能なバッファ容量を示す値）を通知する（Ｓ３０１）。なお、受信側のクレジット値の情報（内部のクレジットカウンタ）は初期化されているものとする。送信側はInit FCを受信すると、内部のクレジットカウンタ（クレジット空き容量情報レジスタ）の初期値をInit FCで指定されたクレジット値に設定する（Ｓ３０２）。ここまでが初期化手順である。
【００２７】
そして送信側はデータを送信する（Ｓ３０３）。このとき送信側はデータ送信毎に、クレジットカウンタの値を送信したデータ量だけ減少させる（Ｓ３０４）。
【００２８】
受信側はデータを受信する毎に、Update FCを発行して送信側に所定のクレジット値（例えば受信したデータ分のバッファ容量値）を通知する（Ｓ３０５）。送信側はUpdate FCを受信する毎に、クレジットカウンタ値をUpdate FCで設定された値だけ増加させる（Ｓ３０６）。クレジットカウンタの値の回復を図るのである。
【００２９】
このように送信側は、受信側から通知された受信可能なバッファ容量分のデータ送信を行なうことができる。なお、送信データ及びUpdate FCは基本的に１セットで扱われ、１のInit FCに対し１のUpdate FCが発行されるものとする。複数の送信データに対し１のUpdate FCを発行する場合はクレジットカウンタの値の回復が遅くなり、高速でデータ送信を行うためには即座にUpdate FCが発行される方が望ましいからである。
【００３０】
以上、PCI Expressで規定されるフロー制御である。勿論、本発明に係るデータ送信装置も上記の規定に従ったフロー制御の動作を行なう。
【００３１】
＜実施例＞
図４は、本発明に係るPCI Expressのデータ通信装置間構成を示す図の一例である。図に示されるように、２のデータ通信装置がPCI Expressにより接続されており、一のデータ通信装置がもう一方のデータ通信装置に対してデータを連続で送信する。この場合、データの送信側をデータ送信装置（以下単に送信側という）と、受信側をデータ受信装置（以下単に受信側という）と捉えることができる。
【００３２】
ここで、実施例を説明するにあたって前提条件を次のように設定する。
・送信側の送信するデータのペイロードを128byteとする。
・受信側のInit FCにおけるクレジット値を512byteとする。
・送信側が受信側のクレジット値容量分のデータを送信するのに要する時間（送信時間）をt1とする。
・送信側がデータパケットの送信を開始してから、対応するUpdate FCを受信するまでの時間（受信時間）をt2とする。
・また、PCI Expressの物理層は、データ通信装置の回路に対して十分に高速であり、送信側の回路の動作速度によってクレジット値容量分のデータ転送時間t1が定まるものとする。
【００３３】
このような条件の下で再び前述のフロー制御を説明する。図５は、実施例によるフロー制御を説明するシーケンス図である。
【００３４】
始めに、受信側はInit FCを発行して送信側にクレジット値（512byte）を通知する（Ｓ５０１）。送信側はInit FCを受信すると、内部のクレジットカウンタの初期値をInit FCで指定されたクレジット値（512byte）に設定する（Ｓ５０２）。ここまでが初期化手順である。
【００３５】
そして送信側はデータ１（128byte）を送信する（Ｓ５０３）。このとき送信側はデータ送信毎に、クレジットカウンタの値を送信したデータ量（128byte）だけ減少させる（Ｓ５０４）。送信側はデータ送信を開始すると、まだクレジットカウンタに余裕があるので、Update FCを待たずに128byteのパケットを合計４つまで送信し、クレジットカウンタの値を送信したデータ量（128byte）だけ減少させる（Ｓ５０５−Ｓ５１０）。128byteのパケット４つ目を送信すると（Ｓ５０９）、クレジットカウンタの値が0になるため（Ｓ５１０）、送信側はUpdate FCを受信するまで次のデータ送信を待機（待機時間Ｔ）する。
【００３６】
ここで、待機時間Ｔをなくす（データ転送レートの低下を回避する）には、一つに、受信側のバッファ容量（クレジット値）を大きくすればよい。しかしながら、回路規模やコストが増大してしまうため、受信側のバッファ容量にも一定の限界がある。ある程度まで受信側のバッファ容量を大きくできたとしても、送信側で回路動作を上げてデータ送信速度を上昇させていけばやがては、受信側からバッファ容量の空き情報（Update FC）を受信する前に、送信側では通知された受信側のクレジットカウンタが０になってしまう。
【００３７】
従って、受信側のクレジットカウンタが０になった状態において、回路周波数を上げてデータ送信速度を上昇させようとしても、フロー制御が働いて、受信側からバッファ容量の空き情報（Update FC）を受信して受信側からバッファ容量確保したとの通知（Update FC）を受けるまでは、送信側はデータ送信を行なうことができない。つまりこの間、送信側は「待ち」を行なわざるを得ない。
【００３８】
一方、受信側はデータを受信する毎に、Update FCを発行して送信側に所定のクレジット値（128byte）を通知する（Ｓ５１１）。送信側はUpdate FCを受信する毎に、クレジットカウンタ値をUpdate FCで設定された値だけ増加させ（Ｓ５１２）、再び次のデータ送信を開始する。
【００３９】
図６は、送信側の回路の動作周波数fとデータ転送レートRの関係を示す図の一例である。動作周波数fが大きくなるとデータ転送時間t1は短くなるが、Update FCを受信するまでの時間t2は一定である。従って、動作周波数fによって、t1とt2の大小関係が変化する。このt1とt2の大小関係によって、以下のように場合分けを行う。
【００４０】
(1) t1 > t2
この場合、送信側は動作周波数fに比例して、受信側からのUpdate FCを待つことなく、連続でデータを送信できる。このときの送信データとUpdate FCの状態を模式的に図７に示す。t1 > t2である場合には、データ転送レートRはt1によって決まる。よって、送信側の回路の動作周波数fを上げてt1を短くするとデータ転送レートRは上昇する。また回路の動作周波数fを下げてt1を長くするとデータ転送レートRは低下する。従ってt1 > t2である場合、本発明に係るデータ送信装置は、t1=t2になるか、或いは、動作周波数が設計された回路の上限に到達するまで、回路の動作周波数を高くする。
【００４１】
（２） t1 = t2
この場合、送信側は、受信側のUpdate FCを待つことなく連続でデータを転送できる。
このときの送信データとUpdate FCの状態を模式的に図８に示す。t1 = t2である場合には、データ転送レートRはt1とt2によって決まる。送信側の回路の動作周波数fを上げてt1を短くしても、t2が一定であるためデータ転送レートRは向上しない。また回路の動作周波数fを下げてt1を長くするとデータ転送レートRは低下する。従ってt1 = t2である場合、本発明に係るデータ送信装置は、この回路の動作周波数を維持する。
【００４２】
（３） t1 < t2
この場合、送信側は、受信側からのUpdate FCを待っている状態である。このときの送信データとUpdate FCの状態を図９に模式的に示す。t1 < t2である場合には、データ転送レートRはt2によって決まる。しかし、送信側の回路の動作周波数fを上げてt1を短くしても、t2が一定であるためデータ転送レートRは上昇しない。また回路の動作クロックfを下げてt1を長くしても、t2が一定であるためデータ転送レートRは低下しない。従ってt1 < t2である場合、本発明に係るデータ送信装置は、t1=t2になるか、或いは動作周波数が設計された回路の下限に到達するまで、回路の動作周波数を引き下げる。
【００４３】
即ち、本発明に係るデータ送信装置は、送信側が受信側のクレジット値容量分のデータを送信するのに要する時間（送信時間）と、送信側がデータパケットの送信を開始してから対応するUpdate FCを受信するまでの時間（受信時間）とが等しくなるように、回路の動作周波数を調整する（回路周波数制御手段）のである。
【００４４】
実際には、送信側は、初期状態では最高の動作周波数で通信を開始し、サンプル情報を採取する。サンプル情報とは、Init FCによるクレジット値情報や送信側がデータ送信を開始し対応するUpdate FCを受信するまでの受信時間の実測時間等である。そして、その実測時間が、受信側のクレジット値容量分のデータを送信するのに要する送信時間よりも大きい場合（t1 < t2）、実測時間と送信時間が等しくなるまで動作周波数を下げる制御を行う。動作周波数が下がると消費電力は削減される。このときデータ送信速度は、動作周波数を下げる前と下げた後で変化はなく（t1 = t2）、最速のデータ速度を実現している。
【００４５】
また、その実測時間が、受信側のクレジット値容量分のデータを送信するのに要する送信時間よりも小さい場合（t1 > t2）、引き続き最高の動作周波数でデータ送信を行う。
【００４６】
サンプル情報の取得は継続して行われ、Update FCを受信するまでの受信時間等に応じて動作周波数の制御を行う。
【００４７】
動作周波数を下げる制御を行った後、Update FCを受信するまでの受信時間の実測時間が受信側のクレジット値容量分のデータを送信するのに要する送信時間よりも小さくなった場合（t1 > t2）、実測時間と送信時間が等しくなるまで動作周波数を上げる制御を行う。
【００４８】
このように、本発明に係るデータ送信装置によれば、データ送信速度は維持しつつ、最小の消費電力でもってデータ送信を実現できる。即ち、クレジットベース設計によるフロー制御において、データ転送速度と回路動作の最適化を行って消費電力を節約するデータ送信装置、情報処理装置、及び方法を提供することが可能となる。
【００４９】
以上、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。即ち、PCI Expressによるフロー制御によらずとも、クレジット値に相当するような、データ受信装置の受信可能なデータ量の情報に基づいてフロー制御を行なうデータ送信装置についても本発明を適用することができる。
【符号の説明】
【００５０】
１        情報処理装置
【先行技術文献】
【特許文献】
【００５１】
【特許文献１】特開２００８−２１０２４号公報
【図１】
2010218063.tif 000003
【図２】
2010218063.tif 000004
【図３】
2010218063.tif 000005
【図４】
2010218063.tif 000006
【図５】
2010218063.tif 000007
【図６】
2010218063.tif 000008
【図７】
2010218063.tif 000009
【図８】
2010218063.tif 000010
【図９】
2010218063.tif 000011