(57)【特許請求の範囲】
【請求項１】
データネットワークに接続するための、論理チップを有する統合マルチポートネットワークスイッチであって、
前記データネットワークに対してデータパケットを送受信するための複数のポートと、
前記ポートの各々と関係して、それぞれのポートでのネットワークに対するデータパケットの送受信の各々についての所定のパラメータに関する管理情報ベース（ＭＩＢ）レポートデータを生成する媒体アクセスコントローラ（ＭＡＣ）と、
ＭＩＢレポートバスを通じて前記ＭＩＢレポートデータを受信するように接続され、そこで累積されるＭＩＢデータを前記論理チップの外部のメモリと通信するための出力を有する、オンチップ管理情報ベース（ＭＩＢ）エンジンと、
各ポートのＭＡＣと前記ＭＩＢレポートバスとの間に接続されるインターフェイスとを含み、それによって前記複数のポートのＭＩＢレポートが前記ＭＩＢエンジンに時間共有ベースで個別に送信される、統合マルチポートネットワークスイッチ。
【請求項２】
前記複数のポートがそれぞれ異なる送信特性で動作可能であり、前記インターフェイスが、
それぞれのポートに関連する送信特徴に従って前記ＭＩＢエンジンに対して前記ＭＩＢレポートの送信を優先順位づけするための優先手段を含む、請求項１に記載の統合マルチポートネットワークスイッチ。
【請求項３】
より速いデータ送信速度で動作するＭＡＣポートで生成されるＭＩＢレポートが、前記優先手段によって、より低いデータ送信速度で動作するＭＡＣポートで生成されるＭＩＢレポートよりも高い優先順位にあるとされる、請求項２に記載の統合マルチポートネットワークスイッチ。
【請求項４】
全二重プロトコルで動作するＭＡＣポートで生成されたＭＩＢレポートが、前記優先手段によって、半二重プロトコルで動作するＭＡＣポートで生成されたＭＩＢレポートよりも高い優先順位にあるとされる、請求項２に記載の統合マルチポートネットワークスイッチ。
【請求項５】
前記インターフェイスが、
第１の送信速度で動作するそれぞれのポートに関連する複数のＭＡＣからＭＩＢレポートを受信するように接続された入力を有する第１のバッファと、
第２の送信速度で動作するポートに関連するＭＡＣからＭＩＢレポートを受信するように接続された入力を有する第２のバッファと、
前記第１および第２のバッファの出力にそれぞれ接続された複数の入力と、前記ＭＩＢレポートバスに接続された出力とを有するマルチプレクサ手段とを含む、請求項１に記載の統合マルチポートネットワークスイッチ。
【請求項６】
前記第１のバッファが、
各々がＭＩＢレポートを保持するのに十分な容量を有する先入れ先出し（ＦＩＦＯ）の複数のレジスタと、
現在ＭＩＢレポートデータを保持しているＦＩＦＯレジスタをポートによって識別するためのポインタストレージとを含む、請求項５に記載の統合マルチポートスイッチ。
【請求項７】
ＭＩＢレポートが第１のクロック速度でクロックサイクルのＭＡＣ時間スロット割当に従って前記第１のバッファで受信され、またＭＩＢレポートが第２のクロック速度に同期化される速度で前記第２のバッファで受信され、前記第２のバッファが第１のクロック速度に受信されたＭＩＢレポートを同期化する手段を含む、請求項６に記載の統合マルチポートスイッチ。
【請求項８】
前記第２の送信速度が前記第１の送信速度より速く、前記第１のクロック速度が前記第２のクロック速度より速い、請求項６に記載の統合マルチポートスイッチ。
【請求項９】
前記インターフェイスが、前記第２の送信速度で動作するポートに関連するＭＡＣからＭＩＢレポートを受信するように接続された入力を有する第３のバッファをさらに含み、前記マルチプレクサ手段が、
前記第２および第３のバッファからデータを受信するように接続された第１のマルチプレクサと、
前記第１のバッファおよび前記第１のマルチプレクサからデータを受信するように接続された第２のマルチプレクサとを含み、前記第２のマルチプレクサが前記ＭＩＢレポートバスに接続されており、それによってＭＩＢレポートが前記ＭＩＢエンジンへ個別に出力される、請求項６に記載の統合マルチポートスイッチ。
【請求項１０】
データネットワークに対してデータパケットを授受するための複数のポートを有する集積チップを含む統合マルチポートネットワークスイッチにおいて、各々のポートがそれに関連して媒体アクセスコントローラ（ＭＡＣ）を有し、
前記ポートの各々でデータパケットを各々授受するための所定のパラメータに関する管理情報ベース（ＭＩＢ）レポートを生成するステップと、
ＭＩＢレポートを前記複数のポートについて個別にオンチップ管理情報ベース（ＭＩＢ）エンジンに時間共有ベースで送信するステップと、
前記ＭＩＢエンジンで前記ＭＩＢレポートを一時的に累積するステップと、
ＭＩＢレポートを一時的に累積し、前記チップの外部のメモリを周期的に更新するステップとを含む、方法。
【請求項１１】
前記複数のポートがそれぞれ異なる送信特性で動作可能であり、前記送信するステップが、
それぞれのポートに関連する送信特性に従って前記ＭＩＢエンジンに対して前記ＭＩＢレポートの出力を優先させるステップを含む、請求項１０に記載の方法。
【請求項１２】
前記複数のポートのうち少なくとも２つが第１のデータ送信速度で動作し、前記複数のポートのうち少なくとも１つが第２のデータ送信速度、つまり前記第１のデータ送信速度よりも速い速度で動作し、前記送信するステップが、
前記第１のデータ送信速度で動作するポートからのＭＩＢレポートを時間共有ベースで一次ストレージにバッファするステップと、
前記バッファするステップでバッファされたＭＩＢレポートデータを前記第２のデータ送信速度で動作する前記少なくとも１つのポートからのＭＩＢレポートデータで多重化するステップと、
前記多重化するステップにおいて多重化されたＭＩＢレポートデータを前記ＭＩＢエンジンに出力するステップとを含む、方法。
【請求項１３】
前記送信するステップが、ＭＩＢレポートのそれぞれのポートに関連するデータ送信速度に関する前記出力ステップで出力すべきＭＩＢレポートを優先させるステップを含む、請求項１２に記載の方法。
【請求項１４】
前記バッファするステップが先入れ先出しベースでＭＩＢレポートをストアするステップを含む、請求項１２に記載の方法。
【発明の詳細な説明】
技術分野
この発明はネットワーク交換に関し、より具体的には、データネットワークスイッチ論理チップ上で管理情報ベースオブジェクト（ＭＩＢ）を累積することに関する。
背景技術
データネットワークスイッチは、ローカルエリアネットワーク内の複数のメディアステーション間のデータ通信を可能にする。データフレーム、またはパケットは、各スイッチポートでネットワークインターフェースカードまたは回路を可能化するデータネットワークスイッチ媒体アクセス制御（ＭＡＣ）によってステーション間で転送される。ＭＡＣは、ポートからネットワークへのデータトラヒックの送信と、ポートにおけるネットワークからのデータトラヒックの受信を管理し、衝突を回避するためにポートでのデータトラヒックを調停する。ネットワークスイッチは送信ステーションから受けたデータフレームを、受信データフレームのヘッダ情報に基づいて宛先ステーションへ伝達する。各ポートの送信および受信バッファがＭＡＣに結合される。動作モードによって、一時的にポート受信バッファに保持される入力パケットを、後からの送信のためにスイッチ外部のメモリへ移動されることもあり、またはネットワークへすぐに送信するために適切なポートの送信バッファに配してもよい。
パケット送信イベントは、典型的には、各データネットワークスイッチポートに関するネットワーク動作の統計的分析の基礎を提供するために追跡される。たとえば送信パケット、受信パケット、および送信衝突の数などは、定期的に計数されて集計される。統計カウンタを用いることによって、たとえばパケット損失などの不適切な装置動作の判定がなされ得る。典型的には、各ＭＡＣユニットは、それぞれのスイッチポートを通過する各フレームについての少数の送信イベントパラメータを計数するための、容量が制限された内部カウンタを有する、受信ステートマシンおよび送信ステートマシンを含み得る。特定のパラメータ専用のフリップフロップが、そのフレーム内の項目が識別されるたびにそれぞれ増分される。各入力フレームに関しては、これらは受信ＦＩＦＯバッファ内に一時的にストアされてもいいが、受信ステートマシンのそれぞれのフリップフロップが読出され、その結果生じるデータがフレームに添付される。出力フレームについても、同様の処理が行なわれる。こうして、送信ＦＩＦＯバッファに一時的にストアされた出力フレームは、受信動作および送信動作に関する添付データを含む。送信動作データは、フレームが送信ＦＩＦＯバッファから送信されるときに付加される。
データネットワークがよりロバストになりデータトラヒックが増加すると、さらなる演算パラメータが重要になる。たとえば、ポートは、種々のデータ速度および半二重または全二重プロトコルなどの種々の送信特性で動作することができる。すべての重要なパラメータを追跡することが必要になると、ＭＡＣはますます複雑になりどうしても困難が生じてしまう。この複雑さとは、より多くのレジスタを提供し、論理要素を供給し、またより大きなバッファ容量が必要になることを含む。各ＭＡＣについてこのような付加的要素をスイッチ論理チップ上に集積することは、チップアーキテクチャにとって負担になる。これらの予測される難点と、従来技術の構成についてレポート機能が比較的限定されていることとは、重大な欠点である。
より最近のネットワークスイッチの配置は、ＲＡＭベースのメモリをスイッチ論理チップ上に、オンチップＭＡＣのすべてから受信されたデータに対する全カウンタとして配置することを含む。大容量ＲＡＭをチップに組入れてすべてのポートからの演算パラメータデータを収容すると、望ましくない費用が生じてしまう。増大する統計的要求に追いつくためにパラメータの数が増えると、利用可能なＲＡＭの容量をこれらの要求に合わさなければならない。外部統計的診断機能に対してＲＡＭをポーリングするには、著しく大量のデータを送信する必要がある。さまざまな要素を単一論理チップ上に集積すると本質的にスペースが制約され、これがさらなる欠点を招く。
この大量の演算パラメータデータの累積および統計的処理のためにそれに頻繁にアクセスすることは、演算に関する問題をさらに招く。関心のあるトラヒックイベントおよびパラメータは、それらが生じると監視され、演算の過程中に同時に加えられる。このデータは通常の演算を分析するための適切な統計的処理を行なうために、またはテスト期間中に診断を行う目的で、頻繁に検索され得る。
関連出願において、ＭＡＣの複雑さ、スイッチポートの数とその使用量、および重要な演算パラメータの数が増加することよって生じるチップアーキテクチャへの要求を認識し、また、重要なイベントパラメータを管理情報ベース（ＭＩＢ）のオブジェクトとして規定することによりチップアーキテクチャの要求に取組む。統合マルチポートスイッチ（ＩＭＳ）は単一チップ上のすべての論理構成要素を含む。ネットワークスイッチアーキテクチャは、ＭＩＢレポートプロセッサを有するオンチップの「ＭＩＢエンジン」を含み、これがオンチップＭＡＣの各々による多数のＭＩＢオブジェクトの監視を可能にし、これは結局外部メモリ内にストアされ、同時にＭＡＣの複雑さを最小にする。スイッチ内の各ポートに対するＭＡＣは、ＭＩＢエンジンに対して特定的にエンコードされたフォーマットに従って、データの送受信の各々についてのＭＩＢレポートを出力する。ＭＩＢエンジンはＭＩＢレポートを複数の関連するＭＩＢオブジェクト内へデコードし、これは外部メモリが更新されるまで一時的に累積される。ＭＩＢエンジンは、外部メモリからの値を検索しかつ検索された値に累積されたＭＩＢオブジェクトを加えることによってストアされたＭＩＢ値の更新処理を開始する。更新されたＭＩＢオブジェクトはその後、外部メモリに再び送信されてそこにストアされ、ＭＩＢエンジンオブジェクト値はリセットされる。
上記出願に記載されるＭＩＢエンジンは、時間共有ベースで各ＭＡＣポートからＭＩＢレポートを受信する。ＭＩＢエンジンによるＭＩＢレポートデータの受信に対するクロックサイクルの反復シーケンスの時間スロットがそれぞのポートに名目上割当てられる一方、複数のポートでのデータトラヒックフローは、安定した状態ではなく、ランダムな性質を有する。ポートは半二重または全二重プロトコルに従って異なる送信速度で多様に動作し得る。ポートはかなりの時間にわたってアイドル状態であり得るが、スイッチが、全容量までトラヒック状態を保持する時もある。データ通信が複数のポートに対して同時に起こる場合、ＭＩＢレポートデータの損失を回避しなくてはならない。スイッチポート特性に従ったＭＩＢエンジンへのＭＩＢレポート送信は優先されるべきである。
ＷＯ９５／２２２１６は、ネットワークリピータからの管理データを累積し、かつＣＰＵからのコマンドに応答して累積された管理データをＣＰＵへ提供するための、リピータ情報ベース（ＲＩＢ）を開示する。ＲＩＢの管理プロセッサは、管理インターフェイスから管理データを受信し、そのデータを個々のビットに分離させ、いずれのビットが記録すべき状況を示すかを判断するために個々のビットをポーリングし、さらに、メモリ管理ユニットへまたはメモリ管理ユニットからデータを送信し、そのような状況の各々に対して管理メモリの内容を更新する。
この発明を具体化する統合マルチポートネットワークスイッチは、各ポートのＭＡＣとＭＩＢレポートバスとの間に接続されたインターフェイスを備えるスイッチを提供することによって現在のネットワークスイッチの上述の要求および欠点に部分的に組込む。複数のスイッチポートに対するＭＩＢレポートは、時間共有ベースでＭＩＢレポートバスによって供給されるスイッチＭＩＢエンジンに個別に送信される。このインターフェイスは、好ましくは、それぞれのポートに関連する送信特性に従ってＭＩＢエンジンへのＭＩＢレポートの送信を優先させる。
この発明の別の局面は、インターフェイスにおいてＦＩＦＯストレージバッファを使用して、クロック信号に同期化された時間スロット割当シーケンスにおいて優先順位の低いポートから受信されたＭＩＢレポートデータを一時的に保持することに関し、これは優先順位の高いポートからのＭＩＢレポートデータがＭＩＢレポートパスへの出力が優先される期間中に行なわれる。このバッファは、各々がＭＩＢレポートについてのデータを保持するのに十分な容量を有する複数のバッファを含んでもよい。どのレジスタに格納（populated）されているかを示し、またそれらのレジスタをポートに結合させる、ポインタストレージは、バッファがＦＩＦＯ一次ストレージとして動作することを可能にする。ＭＩＢエンジンはしたがって規則的な時間シーケンスでＭＩＢレポートを個別に受信できる。インターフェイスにおけるマルチプレクサは、ＭＩＢレポート出力を優先させつつＭＩＢエンジンへの出力シーケンスを制御する。
この発明のさらなる局面は、選択されたデータ送信速度、たとえば１０Ｍｂ／ｓで半二重モードで動作するチップ上の第１の複数のポートと、より速いデータ送信速度、たとえば１００ｍｂ／ｓで全二重モードで動作する第２の複数のポートとを提供することである。それぞれのポートグループからのＭＩＢレポートは異なるそれぞれのクロック周波数で出力される。インターフェイスはすべてのレポートをより高いクロック周波数に同期化し、優先された時間シーケンスのＭＩＢレポートをＭＩＢエンジンに出力する。この発明のさらなる利点は、次の詳細な説明から当業者には容易に明らかになるであろう。この説明にはこの発明の好ましい実施例のみが図示および記述され、これは単に、この発明を実施するために企図された最良の様態を例示する目的によるものである。後にわかるように、この発明は他のおよび種々の実施例も可能であり、その詳細部分は、この発明から全く離れることなく、種々の明らかな観点においていくらか修正可能である。したがって、図面および説明は例示的な性質のものであり、限定的なものではない。
【図面の簡単な説明】
添付の図面を参照して、同じ参照番号で指定される要素は全体を通して同様の要素を表わす。
図１はこの発明の一実施例に従ったパケット交換システムのブロック図である。
図２は図１のパケット交換システムで用いられるマルチポートスイッチのブロック図である。
図３はこの発明に従ったＭＩＢ情報の処理および記憶に関連する部分的ブロック図である。
図４はこの発明に従った図３に示すＭＩＢエンジンのブロック図である。
図５はこの発明に従った図３に示すＭＩＢレポートインターフェイスのブロック図である。
図６は図５に示すバッファのこの発明に従ったブロック図である。
図７は図５に示すマルチプレクサ１５０のこの発明に従ったブロック図である。
発明を実施するための最良の様態
イーサネット（ＩＥＥＥ  ８０２．３）網などのパケット交換ネットワークにおけるスイッチを例に挙げてこの発明を説明する。以下の詳細な説明から、図１のブロック図のシステム１０として示されるこの発明は、他のパケット交換システムにも適用可能であることが明らかとなるであろう。パケット交換ネットワークは、ネットワークステーション間でのデータパケットの通信を可能にする統合マルチポートスイッチ（ＩＭＳ）１２を含む。ネットワークステーションは種々の構成を有し得る。現在の例では、２４個の毎秒１０メガビットの速度（Ｍｂｐｓ）のネットワークステーション１４は１０Ｍｂｐｓのネットワークデータレートでデータの授受を行ない、２つの１００Ｍｂｐｓネットワークステーション１６は１００Ｍｂｐｓのネットワーク速度でデータパケットの授受を行なう。マルチポートスイッチ１２はネットワークステーション１４または１６から受けたデータパケットをイーサネットプロトコルに基づく適切な宛先に選択的に転送する。
１０Ｍｂｐｓネットワークステーション１４は媒体１８を介して、かつ半二重イーサネットプロトコルに従って、マルチポートスイッチ１２に対してデータパケットの授受を行なう。イーサネットプロトコルＩＳＯ／ＩＥＣ  ８８０２−３（ＡＮＳＩ／ＩＥＥＥ  Ｓｔｄ．  ８０２．３，１９９３Ｅｄ．）は、すべてのステーション１４が等しくネットワークチャネルにアクセスできるようにする半二重媒体アクセス機構を規定する。半二重環境のトラヒックは媒体１８と区別されたりまたはそれより優先されることはない。各ステーション１４はむしろ、媒体上のトラヒックを認識するために搬送波感知多重アクセス／衝突検出（ＣＳＭＡ／ＣＤ）を用いるイーサネットインタフェースカードを含む。媒体上の受信搬送波がデアサートされたことを感知することによりネットワークトラヒックの不在が検出される。送信するデータを有するステーション１４はすべて、パケット間ギャップ期間（ＩＰＧ）として公知である、媒体上の受信搬送波がデアサートされた後、予め定められた時間だけ待機することにより、チャネルにアクセスしようとする。複数のステーション１４がネットワーク上に送信するデータを有する場合、ステーションの各々が、媒体上の受信搬送波の、デアサートが感知されたことに応答してＩＰＧ期間の後に送信を行なおうとするため、衝突が生じる。したがって、送信ステーションは、別のステーションが同時にデータを送信することにより衝突が生じていないかを判断するために媒体を監視する。衝突が検出されれば、両方のステーションが停止し、ランダムな期間だけ待機し、再度送信を試みる。
１００Ｍｂｐｓネットワークステーション１６は好ましくは、提案されているフロー制御によるイーサネット規格ＩＥＥＥ  ８０２．３ｘ全二重−草案（０．３）に従う全二重モードで動作する。全二重環境は各１００Ｍｂｐｓネットワークステーション１６とマルチポートスイッチ１２との間に双方向ポイントツーポイント通信リンクを設け、ＩＭＳおよびそれぞれのステーション１６は衝突することなくデータパケットの送受信を同時に行なうことができる。１００Ｍｂｐｓネットワークステーション１６の各々は、１００ベース−ＴＸ、１００ベース−Ｔ４または１００ベース−ＦＸタイプの１００Ｍｂｐｓ物理（ＰＨＹ）装置２６を介してネットワーク媒体１８に結合される。マルチポートスイッチ１２は、物理装置２６への接続をもたらす媒体独立インタフェース（ＭＩＩ）２８を含む。１００Ｍｂｐｓネットワークステーション１６は他のネットワークへの接続のためのサーバまたはルータとして実現され得る。同様に、１０Ｍｂｐｓネットワークステーション１４はフロー制御による全二重プロトコルに従って動作するように修正され得る。
図１に示されるように、ネットワーク１０は、マルチポートスイッチ１２と１０Ｍｂｐｓステーション１４との間で送信されたデータパケットの時分割多重化および時分割非多重化を行なう、ＱｕＥＳＴとラベル付けされた一連のスイッチトランシーバ２０を含む。磁気トランスモジュール１９は媒体１８上の信号の波形を維持する。マルチポートスイッチ１２は、時分割多重化プロトコルを用いて単一のシリアルノンリターンツーゼロ（ＮＲＺ）インタフェース２４を介して各スイッチトランシーバ２０に対するデータパケットの送受信を行なうトランシーバインタフェース１８を含む。スイッチトランシーバ２０はシリアルＮＲＺインタフェース２４からパケットを受信し、受信されたパケットを非多重化し、ネットワーク媒体１８を介して適切なエンドステーション１４にそのパケットを出力する。開示される実施例によると、各スイッチトランシーバ２０は独立した４つの１０Ｍｂｐｓツイストペアポートを有し、マルチポートスイッチ１２が必要とするＰＩＮの数が４分の１に減少するようにするシリアルＮＲＺインタフェースを介する４：１多重化を用いる。
マルチポートスイッチ１２は、意思決定エンジン、切換エンジン、バッファメモリインタフェース、構成／制御／状態レジスタ、管理カウンタ、ならびにネットワークステーション１４および１６のためのイーサネットポート間でデータパケットの経路制御を行なうためのＭＡＣ（媒体アクセス制御）プロトコルインタフェースを含む。マルチポートスイッチ１２はまた、インテリジェントな切換決定を行ない、後に説明するように、外部の管理エンティティに管理情報ベース（ＭＩＢ）オブジェクトの形式で統計的なネットワーク情報を与えるための優れた機能を有する。マルチポートスイッチ１２はさらに、マルチポートスイッチ１２のチップサイズを最小にするためにパケットデータの外部ストアおよびスイッチ論理を可能にするインタフェースを含む。たとえば、マルチポートスイッチ１２は、受信したフレームデータ、メモリ構造およびＭＩＢカウンタ情報をストアするための外部メモリ３４へのアクセスをもたらす同期型ダイナミックＲＡＭ（ＳＤＲＡＭ）インタフェース３２を含む。メモリ３４は２Ｍｂまたは４Ｍｂのメモリサイズを有する８０、１００または１２０ＭＨｚ同期型ＤＲＡＭであってもよい。
マルチポートスイッチ１２はまた、外部管理エンティティが管理ＭＡＣインタフェース３８によってマルチポートスイッチ１２の全体的な動作を制御できるようにする管理ポート３６も含む。マルチポートスイッチ１２はまた、ＰＣＩホストおよびブリッジ４０を介して管理エンティティがアクセスできるようにするＰＣＩインタフェース３９も含む。これに代えて、ＰＣＩホストおよびブリッジ４０が複数のＩＭＳデバイスに対する拡張バスとしての役割を果たしてもよい。
マルチポートスイッチ１２は、１つのソースから受信されたデータパケットを少なくとも１つの宛先ステーションに選択的に送信する内部意思決定エンジンを含む。内部意思決定エンジンに代えて外部ルールチェッカを利用してもよい。外部ルールチェッカインタフェース（ＥＲＣＩ）４２は、内部意思決定エンジンの代わりにフレーム転送決定を行なうために外部ルールチェッカ４４が用いられるようにする。したがって、フレーム転送決定は、内部切換エンジンまたは外部ルールチェッカ４４のいずれかによって行なわれ得る。
マルチポートスイッチ１２はまた、ポートごとの状況のステータスをクロックに合せて出力しＬＥＤ外部論理４８を駆動するＬＥＤインタフェース４６も含む。ＬＥＤ外部論理４８は人間が読取ることができるＬＥＤディスプレイエレメント５０を駆動する。発振器３０はマルチポートスイッチ１２のシステム機能に４０ＭＨｚのクロック入力を与える。
図２は、図１のマルチポートスイッチのより詳細なブロック図である。マルチポートスイッチ１２はそれぞれの１０Ｍｂｐｓネットワークステーション１４間で半二重のデータパケットの送受信を行なうための２４個の１０Ｍｂｐｓ媒体アクセス制御（ＭＡＣ）ポート６０（ポート１から２４）と、それぞれの１００Ｍｂｐｓネットワークステーション１６間で全二重のデータパケットの送受信を行なうための２つの１００Ｍｂｐｓ  ＭＡＣポート６２（ポート２５および２６）とを含む。上述のとおり、管理インタフェース３６もまたＭＡＣ層プロトコル（ポート０）に従って動作する。ＭＡＣポート６０、６２および３６の各々は、受信先入れ先出し（ＦＩＦＯ）バッファ６４および送信ＦＩＦＯバッファ６６を有する。ネットワークステーションからのデータパケットは対応のＭＡＣポートで受信され、対応の受信ＦＩＦＯバッファ６４にストアされる。受信されたデータパケットは対応の受信ＦＩＦＯバッファ６４から外部メモリインタフェース３２に出力されて、外部メモリ３４にストアされる。
受信されたパケットのヘッダもまた、内部ルールチェッカ６８および外部ルールチェッカインタフェース３２を含む、意思決定エンジンに転送され、いずれのＭＡＣポートからデータパケットが出力されるかを決定する。パケットヘッダが内部ルールチェッカ６８に送られるかまたは外部ルールチェッカインタフェース４２に送られるかは、マルチポートスイッチ１２の動作上の構成に依存する。外部ルールチェッカ４４を使用することにより、容量の増加、およびフレームが外部メモリに完全にバッファされる前にフレーム転送決定を可能にし、かつマルチーポートスイッチ１２がフレームを受信する順とは関係なく決定が行なわれるようにする、決定キューのうちランダムな順序付け、といった利点がもたらされる。
内部ルールチェッカ６８および外部ルールチェッカ４４は、所与のデータパケットに関する宛先ＭＡＣポートを決定するための意思決定論理を提供する。意思決定エンジンは、単一ポート、複数ポートまたは全ポート（すなわちブロードキャスト）のいずれに所与のデータパケットを出力すべきかを示すことができる。各データパケットにはソースおよび宛先アドレスを有するヘッダが含まれ、意思決定エンジンはこれに基づいて適切な出力ＭＡＣポートを特定できる。宛先アドレスはバーチャルアドレスに対応してもよく、その場合、意思決定エンジンは複数のネットワークステーションに対する出力ポートを特定する。これに代えて、受信されたデータパケットは、（１００Ｍｂｐｓステーション１６のうち１つのルータを介する）別のネットワークまたは所定のグループのステーションを特定する、ＩＥＥＥ  ８０２．１ｄプロトコルに準拠するＶＬＡＮ（バーチャルＬＡＮ）タグ付フレームを含んでもよい。したがって、内部ルールチェッカ６８または外部ルールチェッカ４４は、インタフェース４２を介して、バッファメモリ３４に一時的にストアされたフレームを単一のＭＡＣポートまたは複数のＭＡＣポートのいずれに出力すべきかを決定する。
意思決定エンジンは、データパケットを受信すべき各ＭＡＣポートを特定するポートベクタの形式で転送決定をスイッチサブシステム７０に出力する。適切なルールチェッカからのポートベクタは、外部メモリ３４においてデータパケットをストアするアドレス場所と、データパケットを受信して送信するためのＭＡＣポート（たとえばＭＡＣポート０から２６）の識別子とを含む。スイッチサブシステム７０はポートベクタに特定されたデータパケットを外部メモリインタフェース３２を介して外部メモリ３４から取出し、取出されたデータパケットを特定されたポートの適切な送信ＦＩＦＯ６６に与える。
付加的なインタフェースにより、次の要素で例示される管理および制御情報が与えられる。管理データインタフェース７２は、マルチポートスイッチ１２が、ＭＩＩ管理仕様（ＩＥＥＥ  ８０２．３ｕ）に従うスイッチトランシーバ２０および１００Ｍｂｐｓ物理装置２６と、制御およびステータス情報を交換できるようにする。管理データインタフェース７２は、双方向管理データＩＯ（ＭＤＩＯ）信号経路に時間基準を与える管理データクロック（ＭＤＣ）を出力する。ＰＣＩインタフェース３９は、ＰＣＩホストプロセッサ４０によって内部ＩＭＳステータスおよび構成レジスタ７４にアクセスし、かつ外部メモリＳＤＲＡＭ３４にアクセスするための、３２ビットＰＣＩ改訂２．１に適合したスレーブインタフェースである。ＰＣＩインタフェース３９は複数のＩＭＳデバイスのための拡張バスとしての役割も果たし得る。管理ポート３６は標準７ワイヤ反転シリアルＧＰＳＩインタフェースを介して外部ＭＡＣエンジンにインタフェースされ、標準ＭＡＣ層プロトコルによりホストコントローラがマルチポートスイッチ１２にアクセスできるようにする。
この発明に従ったＭＩＢ情報の処理および記憶が図３の部分ブロック図で表わされる。点線で示した境界線はＩＭＳ論理チップの一部分を表わす。ＭＡＣ６０の各々は単一のブロックにまとめて示され、これは送受信されたデータフレームの各々についてそのポートでの送信アクティビティを詳述するＭＩＢレポートを生成する。このデータ通信アクティビティは図２の例に示す１０Ｍｂ／ｓＭＡＣポート（１−２４）でのトラヒックに対応する。各ＭＩＢレポートは圧縮スキームに従って系統化され、これによってレポートパケットが、特定のＭＩＢ情報に対応する特定のビット、グループ、またはフィールドに割当てられる。ＭＡＣ６０からのＭＩＢレポートはＭＩＢレポートデータをインターフェイス９０に供給するＭＩＢレポートインターフェイスバスへと出力される。ＭＡＣポート６０の各々にはＭＩＢレポートデータをＭＩＢレポートインターフェイスバスへ転送するための反復クロックシーケンスの時間スロットが割当てられる。この例では、２４個のポートに対して８０ＭＨｚのクロック速度が用いられる。ＭＩＢレポートインターフェイス９０はまた、１００Ｍｂ／ｓＭＡＣポート６２からＭＩＢレポートデータを受信し、これは図２のポート２５および２６に対応する。これらのポートからのＭＩＢレポートは、図２の例では２５Ｍｈｚ速度でクロック動作される。ＭＩＢレポートインターフェイス９０はＭＡＣ６０および６２から受信したレポートデータをＭＩＢレポートバス９１を介してＭＩＢエンジン９２へと供給する。ＭＩＢレポートは一度に１つずつＭＩＢエンジンに送信され、１００Ｍｂ／ｓのＭＡＣ６２からのＭＩＢレポートが優先される。インターフェイスはしたがってこれらのレポートをより高い８０ＭＨｚクロックシーケンスへと同期化し、優先順位要求に従ってすべてのＭＡＣからのレポートの配達順位を変える。
ＭＩＢエンジンは受信されたデータをそれ自体の一次ＲＡＭストレージに累積し、そのデータをそれぞれのＭＩＢと結合させ、外部メモリ３４のＭＩＢ情報を更新する。カウンタはポートによってメモリ内でグループ分けされるのが好ましい。ＩＭＳ  ＭＩＢカウンタは外部メモリ３４内へとマップされ、ＰＣＩインターフェイス３９を通じてＰＣＩホストプロセッサ４０へとアクセス可能である。すべてのポートＭＩＢのうち全バージョンは外部メモリにあるが、そのうちより低いｎビットのみがオンチップに維持され、よってオンチップＲＡＭスペースを保存する。外部メモリ内のフルレングスＭＩＢは制御バス９４を介してチップへと周期的に転送され、制御バスを介して外部メモリへと再び書込まれる前に更新される。
外部メモリ内に保たれるフルレングスＭＩＢカウンタは、更新のために、外部ホストまたはオンチップＭＩＢエンジンのいずれかによっていつでもアクセスできる。周期的に、各ポートに属するＭＩＢは、外部メモリからＩＭＳ  ＭＩＢエンジンへと持ってこられ、更新される。ポートによるラウンドロビン方式が、４５ミリ秒ごとに繰返されて用いられ得る。各ポートについてのＭＩＢオブジェクトカウントは外部メモリからＭＩＢエンジンへと転送され、毎ミリ秒に１回というほど頻繁に更新され得る。各ＭＩＢについてチップ上に保たれたビット数はこの期間中に起こり得る最悪の場合に従って決定され得る。
好ましい実施例におけるＭＩＢレポートは３２ビットのデータ、すなわち統計的に関心のあるＭＩＢオブジェクトを表わすのに現時点で十分な容量、を含む。このようなＭＩＢオブジェクトの例は次のとおりである。ＩＭＳポート内のリソースの欠落、たとえば受信ＦＩＦＯのオーバフローが原因で、受信パケットがドロップされた回数。ポートによって受信されたバイト数。ブロードキャストアドレスにあてられた、ポートによって受信された有効パケットの数。マルチキャストアドレスにあてられた、ポートによって受信された有効パケットの数。マルチキャストアドレスにもブロードキャストアドレスにもあてられていない、ポートによって受信された有効パケットの数。６４バイト長より短くかつ全くエラーのない、ポートによって受信された有効パケットの数。６４バイト長より短くエラーのある、ポートによって受信された有効パケットの数。設定された最大長の値より大きくエラーなしで受信された有効パケットの数。設定された値より大きくエラーありで受信された有効パケットの数。ＩＭＳポート内のリソースの欠落、たとえば送信ＦＩＦＯのアンダーランが原因でパケットが送信されなかった回数。ポートから送信されたバイトの数。ポートから（エラーありまたはエラーなしで）送信されたパケットの数。マルチキャストアドレスまたはブロードキャストアドレスにあてられた、ポートから送信された有効パケットの数。送信の試行中にポートで起こる衝突の数。これらの例は現在、典型的な考察点であり、網羅的なカタログではない。
下記の表は送信パケットおよび受信パケットについての３２ビットＭＩＢレポート構成の例である。
0003985061.tif 000002
いくつかの異なる種類のエラーがＭＩＢレポートの種々のフィールドによって表わされる。ＭＩＢオブジェクトを更新するためのＭＩＢレポート情報の処理および拡張は、ＭＩＢエンジン９２によって行なわれる。
図４は図３に示すＭＩＢエンジン９２のブロック図である。ＭＩＢレポートプロセッサ１０２はＭＩＢレポートインターフェイスからＭＩＢレポートを受けるための入力を有する。ＭＩＢレポートプロセッサの出力は８８ビット加算器１０４に接続される。８８ビット加算器はアキュムレーションストレージ１０６に接続される第２の入力を有する。アキュムレーションストレージ１０６は、１６．２μ秒に値するイベントを含み得るフリップフロップカウンタのようなレジスタを含んでもよい。８８ビット加算器の出力はアキュムレーションストレージ１０６の入力に接続される。一次レジスタ１０８はアキュムレーションストレージ１０６からの出力を受信し、かつ３２ビット加算器１１０の第１の入力に給送するように構成される。３２ビット加算器の第２の入力は、全ＭＩＢの一次単一ポートストア１１２から入力を受信するように構成される。ストア１１２は、ＲＡＭメモリを含んでもよく、外部メモリへ転送されるかまたは外部メモリから受信される、フルレングスＭＩＢのためのバッファメイルボックスとしての役割を果たす。３２ビット加算器の入力は、３２ビット加算器の出力および外部メモリからＤＭＡ制御１１４を介して受信される。
動作にあたっては、ＭＩＢレポートはＭＩＢレポートプロセッサ１０２によってＭＩＢエンジンに受信される。ＭＩＢレポートプロセッサは、基本的にはビットを内部レジスタにデコードすることによって、ＭＩＢレポートを、ＭＩＢセットを作り上げる種々のＭＩＢオブジェクトへと拡張する。前記の表に例を挙げたように、ＭＩＢレポートのフィールドのうちいくつかはＭＩＢオブジェクト構造のフィールドに共通し得る一方、残りのＭＩＢレポートパケットからの情報はストアされた構造に割当てるために処理されなければならない。
受信されたＭＩＢレポートに対応するＭＡＣポートに対する、アキュムレーションストレージ１０６からの適切な列が８８ビット加算器１０４に適用される。処理されたＭＩＢレポートデータはアキュムレーションストレージから検索された（retrieved）データに加えられ、その内容はその後そこに再び書込まれる。この処理は図面には１本線で表わされるが、好ましくは多数のＭＩＢが、更新すべき特定のＭＩＢフィールドに対して並行に追加され得る。加算器の内部は、合計８８ビットの追加ができるよう並行に複数の加算器を含むように構成され得る。この態様での並行処理は、複数のＭＡＣポートからのＭＩＢレポートが受信される速い速度に適応できる。
アキュムレーションストレージの容量はチップスペースを保つために制限されるが、複数のＭＩＢレポートを処理するのに十分なストレージが設けられる。各ＭＩＢについてチップ上に保たれるビット数は、４５ミリ秒のＭＩＢレポート時間内に起こり得る最悪の場合に従って決定される。更新は毎ミリ秒に１回程度頻繁に起こり得る。アキュムレーションストレージの内部構造の一例として、各ポートのデータについて４つの８８ビット列が割当てられ得る。ＭＩＢフィールドに適応する各セグメントの長さはＭＩＢサイズに関連して変化し得る。８８ビット加算器の並行処理はしたがって、アキュムレーションストレージから検索された列のＭＩＢを８８ビット加算器内の並行加算器の各々に向けることができる。
外部メモリはＤＭＡコントローラ１１４を通じてアクセスされる。１つのポートのフルレングスＭＩＢをチップ内部で更新する準備が整うたびに、この特定のポートにマップする部分は外部メモリからアクセスされ、単一のポートストア１１２へ一時的にロードされる。このデータは１行ごとに３２ビット加算器１１０内に読出され、そこへ一次レジスタ１０８から入力された、累積された新規ＭＩＢレポートデータが加えられる。この追加は一度に１つ以上の加算器の３２ビット幅で適応し得るＭＩＢに適用される。更新された値は外部メモリに再び転送される前に一次単一ポートストアに再び書込まれる。更新されたポート情報に割当てられたアキュムレーションストレージ部分の内容は更新時に空にされる。更新処理は各ポートについて順に起こり連続的に繰返されて、アキュムレーションストレージがオーバフローしないことを確実にする。
こうして述べてきたように、外部メモリについての更新処理はＭＩＢエンジンの制御下で通常の動作中に進行している。各更新イベントについて、アキュムレーションストレージ１０６の関連部分はオーバフローのないデータのさらなるアキュムレーションのために十分なストレージを維持するためにクリアされる。種々の外部状況が、ＭＩＢエンジンをリセットしてその論理要素のすべてをクリアすることを適切にし得る。このようなリセットはホストからのコマンドに応答して実現される。たとえば、ホストは外部メモリからＭＩＢデータを検索して統計的処理を行なう。その後、外部メモリはクリアされてＭＩＢエンジンが０にリセットされてもよい。
さらに、主なＭＩＢインターフェイスの動作を検査するために種々のテストが行なわれ得る。基本テストは、たとえば制御バスのタイミングを検査したり、ＰＣＩインターフェイスの適切な動作を検査したり、またＭＩＢ更新動作を検査したりする目的で行なわれ得る。より高度なテストは、複数のＭＩＢレポートを可能な限り速く連続して導入し、読み出された結果の中のエラーを検査することに関する。これらのＭＩＢレポートはポートによってまたは外部ソースからのいずれかで導入され得る。さまざまな状況下でさらなるテストが行なわれ得る。
図３のＭＩＢレポートインターフェイスは図５により詳細に示される。１０Ｍｂ／ｓバッファ１２０は、ＭＩＢレポートインターフェイスバス１２２を通じて時間共有ベースでＭＡＣ６０から入力したＭＩＢレポートデータを受信する。線１２４は、たとえばハンドシェイクプロトコルなどのＭＡＣとの信号通信を提供する。実際には、ＭＡＣ時間スロット特定入力、クロック入力およびリセット入力を可能にするために複数の線が含まれる。１００Ｍｂ／ｓバッファ１３０および１４０は、ＭＩＢレポートインターフェイスバス１３２および１２４を介してＭＡＣ６２からＭＩＢレポートデータを受信するようにそれぞれ接続される。線１３４および１４４はバッファ１３０および１４０に対してクロックおよびプロトコル信号を提供する。これら２つの図示された１００Ｍｂ／ｓバッファは全二重動作ポート（図２の２５および２６）の各々に専用のものである。当然、各々がインターフェイス内に対応するバッファを有する、さらに速度の速い、全二重ポートがスイッチに含まれてもよい。これらのバッファは全二重ポートＭＩＢの２５ＭＨｚクロック信号を半二重ポートの８０ＭＨｚクロック信号に同期化する。バッファ１２０、１３０および１４０の出力はマルチプレクサ１５０に供給され、これは８０ＭＨｚの速度で時系列で個別にＭＩＢレポートバス９１へ出力する。
バッファ１２０は図６のブロック図により詳細に示される。複数のレジスタ１２５は各々完全なＭＩＢレポートを保持するのに十分なデータ容量を有する。好ましい実施例のＭＩＢ構造の例として、各レジスタが３２ビット容量を有するものが上げられる。ポインタストレージ１２６は、それぞれのＭＡＣポートに相関する現在データを保持するそれらのレジスタを追跡する。出力バス１２８はバッファからマルチプレクサ１５０へＭＩＢレポートデータを搬送する。線１２９はバッファとマルチプレクサとの間の信号経路を提供する。
マルチプレクサ１５０は図７のブロック図により詳細に示される２段階マルチプレクサである。第１段階マルチプレクサ１５２はバス１４８を介してバッファ１３０および１４０からＭＩＢレポートデータを受信する。バス１４８は単一の入力として示されるが、当然、このバスは全二重ポート２５および２６でパケットを送受信するために同時に生成され得るＭＩＢを含んでもよい。線１４９はバッファ１３０および１４０を介するマルチプレクサ１５２と、１００Ｍｂ／ｓポートのＭＡＣとの間の信号リンクである。このような信号はたとえばハンドシェイクプロトコルを含み、ここでＭＡＣは信号送信レディを生成し、これに対しマルチプレクサからの確認信号が応答する。第２段階マルチプレクサ１５４はＭＩＢレポートデータをバス１２８を介してバッファ１２０から受信する第１の入力と、ＭＩＢレポートデータを第１段階マルチプレクサ１５２から受信する第２の入力とを有する。線１２９はマルチプレクサ１５４とバッファ１２０との間に信号を与える。マルチプレクサ１５４の出力はＭＩＢレポートバス９１へ供給される。線１５６はマルチプレクサ１５４とＭＩＢエンジン９０との間の信号リンクを表わす。このラインを介してＭＩＢエンジンから受信されたストローブ信号に応答して、マルチプレクサはレディ信号の肯定応答を出す。
上に例を挙げたＭＩＢレポート構造からわかるように、ＭＡＣポートを特定するには、レポートの５つのデータビットが用いられる。このストア量は、スイッチが含む２６ポートより多く、３２ポートまでの排他的な特定を可能にする。これらのポートにクロックサイクルの各シーケンスについて５ビットデータベースで時間スロットを割当てれば、すべてのポートが同じクロック速度に同期化され、同じ優先順位である場合、ＭＩＢレポートデータをＭＩＢエンジンに対して通信するのに十分であろう。動作において、バッファ１３０および１４０は、１００Ｍｂ／ｓポートのＭＩＢレポートを残りのポートについて８０ＭＨｚクロック信号に同期化する。しかしながら、マルチプレクサ１５４はマルチプレクサ１５２から受信された１００Ｍｂ／ｓポートのＭＩＢレポートを優先させる。バッファ１２０からのＭＩＢレポートデータは、１００Ｍｂ／ｓポートのＭＩＢレポートデータを送信するために優先順位が実行されると、一時保留（withheld）されなければならない。マルチプレクサ１５４はしたがって、バッファ１２０からのＭＩＢレポートデータ送信の要求に対し確認を線１２９を通じて再送することができないかもしれない。このように一時保留されたＭＩＢレポートデータは、バッファ１２０のレジスタ１２５の１つに一時的にストアされる。バッファ内に保持されたＭＩＢレポートはポインタの監視下で先入れ先出しベースで送信され、このとき次の時間スロットは利用可能である。各ＭＩＢレポートのポート番号はレポートフィールドで特定されるので、ＭＩＢエンジンはレポートの起源を適切に認識できる。
この開示には、この発明の好ましい実施例およびわずかなその用例のみが図示および記述される。当然、この発明は種々の他の組合せおよび環境においても使用可能であり、ここに表わした発明の概念の範囲内で変更または修正も可能である。たとえば、送信要求はバッファ１２０から、ＭＩＢレポートデータがＭＩＢレポートバス１２２から提供されるクロックサイクルで、および／またはレジスタ１２５のいずれかがＭＩＢレポートデータを含むサイクルで送信される。期待されるトラヒックの用途およびクロックシーケンスの割当てられないスロットの数に基づいて、８つのレジスタが好ましい実施例の図示した例においてＭＩＢレポートデータトラヒックを扱うのに十分であると予測される。すべてのレジスタが占領されている場合失われるかもしれないＭＩＢレポート情報をストアするためにさらなるオーバフローストレージをバッファ１２０に付加することもできる。オーバフロー状態においては、ＭＡＣはＭＩＢレポートデータのいくらかを確保しておく能力を有する。
【図１】
0003985061.tif 000003
【図２】
0003985061.tif 000004
【図２Ａ】
0003985061.tif 000005
【図２Ｂ】
0003985061.tif 000006
【図３】
0003985061.tif 000007
【図４】
0003985061.tif 000008
【図５】
0003985061.tif 000009
【図６】
0003985061.tif 000010
【図７】
0003985061.tif 000011