(57)【特許請求の範囲】
【請求項１】
データ転送装置に用いられるものであって、パケットを一旦保持するためのメモリを多段接続して構成されるバッファ部と、
各バッファ部に対してクロック供給及びデータのルート切り替えを行なうルート切替部と、
装置のパケット入力部に設けられた帯域監視部と、
装置内の温度を測定するための温度センサー部と、
前記帯域監視部によるパケット流入の変化量と、前記温度センサー部からの温度検知結果により、前記ルート切替部へのルート切り替えを指示するバッファ制御部と、
を有し、
温度変化及び入力帯域を元に多段接続されたバッファサイズを動的に切り替えるように構成されたデータ転送装置におけるデバイスの発熱制御装置。
【請求項２】
前記バッファ制御部は、前記温度センサー部が検知する装置内温度とデバイスのジャンクション温度を常に比較監視し、デバイスのジャンクション温度を超えない範囲内でバッファサイズを算出することを特徴とする請求項１記載のデータ転送装置におけるデバイスの発熱制御装置。
【請求項３】
前記バッファ制御部は、バッファサイズと装置内温度上昇の相関関係を記憶するテーブルを持ち、内部処理性能に対して入力側の帯域が大きい場合は、入力側と内部処理の速度差を元にバッファ溢れを起こさずに処理が行なえるバッファサイズを算出することを特徴とする請求項１記載のデータ転送装置におけるデバイスの発熱制御装置。
【請求項４】
前記バッファ制御部は、内部処理性能に対して入力側の帯域が小さい場合は、装置内の温度に依存せずバッファサイズを小さくすることを特徴とする請求項１記載のデータ転送装置におけるデバイスの発熱制御装置。
【請求項５】
外部からの要求を元に、前記バッファ部のバッファサイズを制御することを特徴とする請求項１記載のデータ転送装置におけるデバイスの発熱制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ転送装置におけるデバイスの発熱制御装置に関する。近年の電子機器は、高速化・高集積化に伴う消費電力の増加により、デバイス（メモリやＬＳＩ等の高密度集積回路をいう）の発熱や装置内の発熱の問題が深刻化している。また、高集積化に伴い、１つのデバイス内に搭載可能なメモリ容量も増大しており、メモリによる消費電力や発熱も無視できなくなってきている。
【背景技術】
【０００２】
図９は従来装置の構成例を示す図である。図において、１はパケット入力を受けるＩ／Ｏインタフェース、２は該Ｉ／Ｏインタフェース１の出力を受けるバッファメモリである。図では、メモリはバッファ機能を有しており、＃１〜＃ｎまでのｎ個が多段接続されている場合を示している。３は最終段のバッファメモリ２からの出力を受けてデータの整形を行なうデータ整形回路、４は該データ整形回路３の出力を受けるＩ／Ｏインタフェースで、該Ｉ／Ｏインタフェース４からパケットが出力されるようになっている。
【０００３】
図に示すように、通常、一つのデバイス内において、パケットを受信しデータ整形等の処理を行なう場合、データ整形等で発生する処理時間を吸収するため、バッファメモリ２で構成されるバッファを用いる。このバッファは、デバイスの種別によって最大サイズは決まっており、処理性能や入力側と出力側の帯域差を元にバッファサイズの算出を行なうが、その際、発熱によるデバイスの故障を防ぐために、最悪の環境下における動作条件を考慮して設計する必要がある。
【０００４】
しかしながら、実際の環境では、机上計算よりも大きな温度マージンが出るケースもあり、使用可能なバッファサイズが制限されることにより、処理能力に影響することがある。また、このバッファサイズは、一旦作り込みを行なうと変更することはできないため、若しサイズ変更する場合は、設計し直さなければならないため、変更時の手戻りが大きい。また、常に同じサイズのバッファを経由するため内部処理能力に対して入力側の帯域が小さい時でも常に同じレイテンシ（バッファを経由する時間分のディレイ時間）が発生しており、性能向上の妨げになっていた。
【０００５】
従来のこのような問題点を克服するために、以下のような技術が提案されている。この種の技術としては、信号処理単位の異なる複数の信号処理ブロックと、この信号処理ブロックをつなぐバッファメモリと各ブロックにクロック信号を供給もしくは停止させるクロック制御部を設け、各信号処理ブロックは、後続の信号処理ブロックに処理すべきデータが存在するかどうかを監視し、監視結果に基づきクロック制御部が前記後続の信号処理ブロックにクロック信号を供給もしくは停止するように制御する技術が知られている（例えば特許文献１参照）。
【０００６】
また、ルータ装置のための出力ポート回路において、出力ポートコントローラが、送信すべきパケットが属する各フローに対してバッファメモリに格納可能なメモリサイズの基準となる基本量をそれぞれ割り当てる時に、パケットの各フローに対する基本量を、当該各フローが要求するメモリサイズだけ個別に割り当てて管理する一方、ベストエフォート型クラスに属するパケットの各フローに対する基本量を、バッファメモリ全体のメモリサイズから、帯域保証型クラスに割り当てられた各基本量の総和を減算したメモリサイズを一括して割り当てて管理する技術が知られている（例えば特許文献２参照）。
【特許文献１】特開２００２−２３７７６０号公報（段落００１４〜００２１、図１〜図３）
【特許文献２】特開２００４−２００９０５号公報（段落００４７〜００６０、図１、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の発明は、複数の信号処理ブロックとその信号処理ブロック間をつなぐバッファメモリで構成される無線通信装置であり、後続の処理ブロックに処理すべきデータが存在するか否かを監視し、監視結果に基づいて処理ブロック単位毎にクロック信号を提供もしくは停止することで消費電力を削減するというものであり、クロックを停止してしまうため、処理が停止してしまうという問題がある。
【０００８】
一方、特許文献２記載の発明は、優先制御された出力ポート回路において、優先度の異なる複数フローで構成され、優先度の高いフローに対して優先的にメモリを割り当て、残りのメモリを優先度の低いポートに割り当てることで特定フローによるバッファメモリの占有を解消するというものである。この発明は、総使用バッファ量は変化しないため、発熱量を抑えることができないという問題がある。
【０００９】
本発明はこのような課題に鑑みてなされたものであって、温度環境や入力帯域の情報を入手し、動的にバッファサイズを変更することにより、自デバイス或いは他デバイスの素子破壊を防止することができるデータ転送装置におけるデバイスの発熱制御装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
（１）請求項１記載の発明は、データ転送装置に用いられるものであって、パケットを一旦保持するためのメモリを多段接続して構成されるバッファ部と、各バッファ部に対してクロック供給及びデータのルート切り替えを行なうルート切替部と、装置のパケット入力部に設けられた帯域監視部と、装置内の温度を測定するための温度センサー部と、前記帯域監視部によるパケット流入の変化量と、前記温度センサー部からの温度検知結果により、前記ルート切替部へのルート切り替えを指示するバッファ制御部と、を有し、温度変化及び入力帯域を元に多段接続されたバッファサイズを動的に切り替えるように構成されることを特徴とする。
（２）請求項２記載の発明は、前記バッファ制御部は、前記温度センサー部が検知する装置内温度とデバイスのジャンクション温度を常に比較監視し、デバイスのジャンクション温度を超えない範囲内でバッファサイズを算出することを特徴とする。
（３）請求項３記載の発明は、前記バッファ制御部は、バッファサイズと装置内温度上昇の相関関係を記憶するテーブルを持ち、内部処理性能に対して入力側の帯域が大きい場合は、入力側と内部処理の速度差を元にバッファ溢れを起こさずに処理が行なえるバッファサイズを算出することを特徴とする。
（４）請求項４記載の発明は、前記バッファ制御部は、  内部処理性能に対して入力側の帯域が小さい場合は、装置内の温度に依存せずバッファサイズを小さくすることを特徴とする。
（５）請求項５記載の発明は、外部からの要求を元に、前記バッファ部のバッファサイズを制御することを特徴とする。
【発明の効果】
【００１１】
（１）請求項１記載の発明によれば、帯域監視部によるパケット流入の変化量と温度センサー部からの温度検知結果により、多段接続されたバッファサイズを動的に切り替えることができる。
（２）請求項２記載の発明によれば、デバイスのジャンクション温度を超えないように制御することができる。
（３）請求項３記載の発明によれば、動的にバッファの接続数を増やし、バッファ溢れを防ぐことができる。
（４）請求項４記載の発明によれば、装置内の消費電力を低減し、また装置内のレイテンシを削減することができる。
（５）請求項５記載の発明によれば、自デバイスの発熱を抑えることで装置内の温度を下げ、他デバイスのジャンクション温度に達するのを防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施の形態例を詳細に説明する。
図１は本発明の一実施の形態例を示すブロック図である。図において、１０はルータ等のデータ転送装置である。該データ転送装置１０において、１１はパケット入力を受けるＩ／Ｏインタフェース、１２は該Ｉ／Ｏインタフェース１１からの出力を受けてルートを２方向の何れかに切り替えるルート切替部、１３はメモリから構成されるバッファ部（以下単にバッファと略することがある）である。該バッファ部１３は＃１〜＃ｎまでのｎ個設けられている。１４は２入力の内の何れか一つにルートを切り替えるルート切替部である。
【００１３】
１５は最終段のルート切替部１４からの出力を受けてデータの整形を行なうデータ整形回路、１６は該データ整形回路１５の出力を受けるＩ／Ｏインタフェースで、該Ｉ／Ｏインタフェース１６からパケット出力が得られる。１７は現時点で使用しているバッファ使用量をカウントするバッファ使用面数カウンタ部、１８はＩ／Ｏインタフェース１１からの信号を受けて帯域を監視する帯域監視部、１９は該帯域監視部１７の出力，バッファ使用面数カウンタ部１７の出力，温度センサー部２１の出力及び他デバイス情報通知部２２の出力を受けてルート切替部１２，１４の制御を行なうバッファ制御部である。該バッファ制御部１９としては、例えばマイクロコンピュータが用いられる。
【００１４】
２１は装置内の温度を測定してバッファ制御部１９に通知する温度センサー部、２２は他デバイスからの耐久温度に関する情報、例えば温度がある所定の温度以上上昇したら破壊されるというような情報をバッファ制御部１９に通知する他デバイス情報通知部である。この図において、ルート切替部１２，１４及びバッファ部１３がデバイスを構成している。このように構成された装置の動作を以下に説明する。
【００１５】
（例１）装置内温度が高くなった場合
帯域監視部１８，温度センサー部２１，他デバイス情報通知部２２からの情報をバッファ制御部１９に通知する。該バッファ制御部１９では、この通知を受けて内蔵している条件テーブルにより、現時点の周囲温度がデバイスのジャンクション温度Ｔｊに達する周囲温度に近づいていると判断し、バッファ削減指示（ｋ個削減）がルート切替部１２，１４に指示される。バッファ削減動作は後述する例４と同様である。これにより、ジャンクション温度Ｔｊに達する前に、バッファ使用量を削減し、デバイス破壊を防止することが可能となる。
【００１６】
（例２）他デバイス情報通知部から通知があった場合
帯域監視部１８，温度センサー部２１，他デバイス情報通知部２２からの情報をバッファ制御部１９に通知する。バッファ制御部１９では、他デバイスからの通知情報により、バッファ削減指示（ｌ個削減）をルート切替部，１２，１４に指示する。バッファ制御部１９では、後述する削減動作により使用するバッファ１３の数を削減する。これにより、自デバイスの発熱を抑え、周囲温度を下げ、他デバイスがジャンクション温度Ｔｊに達するのを防止し、他デバイス破壊を防止することが可能となる。
【００１７】
（例３）入力側帯域が処理能力より上回った場合
帯域監視部１８，温度センサー部２１，他デバイス情報通知部２２からの情報をバッファ制御部１９に通知する。バッファ制御部１９では、入力側帯域が現時点のバッファ使用量（例ｐ個）を上回ったと判断し、バッファ増加指示（ｑ個使用）をルート切替部１２，１４に通知する。これにより、入力側帯域と処理能力の差をなくすことが可能となる。
【００１８】
（例４）入力側帯域より処理能力が上回った場合
帯域監視部１８，温度センサー部２１，他デバイス情報通知部２２からの情報をバッファ制御部１９に通知する。バッファ制御部１９では、入力側帯域情報より、現時点のバッファ使用量（例えばｎ個）が入力帯域より  上回ったと判断し、バッファ削減指示（ｍ個削減）をルート切替部１２，１４に指示する。
【００１９】
バッファ削減指示では、使用中バッファ１３のデータ処理完了後に、未使用となる。ここでは、便宜上＃１から＃ｍまでのバッファを削減することにする。先ず、バッファ制御部１９からルート切替部１２，１４に、バッファ＃１の未使用指示を出し、データルートを切り替える。バッファ＃１には未使用未処理データが存在している可能性があるため、バッファ＃１のバッファ使用面数カウンタ部１７からの使用面数ゼロ通知を受けて、次のバッファ＃２へのバッファ削減を指示する。上記の動作をバッファ＃ｍまで実施することにより、ｍ個のバッファの削減を実現する。これにより、入力側帯域に対する処理能力の余剰分をなくし、消費電力削減、レイテンシの改善を実現することが可能となる。
【００２０】
図２はバッファ制御部の基本動作シーケンスを示す図である。帯域監視部１８は処理能力と入力帯域の比較結果をバッファ制御部１９に通知する（Ｓ１）。温度センサー部２１は装置内温度をバッファ制御部１９に通知する（Ｓ２）。他デバイス情報通知部２２は他デバイスの耐久温度情報をバッファ制御部１９に通知する（Ｓ３）。バッファ制御部１９内には、条件テーブル１９ａが記憶されている。該条件テーブル１９ａは、周囲温度に対するデバイスのジャンクション温度Ｔｊを超えないためのバッファ使用量値を記憶するものである。
【００２１】
バッファ制御部１９は、帯域監視部１８，温度センサー部２１及び他デバイス情報通知部２２からの入力情報と、条件テーブル１９ａとを比較し、ルート切替部１４に対してバッファ使用数の増減指示制御を行なう（Ｓ４）。一方、バッファ使用面数カウンタ部１７からはバッファ格納通知がバッファ制御部１９に通知される（Ｓ５）。該バッファ制御部１９は、ルート切替部１４に対してバッファ増減指示を通知し（Ｓ６）、該ルート切替部１４はバッファ制御部１９からの指示に従いルート切り替えを行なう（Ｓ７）。以上、説明したように、この実施の形態例によれば、帯域監視部１８からのパケット流入の変化量と温度センサー部２１からの温度検知結果により、多段接続されたバッファサイズを動的に切り替えることができる。また、自デバイスの発熱を抑えることで、装置内の温度を下げ、他デバイスのジャンクション温度Ｔｊに達するのを防止することができる。
【００２２】
図３は温度センサー部からの通知シーケンスを示す図である。前提としてバッファｎ個を使用中であるものとする。帯域監視部１８は、バッファ制御部１９に処理能力（入力帯域）を通知する（Ｓ１）。温度センサー部２１は装置内温度８０℃をバッファ制御部１９に通知する（Ｓ２）。また、他デバイス情報通知部２２は他デバイスの耐久温度４０℃をバッファ制御部１９に通知する（Ｓ３）。バッファ制御部１９は、帯域監視部１８，温度センサー部２１及び他デバイス情報通知部２２からの入力情報と、条件テーブル１９ａとを比較し、ルート切替部１４に対してバッファ使用数の増減指示制御を行なう（Ｓ４）。具体的には、ジャンクション温度である８５℃を超えないようにするため、バッファ使用量をｉ個減らすように制御する。
【００２３】
次に、バッファ使用面数カウンタ部１７から、バッファ制御部１９に対してバッファ格納通知が送出される（Ｓ５）。これを受けて、バッファ制御部１９はルート切替部１４に対してバッファ＃１の未使用化を指示する（Ｓ６）。この通知を受けたルート切替部１４は、ルート切り替え（バッファ＃１のルート使用禁止）を行なう（Ｓ７）。バッファ使用面数カウンタ部１７は、バッファ制御部１９に対してバッファ＃１の残量通知を行なう（Ｓ８）。
【００２４】
バッファ制御部１９は、バッファ＃１が空になったことを確認してバッファ＃２の未使用指示を行なう（Ｓ９）。上述したＡの処理をバッファｋまで繰り返す（Ｓ１０）。この実施の形態例によれば、低消費電力化を図ることができる。
【００２５】
図４は他デバイス情報通知部からの通知シーケンスを示す図である。前提としてバッファｎ個を使用中であるものとする。帯域監視部１８は、バッファ制御部１９に処理能力（入力帯域）を通知する（Ｓ１）。温度センサー部２１は装置内温度６０℃をバッファ制御部１９に通知する（Ｓ２）。他デバイス情報通知部２２は、耐久温度６５℃をバッファ制御部１９に通知する（Ｓ３）。バッファ制御部１９は、帯域監視部１８，温度センサー部２１及び他デバイス情報通知部２２からの入力情報と、条件テーブル１９ａとを比較し、ルート切替部１４に対してバッファ使用数の増減指示制御を行なう（Ｓ４）。具体的には、デバイスのジャンクション温度７０℃を超えないようにするため、バッファ使用量をｉ個減らすように制御する。
【００２６】
次に、バッファ使用面カウンタ部１７からバッファ制御部１９に対してバッファ格納通知がなされる（Ｓ５）。これに対し、バッファ制御部１９はルート切替部１４に対してバッファ＃１の未使用化指示を出す（Ｓ６）。ルート切替部１４はこの指示を受けてルート切り替え（バッファ＃１のルート使用禁止）を行なう（Ｓ７）。次に、バッファ使用面数カウンタ部１７は、バッファ制御部１９に対してバッファ＃１の残量を通知する（Ｓ８）。この残量通知を受けて、バッファ制御部１９はバッファ＃１が空になったことを確認してバッファ＃２の未使用指示を出す（Ｓ９）。上述したＢの処理をバッファｋまで繰り返す（Ｓ１０）。この実施の形態例によれば、低消費電力化を図ることができ、他デバイスが温度破壊するのを防止することができる。
【００２７】
図５は帯域監視部からの通知シーケンスの第１の例を示す図である。帯域監視部１８は処理能力＜入力帯域であることをバッファ制御部１９に通知する（Ｓ１）。温度センサー部２１は装置内温度４０℃をバッファ制御部１９に通知する（Ｓ２）。他デバイス情報通知部２２は、耐久温度４０℃をバッファ制御部１９に通知する（Ｓ３）。バッファ制御部１９は、帯域監視部１８，温度センサー部２１及び他デバイス情報通知部２２からの入力情報と、条件テーブル１９ａとを比較し、ルート切替部１４に対してバッファ使用数の増減指示制御を行なう（Ｓ４）。具体的には、入力帯域が処理能力を上回ったため、ジャンクション温度Ｔｊが８５℃を超えない範囲でバッファを増加させるように制御する。
【００２８】
次に、バッファ制御部１９からルート切替部１４に対してバッファ増加指示（ｎ個使用する）を出す（Ｓ５）。ルート切替部１４では、ルート切り替えを行なう（Ｓ６）。具体的には経由するバッファを増加させる。次に、バッファ使用面数カウンタ部１７は、バッファ制御部１９に対してバッファ格納通知を行なう（Ｓ７）。この実施の形態例によれば、バッファ使用帯域差の吸収能力を増加させることができる。
【００２９】
図６は帯域監視部からの通知シーケンスの第２の例を示す図である。前提として、バッファｎ個を使用中であるものとする。帯域監視部１８は、処理能力＞入力帯域であることをバッファ制御部１９に通知する（Ｓ１）。次に、温度センサー部２１は装置内温度４０℃をバッファ制御部１９に通知する（Ｓ２）。他デバイス情報通知部２２は、耐久温度４０℃をバッファ制御部１９に通知する（Ｓ３）。バッファ制御部１９は、帯域監視部１８，温度センサー部２１及び他デバイス情報通知部２２からの入力情報と、条件テーブル１９ａとを比較し、入力帯域が処理能力を下回ったので、余分なバッファを使用しないように制御する（Ｓ４）。ここでは、ｉ個のバッファが不要であると判断する。
【００３０】
バッファ使用面数カウンタ部１７は、バッファ制御部１９に対してバッファ格納通知を出す（Ｓ５）。これを受けてバッファ制御部１９は、バッファ＃１の未使用化をルート切替部１４に対して指示する（Ｓ６）。ルート切替部１４は、この指示を受けて、ルート切り替えを行なう（Ｓ７）。具体的には、＃１のバッファのルートを使用禁止にする。次に、バッファ使用面カウンタ部１７は、バッファ制御部１９に対してバッファ＃１の残量を通知する（Ｓ８）。バッファ制御部１９は、これを受けてバッファ＃１が空になったことを確認してバッファ＃２の未使用指示を行なう（Ｓ９）。以後、Ｃの処理をバッファ＃ｋまで繰り返す（Ｓ９）。この実施の形態例によれば、低消費電力化を図ることができる。
【００３１】
図７は従来のＦＰＧＡデバイス（ＦＰＧＡはザイリンクス社の登録商標）の周囲温度／Ｔｊ温度／バッファ使用量の関係を示す図である。図において、縦軸は周囲温度（℃）とバッファ数量、横軸はジャンクション温度Ｔｊ（℃）である。ｆ１はバッファ数量、ｆ２は温度変化を示す。バッファ数量が５００個で一定の場合、周囲温度の上昇と共にジャンクション温度も上昇し、ジャンクション温度が８５℃に達した時点でデバイスは破壊される。
【００３２】
図８は本発明のＦＰＧＡデバイスの周囲温度／Ｔｊ温度／バッファ使用量の関係を示す図である。ｆ３はバッファ数量、ｆ４は温度変化を示す。この場合には、ジャンクション温度がある値になると、バッファ使用量を減らす制御を行なうため、温度はある値より上昇しなくなり、デバイスが破壊されるのを防止することができる。
【００３３】
本発明の効果を列挙すると、以下の通りである。
１）温度環境や入力帯域の情報を入手し、動的にバッファサイズを変更することにより、自デバイス或いは、他デバイスの素子破壊を防止することが可能である。
２）入力側の帯域が小さい場合は、バッファサイズを小さくすることで、消費電力の削減／発熱の低減、及びレイテンシ削減を行なうことが可能である。
３）温度環境や入力帯域に応じて、動的にバッファサイズを変更することにより、メモリを有効活用することが可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施の形態例を示すブロック図である。
【図２】バッファ制御部の基本動作シーケンスを示す図である。
【図３】温度センサー部からの通知シーケンスを示す図である。
【図４】他デバイス情報通知部からの通知シーケンスを示す図である。
【図５】帯域監視部からの通知シーケンスの第１の例を示す図である。
【図６】帯域監視部からの通知シーケンスの第２の例を示す図である。
【図７】従来のＦＰＧＡデバイスの周囲温度／Ｔｊ温度／バッファ使用量の関係を示す図である。
【図８】本発明のＦＰＧＡデバイスの周囲温度／Ｔｊ／バッファ使用量の関係を示す図である。
【図９】従来装置の構成例を示すブロック図である。
【符号の説明】
【００３５】
１０  データ転送装置
１１  Ｉ／Ｏインタフェース
１２  ルート切替部
１３  バッファ部
１４  ルート切替部
１５  データ整形回路
１６  Ｉ／Ｏインタフェース
１７  バッファ使用面数カウンタ部
１８  帯域監視部
１９  バッファ制御部
２１  温度センサー部
２２  他デバイス情報通知部
【図１】
0004509945.tif 000002
【図２】
0004509945.tif 000003
【図３】
0004509945.tif 000004
【図４】
0004509945.tif 000005
【図５】
0004509945.tif 000006
【図６】
0004509945.tif 000007
【図７】
0004509945.tif 000008
【図８】
0004509945.tif 000009
【図９】
0004509945.tif 000010