[go: up one dir, main page]

JP4124491B2 - 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ - Google Patents

異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ Download PDF

Info

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
Application number
JP50569899A
Other languages
English (en)
Other versions
JP2002508100A (ja
Inventor
ミュラー,シモン
ファム,ビン
バーグ,カート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002508100A publication Critical patent/JP2002508100A/ja
Application granted granted Critical
Publication of JP4124491B2 publication Critical patent/JP4124491B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation 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つの低速ポート・インタフェース回路と
    を備えることを特徴とする装置。
  2. 低速ポート・インタフェース回路は、複数の出力インタフェース・レジスタを含む出力ポート・インタフェースを備え、1つの出力インタフェース・レジスタの内容が第1の幅の順次セグメントで出力ポートに出力されると同時に、別の出力インタフェース・レジスタが共用メモリから並列にデータを受取るように構成されていることを特徴とする請求項1記載の装置。
  3. 高速ポート・インタフェース回路が、出力ポート・インタフェースをさらに備えることを特徴とする請求項2記載の装置。
  4. 高速ポート・インタフェース回路と、共用メモリへの読取り書込み操作のリクエストを受取る共用記憶回路とに接続されたスケジューリング回路であって、前記書込み操作の前に、すべての前記読取り操作が完了するように、前記読取り書込み操作をスケジュールするように構成されたスケジューリング回路をさらに備えることを特徴とする請求項3記載の装置。
  5. 前記スケジューリング回路と共用メモリとに接続されたメモリ・コントローラであって、前記スケジューリング回路からメモリ・アドレスを受取って、コマンドを共用メモリに出すように構成されたメモリ・コントローラをさらに備え、前記コマンドが読取り書込み操作を指示する、ことを特徴とする請求項4記載の装置。
  6. 出力ポート・インタフェースには、コマンド情報を受取って、復号し、それに応じて、読取りアドレスを読取りアドレス・レジスタに集めて、共用メモリに向けて、読取りリクエストを発生させるように構成されたコマンド復号回路がさらに備えられることを特徴とする請求項3記載の装置。
  7. 出力ポート・インタフェースが、共用メモリとフロー制御回路に接続された出力データ・レジスタをさらに備え、前記出力データ・レジスタが、共用メモリからデータを受取って、そのデータを、第1の幅のセグメントで、出力データ・レジスタの1つから、出力ポートに出力し、そして、データが、出力データ・レジスタに準備できてないときには、フロー制御回路が、出力ポートに読取り待ち信号を出すことを特徴とする請求項6記載の装置。
  8. 読取りをリクエストする出力ポートのポート識別名を受取って、読取りタグをフロー制御回路に出力して、出力データ・レジスタからのデータが送られるポートを前記フロー制御回路に指示させる読取りパイプをさらに備えることを特徴とする請求項7記載の装置。
  9. 第1の幅が16ビットであり、高速インタフェース・レジスタと、それぞれの低速インタフェース・レジスタは第2の幅を持ち、第2の幅は第1の幅の8倍であることを特徴とする請求項1記載の装置。
  10. 出力ポート・インタフェースが、現在の読取りアドレスを格納するように構成された現在のアドレス・レジスタと、次の読取りアドレスを格納するように構成された次のアドレス・レジスタとを含めて、複数の読取りアドレス・レジスタを備えていることを特徴とする請求項6記載の装置。
  11. 現在のパケットからのデータが共用メモリに書込まれるたびに、現在のアドレス・レジスタが増分されるように、構成されていることを特徴とする請求項10記載の装置。
JP50569899A 1997-06-30 1998-06-24 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ Expired - Lifetime JP4124491B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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