JPH04261245A - ネットワークアダプタのためのネットワークコントローラ - Google Patents

ネットワークアダプタのためのネットワークコントローラ

Info

Publication number
JPH04261245A
JPH04261245A JP3126285A JP12628591A JPH04261245A JP H04261245 A JPH04261245 A JP H04261245A JP 3126285 A JP3126285 A JP 3126285A JP 12628591 A JP12628591 A JP 12628591A JP H04261245 A JPH04261245 A JP H04261245A
Authority
JP
Japan
Prior art keywords
data
memory
memories
frame
descriptor
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.)
Granted
Application number
JP3126285A
Other languages
English (en)
Other versions
JP3448067B2 (ja
Inventor
Farzin Firoozmand
フィルツィン・フィルーツマン
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)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Glass Compositions (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【関連のある出願に対する相互参照】この出願は、この
発明の譲受人によって所有され、かつ同一の日付で出願
された以下の同時係属出願に関連する。
【0002】 1)  フィルーツマン(Firoozmand)の連
続番号第07/529,364号「融通性のあるバッフ
ァ管理を有するFDDIコントローラ(FDDICON
TROLLER  HAVING  FLEXIBLE
  BUFFER  MANAGEMENT)」、2)
  フィルーツマンの連続番号第07/528,363
号「パケットデータの伝送および受信のための論理的F
IFOとしてのSRAMの形状(Configurat
ion  of  SRAMs  as  Logic
al  FIFO  forTransmit  an
d  Receive  of  Packet  D
ata)」、3)  フィルーツマン、他の連続番号第
07/529,365号「FDDIネットワークにおけ
る多重非同期優先順位を実現するための方法およびシス
テム(METHOD  OF  AND  SYSTE
M  FOR  IMPLEMENITING  MU
LTIPLE  LEVELS  OF  ASYNC
HRONOUS  PRIORITY  IN  FD
DI  NETWORKS)」4)  フィルーツマン
の連続番号第07/529,366号「単一の物理的F
IFOを使用して多重優先順位待ち行列を多重論理的F
IFOに転送するための方法およびシステム(METH
OD  OF  AND  SYSTEM  FOR 
 TRANSFERRING  MULTIPLE  
PRIORITY  QUEUESINTO  MUL
TIPLE  LOGICAL  FIFOs  US
ING  ASINGLE  PHYSICAL  F
IFO)」
【0003】
【技術分野】この発明は包括的に局部的かつ広い領域の
ネットワークにおけるデータ操作に関するものであり、
より特定的にはノードおよびホストプロセッサメモリの
ようなネットワーク内の多重メモリにおけるフレームさ
れたデータの記憶および多重メモリからのフレームされ
たデータの検索を管理する方法およびシステムに関する
ものである。この発明の1つの利用はファイバ分布され
たデータインタフェース(Fiber  Distri
buted  Data  Interface)(F
DDI)においてである。
【0004】
【背景技術】
【0005】
【序論】いかなるメモリ管理システムのデータスループ
ットの速度は、プロセッサのネットワーク上にあっても
よいデータバス上に存するシステムメモリにおける、お
よび、からのデータを複写するステップの数によって制
限される。この発明の1つの局面は、少なくとも2つの
区別できるメモリを含むシステムメモリのデータ処理能
率を最適化する伝送および受信ディスクリプタを実現す
る。優先順位の異なったレベルまたは他の特徴を有する
データはメモリにおいてストアされるためにバスから受
信されるか、または伝送されるためにメモリから収集さ
れる。システムメモリは局部的または広い領域のネット
ワークのノードおよびホストメモリを含んでもよい。
【0006】例として、この発明は、上で示された同時
係属出願において記述されているファイバ分布されたデ
ータインタフェース(FDDI)の環境内で教示される
であろうが、しかしながらここで教示された原理はメモ
リ管理システムに広くより適用できるので、この発明は
上で述べられた環境に制限されるべきではない。
【0007】
【検討】フレームにおいて配列されたデータのパケット
を取り扱うデータ操作システムにおいては(あるフレー
ミングまたは「ハウスキーピング」ビットを含むデータ
のパケットまたはバーストは「フレーム」と定義され、
フレームの形状で送られるデータは「フレームされたデ
ータ」と呼ばれる)、データのフレームをネットワーク
上の1つのロケーションにあるシステムと別のロケーシ
ョンにあるシステムとの間に転送する必要がしばしばあ
る。データのフレームは同じまたは異なった優先順位を
表わす待ち行列において配列されてもよい。「ネットワ
ークコントローラ」と呼ばれる局部的システムおよびネ
ットワークの間に存するインタフェース回路はシステム
とネットワークとの間のデータフローを管理する。これ
はシステムとネットワークとの間のタイミング矛盾を補
償するためにデータをバッファリングすること、いかな
る必要なプロトコル変換をも与えることおよび、コント
ローラを通過するデータにビットを加えることまたはそ
れからビットをはぎ取ることにより「ハウスキーピング
」を実施することを含む。ネットワークコントローラア
ーキテクチャの様々な型は用いられるネットワーク動作
システムおよび他の考慮に基づいて実現される。
【0008】たとえば、上記のここに引用により援用さ
れる「融通性のあるバッファ管理を有するFDDIコン
トローラ」のための同時係属出願(1)において記述さ
れている型のネットワークにおいては、バスマスタアー
キテクチャを含むネットワークコントローラがあり、フ
レームされたデータの待ち行列はネットワークへの伝送
のためシステムメモリにおいて確立されたバッファから
出力バッファにおける論理的FIFOによって形成され
た対応する領域に転送される。システムメモリと出力バ
ッファとの間には、出力バッファへの途中で一次的にフ
レームされたデータをストアするための、たとえば32
バイトの予め定められた記憶容量を有する物理的FIF
Oがある。物理的FIFOの1つの目的はシステムおよ
びネットワーククロックのクロック速度における差の結
果として必要とされるデータのバッファリングを与える
ことである。「パケットデータの伝送および受信のため
の論理的FIFOとしてのSRAMの形状」のための同
時係属出願(2)においては、ネットワークへの伝送に
対する要求に応答して、ネットワーク上での「トークン
」の受信のときに、かつデータが伝送のために利用可能
であることを仮定して、データは伝送FIFOにシステ
ムメモリから1回につき1パケット転送され、かつそれ
から伝送FIFOからネットワークへ転送され、その間
データはなおネットワークから入来している。これはF
IFOが完全なフレームを受信する前にネットワークへ
伝送することを可能にする。それによって伝送されたデ
ータのフレームは出力バッファにおいて構成される論理
的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 
 Institute)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)フィールドが続く。行き先アドレス(DA
)はパケットの意図された受領者を表わす。同様に、出
所アドレス(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を含む。ネットワークD
MA(ダイレクトメモリアクセス)コントローラ124
は、システムバス上のホストおよびノードプロセッサメ
モリ(図示せず)と、ネットワーク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は、それ
は好ましくはスタティックランダムアクセスメモリ(S
RAM)であるが、ファームウェアによって、異なった
優先度のデータ待ち行列を各々含む4つのFIFOを有
するようにプログラム化され、具体的には各FIFOは
後に詳細に記述されるように「ディスクリプタ」を使用
してシステムメモリ内のバッファ領域と定義される。
【0050】媒体から受信されたデータはネットワーク
DMAコントローラ124によってリンクリスト待ち行
列178を通りシステムメモリに供給されかつ同様に、
データは同期のものおよび3つの非同期優先順位に一致
するリンクリスト待ち行列180を介してシステムメモ
リから媒体に伝送される。
【0051】出力バッファ126に関するいかなる動作
の前に、ノードプロセッサはすべての待ち行列の終了ア
ドレスをバッファの中にロードしなければならない。待
ち行列ポインタは図7において示される順序にあり、す
なわちポインタはまず特殊なフレーム領域の終了を、そ
れから受信待ち行列を、次に同期待ち行列に3つの優先
順位を有する非同期待ち行列が続くという順序で伝送待
ち行列を規定する。ノードプロセッサによってまたプロ
グラムされるのは、すべての使用される待ち行列の読出
/書込ポインタであり、それは図7の右側の行において
示されており、終了アドレスポインタは図の左側の行に
おいて示されている。
【0052】より具体的には、図7において示されてい
るFIFOの各待ち行列は、プレフィックス「EA」を
有する「アドレスの終了」ポインタによって特徴づけら
れる。たとえば、SPECIAL  FRAME  A
REAを無視せよ。同期データを含む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ポインタ(S
WP)は待ち行列に最も最近ストアされたフレームの終
了を指す。SHADOW  WRITEポインタ(SW
P)の機能および図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はさらに、伝送FIFO152
と同じ態様でネットワークとシステムメモリとの間の速
度適合を与えるために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)データバス、
データパリティバスおよびデータタグバス上に存在する
。インタフェースはまた、媒体アクセスコントローラ1
20がバッファメモリ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およびホストメモリ125(
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)およびシステムバス147
から成る径路に沿ってメモリに対するアクセスを能動化
するために、NPメモリ125(a)だけが許可信号H
BGNTで応答するであろう。メモリ125(b)は要
求信号HBREQに応答しないので、メモリ125(b
)は許可信号を発生しないだろうし、かつアクセスはホ
ストメモリに対して能動化されないであろう。
【0069】他方では、アクセスがホストメモリ125
(b)に対して要求されたとき、ネットワークDMAコ
ントローラ124は要求信号DBREQをシステムバス
147に付与する。要求DBREQはドライバ149(
a)、149(b)を介してノードプロセッサメモリ1
25(a)およびホストプロセッサメモリ125(b)
の両方に付与される。ホストプロセッサメモリ125(
b)だけがホストバス143(b)、ドライバ149(
b)およびシステムバス147から成る径路に沿ってコ
ントローラ124によって受信されるように許可信号D
BGNTを発生するであろう。アクセスは今ホストメモ
リ125(b)とネットワークDMAコントローラ12
4との間に確立される。
【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と同じ物理メモリの中であっても
よいが必ずしもそうではない。伝送においては、ディス
クリプタDRはホストおよびノードプロセッサメモリ1
25(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は、図11
において示されているように、パケットの最後の語上に
かつバッファメモリにおいてパケットに続く状態語にタ
グビットを設定する。
【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制御12
4は、ディスクリプタ・リングを使用して、システムメ
モリ全体にわたり自由なバッファのプールを確立する。 パケットが受信されたとき、コントローラは受信された
データをストアするために自由なバッファを見つけかつ
配列し、かつ各パケットに相関するディスクリプタに従
ってパケットをバッファに指定する。
【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 
 blocked  receive”)モードがあり
