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
Application number
JP12628591A
Other languages
English (en)
Other versions
JPH04261245A (ja
Inventor
フィルツィン・フィルーツマン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPH04261245A publication Critical patent/JPH04261245A/ja
Application granted granted Critical
Publication of JP3448067B2 publication Critical patent/JP3448067B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/521Static queue service slot or fixed bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S370/00Multiplex communications
    • Y10S370/901Wide area network
    • Y10S370/902Packet switching
    • Y10S370/903Osi compliant network
    • Y10S370/906Fiber 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

【発明の詳細な説明】
【0001】
【関連のある出願に対する相互参照】この出願は、この
発明の譲受人によって所有され、かつ同一の日付で出願
された以下の同時係属出願に関連する。
【0002】 1) フィルーツマン(Firoozmand)の連続
番号第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)」
【0003】
【技術分野】この発明は包括的に局部的かつ広い領域の
ネットワークにおけるデータ操作に関するものであり、
より特定的にはノードおよびホストプロセッサメモリの
ようなネットワーク内の多重メモリにおけるフレームさ
れたデータの記憶および多重メモリからのフレームされ
たデータの検索を管理する方法およびシステムに関する
ものである。この発明の1つの利用はファイバ分布され
たデータインタフェース(Fiber Distrib
uted Data Interface)(FDD
I)においてである。
【0004】
【背景技術】
【0005】
【序論】いかなるメモリ管理システムのデータスループ
ットの速度は、プロセッサのネットワーク上にあっても
よいデータバス上に存するシステムメモリにおける、お
よび、からのデータを複写するステップの数によって制
限される。この発明の1つの局面は、少なくとも2つの
区別できるメモリを含むシステムメモリのデータ処理能
率を最適化する伝送および受信ディスクリプタを実現す
る。優先順位の異なったレベルまたは他の特徴を有する
データはメモリにおいてストアされるためにバスから受
信されるか、または伝送されるためにメモリから収集さ
れる。システムメモリは局部的または広い領域のネット
ワークのノードおよびホストメモリを含んでもよい。
【0006】例として、この発明は、上で示された同時
係属出願において記述されているファイバ分布されたデ
ータインタフェース(FDDI)の環境内で教示される
であろうが、しかしながらここで教示された原理はメモ
リ管理システムに広くより適用できるので、この発明は
上で述べられた環境に制限されるべきではない。
【0007】
【検討】フレームにおいて配列されたデータのパケット
を取り扱うデータ操作システムにおいては(あるフレー
ミングまたは「ハウスキーピング」ビットを含むデータ
のパケットまたはバーストは「フレーム」と定義され、
フレームの形状で送られるデータは「フレームされたデ
ータ」と呼ばれる)、データのフレームをネットワーク
上の1つのロケーションにあるシステムと別のロケーシ
ョンにあるシステムとの間に転送する必要がしばしばあ
る。データのフレームは同じまたは異なった優先順位を
表わす待ち行列において配列されてもよい。「ネットワ
ークコントローラ」と呼ばれる局部的システムおよびネ
ットワークの間に存するインタフェース回路はシステム
とネットワークとの間のデータフローを管理する。これ
はシステムとネットワークとの間のタイミング矛盾を補
償するためにデータをバッファリングすること、いかな
る必要なプロトコル変換をも与えることおよび、コント
ローラを通過するデータにビットを加えることまたはそ
れからビットをはぎ取ることにより「ハウスキーピン
グ」を実施することを含む。ネットワークコントローラ
アーキテクチャの様々な型は用いられるネットワーク動
作システムおよび他の考慮に基づいて実現される。
【0008】たとえば、上記のここに引用により援用さ
れる「融通性のあるバッファ管理を有するFDDIコン
トローラ」のための同時係属出願(1)において記述さ
れている型のネットワークにおいては、バスマスタアー
キテクチャを含むネットワークコントローラがあり、フ
レームされたデータの待ち行列はネットワークへの伝送
のためシステムメモリにおいて確立されたバッファから
出力バッファにおける論理的FIFOによって形成され
た対応する領域に転送される。システムメモリと出力バ
ッファとの間には、出力バッファへの途中で一次的にフ
レームされたデータをストアするための、たとえば32
バイトの予め定められた記憶容量を有する物理的FIF
Oがある。物理的FIFOの1つの目的はシステムおよ
びネットワーククロックのクロック速度における差の結
果として必要とされるデータのバッファリングを与える
ことである。「パケットデータの伝送および受信のため
の論理的FIFOとしてのSRAMの形状」のための同
時係属出願(2)においては、ネットワークへの伝送に
対する要求に応答して、ネットワーク上での「トーク
ン」の受信のときに、かつデータが伝送のために利用可
能であることを仮定して、データは伝送FIFOにシス
テムメモリから1回につき1パケット転送され、かつそ
れから伝送FIFOからネットワークへ転送され、その
間データはなおネットワークから入来している。これは
FIFOが完全なフレームを受信する前にネットワーク
へ伝送することを可能にする。それによって伝送された
データのフレームは出力バッファにおいて構成される論
理的FIFOによって形成される対応する待ち行列にス
トアされる。
【0009】データは、最も高いものから始まる優先度
の順序で、同じ優先度を有する伝送ために利用可能であ
る付加的なデータがなくなるまでまたはトークンの受信
の間の未終了のトークン保持時間(THT)がその優先
度に対してしきい値より少なくなるまで伝送される。こ
のプロトコルについての詳細は「FDDIネットワーク
における多重非同期優先順位の実現のための方法および
システム」に対する上記の引用により援用される同時係
属手段(3)において与えられる。
【0010】物理的FIFOを通る出力バッファへのシ
ステムメモリからのフレームされたデータの各転送に続
き、同じ優先度を有するさらなるデータを物理的FIF
Oに転送し、その後同じ出力バッファ待ち行列に転送す
るか、またはもしなんらかのさらなるデータが利用可能
であれば異なった優先度を有するデータを、物理的FI
FOを通り別の出力バッファ待ち行列に転送するかのど
ちらかの決定がなされる。「単一の物理的FIFOを使
用して多重優先度待ち行列を多重論理的FIFOに移転
するための方法およびシステム」に対するここに引用に
より援用される同時係属出願(4)は、FIFOの「ロ
ックアップ」を防ぐための1つの手段を記述する。ロッ
クアップは、書込まれなければならない特定の待ち行列
を含む論理的FIFOにおいて利用可能のままである記
憶の量が物理的FIFOの記憶容量より少ないときに起
こる。この状態下では物理的FIFOはバッファにおけ
る論理的FIFOにアンロードにできない。
【0011】この発明の局面が特に適用できる型のシス
テムはホストプロセッサだけでなくノードプロセッサも
また組込み、各々はそれ自身の相関するメモリを有す
る。このアーキテクチャは、ノードプロセッサがプロト
コルパケット伝送においてかかわる通信タスクからホス
トプロセッサを自由にするであろうから有利である。た
とえば、プロトコルヘッダはノードプロセッサメモリに
おいて処理されてもよく、一方データは出力バッファへ
およびから直接渡され、かつその後伝送のためパケット
に取付けられる。データスループットの速度は各メモリ
転送のためにデータを複写する2つのステップを実施す
る必要を除去することによって増加される。
【0012】同時係属出願はいわゆる伝送および受信
「ディスクリプタ」を利用し、それはシステムメモリ内
において構成されるバッファ領域の各々の状態、長さお
よびアドレスポインタを規定する情報のビットを含む。
先入れ先出し(FIFO)メモリでは、FIFOの最後
の記憶位置に続く記憶が最初のものに再循環し、ディス
クリプタはリングの形状をとる。これゆえ、この型のデ
ィスクリプタは「ディスクリプタ・リング」と呼ばれ
る。この発明は多重システムメモリを組み込みかつデー
タのフレームまたはパケットが多重ディスクリプタ・リ
ングによって指されたバッファ領域においてストアされ
るシステム内の能率的なバッファ管理に向けられてい
る。
【0013】この発明に従ってディスクリプタ・リング
はデータ部分と同様にヘッダによって特徴付けられたパ
ケットまたはフレームされたデータを管理する。通常、
フレームのヘッダおよびデータ部分は都合よく互いから
分離されることはできず、なぜなら2つの部分はバッフ
ァの間で互いに相関しなくなるかまたは「同期化を失
う」であろうからである。この発明の別の局面は、デー
タのフレームとそれらの対応するヘッダの間で同期化を
維持しながらヘッダおよびデータ部分を有するフレーム
されたデータの記憶を最適化する。
【0014】記述された型のネットワークコントローラ
においては、単一の物理的FIFOメモリを通ってシス
テムメモリに入来する受信データ径路はある状況下でブ
ロックされる傾向がある。たとえば、もし受信ディスク
リプタ・リングがいっぱいかまたはパリティ・エラーが
存在すれば、FIFOを通る受信径路内のいかなるディ
スクリプタ・リングに予定された次のパケットはブロッ
クされるであろう。ブロックの理由が取り除かれるまで
次のパケットは出力バッファ内の受信待ち行列にストア
されるであろうけれども、バッファが制限された記憶容
量を有するのでリングは再びブロックされるであろう。
この発明の特徴はブロックされたリング上の受信データ
径路のブロックを避け、かつブロックの間受信データの
待ち行列をストアするために利用可能であるバッファメ
モリの量から独立している。
【0015】
【発明の開示】この発明の目的はバッファ記憶システム
における改良されたデータ管理を実施することである。
【0016】この発明の別の目的は複数のシステムメモ
リを実現するネットワークにおける能率的なデータ管理
を実施することである。
【0017】別の目的はホストおよびノードプロセッサ
アーキテクチャを有するシステム内のFDDIネットワ
ークコントローラにおける能率的なデータ記憶およびア
クセスである。
【0018】別の目的は受信データの共通のフレームに
対応するバッファがシステムの複数の区別できるメモリ
内において確立されるバッファメモリシステムにおける
データ記憶および転送の能率を最大にすることである。
【0019】さらに他の目的はシステムの第1および第
2の区別できるメモリにおいてそれぞれ形状されたバッ
ファ内のフレームされた受信データのヘッダおよびデー
タ部分を別個にストアすることである。
【0020】この発明のなお別の目的はフレームされた
データの特徴に基づく新規の多重ディスクリプタ・リン
グシステムの特定のディスクリプタ・リングにフレーム
された受信データを分散することである。
【0021】別の目的はブロックされたディスクリプタ
・リングの結果として受信FIFOの受信径路をブロッ
クすることを防ぐことである。
【0022】この発明のさらに他の目的はファイバ分布
されたデータインタフェース(FDDI)システムにお
いて上の目的を実施することである。
【0023】上のおよび他の目的はこの発明の1つの局
面に従ってパケットにおいて配列されたデータのシステ
ムメモリからネットワークへのフローを制御するネット
ワークアダプタによって満足する。ネットワークは複数
個のプロセッサおよびバッファにおいて配列されたデー
タをストアするための少なくとも第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のメモ
リのどちらかにアクセスすることをハンドシェイクプロ
トコルを実施することによって可能にする。
【0024】好ましい実施例に従って第1および第2の
メモリはそれぞれホストおよびノードプロセッサメモリ
を含む。制御インタフェースはノードプロセッサメモリ
からのヘッダ情報にアクセスし、かつホストプロセッサ
メモリからのデータにアクセスする。受信フレームはホ
ストおよびノードプロセッサメモリ内のロケーションへ
の選択的な転送のために別個のディスクリプタ・リング
に付与される。好ましくは、ヘッダおよび伝送ディスク
リプタはノードプロセッサメモリにストアされ、伝送お
よび受信データならびにディスクリプタはホストメモリ
にストアされる。
【0025】この発明の別の局面に従って、そこにおい
てはネットワークアダプタは複数個のプロセッサおよび
フレームにおいて配列された受信データをバッファ内に
ストアするための少なくとも第1および第2のメモリを
含み、受信フレームを処理する方法はそれぞれ第1およ
び第2の長さを有する第1および第2のバッファを第1
および第2のメモリの任意のロケーションに、第1の長
さが第2の長さより短く、ストアすることを含む。第1
のディスクリプタは、第1および第2のメモリのどちら
かの1つにおいて受信データの各フレームの第1に受信
された部分をストアするためのバッファを指す第1のメ
モリ内の第1のディスクリプタ・リングを形成するため
に隣接するメモリロケーションに確立される。第2のデ
ータディスクリプタは第1および第2のメモリのどらら
かの1つにおいて各受信フレームの次に受信された部分
を含むバッファを指す第2のメモリにおける第2のディ
スクリプタ・リングを形成するために隣接するロケーシ
ョンに確立される。
【0026】この発明のこの局面に従うアダプタは受信
フレームが多重ディスクリプタ・リングによって指され
る多重バッファにおいてストアされることを可能にす
る。同じフレームの分散された構成要素は共通のフレー
ム番号によって互いに相関する。
【0027】好ましい実施例は別個のバッファにフレー
ムのヘッダおよびデータ部分をストアするこの発明のこ
の局面を実現する。複数個のバッファが第1および第2
のメモリ内の任意のロケーションに確立される。ヘッダ
ディスクリプタは、前記第1および第2のメモリのうち
のどちらか1つにおいて受信データのヘッダを含むバッ
ファを指す第1のメモリ内のヘッダディスクリプタ・リ
ングを形成するために隣接するロケーションに確立され
る。データディスクリプタは第1および第2のメモリの
どちからの1つにおいて受信データを含むバッファを指
す第2のメモリ内のデータディスクリプタ・リングを形
成するために隣接するロケーションに確立される。
【0028】受信フレームは好ましくは関連するヘッダ
およびデータ対に相関するまたは「同期化する」フレー
ム番号を含む。
【0029】この発明のさらに他の局面に従って、複数
個のバッファは第1および第2のメモリ内の任意のロケ
ーションに確立される。同様に第1および第2のメモリ
の隣接するロケーションに任意に確立されるのはバッフ
ァを指す複数個のディスクリプタ・リングを形成するデ
ィスクリプタである。各リングの各ディスクリプタは第
1および第2のメモリの一方または他方を指す印を有す
る。受信データの入来フレームのフィールドにおける識
別ビットは検出され、かつ特定のディスクリプタ・リン
グに相関する。受信データの各入来フレームはそのディ
スクリプタによって指されたバッファにおいてストアさ
れる。
【0030】この発明のこの局面は異なった受信データ
の多重待ち行列を管理するための多重ディスクリプタ・
リングシステムを実現する。この発明は異なった優先度
または別の特徴を有する入来データが対応するバッファ
の複数のグループを指す多重ディスクリプタ・リングに
付与されることを可能にする。各入来フレームを受信す
るためのディスクリプタ・リングは識別フィールドのビ
ットを各リングに割り当てられたビットに整合すること
によって決定される。FDDIにおいてはフレーム制御
フィールドFCは識別フィールドとして実現される。
【0031】この発明のなお別の局面に従って、受信デ
ータ径路はブロックされたディスクリプタ・リングの発
生のとき、ブロックされたリングが検出されたとき入来
受信パケットまたはフレームを放棄することによってク
リアされる。より具体的には、この発明のこの局面を実
現するネットワークアダプタは複数個のプロセッサおよ
びフレームに配列されかつフレームの特徴を識別する情
報を含む受信データのパケットをストアするためのメモ
リ手段を含む。さらにアダプタは、FIFOメモリと、
FIFOメモリを通るメモリ手段への受信データフロー
径路と、メモリにおける任意のロケーションに複数個の
受信バッファを確立するための手段と、受信バッファを
指すディスクリプタ・リングを形成するディスクリプタ
をメモリ手段内の隣接するロケーションに確立するため
の手段と、フレームの特徴に一致するディスクリプタ・
リングに受信データ径路上に入来する受信フレームを供
給するための手段とを含む。受信データフロー径路にお
けるブロックされたディスクリプタ・リングは検出さ
れ、かつ応答して、ブロックされたディスクリプタ・リ
ングに入来する次のフレームは放棄される。放棄された
フレームされたものの内容は取り戻されないであろうけ
れども、データフロー径路は決してブロックされず、他
のディスクリプタ・リングに指定された受信データがそ
れに対して供給されることを可能にする。
【0032】好ましくはネットワークアダプタは正規の
および放棄のモードにおいて選択的に動作する。検出さ
れたブロックされたリングに対して応答して、およびア
ダプタの動作の正規モードにおいて、アダプタに入来す
る次のパケットはバッファメモリにおいてストアされ
る。検出されたブロックされたリングに対して応答して
および動作の放棄モードにおいては、前記アダプタに入
来する次のパケットは放棄される。
【0033】この発明の方法および装置は、ここで教示
された原理はより一般的にバッファメモリ管理に対する
応用を有するけれども、FDDIネットワークインタフ
ェースに有利に適用される。
【0034】この発明のなお他の目的および利点は以下
の詳細な説明から当業者には容易に明らかになるであろ
うし、そこにおいてはこの発明を実施する熟考された最
良のモードの単に例示としてこの発明の好ましい実施例
のみが示されかつ記述される。実現されるであろうよう
に、この発明は他のおよび異なった実施例が可能であ
り、かつそのいくつかの詳細はこの発明からすべて逸脱
することなく様々な明らかな点における修正が可能であ
る。したがって図面および説明は事実上例示として見ら
れ、制限として見られるべきではない。
【0035】
【好ましい実施例の詳細な説明】この発明の特定の利用
はFDDIネットワークであるが、この発明はフレーム
またはパケットデータ操作の分野において一般的な適用
性を有する。したがって、この発明の開示はFDDIの
分野においてなされるであろうが、発明の局面はそれに
制限されるべきではないということは理解されるべきで
ある。
【0036】
【FDDI、一般】FDDIに関する、その環境内のこ
の発明の理解を得るのに役に立ついくつかの背景情報が
今与えられる。
【0037】「ファイバ分布されたデータインタフェー
ス」(FDDI)は、光ファイバ構成要素およびシステ
ムに基づき、かつ米国規格協会(ANSI)(Amer
ican National Standard In
stitute)X3T9 .5委員会により開発され、
二重の反回転物理的リングを実現する毎秒ごとに100
メガビットの時間決めされたトークンプロトコルを規定
する。図1は様々な局型からなるFDDIリングの単純
化されたブロック図である。クラスA局は、時には「二
重取付け局」と呼ばれるが、ネットワークの1次のおよ
び2次のリングの両方に接続される。矢で示されている
ようにデータは2つのリング上に反対方向で流れる。ク
ラスA局はワイヤリングコンセントレータとして作用
し、いくつかの単一の取付け、またはクラスB局をリン
グに接続するのに役立つことができる。図1において局
2は局3、4および5のためのワイヤリングコンセント
レータであり、コンセントレータはネットワークアドミ
ニストレイターに多数の局のための単一の保守点を与え
る。局の間を転送されるデータはフレームされたパケッ
トの形状である。
【0038】FDDIパケットのフォーマットは図2に
おいて示される。パケットは最小の16アイドル制御記
号(プリアンブル)によって先行される。パケットは技
術においてよく知られた4B/5BコードのJおよびK
制御記号からなる開始区切り記号(SD)で始まる。こ
れにはパケットの型を表わす2つのデータ記号フレーム
制御(FC)フィールドが続く。行き先アドレス(D
A)はパケットの意図された受領者を表わす。同様に、
出所アドレス(SA)はパケットの送り主を表わす。ア
ドレスは長さにおいて26かまたは48のビットのどち
らかになり得る。DAフィールドはリング上の単一の
局、局のグループ、またはすべての局を指し得る。
【0039】SAに続いて可変長情報フィールドがく
る。フレーム検査シーケンス(FCS)フィールドは4
バイトのデータを含む。これらのデータは32ビットオ
ートディン(Autodin)II巡回冗長検査多項式
の結果である。FCSはFC、DA、SA、INFOお
よびPCSフィールドのデータ完全性を確実にする。
【0040】FCSフィールドに続き、T記号で形成さ
れた終了区切り記号(ED)が伝送される。フレーム状
態(FS)フィールドはパケットがエラーを有して受信
されたかどうか、アドレスが認識されたかどうか、また
はパケットが複写されたかどうかを決定する記号のため
に使用される。
【0041】パケットは最初の局によってFDDIから
取り除かれる。「ストリッピング」と呼ばれかつ図3
(a)および3(b)において示されるこのプロセスで
は、媒体アクセスコントローラ(MAC)20はリング
上の伝送のためIDLE制御記号の源を選択する。開始
区切り記号が到着したとき、コントローラは繰返し径路
に切換える。パケットはモニタされ、もし必要ならば複
写されかつ同時に繰返される。媒体アクセスコントロー
ラ20はまたそれ自身のパケットをソース動作に切換え
るかまたはトークンを出すかすることができる。
【0042】トークンパッシングにおいては局はそれを
受け取った局に伝送する権利を渡す特殊ビットパターン
である「トークン」を循環することによって媒体上を伝
送する権利を分配し、伝送したいと思う局はそれがトー
クンパッシング順序で前の局からトークンを受け取るま
で待機する。局がトークンを受け取ったとき、それはそ
のデータを伝送し、それからトークンを次の局に渡す。
【0043】伝送するために待機しているFDDI局は
まずストリッピング動作を達成することによってトーク
ンを「つかまえ」なければならない。トークンSDフィ
ールドだけがリング上で繰返される。一旦トークンがつ
かまえられると、局はパケットを伝送し始めることがで
きる。最後のパケットが送られたとき、局は新しいトー
クンを出すことによってすぐに続かなければならない。
【0044】トークンをつかまえるための規則およびデ
ータ伝送のために割り当てられた時間の量は、FDDI
仕様書において規定された「時間決めされたトークンプ
ロトコル」によって支配され、かつそれは上記の引用に
より援用される同時係属出願(3)において要約され
る。プロトコルは初期設定上のクレームプロセスの間の
局間の送信権要求プロセスにおいて決定された最大トー
クン回転時間(TRT)を保証するように設計される。
送信権要求プロセスはトークンの到着の間の最も早い時
間を必要とする局がリングに対する目標トークン回転時
間(TTRT)を規定することを許容する。
【0045】時間決めされたトークンプロトコルは2つ
の型の伝送サービス、すなわち同期サービスおよび非同
期サービスを提供する。局は同期サービスでは各トーク
ン回転上に伝送帯域の予め定められた量を与えられ、残
りのリング帯域は非同期サービスを使用して局間で共有
される。局はトークンサービスが予期されていたよりも
早く到着したとき非同期伝送を送ることを許容される。
非同期伝送のために割り当てられた時間の量はトークン
による実際の到着の時間と予期されたトークンの到着時
間との間の差に制限される。非同期伝送のための帯域の
割当は動的であり、同期伝送のためのいかなる使用され
ない帯域もトークン回転上の非同期伝送のために自動的
に再割当される。
【0046】
【FDDI、インタフェース回路実現化例】図4を参照
すると、この発明の好ましい実施例に従ってFDDIイ
ンタフェースにおいて116として包括的に示されてい
るマスタバスアーキテクチャが光ファイバ媒体の形状で
システムまたは使用者、バスとネットワークとの間に設
けられる。バスマスタアーキテクチャ116の主な構成
要素は、コントローラ120からデータフレームを受信
しかつデータを並列から直列のフォーマットに変換する
前にフレームの適当なコード化を達成するエンコーダ/
デコーダ(ENDEC)132を通り媒体にアクセスす
るための、かつFDDI要求を満足させるために他の
「ハウスキーピング」機能を実施するための媒体アクセ
スコントローラ(MAC)120を含む。ネットワーク
DMA(ダイレクトメモリアクセス)コントローラ12
4は、システムバス上のホストおよびノードプロセッサ
メモリ(図示せず)と、ネットワークDMAコントロー
ラと媒体アクセスコントローラとの間に接続される少な
くとも1つのFIFO(先入れ先出し)メモリを有する
ように構成される出力バッファ126との間のデータの
転送を制御する。媒体アクセスコントローラ120は、
フレームストリッピング、誤り検査およびバスアービト
レーションのようなどのような必要とされるハウスキー
ピング機能をも実施しながらフレームのデータを受信し
かつ伝送し、適切なネットワークアクセスプロトコルを
実現する。ネットワークDMAコントローラ124はフ
ロントエンドバスマスターとして動作し、システムメモ
リおよびバッファから、および、間にデータを分散かつ
収集するためにホストまたはノードプロセッサと通信
し、一方メモリにおけるデータの移動を最小にする。
【0047】媒体アクセスコントローラ120はデータ
バス134およびアドレスバス136を通りバッファメ
モリ126に、かつデータバス134を通りネットワー
クDMAコントローラ124にインタフェースされる。
ハンドシェイクは媒体へおよびからのデータの移動を制
御するためにバス140上でコントローラ124および
120の間で実施される。コントローラ120は、図5
において示されるが、これ以降詳細に説明される 。
【0048】ネットワークDMAコントローラ124は
共有されるデータバス144ならびにアドレスおよび制
御バス146、148を含むホストバス142上に存す
る。ネットワークDMAコントローラ124に対する制
御信号はバス要求および肯定応答線150a、b上でホ
ストおよびノードバス143a、bにインタフェースさ
れる。媒体アクセスおよびネットワークDMAコントロ
ーラ120および124は、出力バッファメモリ126
とともに、図示されいてる様々なバス上でネットワーク
インタフェース動作を実施するために共働し、それは上
記の同時係属出願(1)においてより詳細に説明され、
それはここに引用により援用される。
【0049】図6のブロック図を参照すると、出力バッ
ファ126(図7)は、媒体から受信されたデータの待
ち行列を含む受信FIFO175、および媒体へ供給さ
れるべきデータの待ち行列を各々含む少なくとも1つ
の、しかし好ましくは4つの伝送FIFO177を有す
るように構成される。図7において示される4つの待ち
行列は1つの同期待ち行列およびFDDI仕様書に従っ
た3つの異なった割り当てられた優先順位を有するデー
タを含む待ち行列を表わす。出力バッファ126は、そ
れは好ましくはスタティックランダムアクセスメモリ
(SRAM)であるが、ファームウェアによって、異な
った優先度のデータ待ち行列を各々含む4つのFIFO
を有するようにプログラム化され、具体的には各FIF
Oは後に詳細に記述されるように「ディスクリプタ」を
使用してシステムメモリ内のバッファ領域と定義され
る。
【0050】媒体から受信されたデータはネットワーク
DMAコントローラ124によってリンクリスト待ち行
列178を通りシステムメモリに供給されかつ同様に、
データは同期のものおよび3つの非同期優先順位に一致
するリンクリスト待ち行列180を介してシステムメモ
リから媒体に伝送される。
【0051】出力バッファ126に関するいかなる動作
の前に、ノードプロセッサはすべての待ち行列の終了ア
ドレスをバッファの中にロードしなければならない。待
ち行列ポインタは図7において示される順序にあり、す
なわちポインタはまず特殊なフレーム領域の終了を、そ
れから受信待ち行列を、次に同期待ち行列に3つの優先
順位を有する非同期待ち行列が続くという順序で伝送待
ち行列を規定する。ノードプロセッサによってまたプロ
グラムされるのは、すべての使用される待ち行列の読出
/書込ポインタであり、それは図7の右側の行において
示されており、終了アドレスポインタは図の左側の行に
おいて示されている。
【0052】より具体的には、図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ポインタを表わし、それぞれの待ち行列の末尾にあ
る。
【0053】SHADOW WRITEポインタ(SW
P)は待ち行列に最も最近ストアされたフレームの終了
を指す。SHADOW WRITEポインタ(SWP)
の機能および図7において示されている他のポインタに
対するその関係は引用より援用される同時係属出願
(2)に、詳細において論じられている。
【0054】ネットワークアクセスおよびネットワーク
DMAコントローラ120、124がバッファメモリ1
26とともに図示されている様々なバス上でネットワー
クインタフェース動作を実施するためにどのように共動
するかはこれ以降記述されるであろう。さしあたり、イ
ンタフェースの主たる構成要素、すなわちネットワーク
DMAコントローラ124、媒体アクセスコントローラ
120および出力バッファ126のより詳細な説明が次
に与えられるであろう。
【0055】
【ネットワークDMAコントローラ124】ネットワー
ク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)において記述されているバ
ッファおいてストアされる完全なフレームかまたは少な
くとも予め定められた量の伝送データかの少なくともど
ちらかを含む他の条件が満たされたとき実施される。
【0056】パケットバッファ管理回路156は媒体ア
クセスコントローラ120にどの型のデータが伝送セク
ションに存在するかを示し、そのためFIFO仕様書に
従ってデータの優先度に依存して適当な待ち行列にバッ
ファメモリをロードする。もし待ち行列がいっぱいにな
れば、インタフェース150はパケットバッファ管理回
路156に現在のFIFOを空にすること終えるために
かつその待ち行列をロックし、かつその待ち行列をロッ
クするように信号を送る。もし転送が不完全であれば、
回路156は、インタフェース150が待ち行列がアン
ロックされたという信号を送るまで他の未済の移転を続
ける。そのときにはいずれの中断された移転も続けられ
る。もし伝送および受信データが同時にセクション15
2および154におけるFIFOから要求されれば、イ
ンタフェース150は予め定められた伝送および受信優
先度順序に従って事象のシーケンスに基づきこれらの転
送を優先順位付ける。
【0057】パケットバッファ管理回路156はコマン
ド語コードをデコードし、伝送し、明らかな誤りコマン
ドを要求し、かつシステムメモリインタフェース160
と伝送セクション152に適当な情報を送る。パケット
バッファ管理回路156はコマンド要求、FIFO15
2からの伝送要求、かつFIFO154からの受信要求
を優先順位付ける。それから管理回路156は伝送また
は受信のどちらかを許可するかまたはコマンドのうちの
1つを処理するためにコマンドをシステムメモリインタ
フェース160に出し、かつCPUインタフェース16
1を介してシステムに対してインタフェースされる。
【0058】伝送セクション152はすべての伝送待ち
行列を維持しかつ予め定められた優先度で動作を優先順
位付ける。FIFO152はバイト順序付けおよびデー
タ収集を実施し、かつ媒体アクセスコントローラ120
によって処理されるためにFIFO指向のパケットにデ
ータをフォーマットする。伝送セクション152におけ
る様々な伝送待ち行列は制御され、そのためバッファメ
モリ126が待ち行列を満たしたとき、待ち行列切換え
が実施される。ロックされた待ち行列のためのすべての
必要な情報はストアされ、そのため動作は待ち行列がア
ンロックされたとき再開され得る。伝送セクション15
2において含まれるFIFOはまたシステムメモリイン
タフェース160およびネットワークアクセス制御イン
タフェース150の間のデータバッファリングおよび速
度適合のためにも使用される。バッファリングはネット
ワークDMAコントローラ138において必要とされ、
なぜならシステムメモリバス上およびネットワーク上の
データ移転速度が独立しているからである。
【0059】受信セクション154は出力バッファメモ
リ126からFIFO指向のフレームを受信し、かつそ
れらをシステムメモリ内の受信バッファの中に分散す
る。受信バッファはディスクリプタ・リングによって指
される。セクション154はさらに、伝送FIFO15
2と同じ態様でネットワークとシステムメモリとの間の
速度適合を与えるためにFIFOを含む。
【0060】システムメモリインタフェース(SMI)
160はシステムメモリに対する高速プログラマブルバ
スインタフェース、アドレス生成回路および記憶装置を
含む。インタフェース160はまたシステムメモリにお
けるバッファ管理のためのリングの端部検出回路、およ
びシステムメモリインタフェースのための一次制御状態
機械もまた含む。
【0061】線163においてシステムメモリインタフ
ェース160からシステムに供給される信号はシステム
クロックSCLK(図示せず)と同期である。これらの
信号は外部のアービター(図示せず)からの1つのシス
テムメモリのアクセスを要求する。別の信号はネットワ
ークDMAコントローラ124にシステムメモリにアク
セスする権利を与える。SMI160の出力におけるア
ドレスバスはすべてのシステムメモリアクセスをアドレ
スし、かつシステムメモリ読出し/書込線は、データが
システムメモリからコントローラ124に、またはコン
トローラからシステムメモリに、転送されているのかど
うかを示す。SMI160の出力における他の信号はシ
ステムメモリの状態を示し、エラーを示し、かつシステ
ムメモリに対する読出と書込との間のバスコンテンショ
ンを防ぐために外部のデータバッファを能動化または不
能化する。別のSMI信号はSMIにおけるラッチを、
書込動作のために、システムメモリにデータをラッチす
るように活性化する。
【0062】CPUインタフェース161における信号
線は、ネットワークDMAコントローラ124がメモリ
からのコマンドを読出さなければならないということを
示しかつコントローラにメモリアクセスを実施するよう
指示する信号を含む。別の線はCPUにネットワークD
MAコントローラがメモリにおいて新しい状態語を書込
んだことを信号で送り、かつ別のものは割り込みをデア
サート(deassert)する。
【0063】インタフェース150の出力においては、
媒体アクセスコントローラ120を介してバッファメモ
リ126にアクセスするコード化された要求を含むホス
ト要求バスがある。ホスト要求バス上で搬送されるコー
ドに依存して、バッファメモリ126は4つの伝送待ち
行列のいずれかにおいてデータを読出すかまたはデータ
を書込むためにアクセスされる。読出要求はバッファ1
26から受信パケットを検索し、かつそれらをシステム
メモリにおいてストアする。書込要求は伝送のためバッ
ファメモリの中にパケットを転送する。インタフェース
150の出力においてはまた、ネットワークDMAコン
トローラ124の現在の書込または読出要求が媒体アク
セスコントローラ120によって許可されていることを
示す信号を搬送するホスト肯定応答線がある。この信号
とともに、バッファメモリ126は能動化され、かつデ
ータは、これ以降に記述される(図15)データバス、
データパリティバスおよびデータタグバス上に存在す
る。インタフェースはまた、媒体アクセスコントローラ
120がバッファメモリ126からDMAコントローラ
の中にデータを読出すときネットワークDMAコントロ
ーラ124の中にデータをラッチするために読出出力を
与える。受信データ線は、受信データがバッファ126
に存在し、かつシステムメモリに転送される用意ができ
ていることを示す。これ以降に記述される他の線は、バ
ッファ126における現在アクセスされている伝送待ち
行列の状態を示す。
【0064】この発明の1つの局面に従って、ネットワ
ーク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)の一方または他方にデータが書
込まれるか、または、一方または他方から読出される。
【0065】図16(a)および16(b)のアーキテ
クチャは、別個のノードプロセッサおよびホストメモリ
125(a)、125(b)を有し、有利であり、なぜ
ならそれは伝送フレームがネットワークへの伝送のため
2つの物理メモリから収集されることを可能にするから
である。これは、ノードプロセッサがプロトコル処理を
達成し、一方ホストプロセッサがデータを供給する状態
で、ディスクリプタを使用したデータ操作が能率的に実
施されることを可能にする。たとえば、図16(b)に
おいては、これ以降に詳細に説明される発明の1つの局
面に従って、ヘッダ情報はノードプロセッサ(NP)メ
モリ125(a)から読まれてもよく、かつデータの付
加的な複写を避けるためにデータはホストメモリ125
(b)から読まれてもよい。ネットワークDMAコント
ローラ124は2つのメモリが要求/許可信号の2つの
組を使用する状態で、「ハンドシェイク」によってこの
機能を達成する。
【0066】図16(b)では、ヘッダ要求−許可(H
BREQ/HBGRT)対がNPメモリ125(a)に
アクセスするために使用され、かつデータ要求−許可
(DBREQ/DBGRT)対はホストメモリ125
(b)にアクセスする。この例においては、ヘッダデー
タは、ディスクリプタ・リングとともに、ノードプロセ
ッサメモリ125(a)にストアされ、データだけがホ
ストメモリ125(b)にストアされる。2つのメモリ
のヘッダおよびデータはNPメモリ125(a)におい
てストアされているディスクリプタ・リングDRによっ
て規定されたバッファにある。
【0067】同様に、ネットワークDMAコントローラ
124は2つの別個のディスクリプタ・リングによって
規定されたバッファにおいて受信データフレームをスト
アすることができる。これは余分の複写の必要なしで受
信されたデータの2つの物理ロケーションの中への直接
転送を可能にする。たとえば、受信データフレームのた
めのヘッダおよびディスクリプタはNPメモリ125
(a)でストアされてもよく、受信データはホストメモ
リ125(b)でストアされてもよい。
【0068】NPメモリ125(a)にアクセスするた
めに、ネットワーク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)は許可信号を発生しないだろうし、かつアクセス
はホストメモリに対して能動化されないであろう。
【0069】他方では、アクセスがホストメモリ125
(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との間に確立される。
【0070】図16(b)においてDRで表わされる型
のディスクリプタ・リングはデータをストアするための
メモリの指定された領域におけるバッファを表わすため
のよく知られた技術の実現化例である。図20に示され
ているディスクリプタは2つのロングワードLW1およ
びLW2を含む。ワードLW1はメモリにおいて規定さ
れるバッファの状態および長さを含み、ワードLW2は
バッファの開始アドレスを指すポインタである。伝送お
よび受信ディスクリプタの構造は互いに類似している。
【0071】各ディスクリプタの状態部分はバッファに
おいてストアされているデータのパケットの状態と同様
にデータバッファの状態を反映する。もし受信パケット
が1つのバッファより多くを必要とすれば、パケットの
状態はそのパケットの最後のバッファディスクリプタに
おいてのみ考慮される。
【0072】バッファ状態ビットは、このエントリがD
MAコントローラ124が使用するための有効なエント
リであること、およびDMAコントローラがディスクリ
プタを「所有する」ことを表わすホストプロセッサによ
って設定されたOWNビットを含む。ネットワークDM
Aコントローラ124がデータの指定されたバッファへ
の転送を完了したとき、それはOWNビットをリセット
し、かつそのバッファの所有権をホストプロセッサに放
つ。このビットはすべてのディスクリプタについて有効
である。
【0073】設定されたときパケットの終了(EOP)
ビットはパケットの最後のバッファを示す。もしパケッ
トが1つのバッファだけに存すれば、このビットはその
ディスクリプタに対して設定されねばならない。もしビ
ットがローであれば、パケットは次のバッファに続く。
【0074】ABORTビットは、もし設定されれば、
このパケットは完全なパケットでないことを示す。伝送
ディスクリプタのEOPビットはプロセッサによっての
み制御され、かつすべてのディスクリプタについて有効
である。受信されたディスクリプタのEOPビットはE
OPビットが1に設定された状態でバッファ126につ
いてのみ有効であり、かつネットワークDMAコントロ
ーラ124によって制御される。
【0075】バッファの他の特徴を記述するために実現
されてもよい他の状態ビットは簡潔さのために省かれ
る。
【0076】一連のバッファは図16のディスクリプタ
・リングDRによって記述され、図21においてより詳
細に示される。この例では、バッファBはシステムメモ
リにおいてアドレスAn で始まり、かつ長さAm を有し
アドレスAn + m に及ぶ。バッファBの場所はディスク
リプタDRと同じ物理メモリの中であってもよいが必ず
しもそうではない。伝送においては、ディスクリプタD
Rはホストおよびノードプロセッサメモリ125
(a)、125(b)に独立して存することができる。
受信においてはディスクリプタおよび対応するバッファ
は同じメモリに存する。
【0077】伝送データはどちらかのメモリに存しても
よいディスクリプタ・リング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)において分布されてもよい。
【0078】たとえば、1000バイトのデータがネッ
トワークへ伝送されるべきであると仮定せよ。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のヘッダ
を指すであろう。
【0079】伝送に対する要求のときに、ホストプロセ
ッサは伝送ディスクリプタを設立し、かつディスクリプ
タの状態フィールドにOWNビットを設定する。プロセ
ッサはそれからネットワークDMAコントローラ124
に伝送するための命令を供給する。コントローラ124
はディスクリプタを取出し、対応するバッファを見つ
け、データを内部のFIFOに読出し、かつデータをバ
ッファメモリ126に転送する。このプロセスは、コン
トローラ124がパケットの終了に到達したことを示す
設定されたEOPビットを有するディスクリプタに到達
するまで続く。このとき、コントローラ124は、図1
1において示されているように、パケットの最後の語上
にかつバッファメモリにおいてパケットに続く状態語に
タグビットを設定する。
【0080】ネットワークDMAコントローラ124は
ディスクリプタのOWNビットがリセットされるまで、
リングからディスクリプタを読出し続けるであろう。そ
のとき、コントローラ124はホストプロセッサによっ
て新しい伝送のための命令が与えられるまでリングから
の読出を止めるであろう。ネットワークへの伝送のため
データが2つの物理メモリ125(a)、125(b)
から収集されると、REQ/GNT信号対によってメモ
リとネットワークDMAコントローラ124との間のハ
ンドシェイクは、前に記述されたように、適切なメモリ
にアクセスする。
【0081】データの各優先度に対して別個のディスク
リプタ・リングがある。この例では、4つの別個のディ
スクリプタ・リングが利用され、1つは同期のためであ
りかつ3つは非同期の優先度0−2のためである。しか
しながらあり得るディスクリプタ・リングの数は任意で
ある。伝送データバッファの2つの物理メモリにおける
場所はまた任意であり、それ自身は2つのメモリのうち
のどちらか1つでストアされ得るディスクリプタ・リン
グの制御下で収集される。これはストアされたデータを
実際複写および移動することなくフレームの任意のアセ
ンブリを可能にする。2つのメモリの一方または他方に
ある各バッファの場所は各ディスクリプタの状態ビット
ととしてコード化される。したがって、ネットワークD
MAコントローラ124は2つの物理メモリの、すなわ
ちノードプロセッサメモリまたはホストメモリのどちら
がバッファを含むか決定することができる。
【0082】受信バッファの確立された場所はより複雑
である。伝送パケットの長さは共通でかつ知られてお
り、かつメモリにおけるそれらの場所もまた知られてい
るが、受信パケットは長さにおいて可変であり得、かつ
場所は受信パケットがネットワークから到着したとき動
的に規定されねばならない。ネットワークDMA制御1
24は、ディスクリプタ・リングを使用して、システム
メモリ全体にわたり自由なバッファのプールを確立す
る。パケットが受信されたとき、コントローラは受信さ
れたデータをストアするために自由なバッファを見つけ
かつ配列し、かつ各パケットに相関するディスクリプタ
に従ってパケットをバッファに指定する。
【0083】システムメモリにおける空のバッファは、
データが到着しかつ媒体アクセスコントローラ120に
よって受入れられたとき受信データで満たすことを始め
る。バッファが満たされると、ネットワークDMAコン
トローラ124はパケットの終了がそのEOPビットに
よって検出されるまで次のバッファなどの場所を示すた
めにディスクリプタ・リングにアクセスする。新しいパ
ケットは到着したとき、自由なバッファプールにおける
対応するディスクリプタ・リングによって指定された自
由なバッファは満たすことを始める。
【0084】受信されたパケットを別個のディスクリプ
タ・リングを使用して異なったバッファにストアするこ
とはいくつかの状況下で有利である。たとえば、受信さ
れたデータの第1および第2の部分はこの発明によって
2つの別個のディスクリプタ・リングに分散され得る。
第1のディスクリプタ・リングはフレームの第1の部分
を受信し、それは通常少なくともヘッダの一部分を含む
であろうし、かつフレームの残りは第2のディスクリプ
タに付与されるであろう。フレームのヘッダおよびデー
タ部分を分離することはヘッダが異なったデータ間で便
利に共有されることを可能にする。
【0085】好ましくは、第1のディスクリプタ・リン
グの各ディスクリプタは第2のリングのディスクリプタ
によって規定されるものよりも著しく小さいバッファ長
を規定するであろう。好ましい実施例では、第1のリン
グによって規定される各バッファの長さは受信されるこ
とを予期される最も大きいヘッダの長さに等しいかわず
かに大きくされるであろう。
【0086】共通のフレームの対応する部分は各バッフ
ァに同じフレームに属するデータまたはヘッダを含むバ
ッファの識別としてビットの番号を割り当てることによ
って互いに「同期化」される。
【0087】プロセッサがヘッダ/データ分割を実施す
るようにプログラムされているとき、2つの受信ディス
クリプタ・リングは対として動作する。図23を参照し
て、もし入来データがディスクリプタ・リング1に付与
されるべきであり、かつヘッダ/データ分割が実施され
るべきであれば、ディスクリプタ・リング1によって指
名された第1の受信バッファは受信パケットで満たされ
る。もしバッファが満たされ、しかしパケットが終了し
ていなければ、コントローラ124は第2のディスクリ
プタ・リングに切換えかつそのリングによって規定され
たバッファにパケットの残りをストアする。第1のディ
スクリプタは各フレームの第1のバッファを規定し、一
方第2のリングはフレームの残りをストアするバッファ
を規定する。一方、2つの物理メモリ125(a)、1
25(b)に対するヘッダおよびデータのアクセスは、
図16(b)によって示されているようにコントローラ
124でハンドシェイクを使用して実施される。
【0088】同じフレームのヘッダおよびデータ部分は
受信ディスクリプタの状態フィールドにおけるフレーム
識別ビットによって互いに相関する。フレーム番号ビッ
トは好ましくは第1および第2の受信リングにおいて各
受信されたパケットに対してモジュロ8番号を表わす。
連続するパケットは連続する番号を有し、かつ1つのパ
ケットのすべてのディスクリプタは同じ番号を有し、す
なわち第1の受信リングにおけるヘッドバッファおよび
第2の受信リングにおけるデータバッファはすべて同じ
フレーム番号を有する。これは2つの受信リングにおい
て同じフレームのヘッダおよびデータを含むディスクリ
プタの相関関係を単純化する。
【0089】この発明の別の局面に従って、受信パケッ
トは各パケットの特徴に基づきシステムメモリ内の特定
のディスクリプタ・リングに分散される。FDDIにお
いては、パケット特徴は図2において示されているFC
フィールドにおけるデータによって規定されてもよい。
図25を参照して、もし入来パケットのFCフィールド
が第1のディスクリプタ・リングの特徴に整合すれば、
パケットはそのリングの第1のディスクリプタによって
指されたバッファにストアされる。もしパケットが第1
のバッファの容量を越えれば、それは同じリングの第2
のディスクリプタによって指された第2のバッファを満
たすことを始める。
【0090】次のパケット(パケット2)がディスクリ
プタ・リング2に整合するFCフィールドを有し、かつ
パケットのサイズが第1のバッファの容量よりわずかに
小さいと仮定せよ。パケット2は図25に示されている
ようにリング2の第1のバッファを部分的に満たす。受
信データの第3のパケットはディスクリプタ・リング1
に対応するFCフィールドを有し、かつディスクリプタ
・リング1におけるディスクリプタ3によって指された
次の利用可能なバッファにストアされる。第4の受信パ
ケットはディスクリプタ・リング2に対応するFCフィ
ールドを含み、かつ示されているように第2のリングに
よって指された次の利用可能なバッファにストアされ
る。フレームの型に基づいた受信されたパケットの記憶
は図26においてより詳細に示されている。ディスクリ
プタおよび受信データの記憶のための物理メモリの選択
は、以前に記述されたように、コントローラ124との
ハンドシェイクによって実施される。
【0091】ある状況下では、パケットが向けられた受
信リングがブロックされるようになるかもしれない。1
つの例は、リングがいっぱいでかつ対応するバッファに
記憶のために付加的なデータを受信することができない
ときである。別の例はそのディスクリプタに対してパリ
ティエラーが存在するときである。いずれの場合におい
ても、ネットワークDMAコントローラ124の動作の
「正規」モードでは、受信径路にあるすべての次のパケ
ットはブロックの原因が取り除かれるまでブロックされ
るであろう。この動作のモードは、ブロックされたリン
グがクリアされるまで受信待ち行列にあるパケットを受
信するための大きいバッファメモリが累積され得ること
仮定する。この発明の別の局面に従って、「ブロックさ
れた受信における放棄」(“discard on b
locked receive”)モードがあり、そこ
ではブロックされた受信リングに付与されるべきパケッ
トは放棄されるであろうし、かつ次のパケットはそれら
のそれぞれの受信待ち行列に流れることを許容される。
このモードはネットワークDMAコントローラにおいて
小さいバッファメモリ(FIFO)が使用されていると
き有用である。
【0092】「ブロックされた受信における放棄」
(“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つに供給するよりもむ
しろ放棄されるように再径路付ける。
【0093】ネットワークDMAコントローラ124の
動作の正規モードでは、ブロックされたディスクリプタ
・リングのコントローラによる検出のときには、入来パ
ケットはFIFO124に累積し続けるであろう。前述
のように、累積はFIFO154が比較的大きい場合だ
け容認できる。コントローラ124の動作の正規モード
はもし大きいFIFO154が利用可能であれば、受信
データが失われないであろうから有利である。
【0094】他方では、図27において示されている動
作のブロックされた受信上における放棄モードは、もし
比較的小さいFIFOがシステムで実現されれば、FI
FO154は決してブロックされないので有利である。
これは入来パケットがブロックされていないディスクリ
プタ・リングに付与され続けることを可能にする。
【0095】
【媒体アクセスコントローラ120】媒体アクセスコン
トローラ120は、図5においてより詳細に示され、F
DDI MACプロトコルを取り扱うためにコア媒体ア
クセス制御(MAC)162を含む。MAC162のデ
ータI/Oポートは伝送および受信FIFO164およ
び166に接続される。ネットワークから受信されたデ
ータは受信FIFO166によって外部のバッファメモ
リ126に供給され、外部のバッファからネットワーク
へ供給されるべきデータは伝送FIFO164にストア
される。FIFO制御回路168はメモリアービター1
70によってなされるメモリアービトレーション決定に
基づき伝送および受信FIFO164および166のロ
ーディングおよびアンローディングを調整する。
【0096】アドレス生成器172は、ネットワークか
またはノードプロセッサのどちらがバッファメモリにア
クセスできるかを決定するアービターのアクセス決定に
基づいてアドレスバス136に要求される外部のバッフ
ァメモリアドレスを供給する。ノードプロセッサインタ
フェース174は、そのデータ入力がゲート173を介
してアドレス生成器177によって制御されているが、
ノードプロセッサからの命令をデコードし、チップ状態
を収集し、かつコントローラ124全体にわたり制御情
報を分布する。
【0097】伝送および受信FIFO164および16
6は、媒体アクセスコントローラ120とオンチップで
ネットワークDMAコントローラ124の伝送および受
信セクション152および154に類似する態様で、シ
ステムバスのレーテンシーおよびバースト長に主に依存
して多数のデータパケットをストアする。
【0098】
【バッファメモリ126】出力バッファメモリ126
は、図6に包括的にかつ図7でより詳細に示され、ネッ
トワークから受信されたデータの待ち行列を含む受信F
IFO175およびネットワークへ供給されるデータの
待ち行列を各々含む少なくとも1つの、しかし好ましく
は4つの伝送FIFO177を有するように構成されて
いる。4つの待ち行列は図7で示され、前述されてお
り、1つの同期待ち行列およびFDDI仕様書に従って
データの3つの非同期優先順位を含む待ち行列を表わ
す。どのようにデータ優先度が互いに相関しかつネット
ワークに供給されるかは上記の引用によりここに援用さ
れる同時係属出願(3)および(4)に詳しく述べられ
ている。
【0099】伝送フレームのフォーマットは、図9にお
いて示され、ビット位置0ないし31におけるデータお
よびタグビットから成り、ディスクリプタ語が続く。デ
ィスクリプタ語と同様に各フレームの最後の語はフレー
ムの終了を画定する「1」に設定されたタグビットを有
する。伝送されるべきパケットはホストまたはノードプ
ロセッサによってシステムメモリにおいて設立される。
READ、SHADOW WRITE、WRITEおよ
びEND OF ADDRESS ポインタは示されて
いるように位置決めされる。
【0100】
【バッファメモリにおける伝送フレームのローディン
グ】伝送手順は図10において外観で示されている。ス
テップ182でのシステムメモリにおけるデータの設立
に続き、上記の同時係属出願(4)に従って、もし出力
バッファ126における現在の伝送待ち行列が「ほとん
どいっぱい」でないと判断されれば、ネットワークDM
Aコントローラ124は図8で示されるようにシステム
メモリからその内部の伝送FIFO152にデータを転
送する(ステップ184)。データは次に伝送FIFO
152から(外部の)出力バッファメモリ126に転送
される(ステップ186)。
【0101】より具体的には、図9において示されてい
る伝送フレームは媒体アクセスコントローラ120の制
御下でホストおよびネットワークDMAコントローラ1
24によってバッファメモリ126にロードされる。こ
れは、特定の要求されている待ち行列に基づいてコード
化された、ネットワークDMAコントローラ124によ
るバッファ126にデータを書込む要求に応答して実施
される。パケットは好ましくは、バッファがネットワー
クへの伝送のためアンロードされているのと同時にバッ
ファ126にロードされ、そのためバス利用能率を最大
にしかつレーテンシーを最小にし、かつオーバーランま
たはアンダーラン状態を避けるが、このことは以下で図
10に関連して述べられる。
【0102】
【バッファメモリからの伝送フレームのアンローディン
グ】フレームがバッファメモリ126にロードされた
後、媒体アクセスコントローラ120によって全部のフ
レームがロードされたことかまたはメモリの中に書込ま
れたフレームの語の数が伝送しきい値を越えることのど
ちらかが確認されたとき、フレームはネットワークへの
伝送に対しての用意ができている。
【0103】ネットワークへの伝送がシステムにとって
利用可能であるとき、すなわちFDDIネットワーク上
のトークンが待ち行列を伝送するためにつかまえられ、
かつその待ち行列のための伝送条件が満たされたとき、
伝送は始まり、かつフレームは論理「1」タグ−ビット
によって特徴付けられるフレームの終了に遭遇するまで
媒体アクセスコントローラ120によって読出される。
このとき、データのフレームはバッファが空になる前に
次の伝送のためにバッファの中にすでに読出されてい
る。すなわち、伝送が進行中の間およびフレームの完全
な伝送の後、もし完全なフレームがバッファにあれば、
またはもしバッファの内容が伝送しきい値を越えれば、
媒体アクセスコントローラ120はより多くのデータを
伝送のためFIFOの選択された待ち行列からそのオン
チップの伝送FIFO164に取出す。もしどちらの条
件も満たされなければ、媒体アクセスコントローラ12
0は伝送のため優先順位で他の待ち行列をチェックす
る。
【0104】待ち行列からの伝送は待ち行列が空にされ
たとき完了する。しかしながら、もし伝送FIFO16
4がフレームの途中で空になれは、アンダーラン状態が
伴い、かつ現在のフレームは打ち切られる。
【0105】少なくとも1つの完全なフレームまたは少
なくとも予め定められた量の伝送データがバッファ12
6にあるとき、システムからネットワークへのデータの
伝送がどのように実施されるかは同時係属出願(2)に
おいてより詳細に説明されている。
【0106】バッファメモリにおいてストアされている
伝送データの待ち行列は図11で示されているフォーマ
ットを有し、そこにおいて各フレームはタグビット
「0」によって特徴付けられたロングワードおよびタグ
ビット「1」によって特徴付けられた最後のロングワー
ドを含む。パケットの最後の語に続くのはタグビット
「1」によってまた特徴付けられる状態語である。状態
語は、多数個の予め定められたビット、データの最後の
語がどのバイト境界で終わるかを規定するビット、ネッ
トワークDMAコントローラがシステムメモリから得た
状態から複写されたビット、およびパケットがエラーを
含みかつ打ち切られるべきかどうかを示すビットを含む
パケットの状態と同様にデータバッファの状態を反映す
る。
【0107】
【バッファメモリにおける受信パケットのローディン
グ】フレームされたパケットの受信は、図12において
外観でしめされ、外部のバッファメモリ126における
記憶のため媒体アクセスコントローラ120によるデー
タパケットの受信(ステップ190)、およびネットワ
ークDMAコントローラ124の内部の受信FIFO1
54へのバッファからのパケットデータの転送(ステッ
プ192)を必要とする。バッファメモリ126におい
てストアされた受信フレームのフォーマットは図13に
おいて示されている。
【0108】ネットワークから受信され媒体アクセスコ
ントローラ120によってバッファメモリ126にスト
アされているパケットは図14で示されている態様でメ
モリ内に配列されている。バッファメモリ内の受信パケ
ットは切れ目なく連続してストアされ、バッファメモリ
受信領域が円形の待ち行列の形状を有することを引き起
こす。各パケットの終りには、媒体アクセスコントロー
ラ120がパケットの状態をストアする。タグビットは
データに対しては0に設定されかつ状態語を識別するた
めに1に設定される。
【0109】
【バッファメモリからの受信フレームのアンローディン
グ】バッファ126にストアされたデータの量が受信し
きい値を越えたとき、ネットワークDMAコントローラ
124はパケットデータをホストまたはノードプロセッ
サによって処理されるために内部の受信FIFO154
からシステムメモリへ転送する。これは、ネットワーク
DMAコントローラ124にデータをバッファメモリ1
26からシステムメモリに転送するよう命令する媒体ア
クセスコントローラ120によって制御される。これは
バッファメモリ内の語の数がプログラム化された受信し
きい値を越えたとき起こる。フレーム受信の間の受信バ
ッファ待ち行列のいかなるオーバフロー状態も状態語に
よって、フレームが追い出されるべきであることを示さ
れる。
【0110】少なくとも予め定められた量の受信データ
がバッファ126の受信FIFOにあるときシステムに
よってどのようにデータの受信が実施されるかは同時係
属出願(2)において、今、より詳細に説明されてい
る。
【0111】
【ネットワークアクセスおよびDMAコントローライン
タフェーシング】図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ビットアドレスである。
【0112】ネットワークへの伝送のために要求される
信号は、上の同時係属出願(3)において記述されてい
るように、制御バスQCNTRL上のデータによって決
定される優先度に依存する多数の異なった待ち行列のう
ちのいずれにおいても供給される。制御バスQCNTR
LはまたネットワークDMAコントローラ124に以前
いっぱいであった待ち行列が今は付加的なデータを受け
入れる準備ができていることを示す。
【0113】QCNTRLバスによってまた搬送される
ものは待ち行列のどれに対しても、すなわち同期待ち行
列および3つの順位の非同期待ち行列に対するデータの
転送状態を、データを媒体に転送するために示すデータ
を含む。媒体アクセスコントローラ120によって与え
られた転送状態はネットワークDMAコントローラ12
4に、コントローラ120がトークンを有し、現在バッ
ファメモリ126から媒体にその特定の待ち行列を伝送
していることを通知する。
【0114】バスHSACK(ホスト肯定応答)は、現
在のネットワークDMAコントローラ書込または読出要
求が媒体アクセスコントローラ120によって許可され
ていることを示す信号を搬送する。この信号とともに、
バッファメモリ126は能動化され、かつデータはBD
(バスデータ)、BDP(バスデータ優先度)およびB
DTAGバス上に存在する。
【0115】媒体アクセスコントローラ120がネット
ワークDMAコントローラ124によってシステムメモ
リに転送されるべきネットワークから受信されたデータ
をバッファメモリにストアしたときRDATAはアサー
トされる。応答して、ネットワークDMAコントローラ
はバスに対してアクセスを要求し、それは媒体アクセス
コントローラ120によって応答される。媒体アクセス
コントローラ120はBADDRバス上のデータによっ
て特定されたアドレスにバッファメモリ126内にネッ
トワークデータをストアし、かつバッファにストアされ
たデータはその後バッファのREAD端子の媒体アクセ
スコントローラ120によるアサートに応答してネット
ワークDMAコントローラ124に転送される。
【0116】ネットワーク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へ
ラッチする。
【0117】こうして、ネットワークアクセスコントロ
ーラ120はバッファメモリ126に、フレームにおけ
るネットワークデータをストアし、かつデータの量がそ
こで受信しきい値RTHRを越えたとき、コントローラ
120はネットワークDMAコントローラ124がシス
テムメモリ内のどこにネットワークデータがストアされ
るべきかを決定するためにシステムメモリからディスク
リプタを取出すことを引き起こすようにRDATAをア
サートする。ディスクリプタによって指されたシステム
メモリ内のバッファが利用可能になったとき、DMAコ
ントローラ124はネットワークアクセスコントローラ
120にホスト肯定応答HSACKを供給する。ネット
ワークアクセスコントローラ120は、応答して、アー
ビトレートし、なぜならそれがデータをネットワークへ
伝送することによってまたは他の機能を実施することに
よってすでに占められているかもしれないからである。
もしネットワークアクセスコントローラ120が利用可
能であれば、それはDMAコントローラ124に肯定応
答(HSACK)を供給し戻し、かつそれから記憶アド
レスを読出コマンドが続いてバッファ126に出力す
る。バッファ126にアドレスされたデータはBDAT
Aに書込まれかつネットワークDMAコントローラ12
4にシステムメモリ内の指定されたバッファに供給され
るためにラッチされ、ネットワークからデータを受信す
るために必要なハンドシェイクを完成する。
【0118】図18を参照して、ネットワークへのフレ
ームの伝送の間のバス上の信号のタイミングは、伝送デ
ータの完全なフレームがあるからかまたはバッファ内の
データの量が伝送しきい値XTHを越えるからかのどち
らかで、ネットワークへ伝送されるようにシステムメモ
リ内のディスクリプタによって指されたバッファにネッ
トワークDMAコントローラ124がすでにアクセスし
たことを仮定する。現在伝送されるべきデータは図8の
オンチップFIFO152にストアされており、かつバ
ッファメモリ126内の論理的FIFOにそのデータを
転送する用意ができている。ネットワークへデータを伝
送するホスト要求に応答して、ネットワークDMAコン
トローラはホストがネットワークへの書込みを要求する
ことを示すホスト要求信号HSREQをネットワークア
クセスコントローラ120に供給する。ホストが書込む
であろう特定の待ち行列はHSREQバス上のコードに
よって決定される。この例では、ホストは同期待ち行列
に書込れることを要求すると仮定し、そのため同期フレ
ームのデータがネットワークに供給される。応答して、
ネットワークアクセスコントローラ120はアービトレ
ートし、かつ時間が利用可能なとき、それはホストに対
して肯定応答信号(HSACK)で応答する。ネットワ
ークアクセスコントローラ120はまたバッファメモリ
126に、ネットワークへ伝送されるべきデータのフレ
ームが一時的にストアされているアドレスを供給し、か
つバッファに書込パルスを与える。BDATAバス上に
ネットワークTMAコントローラ124によって適宜に
供給されたデータは、ネットワークアクセスコントロー
ラ120によってBDADDR上で特定された場所にお
いてバッファメモリ126内に形成された論理的FIF
Oの中に書込まれる。
【0119】もしもうこれ以上のデータがネットワーク
に伝送されるべきでないなら、ネットワークDMAコン
トローラ124はHSREQ上にネットワークアクセス
コントローラ120に対してさらに他の要求を与えな
い。他方では、もし付加的なデータがネットワークへ伝
送されるべきであれば、HSREQバスはアサートされ
たままであり、かつネットワークアクセスコントローラ
120が時間が利用可能になることをアービトレートし
たとき、それはHSACK上でコントローラ124へ応
答した後付加的なアドレスおよび書込パルスをバッファ
126に与える。
【0120】図19はバックツーバック読出および書込
動作の間のバス上のデータのタイミング関係を示す。示
された例では、ネットワークアクセスコントローラ12
0は最初は書込を実施するのに忙しく、それから読出動
作を実施し、かつそれから書込動作に戻る。関係する様
々なバスに与えられる信号は図17および図18におい
て示されているそれらに連続して一致する。
【0121】
【結び】この発明はいくつかの点においてネットワーク
インタフェースでのデータの能率的な管理を提供する。
この発明の第1の局面に従って、データはDMAコント
ローラによって別個のバス上の2つまたはそれ以上の物
理メモリのいずれかからでも収集され得る。2つのメモ
リは、ノードプロセッサがプロトコル処理を実施し、一
方ホストがデータを供給するシステムアーキテクチャに
おけるホストおよびノードプロセッサメモリであっても
よい。伝送フレームはREQUEST/GRANT信号
の2つの組のハンドシェイクプロトコルを実現すること
によって2つのメモリから選択的に収集される。各フレ
ームをストアする第1のバッファとともにディスクリプ
タ・リングがメモリのうちの1つにある(たとえばノー
ドプロセッサメモリ)。フレームに対するどの残りのバ
ッファも他のメモリ(たとえばホスト)にある。第1の
バッファはフレームのヘッダ部分だけをストアするよう
に合わせて作られる。
【0122】受信フレームは2つのメモリ内の多重のデ
ィスクリプタ・リングの中にストアされることができ
る。受信フレームのディスクリプタおよびヘッダ部分は
1つのメモリにストアされ得、一方データ部分およびデ
ィスクリプタは他方にストアされる。
【0123】ハンドシェイクプロトコルはDMAコント
ローラによる別個のバス上に存する一方のメモリまたは
他方に対するアクセスを可能にする。各フレームのヘッ
ダおよびデータ部分をストアするバッファはヘッダおよ
びデータディスクリプタによって保持される共通フレー
ム番号によって互いに同期化される。
【0124】各受信フレームはFDDIプロトコルにお
けるFCフィールドのような識別フィールドを含む。フ
レームがストアされるディスクリプタ・リングは識別フ
ィールドの内容をリングに相関する対応する識別子と整
合することによって識別される。
【0125】もし満たされたリングまたはパリティエラ
ーのときに発生するかもしれないブロックされたディス
クリプタ・リングがあれば、この発明の別の局面はブロ
ックされていないリングへの行き先を有するフレームが
受信され続けることを可能にするため受信径路のブロッ
クを防ぐ。この発明のこの局面に従って、動作の放棄モ
ードでは、かつブロックされたリングに応答して、DM
Aコントローラはブロックされたリングに入来する次の
フレームを放棄する。コントローラの動作の正規モード
では、ブロックされたディスクリプタ・リングに入来す
るフレームは受信径路内の制限された容量のFIFOメ
モリにストアされる。
【0126】この開示ではこの発明の好ましい実施例だ
けが示され記述されており、しかし前述のように、この
発明は様々な他の組合せおよび環境における使用が可能
であり、かつここで表現されたこの発明の概念の範囲内
の変化または修正が可能であることが理解されるべきで
ある。たとえば、この発明はFDDIの環境において記
述されているが、そのように制限されるべきではない。
【図面の簡単な説明】
【図1】先行技術において知られた型のFDDIネット
ワークの典型的な実現化例のブロック図である。
【図2】FDDIパケットのフォーマットを示す図であ
る。
【図3】FDDI仕様書におけるMAC副層の動作を示
す図である。
【図4】ネットワークインタフェース(別個のノードプ
ロセッサおよびホストでの)の実現化例のブロック図で
ある。
【図5】図4において示されている媒体アクセスコント
ローラのより詳細な図である。
【図6】ネットワークインタフェースの要素間で実施さ
れるデータフローを示す図である。
【図7】ネットワークインタフェースにおいて実現され
た待ち行列におけるバッファメモリの構成を示す図であ
る。
【図8】図4においてしめされたネットワークインタフ
ェースアーキテクチャにおけるネットワークDMAコン
トローラのより詳細な図である。
【図9】バッファメモリ伝送待ち行列を示す図である。
【図10】ネットワーク上で伝送されるべきデータがど
のようにシステムメモリから移動されるかを示す一般化
されたフローチャートである。
【図11】バッファメモリにおいて待ち行列にされた伝
送パケットの図である。
【図12】ネットワークから受信されたデータがどのよ
うにシステムメモリに移動されるかを示す一般化された
フローチャートである。
【図13】バッファメモリ受信待ち行列の構造を示す図
である。
【図14】バッファメモリ内にストアされている受信パ
ケットのフォーマットを示す。
【図15】媒体アクセスコントローラ、ネットワークD
MAコントローラおよびバッファメモリ間の信号の流れ
を示す図である。
【図16】(a)は別個のノードおよびホストプロセッ
サバス上のノードおよびホストプロセッサメモリを示す
ブロック図であり、(b)はヘッダ/データ分割を実施
するためのノードおよびホストプロセッサメモリとネッ
トワークDMAコントローラとの間のハンドシェイクを
示す図である。
【図17】バッファメモリによる受信フレームのアンロ
ーディングを示す信号タイミング図である。
【図18】バッファメモリ内の伝送フレームをローディ
ングすることを示す信号タイミング図である。
【図19】バッファメモリによるバックツーバック読出
および書込を示すタイミング図である。
【図20】受信および伝送ディスクリプタの包括的な構
造を示す図である。
【図21】ディスクリプタ・リングの図である。
【図22】ディスクリプタを使用した伝送フレームの連
結を示す図である。
【図23】ヘッダ/データ分割に基づいてパケットを受
信するシステムメモリ内の多重受信リングを示す図であ
る。
【図24】ヘッダ/データ分割に基づいた異なった物理
メモリに径路付けられた受信フレームの図である。
【図25】FCフィールドに基づいてパケットを受信す
るシステムメモリ内の多重受信リングを示す。
【図26】FCフィールドに基づいて異なったディスク
リプタ・リングに径路付けられた受信フレームの図であ
る。
【図27】ネットワークDMAコントローラの動作の
「ブロックされた受信上の放棄」モードを示す図であ
る。
【符号の説明】
120 媒体アクセスコントローラ 126 バッファメモリ 124 ネットワークDMAコントローラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フィルツィン・フィルーツマン アメリカ合衆国、 カリフォルニア州、 クパーティノ、ポータル・プラザ、 19872 (56)参考文献 特開 昭62−98444(JP,A) 特開 昭60−181862(JP,A) 特開 昭61−290539(JP,A) 特開 昭58−78238(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/42

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数個のプロセッサおよびフレームに配
    列された受信データをバッファにストアするための少な
    くとも第1および第2のメモリを含むネットワークのた
    めのネットワークコントローラであって、 前記第1および第2のメモリ内の任意のロケーションに
    おいて複数個のバッファをストアするための手段を含
    み、前記第1および第2のメモリ内のバッファはそれぞ
    れ第1および第2の長さを有し、さらに 前記第1のメモ
    リに、前記第1および第2のメモリのうちのいずれか1
    つにおける受信データの各フレームの最初に受信された
    部分をストアするためのバッファを指す第1のディスク
    リプタ・リングを形成する隣接するロケーションに第1
    のディスクリプタをストアする手段と、 前記第2のメモリに、前記第1および第2のメモリのう
    ちのいずれか1つにおける各受信フレームのその後受信
    された部分を含むバッファを指す第2のディスクリプタ
    ・リングを形成する隣接するロケーションに第2のデー
    タディスクリプタをストアする手段とを含む、 ネットワ
    ークコントローラ。
  2. 【請求項2】 各ディスクリプタ・リングとその関連の
    バッファとは同じメモリ内にある、請求項1に記載のネ
    ットワークコントローラ。
  3. 【請求項3】 異なるディスクリプタ・リングに適用さ
    れた共通フレームのデータを相関連させる手段を含む、
    請求項1に記載のネットワークコントローラ。
  4. 【請求項4】 前記相関させる手段は前記受信データの
    各フレーム内のフレーム番号を含む、請求項3に記載の
    ネットワークコントローラ。
  5. 【請求項5】 前記ディスクリプタ・リングは前記第1
    および第2のメモリのどちらか1つにおける受信データ
    のヘッダを含むバッファを指すヘッダディスクリプタか
    らなるヘッダディスクリプションリングを含む、請求項
    1に記載のネットワークコントローラ。
  6. 【請求項6】 前記第2のディスクリプタ・リングは前
    記第1および第2のメモリのうちのいずれか1つにおけ
    る受信データ部分を含むバッファを指すデータディスク
    リプタからなるデータディスクリプタ・リングを含む、
    請求項5に記 載のネットワークコントローラ。
  7. 【請求項7】 受信データ部分がそれぞれのヘッダに続
    く、請求項6に記載のネットワークコントローラ。
  8. 【請求項8】 関連のヘッダとデータ部分とを相関させ
    る手段をさらに含む、請求項6に記載のネットワークコ
    ントローラ。
  9. 【請求項9】 前記相関させる手段が受信データの各フ
    レーム内のフレーム番号を含む、請求項7に記載のネッ
    トワークコントローラ。
  10. 【請求項10】 前記ネットワークがファイバ分散型デ
    ジタルインターフェイスネットワーク(FDDI)を含
    む、請求項1に記載のネットワークコントローラ。
JP12628591A 1990-05-29 1991-05-29 ネットワークアダプタのためのネットワークコントローラ Expired - Lifetime JP3448067B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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