(57)【要約】【課題】  データ受信の処理状況に応じて、データ送信装置に送信される情報を送信する時間間隔を変更でき、省電力化等に適したデータ通信装置及びデータ通信方法を提供する。【解決手段】  データ送信部から送信されるデータは、受信バッファ１７で一時格納され、データ処置部側に出力される。この受信バッファ１７におけるデータ受信処理状況は、受信バッファ処理状況計測部２１により計測され、フロー制御のための計測値Ａｍが生成され、計測値格納レジスタ２２に計測値Ａとして格納され、計測値送信部１９からデータ装置装置のフロー制御部に送信される。また、この計測値Ａｍは第１の比較器２３により以前の計測値Ａと比較され、その比較結果により、インターバル値格納レジスタ２５に格納されている計測値Ａを送信するインターバル値を変更可能にしている。【選択図】  図３
2007079836.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置から送信されるデータを受信して一時的に格納する受信バッファにおけるデータ受信処理状況を経時的に計測して、前記データ受信処理状況に対応する計測値情報を生成する計測値情報生成手段と、
前記計測値情報若しくは前記データ受信処理状況の情報に基づいて、前記計測値情報を前記データ送信装置に送信する時間間隔を経時的に変更設定する時間間隔変更設定手段と、
を具備したことを特徴とするデータ通信装置。
【請求項２】
前記時間間隔変更設定手段により設定される時間間隔は、所定の時間間隔を超える場合には、前記所定の時間間隔を超えない場合よりも電力消費量を低減する省電力モードへの移行に利用されることを特徴とする請求項１に記載のデータ通信装置。
【請求項３】
前記時間間隔変更設定手段は、前記計測値情報若しくは前記データ受信処理状況の情報に基づいて経時的に決定される時間間隔値を格納し、格納された前記時間間隔値を、前記計測値情報を送信する時間間隔として出力する時間間隔値格納手段を有することを特徴とする請求項１に記載のデータ通信装置。
【請求項４】
前記時間間隔変更設定手段は、前記受信バッファにおけるデータ受信処理済みのデータ量が大きい場合には、データ受信処理済みのデータ量が小さい場合よりも、小さな値の時間間隔に変更設定することを特徴とする請求項１に記載のデータ通信装置。
【請求項５】
データ送信装置から送信されるデータを一時的に受信する受信バッファにおけるデータ処理受信状況を経時的に計測するデータ処理受信状況計測ステップと、
前記データ受信状況の計測により、前記データ受信状況に対応する計測値情報を生成する計測値情報生成ステップと、
前記計測値情報若しくは前記データ受信処理状況の情報に基づいて、前記計測値情報を前記データ送信装置に送信する時間間隔を経時的に変更設定する時間間隔変更設定ステップと、
を具備したことを特徴とするデータ通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置から送信されるデータを一時的に受信する受信バッファを用いたデータ通信装置及びデータ通信方法に関する。
【背景技術】
【０００２】
近年、ますます増大し続けるデータ量に対応できるように高速なデータ伝送に対応した機器の開発が望まれる状況にある。  
例えば、特許文献１においては、ネットワーク内の通信デバイス間において、送信側となる第１のデバイスから受信側となる第２のデバイスにデータを送信する場合のフロー制御方法が開示されている。  
つまり、この特許文献１においては、第１のデバイスから出力されたデータ量と、第１のデバイスの使用可能なデータ記憶容量とに基づいて、第２のデバイスにフロー制御メッセージを送るフロー制御方法が開示されている。  
また、この特許文献１においては、前記データ記憶容量に基づいて、送信閾値を動的に確立する方法も開示されている。
【０００３】
一方、例えば、コンピュータシステムにおいては、ＣＰＵ、メモリ、グラフィックコントローラ、ストレージ機器、周辺機器相互間等のデータ伝送に用いる高速バスとして、既存のＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスよりも高速のＰＣＩ  Ｅｘｐｒｅｓｓが規格化されている。  
例えば非特許文献１においては、ＰＣＩ  Ｅｘｐｒｅｓｓ規格の概要が記載されている。このＰＣＩ  Ｅｘｐｒｅｓｓでは、２本を単位としたレーンと呼ばれるシリアル伝送路を用いて高速のデータ伝送レートを実現している。  
また、ＰＣＩ  Ｅｘｐｒｅｓｓにおいては、例えば第１のデバイスから第２のデバイスにデータを送信する場合、第２のデバイスの受信バッファのサイズと、第２のデバイス側で受信処理完了した全データサイズとの和の値を、（計測値情報に相当する）フロー制御情報として第１のデバイスに定期的、つまり一定の時間間隔（周期）で送信する。
【０００４】
この場合、第２のデバイスは、フロー制御情報の初期値をＩｎｉｔＦＣ  ＤＬＬＰのパケットで、その後はＵｐｄａｔｅＦＣ  ＤＬＬＰのパケットで送信する。なお、ＤＬＬＰは、データリンク層が生成するパケットを表している。  
また、このＰＣＩ  Ｅｘｐｒｅｓｓにおいては、シリアル伝送路によるリンクの消費電力を低く抑えるために、Ｌ０，Ｌ０ｓ、Ｌ１，Ｌ２のリンクステートが定義されている。この場合、Ｌ０が通常モードであり、Ｌ０ｓ、Ｌ１，Ｌ２に移行する程、消費電力が低くなる省電力モードになる。  
このＰＣＩ  Ｅｘｐｒｅｓｓにおいては、高速のデータ伝送や、省電力モードに設定できる等の多くのメリットを有するが、フロー制御情報の時間間隔が固定されている。  
このため、ＰＣＩ  Ｅｘｐｒｅｓｓに対して、より省電力モードでデータ通信を行えると非常に有用となると考えられる。  
また、上記特許文献１においては、データ通信を行う場合、より省電力モードに設定することができていない。
【特許文献１】特開２００４−３０４８０６号公報
【非特許文献１】インターフェース  ”ＰＣＩ  Ｅｘｐｒｅｓｓ規格の概要”ｐｐ．８０−９２  ７月号  ２００３  ＣＱ出版社
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は上述した点に鑑みてなされたもので、データ受信の処理状況に応じて、データ送信装置に送信される情報を送信する時間間隔を変更でき、省電力化等に適したデータ通信装置及びデータ通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様のデータ通信装置は、データ送信装置から送信されるデータを受信して一時的に格納する受信バッファにおけるデータ受信処理状況を経時的に計測して、前記データ受信処理状況に対応する計測値情報を生成する計測値情報生成手段と、
前記計測値情報若しくは前記データ受信処理状況の情報に基づいて、前記計測値情報を前記データ送信装置に送信する時間間隔を経時的に変更設定する時間間隔変更設定手段と、
を具備したことを特徴とする。
【０００７】
本発明の一態様のデータ通信方法は、データ送信装置から送信されるデータを一時的に受信する受信バッファにおけるデータ処理受信状況を経時的に計測するデータ処理受信状況計測ステップと、
前記データ受信状況の計測により、前記データ受信状況に対応する計測値情報を生成する計測値情報生成ステップと、
前記計測値情報若しくは前記データ受信処理状況の情報に基づいて、前記計測値情報を前記データ送信装置に送信する時間間隔を経時的に変更設定する時間間隔変更設定ステップと、
を具備したことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データ受信の処理状況に応じてデータ送信装置に送信されるフロー制御のための計測値情報を送信する時間間隔を変更でき、時間間隔の変更により省電力化等ができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施例を説明する。  
（第１の実施形態）
図１は本発明の第１の実施形態を備えたパーソナルコンピュータ（以下、ＰＣと略記）１の概略の構成を示す。このＰＣ１は、マザーボード２にＰＣ１内の全体の制御を行うＣＰＵ３が搭載されている。ＣＰＵ３が搭載されるマザーボード２は、最上位のＩ／Ｏ構造を構成するルートコンプレックス４が設けられる。  
このマザーボード２には、図示しないメモリ等が実装される。また、このルートコンプレックス４は、シリアルインタフェース５を介してハードディスク等のエンドポイントと呼ばれるデバイス（或いはコンポーネント）６と接続される。  
また、このルートコンプレックス４は、シリアルインタフェース５を介してスイッチ７と接続され、このスイッチ７は複数のシリアルインタフェース５を介して例えばエンドポイントと呼ばれる複数のデバイス８、９と接続される。
【００１０】
本実施形態においては、このＰＣ１内におけるシリアルインタフェース５で接続されたデバイス（或いはコンポーネント）間に、本発明のデータ通信装置を適用することができる。  
図２は、例えばデバイス６をデータ送信装置とした第１のデバイス１１とし、ＣＰＵ３側のデバイスとしてのルートコンプレックス４側をデータ受信装置とした第２のデバイス１２とした一実施形態に係るデータ通信装置１３を示す。  
第１のデバイス１１は、データを送信するデータ送信部１４と、第２のデバイス１２から送信されるフロー制御情報としての計測値情報（具体的には、計測値Ａの情報）を受信し、データ送信部１４によるデータ送信量を制御するフロー制御部１５とを有する。データ送信部１４及びフロー制御部１５は、それぞれ別体の半導体集積回路或いは一体の半導体集積回路で形成される。
【００１１】
また、第２のデバイス１２は、データ送信部１４から送信されたデータを受信すると共に、上記計測値情報をフロー制御部１５に送信する機能を有するデータ受信部１６を内蔵している。  
このデータ受信部１６は、データ送信部１４から送信されたデータを一時的に格納する受信バッファ１７と、この受信バッファ１７におけるデータ受信処理状況の計測値情報を生成する計測値情報生成部１８と、生成された計測値情報を送信する計測値送信部１９とを有する。そして、この計測値情報を受信したフロー制御部１５は、データ送信部１４によるデータ送信量が計測値情報（具体的には計測値Ａ）を超えないように制御する。  
なお、受信バッファ１７、計測値情報生成部１８及び計測値送信部１９を、それぞれ別体とした半導体集積回路で形成しても良いし、２つ以上のものを一体化した半導体集積回路で形成しても良い。
【００１２】
また、第１のデバイス１１と第２のデバイス１２とは、シリアルインタフェース５で接続され、第１のデバイス１１の送信ポートＴＸから送信されるデータは、第２のデバイス１２の受信ポートＲＸを経て受信バッファ１７に格納される。  
また第２のデバイス１２の送信ポートＴＸから送信される計測値情報は、第１のデバイス１１の受信ポートＲＸを経てフロー制御部１５により受信される。  
このシリアルインタフェース５は、例えばＰＣＩ  Ｅｘｐｒｅｓｓの規格を満たすように、ポイント・ツーポイント接続を２本単位とし（この単位をレーンと呼ぶ）、かつ双方向に設けて、送受信を独立して行えるデュアルシンプレックス通信を実現するリンクを形成できるようにしている。
【００１３】
つまり、各レーンは差動信号線ペアのセットであり、送信側の信号線ペアと受信側の信号線ペアとからなり、高速のデータ通信を可能とする。図２では、１レーンの場合で示しているが、レーン数を可変にすることにより、所望とするデータ伝送のバンド幅を確保できるリンクを形成できるようにしている。  
本実施形態においては、上記計測値情報生成部１８は、以下に説明するようにデータ送信部１４から送信されるデータを一時的に格納する受信バッファ１７におけるデータ受信処理状況に対応した計測値情報に基づいて、データ送信装置に送信する計測値情報の時間間隔を変更設定する時間間隔（インターバルと略記）変更設定手段としてのインターバル値変更部１８ａの機能を備えている。  
この場合、計測値情報に基づいて、インターバル値格納手段に格納されているインターバル値を変更することにより、計測値情報を送信するインターバルを経時的に変更可能にしている。換言すると、計測値情報を送信する頻度を動的に変更可能にしている。そして、インターバル値を変更可能にすることにより、より省電力化したモードで動作させることを可能にしている。
【００１４】
図３は図２におけるデータ受信部１６の詳細な構成例を示す。  
データ送信部１４から送信されるデータは、所定のデータ格納サイズを有する受信バッファ１７に一時格納される。この受信バッファ１７に格納されたデータは、図示しないデータ処理部側に転送され、データ処理される。  
この受信バッファ１７からデータ処理部側に出力されるデータ、つまり処理済みデータは、受信バッファ処理状況計測部２１により経時的に計測される。また、受信バッファ処理状況計測部２１は、受信バッファ１７のサイズを加算する。そして、この受信バッファ処理状況計測部２１は、受信バッファ１７のサイズと、この受信バッファ１７から出力される処理済みデータ量との和の計測値Ａｍを、計測値格納レジスタ２２に格納すると共に、第１の比較器２３にも出力する。
【００１５】
計測値格納レジスタ２２は、この計測値格納レジスタ２２に格納された計測値Ａｍ（これをＡと記す）を計測値送信部１９に送信すると共に、その時刻以前に設定されているインターバル値を変更するか否かの判定を行うインターバル変更判定手段の機能を持つ第１の比較器２３にも出力する。  
この第１の比較器２３は、入力される２つの計測値Ａｍ、Ａに対する比較結果の出力信号により、インターバル値変更部１８ａを構成するセレクタ２４の選択を制御する。  
このセレクタ２４には、例えば受信バッファ１７のサイズやＰＣＩ  Ｅｘｐｒｅｓｓの規格上で許容される値が大きいインターバル値（Ｃ）と、その値に対して小さいインターバル値（Ｄ）との２つのインターバル値が入力され、第１の比較器２３の出力信号と後述する送信カウンタ２９の出力信号とにより選択が制御される。
【００１６】
上記第１の比較器２３には、計測値格納レジスタ２２からこの計測値格納レジスタ２２に格納されている計測値Ａが入力されると共に、受信バッファ処理状況計測部２１により計測された計測値Ａｍとが入力される。  
そして、本実施形態では、この第１の比較器２３は、両計測値Ａ，Ａｍとが異なる場合（等しくない場合）にのみ、その出力信号によりセレクタ２４が小さいインターバル値（Ｄ）を選択するように制御する（なお、図３では第１の比較器２３、第２の比較器２６を機能的な記号を用いて、示している）。  
また、インターバル値格納レジスタ２５に格納されたインターバル値は、第２の比較器２６に出力される。この第２の比較器２６には、計測値送信の時間（間隔）を計測する計測値送信タイマ２７から計測された時間が入力される。そして、第２の比較器２６は、計測値送信タイマ２７の時間が、インターバル値格納レジスタ２５に格納されたインターバル値に達したか否かを比較する。
【００１７】
この比較結果により、インターバル値に達した時間になると、第２の比較器２６から計測値送信指示部２８に計測値送信指示を行わせる信号が出力されると共に、この信号で計測値送信タイマ２７の時間計測をリセットする。  
計測値送信指示部２８は、第２の比較器２６から出力される信号が入力されると、計測値送信指示の信号を計測値送信部１９に出力する。計測値送信部１９は、この計測値送信指示の信号が入力されると、計測値格納レジスタ２２から出力される計測値Ａを（データ送信装置の）フロー制御部１５にＵｐｄａｔｅＦＣ ＤＬＬＰというパケットで送信する。  
このフロー制御部１５は、送信された計測値Ａにより、データ送信部１４から送信するデータがこの計測値Ａを超えないようにデータ送信部１４によるデータ送信量の制御、つまりフロー制御を行う。
【００１８】
また、上記計測値送信タイマ２７は、第２の比較器２６から出力される信号で時間計測動作がリセットされ、このリセット後に、次の計測値送信の時間計測を開始することになる。  
また、計測値送信指示部２８から出力される計測値送信指示の信号は、送信カウンタ２９にも入力される。この送信カウンタ２９は、入力される計測値送信指示の信号を計数し、計数値が例えばＮ（Ｎは１以上の整数）になると、出力信号をセレクタ２４に出力する。  
この出力信号は、セレクタ２４に対して大きいインターバル値（Ｃ）を選択する信号となる。従って、計測値送信指示部２８から計測値送信指示の信号がＮ回、出力される毎に、インターバル値格納レジスタ２５には、大きいインターバル値（Ｃ）が格納される。
【００１９】
なお、セレクタ２４は、第１の比較器２３から小さいインターバル値（Ｄ）を選択する信号と、送信カウンタ２９から大きいインターバル値（Ｃ）を選択する信号とが同時に入力された場合には、小さいインターバル値（Ｄ）を優先する。  
また、送信カウンタ２９は、比較器２３の出力信号がリセット信号として印加される。そして、比較器２３の出力信号で小さいインターバル値（Ｄ）を選択する時に、送信カウンタ２９は、計測値送信指示の計数回数が０にリセットされる。これにより、小さいインターバル値（Ｄ）に設定された場合に、計測値ＡがＮ回送信されるようになる。  
また、受信バッファ１７、計測値送信部１９、受信バッファ処理状況計測部２１、計測値格納レジスタ２２、インターバル値格納レジスタ２５、計測値送信タイマ２７、計測値送信指示部２８、送信カウンタ２９等は、所定のクロックに同期して、それぞれの動作を行う。  
また、本実施形態では、図３に示すようにインターバル値格納レジスタ２５に格納されたインターバル値は、リンクステートの制御に利用される。このため、例えばインターバル値格納レジスタ２５に格納されたインターバル値は、電力消費量を低減する省電力化の動作モードへの移行を判定するための閾値Ｖｔと比較され、この比較を行う第３の比較器３０の出力信号でリンクステートの制御を行う。
【００２０】
なお、リンクステートの制御は、図３に明示的に示した構成に限定されるものでなく、他の手段或いはソフトウェアで行うようにしても良い。  
本実施形態では、ＰＣＩ  Ｅｘｐｒｅｓｓの場合におけるシリアル伝送路によるリンクの消費電力を低く抑えるために用意されているＬ０，Ｌ０ｓ、Ｌ１のリンクステートを、インターバル値格納レジスタ２５に格納されたインターバル値の値に応じて変更する。    このようにすることにより、ＰＣＩ  Ｅｘｐｒｅｓｓのインターバル値が固定となる仕様の場合よりも、より省電力化を可能にしてデータ通信を適切に行うことを可能にする。  具体的には、上記閾値Ｖｔより小さいインターバル値（Ｄ）の場合には、通常モードとなるＬ０のリンクステートで動作させ、閾値Ｖｔより大きいインターバル値（Ｃ）の場合には、Ｌ０のリンクステートの場合よりも省電力モードとなるＬ０ｓのリンクステートで動作させる。なお、図３の構成例では簡単化のために２つのインターバル値（Ｃ），（Ｄ）のみとした場合であるので、２つのＬ０，Ｌ０ｓ間のリンクステートの遷移のみとしている。
【００２１】
従って、セレクタ２４により３つ以上のインターバル値を選択できるようにすれば、より省電力モードのＬ１のリンクステートで動作させることも可能になることは明らかである。  
ＰＣＩ  Ｅｘｐｒｅｓｓの場合には、インターバル値が固定であったのに対して、本実施形態では受信処理状況に応じてそのインターバル値を経時的に変更可能にし、このインターバル値を変更可能にすることにより、より省電力化したモードで動作させることができるようにしている。  
なお、図３の計測情報生成部１８を構成する複数の構成要素を一体化或いは別体化した半導体集積回路で形成しても良い。  
次に、このような構成による本実施形態の動作を説明する。図４は、データ受信処理状況に応じてインターバル値を動的に変更設定し、変更設定されるインターバル値で計測値Ａを送信するデータ通信方法の動作内容のフローチャートを示す。
【００２２】
図２に示すように第１のデバイス１１と第２のデバイス１２との間でデータの送信等を行うことができる状態、つまりリンクが確立した状態になると、図４のステップＳ１に示すように計測値送信部１９は、計測値Ａの初期値として受信バッファ１７の（データ格納）サイズをフロー制御部１５に送信する。  
この場合、受信バッファ１７のデータ格納量が０、かつデータ処理済みのデータ量が０，つまり受信バッファ１７のサイズの情報が、計測値Ａの初期値として、ＩｎｉｔＦＣ ＤＬＬＰというパケットでフロー制御部１５に送信される。  
そして、フロー制御部１５は、最初はこの初期値を参照して、データ送信部１４から送信するデータ送信量を制御することになる。  
そして、データ送信部１４からデータが送信されると、ステップＳ２に示すように計測値情報生成部１８を構成する受信バッファ処理状況計測部２１は、データ受信処理状況を計測する。
【００２３】
そして、次のステップＳ３において、データ受信処理状況に対応した計測値Ａの送信インターバルの値を設定する処理がインターバル値変更部１８ａなどにより行われる。このインターバル値の設定の処理は、図５のフローチャートで後述する。  
そして次のステップＳ４において、第２の比較器２６は、計測値送信タイマ２７の時間がインターバル値格納レジスタ２５に設定されているインターバル値に達したか否かの判定を行う。  
ステップＳ４による判定において、計測値送信タイマ２７の時間が設定されているインターバル値に達していない場合にはステップＳ２に戻る。一方、ステップＳ４による判定において、計測値送信タイマ２７の時間が設定されているインターバル値に達している場合には、次のステップＳ５に進む。
【００２４】
そして、このステップＳ５において第２の比較器２６は、計測値送信指示部２８に信号を出力し、これを受けて計測値送信指示部２８は、計測値送信部１９に計測送信指示の信号を出力する。  
そして、この計測値送信部１９は、計測値格納レジスタ２２に格納されている計測値Ａの情報をフロー制御部１５にＵｐｄａｔｅ  ＦＣ ＤＬＬＰというパケットで送信する。  次に図５を参照して図４のステップＳ３の計測値情報送信のインターバル値を設定する処理を説明する。  
以下では、簡単化のため、受信バッファ１７における処理済みデータの発生の有無、つまりデータ処理がある状況と、データ処理が無い状況の２つの場合に対してインターバル値の変更設定を行う動作を説明する。
【００２５】
このインターバル値を設定する処理がスタートすると、最初のステップＳ１１における初期設定においては、インターバル値格納レジスタ２５には、例えば大きいインターバル値（Ｃ）が格納される。つまり初期状態のインターバル値は、大きいインターバル値（Ｃ）に設定される。  
なお、初期設定が行われる初回時は、ステップＳ１１の処理から行われるが、次回以降は図４のステップＳ２の処理の次に図５のステップＳ１２の処理が行われるようになる。  ステップＳ１１の処理の後のステップＳ１２において、受信バッファ処理状況計測部２１は、受信バッファ１７のデータ処理状況を計測して、例えばデータ処理（処理済みデータ）の有無を検出する。そして、受信バッファ処理状況計測部２１がデータ処理を検出しない場合には、大きいインターバル値（Ｃ）のインターバル（周期）で、第２の比較器２６から計測値送信指示を出すための信号が計測値送信指示部２８に繰り返し出力される。  そして、計測値送信指示部２８は、この大きいインターバル値（Ｃ）の周期で繰り返し、計測値送信指示の信号を出力する。従って、計測値送信部１９は、この大きいインターバル値（Ｃ）の周期で繰り返し、計測値Ａをフロー制御部１５に送信する。
【００２６】
この場合には、次のステップＳ１３に示すように計測値送信指示部２８から送信カウンタ２９に計測値送信指示の信号が繰り返し入力される。そして、この送信カウンタ２９は、計測値送信指示の信号がＮ回以上発生したか否かを計数により検出する。  
Ｎ回以上発生しない場合には、ステップＳ１４に示すようにインターバル値格納レジスタ２５には、そのインターバル値（この場合には大きいインターバル値（Ｃ））を維持する。そして、図４のステップＳ４の処理に移る。  
逆に、送信カウンタ２９が計測値送信指示の信号がＮ回以上発生したことを検出した場合には、送信カウンタ２９の出力信号により、セレクタ２４を大きいインターバル値（Ｃ）に設定する処理をする。つまり、ステップＳ１１の処理を行うようにする。
【００２７】
一方、ステップＳ１２において、データ処理ありと検出された場合には、受信バッファ処理状況計測部２１による検出結果が第１の比較器２３に出力される。また、この場合の計測値Ａｍは、計測値格納レジスタ２２に格納され、次の計測値送信指示の信号が出力された際に、計測値Ａが計測値情報（フロー制御情報）として、計測値送信部１９から送信されることになる。  
上記第１の比較器２３は、検出結果の計測値Ａｍがデータ処理されていない計測値Ａと異なると判定する。  
そして、この第１の比較器２３は、セレクタ２４が小さいインターバル値（Ｄ）を選択するように制御する。従って、ステップＳ１５に示すように、この小さいインターバル値（Ｄ）がインターバル値格納レジスタ２５に格納される。つまりインターバル値格納レジスタ２５には、大きなインターバル値（Ｃ）から小さなインターバル値（Ｄ）に変更設定される。また、このステップＳ１５において、第１の比較器２３の出力信号により、送信カウンタ２９は、計測値送信指示を計数した回数が０にリセットされる。
【００２８】
この小さいインターバル値（Ｄ）に設定された状態で、計測値送信タイマ２７の時間がこの小さいインターバル値（Ｄ）以上になると、第２の比較器２６から計測値送信指示部２８に信号が出力される。この信号を受けて、この計測値送信指示部２８は、計測値送信部１９に計測値送信指示の信号を出力する。そして、計測値送信部１９は、計測値Ａを送信する。以後は、小さいインターバル値（Ｄ）を周期として、計測値Ａを送信する。  
この場合においても、計測値送信指示の信号は、送信カウンタ２９により計数される。そして、ステップＳ１６に示すように送信カウンタ２９により計測値送信指示の信号がＮ回以上発生したかの検出が行われる。計測値送信指示の信号がＮ回未満の場合にはステップＳ１４に進み、小さいインターバル値（Ｄ）がインターバル値格納レジスタ２５により維持される。
【００２９】
これに対して、計測値送信指示の信号がＮ回以上発生すると、この送信カウンタ２９の出力によりセレクタ２４の選択が切り替えられ、ステップＳ１１に示すように大きいインターバル値（Ｃ）がインターバル値格納レジスタ２５に格納される状態になる。  
このようにして、データ処理の有無の受信処理状況に応じて、大きいインターバル値（Ｃ）と小さいインターバル値（Ｄ）とに動的に変更設定される。  
なお、ステップＳ１５とステップＳ１６との間においては第１の比較器２３により、計測値格納レジスタ２２に格納された計測値Ａと計測された計測値Ａｍとが一致しない状態が発生するか否かの判定が行われる。しかし、この第１の比較器２３は、一致しないことを検出した際の出力信号は、小さいインターバル値（Ｄ）を選択するため、この処理を無視してステップＳ１５の処理の次にステップＳ１６の処理を行うとした場合と実質的に同じ動作結果となる。
【００３０】
このように動作する本実施形態においては、データ処理が無い状態からデータ処理がある状態が検出されると、計測値情報送信の周期が大きいインターバル値（Ｃ）から小さいインターバル値（Ｄ）に動的に変更できる。  
つまり、データ処理がある場合には、データ送信側ではデータ送信量をデータ処理量に応じて速やかに制御することが望まれ、本実施形態ではデータ処理が無い場合よりも短い周期で計測値情報送信を行うようにしているので、データ処理量が変化する場合にもその変化に応じて迅速にデータ送信量を適切に設定できる。従って、データ伝送の帯域を確保して効率良くデータ伝送ができる。  
また、データ処理が無い状況が続くと、大きいインターバル値（Ｃ）の周期にて計測値情報を送信する。つまり、データ処理が無く、その状況が続いた場合には、データ送信側に送信すべき情報は、受信バッファ１７のサイズの情報のみとなり、その情報は経時的にデータ送信側で予測できる。従って、無駄に計測値情報を送信する頻度を低減して、大きな周期のインターバル値で送信する。これによって、省電力化することができるようになる。
【００３１】
このように本実施形態では、データ処理状況を計測し、データ処理状況に応じて計測値情報を送信する時間間隔（或いは周期）を適切に変更設定することにより、計測値情報を無駄に送信することを低減できる。  
計測値情報を無駄に送信することを低減することにより、大きいインターバル値（Ｃ）に設定する割合を増大でき、より省電力化して動作させることができる。  
また、大きいインターバル値（Ｃ）に設定した場合には、リンクステートをより省電力化したモードに移行させ、さらに省電力化した状態で動作させることができる。  
なお、上述した図５では、具体例として簡単な場合において説明したが、その場合の動作に限定されるものでない。また、図３の構成例においても、簡単化のため、２つのインターバル値のみの場合で説明したが、３つ以上のインターバル値に設定することにより、データ処理状況に対応して計測値情報を送信する時間間隔（或いは周期）をより適切に変更設定することができる。
【００３２】
また、本実施形態では計測値情報により、データ送信量を制御することにより、受信バッファ１７のサイズを大きくすることなく、データ処理状況に応じて効率良くデータ伝送ができるデータ通信装置を実現できる。換言すると、受信バッファ１７のサイズを小さく保ちながら、デバイス間の帯域を確保したデータ受信、或いはデータ通信ができる。  
また、本実施形態によれば、データ送受信がない状況において、送信パケットの数が減るため、省電力モードに移行して、省電力化しやすい。  
また、本実施形態は、比較的簡単な構成で実現可能である。
【００３３】
（第２の実施形態）
次に本発明の第２の実施形態を説明する。図６は第２の実施形態に係るデータ受信部１６の構成を示す。第１の実施形態においては、計測値情報に基づいて、計測値送信の時間間隔としてのインターバル値を変更可能に設定していたが、以下に説明するように本実施形態では受信バッファ１７におけるデータ処理状況の情報からインターバル値を算出する。  
本実施形態に係るデータ受信部１６は、図３に示すデータ受信部１６において、第１の比較器２３、セレクタ２４、送信カウンタ２９を設けないで、受信バッファ１７の処理済みデータ量に応じて計測値送信の周期となるインターバル値Ｔを算出するインターバル値算出部３１を設けている。  
このインターバル値算出部３１には、第１の実施形態の場合と同様に受信バッファ処理状況計測部２１等と同様に所定のクロックに同期してインターバル値Ｔを算出する動作を行う。
【００３４】
そして、このインターバル値算出部３１により算出されたインターバル値Ｔはインターバル値格納レジスタ２５に格納される。本実施形態においても、計測値情報生成部１８を構成する構成要素をそれぞれ別体の半導体集積回路で形成しても良いし、或いは複数のものを一体化した半導体集積回路で形成しても良い。  
図７は、このインターバル値算出部３１の構成のブロック図を示す。このインターバル値算出部３１は、受信バッファ１７の処理済みデータ、つまりデータ処理の有無を判定して、データ処理の有無に対応した例えば２値の信号を生成するデータ処理有無判定部３２と、このデータ処理有無判定部３２の信号をクロックに同期して取り込むシフトレジスタ３３と、このシフトレジスタ３３のパラレル出力値を加算などして、インターバル値Ｔを算出する加算部３４とから構成される。そして、この加算部３４から出力されるインターバル値Ｔがインターバル値格納レジスタ２５に格納される。
【００３５】
なお、図６における受信バッファ処理状況計測部２１は、第１の実施形態の場合と同様に、受信バッファ１７から出力される処理済みデータ量と受信バッファ１７のサイズとの和の計測値Ａｍを計測値格納レジスタ２２に出力する。  
また、本実施形態では、以下に説明するように計数値Ａｍに対応して２値より多い多値のインターバル値Ｔを生成することができる。そして、生成されたインターバル値Ｔを時間間隔として計測値Ａの情報をフロー制御部１５に送信すると共に、そのインターバル値Ｔは、例えばウインドウ型比較器３０Ｂに入力され、複数の閾値Ｖｔ１，Ｖｔ２と比較される。そして、比較出力により、リンクステートの制御を行う。  
例えば、閾値Ｖｔ１は第１の実施形態における閾値Ｖｔと同じものであり、通常モードに相当するＬ０のリンクステートの動作と、Ｌ０ｓのリンクステートの動作との移行を決定するインターバル値に設定される。閾値Ｖｔ２はＬ０ｓ及びＬ１間の移行に対応した値にそれぞれ設定しても良い。
【００３６】
その他の構成は図３の場合と同様であり、同一の構成要素には、同じ符号を付け、その説明を省略する。  
次に図８を参照して、本実施形態における受信バッファ１７の処理済みデータの有無に応じて、計測値情報送信のインターバル値Ｔを経時的に変更設定する作用を説明する。    本実施形態におけるインターバル値算出部３１を構成するシフトレジスタ３３は、例えば図８に示すようにＫ（Ｋ＞０）個のレジスタからなる。  
このシフトレジスタ３３は、例えばＭ（Ｍ≧１）個のクロック（つまりＭサイクル）に１回、各レジスタに格納されたデータを左シフトする。  
また、一番右のレジスタには、データ処理有無判定部３２からデータ処理の有無の信号（具体的にはデータ処理ありの場合には０，データ処理無しの場合には１）が入力される。
【００３７】
この場合、一番右のレジスタには、Ｍクロックの間に、１回もデータ処理が発生しない場合には０が格納され、逆に１回でもデータ処理が発生した場合には１が格納される。    そして、各レジスタに格納されたデータがＭクロック毎に左シフトされるため、Ｋ個のデータにおける最も古いデータ、つまり一番左のレジスタに格納されたデータが順次廃棄される。  
また、Ｋ個のレジスタのパラレルデータは、加算部３４に入力され、加算部３４はＫ個のレジスタのパラレルデータを加算し、その加算値を算出若しくはその加算値に一定の係数を乗算した値を算出する。このようにすることにより、例えばＫ個のレジスタ中に存在する１の個数に比例した値をインターバル値Ｔとして算出する。算出されたインターバル値Ｔは、インターバル値格納レジスタ２５に格納される。
【００３８】
そして、このインターバル値格納レジスタ２５に格納されたインターバル値Ｔを周期として計測値送信部１９は、計測値情報を送信する。  
本実施形態におけるデータ通信方法を図９を参照して説明する。図４のステップＳ１と同様に、図９に示す最初のステップＳ２１において、計測値送信部１９は受信バッファ１７のサイズを計測値情報の初期値としてフロー制御部１５に送信する。  
次のステップＳ２２において、受信バッファ処理状況計測部２１は、受信バッファ１７におけるデータ処理状況を計測して計測値Ａｍを計測値格納レジスタ２２に格納する。
【００３９】
また、ステップＳ２２の処理と平行してステップＳ２３に示すようにインターバル値算出部３１は、Ｍクロック毎のデータ処理の有無に応じて、その値の最小単位が変化するインターバル値Ｔを算出する。そして、算出されたインターバル値Ｔがインターバル値格納レジスタ２５に設定され、インターバル値Ｔの更新、設定の処理が行われる。
【００４０】
次のステップＳ２４において、計測値送信タイマ２７の時間がインターバル値格納レジスタ２５に設定されたインターバル値Ｔに達したか否かが第２の比較器２６により判定される。  
そして、計測値送信タイマ２７の時間がインターバル値Ｔに達していない場合には、ステップＳ２２の処理に戻り、逆に計測値送信タイマ２７の時間がインターバル値Ｔに達している場合には、次のステップＳ２５の処理に進む。  
このステップＳ２５において、第２の比較器２６は、計測値送信指示部２８に信号を出力し、これを受けて計測値送信指示部２８は、計測値送信指示の信号を計測値送信部１９に出力する。そして、計測値送信部１９は、計測値格納レジスタ２２に格納された計測値Ａの情報をフロー制御部１５に送信する。また、計測値送信タイマ２７は、第２の比較器２６の信号でリセットされる。
【００４１】
このステップＳ２５の処理後にステップＳ２２に戻る。そして、上述したステップＳ２２〜Ｓ２５の処理を繰り返す。  
従って、Ｍ×Ｋクロックの時間においては、その時間におけるデータ処理の発生が少ない回数に比例した値のインターバル値を生成する。つまり、Ｍ×Ｋクロックの時間においては、その時間におけるデータ処理ありの回数が大きい程、小さい値のインターバル値を生成する。  
本実施形態によれば、データ処理の発生が頻繁に起こる時間程、小さいインターバル値で計測値情報を送信するようにしているので、そのデータ処理の発生状況に迅速に対応して適切なフロー制御を行うことができる。
【００４２】
また、本実施形態によれば、データ処理の発生が少なくなる時間程、大きいインターバル値で計測値情報を送信するようにしているので、フロー制御の計測値情報の送信を無駄に送信することを必要としない。これにより、省電力でのデータ通信を実現できると共に、リンクステートの制御によって、特に大きいインターバル値の場合における送受信するリンク部分での消費電力を低減できる。  
また、本実施形態によれば、第１の実施形態の場合よりもデータ処理の発生状況に適切に対応したデータ通信ができる。  
このように本実施形態によれば、任意の時間におけるデータ処理の頻度に適切に対応したデータ通信を可能にすることができる。従って、受信バッファ１７のサイズを不必要に大きくすることを必要としないで、効率良くデータ通信を行うことができる。
【００４３】
また、本実施形態によれば、簡単な構成で実現することができると共に、データ処理の状況に応じて省電力化してデータ通信を適切に行うことができる。  
なお、上述の説明では、例えばＭサイクルの時間におけるデータ処理の有無に応じてインターバル値の最小単位量を決定するようにしているが、これに限定されるものでなく、これとは異なる決定手段や決定方法などを採用しても良い。  
例えば、Ｍサイクルの時間におけるデータ処理量を複数の閾値に区分けする区分け処理を行い、その複数の区分けされた情報を、図８のシフトレジスタ３３を複数並べたシフトレジスタに図８の場合と同様に処理するようにしても良い。この場合には、データ処理の変化をより忠実に反映したインターバル値の変更（更新）を含む設定ができるようになる。
【００４４】
また、上述した実施形態では、簡単化のため図２に示した第１のデバイス１１はデータ送信装置、第２のデバイス１２はデータ受信装置として機能を持つ場合で説明した。本発明はこれに限定されるものでなく、２つのデバイスが図２に示すデータ送信装置の機能とデータ受信装置の両方の機能を持つ場合にも適用できる。  
この場合においても、本実施形態を利用することにより、シリアルインタフェース５を用いてより効率良くデータ通信を行うことができる。  
また、本発明は主にＰＣＩ  Ｅｘｐｒｅｓｓにおいて、計測値情報を送信するインターバル値を変更する場合に対して説明をしているが、これに限定されるものでなくシリアルインタフェース５その他の伝送路を用いてデータ通信を行う場合に広く適用することができる。
【００４５】
また、第１の実施形態等では、ＰＣ（パーソナルコンピュータ）１に適用した場合で説明したが、ＰＣ１以外の装置におけるＰＣＩ  Ｅｘｐｒｅｓｓを用いた装置に広く適用することができる。
【００４６】
また、上述した実施形態では、計測値情報を送信する時間間隔の値に応じてＰＣＩ  Ｅｘｐｒｅｓｓの場合に用意されているＬ０，Ｌ０ｓ等のリンクステートの遷移制御を行うことによって、より省電力化したモードで動作させることができる場合を説明した。  
ＰＣＩ  Ｅｘｐｒｅｓｓ以外の場合に対しても、本発明は、例えば図３に示す第３の比較器３０或いは図６に示すウインドウ型比較器３０Ｂの比較出力で、データ受信装置及びデータ送信装置における機能的に必要でない部分を使わないようにディセーブルにすることで省電力を実現することができる。この結果、消費される電流量を、低減した状態で動作させることが可能になる。  
例えば、時間間隔の値を大きく設定できる場合には、小さく設定される場合よりもデータ受信及びデータ送信の処理機能或いは処理能力が低くても対応でき、そのためデータ受信及びデータ送信を行う回路部分への消費電力を低減した省電力モードでも対処できるようになる。
【００４７】
また、インターバル値を変更可能に設定（決定）する手段或いは方法として、上述した場合の他に例えばシリアルインタフェース５等における伝送路において、ある一定時間に受信バッファ１７に格納されるデータが占める割合の情報からインターバル値を決定するようにしても良い。  
また、この他に、シリアルインタフェース５等における伝送路において、ある一定時間において受信バッファ１７に格納されるデータサイズの情報からインターバル値を決定するようにしても良い。また、上述した実施形態等を部分的に組み合わせる等して構成される実施形態等も本発明に属する。
【図面の簡単な説明】
【００４８】
【図１】本発明の第１の実施形態を備えたパーソナルコンピュータの概略の構成を示すブロック図。
【図２】第１の実施形態に係るデータ通信装置の一つの構成例を示すブロック図。
【図３】図２におけるデータ受信部の一つの構成例を示すブロック図。
【図４】第１の実施形態におけるデータ受信部の処理内容の一例を示すフローチャート。
【図５】図４におけるデータ受信処理状況に応じてインターバル値を動的に変更設定する処理内容の一例を示すフローチャート。
【図６】本発明の第２の実施形態におけるデータ受信部の一つの構成例を示すブロック図。
【図７】図６におけるインターバル値算出部の一つの構成例を示すブロック図。
【図８】図７におけるシフトレジスタにおける動作内容の説明図。
【図９】第２の実施形態におけるデータ受信処理状況に応じてインターバル値を動的に変更設定する処理内容の一例を示すフローチャート。
【符号の説明】
【００４９】
１１…第１のデバイス
１２…第２のデバイス
１３…データ通信装置
１４…データ送信部
１５…フロー制御部
１６…データ受信部
１７…受信バッファ
１８…計測値情報生成部
１９…計測値送信部
２１…受信バッファ処理状況計測部
２２…計測値格納レジスタ
２３…第１の比較器
２４…セレクタ
２５…インターバル値格納レジスタ
３０…第３の比較器
【図１】
2007079836.tif 000003
【図２】
2007079836.tif 000004
【図３】
2007079836.tif 000005
【図４】
2007079836.tif 000006
【図５】
2007079836.tif 000007
【図６】
2007079836.tif 000008
【図７】
2007079836.tif 000009
【図８】
2007079836.tif 000010
【図９】
2007079836.tif 000011