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