、そこではブロックされた受信リングに付与されるべき
パケットは放棄されるであろうし、かつ次のパケットは
それらのそれぞれの受信待ち行列に流れることを許容さ
れる。 このモードはネットワークDMAコントローラにおいて
小さいバッファメモリ(FIFO)が使用されていると
き有用である。
【0092】「ブロックされた受信における放棄」(“
discard  or  blocked  rec
eive”)モードは図27で示されている。受信FI
FO154(図8もまたみよ)は受信パケットのための
単一の流れ径路を、各パケットのFCフィールドに基づ
く4つのディスクリプタ・リングに供給するために確立
する。その代わりに、コントローラ124の動作のヘッ
ダ/データ分割モードでは、パケットは最初の2つのデ
ィスクリプタ・リングDR1およびDR2だけに分割さ
れてもよい。スイッチ133は、これは好ましくはネッ
トワークDMAコントローラ124においてファームウ
ェアによって実現されるが、パケットを受信するディス
クリプタ・リングのうちの1つがブロックされてしまっ
たことを示すコントローラ124によって発生された信
号に応答する。応答して、スイッチ133は、示されて
いるように、入来パケットを、ディスクリプタ・リング
DR1ないし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はメモリアービター
170によってなされるメモリアービトレーション決定
に基づき伝送および受信FIFO164および166の
ローディングおよびアンローディングを調整する。
【0096】アドレス生成器172は、ネットワークか
またはノードプロセッサのどちらがバッファメモリにア
クセスできるかを決定するアービターのアクセス決定に
基づいてアドレスバス136に要求される外部のバッフ
ァメモリアドレスを供給する。ノードプロセッサインタ
フェース174は、そのデータ入力がゲート173を介
してアドレス生成器177によって制御されているが、
ノードプロセッサからの命令をデコードし、チップ状態
を収集し、かつコントローラ124全体にわたり制御情
報を分布する。
【0097】伝送および受信FIFO164および16
6は、媒体アクセスコントローラ120とオンチップで
ネットワークDMAコントローラ124の伝送および受
信セクション152および154に類似する態様で、シ
ステムバスのレーテンシーおよびバースト長に主に依存
して多数のデータパケットをストアする。
【0098】
【バッファメモリ126】出力バッファメモリ126は
、図6に包括的にかつ図7でより詳細に示され、ネット
ワークから受信されたデータの待ち行列を含む受信FI
FO175およびネットワークへ供給されるデータの待
ち行列を各々含む少なくとも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における現在の伝送待ち行列が「ほとんど
いっぱい」でないと判断されれば、ネットワークDMA
コントローラ124は図8で示されるようにシステムメ
モリからその内部の伝送FIFO152にデータを転送
する(ステップ184)。データは次に伝送FIFO1
52から(外部の)出力バッファメモリ126に転送さ
れる(ステップ186)。
【0101】より具体的には、図9において示されてい
る伝送フレームは媒体アクセスコントローラ120の制
御下でホストおよびネットワークDMAコントローラ1
24によってバッファメモリ126にロードされる。こ
れは、特定の要求されている待ち行列に基づいてコード
化された、ネットワークDMAコントローラ124によ
るバッファ126にデータを書込む要求に応答して実施
される。パケットは好ましくは、バッファがネットワー
クへの伝送のためアンロードされているのと同時にバッ
ファ126にロードされ、そのためバス利用能率を最大
にしかつレーテンシーを最小にし、かつオーバーランま
たはアンダーラン状態を避けるが、このことは以下で図
10に関連して述べられる。
【0102】
【バッファメモリからの伝送フレームのアンローディン
グ】フレームがバッファメモリ126にロードされた後
、媒体アクセスコントローラ120によって全部のフレ
ームがロードされたことかまたはメモリの中に書込まれ
たフレームの語の数が伝送しきい値を越えることのどち
らかが確認されたとき、フレームはネットワークへの伝
送に対しての用意ができている。
【0103】ネットワークへの伝送がシステムにとって
利用可能であるとき、すなわちFDDIネットワーク上
のトークンが待ち行列を伝送するためにつかまえられ、
かつその待ち行列のための伝送条件が満たされたとき、
伝送は始まり、かつフレームは論理「1」タグ−ビット
によって特徴付けられるフレームの終了に遭遇するまで
媒体アクセスコントローラ120によって読出される。 このとき、データのフレームはバッファが空になる前に
次の伝送のためにバッファの中にすでに読出されている
。すなわち、伝送が進行中の間およびフレームの完全な
伝送の後、もし完全なフレームがバッファにあれば、ま
たはもしバッファの内容が伝送しきい値を越えれば、媒
体アクセスコントローラ120はより多くのデータを伝
送のためFIFOの選択された待ち行列からそのオンチ
ップの伝送FIFO164に取出す。もしどちらの条件
も満たされなければ、媒体アクセスコントローラ120
は伝送のため優先順位で他の待ち行列をチェックする。
【0104】待ち行列からの伝送は待ち行列が空にされ
たとき完了する。しかしながら、もし伝送FIFO16
4がフレームの途中で空になれは、アンダーラン状態が
伴い、かつ現在のフレームは打ち切られる。
【0105】少なくとも1つの完全なフレームまたは少
なくとも予め定められた量の伝送データがバッファ12
6にあるとき、システムからネットワークへのデータの
伝送がどのように実施されるかは同時係属出願(2)に
おいてより詳細に説明されている。
【0106】バッファメモリにおいてストアされている
伝送データの待ち行列は図11で示されているフォーマ
ットを有し、そこにおいて各フレームはタグビット「0
」によって特徴付けられたロングワードおよびタグビッ
ト「1」によって特徴付けられた最後のロングワードを
含む。パケットの最後の語に続くのはタグビット「1」
によってまた特徴付けられる状態語である。状態語は、
多数個の予め定められたビット、データの最後の語がど
のバイト境界で終わるかを規定するビット、ネットワー
クDMAコントローラがシステムメモリから得た状態か
ら複写されたビット、およびパケットがエラーを含みか
つ打ち切られるべきかどうかを示すビットを含むパケッ
トの状態と同様にデータバッファの状態を反映する。
【0107】
【バッファメモリにおける受信パケットのローディング
】フレームされたパケットの受信は、図12において外
観でしめされ、外部のバッファメモリ126における記
憶のため媒体アクセスコントローラ120によるデータ
パケットの受信(ステップ190)、およびネットワー
クDMAコントローラ124の内部の受信FIFO15
4へのバッファからのパケットデータの転送(ステップ
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つのこれらのバス、すなわちBDATA、
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上のホスト要求
を適切なコードでネットワークアクセスコントローラ1
20にネットワークからのデータフレームを読出すよう
に要求するために実施する。ネットワークアクセスコン
トローラ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にアドレスされたデータはBDATA
に書込まれかつネットワークDMAコントローラ124
にシステムメモリ内の指定されたバッファに供給される
ためにラッチされ、ネットワークからデータを受信する
ために必要なハンドシェイクを完成する。
【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バスはアサートされた
ままであり、かつネットワークアクセスコントローラ1
20が時間が利用可能になることをアービトレートした
とき、それはHSACK上でコントローラ124へ応答
した後付加的なアドレスおよび書込パルスをバッファ1
26に与える。
【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  バッファメモリ

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】  複数個のプロセッサおよびバッファに
    配列されたデータをストアするための少なくとも第1お
    よび第2のメモリを含み、前記第1および第2のメモリ
    はそれぞれ第1および第2のバス上にあり、前記第1お
    よび第2のバスは第3のバスに接続されるネットワーク
    アダプタのためのネットワークコントローラであって、
    前記第1および第2のメモリの選択された1つにアクセ
    スするために第1のメモリ要求信号および第2のメモリ
    要求信号のうちの一方または他方を送るための前記第3
    のバス上のネットワークDMAコントローラ手段と、前
    記第1のバスに結合され、かつ前記第1のメモリ要求信
    号にのみ応答し、DMAコントローラに第1のメモリ肯
    定応答信号を送るための手段と、前記第2のバスに結合
    され、かつ前記第2のメモリ要求信号にのみ応答し、D
    MAコントローラに第2のメモリ肯定応答信号を送るた
    めの手段とを含み、前記ネットワークDMAコントロー
    ラ手段は前記第1および第2の肯定応答信号に応答し、
    前記第1および第2のメモリの選ばれた1つにのみアク
    セスするための手段を含むネットワークコントローラ。
  2. 【請求項2】  前記第1および第2のメモリはそれぞ
    れホストおよびノードプロセッサメモリを含む、請求項
    1に記載のコントローラ。
  3. 【請求項3】  前記ノードプロセッサメモリからヘッ
    ダ情報にアクセスするためのかつ前記ホストプロセッサ
    メモリからデータにアクセスするための手段を含む、請
    求項2に記載のコントローラ。
  4. 【請求項4】  前記ホストおよびノードプロセッサメ
    モリ内のロケーションへの選択的な転送のため別個のデ
    ィスクリプタ・リングの中に受信されたフレームをスト
    アするための手段を含む、請求項2に記載のコントロー
    ラ。
  5. 【請求項5】  前記ノードプロセッサメモリにヘッダ
    およびディスクリプタをストアするためのかつ前記ホス
    トメモリに受信データおよびディスクリプタをストアす
    るための手段を含む、請求項2に記載のコントローラ。
  6. 【請求項6】  複数個のプロセッサおよびバッファに
    配列されたデータをストアするための少なくとも第1お
    よび第2のメモリを含み、前記第1および第2のメモリ
    はそれぞれ第1および第2のバス上にあり、前記第1お
    よび第2のバスは第3のバスに接続されているネットワ
    ークアダプタのための、前記ネットワーク上のプロセッ
    サと選択的に前記第1および第2のメモリとの間のデー
    タフローを制御する方法であって、前記第1および第2
    のメモリの選択された1つにアクセスするために第1の
    メモリ要求信号および第2のメモリ要求信号の一方また
    は他方を前記第3のバスに送るステップと、第1のバス
    上の前記第1のメモリ要求信号のみに反応して第1のメ
    モリ肯定応答信号をDMAコントローラに送るステップ
    と、第2のバス上の前記第2のメモリ要求信号だけに反
    応して第2のメモリ肯定応答信号をDMAコントローラ
    に送るステップと、前記第1および第2の肯定応答信号
    に反応して前記第1および第2のメモリの選択された1
    つにのみアクセスするステップとを含む方法。
  7. 【請求項7】  複数個のプロセッサおよびフレームに
    配列されたデータをストアするための少なくとも第1お
    よび第2のメモリを含むネットワークアダプタのための
    ネットワークコントローラであって、前記第1および第
    2のメモリにおける任意の場所において複数個のバッフ
    ァを確立するための手段と、前記バッファを指す複数個
    のディスクリプタ・リングを形成する隣接した場所にお
    けるディスクリプタを前記第1および第2のメモリ内に
    任意に確立するための手段と、各リングのディスクリプ
    タとを含み、各々は前記第1および第2のメモリの一方
    または他方を指す印を有するネットワークコントローラ
  8. 【請求項8】  各フレームはフレーム制御コードを表
    わすデータを含むフレーム制御フィールドを含み、かつ
    受信フレームをストアするための前記複数個のディスク
    リプタ・リング間の特定のリングは前記受信フレームの
    フレーム制御フィールドの内容に従って選択される、請
    求項7に記載のネットワークコントローラ。
  9. 【請求項9】  フレームに配列されたデータをストア
    するための第1および第2のメモリをそれぞれ有するホ
    ストおよびノードプロセッサを含むファイバ分布された
    データインタフェース(FDDI)ネットワークのため
    のネットワークコントローラであって、前記第1および
    第2のメモリ内の任意のロケーションにおいて複数個の
    バッファを確立するための手段と、前記バッファを指す
    ディスクリプタ・リングを形成する隣接するロケーショ
    ンにおけるディスクリプタを前記第1および第2のメモ
    リ内に任意に確立するための手段とを含み、各フレーム
    はフレーム制御フィールドを有し、さらに前記受信フレ
    ームのフレーム制御フィールドの内容に従って受信フレ
    ームをストアするためのリングを選択するための手段と
    を含むネットワークコントローラ。
  10. 【請求項10】  複数個のプロセッサおよびフレーム
    に配列された受信データをバッファ内にストアするため
    の少なくとも第1および第2のメモリを含むネットワー
    クアダプタのためのネットワークコントローラであって
    、前記第1および第2のメモリ内の任意のロケーション
    において複数個のバッファをストアするための手段を含
    み、前記第1および第2のメモリ内のバッファはそれぞ
    れ第1および第2の長さを有し、さらに前記第1および
    第2メモリのどちらか1つに受信データの各フレームの
    第1の受信された部分をストアするためのバッファを指
    す前記第1のメモリ内の第1のディスクリプタ・リング
    を形成する隣接するロケーションにおける第1のディス
    クリプタをストアするための手段と、前記第1および第
    2のメモリのどちらかの1つに各受信フレームの次の受
    信部分を含むバッファを指す前記第2のメモリ内の第2
    のディスクリプタ・リングを形成する隣接するロケーシ
    ョンにおける第2のデータディスクリプタをストアする
    ための手段とを含むネットワークコントローラ。
  11. 【請求項11】  各ディスクリプタ・リングおよびそ
    の相関するバッファは同じメモリ内にある、請求項10
    に記載のネットワークコントローラ。
  12. 【請求項12】  異なったディスクリプタ・リングに
    与えられた共通のフレームのデータを相関するための手
    段を含む,請求項10に記載のネットワークコントロー
    ラ。
  13. 【請求項13】  前記相関する手段が各受信データの
    各フレームにおけるフレーム番号を含む、請求項12に
    記載のネットワークコントローラ。
  14. 【請求項14】  複数個のプロセッサおよびフレーム
    に配列された各々がヘッダ部分およびデータ部分を有す
    る受信データをバッファにストアするための少なくとも
    第1および第2のメモリを含むネットワークアダプタの
    ためのネットワークコントローラであって、前記第1お
    よび第2のメモリ内の任意のロケーションにおいて複数
    個のバッファをストアするための手段と、前記第1およ
    び第2のメモリのうちのどちらか1つにおける受信デー
    タのヘッダを含むバッファを指す前記第1のメモリにお
    けるヘッダディスクリプタ・リングを形成する隣接する
    場所におけるヘッダディスクリプタをストアするための
    手段と、前記第1および第2のメモリのうちのどちらか
    1つにおける受信データを含むバッファを指す前記第2
    のメモリ内のデータディスクリプタ・リングを形成する
    隣接するロケーションにおけるデータディスクリプタを
    確立するための手段とを含み、前記バッファの各々はフ
    レーム内の受信データの少なくとも一部をストアするネ
    ットワークコントローラ。
  15. 【請求項15】  関連するヘッダおよびデータの対を
    相関するための手段を含む、請求項14に記載のネット
    ワークコントローラ。
  16. 【請求項16】  前記相関する手段は前記受信データ
    の各フレームにおけるフレーム番号を含む、請求項14
    に記載のネットワークコントローラ。
  17. 【請求項17】  複数個のプロセッサおよびフレーム
    に配列され、かつフレーム特徴を表わす情報を含む受信
    データのパケットをストアするためのメモリ手段を含む
    ネットワークアダプタのためのネットワークコントロー
    ラであって、FIFOメモリと、前記FIFOメモリお
    よび前記メモリ手段を含む受信データ径路と、前記メモ
    リ手段内の任意のロケーションにおいて複数個の受信バ
    ッファを確立するため  のおよび前記受診バッファを
    指すディスクリプタ・リングを形成する隣接するロケー
    ションにおけるディスクリプタを前記メモリ手段内に確
    立するための手段と、前記フレーム特徴に対応するディ
    スクリプタ・リングへ前記受診データ径路上を入来する
    受診フレームをストアするための手段と、ブロックされ
    た受診リングを検出しかつ応答して前記ブロックされた
    ディスクリプタ・リングに入来する次のフレームを放棄
    するための手段とを含むネットワークコントローラ。
  18. 【請求項18】  バッファメモリ、複数個のプロセッ
    サおよびフレームに配列されたデータのパケットをスト
    アするためのメモリ手段とを含むネットワークアダプタ
    のためのネットワークコントローラであって、前記メモ
    リ手段内の任意のロケーションに複数個の受信バッファ
    を確立するための、かつ前記バッファを指すディスクリ
    プタ・リングを形成するそこで隣接するロケーションに
    おけるディスクリプタを確立するための手段と、入来す
    るデータパケットを受信するための、かつ前記メモリ手
    段に前記バッファメモリを介して前記パケットを渡す手
    段とを含み、各パケットは対応するバッファを指すディ
    スクリプタを指定するデータを含み、さらに指定された
    ディスクリプタによって指されたバッファに入来するデ
    ータパケットをストアするための手段と、ブロックされ
    たリングを検出するための手段と、前記バッファメモリ
    においてそこに入来する次のパケットをストアするため
    に検出されたブロックされたリングおよび前記ネットワ
    ークコントローラの正規の制御モードに反応する第1の
    手段と、そこに入来する次のパケットを放棄するために
    検出されたブロックされたリングおよび前記ネットワー
    クコントローラの放棄制御モードに反応する第2の手段
    とを含むネットワークコントローラ。
  19. 【請求項19】  複数個のプロセッサと、フレームに
    配列され、フレーム特徴を表わす情報を含む受信データ
    のパケットをストアするためのメモリ手段と、FIFO
    メモリと、前記FIFOメモリを通り前記メモリ手段へ
    の受信データフロー径路と、前記メモリ手段内の任意の
    ロケーションに複数個の受信バッファを確立するための
    かつ前記受信バッファを指すディスクリプタ・リングを
    形成する隣接するロケーションにおけるディスクリプタ
    を前記メモリ手段内の確立するための手段と、前記フレ
    ーム特徴に対応するディスクリプタ・リングへ前記受信
    データ径路上を入来する受信フレームを供給するための
    手段とを含むネットワークアダプタのための受信データ
    フローを制御する方法であって、受信データフロー径路
    においてブロックされたディスクリプタ・リングを検出
    するステップと、かつ応答して、前記ブロックされたデ
    ィスクリプタ・リングに入来する次のフレームを放棄す
    るステップとを含む方法。
  20. 【請求項20】  複数個のプロセッサと、フレームに
    配列され、フレーム特徴を表わす情報を含む受信データ
    をストアするためのメモリ手段と、FIFOメモリと、
    前記FIFOメモリを介して前記メモリ手段への受信デ
    ータフロー径路と、前記メモリ手段内の任意のロケーシ
    ョンに複数個の受信バッファを確立するためのかつ前記
    受信バッファを指すディスクリプタ・リングを形成する
    ディスクリプタを前記メモリ手段内の隣接する場所に確
    立するための手段と、前記フレーム特徴に対応するディ
    スクリプタ・リングに前記受信データ径路上を入来する
    受信フレームを供給するたの手段とを含む、選択的に正
    規および放棄モードで作動するネットワークアダプタの
    ための受信データフローを制御する方法であって、受信
    データフロー径路においてブロックされたディスクリプ
    タ・リングを検出するステップと、検出されたブロック
    されたリングおよび前記アダプタの動作の正規モードに
    応答して、前記バッファメモリ内に前記アダプタへ入来
    する次のパケットをストアするステップと、検出された
    ブロックされたリングおよび前記アダプタの動作の放棄
    モードに応答して、前記アダプタに入来する次のパケッ
    トを放棄するステップとを含む方法。
  21. 【請求項21】  各々がフレーム制御フィールドを含
    むフレームに配列されたデータをストアするための第1
    および第2のメモリをそれぞれ有するホストおよびノー
    ドプロセッサを含むファイバ分布されたデータインタフ
    ェース(FDDI)ネットワークのための受信フレーム
    を処理する方法であって、前記第1および第2のメモリ
    内の任意のロケーションにおいて複数個のバッファを確
    立するステップと、前記バッファを指すディスクリプタ
    ・リングを形成する隣接するロケーションにおいてディ
    スクリプタを前記第1および第2のメモリ内に任意に確
    立するステップと、前記受信フレームのフレーム制御フ
    ィールドの内容に従って受信フレームをストアするため
    のリングを選択するステップとを含む方法。
  22. 【請求項22】  複数個のプロセッサおよびフレーム
    に配列された受信データをバッファにストアするための
    少なくとも第1および第2のメモリを含むネットワーク
    アダプタのための受信フレームを処理する方法であって
    、前記第1および第2のメモリ内の任意のロケーション
    に複数個のバッファをストアするステップと、前記第1
    および第2のメモリのバッファはそれぞれ第1および第
    2の長さを有し、第1の長さは第2の長さより小さく、
    さらに前記第1および第2のメモリのうちのどちらか1
    つにおいて受信データの各フレームの第1の受信された
    部分をストアするためのバッファを指す前記第1のメモ
    リにおける第1のディスクリプタ・リングを形成する隣
    接するロケーションにおける第1のディスクリプタを確
    立するステップと、前記第1および第2のメモリのうち
    のどちらかの1つにおいて各受信フレームの次に受信さ
    れた部分を含むバッファを指す前記第2のメモリにおけ
    る第2のディスクリプタ・リングを形成する隣接するロ
    ケーションにおける第2のデータディスクリプタを確立
    するステップとを含む方法。
  23. 【請求項23】  複数個のプロセッサおよび各々がヘ
    ッダ部分およびデータ部分を有するフレームに配列され
    た受信データをバッファにストアするための少なくとも
    第1および第2のメモリを含むネットワークアダプタの
    ための受信フレームを処理する方法であって、前記第1
    および第2のメモリ内の任意のロケーションに複数個の
    バッファを確立するステップと、前記第1および第2の
    メモリのどちらかの1つにおける受信データのヘッダを
    含むバッファを指す前記第1のメモリ内のヘッダディス
    クリプタ・リングを形成する隣接する場所においてヘッ
    ダディスクリプタをストアするステップと、前記第1お
    よび第2のメモリのうちのどちらかの1つにおける受信
    データを含むバッファを指す前記第2のメモリにおける
    データディスクリプタ・リングを形成する隣接するロケ
    ーションにおける隣接するロケーションにおけるデータ
    ディスクリプタをストアするステップとを含む方法。
  24. 【請求項24】  関連するヘッダおよびデータの対を
    相関するステップを含む、請求項23に記載の方法。
  25. 【請求項25】  前記相関するステップは各前記ヘッ
    ダおよびデータの対に共通のフレーム番号を割り当てる
    ことを含む、請求項24に記載の方法。
  26. 【請求項26】  複数個のプロセッサおよびフレーム
    に配列されたデータをストアするための少なくとも第1
    および第2のメモリを含むネットワークアダプタのため
    の受信データのフレームを処理する方法であって、前記
    第1および第2のメモリ内の任意の場所に複数個のバッ
    ファを確立するステップと、前記バッファを指す複数個
    のディスクリプタ・リングを形成する隣接するロケーシ
    ョンにおけるディスクリプタを前記第1および第2のメ
    モリ内に任意に確立するステップとを含み、各リングの
    ディスクリプタは各々前記第1および第2の一方または
    他方を指す印を有し、さらに入来する受信フレームにお
    ける情報コード信号を検出するステップと、各前記情報
    コード信号を前記ディスクリプタ・リングの特定の1つ
    と相関させるステップと、前記特定のディスクリプタ・
    リングによって指されたバッファにおいて各入来する受
    信データのフレームをストアするステップとを含む方法
  27. 【請求項27】  各々がフレーム制御フィールドを含
    むフレームに配列されているデータをストアするための
    第1および第2のメモリをそれぞれ有するホストおよび
    ノードプロセッサを含むファイバ分布されたディジタル
    インタフェース(FDDI)ネットワークのための受信
    データのフレームを処理する方法であって、前記第1お
    よび第2のメモリ内の任意のロケーションに複数個のバ
    ッファを確立するステップと、前記バッファを指すディ
    スクリプタ・リングを形成する隣接する場所におけるデ
    ィスクリプタを前記第1および第2のメモリ内に任意に
    確立するステップと、前記受信フレームのフレーム制御
    フィールドの内容に従って受信フレームをストアするた
    めのリングを選択するステップとを含む方法。
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 true JPH04261245A (ja) 1992-09-17
JP3448067B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011357A (ja) * 2003-06-19 2005-01-13 Samsung Electronics Co Ltd ネットワーク電子機器のデータインターフェース装置および方法
JP2006293800A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法

Families Citing this family (166)

* 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
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
ATE180586T1 (de) * 1990-11-13 1999-06-15 Ibm Paralleles assoziativprozessor-system
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
US5963746A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5625836A (en) * 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5617577A (en) * 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5794059A (en) * 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5809292A (en) * 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5630162A (en) * 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5815723A (en) * 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5752067A (en) * 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
US5966528A (en) * 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5963745A (en) * 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
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
US5588152A (en) * 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5765015A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5594918A (en) * 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
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
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
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
US5448558A (en) * 1994-04-05 1995-09-05 International Business Machines Corporation Method and apparatus for managing packet FIFOS
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
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
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
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
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
EP0760501B1 (en) * 1995-09-04 2002-02-20 Hewlett-Packard Company, A Delaware Corporation Data handling system with circular queue formed in paged memory
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
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
US5592160A (en) * 1995-10-26 1997-01-07 Hewlett-Packard Company Method and apparatus for transmission code decoding and encoding
US5610745A (en) * 1995-10-26 1997-03-11 Hewlett-Packard Co. Method and apparatus for tracking buffer availability
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
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
US6487202B1 (en) 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
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
US7046625B1 (en) * 1998-09-30 2006-05-16 Stmicroelectronics, Inc. Method and system for routing network-based data using frame address notification
US6526451B2 (en) * 1998-09-30 2003-02-25 Stmicroelectronics, Inc. Method and network device for creating circular queue structures in shared memory
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
US6327615B1 (en) * 1998-09-30 2001-12-04 Stmicroelectronics, Inc. Method and system of controlling transfer of data by updating descriptors in descriptor rings
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
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
US8073994B2 (en) 2000-05-03 2011-12-06 At&T Laboratories Data transfer, synchronising applications, and low latency networks
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
US7072347B2 (en) 2001-02-23 2006-07-04 International Business Machines Corporation Assignment of packet descriptor field positions in a network processor
US7130916B2 (en) 2001-02-23 2006-10-31 International Business Machines Corporation Linking frame data by inserting qualifiers in control blocks
US20030086485A1 (en) * 2001-11-08 2003-05-08 John Lin Master to multi-slave asynchronous transmit fifo
ATE555443T1 (de) * 2002-02-26 2012-05-15 Nxp Bv Zugriff zu einem verteilten betriebsmittel
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 三菱電機株式会社 通信モジュール
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
WO2006121443A2 (en) * 2005-05-10 2006-11-16 Telairity Semiconductor, Inc. Direct memory access (dma) method and apparatus and dma for video processing
US20060259657A1 (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
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
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
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
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
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
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
US10009912B2 (en) 2015-11-20 2018-06-26 Qualcomm Incorporated Scheduling and token bucket for communication co-existence
US10524278B2 (en) 2015-11-20 2019-12-31 Qualcomm Incorporated Scheduling and token bucket for communication co-existence
US10534343B2 (en) * 2016-03-31 2020-01-14 Mitsubishi Electric Corporation Unit and control system
KR20180018886A (ko) * 2016-08-09 2018-02-22 삼성전자주식회사 스토리지 시스템의 동작 방법 및 호스트의 동작 방법
WO2018171746A1 (en) 2017-03-24 2018-09-27 Mediatek Inc. Apparatuses and methods for on-demand system information (si) request through a random access procedure
BR112019019932A2 (pt) * 2017-03-24 2020-04-22 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 de prach
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011357A (ja) * 2003-06-19 2005-01-13 Samsung Electronics Co Ltd ネットワーク電子機器のデータインターフェース装置および方法
JP2006293800A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
WO2006112270A1 (ja) * 2005-04-13 2006-10-26 Sony Corporation 情報処理装置、および情報処理方法
US8412864B2 (en) 2005-04-13 2013-04-02 Sony Corporation Information processing apparatus and information processing method

Also Published As

Publication number Publication date
DE69131971D1 (de) 2000-03-16
EP0797335B1 (en) 2007-04-18
US5136582A (en) 1992-08-04
EP0459752A3 (ja) 1994-01-19
EP0459752B1 (en) 2000-02-09
EP0797335A2 (en) 1997-09-24
DE69133569D1 (de) 2007-05-31
DE69133569T2 (de) 2007-12-27
DE69131971T2 (de) 2000-10-05
EP0797335A3 (en) 2003-06-04
EP0459752A2 (en) 1991-12-04
US5488724A (en) 1996-01-30
ATE189753T1 (de) 2000-02-15
JP3448067B2 (ja) 2003-09-16
ATE360316T1 (de) 2007-05-15

Similar Documents

Publication Publication Date Title
JP3448067B2 (ja) ネットワークアダプタのためのネットワークコントローラ
JP3452590B2 (ja) システムメモリからネットワークへのパケットに配列されるデータのフローを制御するネットワークアダプタおよびデータのフローを制御する方法
JP3361824B2 (ja) 複数個のプロセッサとシステムメモリ手段とを含むネットワークアダプタのための装置、ネットワーク制御装置、制御方法
US5247626A (en) Fddi controller having flexible buffer management
US5546385A (en) Flexible switching hub for a communication network
US5229993A (en) Control of access through local carrier sensing for high data rate networks and control of access of synchronous messages through circulating reservation packets
US8750320B2 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
CA2124452C (en) Method and apparatus for processing data within stations of a communication network
US5796732A (en) Architecture for an expandable transaction-based switching bus
US5659718A (en) Synchronous bus and bus interface device
US7430171B2 (en) Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost
EP0617368B1 (en) Arbitration process for controlling data flow through an I/O controller
US6584101B2 (en) Communication method for packet switching systems
EP1775897B1 (en) Interleaving in a NoC (Network on Chip) employing the AXI protocol
JPH0748745B2 (ja) アダプタ間のパケツト転送方法、競合解消装置、及びトークン・リング装置
US5797041A (en) Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
JP2002508126A (ja) スイッチ・ネットワーク要素における共用メモリ管理
JPH02196541A (ja) ワークステーシヨンをローカル・エリヤ・ネツトワークに接続する方法および装置
CN1267418A (zh) 连网系统
JPH02290349A (ja) 星形ローカルエリアネツトワーク用リングバスハブおよびリングバスパケツトを初期設定する方法
US5119374A (en) Method of and system for implementing multiple levels of asynchronous priority in FDDI networks
JPH076107A (ja) インターフェース装置および方法並びに通信アダプタ
US7424027B2 (en) Head of line blockage avoidance system and method of operation thereof
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