(57)【特許請求の範囲】
【請求項１】
データの入力を受付けるポート毎に設けられ、前記データを一時記憶し、リードイネーブル信号に応じて、一時記憶するデータを出力する一時記憶部と、
前記リードイネーブル信号に応じて前記一時記憶部から出力されたデータを時分割多重して記憶する記憶部と、
前記ポート毎のデータ流量を監視する流量監視部と、
前記データが入力された前記ポートに対応する前記一時記憶部の内、前記ポート毎のデータ流量に応じてリードイネーブル対象の一時記憶部を選定し、選定された一時記憶部に対して前記リードイネーブル信号を出力する制御部と、
前記流量監視部からデータ流量の総和に応じて、前記記憶部の内部クロックの動作速度を可変させるクロック制御部と
を有することを特徴とする伝送装置。
【請求項２】
前記一時記憶部毎のデータ容量を監視する第１の監視部と、
前記記憶部のデータ容量を監視する第２の監視部と
をさらに有し、
前記制御部は、
前記第１の監視部の監視結果が第１の閾値以上の場合又は、前記第２の監視部の監視結果が第２の閾値以上の場合に、前記記憶部の内部クロックの動作速度を所定速度に制御すると共に、
前記第１の監視部の監視結果が前記第１の閾値未満、前記第２の監視部の監視結果が前記第２の閾値未満、かつ、前記流量監視部からの前記データ流量の総和が第３の閾値を超えた場合に、前記内部クロックの動作速度を前記所定速度よりも低速に制御することを特徴とする請求項１に記載の伝送装置。
【請求項３】
前記制御部は、
前記内部クロックの動作速度が前記低速に制御されている場合に、前記ポート毎のデータ流量に応じた加重付きラウンドロビン方式でリードイネーブル対象の一時記憶部を選定することを特徴とする請求項２に記載の伝送装置。
【請求項４】
前記制御部は、
前記内部クロックの動作速度が前記所定速度に制御されている場合に、ラウンドロビン方式でリードイネーブル対象の一時記憶部を選定することを特徴とする請求項２又は３に記載の伝送装置。
【請求項５】
前記制御部は、
前記ポート毎のデータ流量に応じて加重付きラウンドロビン方式の重みを付し、重み付けの大きい順にリードイネーブル対象の一時記憶部を選定することを特徴とする請求項１〜４の何れか一つに記載の伝送装置。
【請求項６】
データの入力を受付けるポート毎に設けられ、前記データを一時記憶し、リードイネーブル信号に応じて、一時記憶するデータを出力する一時記憶部と、
前記リードイネーブル信号に応じて前記一時記憶部から出力されたデータを時分割多重して記憶する記憶部とを有する伝送装置の伝送方法であって、
前記伝送装置は、
前記ポート毎のデータ流量を監視し、
前記データが入力された前記ポートに対応する前記一時記憶部の内、前記ポート毎のデータ流量に応じてリードイネーブル対象の一時記憶部を選定し、
選定された一時記憶部に対して前記リードイネーブル信号を出力し、
前記データ流量の総和に応じて、前記記憶部の内部クロックの動作速度を可変させる
各処理を実行することを特徴とする伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、伝送装置及び伝送方法に関する。
【背景技術】
【０００２】
現在、インターネット通信の普及により伝送装置の高密度化や高品質化が求められている。従って、伝送装置では、例えば、ＳＯＮＥＴ／ＳＤＨ（Synchronous  Optical  Network/Synchronous  Digital  Hierarchy）やイーサネット（登録商標）等の複数のサービスを一台でサポートできる機能が求められている。
【０００３】
また、Ｌ２スイッチ等としての伝送装置では、複数の入力ポートから入力されるパケット信号がフルレートで入力される場合を想定し、共有バッファ処理部側の動作クロックを決定する。そして、伝送装置では、消費電力の低下が求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７４６０７号公報
【特許文献２】特開２００１−１４４７５３号公報
【特許文献３】特開２０１１−６１４４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記伝送装置では、フルレートの入力レートを想定して動作クロックを決定するため、入力レートが低レートの場合、動作クロックが過剰となる。その結果、過剰な動作クロックで電力を消費する。
【０００６】
しかも、ＳＯＮＥＴ／ＳＤＨ等の複数のサービスをサポートした伝送装置では、複数の入力ポートの内、別のサービスに使用する入力ポートは未使用となる。しかしながら、伝送装置では、全ての入力ポートを使用する場合を想定して動作クロックを決定しているため、未使用の入力ポートがある場合、未使用の入力ポートに対してもリードイネーブル信号を出力する為、電力を消費する。
【０００７】
一つの側面は、消費電力を節減できる伝送装置及び伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの案では、伝送装置は、データの入力を受付けるポート毎に設けられ、前記データを一時記憶し、リードイネーブル信号に応じて、一時記憶するデータを出力する一時記憶部を有する。更に、伝送装置は、前記リードイネーブル信号に応じて前記一時記憶部から出力されたデータを時分割多重して記憶する記憶部と、前記ポート毎のデータ流量を監視する流量監視部とを有する。更に、伝送装置は、前記データが入力された前記ポートに対応する前記一時記憶部の内、前記ポート毎のデータ流量に応じた加重付きラウンドロビン方式でリードイネーブル対象の一時記憶部を選定する制御部を有する。更に、制御部は、選定された一時記憶部に対して前記リードイネーブル信号を出力する。
【発明の効果】
【０００９】
開示の態様では、消費電力を節減できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例のＬ２スイッチの一例を示す説明図である。
【図２】図２は、ＳＷカードの一例を示す説明図である。
【図３】図３は、ＦＩＦＯ監視部の閾値の関係の一例を示す説明図である。
【図４】図４は、共有バッファへの書込み動作の一例を示す説明図である。
【図５】図５は、比較例の変換用ＦＩＦＯの選定動作の一例を示す説明図である。
【図６】図６は、４００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。
【図７Ａ】図７Ａは、２００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。
【図７Ｂ】図７Ｂは、２００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。
【図８】図８は、１００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。
【図９】図９は、ＦＩＦＯ容量監視処理に関わるＦＩＦＯ監視部の処理動作の一例を示すフローチャートである。
【図１０】図１０は、共有バッファ容量監視処理に関わる共有バッファ監視部の処理動作の一例を示すフローチャートである。
【図１１】図１１は、流量監視処理に関わる流量監視部の処理動作の一例を示すフローチャートである。
【図１２】図１２は、クロックモード設定処理に関わる制御部の処理動作の一例を示すフローチャートである。
【図１３】図１３は、他の実施例に関わるＦＩＦＯ監視部の閾値の関係の一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて、本願の開示する伝送装置及び伝送方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下の実施例では、伝送装置がＬ２スイッチである場合を示すが、Ｌ１〜Ｌ３何れかのスイッチであっても良い。
【実施例】
【００１２】
図１は、本実施例のＬ２スイッチの一例を示す説明図である。図１に示すＬ２スイッチ１は、例えば、４８個のＬＩＵ（Line  Unit  Interface）カードＬＩ２００〜ＬＩ２４７と、４８個のＬＩＵカードＬＯ２００〜ＬＯ２４７と、スイッチカード（以下、単にＳＷカードと称する）３とを有する。ＳＷカード３は、対応する入力ポートＰＩ００〜ＰＩ４７を通じて各ＬＩＵカードＬＩ２００〜ＬＩ２４７と接続する。更に、ＳＷカード３は、対応する出力ポートＰＯ００〜ＰＯ４７を通じて各ＬＩＵカードＬＯ２００〜ＬＯ２４７と接続する。
【００１３】
ＬＩＵカードＬＩ２００〜ＬＩ２４７及びＬＯ２００〜ＬＯ２４７は、データベース４を内蔵した宛先制御部５を有する。データベース４は、回線から入力されたフレーム内の宛先アドレスに対応する転送先のカード情報及びポート情報等の宛先情報を管理する。宛先制御部５は、回線からフレームを受信した場合、フレーム内の宛先アドレスを抽出し、抽出された宛先アドレスに対応する転送先の宛先情報をデータベース４から取得する。各ＬＩＵカードＬＩ２００〜ＬＩ２４７内の宛先制御部５は、宛先情報を入力信号ＩＮのヘッダ部分に付加する。そして、宛先制御部５は、宛先情報が付加された入力信号ＩＮを、対応する入力ポートＰＩ００〜ＰＩ４７を通じてＳＷカード３に出力する。尚、入力信号ＩＮは、例えば、３２ビット幅のパケットである。１パケットのパケット長は、例えば、最大９６バイト長である。１パケット当たりの処理サイクルは、例えば、１２サイクルとする。
【００１４】
また、ＳＷカード３は、各入力ポートＰＩ００〜ＰＩ４７を通じて受信した入力信号ＩＮ００〜ＩＮ４７をパケット化し、当該パケットを時分割多重して後述する共有バッファに保持する。また、ＳＷカード３は、共有バッファに保持されたパケットから入力信号ＩＮ００〜ＩＮ４７と同一形式の出力信号ＯＵＴ００〜ＯＵＴ４７に復元する。そして、ＳＷカード３は、復元された出力信号ＯＵＴ００〜ＯＵＴ４７を各出力ポートＰＯ００〜ＰＯ４７に出力する。
【００１５】
ＳＷカード３は、入力部３Ａと、出力部３Ｂと、共有バッファ処理部３Ｃと、アドレス管理部３Ｄとを有する。入力部３Ａは、各入力ポートＰＩ００〜ＰＩ４７を介してＬＩカードＬＩ２００〜ＬＩ２４７とそれぞれ接続する入力インタフェースである。入力部３Ａは、各入力ポートＰＩ００〜ＰＩ４７から入力された各入力信号ＩＮ００〜ＩＮ４７を一時的に格納し、入力信号の伝送クロックを外部クロックから内部クロックへ変換する。尚、入力部３Ａは、回線毎に外部から入力される外部クロックで動作する。また、共有バッファ処理部３Ｃは、例えば、４００ＭＨｚの内部クロックで動作する。尚、内部クロックは、後述するが、４００ＭＨｚ、２００ＭＨｚ及び１００ＭＨｚの周波数に適宜変更可能である。
【００１６】
出力部３Ｂは、各出力ポートＰＯ００〜ＰＯ４７を介してＬＩＵカードＬＯ２００〜ＬＯ２４７とそれぞれ接続する出力インタフェースである。出力部３Ｂは、共有バッファ処理部３Ｃによりスイッチ処理されたパケット（セグメントＳＧ）を復元した各出力信号ＯＵＴ００〜ＯＵＴ４７を一時的に格納し、出力信号の伝送クロックを内部クロックから外部クロックへ変換する。
【００１７】
共有バッファ処理部３Ｃは、入力部３Ａからの入力信号ＩＮ００〜ＩＮ４７内のデータを３２個単位で直列に接続したセグメントＳＧ００〜ＳＧ４７に分割して読み出し、読み出されたセグメントＳＧを各共有バッファに保持する。更に、共有バッファ処理部３Ｃは、４８個の出力ポートＰＯ００〜ＰＯ４７毎に、共有バッファに保持されたセグメントＳＧを読み出して入力信号ＩＮと同一形式の出力信号ＯＵＴに復元し、復元された出力信号ＯＵＴを出力部３Ｂに出力する。
【００１８】
アドレス管理部３Ｄは、共有バッファ処理部３Ｃ内の各共有バッファに対する書込みアドレスＷＡ及び読出しアドレスＲＡを管理する。
【００１９】
ＬＩＵカードＬＯ２００〜ＬＯ２４７内の宛先制御部５は、ＳＷカード３から出力信号ＯＵＴを受信した場合、出力信号ＯＵＴに付加された宛先情報を削除し、宛先情報が削除された出力信号ＯＵＴを出力する。
【００２０】
図２は、ＳＷカード３の一例を示す説明図である。図２に示す入力部３Ａは、流量監視部Ａ１００〜Ａ１４７と、一時記憶部の一例として変換用ＦＩＦＯＡ２００〜Ａ２４７とを有する。尚、変換用ＦＩＦＯは、ＦＩＦＯ（First  In  First  Out）方式でデータの入出力を管理するバッファである。各流量監視部Ａ１００〜Ａ１４７は、対応する入力ポートＰＩ００〜ＰＩ４７毎の所定期間分のデータ量を監視する。尚、所定期間とは、例えば、４００ＭＨｚの動作クロックを使用した場合の１９２クロック分相当の期間である。
【００２１】
変換用ＦＩＦＯＡ２００〜Ａ２４７は、対応する入力ポートＰＩ００〜ＰＩ４７で得た入力信号ＩＮ００〜ＩＮ４７を一時的に書き込む記憶領域を有する。更に、変換用ＦＩＦＯＡ２００〜Ａ２４７は、第１の監視部の一例としてＦＩＦＯ監視部Ａ３００〜Ａ３４７を有する。ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、対応する変換用ＦＩＦＯＡ２００〜Ａ２４７毎に、所定期間分のデータ容量を監視する。尚、所定期間とは、例えば、４００ＭＨｚの動作クロックを使用した場合の１９２クロック分相当の期間である。図３は、ＦＩＦＯ監視部Ａ３００〜Ａ３４７の閾値の関係の一例を示す説明図である。ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、１９２クロック分の期間内で４パケット分のデータ容量を検出した場合をフル閾値、図３に示すように、４パケットの１／２以上、すなわち２パケット分のデータ容量をフル直前閾値とする。変換用ＦＩＦＯＡ２００〜Ａ２４７は、対応した入力ポートＩＮ００〜ＩＮ４７を通じて入力信号ＩＮ００〜ＩＮ４７が書き込まれると、書込み完了を示す書込み完了パルスＷＰを共有バッファ処理部３Ｃに出力する。
【００２２】
出力部３Ｂは、変換用ＦＩＦＯＢ１００〜Ｂ１４７を有する。変換用ＦＩＦＯＢ１００〜Ｂ１４７は、各出力信号ＯＵＴ００〜ＯＵＴ４７を格納して出力ポートＰＯ００〜ＰＯ４７に出力する。
【００２３】
共有バッファ処理部３Ｃは、読出しアドレス生成部Ｃ１００〜Ｃ１４７と、書込みセレクタＣ２００〜Ｃ２３１と、記憶部の一例としての共有バッファＣ３００〜Ｃ３３１と、制御部Ｃ４００と、読出しセレクタＣ５００〜Ｃ５４７とを有する。更に、共有バッファ処理部３Ｃは、第１シフト部Ｃ６００〜Ｃ６３０と、第２シフト部Ｃ７００〜Ｃ７３０とを有する。
【００２４】
読出しアドレス生成部Ｃ１００〜Ｃ１４７は、対応する変換用ＦＩＦＯＡ２００〜Ａ２４７から書込み完了パルスＷＰを受信し、かつ、制御部Ｃ４００から書込み用タイムスロットＴＳＷを受信した場合、読出しアドレスＲＡを生成する。そして、読出しアドレス生成部Ｃ１００〜Ｃ１４７は、対応する変換用ＦＩＦＯＡ２００〜Ａ２４７に読出しアドレスＲＡを付与する。尚、書込み用タイムスロットＴＳＷは、例えば、１周期４８クロックである。
【００２５】
共有バッファＣ３００〜Ｃ３３１は、セグメントＳＧ００〜ＳＧ４７中の３２ビットのデータの直列接続数に応じた３２個のバッファである。書込みセレクタＣ２００〜Ｃ２３１は、４８：１のセレクタであり、セグメントＳＧ００〜ＳＧ４７を書込み用タイムスロットＴＳＷに応じて選択する。そして、書込みセレクタＣ２００〜Ｃ２３１は、セグメントＳＧ００〜ＳＧ４７を共有バッファＣ３００〜Ｃ３３１単位に多重化し、多重化されたセグメントＳＧ００〜ＳＧ４７を対応する共有バッファＣ３００〜Ｃ３３１に書き込む。
【００２６】
第１シフト部Ｃ６００〜Ｃ６３０は、アドレス管理部３Ｄ内の後述する書込みアドレスＦＩＦＯから出力された書込みアドレスＷＡの位相を、対応する書込みセレクタＣ２００〜Ｃ２３１から出力された各データの位相に合わせてシフトする。そして、第１シフト部Ｃ６００〜Ｃ６３０は、シフトされた書込みアドレスＷＡを共有バッファＣ３００〜Ｃ３３１に付与する。
【００２７】
第２シフト部Ｃ７００〜Ｃ７３０は、アドレス管理部３Ｄ内の後述する読出しアドレスセレクタから出力された読出しアドレスＲＡの位相を、第１シフト部Ｃ６００〜Ｃ６３０による書込みアドレスＷＡの位相シフトの順番に対応してシフトする。そして、第２シフト部Ｃ７００〜Ｃ７３０は、シフトされた読出しアドレスＲＡを対応する共有バッファＣ３００〜Ｃ３３１に付与する。
【００２８】
読出しセレクタＣ５００〜Ｃ５４７は、３２：１のセレクタであり、各共有バッファＣ３００〜Ｃ３３１から読み出されたデータを読出し用タイムスロットＴＳＲに応じて出力ポートＯＵＴ００〜ＯＵＴ４７単位に多重化する。尚、読出し用タイムスロットＴＳＲは、例えば、１周期４８クロックである。そして、読出しセレクタＣ５００〜Ｃ５４７は、多重化されたデータを対応する変換用ＦＩＦＯＢ１００〜Ｂ１３１に書き込む。
【００２９】
制御部Ｃ４００は、書込み用タイムスロットＴＳＷを生成する。更に、制御部Ｃ４００は、流量監視部Ａ１００〜Ａ１４７を通じて、各入力ポートＰＩ００〜ＰＩ４７単位でデータ流量を監視する。更に、制御部Ｃ４００は、ＦＩＦＯ監視部Ａ３００〜Ａ３４７を通じて、各入力ポートＰＩ００〜ＰＩ４７単位のデータ容量を監視する。更に、制御部Ｃ４００は、後述する共有バッファ監視部を通じて各共有バッファＣ３００〜Ｃ３３１のデータ容量を監視する。
【００３０】
アドレス管理部３Ｄは、書込みアドレスＦＩＦＯＤ１００と、読出しアドレス管理部Ｄ２００と、読出しタイムスロット生成部Ｄ３００と、読出しアドレスセレクタＤ４００とを有する。書込みアドレスＦＩＦＯＤ１００は、各共有バッファＣ３００〜Ｃ３３１内の書込みアドレスＷＡを書き込む領域を有する。更に、書込みアドレスＦＩＦＯＤ１００は、第２の監視部の一例として共有バッファ監視部Ｄ５００を有する。共有バッファ監視部Ｄ５００は、共有バッファＣ３００〜Ｃ３３１のデータ容量を監視する。
【００３１】
読出しアドレス管理部Ｄ２００は、共有バッファＣ３００〜Ｃ３３１の読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１を有する。読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１は、対応する共有バッファＣ３００〜Ｃ３３１の読出しアドレスＲＡを書き込む領域である。読出しタイムスロット生成部Ｄ３００は、各共有バッファＣ３００〜Ｃ３３１の読出しタイミングの読出し用タイムスロットＴＳＲを出力する。読出しアドレスセレクタＤ４００は、読出し用タイムスロットＴＳＲに応じて読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１の何れかから読出しアドレスＲＡを取得する。
【００３２】
共有バッファ処理部３Ｃ内の制御部Ｃ４００は、共有バッファＣ３００〜Ｃ３３１の内部クロックを、例えば、４００ＭＨｚ、２００ＭＨｚ及び１００ＭＨｚの３種類のクロックに設定変更できる。制御部Ｃ４００は、流量監視部Ａ１００〜Ａ１４７、ＦＩＦＯ監視部Ａ３００〜Ａ３４７及び共有バッファ監視部Ｄ５００の監視結果に基づき内部クロックを設定変更できる。
【００３３】
流量監視部Ａ１００〜Ａ１４７は、対応する入力ポートＰＩ００〜ＰＩ４７のデータ流量に応じてイエローフラグやグリーンフラグを制御部Ｃ４００に出力する。イエローフラグは、入力ポートＰＩのデータ流量がフルレートの１／２〜１／４以内であることを識別するものである。グリーンフラグは、入力ポートＰＩのデータ流量がフルレートの１／４未満であることを識別するものである。制御部Ｃ４００は、フラグなしの入力ポートＰＩの場合、データ流量がフルレートの１／２を超えた入力ポートＰＩと判定する。尚、フルレートとは、各入力ポートＰＩの最大入力レートである。また、制御部Ｃ４００は、イエローフラグの入力ポートＰＩの場合、データ流量がフルレートの１／２〜１／４以内の入力ポートＰＩと判定する。また、制御部Ｃ４００は、グリーンフラグの入力ポートＰＩの場合、データ流量がフルレートの１／４未満の入力ポートＰＩと判定する。
【００３４】
制御部Ｃ４００は、共有バッファＣ３００〜Ｃ３３１内にセグメントＳＧ００〜ＳＧ４７を書き込む際に加重付きラウンドロビン（ＷＲＲ：Weighted  Round  Robin）を使用して変換用ＦＩＦＯＡ２００〜Ａ２４７に対するリードイネーブル信号を生成する。尚、ＷＲＲに使用する重みは、例えば、フラグなしの場合に“２”、イエローフラグの場合に“１”、グリーンフラグの場合に“０”とする。変換用ＦＩＦＯＡ２００〜Ａ２４７は、リードイネーブル信号に応じて共有バッファＣ３００〜Ｃ３３１に書き込む際のデータ読出しを指示する信号である。
【００３５】
また、ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、対応する変換用ＦＩＦＯＡ２００〜Ａ２４７毎のデータ容量がフル直前閾値以上の場合にフル直前フラグを制御部Ｃ４００に出力する。また、共有バッファ監視部Ｄ５００は、共有バッファＣ３００〜Ｃ３３１のデータ容量がフル直前閾値以上の場合にフル直前フラグを制御部Ｃ４００に出力する。そして、制御部Ｃ４００は、フル直前フラグを検出した場合、４００ＭＨｚクロックモードに設定する。
【００３６】
制御部Ｃ４００は、４００ＭＨｚクロックモードに設定した場合、フラグなしの対象の入力ポートＰＩの変換用ＦＩＦＯＡ２００〜Ａ２４７をＲＲで選定し、選定された変換用ＦＩＦＯＡ２００〜Ａ２４７に対してリードイネーブル信号を出力する。尚、対象の入力ポートＰＩは、パケットなしの未使用の入力ポートＰＩを除く。図５は、比較例の変換用ＦＩＦＯの選定動作の一例を示す説明図である。図６は、４００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。図５の比較例では、入力ポートＰＩ００〜ＰＩ４７の内、パケットなしの未使用の入力ポートＰＩ４０〜ＰＩ４７も含めて全入力ポートＰＩ００〜ＰＩ４７の変換用ＦＩＦＯＡ２００〜Ａ２４７にリードイネーブル信号を出力する。これに対して、本実施例では、入力ポートＰＩ００〜ＰＩ４７の内、パケットなしの未使用の入力ポートＰＩ４０〜ＰＩ４７を除く、対象の入力ポートＰＩ００〜ＰＩ３９の変換用ＦＩＦＯＡ２００〜Ａ２３９にリードイネーブル信号を出力する。
【００３７】
つまり、制御部Ｃ４００は、図６に示すように、ＲＲで１周期分４８回に１回、未使用の入力ポートＰＩ４０〜ＰＩ４７を除く、対象の入力ポートＰＩ００〜ＰＩ３９の変換用ＦＩＦＯＡ２００〜Ａ２３９に対してリードイネーブル信号を出力する。その結果、未使用の変換用ＦＩＦＯＡ２４０〜Ａ２４７にリードイネーブル信号を出力しないため、図５に比較して、消費電力を節減できる。
【００３８】
また、制御部Ｃ４００は、２００ＭＨｚクロックモードに設定した場合、パケットなしの未使用の入力ポートＰＩ２４〜ＰＩ４７を除外し、対象の入力ＰＩ００〜ＰＩ２３の変換用ＦＩＦＯＡ２００〜Ａ２２３をＷＲＲで選定する。図７Ａ及び図７Ｂは、２００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。図７Ａ及び図７Ｂにおいて制御部Ｃ４００は、２００ＭＨｚの内部クロックに設定し、ＲＲでフラグなしの対象の入力ポートＰＩ００〜ＰＩ０７の変換用ＦＩＦＯＡ２００〜Ａ２０７を連続４回選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２００〜Ａ２０７に対してリードイネーブル信号を出力する。更に、制御部Ｃ４００は、ＲＲでイエローフラグの対象の入力ポートＰＩ０８〜ＰＩ２３の変換用ＦＩＦＯＡ２０８〜Ａ２２３を連続２回選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２０８〜Ａ２２３に対してリードイネーブル信号を出力する。但し、同じポートの読み出しはパケット長分の間隔をあける。
【００３９】
また、制御部Ｃ４００は、１００ＭＨｚクロックモードに設定した場合、パケットなしの未使用の入力ポートＰＩ２４〜ＰＩ４７を除外し、対象の入力ＰＩ００〜ＰＩ２３の変換用ＦＩＦＯＡ２００〜Ａ２２３をＷＲＲで選定する。図８は、１００ＭＨｚクロックモード時の変換用ＦＩＦＯの選定動作の一例を示す説明図である。図８において制御部Ｃ４００は、１００ＭＨｚの内部クロックに設定し、ＲＲでフラグなしの対象の入力ポートＰＩ００〜ＰＩ０３の変換用ＦＩＦＯＡ２００〜Ａ２０３を連続４回選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２００〜Ａ２０３に対してリードイネーブル信号を出力する。更に、制御部Ｃ４００は、ＲＲでイエローフラグの対象の入力ポートＰＩ０４〜ＰＩ１１の変換用ＦＩＦＯＡ２０４〜Ａ２１１を連続２回選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２０４〜Ａ２１１に対してリードイネーブル信号を出力する。更に、制御部Ｃ４００は、ＲＲでグリーンフラグの対象の入力ポートＰＩ１２〜ＰＩ２３の変換用ＦＩＦＯＡ２１２〜Ａ２２３を１回選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２１２〜Ａ２２３に対してリードイネーブル信号を出力する。但し、同じポートの読み出しはパケット長分の間隔をあける。
【００４０】
次に、実施例のＬ２スイッチ１の動作について説明する。先ずは、ＳＷカード３が４００ＭＨｚの動作クロックで共有バッファＣ３００〜Ｃ３３１にデータを書込む際の動作について説明する。
【００４１】
ＳＷカード３内の入力部３Ａは、入力ポートＰＩ００〜ＰＩ４７を介して書込イネーブルＷＥ及び入力信号ＩＮ００〜ＩＮ４７を受信する。入力部３Ａは、書込みイネーブル信号を受信した場合、対応する入力信号ＩＮ００〜ＩＮ４７を変換用ＦＩＦＯＡ２００〜Ａ２４７に書き込む。そして、変換用ＦＩＦＯＡ２００〜Ａ２４７は、入力信号ＩＮ００〜ＩＮ４７が書き込まれると、対応する読出しアドレス生成部Ｃ１００〜Ｃ１４７に書込み完了パルスＷＰを出力する。
【００４２】
読出しアドレス生成部Ｃ１００〜Ｃ１４７は、書込み完了パルスＷＰを受信し、かつ、制御部Ｃ４００側で生成した書込み用タイムスロットＴＳＷを受信した場合に、変換用ＦＩＦＯＡ２００〜Ａ２４７に読出しアドレスＲＡを出力する。変換用ＦＩＦＯＡ２００〜Ａ２４７は、読出しアドレスＲＡを受信した場合に、対応する入力信号ＩＮ００〜ＩＮ４７内のセグメントＳＧ００〜ＳＧ４７を読み出し、各セグメントＳＧ００〜ＳＧ４７を各書込みセレクタＣ２００〜Ｃ２３１に出力する。その結果、変換用ＦＩＦＯＡ２００〜Ａ２４７からセグメントＳＧ００〜ＳＧ４７を読み出す際に、外部クロックから内部クロックに変換する。
【００４３】
制御部Ｃ４００は、１周期で、図４に示すように“０”〜“４７”の読出し用タイムスロットＴＳＷを順次生成する。読出しアドレス生成部Ｃ１００〜Ｃ１４７は、タイムスロットＴＳＷ＝“０”〜“４７”の受信を契機にして読出しアドレスＲＡを生成する。そして、変換用ＦＩＦＯＡ２００〜Ａ２４７からは、各タイムスロットＴＳＷが“１”〜“４７”,“０”を示す時点まで３２個のタイムスロットＴＳＷを使用してセグメントＳＧ００〜ＳＧ４７が読み出される。そして、各々の位相が互いに１タイムスロットずつずれた状態となる。
【００４４】
書込みセレクタＣ２００は、変換用ＦＩＦＯＡ２００に書き込まれたセグメントＳＧ００に着目すると、書込み用タイムスロットＴＳＷが“１”の場合、変換用ＦＩＦＯＡ２００からセグメントＳＧ００内のデータＤ０を共有バッファＣ３００に書き込む。更に、書込みセレクタＣ２０１は、タイムスロットＴＳＷが“２”の場合、変換用ＦＩＦＯＡ２００からセグメントＳＧ００内のデータＤ１を共有バッファＣ３０１に書き込む。そして、書込みセレクタＣ２０２〜Ｃ２３１は、タイムスロットＴＳＷが“３”〜“３２”の順に、変換用ＦＩＦＯＡ２００からセグメントＳＧ００内のデータＤ２〜Ｄ３１を順次に選択して共有バッファＣ３０２〜Ｃ３３１に順次に書き込む。この際、書込みセレクタＣ２００は、セグメントＳＧ００内の先頭データＤ０が受信されると、入力ポートＰＩ００〜ＰＩ４７内の対応セグメントＳＧが新規に受信されたことを検知して書込みアドレスＦＩＦＯＤ１００に書込みアドレス要求ＲＱを出力する。書込みセレクタＣ２００は、データＤ０に付加された宛先情報ＤＩを抽出し、抽出された宛先情報ＤＩを読出しアドレス管理部Ｄ２００に与える。尚、宛先情報ＤＩは、転送先のカード情報及びポート情報等である。
【００４５】
書込みアドレスＦＩＦＯＤ１００には、共有バッファＣ３００の書込み用空きアドレスが格納されている。そして、書込みアドレスＦＩＦＯＤ１００は、書込みアドレス要求ＲＱを受信する度に、これらの書込み用空きアドレスを書込みアドレスＷＡとして順次発生して共有バッファＣ３００に与える。書込みセレクタＣ２００〜Ｃ２３１は、共有バッファＣ３００中の書込みアドレスＷＡにセグメントＳＧを順次書き込む。
【００４６】
また、書込みアドレスＦＩＦＯＤ１００から出力された書込みアドレスＷＡは、宛先情報ＤＩと同位相で読出しアドレス管理部Ｄ２００にも与えられる。そして、読出しアドレス管理部Ｄ２００は、書込みアドレスＷＡを、宛先情報ＤＩに関わる各出力ポートＰＯ００〜ＰＯ４７対応の読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１に格納する。
【００４７】
そして、書込みセレクタＣ２００は、書込アドレスＦＩＦＯＤ１００から出力された書込みアドレスＷＡが“Ａ０”の場合、先ず、データＤ０と同一の位相(タイムスロットＴＳＷ＝“２”)で共有バッファＣ３００に書き込む。その結果、データＤ０は、共有バッファＣ３００のアドレス“Ａ０”に最初に書き込む。第１シフト部Ｃ６００〜Ｃ６３０は、書込みアドレスＷＡの位相を次段のタイムスロットＴＳＷ＝“３”〜“３３”に合わせて順次シフトする。そして、書込みセレクタＣ２０１〜Ｃ２３１は、データＤ１〜Ｄ３１と同一の位相(タイムスロットＴＳＷ＝“３”〜“３３”)で共有バッファＣ３０１〜Ｃ３３１に書き込む。その結果、各データＤ１〜Ｄ３１は、各共有バッファＣ３０１〜Ｃ３３１中のアドレス“Ａ０”に順次書き込む。
【００４８】
また、書込みセレクタＣ２００〜Ｃ２３１は、タイムスロットＴＳＷがそれぞれ“２”〜“３３”を示す場合に、変換用ＦＩＦＯＡ２０１からのセグメントＳＧ０１内のデータＤ０〜Ｄ３１を選択する。そして、書込みセレクタＣ２００〜Ｃ２３１は、タイムスロットＴＳＷがそれぞれ“３”〜“３４”を示す場合に、変換用ＦＩＦＯＡ２０２からのセグメントＳＧ０２内のデータＤ０〜Ｄ３１を選択する。同様に、書込みセレクタＣ２００〜Ｃ２３１は、タイムスロットＴＳＷがそれぞれ“０”〜“３１”を示す場合に、変換用ＦＩＦＯＡ２４７からのセグメントＳＧ４７内のデータＤ０〜Ｄ３１を選択する。タイムスロットＴＳＷに応じてデータＤ０〜Ｄ３１を選択する。
【００４９】
また、第１シフト部Ｃ６００〜Ｃ６３０は、書込アドレスＦＩＦＯＤ１００から出力された書込みアドレスＷＡが“Ａ０”〜“Ａ４７”の位相を上記と同様にシフトする。各セグメントＳＧ０１〜ＳＧ４７内のデータＤ０〜Ｄ３１が、各共有バッファＣ３００〜Ｃ３３１内の各セグメントＳＧ０１〜ＳＧ４７に対応した同一のアドレス“Ａ１”〜“Ａ４７”に順次書き込まれる。
【００５０】
次に、ＳＷカード３が４００ＭＨｚのクロック動作で共有バッファＣ３００〜Ｃ３３１に書き込まれたデータを読み出す際の動作について説明する。
【００５１】
先ず、読出しタイムスロット生成部Ｄ３００は、読出用タイムスロットＴＳＲを生成する。読出しアドレスセレクタＤ４００は、読出し用タイムスロットＴＳＲに応じて読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１の何れかから読出しアドレスＲＡを取得する。そして、共有バッファＣ３００は、読出しアドレスＲＡに与える。更に、読出しアドレスセレクタＤ４００は、取得された読出しアドレスＲＡを書込アドレスＦＩＦＯＤ１００に格納する。その結果、読出しアドレスＲＡは、共有バッファＣ３００の次回以降の書込み用空きアドレスとして使用できる。
【００５２】
ここで、読出しタイムスロット生成部Ｄ３００は、１周期で“０”〜“４７”の読出しタイムスロットＴＳＲを順次生成するものである。読出しアドレスセレクタＤ４００は、読出し用タイムスロットＴＳＲ＝“１”〜“４７”,“０”を契機にして各読出しアドレスＦＩＦＯＤ６００〜Ｄ６３１から読出しアドレスＲＡ＝“Ａ０”〜“Ａ４７”を順次取得する。そして、読出しアドレスセレクタＤ４００は、順次取得された読出しアドレスＲＡを共有バッファＣ３００に与える。この際、第２シフト部Ｃ７００〜Ｃ７３０は、読出しアドレスＲＡ＝“Ａ０”〜“Ａ４７”の位相をそれぞれ次段のタイムスロットＴＳＲ＝（“２”〜“３２”）、（“３”〜“３３”）…、及び（“１”〜“３１”）に合わせて順次シフトする。そして、読出しアドレスセレクタＤ４００は、読出しアドレスＲＡを共有バッファＣ３００〜Ｃ３３１に与える。その結果、各共有バッファＣ３００〜Ｃ３３１内のアドレス“Ａ０”〜“Ａ４７”から、各データＤ０〜Ｄ３１が上記の書込動作例で説明した書込順に対応して１タイムスロットずつ位相がずれた状態で読み出される。
【００５３】
各共有バッファＣ３００〜Ｃ３３１内のアドレス“Ａ０”からデータＤ０〜Ｄ３１が読み出された場合を例に取る。この場合、読出しセレクタＣ５００は、タイムスロットＴＳＲがそれぞれ“１”〜“３２”を示す場合に、セグメントＳＧ対応のデータＤ０〜Ｄ３１を変換用ＦＩＦＯＢ１００に順次書き込む。その結果、変換用ＦＩＦＯＢ１００は、入力信号ＩＮ００と同一形式の出力信号ＯＵＴ００が出力ポートＰＯ００を介して出力される。
【００５４】
また、各共有バッファＣ３００〜Ｃ３３１内のアドレス“Ａ１”〜“Ａ４７”からデータＤ０〜Ｄ３１が読み出された場合を例にとる。この場合、読出しセレクタＣ５００〜Ｃ５４７が、タイムスロットＴＳＲがそれぞれ“２”〜“３３”を示す場合に、変換用ＦＩＦＯＢ１０１にセグメントＳＧ対応のデータＤ０〜Ｄ３１を書き込む。更に、読出しセレクタＣ５００〜Ｃ５４７は、タイムスロットＴＳＲがそれぞれ“３”〜“３４”を示す場合に、変換用ＦＩＦＯＢ１０２にセグメントＳＧ対応のデータＤ０〜Ｄ３１を書き込む。そして、読出しセレクタＣ５００〜Ｃ５４７は、タイムスロットＴＳＲがそれぞれ“０”〜“３１”を示す場合に、変換用ＦＩＦＯＢ１４７にセグメントＳＧ対応のデータＤ０〜Ｄ３１を書き込む。つまり、読出しセレクタＣ５００〜Ｃ５４７は、タイムスロットＴＳＲに応じてデータの出力先を順次選択する。その結果、出力信号ＯＵＴ０１〜ＯＵＴ４７がそれぞれ出力ポートＰＯ００〜ＰＯ４７を介して送出される。
【００５５】
次に、ＳＷカード３内のデータ量に応じて内部クロックを設定する動作について説明する。図９は、ＦＩＦＯ容量監視処理に関わるＦＩＦＯ監視部Ａ３００〜Ａ３４７の処理動作の一例を示すフローチャートである。図９に示すＦＩＦＯ容量監視処理は、変換用ＦＩＦＯＡ２００〜Ａ２４７毎に変換用ＦＩＦＯＡ２００〜Ａ２４７内のデータ容量を監視する処理である。
【００５６】
図９においてＦＩＦＯ監視部Ａ３００〜Ａ３４７は、対応した変換用ＦＩＦＯＡ２００〜Ａ２４７内の現在容量を監視する（ステップＳ１１）。ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、現在容量がフル直前閾値以上であるか否かを判定する（ステップＳ１２）。尚、ＦＩＦＯ容量は、図３に示すように、例えば、４００ＭＨｚの内部クロックによる１９２クロック相当分の期間内に４パケットで満杯とし、２パケット以上で満杯直前とする。従って、フル直前閾値は、例えば、２パケット以上とする。
【００５７】
ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、現在容量がフル直前閾値以上の場合に（ステップＳ１２肯定）、フル直前フラグを共有バッファ処理部３Ｃ内の制御部Ｃ４００に出力し（ステップＳ１３）、図９に示す処理動作を終了する。
【００５８】
また、ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、現在容量がフル直前閾値以上でない場合に（ステップＳ１２否定）、現在容量を監視すべく、ステップＳ１１に移行する。
【００５９】
ＦＩＦＯ容量監視処理のＦＩＦＯ監視部Ａ３００〜Ａ３４７は、現在容量がフル直前閾値以上の場合にフル直前フラグを制御部Ｃ４００に出力する。その結果、制御部Ｃ４００は、変換用ＦＩＦＯＡ２００〜Ａ２４７毎に、現在容量がフル直前閾値以上であるか否かを認識できる。
【００６０】
図１０は、共有バッファ容量監視処理に関わる共有バッファ監視部Ｄ５００の処理動作の一例を示すフローチャートである。図１０に示す共有バッファ容量監視処理は、共有バッファＣ３００〜Ｃ３３１のデータ容量を監視する処理である。図１０において共有バッファ監視部Ｄ５００は、共有バッファＣ３００〜Ｃ３３１内の現在容量を監視する（ステップＳ２１）。共有バッファ監視部Ｄ５００は、現在容量がフル直前閾値以上であるか否かを判定する（ステップＳ２２）。
【００６１】
共有バッファ監視部Ｄ５００は、現在容量がフル直前閾値以上の場合に（ステップＳ２２肯定）、フル直前フラグを共有バッファ処理部３Ｃ内の制御部Ｃ４００に出力し（ステップＳ２３）、図１０に示す処理動作を終了する。
【００６２】
また、共有バッファ監視部Ｄ５００は、現在容量がフル直前閾値以上でない場合に（ステップＳ２２否定）、現在容量を監視すべく、ステップＳ２１に移行する。
【００６３】
共有バッファ容量監視処理の共有バッファ監視部Ｄ５００は、現在容量がフル直前閾値以上の場合にフル直前フラグを制御部Ｃ４００に出力する。その結果、制御部Ｃ４００は、共有バッファＣ３００〜Ｃ３３１の現在容量がフル直前閾値以上であるか否かを認識できる。
【００６４】
図１１は、流量監視処理に関わる流量監視部Ａ１００〜Ａ１４７の処理動作の一例を示すフローチャートである。図１１に示す流量監視処理は、入力ポートＰＩ００〜ＰＩ４７単位のデータ流量を監視する処理である。尚、流量監視部Ａ１００〜Ａ１４７は、ＦＩＦＯ監視部Ａ３００〜Ａ３４７又は共有バッファ監視部Ｄ５００からフル直前フラグを検出した場合に起動する。図１１において流量監視部Ａ１００〜Ａ１４７は、対応する入力ポートＰＩ００〜ＰＩ４７のデータ流量を監視し（ステップＳ３１）、１９２クロック中のパケット数をカウントする（ステップＳ３２）。尚、１９２クロックは、例えば、４００ＭＨｚクロックの１９２クロック相当の期間である。
【００６５】
流量監視部Ａ１００〜Ａ１４７は、パケット数を自ポートＰＩのパケット数として制御部Ｃ４００に出力する（ステップＳ３３）。流量監視部Ａ１００〜Ａ１４７は、１回目の１９２クロック中のパケット数が３パケット未満であるか否かを判定する（ステップＳ３４）。流量監視部Ａ１００〜Ａ１４７は、３パケット未満の場合（ステップＳ３４肯定）、パケット数が２パケットであるか否かを判定する（ステップＳ３５）。
【００６６】
流量監視部Ａ１００〜Ａ１４７は、パケット数が２パケットの場合（ステップＳ３５肯定）、自ポートＰＩをイエローフラグ候補とし（ステップＳ３６）、２回目の１９２クロック中のパケット数が２パケット以下であるか否かを判定する（ステップＳ３７）。
【００６７】
流量監視部Ａ１００〜Ａ１４７は、２パケット以下の場合（ステップＳ３７肯定）、３回目の１９２クロック中のパケット数が２パケット以下であるか否かを判定する（ステップＳ３８）。流量監視部Ａ１００〜Ａ１４７は、３回目の１９２クロック中のパケット数が２パケット以下の場合（ステップＳ３８肯定）、イエローフラグを制御部Ｃ４００に出力し（ステップＳ３９）、図１１に示す処理動作を終了する。尚、イエローフラグは、入力ポートＰＩのデータ流量がフルレートの１／２程度であることを示す。
【００６８】
また、流量監視部Ａ１００〜Ａ１４７は、１回目の１９２クロック中のパケット数が３パケット未満でない場合に（ステップＳ３４否定）、データ流量を監視すべく、ステップＳ３１に移行する。また、流量監視部Ａ１００〜Ａ１４７は、パケット数が２パケットでない場合に（ステップＳ３５否定）、自ポートＰＩをグリーンフラグ候補とする（ステップＳ４０）。そして、流量監視部Ａ１００〜Ａ１４７は、２回目の１９２クロック中のパケット数が１パケット以下であるか否かを判定する（ステップＳ４１）。
【００６９】
流量監視部Ａ１００〜Ａ１４７は、１パケット以下の場合に（ステップＳ４１肯定）、３回目の１９２クロック中のパケット数が１パケット以下であるか否かを判定する（ステップＳ４２）。流量監視部Ａ１００〜Ａ１４７は、３回目の１９２クロック中のパケット数が１パケット以下の場合に（ステップＳ４２肯定）、グリーンフラグを制御部Ｃ４００に出力し（ステップＳ４３）、図１１に示す処理動作を終了する。尚、グリーンフラグは、入力ポートＰＩのデータ流量がフルレートの１／４程度であることを示す。
【００７０】
また、流量監視部Ａ１００〜Ａ１４７は、２回目の１９２クロック中のパケット数が１パケット以下でない場合に（ステップＳ４１否定）、データ流量を監視すべく、ステップＳ３１に移行する。また、流量監視部Ａ１００〜Ａ１４７は、３回目の１９２クロック中のパケット数が１パケット以下でない場合（ステップＳ４２否定）、データ流量を監視すべく、ステップＳ３１に移行する。同様に、流量監視部Ａ１００〜Ａ１４７は、２回目の１９２クロック中のパケット数が２パケット以下でない場合に（ステップＳ３７否定）、データ流量を監視すべく、ステップＳ３１に移行する。流量監視部Ａ１００〜Ａ１４７は、３回目の１９２クロック中のパケット数が２パケット以下でない場合（ステップＳ３８否定）、データ流量を監視すべく、ステップＳ３１に移行する。
【００７１】
流量監視処理の流量監視部Ａ１００〜Ａ１４７は、入力ポートＰＩのデータ流量が１回目の１９２クロック中のパケット数が２パケットを検出し、２回目及び３回目の１９２クロック中のパケット数が２パケット以下を継続して検出する。この際、流量監視部Ａ１００〜Ａ１４７は、イエローフラグを制御部Ｃ４００に出力する。その結果、制御部Ｃ４００は、イエローフラグに応じて、入力ポートＰＩのデータ流量がフルレートの１／２程度と判定できる。
【００７２】
流量監視部Ａ１００〜Ａ１４７は、入力ポートＰＩのデータ流量が１９２クロック中のパケット数が１パケット以下を３回以上継続して検出した場合、グリーンフラグを制御部Ｃ４００に出力する。その結果、制御部Ｃ４００は、グリーンフラグに応じて、入力ポートＰＩのデータ流量がフルレートの１／４程度と判定できる。
【００７３】
尚、流量監視処理では、イエローフラグ又はグリーンフラグを決定する際の保護段数を３段にしたが、３段に限定されるものではなく、適宜変更可能である。例えば、保護段数を２段にした場合、フラグ決定の反応は高速になる。また、例えば、保護段数を４段以上にした場合、反応は遅くなるものの、フラグ決定の判定精度が高くなる。
【００７４】
図１２は、クロックモード設定処理に関わる制御部Ｃ４００の処理動作の一例を示すフローチャートである。図１２に示すクロックモード設定処理は、ＳＷカード３のデータ量に応じて内部クロックを設定変更する処理である。
【００７５】
図１２において制御部Ｃ４００は、フル直前フラグがあるか否かを判定する（ステップＳ５１）。制御部Ｃ４００は、フル直前フラグがある場合（ステップＳ５１肯定）、４００ＭＨｚクロックモードに設定し（ステップＳ５２）、フル直前フラグがあるか否かを判定すべく、ステップＳ５１に移行する。制御部Ｃ４００は、４００ＭＨｚクロックモードの場合、内部クロックを４００ＭＨｚに設定し、図６に示すように、１９２クロック中の対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２をＲＲで選定する。尚、対象の入力ポートＰＩでは、パケットなしの未使用の入力ポートＰＩを除く。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００７６】
制御部Ｃ４００は、フル直前フラグがない場合（ステップＳ５１否定）、全入力ポートＰＩ００〜ＰＩ４７の１９２クロック中のパケット数を集計する（ステップＳ５３）。制御部Ｃ４００は、１回目の１９２クロック中の合計パケット数が９６パケット未満であるか否かを判定する（ステップＳ５４）。
【００７７】
制御部Ｃ４００は、合計パケット数が９６パケット未満の場合に（ステップＳ５４肯定）、合計パケット数が４７パケット以下であるか否かを判定する（ステップＳ５５）。制御部Ｃ４００は、合計パケット数が４７パケット以下でない場合に（ステップＳ５５否定）、２回目の１９２クロック中の合計パケット数が９５パケット以下であるか否かを判定する（ステップＳ５６）。制御部Ｃ４００は、２回目の１９２クロック中の合計パケット数が９５パケット以下の場合に（ステップＳ５６肯定）、３回目の１９２クロック中の合計パケット数が９５パケット以下であるか否かを判定する（ステップＳ５７）。
【００７８】
制御部Ｃ４００は、３回目の１９２クロック中の合計パケット数が９５パケット以下の場合に（ステップＳ５７肯定）、２００ＭＨｚクロックモードに設定し（ステップＳ５８）、ステップＳ５１に移行する。尚、制御部Ｃ４００は、２００ＭＨｚクロックモードの場合、内部クロックを２００ＭＨｚに設定し、図７Ａ及び図７Ｂに示すように、１９２クロック中の対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２をＷＲＲで選定する。尚、対象の入力ポートＰＩでは、パケットなしの未使用の入力ポートＰＩを除く。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００７９】
また、制御部Ｃ４００は、合計パケット数が９６パケット未満でない場合に（ステップＳ５４否定）、現在設定中のクロックモードを維持し（ステップＳ５９）、ステップＳ５１に移行する。
【００８０】
また、制御部Ｃ４００は、合計パケット数が４７パケット以下の場合に（ステップＳ５５肯定）、２回目の１９２クロック中の合計パケット数が４７パケット以下であるか否かを判定する（ステップＳ６０）。制御部Ｃ４００は、２回目の１９２クロック中の合計パケット数が４７パケット以下の場合に（ステップＳ６０肯定）、３回目の１９２クロック中の合計パケット数が４７パケット以下であるか否かを判定する（ステップＳ６１）。
【００８１】
制御部Ｃ４００は、３回目の１９２クロック中の合計パケット数が４７パケット以下の場合に（ステップＳ６１肯定）、１００ＭＨｚクロックモードに設定し（ステップＳ６２）、ステップＳ５１に移行する。尚、制御部Ｃ４００は、１００ＭＨｚクロックモードの場合、内部クロックを１００ＭＨｚに設定し、図８に示すように、１９２クロック中の対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２をＷＲＲで選定する。尚、対象の入力ポートＰＩでは、パケットなしの未使用の入力ポートＰＩを除く。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００８２】
制御部Ｃ４００は、２回目の１９２クロック中の合計パケット数が４７パケット以下の場合に（ステップＳ６０否定）、現在設定中のクロックモードを維持し（ステップＳ６３）、ステップＳ５１に移行する。また、制御部Ｃ４００は、３回目の１９２クロック中の合計パケット数が４７パケット以下の場合に（ステップＳ６１否定）、現在設定中のクロックモードを維持すべく、ステップＳ６３に移行する。また、制御部Ｃ４００は、２回目の１９２クロック中の合計パケット数が９５パケット以下でない場合に（ステップＳ５６否定）、現在設定中のクロックモードを維持すべく、ステップＳ５９に移行する。また、制御部Ｃ４００は、３回目の１９２クロック中の合計パケット数が９５パケット以下でない場合に（ステップＳ５７否定）、現在設定中のクロックモードを維持すべく、ステップＳ５９に移行する。
【００８３】
クロックモード設定処理の制御部Ｃ４００は、フル直前フラグを検出した場合、４００ＭＨｚの内部クロックを設定する。制御部Ｃ４００は、４００ＭＨｚの内部クロックを使用しての共有バッファＣ３００〜Ｃ３３１の書込みに際し、対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２を選定する。そして、制御部Ｃ４００は、選定された対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００８４】
制御部Ｃ４００は、全入力ポートＰＩ００〜ＰＩ４７の１回目の１９２クロック中の合計パケット数が９６パケット〜４８パケットで、２回目及び３回目の合計パケットが９５パケット以下の場合、２００ＭＨｚの内部クロックを設定する。制御部Ｃ４００は、２００ＭＨｚの内部クロックを使用しての共有バッファＣ３００〜Ｃ３３１の書込みに際し、パケットなしの未使用の入力ポートを除き、フラグなし及びイエローフラグの入力ポートＰＩの変換用ＦＩＦＯＡ２をＷＲＲで選定する。そして、制御部Ｃ４００は、選定された対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００８５】
制御部Ｃ４００は、全入力ポートＰＩ００〜ＰＩ４７の１９２クロック中の合計パケット数が連続して４７パケット以下が３回継続した場合、１００ＭＨｚの内部クロックを設定する。制御部Ｃ４００は、１００ＭＨｚの内部クロックを使用しての共有バッファＣ３００〜Ｃ３３１の書込みに際し、パケットなしの未使用の入力ポートを除き、フラグなし、イエローフラグ及びグリーンフラグの入力ポートの変換用ＦＩＦＯＡ２をＷＲＲで選定する。そして、制御部Ｃ４００は、選定された対象の入力ポートＰＩに対応する変換用ＦＩＦＯＡ２に対してリードイネーブル信号を出力する。
【００８６】
制御部Ｃ４００は、例えば、２００ＭＨｚや１００ＭＨｚの内部クロック、すなわち低速クロック動作中にデータ流量が急激に増加して、例えば、フル直前フラグを検出した場合に４００ＭＨｚの内部クロックを設定する。その結果、制御部Ｃ４００は、例えば、２００ＭＨｚや１００ＭＨｚの内部クロックの動作中でも自動的に４００ＭＨｚの内部クロックに設定変更できる。尚、制御部Ｃ４００は、例えば、１００ＭＨｚの内部クロック動作中にデータ流量が急激に増加した場合、内部クロックを４００ＭＨｚに設定変更した。しかしながら、直接４００ＭＨｚに設定変更するのではなく、例えば、２００ＭＨｚを経て４００ＭＨｚに段階的に設定しても良い。
【００８７】
尚、クロックモード設定処理では、２００ＭＨｚ又は１００ＭＨｚクロックモードを設定する際の保護段数を３段にしたが、３段に限定されるものではなく、適宜変更可能である。例えば、保護段数を２段にした場合、クロックモードの設定変更に要する反応は高速になる。また、例えば、保護段数を４段以上にした場合、反応は遅くなるものの、判定精度が高くなる。
【００８８】
実施例では、データ流量が少ない場合には通常よりも低速の２００ＭＨｚや１００ＭＨｚの内部クロックで動作するためダイナミック消費電力を節減できる。
【００８９】
しかも、実施例では、低速の２００ＭＨｚや１００ＭＨｚの内部クロックを動作中に、ある入力ポートＰＩでデータ流量が一時的に増加した場合でも、ＷＲＲで対象の入力ポートＰＩの変換用ＦＩＦＯＡ２を選定することで低速の内部クロック動作を維持できる。その結果、Ｃｈｉｐトータルの消費電力を節減できる。
【００９０】
実施例では、Ｌ２スイッチ１内の後段、例えば、共有バッファＣ３００〜Ｃ３３１側で輻輳制御が発生した場合でも、共有バッファ監視部Ｄ５００が共有バッファＣ３００〜Ｃ３３１の容量を監視している。その結果、パケットロスの発生を防止できる。
【００９１】
実施例では、複数の入力ポートＰＩ００〜ＰＩ４７の内、パケットなしの未使用の入力ポートＰＩがある場合に、未使用の入力ポートＰＩを除く、入力ポートＰＩの変換用ＦＩＦＯＡ２を対象にする。その結果、未使用の入力ポートＰＩの変換用ＦＩＦＯＡ２に対するリードイネーブル信号の出力を防止するため、消費電力を節減できる。
【００９２】
実施例の制御部Ｃ４００は、流量監視部Ａ１００〜Ａ１４７が入力ポートＰＩ００〜ＰＩ４７毎のデータ流量を監視する。そして、制御部Ｃ４００は、データが流入する入力ポートの変換用ＦＩＦＯＡ２の内、入力ポートＰＩ毎のデータ流量に応じたＷＲＲでリードイネーブル対象の変換用ＦＩＦＯＡ２を選定する。そして、制御部Ｃ４００は、選定された変換用ＦＩＦＯＡ２に対するリードイネーブル信号を出力する。その結果、消費電力を節減できる。
【００９３】
実施例のＬ２スイッチ１は、変換用ＦＩＦＯＡ２００〜Ａ２４７毎のデータ容量を監視するＦＩＦＯ監視部Ａ３００〜Ａ３４７と、共有バッファＣ３００〜Ｃ３３１のデータ容量を監視する共有バッファ監視部Ｄ５００とを有する。そして、制御部Ｃ４００は、ＦＩＦＯ監視部Ａ３００〜Ａ３４７の監視結果がフル直前閾値を超えた場合又は、共有バッファ監視部Ｄ５００の監視結果がフル直前閾値を超えた場合に、内部クロックの動作速度を４００ＭＨｚに設定する。
【００９４】
また、制御部Ｃ４００は、ＦＩＦＯ監視部Ａ３００〜Ａ３４７の監視結果がフル直前閾値未満の場合又は、共有バッファ監視部Ｄ５００の監視結果がフル直前閾値未満の場合に、内部クロックの動作速度を２００ＭＨｚや１００ＭＨｚの低速に設定する。その結果、内部クロックの動作速度を低速に設定することで消費電力を節減できる。
【００９５】
更に、制御部Ｃ４００は、内部クロックの動作速度が低速の場合に、入力ポートＰＩ００〜ＰＩ４７毎のデータ流量に応じたＷＲＲでリードイネーブル対象の変換用ＦＩＦＯＡ２を選定する。その結果、低速化された内部クロックを維持しながら、消費電力を節減できる。
【００９６】
更に、制御部Ｃ４００は、内部クロックの動作速度が４００ＭＨｚに制御されている場合に、ＲＲでリードイネーブル対象の変換用ＦＩＦＯＡ２を選定できる。
【００９７】
更に、制御部Ｃ４００は、入力ポートＰＩ００〜ＰＩ４７毎のデータ流量に応じてＷＲＲの重みを付し、重み付けの大きい順、例えば、フラグなし→イエローフラグ→グリーンフラグの順にリードイネーブル対象の変換用ＦＩＦＯＡ２を選定できる。
【００９８】
尚、上記実施例では、ＦＩＦＯ監視部Ａ３００〜Ａ３４７が２パケット分のデータ容量をフル直前閾値に設定したが、図１３に示すように、１パケット分のデータ容量をクロック変化閾値に設定しても良い。この場合、ＦＩＦＯ監視部Ａ３００〜Ａ３４７は、徐々に内部クロックの動作周波数を高めることで、クロック制御を細かく設定できる。その結果、低速クロック動作の運用時間が長くなるため、更なる消費電力を節減できる。
【００９９】
また、上記実施例では、流量監視部Ａ１００〜Ａ１４７側で細かく流量を監視し、閾値を細かく設定することで、イエローフラグやグリーンフラグだけでなく、フラグの種類を増やし、低速のクロックの種類を増やす。その結果、クロック制御を細かく設定できる。
【０１００】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【０１０１】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良い。
【０１０２】
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
【０１０３】
（付記１）データの入力を受付けるポート毎に設けられ、前記データを一時記憶し、リードイネーブル信号に応じて、一時記憶するデータを出力する一時記憶部と、
前記リードイネーブル信号に応じて前記一時記憶部から出力されたデータを時分割多重して記憶する記憶部と、
前記ポート毎のデータ流量を監視する流量監視部と、
前記データが入力された前記ポートに対応する前記一時記憶部の内、前記ポート毎のデータ流量に応じた加重付きラウンドロビン方式でリードイネーブル対象の一時記憶部を選定し、選定された一時記憶部に対して前記リードイネーブル信号を出力する制御部と
を有することを特徴とする伝送装置。
【０１０４】
（付記２）前記流量監視部からデータ流量の総和に応じて、前記記憶部の動作クロック速度を可変させるクロック制御部を有することを特徴とする付記１に記載の伝送装置。
【０１０５】
（付記３）前記一時記憶部毎のデータ容量を監視する第１の監視部と、
前記記憶部のデータ容量を監視する第２の監視部と
をさらに有し、
前記制御部は、
前記第１の監視部の監視結果が第１の閾値を超えた場合又は、前記第２の監視部の監視結果が第２の閾値を超えた場合に、前記記憶部の内部クロックの動作速度を所定速度に制御すると共に、
前記第１の監視部の監視結果が前記第１の閾値未満の場合又は、前記第２の監視部の監視結果が前記第２の閾値未満の場合に、前記内部クロックの動作速度を前記所定速度よりも低速に制御することを特徴とする付記１に記載の伝送装置。
【０１０６】
（付記４）前記制御部は、
前記内部クロックの動作速度が低速に制御されている場合に、前記ポート毎のデータ流量に応じた前記加重付きラウンドロビン方式でリードイネーブル対象の一時記憶部を選定することを特徴とする付記１〜３の何れか一つに記載の伝送装置。
【０１０７】
（付記５）前記制御部は、
前記内部クロックの動作速度が所定速度に制御されている場合に、ラウンドロビン方式でリードイネーブル対象の一時記憶部を選定することを特徴とする付記１〜４の何れか一つに記載の伝送装置。
【０１０８】
（付記６）前記制御部は、
前記ポート毎のデータ流量に応じて前記加重付きラウンドロビン方式の重みを付し、重み付けの大きい順にリードイネーブル対象の一時記憶部を選定することを特徴とする付記１〜５の何れか一つに記載の伝送装置。
【０１０９】
（付記７）前記第１の監視部は、
前記一時記憶部毎に夫々設けられたことを特徴とする付記３に記載の伝送装置。
【０１１０】
（付記８）データの入力を受付けるポート毎に設けられ、前記データを一時記憶し、リードイネーブル信号に応じて、一時記憶するデータを出力する一時記憶部と、
前記リードイネーブル信号に応じて前記一時記憶部から出力されたデータを時分割多重して記憶する記憶部とを有する伝送装置の伝送方法であって、
前記伝送装置は、
前記ポート毎のデータ流量を監視し、
前記データが入力された前記ポートに対応する前記一時記憶部の内、前記ポート毎のデータ流量に応じた加重付きラウンドロビン方式でリードイネーブル対象の一時記憶部を選定し、
選定された一時記憶部に対して前記リードイネーブル信号を出力する
各処理を実行することを特徴とする伝送方法。
【０１１１】
（付記９）前記伝送装置は、
前記データ流量の総和に応じて、前記記憶部の動作クロック速度を可変させる処理を実行することを特徴とする付記８に記載の伝送方法。
【符号の説明】
【０１１２】
１  Ｌ２スイッチ
３  ＳＷカード
Ａ１００〜Ａ１４７  流量監視部
Ａ２００〜Ａ２４７  変換用ＦＩＦＯ
Ａ３００〜Ａ３４７  ＦＩＦＯ監視部
Ｃ３００〜Ｃ３３１  共有バッファ
Ｃ４００  制御部
Ｄ５００  共有バッファ監視部
ＰＩ００〜ＰＩ４７  入力ポート
【図１】
0005978792.tif 000002
【図２】
0005978792.tif 000003
【図３】
0005978792.tif 000004
【図４】
0005978792.tif 000005
【図６】
0005978792.tif 000006
【図７Ａ】
0005978792.tif 000007
【図７Ｂ】
0005978792.tif 000008
【図８】
0005978792.tif 000009
【図９】
0005978792.tif 000010
【図１０】
0005978792.tif 000011
【図１１】
0005978792.tif 000012
【図１２】
0005978792.tif 000013
【図１３】
0005978792.tif 000014
【図５】
0005978792.tif 000015