JP4124491B2 - 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ - Google Patents
異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ Download PDFInfo
- Publication number
- JP4124491B2 JP4124491B2 JP50569899A JP50569899A JP4124491B2 JP 4124491 B2 JP4124491 B2 JP 4124491B2 JP 50569899 A JP50569899 A JP 50569899A JP 50569899 A JP50569899 A JP 50569899A JP 4124491 B2 JP4124491 B2 JP 4124491B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- interface
- register
- read
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
本発明は、ネットワーク・コンピューティング環境におけるパケット・ルーティング・スイッチの分野に属する。
発明の背景
コンピュータ・ネットワークにより、複数のプロセッサが、互いにやり取りすることができる。コンピュータ・ネットワークは、様々なタイプのコンピュータや記憶装置をリンクできる。データは、一般にネットワーク上の構成要素間で、パケットで転送される。パケットは、通常、それぞれ或る長さのデータワードから成るグループである。ネットワークが大きく、かつ複雑になるにつれて、効率的に、パケットのルーティング(経路指定)とストア(蓄積)を実行できることが、ますます重要となってくる。パケットは、あるネットワーク構成要素から、別のネットワーク構成要素にルーティングを行う処理の間、一時的に蓄積されることが多い。この理由は、異なる速度でデータを転送するポート間の速度整合のため、および、部分的には出力トラフィック分配のランダム性のためである。したがって、パケットの蓄積すなわちバッファリングは、スイッチング機能の一構成部分である。バッファリングは、スイッチ回路の一部である(スイッチ回路と同じダイ上の)メモリ内か、あるいはスイッチ回路とは別個のメモリ上で行われる。バッファ・メモリは、1つのポートと結び付けられるか、あるいは、いくつかのポートで共用される。
データ・パケットが、ルーティングの間に蓄積されるときには、メモリアクセスが、遅れの原因、それゆえ、ネットワーク性能劣化の原因とならないように、記憶装置すなわちメモリに、高速に、かつ効率的にアクセスすることが重要である。
ネットワーク・スイッチは、ネットワーク構成要素間のパケットのルーティングと蓄積を処理する装置である。ネットワーク・スイッチは、データをスイッチに送り、またスイッチからデータを受取る複数のネットワーク構成要素に接続するために、入力ポートと出力ポートを含む。スイッチを使用するネットワーク構成要素は、スイッチのクライアントとして知られている。単一スイッチは、異なる速度でデータを送る複数のクライアントからのデータを蓄積するために、単一の記憶装置を使用する。メモリ帯域幅を最大にするようなやり方で、異なるデータ転送速度性能の複数のクライアントによるメモリ・アクセスを処理することが、ネットワーク・スイッチにとって重要である。とはいえ、ネットワーク・スイッチのアーキテクチュアを設計するときに、メモリ帯域幅を最大にする必要性は、他の関係機能での必要性と競合する。例えば、クライアントからバッファ・メモリへのデータ経路を広げると、メモリ帯域幅は増すが、ただし、余分のハードウェアと追加的な相互接続という犠牲が払われることになる。それゆえ、スイッチのアーキテクチュアを、それが効率的にも、経済的にも機能するように設計する際のトレードオフとなる。
発明の概要
ネットワーク・システムにおいて、共用メモリへのアクセスを制御する方法と装置が開示される。この装置は、少なくとも1つの高速ポート・インタフェース回路をみ、この高速ポート・インタフェース回路は、第1の幅のセグメントで第1のデータ転送速度にて、ネットワーク・クライアントからデータ、アドレス、コマンドの情報を順次に受取るように構成された高速入力ポート・インタフェースを備えている。高速入力ポート・インタフェースそれぞれは、データおよびアドレスの情報を一時的に蓄積するように構成された高速インタフェース・レジスタを備えている。さらに、それぞれの高速入力ポート・インタフェースは、コマンド解読回路も備え、そのコマンド解読回路は、コマンド情報を受取って、それに応じて、データとアドレスの情報のセグメントを、高速インタフェース・レジスタが一杯になるまで高速インタフェース・レジスタに順次に格納するよう構成され、その高速インタフェース・レジスタは共用メモリと並行して読み出されるように構成されている。さらに、この装置は、少なくとも1つの低速ポート・インタフェース回路も含み、それぞれの低速ポート・インタフェース回路は、第1の幅のセグメントで第2のデータ転送速度にて、ネットワーク・クライアントからデータ、アドレス、コマンドの情報を受取り、このデータ、アドレス、コマンドの情報を、複数の低速ポート・インタフェース回路で共用されている記憶回路に送るように構成されている。共用記憶回路は、複数の低速インタフェース・レジスタを備え、そこでは、データ・セグメントが、低速インタフェース・レジスタの1つに順次に格納され、同時に、別の低速インタフェース・レジスタの内容が、共用メモリと並行して、読出される。
【図面の簡単な説明】
図1は、本発明の一実施形態によるメモリ・コントローラを含むネットワーク・スイッチ要素のブロック図である。
図2は、本発明の一実施形態による共用バッファ・メモリ・コントローラ(BMC)のブロック図である。
図3は、本発明の一実施形態による高速/構成可能ポート・インタフェースのブロック図である。
図4は、本発明の一実施形態による低速ポート・インタフェースのブロック図である。
図5は、本発明の一実施形態による第1レベルのアービタの書込み部分のブロック図である。
図6は、本発明の一実施形態による第1レベルのアービタの読取り部分のブロック図である。
図7は、本発明の一実施形態による第2レベルのアービタ/スケジューラのブロック図である。
図8は、本発明の一実施形態による多重レベル・アービトレーションのブロック図である。
詳細な説明
ネットワーク・クライアントが共用バッファ・メモリにアクセスできるようにするメモリ・コントローラが記述される。一実施形態において、バッファ・メモリ・コントローラ(BMC)は、スイッチ要素のダイ上にあって、一部、異なるデータ転送速度でデータを送るポートに別々のインタフェースを提供することにより、共用記憶装置の帯域幅を最大にする。さらに、メモリ帯域幅は、バッファ・メモリ・コントローラ内でのデータ処理のパイプラインを通じて、また共用バッファ・メモリへの読取り・書込み操作の効率的なスケジューリングにより、最適化される。
図1は、本発明の一実施形態によるスイッチ要素のアーキテクチャを図解した簡略ブロック図である。スイッチ要素100は、中央処理装置(CPU)インタフェース102、ネットワーク・インタフェース106、カスケード・インタフェース108、共用メモリ・マネージャ110を含む。共用メモリ・マネージャ110は、共用バッファ・メモリ・コントローラ(BMC)112を含む。
パケットは、3つのインタフェース106、102、または108のうちの任意の1つを通じて、スイッチ要素100に入るか、または、スイッチ要素100から出る。要するに、ネットワーク・インタフェース106は、この実施形態により、イーサネット・プロトコルに基づいて動作して、ネットワーク(図には示されていない)からイーサネット・パケットを受取って、1つ、または複数の外部ポート(図には示されていない)を介して、ネットワーク上にイーサネット・パケットを送る。オプションのカスケード・インタフェース108は、スイッチング要素を相互接続して、さらに大きいスイッチを生成するために、1つ、または複数の内部リンク(図には示されていない)を含むことがある。
CPUは、CPUインタフェース102を介して、スイッチ要素100にコマンドまたはパケットを送る場合がある。このようにして、CPU上で実行する1つ、または複数のソフトウェア処理は、外部の(新たなエントリの追加および不所望のエントリの無効ないし削除などを行う)中継(フォワーディング)およびフィルタリング用データベース(図には示されていない)内のエントリを管理することができる。代わりの実施形態においては、CPUは、中継およびフィルタリング用データベースへの直接アクセスを備えていてもよい。いずれにせよ、パケットを中継する目的では、CPUインタフェース102のCPUポートは、スイッチ要素100への一般入力ポートに類似しており、単に別の外部ネットワーク・インタフェース・ポートであるかのように見える。
ネットワーク・インタフェース106、CPUインタフェース102、カスケード・インタフェース108は、共用メモリ・マネージャ110に接続されている。共用メモリ・マネージャ110は、効率的な集中型インタフェースを、入来パケットのバッファリングのために外部共用メモリに提供する。
この実施形態において、パケットは、共用メモリ・マネージャ110により、中央でバッファリングされて、管理される。共用メモリ・マネージャ110は、あらゆる入力ポートと出力ポートのインターフェイスを行い、それらのポートのために、動的なメモリ割当てと割当て解除それぞれを行う。入力パケット処理の間、外部共用メモリにおいて1以上のバッファが割当てられ、入来パケットが、例えばネットワーク・インタフェース106から受取られたコマンドに応じて、共用メモリ・マネージャ110により格納される。その後で、出力パケット処理の間、共用メモリ・マネージャ110は、外部共用メモリから、当該パケットを取り出し、もう使われないバッファの割当てを解除する。すべての出力ポートが、格納しているデータの伝送を完了するまで、バッファの割当てを解除できないようにするために、共用メモリ・マネージャ110は、好ましくは、バッファのオーナシップ(所有権)も追跡する。
本発明は、ファスト(高速)・イーサネットとギガビット・イーサネットのパケットのワイヤ・スピードのルーティングと中継(フォワーディング)を行うスイッチ要素(例えば、スイッチ要素100)に含めることができる。しかし、これらのインタフェースは、他のネットワーク・プロトコルにも適合するように構成されることができる。さらに、諸機能は、上述のものとは異なるように区分化(パーティション化)され得ることもわかる。例えば、複数のユニットは、示された実施形態において、共用メモリ・マネージャ110と関係のある動的な割当て、割当て解除、追跡(トラッキング)を行うことができる。さらに、このスイッチ要素は、好ましくは集積度を高くし、ハードウェアにおいて性能面で重要な機能を実施する単一の特定用途向け集積回路(ASIC)であるが、代わりの実施形態では、2つ以上のASIC、あるいは他のタイプの論理素子またはサブシステムを備えたチップセットを含むことがある。最後に、ハードウェアとソフトウェア間での機能の区分化も変更できることがわかる。
図2は、一実施形態によるバッファ・メモリ・コントローラ(BMC)112のブロック図である。この実施形態において、BMC112は、ネットワーク・コンピュータ・システムにおいて、様々なポート向けの共用SRAMメモリ(図には示されていない)へのアクセスを制御する。BMC112は、このネットワークにおいて、他のポート(ここでは、高速ポートと呼ばれる)と比べて、相対的に遅いデータ転送速度で動作する低速ポート202向けの共用メモリへのアクセスを制御する。ホスト装置はまた、通常、PCIバスなどのローカルバスを使って、BMC112のホスト・ポート204を通じて、共用メモリにアクセスする。高速ポート222も、BMC112を通じて、共用メモリにアクセスする。高速ポート222は、低速202と比べて、相対的に速いデータ転送速度で動作する。構成可能ポート220は、BMC112を通じて、共用メモリにアクセスする。構成可能ポート220は、低速ポート202のデータ転送速度で、または高速ポート222のデータ転送速度で動作するように構成できるポートである。本発明の一実施形態により、低速ポート202は、イーサネット・プロトコル、またはファスト・イーサネット・プロトコルにしたがって、動作する。ホスト・ポート204は、一実施形態において、PCIバス・プロトコルにしたがう。この実施形態により、高速ポート222は、ギガビット・イーサネット・プロトコルにしたがって動作する。低速ポート202のファスト・イーサネットの伝送速度は、100Mbpsである。一実施形態において、ホスト・ポート204に対しては、100Mbpsの帯域幅が割当てられる。ギガビット高速ポート222のデータ転送速度は、ファースト・イーサネットの低速ポート202やホスト・ポート204のデータ転送速度の10倍である。本発明の一実施形態において、BMC112は、3つの高速(ギガビット)ポート、5つのプログラマブル・ポート、11の低速(ファスト・イーサネット)ポート、1つのホスト・ポートに接続される。
BMC112は、低速ポート・インタフェース206と高速/構成可能ポート・インタフェース208を含む。以下でさらに詳しく説明されるとおり、BMC112は、共用記憶装置の帯域幅を最大にするように、様々なやり方で、様々なデータ転送速度(この実施形態においては、ギガビットのポートと、ファスト・イーサネットのポート)にて動作するポート間のトランザクションを処理する。この帯域幅最大化の一面は、図2に示される通りの2つのレベルのアービトレーションである。具体的に言えば、低速ポート・インタフェース206は、アクセス・リクエストが第1レベルのアービタ210と第2レベルのアービタ/スケジューラ214を通過した後でのみ、共用メモリにアクセスすることができる。高速/構成可能ポート・インタフェース208のように、ギガビット速度で動作できるポート・インタフェースは、第2レベルのアービタ/スケジューラ214を通じて、共用記憶装置にアクセスする。第2レベルのアービタ/スケジューラ214は、共用メモリへのアクセスのリクエストのなかで、アービトレーションを行って、制御信号をSRAMコントローラ216に渡す。インタフェース・ポートに、共用メモリへのアクセスを与えると、第2レベルのアービタ/スケジューラ214は、SRAMのアドレス、書込みデータ(WDATA)、書込みタグ(WTAG)の情報を送って、共用記憶装置に蓄積する。読取りパイプ218は、適正なポートが、共用記憶装置から、読取りデータ(rd_data)と読取りタグ(rd_tag)の情報を受取れるようにするポート識別名を一時的に蓄積することにより、共用記憶装置からの読取りを容易にしている。
図3は、1つの高速/構成可能ポート・インタフェース208に接続された1つの高速ポート222を示すブロック図である。さらに、高速/構成可能ポート・インタフェース208は、読取りパイプ218と第2レベルのアービタ/スケジューラ214にも接続されている。図に示される高速ポートは、高速出力ポート222aと高速入力ポート222bを含む。図に示されるように、出力ポート222aは、出力インタフェース回路342に接続され、また高速入力ポート222bは、高速入力インタフェース回路344に接続されている。高速入力ポート222bと、高速出力ポート222aは、それらのポート自体のコマンドバス、アドレスバス、データバスを通じて、BMC112の高速/構成可能ポート・インタフェース208とやり取りする。高速入力インタフェース回路344は、共用メモリへの書込み操作だけを行い、また出力インタフェース回路342は、共用メモリへの読取り操作だけを行う。
高速入力ポート222bに接続されたネットワーク・クライアントが、共用メモリへの書込み操作をリクエストすると、高速入力ポート222bは、データライン間で16ビットのセグメントで、データ、アドレス、タグの情報を、図に示されるレジスタ330に転送する。さらに、この実施形態では、3つのコマンド・ビットが、レジスタ328に送られる。レジスタ328と330は、同期をとる目的で高速入力インタフェース回路344に含める。この実施形態において、データは、128ビットのワードで共用メモリに書込まれ、蓄積される。本発明により、コマンド・ビットを使用することで、この実施形態では、128ビットでなく16ビットという、クライアントと共用メモリ間のさらに狭い物理インタフェースが達成される。これは、効率的なメモリ・アクセスを持ち続けながら、接続ハードウェアをさらに少なくすることを考慮に入れている。3つのコマンド・ビットは、高速入力インタフェース回路344に入来するデータの16ビット・セグメントを、データ保持レジスタ334、アドレス保持レジスタ338、タグ保持レジスタ340宛てに送る。3つのコマンド・ビットは、高速入力ポート222bにおいて符号化され、またコマンド・デコーダ有限状態マシン(fsm)332において復号される。一実施形態により、コマンド・ビットは、復号されて、ノー・オペレーション(無動作)、第1アドレス書込み、第2アドレス書込み、第1データ書込み(wr_data)、パケット最終ワード書込み、あるいは状態書込みを指示することができる。この実施形態により、高速入力ポート222bは、2つのwr_addrコマンドをBMC112に送って、19ビットのアドレスを形成する。次に、高速入力ポート222bは、第1データ書込みのコマンドを送って、データバス上の第1の16ビット・データセグメントを、高速入力インタフェース回路344に送る。このデータは、16バイトのレジスタであるデータ保持レジスタ334に格納される。高速入力ポート222bは、保持レジスタ334が満たされるまで、7つの追加データwr_cmd信号を送り続ける。次に、wr_reqを発生させて、第2レベルのアービタ/スケジューラ214に送る。同時に、書込み待ち(wr_wait)信号が、高速インタフェース・ポート222bに送られ、そこで、保持レジスタがビジーであって、これ以上データを受取れないことを示す。wr_wait信号は、コマンド・デコーダ有限状態マシン332から受取った「満杯」信号と、第2レベルのアービタ214からの書込み許可(wr_gnt)信号から、アンロード有限状態マシン336により発生させる。
第2レベルのアービタ/スケジューラ214は、この実施形態において、ラウンドロビン・アービトレーション方式を用いて、高速入力ポート222bへのアクセスを与える。第2レベルのアービタ/スケジューラ214は、このアドレス、データ、タグを、共用記憶装置に書込むようにスケジュールする。次に、アドレスとデータは、次のクロックサイクルにおいて、メモリに書込まれる。好適な実施形態において、SRAM技術が使用される。使用されるSRAM技術は、完全パイプライン方式であるから、第2レベルのアービタ/スケジューラ214は、連続的な書込み操作をスケジュールできる。データ・パケットが終ると、高速入力ポート222bが、書込み状態コマンドを、この状態の情報といっしょに、高速入力インタフェース回路344に送る。次に、パケットメモリに書込まれる最後のデータと状態は、高速入力インタフェース回路344によりスケジュールされる。
出力インタフェース回路342は、共用メモリからの読取り操作のために、高速出力ポート222aによる共用メモリへのアクセスを制御する。高速出力ポート222aに接続されたネットワーク・クライアントが、共用メモリへの読取りアクセスを必要とするときには、高速出力ポート222aは、レジスタ302と304に、それぞれ送られるコマンド・ビットとアドレス・ビットを形成する。レジスタ302と304は、同期目的で使用される。3つのコマンド・ビットは、コマンド・デコーダ有限状態マシン306に入って、復号される。これらのコマンド・ビットの復号化有効桁により、出力ポート・インタフェース回路342に入る16ビットのアドレス・セグメントが、レジスタ310または312にロードされる。レジスタ310または312の一方は、現在のアドレスを保持し、またこれら2つのレジスタの他方は、次のパケットのアドレスを保持している。現在のアドレスを保持するレジスタは、現在のパケットのアドレスがメモリに書込まれるたびに、増分される。次のパケットの第1のアドレスは、別のレジスタで利用できるようにしておき、現在のパケットの最後のワードの書込みから、次のパケットの第1のワードの書込みまでの期間中、待ち時間を招かないようにしている。マルチプレクサ314は、次の読取りアドレス(rd_addr)として、第2レベルのアービタ/スケジューラ214に送られるように、適切なレジスタ310または312に格納された現在の19ビットのアドレスを選択する。現在のアドレスまたは次のアドレスが、レジスタ310または312を満たすと、コマンド・デコーダ有限状態マシン306は、ロード有限状態マシン308に、適宜、現在の満杯信号(cfull)、または次の満杯信号(nfull)を送る。ロジック324は、同期目的でrd_tagを保持している、読取りパイプ218のレジスタ326を介して、そのメモリからrd_tagを受取る。ロジック324は、rd_tagを使用して、ロード有限状態マシン308に向けて、パケット終了(eop)信号を発生させる。ロード有限状態マシン308は、第2レベルのアービタ/スケジューラ214に向けて、読取りリクエスト(rd_req)信号を発生させる。共用メモリへのアクセスのためのアービトレーションが完了すると、第2レベルのアービタ/スケジューラ214は、読取り許可(rd_gnt)をロード有限状態マシン308に送る。アンロード有限状態マシン322は、データを、共用メモリから、読取りパイプ218を経て、高速出力ポート222aにアンロードする操作を調整する。共用メモリからの読取りデータは、並列にしたレジスタ318または320の1つに、128ビットのワードで転送される。レジスタ318または320の1つは、メモリから、並行にロードされた後で、マルチプレクサ316を通じて、16ビットのセグメントでアンロードされる。アンロード有限状態マシン322とrd_tagからの情報で指示されるとおり、出力インタフェース回路342は、読取りパイプ218からのデータの二重バッファリングを効率的に処理して、共用メモリの帯域幅を最適化できるようにし、同時に、高速出力ポート222aへの狭いデータ・インタフェース(16ビット)を維持する。アンロード有限状態マシン322は、高速出力ポート222aに向けて、コマンドとrd_wait信号を発生させる。rd_wait信号は、フロー制御信号の働きをして、rd_wait信号が消されるまで、さらなるrd_req信号を送るのを待つように、高速出力ポート222aに知らせる。
図4は、低速ポート・インタフェース206のブロック図である。図4は、低速ポート・インタフェース206を、低速ポート202の1つに接続することを示している。それぞれの低速ポート202は、図に示されるとおり、低速出力ポート202aと低速入力ポート202bを有する。低速ポート・インタフェース206は、読取りパイプ218、及び、第1レベルのアービタ210とやり取りする。本発明により、異なるデータ転送速度で動作するネットワーク・クライアントに、共用メモリへの効率的なアクセスが与えられる。その理由の一部として、低速クライアントから低速入力ポートを通じて共用メモリに書込まれているデータは、物理資源を共用するが、一方、高速入力ポートを通るwr_dataは物理資源を共用しないからである。説明中の実施形態における配置構成は、遅いデータの扱いは、少ない専用ハードウェア資源で効率的に扱うのと丁度ど同じように行えるという事実を利用した設計選択を表している。図4に示されるとおり、低速ポート・インタフェース206は、低速入力ポート202bを経てやってくるwr_dataに対しては、バッファリングすなわち制御回路を有さない。すなわち、低速ポート・インタフェース206は、図3の高速入力インタフェース回路344に類似した回路を有さない。代わりに、低速クライアント入力ポートrd_reqコマンドとデータ信号は、直接に第1レベルのアービタ210に送られ、またwr_gnt信号は、直接に第1レベルのアービタ210から、低速入力ポート202bに送られる。
出力インタフェース回路442は、1つの例外を除き、出力インタフェース回路342に関して述べられるとおりに正確に動作する。低速ポート・インタフェース206の出力インタフェース回路442は、1つではなくて、2つのレベルのアービトレーションにより、共用メモリにアクセスしなければならない。具体的に言えば、rd_req信号と、rd_addr信号が、第1レベルのアービタ210に送られる。アービトレーションが完了すると、第2レベルのアービタ/スケジューラ214から、rd_gnt信号が受取られる。
図5は、第1レベルのアービタ210のうち、共用メモリへの書込み操作を処理する部分の詳細を示すブロック図である。第1レベルの書込みアービタ210aは、アービトレーション回路510と、それぞれコマンドとデータのマルチプレクサ512と514を含む。アービトレーション回路510は、この実施形態において、100Mbpsで動作する11のポートからwr_reqを受取る。この実施形態において、アービトレーション回路510はまた、100Mbpsポートのデータ転送速度で動作する1つのホスト・ポートからwr_reqを受取る。他の実施形態において、記述された実施形態のものとは異なるプロトコルにしたがって、異なるデータ転送速度で動作する様々なタイプの様々な数のポートが、アービトレーション回路510により処理される。アービトレーション回路510は、ラウンドロビン・アービトレーション方式を用いて、次にアクセスが与えられる特定のポートを選択する。許可信号504は、第2レベルのアービタ/スケジューラ214から、第1レベルの書込みアービタ210aを経て、個々のリクエスト・ポートに送られる個々のwr_gnt信号である。コマンドライン506はそれぞれ、1つの低速入力ポートから出て、コマンド情報を、3ビットのセグメントでマルチプレクサ512に転送する。アービトレーションが完了すると、アービトレーション回路510からの選択信号により、リクエスト低速ポートの1つからのコマンド情報をロード状態マシン516に転送することができる。データライン508はそれぞれ、1つの低速入力ポートから出る。データライン508はそれぞれ、データ情報を16ビットのセグメントでマルチプレクサ514に転送する。アービトレーションが完了すると、これらのポートの1つからのコマンド情報が、アービトレーション回路510からの選択信号により、マルチプレクサ514から転送される。ロード状態マシン516の中で復号されたコマンド・ビットで指示される通りに、データは、16ビットのセグメントで、マルチプレクサ514から、wr_dataレジスタ520または522の1つに、あるいはレジスタ526と528に転送される。レジスタ520と522は、128ビット・ワードの書込みデータ(fe_wr_data)を集めるために使用される。レジスタ528は、16ビットの書込みタグ(fe_wr_tag)を集めるために使用される。レジスタ526は、19ビットの書込みアドレス(fe_wr_addr)を集めるために使用される。アンロード状態マシン518の制御のもとに、マルチプレクサ524は、レジスタ520または522の1つから128ビットのデータワードを送って、共用メモリに書込む。アンロード状態マシン518は、書込みリクエスト(fe_wr_req)を第2レベルのアービタ/スケジューラ214に送って、第2レベルのアービタ/スケジューラ214から、書込み許可(fe_wr_gnt)信号を受取る。
図6は、第1レベルのアービタ210の読取りアービタ部分210bのブロック図である。第1レベルの読取りアービタ210bは、アービトレーション回路608とマルチプレクサ610を含む。読取りリクエスト(rd_req)ライン602は、11の低速(この実施形態において、ファスト・イーサネット)出力ポートと、1つのホスト出力ポートから、リクエスト信号を伝える。読取り許可(rd_gnt)ライン604は、rd_gnt信号を、アービトレーション回路608から、読取り操作をリクエストする個々のポートに伝える。読取りアドレス(rd_addr)ライン606は、リクエスト・ポートから、19ビットの読取りアドレスを伝える。1つの19ビット読取りアドレス(fe_rd_addr)は、アービトレーション回路608からマルチプレクサ610への選択信号により、第2レベルのアービタ/スケジューラ214に転送される。アービトレーション回路608は、ラウンドロビン・アービトレーションを完了すると、リクエスト・ポートの1つから、単一の読取りリクエスト(fe_rd_req)を転送する。アービトレーション回路608は、第2レベルのアービタ/スケジューラ214から、読取り許可(fe_rd_gnt)信号を受取る。
図7は、第2レベルのアービタ/スケジューラ214のブロック図である。図7は、第2レベルのアービタ/スケジューラ214に接続されたSRAMコントローラも示している。第2レベルのアービタ/スケジューラ214は、アービトレーション回路702と、wr_addr、rd_addr、wr_data、wr_tagを受取るためのマルチプレクサ704、706、708、710を含む。リクエストライン728は、rd_reqとwr_reqをアービトレーション回路702に送る。8つのwr_req信号は、アービトレーション回路702に送られる。この実施形態において、8つのwr_req信号は、8つの高速(ギガビット・イーサネット)ポート、すなわち、3つのギガビット・ポートと、ギガビット・ポートとして構成される5つの構成可能ポートを表している。1つのfe_wr_req信号は、第1レベルのアービタ210からアービトレーション回路702に入る。アービトレーション回路702はまた、前述の8つのwr_req信号に対応する8つの読取りリクエスト(rd_req)信号も受取る。最後に、アービトレーション回路702は、第1レベルのアービタ210から、1つのfe_rd_reqを受取る。アービトレーション回路702は、この実施形態において、ラウンドロビン・アービトレーションを実行して、適宜、fe_rd_gnt信号、rd_gnt信号、fe_wr_gnt信号、wr_gnt信号を出す。さらに、アービトレーション回路702は、適宜、書込みコマンド(wr_cmd)信号と読取りコマンド(rd_cmd)信号を、SRAMコントローラ216に送る。アービトレーションが完了すると、アービトレーション回路702は、現在の操作で求められるように、書込み選択(wr_sel)信号または読取り選択(rd_sel)信号を、図に示されるマルチプレクサ704、706、708、710に送る。Wr_addrライン730は、複数のwr_addr信号と1つのfe_wr_addr信号をマルチプレクサ704に送る。
図に示される実施形態において、リクエスト信号728に関して説明されるとおり、8つのギガビット・ポートからのwr_addr信号(直接に送られる)と、第1レベルのアービタ210からの1つのfe_wr_addr信号が、マルチプレクサ704で受取られる。同様に、rd_addr信号とfe_rd_addr信号が、rd_addrライン732上のマルチプレクサ706に送られる。Wr_data信号とfe_wr_data信号が、wr_addrライン734上のマルチプレクサ708に送られる。複数のWr_tag信号と1つのfe_wr_tag信号が、wr_tagライン736上のマルチプレクサ710に送られる。アービトレーションが完了すると、マルチプレクサ712は、19ビットのwr_addrまたは19ビットのrd_addrの1つを選択して、レジスタ714とSRAMコントローラ216に送る。さらに、アービトレーションが完了すると、ライン734の1つのwr_dataが、同期レジスタ716、718、722を経て、共用メモリに送られる。16ビットのwr_tag情報が、ライン736の1つから選択されて、同期レジスタ722、724、726を通じて、SRAMタグ情報として送られる。
好適な実施形態において、ゼロのバス・ターンアラウンドをサポートする完全パイプラインSRAMが、共用メモリとして使用される。それゆえ、読取りサイクルが書込みサイクルの後にくるときには、待ち時間は発生しない。このことから、第2レベルのアービタ/スケジューラ214は、どんな順序でもリクエストをスケジュールすることができる。一実施形態において、第2レベルのアービタ/スケジューラ214は、読取りリクエストをまとめ、その後に書込みリクエストが続くようにスケジュールする。この実施形態においては、読取りトランザクションと書込みトランザクションを交互に行うときに性能劣化を受ける記憶装置が用いられる場合に、そのような劣化が最小限に抑えられる。
図8は、一実施形態による共用メモリにアクセスするための2レベル・アービトレーションの簡略ブロック図である。この実施形態において、読取りリクエストと書込みリクエストが、3つの高速ポート222、5つの構成可能ポート220、11の低速ポート202、1つのホストポート204からサポートされる。図8に示されるとおり、第1レベルのアービタ210と第2レベルのアービタ/スケジューラ214は、高速ポートと低速ポート(この図では、ギガビット・イーサネット(GE)とファスト・イーサネット(FE)と標記されている)から、読取りリクエストと書込みリクエストを処理する。FE読取り(FErd)リクエスト信号806とホスト読取り処理(HRP)リクエスト信号808は、第1レベルの読取りアービタ210bにより、ラウンドロビン方式でアービトレーションを行う。このアービトレーションの結果として、単一のFErdリクエストが、第2レベルのアービタ/スケジューラ214に送られる。第2レベルのアービタ/スケジューラ214は、第1レベルの読取りアービタ210bで行われたアービトレーションの結果と、3つのGE読取り(GErd)リクエスト802、5つの構成可能GE/FE読取り(GE/FErd)リクエスト804の間で、アービトレーションを行う。書込みリクエストの2レベル・アービトレーションは、同様なやり方で処理される。図で示されるとおり、第1レベルの書込みアービタ210aは、FE書込み(FEwr)リクエスト814と、ホスト伝送処理(HTP)リクエスト816との間で、アービトレーションを行う。第2レベルのアービタ/スケジューラ214は、第1レベルの書込みアービタ210aで行われたアービトレーションの結果と、GE書込み(GEwr)リクエスト810とGE/FE書込み(GE/FEwr)リクエスト812の間で、アービトレーションを行う。このようにして、メモリ帯域幅は最適化されて、資源が保存される。
図8に示される実施形態において、共用メモリにアクセスするリクエストは、図の左から右へと順番にスケジュールされ、まず最初に読取りリクエストがきて、その後で、書込みリクエストが続く。このような構成は、読取りアクセスと書込みアクセスを交互に行うときに待ち状態を招くメモリの待ち状態を最小限に抑える。他の実施形態は、他のやり方で、読取りと書込みの順序を取り決め、さらに、2レベル・アービトレーション方式の効率向上によっても利益を得る。
本発明は、特定の模範的な実施形態に関して述べられてきた。しかし、様々な変形や変更が、請求の範囲に記載した発明の精神と範囲から逸脱することなしに、当業者により行われ得るものである。例えば、本発明は、異なるデータ転送速度で共用メモリにアクセスする2つのタイプのポートへの使用においても、2つの異なるデータ転送速度においても、実施形態の特定のデータ転送速度に限定されることはない。本発明は、イーサネット・ネットワーク・プロトコルへの使用に限定されることはない。本発明は請求の範囲のみで定義される。
Claims (11)
- ネットワークシステムにおいて共用メモリへのアクセスを制御する装置であって、
第1の幅のセグメントで第1のデータ転送速度にて、ネットワーク・クライアントからデータ、アドレス、コマンドの情報を順次に受取るように構成されている、少なくとも1つの高速ポート・インタフェース回路であって、
前記データとアドレスの情報を一時的に蓄積するように構成された高速インタフェース・レジスタと、
前記コマンドの情報に応じて、前記データとアドレスの情報のセグメントを、高速インタフェース・レジスタが満たされるまで、高速インタフェース・レジスタに順次に格納するコマンド解読回路と
を含み、
その高速インタフェース・レジスタが前記共用メモリへ並列に読み出されるように構成されている、
少なくとも1つの高速ポート・インタフェース回路と、
第1の幅のセグメントで第2のデータ転送速度にて、ネットワーク・クライアントからデータ、アドレス、コマンドの情報を受取り、これらのデータ、アドレス、コマンドの情報を、記憶回路に転送する、少なくとも1つの低速ポート・インタフェース回路であって、
前記記憶回路は、低速ポート・インタフェース回路間で共用され、複数の低速インタフェース・レジスタを有し、1つの低速インタフェース・レジスタの内容が共用メモリへ並列に読出されると同時に別の低速インタフェース・レジスタにデータ・セグメントが順次に格納される、
少なくとも1つの低速ポート・インタフェース回路と
を備えることを特徴とする装置。 - 低速ポート・インタフェース回路は、複数の出力インタフェース・レジスタを含む出力ポート・インタフェースを備え、1つの出力インタフェース・レジスタの内容が第1の幅の順次セグメントで出力ポートに出力されると同時に、別の出力インタフェース・レジスタが共用メモリから並列にデータを受取るように構成されていることを特徴とする請求項1記載の装置。
- 高速ポート・インタフェース回路が、出力ポート・インタフェースをさらに備えることを特徴とする請求項2記載の装置。
- 高速ポート・インタフェース回路と、共用メモリへの読取り書込み操作のリクエストを受取る共用記憶回路とに接続されたスケジューリング回路であって、前記書込み操作の前に、すべての前記読取り操作が完了するように、前記読取り書込み操作をスケジュールするように構成されたスケジューリング回路をさらに備えることを特徴とする請求項3記載の装置。
- 前記スケジューリング回路と共用メモリとに接続されたメモリ・コントローラであって、前記スケジューリング回路からメモリ・アドレスを受取って、コマンドを共用メモリに出すように構成されたメモリ・コントローラをさらに備え、前記コマンドが読取り書込み操作を指示する、ことを特徴とする請求項4記載の装置。
- 出力ポート・インタフェースには、コマンド情報を受取って、復号し、それに応じて、読取りアドレスを読取りアドレス・レジスタに集めて、共用メモリに向けて、読取りリクエストを発生させるように構成されたコマンド復号回路がさらに備えられることを特徴とする請求項3記載の装置。
- 出力ポート・インタフェースが、共用メモリとフロー制御回路に接続された出力データ・レジスタをさらに備え、前記出力データ・レジスタが、共用メモリからデータを受取って、そのデータを、第1の幅のセグメントで、出力データ・レジスタの1つから、出力ポートに出力し、そして、データが、出力データ・レジスタに準備できてないときには、フロー制御回路が、出力ポートに読取り待ち信号を出すことを特徴とする請求項6記載の装置。
- 読取りをリクエストする出力ポートのポート識別名を受取って、読取りタグをフロー制御回路に出力して、出力データ・レジスタからのデータが送られるポートを前記フロー制御回路に指示させる読取りパイプをさらに備えることを特徴とする請求項7記載の装置。
- 第1の幅が16ビットであり、高速インタフェース・レジスタと、それぞれの低速インタフェース・レジスタは第2の幅を持ち、第2の幅は第1の幅の8倍であることを特徴とする請求項1記載の装置。
- 出力ポート・インタフェースが、現在の読取りアドレスを格納するように構成された現在のアドレス・レジスタと、次の読取りアドレスを格納するように構成された次のアドレス・レジスタとを含めて、複数の読取りアドレス・レジスタを備えている、ことを特徴とする請求項6記載の装置。
- 現在のパケットからのデータが共用メモリに書込まれるたびに、現在のアドレス・レジスタが増分されるように、構成されていることを特徴とする請求項10記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/885,154 | 1997-06-30 | ||
US08/885,154 US6052738A (en) | 1997-06-30 | 1997-06-30 | Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory |
PCT/US1998/013176 WO1999000819A2 (en) | 1997-06-30 | 1998-06-24 | Packet routing switch for controlling access at different data rates to a shared memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002508100A JP2002508100A (ja) | 2002-03-12 |
JP4124491B2 true JP4124491B2 (ja) | 2008-07-23 |
Family
ID=25386275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50569899A Expired - Lifetime JP4124491B2 (ja) | 1997-06-30 | 1998-06-24 | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ |
Country Status (6)
Country | Link |
---|---|
US (1) | US6052738A (ja) |
EP (1) | EP0993680B1 (ja) |
JP (1) | JP4124491B2 (ja) |
AT (1) | ATE372585T1 (ja) |
DE (1) | DE69838387T2 (ja) |
WO (1) | WO1999000819A2 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256716B1 (en) | 1998-12-10 | 2001-07-03 | Sun Microsystems, Inc. | Apparatus, system and method for reducing bus contention during consecutive read-write operations |
US6334159B1 (en) * | 1998-12-22 | 2001-12-25 | Unisys Corporation | Method and apparatus for scheduling requests within a data processing system |
US6611502B1 (en) | 1999-01-15 | 2003-08-26 | 3Com Corportion | Spanning tree with rapid propagation of topology changes |
US6771610B1 (en) | 1999-01-19 | 2004-08-03 | 3Com Corporation | Spanning tree with protocol for bypassing port state transition timers |
US6535490B1 (en) | 1999-03-04 | 2003-03-18 | 3Com Corporation | High availability spanning tree with rapid reconfiguration with alternate port selection |
ATE343886T1 (de) * | 1999-03-17 | 2006-11-15 | Broadcom Corp | Netzwerkvermittlung |
US7643481B2 (en) | 1999-03-17 | 2010-01-05 | Broadcom Corporation | Network switch having a programmable counter |
US6501734B1 (en) * | 1999-05-24 | 2002-12-31 | Advanced Micro Devices, Inc. | Apparatus and method in a network switch for dynamically assigning memory interface slots between gigabit port and expansion port |
US6442137B1 (en) * | 1999-05-24 | 2002-08-27 | Advanced Micro Devices, Inc. | Apparatus and method in a network switch for swapping memory access slots between gigabit port and expansion port |
US7552440B1 (en) * | 1999-09-28 | 2009-06-23 | Rockwell Automation Technologies, Inc. | Process communication multiplexer |
US6606666B1 (en) | 1999-11-09 | 2003-08-12 | International Business Machines Corporation | Method and system for controlling information flow between a producer and a buffer in a high frequency digital system |
US6604145B1 (en) * | 1999-11-09 | 2003-08-05 | International Business Machines Corporation | Method and system for controlling information flow in a high frequency digital system from a producer to a buffering consumer via an intermediate buffer and a shared data path |
US6598086B1 (en) * | 1999-11-09 | 2003-07-22 | International Business Machines Corporation | Method and system for controlling information flow in a high frequency digital system from a producer to a buffering consumer via an intermediate buffer |
US6601105B1 (en) | 1999-11-09 | 2003-07-29 | International Business Machines Corporation | Method and system for controlling information flow between a producer and multiple buffers in a high frequency digital system |
US7061907B1 (en) | 2000-09-26 | 2006-06-13 | Dell Products L.P. | System and method for field upgradeable switches built from routing components |
US6963569B1 (en) | 2000-12-29 | 2005-11-08 | Cisco Technology, Inc. | Device for interworking asynchronous transfer mode cells |
US7472231B1 (en) | 2001-09-07 | 2008-12-30 | Netapp, Inc. | Storage area network data cache |
US7330892B2 (en) * | 2001-09-07 | 2008-02-12 | Network Appliance, Inc. | High-speed data transfer in a storage virtualization controller |
DE10208129B4 (de) * | 2002-02-26 | 2005-02-24 | Infineon Technologies Ag | Schaltung und Verfahren zur Datenratenanpassung bei variablem Ratenverhältnis mit einstellbarer Pufferspeicherpartitionierung |
US7243134B2 (en) * | 2002-06-25 | 2007-07-10 | Motorola, Inc. | Server-based navigation system having dynamic transmittal of route information |
US6895481B1 (en) | 2002-07-03 | 2005-05-17 | Cisco Technology, Inc. | System and method for decrementing a reference count in a multicast environment |
US20040027989A1 (en) * | 2002-07-29 | 2004-02-12 | Brocade Communications Systems, Inc. | Cascade credit sharing for fibre channel links |
US20040230860A1 (en) * | 2003-04-30 | 2004-11-18 | Brocade Communications Systems, Inc. | Method and devices using path numbering in a fibre channel network |
US20050066097A1 (en) * | 2003-09-04 | 2005-03-24 | Matsushita Electric Industrial Co., Ltd. | Resource management apparatus |
US8769164B2 (en) * | 2003-09-18 | 2014-07-01 | International Business Machines Corporation | Methods and apparatus for allocating bandwidth for a network processor |
JP4778199B2 (ja) * | 2004-02-26 | 2011-09-21 | 富士通株式会社 | データ転送装置及びデータ転送方法 |
JP4360300B2 (ja) * | 2004-08-10 | 2009-11-11 | 富士通株式会社 | 記憶制御装置及び制御方法 |
KR100712511B1 (ko) * | 2005-05-27 | 2007-04-27 | 삼성전자주식회사 | 호스트와 적어도 2개의 서로 다른 속도의 데이터 통신이가능한 메모리 장치 및 이를 이용하는 데이터 통신 시스템 |
US20080059674A1 (en) * | 2006-09-01 | 2008-03-06 | Jiaxiang Shi | Apparatus and method for chained arbitration of a plurality of inputs |
US7624244B2 (en) * | 2007-06-22 | 2009-11-24 | International Business Machines Corporation | System for providing a slow command decode over an untrained high-speed interface |
US7979616B2 (en) * | 2007-06-22 | 2011-07-12 | International Business Machines Corporation | System and method for providing a configurable command sequence for a memory interface device |
US8116304B2 (en) * | 2007-12-17 | 2012-02-14 | Broadcom Corporation | Method and system for duty cycling a network port based on duty cycling of a link communicatively coupled to the port |
US8984198B2 (en) * | 2009-07-21 | 2015-03-17 | Microchip Technology Incorporated | Data space arbiter |
US9875211B2 (en) * | 2015-06-04 | 2018-01-23 | Synaptics Incorporated | Signal conditioner for high-speed data communications |
US10922258B2 (en) * | 2017-12-22 | 2021-02-16 | Alibaba Group Holding Limited | Centralized-distributed mixed organization of shared memory for neural network processing |
US11016924B2 (en) | 2018-03-01 | 2021-05-25 | Samsung Electronics Co., Ltd. | System and method for supporting multi-mode and/or multi-speed non-volatile memory (NVM) express (NVMe) over fabrics (NVMe-oF) devices |
CN110825312B (zh) * | 2018-08-10 | 2023-06-23 | 昆仑芯(北京)科技有限公司 | 数据处理装置、人工智能芯片及电子设备 |
US11606587B2 (en) * | 2020-09-04 | 2023-03-14 | Dish Network Technologies India Private Limited | Embeddable media playback interaction sharing |
CN112558979B (zh) * | 2020-12-09 | 2024-06-18 | 深圳国人无线通信有限公司 | 实现不同层面之间数据交互的方法 |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4262357A (en) * | 1979-07-09 | 1981-04-14 | Burroughs Corporation | Data processing system incorporating arbiters and selectors to allocate transmissions by multiple devices on a bus |
GB8407102D0 (en) * | 1984-03-19 | 1984-04-26 | Int Computers Ltd | Interconnection of communications networks |
US4652874A (en) * | 1984-12-24 | 1987-03-24 | Motorola, Inc. | Serial communication interface for a local network controller |
JPS62243057A (ja) * | 1986-04-16 | 1987-10-23 | Hitachi Ltd | フアイル転送管理方式 |
US4737953A (en) * | 1986-08-04 | 1988-04-12 | General Electric Company | Local area network bridge |
US4850042A (en) * | 1987-04-14 | 1989-07-18 | Westinghouse Electric Corp. | Dual media local area network interfacing |
US4807111A (en) * | 1987-06-19 | 1989-02-21 | International Business Machines Corporation | Dynamic queueing method |
US4811337A (en) * | 1988-01-15 | 1989-03-07 | Vitalink Communications Corporation | Distributed load sharing |
US4899333A (en) * | 1988-03-31 | 1990-02-06 | American Telephone And Telegraph Company At&T Bell Laboratories | Architecture of the control of a high performance packet switching distribution network |
US5179667A (en) * | 1988-09-14 | 1993-01-12 | Silicon Graphics, Inc. | Synchronized DRAM control apparatus using two different clock rates |
US4922503A (en) * | 1988-10-28 | 1990-05-01 | Infotron Systems Corporation | Local area network bridge |
US4933938A (en) * | 1989-03-22 | 1990-06-12 | Hewlett-Packard Company | Group address translation through a network bridge |
US5220562A (en) * | 1989-05-12 | 1993-06-15 | Hitachi, Ltd. | Bridge apparatus and a communication system between networks using the bridge apparatus |
US5179557A (en) * | 1989-07-04 | 1993-01-12 | Kabushiki Kaisha Toshiba | Data packet communication system in which data packet transmittal is prioritized with queues having respective assigned priorities and frequency weighted counting of queue wait time |
US5210746A (en) * | 1990-04-16 | 1993-05-11 | Motorola, Inc. | Communication system network having communication system fallback operation |
US5301333A (en) * | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
US5309437A (en) * | 1990-06-29 | 1994-05-03 | Digital Equipment Corporation | Bridge-like internet protocol router |
US5231633A (en) * | 1990-07-11 | 1993-07-27 | Codex Corporation | Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets |
US5150358A (en) * | 1990-08-23 | 1992-09-22 | At&T Bell Laboratories | Serving constant bit rate traffic in a broadband data switch |
US5481540A (en) * | 1990-08-24 | 1996-01-02 | At&T Corp. | FDDI bridge frame learning and filtering apparatus and method |
US5251205A (en) * | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
US5353412A (en) * | 1990-10-03 | 1994-10-04 | Thinking Machines Corporation | Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions |
CA2065578C (en) * | 1991-04-22 | 1999-02-23 | David W. Carr | Packet-based data compression method |
US5500860A (en) * | 1991-06-14 | 1996-03-19 | Digital Equipment Corporation | Router using multiple hop redirect messages to enable bridge like data forwarding |
US5420862A (en) * | 1991-06-14 | 1995-05-30 | Digital Equipment Corporation | Router using remote address resolution to enable bridge like data forwarding |
US5392432A (en) * | 1991-08-27 | 1995-02-21 | At&T Corp. | Method for automatic system resource reclamation for object-oriented systems with real-time constraints |
CA2092134C (en) * | 1992-03-24 | 1998-07-21 | Anthony J. Mazzola | Distributed routing network element |
US5313454A (en) * | 1992-04-01 | 1994-05-17 | Stratacom, Inc. | Congestion control for cell networks |
US5343471A (en) * | 1992-05-11 | 1994-08-30 | Hughes Aircraft Company | Address filter for a transparent bridge interconnecting local area networks |
US5432907A (en) * | 1992-05-12 | 1995-07-11 | Network Resources Corporation | Network hub with integrated bridge |
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5457681A (en) * | 1992-06-05 | 1995-10-10 | Washington University | ATM-Ethernet portal/concentrator |
US5425028A (en) * | 1992-07-16 | 1995-06-13 | International Business Machines Corporation | Protocol selection and address resolution for programs running in heterogeneous networks |
US5291482A (en) * | 1992-07-24 | 1994-03-01 | At&T Bell Laboratories | High bandwidth packet switch |
US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
JP3104429B2 (ja) * | 1992-10-08 | 2000-10-30 | 株式会社日立製作所 | コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法 |
US5649109A (en) * | 1992-10-22 | 1997-07-15 | Digital Equipment Corporation | Apparatus and method for maintaining forwarding information in a bridge or router using multiple free queues having associated free space sizes |
US5404538A (en) * | 1992-10-28 | 1995-04-04 | International Business Machines Corporation | Method and apparatus for multilevel bus arbitration |
US5410722A (en) * | 1993-01-21 | 1995-04-25 | Conner Peripherals, Inc. | Queue system for dynamically allocating and moving memory registers between a plurality of pseudo queues |
US5459714A (en) * | 1993-02-22 | 1995-10-17 | Advanced Micro Devices, Inc. | Enhanced port activity monitor for an integrated multiport repeater |
US5485578A (en) * | 1993-03-08 | 1996-01-16 | Apple Computer, Inc. | Topology discovery in a multiple-ring network |
US5386413A (en) * | 1993-03-19 | 1995-01-31 | Bell Communications Research, Inc. | Fast multilevel hierarchical routing table lookup using content addressable memory |
JPH077524A (ja) * | 1993-04-06 | 1995-01-10 | Siemens Ag | 通信加入者のアドレス識別子へのアクセス方法 |
AU675302B2 (en) * | 1993-05-20 | 1997-01-30 | Nec Corporation | Output-buffer switch for asynchronous transfer mode |
US5426736A (en) * | 1993-05-26 | 1995-06-20 | Digital Equipment Corporation | Method and apparatus for processing input/output commands in a storage system having a command queue |
US5396602A (en) * | 1993-05-28 | 1995-03-07 | International Business Machines Corp. | Arbitration logic for multiple bus computer system |
US5394402A (en) * | 1993-06-17 | 1995-02-28 | Ascom Timeplex Trading Ag | Hub for segmented virtual local area network with shared media access |
JP2546505B2 (ja) * | 1993-06-23 | 1996-10-23 | 日本電気株式会社 | Cladにおけるアドレス学習装置 |
US5555405A (en) * | 1993-07-06 | 1996-09-10 | Digital Equipment Corporation | Method and apparatus for free space management in a forwarding database having forwarding entry sets and multiple free space segment queues |
US5515376A (en) * | 1993-07-19 | 1996-05-07 | Alantec, Inc. | Communication apparatus and methods |
US5473607A (en) * | 1993-08-09 | 1995-12-05 | Grand Junction Networks, Inc. | Packet filtering for data networks |
US5422838A (en) * | 1993-10-25 | 1995-06-06 | At&T Corp. | Content-addressable memory with programmable field masking |
US5485455A (en) | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
JP2713153B2 (ja) * | 1994-03-09 | 1998-02-16 | 日本電気株式会社 | ブリッジ装置 |
JPH07254906A (ja) * | 1994-03-16 | 1995-10-03 | Mitsubishi Electric Corp | 優先処理機能を有するシフトレジスタ、それを用いたパケット通信用スイッチング装置及びそれを用いたatmネットワーク並びに優先処理を伴うパケット通信方式及び優先処理を伴うatm通信方式 |
JP3542159B2 (ja) * | 1994-03-17 | 2004-07-14 | 株式会社日立製作所 | マルチプロセッサ構造のブリッジ |
US5509123A (en) * | 1994-03-22 | 1996-04-16 | Cabletron Systems, Inc. | Distributed autonomous object architectures for network layer routing |
US5459717A (en) * | 1994-03-25 | 1995-10-17 | Sprint International Communications Corporation | Method and apparatus for routing messagers in an electronic messaging system |
EP0676878A1 (en) * | 1994-04-07 | 1995-10-11 | International Business Machines Corporation | Efficient point to point and multi point routing mechanism for programmable packet switching nodes in high speed data transmission networks |
DE69433109D1 (de) * | 1994-04-28 | 2003-10-09 | Hewlett Packard Co | Mehrfachsendeeinrichtung |
EP0680179B1 (en) * | 1994-04-28 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Multicasting apparatus |
DE69429983T2 (de) * | 1994-05-25 | 2002-10-17 | International Business Machines Corp., Armonk | Datenübertragungsnetz und Verfahren zum Betreiben des Netzes |
US5461611A (en) * | 1994-06-07 | 1995-10-24 | International Business Machines Corporation | Quality of service management for source routing multimedia packet networks |
US5617421A (en) * | 1994-06-17 | 1997-04-01 | Cisco Systems, Inc. | Extended domain computer network using standard links |
US5583981A (en) * | 1994-06-28 | 1996-12-10 | Microsoft Corporation | Method and system for changing the size of edit controls on a graphical user interface |
EP0691769A1 (en) * | 1994-07-07 | 1996-01-10 | International Business Machines Corporation | Voice circuit emulation system in a packet switching network |
US5751967A (en) * | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
US5640605A (en) * | 1994-08-26 | 1997-06-17 | 3Com Corporation | Method and apparatus for synchronized transmission of data between a network adaptor and multiple transmission channels using a shared clocking frequency and multilevel data encoding |
US5619500A (en) * | 1994-09-01 | 1997-04-08 | Digital Link Corporation | ATM network interface |
US5594727A (en) * | 1994-09-19 | 1997-01-14 | Summa Four, Inc. | Telephone switch providing dynamic allocation of time division multiplex resources |
US5490139A (en) * | 1994-09-28 | 1996-02-06 | International Business Machines Corporation | Mobility enabling access point architecture for wireless attachment to source routing networks |
US5675741A (en) * | 1994-10-25 | 1997-10-07 | Cabletron Systems, Inc. | Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network |
US5784573A (en) * | 1994-11-04 | 1998-07-21 | Texas Instruments Incorporated | Multi-protocol local area network controller |
KR0132960B1 (ko) * | 1994-12-22 | 1998-04-21 | 양승택 | 망 노드 폭주상태 결정장치 및 방법 |
JP3099663B2 (ja) * | 1995-02-09 | 2000-10-16 | 株式会社デンソー | 通信システム |
US5706472A (en) * | 1995-02-23 | 1998-01-06 | Powerquest Corporation | Method for manipulating disk partitions |
US5561666A (en) * | 1995-03-06 | 1996-10-01 | International Business Machines Corporation | Apparatus and method for determining operational mode for a station entering a network |
US5633865A (en) * | 1995-03-31 | 1997-05-27 | Netvantage | Apparatus for selectively transferring data packets between local area networks |
US5561791A (en) * | 1995-04-10 | 1996-10-01 | Digital Equipment Corporation | Method and apparatus for conditioning timed program independent of transport timing |
US5608726A (en) * | 1995-04-25 | 1997-03-04 | Cabletron Systems, Inc. | Network bridge with multicast forwarding table |
JP2770782B2 (ja) | 1995-05-31 | 1998-07-02 | 日本電気株式会社 | Lan間接続装置 |
US5619661A (en) * | 1995-06-05 | 1997-04-08 | Vlsi Technology, Inc. | Dynamic arbitration system and method |
US5734865A (en) * | 1995-06-07 | 1998-03-31 | Bull Hn Information Systems Inc. | Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment |
US5636371A (en) * | 1995-06-07 | 1997-06-03 | Bull Hn Information Systems Inc. | Virtual network mechanism to access well known port application programs running on a single host system |
US5790808A (en) | 1995-07-06 | 1998-08-04 | 3 Com | Active topology maintenance in reconfiguring bridged local area networks with state transition with forgetting interval |
US5651002A (en) * | 1995-07-12 | 1997-07-22 | 3Com Corporation | Internetworking device with enhanced packet header translation and memory |
US5754540A (en) * | 1995-07-18 | 1998-05-19 | Macronix International Co., Ltd. | Expandable integrated circuit multiport repeater controller with multiple media independent interfaces and mixed media connections |
US5691984A (en) * | 1995-08-15 | 1997-11-25 | Honeywell Inc. | Compact, adaptable brouting switch |
US5740175A (en) * | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
US5757771A (en) * | 1995-11-14 | 1998-05-26 | Yurie Systems, Inc. | Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch |
US5684800A (en) * | 1995-11-15 | 1997-11-04 | Cabletron Systems, Inc. | Method for establishing restricted broadcast groups in a switched network |
US5754801A (en) * | 1995-11-20 | 1998-05-19 | Advanced Micro Devices, Inc. | Computer system having a multimedia bus and comprising a centralized I/O processor which performs intelligent data transfers |
US5740375A (en) * | 1996-02-15 | 1998-04-14 | Bay Networks, Inc. | Forwarding internetwork packets by replacing the destination address |
US5781549A (en) * | 1996-02-23 | 1998-07-14 | Allied Telesyn International Corp. | Method and apparatus for switching data packets in a data network |
US5724358A (en) * | 1996-02-23 | 1998-03-03 | Zeitnet, Inc. | High speed packet-switched digital switch and method |
US5764634A (en) * | 1996-03-13 | 1998-06-09 | International Business Machines Corporation | Lan switch with zero latency |
US5740171A (en) * | 1996-03-28 | 1998-04-14 | Cisco Systems, Inc. | Address translation mechanism for a high-performance network switch |
US5742604A (en) * | 1996-03-28 | 1998-04-21 | Cisco Systems, Inc. | Interswitch link mechanism for connecting high-performance network switches |
US5764636A (en) * | 1996-03-28 | 1998-06-09 | Cisco Technology, Inc. | Color blocking logic mechanism for a high-performance network switch |
US5923654A (en) * | 1996-04-25 | 1999-07-13 | Compaq Computer Corp. | Network switch that includes a plurality of shared packet buffers |
US5802052A (en) | 1996-06-26 | 1998-09-01 | Level One Communication, Inc. | Scalable high performance switch element for a shared memory packet or ATM cell switch fabric |
US5748905A (en) * | 1996-08-30 | 1998-05-05 | Fujitsu Network Communications, Inc. | Frame classification using classification keys |
US5832278A (en) | 1997-02-26 | 1998-11-03 | Advanced Micro Devices, Inc. | Cascaded round robin request selection method and apparatus |
-
1997
- 1997-06-30 US US08/885,154 patent/US6052738A/en not_active Expired - Lifetime
-
1998
- 1998-06-24 JP JP50569899A patent/JP4124491B2/ja not_active Expired - Lifetime
- 1998-06-24 EP EP98934172A patent/EP0993680B1/en not_active Expired - Lifetime
- 1998-06-24 DE DE69838387T patent/DE69838387T2/de not_active Expired - Lifetime
- 1998-06-24 AT AT98934172T patent/ATE372585T1/de not_active IP Right Cessation
- 1998-06-24 WO PCT/US1998/013176 patent/WO1999000819A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO1999000819A3 (en) | 1999-04-22 |
EP0993680B1 (en) | 2007-09-05 |
JP2002508100A (ja) | 2002-03-12 |
DE69838387D1 (de) | 2007-10-18 |
EP0993680A2 (en) | 2000-04-19 |
ATE372585T1 (de) | 2007-09-15 |
EP0993680A4 (en) | 2006-03-15 |
WO1999000819A2 (en) | 1999-01-07 |
DE69838387T2 (de) | 2008-05-29 |
US6052738A (en) | 2000-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
JP4024875B2 (ja) | 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 | |
US7676588B2 (en) | Programmable network protocol handler architecture | |
US6778548B1 (en) | Device to receive, buffer, and transmit packets of data in a packet switching network | |
KR100840140B1 (ko) | 메모리 허브 메모리 모듈들을 사용하여 데이터 전송들을조직화하는 시스템 및 방법 | |
US7412571B2 (en) | Memory arbitration system and method having an arbitration packet protocol | |
JP5036120B2 (ja) | 非ブロック化共有インターフェイスを持つ通信システム及び方法 | |
US7447872B2 (en) | Inter-chip processor control plane communication | |
US7054969B1 (en) | Apparatus for use in a computer system | |
US20050066135A1 (en) | Memory control apparatus and memory control method | |
US20040078459A1 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
US9804959B2 (en) | In-flight packet processing | |
US20040081158A1 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
JP2001067298A (ja) | ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用 | |
JP2002198987A (ja) | ハブおよびポート付き転送コントローラのアクティブ・ポート | |
JP2853652B2 (ja) | プロセッサ間通信におけるパケット送信方法およびその装置 | |
KR100367084B1 (ko) | 실시간 고속의 데이터 처리용 디엠에이 제어기 및 제어방법 | |
KR20060009292A (ko) | 분할 프로토콜 전송 방법 및 프로세싱 시스템 | |
JP2005235216A (ja) | ダイレクト・メモリ・アクセス制御 | |
CN118152310A (zh) | 一种基于PCIe AXI bridge写数据存储、搜索及传输处理方法及系统 | |
US9699107B2 (en) | Packet engine that uses PPI addressing | |
JP2003308248A (ja) | メモリ制御装置 | |
GB2341771A (en) | Address decoding | |
GB2341765A (en) | Bus idle usage | |
GB2341699A (en) | Inter-module data transfer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050418 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060703 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070703 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080422 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080502 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |