JP4024875B2 - 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 - Google Patents

異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 Download PDF

Info

Publication number
JP4024875B2
JP4024875B2 JP50565599A JP50565599A JP4024875B2 JP 4024875 B2 JP4024875 B2 JP 4024875B2 JP 50565599 A JP50565599 A JP 50565599A JP 50565599 A JP50565599 A JP 50565599A JP 4024875 B2 JP4024875 B2 JP 4024875B2
Authority
JP
Japan
Prior art keywords
data
write
access request
speed data
low speed
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
JP50565599A
Other languages
English (en)
Other versions
JP2002508099A (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 JP2002508099A publication Critical patent/JP2002508099A/ja
Application granted granted Critical
Publication of JP4024875B2 publication Critical patent/JP4024875B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • H04L49/352Gigabit ethernet switching [GBPS]

Description

発明の分野
本発明は、ネットワーク化されたコンピュータ環境内のパケット・ルーティング・スイッチの分野に関する。
発明の背景
コンピュータ・ネットワークを使用すると、多数のプロセッサが互いに通信することができる。コンピュータ・ネットワークは種々のタイプのコンピュータおよびメモリ装置とリンクする場合がある。データは一般に、ネットワーク上の構成要素の間をパケットで伝送される。パケットは通常、各々所定の長さのデータ・ワードのグループである。ネットワークがより大きく複雑になるに従って、パケットを効率的にルーティングし格納する能力がますます重要になってくる。パケットは、1つのネットワーク構成要素から別のネットワーク構成要素までルーティングするプロセスの間に、一時的に格納される場合も多い。これは一部には入力ポートと出力ポートのトラフィックの分布がランダムであるためと同時に、異なるレートでデータを伝送するポート間におけるレートを調節するためでもある。したがって、パケットの格納、すなわちバッファリングが切替機能の不可欠な部分である。バッファリングは、スイッチ回路の一部であるメモリ内(スイッチ回路と同じダイ上)、または、スイッチ回路とは別のメモリで行われる。バッファ・メモリは1つのポートに関連するかまたは、いくつかのポート間で共用される。
データ・パケットがルーティングの間に格納される場合、メモリ・アクセスが遅延、したがってネットワーク性能劣化の原因にならないように、格納装置またはメモリへの高速で効率的なアクセスを行えることが重要である。ネットワーク・スイッチは、ネットワーク構成要素間でパケットのルーティングと格納を処理する装置である。ネットワーク・スイッチには、データをスイッチに伝送し、またデータをスイッチから受け取る多数のネットワーク構成要素へ接続するための入力ポートと出力ポートが含まれる。スイッチを使用したネットワーク構成要素は、スイッチのクライアントとして知られる。単一のスイッチは、単一のメモリ装置を使用して、異なるレートでデータを送る多数のクライアントからのデータを格納する場合がある。ネットワーク・スイッチがメモリ帯域幅を最大にするような方法で、異なるデータ・レート能力を持つ多数のクライアントによるメモリ・アクセスを処理することが重要である。しかし、ネットワーク・スイッチ・アーキテクチャを設計する時には、メモリ帯域幅を最大化するニーズは他の配慮と競合せざるを得ない。たとえば、クライアントからバッファ・メモリへより広いデータ・パスを構成すると、メモリ帯域幅は向上するが、特別のハードウェアと追加の相互接続が必要になる。したがって、スイッチ・アーキテクチャが効率的、経済的、フレキシブルに機能するためには、妥協を図らなければならない。
発明の概要
ネットワーク・システム内で多数のポート間で共用されているパケット・スイッチ内でバッファ・メモリを管理するための方法と装置。この装置は、低速データ・ポートとバッファ・メモリの間で第1のデータ・レートでデータを送るように構成された複数の低速データ・ポート・インタフェースと、高速データ・ポートとバッファ・メモリの間で第2のデータ・レートでデータを送るように構成された複数の高速データ・ポート・インタフェースを含む。第1のレベル・アービタは複数の低速データ・ポート・インタフェースに結合されている。第1のレベル・アービタは低速データ・ポートのうちの1つのアクセス要求を選択し、アクセス要求を出力する。第2のレベル・アービタは複数の高速データ・ポート・インタフェースと、第1のレベル・アービタの出力に結合されている。第2のレベル・アービタは、高速データ・ポート・インタフェースからの複数のアクセス要求の間と、第1のレベル・アービタからのアクセス要求から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はまた、BMC112を介して共用メモリへアクセスする。高速ポート222は低速ポート202に比べて比較的速いデータ・レートで動作する。構成可能なポート220は、BMC112を介して共用メモリへアクセスする。構成可能なポート220とは、低速ポート202のデータ・レートまたは高速ポート222のデータ・レートで動作するように構成することができるポートのことである。本発明の一実施形態によれば、低速ポート202はイーサネット・プロトコルまたは高速イーサネット・プロトコルに従って動作する。一実施形態によれば、ホスト・ポート204はPCIバス・プロトコルに従う。この実施形態によれば、高速ポート222は、ギガビット・イーサネット・プロトコルに従って動作する。低速ポート202の高速イーサネット・レートは100Mbpsである。一実施形態によれば、100Mbpsの帯域幅はホスト・ポート204に割り振られている。ギガビット高速ポート222のデータ・レートは、高速イーサネット低速ポート202と、ホスト・ポート204の10倍のデータ・レートである。本発明の一実施形態によれば、BMC112は3つの高速(ギガビット)ポート、5つのプログラム可能なポート、11の低速(高速イーサネット)ポート、1つのホスト・ポートに接続されている。
BMC112は、低速ポート・インタフェース206と高速/構成可能なポート・インタフェース208を含む。以下にさらに詳細に説明されているように、BMC112は、共用メモリ・デバイスの帯域幅を最大にするように、異なるデータ・レートで動作するポート間(この実施形態では、ギガビット・ポートと高速イーサネット・ポート)のトランザクションを異なった方法で処理する。この帯域幅最大化の1つの側面は、第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信号は、コマンド復号器fsm332から受信された「フル」信号と、第2のレベル・アービタ214から受信された書込み許可(wr_gnt)信号によって生成される。
この実施形態では、第2のレベル・アービタ/スケジューラ214はラウンドロビン調停方式を使用して、高速入力ポート222bへのアクセスを許可する。第2のレベル・アービタ/スケジューラ214はまた、共用メモリ装置に書き込まれるべきアドレス、データ、タグをスケジューリングする。その後アドレスとデータは次のクロック・サイクルでメモリ内に書き込まれる。好ましい実施形態ではSRAM技術が使用される。使用されるSRAM技術は完全にパイプラインされているので、アービタ/スケジューラ214は連続的に書込み動作をスケジューリングすることができる。データのパケットの終端に到達すると、高速入力ポート222bは書込み状態コマンドを、状態情報と共に高速入力インタフェース回路344に送る。パケット・メモリ内に書き込まれる最後のデータと状態は、次に高速入力インタフェース回路344によってスケジューリングされる。
出力インタフェース回路342は共用メモリからの読取り動作について、高速出力ポート222aによる共用メモリへのアクセスを制御する。高速出力ポート222aに接続されたネットワーク・クライアントが共用メモリへの読取りアクセスを要求すると、高速出力ポート222aはそれぞれレジスタ302と304に送られるコマンドとアドレス・ビットを公式化する。レジスタ302と304は、同期化の目的で使用される。3つのコマンド・ビットがコマンド復号器fsm306に入力され、復号化される。コマンド・ビットの復号化された重要さに応じて、出力ポート・インタフェース回路342に入力する16ビットのアドレス・セグメントはレジスタ310または312にロードされる。レジスタ310または312のどちららか1つは現在のアドレスを保持し、もう1つは次のパケットのアドレスを保持する。現在のアドレスを保持しているレジスタは、現在のパケットの各アドレスが1つ増えるごとに1つずつ増える。次のパケットの第1のアドレスは、現在のパケットの最後のワードの書込みと、次のパケットの最初のワードの書込みの間に待ち時間が生じないように、他のレジスタ内で使用可能に保持されている。マルチプレクサ314は、次の読取りアドレス(rd_addr)として第2のレベル・アービタ/スケジューラ214に送られるべき、適切なレジスタ310または312内に格納されている現在の19ビットのアドレスを選択する。コマンド復号器fsm306は、現在のアドレスまたは次のアドレスがレジスタ310または312を満たした時にfsm308にロードするように、現在のフル(cfull)信号または次のフル(nfull)信号のうち適切な方を送る。論理(logic)324は同期化の目的のために、rd_tagを保持している読取りパイプ218のレジスタ326を介してメモリからrd_tagを受け取る。論理324はrd_tagを使用して、fsm308にロードするパケット終端(eop)信号を生成する。ロードfsm308は、第2のレベル・アービタ/スケジューラ214へ、読取り要求(rd_req)信号を生成する。共用メモリへのアクセスについての調停が完了すると、第2のレベル・アービタ/スケジューラ214はロードfsm308へ、読取り許可(rd_gnt)を送る。アンロードfsm322は、共用メモリから読取りパイプ218を介して高速出力ポート222aへのデータのアンロードを調停する。メモリからの読取りデータは、128ビット・ワードで並列的にレジスタ318または320のどちらか1つに送られる。レジスタ318または320のどちらか1つは、メモリから並列にロードされた後、マルチプレクサ316を介して16ビット・セグメントにアンロードされる。アンロードfsm322とrd_tagからの情報によって命令されたように、出力インタフェース回路342は、共用メモリ帯域幅が最適化され、同時に、高速出力ポート222aへの狭いデータ・インタフェース(16ビット)が維持されるように、効率的に読込パイプ218からのデータの二重バッファリングを処理する。アンロードfsm332はまた、高速出力ポート222aへのコマンドとrd_wait信号を生成する。rd_wait信号は、rd_wait信号がアサート解除されるまで次のrd_reqs信号を送るのを待たなければならないことを高速出力ポート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は、出力インタフェース回路342に関して説明したのと全く同じように動作するが、1つだけ例外がある。低速ポート・インタフェース206の出力インタフェース回路442は、1つのレベルの調停ではなく2つのレベルの調停によって共用メモリへのアクセスを得なければならない。具体的には、rd_req信号とrd_addr信号が第1のレベル・アービタ210へ送られる。調停が完了すると、rd_gnt信号を第2のレベル・アービタ/スケジューラから受け取る。
第5図は、共用メモリへの書込み動作を処理する第1のレベル・アービタ210の一部を詳しく示す図である。第1のレベル書込みアービタ210aは、調停回路510、コマンド・マルチプレクサ512、データ・マルチプレクサ514を含む。この実施形態では、調停回路510は100Mbpsで動作する11のポートからwr_reqsを受け取る。この実施形態では、調停回路510はまた、100Mbpsのデータ・レートで動作するポートのうちの1つからwr_reqsを受け取る。他の実施形態では、上記の実施形態とは異なるデータ・レートで動作し、異なるプロトコルにしたがった異なる数の種々のタイプのポートが調停回路510によって処理される。調停回路510は、ラウンドロビン調停方式を使用して、次にアクセスを許可される特定のポートを選択する。許可信号504は、第2のレベル・アービタ/スケジューラ214から第1のレベル書込みアービタ210aを介して、個別の要求するポートへ送られる個別のwr_gnt信号である。コマンド・ライン506はそれぞれ、1つの低速入力ポート内で発生し、コマンド情報を3つのビット・セグメントでマルチプレクサ512へ送る。調停が完了すると、調停回路510からの選択信号は、要求する低速ポートのうち1つからのコマンド情報をロード状態マシン516に送る。データ回線508はそれぞれ、1つの低速入力ポートで発生する。データ回線508はそれぞれ、16ビット・セグメントでデータ情報をマルチプレクサ514へ送る。調停が完了すると、ポートのうち1つからのコマンド情報は調停回路510からの選択信号によってマルチプレクサ514から送られる。16ビット・セグメントのデータは、ロード状態マシン516内で復号化されたコマンド・ビットによって指示された通りに、mux514から、wr_dataレジスタ520または522、またはレジスタ526、528のうちの1つに送られる。レジスタ520と522は、書込みデータ(fe_wr_data)を128ビット・ワードでアセンブルするために使用される。レジスタ528は、16ビットの高速イーサネット書込みタグ(fe_wr_tag)をアセンブルするために使用される。レジスタ526は、19ビットの書込みアドレス(fe_wr_addr)をアセンブルするために使用される。アンロード状態マシン518の制御下で、マルチプレクサ524は128ビット・データのワードを共用メモリに書き込むために、レジスタ520または522のどちらかから送る。アンロード状態マシン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は、調停回路608からのrd_gnt信号を、読取り動作を要求している個別のポートに搬送する。読取りアドレス(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コントローラ216も示す。第2のレベル・アービタ/スケジューラ214は、調停回路702と、wr_addrs、rd_addrs、wr_data、wr_tagsをそれぞれ受け取るマルチプレクサ704、706、708、710を含む。要求回線728はrd_reqsとwr_reqsを調停回路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_ar_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のどちらかを選択し、レジスタ714とSRAMコントローラ216へ送る。さらに、調停が完了すると、回線734のうちの1つの回線上にあるwr_dataが同期化レジスタ716、718、722を介して共用メモリへ送られる。同期化レジスタ722、724、726を介してSRAMタグ情報として送られるべき16ビットのwr_tag情報が、回線736のうちの1つの回線から選択される。
好ましい実施形態では、ゼロ・バス・ターン・アラウンドをサポートする完全にパイプライン化された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つのレベルの調停方式の増大した効率の利益はそのまま得られる。
以上、本発明について特定の実施形態に関して説明したが、当業者なら、以下の請求の範囲に記載した本発明の精神および範囲から逸脱することなく種々の変更および代替を行うことができることを理解されたい。

Claims (15)

  1. ネットワーク・システム内の複数の低速データ・ポート及び複数の高速データ・ポート間で共用されるバッファ・メモリをパケット・スイッチ内で管理する装置であって、
    複数の低速データ・ポートと前記バッファ・メモリの間で第1のデータ・レートでデータを送るように構成された複数の低速データ・ポート・インタフェースと、
    複数の高速データ・ポートと前記バッファ・メモリの間で第2のデータ・レートでデータを送るように構成された複数の高速データ・ポート・インタフェースと、
    前記複数の低速データ・ポート・インタフェースに結合され、前記複数の低速データ・ポートのうちの1つのアクセス要求を選択し、アクセス要求を出力するように構成された第1のレベル・アービタと、
    前記複数の高速データ・ポート・インタフェースと第1のレベル・アービタの出力とに結合され、前記高速データ・ポート・インタフェースからの複数のアクセス要求のうちのアクセス要求および前記第1のレベル・アービタからのアクセス要求から前記バッファ・メモリによって処理されるべきアクセス要求を選択するように構成された第2のレベル・アービタとを含む装置。
  2. 前記第1のレベル・アービタが、
    前記複数の低速データ・ポートからの複数のメモリ書込みアクセス要求を受け取り、書込み許可信号を低速データ・ポートのうちの1つに送るように構成された調停回路と、
    前記複数の低速データ・ポートからの複数のコマンド・ビットを受け取り、前記調停回路からの信号に応答してコマンド・ビットのうち1つを出力するように構成されたコマンド・マルチプレクサと、
    前記複数の低速データ・ポートからの少なくとも1つのデータ・ワードの少なくとも1つのセグメントを受け取り、前記調停回路からの信号に対応してデータ・ワードのセグメントを出力するように構成されたデータ・マルチプレクサと、
    を含む第1のレベル書込みアービタ回路を含む請求項1に記載の装置。
  3. 前記第1のレベル書込みアービタがさらに、
    コマンド・ビットを受け取るように構成されたロード回路と、
    連続的なデータ・セグメントが前記データ・マルチプレクサから受信され、前記ロード回路からの信号に応答して蓄積され、前記複数の低速データ・ポートの1つからのデータ・ワード、タグ・ワード、および書込みアドレスを形成する蓄積回路を含む請求項2に記載の装置。
  4. 前記蓄積回路が、第1のデータ・レジスタからの蓄積されたデータを並列に前記バッファ・メモリに出力し、同時に、第2のデータ・ワードを連続的なセグメントで第2のデータ・レジスタ内に蓄積する請求項3に記載の装置。
  5. データのセグメントの幅が16ビットであり、データ・ワードの幅が128ビットである請求項4に記載の装置。
  6. 前記第1のレベル・アービタがさらに、
    前記複数の低速データ・ポートからの複数のメモリ読取りアクセス要求を受け取り、前記複数の低速データ・ポートの1つに読取り許可信号を送るように構成された調停回路と、
    前記複数の低速データ・ポートからの複数の読取りアドレスを受け取り、前記調停回路からの信号に応答して複数の読取りアドレスのうちの1つを前記バッファ・メモリに送るように構成された読取りアドレス・マルチプレクサとを含む第1のレベル読取りアービタ回路を含む請求項2に記載の装置。
  7. 前記第2のレベル・アービタが、
    読取りアクセス要求および書込みアクセス要求を含む前記複数の高速データ・ポート・インタフェースからの複数のアクセス要求と、読取り要求および書込み要求を含む前記第1のレベル・アービタからのアクセス要求を受け取り、読取り許可信号、書込み許可信号、メモリ制御信号をメモリ・コントローラに出力するように構成された調停回路と、
    前記複数の高速データ・ポート・インタフェースおよび前記第1のレベル・アービタから情報を受け取り、前記調停回路からの信号に応答して情報を出力するように構成された複数のマルチプレクサとを含む請求項1に記載の装置。
  8. 前記複数のマルチプレクサが受け取った情報は、データ情報、アドレス情報、およびタグ情報を含み、前記複数のマルチプレクサが前記調停回路によってアクセス要求が許可されているポートに関連する情報を出力する請求項7に記載の装置。
  9. 前記第2のレベル・アービタがさらに、読取りアドレスおよび書込みアドレスを受け取り、前記調停回路からの信号に応答して読取りアドレスまたは書込みアドレスを出力するように構成された前記アドレス・マルチプレクサを含む請求項8に記載の装置。
  10. 前記第2のレベル・アービタがさらに、前記バッファ・メモリに書き込まれるべきデータおよびタグ情報を格納するように構成されたパイプライン・レジスタを含む請求項9に記載の装置。
  11. 前記複数の低速データ・ポートがデータを100Mbpsのレートで送り、前記複数の高速データ・ポートが前記複数の低速データ・ポートの10倍のレートでデータを送る請求項1に記載の装置。
  12. 異なるデータ・レートで動作するネットワーク・クライアントによるネットワーク内の共用資源へのアクセスを制御するための方法であって、
    第1のデータ・レートで動作するように構成された少なくとも1つの低速クライアントからのアクセス要求を受け取るステップであって、低速書込みアクセス要求を受け取るステップと、低速書込みアクセス要求に関連するコマンド・ビット、書込みデータ、および書込みアドレスを受け取るステップと、を更に含むステップと、
    第2のデータ・レートで動作するように構成された少なくとも1つの高速クライアントからのアクセス要求を受け取るステップと、
    低速クライアントのアクセス要求を選択するために低速クライアントのアクセス要求を調停するステップと、
    共用資源によって処理されるべきアクセス要求を選択するために高速クライアントのアクセス要求と低速クライアントのアクセス要求の間を調停するステップと
    を含む方法。
  13. 低速書込みアクセスが許可された時、書込みデータおよび書込みアドレスを格納するために低速クライアントの間で共用された格納位置の領域を、コマンド・ビットを使用して識別するステップをさらに含む請求項12に記載の方法。
  14. 高速クライアントからのアクセス要求を受け取るステップが、
    高速書込みアクセス要求を受け取るステップと、
    高速書込みアクセス要求に関連するコマンド・ビット、書込みデータ、および書込みアドレスを受け取るステップとを含む請求項13に記載の方法。
  15. 高速アクセス要求が許可された時、コマンド・ビットを使用して、書込みデータおよび書込みアドレスを高速クライアントに関連する格納領域内でアセンブルするステップと、
    アセンブルされた書込みデータおよび書込みアドレスを共用資源に書込むステップとをさらに含む請求項14に記載の方法。
JP50565599A 1997-06-30 1998-06-23 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置 Expired - Lifetime JP4024875B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/884,764 US6119196A (en) 1997-06-30 1997-06-30 System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US08/884,764 1997-06-30
PCT/US1998/013015 WO1999000736A1 (en) 1997-06-30 1998-06-23 Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates

Publications (2)

Publication Number Publication Date
JP2002508099A JP2002508099A (ja) 2002-03-12
JP4024875B2 true JP4024875B2 (ja) 2007-12-19

Family

ID=25385338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50565599A Expired - Lifetime JP4024875B2 (ja) 1997-06-30 1998-06-23 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置

Country Status (5)

Country Link
US (1) US6119196A (ja)
EP (1) EP0991999B1 (ja)
JP (1) JP4024875B2 (ja)
AT (1) ATE528888T1 (ja)
WO (1) WO1999000736A1 (ja)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3454094B2 (ja) * 1997-07-22 2003-10-06 日本電気株式会社 共有メモリ制御装置および共有メモリ制御方法
US6430188B1 (en) * 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
AU4848699A (en) 1998-07-08 2000-02-01 Broadcom Corporation A method of sending packets between trunk ports of network switches
US6286083B1 (en) * 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme
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
US7120117B1 (en) 2000-08-29 2006-10-10 Broadcom Corporation Starvation free flow control in a shared memory switching device
EP1161817B1 (en) * 1999-03-17 2006-10-25 Broadcom Corporation Network switch
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
US7031302B1 (en) 1999-05-21 2006-04-18 Broadcom Corporation High-speed stats gathering in a network switch
US6859454B1 (en) 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
US7315552B2 (en) * 1999-06-30 2008-01-01 Broadcom Corporation Frame forwarding in a switch fabric
WO2001019040A1 (en) * 1999-09-03 2001-03-15 Broadcom Corporation Apparatus and method for enabling voice over ip support for a network switch
US6519666B1 (en) * 1999-10-05 2003-02-11 International Business Machines Corporation Arbitration scheme for optimal performance
US7143294B1 (en) * 1999-10-29 2006-11-28 Broadcom Corporation Apparatus and method for secure field upgradability with unpredictable ciphertext
US7131001B1 (en) 1999-10-29 2006-10-31 Broadcom Corporation Apparatus and method for secure filed upgradability with hard wired public key
US7539134B1 (en) * 1999-11-16 2009-05-26 Broadcom Corporation High speed flow control methodology
ATE252298T1 (de) * 1999-11-16 2003-11-15 Broadcom Corp Verfahren und netzwerkvermittlungsstelle mit datenserialisierung durch gefahrlose mehrstufige störungsfreie multiplexierung
AU1754801A (en) * 1999-11-18 2001-05-30 Broadcom Corporation Table lookup mechanism for address resolution in a packet network switch
AU2066201A (en) * 1999-12-07 2001-06-18 Broadcom Corporation Mirroring in a stacked network switch configuration
US7009973B2 (en) * 2000-02-28 2006-03-07 Broadcom Corporation Switch using a segmented ring
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
US7103053B2 (en) * 2000-05-03 2006-09-05 Broadcom Corporation Gigabit switch on chip architecture
US6826561B2 (en) 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
US6651148B2 (en) * 2000-05-23 2003-11-18 Canon Kabushiki Kaisha High-speed memory controller for pipelining memory read transactions
AU768088B2 (en) * 2000-05-23 2003-12-04 Canon Kabushiki Kaisha A distributed high-speed memory controller
EP1162792B1 (en) * 2000-06-09 2012-08-15 Broadcom Corporation Gigabit switch with frame forwarding and address learning
EP1168725B1 (en) * 2000-06-19 2005-06-15 Broadcom Corporation Switch fabric with path redundancy
US7126947B2 (en) * 2000-06-23 2006-10-24 Broadcom Corporation Switch having external address resolution interface
US6999455B2 (en) * 2000-07-25 2006-02-14 Broadcom Corporation Hardware assist for address learning
US7227862B2 (en) * 2000-09-20 2007-06-05 Broadcom Corporation Network switch having port blocking capability
US7420977B2 (en) * 2000-10-03 2008-09-02 Broadcom Corporation Method and apparatus of inter-chip bus shared by message passing and memory access
US7120155B2 (en) * 2000-10-03 2006-10-10 Broadcom Corporation Switch having virtual shared memory
US6988177B2 (en) * 2000-10-03 2006-01-17 Broadcom Corporation Switch memory management using a linked list structure
US7020166B2 (en) * 2000-10-03 2006-03-28 Broadcom Corporation Switch transferring data using data encapsulation and decapsulation
US6851000B2 (en) * 2000-10-03 2005-02-01 Broadcom Corporation Switch having flow control management
US7274705B2 (en) * 2000-10-03 2007-09-25 Broadcom Corporation Method and apparatus for reducing clock speed and power consumption
US7035255B2 (en) * 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US7424012B2 (en) * 2000-11-14 2008-09-09 Broadcom Corporation Linked network switch configuration
US6850542B2 (en) 2000-11-14 2005-02-01 Broadcom Corporation Linked network switch configuration
US7035286B2 (en) * 2000-11-14 2006-04-25 Broadcom Corporation Linked network switch configuration
US6963569B1 (en) 2000-12-29 2005-11-08 Cisco Technology, Inc. Device for interworking asynchronous transfer mode cells
US7042843B2 (en) * 2001-03-02 2006-05-09 Broadcom Corporation Algorithm for time based queuing in network traffic engineering
US6813620B2 (en) * 2001-03-07 2004-11-02 Broadcom Corporation Binary search engine and method
US7355970B2 (en) * 2001-10-05 2008-04-08 Broadcom Corporation Method and apparatus for enabling access on a network switch
US6848015B2 (en) * 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
US6895481B1 (en) 2002-07-03 2005-05-17 Cisco Technology, Inc. System and method for decrementing a reference count in a multicast environment
US20040114536A1 (en) * 2002-10-16 2004-06-17 O'rourke Aidan Method for communicating information on fast and slow paths
US6781898B2 (en) * 2002-10-30 2004-08-24 Broadcom Corporation Self-repairing built-in self test for linked list memories
US7114041B2 (en) * 2002-12-20 2006-09-26 Lsi Logic Corporation AMBA modular memory controller
US7185126B2 (en) * 2003-02-24 2007-02-27 Standard Microsystems Corporation Universal serial bus hub with shared transaction translator memory
US6959355B2 (en) * 2003-02-24 2005-10-25 Standard Microsystems Corporation Universal serial bus hub with shared high speed handler
US7529252B2 (en) * 2003-06-27 2009-05-05 Broadcom Corporation Weighted queuing scheme for managing datagrams within a network device using single port double buffer (ping-pong) memory
US7974284B2 (en) * 2003-06-27 2011-07-05 Broadcom Corporation Single and double tagging schemes for packet processing in a network device
US7339900B2 (en) * 2003-09-26 2008-03-04 Sun Microsystem, Inc. Method and apparatus for preventing spanning tree loops during traffic overload conditions
US20060227759A1 (en) * 2004-09-14 2006-10-12 Bohm Mark R Peripheral Sharing USB Hub
US20060059293A1 (en) * 2004-09-14 2006-03-16 Henry Wurzburg Universal serial bus switching hub
EP1811394B1 (en) * 2004-10-28 2012-01-18 Magima Digital Information Co., Ltd. An arbitrator and its arbitration method
US8000324B2 (en) * 2004-11-30 2011-08-16 Broadcom Corporation Pipeline architecture of a network device
US7583588B2 (en) * 2004-11-30 2009-09-01 Broadcom Corporation System and method for maintaining a layer 2 modification buffer
US20060203824A1 (en) * 2005-02-18 2006-09-14 Song-Huo Yu Passing values through a memory management unit of a network device
US7254768B2 (en) * 2005-02-18 2007-08-07 Broadcom Corporation Memory command unit throttle and error recovery
US20060187924A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Ingress handling of data in a network device
US20060187948A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Layer two and layer three virtual private network support in a network device
US20060187923A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Dynamic filter processor key generation based on packet type
US7606231B2 (en) 2005-02-18 2009-10-20 Broadcom Corporation Pipeline architecture for a network device
US7948896B2 (en) * 2005-02-18 2011-05-24 Broadcom Corporation Weighted-fair-queuing relative bandwidth sharing
US7577096B2 (en) * 2005-02-18 2009-08-18 Broadcom Corporation Timestamp metering and rollover protection in a network device
US7630306B2 (en) * 2005-02-18 2009-12-08 Broadcom Corporation Dynamic sharing of a transaction queue
US8457131B2 (en) * 2005-02-18 2013-06-04 Broadcom Corporation Dynamic table sharing of memory space within a network device
US7522622B2 (en) * 2005-02-18 2009-04-21 Broadcom Corporation Dynamic color threshold in a queue
US7529191B2 (en) * 2005-02-18 2009-05-05 Broadcom Corporation Programmable metering behavior based on table lookup
US20060187832A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Filter based range check in a network device
US8331380B2 (en) * 2005-02-18 2012-12-11 Broadcom Corporation Bookkeeping memory use in a search engine of a network device
US20060187917A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Pre-learning of values with later activation in a network device
US20060187936A1 (en) * 2005-02-18 2006-08-24 Broadcom Corporation Table searching techniques in a network device
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
KR100712511B1 (ko) * 2005-05-27 2007-04-27 삼성전자주식회사 호스트와 적어도 2개의 서로 다른 속도의 데이터 통신이가능한 메모리 장치 및 이를 이용하는 데이터 통신 시스템
US8041861B2 (en) * 2005-05-27 2011-10-18 Samsung Electronics Co., Ltd. Memory device communicating with a host at different speeds and managing access to shared memory
JP2007026022A (ja) * 2005-07-15 2007-02-01 Nec Electronics Corp バス調停装置及びバス調停方法
US7869411B2 (en) * 2005-11-21 2011-01-11 Broadcom Corporation Compact packet operation device and method
US7433990B2 (en) * 2006-01-24 2008-10-07 Standard Microsystems Corporation Transferring system information via universal serial bus (USB)
US7523243B2 (en) * 2006-04-14 2009-04-21 Standard Microsystems Corporation Multi-host USB device controller
US7480753B2 (en) * 2006-04-27 2009-01-20 Standard Microsystems Corporation Switching upstream and downstream logic between ports in a universal serial bus hub
US20080005262A1 (en) * 2006-06-16 2008-01-03 Henry Wurzburg Peripheral Sharing USB Hub for a Wireless Host
KR101321438B1 (ko) * 2006-09-26 2013-11-04 삼성전자주식회사 통신 시스템에서 메모리 확장 장치
US7930456B1 (en) * 2006-12-23 2011-04-19 Emc Corporation Data packet arbitration system
JP4715801B2 (ja) * 2007-04-26 2011-07-06 日本電気株式会社 メモリアクセス制御装置
JP2009003633A (ja) * 2007-06-20 2009-01-08 Panasonic Corp 情報処理装置
US8433859B2 (en) * 2008-11-25 2013-04-30 Mediatek Inc. Apparatus and method for buffer management for a memory operating
US9208108B2 (en) * 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
JP5382003B2 (ja) * 2009-02-02 2014-01-08 富士通株式会社 調停装置
CN102112973B (zh) * 2009-06-08 2016-04-13 松下知识产权经营株式会社 协调装置、协调系统、协调方法、半导体集成电路及图像处理装置
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
JP5614133B2 (ja) * 2010-07-02 2014-10-29 富士通株式会社 アクセス制御装置、アクセス制御方法およびストレージシステム
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
JP6056363B2 (ja) 2012-10-12 2017-01-11 株式会社ソシオネクスト 処理装置及び処理装置の制御方法
US10303624B2 (en) * 2014-07-08 2019-05-28 Arm Limited Arbitrating and multiplexing circuitry
US10922258B2 (en) * 2017-12-22 2021-02-16 Alibaba Group Holding Limited Centralized-distributed mixed organization of shared memory for neural network processing
TWI819635B (zh) * 2022-06-01 2023-10-21 瑞昱半導體股份有限公司 記憶體控制系統與記憶體控制方法

Family Cites Families (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
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
US4641302A (en) * 1985-06-24 1987-02-03 Racal Data Communications Inc. High speed packet switching arrangement
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
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
GB8915137D0 (en) * 1989-06-30 1989-08-23 Inmos Ltd Message routing
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
US5163046A (en) * 1989-11-30 1992-11-10 At&T Bell Laboratories Dynamic window sizing in a data network
US5159685A (en) * 1989-12-06 1992-10-27 Racal Data Communications Inc. Expert system for communications network
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
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
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
US5875464A (en) 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
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
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
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5457681A (en) * 1992-06-05 1995-10-10 Washington University ATM-Ethernet portal/concentrator
JPH066362A (ja) * 1992-06-23 1994-01-14 Hitachi Ltd Lanにおけるホストシステムのメッセージ処理負荷分散方式
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
JPH07118717B2 (ja) * 1993-01-05 1995-12-18 日本電気株式会社 マルチプロトコル対応のパケット網構成方法
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
US5365514A (en) * 1993-03-01 1994-11-15 International Business Machines Corporation Event driven interface for a system for monitoring and controlling a data communications network
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
US5546548A (en) * 1993-03-31 1996-08-13 Intel Corporation Arbiter and arbitration process for a dynamic and flexible prioritization
US5402415A (en) * 1993-04-22 1995-03-28 Washington University Multicast virtual circuit switch using cell recycling
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
GB9312135D0 (en) * 1993-06-11 1993-07-28 Inmos Ltd Generation of checking data
US5394402A (en) * 1993-06-17 1995-02-28 Ascom Timeplex Trading Ag Hub for segmented virtual local area network with shared media access
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通信方式
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
DE69428186T2 (de) * 1994-04-28 2002-03-28 Hewlett Packard Co Mehrfachsendeeinrichtung
DE69433109D1 (de) * 1994-04-28 2003-10-09 Hewlett Packard Co Mehrfachsendeeinrichtung
EP0681381A1 (en) * 1994-05-06 1995-11-08 International Business Machines Corporation Method and apparatus for modifying frame check sequences in intermediate high speed network nodes
DE69429983T2 (de) * 1994-05-25 2002-10-17 Ibm Datenübertragungsnetz und Verfahren zum Betreiben des Netzes
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
US5615340A (en) * 1994-07-21 1997-03-25 Allied Telesyn Int'l Corp. Network interfacing apparatus and method using repeater and cascade interface with scrambling
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
US5837021A (en) 1994-12-09 1998-11-17 L'air Liquide, Societe Anonyme Pour L'etude Et L'exploitation Des Procedes Georges Claude Installation for the treatment of at least one fluid, by passage through two adjacent masses of material
KR0132960B1 (ko) * 1994-12-22 1998-04-21 양승택 망 노드 폭주상태 결정장치 및 방법
US5566170A (en) * 1994-12-29 1996-10-15 Storage Technology Corporation Method and apparatus for accelerated packet forwarding
US5550816A (en) * 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
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
JPH08288965A (ja) 1995-04-18 1996-11-01 Hitachi Ltd スイッチングシステム
US5608726A (en) * 1995-04-25 1997-03-04 Cabletron Systems, Inc. Network bridge with multicast forwarding table
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
JP3515263B2 (ja) 1995-05-18 2004-04-05 株式会社東芝 ルータ装置、データ通信ネットワークシステム、ノード装置、データ転送方法及びネットワーク接続方法
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
US5751971A (en) 1995-07-12 1998-05-12 Cabletron Systems, Inc. Internet protocol (IP) work group routing
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
US5633710A (en) * 1995-10-04 1997-05-27 Egs Inc. System for self-aligning vehicle headlamps
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
JP2842522B2 (ja) 1995-12-06 1999-01-06 日本電気株式会社 Atmスイッチ及びその制御方法
US5689506A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Multicast routing in multistage networks
US5740375A (en) * 1996-02-15 1998-04-14 Bay Networks, Inc. Forwarding internetwork packets by replacing the destination address
US5754774A (en) 1996-02-15 1998-05-19 International Business Machine Corp. Client/server communication system
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
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
US5740171A (en) * 1996-03-28 1998-04-14 Cisco Systems, Inc. Address translation mechanism for a high-performance network switch
US5812527A (en) 1996-04-01 1998-09-22 Motorola Inc. Simplified calculation of cell transmission rates in a cell based netwook
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
US5872783A (en) 1996-07-24 1999-02-16 Cisco Systems, Inc. Arrangement for rendering forwarding decisions for packets transferred among network switches
US5748905A (en) 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US5835491A (en) 1996-11-21 1998-11-10 Xerox Corporation Method for supporting multicast capabilities in switching networks with a reservation ring
US5859849A (en) 1997-05-06 1999-01-12 Motorola Inc. Modular switch element for shared memory switch fabric
US5856977A (en) 1997-05-15 1999-01-05 Yang; Muh-Rong Distribution network switch for very large gigabit switching architecture

Also Published As

Publication number Publication date
EP0991999A1 (en) 2000-04-12
US6119196A (en) 2000-09-12
EP0991999B1 (en) 2011-10-12
WO1999000736A1 (en) 1999-01-07
EP0991999A4 (en) 2007-04-25
JP2002508099A (ja) 2002-03-12
ATE528888T1 (de) 2011-10-15

Similar Documents

Publication Publication Date Title
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US6052738A (en) Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
JP5036120B2 (ja) 非ブロック化共有インターフェイスを持つ通信システム及び方法
US7257683B2 (en) Memory arbitration system and method having an arbitration packet protocol
US6408367B2 (en) Data path architecture and arbitration scheme for providing access to a shared system resource
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
US20060010279A1 (en) Apparatus for use in a computer systems
JP2004320786A (ja) ネットワーク装置
AU2003234641B2 (en) Inter-chip processor control plane
US20050066135A1 (en) Memory control apparatus and memory control method
US20230269205A1 (en) Switch for transmitting packet, network on chip having the same, and operating method thereof
US9804959B2 (en) In-flight packet processing
JPH064401A (ja) メモリアクセス回路
GB2341771A (en) Address decoding
GB2341765A (en) Bus idle usage
GB2341772A (en) Primary and secondary bus architecture
GB2341699A (en) Inter-module data transfer
JP2003308248A (ja) メモリ制御装置
KR20040045665A (ko) 파이프라인형 직접 메모리 접근 컨트롤러
GB2341768A (en) Bus arbitration
GB2341767A (en) Bus arbitration
GB2341770A (en) Modular bus topology
GB2341769A (en) Data packet reordering

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: 20050628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060411

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070403

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070703

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

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: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071004

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: 20101012

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131012

Year of fee payment: 6

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