JPH07202946A - 通信バッファを管理するためのシステム及び方法 - Google Patents

通信バッファを管理するためのシステム及び方法

Info

Publication number
JPH07202946A
JPH07202946A JP6255170A JP25517094A JPH07202946A JP H07202946 A JPH07202946 A JP H07202946A JP 6255170 A JP6255170 A JP 6255170A JP 25517094 A JP25517094 A JP 25517094A JP H07202946 A JPH07202946 A JP H07202946A
Authority
JP
Japan
Prior art keywords
pointer
small
location
queue
data 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.)
Granted
Application number
JP6255170A
Other languages
English (en)
Other versions
JP2596718B2 (ja
Inventor
W Brunstadd Mark
マーク・ダブリュ・ブランスタッド
L Brech Brad
ブラッド・エル・ブレッチ
W Byrun Jonathan
ジョナサン・ダブリュ・バイルン
S Delupu Gary
ガリー・エス・デルプ
M Montalvo Raphael
ラファエル・エム・モンタルボ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH07202946A publication Critical patent/JPH07202946A/ja
Application granted granted Critical
Publication of JP2596718B2 publication Critical patent/JP2596718B2/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
    • 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
    • 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
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes

Landscapes

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

Abstract

(57)【要約】 【目的】分散データ処理システムのノードにおいてデー
タ・パケットを受信するネットワーク・アダプタ用バッ
ファを管理するためのシステム及び方法を提供する。 【構成】ネットワーク・アダプタ62のバッファ・メモ
リ35が、データ・ブロック37において複数の小型の
連続したセクション及び複数の大型の連続したセクショ
ンを含むロケーションのプールに分けられる。パケット
の記憶のために利用可能な小型の連続したセクションは
小型ポインタのリスト41に、大型の連続したセクショ
ンは大型ポインタのリスト42にリスト化される。パケ
ットの受信時に、パケット・サイズを弁別するための閾
値に達する前にパケット終了状態を検出したことに応答
して、そのパケットは小型の連続したセクションに記憶
される。閾値に達する前にパケット終了状態が検出され
なかったことに応答して、そのパケットは大型の連続し
たセクションに記憶される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分散データ処理システ
ムに関するものであり、更に詳しく云えば、分散データ
処理システムのノードのためのデータ・パケットを受信
又は送信するネットワーク・アダプタ用バッファの管理
に関するものである。
【0002】
【従来の技術】通信リンクとコンピュータ又は端末より
成るノードとの間のデータの伝送は、一般には、そのデ
ータをバッファすることによってサポートされる。バッ
ファリングの目的は、通信リンクの動作とノードの内部
動作との同期が固定しないようにすることである。バッ
ファは、メモリ又はデータ記憶レジスタ、ディスク・ド
ライブ、遅延線、或いは数多くの任意のテクノロジを使
用して実施可能である。バッファの使用によって、通信
リンクとノードとの間で情報を伝送する時、情報の流れ
る速度及び事象の発生時間が相違することが許容され
る。
【0003】通信リンクを介して伝送するためのデータ
の編成は、特に、通信リンクの効率的な使用、データの
送信及び受信の管理、データの受信時におけるメモリの
効率的な使用に関する数多くの重要な要素を持ってい
る。例えば、データの編成を扱う一般的な方法はパケッ
トの使用である。パケットでは、制御要素及びデータ要
素が1つの合成体として交換され、送信される。パケッ
トの使用は、経路指定に関する数多くの問題点を簡略化
する。
【0004】パケット又は他のタイプのデータ・フレー
ムには、長さが可変的なものがある。これは、通信リン
ク全体の容量の効率的な利用という点から見れば、固定
長フレームよりも利点を持っている。しかし、可変長フ
レームの作成、送信、複写、および操作のためのバッフ
ァにおけるスペースの割り当ては、そのタスクが逐次的
なソフトウエアにおいて実施される場合、ノードの処理
能力のかなりの部分を消費することになろう。直接メモ
リ・アクセス(DMA)制御ブロックの計算及び構造が
その問題の主要な部分である。
【0005】可変長フレームの使用により受信ノードに
課せられる計算の負担を軽減するための1つの方法は、
任意の可能なフレーム・サイズを許容する固定長のバッ
ファ・ロケーションにおいてそれらフレームを受信する
ことである。なお、これらバッファ・ロケーションは、
バルク・データ複写の後、フレームに付加可能なヘッダ
を含む。この方法による問題は、バッファ内部の細分化
のために、大量のメモリの使用を必要とすることであ
る。
【0006】バッファ・ロケーションの連鎖は、その問
題に対する1つの解決方法としても使用されている。し
かし、それを使用するには、その連鎖を記述するものを
構成する必要があり、その連鎖の読み取りのためにメモ
リ帯域を割り当てる必要がある。
【0007】更に、パケット/フレームに対して必要な
だけのロケーションしか使用しない先入れ・先出し(F
IFO)受信バッファを使用することも知られている。
この方法は、メモリをクリアする必要があるという煩わ
しさがある。メモリ・ロケーションが解放される時、そ
の解放されたフレームに時間的に先行するすべてのフレ
ームは、その解放された特定なロケーションが再使用さ
れる前に解放されなければならない。
【0008】
【発明が解決しようとする課題】本発明の目的は、分散
データ処理システムにおけるノードのためのデータ・パ
ケットを受信するネットワーク・アダプタ用バッファを
管理するためのシステム及び方法を提供することにあ
る。
【0009】本発明のもう1つの目的は、バッファ・ス
ペースを管理するためにデータ・フレームを2つのクラ
スに分離するためのシステム及び方法を提供することに
ある。
【0010】
【課題を解決するための手段】本発明の上記目的は、通
信データを管理する方法を実行するためのネットワーク
・アダプタによって達成される。ネットワーク・アダプ
タのバッファ・メモリは、複数の小型の連続したセクシ
ョン及び複数の大型の連続したセクションを含むプール
に分けられる。パケットの記憶のために利用可能な小型
の連続したセクションは、それら利用可能な小型の連続
したセクションに対するポインタのリストによって表さ
れる。パケットの記憶のために利用可能な大型の連続し
たセクションは、それら利用可能な大型の連続したセク
ションに対するポインタのリストによって表される。パ
ケットを小型及び大型として弁別するための閾値が選択
される。そこで、パケットが受信された時、それらはそ
の閾値と対照して測定される。閾値に達する前にパケッ
ト終了状態を検出することに応答して、そのパケットは
小型の連続したセクションに記憶される。その他の場
合、即ち、閾値に達する前にパケット終了状態が検出さ
れなかったことに応答して、そのパケットは大型の連続
したセクションに記憶される。それらセクションの可用
度は、ポインタのFIFOリストに対する照会によって
決まる。
【0011】
【実施例】図1は、複数のノード相互間における、ファ
イル・サーバ及びマルチメディア・データを含むデータ
の伝送をサポートするための例示的ローカル・エリア・
ネットワーク8のブロック図を示す。ローカル・エリア
・ネットワーク8はトーク・リングの形で示されている
が、他の形も可能である。サーバ12は、通信チャネル
10を介してコンピュータ12A乃至12Cと通信可能
である。サーバ12は、本発明を実施するようにプログ
ラムされたIBMパーソナル・システム/2又はAS/
400システムのような通常のコンピュータであり、中
央処理装置(CPU)60、メモリ64、及びデータ・
フレーム又はパケットの着信及び発信をバッファするた
めのネットワーク・アダプタ62を含む。サーバ12
は、1つ又は複数のユーザによるアクセス要求を待つ複
数のマルチメディア及びその他のデータ・オブジェクト
を記憶するハード・ディスク・ドライブ装置56を含
む。そのようなアクセス要求の結果、ハード・ディスク
・ドライブ装置56からシステム・バス58を介してコ
ンピュータ・メモリ64又はネットワーク・アダプタ6
2にデータ・オブジェクトのステージングが生じる。メ
モリ64には、数多くのオブジェクトが存在する。オペ
レーティング・システム及びローカル・エリア・ネット
ワーク(LAN)サーバ66は1つのオブジェクトとし
て表される。ハード・ディスク・ドライブ装置56及び
メモリ64に記憶された送信されるべきオブジェクトは
フレーム又はパケットの形に編成され、ネットワーク・
アダプタ62に渡されなければならない。同様に、リン
グ、即ち、通信チャネル10を介して受信されたデータ
は、ハード・ディスク・ドライブ装置56又はメモリ6
4に転送するためにネットワーク・アダプタ62からス
テージング可能である。CPU60は、システム・バス
58を介したネットワーク・アダプタ62との間のデー
タの転送を処理するよう直接メモリ・アクセス(DM
A)コントローラ61をプログラムすることができる。
【0012】ユーザは、サーバ12上に記憶されたデー
タ・ファイルを、コンピュータ12A乃至12Cを介し
てアクセスする。コンピュータ12Bは典型的な例であ
る。コンピュータ12Bは、コンピュータであるサーバ
12と通信するパーソナル・ワークステーションとして
動作する。概略的に云えば、パーソナル・ワークステー
ション、即ち、コンピュータ12Bはサーバ12と実質
的に同じであり、ネットワーク・アダプタ70、ディス
プレイ・アダプタ84、ハード・ディスク・ドライブ装
置90、中央処理装置(CPU)82、及びアドレス可
能メモリ88を含む。パーソナル・ワークステーション
12Bの各コンポーネントは、システム・バス83を介
して内部的にデータを転送する。CPU82は、キーボ
ード及びマウスを含む入力周辺装置80を直接に制御す
る。ディスプレイ・アダプタ84は、ファイルからのデ
ータを可視的に表示するディスプレイ装置86を駆動す
る。メモリ88は、ネットワーク8において通信セッシ
ョンを設定する場合に使用するためのコマンド構造体9
4を含む。DMAコントローラ87は、DMAコントロ
ーラ61がサーバ12において行う機能と同じ機能をコ
ンピュータ12Bにおいて遂行する。
【0013】図2はネットワーク・アダプタ62のブロ
ック図である。データ・フレーム又はパケットは先入れ
・先出し(FIFO)入力バッファ31において受信さ
れる。同時に、パケットは、制御論理ブロック33にも
入力として与えられる。制御論理ブロック33は受信さ
れるパケットに対するフレーミング情報からそのパケッ
トのサイズを導出する。制御論理ブロック33によって
アクセス可能なメモリ35における閾値38は、サイズ
のカテゴリ化のために使用される。即ち、パケットが閾
値に一致するか又はそれよりも大きい場合、そのパケッ
トは大型であると見なされ、そうでない場合は、小型で
あると見なされる。パケット終了情報の受信時又はその
閾値への到達時のいずれか早い時点で、着信パケットの
サイズ・カテゴリがわかる。この時点で、そのパケット
に対するメモリ35の適当にサイズ分けされたセクショ
ンが選択可能となる。メモリ35は、通常は、アダプタ
・カード上のランダム・アクセス・メモリのアレーであ
るが、システム・メモリ64の一部分であってもよい。
【0014】メモリ35は、着信パケットを受けるため
のデータ・ブロック37の予約された領域を含む。デー
タ・ブロック37は2つのサイズを有し、その第1は閾
値よりも小さい如何なるパケットも受け入れるサイズで
あり、その第2は予測される最大サイズのパケットを受
け入れるサイズである。閾値38はプログラム可能であ
り、変更可能である。小型ポインタ・リスト41及び大
型ポインタ・リスト42は、それぞれ、データを受信す
るために利用し得る小さいサイズのブロック及び大きい
サイズのブロックのすべてに対するポインタを含む。ポ
インタ・リスト41及び42は、好ましくは、先入れ・
先出し(FIFO)のリストとして実施される。あるい
は、ポインタの連鎖したリンク・リストを用いてスタッ
クで実施することもできる。FIFOはデバッグ及び導
入が容易であり、一方、スタックは大きな融通性を持っ
ている。ポインタの検索及びパケットの受信完了の際、
制御論理ブロック33はそのポインタ(及び関連するア
ドレス)を使ってメモリ35をアドレスし、FIFO入
力バッファ31がメモリ35におけるそのポインタと関
連したロケーションにそのパケットを書き込むことを可
能にする。そこで、そのポインタは受信待ち行列39に
置かれる。データが受信されたことをアプリケーション
に知らせるために、そのノードに対するCPUが割り込
みされるか、又は他の技法が使用される。データ・パケ
ットがメモリ35から解放された後、ポインタは適当な
リスト、即ち、小型ポインタ・リスト41又は大型ポイ
ンタ・リスト42に戻される。
【0015】必須ではないけれども、データ・パケット
の送信にも、メモリ35の大型領域及び小型領域への分
割を利用することができる。そのような場合、システム
CPUはリスト41又は42からポインタを得て、送信
待ち行列40を介して送信制御装置43にそのポインタ
を供給する。ポインタを得た後、送信制御43はそのポ
インタ(又は関連のアドレス)をメモリ35に対するア
ドレスとして断定し、関連するロケーションの内容を送
信用の出力バッファ45に書き込む。その後、ポインタ
は適当なリスト41又は42に戻される。宛先ノードか
ら受信成功の肯定応答が受信されるまで、ポインタの解
放は遅延させることができる。
【0016】図3は、例えば、マルチメディアのための
ネットワークにおけるパケットのサイズによる発生頻度
分布のグラフ表示である。フレームの長さはX軸に沿っ
て増加し、発生の確率はY軸に沿って増加する。一般に
は、要求、肯定応答、及び制御情報に対応する短いパケ
ットが主要なトラフィック・タイプである。長いパケッ
トはマルチメディア・データに対応し、長いフレーム長
で頻度が最大(ピーク)となる。その分布曲線は、分布
における中間の窪み(最低部)を持った2つのピークを
示す。マルチメディア・データはそのような作用を示す
傾向があり、メモリ構造を2つの所定サイズのフレーム
に分割する方が有利である。何らかの理由で、トラフィ
ックが3つの明確な頻度のピークを示す傾向があった場
合、メモリ35の予めサイズの決まった3つのカテゴリ
の連続したセクションを利用する方が有利であろう。
【0017】図4は、ネットワーク・アダプタ62にお
いてデータ・パケットを受信するためのプロセスの高レ
ベルの論理的フロー・チャートである。電源の投入によ
ってそのプロセスに入ると、ステップ101において、
FIFO大型ポインタ・リスト42及びFIFO小型ポ
インタ・リスト41が初期設定される。初期設定は、大
型及び小型ポインタ・リストとして機能するようにメモ
リ35の連続したセクションを割り当てることを含む。
その連続したセクションの最小のアドレスをポインタと
して使用してもよい。開始ロケーション及びタイプによ
って小型及び大型ポインタ・リストを識別するように、
メモリのセクションを確保してもよい。次に、ステップ
103において、パケットを大型又は小型としてカテゴ
リ化する時に使用するための閾値がプログラムされる。
【0018】ステップ105では、着信パケットが入力
バッファの中に受信される。パケットの受信がモニタさ
れ、ステップ107において、閾値状態に到達する前に
そのパケットが終了したかどうかが決定される。閾値に
到達し又はその閾値を越えた場合、ステップ109がス
テップ107に続く。ステップ109では、プロセス
は、メモリ35における大型領域に対するポインタをF
IFO大型ポインタ・リスト42から得るように試み
る。ステップ111において、ポインタが得られたかど
うかが決定される。ポインタが得られなかった場合、ス
テップ113がステップ111に続き、受信されたフレ
ームは廃棄される。ネットワークにおける送信ノードに
返信するための失敗応答を発生してもよい。そこで、プ
ロセスは終了する。
【0019】閾値に達する前のパケットに対してフレー
ム終了状態が検出された場合、ステップ107からステ
ップ115へのフレーム終了ブランチが行われる。ステ
ップ115において、FIFO小型ポインタ・リストが
ポインタに関してアクセスされる。ステップ117は、
ポインタが得られたかどうかを決定する。それが得られ
なかった場合、ステップ119が実行され、FIFO大
型ポインタ・リストがポインタに関してアクセスされる
ようにしてもよい。ステップ119が使用されるかどう
かは、大きくオーバサイズしたメモリのロケーションを
パケットのために使用することが、コストにみあうかど
うかに依存する。ステップ121は、ステップ119が
ポインタを戻すことに失敗したかどうかを決定するため
に行われる。ポインタが得られなかった場合、ステップ
123が実行され、そのフレームは廃棄される。ステッ
プ117における失敗の検出に続いてステップ123を
実行するようにしてもよい。送信ノードに失敗の応答を
返信するようにしてもよい。
【0020】ステップ111、117、又は121の何
れかにおいてポインタが得られたことが決定された場
合、ステップ125が実行され、入力バッファ31から
メモリ35にパケットを書き込む。大型に関しては、フ
レームはその全体が入力バッファ内にあるのではない。
パケットが大型であると決定されると、パケット・クラ
ス及びデータのステージングは実質的にはそのままメモ
リに進む。次に、ステップ127において、そのポイン
タが受信待ち行列の中に置かれる。ステップ129にお
いて、そのパケットの宛先となるプロセスは、それが得
られたことを通知される。
【0021】ステップ129に続くプログラム・フォー
ク(分岐)は、制御論理ブロック33とシステムCPU
及びDMAコントローラとの間の処理を論理的に分割す
るためのものである。制御論理ブロック33の処理は、
ステップ129に続いてステップ105に戻る。ステッ
プ131、133、及び135は、パケットの受信プロ
セスの通知に対するノード応答を反映するものである。
ステップ131において、CPUは、受信待ち行列に前
に記憶されていたポインタを受け取る。そこで、直接メ
モリ・アクセス・コントローラ61は、パケットの転
送、典型的には、システム・メモリへの転送を処理する
ようにプログラムされる。バッファ・メモリがシステム
・メモリ内に設けられている場合、このステップは省略
される。この動作はステップ133によって反映され
る。一旦DMA動作が完了すると、そのポインタをFI
FO大型又は小型ポインタ・リストに戻すためのステッ
プ135が行われ、メモリにおける対応するロケーショ
ンが今や再使用のために利用可能であることを表示す
る。
【0022】図5は、データ・パケットの送信を準備す
るためのプロセスの高レベルの論理的フロー・チャート
である。ステップ141は送信プロセッサの必要な初期
設定を行う。次に、ステップ143において、ネットワ
ーク送信のためのデータが利用可能になるまで、プロセ
スは強制待機に入る。一旦フレームが利用可能になる
と、ステップ145において、そのフレームは小型又は
大型としてカテゴリ化される。そのフレームが小型であ
る場合、ステップ147が実行され、メモリ37におけ
る小型ロケーションに対するポインタを得る試みが行わ
れる。それが小型でない場合、ステップ149が実行さ
れ、メモリ37における大型ロケーションに対するポイ
ンタを得る試みが行われる。それら何れかのステップに
続いて、ステップ151が実行され、ポインタが実際に
得られたかどうかを決定する。それが得られなかった場
合、ステップ153が実行され、エラーを処理するため
にCPUに割込みをかける。それが得られた場合、ステ
ップ155が実行され、システム・メモリからメモリ3
5にデータを転送するために直接メモリ・アクセス動作
を遂行する。このプロセスは無限ループであり、システ
ムの電源が落とされるまで実行される。
【0023】図6は、小型及び大型パケットの送信に関
連したプロセスの高レベルの論理的フロー・チャートで
ある。この説明は、送信コントローラの動作のすべてを
説明するものではない。ステップ161でプロセスに入
り、ポインタ・ロケーションが送信待ち行列から読み出
される。ステップ163における決定時に、ポインタの
値がゼロである場合、コントローラはステップ161に
戻り、その待ち行列における他のロケーションを読み出
す。ポインタが存在した場合、ステップ165が実行さ
れてバッファ・サイズのタイプを決定する。これは、そ
のポインタが戻される正しい待ち行列をプロセスが決定
することを可能にする。ステップ167において、ポイ
ンタが適当なポインタ・リスト41又は42に戻され、
送信待ち行列から削除される。ステップ167は、受信
肯定応答が戻るのを待つものでもよい。
【0024】送信制御ブロック43及び制御論理ブロッ
ク33は、好ましくは、最適な速度のための論理ゲート
として実施可能である。ソフトウエアによる実施のFI
FO入力バッファに比べて、この実施は、付加的なメモ
リ移動を行う必要をなくすることによって、メモリ帯域
の要求事項を少なくする。
【0025】本発明は、ネットワーク・アダプタの大き
なバッファ・メモリが先入れ・先出し以外の方法で使用
されることを可能にする。バッファ・ロケーションの個
々の管理は、順番通りでないフレーム処理を可能にす
る。これは複数待ち行列の更に簡単なサポートを提供す
る。バッファ・ロケーションの連鎖と比較して、ソフト
ウエア及びメモリ帯域の必要なオーバヘッドはかなり少
なくなる。固定バッファリング方法に比べて、本発明は
内部メモリの細分化を少なくする。シーケンス外のメモ
リ回復を持ったFIFOバッファリングと比較して、外
部の細分化はかなり少なくなる。
【0026】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0027】(1)ネットワーク通信バッファを管理す
る方法にして、バッファを複数の大型ロケーション及び
複数の小型ロケーションに分割し、前記ロケーションに
対するポインタを大型ロケーション・ポインタ待ち行列
又は小型ロケーション・ポインタ待ち行列に配置するス
テップと、データ・フレームを受信するステップと、前
記データ・フレームに対するフレーム終了状態の発生又
は閾値サイズ状態の発生を検出するステップと、前記閾
値サイズ状態の発生に応答して、前記大型ロケーション
・ポインタ待ち行列からポインタを検索するステップ
と、前記フレーム終了状態の発生に応答して、前記小型
ロケーション・ポインタ待ち行列からポインタを検索す
るステップと、前記データ・フレームを前記検索された
ポインタと関連したロケーションに移動するステップ
と、前記検索されたポインタを受信待ち行列に記憶する
ステップと、前記データ・フレームの受信のプロセスを
通知するステップと、より成る方法。 (2)前記データ・フレームに関する直接メモリ・アク
セス動作において前記受信待ち行列からのポインタを利
用するステップと、前記直接アクセス・メモリ動作の完
了後、前記大型ロケーション・ポインタ待ち行列又は前
記小型ロケーション・ポインタ待ち行列に前記ポインタ
を戻すステップと、を含む上記(1)に記載の方法。 (3)前記分割・配置ステップの後に前記閾値サイズ状
態を設定するステップを含む上記(2)に記載の方法。 (4)データの送信に対する要求に応答して、前記大型
ロケーション・ポインタ待ち行列又は前記小型ロケーシ
ョン・ポインタ待ち行列からポインタを検索するステッ
プと、前記検索されたポインタによって表されたロケー
ションからのデータ・フレームの送信の後、前記検索さ
れたポインタを前記大型ロケーション・ポインタ待ち行
列又は前記小型ロケーション・ポインタ待ち行列に戻す
ステップと、を含む上記(3)に記載の方法。 (5)前記大型ロケーション・ポインタ待ち行列からポ
インタを検索するステップは前記小型ロケーション・ポ
インタ待ち行列からポインタを検索するステップが失敗
した場合にも実行されることを特徴とする上記(4)に
記載の方法。 (6)前記大型ロケーション・ポインタ待ち行列からポ
インタを検索するステップが失敗したことに応答して、
前記データ・フレームを廃棄するステップを含む上記
(5)に記載の方法。 (7)前記大型ロケーション・ポインタ待ち行列は第1
の先入れ・先出し待ち行列において実施され、前記小型
ロケーション・ポインタ待ち行列は第2の先入れ・先出
し待ち行列において実施されることを特徴とする上記
(6)に記載の方法。 (8)前記大型ロケーション・ポインタ待ち行列は第1
のリンク・リスト・スタックにおいて実施され、前記小
型ロケーション・ポインタ待ち行列は第2のリンク・リ
スト・スタックにおいて実施されることを特徴とする上
記(6)に記載の方法。 (9)複数の小型ロケーション及び複数の大型ロケーシ
ョンより成り、通信リンクとデータ処理システム・ノー
ドの内部ロジックとの間で移動するデータ・フレームを
保持するための転送バッファと、前記データ・フレーム
を受信するために前記転送バッファにおける利用可能な
大型ロケーションに対するポインタのリストと、前記デ
ータ・フレームを受信するために前記転送バッファにお
ける利用可能な小型ロケーションに対するポインタのリ
ストと、受信したデータ・フレームのサイズ・カテゴリ
を決定するための手段と、前記受信したデータ・フレー
ムに対するサイズ・カテゴリの決定に応答して前記小型
ロケーションに対するポインタのリスト又は前記大型ロ
ケーションに対するポインタのリストからポインタを検
索するための手段と、前記検索されたポインタに対応す
る転送バッファのロケーションに前記受信したデータ・
フレームを記憶するための手段と、より成るデータ処理
システム。 (10)前記検索されたポインタを記憶するための受信
待ち行列を含む上記(9)に記載のデータ処理システ
ム。 (11)前記内部ロジックは、システム・メモリと、前
記受信待ち行列におけるポインタを利用して、前記転送
バッファから前記システム・メモリに前記データ・フレ
ームを転送するための直接メモリ・アクセス・コントロ
ーラと、前記受信待ち行列からの前記検索されたポイン
タでもって前記直接メモリ・アクセス・コントローラを
プログラムし、前記データ・フレームの転送の完了時に
前記小型ロケーションに対するポインタのリスト又は前
記大型ロケーションに対するポインタのリストに前記検
索されたポインタを戻すための中央処理装置と、を含む
ことを特徴とする上記(10)に記載のデータ処理シス
テム。 (12)前記受信したデータ・フレームのサイズ・カテ
ゴリを決定するための手段は、データ・フレームを大型
としてカテゴリ化するための閾値を設定するための手段
と、前記閾値に達する前にデータ・フレーム終了状態を
検出した場合、データ・フレームを小型としてカテゴリ
化するための手段と、前記閾値に達する前にデータ・フ
レーム終了状態を検出しなかった場合、データ・フレー
ムを大型としてカテゴリ化するための手段と、を含むこ
とを特徴とする上記(11)に記載のデータ処理システ
ム。 (13)送信するためのデータ・フレームを発生するた
めの手段と、前記送信するためのデータ・フレームを大
型又は小型としてカテゴリ化するための手段と、前記デ
ータ・フレームに対するサイズ・カテゴリの決定に応答
して前記小型ロケーションに対するポインタのリスト又
は前記大型ロケーションに対するポインタのリストから
ポインタを検索するための手段と、前記ポインタに対応
する前記転送バッファにおけるロケーションに前記送信
するためのデータ・フレームを記憶するための手段と、
前記送信するためのデータ・フレームに対して検索され
たポインタを受信するための送信待ち行列と、前記送信
するためのデータ・フレームに対して検索されたポイン
タを利用して前記通信リンクを介した前記データ・フレ
ームの送信を制御し、前記送信するためのデータ・フレ
ームに対して検索されたポインタを前記小型ロケーショ
ンに対するポインタのリスト又は前記大型ロケーション
に対するポインタのリストに戻すためのプロセッサと、
を含む上記(11)に記載のデータ処理システム。 (14)パケットに編成された通信データを管理するた
めの方法にして、複数の小型の連続したセクション及び
複数の大型の連続したセクションを含むプールにメモリ
装置を分割するステップと、パケットを小型及び大型と
して弁別するための閾値を設定するステップと、前記パ
ケットの受信時に前記パケットを前記閾値と対照して測
定するステップと、前記閾値に達する前にパケット終了
状態を検出したことに応答して、前記パケットを小型の
連続したセクションに記憶するステップと、前記閾値に
達する前にパケット終了状態を検出しなかったことに応
答して、前記パケットを大型の連続したセクションに記
憶するステップと、より成る方法。 (15)パケットを記憶するために利用可能な小型の連
続したセクションを、前記利用可能な小型の連続したセ
クションに対するポインタのリストにリスト化するステ
ップと、パケットを記憶するために利用可能な大型の連
続したセクションを、前記利用可能な大型の連続したセ
クションに対するポインタのリストにリスト化するステ
ップと、を含む上記(14)に記載の方法。 (16)前記パケットを小型の連続したセクションに記
憶するステップは、前記利用可能な小型の連続したセク
ションに対するポインタのリストからポインタを検索す
るステップと、前記メモリ装置における前記ポインタに
対応するロケーションに前記パケットを書き込むステッ
プと、前記ポインタを受信待ち行列内に配列するステッ
プと、を含むことを特徴とする上記(15)に記載の方
法。 (17)前記パケットを大型の連続したセクションに記
憶するステップは、前記利用可能な大型の連続したセク
ションに対するポインタのリストからポインタを検索す
るステップと、前記メモリ装置における前記ポインタに
対応するロケーションに前記パケットを書き込むステッ
プと、前記ポインタを受信待ち行列内に配列するステッ
プと、を含むことを特徴とする上記(15)に記載の方
法。 (18)前記パケットは通信トラフィックの一部分であ
り、パケット・サイズの関数として少なくとも2つの頻
度のピークを示すことを特徴とする上記(15)に記載
の方法。 (19)前記メモリ装置におけるパケットの記憶時に、
前記ポインタのリストの1つからポインタを検索して送
信待ち行列内に配列するステップを含む上記(15)に
記載の方法。
【0028】
【発明の効果】本発明により、可変長のデータ・パケッ
トを受信/送信するためのネットワーク・アダプタ用バ
ッファの効率的な管理が得られる。
【図面の簡単な説明】
【図1】複数のノードを相互接続するトークン・リング
・ネットワークのブロック図である。
【図2】図1のネットワークにおいて使用するためのネ
ットワーク・アダプタ内のデータ・フローのブロック図
である。
【図3】長さ弁別されたパケットの発生頻度のグラフ表
示である。
【図4】本発明を実施するためのパケット受信プロセス
の論理的フロー・チャートである。
【図5】本発明に従ってパケットの送信を設定するため
のプロセスの論理的フロー・チャートである。
【図6】本発明に従ってパケットを送信するためのプロ
セスの論理的フロー・チャートである。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/16 370 N (72)発明者 ブラッド・エル・ブレッチ アメリカ合衆国ミネソタ州、ロチェスタ、 メサビ・コート・エヌ・ダブリュ 7075 (72)発明者 ジョナサン・ダブリュ・バイルン アメリカ合衆国ミネソタ州、ロチェスタ、 フォーティース・ストリート・エヌ・ダブ リュ 1408 (72)発明者 ガリー・エス・デルプ アメリカ合衆国ミネソタ州、ロチェスタ、 エイティーンス・アベニュー・エヌ・ダブ リュ 6892 (72)発明者 ラファエル・エム・モンタルボ アメリカ合衆国ニューヨーク州、ヨークタ ウン・ハイツ、ファーサンド・ドライブ 2584

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】ネットワーク通信バッファを管理する方法
    にして、 バッファを複数の大型ロケーション及び複数の小型ロケ
    ーションに分割し、前記ロケーションに対するポインタ
    を大型ロケーション・ポインタ待ち行列又は小型ロケー
    ション・ポインタ待ち行列に配置するステップと、 データ・フレームを受信するステップと、 前記データ・フレームに対するフレーム終了状態の発生
    又は閾値サイズ状態の発生を検出するステップと、 前記閾値サイズ状態の発生に応答して、前記大型ロケー
    ション・ポインタ待ち行列からポインタを検索するステ
    ップと、 前記フレーム終了状態の発生に応答して、前記小型ロケ
    ーション・ポインタ待ち行列からポインタを検索するス
    テップと、 前記データ・フレームを前記検索されたポインタと関連
    したロケーションに移動するステップと、 前記検索されたポインタを受信待ち行列に記憶するステ
    ップと、 前記データ・フレームの受信のプロセスを通知するステ
    ップと、 より成る方法。
  2. 【請求項2】前記データ・フレームに関する直接メモリ
    ・アクセス動作において前記受信待ち行列からのポイン
    タを利用するステップと、 前記直接アクセス・メモリ動作の完了後、前記大型ロケ
    ーション・ポインタ待ち行列又は前記小型ロケーション
    ・ポインタ待ち行列に前記ポインタを戻すステップと、 を含む請求項1に記載の方法。
  3. 【請求項3】前記分割・配置ステップの後に前記閾値サ
    イズ状態を設定するステップを含む請求項2に記載の方
    法。
  4. 【請求項4】データの送信に対する要求に応答して、前
    記大型ロケーション・ポインタ待ち行列又は前記小型ロ
    ケーション・ポインタ待ち行列からポインタを検索する
    ステップと、 前記検索されたポインタによって表されたロケーション
    からのデータ・フレームの送信の後、前記検索されたポ
    インタを前記大型ロケーション・ポインタ待ち行列又は
    前記小型ロケーション・ポインタ待ち行列に戻すステッ
    プと、 を含む請求項3に記載の方法。
  5. 【請求項5】前記大型ロケーション・ポインタ待ち行列
    からポインタを検索するステップは前記小型ロケーショ
    ン・ポインタ待ち行列からポインタを検索するステップ
    が失敗した場合にも実行されることを特徴とする請求項
    4に記載の方法。
  6. 【請求項6】前記大型ロケーション・ポインタ待ち行列
    からポインタを検索するステップが失敗したことに応答
    して、前記データ・フレームを廃棄するステップを含む
    請求項5に記載の方法。
  7. 【請求項7】前記大型ロケーション・ポインタ待ち行列
    は第1の先入れ・先出し待ち行列において実施され、前
    記小型ロケーション・ポインタ待ち行列は第2の先入れ
    ・先出し待ち行列において実施されることを特徴とする
    請求項6に記載の方法。
  8. 【請求項8】前記大型ロケーション・ポインタ待ち行列
    は第1のリンク・リスト・スタックにおいて実施され、
    前記小型ロケーション・ポインタ待ち行列は第2のリン
    ク・リスト・スタックにおいて実施されることを特徴と
    する請求項6に記載の方法。
  9. 【請求項9】複数の小型ロケーション及び複数の大型ロ
    ケーションより成り、通信リンクとデータ処理システム
    ・ノードの内部ロジックとの間で移動するデータ・フレ
    ームを保持するための転送バッファと、 前記データ・フレームを受信するために前記転送バッフ
    ァにおける利用可能な大型ロケーションに対するポイン
    タのリストと、 前記データ・フレームを受信するために前記転送バッフ
    ァにおける利用可能な小型ロケーションに対するポイン
    タのリストと、 受信したデータ・フレームのサイズ・カテゴリを決定す
    るための手段と、 前記受信したデータ・フレームに対するサイズ・カテゴ
    リの決定に応答して前記小型ロケーションに対するポイ
    ンタのリスト又は前記大型ロケーションに対するポイン
    タのリストからポインタを検索するための手段と、 前記検索されたポインタに対応する転送バッファのロケ
    ーションに前記受信したデータ・フレームを記憶するた
    めの手段と、 より成るデータ処理システム。
  10. 【請求項10】前記検索されたポインタを記憶するため
    の受信待ち行列を含む請求項9に記載のデータ処理シス
    テム。
  11. 【請求項11】前記内部ロジックは、 システム・メモリと、 前記受信待ち行列におけるポインタを利用して、前記転
    送バッファから前記システム・メモリに前記データ・フ
    レームを転送するための直接メモリ・アクセス・コント
    ローラと、 前記受信待ち行列からの前記検索されたポインタでもっ
    て前記直接メモリ・アクセス・コントローラをプログラ
    ムし、前記データ・フレームの転送の完了時に前記小型
    ロケーションに対するポインタのリスト又は前記大型ロ
    ケーションに対するポインタのリストに前記検索された
    ポインタを戻すための中央処理装置と、 を含むことを特徴とする請求項10に記載のデータ処理
    システム。
  12. 【請求項12】前記受信したデータ・フレームのサイズ
    ・カテゴリを決定するための手段は、 データ・フレームを大型としてカテゴリ化するための閾
    値を設定するための手段と、 前記閾値に達する前にデータ・フレーム終了状態を検出
    した場合、データ・フレームを小型としてカテゴリ化す
    るための手段と、 前記閾値に達する前にデータ・フレーム終了状態を検出
    しなかった場合、データ・フレームを大型としてカテゴ
    リ化するための手段と、 を含むことを特徴とする請求項11に記載のデータ処理
    システム。
  13. 【請求項13】送信するためのデータ・フレームを発生
    するための手段と、 前記送信するためのデータ・フレームを大型又は小型と
    してカテゴリ化するための手段と、 前記データ・フレームに対するサイズ・カテゴリの決定
    に応答して前記小型ロケーションに対するポインタのリ
    スト又は前記大型ロケーションに対するポインタのリス
    トからポインタを検索するための手段と、 前記ポインタに対応する前記転送バッファにおけるロケ
    ーションに前記送信するためのデータ・フレームを記憶
    するための手段と、 前記送信するためのデータ・フレームに対して検索され
    たポインタを受信するための送信待ち行列と、 前記送信するためのデータ・フレームに対して検索され
    たポインタを利用して前記通信リンクを介した前記デー
    タ・フレームの送信を制御し、前記送信するためのデー
    タ・フレームに対して検索されたポインタを前記小型ロ
    ケーションに対するポインタのリスト又は前記大型ロケ
    ーションに対するポインタのリストに戻すためのプロセ
    ッサと、 を含む請求項11に記載のデータ処理システム。
  14. 【請求項14】パケットに編成された通信データを管理
    するための方法にして、 複数の小型の連続したセクション及び複数の大型の連続
    したセクションを含むプールにメモリ装置を分割するス
    テップと、 パケットを小型及び大型として弁別するための閾値を設
    定するステップと、 前記パケットの受信時に前記パケットを前記閾値と対照
    して測定するステップと、 前記閾値に達する前にパケット終了状態を検出したこと
    に応答して、前記パケットを小型の連続したセクション
    に記憶するステップと、 前記閾値に達する前にパケット終了状態を検出しなかっ
    たことに応答して、前記パケットを大型の連続したセク
    ションに記憶するステップと、 より成る方法。
  15. 【請求項15】パケットを記憶するために利用可能な小
    型の連続したセクションを、前記利用可能な小型の連続
    したセクションに対するポインタのリストにリスト化す
    るステップと、 パケットを記憶するために利用可能な大型の連続したセ
    クションを、前記利用可能な大型の連続したセクション
    に対するポインタのリストにリスト化するステップと、 を含む請求項14に記載の方法。
  16. 【請求項16】前記パケットを小型の連続したセクショ
    ンに記憶するステップは、 前記利用可能な小型の連続したセクションに対するポイ
    ンタのリストからポインタを検索するステップと、 前記メモリ装置における前記ポインタに対応するロケー
    ションに前記パケットを書き込むステップと、 前記ポインタを受信待ち行列内に配列するステップと、 を含むことを特徴とする請求項15に記載の方法。
  17. 【請求項17】前記パケットを大型の連続したセクショ
    ンに記憶するステップは、 前記利用可能な大型の連続したセクションに対するポイ
    ンタのリストからポインタを検索するステップと、 前記メモリ装置における前記ポインタに対応するロケー
    ションに前記パケットを書き込むステップと、 前記ポインタを受信待ち行列内に配列するステップと、 を含むことを特徴とする請求項15に記載の方法。
  18. 【請求項18】前記パケットは通信トラフィックの一部
    分であり、パケット・サイズの関数として少なくとも2
    つの頻度のピークを示すことを特徴とする請求項15に
    記載の方法。
  19. 【請求項19】前記メモリ装置におけるパケットの記憶
    時に、前記ポインタのリストの1つからポインタを検索
    して送信待ち行列内に配列するステップを含む請求項1
    5に記載の方法。
JP6255170A 1993-12-21 1994-10-20 ネットワーク通信バッファを管理する方法 Expired - Lifetime JP2596718B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17105093A 1993-12-21 1993-12-21
US171050 1993-12-21

Publications (2)

Publication Number Publication Date
JPH07202946A true JPH07202946A (ja) 1995-08-04
JP2596718B2 JP2596718B2 (ja) 1997-04-02

Family

ID=22622290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6255170A Expired - Lifetime JP2596718B2 (ja) 1993-12-21 1994-10-20 ネットワーク通信バッファを管理する方法

Country Status (2)

Country Link
US (1) US6181705B1 (ja)
JP (1) JP2596718B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020066283A (ko) * 2001-02-09 2002-08-14 삼성전자 주식회사 네트웍 메모리 관리 방법 및 그를 이용한 네트웍 드라이브장치
JP2011204233A (ja) * 2010-03-18 2011-10-13 Marvell World Trade Ltd バッファマネージャおよびメモリ管理方法
US9037810B2 (en) 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US8782199B2 (en) * 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6757746B2 (en) * 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6687758B2 (en) * 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US6697868B2 (en) 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6658480B2 (en) * 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
FI104603B (fi) * 1997-11-04 2000-02-29 Nokia Networks Oy Puskurinhallinta
US7664883B2 (en) * 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
KR100280642B1 (ko) * 1998-11-18 2001-05-02 윤종용 이더넷 컨트롤러의 메모리 관리 장치 및 그 제어방법
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US20030091031A1 (en) * 2001-11-14 2003-05-15 International Business Machines Corporation Variable pricing structure for transmitting packets across a communications link
US7480239B1 (en) 2001-11-27 2009-01-20 Cisco Technology, Inc. Method and apparatus for true priority based connection establishment within a PNNI ATM network
US6654865B2 (en) * 2002-01-31 2003-11-25 Ubicom, Inc. Netbufs: communication protocol packet buffering using paged memory management
US7543087B2 (en) * 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7496689B2 (en) * 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7093038B2 (en) * 2002-05-06 2006-08-15 Ivivity, Inc. Application program interface-access to hardware services for storage management applications
US7337241B2 (en) * 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US20040088262A1 (en) * 2002-11-06 2004-05-06 Alacritech, Inc. Enabling an enhanced function of an electronic device
GB0226249D0 (en) * 2002-11-11 2002-12-18 Clearspeed Technology Ltd Traffic handling system
KR100462322B1 (ko) * 2002-12-16 2004-12-17 한국전자통신연구원 장거리 전달망에서의 대용량 패킷 전달 장치 및 송수신방법
US7450599B2 (en) * 2003-02-08 2008-11-11 Hewlett-Packard Development Company, L.P. Apparatus and method for communicating with a network
US7532574B1 (en) 2003-10-02 2009-05-12 Cisco Technology, Inc. Method and apparatus for improved priority based connection establishment within a PNNI ATM network
KR100601043B1 (ko) * 2003-11-13 2006-07-14 한국전자통신연구원 패킷을 스케줄링하는 라우터 및 그 방법
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
US8360297B2 (en) * 2006-09-29 2013-01-29 Ethicon Endo-Surgery, Inc. Surgical cutting and stapling instrument with self adjusting anvil
US7729368B2 (en) * 2007-01-19 2010-06-01 Hewlett-Packard Development Company, L.P. Network buffer caching
US20080263171A1 (en) * 2007-04-19 2008-10-23 Alacritech, Inc. Peripheral device that DMAS the same data to different locations in a computer
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
CN102377682B (zh) * 2011-12-12 2014-07-23 西安电子科技大学 基于定长单元存储变长分组的队列管理方法及设备
US20140019570A1 (en) * 2012-07-12 2014-01-16 Raytheon Company Data buffer exchange
CN108600068A (zh) * 2018-04-06 2018-09-28 长天科技股份有限公司 一种在分布式测控***中的数据收集与传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03203442A (ja) * 1989-12-29 1991-09-05 Nec Eng Ltd 回線制御アダプタ
JPH04192743A (ja) * 1990-11-26 1992-07-10 Matsushita Electric Ind Co Ltd 受信処理装置
JPH04237238A (ja) * 1991-01-21 1992-08-25 Toshiba Corp 受信バッファ管理方式

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4788679A (en) 1986-09-02 1988-11-29 Nippon Telegraph And Telephone Corporation Packet switch with variable data transfer rate links
FR2625392B1 (fr) * 1987-12-24 1993-11-26 Quinquis Jean Paul Circuit de gestion de pointeurs d'ecriture de files tampons notamment pour commutateur temporel de paquets auto-acheminables
US4991172A (en) 1988-10-28 1991-02-05 International Business Machines Corporation Design of a high speed packet switching node
US4953157A (en) * 1989-04-19 1990-08-28 American Telephone And Telegraph Company Programmable data packet buffer prioritization arrangement
CA1320257C (en) 1989-04-20 1993-07-13 Ernst August Munter Method and apparatus for input-buffered asynchronous transfer mode switching
US4962497A (en) 1989-09-21 1990-10-09 At&T Bell Laboratories Building-block architecture of a multi-node circuit-and packet-switching system
US4993025A (en) 1989-11-21 1991-02-12 Picker International, Inc. High efficiency image data transfer network
FR2666472B1 (fr) * 1990-08-31 1992-10-16 Alcatel Nv Systeme de memorisation temporaire d'information comprenant une memoire tampon enregistrant des donnees en blocs de donnees de longueur fixe ou variable.
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
US5416769A (en) * 1993-07-13 1995-05-16 At&T Corp. Controlled-feedback packet switching system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03203442A (ja) * 1989-12-29 1991-09-05 Nec Eng Ltd 回線制御アダプタ
JPH04192743A (ja) * 1990-11-26 1992-07-10 Matsushita Electric Ind Co Ltd 受信処理装置
JPH04237238A (ja) * 1991-01-21 1992-08-25 Toshiba Corp 受信バッファ管理方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020066283A (ko) * 2001-02-09 2002-08-14 삼성전자 주식회사 네트웍 메모리 관리 방법 및 그를 이용한 네트웍 드라이브장치
US9037810B2 (en) 2010-03-02 2015-05-19 Marvell Israel (M.I.S.L.) Ltd. Pre-fetching of data packets
JP2011204233A (ja) * 2010-03-18 2011-10-13 Marvell World Trade Ltd バッファマネージャおよびメモリ管理方法
US9769081B2 (en) 2010-03-18 2017-09-19 Marvell World Trade Ltd. Buffer manager and methods for managing memory
US9069489B1 (en) 2010-03-29 2015-06-30 Marvell Israel (M.I.S.L) Ltd. Dynamic random access memory front end
US9098203B1 (en) 2011-03-01 2015-08-04 Marvell Israel (M.I.S.L) Ltd. Multi-input memory command prioritization

Also Published As

Publication number Publication date
US6181705B1 (en) 2001-01-30
JP2596718B2 (ja) 1997-04-02

Similar Documents

Publication Publication Date Title
JP2596718B2 (ja) ネットワーク通信バッファを管理する方法
US5613155A (en) Bundling client write requests in a server
EP0582666B1 (en) Method and apparatus for buffering data within stations of a communication network
US7337275B2 (en) Free list and ring data structure management
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US6836808B2 (en) Pipelined packet processing
CN101015187B (zh) 在网络协议处理的卸载中支持连接建立的设备和方法
CN100468377C (zh) 在网络协议处理的卸载中支持存储器管理的设备和方法
US5781741A (en) Message communications system in a parallel computer
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US20030110166A1 (en) Queue management
US6993602B2 (en) Configuring queues based on a given parameter
JPH07311726A (ja) 計算システムおよび関連する方法
EP1466449A1 (en) Deferred queuing in a buffered switch
US7124231B1 (en) Split transaction reordering circuit
WO2004019165A2 (en) Method and system for tcp/ip using generic buffers for non-posting tcp applications
CN111538694B (zh) 一种用于网络接口支持多链接和重传的数据缓存方法
US6678758B2 (en) Dynamic queuing for read/write requests
US8661223B1 (en) Buffer management architecture
US8170041B1 (en) Message passing with parallel queue traversal
US7386643B2 (en) Mechanism to guarantee forward progress for incoming coherent input/output (I/O) transactions for caching I/O agent on address conflict with processor transactions
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
US6119202A (en) Method and apparatus to interleave level 1 data cache line fill data between system bus and level 2 data cache for improved processor performance
EP1358565B1 (en) Method and apparatus for preventing starvation in a multi-node architecture
US20030223447A1 (en) Method and system to synchronize a multi-level memory