JP3452590B2 - システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法 - Google Patents
システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法Info
- Publication number
- JP3452590B2 JP3452590B2 JP12617491A JP12617491A JP3452590B2 JP 3452590 B2 JP3452590 B2 JP 3452590B2 JP 12617491 A JP12617491 A JP 12617491A JP 12617491 A JP12617491 A JP 12617491A JP 3452590 B2 JP3452590 B2 JP 3452590B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- fifo
- network
- transmission
- detecting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000015654 memory Effects 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 title claims description 29
- 239000000835 fiber Substances 0.000 claims abstract description 8
- 239000000872 buffer Substances 0.000 claims description 197
- 230000005540 biological transmission Effects 0.000 claims description 120
- 238000012546 transfer Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 26
- 238000001514 detection method Methods 0.000 claims description 11
- 230000003287 optical effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 3
- 238000009432 framing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 24
- 230000001360 synchronised effect Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100021935 C-C motif chemokine 26 Human genes 0.000 description 1
- 101000897493 Homo sapiens C-C motif chemokine 26 Proteins 0.000 description 1
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9031—Wraparound memory, e.g. overrun or underrun detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/521—Static queue service slot or fixed bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9036—Common buffer combined with individual queues
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Optical Communication System (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Description
人により所有され、かつこれとともに同じ日付に出願さ
れる次の同時係属出願に関するものである。
「フレキシブルバッファ管理を有するFDDIコントロ
ーラ」(FDDI CONTROLLER HAVING FLEXIBLE BUFFER MAN
AGEMENT )連続番号07/529,364、 2) フィルーツマンの「メモリ管理システムおよび方
法」(MEMORY MANAGEMENT SYSTEM AND METHOD )連続番
号07/529,362。
おける多重レベルの非同期式優先順位実現と、するため
の方法およびシステム」(METHOD OFAND SYSTEM FOR IM
PLEMENTING MULTIPLE LEVELS OF ASYNCHRONOUS PRIORIT
Y IN FDDI NETWORKS )連続番号07/529,36
5。、 4) フィルーツマンの「多重優先順位待ち行列を単一
物理FIFOを用いて多重論理FIFOに転送するため
の方法およびシステム」(METHOD OFAND SYSTEM FOR TR
ANSFERRING MULTIPLE PRIORITY QUES INTO MULTIPLE LO
GICAL FIFOs USING A SINGLE PHYSICAL FIFO )連続番
号07/529,366。
より特定的にはフレームに配列されるデータをネットワ
ークアダプタのバッファを介して通過させるための方法
およびシステムに関するものである。この発明は特定的
には、完全なフレームがバッファにストアされる前に、
データをシステムとネットワークとの間に転送すること
により、ネットワークアダプタのデータスループットを
増加させることに関するものである。この発明の1つの
利用は、ファイバ分布されたデータインタフェース(F
DDI)である。
スキーピング」ビットを含むデータのパケットまたはバ
ーストは「フレーム」として規定され、フレームの形で
送られるデータは「フレーム化されたデータ」と称され
る)に配列されるデータのパケットを処理するデータ操
作システムにおいて、しばしばデータのフレームをシス
テムとネットワークの別の位置との間に転送する必要が
ある。データのフレームは同じまたは異なるレベルの優
先順位を呈示する待ち行列に配列されてもよい。
間にあるインタフェース回路は「ネットワークコントロ
ーラ」と称される。システムとネットワークとの間の時
間不一致を補償するためにデータをバッファすること、
何らかの必要なプロトコル変換を与えること、およびコ
ントローラを通過するデータにビットを加え、またはそ
こからビットを取ることにより“ハウスキーピング”を
実行することを含み、ネットワークコントローラはシス
テムとネットワークとの間のデータフローを管理する。
種々のタイプのネットワークコントローラアーキテクチ
ャは、用いられるネットワーク動作システム、および他
の考慮すべき事柄に基づいて実現される。
する前の同時係属出願(1)「フレキシブルバッファ管
理を有するFDDIコントローラ」に対して説明される
タイプのネットワークにおいて、バスマスタアーキテク
チャを含むネットワークコントローラがあり、ネットワ
ークに対する伝送のためフレーム化されたデータの待ち
行列は、システムメモリにおいて確立されるバッファか
ら出力バッファにおいて論理FIFOにより形成される
対応する領域に転送される。システムメモリと出力バッ
ファとの間には出力バッファへの途中、一時的にフレー
ム化されたデータをストアするための予め定められた記
憶容量、たとえば32バイトを有する物理FIFOがあ
る。物理FIFOの1つの目的は、システムおよびネッ
トワーククロックのクロック速度における差の結果必要
とされるデータのバッファリングを与えることである。
するための要求(FDDIにおいては、ネットワークは
光学媒体から構成される)と、伝送に利用可能なデータ
とに応答して、FDDIネットワークコントローラによ
り処理されるデータの待ち行列は、一度に1つのフレー
ムずつシステムメモリにおけるバッファ領域から出力バ
ッファに転送される。データの待ち行列は出力バッファ
において「論理FIFO」によって形成される対応する
待ち行列にストアされる。
送のために利用可能でなくなり、またはトークンの受信
の間終了していないトークンを保持する時間(THT)
がその優先順位に対するしきい値よりも小さくなるま
で、データは最も高いもので始まる優先順で転送され
る。このプロトコルについての詳細はここで参照するこ
とにより援用する前の同時係属出願(3)の「FDDI
ネットワークにおける多重レベルの非同期式優先順位を
実現するための方法およびシステム」に与えられる。
出力バッファへのフレーム化されたデータの各々の転送
に続いて、同じ優先順位を有する付加的なデータを物理
FIFOに転送し、その後同じ出力バッファの待ち行列
に転送するか、または異なる優先順位を有するデータを
物理FIFOに転送し、もし付加的なデータが利用可能
であれば、その後別の出力バッファの待ち行列に転送す
るかのどちらかの決定がなされる。ここで参照すること
により援用される同時係属出願(4)「単一の物理FI
FOを用いて多重優先順位待ち行列を多重論理FIFO
に転送するための方法およびシステム」は、いかにして
FIFOの「ロックアップ」を防ぐかを説明する。書込
まれるべき特定の待ち行列を含む論理FIFOにおいて
利用できる残っている記憶の量が、物理FIFOの記憶
容量よりも少ないときロックアップは起こる。この状態
で、物理FIFOはバッファにおける論理FIFOにア
ンロードできない。
要なパラメータはそのデータスループットの速度、また
は単に「スループット」であり、これはコントローラが
システムとネットワークとの間で両方向にデータを転送
できる速度である。コントローラスループットは通常
は、データがネットワークに転送され得る最高速度を決
定するので、コントローラのスループットはできるだけ
高くなるべきである。ネットワークコントローラの第2
に重要なパラメータはその待ち時間、つまり、ネットワ
ークコントローラに初めに「与えられる」データと、デ
ータがネットワークに「現われる」時間(または逆も同
様である)との間の時間遅延である。
においては自然の制限がある。たとえば、システムおよ
びネットワーククロック速度はデータがコントローラを
通過し得る速度を制限するであろう。ネットワークスル
ープットを制限する傾向のある別の要因は、システムと
ネットワークとの間で転送されているデータについて実
行されなければならない「ハウスキーピング」の量であ
る。
パケットの形式のデータが、システムとネットワークと
の間で大きいバッファメモリを有するネットワークコン
トローラを介して転送されるとき、待ち時間は増加され
る傾向がある。これはシステムから伝送データフレーム
を受けるバッファが、ネットワークへのデータの転送を
開始する前に完全なフレームが受けられるまで待つであ
ろうからである。データのストリングにおけるデータの
各フレームまたはパケットの長さは変わってもよい。伝
送データは十分なデータが受けられるとすぐにバッファ
から転送されることが望ましい。もしフレームが長けれ
ば、「アンダーラニング」として知られる状態を防ぐた
めに、コントローラはバッファにより十分なバイトが受
取られるとネットワークへのデータの転送を開始するべ
きであり、「アンダーラニング」とは、バッファが伝送
データを使い果たさないようにするぐらい早く、システ
ムがバッファを一杯にできない状態である。完全なフレ
ームよりも少ない伝送データをネットワークに転送しな
いことが重要である、なぜならば、不完全なフレームは
その目的地に到達しないであろうし、かつネットワーク
帯域幅を無駄にするであろうからである。
るために、完全なフレームがバッファによって受けられ
るまで待つ必要はない。システムおよびネットワークの
待ち時間によっては、時々完全なフレームがシステムか
ら受けられる前にデータの転送をバッファからネットワ
ークに開始することが可能であろう。これはもし、十分
な量の伝送データがバッファにあれば、少なくともその
一部分がまだバッファにあり、かつフレームがネットワ
ークに転送されている間、フレームは完全になるであろ
うからである。ワークに転送されているからである。言
換えれば、バッファに入ってくるデータはフレームが伝
送される前に、そこにある前のデータに「追いつく」で
あろう。
(1)完全なフレームの伝送データがバッファに受けら
れたとき、または(2)バッファにおけるデータがネッ
トワークに転送されている間フレームが完全になること
を可能にさせるのに十分な、完全なフレームより少ない
量の伝送データをバッファが含むときのどちらかの場
合、どちらが少なくとも、ネットワークへの完全なフレ
ームの伝送データの転送を開始することが望ましいとい
うことを発明者は発見した。
完全なフレームがバッファにより受けられるまで待つこ
とは必要でない、なぜならば、残りの部分のフレームは
必ずその後到達するであろうからである。理想的には、
受信データは第1のバイトが受けられると、できるだけ
すぐにバッファからシステムに転送されるべきである。
しかしながら、いくつかの受信フレームはネットワーク
コントローラによって受けられなくてもよい。フレーム
はシステムへアドレスされないので、またはフレームは
いくつかのほかの態様においては不十分であるため、フ
レームはコントローラによって「流され(flushed )」
てもよい。受信データは一部分のフレームが受けられる
とすぐに、コントローラによって評価されることができ
ない。したがって少なくとも予め定められた量のデータ
が受けられた後にのみ、バッファからの受信データをア
ンロードし始めることが望ましい。
伝送、および受信データをストアするためのバッファを
有するネットワークコントローラのデータスループット
を改良することである。
テクチュアを有するネットワークコントローラにおける
フレーム化されたデータのスループットを改良すること
である。
ワークに転送されている間システムからバッファに伝送
データを読出すことにより、バッファを有するネットワ
ークコントローラにおけるフレーム化されたデータのス
ループットを改良することである。
トワークから入ってくる間、データをバッファからシス
テムに転送することにより、バッファを有するネットワ
ークコントローラにおけるフレーム化されたデータのス
ループットを改良することである。
トワークバス待ち時間に従ってシステムまたはネットワ
ークに対するデータの転送を開始することにより、ネッ
トワークコントローラにおけるフレーム化されたデータ
のスループットを改良することである。
よびバッファにより受けられるデータの量の両方に基づ
いてバッファからのデータの転送を開始することによ
り、ネットワークコントローラにおけるフレーム化され
たデータのデータ処理を改良することである。
よびバッファにおいて構成される論理FIFOにストア
されるFDDIパケットデータの量の両方に基づいて、
データをバッファからネットワークまたはシステムに転
送することにより、FDDIネットワークコントローラ
におけるデータスループットを改良することである。
FOに受けられている間、そこからのデータの転送を開
始することにより、フレーム化されたデータの待ち行列
をストアする論理FIFOを有するFDDIネットワー
クコントローラにおけるデータスループットを改良する
ことである。
よびFIFOにストアされるデータの量の両方に基づい
て、対応する論理FIFOへの、およびそこからの待ち
行列に配列されるFDDIパケットデータのフローを制
御することにより、FDDIネットワークコントローラ
によるデータ処理を改良することである。この発明の上
のおよび他の目的は、システムメモリからネットワーク
へのパケットに配列されるデータのフローを制御するネ
ットワークアダプタにより満たされる。コントローラ
は、伝送および受信データをストアするための論理先入
先出メモリとして構成されるバッファメモリと、ネット
ワークに対するデータの伝送に対する要求を検出するた
めの手段とを含む。ネットワークへの伝送に対する要求
に応答して、データは一度に1つのパケットずつ、シス
テムメモリから伝送FIFOに転送され、かつそれから
データがまだネットワークから入ってくる間、伝送FI
FOからネットワークに転送される。これは完全なフレ
ームが受けられる前にFIFOがネットワークへ伝送す
ることを可能にさせる。この発明の別の局面に従って、
パケット検出手段は伝送FIFOにおいてネットワーク
に伝送されるべき少なくとも1つのデータのフレームの
存在を検出する。データがシステムから受けられている
間、フレーム検出手段がFIFOにおける完全なフレー
ムの伝送データの存在を検出するとき、データは伝送F
IFOからネットワークに転送される。
送されるべき少なくとも予め定められた量のデータの伝
送FIFOにおける存在を検出するための伝送データし
きい値検出手段を提供する。データしきい値検出手段が
伝送FIFOにおいて、少なくとも予め定められた伝送
データの存在を検出したとき、データは伝送FIFOか
らネットワークに転送される。システムおよびネットワ
ーク待ち時間、ならびに別の要因に基づいて選択された
予め定められた量の伝送データは、FIFOからネット
ワークへのデータの転送の間データ「アンダーラニン
グ」を防ぐのに十分な伝送FIFOにストアされるデー
タの量である。
びフレーム検出手段の両方は、完全なフレームがFIF
Oにストアされるか、または少なくとも予め定められた
量のデータがストアされるかのどちらかの場合、データ
が伝送FIFOからネットワークに転送されるようにコ
ントローラに組込まれる。
ータしきい値検出手段は、受信FIFOにおいてネット
ワークから受けられる少なくとも予め定められた量のデ
ータの存在を検出する。少なくとも予め定められた量の
受信データがFIFOにあるとき、受信FIFOにスト
アされるデータはシステムに転送される。受信しきい値
は、受けられたデータが流されるべきではないというこ
とを確実にするのに十分なデータの量である。
および受信データは、各々がタッグビットによりマーク
付けされない1つの終わりを有するパケットの形であ
り、前記アダプタはさらにパケットの終わりを検出する
タッグビットに応答する手段を含む。
OはSTARTおよびENDポインタによって規定さ
れ、かつそれぞれ、FIFOにデータを読出し、かつF
IFOからデータを書込むためのREADポインタおよ
びWRITEポインタを含む。SHADOW WRIT
Eポインタは伝送FIFOにストアされる完全なフレー
ムの終わりを指す。SHADOW WRITEポインタ
がREADポインタを超えるとき伝送しきい値は検出さ
れる。好ましくは、伝送しきい値はREADとWRIT
Eポインタとの間の差と比較して、レジスタから読出さ
れる。
個の異なる待ち行列に配列されるデータのフレームをス
トアするためのシステムメモリ手段を有する、複数個の
プロセッサを有するファイバ分布されたデータインタフ
ェース(FDDI)にある。インタフェースの出力バッ
ファメモリはそれぞれ、媒体に伝送されるべきフレーム
化されたデータの複数個の待ち行列をストアするための
複数個の論理先入先出(FIFO)メモリ領域を有する
ように構成される。出力バッファメモリの論理FIFO
メモリ領域にストアされるフレーム化されたデータは媒
体に伝送される。
トークンを捕獲すると、光学媒体にアクセスすることに
より光学媒体とインタフェースされる。応じて、(a)
優先順に一度に1つの待ち行列ずつフレーム化されたデ
ータをシステムメモリ手段からバッファメモリにおける
対応する論理FIFOに伝送することにより、かつ
(b)データが前記システムメモリ手段から論理FIF
Oに入ってくる間、論理FIFOにストアされるフレー
ム化されたデータを媒体に伝送することにより、フレー
ム化されたデータは媒体に転送される。この発明の特定
的な局面に従って、FIFOにおける完全なフレームの
データ、または少なくとも予め定められた量のデータの
どちらかが検出されるとすぐに、伝送データの論理FI
FOから媒体への転送を開始することにより、ネットワ
ークへの待ち時間は減少される。
媒体から入ってくる間、受信FIFOに受けられるデー
タを転送することによりさらに増加される。この発明の
この局面に従ってより特定的には、システムメモリ手段
にストアされるべき媒体から入ってくるデータは検出さ
れ、かつデータは媒体から受信FIFOに転送される。
受信FIFOにストアされる予め定められた量、つま
り、データが流されるべきかどうかを決定するのに十分
な量のデータが検出されるとすぐに、データは受信FI
FOから前記システムメモリ手段に転送される。
の発明を実行するように熟考されたベストモードの例示
によって簡単に、この発明の好ましい実施例のみが示さ
れ、かつ説明される次の詳細な説明より当業者にはすぐ
に明らかになるであろう。認識されるであろうように、
この発明はすべてこの発明から逸脱することなく、ほか
のおよび異なる実施例が可能であり、かつそのいくつか
の詳細は種々の明白な点において修正が可能である。し
たがって、図面および説明は事実上例示的であり、かつ
制限的でないようにみなされるべきである。
された、またはパケットデータ操作の分野における一般
的な適応性を有するが、熟考された特定的な利用はFD
DIネットワークにおいてある。したがって、この発明
の開示はFDDIの分野においてなされるであろうが、
この発明はそれほど制限されるべきではないということ
が理解されるべきである。
のに役立つFDDIについてのいくつかの背景情報は今
提供される。
て、かつアメリカンナショナルスタンダーズインスティ
チュート(American National Standards Institute
(ANSI) x3T9.5 Committee )によって開発される「フ
ァイバ分布されたデータインタフェース」(FDDI)
は2重の逆回転する物理的リングを実現する1秒あたり
100メガビットの時間決めされたトークンプロトコー
ルを規定する。図1は種々のステーションタイプを構成
するFDDIリングの簡略化されたブロック図である。
時々「2重アタッチメントステーション」と称されるク
ラスAステーションはネットワークの一次リングおよび
二次リングの両方に接続される。矢印で示されるように
2つのリング上でデータは反対方向に流れる。クラスA
ステーションはいくつかの単一アタッチメント、または
クラスBステーションをリングに接続するのに役立つ配
線コンセントレータとして動作し得る。図1において
は、ステーション2はステーション3、4、および5の
ための配線コンセントレータであり、コンセントレータ
はネットワーク管理装置に多数のステーションのための
1つのメンテナンスポインタを設ける。ステーションの
間で転送されるデータはフレーム化されたパケットの形
である。
示される。パケットは最小限の16アイドルコントロー
ル記号(プリアンブル)により先行される。パケットは
技術において周知の4B/5BコードのJおよびKコン
トロール記号から構成されるスタートデリミタ(SD)
で始まる。これはパケットのタイプを識別する2−デー
タ記号のフレームコントロール(FC)フィールドによ
り続けられる。目的地アドレス(DA)はパケットの意
図された受信者を識別する。同様にソースアドレス(S
A)はパケットの送信者を識別する。アドレスは長さに
おいて26または48ビットのどちらかになり得る。D
Aフィールドは単一ステーション、グループのステーシ
ョン、またはリング上のすべてのステーションを指すこ
とができる。
る。フレームチェックシーケンス(FCS)フィールド
は4バイトのデータを含む。これらのデータは32ビッ
トオートディン(Autodin)II周期冗長検査多
項式の結果である。FCSはFC、DA、SA、INF
OおよびPCSフィールドのデータ完全性を確実にす
る。
形成されるエンドデリミタ(ED)は伝送される。フレ
ーム状態(FS)フィールドはパケットがエラーを有し
て受けられていたか、アドレスが認められていたか、ま
たはパケットがコピーされていたかどうかを決定する記
号のために用いられる。
から除去される。「ストリッピング」と称され、かつ図
3(a)および(b)に示されるこのプロセスにおいて
は、媒体アクセスコントローラ(MAC)20はリング
上の伝送のためのIDLEコントロール記号のソースを
選択する。スタートデリミタが到達したとき、コントロ
ーラはリピート経路に切換える。パケットは監視され、
もし要求されればコピーされ、かつ同時にリピートされ
る。媒体アクセスコントローラ20はまたそれ自身のパ
ケットをソースに切換え、またはトークンを出すことが
できる。
ンはそれを受けるステーションに伝送する権利を割当て
る特別のビットパターンである「トークン」をを循環す
ることにより、媒体に伝送する権利を分布させる。伝送
することを願うステーションは、それが前のステーショ
ンからのトークンパッシングの順序でトークンを受ける
まで、待つ。ステーションがトークンを受けると、それ
はそのデータを伝送し、それからトークンを次のステー
ションに通過させる。
はまず、ストリッピング動作を実行することによりトー
クンを「捕獲」しなければならない。トークンSDフィ
ールドのみがリング上でリピートされる。トークンが一
旦捕獲されると、ステーションはパケットを伝送し始め
ることができる。最後のパケットが送られたときステー
ションはすぐに新しいトークンを出すことによって続け
られる。
ータ伝送のために割当てられた時間の量はFDDI仕様
において規定され、かつここで参照することにより援用
された前の同時係属出願(3)において要約される「時
間決めされたトークンプロトコル」によって制御され
る。プロトコルは最大トークン回転時間(TRT)を確
実にするために設計されて、初期設定についてのクレー
ムプロセスの間ステーションの中の命令プロセスにおい
て決定される。命令プロセスはトークン到達の間の最も
速い時間を必要とするステーションが、リングのため目
標トークン回転時間(TTRT)を命令することを許容
する。
サービスの2つのタイプ、すなわち同期サービスおよび
非同期サービスを提供する。ステーションには同期サー
ビスにより各トークン回転上に予め定められた量の伝送
帯域幅が与えられ、残りのリング帯域幅は非同期サービ
スを用いてステーションの中で共有される。トークンサ
ービスが予想されていたよりも早く到達したとき、ステ
ーションは非同期伝送を送ることを許容される。非同期
伝送のために割当てられた時間の量は、トークンによる
到達の現実の時間と予想されていたトークンの到達時間
との間の差に制限される。非同期伝送のための帯域幅の
割当は、同期伝送のためのどの用いられていない帯域幅
もトークン回転上の非同期伝送のために自動的に再び割
当てられて、ダイナミックである。
(2)においてより詳細に説明されたタイプのFDDI
インタフェースにおいて、一般的に116として示され
るバスマスタアーキテクチュアはシステム、またはユー
ザバスとネットワークとの間にファイバ光学媒体の形で
設けられる。バスマスタアーキテクチュア116の主コ
ンポーネントはデータフレームをコントローラ120か
ら受け、かつデータを並列から直列フォーマットに変換
する前にフレームの適当な符号化を実行するエンコーダ
/デコーダ(ENDEC)132を介して媒体にアクセ
スし、かつFDDI要求を満たすためにほかの「ハウス
キーピング」機能を実行する媒体アクセスコントローラ
(MAC)120を含む。ネットワークDMA(直接メ
モリアクセス)コントローラ124は、システムバス上
の少なくとも1つのシステムメモリ(図示されず)と少
なくとも1つのFIFO(先入先出)メモリを有するよ
うに構成され、ネットワークDMAコントローラと媒体
アクセスコントローラとの間に接続される出力バッファ
126との間のデータの転送を制御する。媒体アクセス
コントローラ120はフレームストリッピング、エラー
チェッキングおよびバスアービトレーションのような何
らかの要求されるハウスキーピング機能を実行する間デ
ータのフレームを受け、かつ伝送する適切なネットワー
クアクセスプロトコルを実現する。ネットワークDMA
コントローラ124は、フロントエンドバスマスタとし
て動作し、ホストまたはノードプロセッサと一緒に通信
し、メモリにおけるデータの動きを最小にしながらシス
テムメモリからバッファにデータを分散し、かつ収集す
る。
れる媒体アクセスコントローラ120は、データバス1
34およびアドレスバス136を介してバッファメモリ
126にインタフェースされ、かつデータバス134を
介してネットワークDMAコントローラ124にインタ
フェースされる。媒体へのおよび媒体からのデータの動
きを制御するために、ハンドシェイキングはコントロー
ラ124および120の間のバス140で実行される。
は、共有されるデータバス144ならびにアドレスおよ
びコントロールバス146、148を含むホストバス1
42にある。ネットワークDMAコントローラ124に
対する制御信号はバス要求および肯定応答線150でホ
ストにインタフェースされる。媒体アクセスおよびネッ
トワークDMAコントローラ120ならびに124は出
力バッファメモリ126と一緒に協働して、後で説明さ
れ、かつより詳細にはここで参照することによって援用
される前の同時係属出願(1)において説明され、示さ
れる種々のバス上でネットワークインタフェース動作を
実行する。
いて詳細に示され、かつ後により詳細に説明される出力
バッファ126は、媒体から受けられるデータの待ち行
列を含む受信FIFO175、および少なくとも1つ、
好ましくは4つの各々が媒体に与えられるべきデータの
待ち行列を含む伝送FIFO177を有するように構成
される。図7において示される4つの待ち行列は、1つ
の同期待ち行列およびFDDI仕様に従う3つの異なる
割当てられたレベルの優先順位を有するデータを含む待
ち行列を呈示する。好ましくはスタティックランダムア
クセスメモリ(SRAM)である出力バッファ126
は、各々が異なる優先順位のデータ待ち行列を含む4つ
のFIFOを有するようにファームウェアによってプロ
グラムされ、特定的には各FIFOは後に詳細に説明さ
れるような「ポインタ」を用いて規定される。
DMAコントローラ124によりリンクリスト待ち行列
178を介してシステムメモリに与えられ、かつ同様
に、同期および3つのレベルの非同期優先順位に対応す
るリンクリスト待ち行列180を介してシステムメモリ
から媒体にデータは伝送される。このシステムにおいて
実現されるバッファメモリ管理についての説明のため、
ここにおいて参照することにより援用された前出の同時
係属出願(2)の参照はここにおいてなされる。
りも先に、ノードプロセッサはバッファにすべての待ち
行列のエンドアドレスをロードしなければならない。待
ち行列ポインタは図7に示される順序、つまりポインタ
はまず特定のフレーム領域の終りを規定しそれから、待
ち行列を受け、かつ次に3つのレベルの優先順位を有す
る非同期待ち行列によって従われる同期待ち行列の順序
で待ち行列を伝送する。またノードプロセッサによって
プログラムされるのは、図7の右側の欄に示されるよう
な用いられるすべての待ち行列の読出し/書込みポイン
タであり、エンドアドレスポインタは図面の左側の欄に
示される。
の各待ち行列は、接頭語「EA」を有する「アドレスの
エンド」により特徴付けられる。たとえば、SPECI
ALFRAME AREAを無視する。同期データを含
む同期待ち行列はアドレスのエンドポインタ「EAS」
によって特徴付けられ、3つの非同期待ち行列はアドレ
スのエンドポインタ「EAA0−EAA2」により特徴
付けられる。さらに各待ち行列は、従来の態様ではそこ
からデータが読出され、かつそこにデータが書込まれる
位置を指すREAD、WRITEポインタにより規定さ
れる。READおよびWRITEポインタの間の差は待
ち行列にストアされるデータの量を呈示する。たとえ
ば、図7においては、RPRおよびRPXA0−RPX
A2は、FDDI標準に従って同期および3つのレベル
の非同期データ待ち行列のためのREADポインタを呈
示する。すべてのこれらのREADポインタはそれぞれ
の待ち行列の上にある。ポインタWPXSおよびWPX
A0−WPXA2は、それぞれの待ち行列の終りにおい
て同期および3つのレベルの非同期データのためのWR
ITEポインタを呈示する。
WRITEポインタ(SWP)は最もおそく待ち行列に
ストアされたフレームの終わりを指す。待ち行列が空で
あるとき初めは、SHADOW WRITEポインタは
待ち行列の上にあるREADおよびWRITEポインタ
に等しい。データが待ち行列の上に書込まれるので、S
HADOW WRITEポインタはREADポインタに
等しいままである。フレームの終わりが待ち行列に書込
まれ、図9と関連して後に説明される「タッグ」ビット
により検出されるとき、SHADOW WRITEポイ
ンタは今待ち行列にストアされたフレームの終わりにジ
ャンプすることにより更新する。もし完全なフレームよ
りも少ないものが待ち行列にあれば、SHADOW W
RITEポインタはREADポインタに等しい。逆に、
もし少なくとも1つの完全なフレームのデータが待ち行
列にストアされれば、FIFOのSHADOWWRIT
EおよびREADポインタは互いに等しくない。
は、RECEIVE待ち行列のためのSHADOW W
RITEポインタである。SWPXSおよびSWPA0
−SWPA2は伝送データの同期および非同期待ち行列
のためのSHADOW WRITEポインタである。各
待ち行列における少なくとも1つのデータのフレームは
ストアされるべきと考えられるので、SHADOW W
RITEポインタはREADおよびWRITEポインタ
の中間にあるように示される。空の待ち行列(図示せ
ず)は待ち行列に対するすべての3つのポインタが互い
に等しいことにより特徴付けられるであろう。1つのデ
ータの完全なフレームよりも少ないものを含む空でない
待ち行列は、等しいREADおよびWRITE SHA
DOWポインタならびに等しくないWRITEポインタ
により特徴付られる。
126において構成されるFIFOは「閉じている」の
で、ポインタはバッファの終りを「ラップアラウンド」
し、かつポインタがFIFOスタックの終りに到達した
とき再循環するであろう。
ち行列におけるデータの量がREADおよびWRITE
ポインタの間の差に等しい、かつ(2)SHADOW
WRITEおよびREADポインタが等しくなければ、
少なくとも1つの完全なデータのフレームが待ち行列に
おいてあるというこれらの2つの原理は、データがネッ
トワークからバッファに入ってくる間、またはデータが
システムによってバッファに与えられている間、バッフ
ァ126からのデータを転送するためにこの発明におい
て実現される。完全なフレームのデータがバッファにあ
る時か、または入ってくるデータを能動化するのに十分
なデータがバッファにあるいずれかの場合、アンダーラ
ニングを防ぐためにバッファにあるデータに「追いつ
く」ために、かつ伝送フレームを完全にするために、シ
ステムおよびネットワークバス待ち時間を考慮して、伝
送データはバッファ126からネットワークに転送され
る。システムによって受けられるように、またはそれが
処理され得る形でないため「流される」ようにのいずれ
かのため、データを能動化させるのに十分なデータがバ
ッファにあるとき、受信データはバッファ126からシ
ステムに転送される。
またはシステムのどちらかに「早く」転送されるため、
インタフェースのデータスループットは増加させられ
る。この動作は図11および図14と関連して後により
詳細に説明されるであろう。
DMAコントローラ120、124がバッファメモリ1
26と一緒に協働して、いかにして示される種々のバス
上のネットワークインタフェース動作を実行するかが後
に説明されるはずである。さしあたりインタフェースの
主コンポーネント、すなわちネットワークDMAコント
ローラ124、媒体アクセスコントローラ120および
出力バッファ126のより詳細な説明が今与えられるで
あろう。
に示されるネットワークDMAコントローラ124は、
媒体アクセスコントローラ120とネットワークDMA
コントローラ124との間に接続されるインタフェース
回路150を含む。インタフェース150は少なくとも
1つの、かつ好ましくは4つのFIFO152を含む伝
送セクションと、FIFOを含む受信セクション154
と、パケットバッファ管理回路156と通信する。イン
タフェース150はデータをバッファ126から受信セ
クション154に転送すると同様に伝送セクション15
2にストアされるデータをバッファメモリ126に転送
する。ネットワークのデータはシステムに利用可能であ
り、少なくとも予め定められた量のバッファにおける受
信データの受信を含むほかの状態が満たされたとき、バ
ッファ126から受信セクション154へのデータの転
送は媒体アクセスコントローラ120によるコマンドで
なされる。システムメモリからのデータが伝送セクショ
ンにおいて利用可能で、そこのデータ待ち行列がアンロ
ックされ、かつ少なくとも完全なフレームか、または少
なくとも予め定められた量のバッファにストアされる伝
送データを含むほかの状態が満たされたとき、伝送セク
ション152からのデータの転送は実行される。
る適当な待ち行列でバッファメモリをロードするため、
パケットバッファ管理回路156は媒体アクセスコント
ローラ120に、どのタイプのデータが伝送セクション
にあるかを示す。もし待ち行列が一杯になれば、インタ
フェース150はパケットバッファ管理回路156に、
現在のFIFOを空にし終えるために、その待ち行列を
ロックし、かつその待ち行列を中断するように信号す
る。もし転送が不完全であれば、インタフェース150
がその待ち行列がアンロックされたと信号するまで、回
路156はほかの起ころうとする転送を続ける。そのと
きには、どの中断された転送も続けられる。もし伝送お
よび受信データがセクション152および154におけ
るFIFOから同時に要求されれば、インタフェース1
50は予め定められた伝送および受信優先順に従って、
イベントの順序に基づいてこれらの転送を優先付ける。
ンドワードコードをデコードし、伝送し、明白なエラー
コマンドを要求し、かつ伝送セクション152と同様シ
ステムメモリインタフェース160に適当な情報を送
る。パケットバッファ管理回路156はコマンド要求F
IFO152からの伝送要求、およびFIFO154か
らの受信要求を優先付ける。管理回路156はそれか
ら、システムメモリインタフェース160にコマンドを
出して伝送、または受信のいずれかを認めるのか、もし
くはコマンドのうちの1つを処理し、かつCPUインタ
フェース161を介してシステムにインタフェースされ
る。
行列を維持し、かつ予め定められた優先順位における動
作を優先付ける。FIFO152はバイトを順序付け、
かつデータを収集することを実行し、かつ媒体アクセス
コントローラ120によって処理されるべきFIFO配
向されたパケットにデータをフォーマット化する。伝送
セクション152における種々の伝送待ち行列は、バッ
ファメモリ126が待ち行列を一杯にしたとき待ち行列
の切換えが実行されるように制御される。待ち行列がア
ンロックされたとき動作が再開し得るように、ロックさ
れた待ち行列のためのすべての必要な情報はストアされ
る。
はまた、システムメモリインタフェース160とネット
ワークアクセスコントローラインタフェース150との
間のデータバッファリングおよび速度調整のために用い
られる。システムメモリバス、およびネットワークのデ
ータ転送速度が独立しているので、バッファリングがネ
ットワークDMAコントローラ138において要求され
る。
リ126からのFIFO配向されたフレームを受け、か
つそれらをシステムメモリにおける受信バッファに分散
させる。受信バッファは記述リングによって指される。
セクション154はさらに、伝送FIFO152と同じ
態様で、ネットワークおよびシステムメモリの間の速度
調整を与えるためにFIFOを含む。
160はシステムメモリのため高速プログラマブルバス
インタフェースと、アドレス生成回路と、記憶装置とを
含む。インタフェース160はまた、システムメモリに
おけるバッファ管理のためのリングの端検出回路と、シ
ステムメモリインタフェースのための主コントロール状
態機械とを含む。
フェース160からシステムに与えられる信号は、シス
テムクロックSCLK(図示せず)と同期している。こ
れらの信号は外部アービタ(図示せず)からの1つのシ
ステムメモリのアクセスを要求する。別の信号はネット
ワークDMAコントローラ124に、システムメモリに
アクセスする権利を認める。SMI160の出力におけ
るアドレスバスは、すべてのシステムメモリアクセスを
アドレスし、かつシステムメモリ読出し/書込み線は、
データがシステムメモリからコントローラ124に転送
されているのか、またはコントローラからシステムメモ
リに転送されているのかどうかを示す。SMI160の
出力におけるほかの信号は、システムメモリの状態を示
し、エラーを示し、かつシステムメモリに対する読出し
および書込みの間のバスコンテンションを防ぐために外
部データバッファを能動化し、または不能化する。別の
SMI信号は、書込み動作のためシステムメモリにデー
タをラッチするためにSMIにおけるラッチを活性化す
る。
線は、ネットワークDMAコントローラ124がメモリ
からのコマンドを読出さなければならないということを
示し、かつコントローラにメモリアクセスを実行するよ
うに指示する信号を含む。別の線はネットワークDMA
コントローラがメモリにおける新しい状態ワードを書込
んだということをCPUに信号し、かつ別のものは割込
みを解除する。
媒体アクセスコントローラ120を介してバッファメモ
リ126にアクセスするために符号化された要求を含む
ホスト要求バスがある。ホスト要求バスに搬送されるコ
ードによって、バッファメモリ126は4つの伝送待ち
行列のうちのいずれかにおいてデータを読出し、または
データを書込むためにアクセスされる。読出し要求はバ
ッファ126から受信パケットを検索し、かつそれらを
システムメモリにストアする。書込み要求は伝送のため
バッファメモリにパケットを転送する。またインタフェ
ース150の出力においては、ネットワークDMAコン
トローラ124の現在の書込み、または読出し要求が媒
体アクセスコントローラ120によって認められている
ということを示す信号を搬送するホスト肯定線がある。
この信号と一緒に、バッファメモリ126は能動化さ
れ、かつ後(図17)で説明されるようにデータはデー
タバス、データパリティバスおよびデータタグバスにあ
る。媒体アクセスコントローラ120がバッファメモリ
126からDMAコントローラにデータを読出すとき、
インタフェースはまたデータをネットワークDMAコン
トローラ124にラッチするために読出し出力を与え
る。受けられたデータ線は、受けられたデータがバッフ
ァ126にあり、かつシステムメモリに転送される準備
が整っているということを示す。後で説明されるほかの
線は、バッファ126において現在アクセスされた伝送
待ち行列の状態を示す。
示される媒体アクセスコントローラ120は、FDD
IMACプロトコルを処理するためのコア媒体アクセス
コントローラ(MAC)162を含む。MAC162の
データ入出力ポートは、伝送および受信FIFO164
および166に接続される。ネットワークから受けられ
るデータは受信FIFO166により外部バッファメモ
リ126に与えられ、ネットワークに与えられるべき外
部バッファからのデータは伝送FIFO164にストア
される。FIFOコントロール回路168は、メモリア
ービタ170によってなされるメモリアービトレーショ
ン決定に基づいて伝送および受信FIFO164および
166のローディングならびにアンローディングを調整
する。
ちらがバッファメモリにアクセスできるかどうかを決定
するアービタのアクセス決定に基づいて、アドレス生成
器172は要求される外部バッファメモリアドレスをア
ドレスバス136に与える。そのデータ入力がゲート1
73を介してアドレス生成器172によって制御される
ノードプロセッサインタフェース174は、ノードプロ
セッサからの命令をデコードし、チップ状態を収集し、
かつコントローラ124を通じて制御情報を分布する。
チップの伝送および受信FIFO164ならびに166
は、ネットワークDMAコントローラ124の伝送およ
び受信セクション152ならびに154に類似する態様
で、主にシステムバスの待ち時間およびバーストの長さ
によって多数のデータパケットをストアする。
より詳細に示される出力バッファメモリ126は、ネッ
トワークから受けられたデータの待ち行列を含む受信F
IFO175および、少なくとも1つの、好ましくは4
つの各々がネットワークに与えられるべきデータの待ち
行列を含む、伝送FIFO177を有するように構成さ
れる。前に説明された4つの待ち行列は図7に示され、
1つの同期待ち行列およびFDDI仕様に従ってデータ
の3つのレベルの非同期優先順位を含む待ち行列を呈示
する。いかにしてデータ優先順位が互いに関連付けら
れ、かつネットワークに与えられるかは、ここで参照す
ることにより援用された前の同時係属出願(3)および
(4)において説明される。
トは、ビット位置0−31におけるデータとタッグビッ
トとを含み、かつ記述ワードによって続けられる。記述
ワードと同様に各フレームの最後のワードは、「1」に
セットされるタッグビットを有し、フレームの終わりを
マーク付けしない。伝送されるべきパケットはホストま
たはノードプロセッサにより、システムメモリにセット
アップされる。READ、SHADOW WRITE、
WRITEおよびEND OF ADDRESSポイン
タは示されるように位置決めされる。
グ】伝送順序は図10における概観図に示される。シス
テムメモリにおけるデータのセットアップに続いて、ス
テップ182において、もし出力バッファ126におけ
る現在の伝送待ち行列が「ほとんど一杯」でないと決定
されれば、前の同時係属出願(4)に従ってネットワー
クDMAコントローラ124はデータをシステムメモリ
から図8に示される内部伝送FIFO152に転送する
(ステップ184)。データは次に、伝送FIFO15
2から(外部)出力バッファメモリ126に転送される
(ステップ186)。
ームはホストおよびネットワークDMAコントローラ1
24により、媒体アクセスコントローラ120の管理下
でバッファメモリ126にロードされる。これはデータ
をバッファ126に要求されている特定の待ち行列に基
づいて、符号化された書込むためのネットワークDMA
コントローラ124による要求に応答して実行される。
下の図11と関連して説明されるように、好ましくはバ
ス利用効率を最大にし、かつオーバランまたはアンダー
ラン状態を避けるためにバッファはネットワークに対す
る伝送のためにアンロードされているのと同時に、パケ
ットはバッファ126にロードされる。
グ】フレームがバッファメモリ126にロードされた
後、フレーム全体がロードされたということ、またはメ
モリに書込まれるフレームのワードの数が伝送しきい値
を超えたということのどちらかが、媒体アクセスコント
ローラ124により確認されたとき、フレームはネット
ワークに対する伝送の準備が整う。
用できるとき、つまり、FDDIネットワーク上のトー
クンが待ち行列を伝送するために捕獲され、かつその待
ち行列に対する伝送状態が満たされれば、伝送は始ま
り、かつ論理「1」タッグビットによって特徴付けられ
るフレームの終りが遭遇されるまで、フレームは媒体ア
クセスコントローラ124によって読出される。このと
きバッファが空にされる前に、データのフレームは後続
の伝送のためにバッファに既に読出されている。つまり
伝送が進行中である間、かつフレームの完全な伝送の
後、完全なフレームがバッファにあるか、またはバッフ
ァの内容が伝送しきい値を超えれば、媒体アクセスコン
トローラ124は伝送のためFIFOの選択された待ち
行列からオンチップ伝送FIFO164に、より多くの
データを取出す。もしいずれの状態も満たされなけれ
ば、媒体アクセスコントローラ124はほかの待ち行列
を優先順に伝送のために検査する。
たとき完了される。しかしながら、もし伝送FIFO1
64がフレームの途中で空になれば、アンダーラン状態
は暗示されかつ現在のフレームは打切られる。
少なくとも予め定められた量の伝送データがバッファ1
26にあるとき、いかにしてシステムからネットワーク
へのデータの伝送が実行されるかは図11を参照して今
より詳細に説明される。
タが初めに伝送されるべき待ち行列は、同時係属出願
(4)に説明されるように、待ち行列がロックされたか
どうかを決定するために検査する。もし待ち行列がロッ
クされれば、プロセッサは別の待ち行列に対して続けら
れ、ステップ186gを実行する。もし待ち行列がロッ
クされなければ、その待ち行列に対するSHADOW
WRITEおよびREADポインタの値をテストするこ
とにより、ステップ186bは完全なフレームが待ち行
列にあるかどうかを決定する。もし2つのポインタが互
いに等しくなければ、少なくとも1つの完全なフレーム
がバッファ126にあるので、プログラムはネットワー
クに対する伝送を開始するためにステップ186eにジ
ャンプする。もしSHADOW WRITEおよびRE
ADポインタが互いに等しければ、プログラムは次に待
ち行列の内容をテストし、それが少なくともしきい値量
のデータを含むかどうかを決定する。これはステップ1
86dにおいて、待ち行列におけるデータの量を呈示す
るREADおよびWRITEポインタの値の間の差と、
伝送データのしきい値XTHRを比較することによりな
される。
26に入ってくる伝送データがデータアンダーラニング
を防ぐためにバッファから出ていくデータと結合し得る
速度に依存する。データアンダーラニングは打切られな
ければならない「ボイドデータ」をつくるであろう。し
きい値XTHRはシステムおよびネットワークバス待ち
時間に基づき、かつバスのデータ伝送の速度と反比例す
る。
の待ち行列は、図12に示されるフォーマットを有し、
そこにおいて各フレームはタッグビット「0」により特
徴付けられる長いワードおよびタッグビット「1」によ
って特徴付けられる最後の長いワードを含む。パケット
の最後のワードに続いて、またタッグビット「1」によ
って特徴付けられる状態ワードがある。状態ワードはど
のバイト境界において、データの最後のワードが終るか
を規定し、ネットワークDMAコントローラがシステム
メモリから得た状態からコピーされ、かつパケットがエ
ラーを含み、かつ打切られるべきかどうかを示す多数の
予め定められたビット含むパケットの状態と同様に、デ
ータバッファの状態を反映する。
グ】図13における概観図に示されるフレーム化された
パケットの受信は、外部バッファメモリ126における
記憶のために媒体アクセスコントローラ124によるデ
ータパケットの受信(ステップ190)、およびバッフ
ァからネットワークDMAコントローラ124の内部受
信FIFO154へのデータパケットの転送(ステップ
192)を必要とする。バッファメモリ126にストア
される受信フレームのフォーマットは図15に示され
る。
ッファメモリ126にストアされるネットワークから受
けられるパケットは、図16に示される態様でメモリに
配列される。バッファメモリにおける受信パケットは連
続して接近してストアされ、バッファメモリ受信領域が
循環する待ち行列の構成を有するようにさせる。各パケ
ットの終りにおいて、媒体アクセスコントローラ120
はパケットの状態をストアする。タッグビットはデータ
のために0に、かつ状態ワードを識別するために1にセ
ットされる。
グ】バッファ126にストアされるデータの量が受信し
きい値を超えたとき、ネットワークDMAコントローラ
124は次に、パケットデータを内部受信FIFO15
4からシステムメモリに転送し(ステップ194)、ホ
ストまたはノードプロセッサによって処理される(ステ
ップ196)。これは媒体アクセスコントローラ120
によって制御され、ネットワークDMAコントローラ1
24にデータをバッファメモリ126からシステムメモ
リに転送するように命令する。これはバッファメモリに
おけるワードの数がプログラムされた受信しきい値を超
えたとき行なわれる。フレーム受信の間の受信バッファ
待ち行列のいかなるオーバーフロー状態も状態ワードに
より示され、フレームが流されるべきであることを示
す。
がバッファ126の受信FIFOにあるとき、いかにし
てシステムによるデータの受信が実行されるかは、今図
14を参照してより詳細に説明される。ステップ194
aを参照すると、受信しきい値の値RTHRは図18に
おけるレジスタ187から読出される。このしきい値は
伝送しきい値XTHRのように、データがネットワーク
から入ってくる間バッファ126がシステムに受信デー
タを転送し始めることを可能にする。データ受信の各フ
レームがシステムにアドレスされ、かつそうでなければ
打切られないことを確実にするためにインタフェースを
能動化するため、受信しきい値の値RTHRはシステム
およびネットワークバス待ち時間に基づいて、十分であ
るバッファの受信FIFOにおいて受けられるワードの
数を呈示する。もしネットワークから受けられるバッフ
ァ126におけるワードの数が受信しきい値の値RTH
Rを超えれば、ステップ194bにおいて、バッファか
らの受信データがシステムに転送されるステップ194
dにプログラムはジャンプする。
流されるべきであるかどうかを決定するために、ステッ
プ194cはバッファ126における受信FIFOの内
容をテストする。これは、SHADOW WRITEポ
インタの値SWPRとWRITEポインタの値WPRを
比較することにより実行される。SHADOW WRI
TEポインタおよびWRITEポインタは初めは、デー
タが書込まれるべき待ち行列の位置にある。フレームが
待ち行列に書込まれるとき、WRITEポインタのみが
増加する。受信フレームがシステムのアドレスを含まな
いか、またはそれが不完全であるかのどちらかの理由
で、もし受信フレームが流されるべきであれば、フレー
ムがバッファから「流される」(ステップ194f)よ
うにWRITEポインタはSHADOW WRITEポ
インタに再びセットされる。このゆえに、もし受信デー
タが受信しきい値を超え、フレームが流されるべきでな
ければ、ステップ194cは受信データをシステムに転
送する。
トローラインタフェス】図17は媒体アクセスコントロ
ーラ120、ネットワークDMAコントローラ124お
よびバッファメモリ126の間の信号フロー経路を示
す。バッファ126と同様に、媒体アクセスコントロー
ラ120とネットワークDMAコントローラ124との
間に接続されるバッファデータバスBDATAは好まし
くは32ビットバスであり、かつ付加的な線BTAGは
BDバスが、フレームデータまたはフレームの終りにフ
レーム状態を含むかどうかを規定するタッグビットを搬
送する。バスBDPはBDバスおよびBDTAGバスの
ためにバッファメモリデータパリティビットを搬送す
る。これら3つのすべてのバス、すなわちBDATA、
BTAGおよびBDPはバッファメモリ126に与えら
れる。またバッファメモリ126に与えられるのは、媒
体アクセスコントローラ120によって与えられたアド
レス、好ましくは16ビットアドレスを搬送するアドレ
スバスBADDRである。
る信号は前の同時係属出願(3)に説明されるように優
先順位によって、コントロールバスQCNTRL上のデ
ータによって決定された多数の異なる待ち行列のいずれ
かに与えられる。コントロールバスQCNTRLはま
た、前に一杯であった待ち行列が今付加的なデータを受
ける準備ができているということを、ネットワークDM
Aコントローラ124に示す。
のは、媒体にデータを転送するために待ち行列、すなわ
ち同期待ち行列および3つのレベルの非同期待ち行列の
うちどれか1つのデータの転送状態を示すデータであ
る。媒体アクセスコントローラ120によって与えられ
る転送状態は、ネットワークDMAコントローラ124
に、コントローラ120がトークンを有し、かつ現在は
バッファメモリ126から媒体に特定の待ち行列を伝送
しているということを知らせる。
込み、または読出し要求が媒体アクセスコントローラ1
20によって認められているということを示す信号を、
バスHSACK(ホスト応答)は搬送する。この信号と
一緒に、バッファメモリ126は能動化され、かつデー
タはBD(バスデータ)、BDP(バスデータ優先順
位)およびBDTAGバスに上に現われる。
20が受信データをネットワークからネットワークDM
Aコントローラ124によってシステムメモリに転送さ
れるようにバッファメモリにストアしたときアサートさ
れる。応じて、ネットワークDMAコントローラはバス
に対するアクセスを要求し、それは媒体アクセスコント
ローラ120によって応答される。媒体アクセスコント
ローラ120は、BADDRバス上のデータによって特
定化されるアドレスでバッファメモリ126においてデ
ータをストアし、かつバッファにおいてストアされるデ
ータは、その後バッファのREAD端子の媒体アクセス
コントローラ120によるアサートに応答して、ネット
ワークDMAコントローラ124に転送される。
ネットワークDMAコントローラ124と、媒体アクセ
スコントローラ120との間のハンドシェイキングは図
17、および図19−21の時間変化図において示され
る。図17および19を参照すると、ネットワークアク
セスコントローラ120、ネットワークDMAコントロ
ーラ124およびバッファ126とインタフェースする
バス上の信号の時間は、そこに示されるバッファメモリ
クロックBMCLK信号と同期され、かつバッファメモ
リ126における受信データがネットワークDMAコン
トローラ124によって、読出される準備が整っている
ということを示すために、RDATAはアサートされ
る。RDATAに応答して、ネットワークからデータフ
レームを読出すようにネットワークアクセスコントロー
ラ120に要求するために、ネットワークDMAコント
ローラ124は適当なコードで、ホスト要求バスHSR
EQ上でホスト要求を実行する。ネットワークアクセス
コントローラ120はバッファメモリ126のバスを仲
裁し、かつHSACK上に肯定応答を与える。ネットワ
ークアクセスコントローラはまた、バッファメモリ12
6にアドレスし、データがある位置を指し、バッファに
読出しコマンドをアサートし、かつバッファからのBD
ATA上のデータをメモリDMAコントローラ124に
ラッチする。
ローラ120はフレームにおけるネットワークデータを
バッファメモリ126にストアし、かつそこのデータの
量が受信しきい値RTHRを超えたとき、システムメモ
リにおいてどこにネットワークデータがストアされるべ
きかを決定するために、コントローラ120はネットワ
ークDMAコントローラ124に、システムメモリから
記述子を取出させるためにRDATAをアサートする。
記述子によって指されたシステムメモリにおけるバッフ
ァが利用可能になったとき、DMAコントローラ124
はホスト肯定応答HSACKをネットワークアクセスコ
ントローラ120に与える。ネットワークアクセスコン
トローラ120は応じて、仲裁する。なぜならばそれは
すでに占有されており、データをネットワークに伝送
し、または他の機能を実行しているかもしれないからで
ある。もしネットワークネットワークコントローラ12
0が利用可能であれば、それは肯定応答(HSACK)
をDMAコントローラ124に再び与え、かつそれから
読出しコマンドによって続けられる記憶アドレスをバッ
ファ126に出力する。バッファ126にアドレスされ
たデータはBDATAに書込まれ、かつネットワークか
らデータを受けるために必要なハンドシェイキングを完
全にするために、システムメモリにおいて指定されたバ
ッファに与えられるようにネットワークDMAコントロ
ーラ124にラッチされる。
データは図8におけるオンチップFIFO152にスト
アされ、かつそのデータをバッファメモリ126におけ
る論理FIFOに転送する準備が整っている。データを
ネットワークに伝送する要求に応答して、ネットワーク
DMAコントローラはホスト要求信号HSREQをネッ
トワークアクセスコントローラ120に与え、ホストが
ネットワークに対する書込みを要求するということを示
す。ホストが書込むであろう特定の待ち行列は、HSR
EQバス上のコードによって決定される。この例におい
て、データの同期フレームがネットワークに与えられる
ように、ホストが同期待ち行列に書込むことを要求する
ということが想定される。応じて、ネットワークアクセ
スコントローラ120は仲裁し、かつ時間があればホス
トに対する肯定応答信号(HSACK)に応答する。ネ
ットワークアクセスコントローラ120はまた、ネット
ワークに伝送されるべきデータのフレームが一時的にス
トアされるバッファメモリ126にアドレスを与え、か
つバッファに書込みパルスを与える。したがって、BD
ATAバス上でネットワークDMAコントローラ124
により与えられるデータは、BDADDR上のネットワ
ークアクセスコントローラ120によって特定化される
位置において、バッファメモリ126に形成される論理
FIFOに書込まれる。
がなければ、ネットワークDMAコントローラ124は
ネットワークアクセスコントローラ120に対するHS
REQ上にさらなる要求を与えない。もし付加的なデー
タがネットワークに伝送されるべきであれば、他方、H
SREQバスはそのままアサートされ、かつその時間を
仲裁するネットワークアクセスコントローラ120が利
用可能なとき、それはHSACK上のコントローラ12
4に応答した後、バッファ126に付加的なアドレスお
よび書込みパルスを与える。
よび書込み動作の間のバス上のデータの時間関係を示
す。示された例においては、ネットワークアクセスコン
トローラ120は初めは書込み動作、それから読出し動
作を実行し、かつそれから書込み動作に戻る。含まれる
種々のバスに与えられる信号は、図19および図20に
示されるそれらと連続して対応する。
の量を検出し、かつデータがバッファに入ってくる間、
ネットワークに対する伝送データおよびシステムメモリ
に対する受信データをアンロードすることによって、イ
ンタフェースのデータスループットは改良される。バッ
ファにおける伝送データの量がレジスタから読出される
伝送しきい値を超えたとき、または少なくとも1つの完
全なフレームのデータがバッファにあるとき、伝送デー
タはバッファからネットワークに送られる。伝送しきい
値はシステムおよびバス待ち時間ならびにほかの要因に
よって決定される多数のワードであり、それがバッファ
にストアされたときアンダーラニングを避けるために、
入ってくるデータが「追いつく」ことを可能にするであ
ろう。バッファにおける受信データの量がレジスタから
読出される受信しきい値を超えるとすぐに、受信データ
はバッファからシステムメモリに転送される。
施例のみが説明され、かつ示されるが、前述のように、
この発明は種々のほかの組合わせおよび環境における使
用も可能であり、かつここに表わされるような発明の概
念の範囲内での変更、または修正が可能であるというこ
とが理解されるべきである。たとえばこの発明はFDD
Iの環境において説明されるが、これはそんなに制限さ
れるべきではない。
ットワークの典型的な実現化例のブロック図である。
る。
を示す図である。
フェースするネットワークの実現化例のブロック図であ
る。
り詳細な図である。
るデータフローを示す図である。
る待ち行列におけるバッファメモリの構成を示す図であ
る。
ーキテクチュアにおけるネットワークDMAコントロー
ラのより詳細な図である。
ータがシステムメモリから動かされるかを示す一般化さ
れたフローチャートの図である。
予め定められた量のデータのどちらかが伝送FIFOに
受けられたとき、いかにして伝送データが伝送FIFO
からネットワークに転送されるかを示す、より詳細なフ
ローチャートの図である。
送パケットの図である。
タが、システムメモリに動かされるかを示す一般化され
たフローチャートの図である。
FIFOに受けられたとき、いかにして受信データが受
信FIFOからシステムに転送されるかを示す、より詳
細なフローチャートの図である。
である。
のフォーマットを示す図である。
MAコントローラおよびバッファメモリの間の信号のフ
ローを示す図である。
するための伝送および受信しきい値をストアするフレー
ムしきい値レジスタの図である。
ィングすること示す信号時間変化図である。
ディングを示す信号時間変化図である。
読出しおよび書込みを示す時間変化図である。
Claims (33)
- 【請求項1】 システムメモリからネットワークへの、
パケットに配列されたデータのフローを制御するネット
ワークアダプタであって、 データをストアするためのバッファメモリ手段と、 論理先入先出メモリ(FIFO)として前記バッファメ
モリ手段を構成するための手段と、 ネットワークに対するデータの伝送のための要求を検出
するための手段と、前記ネットワークに対する伝送のための要求に応答し
て、 一度に1つのパケットずつ、データを前記システム
メモリから前記FIFOに転送するための第1の手段
と、前記FIFO内の前記データを、 データがネットワーク
から前記FIFOに入ってくる間に、前記FIFOから
前記ネットワークに転送するための第2の手段とを含
む、ネットワークアダプタ。 - 【請求項2】 ネットワークに伝送されるべき少なくと
も1つのパケットの前記データが前記FIFO内に存在
していることを検出するためのパケット検出手段をさら
に含み、前記第2の手段が、前記パケット検出手段に応
答して、前記FIFO内の前記データを前記ネットワー
クに転送するための手段を含む、請求項1記載のアダプ
タ。 - 【請求項3】 前記ネットワークに伝送されるべき少な
くとも予め定められた量のデータが前記FIFO内に存
在することを検出するための伝送データしきい値検出手
段をさらに含み、前記第2の手段は、前記データしきい
値検出手段に応答して、前記FIFO内の前記データを
前記ネットワークに転送するための手段を含む、請求項
1記載のアダプタ。 - 【請求項4】 前記ネットワークに伝送されるべき少な
くとも予め定められた量のデータが前記FIFO内に存
在することを検出するための伝送データしきい値検出手
段と、 少なくとも1つのパケットの前記データが前記FIFO
内に存在していることを検出するためのパケット検出手
段とをさらに含み、前記第2の手段は、前記パケット検出手段および前記し
きい値検出手段に応答 して、 少なくとも1パケットのデ
ータまたは少なくとも前記予め定められた量のデータが
前記FIFO内にあるとき、前記データを前記ネットワ
ークに転送するための手段を含む、請求項1記載のアダ
プタ。 - 【請求項5】 ネットワークから受信した、少なくとも
予め定められた量のデータが前記FIFO内に存在して
いることを検出するための受信データしきい値検出手段
をさらに含み、前記第2の手段は、前記受信データしき
い値検出手段に応答して、前記FIFO内の前記データ
を前記システムメモリ手段に転送するための手段を含
む、請求項1記載のアダプタ。 - 【請求項6】 前記FIFOにストアされるデータは、
各々がタッグビットによって境界が画定された一端を有
するパケットの形であり、かつ前記アダプタはさらに、
前記タッグビットに応答してパケットの前記一端を検出
するための手段を含む、請求項1記載のアダプタ。 - 【請求項7】 前記FIFOはSTARTおよびEND
ポインタによって規定され、かつそれぞれ、前記FIF
Oにデータを読出し、かつ前記FIFOからデータを書
込むための、READポインタおよびWRITEポイン
タ、ならびに前記伝送FIFOにストアされた完全なフ
レームの前記一端を指すSHADOWWRITEポイン
タを含み、前記パケット検出手段は、前記SHADOW
WRITEポインタが前記READポインタを超える
ときを検出するための手段を含む、請求項2記載のアダ
プタ。 - 【請求項8】 データしきい値をストアするレジスタを
さらに含み、前記データしきい値検出手段は、前記FI
FOの内容と前記データしきい値とを比較するための手
段を含む、請求項3記載のアダプタ。 - 【請求項9】 前記データしきい値検出手段は、前記R
EADポインタと前記WRITEポインタとの間の差
を、前記データしきい値と比較するための手段を含む、
請求項7記載のアダプタ。 - 【請求項10】 少なくともデータビットおよびパケッ
トの終り(タッグ)ビットにより特徴付けられるフレー
ムに配列されるデータのパケットをストアするための少
なくとも1つのプロセッサおよび、システムメモリ手段
を含むネットワークアダプタのためのネットワークコン
トローラであって、 ランダムアクセスメモリと、 前記ランダムアクセスメモリ内に、伝送FIFOとして
構成されるバッファメモリを規定するための手段と、 前記タッグビットによって境界が画定され、かつ伝送さ
れるべき待ち行列を形成する連続するフレームを前記シ
ステムメモリ手段から前記伝送FIFOに転送するため
の手段と、 少なくとも1つの完全なフレームのデータが前記伝送F
IFO内にストアされていることを検出するための第1
の検出器手段と、 少なくとも予め定められた量のデータが前記伝送FIF
O内にストアされていることを検出するための第2の検
出器手段と、前記第1および第2の検出器手段のうちの少なくとも1
つに応答して、 ネットワークに対する前記伝送FIFO
の内容を伝送するための手段とを含む、ネットワークコ
ントローラ。 - 【請求項11】 前記転送手段は、前記伝送FIFOが
前記ネットワークに伝送する間に、データのフレームを
前記伝送FIFOに転送するための第1の手段を含む、
請求項10記載のコントローラ。 - 【請求項12】 前記伝送FIFOはSTARTおよび
ENDポインタにより規定され、かつそれぞれ、前記伝
送FIFOにデータを読出し、かつ前記伝送FIFOか
らデータを書込むためのREADポインタおよびWRI
TEポインタ、ならびに前記伝送FIFOにストアされ
ている完全なフレームの終りを指すSHADOW WR
ITEポインタを含み、前記第1の検出器手段は、前記
SHADOW WRITEポインタが前記READポイ
ンタを超えるときを検出するための手段を含む、請求項
10記載のコントローラ。 - 【請求項13】 データしきい値をストアするレジスタ
を含み、かつ前記第2の検出器手段は前記伝送FIFO
の内容と前記データしきい値とを比較するための手段を
含む、請求項10記載のコントローラ。 - 【請求項14】 前記第2の検出器手段は前記データし
きい値と、前記READポインタと前記WRITEポイ
ンタとの間の差とを比較するための手段を含む、請求項
12記載のコントローラ。 - 【請求項15】 システムメモリとネットワークバスと
の間の、パケットに配列されるデータのフローを制御す
る方法であって、 第1の論理先入先出メモリ(伝送FIFO)として第1
のメモリを構成するステップと、 ネットワークバスに対するデータの伝送のための要求を
検出するステップと、 前記ネットワークバスに対する伝送のための要求に応答
して、一度に1つのパケットずつデータを前記システム
メモリから前記伝送FIFOに転送するステップと、 データが前記システムメモリから前記伝送FIFOに入
ってくる間に、前記伝送FIFO内の前記データを前記
伝送FIFOから前記ネットワークバスに転送するステ
ップとを含む、方法。 - 【請求項16】 少なくとも1つのパケットの前記デー
タが前記伝送FIFO内に存在することを検出し、かつ
応答して、前記データを前記ネットワークバスに転送す
るステップをさらに含む、請求項15記載の方法。 - 【請求項17】 少なくとも予め定められた量のデータ
が前記第2のFIFO内に存在することを検出し、かつ
応答して、前記データを前記ネットワークバスに転送す
るステップをさらに含む、請求項15記載の方法。 - 【請求項18】 少なくとも予め定められた量のデータ
が前記伝送FIFO内に存在することを検出し、かつ応
答して、少なくとも一つのパケットの前記データ、また
は少なくとも予め定められた量のデータのどちらかが伝
送FIFOにストアされているとき、前記データを前記
ネットワークバスに転送するステップをさらに含む、請
求項17記載の方法。 - 【請求項19】 第2の論理先入先出メモリ(受信FI
FO)として第2のメモリを構成するステップと、 システムにストアされるべき、ネットワークから入って
くるデータを検出するステップと、 データを前記ネットワークから前記受信FIFOに転送
するステップと、 前記ネットワークから前記受信FIFOにストアされ
た、予め定められた量のデータを検出するステップと、
および応答し、 前記データを前記受信FIFOから前記システムメモリ
に転送するステップとをさらに含む、請求項15記載の
方法。 - 【請求項20】 各々が待ち行列に配列され、かつ複数
個の異なる伝送優先順位を有するデータのフレームをス
トアするためのシステムメモリ手段を含む複数個のプロ
セッサ、および前記プロセッサにデジタルデータ通信経
路を形成する光学媒体を有するファイバディストリビュ
ーテッドデータインタフェース(FDDI)のためのネ
ットワークコントローラであって、 前記光学媒体にアクセスするための時間決めされたトー
クンデータプロトコルを実現する第1の手段と、出 力バッファを形成するランダムアクセスメモリと、前記ランダムアクセスメモリ内に、 それぞれ、前記複数
個の異なる伝送優先順位を有する前記待ち行列化された
データのフレームを、そこにストアするための複数個の
論理FIFOを構成するための第2の手段と、 前記バッファメモリにおける対応する論理FIFOに対
する前記フレーム化されたデータのフローを制御するた
めの手段とを含み、前記フレーム化されたデータフロー
制御手段は、優先順に一度に1つの待ち行列ずつ、前記
システムメモリ手段から前記バッファメモリにおける対
応する論理FIFOへの前記フレーム化されたデータの
フローを、制御するための第1の手段と、データが前記
システムメモリ手段から前記バッファメモリ内の前記F
IFOに入ってくる間に、前記論理FIFOにストアさ
れた前記フレーム化されたデータを前記媒体に伝送する
ための第2の手段とを含む、ネットワークコントロー
ラ。 - 【請求項21】 少なくとも1つの完全なフレームの伝
送データが前記バッファメモリ内に存在することを検出
するための伝送フレーム検出手段と、前記伝送フレーム
検出手段に応答して、伝送データを前記媒体に転送する
ための手段とをさらに含む、請求項20記載のネットワ
ークコントローラ。 - 【請求項22】 少なくとも予め定められた量の伝送デ
ータが前記バッファ内に存在することを検出するための
データしきい値検出手段をさらに含み、かつ前記データ
しきい値検出手段に応答して前記データを前記媒体に転
送するための手段をさらに含む、請求項20記載のコン
トローラ。 - 【請求項23】 少なくとも予め定められた量の伝送デ
ータが前記バッファメモリ内に存在することを検出する
ためのデータしきい値検出手段をさらに含み、前記転送
手段は前記フレームに応答する手段と、少なくとも完全
なフレームのデータ、または少なくとも予め定められた
量のデータのどちらかが前記バッファメモリにあると
き、前記データを前記媒体に転送するためのデータしき
い値検出手段とを含む、請求項21記載のコントロー
ラ。 - 【請求項24】 各前記論理FIFOはSTARTおよ
びENDポインタにより規定され、かつそれぞれ、前記
論理FIFOからデータを書込み、かつ前記論理FIF
Oからデータを書込むためのREADポインタおよびW
RITEポインタ、ならびに前記論理FIFOにストア
される完全なレームの終りを指すSHADOW WRI
TEポインタを含み、かつ前記データフロー制御手段
は、前記SHADOW WRITEポインタが前記RE
ADポインタを超えたときを検出するための手段を含
む、請求項20記載のコントローラ。 - 【請求項25】 データしきい値をストアするレジスタ
をさらに含み、かつ前記データフロー制御手段は前記論
理FIFOの内容と前記データしきい値とを比較するた
めの手段を含む、請求項24記載のコントローラ。 - 【請求項26】 前記しきい値検出手段は、前記データ
しきい値と、前記READポインタと前記WRITEポ
インタとの間の差とを比較するための手段を含む、請求
項25記載のコントローラ。 - 【請求項27】 媒体からの少なくとも予め定められた
量の受信データが前記論理FIFO内に存在することを
検出するための受信データしきい値検出手段をさらに含
み、かつ前記データフローコントローラ手段は、前記受
信データしきい値検出手段に応答して、前記論理FIF
O内の前記受信データを前記システムメモリ手段に転送
するための手段を含む、請求項20記載のコントロー
ラ。 - 【請求項28】 前記システムメモリ手段と前記バッフ
ァメモリとの間の前記フレーム化されたデータのための
単一の信号フロー経路を確立する物理FIFOメモリを
含む、請求項20記載のコントローラ。 - 【請求項29】 複数個のプロセッサを有し、各々が複
数個の異なる待ち行列に配列されるデータのフレームを
ストアするためのシステムメモリ手段を有し、各待ち行
列のフレームは他の待ち行列のデータのフレームの優先
順位とは異なる優先順位を有し、前記プロセッサにデジ
タルデータ通信経路を形成する光学媒体と、それぞれ、
媒体に伝送されるべきフレーム化されたデータの複数個
の待ち行列をストアするための複数個の論理先入先出
(FIFO)メモリ領域を有するように構成される出力
バッファメモリと、前記出力バッファメモリの前記論理
FIFOメモリ領域にストアされる前記フレーム化され
たデータを前記媒体に伝送するための手段とを有するフ
ァイバディストリビューテッドデータインタフェース
(FDDI)ネットワークのための前記システムバスお
よび前記光学媒体とインタフェースする方法であって、 予め定められた状態に応答して、トークンを捕獲する
と、前記光媒体にアクセスするステップと、かつ応答し
て、 (a) 優先順に一度に1つの待ち行列ずつ前記フレー
ム化されたデータを、前記システムメモリ手段から前記
バッファメモリ内の対応する論理FIFOに伝送し、 (b) データが前記システムメモリ手段から前記論理
FIFOに入ってくる間に、前記論理FIFOにストア
されている前記フレーム化されたデータを前記媒体に伝
送することにより、 前記媒体に伝送されるべきフレーム化されたデータの動
きを制御するステップとを含む、システムバスおよび光
学媒体とインタフェースする、方法。 - 【請求項30】 前記論理FIFOは伝送および受信論
理FIFOを含み、その方法は少なくとも1つの完全な
パケットの前記データの伝送FIFOにおける存在を検
出し、かつ応答し、前記データを前記媒体に転送するス
テップをさらに含む、請求項29記載の方法。 - 【請求項31】 前記論理FIFOは伝送および受信論
理FIFOを含み、その方法は少なくとも予め定められ
た量のデータが前記伝送FIFO内に存在することを検
出し、かつ応答して、前記データを前記媒体に転送する
ステップをさらに含む、請求項29記載の方法。 - 【請求項32】 少なくとも予め定められた量のデータ
が前記伝送FIFO内に存在することを検出し、かつ応
答して、少なくとも前記データのパケット、または少な
くとも予め定められた量のデータのどちらかが前記伝送
FIFOにストアされている時、伝送FIFO内の前記
データを前記媒体に転送するステップをさらに含む、請
求項30記載の方法。 - 【請求項33】 システムメモリ手段にストアされるべ
き、媒体から入ってくるデータを検出するステップと、 データを前記媒体から前記受信FIFOに転送するステ
ップと、 前記媒体から前記受信FIFOにストアされた予め定め
られた量のデータを検出するステップと、かつ応答し
て、前記受信FIFO内の 前記データを前記受信FIFOか
ら前記システムメモリ手段に転送するステップをさらに
含む、請求項31記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/529,363 US5210749A (en) | 1990-05-29 | 1990-05-29 | Configuration of srams as logical fifos for transmit and receive of packet data |
US529363 | 1990-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04233352A JPH04233352A (ja) | 1992-08-21 |
JP3452590B2 true JP3452590B2 (ja) | 2003-09-29 |
Family
ID=24109607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12617491A Expired - Lifetime JP3452590B2 (ja) | 1990-05-29 | 1991-05-29 | システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5210749A (ja) |
EP (1) | EP0459758B1 (ja) |
JP (1) | JP3452590B2 (ja) |
AT (1) | ATE182240T1 (ja) |
DE (1) | DE69131436T2 (ja) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388220A (en) * | 1991-03-19 | 1995-02-07 | Matsushita Electric Industrial Co., Ltd. | Parallel processing system and data transfer method which reduces bus contention by use of data relays having plurality of buffers |
JP2744865B2 (ja) * | 1991-04-30 | 1998-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレイション | シリアルチャネルアダプタ |
US5392412A (en) * | 1991-10-03 | 1995-02-21 | Standard Microsystems Corporation | Data communication controller for use with a single-port data packet buffer |
US5440690A (en) * | 1991-12-27 | 1995-08-08 | Digital Equipment Corporation | Network adapter for interrupting host computer system in the event the host device driver is in both transmit and receive sleep states |
JP2731878B2 (ja) * | 1992-02-18 | 1998-03-25 | 三菱電機株式会社 | 通信装置 |
US5267240A (en) * | 1992-02-20 | 1993-11-30 | International Business Machines Corporation | Frame-group transmission and reception for parallel/serial buses |
US5325401A (en) * | 1992-03-13 | 1994-06-28 | Comstream Corporation | L-band tuner with quadrature downconverter for PSK data applications |
US5444853A (en) * | 1992-03-31 | 1995-08-22 | Seiko Epson Corporation | System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's |
US5742760A (en) * | 1992-05-12 | 1998-04-21 | Compaq Computer Corporation | Network packet switch using shared memory for repeating and bridging packets at media rate |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5434872A (en) * | 1992-07-28 | 1995-07-18 | 3Com Corporation | Apparatus for automatic initiation of data transmission |
US5363485A (en) * | 1992-10-01 | 1994-11-08 | Xerox Corporation | Bus interface having single and multiple channel FIFO devices using pending channel information stored in a circular queue for transfer of information therein |
US5664104A (en) * | 1992-12-18 | 1997-09-02 | Fujitsu Limited | Transfer processor including a plurality of failure display units wherein a transfer process is prohibited if failure is indicated in a failure display unit |
US5379291A (en) * | 1992-12-29 | 1995-01-03 | International Business Machines Corporation | Apparatus for fiber distributed data interface dynamic station bypass via skipping and hopping |
US6067408A (en) * | 1993-05-27 | 2000-05-23 | Advanced Micro Devices, Inc. | Full duplex buffer management and apparatus |
US5835492A (en) * | 1993-09-08 | 1998-11-10 | Hitachi, Ltd. | Network for mutually connecting computers and communicating method using such network |
JP3473975B2 (ja) * | 1993-09-08 | 2003-12-08 | 株式会社日立製作所 | ネットワークシステムおよびネットワークにおける通信方法 |
CA2130064C (en) * | 1993-10-27 | 1999-05-18 | Cory A. Cherichetti | Method and apparatus for transferring data between a host processor and a subsystem processor in a data processing system |
US5400326A (en) * | 1993-12-22 | 1995-03-21 | International Business Machines Corporation | Network bridge |
US5448558A (en) * | 1994-04-05 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for managing packet FIFOS |
US5471487A (en) * | 1994-04-26 | 1995-11-28 | Unisys Corporation | Stack read/write counter through checking |
US5983275A (en) * | 1994-05-04 | 1999-11-09 | Cirrus Logic, Inc. | Apparatus for and method of providing interrupts to a host processor in a frame receiving system |
US5602537A (en) * | 1994-05-13 | 1997-02-11 | Zilog, Inc. | Technique for eliminating data transmit memory underruns |
US5625800A (en) * | 1994-06-30 | 1997-04-29 | Adaptec, Inc. | SCB array external to a host adapter integrated circuit |
US5742831A (en) * | 1994-06-30 | 1998-04-21 | Intel Corporation | Methods and apparatus for maintaining cache coherency during copendency of load and store operations |
US5564023A (en) * | 1994-06-30 | 1996-10-08 | Adaptec, Inc. | Method for accessing a sequencer control block by a host adapter integrated circuit |
JP3810449B2 (ja) * | 1994-07-20 | 2006-08-16 | 富士通株式会社 | キュー装置 |
US5828903A (en) * | 1994-09-30 | 1998-10-27 | Intel Corporation | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer |
US5764377A (en) * | 1994-12-15 | 1998-06-09 | Xerox Corporation | Video interlace system for multibeam raster output scanner |
US5617544A (en) * | 1994-12-23 | 1997-04-01 | United Technologies Corporation | Interface having receive and transmit message label memories for providing communication between a host computer and a bus |
US5774745A (en) * | 1995-03-31 | 1998-06-30 | Cirrus Logic, Inc. | Method and apparatus for writing and reading entries in an event status queue of a host memory |
US5608341A (en) * | 1995-05-09 | 1997-03-04 | Level One Communications, Inc. | Electrical circuit for setting internal chip functions without dedicated configuration pins |
US5926504A (en) * | 1995-06-05 | 1999-07-20 | Level One Communications, Inc. | Electrical circuit for selectively connecting a repeater to a DTE port |
JPH098989A (ja) * | 1995-06-19 | 1997-01-10 | Brother Ind Ltd | パラレルデータ転送システム及び電子機器 |
US5752078A (en) * | 1995-07-10 | 1998-05-12 | International Business Machines Corporation | System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory |
US5752076A (en) * | 1995-08-31 | 1998-05-12 | Intel Corporation | Dynamic programming of bus master channels by intelligent peripheral devices using communication packets |
US6122279A (en) * | 1995-10-02 | 2000-09-19 | Virata Limited | Asynchronous transfer mode switch |
US5797039A (en) * | 1995-12-29 | 1998-08-18 | Intel Corporation | Method of efficiently sending packets onto a network by eliminating an interrupt |
US5859980A (en) * | 1996-02-08 | 1999-01-12 | Advanced Micro Devices, Inc. | Network interface having adaptive transmit start point for each packet to avoid transmit underflow |
US5864713A (en) * | 1996-02-12 | 1999-01-26 | Hewlett-Packard Company | Method for determining if data should be written at the beginning of a buffer depending on space available after unread data in the buffer |
US5854900A (en) * | 1996-05-31 | 1998-12-29 | Advanced Micro Devices, Inc. | Method and apparatus avoiding capture effect by adding a slot time to an interpacket gap interval in a station accessing an ethernet network |
US5809334A (en) * | 1996-09-24 | 1998-09-15 | Allen-Bradley Company, Llc | Receive packet pre-parsing by a DMA controller |
US5901291A (en) * | 1996-10-21 | 1999-05-04 | International Business Machines Corporation | Method and apparatus for maintaining message order in multi-user FIFO stacks |
US5860119A (en) * | 1996-11-25 | 1999-01-12 | Vlsi Technology, Inc. | Data-packet fifo buffer system with end-of-packet flags |
US5933413A (en) * | 1997-01-13 | 1999-08-03 | Advanced Micro Devices, Inc. | Adaptive priority determination for servicing transmit and receive in network controllers |
US6108713A (en) | 1997-02-11 | 2000-08-22 | Xaqti Corporation | Media access control architectures and network management systems |
US6085248A (en) * | 1997-02-11 | 2000-07-04 | Xaqtu Corporation | Media access control transmitter and parallel network management system |
US6076115A (en) * | 1997-02-11 | 2000-06-13 | Xaqti Corporation | Media access control receiver and network management system |
AU6656998A (en) * | 1997-02-11 | 1998-08-26 | Xaqti Corporation | Media access control architectures and network management systems |
US6487212B1 (en) * | 1997-02-14 | 2002-11-26 | Advanced Micro Devices, Inc. | Queuing structure and method for prioritization of frames in a network switch |
US6111858A (en) * | 1997-02-18 | 2000-08-29 | Virata Limited | Proxy-controlled ATM subnetwork |
US6105079A (en) * | 1997-12-18 | 2000-08-15 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers |
US6363076B1 (en) | 1998-01-27 | 2002-03-26 | International Business Machines Corporation | Phantom buffer for interfacing between buses of differing speeds |
US5991304A (en) * | 1998-02-13 | 1999-11-23 | Intel Corporation | Method and apparatus for minimizing asynchronous transmit FIFO under-run and receive FIFO over-run conditions |
US6016513A (en) * | 1998-02-19 | 2000-01-18 | 3Com Corporation | Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer |
US6662234B2 (en) * | 1998-03-26 | 2003-12-09 | National Semiconductor Corporation | Transmitting data from a host computer in a reduced power state by an isolation block that disconnects the media access control layer from the physical layer |
US6115771A (en) * | 1998-03-31 | 2000-09-05 | Lsi Logic Corporation | Method and system for converting computer peripheral equipment to SCSI-compliant devices |
US6631484B1 (en) | 1998-03-31 | 2003-10-07 | Lsi Logic Corporation | System for packet communication where received packet is stored either in a FIFO or in buffer storage based on size of received packet |
US6304553B1 (en) | 1998-09-18 | 2001-10-16 | Lsi Logic Corporation | Method and apparatus for processing data packets |
US6243778B1 (en) * | 1998-10-13 | 2001-06-05 | Stmicroelectronics, Inc. | Transaction interface for a data communication system |
US6269413B1 (en) * | 1998-10-30 | 2001-07-31 | Hewlett Packard Company | System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections |
US6304936B1 (en) * | 1998-10-30 | 2001-10-16 | Hewlett-Packard Company | One-to-many bus bridge using independently and simultaneously selectable logical FIFOS |
US6490639B1 (en) * | 1998-12-09 | 2002-12-03 | Globespanvirata, Inc. | Peripheral component interconnect (PCI) single channel master direct memory access (DMA) serving two separate channels |
EP1026593A1 (en) | 1999-02-06 | 2000-08-09 | Motorola, Inc. | Multi channel controller |
JP2000307681A (ja) * | 1999-04-16 | 2000-11-02 | Fujitsu Ltd | 中継装置およびフレームトレース方法 |
US6789144B1 (en) * | 1999-05-27 | 2004-09-07 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for determining data availability in a random access memory |
US6347346B1 (en) | 1999-06-30 | 2002-02-12 | Chameleon Systems, Inc. | Local memory unit system with global access for use on reconfigurable chips |
US6457072B1 (en) * | 1999-07-29 | 2002-09-24 | Sony Corporation | System and method for effectively performing physical direct memory access operations |
US6876664B1 (en) * | 2000-04-03 | 2005-04-05 | International Business Machines Corporation | Asynchronous data buffer and a method of use thereof |
US6842459B1 (en) | 2000-04-19 | 2005-01-11 | Serconet Ltd. | Network combining wired and non-wired segments |
US20020083189A1 (en) * | 2000-12-27 | 2002-06-27 | Connor Patrick L. | Relay of a datagram |
JP3393127B2 (ja) * | 2001-07-09 | 2003-04-07 | 沖電気工業株式会社 | 通信端末装置およびそのデータ送信方法 |
US7630304B2 (en) * | 2003-06-12 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | Method of overflow recovery of I2C packets on an I2C router |
US20040257856A1 (en) * | 2003-06-23 | 2004-12-23 | Texas Instruments Incorporated | Dual-port functionality for a single-port cell memory device |
US7360026B1 (en) * | 2003-10-06 | 2008-04-15 | Altera Corporation | Method and apparatus for synchronizing data with a reduced clock cycle response time |
US7412726B1 (en) | 2003-12-08 | 2008-08-12 | Advanced Micro Devices, Inc. | Method and apparatus for out of order writing of status fields for receive IPsec processing |
US20050232298A1 (en) * | 2004-04-19 | 2005-10-20 | Beverly Harlan T | Early direct memory access in network communications |
US7350066B2 (en) * | 2005-01-25 | 2008-03-25 | Inventec Corporation | Computer peripheral operating event responding method and system |
JP2007235211A (ja) * | 2006-02-27 | 2007-09-13 | Fujitsu Ltd | データ送受信装置、データ送受信方法およびデータ送受信プログラム |
TWI379554B (en) * | 2008-05-21 | 2012-12-11 | Realtek Semiconductor Corp | Data access device and method for communication system |
US9870220B2 (en) * | 2008-12-05 | 2018-01-16 | Advanced Micro Devices, Inc. | Memory flash apparatus and method for providing device upgrades over a standard interface |
US9811455B2 (en) * | 2013-03-15 | 2017-11-07 | The Boeing Company | Accessing different types of memory by respective distinct command with different timing requirements |
EP3408977B1 (en) | 2016-01-27 | 2021-03-24 | Innovasic, Inc. | Ethernet frame injector |
US10218358B2 (en) | 2017-06-16 | 2019-02-26 | Intel Corporation | Methods and apparatus for unloading data from a configurable integrated circuit |
US11281195B2 (en) | 2017-09-29 | 2022-03-22 | Intel Corporation | Integrated circuits with in-field diagnostic and repair capabilities |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4663706A (en) * | 1982-10-28 | 1987-05-05 | Tandem Computers Incorporated | Multiprocessor multisystem communications network |
US4635254A (en) * | 1984-12-13 | 1987-01-06 | United Technologies Corporation | Coherent interface with wraparound receive memory |
US4920534A (en) * | 1986-02-28 | 1990-04-24 | At&T Bell Laboratories | System for controllably eliminating bits from packet information field based on indicator in header and amount of data in packet buffer |
US4942515A (en) * | 1986-03-31 | 1990-07-17 | Wang Laboratories, Inc. | Serial communications controller with FIFO register for storing supplemental data and counter for counting number of words within each transferred frame |
KR920001576B1 (ko) * | 1987-09-09 | 1992-02-18 | 가부시끼가이샤 도시바 | 토큰패싱 버스 방식을 사용한 네트워크 시스템 |
US4866704A (en) * | 1988-03-16 | 1989-09-12 | California Institute Of Technology | Fiber optic voice/data network |
US4878219A (en) * | 1988-04-28 | 1989-10-31 | Digital Equipment Corporation | Method and apparatus for nodes in network to avoid shrinkage of an interframe gap |
US4914652A (en) * | 1988-08-01 | 1990-04-03 | Advanced Micro Devices, Inc. | Method for transfer of data between a media access controller and buffer memory in a token ring network |
US4964113A (en) * | 1989-10-20 | 1990-10-16 | International Business Machines Corporation | Multi-frame transmission control for token ring networks |
-
1990
- 1990-05-29 US US07/529,363 patent/US5210749A/en not_active Expired - Lifetime
-
1991
- 1991-05-28 DE DE69131436T patent/DE69131436T2/de not_active Expired - Lifetime
- 1991-05-28 EP EP91304810A patent/EP0459758B1/en not_active Expired - Lifetime
- 1991-05-28 AT AT91304810T patent/ATE182240T1/de not_active IP Right Cessation
- 1991-05-29 JP JP12617491A patent/JP3452590B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69131436T2 (de) | 2000-04-13 |
JPH04233352A (ja) | 1992-08-21 |
EP0459758B1 (en) | 1999-07-14 |
US5210749A (en) | 1993-05-11 |
DE69131436D1 (de) | 1999-08-19 |
EP0459758A3 (ja) | 1994-01-19 |
EP0459758A2 (en) | 1991-12-04 |
ATE182240T1 (de) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3452590B2 (ja) | システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法 | |
JP3361824B2 (ja) | 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法 | |
US5136582A (en) | Memory management system and method for network controller | |
US5247626A (en) | Fddi controller having flexible buffer management | |
US5619651A (en) | I/O data unit symmetry in a media access control/host system interface unit | |
CA2124452C (en) | Method and apparatus for processing data within stations of a communication network | |
US5546543A (en) | Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress | |
US6021446A (en) | Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine | |
US5367643A (en) | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets | |
US5845152A (en) | Method for transmission of isochronous data with two cycle look ahead | |
US6970921B1 (en) | Network interface supporting virtual paths for quality of service | |
US5119374A (en) | Method of and system for implementing multiple levels of asynchronous priority in FDDI networks | |
JPH0865334A (ja) | マルチメディア通信装置及び方法 | |
US20030012223A1 (en) | System and method for processing bandwidth allocation messages | |
US6279052B1 (en) | Dynamic sizing of FIFOs and packets in high speed serial bus applications | |
JP2507230B2 (ja) | インタ―フェ―ス装置および方法並びに通信アダプタ | |
US6622183B1 (en) | Data transmission buffer having frame counter feedback for re-transmitting aborted data frames | |
EP0459756A2 (en) | Fiber distributed data interface network | |
KR100367138B1 (ko) | 네트웍인터페이스제어기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030610 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080718 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090718 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100718 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100718 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |