(57)【要約】      （修正有）【課題】クレジットに基づくトラフィックシェーピングで使用するクレジットカウンタを提供する。【解決手段】クレジット値を計算し、クレジット状態を出力するように構成されたハードウェアモジュールと、ハードウェアレジスタとを含み、ハードウェア回路は、クラスＡトラフィックのクレジット値を計算し、クレジット状態を出力するように構成された第１のモジュールと、クラスＢトラフィックのクレジット値を計算し、クレジット状態を出力するように構成される。【選択図】図５
2014042237.tif 000002
【特許請求の範囲】
【請求項１】
ＡＶＢネットワーク内のデータフレーム送信を制御するためのクレジットを計算するように構成された、ハードウェア回路（２１）。
【請求項２】
クレジット値（４５）を計算し、クレジット状態（２９）を出力するように構成されたハードウェアモジュール（２３A）と、
一組のハードウェアレジスタ（４１，４３，４４，４８）とを備える、請求項１に記載のハードウェア回路。
【請求項３】
クラスＡトラフィックのクレジット値を計算し、クレジット状態（２９A）を出力するように構成された第１のモジュール（２３A）と、
クラスＢトラフィックのクレジット値を計算し、クレジット状態（２９B）を出力するように構成された第２のモジュール（２３B）とを備える、請求項２に記載のハードウェア回路。
【請求項４】
前記または各モジュール（２３A）は、
クレジット値レジスタ（４１）と、
前記クレジット値レジスタ（４１）に格納された前記クレジット値をキュー状態（２５）、送信状態（２８）、およびイネーブル信号（２６）に依存して更新させるハードウェアロジック（３６，４０，４２）とを含む、請求項２または３に記載のハードウェア回路。
【請求項５】
前記モジュールは、
前記クレジット値（４５）が正であるか否かを判断し、クレジット状態（２９）を出力するように構成された第１の比較器（４６）をさらに含む、請求項２〜４のいずれかに記載のハードウェア回路。
【請求項６】
前記モジュールは、
前記クレジット値（４５）と予め定義されたクレジットレベルとを比較し、前記クレジット値が前記予め定義されたクレジットレベルを上回るおよび／または下回るのに依存して少なくとも１つの割込（３１）を生成するように構成された少なくとも１つの比較器（４７）をさらに含む、請求項２〜５のいずれかに記載のハードウェア回路。
【請求項７】
請求項１〜６のいずれかに記載のハードウェア回路（２１）と、
所与のデータフレームを送信するための制御信号（３４）を生成するハードウェアロジック（３０）とを備える、クレジットに基づくトラフィックシェイパー（１９）。
【請求項８】
請求項７に記載のクレジットに基づくトラフィックシェイパー（１９）を含むオーディオ／ビデオ・ブリッジングネットワークコントローラと、
ＭＡＣコントローラと、
媒体に信号を生成するためのトランシーバとを備える、装置。
【請求項９】
ホストをさらに備える、請求項８に記載の装置。
【請求項１０】
請求項１〜６のいずれかに記載のハードウェア回路と、請求項７に記載のクレジットに基づくトラフィックシェイパー（１９）とを備える、集積回路。
【請求項１１】
請求項１０に記載の集積回路を備える、エンドステーションまたはブリッジ。
【請求項１２】
ＡＶＢネットワーク内のデータフレーム送信を制御するためのクレジット値を計算する、ハードウェアによる実現方法。
【請求項１３】
キュー状態（２５）、送信状態（２８）、およびイネーブル信号（２６）を受信するステップと、
クレジット値レジスタに格納された前記クレジット値を更新するステップとを備える、請求項１２に記載のハードウェアによる実現方法。
【請求項１４】
クレジット状態（２９）を生成するステップを備える、請求項１２または１３に記載のハードウェアによる実現方法。
【請求項１５】
割込（３１）を生成するステップを備える、請求項１２〜１４のいずれかに記載のハードウェアによる実現方法。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の詳細な説明
説明
本発明は、オーディオ・ビデオ・ブリッジング（ＡＶＢ）で使用するデータフレーム送信を制御するためのクレジットの計算に関する。
【背景技術】
【０００２】
オーディオ・ビデオ・ブリッジング（ＡＶＢ）は、非ＡＶＢイーサネット（登録商標）ネットワークと比べて、確実に、かつ保証された最大レイテンシで、データをローカルエリアネットワーク（ＬＡＮ）を介して送信することを可能にする。
【０００３】
ＡＶＢは、トラフィックシェーピングを用いてデータパケットの送信を均等に分配する。トラフィックシェーピングがなければ、データパケットのバーストがネットワークに氾濫してブリッジおよびスイッチに負担をかけ得る。トラフィックシェーピングはさらに、レイテンシ目標を保証することを助け得る。
【０００４】
ＡＶＢは、クレジットに基づくトラフィックキューイング構成を用いる。データパケットが送信されるまでキューで待つ間、キューはクレジットを蓄積する。データパケットがキューから送信されると、クレジットは消費される。キューが正またはゼロのクレジットを有する場合、データを送信可能である。クレジットに基づくトラフィックシェーピングの詳細は、ＩＥＥＥ  ８０２．１Ｑａｖ．に見られる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、クレジットに基づくトラフィックシェーピングで使用する改良されたクレジットカウンタを提供することである。
【課題を解決するための手段】
【０００６】
本発明の第１の局面によると、ＡＶＢネットワーク内のデータフレーム送信を制御するためのクレジットを計算するように構成されたハードウェア回路が提供される。
【０００７】
これは、エンドステーションにおけるいずれのソフトウェア負荷も回避することを助け得、当該回路は正確なクレジットカウントを確実に提供可能である。
【０００８】
本明細書中に言及されるいくつかのパラメータは以下のように定義される：
portTransmitRateは、アウトバウンドキューをサポートするポートが配信可能な最大データ送信速度である。このパラメータの値は、メディアアクセス制御（ＭＡＣ）コントローラの動作によって決定される。
【０００９】
bandwidthFractionは、キューに使用可能なportTransmitRateの最大比率である。
idleSlopeは、クレジットの値が増加している間、すなわちキューが送信されていない間の、キューについてのクレジットの変化率（ビット／秒）である。フレームの連続ストリームが使用可能である場合などの一定の状況下では、idleSlopeは、キューに使用可能な使用可能全帯域幅の最大比率（portTransmitRate）とも同等であり、すなわち、
idleSlope＝bandwidthFraction*portTransmitRate
である。
【００１０】
sendSlopeは、クレジットの値が減少している間、すなわちキューが送信されている間の、キューについてのクレジットの変化率（ビット／秒）である。sendSlopeの値は以下のように定義される：
sendSlope＝idleSlope−portTransmitRate
さらに、各トラフィッククラス（キュー）について以下のパラメータが定義され得る：
maxFrameSizeは、該当するトラフィッククラスについてポートを介して送信可能なフレームの最大サイズ（ビット）である。
【００１１】
maxInterferenceSizeは、このトラフィッククラスの送信に使用可能なフレームの送信を遅延し得るトラフィックの任意のバーストの最大サイズ（ビット）である。
【００１２】
hiCreditは、クレジットパラメータに蓄積可能な正の最大値である。これは以下の式によってmaxInterferenceSizeおよびidleSlopeと関連しており、すなわち、
hiCredit＝maxInterferenceSize*（idleSlope／portTransmitRate）
である。
【００１３】
loCreditは、クレジットパラメータに蓄積可能な最小値（負）である。これは以下の式によってmaxFrameSizeおよびsendSlopeと関連しており、すなわち、
loCredit＝maxFrameSize*（sendSlope／portTransmitRate）
である。
【００１４】
ハードウェア回路は、クレジット値を計算し、クレジット状態を出力するように構成されたハードウェアモジュールと、ハードウェアレジスタとを含み得る。ハードウェア回路は、クラスＡトラフィックのクレジット値を計算し、クレジット状態を出力するように構成された第１のモジュールと、クラスＢトラフィックのクレジット値を計算し、クレジット状態を出力するように構成された第２のモジュールとを含み得る。
【００１５】
各モジュールは、クレジット値レジスタと、クレジット値レジスタに格納されたクレジット値をキュー状態、送信状態、およびイネーブル信号に依存して更新させるロジックとを含み得る。
【００１６】
モジュールは、クレジット値が正であるかゼロであるかを判断し、クレジット状態を出力するように構成された第１の比較器をさらに含み得る。
【００１７】
モジュールは、クレジット値と予め定義されたクレジットレベルとを比較し、クレジット値が予め定義された前記クレジットレベルを上回るおよび／または下回るのに依存して少なくとも１つの割込を生成するように構成された少なくとも１つの比較器をさらに含み得る。
【００１８】
モジュールは、インクリメント値を格納するための第１のレジスタ（ＣＩＶ）およびデクリメント値を格納するための第２のレジスタ（ＣＤＶ）を含み得る。第１のレジスタは、少なくとも２１ビットを含み得る。３２ビットのクレジットカウンタおよびmaxFrameSize＝１６，０９６ビットについては、第２のレジスタは少なくとも２２ビットを含み得る。
【００１９】
インクリメント値はポート送信速度に比例し、チャネルホストインターフェイス（ＣＨＩ）クロック周波数に反比例し得る。インクリメント値は、キューに確保された帯域幅の最大比率に依存し得る。インクリメント値は増倍率に依存し得る。増倍率は、トランケーションのために精度を失うことなく第１のレジスタおよび第２のレジスタの整数値を有するように選択される乗数である。増倍率は最大干渉サイズに依存し得る。増倍率はクレジットカウンタ幅に依存し得る。増倍率は、クレジットカウンタオーバーフローを回避するために最大値を有する。インクリメント値は、（ポート送信速度／クロック周波数）×帯域幅の確保された部分×増倍率に等しくてもよい。クロック周波数は、チャネルホストインターフェイスクロック周波数またはクレジットカウンタクロック周波数であり得る。
【００２０】
デクリメント値はポート送信速度に比例し、クロック周波数に反比例し得る。デクリメント値は、キューに使用可能な帯域幅の最大比率に依存し得る。デクリメント値は増倍率に依存し得る。増倍率は最大干渉サイズに依存し得る。増倍率は、少なくとも１０，０００であり得る。デクリメント値は、（ポート送信速度／クロック周波数）×（帯域幅の最大比率−１００％）×増倍率に等しくてもよい。
【００２１】
モジュールは、クロックサイクルを有するクロック信号を受信し、クロックサイクル毎にクレジット値を計算するように構成され得る。クロック信号のクロック周波数は２０ＭＨｚ〜２００ＭＨｚであり得る。クロック信号のクロック周波数は５０ＭＨｚ〜１５０ＭＨｚであり得る。ポート送信速度は１００Ｍｂｐｓ〜１Ｇｂｐｓであり得る。
【００２２】
モジュールは、クロックサイクル毎に、クレジット値をインクリメント値だけ増加させるように、またはクレジット値をデクリメント値だけ減少させるように構成され得る。
【００２３】
本発明の第２の局面によると、ハードウェア回路と、所与のデータフレームを送信するための制御信号を生成するロジックとを備える、クレジットに基づくトラフィックシェイパーが提供される。
【００２４】
本発明の第３の局面によると、クレジットに基づくトラフィックシェイパーを含むオーディオ／ビデオ・ブリッジングネットワークコントローラと、ＭＡＣコントローラと、媒体に信号を生成するためのトランシーバとを含む装置が提供される。
【００２５】
当該装置は、ホストをさらに含み得る。
本発明の第４の局面によると、ハードウェア回路と、クレジットに基づくトラフィックシェイパーとを含む集積回路が提供される。
【００２６】
本発明の第５の局面によると、集積回路を含むエンドステーションが提供される。
本発明の第６の局面によると、集積回路を含むブリッジが提供される。ブリッジのポートは集積回路を含み得る。
【００２７】
本発明の第７の局面によると、ＡＶＢネットワーク内のデータフレーム送信を制御するためのクレジットを計算する、ハードウェアによる実現方法が提供される。
【００２８】
ハードウェアによる実現方法は、キュー状態、送信状態、およびイネーブル信号を受信するステップと、クレジット値レジスタに格納されたクレジット値を更新するステップとを含み得る。ハードウェアによる実現方法は、クレジット状態および／または割込を生成するステップを含み得る。
【図面の簡単な説明】
【００２９】
【図１】交換ネットワークの例を概略的に示す図である。
【図２】エンドステーションの簡略化されたブロック図である。
【図３】ブリッジの簡略化されたブロック図である。
【図４】本発明に従った、クレジットに基づくトラフィックシェイパーを含むエンドステーションを示す図である。
【図５】クラスＡおよびＢトラフィックについてのクレジットカウンタを含む、クレジットに基づくトラフィックシェイパーのブロック図である。
【図６】クレジットカウンタおよびカウンタ更新ロジックモジュールの図である。
【図７】図６に示すクレジットカウンタで用いられるクレジット更新規則を示す図である。
【図８】クレジットカウンタのハードウェアによる実現を示す図である。
【発明を実施するための形態】
【００３０】
添付の図面を参照して、本発明の一定の実施形態を例として説明する。
図１は、複数のエンドステーション２およびスイッチ３を含む交換ネットワーク１を示す。交換ネットワーク１は、たとえば自動車（図示せず）内で展開され得、映像および音声データを流すために使用され得る。
【００３１】
エンドステーション１は、「トーカ」および／または「リスナ」として動作し得る。
さらに図２を参照して、各エンドステーション２は、層４および上方のＯＳＩ層スタック内でプロセスを実行するホスト４と、層３のプロセスを実行するネットワーク層コントローラ５とを含む。層３およびその上方は典型的に「上層」６と称される。
【００３２】
各ＡＶＢエンドステーション２は、ネットワークインターフェイスハードウェア装置７をさらに含む。ネットワークインターフェイスハードウェア装置７は、オーディオ／ビデオ・ブリッジング（ＡＶＢ）コントローラ８と、メディアアクセス制御（ＭＡＣ）コントローラ９と、物理層コントローラ１０（または「トランシーバ」または「ＰＨＹ」）とを含む。ＡＶＢコントローラ８は、以下に説明するように、ＩＥＥＥ  ８０２．１Ｑａｔ、ＩＥＥＥ  ８０２．１ＢＡおよびＩＥＥＥ  ８０２．１ＡＳをサポートするソフトウェアおよびハードウェアを含み、ＩＥＥＥ  ８０２．１Ｑａｖに従ってトラフィックシェーピングを実行可能である。ＭＡＣコントローラ９および物理トランシーバ１０は、ＩＥＥＥ  ８０２．３をサポートするポート１１を形成する。ＡＶＢコントローラ８は、クロック信号ｃｌｋを生成するかチャネルホストインターフェイス（ＣＨＩ）から受信し、当該クロック信号は、ポート１１によって使用されるクロック信号（図示せず）から独立し得る。
【００３３】
図３を参照して、ＡＶＢブリッジ３は、ＩＥＥＥ  １７２２およびＩＥＥＥ  １７３３プロトコルをサポートする。各ブリッジ３は、ブリッジモジュール１２および２つ以上のポート１３を含む。ブリッジモジュール１２は、ＩＥＥＥ  ８０２．１Ｑ、ＩＥＥＥ  ８０２．１Ｑａｖ、ＩＥＥＥ  ８０２．１Ｑａｔ、ＩＥＥＥ  ８０２．１ＢＡおよびＩＥＥＥ  ８０２．１ＡＳをサポートするソフトウェアおよびハードウェアを含む。ブリッジモジュール１２はＡＶＢモジュールの機能を搭載しており、ＩＥＥＥ  ８０２．１Ｑａｖに従ってトラフィックシェーピングを実行可能である。各ポート１３は、ＩＥＥＥ  ８０２．３をサポートするＭＡＣコントローラ（図示せず）およびトランシーバ（図示せず）を含む。
【００３４】
図４を参照して、ＡＶＢコントローラ８は送信および受信経路１４，１５を含む。
送信経路１４は、上層６からデータ１６を受信する。データ１６は送信フレーム１７内に配置され、ストリームに従ってキュー１８内に置かれる。ハードウェアによって実現されるクレジットに基づくトラフィックシェイパー１９は送信ハンドリングロジック２０（本明細書中では「送信ハンドラ」と称する）と協働して、ＡＶＢデータフレームの送信を制御する。送信ハンドラ２０を用いて、データフレーム１７（ＡＶＢデータフレームおよび非ＡＶＢデータフレームを含み得る）を抽出し、フレーム１７をポート１１に渡してネットワーク１（図１）を介して送信する。
【００３５】
さらに図５を参照して、クレジットに基づくトラフィックシェイパー１９はクレジットカウントモジュール２１を含み、クレジットカウントモジュール２１は、カウンタインクリメント、デクリメントおよびクレジット制限値を保持するための一組のレジスタ２２と、クラスＡトラフィックの第１のクレジットカウンタおよびカウンタ更新ロジックモジュール２３Aと、クラスＢトラフィックの第２のクレジットカウンタおよびカウンタ更新ロジックモジュール２３Bとを含む。クラスＡおよびクラスＢは、それぞれ２ｍｓおよび５０ｍｓの異なる値の最大レイテンシ時間を規定する、異なる優先順位を有する。
【００３６】
クレジットカウントモジュール２１は、レジスタ読出／書込２４と、クラスＡおよびクラスＢトラフィックキュー保留状態２５A，２５Bと、クラスＡおよびＢのイネーブル／ディスエーブル信号２６とを受信する。クレジットカウントモジュール２１は、チャネルホストインターフェイスクロック信号２７を受信する。さらに、送信状態信号２８がポート１１（図４）からクレジットカウントモジュール２１に送り返される。
【００３７】
各クレジットカウンタおよびカウンタ更新ロジックモジュール２３A，２３Bは、自身のクラスのそれぞれのクレジット状態２９A，２９Bを出力する。クラスＡおよびクラスＢのクレジット状態２９A，２９Bは、次にどのフレームを送信するかを決定するためのフレーム送信ロジック回路３０に送り込まれる。クレジットカウントモジュール２１はさらに割込３１を出力する。
【００３８】
フレーム送信ロジック回路３０はさらに、アウトバウンドキュー３３内の音声／映像および非音声／映像トラフィックメッセージの可用性についての情報３２を送信ハンドラ２０から受信する。
【００３９】
フレーム送信ロジック回路３０は命令信号３４を出力し、所与のトラフィッククラスのフレームを送信ハンドラ２０に送信する。フレーム送信ロジック回路３０は、送信ハンドラ２０から確認信号３５を受信し、ＭＡＣコントローラから送信状態２８を受信する。
【００４０】
図６を参照して、クレジットカウンタおよびカウンタ更新ロジックモジュール２３A，２３Bをより詳細に示す。
【００４１】
所与のクラスのキュー状態２５、カウンタイネーブル２６、および送信状態２８が、クレジット更新規則モジュール３６に与えられる。
【００４２】
図７は、クレジット更新規則モジュール３６内で符号化されたクレジット更新規則を示す。クレジット更新規則は、クレジットカウントが負であるか、クレジットカウントがゼロであるか、またはクレジットカウントが正であるかに依存するクレジット状態２９（図６）に依存する規則を含む。各クレジット状態２９にロジックが与えられる（図５）。
【００４３】
再び図６を参照して、クレジット更新規則モジュール３６は、カウントアップイネーブル３７、リセット３８またはカウントダウンイネーブル３９を（一度に１つずつ）出力し得る。カウントアップイネーブル３７、リセット３８またはカウントダウンイネーブル３９は、インクリメントロジック４０、クレジット値レジスタ４１およびデクリメントロジック４２にそれぞれ供給される。インクリメントおよびデクリメントロジック回路４０，４２には、それぞれのレジスタ４３，４４から値が与えられる。図６に示すように、インクリメントロジック４０およびデクリメントロジック４２を用いて、クレジット値レジスタ４１に保持される値を増減させる。ロジックブロックおよびレジスタの動作は、ＣＨＩクロック信号２７（図５）に基づいてクロック制御される。
【００４４】
クレジット値レジスタ４１はクレジット値４５を出力する。クレジット値４５は、クレジット値が正であるか否かを判断してクレジット状態２９を出力するための比較器４６に供給される。クレジット値４５は、クレジット値がhiCredit値を上回るかloCredit値を下回るかを判断して割込３１を生成するための比較器４７に供給される。hiCreditおよびloCreditの値はレジスタ４８に保持される。
【００４５】
図８は、クレジットカウンタおよびカウンタ更新ロジックモジュール２３A，２３Bの実装をより詳細に示す。
【００４６】
この実装は、クレジットに基づくシェイパーインクリメント値（ＣＩＶ）およびクレジットに基づくシェイパーデクリメント値（ＣＤＶ）に基づく。
【００４７】
ＣＩＶは、キューが送信されていないときにチャネルホストインターフェイスクロックサイクル（または“ＣＨＩ＿freq”）当たりのキューのクレジットをインクリメントすることによってidleSlope（すなわち、たとえばビット／秒で表わされるキューのクレジットの増加率）を生じさせるために用いられる、符号付きの正の値である。ＣＤＶは、キューが送信されているときにチャネルホストインターフェイスクロックサイクル当たりのクレジットをデクリメントすることによってsendSlope（すなわち、たとえばビット／秒で表わされるキューのクレジットの減少率）を生じさせるために用いられる、符号付きの負の値である。
【００４８】
portTransmitRate（または“TxRate”）の値は、ポートの最大データ送信速度と定義され、たとえば約１００Ｍｐｓ〜１Ｇｂｐｓである。bandwidthFraction（または“bwFraction”）の値は、キューに使用可能なportTransmitRateの最大比率と定義される。bwFractionは約０〜１００％、たとえば２５％の値を取り得る。
【００４９】
ＣＩＶおよびＣＤＶは以下のように計算され得る：
ＣＩＶ＝（TxRate／ＣＨＩ＿freq）×bwFraction×Mfactor              （１）
ＣＤＶ＝（TxRate／ＣＨＩ＿freq）×（bwFraction−１）×Mfactor      （２）
上記式中、MfactorはＣＩＶおよびＣＤＶの整数値を有するために用いられる倍率であり、係数１／ＣＨＩ＿freqは、ＣＨＩクロックサイクル当たりのＣＩＶおよびＣＤＶをビットで表わすために用いられる。
【００５０】
TxRateが１００Ｍｂｐｓ、ＣＨＩ＿freqが５０ＭＨｚ、bwFractionが３％、およびMfactorが１００の場合、ＣＩＶ＝（１００Ｍｂｐｓ／５０ＭＨｚ）×３％×１００＝０．０６×１００＝６であり、ＣＤＶ＝（１００Ｍｂｐｓ／５０ＭＨｚ）×（−９７％）×１００＝−１．９４×１００＝−１９４である。TxRateが１Ｇｂｐｓ、ＣＨＩ＿freqが１３３ＭＨｚ、bwFractionが５％（たとえばクラスＡについて）、およびMfactorが１０，０００の場合、ＣＩＶ＝３，７５９であり、ＣＤＶ＝−７１，４２８である。
【００５１】
Mfactorは、同じクラス内のすべてのクレジットに基づくシェイパーパラメータについて同じであるように設定される。この要件が順守される場合、ＣＩＶ＝idleSlopeではなくidleSlope×Mfactorに等しい率でクレジットをインクリメントするために、およびＣＤＶ＝sendSlopeではなくsendSlope×Mfactorに等しい率でクレジットをデクリメントするためにMfactorを使用しても、クレジットに基づくシェーピングプロセスの挙動に影響を与えない。この理由は、定義上、bwFraction＝idleSlope／（idleSlope−sendSlope）であり、これはidleSlopeおよびidleSlopeの両方が同一係数で乗算されたとしても変わらないためである。Mfactorは、動作時に変更可能であるが、クレジットカウンタ＝０のときのみであり、これによってクレジット値を無矛盾に保つことができる。
【００５２】
クラスＡおよびクラスＢのhiCreditおよびloCreditの最悪ケースの結果を用いて、クラスＡおよびクラスＢトラフィックのMfactorの上限を計算することができる。
【００５３】
たとえば、最大フレームサイズが２０００バイトであり得、１２バイトのフレーム間ギャップについて、maxFrameSize＝１６，０９６ビットである。
【００５４】
【数１】
2014042237.tif 000003
【００５５】
【数２】
2014042237.tif 000004
【００５６】
３２ビットの符号付きカウンタ（したがって−２31〜２31−１の範囲を有する）を用いる場合、オーバーフローを有しないMfactorの最大値は、クラスＡについては１３３，４１８（すなわち２31−１／hiCredit＿max＿classA）であり、クラスＢについては約６６，７０９（すなわち２31−１／hiCredit＿max＿classB）である。
【００５７】
クレジットカウンタオーバーフローを有しないＣＩＶに設定可能な最大値は、上記の式（１）から得られる。MfactorおよびbwFractionがそれぞれの最大値を取る場合、
ＣＩＶ＿max＿classA＝（TxRate／ＣＨＩ＿freq）×Mfactor＿max＿classA  （１Ａ）
ＣＩＶ＿max＿classB＝（TxRate／ＣＨＩ＿freq）×Mfactor＿max＿classB  （１Ｂ）
である。
【００５８】
ＣＩＶ＿max＿classAおよびＣＩＶ＿max＿classBの値は、TxRateおよびＣＨＩ＿freqの異なる値について以下の表１に与えられる：
【００５９】
【表１】
2014042237.tif 000005
【００６０】
このため、ＣＩＶレジスタ４３（図６）に必要なビット数は、予期されるTxRateおよびＣＨＩ＿freqの値の組合せに依存する。たとえば、TxRate＝１ＧｂｐｓおよびＣＨＩ＿freq＝１２５ＭＨｚである場合、クラスＡのＣＩＶレジスタには２１ビット必要である。
【００６１】
【数３】
2014042237.tif 000006
【００６２】
ＣＤＶ＿max＿classAおよびＣＤＶ＿max＿classBの値は、TxRateおよびＣＨＩ＿freqの異なる値について以下の表２に与えられる：
【００６３】
【表２】
2014042237.tif 000007
【００６４】
このため、ＣＤＶレジスタ４４（図６）に必要なビット数は、予期されるTxRateおよびＣＨＩ＿freqの値の組合せに依存する。たとえば、TxRate＝１ＧｂｐｓおよびＣＨＩ＿freq＝１２５ＭＨｚである場合、クラスＡのＣＤＶレジスタには符号付きの２１ビットが必要である。
【００６５】
レジスタ転送ロジックは、サイクル毎にＣＩＶまたはＣＤＶ値を追加する、単純な符号付きカウンタを用いる。
【００６６】
特に、クレジットカウンタ動作ブロック５１はcredit＿count＿op信号５２を出力して、レジスタ５１に保持されるクレジットの値を制御する第１および第２の多重化装置５３，５４の動作を可能にする。クレジット値４５は、比較器４６，４７および第２の多重化装置５４に送られる。
【００６７】
この実装は１つ以上の利点を有し得る。第１に、クレジットをクロックサイクル毎にビットでカウントでき、カウンタを送信状態と常に同期させることができる。第２に、Mfactorによって精度を制御することができる。Mfactorについては、精度とカウンタによって表わされ得る最大値との間にトレードオフが存在する。しかし、小さな帯域幅の部分（たとえば帯域幅誤差＜０．１％でありbwFraction＝０．０５％）についても、約２16（たとえばクラスＢトラフィックについて）であるMfactorの最大値によって、非常に良好な精度がもたらされる。最後に、この実装は単純なロジックを用いて実行可能である。
【００６８】
より一般的に、クレジットカウンタおよびカウンタ更新ロジックモジュールは各ストリームのクレジットを連続して計算可能であるため、フレーム送信を制御可能である。ソフトウェア負荷がなく、クレジットカウンタおよびカウンタ更新ロジックモジュールは正確なクレジットカウントを確実に提供可能である。カウント構成はトラフィッククラスの数に依存しておらず、つまり当該構成は任意の数のクラスに拡大可能である。さらに、カウントは、物理層（ＰＨＹ）インターフェイスおよび（製品依存の）任意の周辺インターフェイスによって用いられるクロック周波数から独立して実行可能である。
【００６９】
上記に記載した本明細書中の実施形態に多くの修正がなされ得ることが認識されるであろう。
【００７０】
たとえば、クレジットカウンタおよびカウンタ更新ロジックモジュールは他の異なる方法で実装され得る。たとえば、この実装は、sendSlopeIncValおよびsendSlopeNumClocks（たとえば１０〜１００の値を取る）、ならびにidleSlopeIncValおよびidleSlopeNumClocks（たとえば１０〜１００の値を取る）に基づき得る。レジスタ転送ロジックは、SlopeNumClocksサイクル毎にSlopeIncValを加算または減算するカウンタを含み得る。
【図１】
2014042237.tif 000008
【図２】
2014042237.tif 000009
【図３】
2014042237.tif 000010
【図４】
2014042237.tif 000011
【図５】
2014042237.tif 000012
【図６】
2014042237.tif 000013
【図７】
2014042237.tif 000014
【図８】
2014042237.tif 000015
【外国語明細書】
2014042237000001.pdf