JP2000200241A - 共用メモリ内にバッファ構造を形成する方法及びネットワ―ク装置 - Google Patents

共用メモリ内にバッファ構造を形成する方法及びネットワ―ク装置

Info

Publication number
JP2000200241A
JP2000200241A JP27916899A JP27916899A JP2000200241A JP 2000200241 A JP2000200241 A JP 2000200241A JP 27916899 A JP27916899 A JP 27916899A JP 27916899 A JP27916899 A JP 27916899A JP 2000200241 A JP2000200241 A JP 2000200241A
Authority
JP
Japan
Prior art keywords
network device
descriptor
frame
host
data
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
JP27916899A
Other languages
English (en)
Inventor
D Casper Christian
デイ. キャスパー クリスチャン
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 JP2000200241A publication Critical patent/JP2000200241A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 ホストとネットワーク装置との間で存在する
共用メモリ内に1個又はそれ以上のバッファ構造を形成
する方法及び装置を提供する。 【解決手段】 本発明によれば、ベースアドレスと記述
子リング及びフレームデータバッファ寸法に関する情報
を有する記述子リングパラメータとを具備する管理ブロ
ックを共用メモリのブロック内に格納する。管理ブロッ
クのベースアドレスをネットワーク装置内に書込む。次
いで、ホストからネットワーク装置へ初期化コマンドを
発行する。ネットワーク装置は管理ブロック及び共用メ
モリを読取り且つ1個又はそれ以上の記述子をネットワ
ーク装置内に構築する。各記述子は共用メモリ内のフレ
ームデータバッファに対してポイントする。次いで、記
述子を格納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はバッファ構造の技術
分野に関するものであって、更に詳細には、ホストとネ
ットワーク装置との間に存在する共用外部メモリ内にバ
ッファ構造を形成する方法及びネットワーク装置に関す
るものである。
【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】ルータを含むネットワーク装置は、典型的
に、個別的な記述子と関連するバッファとからなる多数
の記述子リングを有している。記述子リングは、間接的
なアドレス用ポインタ、例えば記述子からなるアレイと
して作用し、該記述子はネットワーク装置と共用されて
おりホストシステムの一部である外部メモリ内のどこに
バッファメモリが位置されているかの情報を提供する。
典型的に、各個別的な記述子は所有ビットを有してお
り、それは、記述子の他の部分と共に、ネットワーク装
置とホストシステムとの間のハンドシェーキングを可能
とする。
【0013】ネットワーク装置内の各活性化されたチャ
ンネル(即ちポート)に対して少なくとも1個の記述子
リングを有することが有益的であった。各チャンネルは
送信及び受信FIFOメモリを有しており、且つ、好適
には、各FIFOメモリに対して記述子リングが設けら
れている。4個のポートが存在している場合には、8個
の記述子リングが設けられ即ち送信FIFOメモリに対
して1個と受信FIFOメモリに対して1個とである。
通常、ホストのソフトウエアがメモリ内においてこれら
のデータ及びバッファ構造を実現する。従って、ホスト
は種々の記述子リング及びバッファを構築するために複
雑なソフトウエアを有している。
【0014】然しながら、マルチチャンネル装置の出現
と共に、ソフトシステムによってこれらの構造を構築す
るために必要とされるコンフィギュレーション(形態特
定)及びセットアップは益々複雑なものとなり且つ時間
のかかるものとなっている。このことは、記述子リング
の幾何学的形状及び長さ及びそれらの関連するバッファ
アの寸法のために特に重要である。更に、種々のネット
ワーク装置はそれらの適用例及び業界の種類に依存し
て、異なるタイプの記述子リング及び異なる寸法のフレ
ームデータバッファを必要とする場合がある。記述子リ
ングは寸法が異なる場合があり、例えば、通常、10個
乃至500個の間の記述子の範囲の寸法であり、一方フ
レームデータバッファは、しばしば、256バイトから
最大で2K又は64Kバイトの間で変化する。バッファ
寸法は、通常、インターフェースネットワークの最大の
サポートされたフレーム寸法に基づいて選択される。ポ
ート当たりに割当てられる全体的なメモリは、しばし
ば、2メガバイトの範囲内である。
【0015】
【発明が解決しようとする課題】本発明は、以上の点に
鑑みなされたものであって、上述した如き従来技術の欠
点を解消し、ホストシステム内の資源をフリーとさせる
即ち解放させるためにネットワーク装置内における記述
子リングを使用してデータ構造を構築することの可能な
方法及びネットワーク装置を提供することを目的とす
る。
【0016】
【課題を解決するための手段】本発明によれば、ネット
ワーク装置自身が例えばフレームデータバッファ及び関
連する記述子リング及び記述子等のバッファ構造を形成
する役割を担うものである。ネットワーク装置が、ホス
トシステムと外部的に共用するメモリ内において送信及
び/又は受信記述子リングを構築する。受信又は送信記
述子リングを必要とする記述子の数を支配するパラメー
タ及びそれらの夫々のフレームデータバッファの寸法は
外部システム又はホスト制御の下で通信プリミティブを
介して初期化においてホストシステムとネットワーク装
置との間で交換されるパラメータブロック(管理ブロッ
ク)を介して通信される。
【0017】本発明によれば、ホストとネットワークと
の間に存在する共用メモリ内に1個又はそれ以上のバッ
ファ構造を形成する方法が提供される。管理ブロックが
共用メモリのブロック内に格納される。管理ブロック
は、ベースアドレス及び記述子リングパラメータを有し
ており、該パラメータは記述子リング及びフレームデー
タバッファ寸法に関する情報を有している。本方法は、
又、管理ブロックのベースアドレスをネットワーク装置
内に書込むステップを有している。次いで、初期化コマ
ンドがホストからネットワーク装置へ発行される。ネッ
トワーク装置は共用メモリからの管理ブロックを読取
る。ネットワーク装置は1個又はそれ以上の記述子を構
築し、各記述子は共用メモリ内のフレームデータバッフ
ァに対してポイント即ち指し示している。該記述子を格
納する。
【0018】本発明の別の側面によれば、本発明方法
は、ネットワーク装置内に記述子を格納するステップを
有している。本方法は、又、共用メモリ内に記述子を格
納するステップを有することが可能である。本方法は、
又、記述子を逐次的に格納し且つ必要とされる蓋然性が
最も高い記述子リングの数を決定するステップを有して
いる。ネットワーク装置は、好適には、HDLC制御器
を有している。ホストから初期化コマンドを発行するス
テップは、ネットワーク装置に対して初期化プリミティ
ブを発行する。
【0019】本発明によれば、ネットワーク装置がバッ
ファ構造を形成し且つ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.「ネットワークデータ輻輳を制御する方法及び装
置」(整理番号 ST633) 以上、本発明の具体的実施の態様について詳細に説明し
たが、本発明は、これら具体例にのみ制限されるべきも
のではなく、本発明の技術的範囲を逸脱することなしに
種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図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 インタラプトハンドラ

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 ホストとネットワーク装置との間に存在
    する共用メモリ内に1個又はそれ以上のバッファ構造を
    形成する方法において、 共用メモリのブロック内にベースアドレス及び記述子及
    びフレームデータバッファ寸法に関連する情報を有する
    記述子リングパラメータを具備する管理ブロックを格納
    し、 前記管理ブロックのベースアドレスをネットワーク装置
    内に書込み、 ホストからネットワーク装置へ初期化コマンドを発行
    し、 ネットワーク装置によって共用メモリからの管理ブロッ
    クを読取り、 各々が共用メモリ内のフレームデータバッファに対して
    ポイントする1個又はそれ以上の記述子をネットワーク
    装置内に構築し、 前記記述子を格納する、上記各ステップを有しているこ
    とを特徴とする方法。
  2. 【請求項2】 請求項1において、更に、ネットワーク
    装置内に前記記述子を格納するステップを有しているこ
    とを特徴とする方法。
  3. 【請求項3】 請求項1において、更に、共用メモリ内
    に記述子を格納するステップを有していることを特徴と
    する方法。
  4. 【請求項4】 請求項1において、更に、前記記述子を
    逐次的に格納するステップを有していることを特徴とす
    る方法。
  5. 【請求項5】 請求項1において、更に、必要とされる
    最も蓋然性のある記述子リングの数を決定するステップ
    を有していることを特徴とする方法。
  6. 【請求項6】 請求項1において、前記ホストから初期
    化コマンドを発行するステップが、ネットワーク装置に
    対して初期化プリミティブを発行することを特徴とする
    方法。
  7. 【請求項7】 請求項1において、前記ネットワーク装
    置がHDLC制御器を有していることを特徴とする方
    法。
  8. 【請求項8】 ホストとネットワーク装置との間に存在
    する共用メモリ内に1個又はそれ以上のバッファ構造を
    形成する方法において、 共用メモリのブロック内にベースアドレス及び記述子リ
    ングパラメータを具備する管理ブロックを格納し、 ネットワーク装置内に前記管理ブロックのベースアドレ
    スを書込み、 ホストからネットワーク装置に対して初期化コマンドを
    発行し、ネットワーク装置によって共用メモリからの前
    記管理ブロックを読取り、 各々が共用メモリ内のフレームデータバッファに対して
    ポイントしている1個又はそれ以上の記述子をネットワ
    ーク装置内に構築し、 ネットワーク装置内に構築されるに従い前記記述子に対
    応して一度に2つづつデータの共用メモリブロックを逐
    次的に転送する、上記各ステップを有していることを特
    徴とする方法。
  9. 【請求項9】 請求項8において、更に、ネットワーク
    装置内に記述子を格納するステップを有していることを
    特徴とする方法。
  10. 【請求項10】 請求項8において、更に、共用メモリ
    内に記述子を格納するステップを有していることを特徴
    とする方法。
  11. 【請求項11】 請求項8において、前記ネットワーク
    装置がHDLC制御器を有していることを特徴とする方
    法。
  12. 【請求項12】 請求項8において、更に、必要とされ
    る蓋然性が最も高い記述子リングの数を形成するステッ
    プを有していることを特徴とする方法。
  13. 【請求項13】 請求項8において、更に、ネットワー
    ク装置の直接メモリアクセスユニットを介してデータの
    ブロックを逐次的に転送するステップを有していること
    を特徴とする方法。
  14. 【請求項14】 請求項8において、前記記述子リング
    パラメータが更にフレームデータバッファ寸法を有して
    いることを特徴とする方法。
  15. 【請求項15】 請求項8において、前記ホストから初
    期化コマンドを発行するステップがネットワーク装置へ
    初期化プリミティブを発行することを特徴とする方法。
  16. 【請求項16】 請求項8において、更に、ホスト内に
    おいて前記記述子リングパラメータを決定するステップ
    を有していることを特徴とする方法。
  17. 【請求項17】 ホストと複数個の活性化されたポート
    を具備するネットワーク装置との間に存在する共用メモ
    リ内に1個又はそれ以上のバッファ構造を形成する方法
    において、 共用メモリのブロック内にベースアドレス及び各々が記
    述子リング及び活性化されたポートの各々に対するフレ
    ームデータバッファ寸法に関する情報を有している複数
    個の記述子リングパラメータを具備している管理ブロッ
    クを格納し、 前記管理ブロックのベースアドレスをネットワーク装置
    内に書込み、 ホストからネットワーク装置へ初期化コマンドを発行
    し、 共用メモリからの前記管理ブロックをネットワーク装置
    によって読取り、 各々が共用メモリ内のフレームデータバッファに対して
    ポイントする夫々の記述子リングに対する1個又はそれ
    以上の記述子をネットワーク装置内に構築し、 前記記述子を格納する、上記各ステップを有しているこ
    とを特徴とする方法。
  18. 【請求項18】 請求項17において、更に、ネットワ
    ーク装置の直接メモリアクセスユニットを介してデータ
    のブロックを逐次的に転送するステップを有しているこ
    とを特徴とする方法。
  19. 【請求項19】 請求項17において、更に、ネットワ
    ーク装置内に記述子を格納するステップを有しているこ
    とを特徴とする方法。
  20. 【請求項20】 請求項17において、更に、共用メモ
    リ内に記述子を格納するステップを有していることを特
    徴とする方法。
  21. 【請求項21】 請求項17において、前記ネットワー
    ク装置がHDLC制御器を有していることを特徴とする
    方法。
  22. 【請求項22】 請求項17において、更に、必要とさ
    れる蓋然性が最も高い記述子リングの数を形成するステ
    ップを有していることを特徴とする方法。
  23. 【請求項23】 請求項17において、前記ホストから
    初期化コマンドを発行するステップが、ネットワーク装
    置に対して初期化プリミティブを発行することを特徴と
    する方法。
  24. 【請求項24】 バッファ構造を形成するネットワーク
    装置において、 FIFOメモリを具備している複数個のポート、 直接メモリアクセスユニット、 共用メモリ内に形成されるべき記述子リングの幾何学的
    形状を有する記述子リングパラメータを具備する管理ブ
    ロックに対応するデータのブロックを共用メモリから検
    索するために直接メモリアクセスユニットに命令を与え
    るファームウエアを具備する通信プロセサ、 ネットワーク装置内に対応する記述子を構築する手段、 前記記述子をホストとネットワーク装置との間に存在す
    る共用メモリへ転送する手段、を有していることを特徴
    とするネットワーク装置。
  25. 【請求項25】 請求項24において、前記通信プロセ
    サが直接メモリアクセスユニットを介してデータ及びフ
    レームの転送を制御することを特徴とするネットワーク
    装置。
