JP2003018188A - Flow architecture for remote high-speed interface application - Google Patents
Flow architecture for remote high-speed interface applicationInfo
- Publication number
- JP2003018188A JP2003018188A JP2001195009A JP2001195009A JP2003018188A JP 2003018188 A JP2003018188 A JP 2003018188A JP 2001195009 A JP2001195009 A JP 2001195009A JP 2001195009 A JP2001195009 A JP 2001195009A JP 2003018188 A JP2003018188 A JP 2003018188A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- remote
- queue
- programmable
- switch
- 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.)
- Pending
Links
- 230000007246 mechanism Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims description 17
- 239000004744 fabric Substances 0.000 claims description 13
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 4
- 239000000872 buffer Substances 0.000 description 16
- 238000012546 transfer Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- GIYXAJPCNFJEHY-UHFFFAOYSA-N N-methyl-3-phenyl-3-[4-(trifluoromethyl)phenoxy]-1-propanamine hydrochloride (1:1) Chemical compound Cl.C=1C=CC=CC=1C(CCNC)OC1=CC=C(C(F)(F)F)C=C1 GIYXAJPCNFJEHY-UHFFFAOYSA-N 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 241001479489 Peponocephala electra Species 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 description 1
Landscapes
- Bus Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、一般的には通信ネ
ットワークを管理するための方法及びシステムに関し、
特に通信ネットワーク内のスイッチングフロー制御機構
に関する。更に詳細には、本発明は、従来の優先度付け
出力キューイングを、論理フロー制御機構に置き換える
ための方法及びシステムに関する。この論理フロー制御
機構は、データ順序付け及び関連するフロー制御が同時
に処理され得るように、リモートバス相互接続として用
いることの可能なスイッチ機構の内部に実装される。FIELD OF THE INVENTION The present invention relates generally to methods and systems for managing communication networks,
In particular, it relates to a switching flow control mechanism in a communication network. More particularly, the present invention relates to methods and systems for replacing conventional prioritized output queuing with logical flow control mechanisms. This logical flow control mechanism is implemented inside a switch mechanism that can be used as a remote bus interconnect so that data ordering and associated flow control can be handled simultaneously.
【0002】[0002]
【従来の技術】従来、遅いネットワーク速度、及び伝送
制御プロトコル/インターネット・プロトコル(TCP
/IP)のようのような上位層プロトコルにより提供さ
れるフロー制御が、スイッチにおけるフロー制御上の問
題を回避してきた。近年のノード間フロー制御や通信ネ
ットワーク内のデータ伝送媒体の発達により、ブリッジ
若しくはスイッチにおける輻輳がより大きな問題になっ
てきた。全二重伝送機能に呼応した近年の1ギガビット
/秒に及ぶネットワーク速度増加に応じて、フロー制御
機構が要求されてきている。このようなフロー制御の目
標には、効率とフェアネスが含まれる。2. Description of the Related Art Conventionally, slow network speed and transmission control protocol / Internet protocol (TCP)
Flow control provided by higher layer protocols such as / IP) have circumvented flow control problems at the switch. With the recent development of inter-node flow control and data transmission media in communication networks, congestion in bridges or switches has become a greater problem. A flow control mechanism has been required in response to the recent increase in network speed of 1 Gbit / sec corresponding to the full-duplex transmission function. Such flow control goals include efficiency and fairness.
【0003】サーバー入出力(I/O)は、次世代I/
O(NGIO)、フューチャーI/O(FIO)、及び
システムI/O(SIO)のようなニューイニシアティ
ブにより定義された方向性で発展している。NGIO、
FIO及びSIOはInfiniBandコンソシアム
によってInfiniBandアーキテクチュアへと統
合された。これらのI/Oアダプターは、ホストチャネ
ルアダプター(HCA)とターゲットチャネルアダプタ
ー(TCA)を相互接続するための、スイッチ機構を要
する。Server input / output (I / O) is the next generation I / O.
It is evolving in a direction defined by new initiatives such as O (NGIO), Future I / O (FIO), and System I / O (SIO). NGIO,
FIO and SIO have been integrated into the InfiniBand architecture by the InfiniBand consortium. These I / O adapters require a switch mechanism to interconnect the host channel adapter (HCA) and target channel adapter (TCA).
【0004】インターナショナル・ビジネス・マシーン
ズ(IBM)製のPRIZMAスイッチ構造のような、
多くの従来型スイッチ機構は、プログラム可能なパケッ
トフロー優先度方式を用いている。初期化の際に、利用
可能な優先度の数として1からnの値を設定できる。し
たがって、このようなスイッチは、n個のキューによる
優先順位付け方式による最大nの優先度レベルをサポー
トすることが可能である。スイッチング機構の入出力部
において、異なる優先度を持つ複数のパケットのフロー
制御を行うために、フロー制御機構を用いることができ
る。このようなスイッチ機構において入力フロー制御を
実現するのに、オンチップピンを用いても良いし、或い
は各パケットのヘッダー内の受信許可(receve−
grant)情報によっても良い。スイッチ機構の出力
におけるフロー制御は送信許可ピンにより実現可能であ
る。Like the PRIZMA switch structure made by International Business Machines (IBM),
Many conventional switching schemes use programmable packet flow priority schemes. At initialization, a value from 1 to n can be set as the number of available priorities. Therefore, such a switch is capable of supporting up to n priority levels with an n-queue prioritization scheme. A flow control mechanism can be used to control the flow of a plurality of packets having different priorities at the input / output unit of the switching mechanism. On-chip pins may be used to implement input flow control in such a switch fabric, or receive-in the header of each packet.
grant) information may be used. Flow control at the output of the switch fabric can be realized by the send enable pin.
【0005】このような優先度付きフロー制御方式にお
いては、ある優先度が使用不可にされるとそれより下位
の優先度の全てもまた使用不可とされることになろう。
n個の優先度レベルに対応したn個のキューは次のよう
な優先度規則によりサービスされる。すなわち、高い優
先度のキュー内で待機中のパケットは、どの下位の優先
度キューよりも前に転送される。In such a flow control system with priority, if a certain priority is disabled, all lower priorities will also be disabled.
The n queues corresponding to the n priority levels are served by the following priority rules. That is, a packet waiting in a high priority queue will be forwarded before any lower priority queue.
【0006】[0006]
【発明が解決しようとする課題】従来型スイッチ機構内
におけるフロー制御しきい値及びバックプレッシャート
リガーは、優先度ベースのキューイングに依拠してお
り、個々のキューサイズに対して累積出力キューサイズ
を用いていた。ゆえに、高い優先度が使用不可にされた
時にはいつも、それより下位の全ての優先度のトラフィ
ックは使用不可になることが保証されていた。PCIバ
スインターフェースのようなシリアルキューは、高速ネ
ットワークスイッチングインターフェースを用いること
のパフォーマンス上の利点を潜在的に減殺しうるような
ボトルネックになる可能性がある。PCIは、よく知ら
れた32/64ビットローカルバス標準であり、パーソ
ナルコンピュータ内の、ユーザーディスプレイ、ディス
クドライブ、モデム等の周辺機器に高速にアクセスする
ために設計されたものである。The flow control thresholds and back pressure triggers in conventional switch fabrics rely on priority-based queuing to provide cumulative output queue sizes for individual queue sizes. Was used. Therefore, whenever a higher priority was disabled, all lower priority traffic was guaranteed to be disabled. Serial queues such as the PCI bus interface can become a bottleneck that can potentially diminish the performance benefits of using a high speed network switching interface. PCI is a well known 32/64 bit local bus standard designed for fast access to peripherals such as user displays, disk drives, modems in personal computers.
【0007】スイッチI/Oにおけるバスインターフェ
ースの物理的割り込みによって、スイッチ内部のバッフ
ァオーバーフロー若しくはアンダーフローを防止するた
めに適切なバッファ管理が施されなければならない。リ
モートPCIバスインターフェースのようなシリアルキ
ューはフロー制御の潜在的なボトルネックになる。した
がって、スイッチのキューイング能力を利用して、リモ
ートバスインターフェースが遠隔切り替えできるよう
な、パラレルなフロー制御とデータ順序付け機構を維持
するシステム及び方法に対する要求が存在することが理
解されよう。Appropriate buffer management must be implemented to prevent buffer overflow or underflow within the switch due to physical bus interface interrupts in the switch I / O. Serial queues such as the remote PCI bus interface become a potential bottleneck for flow control. Therefore, it will be appreciated that there is a need for a system and method that maintains parallel flow control and data ordering mechanisms such that remote bus interfaces can be remotely switched utilizing the queuing capabilities of the switches.
【0008】[0008]
【課題を解決するための手段】以下、リモートバス間の
高速スイッチングインターフェースを有するシステムを
開示する。本システムは、複数のリモートバスインター
フェースが接続されるスイッチ機構を含む。リモートバ
スインターフェースのプロトコル要件に応じてパケット
のスケジューリングを行うために、複数のパラレル論理
フローキューを含む、プログラム可能フローキューが用
いられる。すなわち、本発明によれば、リモートバス間
の高速スイッチングインターフェースを提供するための
装置において、スイッチ機構と、リモートバスと、当該
リモートバスを前記スイッチ機構にインターフェースす
る、リモートバスインターフェースと、リモートバスイ
ンターフェースのプロトコル要件に応じて、パケットの
スケジューリングを行うためのプログラム可能フローキ
ューとを含む、装置が提供される。プログラム可能フロ
ーキューは、スイッチ機構の中に組み込まれており、リ
モートバスインターフェースからスイッチ機構に到着し
たパケットが、スイッチ機構から出る前に、プログラム
可能フローキューへ経路指定されても良い。また、リモ
ートバスインターフェースが、リモート周辺コンポーネ
ントを相互接続するインターフェースであっても良い。
更に、リモートバスは、リモートバス間でデータの順序
を決定するためのバスアーキテクチュアを有し、かつ、
プログラム可能フローキューは、更に、バスアーキテク
チュアに従ってパケットのスケジューリングを行うため
の、データ順序付けロジックを有しても良い。ここで、
プログラム可能フローキューは、複数のパラレル論理フ
ローキューを含んでいても良い。データ順序付けロジッ
クは、バスアーキテクチュアに従い、複数のパラレル論
理フローキューを特徴付けても良い。プログラム可能フ
ローキューは、更に、複数のパラレル論理フローキュー
のそれぞれに対するキューしきい値要件を、個別にプロ
グラマブルに調整するためのロジックを有しても良い。
スイッチ機構は、リモートバスからの入力パケットを受
信するためのソースポートを有し、かつ、当該装置は更
に、上記バスアーキテクチュアに従い、入力パケットを
プログラム可能フローキューに経路指定するためのバス
アーキテクチュア命令を保持するトランザクション作業
キューを含んでも良い。また、本発明は、スイッチ機構
を介してリモートバス間の高速スイッチングインターフ
ェースを提供するための方法であって、前記スイッチ機
構によってリモートバスをインターフェースし、前記リ
モートバスインターフェースのプロトコル要求に従いパ
ケットをスケジューリングする方法も提供する。本発明
の目的、特徴及び利点については以下に示す詳細な説明
で明らかとなろう。尚、本発明の特徴と思われる新規な
点については特許請求の範囲に掲げるが、発明自体に加
え、好ましい使用形態、別の目的及びその利点に関して
は、以下の実施例の詳細な説明を図面と併せて参照する
ことで、最も理解されるであろう。A system having a high speed switching interface between remote buses is disclosed below. The system includes a switch mechanism to which multiple remote bus interfaces are connected. A programmable flow queue, including multiple parallel logical flow queues, is used to schedule packets according to the protocol requirements of the remote bus interface. That is, according to the present invention, in a device for providing a high-speed switching interface between remote buses, a switch mechanism, a remote bus, a remote bus interface for interfacing the remote bus with the switch mechanism, and a remote bus interface. And a programmable flow queue for scheduling packets according to the protocol requirements of. The programmable flow queue is embedded in the switch fabric and packets arriving at the switch fabric from the remote bus interface may be routed to the programmable flow queue before exiting the switch fabric. The remote bus interface may also be an interface that interconnects remote peripheral components.
In addition, the remote bus has a bus architecture for determining the order of data among the remote buses, and
The programmable flow queue may also include data ordering logic for scheduling packets according to the bus architecture. here,
The programmable flow queue may include multiple parallel logical flow queues. The data ordering logic may characterize multiple parallel logical flow queues according to the bus architecture. The programmable flow queue may further include logic for individually programmable adjustment of queue threshold requirements for each of the plurality of parallel logical flow queues.
The switch fabric has a source port for receiving an incoming packet from a remote bus, and the device further provides a bus architecture instruction for routing the incoming packet to a programmable flow queue according to the above bus architecture. It may also include a transaction work queue to hold. The present invention also provides a method for providing a high-speed switching interface between remote buses via a switch mechanism, wherein the switch mechanism interfaces a remote bus and schedules packets according to a protocol request of the remote bus interface. It also provides a method. The objectives, features and advantages of the present invention will be apparent from the detailed description that follows. It should be noted that, although the novel points that are considered to be the features of the present invention are listed in the scope of claims, a detailed description of the following embodiments will be given with respect to the preferred form of use, another object and advantages thereof in addition to the invention itself. It will be best understood by reference in conjunction with.
【0009】[0009]
【発明の実施の形態】本発明は、従来のスイッチ内フロ
ーの優先度方式を論理制御アーキテクチュアに置き換え
るものであり、従来のn個の優先度キューが、n個の論
理的フローキューに置き換えられる。PCI間スイッチ
ング等の実装をサポートするための、1ポートに対して
多数のフローを有するスイッチング機構の構成を開示す
る。本発明は、新たに開発されたPRIZMAスイッチ
(IBM製)内に見られるような従来型スイッチ機構に
改変を加え、数多くの様々なトラフィックフローを効率
的にサポートできるようにする。BEST MODE FOR CARRYING OUT THE INVENTION The present invention replaces the conventional priority scheme for in-switch flows with a logical control architecture, where n conventional priority queues are replaced with n logical flow queues. . Disclosed is a configuration of a switching mechanism having a large number of flows per port to support implementations such as PCI-to-PCI switching. The present invention modifies a conventional switch mechanism such as found in the newly developed PRIZMA switch (manufactured by IBM) to enable it to efficiently support many different traffic flows.
【0010】このような新しい出力キューアーキテクチ
ャによって、複数の論理フローに対する個別のサービス
及びフロー制御が可能となる。このような柔軟性のある
キューイングアーキテクチュアは、例えば、PCIバス
順序付け命令が遵守されなければならないような実装を
行う場合に要求される。各論理フローは、従来の優先度
キューと同様に物理出力ポートにキュー(即ち、論理ポ
ート)を有する。これら論理キューは伝送に関し、個別
にかつ独立に使用可、使用不可にすることができる。従
来の優先度キューと異なり、これらの論理フローキュー
は固有の相互に独立な順序付け方式によってプログラム
されてはいない。物理出力ポートは、要求される処理に
従いプログラマブルに決定された順序で論理フローキュ
ーの出力を提供する。例えば、論理フローキューの集合
体から物理出力ポートへの出力フローは、ラウンドロビ
ン方式で行われてもよく、またPCIバスアプリケーシ
ョンの場合には、フロースケジューリングはPCIバス
コマンド順序付けの規則により確立された要件を実現す
るようにプログラムされるであろう。Such a new output queue architecture allows for individual service and flow control for multiple logical flows. Such a flexible queuing architecture is required, for example, for implementations where PCI bus ordering instructions must be adhered to. Each logical flow has a queue (ie, logical port) on a physical output port, similar to a conventional priority queue. These logical queues can be individually and independently enabled and disabled for transmission. Unlike conventional priority queues, these logical flow queues are not programmed with a unique, mutually independent ordering scheme. The physical output port provides the output of the logical flow queue in a programmable determined order according to the required processing. For example, output flow from a collection of logical flow queues to physical output ports may be done in a round robin fashion, and in the case of PCI bus applications, flow scheduling was established by the rules of PCI bus command ordering. Will be programmed to fulfill the requirements.
【0011】[0011]
【実施例】以下図面を参照するに際し、全図面を通し、
同じ物及び対応するパートに対しては同じ参照番号を付
す。図1において、通信スイッチ100(スイッチ機
構”switch fabric”と呼ぶ場合もある)
内に本発明によるフローアーキテクチュアが実装されて
いる。図示された実施例において、スイッチ100は,
16の双方向ポートを有するパケットベースの16×1
6スイッチングユニットである。ポートの双方向性を簡
明に表すために、16の出力ポート106に対応する1
6の入力ポート102を示す。スイッチ100はPRI
ZMAスイッチであっても良く、各ポートは各方向に2
Gbps若しくはそれより大きいバンド幅を提供するこ
とが可能である。このようなポート速度にすると、スイ
ッチ100が、最近の高速ネットワーキングI/Oで要
求されるバンド幅を提供するに特に適したものとなる。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to the drawings below,
The same parts and corresponding parts are given the same reference numbers. In FIG. 1, a communication switch 100 (sometimes referred to as a switch mechanism "switch fabric")
A flow architecture according to the present invention is implemented therein. In the illustrated embodiment, the switch 100 is
Packet-based 16x1 with 16 bidirectional ports
6 switching units. 1 corresponding to 16 output ports 106 to simplify the port bidirectionality
6 input ports 102 are shown. Switch 100 is PRI
It may be a ZMA switch, with 2 ports in each direction.
It is possible to provide bandwidths of Gbps or higher. Such port speeds make switch 100 particularly well suited to provide the bandwidth required by modern high speed networking I / Os.
【0012】更に図1に示される通り、スイッチ100
は共用パケットメモリーモジュール104を含む。メモ
リーモジュール104には、あらゆるタイプの様々なコ
ンピュータメモリー装置を用いて良い。図2及び3を参
照して更に詳細に説明するように、複数の入力ポート1
02の1つから入力される入力パケットはプログラム可
能である。これに関しては、図示された実施例において
は、パケットサイズは32バイトであり、当該パケット
は、3バイトのヘッダーとデータフィールドを含むとす
る。宛先ポート(複数の出力ポート106のうちの1
つ)が、パケットヘッダー中に定義される。宛先ポート
アドレスをビットマップフォーマットで用意することに
より、何れの出力ポート106からのマルチキャスティ
ングも可能である。スイッチ100は、一組の論理フロ
ーキュー内に実現されたプログラム可能なパケット送信
(キューイング)を有する。当該一組の論理フローキュ
ーとは、出力ポート0に関連付けられた論理フローキュ
ー108、出力ポート1に関連付けられた論理フローキ
ュー110及び出力ポート15に関連付けられた論理フ
ローキュー112などを含む。As further shown in FIG. 1, switch 100
Includes a shared packet memory module 104. The memory module 104 may be any of a variety of computer memory devices. A plurality of input ports 1 as described in more detail with reference to FIGS. 2 and 3.
Input packets coming in from one of the 02 are programmable. In this regard, in the illustrated embodiment, the packet size is 32 bytes and the packet includes a 3-byte header and data field. Destination port (one of the plurality of output ports 106
Are defined in the packet header. By preparing the destination port address in the bitmap format, multicasting from any output port 106 is possible. The switch 100 has programmable packet transmission (queuing) implemented within a set of logical flow queues. The set of logical flow queues includes a logical flow queue 108 associated with output port 0, a logical flow queue 110 associated with output port 1, a logical flow queue 112 associated with output port 15, and the like.
【0013】メッセージの構造
図2に、本発明の好適な実施例による、スイッチパケッ
トの内部構造を示す。以下で詳細に説明を行うが、スイ
ッチ100はリモートバスからのサービス若しくはアク
セス要求に応答してトランザクションパケット200を
構成する。図2に示される通り、トランザクションパケ
ット200は、トランザクションヘッダー208を含
む。トランザクションヘッダー208は、スイッチ10
0を介して正しい出力(ターゲット)ポートにトランザ
クションパケットを導くためのスイッチ内部経路に関す
る経路情報を含む。トランザクションパケット200は
更に、トランザクションペイロード206を含む。トラ
ンザクションペイロード206は、ターゲットバスイン
ターフェースロジック(不図示)により解釈され実行さ
れるべきメッセージを含む。PCI間スイッチングにお
いては、このようなバスインターフェースロジックは、
ターゲットバスPCIシーケンサーということになろ
う。Message Structure FIG. 2 shows the internal structure of a switch packet according to the preferred embodiment of the present invention. As will be described in detail below, the switch 100 constructs a transaction packet 200 in response to a service or access request from the remote bus. As shown in FIG. 2, the transaction packet 200 includes a transaction header 208. The transaction header 208 is the switch 10
Contains routing information about the switch internal route to direct the transaction packet through 0 to the correct output (target) port. The transaction packet 200 further includes a transaction payload 206. The transaction payload 206 contains the message to be interpreted and executed by the target bus interface logic (not shown). In PCI-to-PCI switching, such a bus interface logic is
It would be a target bus PCI sequencer.
【0014】トランザクションパケット200内のオリ
ジナルメッセージは、メッセージヘッダー204及びメ
ッセージペイロード202を含む。メッセージヘッダー
204は、トランザクション固有の情報(例えば、コマ
ンド、アドレス、バイトイネーブル)を含み、メッセー
ジペイロード202は最大32バイトのデータを含む。
32バイトよりも少ないペイロードデータを持つメッセ
ージが、トランザクションヘッダー208内部にタグさ
れても良い。このタグは、上記したターゲットバスイン
ターフェースロジック(シーケンサー)により利用さ
れ、単一若しくはそれ以上のデータワードを転送するた
めの一連のメモリー書き込みコマンドが生成される。The original message in transaction packet 200 includes message header 204 and message payload 202. The message header 204 contains transaction specific information (eg command, address, byte enable) and the message payload 202 contains up to 32 bytes of data.
Messages with payload data less than 32 bytes may be tagged inside the transaction header 208. This tag is used by the target bus interface logic (sequencer) described above to generate a series of memory write commands to transfer a single or more data words.
【0015】キュー構造
図3には、論理ポートアダプター300が示されてい
る。当該アダプターは、入力ポートから物理出力ポート
へ転送されるパケットを本発明の好適な実施例に従っ
て、キューイングするためのものである。本発明のキュ
ーイングシステム及びキューイング方法のキーとなる特
徴の一つは、フレキシブルな経路指定及び出力キューイ
ングがなされることで、このことはどのような特定のリ
モートバスアーキテクチュアにも適用可能である。図示
及び説明の簡便のために、以降の図面はPCI間スイッ
チング構成であるものとして扱う。Queue Structure A logical port adapter 300 is shown in FIG. The adapter is for queuing packets transferred from an input port to a physical output port according to the preferred embodiment of the present invention. One of the key features of the queuing system and method of the present invention is the flexible routing and output queuing, which is applicable to any particular remote bus architecture. is there. For simplicity of illustration and description, the following drawings are treated as a PCI-to-PCI switching configuration.
【0016】論理ポートアダプタ300は、出力ポート
キューイングを行う、スイッチ100のスイッチ構造
(スイッチングコアと呼ぶこともある)内に実装されて
いる。したがって、全ての論理フローキュー108乃至
112は、スイッチ100の”下流”に向いた出力を有
する。図3aはスイッチコアに実装された論理フローキ
ューの構成を示す。詳細には、論理フローキューQ1、
Q2、Q3及びQ4は、プログラム可能フローキューブ
ロック302を構成している。このフローキューブロッ
ク302には出力ポート310が関連付けられ、更に出
力ポート310には、リモートバスBが関連付けられて
いる。同様に、論理フローキューQ1’、Q2’、Q
3’及びQ4’はプログラム可能フローキューブロック
304を構成し、キューブロック304は、リモートバ
スAの入力ポート308と関連付けられている。図示さ
れた実施例では、バスA及びBは双方向的であって良
く、したがって、同時にソースとしてもデスティネーシ
ョンとしても働き得る。図3には二つのバスしか描かれ
ていないが、論理ポートアダプター300は、単一若し
くはそれ以上のソースバス及び単一若しくはそれ以上の
デスティネーションバスを有する構成にも適用し得る。The logical port adapter 300 is implemented in the switch structure (sometimes referred to as a switching core) of the switch 100, which performs output port queuing. Therefore, all logical flow queues 108-112 have outputs directed "downstream" of switch 100. FIG. 3a shows the configuration of the logical flow queue implemented in the switch core. Specifically, the logical flow queue Q1,
Q2, Q3, and Q4 form a programmable flow queue block 302. An output port 310 is associated with the flow queue block 302, and a remote bus B is associated with the output port 310. Similarly, logical flow queues Q1 ', Q2', Q
3'and Q4 'comprise a programmable flow queue block 304, which is associated with an input port 308 of remote bus A. In the illustrated embodiment, buses A and B may be bidirectional, and thus may simultaneously serve as a source and a destination. Although only two buses are depicted in FIG. 3, the logical port adapter 300 is also applicable to configurations having a single or more source buses and a single or more destination buses.
【0017】トランザクションパケット200のよう
な、トランザクションパケットであって、バスBに転送
されるべきものは、プログラム可能論理フローキューブ
ロック302を介して出力ポート310に送信される。
各々のタイプのトランザクションに割り当てられるキュ
ーは以下の基準に従って決定される。第1に、システム
を通過するトランザクションは、バスA及びバスBの一
方若しくは双方により使用されているデータ順序付け規
則を満たすこと。次に、数多くのトランザクションを独
立した並行な複数の経路中を移動させると、より良いフ
ロー及びバッファリング効率が得られるということであ
る。図4は、キューの割り当てに関し、上記第1の基準
に沿い、図3の論理アダプター内に実装し得るバスアー
キテクチュア仕様規則を図示したものである。この例で
は、論理ポートアダプタ300を通過するパケットデー
タは、図4に記載のデータ順序付け規則を満たす。図
中、行ー>列は、許容される転送を示す。本図に示され
る仕様規則は、以下図5及び図6に示される実施例にお
けるキューイング方式及びコマンド操作の説明に用い
る。Transaction packets, such as transaction packet 200, that are to be transferred to bus B are sent to output port 310 via programmable logic flow queue block 302.
The queue assigned to each type of transaction is determined according to the following criteria. First, transactions passing through the system must meet the data ordering rules used by one or both of Bus A and Bus B. Secondly, moving a large number of transactions in independent parallel paths will result in better flow and buffering efficiency. FIG. 4 illustrates a bus architecture specification rule that may be implemented within the logical adapter of FIG. 3 in accordance with the first criteria above regarding queue allocation. In this example, the packet data passing through the logical port adapter 300 satisfies the data ordering rule described in FIG. In the figure, the row-> column shows the allowable transfer. The specification rules shown in this figure will be used to describe the queuing method and command operation in the embodiments shown in FIGS. 5 and 6 below.
【0018】コマンド操作
図5は、本発明によるスイッチアーキテクチュア400
を示す。スイッチアーキテクチュア400は双方向PC
IバスA及びBと、これらに対応するPCIインターフ
ェース404及び418を含む。スイッチアーキテクチ
ュア400は更に、バスBの出力ポートに関連付けられ
たプログラム可能フローキュー412及び、バスAの出
力ポートに関連付けられたプログラム可能フローキュー
410を含む。プログラム可能フローキュー412及び
410は、複数の論理フローキューを含む点で、プログ
ラム可能フローキュー302及び304と類似する。更
に、図5に示される通り、スイッチアーキテクチュア4
00は、トランザクション作業キュー(TWQ)406
及びTWQ416を含む。これらTWQは、プログラム
可能フローキュー410及び412を介してPCIイン
ターフェース418及び404間に転送されるべき入出
力パケットを処理する。以下には、双方向コマンドフロ
ー及びデータにおいて使用されるスイッチアーキテクチ
ュア400の高レベル構成について記載する。Command Operation FIG. 5 illustrates a switch architecture 400 according to the present invention.
Indicates. Switch architecture 400 is a bi-directional PC
It includes I-buses A and B and their corresponding PCI interfaces 404 and 418. Switch architecture 400 further includes a programmable flow queue 412 associated with the output port of bus B and a programmable flow queue 410 associated with the output port of bus A. Programmable flow queues 412 and 410 are similar to programmable flow queues 302 and 304 in that they include multiple logical flow queues. Further, as shown in FIG. 5, the switch architecture 4
00 is a transaction work queue (TWQ) 406
And TWQ416. These TWQs handle I / O packets to be transferred between PCI interfaces 418 and 404 via programmable flow queues 410 and 412. The following describes the high level configuration of the switch architecture 400 used in bidirectional command flow and data.
【0019】a 通知メモリー書き込み
PCIインターフェース404内のプリフェッチ可能な
アドレス空間に対するPCIメモリー書き込み(MW)ア
クセス要求の受信に応答し、TWQ406内のメモリ空
間が使用可能であれば、PCIトランザクション情報は
TWQ406内にロードされる。TWQ406内に使用
可能な空間がない場合には、TWQ406内にうまく配
置されるまでそのトランザクションは再試行される。次
に、TWQ406内部のロジックがトランザクションパ
ケットを構築し、そのパケットを指定されたトランザク
ションキューQ1に送信する。キューQ1は、図3に図
示されるように、ターゲットバスBの通知メモリー書込
み(PMW)キューとして指定されているものである。
当該パケットは、こうして、トランザクションパケット
のトランザクションヘッダーに記述されている通り、タ
ーゲットバスBに経路指定される。A Notification Memory Write In response to receiving a PCI memory write (MW) access request for a prefetchable address space within the PCI interface 404, and if memory space within the TWQ 406 is available, the PCI transaction information is within the TWQ 406. Loaded in. If there is no space available in TWQ 406, the transaction is retried until successfully placed in TWQ 406. Next, the logic inside the TWQ 406 constructs a transaction packet and sends the packet to the designated transaction queue Q1. Queue Q1 is designated as the notify memory write (PMW) queue for target bus B, as shown in FIG.
The packet is thus routed to the target bus B as described in the transaction header of the transaction packet.
【0020】PCIインターフェース404若しくは4
18に入ってくるパケットは、各々そのメッセージヘッ
ダー内にシーケンス番号を有している。シーケンス番号
は、PCI書き込みトランザクションをそれが生成する
PMWパケットに関連付ける。第2のシーケンス番号が
各々のソースバス用に保持される。この追加のシーケン
ス番号は、ソースPCIバスインターフェースで書込み
トランザクションが実行される度に増分される。ソース
バスにおける単一のPCI書込み操作に関連付けられて
いるシーケンスの中の最後のPMWは、1に設定され
た、最終PWMシーケンス指標も有する。ソースバスの
読み出しトランザクションであって、同じバス上のPM
Wトランザクションと同じ方向に伝送されている、読み
出しトランザクションは、TWQ406内部のメッセー
ジヘッダー内から上記シーケンス番号を取り出す。ター
ゲットバスBでの到着後、読み出しトランザクション
は、それ自身のシーケンス番号と同じか、より小さいシ
ーケンス番号を有する全てのPMWトランザクションを
待ち、その後読み出しトランザクションの処理が許可さ
れる。このようにして、非シリアル転送において、PC
Iインターフェースに対するデータ順序付けが維持され
る。PCI interface 404 or 4
Each packet entering 18 has a sequence number in its message header. The sequence number associates the PCI write transaction with the PMW packet it produces. A second sequence number is retained for each source bus. This additional sequence number is incremented each time a write transaction is performed on the source PCI bus interface. The last PMW in the sequence associated with a single PCI write operation on the source bus also has the final PWM sequence index set to one. Source bus read transaction, PM on the same bus
The read transaction, which is transmitted in the same direction as the W transaction, retrieves the sequence number from within the message header inside the TWQ 406. After arrival on the target bus B, the read transaction waits for all PMW transactions with a sequence number equal to or smaller than its own sequence number, after which the read transaction is allowed to process. Thus, in non-serial transfer, the PC
Data ordering for the I interface is maintained.
【0021】ソースバスAにおいて転送が完了し、当該
トランザクションに関連するデータバッファー(バッフ
ァー408)内の全てのデータがパケット化されてスイ
ッチ装置に送信されたら、そのトランザクション情報は
TWQ406から削除される。
b 遅延読み出し要求及び遅延読み出し完了
スイッチアーキテクチュア400は、PCI I/O読
み出し要求、構成読み出し、メモリー読み出し(M
R)、MRL若しくはMRMに応答する。読み出し要求
のための入力パケットとともにエンコードされたトラン
ザクション情報は、現在TWQ406内部で処理されて
いるトランザクションのトランザクション情報と比較さ
れる。一致した場合、スイッチアーキテクチュア400
内部に、その入力パケットに関連したトランザクション
用のアクティブな遅延読み出し要求(DRR)があるこ
とになる。When the transfer is completed on the source bus A and all the data in the data buffer (buffer 408) related to the transaction is packetized and transmitted to the switch device, the transaction information is deleted from the TWQ 406. b Delayed Read Request and Delayed Read Completion Switch architecture 400 provides PCI I / O read request, configuration read, memory read (M
R), MRL or MRM. The transaction information encoded with the input packet for the read request is compared to the transaction information of the transaction currently being processed within TWQ 406. If matched, switch architecture 400
Inside, there will be an active delayed read request (DRR) for the transaction associated with that input packet.
【0022】DRRアクティブ(一致検出)の場合、デ
ータ使用可能フラグがチェックされ、当該トランザクシ
ョン用のデータが現在データバッファー408に存在す
るかどうかが決定される。そのようなトランザクション
データがデータバッファー408内にある場合には、そ
のデータは、要求元マスターに転送される。そのような
トランザクションデータがなデータバッファ408内に
無い場合には、トランザクションは再試行される。入力
パケット(トランザクション要求)内にエンコードされ
たトランザクションデータがTWQ406内部で現在処
理されているどのトランザクションとも一致しない場合
には、スイッチアーキテクチュア400の応答は、TW
Q406内のキューの現在の使用可能状況に依存する。
作業キューが使用可能ではなくかつデータバッファー4
08内部に使用可能なバッファー空間が無い場合(スイ
ッチビジー状態)には、入力されるトランザクション要
求(読み出し要求)は後に再試行される。TWQ406
内部でワークキューが使用可能であるか、データバッフ
ァー408内部でバッファー空間が使用可能である場合
には、PCIトランザクション要求は、当該トランザク
ションに関係する制御情報(コマンドアドレス、バイト
イネーブル)がTWQ406内に保存されて、当該トラ
ンザクションは再試行される。In the case of DRR active (match detection), the data available flag is checked to determine if the data for the transaction is currently in the data buffer 408. If such transaction data is in the data buffer 408, it is transferred to the requesting master. If there is no such transaction data in the data buffer 408, the transaction is retried. If the transaction data encoded in the input packet (transaction request) does not match any transaction currently being processed within TWQ 406, the response of switch architecture 400 is TW.
It depends on the current availability of the queues in Q406.
Work queue not available and data buffer 4
If there is no available buffer space inside 08 (switch busy state), the input transaction request (read request) will be retried later. TWQ406
When the work queue is available internally or the buffer space is available inside the data buffer 408, the PCI transaction request is executed by the control information (command address, byte enable) related to the transaction in the TWQ 406. Once saved, the transaction is retried.
【0023】TWQ406にトランザクション制御情報
が追加された場合、スイッチアーキテクチュア400は
トランザクションパケットを構成し、そのパケットをデ
スティネーションバスBの遅延トランザクションキュー
(遅延読み出し要求Q2)に転送する。PMWシーケン
スからのシーケンス番号が、このキューイングされたト
ランザクションパケットに割り当てられる。そしてこの
トランザクションパケットは、プログラム可能なフロー
キュー302内部のロジックによって、トランザクショ
ンパケットヘッダーに記述されている通りターゲットバ
スBに経路指定される。DRRに対するメッセージペイ
ロードは空である。メッセージヘッダーのコピーはTW
Q406内に保持され、データバッファー408内部に
メモリー空間が割り振られる。これらリソースは双方と
も、関連するDRCがターゲットバスBから受信された
場合に利用される。以下に列挙される状態のうちの一つ
が検出されるまで、追加のPCI読み出しコマンドがサ
ービスされ得る。(1)TWQ406及びデータバッフ
ァ408の一方若しくは双方内の空間の全てが既に割り
振られた。(2)ターゲットバスB用Q2(DRR)キ
ューが満杯である(スイッチコアの受信許可により通知
される)。When transaction control information is added to the TWQ 406, the switch architecture 400 forms a transaction packet and transfers the packet to the delayed transaction queue (delayed read request Q2) of the destination bus B. A sequence number from the PMW sequence is assigned to this queued transaction packet. The transaction packet is then routed by the logic inside the programmable flow queue 302 to the target bus B as described in the transaction packet header. The message payload for DRR is empty. TW to copy the message header
It is held in Q406 and a memory space is allocated inside the data buffer 408. Both of these resources are utilized when the associated DRC is received from the target bus B. Additional PCI read commands may be serviced until one of the conditions listed below is detected. (1) All of the space in one or both of the TWQ 406 and the data buffer 408 has already been allocated. (2) The Q2 (DRR) queue for the target bus B is full (notified by the switch core reception permission).
【0024】DRRがQ2の入力に到達すると、プログ
ラム可能フローキュー302内のシーケンサーロジック
は、当該DRRのシーケンス番号とターゲットに既に到
着しているPMWにより運ばれてきたシーケンス番号及
び「シーケンス内の最後のPMW」フラグとを比較す
る。全てのPMWが要求された通り終了し、全ての書込
みデータがターゲットに送信されている場合、シーケン
サロジックは、ターゲットバスBにおいて要求を開始
し、メモリーから1キャッシュラインを読み込む。当該
データをターゲット(この場合はメモリー)から受け取
ったら、DRCパケットが構成され、ソースバスAに関
連付けられているQ3(DRC/DWCキュー)に転送
される。PCIコマンドがMRMの場合、プログラム可
能フローキュー内のシーケンサーロジックは、PCIマ
スターに代わって、メモリーから追加のキャッシュライ
ンを読み出すための要求をバス上で開始することによっ
て、データをプリフェッチする。ターゲットバスシーケ
ンサーは、マスターがPCI転送をアクティブに保持す
る限りデータプリフェッチを続ける。Q3内の開始バス
においてDRCパケットが受信されると、当該パケット
がキューの先頭に到達した時に、そのパケットは除去さ
れる。メッセージヘッダー内の情報は、割り当てられた
TWQ406にマッチされ、メッセージペイロード中の
データは、既に割り振られているデータバッファ408
内に移される。When the DRR reaches the input of Q2, the sequencer logic in the programmable flow queue 302 determines the sequence number of that DRR and the sequence number carried by the PMW already arriving at the target and the "last in sequence.""PMW" flag. When all PMWs have finished as requested and all write data has been sent to the target, the sequencer logic initiates a request on target bus B to read one cache line from memory. When the data is received from the target (memory in this case), a DRC packet is constructed and transferred to Q3 (DRC / DWC queue) associated with the source bus A. When the PCI command is MRM, the sequencer logic in the programmable flow queue prefetches the data on behalf of the PCI master by initiating a request on the bus to read an additional cache line from memory. The target bus sequencer continues data prefetching as long as the master holds the PCI transfer active. When a DRC packet is received on the start bus in Q3, the packet is dropped when it reaches the head of the queue. The information in the message header is matched to the assigned TWQ 406 and the data in the message payload is already allocated in the data buffer 408.
Moved in.
【0025】ターゲットバスBインターフェース418
に関連付けられているロジックは、ソースバスA内のデ
ータバッファーが適当な空間を有さない限りデータをソ
ースバスAに送信できない。ターゲットバスBインター
フェース418内のプリフェッチロジックは、ソースバ
スAインターフェース404内のバッファーに追加のデ
ータを送ることのできる時間について、ソースバスAロ
ジック404と折衝する。優先度キューQ4は、高信頼
性の媒体として用いられ、Q4を介して折衝メッセージ
が転送される。図6は、本発明の好適な実施例による、
プログラム可能パケット出力キューイングのブロック図
である。図6に示されるように、スイッチングインター
フェース500は、プログラム可能フローキュー504
を含んでおり、キュー504は、スケジューラー502
と通信している。プログラム可能フローキューは、例え
ば図3及び4に定義されるような、複数のパラレル論理
フローキューを有する。図6に更に詳しく示される通
り、キューしきい値入力506及びデータ順序付け入力
508はスケジューラー502に設定される。スケジュ
ーラー内のプログラム可能ロジックは、キューしきい値
入力506及びデータ順序付け入力508からの入力
を、プログラム可能フローキュー504に対するスケジ
ューリングコマンドに翻訳し、その結果、スイッチング
インターフェース500から出力されるパケットがプロ
トコル要件及び実時間キューステータスに従って転送さ
れる。Target bus B interface 418
The logic associated with can not send data to source bus A unless the data buffers in source bus A have adequate space. The prefetch logic in the target bus B interface 418 negotiates with the source bus A logic 404 for the time when additional data can be sent to the buffer in the source bus A interface 404. The priority queue Q4 is used as a highly reliable medium, and the negotiation message is transferred via Q4. FIG. 6 illustrates a preferred embodiment of the present invention.
FIG. 6 is a block diagram of programmable packet output queuing. As shown in FIG. 6, the switching interface 500 includes a programmable flow queue 504.
And the queue 504 includes a scheduler 502.
Is communicating with. The programmable flow queue has a plurality of parallel logical flow queues, as defined in FIGS. 3 and 4, for example. As shown in more detail in FIG. 6, queue threshold input 506 and data ordering input 508 are set in scheduler 502. Programmable logic in the scheduler translates the inputs from the queue threshold input 506 and the data ordering input 508 into scheduling commands for the programmable flow queue 504, so that the packets output from the switching interface 500 are protocol requirements. And according to the real-time queue status.
【0026】本発明の好適な実施例は、ここに記載され
た種々の方法を実行するためにプログラムされたコンピ
ュータシステムとして、及びプログラム製品としての実
施例を含むものである。コンピュータシステムにより本
発明を実施する場合、開示された方法及びシステムを実
行するための命令群は単一若しくは複数のコンピュータ
システムのROM若しくはRAMのようなストレージ装
置内に配置されることになる。コンピュータシステムか
ら要求を受けるまで、当該命令群は、他のコンピュータ
記憶装置、例えば、ディスクドライブ(これにはディス
クドライブに必要に応じて挿入して利用される、着脱可
能な光ディスクやフロッピー(R)ディスクが含まれ
る)内にコンピュータプログラム製品として格納される
ことになろう。以上、本発明を特定の形で示し、好適な
実施例について説明をしてきたが、当業者であれば、本
発明の概念及びその範囲を逸脱することなく、形式及び
詳細に関し多様な変形を成し得ることは容易に理解でき
るであろう。The preferred embodiment of the present invention includes the embodiment as a computer system programmed to carry out the various methods described herein, and as a program product. When implementing the present invention by a computer system, the instructions for implementing the disclosed method and system will be located in a storage device such as a ROM or RAM of a single or multiple computer system. Until receiving a request from the computer system, the instructions are stored in another computer storage device, for example, a disk drive (which may be a removable optical disk or floppy (R) used by being inserted into the disk drive as needed). Disk) and will be stored as a computer program product. While the present invention has been shown in a particular form and described with reference to preferred embodiments, those skilled in the art can make various changes in form and details without departing from the concept and scope of the present invention. It is easy to understand what can be done.
【図1】本発明によるフローアーキテクチュアが実装さ
れた通信スイッチを示す図。FIG. 1 illustrates a communication switch in which a flow architecture according to the present invention is implemented.
【図2】本発明の好適な実施例によるスイッチ内パケッ
ト構造を示す図。FIG. 2 is a diagram showing a packet structure in a switch according to a preferred embodiment of the present invention.
【図3】本発明の好適な実施例による、物理ポートに対
してパケットをキューイングするための論理的ポートア
ダプターを示す図。FIG. 3 illustrates a logical port adapter for queuing packets to physical ports according to a preferred embodiment of the present invention.
【図4】図3に示される論理ポートアダプター内部に実
装することができるバスアーキテクチュア規則を示す説
明図。4 is an illustration showing bus architecture rules that may be implemented within the logical port adapter shown in FIG.
【図5】本発明の好適な実施例によるスイッチアーキテ
クチュアのブロック図。FIG. 5 is a block diagram of a switch architecture according to a preferred embodiment of the present invention.
【図6】本発明の好適な実施例によるプログラム可能な
パケット出力キューイングを示すブロック図。FIG. 6 is a block diagram illustrating programmable packet output queuing according to a preferred embodiment of the present invention.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 メティン・アイドミア アメリカ合衆国27713、ノースカロライナ 州、ダーハム、サドルウッド・コート 24 (72)発明者 アンドリュー・ジョン・リンドス、サード アメリカ合衆国27516、ノースカロライナ 州、チャペル・ヒル、カルデロン・ストリ ート 204 (72)発明者 ジョルジュ・ロランド・ロドリゲス アメリカ合衆国27511、ノースカロライナ 州、ケアリー、エバート・ドライブ 404 Fターム(参考) 5B061 FF00 5K030 GA01 HA08 HB13 HB14 KA05 KA13 KX02 KX11 KX18 KX24 LC01 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Metin Idomia United States 27713, North Carolina Saddlewood Court, Durham, County 24 (72) Inventor Andrew John Lindos, Third United States 27516, North Carolina State, Chapel Hill, Calderon Sutri Heart 204 (72) Inventor Georges Roland Rodriguez United States 27511, North Carolina State, Cary, Evert Drive 404 F term (reference) 5B061 FF00 5K030 GA01 HA08 HB13 HB14 KA05 KA13 KX02 KX11 KX18 KX24 LC01
Claims (13)
ターフェースを提供するための装置において、 スイッチ機構と、 リモートバスと、 前記リモートバスを前記スイッチ機構にインターフェー
スする、リモートバスインターフェースと、 前記リモートバスインターフェースのプロトコル要件に
応じて、パケットのスケジューリングを行うためのプロ
グラム可能フローキューとを含む、装置。1. A device for providing a high-speed switching interface between remote buses, a switch mechanism, a remote bus, a remote bus interface for interfacing the remote bus to the switch mechanism, and a protocol of the remote bus interface. A programmable flow queue for scheduling packets according to requirements.
記スイッチ機構の中に組み込まれており、前記リモート
バスインターフェースから前記スイッチ機構に到着した
パケットが、前記スイッチ機構から出る前に、前記プロ
グラム可能フローキューへ経路指定される、請求項1記
載の装置。2. The programmable flow queue is embedded in the switch fabric and packets arriving at the switch fabric from the remote bus interface are sent to the programmable flow queue before leaving the switch fabric. The device of claim 1, wherein the device is routed to.
リモート周辺コンポーネントを相互接続するインターフ
ェースである、請求項1記載の装置。3. The remote bus interface comprises:
The apparatus of claim 1, which is an interface for interconnecting remote peripheral components.
間でデータの順序を決定するためのバスアーキテクチュ
アを有し、かつ、前記プログラム可能フローキューは、
更に、前記バスアーキテクチュアに従ってパケットのス
ケジューリングを行うための、データ順序付けロジック
を有する、請求項3に記載の装置。4. The remote bus has a bus architecture for determining the order of data between the remote buses, and the programmable flow queue comprises:
The apparatus of claim 3, further comprising data ordering logic for scheduling packets according to the bus architecture.
数のパラレル論理フローキューを含む、請求項1に記載
の装置。5. The apparatus of claim 1, wherein the programmable flow queue comprises a plurality of parallel logical flow queues.
スアーキテクチュアに従い、前記複数のパラレル論理フ
ローキューを特徴付ける、請求項5に記載の装置。6. The apparatus of claim 5, wherein the data ordering logic characterizes the plurality of parallel logical flow queues according to the bus architecture.
に、複数のパラレル論理フローキューのそれぞれに対す
るキューしきい値要件を、個別にプログラマブルに調整
するためのロジックを有する、請求項6に記載の装置。7. The apparatus of claim 6, wherein the programmable flow queue further comprises logic for individually programmable adjustment of queue threshold requirements for each of a plurality of parallel logical flow queues.
からの入力パケットを受信するためのソースポートを有
し、かつ、前記装置は更に、前記バスアーキテクチュア
に従い、前記入力パケットを前記プログラム可能フロー
キューに経路指定するためのバスアーキテクチュア命令
を保持するトランザクション作業キューを含む、請求項
4に記載の装置。8. The switch mechanism has a source port for receiving input packets from the remote bus, and the device further follows the bus architecture to route the input packets to the programmable flow queue. The apparatus of claim 4, including a transaction work queue that holds bus architecture instructions for routing.
高速スイッチングインターフェースを提供するための方
法であって、前記方法は、 前記スイッチ機構によってリモートバスをインターフェ
ースし、 前記リモートバスインターフェースのプロトコル要求に
従いパケットをスケジューリングする、方法。9. A method for providing a high-speed switching interface between remote buses via a switch mechanism, the method comprising: interfacing a remote bus by the switch mechanism, wherein a packet is transmitted according to a protocol request of the remote bus interface. How to schedule.
フローキューが含まれており、入力パケットが前記スイ
ッチ機構を出る前に前記入力パケットを前記プログラム
可能フローキューに経路指定するステップを更に含む、
請求項9に記載の方法。10. The switch fabric includes a programmable flow queue, further comprising the step of routing the input packet to the programmable flow queue before the input packet exits the switch fabric.
The method according to claim 9.
ス全体にわたりデータ順序を決定するためのバスアーキ
テクチュアを有し、前記方法は、前記バスアーキテクチ
ュアに従いパケットをスケジューリングするステップを
更に含む、請求項10に記載の方法。11. The remote bus has a bus architecture for determining a data order across the remote bus, and the method further comprises scheduling packets according to the bus architecture. the method of.
複数の並行論理フローキューを含み、前記複数の並行論
理フローキューのそれぞれに対して独立にキュー閾値要
求を調節するステップを更に含む、請求項10に記載の
方法。12. The programmable flow queue is
11. The method of claim 10, comprising a plurality of concurrent logical flow queues, further comprising adjusting queue threshold requirements for each of the plurality of concurrent logical flow queues independently.
スからの入力パケットを受信するためのソースポートを
有し、前記バスアーキテクチュアに従って前記入力パケ
ットを前記プログラム可能フローキューに経路指定す
る、請求項10に記載の方法。13. The switch mechanism of claim 10, wherein the switch mechanism has a source port for receiving input packets from the remote bus and routes the input packets to the programmable flow queue according to the bus architecture. The method described.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001195009A JP2003018188A (en) | 2001-06-27 | 2001-06-27 | Flow architecture for remote high-speed interface application |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001195009A JP2003018188A (en) | 2001-06-27 | 2001-06-27 | Flow architecture for remote high-speed interface application |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003018188A true JP2003018188A (en) | 2003-01-17 |
Family
ID=19033053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001195009A Pending JP2003018188A (en) | 2001-06-27 | 2001-06-27 | Flow architecture for remote high-speed interface application |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003018188A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7284077B2 (en) | 2003-09-12 | 2007-10-16 | International Business Machines Corporation | Peripheral interface system having dedicated communication channels |
| US7729258B2 (en) | 2006-05-30 | 2010-06-01 | Hitachi, Ltd. | Switching device |
-
2001
- 2001-06-27 JP JP2001195009A patent/JP2003018188A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7284077B2 (en) | 2003-09-12 | 2007-10-16 | International Business Machines Corporation | Peripheral interface system having dedicated communication channels |
| US7729258B2 (en) | 2006-05-30 | 2010-06-01 | Hitachi, Ltd. | Switching device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5367643A (en) | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets | |
| US6744776B1 (en) | Servicing priority traffic in multiport network switch | |
| US8208470B2 (en) | Connectionless packet data transport over a connection-based point-to-point link | |
| EP0991999B1 (en) | Method and apparatus for arbitrating access to a shared memory by network ports operating at different data rates | |
| US7287114B2 (en) | Simulating multiple virtual channels in switched fabric networks | |
| US7249206B2 (en) | Dynamic memory allocation between inbound and outbound buffers in a protocol handler | |
| EP1018687B1 (en) | A port manager controller for connecting various function modules | |
| US6442137B1 (en) | Apparatus and method in a network switch for swapping memory access slots between gigabit port and expansion port | |
| CN101199168B (en) | Method, apparatus and system for monitoring a queue of a communication link | |
| US7136355B2 (en) | Transmission components for processing VLAN tag and priority packets supported by using single chip's buffer structure | |
| US20030026267A1 (en) | Virtual channels in a network switch | |
| US20040030712A1 (en) | Efficient routing of packet data in a scalable processing resource | |
| CN100531125C (en) | Arbitrating virtual channel transmit queues in a switched fabric network | |
| JPH04233352A (en) | Network adaptor controlling flow of data arranged in packet from system memory to network and control method of data flow | |
| US20060050693A1 (en) | Building data packets for an advanced switching fabric | |
| US7620745B2 (en) | Transferring data between a memory and peripheral units employing direct memory access control | |
| US6678782B1 (en) | Flow architecture for remote high-speed interface application | |
| US7028130B2 (en) | Generating multiple traffic classes on a PCI Express fabric from PCI devices | |
| US20070189299A1 (en) | Receiving data from virtual channels | |
| JP2003500927A (en) | Apparatus and method for programmable memory access slot assignment | |
| US6501734B1 (en) | Apparatus and method in a network switch for dynamically assigning memory interface slots between gigabit port and expansion port | |
| US6816889B1 (en) | Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node | |
| US20080130651A1 (en) | Multi-queue single-fifo architecture for quality of service oriented systems | |
| US7209489B1 (en) | Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing | |
| TWI411264B (en) | Non-block network system and packet arbitration method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040420 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040423 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040809 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040831 |