JP2000115252A - ネットワ―クデ―タ輻輳を制御する方法及び装置 - Google Patents

ネットワ―クデ―タ輻輳を制御する方法及び装置

Info

Publication number
JP2000115252A
JP2000115252A JP27883399A JP27883399A JP2000115252A JP 2000115252 A JP2000115252 A JP 2000115252A JP 27883399 A JP27883399 A JP 27883399A JP 27883399 A JP27883399 A JP 27883399A JP 2000115252 A JP2000115252 A JP 2000115252A
Authority
JP
Japan
Prior art keywords
frame
overflow
interrupt
generating
fifo memory
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
Application number
JP27883399A
Other languages
English (en)
Inventor
D Casper Christian
デイ. キャスパー クリスチャン
H Grits Elmer
エイチ. グリツ エルマー
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.)
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
Original Assignee
ST MICROELECTRONICS Inc
STMicroelectronics lnc USA
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 ST MICROELECTRONICS Inc, STMicroelectronics lnc USA filed Critical ST MICROELECTRONICS Inc
Publication of JP2000115252A publication Critical patent/JP2000115252A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 HDLC制御器の受信ポート等においてフレ
ームに調整されたネットワークデータの流れを制御する
方法及び装置を提供する。 【解決手段】 本発明によれば、受信FIFOメモリ内
におけるフレームオーバーフローを表わすステータスエ
ラーインジケータが受信FIFOメモリにおいて発生さ
れる。このステータスエラーインジケータに応答して、
受信FIFOメモリ内においてフレームオーバーフロー
が発生したことを表わす早期輻輳インタラプトがホスト
プロセサに対して発生される。入力フレームが破棄され
且つ直接メモリアクセス(DMA)ユニットバースト寸
法のワード数を増加させるか又は他のアクティブなプロ
セスのタイムスライスを修正するかのいずれか1つによ
って受信フレームのサービスを向上させる。これによ
り、データの流れにおける輻輳を最小とさせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フレームに調整さ
れているネットワークデータの流れを制御し且つコンジ
ェッション即ち輻輳を最小とする方法及び装置に関する
ものであって、更に詳細には、各ポートにおいてFIF
Oを具備しているHDLC制御器のようなネットワーク
装置におけるデータの輻輳を制御する技術に関するもの
である。
【0002】
【従来の技術】データネットワークは毎日の活動及びビ
ジネスアプリケーションにおいて益々重要なものとなっ
ている。これらのネットワークの殆どは、例えば、しば
しばTCP/IPとして呼称される伝送制御プロトコル
(TCP)及びインターネットプロトコル(IP)を使
用するインターネットのようなパケット交換型ネットワ
ークである。伝送制御プロトコルはネットワークトラフ
ィックの信頼性のある受信及び送信を管理し、一方イン
ターネットプロトコルはパケットが正しいデスティネー
ション即ち宛先へ送られることを確保するためのルーチ
ング即ち経路付けの役割を担っている。
【0003】典型的なネットワークにおいては、スイッ
チングノード及び端部ノードのみならず伝送リンクから
なるメッシュが設けられる。端部ノードは、典型的に、
パケットが受信され且つそのデスティネーション即ち宛
先へ到達するために正しい外へ出るリンク上に送信され
ることを確保する。スイッチングノードは、典型的に、
パケットスイッチ、又はルータ、又は中間システムとし
て呼称される。データトラフィックにおけるソース即ち
発信元及びデスティネーション即ち宛先(端部ノード)
はホスト及び端部システムとして呼称することが可能で
ある。これらのホスト及び端部システムは、典型的に、
パソコン、ワークステーション及びその他のターミナル
である。
【0004】コンピュータの間においての情報の移動を
助けるために、開放型システム間相互接続(OSI)モ
デルが開発されている。コンピュータの間での情報を移
動させる各問題は該モデルにおいてはレイヤ(層)によ
って表わされ、従って、標準用の枠組を確立している。
2つのシステムはプロトコルスタック内のレイヤの間に
おいてのみ通信を行う。然しながら、他のシステム内の
純粋なレイヤと通信を行うことが望ましく、且つこのよ
うな結果を達成するために、情報はパケットとしても知
られるプロトコルデータ単位(PDU)によって交換さ
れる。PDUはデータのみならずアドレスのような制御
情報を包含するヘッダを有している。ソース即ち発信元
において、当業者にとって公知の如く、各レイヤはそれ
自身のヘッダを付加する。物理レイヤから始まって、7
個のレイヤ、即ち(1)物理レイヤ、(2)データリン
クレイヤ、(3)ネットワークレイヤ、(4)トランス
ポートレイヤ、(5)セッションレイヤ、(6)プレゼ
ンテーションレイヤ、(7)アプリケーションレイヤを
有している。
【0005】ネットワークシステムは、典型的に、ルー
チングアルゴリズムを使用することによって最適な経路
を決定することが可能なルータを使用する。ルータは、
又、各パケットに対するルーチング経路に基づいて、入
力ポートに到着したパケットを出力ポートへスイッチさ
せる。ルーチングアルゴリズム(即ちルーチングプロト
コル)は、与えられたデスティネーションアドレスを具
備するパケットを送るために次のルータへポイントする
即ち指し示すエントリからなるルーチングテーブルを初
期化し且つ維持するために使用される。典型的に、ネッ
トワーク内の各リンクに対して固定したコストが割り当
てられ且つコストはリンク帯域幅及び/又はコストを反
映する。最も低いコストの経路が他のルータとネットワ
ークトポロジィ及びリンクコスト情報を交換した後にル
ータによって決定することが可能である。
【0006】2つの低いレベルのレイヤ、即ち物理レイ
ヤ及びデータリンクレイヤは、典型的に、IEEE80
2委員会によって開発されたローカルエリアネットワー
ク用の標準によって支配される。データリンクレイヤ
は、典型的に、2つのサブレイヤに分割されており、論
理リンク制御(LLC)サブレイヤは例えばフレーム
化、フロー制御、エラー制御、アドレッシング等の機能
を定義する。LLCプロトコルはHDLCプロトコルの
修正版である。媒体アクセス制御(MAC)サブレイヤ
は共通媒体に対する伝送アクセスを制御する。
【0007】ハイレベルデータリンク制御(HDLC)
は遠隔装置間でのデータ伝送操作の正確性をチェックす
るための通信制御手順であり、その場合には、データは
フレームとして知られる単位で伝送され、且つフレーム
のシーケンスをチェックし且つ伝送操作期間中にビット
が失われるか又は反転されることに起因したエラーを検
知するための手順が存在している。データリンクのセッ
トアップ(設定)及び終了を制御する機能も存在してい
る。HDLCにおいては、伝送リンクにわたってのビッ
ト同期データ通信が制御される。HDLCはX.25と
して知られているITUパケット交換インターフェース
標準に包含されている。
【0008】プログラム可能なHDLCプロトコル制御
器はこれらのシステムにおいて一般的に使用されてい
る。HDLC制御器はコンピュータペリフェラルインタ
ーフェース装置であって、それは国際標準化機構(IS
O)ハイレベルデータリンク制御(HDLC)をサポー
トしている。それはフレームレベルの命令セットをサー
ポートすることにより且つフレーム組立−分解及びデー
タ完全性に関連する低レベルタスクのハードウエア実現
によって中央処理装置又はマイクロプロセサユニット
(MPU)ソフトウエアを減少している。
【0009】殆どの通信プロトコルはビット指向型で、
コード依存性であり、且つ全二重通信に対して理想的な
ものである。幾つかの通信適用例としては、ターミナル
対ターミナル、ターミナル対MPU、MPU対MPU、
衛星通信、パケット交換、及びその他の高速データリン
ク等がある。
【0010】通信制御器はフレームを構成し且つ受信す
ることに関連するタスクの多くから中央MPUを解放す
る。フレーム(時折、パケットと呼称される)はリンク
制御及びデータ伝送の両方の目的に使用することの可能
な単一の通信要素である。
【0011】殆どの制御器は外部共用メモリ資源に対す
るアクセスを与える直接メモリアクセス(DMA)装置
又は機能を有している。その制御器はDMA又は非DM
Aのいずれかのデータ転送を行うことを可能とする。該
制御器は、MPUからのコマンドを受付け、そのコマン
ドを実行し、且つインタラプト及び結果をMPUへ供給
する。
【0012】イーサネットのようなネットワークにおい
ては、HDLC制御器又は同様の装置が通信プロセサ及
びファームウエアを有しており、それらはデータが入力
するか又は出力するポートの対応するレシーバ即ち受信
器を制御する。典型的に、ポートは受信FIFOメモリ
及び送信FIFOメモリを有している。入力フレームは
受信FIFOメモリ内に受信される。この時に、バスが
要求され且つフレームはバスに沿って転送される。然し
ながら、バスが要求された時とバスがデータ及びフレー
ムを転送するために実際に獲得される時との間の遅延に
対応するバス待ち時間が発生することがしばしばある。
例えばテープレコーダ又はCD−ROM等のその他のペ
リフェラル回路をパソコン等のシステムにおいて使用す
ることが可能であり、このことは、本質的に、より大き
な待ち時間を発生させる。
【0013】受信FIFOメモリは有限の寸法を有して
いる。例えばT2及びT3タイプ周波数等の高速におい
ては、オーバーフローを発生するより多くのコンジェッ
ション(congestion)即ち輻輳が存在する場
合がある。この輻輳は、配線に沿って送られて来るパケ
ット及びフレームに影響を与え、従って、主要なデータ
の崩壊が発生する前にフレームを保存することが有益的
である。又、喪失フレーム問題を有する単一のダウンス
トリーム(下流)ノードの代わりに、多くのダウンスト
リームノードが強制的に送信ウインドウを再クロックさ
せる場合には状況は迅速に展開し、容易に問題を悪化さ
せる。
【0014】例えば一連のフレームの終りが受信され且
つフレームが破棄される場合等においては、インタラプ
トを発生するために長い時間待機するものではないこと
が望ましい。フレーム送信速度の多くはミリ秒であり且
つイーサネット適用例においては、数ミリ秒で120ワ
ードFIFO(ある好適な適用例では512バイト)を
充填することが可能である。破棄されたフレームをレベ
ルの高いソフトウエアが再送することが可能であるが、
このことはより大きな輻輳を発生させ且つより大きな帯
域幅をとる。このことは全てより大きな問題を発生させ
る。
【0015】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、例えばHDLC制御器等のネットワーク装
置の受信FIFOメモリの場合におけるようなポート受
信器における輻輳を減少させ、且つフレームの喪失を減
少させる技術を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明によれば、ネット
ワーク装置の受信FIFOメモリ内においてステータス
エラーインジケータが発生され、それはFIFOメモリ
内のフレームオーバーフローを表わす。このステータス
エラーインジケータは、通信プロセサによって読取るこ
とが可能であり、且つ受信FIFOメモリ内においてフ
レームオーバーフローが発生したことを表わす早期輻輳
インタラプトをホストプロセサに対して発生することが
可能である。入力フレームを破棄することが可能であり
且つ直接メモリアクセス(DMA)ユニットバースト寸
法のワード数を増加させるか又はシステムを共用してい
るその他のアクティブなプロセスのタイムスライスを修
正するかのいずれか1つによってFIFOメモリ内にお
ける受信フレームのサービスを向上させることが可能で
ある。
【0017】本発明によれば、フレームに調整されたネ
ットワークデータの流れを制御し、その場合に輻輳を最
小とさせる方法が提供される。本方法は、FIFOメモ
リ内のフレームオーバーフローを表わす受信FIFOメ
モリ内のステータスエラーインジケータを発生するステ
ップを有している。このステータスエラーインジケータ
に応答して、受信FIFOメモリ内においてフレームオ
ーバーフローが発生したことを表わす早期輻輳インタラ
プトをホストプロセサに対して発生することが可能であ
る。フレームオーバーフローを発生した入力フレームを
破棄することが可能であり且つFIFOメモリ内におい
て受信したフレームのサービスを、直接メモリアクセス
(DMA)ユニットバースト寸法のワード数を増加させ
るか又はその他のアクティブなプロセスのタイムスライ
スを修正するかのいずれか1つによって向上させること
が可能である。
【0018】本方法は、更に、ステータスエラーインジ
ケータを発生した後にFIFOメモリから通信プロセサ
へ早期輻輳インタラプトを発生するステップを有するこ
とが可能である。本方法は、又、通信プロセサによって
発生された制御信号から直接メモリアクセスユニットの
インタラプトレジスタ内の早期輻輳通知ビットを設定す
るステップを有することが可能である。直接メモリアク
セスユニットは、FIFOメモリ内においてフレームオ
ーバーフローを発生した入力フレームを破棄するために
ホストプロセサを介して早期輻輳通知インタラプトを発
生することが可能である。直接メモリアクセスユニット
から早期輻輳通知インタラプトを発生することを可能と
するためにシステムバスが設けられている。ステータス
エラーインジケータはステータスエラービットを発生す
ることによって発生される。ステータスエラービット
は、又、フリップフロップをセットすることによって発
生される。FIFOメモリ内のステータスエラーインジ
ケータは、更に、オーバーフロー条件を表わすFIFO
メモリ内のオーバーフロービットをセットするステップ
を有している。
【0019】フレームに調整されているネットワークデ
ータの流れを制御し輻輳を最小とする装置が提供され
る。本装置は、FIFOメモリ内のフレームオーバーフ
ローを表わすステータスエラーインジケータを発生する
手段を具備するFIFOメモリを有している。直接メモ
リアクセスユニットはインタラプトレジスト及びFIF
Oメモリ内のオーバーフローに対応するステータスエラ
ーインジケータに応答してセットされる早期通知ビット
を有している。直接メモリアクセスユニットから早期輻
輳インタラプトが発生され、且つホストプロセサは直接
メモリアクセスユニットからインタラプトを受取る。次
いで、フレームオーバーフローを発生した入力フレーム
を破棄するために、ホストプロセサからFIFOメモリ
へ命令が発生される。本装置は、更に、直接メモリアク
セスユニットをホストプロセサと接続するシステムバス
を有しており、その上を早期輻輳通知インタラプトが通
過する。ステーテスエラーインジケータはステータスエ
ラービットを有することが可能であり、且つステータス
エラービットを表わすためにフリップフロップをセット
することが可能である。更に、オーバーフロー条件を表
わすオーバーフロービットをFIFOメモリ内において
セットすることが可能である。フレームに調整したデー
タの流れを制御し且つ輻輳を最小とさせるネットワーク
装置も提供される。
【0020】
【発明の実施の態様】本発明を本発明の好適実施例が示
されている添付の図面を参照して詳細に説明する。然し
ながら、本発明は、多くの異なる態様で実現することが
可能であり且つ以下に説明する実施例にのみ制限される
べきものとして解釈されるべきではない。そうではな
く、これらの実施例は本発明の開示が完全なものであり
且つ当業者にとって本発明の範囲を完全に伝達するよう
に提供されるものである。尚、本明細書にわたって同一
の構成要素には同一の参照番号を使用している。
【0021】図1−3を参照し、特に図1及び2を参照
すると、本発明の1例であるネットワーク制御器とホス
トシステムのハイレベルの概略図が示されている。ネッ
トワーク制御器は本発明の1つの特定の実施例において
はHDLC制御器である。
【0022】本発明はネットワーク制御器を利用する従
来のネットワークを包含する多数の異なるネットワーク
において使用することが可能である。例えば、本発明は
インターフェースカードからインターフェースカードへ
延在するケーブルによってコンピュータが接続されてい
る多くのローカルエリアネットワークにおいて使用する
ことが可能である。配線用のハブは各ネットワークイン
ターフェースカードへ取付けられているケーブルに対す
る中央点を提供することが可能である。ハブは例えば同
軸、オプチカルファイバ、ツイスト対ワイヤ等のコネク
タを接続することが可能である。1つのタイプの形態
は、10ベースTとして知られる非シールド型ツイスト
対ワイヤを使用することが可能である。何故ならば、そ
れは、毎秒10メガビット(MBPS)の信号速度、直
流即ちベースバンドの信号処理、及びツイスト対ワイヤ
を使用するものだからである。
【0023】ネットワークは、典型的に、ネットウエア
(Net Ware)IPXプロトコルに含まれている
デスティネーション(宛先)アドレスを検査するもの等
のルータを有することが可能である。ルータはインター
ネットパケット、リングフレーム又はその他の情報を剥
取り且つIPXパケット及びそのカプセル化したデータ
をリンクを横断して送ることが可能である。ブリッジは
各インターネットパケットのアドレスを検査し且つそれ
を回路を横断して送ることが可能である。
【0024】図1は典型的なハイレベルシステムの概略
図を示しており、それは本発明の一般的な方法、装置及
びシステムの例示である。図示されるように、ネットワ
ーク装置としても知られている4個のネットワーク制御
器40がホストシステム43へ接続している32ビット
システムバスへ接続している。ホストマイクロプロセサ
44が、共用メモリサブシステム46と同様にシステム
バス42へ接続している。各制御器40は4個のポート
50,52,54,56を有しており、それらは夫々の
ハイレベルデータリンク制御レイヤである全二重プロト
コル線58へ接続している。
【0025】各ネットワーク制御器40は次世代のブリ
ッジ及びルータ装置、及びT3速度におけるHDLC動
作を必要とする装置において使用するように設計されて
いる高性能の4ポート高速ネットワーク制御器である。
各ネットワーク制御器は、好適には、単一のチップとし
て製造される。
【0026】図2に示したように、ネットワーク側にお
いては、ネットワーク制御器40が前述した如く且つ0
乃至3の番号が付けられた4個のポート50,52,5
4,56を有しており、その各々は別個の送信及び受信
FIFOを具備しており、半二重又は全二重動作を可能
としている。各ポート50−56は送信データハンドラ
60を有しており、それは送信クロック信号(TCL
K)を受取り且つデータ信号(T Data)をライン
トランシーバ62へ転送する。受信データハンドラ64
もクロック信号(RCLK)を受取り且つデータをライ
ントランシーバ62へ送り且つそれから受取る。該ポー
トは、又、各々、図示した送信及び受信先入先出(FI
FO)論理回路66,68、512バイト送信FIFO
70、制御回路74、512バイト受信FIFO72を
有している。512バイトFIFO70,72はフレー
ムバス76へ接続しており且つ制御回路74は管理バス
78へ接続している。FIFO論理回路66,68及び
データハンドラ60,64及び制御回路74は送信及び
受信(Tx),(Rx)512バイトFIFO用の適宜
の送信及び受信回路として動作する。
【0027】システム側においては、制御器40は高速
(25乃至33MHz)の32ビットシステムバスイン
ターフェース制御ユニット(SBI)80を有してお
り、それは制御器のシステムバスの使用を最小とさせ且
つその性能を最大とさせるために単一サイクルワード転
送を使用する。直接メモリアクセスユニット(DMA)
動作は該装置がバスマスタとなることを可能とし、且つ
格納及び転送アプリケーションに対する効率的なバッフ
ァ管理アルゴリズムを使用することが可能である。シス
テムバスインターフェース制御ユニット80は共用バス
インターフェース回路82、バススレーブ制御器84、
DMA制御器でもあるDMAバスマスタ制御器即ち直接
メモリアクセスユニット85、コンフィギュレーション
(形態特定)データ転送エンジン86、管理データ転送
エンジン88(それは両方とも管理バス78に対して通
信を行う)、且つフレームバス76に対して通信を行う
フレームデータ転送エンジン90を有している。
【0028】ユーザによって直接的にアクセス可能なも
のではないが、ネットワーク制御器は、又、通信プロセ
サコア又は単に通信プロセサ(CPC)92と呼ばれる
埋込型の32ビットRISCプロセサを有している。C
PCは、ポート毎の統計の収集、DMAモードバッファ
管理及びデータ転送、チップ自己テスト及びホスト/チ
ッププリミティブコマンド/応答交換等の活動を取扱
う。CPC92はCPU94、ALU96、タイマ9
8、RAM100、ファームウエアROM102、イン
タラプトハンドラ104を有している。
【0029】管理及びフレームデータ転送を効率的な態
様でサポートするために、内部バスが制御器のサブシス
テムの全てを接続している。別のバス、及び管理バス7
8及びフレームバス76は夫々の管理データ及びフレー
ムデータに対して使用され、並列性を増加させ且つそれ
により性能を増加させる。制御器40は当業者によって
公知の方法によってチップ上に形成される。
【0030】格納及び転送適用例に対して設計される場
合には、ネットワーク制御器40は32ビットデータ又
はフレームバス42を介してシステムメモリと8個のオ
ンチップの512バイトFIFO70,74との間でフ
レームを転送するためにオンチップのDMAエンジン及
び効率的なバッファ管理アルゴリズムを使用する。この
動作においては、制御器40はネゴシエーションによっ
てバスマスタとなり、システムバスの所有を獲得し、次
いで、チップとシステムメモリ46との間でフレーム及
び管理データを直接的に移動させる。ホストプロセサ4
4はバススレーブモードで動作する同一のバスを使用す
ることによって制御器のオンチップのコンフィギュレー
ション(形態特定)/ステータスレジスタへ直接アクセ
スすることが可能である。
【0031】通信プロセサ92は別個のプログラム及び
データバスを具備するハーバード(Harvard)型
アーキテクチュアを使用し、該バスは同時的なデータの
トランズアクションをサポートする。典型的に、クロッ
クサイクル当たり1個の命令を効果的に実行するために
4ステージパイプライン型制御ユニットが使用されてい
る。このアーキテクチュアによって必要とされる高性能
を与えるために、通信プロセサによって使用されている
内部SRAM100は3個のポートを有することが可能
であり、且つ、典型的に、トライポートRAM(TP
R)と呼称される。このアーキテクチュアを使用するこ
とにより、1個のレジスタ(TPR)からの読取、AL
U演算、異なるレジスタ又はTPR位置への書込の全て
が1つの命令での同一のクロックサイクル内において発
生することを可能とする。
【0032】制御器の動作(バッファ管理及びデータ転
送、チップ自己テスト及びホスト/チッププリミティブ
コマンド/応答交換、及び統計収集を包含する)を制御
するファームウエアプログラムはROM102内に包含
されており、それはオンチップの8KROMとすること
が可能である。
【0033】ネットワーク制御器40は外部的に供給さ
れたシステムクロックから内部システムクロックを発生
するためにフェーズロックループ(PLL)を使用して
いる。このPLLによって発生されたシステムクロック
は性能に影響を与える場合のある信号対システムクロッ
クチェーンを最小とするように遅延される。その結果、
制御器システムクロックは25又は33MHzでなけれ
ばならない。
【0034】説明の便宜上、図1−8を参照して動作の
外観について説明し、次いでその後の図面を参照して動
作のより詳細について説明する。制御器が初期化され且
つポートがアップし且つ稼動状態となると、典型的なフ
レーム受信が以下の如くに進行する。フレームの開始フ
ラグの二進01111110パターンがHDLCポート
受信器回路によって検知され、それはRxFIFO論理
68、Rxデータハンドラ64、ライントランシーバ6
2を有している。この直列のデジタルデータストリーム
はHDLCポートの受信器回路へ流れ、そこでフレーム
の始め(非フラグパターン)に対するサーチが行われて
オクテット(octet)の整合及びフレームの始めが
確立される。フレームチェックシーケンス(FCS)の
計算が実際のフレームの後の最初のオクテットに関して
開始される。
【0035】直列対32ビット並列ワード変換が該受信
器回路によって実施され且つデータワードが受信器(R
x)FIFO74内に格納される。この動作の始めにお
いてRxFIFO74が空であったと仮定すると、受信
データは受信FIFO74内のワード数がプログラムさ
れているウォーターマーク(watermark)設定
よりも大きくなるまで、継続して受信FIFO74を充
填する。以下に更に詳細に説明するように、この点にお
いて、オンチップRISC92上で稼動しているファー
ムウエア102に対して受信FIFO74に対するデー
タ転送を要求するインタラプトが発行される。このイン
タラプトはネットワーク制御器42内部のものであって
ホストシステム44からは見えないものである。
【0036】インタラプトを受取ると、ファームウエア
102は要求するポートに対する現在の受信記述子(前
にフェッチしたもの)のオンチップコピーをチェックす
る。それがバッファの所有を有するものでない場合に
は、オンチップDMAが検査のために適切な記述子を再
度フェッチすべく指示する。制御器40は2つのイベン
トのうちの1つが発生するまで繰返し記述子をフェッチ
する。即ち、(1)バッファの所有がそれに与えられる
か、又は(2)受信FIFOがオーバッフロー(この場
合にはフレームが失われる)のいずれかである。バッフ
ァの所有が許可されると、ファームウエアは、受信(R
x)FIFO74からシステムメモリ内の受信バッファ
へバースト寸法のフレームデータワードを転送すべくD
MAに指示することによってこのインタラプトに応答す
る。第一バーストの受信フレームをシステムメモリへ送
信すると、マスタインタラプトレジスタ(MIR)を介
してホストに対してFAN(フレームアドレス通知)イ
ンタラプトを発生することが可能である。
【0037】受信FIFO74充填(ネットワーク制御
器受信器回路による)、受信器対ファームウエアのイン
タラプト、FIFOを空にすること(DMA)によるサ
イクルが、フレームの終りが受信器回路によって遭遇さ
れるまで継続して行われる。この点において、該フレー
ムのフレームチェックシーケンス(FCS)が受信器回
路によってチェックされ且つ受信ステータスワードが発
生され且つ受信FIFO74内のフレームの後にアペン
ド即ち添付される。以下に説明するように、フレームの
残り及び受信ステータスワードがシステムメモリ内の受
信バッファへ転送されるまで受信器対ファームウエアイ
ンタラプトは継続する。ファームウエアは受信記述子内
の所有、メッセージ寸法、エラーフラグ等をアップデー
トするためにオンチップDMA85を使用し、次いで、
完了した受信を表わすマスタインタラプトレジスタ(M
IR)(図8B)を介してホストに対して「フレーム受
信済」インタラプト(RINT)を発行する。
【0038】典型的なフレーム送信は以下のようにして
行われる。全てのフレームは送信記述子リング202
(図3)におけるエントリに対して割当てられている送
信フレームデータバッファ204からネットワーク制御
器40によって送信される。システムがフレームを送信
するためにネットワーク制御器40に対して準備がされ
ている場合には、それは関連する送信記述子の所有を放
棄し、次いで、2つのことのうちの1つを行う。即ち、
(1)制御器の送信ポールタイマが期間満了し、チップ
をしてそれが所有するバッファを探すためにTx記述子
をポールすることを待機するか、又は(2)ホストによ
るシステムモードレジスタ(SMR)を介しての送信要
求(TDMD)が発行されるかのいずれかである。いず
れの場合においても、ファームウエアはバッファからバ
ースト寸法の量のフレームデータをフェッチし且つそれ
を適宜のポートの送信FIFO内に配置させることを開
始すべくDMAに命令する。これは、FIFOがプログ
ラムされているウォーターマークより上に充填されるま
で又はフレームの終りに到達するまで継続する。
【0039】プログラムされている送信開始点を満足す
るのに充分なワードが送信FIFO70内に存在する
と、送信データハンドラ60、送信FIFO論理66、
ライントランシーバ62を包含する送信器回路が送信を
開始する。この送信器回路は並列対直列変換を行い、連
続する直列データストリームを送り出す。開始フラグが
送られ、それに続いてフレームデータ及びそのフレーム
に対するサイクル冗長性チェック(CRC)又はFCS
が送られる。フレームチェックシーケンス(FCS)の
計算はフレームの最初のオクテットで開始する。送信F
IFO70がウォーターマーク設定より低い空の状態に
なると、送信器回路はオンチップファームウエア102
に対してプライベートインタラプトを発行し、システム
メモリから更なるデータをコピーすることを要求する。
【0040】空にすること(送信器ユニットによる)及
び充填すること(DMAによる)のサイクルは、フレー
ムの終り(EOF)が該FIFO内に書き込まれるまで
継続して行われる。送信器が送信FIFOからそのフレ
ームの最後のデータを除去すると、それは、オプション
として、それが計算したFCSをアペンド即ち添付する
(制御器によるFCSのアペンド処理はフレーム毎に制
御することが可能である)。送信器はクロージングフラ
グ即ち閉じるためのフラグを送ることによってフレーム
を閉じる。
【0041】ネットワーク制御器40内部の埋込型プロ
セサ92は、ホストシステムが使用するためにオンチッ
プレジスタ内に12個の統計を維持する。これらの統計
はバススレーブコンフィギュレーション/ステータスレ
ジスタ動作を使用してホストによってアクセスされる。
付加的な特徴として、該制御器は以下に説明するように
システムメモリ内のオンチップ統計の完全なコピーを配
置させるためにそれのオンチップDMAを使用すること
が要求される場合がある。
【0042】システムバスインターフェースユニット
(SBI)80はDMAモードにおいて3つの重要な機
能を実施する。即ち、(1)HDLCフレームデータ転
送用のDMAエンジン(バスマスタ)、(2)コンフィ
ギュレーション/ステータスレジスタへアクセスするた
めのマイクロプロセサポート(バススレーブ)、(3)
効果的には2個のインタラプトピン(MINTR#及び
PEINTER#)に対するソース即ち発信元である。
バスマスタ及びバススレーブの両方の動作は同一の32
ビットデータバスを使用し且つ同一の制御信号の幾つか
を共用する。バススレーブ動作(CBIG)及びバスマ
スタ動作(TBIG)に対する適切なモードを選択する
ために別個のピンが存在している。
【0043】システムバスインターフェースユニット
(SBI)80はホストプロセサ44の関与なしで共用
バス42を介してシステムメモリ46とのブロックデー
タ転送を実施するためのマルチチャンネルDMAユニッ
ト85を有している。該制御器は、それが管理ブロック
200、送信又は受信記述子206、又は送信又は受信
フレームデータバッファ204へのアクセスを必要とす
る場合にシステムバスの所有を要求し、尚、それについ
ては図3を参照して後に説明する。
【0044】ネットワーク制御器40がこれらのデータ
構成体のうちの1つへアクセスする毎に、それはバスの
所有に関してネゴシエーションを行い、データ(これは
幾つかのワードである場合がある)を転送し、次いで、
バスの所有を放棄する。与えられたバスの所有に対し
て、逐次的なアドレスのみがアクセスされる。各バスト
ランズアクションの数(転送されるワードの数即ち「バ
ースト寸法」)は異なる場合があり且つフレームデータ
転送及び統計ダンプに対しプログラム可能である。管理
ブロック200及び記述子転送寸法は必要に応じてネッ
トワーク制御器40によって決定され且つ1乃至32の
2個の連続したワードの範囲とすることが可能である。
システムバスインターフェースユニット80内部のDM
Aユニット85は制御器によるシステムバスの利用を最
小とするために単一サイクルアクセスに対する必要なタ
イミングを与える。
【0045】ネットワーク制御器40に対するコンフィ
ギュレーション/ステータスレジスタアクセスは、DM
A転送に対して使用されるものと同一の32ビットデー
タバスを使用して行うことが可能である。そのために、
制御器がバスマスタである場合にはレジスタアクセスを
実施することは不可能である。コンフィギュレーション
/ステータス(省略して「config」と言う)動作
は殆どのポピュラーなマイクロプロセサと共に動作する
ように設計されている。ネットワーク制御器内部の全て
の位置は32ビットレジスタとして実現することが可能
である。全てのコンフィギュレーション(形態特定)及
びステータスレジスタは、ネットワーク統計の全てと共
に、このインターフェースを介してアクセスすることが
可能である。
【0046】次に、図4を参照すると、本発明の制御器
の動作は3つの重要なシステムメモリデータ構造、即ち
(1)管理ブロック200、(2)記述子206を有す
る記述子リング202、(3)フレームデータバッファ
204が関与する。任意の与えられた適用例に対して、
1個の管理ブロック200、8個の記述子リング202
(図3)、複数個のフレームデータバッファ204が使
用される。図3に示したように、各ポートにおいて各F
IFO70,72に対して1個の記述子リング202が
存在している。制御器40を初期化する前に、ホスト4
4は、システムメモリにおいてこれらのデータ構造を割
当て且つ形態特定することが期待される。管理ブロック
200は、チップ初期化のため及び制御器によって維持
されているネットワーク統計に対する交換点として使用
される。
【0047】各記述子リング202は、当業者にとって
公知の如く、フレームデータバッファ204に対する情
報及びポインタを有するエントリ又は記述子206を具
備する循環型のキュー即ち待ち行列である。これらの記
述子及び記述子リングを使用することを示した装置及び
システムの例は米国特許第5,299,313号及び第
5,136,582号に開示されており、それらの開示
を引用によって本明細書に取込む。各記述子リング20
2は制御器40内の特定のFIFO70,72に対して
専用とされており、且つ1個のリング内の各2ワード記
述子エントリ206はシステムメモリ内の1つの特定の
フレームデータバッファ204と関連している(図
5)。データバッファは送信用のフレームを包含するか
又はフレーム自身のためのスペースを与えるメモリのブ
ロック(典型的に、512乃至2,048バイトの範
囲)として定義される。
【0048】制御器40の初期化の一部として、ホスト
はシステムメモリの1つのセクションを取り分けねばな
らない。このメモリはバッファ管理ポインタ、コンフィ
ギュレーション情報及びポート当たりのネットワーク統
計を保持するために使用される。管理ブロック200は
統計で周期的にアップデートすることが可能であり且つ
制御器42によって参照されるので、それは装置の動作
全体にわたりメモリのアクティブ即ち活性状態にある割
当てに留まらねばならない。
【0049】管理ブロック200(初期化ブロックとも
呼ばれる)は512個の隣接したバイトから構成されて
おり且つメモリ内においてワード整合されている。図7
は管理ブロック200及びその詳細をより詳細に示して
いる。管理ブロックの最初の15個のワード200aは
チップ初期化のために使用される情報を有している。該
制御器は、常に、共用システムメモリ46から再度一部
又は全てをフェッチすることの命令が与えられない限
り、このセクションのオンチップコピーを参照する。管
理ブロック200の初期化セクション200aは8個の
記述子リング202に対するシステムメモリポインタ、
及び6個のオンチップタイマに対するセットアップ情報
及び9個のDMAバスマスタバースト寸法(バス所有当
たりに種々のタイプのデータに対し転送されるワードの
最大数)を包含している。次の隣接する4個のワード2
00bは、以下に説明するように、記述子リング202
の幾何学的形状及び外部共用メモリ46における関連す
るフレームデータバッファ寸法を画定するためにホスト
43によって使用することが可能である。制御器40は
自動的に(送信)TX及び(受信)RX記述子リング2
02を構築することが可能である(図3)。
【0050】管理ブロック200の残りのワード200
cは適宜のプリミティブによってそのように命令が与え
られる場合に、そのオンチップHDLCフレーム統計の
イメージを共用システムメモリ46内にコピーするため
に制御器40に対しスペースを与える。これらの周期的
な統計のスナップショットはシステムが使用するためで
ある。管理ブロック200のこれらのワードの割当て
は、統計ダンプ特徴が使用されない場合には要求される
ことはない。
【0051】チップリセットが完了した後に、リセット
進行中ピンが不活性状態となると、図45及び46に示
してあり且つセクションVを参照して以下に詳細に説明
するように、初期化手順が開始することが可能である。
最初に、ホストが管理ブロック200、記述子リング2
02、システムメモリ内のフレームデータバッファ20
4をセットアップする。2番目に、ホスト44は管理ブ
ロック200の開始システムアドレスを「管理ブロック
に対するポインタ」(PAB)と呼ばれる制御器40内
部のレジスタに対して管理ブロック200の開始システ
ムアドレスを書込み、且つ、オプションとして、プリミ
ティブインタラプトをイネーブルさせる。次いで、イン
タラプト(INT)プリミティブがホスト44によって
ネットワーク制御器に対して発行される。このことは、
制御器をして、管理ブロック200の最初の32個のワ
ード(図7)を処理を行うためにネットワーク制御器の
チップ内にコピーさせる。次いで、ネットワーク制御器
はアクノレッジメントINIT_COMPLETE又は
ACT(INIT)プリミティブインタラプトでホスト
に対して応答する。この点において、ホスト44はハウ
スキーピングを行うか又は制御器のレジスタの全てのコ
ンフィギュレーション即ち形態特定を行うことが可能で
あり、各HDLCポートに対する動作モードを確立し、
送信器及び受信器をイネーブルし、且つ種々のインタラ
プトをイネーブル及びマスクすることが可能である。図
45に更に詳細に示されているように、完了すると、ホ
ストはネットワーク制御器40に対してSTART(開
始)プリミティブを発行し、通常の動作を開始させる。
STARTプリミティブは制御器をして、8個の送信及
び受信記述子リングのうちの各々における最初の2つの
記述子をプリフェッチさせ且つフレーム転送の準備を行
わせる。
【0052】管理ブロック200内の最初の8個のエン
トリは各記述子リング202(図3)のトップ即ち一番
上のものに対するポインタとして作用するシステムアド
レスである。記述子206はメモリ内においてワード整
合(即ちバイト整合)されていなければならないので、
これらのポインタは、常に、最小桁の2つのアドレスビ
ット(バイトアドレス)においてゼロでプログラムされ
るべきである。換言すると、全ての記述子リングポイン
タは4によって均等に割算可能なものとすべきである。
整合されていない記述子リングポインタアドレスから予
測不可能な動作が発生する。ネットワーク制御器40は
INITプリミティブが完了するとこれらのポインタの
コピーを参照し、別のINITが実施されるか又はリフ
レッシュ記述子リングプリミティブが発行されない限
り、INITが影響を有することのない後にシステムメ
モリ内のポインタを変化させる。
【0053】前述したように、各ポート50,52,5
4,56内の各送信チャンネル及び各受信チャンネルは
全部で8個のリングに対する専用の記述子リング202
を使用する(ポート当たり1個の送信リング及び1個の
受信リング)(図3及び4)。記述子リング202(図
4)は「記述子206」と呼ばれる幾つかの2ワードエ
ントリから構成される循環型のキュー即ち待ち行列であ
る。各記述子エントリ206は1個のフレームデータバ
ッファ204を記述する。記述子206エントリの最初
のワード208はそのフレームデータバッファ204に
関する情報及びそのフレームデータバッファが収容して
いるフレーム又は部分的なフレームを包含している(図
5)。記述子206エントリの2番目のワード210は
システムアドレスであり、即ちそれの関連するフレーム
データバッファのトップ即ち一番上に対するポインタで
ある。記述子リング202は1乃至8K個のエントリの
寸法の範囲とすることが可能である。ネットワーク制御
器40は初期化において管理ブロック200における各
リングのトップ即ち一番上に対するポインタが与えられ
る。記述子エントリ206は、常に、リングのトップ即
ち一番上から初めて逐次的にアクセスされる。記述子リ
ング202内の最後の記述子はリングの終りであること
を示すフラグを有している。該制御器は、それがリング
の終りフラグに遭遇すると、そのリング内の最初のエン
トリへリターン即ちラップする。
【0054】各記述子206の最初のワード内の所有ビ
ット(OB)212は、ホスト又は制御器が関連するフ
レームデータバッファを所有しているか否かを表わす。
所有は、制御器及びホストによって準拠されねばならな
い特定のプロトコルに従う。その規則は簡単である。記
述子206の所有が他のものに対して放棄されると、そ
の記述子又はそれと関連するバッファのどの部分も変更
されることはない。ホストはフレーム受信のための空の
バッファ及びフレーム送信のための満杯のフレームデー
タバッファの所有を制御器に与える。逆に、ネットワー
ク制御器はそれが使用した送信バッファ及びそれが満杯
とさせた受信バッファについて所有をホストへ戻す。
【0055】任意の与えられたポート上でのフレーム受
信の場合、ホスト44は空のフレームデータバッファ2
04に対してポイントする連続した記述子の所有を制御
器40へ供給することが要求される。そのフレームの正
に最初のワードがメモリ46へ転送された後に、フレー
ムアドレス通知(FAN)インタラプトが発行される
(図13−21を参照してセクションIにおいて後に更
に詳細に説明する)。制御器によって1個のフレームが
完全に受信されると、その構成要素である記述子の所有
は再度割当てられる。ホストは、RINTインタラプト
を介してこのイベントに関しての信号が与えられる。ホ
スト44は、その信号を発行する特定のポートを推測す
るためにマスタインタラプトレジスタ(MIR)(図8
B)を読むことを余儀なくされる。このことが達成され
ると、そのフレームは何等かの態様でディスパッチ即ち
送給することが可能であり且つ関連する記述子の所有は
制御器へリターンされる。
【0056】典型的な動作においては、ホスト44は記
述子リング202の周りをネットワーク制御器40に
「追従」し、ネットワーク制御器40が使用するために
その後に「空の」バッファ記述子206を残存させる。
ネットワーク制御器40がホスト44の前方に離れ過ぎ
ると、それは記述子リング202をラップアラウンドし
且つそれが所有することのない記述子206に遭遇する
場合がある。このことが発生すると、入ってくるフレー
ムが失われる場合がある。ホストは、早期輻輳通知(E
CN)インタラプトを介して受信FIFO70のオーバ
ーフローが通知される(図26−43を参照してセクシ
ョンIIIにおいて後に更に詳細に説明する)。次い
で、ホストは、更なるフレームの喪失を回避するために
その動作を変更すべく対応することが可能である。
【0057】与えられたポート上でのフレーム送信の場
合、ネットワーク制御器40は送信記述子リング202
の周りをホスト44に「追従」し、ホストが獲得するた
めにその後に使用済のバッファ記述子を残存させる。ホ
ストは1個又はそれ以上のフレームが送信の準備がなさ
れている場合に制御器40に対して記述子206の所有
を与えるに過ぎない。1つのフレームが制御器によって
完全に送信されると、その構成要素の記述子206の所
有は再度使用するためにホスト44へ戻される。ホスト
44は、このイベントについてTINTインタラプトを
介して信号が与えられる。
【0058】幾つかの適用例においては、ホスト44は
受信されるか又は送信されたフレームよりも寸法がより
小さなフレームデータバッファ206を使用することを
選択する場合がある。単一のフレームは複数個のバッフ
ァをスパン、即ち複数個のバッファにわたる。このこと
は、ネットワーク制御器40によってフレームを切断
(受信時に散乱させる)又は組立(送信時に収集する)
することを可能とする。複数個のデータバッファは、関
連する記述子206を一緒に「チェーン化」することに
よって1個のフレームの構成要素の断片を保持すること
が可能である。定義上、チェーン化した記述子はそのチ
ェーンの終端の記述子においてフレームの終り(EO
F)フラグ214がセットされている記述子リング内の
連続したエントリである。換言すると、所有されている
がフレームの終りフラグがセットされていない記述子エ
ントリのバッファは1つのフレームの一部であって、全
体的なフレームではないと考えられる。
【0059】大きなフレームの受信期間中に、ネットワ
ーク制御器40はそれが各フレームデータバッファ20
4を完全に充填すると、1個づつ、記述子206を一緒
にチェーン化する。フレームの終りが受取られ且つシス
テムメモリへ転送されると、フレームの終りフラグ(E
OF)がそのチェーンの終端記述子内にセットされる。
送信期間中に、ネットワーク制御器40はチェーン化さ
れたバッファの内容から単一のフレームを逐次的に構築
することが可能である。フレームの送信は、その記述子
がセットされているフレームの終りフラグを有している
バッファに遭遇する場合にのみ終了する。
【0060】ネットワーク制御器40は、関与する最初
の及び最後の記述子エントリをアップデートすることに
よって3個又はそれ以上のフレームデータバッファが一
緒にチェーン化される場合にバスの利用を最適化させる
(図4)。ネットワーク制御器40がチェーン化されて
いるフレームに関与するバッファについて終了すると、
それは、最初に、最後の記述子の所有をリターンし、次
いで、それは最初の記述子の所有をリターンする。これ
らはフレームの「フェンスポスト(fencepos
t)」即ち垣根の支柱である(図44及びセクションI
Vにおいて以下に説明する)。ホスト44は、例えそれ
らが制御器によって所有されているものであっても、全
ての中間のフレームデータバッファの所有を獲得する。
従って、ホストがフレームの終りフラグによってマーク
が付けられていないホストが所有している記述子に遭遇
すると、それは、フレームの終りフラグがセットされて
いる次のホストが所有している記述子に至るまで且つそ
れを包含する全ての次続の記述子の所有を獲得する。
【0061】「フェンスポスト」即ち垣根の支柱型チェ
ーン内の最初及び最後の記述子のフラグ及びフィールド
の全ては制御器40によってアップデートされて、それ
が完全に送信されるか又は受信されるとフレームに関し
ての正確な情報を提供する。記述子206の最初のワー
ド208は、更に、バッファ寸法216及びメッセージ
寸法218を有している。受信フレームの場合には、チ
ェーン内の最初の記述子のメッセージ寸法218(MS
IZE)フィールドは、単に、関連するフレームデータ
バッファのバイトカウント(何故ならば、これはバッフ
ァ寸法に等しいからである)ではなく、全体的なフレー
ムのバイトカウントでアップデートされる。然しなが
ら、終端記述子のメッセージ寸法フィールド218はそ
れの関連するバッファ内のフレームデータによって占有
される実際のバイト数のみを有している。このことは、
バッファ内のフレームデータに続く最初の完全なワード
内に格納されている受信ステータスワードをホストが容
易に捜し出すことを可能とする(注意すべきことである
が、ステータスワードの4バイトはMSIZEフィール
ド内に格納されているカウント内に含まれてはいな
い)。
【0062】単一のフレームデータバッファ204内に
は1つを超えるフレームが存在すべきではない。単一の
フレームは、記述子が記述子リング202において隣接
したもの即ち連続的なものである場合には、複数個の記
述子206のフレームデータバッファ204をスパンす
る、即ちそれらにわたることが可能である。このことは
バッファチェーン化と呼ばれる。ネットワーク制御器4
0は、常に、幾つかの空で且つ隣接した即ち連続した受
信バッファの所有を有するべきである。ネットワーク制
御器40は、送信の準備がなされているフレームを包含
する送信バッファの所有のみが与えられるべきである。
【0063】必ず必要とされるわけではないが、フレー
ムデータバッファ204がメモリ内においてワード整合
されており且つチェーン化が必要とされることがない程
大きいものである場合に最良の性能が得られる。
【0064】典型的な「ストアアンドフォアワード(s
tore−and−forward)」即ち「格納及び
転送」適用例においては、ホストはシステムメモリ内の
空で割当てられていないフレームデータバッファ204
の「プール」を維持する。受信記述子206に対してフ
レームデータバッファ204を割当てることは、実効的
に、それをこのプールから除去する。フレームデータバ
ッファ204が充填されると即ち満杯になると、それは
1つ又はそれ以上の送信記述子へ再割当て即ちスイッチ
される。送信が完了すると、フレームデータバッファ2
04は再使用のためにプールへリターン即ち戻され且つ
サイクルが繰返される。
【0065】記述リングポインタ200dの後の管理ブ
ロック200内の次の2つのワードはタイマ再ロード及
び制御情報200eを包含している。該制御器は、UC
LK周波数224を分割するために分割器222及びハ
ードウエアプレスケールタイマ220(図6)を使用す
る。プレスケールタイマ再ロード値226は、プレスケ
ールタイマの出力周波数を調節するために使用される。
典型的に、プレスケール再ロード値は、20ミリ秒(5
0Hz)プレスケールタイマ周期となるように選択され
るが、より速い及び遅い周期も可能である。プレスケー
ルタイマ226の出力はネットワーク制御器40内部に
維持されている幾つかの二次的8ビットタイマ228に
対するベースのインクリメント周波数として使用され
る。これらの二次的タイマは、統計ダンプタイマ23
0、ポート0−3送信記述子プールタイマ(4)232
−238とすることが可能である。5個の8ビットタイ
マの各々は管理ブロック200内において確立される関
連する再ロード値を有している。以下の式はどのように
してプレスケールタイマ再ロード値を計算するかを示し
ている。
【0066】プレスケール再ロード=65.536−
(Tprescale/ (16×TUCLK))尚、Tprescaleは所望
のプレスケールタイマ周期であり且つTUCLKはシステム
クロック周期である。
【0067】 表1:典型的なプレスケールタイマ再ロード値fUCLK (MHZ) TUCLK (NS) 10進数再ロード値 (20ms) 16ビットHex再ロード値 (20 ms) 33 30 23.869 0x5D3D 25 40 34.286 0x7EE6 次の式は二次的タイマ再ロード値をどのようにして計算
するかを示している。
【0068】二次的再ロード=265−(Tsecondary
/Tprescale) 尚、Tsecondaryは所望の二次的タイマ周期であり且つ
prescaleはプレスケールタイマ周期である。
【0069】 表2:典型的な二次的タイマ再ロード値 Tprescale (ms) Tsecondary (秒) 10進数再ロード値 8ビットHex再ロード 20 0.5 231 0xE7 20 1.0 206 0xCE 20 2.0 156 0x9C 20 5.0 6 0x06 二次的タイマの各々は管理ブロックのフィールドをイネ
ーブルするタイマ内に含まれている対応するイネーブル
制御ビットを有している(図7)。「1」がタイマをイ
ネーブル即ち動作可能とさせ、「0」がタイマをディス
エーブル即ち動作不能状態とさせる。以下の表は5個の
二次的タイマイネーブルの各々のビット位置を示してい
る。該制御器は、INITが完了すると、これらのイネ
ーブルのオンチップコピーを参照する。システムメモリ
内のイネーブルを変化させることは、別のINITが実
施されるか又はTIMER_ENABLEプリミティブ
が発行(0x0F)されない限り、何等影響を有するも
のではない。プレスケールタイマは、二次的タイマのい
ずれもがイネーブルされない場合には自動的にディスエ
ーブルされる。
【0070】 表3:管理ブロックタイマイネーブルフィールド (1=イネーブル;0=ディスエーブル) ビット 名称 予約 予約 予約 ダンプ開始Tx Tx Tx Tx 3ポール2ポール1ポール0ポール プレスケースタイマ220の構造は、広範囲のタイマ分
解能を可能とする。プレスケールタイマ再ロード値22
6を選択する場合に、各プレスケールタイマの期間満了
は制御器のオンチップ処理帯域幅の小さな割合部分を消
費する。非常に小さなプレスケールタイマ周期(大きな
再ロード値)を選択することは、入って来るフレーム及
び出て行くフレームをサービスするための制御器の能力
に対して不本意に悪影響を与える場合があり、それによ
り装置の全体的な性能に影響を与える場合がある。プレ
スケールタイマは1ミリ秒周期未満で動作しないように
することが推奨される(図6)。
【0071】送信記述子ポールタイマ232−238に
対する二次的タイマ再ロード値を選択する場合に、2つ
のファクタが考慮されるべきであり、即ち、(1)ポー
トの半二重又は全二重動作モード、及び(2)与えられ
たポート上での予測されるトラフィック、例えば実際に
使用される使用可能な帯域幅の百分率である。一般的
に、トラフィックが大きいければ大きい程、ポール周波
数は一層高い。幾つのシステムは、送信記述子ポール動
作を使用せず、その代わりにフレーム送信を開始させる
ためにシステムモードレジスタ(SMR)内の送信要求
(TD)ビットに依存することを選択する場合がある。
【0072】タイミングワード200eの後の、管理ブ
ロック200内の次の2つのワード200fはバースト
寸法(PAB+40に位置している4バイト)に関する
ものであり(図7)、対応する送信ポートへのデータの
DMA転送に対する個別的なバースト寸法を表わす。次
の4バイト(PAB+44)は対応する受信ポートから
のフレームのDMA転送に対するバースト寸法を決定す
る。DMA85は、常に、転送すべき残存するデータが
選択されたバースト寸法より小さなものでない限り、こ
れらのフィールド内に設定されている値によって決定さ
れるバースト寸法でデータを転送する。該制御器は、I
NITプリミティブが完了すると、これらの値のオンチ
ップコピーを参照する。その後の変化は適宜のプリミテ
ィブコマンド(基本命令)の提出を介して表わされねば
ならない。
【0073】バースト及びフレームバッファ寸法を等し
く設定することは、フレーム当たりの必要とされるバス
転送の数を最小とさせ且つシステムの拘束条件が大きな
DMAバーストを許容する場合には、改良した性能を提
供する。
【0074】システムクロック周期200gはPAB+
48のバイト#1内に位置されており、25MHzで動
作する場合には「0x28」の値を有し、また33MH
zのシステムクロックで動作する場合には「0x1E」
の値を有するべきである。該制御器は、INITプリミ
ティブが完了されると、この値のオンチップコピーを専
ら参照し、別のINITが実施されない限り、INIT
が何等影響を有することがない後にシステムメモリ内に
おけるこの値を変化させる。
【0075】「N1」は受信されるべき最大フレーム寸
法に対しホストによって選択可能な16ビット変数であ
る。ポート#0及び#1に対するN1の値はPAB+5
2200hに位置されており且つポート#2及び#3に
対する値はPAB+56200iに位置されている。こ
のN1の値は、典型的に、初期化時にホストによってプ
ログラムされ且つ1バイト乃至64Kバイトの間の範囲
内とすることが可能である。典型的に、N1は殆どの適
用例に対し2Kバイト又はそれ以下である。N1を超え
る受信フレームはそのポートに対する「Frames
Larger Than N1(N1より大きなフレー
ム)」統計をインクリメントさせる。制御器40は、I
NITプリミティブが完了すると、これらの値のオンチ
ップコピーを参照し、別のINITが実施されない限
り、INITが影響を有することのない後のシステムメ
モリにおけるこれらの値を変化させる。
【0076】ネットワーク制御器40は、「Trans
mit (TX) Ring Size(送信(TX)
リング寸法)」又は「Receive (RX) Ri
ngSize(受信(RX)リング寸法)」フィールド
(PAB+60乃至PAB+72)200bの値がゼロ
でない場合には、共用メモリ46内に特定の送信及び/
又は受信記述子リング202を自動的に構築する。そう
でない場合には、これらのフィールドはゼロであり、制
御器ファームウエア102は関連する記述子リングを構
築することはなく、その代わりに、ホスト44が共用メ
モリ46内にこれらの構造を既に構築したものと期待す
る。
【0077】プリミティブコマンドレジスタ(PCR)
(図8A)は処理のためにネットワーク制御器40の内
部ファームウエア102に対してホストのシステムソフ
トウエアがコマンド/命令を発行するためのメカニズム
を提供している。発行される各々及び全てのホストプリ
ミティブ(このレジスタの下半分におけるもの)はプロ
バイダプリミティブ(このレジスタの上半分におけるも
の)を介してファームウエアによってアクノレッジメン
ト即ち受取りの確認が行われる。
【0078】プリミティブ交換プロトコルは、プリミテ
ィブメカニズムが適切に動作するためにホスト及びファ
ームウエアの両方によって従われねばならない。ホスト
は一度に1個のみのプリミティブを発行するものでなけ
ればならず、別のプリミティブを発行する前にプロバイ
ダプリミティブのアクノレッジメント即ち受取確認を待
機せねばならない。他方、ファームウエアは発行された
各ホストプリミティブに対してただ1つのプロバイダプ
リミティブを発生する。
【0079】マスタインタラプトレジスタ(MIR)
(図8B)はMINTR#ピンを介してホストプロセサ
に対して報告するためのイベントを記録する。該レジス
タはバイトの位置に関する一貫性のために分配される幾
つかの雑多なビット(即ち、PINT,SPURIN
T,MERR,PPLOST,SERR,HPLOS
T,WERR)と共に、HDLCポート当たりほぼ1バ
イトのインタラプトイベントに組織化される。
【0080】例えばマスタインタラプトマスクレジスタ
(MIMR)及びポートエラーインタラプトマスクレジ
スタ(PEIMR)等のその他の詳細には説明しないレ
ジスタは、ホストが、どの対応するMIR及びPEIR
インタラプトイベントが実際に種々のピン上でインタラ
プトを発生するかを選択することを可能とする。これら
のレジスタはMIR及びPEIR内のビットの設定に影
響を与えるものではなく、それらは、単に、インタラプ
トビットが送られることの結果としてホストインタラプ
トの発生をマスクするのに過ぎない。
【0081】I.フレームアドレス通知(FAN) 図9−21に戻ると、クラシックな格納及び転送(S
F)アーキテクチュアとカットスルー(C/T)アーキ
テクチュアとの間のハイブリッドオプションを可能とす
るフレームアドレス通知(FAN)インタラプトを示し
た詳細図が示されている。本発明によれば、フレームア
ドレス通知(FAN)は、受信したフレームに対する全
ての関連するアドレスフィールドが現在共用メモリ46
内に存在している場合に、ホストプロセサ44へ信号が
送られるインタラプトである。次いで、該フレームは適
宜のアルゴリズム及びルックアップテーブル46c(図
20)と共にアドレス及びルックアップエンジンによっ
て処理し且つ適切なポート及びデスティネーションへデ
ィスパッチ即ち送給することが可能である。このことは
パイプライン効果を与える。何故ならば、ルーチング
は、フレームの残部がネットワークワイヤから入って来
ることを可能としながら並列的に行うことが可能だから
である。
【0082】更に、DMA85のバースト寸法を注意深
く選択することによって、最初のバーストがフレームか
ら読取られる場合に適宜のアドレスフィールドを使用可
能とさせることが可能である。MACレベルヘッダ、I
Pアドレス、又は例えTCP/UDPポートであって
も、バーストの寸法に依存してメモリ内に読込むことが
可能である。このことはL2−L3又はL4フレームス
イッチング適用例を容易なものとさせる。
【0083】図9,10,11,12はどのようにして
TCP/UDPヘッダがIPデータエリア内にカプセル
化され且つIPヘッダがMACデータエリア内に包含さ
れているかを示している。図9はレイヤ構成の良好な表
示を与えている。TCP/UDPデータエリア240及
びTCP/UDPヘッダ240a、IPデータエリア2
42、ヘッダ242a、MACデータエリア244及び
MACヘッダ244aが示されている。
【0084】図10は18バイトの802.3(MA
C)データリンクレイヤヘッダを示しており、一方20
バイトインターネットIPヘッダは図11に示されてい
る。図12は20バイトTPCヘッダを示している。適
宜のアドレスフィールドがリストされている。
【0085】図13−20は本発明に従ってデータフレ
ームのルーチング即ち経路付けを行う方法及びシステム
の基本的なプロセスを示している。図示したように、S
WIFTの符号を付けたネットワーク制御器40は4個
のHDLCポート50,52,54,56を有してお
り、各ポートは送信FIFO70及び受信FIFO72
を有している。ネットワーク制御器は、更に、制御プロ
セサ(CPC)92としても知られているRISCプロ
セサ及び直接メモリアクセスユニット(DMA)85を
有している。CPCバス250はCPC92とDMA8
5ユニットとの間を相互接続する。インタラプトバス2
52は種々のHDLCポートとCPC92との間を接続
する。FIFOバス254はDMAと種々のHDLCポ
ートとの間を相互接続する。
【0086】図14に示したように、フレームは最初に
HDLCポート3へ入り且つネットワーク制御器40の
受信FIFO72内に受信される。図14において、そ
のフレームは矢印258で示されたウォーターマークに
到達し、且つそのポートはインタラプトバス252を介
してCPC92に対しパケットの開始(SOP)インタ
ラプト(図15)を開始させる。この時に、該フレーム
からのデータがいまだにFIFO72内へ転送されてい
る間に、CPC92はデータを転送するためにDMA8
5(図16)に対するコマンドを発行する。DMA85
はシステムバス42を介してバスアービトレイション
(調停)論理ユニット47に対してクエリィ(質問)を
発行し、それがシステムバス(図17)を使用すること
が可能であるか否かを質問する。システムバス42が使
用可能である場合には、バスアービトレイション論理ユ
ニット47は肯定状態に入る。同時に、フレームはFI
FO72内に継続して受信される。この時に、DMA8
5はFIFO72からのデータを図18に示したように
共用システムメモリ46へ転送する。図18に示したよ
うに、このDMA85の最初のバーストは、次いで、C
PC92をして、FAN又はフレームアドレス通知イベ
ントとして知られているインタラプト信号をシステムバ
ス42を介してホストプロセサ44に対して発行させ、
フレームの予め選択されたアドレスフィールドが共用メ
モリ46(図19)内に存在することを表わす。DMA
バースト寸法の量は、見られる特定のヘッダ及びアドレ
スに対して且つどのレイヤに対するものであるかに対し
て調節されている。
【0087】図20に示したように、次いで、ホストプ
ロセサ44はルックアップアルゴリズムを開始し且つど
のようにしてパケット及びフレームがアドレスされ且つ
転送されるかを決定する。このルックアップ及びFAN
イベントは、フレーム受信バッファ内にフレームが未だ
受信中である場合であっても発生することが可能であ
る。
【0088】共用メモリ46内に1つのフレームが完全
に受信されると、フレームの終り(EOF)インタラプ
トが発行される。従って、このことは、ホストが転送又
は転送プロセスを終了することが可能であることを意味
する。
【0089】図21はフレームアドレス通知(FAN)
イベントを示したタイミングチャートを示している。M
ACレイヤと共に一番上に示したように、P1として示
されているパケットの始めが最初に発行され、次いでD
MAに対するファームウエア(FW)命令が発行されて
受信器とのパケットの開始コマンドを構築する。パケッ
トの継続(COP)コマンドが発行され、次いで、図示
したように、DMAがデータを転送する。DMAは、
又、フレームアドレス通知を発行し、次いで、パケット
の終り(EOP)を発行する。MACレイヤの一番うえ
に示したように、P2として知られる第二パケットの場
合にも同様の状態が発生する。
【0090】II.ルックアヘッドウォーターマーク 次に、図22−25を参照すると、本発明において使用
されるルックアヘッドウォーターマーク(look−a
head watermark)のより詳細が示されて
いる。ルックアヘッドウォーターマーク(LAWM)は
同期信号として機能し、その場合に送信及び受信FIF
O70,72を有するFIFO(先入先出)メモリが1
個又はそれ以上の付加的な書込バーストを受信するため
に充分な格納領域が存在していることを表わすためにル
ックアヘッドウォーターマーク(LAWM)を供給す
る。フレームの送信は、この技術によって促進させるこ
とが可能である。何故ならば、それは通信プロセサ92
上の負荷を減少させる一方バス及びメモリ資源の利用を
増加させるからである。
【0091】ルックアヘッドウォーターマーク信号は、
FIFOが表示された量の付加的なDMAバーストを受
付けることが可能であることを暗示する。DMAバース
ト寸法はルックアヘッドウォーターマークが取り次いだ
バーストと同一の寸法であることが必要とされるもので
はない。ルックアヘッドウォーターマークは、従来の送
信「レベル感応性」ウォーターマークメカニズムとして
よりも「容量インジケータ」として機能する。別の観点
においては、ルックアヘッドウォーターマークはスタン
ダードの「ボトムアップ」ウォーターマークではなく
「トップダウン」容量インジケータである。
【0092】ルックアヘッドウォーターマークは利点を
有しており且つデータの処理を助ける。それは、FIF
Oアンダーフローエラーを減少させるか又は取除くこと
を可能とする。それは直接メモリアクセスユニットの利
用を改善する。それは、又、フレーム転送を促進させ
る。それは送信用の次のフレームの早期の検知を可能と
する。それは高価なFIFOメモリの利用を改善し且つ
ネットワークのフレーム間ギャップタイミング「遅延」
を減少させる。それは、又、フレーム当たりのサイク
ル、即ちマイクロプロセサの作業負荷を減少させること
を可能とし、且つ小型及び大型の両方のフレームに対し
効率を向上させることを可能とする。それはホストシス
テムに対してトランスペアレント即ち透明であり且つC
PUコンテックストスイッチング即ち文脈上のスイッチ
ングを減少させる。
【0093】ルックアヘッドウォーターマークは該装置
(ファームウエア/ハードウエアステートマシン)がそ
れが付加的なデータのバースト(既知の量の)をサポー
トし、従ってフレーム当たり1個又はそれ以上のCPU
コンテックストスイッチを除去、減少することが可能で
あるかを決定するためにFIFOメモリ内を「見る」こ
とを可能とする。2番目のDMAコマンドは、次のフレ
ームバーストをデスティネーションFIFOへ移動させ
るために殆ど付加的なオーバーヘッドなしにキュー化即
ち待ち行列化させることが可能である。
【0094】図22はルックアヘッドウォーターマーク
と従来のFIFOフロー制御とを示している。この図は
システム側とネットワーク側を示したFIFOメモリ構
造の基本的概念の抽象的な描写である。送信ウォーター
マークは260において示されている。タイミングメカ
ニズムは底部の水平線上に示されており且つデータバー
ストXに対して点1において示されたデータバースト及
び点2及び3におけるルックアヘッドウォーターマーク
データバーストYを有する時間を示している。ルックア
ヘッドウォーターマーク時間線はファームウエアルック
アヘッドウォーターマークチェックを示している。従来
例においては、FIFOは空(データ=0)であり、次
いで、インタラプトが発生され且つ次いで現在のデータ
がXであるように1つのデータバーストがFIFOを充
填する。ファームウエアルックアヘッドウォーターマー
クチェックの場合には、ファームウエアはFIFOへの
データ転送のためにDMAに対してコマンドを提出し且
つ2番目のデータバーストは数字2によって示されるよ
うに発生し且つ現在のデータはX+Yとなる。次いで、
ファームウエアはルックアヘッドウォーターマークをチ
ェックし且つ3番目のデータバーストは数字3によって
示されるように発生し、現在のデータはX+2Yとな
る。
【0095】図23におけるフローチャートに示したよ
うに、ブロック300において開始するルックアヘッド
ウォーターマークを有する本発明のネットワーク制御器
を使用してデータをベースとしたネットワークにおける
データの流れを制御する本発明方法が示されている。ブ
ロック300において、DMAバースト寸法が格納さ
れ、且つルックアヘッドウォーターマークバースト寸法
も格納される。2つのバースト寸法は実質的に同一のも
のとするか又は異なるものとすることが可能である。次
いで、該チャンネルがイネーブル即ち動作可能状態とさ
れる。次いで、ウォーターマークインタラプトがブロッ
ク302においてDMAに対して発生される。ブロック
304において、ファームウエアはDMAに対するデー
タ転送コマンドを発行する。このコマンドの一部とし
て、ファームウエアはそのタスクが完了すると、即ちR
EOC=TRUEであると、コマンドの終りに対する要
求(REOC)を介してアクノレッジメント即ち受信確
認をDMAに対して要求する。ブロック306におい
て、DMAは拡張バスに対する調停を行い、次いで、送
信FIFOへデータを転送する。それはEOCフラグを
介して、いつそれが終了するかを知らせる。
【0096】DMA転送が完了したか否か、即ちEOC
=TRUEに対応するか否かを決定するための判別がブ
ロック308において行われる。DMA転送が完了して
いない場合には、ブロック306が繰返される。DMA
転送が完了している場合には、FIFO制御論理はブロ
ック310においてデータ容量を決定する。図示した如
く、FIFO制御論理は、FIFO内に保持されている
現在のデータ値をFIFO内に保持することの可能な最
大値から減算することによってデータ容量を計算する。
その結果は、ルックアヘッドウォーターマークバースト
寸法によって割算されデータ容量が得られる。ブロック
312に示したように、データ容量が1より大きいか又
はそれと等しい場合には、ルックアヘッドウォーターマ
ーク値(例えばフラグ)は真(TRUE)である。ルッ
クアヘッドウォーターマーク値が1未満である場合に
は、それは偽(FALSE)である。ルックアヘッドウ
ォーターマークフラグがブロック314において真であ
ると、付加的なコマンドがブロック316においてDM
Aに対して発行され、且つDMAはブロック318にお
いて送信FIFOへデータを転送する。ルックアヘッド
ウォーターマークが偽であると、そのルーチンは終了す
る。
【0097】図24a及び24bは最初にインタラプト
取次フレーム送信(図24a)及びルックアヘッドウォ
ーターマーク取次フレーム送信(図24b)を示してい
る。これらのタイミングメカニズムはルックアヘッドウ
ォーターマークの利点を示しており且つクロックサイク
ルによってルックアヘッドウォーターマークの効率を量
子化する場合の助けとなる。これらのチャートはインタ
ラプトのずらされた遅延を示しており、例えばそれらが
いつ発行され且つサービスされるか且ついつデータがF
IFO内に書込まれるかを示している。このことはそれ
が完全に使用されることを確保するためにビジーなマル
チチャンネル装置において重要である。このことはスタ
ンダードのインタラプトの待ち時間をルックアヘッドウ
ォーターマークの効率と比較することを可能とする。
【0098】インタラプト取次フレーム送信(図24
a) 1.DMAがパケットインタラプト信号の開始(SO
P)を介してフレーム送信を開始する。
【0099】2.ファームウエア(FW)が送信チャン
ネルをイネーブルさせ、コマンド(2個の32ビットワ
ード)を構築し且つこのコマンドを実行するためにDM
Aへ提出する。
【0100】3.DMAが該コマンドをデコードし、外
部バスに対する調停を行い、外部共用メモリから適宜の
データを読取り、これを適宜の送信FIFOメモリ内に
書込む。
【0101】4.DMA転送が完了した後で且つ送信ウ
ォーターマークが超えられていない場合に、パケットの
継続(COP)インタラプトが発生される。
【0102】5.再度、ファームウエアはコマンドを構
築し且つそれを実行のためにDMAへ発行する。
【0103】6.ファームウエアが該COPインタラプ
トをディスエーブルしておらず且つ該FIFO内のデー
タがスタンダードのウォーターマークを超えていない場
合には、別のCOPを発生することが可能である。
【0104】7.該フレームの終端バイトがFIFOか
らネットワーク上へクロック出力されると、「パケット
の終り」(EOP)インタラプトが発生される。
【0105】8.ファームウエアは、別のフレームが送
信の準備がなされているか否か(即ち、チェーン化され
ているか否か)をチェックする。
【0106】9.チェーン化されたフレームが存在する
場合には、DMAコマンドが構築され且つ発行される。
【0107】10.2番目のフレームの最初のバースト
が外部RAMからフェッチされ且つ送信FIFOメモリ
内に書込まれる。
【0108】11.書込バーストが終了し且つFIFO
WMが超えられていない場合には、別のCOPが発行
される。
【0109】12.この2番目のフレームに対する2番
目のバーストを開始させるためにファームウエアは4番
目のコマンドを構築する。
【0110】13.ファームウエアがCPOインタラプ
トをディスエーブルさせておらず且つFIFO内のデー
タがスタンダードのウォーターマークを超えていない場
合には、別のCOPを発生することが可能である。
【0111】14.該フレームの終端バイトがFIFO
からネットワーク上にクロック出力されると、「パケッ
トの終り」(EOP)インタラプトが発生される。
【0112】15.ファームウエアは、別のフレームが
送信の準備がなされているか否か(即ち、チェーン化さ
れているか否か)をチェックし、且つそうでない場合に
は、送信チャンネルをディスエーブルさせる。
【0113】LAWM取次フレーム送信(図24b) 1.DMAはパケットインタラプト信号の開始(SO
P)を介してフレーム送信を開始させる。
【0114】2.ファームウエア(FW)は送信チャン
ネルをイネーブルさせ、コマンド(2個の32ビットワ
ード)を構築し且つこのコマンドを実行のためにDMA
へ提出する。
【0115】3.DMAはそのコマンドをデコードし、
外部バスに対する調停を行い、外部共用メモリから適宜
のデータを読取り且つそれを適宜の送信FIFOメモリ
内に書込む。LAWM信号が付加的なバーストに対して
FIFO内に充分な容量が存在することを表わす場合に
は、ファームウエアはDMAに対して実行するために2
番目のコマンドを提出する。
【0116】4.各DMA転送が完了した後で且つ送信
ウォーターマークが超えられていない場合には、パケッ
トの継続(COP)インタラプトを発生することが可能
である。
【0117】5.該フレームの終端バイトがFIFOか
らネットワーク上にクロック出力されると、「パケット
の終り」(EOP)インタラプトを発生することが可能
である。
【0118】6.ファームウエアは、別のフレームが送
信の準備がなされているか否か(即ち、チェーン化され
ているか否か)をチェックする。
【0119】7.チェーン化されたフレームが存在する
場合には、DMAコマンドが構築され且つ発行される。
【0120】8.DMAはこの3番目のコマンドをデコ
ードし、外部バスに対する調停を行い、外部共用メモリ
から適宜のデータを読取り且つこれを適宜の送信FIF
Oメモリ内に書込む。LAWM信号が、FIFO内に付
加的なバーストに対する充分な容量が存在することを表
わす場合には、ファームウエアは実行のためにDMAに
対して4番目のコマンドを提出する。
【0121】9.各DMA転送の後に送信ウォーターマ
ークが超えられていない場合には、パケットの継続(C
OP)インタラプトを発生することが可能である。
【0122】10.該フレームの終端バイトがFIFO
からネットワーク上へクロック出力された場合に「パケ
ットの終り」(EOP)インタラプトを発生することが
可能である。
【0123】11.ファームウエアは別のフレームが送
信の準備がされているか否か(即ち、チェーン化されて
いるか否か)をチェックし、且つそうでない場合には、
送信チャンネルをディスエーブルさせる。
【0124】ルックアヘッドウォーターマーク取次フレ
ーム送信が有益的なものであり且つ効率的であり且つ従
来方法の場合に発生する待ち時間を解消していることが
明らかである。
【0125】図25はパケット寸法に関連してインタラ
プト発生に関するウォーターマークの効果を示したグラ
フを示している。このグラフはFIFOウォーターマー
ク寸法の関数として発生されたインタラプトの数をプロ
ットしている。このグラフから理解されるように、パケ
ット寸法が増加すると、必要とされるインタラプトの数
も増加する傾向にある。ウォーターマーク値は発生され
たインタラプトの総数に関し逆の効果を有している。し
ばしばそうであるように、装置の性能をチューニングを
する場合にウォーターマークのみの操作では不充分であ
る。ネットワークパケット寸法の高い多様性及び共用シ
ステム資源に対する競合のために、付加的なメカニズム
が望ましい。本発明のルックアヘッドウォーターマーク
はこのようなメカニズムであり且つそうであるから図2
5における曲線を押し下げるものであることが容易に理
解される。
【0126】III.早期輻輳通知 本発明は、又、例えば受信FIFO70のうちの1つで
ある対応するポート受信器内の輻輳のアドバンスト(先
回り)ホスト通知に対するインタラプト(ECN)であ
る早期輻輳通知信号を使用する。エラーを発生したフレ
ームの前に先に受信したフレームがFIFO内に未だに
格納されている場合があるので「アドバンスト」即ち先
回りの用語を使用することが可能である。フレームの寸
法及びFIFOの相対的な寸法に依存して、0からディ
スパッチ即ち送給されることを待機している多数のフレ
ームの範囲のものが存在する可能性がある。従って、早
期輻輳通知(ECN)の信号が最初に発生された時とエ
ラーを発生したフレームが処理される時との間に著しく
遅延が発生する場合がある。従来は、ホスト44は、そ
の処理回路が先行するフレームの処理を行い且つそれが
エラーを発生したフレームに来るまで全てのフレームの
ステータスワードを検査するまでこのタイプのエラーに
気が付くものではなかった。ホストプロセサ44はオー
バーフロー問題に気が付くものではなかったので、その
処理動作は修正されることなしに継続して進行し、従っ
て、多数の先行するフレームは継続してFIFOをオー
バーフローし従って喪失されるものであった。勿論、こ
のことはより高いレベルのソフトウエアがフレームを再
送することのより大きな要求を形成し、従って、ネット
ワークにおける帯域幅問題を形成していた。喪失フレー
ム問題を有する単一のダウンストリーム即ち下流側のノ
ードの代わりに、その状態は、多数のダウンストリーム
ノードがそれらの送信ウインドウを再クロック動作させ
ることが強制されるものに迅速的に展開され、その問題
を容易に悪化させるものであった。
【0127】本発明によれば、図26のフローチャート
に示されるように、受信FIFOメモリにおけるネット
ワークデータ輻輳を制御する方法は、FIFOメモリ内
のフレームオーバーフローを表わす受信FIFOメモリ
内においてステータスエラーインジケータを発生するス
テップを有している(ブロック340)。早期輻輳イン
タラプトはステータスエラーインジケータに応答してF
IFOメモリから通信プロセサに対して発生される(ブ
ロック342)。そのインタラプトは処理され且つ少な
くとも1個の早期輻輳通知ビットが直接メモリアクセス
ユニットのマスタインタラプトレジスタ(MIR)内に
セットされる(ブロック344)。
【0128】次いで、直接メモリアクセスユニットから
ホストプロセサに対して早期輻輳インタラプトが発生さ
れて、FIFOメモリ内においてフレームオーバーフロ
ーが発生したことを表わす(ブロック346)。ホスト
プロセサからFIFOメモリに対してフレームオーバー
フローを発生させた入力フレームを廃棄するための命令
が発生される(ブロック348)。受信フレームのサー
ビスは直接メモリアクセス(DMA)ユニットのバース
ト寸法のワード数を増加させるか、又はその他のアクテ
ィブなプロセスのタイムスライスを修正することのいず
れか1つによって向上させることが可能である(ブロッ
ク350)。
【0129】図27A−Gは本発明の早期輻輳通知方法
のハイレベルのブロック図を示している。図27Aは受
信FIFOが空であり且つ読取(RD)及び書込(W
R)ポインタが0,0において同一であることを示して
いる。次いで、データが入り始め且つ読取ポインタはゼ
ロにあり且つ書込ポインタは図27Bに示したように前
進する。パケットが受取られるに従い、ステータスがS
tat1によって表示される如くに書込まれる。2番目
のフレーム即ちパケットが到着し(Data2)且つオ
ーバーフローをし始める(図27C及び27D)。オー
バーフロー条件が発生すると、エラーに対してフリップ
フロップがセットされ、従ってオーバーフロービットが
セットされる(図27G)。この点において、早期輻輳
通知(ECN)が送り出される。書込ポインタはパケッ
トの始めにリセットされ且つパケットの終りが発生する
まで凍結され、その時に、低パケットのタイムエラース
テータスフィールドへエンターする。DMAによるステ
ータス1の読取がそれをホストアドレスにおける受信ス
テータスレジスタ内へコピーする。通信プロセサがその
ステータスを読取るまで、別のデータ転送のためのDM
Aの要求が発生することはない。このことはオーバーフ
ローステータスによってステータスレジスタの上書きを
防止する(図27E及び27F)。
【0130】次に、より特定的に図28−43を参照す
ると、3つの入って来る異なるパケットの場合について
本発明方法及び装置について説明する。図28は受信F
IFO72内においてデータが受信されていない場合の
ネットワーク制御器及びホストシステムを示している。
図29において、データは、最初に、受信FIFO72
へ入り、且つ図30においてウォーターマーク258に
到達し且つパケットの始めインタラプトがインタラプト
バス252を介して通信プロセサ92へ送られる。通信
プロセサ92はデータを転送するためにDMA85に対
してコマンドを発行する(図31)。同時に、データは
矢印で示されるように継続して受信FIFO72へエン
ターする。
【0131】図32に示したように、DMAはシステム
バス42の所有についてバスアービトレイション(調
停)論理ユニット47と共にネゴシエーションを行い、
一方データは継続して受信FIFOメモリ72内へ転送
される。図33において、DMA85は受信FIFO7
2からのデータを共用システムメモリ46へ転送する。
図34に示したように、2番目のパケット即ちフレーム
が受信FIFOメモリ72へ入る。図35,36,37
は、システムバス42に対するアクセスが拒否されたと
いう点を除いて、図30,31,32と同様である。こ
の時に、3番目のパケット(黒塗り陰影)が2番目のパ
ケット(対角線陰影)と共にエンターする(図38)。
図39において、入って来るフレームが受信FIFOメ
モリ72をオーバーフローし且つ早期輻輳通知(EC
N)ビットがセットされた後に(図27G)内部インタ
ラプトが通信プロセサ92へ送られる。図41におい
て、通信プロセサ92はDMA85の適宜のレジスタブ
ロック内のポートに対するECNビットをセットする。
図42において、DMA85はシステムバス42に沿っ
てホストプロセサ44に対し早期輻輳インタラプトの信
号を送り且つDMA85は受信FIFO72からのデー
タを図43に示したように共用システムメモリ46へ転
送する。3番目のフレームは失われる。然しながら、上
のレベルのソフトウエアはそのフレームを送信すること
が可能である。
【0132】IV.フェンスポスト(Fence Po
st) 再度図3,4,5,7を参照して、記述子リング202
及び記述子206の説明に関して更に詳細に検討する。
図44のグラフに加えて、本発明方法及び装置はホスト
44とネットワーク制御器40との間でフレームに調整
されたデータの転送を制御することが明らかである。本
発明によれば、バスの利用を向上させ且つ最初の記述子
及び最後の記述子及び中間の記述子の所有を所望のホス
ト又は制御器へ許可するために、記述子「チェーン」内
における最初及び最後の記述子206のみがアップデー
トされる。
【0133】前述したように、ホスト44は受信された
か又は送信されたフレームよりも寸法がより小さなフレ
ームデータバッファ204を使用すべく選択することが
可能であり、従って、単一のフレームデータバッファは
複数個のフレームデータバッファ204をスパンする、
即ちそれらのバッファにわたることが可能である。この
ことはフレームをネットワーク制御器40によって切断
するか又は組立てることを可能とする。当然、上述した
ように、複数個のフレームデータバッファ204は関連
する記述子206を一緒に「チェーン化」することによ
ってフレームを構成する断片及びそのチェーンの最後の
記述子内にフレームの終りのフラグがセットされている
記述子リング202内の連続するエントリを保持するこ
とが可能である。所有されているがそのフレームの終り
フラグがセットされていない記述子エントリ206の夫
々のフレームデータバッファはフレームの一部であり全
体的なフレームではないと考えられる。制御器40は、
それが各相次ぐフレームデータバッファ204を充填す
る場合に1つづつ記述子206を一緒にチェーン化する
ことが可能である。フレームの終りが最終的に受取られ
且つ外部共用メモリ46へ転送されると、そのフレーム
の終りフラグが記述子チェーンの最後の記述子において
セットされる(図4)。
【0134】送信期間中に、制御器40は単一のフレー
ム及び当然に「チェーン化」された記述子206によっ
てポイントされる「チェーン化」されたフレームデータ
バッファ204の内容を逐次的に構築することが可能で
ある。フレームの送信は、その記述子206がフレーム
の終りフラグをセットしているフレームデータバッファ
204に遭遇する場合にのみ終了する。このバス利用に
おける著しい改良は、本発明によって発生され、その場
合に、各スパンされている記述子206を逐次的にアッ
プデートする従来技術の代わりに、例えば、ネットワー
クが受信したフレームに対する記述子内の所有ビットを
アップデートすることによって、最初の記述子と最後の
記述子のみを変更させる。これらのアップデートされた
最初の記述子及び最後の記述子はチェーンの「フェンス
ポスト」即ち垣根の支柱を形成する。
【0135】「フェンスポスト」型チェーン内の最初及
び最後の記述子の全てのフラグ及びフィールドは、完全
に送信されるか又は受信されるとフレームに関する正確
な情報を提供するために、アップデートされる。例え
ば、受信フレームの場合には、該チェーン内の最初の記
述子のメッセージ寸法フィールド218が、単にバッフ
ァ寸法に等しい関連するバッファのバイトカウントでは
なく、全体的なフレームのバイトカウントでアップデー
トされる。
【0136】上述したように、図4はチップ初期化セク
ション200a及び統計イメージ200b−eを具備す
る4個のポートを具備する管理ブロック200を示して
いる。記述子リング202は、アドレスを使用してフレ
ームデータバッファに対してポイントする種々の記述子
206と共に示されている。フレームデータバッファは
右側に示してある。図5は2ワードエントリとしての記
述子26と、所有ビット(OB)212及びパケットの
終り(EOP)214を有するフレームデータバッファ
204を示している。バッファ寸法216及びメッセー
ジ寸法218は1つのワード208内に収容されてお
り、且つバッファアドレス219は他のワード210内
に収容されている。図44におけるグラフは、上述した
如く最初の記述子及び最後の記述子のみを使用すること
が平坦なラインを形成しバスに沿ってのトラフィックを
減少させることを詳細に示している。
【0137】図3は、更に、どのようにして管理ブロッ
ク200が例えば幾何学的形状等のバッファ情報206
a及びバッファアドレス206bを具備する記述子20
6を持った異なる送信リング202に対して直接的にポ
イントしているポインタ200d(図7)を有している
かを示している。
【0138】V.記述子リングの形成 本発明は、ネットワーク装置が、例えば記述子リング等
のデータ及びバッファ構造を形成する役目を担っている
ので有益的である。ネットワーク装置40は外部共用メ
モリ46において送信及び/又は受信記述子リング20
2(図3)を構築する。本発明においては、全二重チャ
ンネルに対するサポートが提供されている。送信又は受
信記述子リング202のいずれかにおける記述子の数を
支配するパラメータ及びそれらの夫々のフレームデータ
バッファ寸法はパラメータブロック(又は管理ブロッ
ク)を介して通信される。
【0139】この管理ブロック200はホスト制御下に
おける通信プリミティブを介して初期化(図45)にお
いてホストシステム43とネットワーク装置40との間
で交換される。管理ブロック200はメモリ46の多数
の可変フィールド内に格納される(即ちマッピングされ
る)。上述したように、送信記述子リング寸法又は受信
記述子リング寸法に対するフィールド値が非ゼロである
場合には、構築を開始することが可能である。そうでは
なく、フィールドがゼロである場合には、ネットワーク
装置40は関連する記述子リング202を構築すること
はない。ネットワーク装置40は、ホスト40が共用メ
モリ46内に既にデータ及びメモリ構造を構築したもの
と期待する。記述子リング202の幾何学的形状即ち長
さ及び関連するフレームデータバッファ204の寸法は
異なり且つ記述子リング202は、しばしば、50個か
ら500個の記述子の長さが変化し、一方フレームデー
タバッファ204は約256個のバイトから最大で約
2,000又は5,000個のバイトに変化する。フレ
ームデータバッファ寸法は、インターフェースネットワ
ークの最大のサポートされているフレーム寸法に基づい
て選択される。ポート50−56毎に割当てられている
全体的なメモリは2メガバイト範囲内である。フレーム
データバッファ寸法は記述子リング202を実際に構築
するために必要な時間に比較的殆ど影響を有するもので
はない。然しながら、記述子リング寸法は構築時間に対
する制限的要因である。ブロックモード構築最適化技術
を使用して構築時間を減少させる。記述子206は2つ
のブロック内でオンチップで構築し且つ直接メモリアク
セスユニット85を介して外部メモリ46へ転送するこ
とが可能である。
【0140】このブロック寸法は変更可能であり且つ将
来ブロックのパラメータ内に容易に包含させることが可
能である。本発明の方法及びネットワーク装置は種々の
利点を有しており、例えばホストソフトウエアの開発に
対して必要な時間が減少されており且つホストコードの
寸法が減少されている。テストを促進させ且つより高速
のネットワーク装置初期化とすることが可能である。
又、本発明はアプリケーション設計エンジニアに対する
システムの実現を促進させる。
【0141】本発明によれば、共用メモリ46内のメモ
リのブロックがホストシステム43によって割当てら
れ、それは上述したような記述子リングパラメータ20
0bを有する管理ブロック200をマッピングさせる
(図7)。これらのパラメータは、共用メモリ内におい
て形成されるべき記述子リング202及び記述子204
の幾何学的形状を包含している。図7は管理ブロックを
示しており且つ4つのアドレスPAD+60乃至PAD
+72において、バッファ寸法、送信リング寸法及び受
信リング寸法を表わしている。
【0142】図45に示したように、管理ブロック20
0はチャート上の点0においてセットアップされたベー
スポインタを有している。ホストシステム43はネット
ワーク装置に対して初期化用のプリミティブ(点1にお
けるINIT)を発行する。同時に、ホスト44は管理
ブロック200のベースアドレスをネットワーク装置4
0内に書込む。ネットワーク装置40は共用メモリ(点
2)から管理ブロックを「フェッチ」即ち読取り、次い
で、管理ブロックが受取られたことのアクノッジメント
(ACK)をホストへ送る。この管理ブロックが処理さ
れ、一方ホストシステムはアクノレッジメントを受取っ
た後に付加的なハウスキーピング(点3)を行うことが
可能である。
【0143】管理ブロック200が初期されるに従いネ
ットワーク装置40は共用メモリ内に形成されるべきフ
レームデータバッファに対してポイントするデータのブ
ロックとして対応する記述子を構築する。
【0144】図46は、どのようにして記述子がネット
ワーク装置によって形成することが可能であるかを示し
たフローチャートを詳細に示している。ブロック400
において、ホストはベース記述子リング及び関連するバ
ッファに対してポインタを供給する。前述したように、
送信リング寸法又は受信リング寸法フィールドに対する
フィールド値が非ゼロである場合には、構築がすぐさま
開始される。そうでなく、これらのフィールドがゼロで
ある場合には、ネットワーク装置は関連する記述子リン
グを構築することはなく、ホストが共用メモリ内に既に
そのような構造を構築したものと期待する。
【0145】管理ブロックはネットワーク装置によって
読取られ(ブロック402)且つ記述子ヘッダーワード
が構築される(ブロック404)。記述子アドレスワー
ドが構築され(ブロック406)且つ記述子アドレスが
アップデートされる(ブロック408)。バッファポイ
ントアドレスもアップデートされ(ブロック410)且
つ、記述子ブロックがネットワーク装置によって共用シ
ステムメモリの一部であるホストRAMに対して読み出
される(ブロック412)。
【0146】次いで、ホストは、それが完了しているか
否かを判別するためにテストされ(ブロック414)、
且つ、完了していない場合には、記述アドレスが再度ア
ップデートされる。その処理が完了していると、EOR
ビットが終端記述子に対してセットされ(ブロック41
6)且つ終端記述子はホスト(RAN)へ書き出される
(ブロック418)。次いで、このプロセスは終了する
(ブロック420)。例えば隣接した記述子の使用、及
びイベントカウント等の多数の仮定が存在している。典
型的に、バッファは隣接したもの即ち連続的なものであ
り且つ一様な寸法のものである。バッファポインタが提
供されない場合には、ファームウエア102は記述子リ
ングの計算された終端から2ワードオフセットされてい
るバッファを開始させる。管理ブロック記述子パラメー
タ16進数ワードが「0X00000000」である場
合には、関連する記述子リング202が構築されること
はない。管理ブロック転送は、その他のコンフィギュレ
ーション(形態特定)プリミティブの前に必要とされ
る。何故ならば、そのブロックはその設定を上書きする
からである。全ての記述子リング寸法は偶数値でなけれ
ばならず且つフレームデータバッファ寸法は0又は1と
することが可能であり又は記述子リング202は構築さ
れない。全てのバッファポインタはリング寸法に拘らず
に強制的にアライメント即ち整合が与えられる。構築す
ることの可能な最も小さな記述子リングは寸法において
3個の記述子であり、且つDMA転送当たり1個のブロ
ックでブロック当たり2個の記述子である。
【0147】図47−50は使用することの可能な種々
のフィールド及びビット値のみならず送信及び受信メッ
セージ記述子の更なる詳細を示した表を例示している。
【0148】本発明に関連する技術的事項は、本願と同
日付をもって出願される本願出願人が出願人である以下
の発明の名称を有する特許出願に記載されており、これ
らの各出願の開示内容も引用により本願明細書に取込む
こととする。
【0149】1.「記述子リング内の記述子をアップデ
ートすることによるデータの転送制御方法及びシステ
ム」(整理番号 ST630) 2.「フレームアドレス通知を使用してネットワークを
ベースとしたデータのルーチング方法及びシステム」
(整理番号 ST631) 3.「FIFOメモリ内への付加的なデータバースト用
のルックアヘッドウォーターマーク」(整理番号 ST
632) 4.「共用メモリ内にバッファ構造を形成する方法及び
ネットワーク装置」(整理番号 ST635) 以上、本発明の具体的実施の態様について詳細に説明し
たが、本発明は、これら具体例にのみ制限されるべきも
のではなく、本発明の技術的範囲を逸脱することなしに
種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図1】 32ビットシステムバスへ接続する本発明の
ネットワーク制御器として示してあり且つホストシステ
ムマイクロプロセサと、バスアービトレイション(調
停)論理ユニットと、共用メモリサブシステムとを示し
ている4個のネットワーク装置のハイレベルブロック
図。
【図2】 本発明のネットワーク制御器を示しており且
つ4個のポートと、通信プロセサと、システムバスイン
ターフェース制御ユニットとを示しているハイレベルの
ブロック図。
【図3】 本発明の装置及びネットワーク制御器によっ
て使用されるバッファ管理及びシステムメモリを示して
おり且つ種々の記述子リングを示しているハイレベルの
ブロック図。
【図4】 管理ブロックと、記述子リングと、フレーム
データバッファとを示したデータ構造及びシステムメモ
リのハイレベルのブロック図。
【図5】 記述子及びバッファのハイレベルのブロック
図。
【図6】 本発明のネットワーク制御器のタイマ動作の
ハイレベルのブロック図。
【図7】 本発明において使用されているシステムメモ
リ及び管理ブロックの詳細を示した概略図。
【図8】 本発明のシステムメモリ及び統計イメージ及
び管理ブロックのブロック図及びチャートを示した概略
図。
【図8A】 本発明において使用されている直接メモリ
アクセスユニットのプリミティブコマンドレジスタに対
する種々のビット値及び記述を示した表。
【図8B】 本発明において使用されている直接メモリ
アックセスユニットのマスタインタラプトレジスタに対
する種々のビット値及び記述を示した表。
【図9】 レイヤ構造の1例としての種々のヘッダの階
層的コンフィギュレーション即ち形態を示したブロック
図。
【図10】 802.3データリンクレイヤヘッダを示
したブロック図。
【図11】 インターネットIPヘッダを示したブロッ
ク図。
【図12】 TCPヘッダを示したブロック図。
【図13】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図14】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図15】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図16】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図17】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図18】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図19】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図20】 ネットワーク制御器及び外部ホストプロセ
サ、バスアービトレイション論理ユニット及び共用シス
テムメモリの基本的なコンポーネントを示しており且つ
本発明のフレームアドレス通知に対するシーケンスにお
けるあるステップにおける状態を詳細に示したハイレベ
ルのブロック図。
【図21】 本発明のフレームアドレス通知の送信イン
タラプトイベントタイムラインを一般的に示したタイミ
ング線図。
【図22】 本発明のルックアヘッドウォーターマーク
を使用した流れ制御とクラシックな先入先出流れ制御と
の比較を示したブロック図。
【図23】 本発明のルックアヘッドウォーターマーク
を使用したプロセスを示したフローチャート。
【図24A】 インタラプト取次型フレーム送信を示し
たタイミング線図。
【図24B】 ルックアヘッドウォーターマーク取次型
フレーム送信を示したタイミング線図。
【図25】 ウォーターマーク値がどのようにして発生
されたインタラプトの総数に対して逆の効果を有してい
るかを示したグラフ図。
【図26】 本発明の早期輻輳通知信号を使用する基本
的なプロセスを示したフローチャート。
【図27】 (A)乃至(G)はどのようにして先入先
出メモリが受信FIFOメモリ内への2番目のパケット
上でオーバーフローするか及び種々の読取及び書込ステ
ータスポインタを示したハイレベルブロック図。
【図28】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図29】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図30】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図31】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図32】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図33】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図34】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図35】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図36】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図37】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図38】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図39】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図40】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図41】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図42】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図43】 本発明のネットワーク制御器の外部ホスト
プロセサ、バスアービトレイション論理ユニット、共用
メモリ、基本コンポーネントを示しており且つ早期輻輳
通知信号が3番目のパケットに関するオーバーフローを
有する3つの異なる入力パケットに対して使用される場
合のプロセスの1つの段階における状態を示したハイレ
ベルブロック図。
【図44】 最初の記述子と最後の記述子のみがアップ
デートされる場合の通常の記述子及び「フェンスポス
ト」を使用したホストバスの推測されるトラフィック構
成を詳細に示したグラフ図。
【図45】 ホストシステムと本発明のネットワーク装
置、例えばネットワーク制御器との間でのプリミティブ
(基本命令)の信号処理を示したチャート。
【図46】 ネットワーク装置内での記述子を構築する
プロセスを示したフローチャート。
【図47】 受信及び送信メッセージ記述子の種々のフ
ィールドを示したテーブル。
【図48】 受信及び送信メッセージ記述子の種々のフ
ィールドを示したテーブル。
【図49】 受信及び送信メッセージ記述子の種々のフ
ィールドを示したテーブル。
【図50】 受信及び送信メッセージ記述子の種々のフ
ィールドを示したテーブル。
【符号の説明】
40 ネットワーク制御器 42 システムバス 43 ホストバス 44 ホストマイクロプロセサ 46 共用メモリサブシステム 50,52,54,56 ポート 58 全二重プロトコル線 60 送信データハンドラ 62 ライントランシーバ 64 受信データハンドラ 66,68 FIFO論理回路 70 送信FIFO 72 受信FIFO 74 制御回路 78 管理バス 80 インターフェース制御ユニット(SBI) 82 共用バスインターフェース回路 84 バススレーブ制御器 85 直接メモリアクセスユニット 86 コンフィギュレーションデータ転送エンジン 88 管理データ転送エンジン 90 フレームデータ転送エンジン 92 通信プロセサ(CPC) 94 CPU 96 ALU 98 タイマ 100 RAM 102 ファームウエアROM 104 インタラプトハンドラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クリスチャン デイ. キャスパー アメリカ合衆国, テキサス 75007, カーロルトン, オールド デントン 3640 (72)発明者 エルマー エイチ. グリツ アメリカ合衆国, テキサス 76028, フラワー マウンド, ポーター ロード 1234

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】 フレームに調整したネットワークデータ
    の流れを制御する方法において、 ネットワーク装置のFIFOメモリ内においてFIFO
    メモリ内のフレームオーバーフローを表わすステータス
    エラーインジケータを発生し、 前記ステータスエラーインジケータに応答して、フレー
    ムオーバーフローがFIFOメモリ内において発生した
    ことを表わす早期輻輳インタラプトをホストプロセサに
    対して発生し、 FIFOメモリ内においてフレームオーバーフローを発
    生させた入力フレームを破棄し、 直接メモリアクセスユニット(DMA)のバースト寸法
    のワード数を増加させるか又は他のアクティブなプロセ
    スのタイムスライスを修正するかのいずれか1つによっ
    てFIFOメモリ内に受信されるフレームのサービスを
    向上させる、上記各ステップを有することを特徴とする
    方法。
  2. 【請求項2】 請求項1において、更に、前記ステータ
    スエラーインジケータを発生した後に通信プロセサに対
    してFIFOメモリから早期輻輳インタラプトを発生す
    るステップを有していることを特徴とする方法。
  3. 【請求項3】 請求項2において、更に、通信プロセサ
    によって発生された制御信号から直接メモリアクセスユ
    ニットのインタラプトレジスタ内の早期輻輳通知ビット
    をセットするステップを有していることを特徴とする方
    法。
  4. 【請求項4】 請求項3において、更に、FIFOメモ
    リ内でフレームオーバーフローを発生させた入力フレー
    ムを破棄するために直接メモリアクセスユニットからホ
    ストプロセサに対して早期輻輳通知インタラプトを発生
    するステップを有していることを特徴とする方法。
  5. 【請求項5】 請求項3において、更に、システムバス
    に沿って直接メモリアクセスユニットから早期輻輳通知
    インタラプトを発生するステップを有していることを特
    徴とする方法。
  6. 【請求項6】 請求項1において、前記ステータスエラ
    ーインジケータがステータスエラービットを発生するこ
    とによって発生されることを特徴とする方法。
  7. 【請求項7】 請求項6において、前記ステータスエラ
    ービットがフリップフロップをセットすることによって
    発生されることを特徴とする方法。
  8. 【請求項8】 請求項1において、前記FIFOメモリ
    内においてステータスエラーインジケータを発生するス
    テップが、オーバーフロー条件を表わすオーバーフロー
    ビットをFIFOメモリ内にセットすることを特徴とす
    る方法。
  9. 【請求項9】 フレームに調整されたネットワークデー
    タの流れを制御する方法において、 FIFOメモリ内のフレームオーバーフローを表わすネ
    ットワーク装置のFIFOメモリ内のステータスエラー
    インジケータを発生し、 前記ステータスエラーインジケータに応答して、フレー
    ムオーバーフローがFIFOメモリ内において発生した
    ことを表わす早期輻輳インタラプトをホストプロセサに
    対して発生し、 FIFOメモリ内にフレームオーバーフローを発生した
    入力フレームを破棄する、上記各ステップを有している
    ことを特徴とする方法。
  10. 【請求項10】 請求項9において、更に、FIFOメ
    モリ内にステータスエラーインジケータを発生した後に
    ネットワーク装置内の直接メモリアクセスユニットのイ
    ンタラプトレジスタ内における早期輻輳通知ビットをセ
    ットするステップを有していることを特徴とする方法。
  11. 【請求項11】 請求項10において、更に、FIFO
    メモリ内においてフレームオーバーフローを発生した入
    力フレームを破棄するためにホストプロセサに対して直
    接メモリアクセスユニットから早期輻輳通知インタラプ
    トを発生するステップを有していることを特徴とする方
    法。
  12. 【請求項12】 請求項10において、更に、システム
    バスに沿って直接メモリアクセスユニットから早期輻輳
    通知インタラプトを発生するステップを有していること
    を特徴とする方法。
  13. 【請求項13】 請求項9において、前記ステータスエ
    ラーインジケータがステータスエラービットを発生する
    ことによって発生されることを特徴とする方法。
  14. 【請求項14】 請求項9において、前記ステータスエ
    ラービットがフリップフロップをセットすることによっ
    て発生されることを特徴とする方法。
  15. 【請求項15】 請求項9において、前記FIFOメモ
    リ内にステータスエラーインジケータを発生するステッ
    プが、オーバーフロー条件を表わすオーバーフロービッ
    トをFIFOメモリ内にセットすることを特徴とする方
    法。
  16. 【請求項16】 フレームに調整されたネットワークデ
    ータの流れを制御する方法において、 FIFOメモリ内のフレームオーバーフローを表わすネ
    ットワーク装置のFIFOメモリ内のステータスエラー
    インジケータを発生し、 前記ステータスエラーインジケータに応答してFIFO
    メモリから通信プロセサへ早期輻輳インタラプトを発生
    し、 前記インタラプトを処理し且つ直接メモリアクセスユニ
    ットのインタラプトレジスタ内の少なくとも1つの早期
    輻輳通知ビットをセットし、 FIFOメモリ内においてフレームオーバーフローが発
    生したことを表わす早期輻輳インタラプトを直接メモリ
    アクセスユニットからホストプロセサへ発生し、 フレームオーバーフローを発生した入力フレームを破棄
    するためにホストプロセサからFIFOメモリへ命令を
    発生する、上記各ステップを有していることを特徴とす
    る方法。
  17. 【請求項17】 請求項16において、更に、システム
    バスに沿って直接メモリアクセスユニットから早期輻輳
    通知インタラプトを発生するステップを有していること
    を特徴とする方法。
  18. 【請求項18】 請求項16において、前記ステータス
    エラーインジケータがステータスエラービットを発生す
    ることによって発生されることを特徴とする方法。
  19. 【請求項19】 請求項18において、前記ステータス
    エラービットがフリップフロップをセットすることによ
    って発生されることを特徴とする方法。
  20. 【請求項20】 請求項16において、前記FIFOメ
    モリ内にステータスエラーインジケータを発生するステ
    ップが、オーバーフロー条件を表わすオーバーフロービ
    ットをFIFOメモリ内にセットすることを特徴とする
    方法。
  21. 【請求項21】 フレームに調整されたネットワークデ
    ータの流れを制御する方法において、 FIFOメモリ内のフレームオーバーフローを表わすネ
    ットワーク装置のFIFOメモリ内のステータスエラー
    インジケータを発生し、 前記ステータスエラーインジケータに応答してネットワ
    ーク装置の通信プロセサに対してFIFOメモリから早
    期輻輳インタラプトを発生し、 前記インタラプトを処理し且つネットワーク装置の直接
    メモリアクセスユニットのインタラプトレジスタ内の少
    なくとも1個の早期輻輳通知ビットをセットし、 フレームオーバーフローがFIFOメモリ内において発
    生したことを表わす早期輻輳インタラプトを直接メモリ
    アクセスユニットからホストプロセサに対して発生し、 フレームオーバーフローを発生した入力フレームを破棄
    するためにホストプロセサからFIFOメモリへ命令を
    発生し、 直接メモリアクセス(DMA)ユニットのバースト寸法
    のワード数を増加させるか又は他のアクティブなプロセ
    スのタイムスライスを修正するかのいずれか1つによっ
    て受信フレームのサービスを向上させる、上記各ステッ
    プを有していることを特徴とする方法。
  22. 【請求項22】 請求項21において、更に、システム
    バスに沿って直接メモリアクセスユニットから早期輻輳
    通知インタラプトを発生するステップを有していること
    を特徴とする方法。
  23. 【請求項23】 請求項21において、前記ステータス
    エラーインジケータがステータスエラービットを発生す
    ることによって発生されることを特徴とする方法。
  24. 【請求項24】 請求項23において、前記ステータス
    エラービットがフリップフロップをセットすることによ
    って発生されることを特徴とする方法。
  25. 【請求項25】 請求項21において、前記FIFOメ
    モリ内にステータスエラーインジケータを発生するステ
    ップが、オーバーフロー条件を表わすオーバーフロービ
    ットをFIFOメモリ内にセットすることを特徴とする
    方法。
  26. 【請求項26】 フレームに調整されたネットワークデ
    ータの流れを制御する装置において、 FIFOメモリ内のフレームオーバーフローを表わすス
    テータスエラーインジケータを発生する手段を具備する
    FIFOメモリ、 インタラプトレジスト及びFIFOメモリ内のオーバー
    フローに対応するステータスエラーインジケータに応答
    してセットされる早期通知ビットを具備する直接メモリ
    アクセスユニット、 直接メモリアクセスユニットから早期輻輳インタラプト
    を発生する手段、 前記直接メモリアクセスユニットからの早期輻輳インタ
    ラプトを受取るホストプロセサ、 フレームオーバーフローを発生した入力フレームを破棄
    するために前記ホストプロセサから前記FIFOメモリ
    へ命令を発生する手段、を有していることを特徴とする
    装置。
  27. 【請求項27】 請求項26において、更に、システム
    バスが前記直接メモリアクセスユニットを前記ホストプ
    ロセサと接続しており、且つその上で前記早期輻輳通知
    インタラプトが通過することを特徴とする装置。
  28. 【請求項28】 請求項26において、前記ステータス
    エラーインジケータがステータスエラービットを有して
    いることを特徴とする装置。
  29. 【請求項29】 請求項26において、更に、ステータ
    スエラービットを表わすためにセットされるフリップフ
    ロップが設けられていることを特徴とする装置。
  30. 【請求項30】 請求項26において、更に、オーバー
    フロー条件を表わすFIFOメモリ内のオーバーフロー
    ビットをセットする手段が設けられていることを特徴と
    する装置。
  31. 【請求項31】 フレームに調整されたネットワークデ
    ータの流れを制御する装置において、 FIFOメモリ内のフレームオーバーフローを表わすス
    テータスエラーインジケータを発生する手段を具備する
    FIFOメモリ、 インタラプトレジスタ及びFIFOメモリ内のオーバー
    フローに対応するステータスエラーインジケータに応答
    してセットされる早期通知ビットを具備している直接メ
    モリアクセスユニット、 前記直接メモリアクセスユニットから早期輻輳インタラ
    プトを発生する手段、 前記直接メモリアクセスユニットから早期輻輳インタラ
    プトを受取るホストプロセサ、 フレームオーバーフローを発生した入力フレームを破棄
    するために前記ホストプロセサから前記FIFOメモリ
    へ命令を発生する手段、 直接メモリアクセス(DMA)バースト寸法のワード数
    を増加させるか又は他のアクティブなプロセスのタイム
    スライスを修正することのいずれか1つによって受信し
    たフレームのサービスを向上させる手段、を有している
    ことを特徴とする装置。
  32. 【請求項32】 請求項31において、更に、システム
    バスが前記直接メモリアクセスユニットを前記ホストプ
    ロセサへ接続しており、且つその上を前記早期輻輳通知
    インタラプトが通過することを特徴とする装置。
  33. 【請求項33】 請求項31において、前記ステータス
    エラーインジケータがステータスエラービットを有して
    いることを特徴とする装置。
  34. 【請求項34】 請求項31において、前記ステータス
    エラービットを表わすためにセットされるフリップフロ
    ップが設けられていることを特徴とする装置。
  35. 【請求項35】 請求項31において、更に、オーバー
    フロー条件を表わすFIFOメモリ内のオーバーフロー
    ビットをセットする手段を有していることを特徴とする
    装置。
  36. 【請求項36】 ネットワークデータ輻輳を制御するネ
    ットワーク装置において、 FIFOメモリ内のフレームオーバーフローを表わすF
    IFOメモリ内のステータスエラーインジケータを発生
    する手段、 前記ステータスエラーインジケータを読取り且つそれに
    応答してFIFOメモリ内にフレームオーバーフローが
    発生したことを表わす装置輻輳インタラプトをホストプ
    ロセサに対して発生する手段、 FIFOメモリ内でフレームオーバーフローを発生した
    入力フレームを破棄する手段、を有していることを特徴
    とするネットワーク装置。
  37. 【請求項37】 請求項36において、更に、直接メモ
    リアクセスユニットを有しており、且つオーバーフロー
    条件を表わすためにセットされる早期輻輳通知ビットを
    具備するインタラプトレジスタを有していることを特徴
    とするネットワーク装置。
JP27883399A 1998-09-30 1999-09-30 ネットワ―クデ―タ輻輳を制御する方法及び装置 Pending JP2000115252A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/163,819 US6717910B1 (en) 1998-09-30 1998-09-30 Method and apparatus for controlling network data congestion
US09/163819 1998-09-30

Publications (1)

Publication Number Publication Date
JP2000115252A true JP2000115252A (ja) 2000-04-21

Family

ID=22591719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27883399A Pending JP2000115252A (ja) 1998-09-30 1999-09-30 ネットワ―クデ―タ輻輳を制御する方法及び装置

Country Status (4)

Country Link
US (2) US6717910B1 (ja)
EP (1) EP1014626B1 (ja)
JP (1) JP2000115252A (ja)
DE (1) DE69919114T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003536298A (ja) * 2000-06-02 2003-12-02 ラディシス・コーポレーション エコー・キャンセレーションのないvoip通信
JP2006502487A (ja) * 2002-10-08 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを交換する集積回路および方法
US7502375B2 (en) 2001-01-31 2009-03-10 Teldix Gmbh Modular and scalable switch and method for the distribution of fast ethernet data frames

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion
US7480242B2 (en) * 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US8073994B2 (en) * 2000-05-03 2011-12-06 At&T Laboratories Data transfer, synchronising applications, and low latency networks
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
WO2004025487A1 (en) * 2002-09-16 2004-03-25 Telefonaktiebolaget Lm Ericsson Bus control arrangement and method
US7284074B2 (en) * 2002-10-31 2007-10-16 Force10 Networks, Inc. Pipelined network processing with FIFO queues
US7453802B2 (en) * 2003-07-16 2008-11-18 Qlogic, Corporation Method and apparatus for detecting and removing orphaned primitives in a fibre channel network
US7684401B2 (en) 2003-07-21 2010-03-23 Qlogic, Corporation Method and system for using extended fabric features with fibre channel switch elements
US7894348B2 (en) 2003-07-21 2011-02-22 Qlogic, Corporation Method and system for congestion control in a fibre channel switch
US7792115B2 (en) 2003-07-21 2010-09-07 Qlogic, Corporation Method and system for routing and filtering network data packets in fibre channel systems
JP4210922B2 (ja) * 2003-10-27 2009-01-21 ソニー株式会社 撮像装置および方法
US7433364B2 (en) * 2003-12-24 2008-10-07 Intel Corporation Method for optimizing queuing performance
US20050232298A1 (en) * 2004-04-19 2005-10-20 Beverly Harlan T Early direct memory access in network communications
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
JP4567373B2 (ja) * 2004-05-20 2010-10-20 ルネサスエレクトロニクス株式会社 データ転送装置及び通信データ処理システム
US7606236B2 (en) * 2004-05-21 2009-10-20 Intel Corporation Forwarding information base lookup method
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
US7366958B2 (en) * 2004-12-14 2008-04-29 Intel Corporation Race condition prevention
US20070005833A1 (en) * 2005-06-30 2007-01-04 Pak-Lung Seto Transmit buffers in connection-oriented interface
JP4664243B2 (ja) * 2006-06-29 2011-04-06 富士通株式会社 通信装置
US7725556B1 (en) * 2006-10-27 2010-05-25 Hewlett-Packard Development Company, L.P. Computer system with concurrent direct memory access
US7624310B2 (en) 2007-07-11 2009-11-24 Micron Technology, Inc. System and method for initializing a memory system, and memory device and processor-based system using same
ATE469499T1 (de) 2007-07-27 2010-06-15 Research In Motion Ltd Vorrichtung und verfahren zum betrieb eines drahtlosen servers
US20090175277A1 (en) * 2008-01-09 2009-07-09 Schultz Gary E System and method for eliminating malformed packets in a multimedia-content digital transport stream
US8665281B2 (en) * 2008-02-07 2014-03-04 Microsoft Corporation Buffer management for real-time streaming
US7896714B2 (en) * 2008-06-13 2011-03-01 Hubbell Incorporated Submersible electrical set-screw connector
US9405592B2 (en) * 2014-05-16 2016-08-02 Teradata Us, Inc. Workload balancing to handle skews for big data analytics
US10585689B1 (en) * 2017-12-20 2020-03-10 Cisco Technology, Inc. Shared memory interface for application processes
JP7145117B2 (ja) * 2019-04-05 2022-09-30 ルネサスエレクトロニクス株式会社 通信装置
US11637739B2 (en) * 2021-01-10 2023-04-25 Mellanox Technologies, Ltd. Direct memory access (DMA) engine for diagnostic data
US11876735B1 (en) 2023-04-21 2024-01-16 Cisco Technology, Inc. System and method to perform lossless data packet transmissions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942553A (en) 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
US4953157A (en) 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
US5136582A (en) 1990-05-29 1992-08-04 Advanced Micro Devices, Inc. Memory management system and method for network controller
US5313454A (en) * 1992-04-01 1994-05-17 Stratacom, Inc. Congestion control for cell networks
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5299313A (en) 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
EP0602806B1 (en) 1992-12-18 2001-07-04 Advanced Micro Devices, Inc. High-level data link controller (HDLC) receiver
US6026088A (en) * 1993-10-20 2000-02-15 Lsi Logic Corporation Network architecture
US6351780B1 (en) 1994-11-21 2002-02-26 Cirrus Logic, Inc. Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
US5473604A (en) 1994-11-21 1995-12-05 At&T Corp. Method for avoiding node overload in a packet switching network
US5896511A (en) * 1995-07-19 1999-04-20 Fujitsu Network Communications, Inc. Method and apparatus for providing buffer state flow control at the link level in addition to flow control on a per-connection basis
US6031843A (en) * 1996-11-21 2000-02-29 Alcatel Data Networks Inc. Digital communications switching fabric
US6717910B1 (en) * 1998-09-30 2004-04-06 Stmicroelectronics, Inc. Method and apparatus for controlling network data congestion

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003536298A (ja) * 2000-06-02 2003-12-02 ラディシス・コーポレーション エコー・キャンセレーションのないvoip通信
JP4694092B2 (ja) * 2000-06-02 2011-06-01 ラディシス・コーポレーション エコー・キャンセレーションのないvoip通信
US7502375B2 (en) 2001-01-31 2009-03-10 Teldix Gmbh Modular and scalable switch and method for the distribution of fast ethernet data frames
JP2006502487A (ja) * 2002-10-08 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データを交換する集積回路および方法

Also Published As

Publication number Publication date
US7072294B2 (en) 2006-07-04
EP1014626A3 (en) 2002-10-16
US6717910B1 (en) 2004-04-06
US20040174813A1 (en) 2004-09-09
EP1014626A2 (en) 2000-06-28
EP1014626B1 (en) 2004-08-04
DE69919114T2 (de) 2005-07-28
DE69919114D1 (de) 2004-09-09

Similar Documents

Publication Publication Date Title
JP2000115252A (ja) ネットワ―クデ―タ輻輳を制御する方法及び装置
EP1014648B1 (en) Method and network device for creating buffer structures in shared memory
JP2000165455A (ja) Fifoメモリ内への付加的なデ―タバ―スト用のルックアヘッドウォ―タ―マ―ク
US7337253B2 (en) Method and system of routing network-based data using frame address notification
JP2000194655A (ja) 記述子リング内の記述子をアップデ―トすることによるデ―タの転送制御方法及びシステム
CA2304340C (en) Full-duplex communication processor
US6549960B1 (en) Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address
USRE47756E1 (en) High performance memory based communications interface
US5732094A (en) Method for automatic initiation of data transmission
JP3336816B2 (ja) マルチメディア通信装置及び方法
US6691178B1 (en) Fencepost descriptor caching mechanism and method therefor
US7133943B2 (en) Method and apparatus for implementing receive queue for packet-based communications
US6304910B1 (en) Communication processor having buffer list modifier control bits