JP27916899A 1998-09-30 1999-09-30 共用メモリ内にバッファ構造を形成する方法及びネットワ―ク装置 Pending JP2000200241A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/163953 1998-09-30
US09/163,953 US6526451B2 (en) 1998-09-30 1998-09-30 Method and network device for creating circular queue structures in shared memory

Publications (1)

Publication Number Publication Date
JP2000200241A true JP2000200241A (ja) 2000-07-18

Family

ID=22592343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27916899A Pending JP2000200241A (ja) 1998-09-30 1999-09-30 共用メモリ内にバッファ構造を形成する方法及びネットワ―ク装置

Country Status (4)

Country Link
US (1) US6526451B2 (ja)
EP (1) EP1014648B1 (ja)
JP (1) JP2000200241A (ja)
DE (1) DE69929859D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299581A (ja) * 2007-05-31 2008-12-11 Mitsubishi Electric Corp データ転送制御装置

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560652B1 (en) * 1998-11-20 2003-05-06 Legerity, Inc. Method and apparatus for accessing variable sized blocks of data
US6983350B1 (en) * 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US7480706B1 (en) * 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6952824B1 (en) * 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US7330904B1 (en) * 2000-06-07 2008-02-12 Network Appliance, Inc. Communication of control information and data in client/server systems
US7469297B1 (en) * 2000-08-04 2008-12-23 Intellon Corporation Mechanism for using a quasi-addressed response to bind to a message requesting the response
US7352770B1 (en) * 2000-08-04 2008-04-01 Intellon Corporation Media access control protocol with priority and contention-free intervals
US6947416B1 (en) * 2000-12-13 2005-09-20 Cisco Technology, Inc. Generalized asynchronous HDLC services
GB2371641B (en) 2001-01-27 2004-10-06 Mitel Semiconductor Ltd Direct memory access controller for circular buffers
US6721826B2 (en) * 2001-09-25 2004-04-13 Lsi Logic Corporation Buffer partitioning for managing multiple data streams
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US20030065735A1 (en) * 2001-10-02 2003-04-03 Connor Patrick L. Method and apparatus for transferring packets via a network
US6912602B2 (en) * 2001-11-20 2005-06-28 Broadcom Corporation System having two or more packet interfaces, a switch, and a shared packet DMA circuit
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7213074B2 (en) * 2002-06-12 2007-05-01 Bradley R Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7120847B2 (en) * 2002-06-26 2006-10-10 Intellon Corporation Powerline network flood control restriction
US8149703B2 (en) * 2002-06-26 2012-04-03 Qualcomm Atheros, Inc. Powerline network bridging congestion control
US7826466B2 (en) * 2002-06-26 2010-11-02 Atheros Communications, Inc. Communication buffer scheme optimized for VoIP, QoS and data networking over a power line
US20040024904A1 (en) * 2002-07-31 2004-02-05 Dimambro Francesco R. Load balancing packet transmission among multiple transmit rings
US7113985B2 (en) * 2002-10-15 2006-09-26 Intel Corporation Allocating singles and bursts from a freelist
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
KR100506062B1 (ko) * 2002-12-18 2005-08-05 주식회사 하이닉스반도체 복합형 메모리 장치
US6963946B1 (en) 2003-10-01 2005-11-08 Advanced Micro Devices, Inc. Descriptor management systems and methods for transferring data between a host and a peripheral
US7689738B1 (en) 2003-10-01 2010-03-30 Advanced Micro Devices, Inc. Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US7826614B1 (en) 2003-11-05 2010-11-02 Globalfoundries Inc. Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7499399B2 (en) * 2003-12-12 2009-03-03 Intel Corporation Method and system to determine whether a circular queue is empty or full
US7660327B2 (en) * 2004-02-03 2010-02-09 Atheros Communications, Inc. Temporary priority promotion for network communications in which access to a shared medium depends on a priority level
US7533154B1 (en) 2004-02-04 2009-05-12 Advanced Micro Devices, Inc. Descriptor management systems and methods for transferring data of multiple priorities between a host and a network
US7715425B2 (en) * 2004-02-26 2010-05-11 Atheros Communications, Inc. Channel adaptation synchronized to periodically varying channel
US7606236B2 (en) * 2004-05-21 2009-10-20 Intel Corporation Forwarding information base lookup method
US7636370B2 (en) * 2005-03-03 2009-12-22 Intellon Corporation Reserving time periods for communication on power line networks
US7716388B2 (en) * 2005-05-13 2010-05-11 Texas Instruments Incorporated Command re-ordering in hub interface unit based on priority
US8175190B2 (en) * 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
US7822059B2 (en) 2005-07-27 2010-10-26 Atheros Communications, Inc. Managing contention-free time allocations in a network
US9137212B2 (en) * 2006-12-04 2015-09-15 Oracle America, Inc. Communication method and apparatus using changing destination and return destination ID's
KR101484798B1 (ko) * 2007-05-10 2015-01-28 퀄컴 인코포레이티드 공유 매체에의 분산형 액세스의 관리
US7970927B1 (en) * 2009-12-31 2011-06-28 Qlogic, Corporation Concurrent transmit processing
JP5678171B2 (ja) 2010-04-12 2015-02-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated ネットワークにおける低オーバーヘッド通信のためのチャネル推定
CN102693198B (zh) * 2012-05-12 2015-03-25 北京忆恒创源科技有限公司 Dma传输方法及系统
US8891605B2 (en) 2013-03-13 2014-11-18 Qualcomm Incorporated Variable line cycle adaptation for powerline communications
US10078361B2 (en) 2014-10-08 2018-09-18 Apple Inc. Methods and apparatus for running and booting an inter-processor communication link between independently operable processors
US10050843B2 (en) * 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US9864728B2 (en) * 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US10164911B2 (en) * 2015-11-20 2018-12-25 Cisco Technology, Inc. Shim layer used with a virtual machine virtual NIC and a hardware platform physical NIC
US10585689B1 (en) * 2017-12-20 2020-03-10 Cisco Technology, Inc. Shared memory interface for application processes
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) * 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
CN109766187A (zh) * 2019-01-10 2019-05-17 烽火通信科技股份有限公司 网络数据包高速处理转发方法及系统
DE102019131603A1 (de) * 2019-11-22 2021-05-27 WAGO Verwaltungsgesellschaft mit beschränkter Haftung Vorrichtung und verfahren zur gepufferten übertragung von daten
US11436172B2 (en) * 2020-09-16 2022-09-06 Hughes Network Systems, Llc Data frame interface network device
CN117407356B (zh) * 2023-12-14 2024-04-16 芯原科技(上海)有限公司 基于共享内存的核间通信方法、装置、存储介质及终端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0365731B1 (en) * 1988-10-28 1994-07-27 International Business Machines Corporation Method and apparatus for transferring messages between source and destination users through a shared memory
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
US5299313A (en) 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US5606665A (en) * 1994-07-01 1997-02-25 Digital Equipment Corporation Buffer descriptor prefetch in network and I/O design
US5740448A (en) * 1995-07-07 1998-04-14 Sun Microsystems, Inc. Method and apparatus for exclusive access to shared data structures through index referenced buffers
US5781799A (en) * 1995-09-29 1998-07-14 Cirrus Logic, Inc. DMA controller arrangement having plurality of DMA controllers and buffer pool having plurality of buffers accessible to each of the channels of the controllers
US5765023A (en) * 1995-09-29 1998-06-09 Cirrus Logic, Inc. DMA controller having multiple channels and buffer pool having plurality of buffers accessible to each channel for buffering data transferred to and from host computer
US5828901A (en) * 1995-12-21 1998-10-27 Cirrus Logic, Inc. Method and apparatus for placing multiple frames of data in a buffer in a direct memory access transfer
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008299581A (ja) * 2007-05-31 2008-12-11 Mitsubishi Electric Corp データ転送制御装置

Also Published As

Publication number Publication date
EP1014648B1 (en) 2006-02-15
US20020013821A1 (en) 2002-01-31
EP1014648A2 (en) 2000-06-28
US6526451B2 (en) 2003-02-25
EP1014648A3 (en) 2004-04-14
DE69929859D1 (de) 2006-04-20

Similar Documents

Publication Publication Date Title
EP1014648B1 (en) Method and network device for creating buffer structures in shared memory
EP1014626B1 (en) Method and apparatus for controlling network congestion
EP0990990B1 (en) Flow control in a fifo memory
US7337253B2 (en) Method and system of routing network-based data using frame address notification
US6327615B1 (en) Method and system of controlling transfer of data by updating descriptors in descriptor rings
CA2304340C (en) Full-duplex communication processor
US6549960B1 (en) Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address
US5732094A (en) Method for automatic initiation of data transmission
US7773630B2 (en) High performance memory based communications interface
US5634015A (en) Generic high bandwidth adapter providing data communications between diverse communication networks and computer system
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

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908