JP3448067B2 - ネットワークアダプタのためのネットワークコントローラ - Google Patents
ネットワークアダプタのためのネットワークコントローラInfo
- Publication number
- JP3448067B2 JP3448067B2 JP12628591A JP12628591A JP3448067B2 JP 3448067 B2 JP3448067 B2 JP 3448067B2 JP 12628591 A JP12628591 A JP 12628591A JP 12628591 A JP12628591 A JP 12628591A JP 3448067 B2 JP3448067 B2 JP 3448067B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- network
- buffer
- descriptor
- frame
- 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
Classifications
-
- 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/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- 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
-
- 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/9042—Separate storage for different parts of the packet, e.g. header and payload
-
- 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/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S370/00—Multiplex communications
- Y10S370/901—Wide area network
- Y10S370/902—Packet switching
- Y10S370/903—Osi compliant network
- Y10S370/906—Fiber data distribution interface, FDDI
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Glass Compositions (AREA)
Description
発明の譲受人によって所有され、かつ同一の日付で出願
された以下の同時係属出願に関連する。
番号第07/529,364号「融通性のあるバッファ
管理を有するFDDIコントローラ(FDDICONT
ROLLER HAVING FLEXIBLE BU
FFER MANAGEMENT)」、 2) フィルーツマンの連続番号第07/528,36
3号「パケットデータの伝送および受信のための論理的
FIFOとしてのSRAMの形状(Configura
tion of SRAMs as Logical
FIFO forTransmit and Rece
ive of Packet Data)」、 3) フィルーツマン、他の連続番号第07/529,
365号「FDDIネットワークにおける多重非同期優
先順位を実現するための方法およびシステム(METH
OD OF AND SYSTEM FOR IMPL
EMENITING MULTIPLE LEVELS
OF ASYNCHRONOUS PRIORITY
IN FDDI NETWORKS)」 4) フィルーツマンの連続番号第07/529,36
6号「単一の物理的FIFOを使用して多重優先順位待
ち行列を多重論理的FIFOに転送するための方法およ
びシステム(METHOD OF AND SYSTE
M FOR TRANSFERRING MULTIP
LE PRIORITY QUEUESINTO MU
LTIPLE LOGICAL FIFOs USIN
G ASINGLE PHYSICAL FIFO)」
ネットワークにおけるデータ操作に関するものであり、
より特定的にはノードおよびホストプロセッサメモリの
ようなネットワーク内の多重メモリにおけるフレームさ
れたデータの記憶および多重メモリからのフレームされ
たデータの検索を管理する方法およびシステムに関する
ものである。この発明の1つの利用はファイバ分布され
たデータインタフェース(Fiber Distrib
uted Data Interface)(FDD
I)においてである。
ットの速度は、プロセッサのネットワーク上にあっても
よいデータバス上に存するシステムメモリにおける、お
よび、からのデータを複写するステップの数によって制
限される。この発明の1つの局面は、少なくとも2つの
区別できるメモリを含むシステムメモリのデータ処理能
率を最適化する伝送および受信ディスクリプタを実現す
る。優先順位の異なったレベルまたは他の特徴を有する
データはメモリにおいてストアされるためにバスから受
信されるか、または伝送されるためにメモリから収集さ
れる。システムメモリは局部的または広い領域のネット
ワークのノードおよびホストメモリを含んでもよい。
係属出願において記述されているファイバ分布されたデ
ータインタフェース(FDDI)の環境内で教示される
であろうが、しかしながらここで教示された原理はメモ
リ管理システムに広くより適用できるので、この発明は
上で述べられた環境に制限されるべきではない。
を取り扱うデータ操作システムにおいては(あるフレー
ミングまたは「ハウスキーピング」ビットを含むデータ
のパケットまたはバーストは「フレーム」と定義され、
フレームの形状で送られるデータは「フレームされたデ
ータ」と呼ばれる)、データのフレームをネットワーク
上の1つのロケーションにあるシステムと別のロケーシ
ョンにあるシステムとの間に転送する必要がしばしばあ
る。データのフレームは同じまたは異なった優先順位を
表わす待ち行列において配列されてもよい。「ネットワ
ークコントローラ」と呼ばれる局部的システムおよびネ
ットワークの間に存するインタフェース回路はシステム
とネットワークとの間のデータフローを管理する。これ
はシステムとネットワークとの間のタイミング矛盾を補
償するためにデータをバッファリングすること、いかな
る必要なプロトコル変換をも与えることおよび、コント
ローラを通過するデータにビットを加えることまたはそ
れからビットをはぎ取ることにより「ハウスキーピン
グ」を実施することを含む。ネットワークコントローラ
アーキテクチャの様々な型は用いられるネットワーク動
作システムおよび他の考慮に基づいて実現される。
れる「融通性のあるバッファ管理を有するFDDIコン
トローラ」のための同時係属出願(1)において記述さ
れている型のネットワークにおいては、バスマスタアー
キテクチャを含むネットワークコントローラがあり、フ
レームされたデータの待ち行列はネットワークへの伝送
のためシステムメモリにおいて確立されたバッファから
出力バッファにおける論理的FIFOによって形成され
た対応する領域に転送される。システムメモリと出力バ
ッファとの間には、出力バッファへの途中で一次的にフ
レームされたデータをストアするための、たとえば32
バイトの予め定められた記憶容量を有する物理的FIF
Oがある。物理的FIFOの1つの目的はシステムおよ
びネットワーククロックのクロック速度における差の結
果として必要とされるデータのバッファリングを与える
ことである。「パケットデータの伝送および受信のため
の論理的FIFOとしてのSRAMの形状」のための同
時係属出願(2)においては、ネットワークへの伝送に
対する要求に応答して、ネットワーク上での「トーク
ン」の受信のときに、かつデータが伝送のために利用可
能であることを仮定して、データは伝送FIFOにシス
テムメモリから1回につき1パケット転送され、かつそ
れから伝送FIFOからネットワークへ転送され、その
間データはなおネットワークから入来している。これは
FIFOが完全なフレームを受信する前にネットワーク
へ伝送することを可能にする。それによって伝送された
データのフレームは出力バッファにおいて構成される論
理的FIFOによって形成される対応する待ち行列にス
トアされる。
の順序で、同じ優先度を有する伝送ために利用可能であ
る付加的なデータがなくなるまでまたはトークンの受信
の間の未終了のトークン保持時間(THT)がその優先
度に対してしきい値より少なくなるまで伝送される。こ
のプロトコルについての詳細は「FDDIネットワーク
における多重非同期優先順位の実現のための方法および
システム」に対する上記の引用により援用される同時係
属手段(3)において与えられる。
ステムメモリからのフレームされたデータの各転送に続
き、同じ優先度を有するさらなるデータを物理的FIF
Oに転送し、その後同じ出力バッファ待ち行列に転送す
るか、またはもしなんらかのさらなるデータが利用可能
であれば異なった優先度を有するデータを、物理的FI
FOを通り別の出力バッファ待ち行列に転送するかのど
ちらかの決定がなされる。「単一の物理的FIFOを使
用して多重優先度待ち行列を多重論理的FIFOに移転
するための方法およびシステム」に対するここに引用に
より援用される同時係属出願(4)は、FIFOの「ロ
ックアップ」を防ぐための1つの手段を記述する。ロッ
クアップは、書込まれなければならない特定の待ち行列
を含む論理的FIFOにおいて利用可能のままである記
憶の量が物理的FIFOの記憶容量より少ないときに起
こる。この状態下では物理的FIFOはバッファにおけ
る論理的FIFOにアンロードにできない。
テムはホストプロセッサだけでなくノードプロセッサも
また組込み、各々はそれ自身の相関するメモリを有す
る。このアーキテクチャは、ノードプロセッサがプロト
コルパケット伝送においてかかわる通信タスクからホス
トプロセッサを自由にするであろうから有利である。た
とえば、プロトコルヘッダはノードプロセッサメモリに
おいて処理されてもよく、一方データは出力バッファへ
およびから直接渡され、かつその後伝送のためパケット
に取付けられる。データスループットの速度は各メモリ
転送のためにデータを複写する2つのステップを実施す
る必要を除去することによって増加される。
「ディスクリプタ」を利用し、それはシステムメモリ内
において構成されるバッファ領域の各々の状態、長さお
よびアドレスポインタを規定する情報のビットを含む。
先入れ先出し(FIFO)メモリでは、FIFOの最後
の記憶位置に続く記憶が最初のものに再循環し、ディス
クリプタはリングの形状をとる。これゆえ、この型のデ
ィスクリプタは「ディスクリプタ・リング」と呼ばれ
る。この発明は多重システムメモリを組み込みかつデー
タのフレームまたはパケットが多重ディスクリプタ・リ
ングによって指されたバッファ領域においてストアされ
るシステム内の能率的なバッファ管理に向けられてい
る。
はデータ部分と同様にヘッダによって特徴付けられたパ
ケットまたはフレームされたデータを管理する。通常、
フレームのヘッダおよびデータ部分は都合よく互いから
分離されることはできず、なぜなら2つの部分はバッフ
ァの間で互いに相関しなくなるかまたは「同期化を失
う」であろうからである。この発明の別の局面は、デー
タのフレームとそれらの対応するヘッダの間で同期化を
維持しながらヘッダおよびデータ部分を有するフレーム
されたデータの記憶を最適化する。
においては、単一の物理的FIFOメモリを通ってシス
テムメモリに入来する受信データ径路はある状況下でブ
ロックされる傾向がある。たとえば、もし受信ディスク
リプタ・リングがいっぱいかまたはパリティ・エラーが
存在すれば、FIFOを通る受信径路内のいかなるディ
スクリプタ・リングに予定された次のパケットはブロッ
クされるであろう。ブロックの理由が取り除かれるまで
次のパケットは出力バッファ内の受信待ち行列にストア
されるであろうけれども、バッファが制限された記憶容
量を有するのでリングは再びブロックされるであろう。
この発明の特徴はブロックされたリング上の受信データ
径路のブロックを避け、かつブロックの間受信データの
待ち行列をストアするために利用可能であるバッファメ
モリの量から独立している。
における改良されたデータ管理を実施することである。
リを実現するネットワークにおける能率的なデータ管理
を実施することである。
アーキテクチャを有するシステム内のFDDIネットワ
ークコントローラにおける能率的なデータ記憶およびア
クセスである。
対応するバッファがシステムの複数の区別できるメモリ
内において確立されるバッファメモリシステムにおける
データ記憶および転送の能率を最大にすることである。
2の区別できるメモリにおいてそれぞれ形状されたバッ
ファ内のフレームされた受信データのヘッダおよびデー
タ部分を別個にストアすることである。
データの特徴に基づく新規の多重ディスクリプタ・リン
グシステムの特定のディスクリプタ・リングにフレーム
された受信データを分散することである。
・リングの結果として受信FIFOの受信径路をブロッ
クすることを防ぐことである。
されたデータインタフェース(FDDI)システムにお
いて上の目的を実施することである。
面に従ってパケットにおいて配列されたデータのシステ
ムメモリからネットワークへのフローを制御するネット
ワークアダプタによって満足する。ネットワークは複数
個のプロセッサおよびバッファにおいて配列されたデー
タをストアするための少なくとも第1および第2のメモ
リを含む。第1および第2のメモリは第3のバスに共通
に順に接続される第1および第2のバス上にそれぞれあ
る。ネットワークコントローラは、第1および第2のメ
モリの選択されたものにアクセスするために第1のメモ
リ要求信号および第2のメモリ要求信号の一方または他
方をそこで送るための第3のバス上のネットワークDM
Aコントローラを含む。制御インタフェースは第1のバ
スに結合され、かつDMAコントローラに第1のメモリ
肯定応答信号を送るための第1のメモリ要求信号にのみ
応答する。制御インタフェースはまた第2のバスに結合
され、かつ第2のメモリ肯定応答信号をDMAコントロ
ーラに送るための第2のメモリ要求信号にのみ応答す
る。ネットワークDMAコントローラはさらに、第1お
よび第2のメモリの選択されたものにだけアクセスする
ための第1および第2の肯定応答信号に応答する。これ
ゆえ、この発明のこの局面に従ってアダプタは、ネット
ワーク内の共通のバス上のシステムプロセッサが共通の
バスに接続される別個のバス上の第1および第2のメモ
リのどちらかにアクセスすることをハンドシェイクプロ
トコルを実施することによって可能にする。
メモリはそれぞれホストおよびノードプロセッサメモリ
を含む。制御インタフェースはノードプロセッサメモリ
からのヘッダ情報にアクセスし、かつホストプロセッサ
メモリからのデータにアクセスする。受信フレームはホ
ストおよびノードプロセッサメモリ内のロケーションへ
の選択的な転送のために別個のディスクリプタ・リング
に付与される。好ましくは、ヘッダおよび伝送ディスク
リプタはノードプロセッサメモリにストアされ、伝送お
よび受信データならびにディスクリプタはホストメモリ
にストアされる。
てはネットワークアダプタは複数個のプロセッサおよび
フレームにおいて配列された受信データをバッファ内に
ストアするための少なくとも第1および第2のメモリを
含み、受信フレームを処理する方法はそれぞれ第1およ
び第2の長さを有する第1および第2のバッファを第1
および第2のメモリの任意のロケーションに、第1の長
さが第2の長さより短く、ストアすることを含む。第1
のディスクリプタは、第1および第2のメモリのどちら
かの1つにおいて受信データの各フレームの第1に受信
された部分をストアするためのバッファを指す第1のメ
モリ内の第1のディスクリプタ・リングを形成するため
に隣接するメモリロケーションに確立される。第2のデ
ータディスクリプタは第1および第2のメモリのどらら
かの1つにおいて各受信フレームの次に受信された部分
を含むバッファを指す第2のメモリにおける第2のディ
スクリプタ・リングを形成するために隣接するロケーシ
ョンに確立される。
フレームが多重ディスクリプタ・リングによって指され
る多重バッファにおいてストアされることを可能にす
る。同じフレームの分散された構成要素は共通のフレー
ム番号によって互いに相関する。
ムのヘッダおよびデータ部分をストアするこの発明のこ
の局面を実現する。複数個のバッファが第1および第2
のメモリ内の任意のロケーションに確立される。ヘッダ
ディスクリプタは、前記第1および第2のメモリのうち
のどちらか1つにおいて受信データのヘッダを含むバッ
ファを指す第1のメモリ内のヘッダディスクリプタ・リ
ングを形成するために隣接するロケーションに確立され
る。データディスクリプタは第1および第2のメモリの
どちからの1つにおいて受信データを含むバッファを指
す第2のメモリ内のデータディスクリプタ・リングを形
成するために隣接するロケーションに確立される。
およびデータ対に相関するまたは「同期化する」フレー
ム番号を含む。
個のバッファは第1および第2のメモリ内の任意のロケ
ーションに確立される。同様に第1および第2のメモリ
の隣接するロケーションに任意に確立されるのはバッフ
ァを指す複数個のディスクリプタ・リングを形成するデ
ィスクリプタである。各リングの各ディスクリプタは第
1および第2のメモリの一方または他方を指す印を有す
る。受信データの入来フレームのフィールドにおける識
別ビットは検出され、かつ特定のディスクリプタ・リン
グに相関する。受信データの各入来フレームはそのディ
スクリプタによって指されたバッファにおいてストアさ
れる。
の多重待ち行列を管理するための多重ディスクリプタ・
リングシステムを実現する。この発明は異なった優先度
または別の特徴を有する入来データが対応するバッファ
の複数のグループを指す多重ディスクリプタ・リングに
付与されることを可能にする。各入来フレームを受信す
るためのディスクリプタ・リングは識別フィールドのビ
ットを各リングに割り当てられたビットに整合すること
によって決定される。FDDIにおいてはフレーム制御
フィールドFCは識別フィールドとして実現される。
ータ径路はブロックされたディスクリプタ・リングの発
生のとき、ブロックされたリングが検出されたとき入来
受信パケットまたはフレームを放棄することによってク
リアされる。より具体的には、この発明のこの局面を実
現するネットワークアダプタは複数個のプロセッサおよ
びフレームに配列されかつフレームの特徴を識別する情
報を含む受信データのパケットをストアするためのメモ
リ手段を含む。さらにアダプタは、FIFOメモリと、
FIFOメモリを通るメモリ手段への受信データフロー
径路と、メモリにおける任意のロケーションに複数個の
受信バッファを確立するための手段と、受信バッファを
指すディスクリプタ・リングを形成するディスクリプタ
をメモリ手段内の隣接するロケーションに確立するため
の手段と、フレームの特徴に一致するディスクリプタ・
リングに受信データ径路上に入来する受信フレームを供
給するための手段とを含む。受信データフロー径路にお
けるブロックされたディスクリプタ・リングは検出さ
れ、かつ応答して、ブロックされたディスクリプタ・リ
ングに入来する次のフレームは放棄される。放棄された
フレームされたものの内容は取り戻されないであろうけ
れども、データフロー径路は決してブロックされず、他
のディスクリプタ・リングに指定された受信データがそ
れに対して供給されることを可能にする。
および放棄のモードにおいて選択的に動作する。検出さ
れたブロックされたリングに対して応答して、およびア
ダプタの動作の正規モードにおいて、アダプタに入来す
る次のパケットはバッファメモリにおいてストアされ
る。検出されたブロックされたリングに対して応答して
および動作の放棄モードにおいては、前記アダプタに入
来する次のパケットは放棄される。
された原理はより一般的にバッファメモリ管理に対する
応用を有するけれども、FDDIネットワークインタフ
ェースに有利に適用される。
の詳細な説明から当業者には容易に明らかになるであろ
うし、そこにおいてはこの発明を実施する熟考された最
良のモードの単に例示としてこの発明の好ましい実施例
のみが示されかつ記述される。実現されるであろうよう
に、この発明は他のおよび異なった実施例が可能であ
り、かつそのいくつかの詳細はこの発明からすべて逸脱
することなく様々な明らかな点における修正が可能であ
る。したがって図面および説明は事実上例示として見ら
れ、制限として見られるべきではない。
はFDDIネットワークであるが、この発明はフレーム
またはパケットデータ操作の分野において一般的な適用
性を有する。したがって、この発明の開示はFDDIの
分野においてなされるであろうが、発明の局面はそれに
制限されるべきではないということは理解されるべきで
ある。
の発明の理解を得るのに役に立ついくつかの背景情報が
今与えられる。
ス」(FDDI)は、光ファイバ構成要素およびシステ
ムに基づき、かつ米国規格協会(ANSI)(Amer
ican National Standard In
stitute)X3T9 .5委員会により開発され、
二重の反回転物理的リングを実現する毎秒ごとに100
メガビットの時間決めされたトークンプロトコルを規定
する。図1は様々な局型からなるFDDIリングの単純
化されたブロック図である。クラスA局は、時には「二
重取付け局」と呼ばれるが、ネットワークの1次のおよ
び2次のリングの両方に接続される。矢で示されている
ようにデータは2つのリング上に反対方向で流れる。ク
ラスA局はワイヤリングコンセントレータとして作用
し、いくつかの単一の取付け、またはクラスB局をリン
グに接続するのに役立つことができる。図1において局
2は局3、4および5のためのワイヤリングコンセント
レータであり、コンセントレータはネットワークアドミ
ニストレイターに多数の局のための単一の保守点を与え
る。局の間を転送されるデータはフレームされたパケッ
トの形状である。
おいて示される。パケットは最小の16アイドル制御記
号(プリアンブル)によって先行される。パケットは技
術においてよく知られた4B/5BコードのJおよびK
制御記号からなる開始区切り記号(SD)で始まる。こ
れにはパケットの型を表わす2つのデータ記号フレーム
制御(FC)フィールドが続く。行き先アドレス(D
A)はパケットの意図された受領者を表わす。同様に、
出所アドレス(SA)はパケットの送り主を表わす。ア
ドレスは長さにおいて26かまたは48のビットのどち
らかになり得る。DAフィールドはリング上の単一の
局、局のグループ、またはすべての局を指し得る。
る。フレーム検査シーケンス(FCS)フィールドは4
バイトのデータを含む。これらのデータは32ビットオ
ートディン(Autodin)II巡回冗長検査多項式
の結果である。FCSはFC、DA、SA、INFOお
よびPCSフィールドのデータ完全性を確実にする。
れた終了区切り記号(ED)が伝送される。フレーム状
態(FS)フィールドはパケットがエラーを有して受信
されたかどうか、アドレスが認識されたかどうか、また
はパケットが複写されたかどうかを決定する記号のため
に使用される。
取り除かれる。「ストリッピング」と呼ばれかつ図3
(a)および3(b)において示されるこのプロセスで
は、媒体アクセスコントローラ(MAC)20はリング
上の伝送のためIDLE制御記号の源を選択する。開始
区切り記号が到着したとき、コントローラは繰返し径路
に切換える。パケットはモニタされ、もし必要ならば複
写されかつ同時に繰返される。媒体アクセスコントロー
ラ20はまたそれ自身のパケットをソース動作に切換え
るかまたはトークンを出すかすることができる。
受け取った局に伝送する権利を渡す特殊ビットパターン
である「トークン」を循環することによって媒体上を伝
送する権利を分配し、伝送したいと思う局はそれがトー
クンパッシング順序で前の局からトークンを受け取るま
で待機する。局がトークンを受け取ったとき、それはそ
のデータを伝送し、それからトークンを次の局に渡す。
まずストリッピング動作を達成することによってトーク
ンを「つかまえ」なければならない。トークンSDフィ
ールドだけがリング上で繰返される。一旦トークンがつ
かまえられると、局はパケットを伝送し始めることがで
きる。最後のパケットが送られたとき、局は新しいトー
クンを出すことによってすぐに続かなければならない。
ータ伝送のために割り当てられた時間の量は、FDDI
仕様書において規定された「時間決めされたトークンプ
ロトコル」によって支配され、かつそれは上記の引用に
より援用される同時係属出願(3)において要約され
る。プロトコルは初期設定上のクレームプロセスの間の
局間の送信権要求プロセスにおいて決定された最大トー
クン回転時間(TRT)を保証するように設計される。
送信権要求プロセスはトークンの到着の間の最も早い時
間を必要とする局がリングに対する目標トークン回転時
間(TTRT)を規定することを許容する。
の型の伝送サービス、すなわち同期サービスおよび非同
期サービスを提供する。局は同期サービスでは各トーク
ン回転上に伝送帯域の予め定められた量を与えられ、残
りのリング帯域は非同期サービスを使用して局間で共有
される。局はトークンサービスが予期されていたよりも
早く到着したとき非同期伝送を送ることを許容される。
非同期伝送のために割り当てられた時間の量はトークン
による実際の到着の時間と予期されたトークンの到着時
間との間の差に制限される。非同期伝送のための帯域の
割当は動的であり、同期伝送のためのいかなる使用され
ない帯域もトークン回転上の非同期伝送のために自動的
に再割当される。
すると、この発明の好ましい実施例に従ってFDDIイ
ンタフェースにおいて116として包括的に示されてい
るマスタバスアーキテクチャが光ファイバ媒体の形状で
システムまたは使用者、バスとネットワークとの間に設
けられる。バスマスタアーキテクチャ116の主な構成
要素は、コントローラ120からデータフレームを受信
しかつデータを並列から直列のフォーマットに変換する
前にフレームの適当なコード化を達成するエンコーダ/
デコーダ(ENDEC)132を通り媒体にアクセスす
るための、かつFDDI要求を満足させるために他の
「ハウスキーピング」機能を実施するための媒体アクセ
スコントローラ(MAC)120を含む。ネットワーク
DMA(ダイレクトメモリアクセス)コントローラ12
4は、システムバス上のホストおよびノードプロセッサ
メモリ(図示せず)と、ネットワークDMAコントロー
ラと媒体アクセスコントローラとの間に接続される少な
くとも1つのFIFO(先入れ先出し)メモリを有する
ように構成される出力バッファ126との間のデータの
転送を制御する。媒体アクセスコントローラ120は、
フレームストリッピング、誤り検査およびバスアービト
レーションのようなどのような必要とされるハウスキー
ピング機能をも実施しながらフレームのデータを受信し
かつ伝送し、適切なネットワークアクセスプロトコルを
実現する。ネットワークDMAコントローラ124はフ
ロントエンドバスマスターとして動作し、システムメモ
リおよびバッファから、および、間にデータを分散かつ
収集するためにホストまたはノードプロセッサと通信
し、一方メモリにおけるデータの移動を最小にする。
バス134およびアドレスバス136を通りバッファメ
モリ126に、かつデータバス134を通りネットワー
クDMAコントローラ124にインタフェースされる。
ハンドシェイクは媒体へおよびからのデータの移動を制
御するためにバス140上でコントローラ124および
120の間で実施される。コントローラ120は、図5
において示されるが、これ以降詳細に説明される 。
共有されるデータバス144ならびにアドレスおよび制
御バス146、148を含むホストバス142上に存す
る。ネットワークDMAコントローラ124に対する制
御信号はバス要求および肯定応答線150a、b上でホ
ストおよびノードバス143a、bにインタフェースさ
れる。媒体アクセスおよびネットワークDMAコントロ
ーラ120および124は、出力バッファメモリ126
とともに、図示されいてる様々なバス上でネットワーク
インタフェース動作を実施するために共働し、それは上
記の同時係属出願(1)においてより詳細に説明され、
それはここに引用により援用される。
ファ126(図7)は、媒体から受信されたデータの待
ち行列を含む受信FIFO175、および媒体へ供給さ
れるべきデータの待ち行列を各々含む少なくとも1つ
の、しかし好ましくは4つの伝送FIFO177を有す
るように構成される。図7において示される4つの待ち
行列は1つの同期待ち行列およびFDDI仕様書に従っ
た3つの異なった割り当てられた優先順位を有するデー
タを含む待ち行列を表わす。出力バッファ126は、そ
れは好ましくはスタティックランダムアクセスメモリ
(SRAM)であるが、ファームウェアによって、異な
った優先度のデータ待ち行列を各々含む4つのFIFO
を有するようにプログラム化され、具体的には各FIF
Oは後に詳細に記述されるように「ディスクリプタ」を
使用してシステムメモリ内のバッファ領域と定義され
る。
DMAコントローラ124によってリンクリスト待ち行
列178を通りシステムメモリに供給されかつ同様に、
データは同期のものおよび3つの非同期優先順位に一致
するリンクリスト待ち行列180を介してシステムメモ
リから媒体に伝送される。
の前に、ノードプロセッサはすべての待ち行列の終了ア
ドレスをバッファの中にロードしなければならない。待
ち行列ポインタは図7において示される順序にあり、す
なわちポインタはまず特殊なフレーム領域の終了を、そ
れから受信待ち行列を、次に同期待ち行列に3つの優先
順位を有する非同期待ち行列が続くという順序で伝送待
ち行列を規定する。ノードプロセッサによってまたプロ
グラムされるのは、すべての使用される待ち行列の読出
/書込ポインタであり、それは図7の右側の行において
示されており、終了アドレスポインタは図の左側の行に
おいて示されている。
るFIFOの各待ち行列は、プレフィックス「EA」を
有する「アドレスの終了」ポインタによって特徴づけら
れる。たとえば、SPECIAL FRAME ARE
Aを無視せよ。同期データを含むSYNC待ち行列はア
ドレスの終了ポインタ「EAS」によって特徴づけら
れ、3つの非同期待ち時間はアドレスの終了ポインタ
「EAA0−EAA2」によって特徴づけられる。さら
に各待ち行列はREAD、WRITEポインタによって
規定され、それらは従来の態様でそこからデータが読出
れるおよびそこへデータが書込まれるロケーションを指
す。READとWRITEポインタの間の差は待ち行列
にストアされているデータの量を表わす。たとえば、図
7においてRPRおよびRPXA0−RPXA2は同期
のおよび3つの順位の非同期のデータ行列に対するFD
DI規格に従ったREADポインタを表わす。これらの
READポインタのすべてはそれぞれの待ち行列の首位
にある。ポインタWPXSおよびWPXA0−WPXA
2は同期のおよび3つの非同期のデータに対するWRI
TEポインタを表わし、それぞれの待ち行列の末尾にあ
る。
P)は待ち行列に最も最近ストアされたフレームの終了
を指す。SHADOW WRITEポインタ(SWP)
の機能および図7において示されている他のポインタに
対するその関係は引用より援用される同時係属出願
(2)に、詳細において論じられている。
DMAコントローラ120、124がバッファメモリ1
26とともに図示されている様々なバス上でネットワー
クインタフェース動作を実施するためにどのように共動
するかはこれ以降記述されるであろう。さしあたり、イ
ンタフェースの主たる構成要素、すなわちネットワーク
DMAコントローラ124、媒体アクセスコントローラ
120および出力バッファ126のより詳細な説明が次
に与えられるであろう。
クDMAコントローラ124は、図8において詳細に示
されているが、媒体アクセスコントローラ120とネッ
トワークDMAコントローラ124との間に接続されて
いるインタフェース回路150を含む。インタフェース
150は少なくとも1つの、かつ好ましくは4つのFI
FO152を含む伝送セクション、FIFOを含む受信
セクション154、およびパケットバッファ管理回路1
56と通信する。インタフェース150はデータをバッ
ファ126から受信セクション154に伝送するのと同
様、伝送セクション152においてストアされているデ
ータをバッファメモリ126に転送する。バッファ12
6から受信セクション154へのデータの転送は、ネッ
トワーク上のデータがシステムに対して利用可能であり
かつバッファにおいて少なくとも予め定められた量の受
信データの受信を含む他の条件が満たされたとき、媒体
アクセスコントローラ120によってコマンドでなされ
る。伝送セクション152からのデータの転送は、伝送
セクションにおいてシステムメモリからのデータが利用
可能であり、そこでのデータ待ち行列がアンロックさ
れ、かつ同時係属出願(2)において記述されているバ
ッファおいてストアされる完全なフレームかまたは少な
くとも予め定められた量の伝送データかの少なくともど
ちらかを含む他の条件が満たされたとき実施される。
クセスコントローラ120にどの型のデータが伝送セク
ションに存在するかを示し、そのためFIFO仕様書に
従ってデータの優先度に依存して適当な待ち行列にバッ
ファメモリをロードする。もし待ち行列がいっぱいにな
れば、インタフェース150はパケットバッファ管理回
路156に現在のFIFOを空にすること終えるために
かつその待ち行列をロックし、かつその待ち行列をロッ
クするように信号を送る。もし転送が不完全であれば、
回路156は、インタフェース150が待ち行列がアン
ロックされたという信号を送るまで他の未済の移転を続
ける。そのときにはいずれの中断された移転も続けられ
る。もし伝送および受信データが同時にセクション15
2および154におけるFIFOから要求されれば、イ
ンタフェース150は予め定められた伝送および受信優
先度順序に従って事象のシーケンスに基づきこれらの転
送を優先順位付ける。
ド語コードをデコードし、伝送し、明らかな誤りコマン
ドを要求し、かつシステムメモリインタフェース160
と伝送セクション152に適当な情報を送る。パケット
バッファ管理回路156はコマンド要求、FIFO15
2からの伝送要求、かつFIFO154からの受信要求
を優先順位付ける。それから管理回路156は伝送また
は受信のどちらかを許可するかまたはコマンドのうちの
1つを処理するためにコマンドをシステムメモリインタ
フェース160に出し、かつCPUインタフェース16
1を介してシステムに対してインタフェースされる。
行列を維持しかつ予め定められた優先度で動作を優先順
位付ける。FIFO152はバイト順序付けおよびデー
タ収集を実施し、かつ媒体アクセスコントローラ120
によって処理されるためにFIFO指向のパケットにデ
ータをフォーマットする。伝送セクション152におけ
る様々な伝送待ち行列は制御され、そのためバッファメ
モリ126が待ち行列を満たしたとき、待ち行列切換え
が実施される。ロックされた待ち行列のためのすべての
必要な情報はストアされ、そのため動作は待ち行列がア
ンロックされたとき再開され得る。伝送セクション15
2において含まれるFIFOはまたシステムメモリイン
タフェース160およびネットワークアクセス制御イン
タフェース150の間のデータバッファリングおよび速
度適合のためにも使用される。バッファリングはネット
ワークDMAコントローラ138において必要とされ、
なぜならシステムメモリバス上およびネットワーク上の
データ移転速度が独立しているからである。
リ126からFIFO指向のフレームを受信し、かつそ
れらをシステムメモリ内の受信バッファの中に分散す
る。受信バッファはディスクリプタ・リングによって指
される。セクション154はさらに、伝送FIFO15
2と同じ態様でネットワークとシステムメモリとの間の
速度適合を与えるためにFIFOを含む。
160はシステムメモリに対する高速プログラマブルバ
スインタフェース、アドレス生成回路および記憶装置を
含む。インタフェース160はまたシステムメモリにお
けるバッファ管理のためのリングの端部検出回路、およ
びシステムメモリインタフェースのための一次制御状態
機械もまた含む。
ェース160からシステムに供給される信号はシステム
クロックSCLK(図示せず)と同期である。これらの
信号は外部のアービター(図示せず)からの1つのシス
テムメモリのアクセスを要求する。別の信号はネットワ
ークDMAコントローラ124にシステムメモリにアク
セスする権利を与える。SMI160の出力におけるア
ドレスバスはすべてのシステムメモリアクセスをアドレ
スし、かつシステムメモリ読出し/書込線は、データが
システムメモリからコントローラ124に、またはコン
トローラからシステムメモリに、転送されているのかど
うかを示す。SMI160の出力における他の信号はシ
ステムメモリの状態を示し、エラーを示し、かつシステ
ムメモリに対する読出と書込との間のバスコンテンショ
ンを防ぐために外部のデータバッファを能動化または不
能化する。別のSMI信号はSMIにおけるラッチを、
書込動作のために、システムメモリにデータをラッチす
るように活性化する。
線は、ネットワークDMAコントローラ124がメモリ
からのコマンドを読出さなければならないということを
示しかつコントローラにメモリアクセスを実施するよう
指示する信号を含む。別の線はCPUにネットワークD
MAコントローラがメモリにおいて新しい状態語を書込
んだことを信号で送り、かつ別のものは割り込みをデア
サート(deassert)する。
媒体アクセスコントローラ120を介してバッファメモ
リ126にアクセスするコード化された要求を含むホス
ト要求バスがある。ホスト要求バス上で搬送されるコー
ドに依存して、バッファメモリ126は4つの伝送待ち
行列のいずれかにおいてデータを読出すかまたはデータ
を書込むためにアクセスされる。読出要求はバッファ1
26から受信パケットを検索し、かつそれらをシステム
メモリにおいてストアする。書込要求は伝送のためバッ
ファメモリの中にパケットを転送する。インタフェース
150の出力においてはまた、ネットワークDMAコン
トローラ124の現在の書込または読出要求が媒体アク
セスコントローラ120によって許可されていることを
示す信号を搬送するホスト肯定応答線がある。この信号
とともに、バッファメモリ126は能動化され、かつデ
ータは、これ以降に記述される(図15)データバス、
データパリティバスおよびデータタグバス上に存在す
る。インタフェースはまた、媒体アクセスコントローラ
120がバッファメモリ126からDMAコントローラ
の中にデータを読出すときネットワークDMAコントロ
ーラ124の中にデータをラッチするために読出出力を
与える。受信データ線は、受信データがバッファ126
に存在し、かつシステムメモリに転送される用意ができ
ていることを示す。これ以降に記述される他の線は、バ
ッファ126における現在アクセスされている伝送待ち
行列の状態を示す。
ークDMAコントローラ124によって制御されるシス
テムメモリは第1および第2のメモリ125(a)、1
25(b)を含み、それらは好ましい実施例では図4に
おいて示されるノードプロセッサおよびホストバス14
3(a)、143(b)上に存するノードプロセッサお
よびホストバスである。ノードプロセッサおよびホスト
バス143(a)、143(b)はシステムバス147
を介してネットワークDMAコントローラ124に結合
され、それは共有されるデータバス144および制御バ
ス146、148を含む。ドライバ149(a)、14
9(b)はシステムバス147に対してNPバス143
(a)またはホストバス143(b)のどちらかを相互
接続するためにネットワークDMAコントローラ124
によって制御される。図16(a)および16(b)を
参照して、コントローラ124とメモリとの間でハンド
シェイクプロトコルを使用して、およびドライバ149
(a)、149(b)を介して、2つのバス143
(a)、143(b)上のNPおよびホストメモリ12
5(a)、125(b)の一方または他方にデータが書
込まれるか、または、一方または他方から読出される。
クチャは、別個のノードプロセッサおよびホストメモリ
125(a)、125(b)を有し、有利であり、なぜ
ならそれは伝送フレームがネットワークへの伝送のため
2つの物理メモリから収集されることを可能にするから
である。これは、ノードプロセッサがプロトコル処理を
達成し、一方ホストプロセッサがデータを供給する状態
で、ディスクリプタを使用したデータ操作が能率的に実
施されることを可能にする。たとえば、図16(b)に
おいては、これ以降に詳細に説明される発明の1つの局
面に従って、ヘッダ情報はノードプロセッサ(NP)メ
モリ125(a)から読まれてもよく、かつデータの付
加的な複写を避けるためにデータはホストメモリ125
(b)から読まれてもよい。ネットワークDMAコント
ローラ124は2つのメモリが要求/許可信号の2つの
組を使用する状態で、「ハンドシェイク」によってこの
機能を達成する。
BREQ/HBGRT)対がNPメモリ125(a)に
アクセスするために使用され、かつデータ要求−許可
(DBREQ/DBGRT)対はホストメモリ125
(b)にアクセスする。この例においては、ヘッダデー
タは、ディスクリプタ・リングとともに、ノードプロセ
ッサメモリ125(a)にストアされ、データだけがホ
ストメモリ125(b)にストアされる。2つのメモリ
のヘッダおよびデータはNPメモリ125(a)におい
てストアされているディスクリプタ・リングDRによっ
て規定されたバッファにある。
124は2つの別個のディスクリプタ・リングによって
規定されたバッファにおいて受信データフレームをスト
アすることができる。これは余分の複写の必要なしで受
信されたデータの2つの物理ロケーションの中への直接
転送を可能にする。たとえば、受信データフレームのた
めのヘッダおよびディスクリプタはNPメモリ125
(a)でストアされてもよく、受信データはホストメモ
リ125(b)でストアされてもよい。
めに、ネットワークDMAコントローラは要求信号HB
REQをシステムバス147に付与する。要求HBRE
Qはドライバ149(a)および149(b)を介して
ノードプロセッサおよびホストメモリ125(a)およ
び125(b)の両方に付与される。NPバス143
(a)、ドライバ143(a)およびシステムバス14
7から成る径路に沿ってメモリに対するアクセスを能動
化するために、NPメモリ125(a)だけが許可信号
HBGNTで応答するであろう。メモリ125(b)は
要求信号HBREQに応答しないので、メモリ125
(b)は許可信号を発生しないだろうし、かつアクセス
はホストメモリに対して能動化されないであろう。
(b)に対して要求されたとき、ネットワークDMAコ
ントローラ124は要求信号DBREQをシステムバス
147に付与する。要求DBREQはドライバ149
(a)、149(b)を介してノードプロセッサメモリ
125(a)およびホストプロセッサメモリ125
(b)の両方に付与される。ホストプロセッサメモリ1
25(b)だけがホストバス143(b)、ドライバ1
49(b)およびシステムバス147から成る径路に沿
ってコントローラ124によって受信されるように許可
信号DBGNTを発生するであろう。アクセスは今ホス
トメモリ125(b)とネットワークDMAコントロー
ラ124との間に確立される。
のディスクリプタ・リングはデータをストアするための
メモリの指定された領域におけるバッファを表わすため
のよく知られた技術の実現化例である。図20に示され
ているディスクリプタは2つのロングワードLW1およ
びLW2を含む。ワードLW1はメモリにおいて規定さ
れるバッファの状態および長さを含み、ワードLW2は
バッファの開始アドレスを指すポインタである。伝送お
よび受信ディスクリプタの構造は互いに類似している。
おいてストアされているデータのパケットの状態と同様
にデータバッファの状態を反映する。もし受信パケット
が1つのバッファより多くを必要とすれば、パケットの
状態はそのパケットの最後のバッファディスクリプタに
おいてのみ考慮される。
MAコントローラ124が使用するための有効なエント
リであること、およびDMAコントローラがディスクリ
プタを「所有する」ことを表わすホストプロセッサによ
って設定されたOWNビットを含む。ネットワークDM
Aコントローラ124がデータの指定されたバッファへ
の転送を完了したとき、それはOWNビットをリセット
し、かつそのバッファの所有権をホストプロセッサに放
つ。このビットはすべてのディスクリプタについて有効
である。
ビットはパケットの最後のバッファを示す。もしパケッ
トが1つのバッファだけに存すれば、このビットはその
ディスクリプタに対して設定されねばならない。もしビ
ットがローであれば、パケットは次のバッファに続く。
このパケットは完全なパケットでないことを示す。伝送
ディスクリプタのEOPビットはプロセッサによっての
み制御され、かつすべてのディスクリプタについて有効
である。受信されたディスクリプタのEOPビットはE
OPビットが1に設定された状態でバッファ126につ
いてのみ有効であり、かつネットワークDMAコントロ
ーラ124によって制御される。
されてもよい他の状態ビットは簡潔さのために省かれ
る。
・リングDRによって記述され、図21においてより詳
細に示される。この例では、バッファBはシステムメモ
リにおいてアドレスAn で始まり、かつ長さAm を有し
アドレスAn + m に及ぶ。バッファBの場所はディスク
リプタDRと同じ物理メモリの中であってもよいが必ず
しもそうではない。伝送においては、ディスクリプタD
Rはホストおよびノードプロセッサメモリ125
(a)、125(b)に独立して存することができる。
受信においてはディスクリプタおよび対応するバッファ
は同じメモリに存する。
よいディスクリプタ・リングDRによって規定されたバ
ッファにおいて2つの物理メモリ125(a)、125
(b)において分布されたバッファから収集される。図
22を参照して、ネットワークに伝送される2つの連続
的なデータのフレームがフレームaおよびフレームbで
あると仮定せよ。フレームaはバッファaにおいてヘッ
ダを、かつバッファ1aおよび2aにおいて分布された
データを、含み、フレームbはヘッダをバッファ1bに
かつデータをバッファ1bだけに含む。ディスクリプタ
・リングDRは、示されているように、ネットワークへ
のデータの伝送のためにフレームaおよびフレームbデ
ータに連続してアクセスする。2つのフレームに含まれ
るデータは両方の物理メモリ125(a)、125
(b)において分布されてもよい。
トワークへ伝送されるべきであると仮定せよ。FDDI
ネットワークではフレームごとに4500バイトしか各
回に伝送することができない。4500バイトの各フレ
ームはヘッダを必要とするであろう。優先順位「0」ま
たはより高い優先度を有する同期データがネットワーク
に伝送されるべきであると仮定せよ。リングにおける第
1のディスクリプタは伝送ヘッダを含むバッファ1aを
指し、かつ第2のディスクリプタは伝送データをストア
する第1のバッファ1aを指す。第3のディスクリプタ
は伝送データ2aを含む第3のバッファを指す。したが
って最初の3つのディスクリプタはネットワークへ伝送
されるデータの第1のフレームを収集する。第4のディ
スクリプタはフレームbの伝送ヘッダ1bを含む第4の
バッファを指し、かつ第5のディスクリプタは伝送デー
タ1bを含む別のバッファを指し、フレームbを完成す
る。もしフレームbがフレームaとおなじヘッダデータ
を含めば、第4のディスクリプタは第2のフレームを完
成するためにデータ1bと結合させるため第1のヘッダ
を指すであろう。
ッサは伝送ディスクリプタを設立し、かつディスクリプ
タの状態フィールドにOWNビットを設定する。プロセ
ッサはそれからネットワークDMAコントローラ124
に伝送するための命令を供給する。コントローラ124
はディスクリプタを取出し、対応するバッファを見つ
け、データを内部のFIFOに読出し、かつデータをバ
ッファメモリ126に転送する。このプロセスは、コン
トローラ124がパケットの終了に到達したことを示す
設定されたEOPビットを有するディスクリプタに到達
するまで続く。このとき、コントローラ124は、図1
1において示されているように、パケットの最後の語上
にかつバッファメモリにおいてパケットに続く状態語に
タグビットを設定する。
ディスクリプタのOWNビットがリセットされるまで、
リングからディスクリプタを読出し続けるであろう。そ
のとき、コントローラ124はホストプロセッサによっ
て新しい伝送のための命令が与えられるまでリングから
の読出を止めるであろう。ネットワークへの伝送のため
データが2つの物理メモリ125(a)、125(b)
から収集されると、REQ/GNT信号対によってメモ
リとネットワークDMAコントローラ124との間のハ
ンドシェイクは、前に記述されたように、適切なメモリ
にアクセスする。
リプタ・リングがある。この例では、4つの別個のディ
スクリプタ・リングが利用され、1つは同期のためであ
りかつ3つは非同期の優先度0−2のためである。しか
しながらあり得るディスクリプタ・リングの数は任意で
ある。伝送データバッファの2つの物理メモリにおける
場所はまた任意であり、それ自身は2つのメモリのうち
のどちらか1つでストアされ得るディスクリプタ・リン
グの制御下で収集される。これはストアされたデータを
実際複写および移動することなくフレームの任意のアセ
ンブリを可能にする。2つのメモリの一方または他方に
ある各バッファの場所は各ディスクリプタの状態ビット
ととしてコード化される。したがって、ネットワークD
MAコントローラ124は2つの物理メモリの、すなわ
ちノードプロセッサメモリまたはホストメモリのどちら
がバッファを含むか決定することができる。
である。伝送パケットの長さは共通でかつ知られてお
り、かつメモリにおけるそれらの場所もまた知られてい
るが、受信パケットは長さにおいて可変であり得、かつ
場所は受信パケットがネットワークから到着したとき動
的に規定されねばならない。ネットワークDMA制御1
24は、ディスクリプタ・リングを使用して、システム
メモリ全体にわたり自由なバッファのプールを確立す
る。パケットが受信されたとき、コントローラは受信さ
れたデータをストアするために自由なバッファを見つけ
かつ配列し、かつ各パケットに相関するディスクリプタ
に従ってパケットをバッファに指定する。
データが到着しかつ媒体アクセスコントローラ120に
よって受入れられたとき受信データで満たすことを始め
る。バッファが満たされると、ネットワークDMAコン
トローラ124はパケットの終了がそのEOPビットに
よって検出されるまで次のバッファなどの場所を示すた
めにディスクリプタ・リングにアクセスする。新しいパ
ケットは到着したとき、自由なバッファプールにおける
対応するディスクリプタ・リングによって指定された自
由なバッファは満たすことを始める。
タ・リングを使用して異なったバッファにストアするこ
とはいくつかの状況下で有利である。たとえば、受信さ
れたデータの第1および第2の部分はこの発明によって
2つの別個のディスクリプタ・リングに分散され得る。
第1のディスクリプタ・リングはフレームの第1の部分
を受信し、それは通常少なくともヘッダの一部分を含む
であろうし、かつフレームの残りは第2のディスクリプ
タに付与されるであろう。フレームのヘッダおよびデー
タ部分を分離することはヘッダが異なったデータ間で便
利に共有されることを可能にする。
グの各ディスクリプタは第2のリングのディスクリプタ
によって規定されるものよりも著しく小さいバッファ長
を規定するであろう。好ましい実施例では、第1のリン
グによって規定される各バッファの長さは受信されるこ
とを予期される最も大きいヘッダの長さに等しいかわず
かに大きくされるであろう。
ァに同じフレームに属するデータまたはヘッダを含むバ
ッファの識別としてビットの番号を割り当てることによ
って互いに「同期化」される。
るようにプログラムされているとき、2つの受信ディス
クリプタ・リングは対として動作する。図23を参照し
て、もし入来データがディスクリプタ・リング1に付与
されるべきであり、かつヘッダ/データ分割が実施され
るべきであれば、ディスクリプタ・リング1によって指
名された第1の受信バッファは受信パケットで満たされ
る。もしバッファが満たされ、しかしパケットが終了し
ていなければ、コントローラ124は第2のディスクリ
プタ・リングに切換えかつそのリングによって規定され
たバッファにパケットの残りをストアする。第1のディ
スクリプタは各フレームの第1のバッファを規定し、一
方第2のリングはフレームの残りをストアするバッファ
を規定する。一方、2つの物理メモリ125(a)、1
25(b)に対するヘッダおよびデータのアクセスは、
図16(b)によって示されているようにコントローラ
124でハンドシェイクを使用して実施される。
受信ディスクリプタの状態フィールドにおけるフレーム
識別ビットによって互いに相関する。フレーム番号ビッ
トは好ましくは第1および第2の受信リングにおいて各
受信されたパケットに対してモジュロ8番号を表わす。
連続するパケットは連続する番号を有し、かつ1つのパ
ケットのすべてのディスクリプタは同じ番号を有し、す
なわち第1の受信リングにおけるヘッドバッファおよび
第2の受信リングにおけるデータバッファはすべて同じ
フレーム番号を有する。これは2つの受信リングにおい
て同じフレームのヘッダおよびデータを含むディスクリ
プタの相関関係を単純化する。
トは各パケットの特徴に基づきシステムメモリ内の特定
のディスクリプタ・リングに分散される。FDDIにお
いては、パケット特徴は図2において示されているFC
フィールドにおけるデータによって規定されてもよい。
図25を参照して、もし入来パケットのFCフィールド
が第1のディスクリプタ・リングの特徴に整合すれば、
パケットはそのリングの第1のディスクリプタによって
指されたバッファにストアされる。もしパケットが第1
のバッファの容量を越えれば、それは同じリングの第2
のディスクリプタによって指された第2のバッファを満
たすことを始める。
プタ・リング2に整合するFCフィールドを有し、かつ
パケットのサイズが第1のバッファの容量よりわずかに
小さいと仮定せよ。パケット2は図25に示されている
ようにリング2の第1のバッファを部分的に満たす。受
信データの第3のパケットはディスクリプタ・リング1
に対応するFCフィールドを有し、かつディスクリプタ
・リング1におけるディスクリプタ3によって指された
次の利用可能なバッファにストアされる。第4の受信パ
ケットはディスクリプタ・リング2に対応するFCフィ
ールドを含み、かつ示されているように第2のリングに
よって指された次の利用可能なバッファにストアされ
る。フレームの型に基づいた受信されたパケットの記憶
は図26においてより詳細に示されている。ディスクリ
プタおよび受信データの記憶のための物理メモリの選択
は、以前に記述されたように、コントローラ124との
ハンドシェイクによって実施される。
信リングがブロックされるようになるかもしれない。1
つの例は、リングがいっぱいでかつ対応するバッファに
記憶のために付加的なデータを受信することができない
ときである。別の例はそのディスクリプタに対してパリ
ティエラーが存在するときである。いずれの場合におい
ても、ネットワークDMAコントローラ124の動作の
「正規」モードでは、受信径路にあるすべての次のパケ
ットはブロックの原因が取り除かれるまでブロックされ
るであろう。この動作のモードは、ブロックされたリン
グがクリアされるまで受信待ち行列にあるパケットを受
信するための大きいバッファメモリが累積され得ること
仮定する。この発明の別の局面に従って、「ブロックさ
れた受信における放棄」(“discard on b
locked receive”)モードがあり、そこ
ではブロックされた受信リングに付与されるべきパケッ
トは放棄されるであろうし、かつ次のパケットはそれら
のそれぞれの受信待ち行列に流れることを許容される。
このモードはネットワークDMAコントローラにおいて
小さいバッファメモリ(FIFO)が使用されていると
き有用である。
(“discard or blocked rece
ive”)モードは図27で示されている。受信FIF
O154(図8もまたみよ)は受信パケットのための単
一の流れ径路を、各パケットのFCフィールドに基づく
4つのディスクリプタ・リングに供給するために確立す
る。その代わりに、コントローラ124の動作のヘッダ
/データ分割モードでは、パケットは最初の2つのディ
スクリプタ・リングDR1およびDR2だけに分割され
てもよい。スイッチ133は、これは好ましくはネット
ワークDMAコントローラ124においてファームウェ
アによって実現されるが、パケットを受信するディスク
リプタ・リングのうちの1つがブロックされてしまった
ことを示すコントローラ124によって発生された信号
に応答する。応答して、スイッチ133は、示されてい
るように、入来パケットを、ディスクリプタ・リングD
R1ないしDR4の予定された1つに供給するよりもむ
しろ放棄されるように再径路付ける。
動作の正規モードでは、ブロックされたディスクリプタ
・リングのコントローラによる検出のときには、入来パ
ケットはFIFO124に累積し続けるであろう。前述
のように、累積はFIFO154が比較的大きい場合だ
け容認できる。コントローラ124の動作の正規モード
はもし大きいFIFO154が利用可能であれば、受信
データが失われないであろうから有利である。
作のブロックされた受信上における放棄モードは、もし
比較的小さいFIFOがシステムで実現されれば、FI
FO154は決してブロックされないので有利である。
これは入来パケットがブロックされていないディスクリ
プタ・リングに付与され続けることを可能にする。
トローラ120は、図5においてより詳細に示され、F
DDI MACプロトコルを取り扱うためにコア媒体ア
クセス制御(MAC)162を含む。MAC162のデ
ータI/Oポートは伝送および受信FIFO164およ
び166に接続される。ネットワークから受信されたデ
ータは受信FIFO166によって外部のバッファメモ
リ126に供給され、外部のバッファからネットワーク
へ供給されるべきデータは伝送FIFO164にストア
される。FIFO制御回路168はメモリアービター1
70によってなされるメモリアービトレーション決定に
基づき伝送および受信FIFO164および166のロ
ーディングおよびアンローディングを調整する。
またはノードプロセッサのどちらがバッファメモリにア
クセスできるかを決定するアービターのアクセス決定に
基づいてアドレスバス136に要求される外部のバッフ
ァメモリアドレスを供給する。ノードプロセッサインタ
フェース174は、そのデータ入力がゲート173を介
してアドレス生成器177によって制御されているが、
ノードプロセッサからの命令をデコードし、チップ状態
を収集し、かつコントローラ124全体にわたり制御情
報を分布する。
6は、媒体アクセスコントローラ120とオンチップで
ネットワークDMAコントローラ124の伝送および受
信セクション152および154に類似する態様で、シ
ステムバスのレーテンシーおよびバースト長に主に依存
して多数のデータパケットをストアする。
は、図6に包括的にかつ図7でより詳細に示され、ネッ
トワークから受信されたデータの待ち行列を含む受信F
IFO175およびネットワークへ供給されるデータの
待ち行列を各々含む少なくとも1つの、しかし好ましく
は4つの伝送FIFO177を有するように構成されて
いる。4つの待ち行列は図7で示され、前述されてお
り、1つの同期待ち行列およびFDDI仕様書に従って
データの3つの非同期優先順位を含む待ち行列を表わ
す。どのようにデータ優先度が互いに相関しかつネット
ワークに供給されるかは上記の引用によりここに援用さ
れる同時係属出願(3)および(4)に詳しく述べられ
ている。
いて示され、ビット位置0ないし31におけるデータお
よびタグビットから成り、ディスクリプタ語が続く。デ
ィスクリプタ語と同様に各フレームの最後の語はフレー
ムの終了を画定する「1」に設定されたタグビットを有
する。伝送されるべきパケットはホストまたはノードプ
ロセッサによってシステムメモリにおいて設立される。
READ、SHADOW WRITE、WRITEおよ
びEND OF ADDRESS ポインタは示されて
いるように位置決めされる。
グ】伝送手順は図10において外観で示されている。ス
テップ182でのシステムメモリにおけるデータの設立
に続き、上記の同時係属出願(4)に従って、もし出力
バッファ126における現在の伝送待ち行列が「ほとん
どいっぱい」でないと判断されれば、ネットワークDM
Aコントローラ124は図8で示されるようにシステム
メモリからその内部の伝送FIFO152にデータを転
送する(ステップ184)。データは次に伝送FIFO
152から(外部の)出力バッファメモリ126に転送
される(ステップ186)。
る伝送フレームは媒体アクセスコントローラ120の制
御下でホストおよびネットワークDMAコントローラ1
24によってバッファメモリ126にロードされる。こ
れは、特定の要求されている待ち行列に基づいてコード
化された、ネットワークDMAコントローラ124によ
るバッファ126にデータを書込む要求に応答して実施
される。パケットは好ましくは、バッファがネットワー
クへの伝送のためアンロードされているのと同時にバッ
ファ126にロードされ、そのためバス利用能率を最大
にしかつレーテンシーを最小にし、かつオーバーランま
たはアンダーラン状態を避けるが、このことは以下で図
10に関連して述べられる。
グ】フレームがバッファメモリ126にロードされた
後、媒体アクセスコントローラ120によって全部のフ
レームがロードされたことかまたはメモリの中に書込ま
れたフレームの語の数が伝送しきい値を越えることのど
ちらかが確認されたとき、フレームはネットワークへの
伝送に対しての用意ができている。
利用可能であるとき、すなわちFDDIネットワーク上
のトークンが待ち行列を伝送するためにつかまえられ、
かつその待ち行列のための伝送条件が満たされたとき、
伝送は始まり、かつフレームは論理「1」タグ−ビット
によって特徴付けられるフレームの終了に遭遇するまで
媒体アクセスコントローラ120によって読出される。
このとき、データのフレームはバッファが空になる前に
次の伝送のためにバッファの中にすでに読出されてい
る。すなわち、伝送が進行中の間およびフレームの完全
な伝送の後、もし完全なフレームがバッファにあれば、
またはもしバッファの内容が伝送しきい値を越えれば、
媒体アクセスコントローラ120はより多くのデータを
伝送のためFIFOの選択された待ち行列からそのオン
チップの伝送FIFO164に取出す。もしどちらの条
件も満たされなければ、媒体アクセスコントローラ12
0は伝送のため優先順位で他の待ち行列をチェックす
る。
たとき完了する。しかしながら、もし伝送FIFO16
4がフレームの途中で空になれは、アンダーラン状態が
伴い、かつ現在のフレームは打ち切られる。
なくとも予め定められた量の伝送データがバッファ12
6にあるとき、システムからネットワークへのデータの
伝送がどのように実施されるかは同時係属出願(2)に
おいてより詳細に説明されている。
伝送データの待ち行列は図11で示されているフォーマ
ットを有し、そこにおいて各フレームはタグビット
「0」によって特徴付けられたロングワードおよびタグ
ビット「1」によって特徴付けられた最後のロングワー
ドを含む。パケットの最後の語に続くのはタグビット
「1」によってまた特徴付けられる状態語である。状態
語は、多数個の予め定められたビット、データの最後の
語がどのバイト境界で終わるかを規定するビット、ネッ
トワークDMAコントローラがシステムメモリから得た
状態から複写されたビット、およびパケットがエラーを
含みかつ打ち切られるべきかどうかを示すビットを含む
パケットの状態と同様にデータバッファの状態を反映す
る。
グ】フレームされたパケットの受信は、図12において
外観でしめされ、外部のバッファメモリ126における
記憶のため媒体アクセスコントローラ120によるデー
タパケットの受信(ステップ190)、およびネットワ
ークDMAコントローラ124の内部の受信FIFO1
54へのバッファからのパケットデータの転送(ステッ
プ192)を必要とする。バッファメモリ126におい
てストアされた受信フレームのフォーマットは図13に
おいて示されている。
ントローラ120によってバッファメモリ126にスト
アされているパケットは図14で示されている態様でメ
モリ内に配列されている。バッファメモリ内の受信パケ
ットは切れ目なく連続してストアされ、バッファメモリ
受信領域が円形の待ち行列の形状を有することを引き起
こす。各パケットの終りには、媒体アクセスコントロー
ラ120がパケットの状態をストアする。タグビットは
データに対しては0に設定されかつ状態語を識別するた
めに1に設定される。
グ】バッファ126にストアされたデータの量が受信し
きい値を越えたとき、ネットワークDMAコントローラ
124はパケットデータをホストまたはノードプロセッ
サによって処理されるために内部の受信FIFO154
からシステムメモリへ転送する。これは、ネットワーク
DMAコントローラ124にデータをバッファメモリ1
26からシステムメモリに転送するよう命令する媒体ア
クセスコントローラ120によって制御される。これは
バッファメモリ内の語の数がプログラム化された受信し
きい値を越えたとき起こる。フレーム受信の間の受信バ
ッファ待ち行列のいかなるオーバフロー状態も状態語に
よって、フレームが追い出されるべきであることを示さ
れる。
がバッファ126の受信FIFOにあるときシステムに
よってどのようにデータの受信が実施されるかは同時係
属出願(2)において、今、より詳細に説明されてい
る。
タフェーシング】図15は媒体アクセスコントローラ1
20、ネットワークDMAコントローラ124およびバ
ッファメモリ126間の信号流れ径路を示す。媒体アク
セスコントローラ120とネットワークDMAコントロ
ーラ124との間およびバッファ126に接続されてい
るバッファデータバスBDATAは好ましくは32ビッ
トバスであり、かつ付加的な線BTAGはBDバスがフ
レームのインにおいてフレームデータかまたはフレーム
状態のどちらを含んでいるかを規定するタグビットを保
持する。バスBDPはBDバスおよびBDTAGバスに
対してバッファメモリデータパリティビットを搬送す
る。すべての3つのこれらのバス、すなわちBDAT
A、BTAGおよびBDPはバッファメモリ126に付
与される。バッファメモリ126にまた付与されるのは
媒体アクセスコントローラ120によって付与されるア
ドレスを搬送するアドレスバスBADDRであり、それ
は好ましくは16ビットアドレスである。
信号は、上の同時係属出願(3)において記述されてい
るように、制御バスQCNTRL上のデータによって決
定される優先度に依存する多数の異なった待ち行列のう
ちのいずれにおいても供給される。制御バスQCNTR
LはまたネットワークDMAコントローラ124に以前
いっぱいであった待ち行列が今は付加的なデータを受け
入れる準備ができていることを示す。
ものは待ち行列のどれに対しても、すなわち同期待ち行
列および3つの順位の非同期待ち行列に対するデータの
転送状態を、データを媒体に転送するために示すデータ
を含む。媒体アクセスコントローラ120によって与え
られた転送状態はネットワークDMAコントローラ12
4に、コントローラ120がトークンを有し、現在バッ
ファメモリ126から媒体にその特定の待ち行列を伝送
していることを通知する。
在のネットワークDMAコントローラ書込または読出要
求が媒体アクセスコントローラ120によって許可され
ていることを示す信号を搬送する。この信号とともに、
バッファメモリ126は能動化され、かつデータはBD
(バスデータ)、BDP(バスデータ優先度)およびB
DTAGバス上に存在する。
ワークDMAコントローラ124によってシステムメモ
リに転送されるべきネットワークから受信されたデータ
をバッファメモリにストアしたときRDATAはアサー
トされる。応答して、ネットワークDMAコントローラ
はバスに対してアクセスを要求し、それは媒体アクセス
コントローラ120によって応答される。媒体アクセス
コントローラ120はBADDRバス上のデータによっ
て特定されたアドレスにバッファメモリ126内にネッ
トワークデータをストアし、かつバッファにストアされ
たデータはその後バッファのREAD端子の媒体アクセ
スコントローラ120によるアサートに応答してネット
ワークDMAコントローラ124に転送される。
媒体アクセスコントローラ120との間のハンドシェイ
クはホスト要求バスHSREQ上で実施され、図15お
よび図17ないし図19のタイミング図において示され
る。図15および図17を参照して、ネットワークアク
セスコントローラ120、ネットワークDMAコントロ
ーラ124およびバッファ126をインタフェースする
バス上の信号のタイミングはそこで示されいてるバッフ
ァメモリクロックBMCLK信号に同期化され、かつR
DATAはバッファメモリ126における受信データが
ネットワークDMAコントローラ124によって読出さ
れる用意ができていることを示すためにアサートされ
る。RDATAに応答して、ネットワークDMAコント
ローラ124はホスト要求バスHSREQ上のホスト要
求を適切なコードでネットワークアクセスコントローラ
120にネットワークからのデータフレームを読出すよ
うに要求するために実施する。ネットワークアクセスコ
ントローラ120はバッファメモリ126のバスをアー
ビトレートし、かつHSACK上に肯定応答を与える。
ネットワークアクセスコントローラはまたデータが存す
る場所を指しバッファメモリ126にアドレスし、バッ
ファに読出コマンドをアサートしかつデータをバッファ
からBDATA上、メモリDMAコントローラ124へ
ラッチする。
ーラ120はバッファメモリ126に、フレームにおけ
るネットワークデータをストアし、かつデータの量がそ
こで受信しきい値RTHRを越えたとき、コントローラ
120はネットワークDMAコントローラ124がシス
テムメモリ内のどこにネットワークデータがストアされ
るべきかを決定するためにシステムメモリからディスク
リプタを取出すことを引き起こすようにRDATAをア
サートする。ディスクリプタによって指されたシステム
メモリ内のバッファが利用可能になったとき、DMAコ
ントローラ124はネットワークアクセスコントローラ
120にホスト肯定応答HSACKを供給する。ネット
ワークアクセスコントローラ120は、応答して、アー
ビトレートし、なぜならそれがデータをネットワークへ
伝送することによってまたは他の機能を実施することに
よってすでに占められているかもしれないからである。
もしネットワークアクセスコントローラ120が利用可
能であれば、それはDMAコントローラ124に肯定応
答(HSACK)を供給し戻し、かつそれから記憶アド
レスを読出コマンドが続いてバッファ126に出力す
る。バッファ126にアドレスされたデータはBDAT
Aに書込まれかつネットワークDMAコントローラ12
4にシステムメモリ内の指定されたバッファに供給され
るためにラッチされ、ネットワークからデータを受信す
るために必要なハンドシェイクを完成する。
ームの伝送の間のバス上の信号のタイミングは、伝送デ
ータの完全なフレームがあるからかまたはバッファ内の
データの量が伝送しきい値XTHを越えるからかのどち
らかで、ネットワークへ伝送されるようにシステムメモ
リ内のディスクリプタによって指されたバッファにネッ
トワークDMAコントローラ124がすでにアクセスし
たことを仮定する。現在伝送されるべきデータは図8の
オンチップFIFO152にストアされており、かつバ
ッファメモリ126内の論理的FIFOにそのデータを
転送する用意ができている。ネットワークへデータを伝
送するホスト要求に応答して、ネットワークDMAコン
トローラはホストがネットワークへの書込みを要求する
ことを示すホスト要求信号HSREQをネットワークア
クセスコントローラ120に供給する。ホストが書込む
であろう特定の待ち行列はHSREQバス上のコードに
よって決定される。この例では、ホストは同期待ち行列
に書込れることを要求すると仮定し、そのため同期フレ
ームのデータがネットワークに供給される。応答して、
ネットワークアクセスコントローラ120はアービトレ
ートし、かつ時間が利用可能なとき、それはホストに対
して肯定応答信号(HSACK)で応答する。ネットワ
ークアクセスコントローラ120はまたバッファメモリ
126に、ネットワークへ伝送されるべきデータのフレ
ームが一時的にストアされているアドレスを供給し、か
つバッファに書込パルスを与える。BDATAバス上に
ネットワークTMAコントローラ124によって適宜に
供給されたデータは、ネットワークアクセスコントロー
ラ120によってBDADDR上で特定された場所にお
いてバッファメモリ126内に形成された論理的FIF
Oの中に書込まれる。
に伝送されるべきでないなら、ネットワークDMAコン
トローラ124はHSREQ上にネットワークアクセス
コントローラ120に対してさらに他の要求を与えな
い。他方では、もし付加的なデータがネットワークへ伝
送されるべきであれば、HSREQバスはアサートされ
たままであり、かつネットワークアクセスコントローラ
120が時間が利用可能になることをアービトレートし
たとき、それはHSACK上でコントローラ124へ応
答した後付加的なアドレスおよび書込パルスをバッファ
126に与える。
動作の間のバス上のデータのタイミング関係を示す。示
された例では、ネットワークアクセスコントローラ12
0は最初は書込を実施するのに忙しく、それから読出動
作を実施し、かつそれから書込動作に戻る。関係する様
々なバスに与えられる信号は図17および図18におい
て示されているそれらに連続して一致する。
インタフェースでのデータの能率的な管理を提供する。
この発明の第1の局面に従って、データはDMAコント
ローラによって別個のバス上の2つまたはそれ以上の物
理メモリのいずれかからでも収集され得る。2つのメモ
リは、ノードプロセッサがプロトコル処理を実施し、一
方ホストがデータを供給するシステムアーキテクチャに
おけるホストおよびノードプロセッサメモリであっても
よい。伝送フレームはREQUEST/GRANT信号
の2つの組のハンドシェイクプロトコルを実現すること
によって2つのメモリから選択的に収集される。各フレ
ームをストアする第1のバッファとともにディスクリプ
タ・リングがメモリのうちの1つにある(たとえばノー
ドプロセッサメモリ)。フレームに対するどの残りのバ
ッファも他のメモリ(たとえばホスト)にある。第1の
バッファはフレームのヘッダ部分だけをストアするよう
に合わせて作られる。
ィスクリプタ・リングの中にストアされることができ
る。受信フレームのディスクリプタおよびヘッダ部分は
1つのメモリにストアされ得、一方データ部分およびデ
ィスクリプタは他方にストアされる。
ローラによる別個のバス上に存する一方のメモリまたは
他方に対するアクセスを可能にする。各フレームのヘッ
ダおよびデータ部分をストアするバッファはヘッダおよ
びデータディスクリプタによって保持される共通フレー
ム番号によって互いに同期化される。
けるFCフィールドのような識別フィールドを含む。フ
レームがストアされるディスクリプタ・リングは識別フ
ィールドの内容をリングに相関する対応する識別子と整
合することによって識別される。
ーのときに発生するかもしれないブロックされたディス
クリプタ・リングがあれば、この発明の別の局面はブロ
ックされていないリングへの行き先を有するフレームが
受信され続けることを可能にするため受信径路のブロッ
クを防ぐ。この発明のこの局面に従って、動作の放棄モ
ードでは、かつブロックされたリングに応答して、DM
Aコントローラはブロックされたリングに入来する次の
フレームを放棄する。コントローラの動作の正規モード
では、ブロックされたディスクリプタ・リングに入来す
るフレームは受信径路内の制限された容量のFIFOメ
モリにストアされる。
けが示され記述されており、しかし前述のように、この
発明は様々な他の組合せおよび環境における使用が可能
であり、かつここで表現されたこの発明の概念の範囲内
の変化または修正が可能であることが理解されるべきで
ある。たとえば、この発明はFDDIの環境において記
述されているが、そのように制限されるべきではない。
ワークの典型的な実現化例のブロック図である。
る。
す図である。
ロセッサおよびホストでの)の実現化例のブロック図で
ある。
ローラのより詳細な図である。
れるデータフローを示す図である。
た待ち行列におけるバッファメモリの構成を示す図であ
る。
ェースアーキテクチャにおけるネットワークDMAコン
トローラのより詳細な図である。
のようにシステムメモリから移動されるかを示す一般化
されたフローチャートである。
送パケットの図である。
うにシステムメモリに移動されるかを示す一般化された
フローチャートである。
である。
ケットのフォーマットを示す。
MAコントローラおよびバッファメモリ間の信号の流れ
を示す図である。
サバス上のノードおよびホストプロセッサメモリを示す
ブロック図であり、(b)はヘッダ/データ分割を実施
するためのノードおよびホストプロセッサメモリとネッ
トワークDMAコントローラとの間のハンドシェイクを
示す図である。
ーディングを示す信号タイミング図である。
ングすることを示す信号タイミング図である。
および書込を示すタイミング図である。
造を示す図である。
結を示す図である。
信するシステムメモリ内の多重受信リングを示す図であ
る。
メモリに径路付けられた受信フレームの図である。
るシステムメモリ内の多重受信リングを示す。
リプタ・リングに径路付けられた受信フレームの図であ
る。
「ブロックされた受信上の放棄」モードを示す図であ
る。
Claims (10)
- 【請求項1】 複数個のプロセッサおよびフレームに配
列された受信データをバッファにストアするための少な
くとも第1および第2のメモリを含むネットワークのた
めのネットワークコントローラであって、 前記第1および第2のメモリ内の任意のロケーションに
おいて複数個のバッファをストアするための手段を含
み、前記第1および第2のメモリ内のバッファはそれぞ
れ第1および第2の長さを有し、さらに 前記第1のメモ
リに、前記第1および第2のメモリのうちのいずれか1
つにおける受信データの各フレームの最初に受信された
部分をストアするためのバッファを指す第1のディスク
リプタ・リングを形成する隣接するロケーションに第1
のディスクリプタをストアする手段と、 前記第2のメモリに、前記第1および第2のメモリのう
ちのいずれか1つにおける各受信フレームのその後受信
された部分を含むバッファを指す第2のディスクリプタ
・リングを形成する隣接するロケーションに第2のデー
タディスクリプタをストアする手段とを含む、 ネットワ
ークコントローラ。 - 【請求項2】 各ディスクリプタ・リングとその関連の
バッファとは同じメモリ内にある、請求項1に記載のネ
ットワークコントローラ。 - 【請求項3】 異なるディスクリプタ・リングに適用さ
れた共通フレームのデータを相関連させる手段を含む、
請求項1に記載のネットワークコントローラ。 - 【請求項4】 前記相関させる手段は前記受信データの
各フレーム内のフレーム番号を含む、請求項3に記載の
ネットワークコントローラ。 - 【請求項5】 前記ディスクリプタ・リングは前記第1
および第2のメモリのどちらか1つにおける受信データ
のヘッダを含むバッファを指すヘッダディスクリプタか
らなるヘッダディスクリプションリングを含む、請求項
1に記載のネットワークコントローラ。 - 【請求項6】 前記第2のディスクリプタ・リングは前
記第1および第2のメモリのうちのいずれか1つにおけ
る受信データ部分を含むバッファを指すデータディスク
リプタからなるデータディスクリプタ・リングを含む、
請求項5に記 載のネットワークコントローラ。 - 【請求項7】 受信データ部分がそれぞれのヘッダに続
く、請求項6に記載のネットワークコントローラ。 - 【請求項8】 関連のヘッダとデータ部分とを相関させ
る手段をさらに含む、請求項6に記載のネットワークコ
ントローラ。 - 【請求項9】 前記相関させる手段が受信データの各フ
レーム内のフレーム番号を含む、請求項7に記載のネッ
トワークコントローラ。 - 【請求項10】 前記ネットワークがファイバ分散型デ
ジタルインターフェイスネットワーク(FDDI)を含
む、請求項1に記載のネットワークコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US529362 | 1990-05-29 | ||
US07/529,362 US5136582A (en) | 1990-05-29 | 1990-05-29 | Memory management system and method for network controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04261245A JPH04261245A (ja) | 1992-09-17 |
JP3448067B2 true JP3448067B2 (ja) | 2003-09-16 |
Family
ID=24109604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12628591A Expired - Lifetime JP3448067B2 (ja) | 1990-05-29 | 1991-05-29 | ネットワークアダプタのためのネットワークコントローラ |
Country Status (5)
Country | Link |
---|---|
US (2) | US5136582A (ja) |
EP (2) | EP0797335B1 (ja) |
JP (1) | JP3448067B2 (ja) |
AT (2) | ATE189753T1 (ja) |
DE (2) | DE69131971T2 (ja) |
Families Citing this family (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450564A (en) * | 1990-05-04 | 1995-09-12 | Unisys Corporation | Method and apparatus for cache memory access with separate fetch and store queues |
US5249271A (en) * | 1990-06-04 | 1993-09-28 | Emulex Corporation | Buffer memory data flow controller |
US5765015A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Slide network for an array processor |
DE69131272T2 (de) * | 1990-11-13 | 1999-12-09 | International Business Machines Corp., Armonk | Paralleles Assoziativprozessor-System |
US5815723A (en) * | 1990-11-13 | 1998-09-29 | International Business Machines Corporation | Picket autonomy on a SIMD machine |
US5625836A (en) * | 1990-11-13 | 1997-04-29 | International Business Machines Corporation | SIMD/MIMD processing memory element (PME) |
US5966528A (en) * | 1990-11-13 | 1999-10-12 | International Business Machines Corporation | SIMD/MIMD array processor with vector processing |
US5809292A (en) * | 1990-11-13 | 1998-09-15 | International Business Machines Corporation | Floating point for simid array machine |
US5765012A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library |
US5752067A (en) * | 1990-11-13 | 1998-05-12 | International Business Machines Corporation | Fully scalable parallel processing system having asynchronous SIMD processing |
US5963746A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
US5794059A (en) * | 1990-11-13 | 1998-08-11 | International Business Machines Corporation | N-dimensional modified hypercube |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5590345A (en) * | 1990-11-13 | 1996-12-31 | International Business Machines Corporation | Advanced parallel array processor(APAP) |
US5630162A (en) * | 1990-11-13 | 1997-05-13 | International Business Machines Corporation | Array processor dotted communication network based on H-DOTs |
US5765011A (en) * | 1990-11-13 | 1998-06-09 | International Business Machines Corporation | Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams |
US5588152A (en) * | 1990-11-13 | 1996-12-24 | International Business Machines Corporation | Advanced parallel processor including advanced support hardware |
US5963745A (en) * | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | APAP I/O programmable router |
US5828894A (en) * | 1990-11-13 | 1998-10-27 | International Business Machines Corporation | Array processor having grouping of SIMD pickets |
US5734921A (en) * | 1990-11-13 | 1998-03-31 | International Business Machines Corporation | Advanced parallel array processor computer package |
US5594918A (en) * | 1991-05-13 | 1997-01-14 | International Business Machines Corporation | Parallel computer system providing multi-ported intelligent memory |
US5293487A (en) * | 1991-12-27 | 1994-03-08 | Digital Equipment Corporation | Network adapter with high throughput data transfer circuit to optimize network data transfers, with host receive ring resource monitoring and reporting |
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 |
EP0551191B1 (en) * | 1992-01-09 | 2000-04-12 | Cabletron Systems, Inc. | Apparatus and method for transferring data to and from host system |
US5305321A (en) * | 1992-02-24 | 1994-04-19 | Advanced Micro Devices | Ethernet media access controller with external address detection interface and associated method |
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 |
JP2642039B2 (ja) * | 1992-05-22 | 1997-08-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | アレイ・プロセッサ |
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 |
US6487626B2 (en) * | 1992-09-29 | 2002-11-26 | Intel Corporaiton | Method and apparatus of bus interface for a processor |
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 |
US5560003A (en) * | 1992-12-21 | 1996-09-24 | Iowa State University Research Foundation, Inc. | System and hardware module for incremental real time garbage collection and memory management |
CA2125607A1 (en) * | 1993-06-30 | 1994-12-31 | David Thielen | Method and system for buffering transient data |
US5664223A (en) * | 1994-04-05 | 1997-09-02 | International Business Machines Corporation | System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively |
US5448558A (en) * | 1994-04-05 | 1995-09-05 | International Business Machines Corporation | Method and apparatus for managing packet FIFOS |
US5606665A (en) * | 1994-07-01 | 1997-02-25 | Digital Equipment Corporation | Buffer descriptor prefetch in network and I/O design |
US5687316A (en) * | 1994-07-29 | 1997-11-11 | International Business Machines Corporation | Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data |
US5502719A (en) * | 1994-10-27 | 1996-03-26 | Hewlett-Packard Company | Path allocation system and method having double link list queues implemented with a digital signal processor (DSP) for a high performance fiber optic switch |
US5805924A (en) * | 1994-11-08 | 1998-09-08 | Stoevhase; Bent | Method and apparatus for configuring fabrics within a fibre channel system |
US6351780B1 (en) * | 1994-11-21 | 2002-02-26 | Cirrus Logic, Inc. | Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated |
JP3531074B2 (ja) * | 1994-11-28 | 2004-05-24 | 富士通株式会社 | 記憶装置制御システム |
US5634099A (en) * | 1994-12-09 | 1997-05-27 | International Business Machines Corporation | Direct memory access unit for transferring data between processor memories in multiprocessing systems |
US5519701A (en) * | 1995-03-29 | 1996-05-21 | International Business Machines Corporation | Architecture for high performance management of multiple circular FIFO storage means |
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 |
US5961614A (en) | 1995-05-08 | 1999-10-05 | Apple Computer, Inc. | System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal |
ATE224620T1 (de) * | 1995-05-08 | 2002-10-15 | Koninkl Kpn Nv | Anordnung und methode für protokollumsetzung |
US5608341A (en) * | 1995-05-09 | 1997-03-04 | Level One Communications, Inc. | Electrical circuit for setting internal chip functions without dedicated configuration pins |
US5838915A (en) * | 1995-06-21 | 1998-11-17 | Cisco Technology, Inc. | System for buffering data in the network having a linked list for each of said plurality of queues |
US5793953A (en) * | 1995-07-07 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for allowing packet data to be separated over multiple bus targets |
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 |
US5675829A (en) * | 1995-07-07 | 1997-10-07 | Sun Microsystems, Inc. | Method and apparatus for coordinating data transfer between hardware and software by comparing entry number of data to be transferred data to entry number of transferred data |
EP0752664A3 (en) * | 1995-07-07 | 2006-04-05 | Sun Microsystems, Inc. | Method and apparatus for reporting data transfer between hardware and software |
US5748612A (en) * | 1995-08-10 | 1998-05-05 | Mcdata Corporation | Method and apparatus for implementing virtual circuits in a fibre channel system |
DE69525531T2 (de) * | 1995-09-04 | 2002-07-04 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Dataverarbeitungssystem mit ringförmiger Warteschlange in einem Seitenspeicher |
US5764638A (en) * | 1995-09-14 | 1998-06-09 | Level One Communications, Inc. | Method and apparatus for filtering and forwarding messages in a computer network using a last source address |
US5748634A (en) * | 1995-09-14 | 1998-05-05 | Level One Communications, Inc. | Method and apparatus for implementing a two-port ethernet bridge using a semaphoring technique |
US5742603A (en) * | 1995-09-14 | 1998-04-21 | Level One Communications, Inc. | Method and apparatus for integrating repeater management, media access control, and bridging functions |
US5610745A (en) * | 1995-10-26 | 1997-03-11 | Hewlett-Packard Co. | Method and apparatus for tracking buffer availability |
US5592160A (en) * | 1995-10-26 | 1997-01-07 | Hewlett-Packard Company | Method and apparatus for transmission code decoding and encoding |
US5870627A (en) * | 1995-12-20 | 1999-02-09 | Cirrus Logic, Inc. | System for managing direct memory access transfer in a multi-channel system using circular descriptor queue, descriptor FIFO, and receive status queue |
US5768530A (en) * | 1995-12-28 | 1998-06-16 | Emc Corporation | High speed integrated circuit interface for fibre channel communications |
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 |
US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
US5784649A (en) * | 1996-03-13 | 1998-07-21 | Diamond Multimedia Systems, Inc. | Multi-threaded FIFO pool buffer and bus transfer control system |
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 |
US5878028A (en) * | 1996-06-06 | 1999-03-02 | Advanced Micro Devices, Inc. | Data structure to support multiple transmit packets for high performance |
US5933654A (en) * | 1996-09-24 | 1999-08-03 | Allen-Bradley Company, Llc | Dynamic buffer fracturing by a DMA controller |
FR2755811B1 (fr) * | 1996-11-08 | 1999-07-23 | Bartha Rudolf | Reseau local securise de transmission multiprotocole |
US5873121A (en) * | 1996-11-19 | 1999-02-16 | Advanced Micro Devices, Inc. | Efficient memory management system for minimizing overhead in storage of data transmitted in a network |
US5933413A (en) * | 1997-01-13 | 1999-08-03 | Advanced Micro Devices, Inc. | Adaptive priority determination for servicing transmit and receive in network controllers |
US6487212B1 (en) * | 1997-02-14 | 2002-11-26 | Advanced Micro Devices, Inc. | Queuing structure and method for prioritization of frames in a network switch |
US5892772A (en) * | 1997-04-15 | 1999-04-06 | Lockheed Martin Corporation | Spatial reuse by means of dual homing on a ring network |
US6049842A (en) * | 1997-05-01 | 2000-04-11 | International Business Machines Corporation | Efficient data transfer mechanism for input/output devices |
US6073181A (en) * | 1997-06-03 | 2000-06-06 | International Business Machines Corporation | Multi-buffer error detection for an open data-link interface LAN adapter |
US6487202B1 (en) | 1997-06-30 | 2002-11-26 | Cisco Technology, Inc. | Method and apparatus for maximizing memory throughput |
US6035348A (en) * | 1997-06-30 | 2000-03-07 | Sun Microsystems, Inc. | Method for managing multiple ordered sets by dequeuing selected data packet from single memory structure |
FR2767003B1 (fr) * | 1997-07-31 | 1999-11-19 | Sqware T | Controleur de protocole de transmission de donnees numeriques hdlc |
US6016511A (en) * | 1997-09-12 | 2000-01-18 | Motorola Inc. | Apparatus and method for interfacing protocol application data frame operation requests with a data frame input/output device |
US6526060B1 (en) | 1997-12-05 | 2003-02-25 | Cisco Technology, Inc. | Dynamic rate-based, weighted fair scheduler with explicit rate feedback option |
US5963499A (en) * | 1998-02-05 | 1999-10-05 | Cypress Semiconductor Corp. | Cascadable multi-channel network memory with dynamic allocation |
US6295608B1 (en) * | 1998-02-17 | 2001-09-25 | Microsoft Corporation | Optimized allocation of data elements among cache lines |
US6189069B1 (en) | 1998-02-17 | 2001-02-13 | Microsoft Corporation | Optimized logging of data elements to a data storage device |
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 |
US6115771A (en) * | 1998-03-31 | 2000-09-05 | Lsi Logic Corporation | Method and system for converting computer peripheral equipment to SCSI-compliant devices |
US6105086A (en) * | 1998-06-04 | 2000-08-15 | Lsi Logic Corporation | Data communication circuit and method for buffering data between a shared resource and multiple interfaces |
US6526451B2 (en) | 1998-09-30 | 2003-02-25 | Stmicroelectronics, Inc. | Method and network device for creating circular queue structures in shared memory |
US6327615B1 (en) | 1998-09-30 | 2001-12-04 | Stmicroelectronics, Inc. | Method and system of controlling transfer of data by updating descriptors in descriptor rings |
US6717910B1 (en) * | 1998-09-30 | 2004-04-06 | Stmicroelectronics, Inc. | Method and apparatus for controlling network data congestion |
US6356962B1 (en) | 1998-09-30 | 2002-03-12 | Stmicroelectronics, Inc. | Network device and method of controlling flow of data arranged in frames in a data-based network |
US7046625B1 (en) | 1998-09-30 | 2006-05-16 | Stmicroelectronics, Inc. | Method and system for routing network-based data using frame address notification |
US6304936B1 (en) * | 1998-10-30 | 2001-10-16 | Hewlett-Packard Company | One-to-many bus bridge using independently and simultaneously selectable logical FIFOS |
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 |
US6430628B1 (en) * | 1998-12-08 | 2002-08-06 | Intel Corporation | Method and apparatus for reducing direct memory access transfers using smart coalescing |
US6747984B1 (en) | 1998-12-18 | 2004-06-08 | Lsi Logic Corporation | Method and apparatus for transmitting Data |
US6665728B1 (en) * | 1998-12-30 | 2003-12-16 | Intel Corporation | Establishing optimal latency in streaming data applications that use data packets |
US8346971B2 (en) | 1999-05-04 | 2013-01-01 | At&T Intellectual Property I, Lp | Data transfer, synchronising applications, and low latency networks |
US6347347B1 (en) * | 1999-07-15 | 2002-02-12 | 3Com Corporation | Multicast direct memory access storing selected ones of data segments into a first-in-first-out buffer and a memory simultaneously when enabled by a processor |
US6791989B1 (en) * | 1999-12-30 | 2004-09-14 | Agilent Technologies, Inc. | Fibre channel interface controller that performs non-blocking output and input of fibre channel data frames and acknowledgement frames to and from a fibre channel |
TW453069B (en) * | 2000-01-05 | 2001-09-01 | Via Tech Inc | Packet accessing method with parallel multiplexing feature |
US6691178B1 (en) * | 2000-02-22 | 2004-02-10 | Stmicroelectronics, Inc. | Fencepost descriptor caching mechanism and method therefor |
US6668290B1 (en) * | 2000-05-08 | 2003-12-23 | Crossroads Systems, Inc. | System and method for controlling readout of frame data from buffer |
US7089289B1 (en) * | 2000-07-18 | 2006-08-08 | International Business Machines Corporation | Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices |
US7143185B1 (en) * | 2000-08-29 | 2006-11-28 | Advanced Micro Devices, Inc. | Method and apparatus for accessing external memories |
US6799229B1 (en) * | 2000-09-05 | 2004-09-28 | Lsi Logic Corporation | Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization |
US6647441B1 (en) * | 2000-09-15 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Method of maximizing servicing capability of large numbers of I/O descriptors |
US6647438B1 (en) * | 2000-09-19 | 2003-11-11 | Intel Corporation | Direct memory access transfer reduction method and apparatus to overlay data on to scatter gather descriptors for bus-mastering I/O controllers |
JP4087072B2 (ja) * | 2001-01-25 | 2008-05-14 | 株式会社日立製作所 | ストレージシステム及び仮想プライベートボリューム制御方法 |
US6988160B2 (en) * | 2001-02-12 | 2006-01-17 | P-Cube Ltd. | Method and apparatus for efficient messaging between memories across a PCI bus |
US7130916B2 (en) | 2001-02-23 | 2006-10-31 | International Business Machines Corporation | Linking frame data by inserting qualifiers in control blocks |
US7072347B2 (en) * | 2001-02-23 | 2006-07-04 | International Business Machines Corporation | Assignment of packet descriptor field positions in a network processor |
US20030086485A1 (en) * | 2001-11-08 | 2003-05-08 | John Lin | Master to multi-slave asynchronous transmit fifo |
EP1341093B1 (fr) * | 2002-02-26 | 2012-04-25 | Nxp B.V. | Accès à une ressource collective |
DE10234990B4 (de) * | 2002-07-31 | 2007-03-29 | Advanced Micro Devices, Inc., Sunnyvale | Hostcontroller, Verfahren zum Betreiben, zugehöriges Southbridgebauelement und Computersystem zur Steuerung der Ersetzung im voraus geholter Deskriptoren in einem Cache |
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 |
US6874054B2 (en) * | 2002-12-19 | 2005-03-29 | Emulex Design & Manufacturing Corporation | Direct memory access controller system with message-based programming |
JP4749657B2 (ja) * | 2003-03-20 | 2011-08-17 | パナソニック株式会社 | Dma制御装置 |
JP4020815B2 (ja) * | 2003-03-28 | 2007-12-12 | 三菱電機株式会社 | 通信モジュール |
KR100544188B1 (ko) * | 2003-06-19 | 2006-01-23 | 삼성전자주식회사 | 네트워크 전자기기의 데이터 인터페이스 장치 및 방법 |
US20040257856A1 (en) * | 2003-06-23 | 2004-12-23 | Texas Instruments Incorporated | Dual-port functionality for a single-port cell memory device |
JP4340519B2 (ja) * | 2003-11-04 | 2009-10-07 | 富士通株式会社 | 情報処理端末 |
US20070274214A1 (en) * | 2003-11-18 | 2007-11-29 | Oleg Logvinov | System and method for combining synchronous and asynchronous communications on a communications network |
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 |
US7336675B2 (en) * | 2003-12-22 | 2008-02-26 | Intel Corporation | Optimized back-to-back enqueue/dequeue via physical queue parallelism |
US7433364B2 (en) * | 2003-12-24 | 2008-10-07 | Intel Corporation | Method for optimizing queuing performance |
US7522623B2 (en) * | 2004-09-01 | 2009-04-21 | Qlogic, Corporation | Method and system for efficiently using buffer space |
US7454491B2 (en) * | 2004-10-14 | 2008-11-18 | International Business Machines Corporation | Method and system for efficiently transferring a self-defined non-contiguous message in a one-sided communication model |
JP5008270B2 (ja) * | 2005-04-13 | 2012-08-22 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
US20060259657A1 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Direct memory access (DMA) method and apparatus and DMA for video processing |
WO2006121443A2 (en) * | 2005-05-10 | 2006-11-16 | Telairity Semiconductor, Inc. | Direct memory access (dma) method and apparatus and dma for video processing |
US8213294B2 (en) * | 2006-06-27 | 2012-07-03 | International Business Machines Corporation | Mechanism for detecting and clearing I/O fabric lockup conditions for error recovery |
US20080091838A1 (en) * | 2006-10-12 | 2008-04-17 | Sean Miceli | Multi-level congestion control for large scale video conferences |
US7827331B2 (en) * | 2006-12-06 | 2010-11-02 | Hitachi, Ltd. | IO adapter and data transferring method using the same |
JP2008252748A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 受信フレーム処理装置および受信フレーム処理システム |
US8325633B2 (en) * | 2007-04-26 | 2012-12-04 | International Business Machines Corporation | Remote direct memory access |
US7948999B2 (en) * | 2007-05-04 | 2011-05-24 | International Business Machines Corporation | Signaling completion of a message transfer from an origin compute node to a target compute node |
US7889657B2 (en) * | 2007-05-04 | 2011-02-15 | International Business Machines Corporation | Signaling completion of a message transfer from an origin compute node to a target compute node |
US7890670B2 (en) * | 2007-05-09 | 2011-02-15 | International Business Machines Corporation | Direct memory access transfer completion notification |
US7779173B2 (en) * | 2007-05-29 | 2010-08-17 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8037213B2 (en) | 2007-05-30 | 2011-10-11 | International Business Machines Corporation | Replenishing data descriptors in a DMA injection FIFO buffer |
US7765337B2 (en) * | 2007-06-05 | 2010-07-27 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8090789B1 (en) * | 2007-06-28 | 2012-01-03 | Emc Corporation | Method of operating a data storage system having plural data pipes |
US8018951B2 (en) | 2007-07-12 | 2011-09-13 | International Business Machines Corporation | Pacing a data transfer operation between compute nodes on a parallel computer |
US8478834B2 (en) * | 2007-07-12 | 2013-07-02 | International Business Machines Corporation | Low latency, high bandwidth data communications between compute nodes in a parallel computer |
US7890597B2 (en) * | 2007-07-27 | 2011-02-15 | International Business Machines Corporation | Direct memory access transfer completion notification |
US8959172B2 (en) * | 2007-07-27 | 2015-02-17 | International Business Machines Corporation | Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer |
US20090031001A1 (en) * | 2007-07-27 | 2009-01-29 | Archer Charles J | Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer |
US9225545B2 (en) * | 2008-04-01 | 2015-12-29 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
US9009350B2 (en) * | 2008-04-01 | 2015-04-14 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
TWI379554B (en) * | 2008-05-21 | 2012-12-11 | Realtek Semiconductor Corp | Data access device and method for communication system |
US8145786B2 (en) * | 2008-10-06 | 2012-03-27 | International Business Machines Corporation | Efficient buffer utilization in a computer network-based messaging system |
US20110153875A1 (en) * | 2009-12-18 | 2011-06-23 | Plx Technology, Inc. | Opportunistic dma header insertion |
US7970927B1 (en) | 2009-12-31 | 2011-06-28 | Qlogic, Corporation | Concurrent transmit processing |
US8544026B2 (en) * | 2010-02-09 | 2013-09-24 | International Business Machines Corporation | Processing data communications messages with input/output control blocks |
US8949453B2 (en) | 2010-11-30 | 2015-02-03 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8949328B2 (en) | 2011-07-13 | 2015-02-03 | International Business Machines Corporation | Performing collective operations in a distributed processing system |
US8930962B2 (en) | 2012-02-22 | 2015-01-06 | International Business Machines Corporation | Processing unexpected messages at a compute node of a parallel computer |
US9075730B2 (en) | 2012-12-21 | 2015-07-07 | Advanced Micro Devices, Inc. | Mechanisms to bound the presence of cache blocks with specific properties in caches |
KR20160099828A (ko) * | 2015-02-13 | 2016-08-23 | 한국전자통신연구원 | 패킷 전송을 위한 이중 클럭 선입선출 장치 |
US10990318B2 (en) | 2015-10-01 | 2021-04-27 | PacByte Solutions Pty Ltd | Method and system for receiving a data file |
US10524278B2 (en) | 2015-11-20 | 2019-12-31 | Qualcomm Incorporated | Scheduling and token bucket for communication co-existence |
US10009912B2 (en) | 2015-11-20 | 2018-06-26 | Qualcomm Incorporated | Scheduling and token bucket for communication co-existence |
JP6549697B2 (ja) * | 2016-03-31 | 2019-07-24 | 三菱電機株式会社 | ユニット及び制御システム |
KR102690393B1 (ko) * | 2016-08-09 | 2024-08-02 | 삼성전자주식회사 | 스토리지 시스템의 동작 방법 및 호스트의 동작 방법 |
BR112019019944A2 (pt) * | 2017-03-24 | 2020-04-28 | Mediatek Inc | aparelhos e métodos para identificação de feixe através do canal de acesso aleatório físico (prach) e utilização eficiente de recursos prach |
EP3603207A4 (en) | 2017-03-24 | 2020-07-15 | Mediatek Inc. | APPARATUSES AND METHODS FOR A REQUEST FOR ON-DEMAND SYSTEM INFORMATION (SI) THROUGH A RANDOM ACCESS PROCEDURE |
KR20210031266A (ko) * | 2019-09-11 | 2021-03-19 | 삼성전자주식회사 | 인터페이스 회로, 메모리 장치, 저장 장치 및 메모리 장치의 동작 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4481578A (en) * | 1982-05-21 | 1984-11-06 | Pitney Bowes Inc. | Direct memory access data transfer system for use with plural processors |
US4491915A (en) * | 1982-11-30 | 1985-01-01 | Rca Corporation | Multiprocessor-memory data transfer network |
JPS6019269A (ja) * | 1983-07-13 | 1985-01-31 | Nec Corp | 高速デ−タ転送方式 |
US4760521A (en) * | 1985-11-18 | 1988-07-26 | White Consolidated Industries, Inc. | Arbitration system using centralized and decentralized arbitrators to access local memories in a multi-processor controlled machine tool |
US4782439A (en) * | 1987-02-17 | 1988-11-01 | Intel Corporation | Direct memory access system for microcontroller |
US4945473A (en) * | 1987-05-15 | 1990-07-31 | Bull Hn Information Systems Inc. | Communications controller interface |
US5007051A (en) * | 1987-09-30 | 1991-04-09 | Hewlett-Packard Company | Link layer protocol and apparatus for data communication |
US5043981A (en) * | 1990-05-29 | 1991-08-27 | Advanced Micro Devices, Inc. | Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO |
-
1990
- 1990-05-29 US US07/529,362 patent/US5136582A/en not_active Expired - Lifetime
-
1991
- 1991-05-28 DE DE69131971T patent/DE69131971T2/de not_active Expired - Lifetime
- 1991-05-28 EP EP97106436A patent/EP0797335B1/en not_active Expired - Lifetime
- 1991-05-28 AT AT91304803T patent/ATE189753T1/de not_active IP Right Cessation
- 1991-05-28 AT AT97106436T patent/ATE360316T1/de not_active IP Right Cessation
- 1991-05-28 DE DE69133569T patent/DE69133569T2/de not_active Expired - Lifetime
- 1991-05-28 EP EP91304803A patent/EP0459752B1/en not_active Expired - Lifetime
- 1991-05-29 JP JP12628591A patent/JP3448067B2/ja not_active Expired - Lifetime
-
1992
- 1992-05-15 US US07/883,748 patent/US5488724A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5488724A (en) | 1996-01-30 |
ATE360316T1 (de) | 2007-05-15 |
EP0459752B1 (en) | 2000-02-09 |
EP0797335B1 (en) | 2007-04-18 |
EP0797335A2 (en) | 1997-09-24 |
DE69131971T2 (de) | 2000-10-05 |
US5136582A (en) | 1992-08-04 |
ATE189753T1 (de) | 2000-02-15 |
DE69133569D1 (de) | 2007-05-31 |
JPH04261245A (ja) | 1992-09-17 |
EP0797335A3 (en) | 2003-06-04 |
EP0459752A3 (ja) | 1994-01-19 |
EP0459752A2 (en) | 1991-12-04 |
DE69131971D1 (de) | 2000-03-16 |
DE69133569T2 (de) | 2007-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3448067B2 (ja) | ネットワークアダプタのためのネットワークコントローラ | |
JP3452590B2 (ja) | システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法 | |
US5247626A (en) | Fddi controller having flexible buffer management | |
JP3361824B2 (ja) | 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法 | |
CA2124452C (en) | Method and apparatus for processing data within stations of a communication network | |
US5367643A (en) | Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets | |
US5619497A (en) | Method and apparatus for reordering frames | |
US6005849A (en) | Full-duplex communication processor which can be used for fibre channel frames | |
EP0617368B1 (en) | Arbitration process for controlling data flow through an I/O controller | |
US6442137B1 (en) | Apparatus and method in a network switch for swapping memory access slots between gigabit port and expansion port | |
EP0709985A2 (en) | Path allocation system and method for a high performance fiber optic switch | |
JPH02131048A (ja) | アダプタ間のパケツト転送方法、競合解消装置、及びトークン・リング装置 | |
JPH02196541A (ja) | ワークステーシヨンをローカル・エリヤ・ネツトワークに接続する方法および装置 | |
CN1267418A (zh) | 连网系统 | |
JPH0732398B2 (ja) | バス・アクセス制御方法 | |
US20020062415A1 (en) | Slotted memory access method | |
US5119374A (en) | Method of and system for implementing multiple levels of asynchronous priority in FDDI networks | |
JP2507230B2 (ja) | インタ―フェ―ス装置および方法並びに通信アダプタ | |
US7218638B2 (en) | Switch operation scheduling mechanism with concurrent connection and queue scheduling | |
US20040081158A1 (en) | Centralized switching fabric scheduler supporting simultaneous updates | |
EP0459756A2 (en) | Fiber distributed data interface network | |
JPH05136797A (ja) | 多重リングlan及び多重リングlanのデータ伝送方法 |
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: 20030603 |
|
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: 20070704 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080704 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080704 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090704 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100704 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |