JPH09171492A - ネットワークインターフェース - Google Patents
ネットワークインターフェースInfo
- Publication number
- JPH09171492A JPH09171492A JP8207369A JP20736996A JPH09171492A JP H09171492 A JPH09171492 A JP H09171492A JP 8207369 A JP8207369 A JP 8207369A JP 20736996 A JP20736996 A JP 20736996A JP H09171492 A JPH09171492 A JP H09171492A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- frame
- descriptor
- network interface
- queue
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
- G06F13/128—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
- H04L2012/5609—Topology
- H04L2012/5613—Bus (including DQDB)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5646—Cell characteristics, e.g. loss, delay, jitter, sequence integrity
- H04L2012/5652—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
- H04L2012/5653—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
- H04L2012/5658—Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
において、フレームモードのすべてが共存でき、最適バ
ッファモード、ダイナミックおよびスタティックチェイ
ニング、ストリーミングを可能にすると共に、チャッキ
ング可能にするネットワークインターフェースを得る。 【解決手段】 フレキシブルな最適化されたブロッキン
グを生じない送信インターフェース、異なるサイズのパ
ケットに適合するよう、バッファを多数のチャンクまた
はセグメントに分割するチャンキングシステムを含む受
信インターフェース、更に、該受信インターフェースは
リンクされたリスト内の第1バッファのためにリンク要
素が不要であるチャンキングをサポートするための最適
化リンクリスト方法を含み、実施の形態では小パケット
を送信する際の相対的オーバーヘッドを減少するように
小パケットフォーマットが与えられる。
Description
伝送システムにおけるネットワークインターフェースに
関し、より詳細には、パケットから成るデータがフレー
ムを構成し、各フレームはチャンネルの記述を含む状態
で送信機からチャンネルまたはバーチャルサーキットを
介して受信機へ送信するデータ伝送システムにおけるネ
ットワークインターフェースに関する。
ムは、多数のネットワーク交換機すなわちノードを通る
送信ノードと受信ノードとの間のコネクション、すなわ
ちいわゆるバーチャルチャンネルを通して送信側から受
信側へデータを送信する。データのパケットをこのよう
にして送る際、さらにあるシステムでは、ATMネット
ワーク内のセルのような構成サブ要素は送信ノードから
受信ノードへの送信のためのバーチャルチャンネルによ
って識別される。
データシステムとのデータの送受信をするように装備さ
れたコンピュータでは、ネットワークインターフェース
が例えば銅線、同軸ケーブルまたは光ファイバのような
物理的ネットワーク媒体へホストコンピュータを接続す
る。このホストコンピュータにはネットワークインター
フェースが設けられており、このネットワークインター
フェースは、送信のため、送信すべきパケットデータを
含むホストコンピュータによって与えられるデータバッ
ファを取り込み、これらパケットを送るようになってお
り、ネットワークインターフェースはこれらパケットが
送られたときホストコンピュータに知らせる。
ーフェースは、受信のため、入力するパケットを記憶で
きる空のデータバッファを提供する。このネットワーク
インターフェースはホストデータバッファをパケットデ
ータで満たし、すべてのパケットの受信が完了したとき
ホストコンピュータに知らせる。
ーフェースは、使用されるデータ通信機構に適切な物理
的層およびデータリンク層機能を実現する。物理的層と
は物理的媒体、例えば同軸ケーブルまたはワイヤー等を
通してビットを送るためのプロトコルであり、データリ
ンク層とはネットワークの一端から他端へデータのユニ
ットを伝送するためのプロトコルを意味する。ネットワ
ークインターフェースは、使用されるデータ通信機構に
適切な機能、例えばより小さいデータユニットとなるよ
うにパケットをセグメント化または分割すること、セグ
メント化の逆に再組み立てすること、およびフロー制御
の機能を実行する。
ば、送信用のより小さい単位に分割され、次にフレーム
を形成するよう適切な制御情報でカプセル状とされる。
この発明の目的のために、データ通信を作動させること
ができる方法は多数あるが、各フレームは、本明細書で
バーチャルチャンネルまたはコネクションと称される送
信ノードと受信ノードとの間の指定チャンネル上で伝送
される。これらのタイプのデータ通信システムではバー
チャルコネクション、すなわちチャンネルの識別子をフ
レーム内で搬送するようになっている。
スは、データ通信およびホストとネットワークインター
フェースとの間の同期のために、一般にリングキューを
使用する。リングキューすなわち円形キューは、キュー
が固定されたサイズのメモリを占めるよう、先入れ先出
し、すなわちFIFOキューがラップする共通なデータ
構造である。
の送信側にはこれらリングキューのうちの2つが割り当
てられ、受信側には2つが割り当てられる。送信側に関
しては、送信側内のキューのうちの1つが送信すべきフ
レームを表示する。この「送信入力」キュー内の各エン
トリーは1つのフレームを記述する。従って、これらエ
ントリーはフレームデスクリプタ(フレーム識別子)と
して知られている。送信側の第2のキューは送信が完了
したフレームのデスクリプタ(識別子)を含む「送信完
了」キューである。受信側では1つのキューは空のバッ
ファを記述するデスクリプタを含む「フリーバッファ」
キューである。受信側の第2キューは一般に「受信完
了」キューであり、このキューではエントリーは受信の
完了したフレームデータを記述するフレームデスクリプ
タとなっている。
付加的エントリーを加えることができる場所を記述する
「テール」または「イン」ポインタ、およびリングキュ
ーからエントリーを除くことができる場所を記述する
「ヘッド」または「アウト」ポインタを有する。
にフレームデスクリプタを挿入し、作用すべきフレーム
デスクリプタがあることをネットワークインターフェー
スに通知する。当然ながら、処理すべきフレームデスク
リプタがあることをネットワークインターフェースに通
知する方法は多数ある。1つの方法は、ヘッド位置にお
けるエントリーを読み出すことにより、ネットワークイ
ンターフェースはホストに応答し、テールポインタを更
新することである。
タに書き込みをし、リングキューのヘッドに有効エント
リーがあることをネットワークインターフェースに通知
する方法である。この方法と組み合わせてエントリーが
有効であることを表示する現在ビットをリングキューエ
ントリー内に入れることが多い。
フェースがリングキューのヘッド位置をポーリングし、
この位置を繰り返し読み出すことである。ネットワーク
インターフェースがセットされた現在ビットを通知する
と、エントリーは送信すべきフレームを記述する有効フ
レームデスクリプタを含む。これら前述した方法は、リ
ングキューが空の状態から空でない状態に移行したこと
をネットワークインターフェースに通知するためのプロ
セスを記述する。
を完了したことを表示するエントリーを有する。かかる
出力キューに対して、リングキューが有効フレームデス
クリプタを含むことをホストに知らせる方法は種々多数
存在する。1つの方法は、ホストにインターラプトし、
ホストにリングキューレジスタを検査させる方法であ
る。別の方法は、現在ビットがセットされていることを
判断し、エントリーが有効フレームデスクリプタを含む
ことを表示するために、ホストに対しリングキューエン
トリーをポーリングすることである。
る。送信側と同じように入力キューと出力キューがあ
る。入力キューとは空のバッファを含む「フリーバッフ
ァ」キューである。このキューは、ホストがこのキュー
における有効なエントリーをネットワークインターフェ
ースに通知するための効率的な手段を有することが重要
でないことを除き、送信入力キューと同じように機能す
る。受信完了キューは送信完了キューと同様な出力キュ
ーであり、ホストへの通知は同じように働く。
ワークインターフェースはネットワークインターフェー
スカード、すなわち入力/出力、I/Oバスによりホス
トコンピュータに電気的かつ物理的に接続するNICの
形態をしている。多数使用され、よって、パーソナルコ
ンピュータまたはワークステーションコンピュータで重
要なかかるI/Oバスの一例としては、周辺接続インタ
ーフェース、すなわちPCIバスがある。このPCIバ
スは極めて高速であるが、メモリアクセスよりかなり低
速である。従って、PCIバスのアクセスが性能上のボ
トルネックとなり得るので、この結果、オペレーショ
ン、例えばフレームの送受信を完了するのに必要な回数
を最小とする条件が生じている。
ある。第1の目的は、フレームの実際のデータを転送す
ることであり、第2の目的はリングキュー内にエントリ
ーをロード及び記憶し、さらにバッファデスクリプタを
読み出し及び書き込みすることである。後者の目的は制
御オーバーヘッドであり、これは特にオーバーヘッドが
比較的性能に大きな衝撃を与える小メッセージに対して
最小にすることが望ましい。従って、I/Oバスアクセ
スの回数はオーバーヘッドを構成する。従って、どのネ
ットワークインターフェースでもこれらアクセス、従っ
てオーバーヘッドを最小にすることが望ましい。データ
転送のクリティカルパスにおけるドライバとオペレーテ
ィングシステムとの相互作用を最小にすることも重要で
ある。I/Oバスアクセスおよびドライバとオペレーテ
ィングシステムとの相互作用の双方は、データ転送プロ
セスにおけるオーバーヘッドに寄与する。
フレームをベースとする通信システムでは、送信側およ
び受信側の双方で大きな問題がある。送信側に関して
は、ネットワークインターフェースの構造で解決しなけ
ればならない問題が少なくとも4つある。第1の問題
は、ネットワークインターフェースに送信すべきデータ
を識別することであり、第2の問題は特定のコネクショ
ン、すなわちバーチャルチャンネルのためのあるフレー
ムが他の接続すなわちチャンネルのためのフレームの送
信をブロックするブロッキングの問題である。第3の問
題は、利用可能なデータを送信できることを高速かつ効
率的にネットワークインターフェースに通知することで
ある。最後に小パケットの送信に対するオーバーヘッド
を低く保証する問題がある。
フェースおよびドライバの構造に注意を払わない場合、
小パケットの送信に関連したホストまたはオーバーヘッ
ドはネットワーク上でデータを実際に送信する場合の何
倍にもなり得る。小パケットはクライアント−サーバー
計算システムで共通なリクエスト応答スタイルの通信で
特に重要である。従って、ネットワークインターフェー
スの構造が小パケットに適合しながら同時に多量のデー
タ、すなわち多量のデータパケットを処理できることが
重要である。
の構造に少なくとも3つの問題がある。第1の問題と
は、到着データを記憶する場所を識別することである。
第2の大きな問題は、ホストによってネットワークイン
ターフェースに与えられる空のバッファを効率的に使用
することに関連する。一般に、受信側はフレーム全体を
受信した後はフレームに関する考えを有していない。こ
れにより、ホスト側での適切なサイズの空のバッファ空
間を探すという問題が生じる。一般的に行われているや
り方は、フレームが到着するごとに大きい空のバッファ
を確保することである。この結果、フレームが到着する
ごとにフレームサイズを無関係にネットワークインター
フェースは1つのバッファを手に入れる。大きなフレー
ムの場合多数のバッファが必要となることもある。
後のバッファを正確に満たすことはないので、この結
果、バッファの一部が使用されない状態となる。小フレ
ームに対してはこのようなフラグメント化はかなりのも
のとなり得るので、この結果、バッファ空間の利用は不
効率となる。64バイトを含む小フレームおよび2キロ
バイトのバッファサイズに対しては、1984バイトが
使用されず、このことは97%のバッファ空間が使用さ
れないことを示している。従って、ホストは実際のデー
タに必要なバッファ以外に空のバッファを使用するため
により多数のメモリを専用としなければならないことが
ある。一般に、バッファは物理的メモリ内に常駐しなけ
ればならず、従って、不効率なバッファの使用の結果、
メモリのコスト条件が高くなる。第3の問題は、小メッ
セージの受信に対するオーバーヘッドを小さく保証する
ことである。
へ送るべきデータの識別に関して、送信側および受信側
から生じたネットワークインターフェースの構造に関す
る問題を説明したが、一般にバッファおよびバッファデ
スクリプタのリンクされたリストが使用される。また、
一般に、かかるリンクされたリストフレームのデスクリ
プタの単一の送信入力キーがある。先に述べたブロッキ
ングの問題はかかる単一リングキューを利用するシステ
ムで生じ得る。
めのフレームデスクリプタをリングキューから除くこと
ができない場合に生じる。この理由は、そのコネクショ
ンのためのフレームデスクリプタを記憶する場所が同じ
コネクションのための送信中のフレームを記憶するのに
既に使用されているからである。このようなフレームデ
スクリプタを送信入力キューから除くことができないの
で、キュー内のその後のフレームデスクリプタに対する
アクセスがブロックされ、よって、フレームデスクリプ
タが別のコネクションのためのものであってもこれらを
キューから除くことができない。
三菱電機株式会社により現在実現されつつある。三菱電
機は各コネクションのためのフレームデスクリプタおよ
びフレームのリンクされたリストに関連するダイナミッ
クチェイニングと称されるある種の技術を使用してい
る。潜在的にブロッキング状況が生じると、ネットワー
クインターフェースは送信入力キュー内の問題があるフ
レームデスクリプタを除き、これをそのコネクションの
ためのフレームデスクリプタのリンクされたリストへ移
動させる。この結果、先にブロックされたフレームデス
クリプタにアクセスできる。
方法を実現するにあたり、リングキューエントリーがフ
レームデスクリプタをポイントし、次に、そのデスクリ
プタがバッファのリンクされたリストのヘッドをポイン
トするというフレームデスクリプタの不効率なフォーマ
ットを使用している。この方式では、バッファデスクリ
プタと別個にフレームデスクリプタをリンクしており、
構成をかなり複雑としなければならない。さらに、この
ような実現のためのフレームフォーマットはチェイニン
グを可能にするフレキシビリティに欠けている。
士通、テキサスインスツルメンツ社およびデジタル社の
ような会社によって製造されている、これまでのネット
ワークインターフェースには、大きなパケットのための
通知がメッセージの送信の総時間のうちのかなりの部分
を占めないので通知の問題を処理しない。他方、小パケ
ットに対する通知およびオーバーヘッドを処理しなけれ
ばならない。
ツルメンツ社のネットワークインターフェースは、フリ
ーバッファキューを2つにする(一方を大サイズバッフ
ァ用にし、他方を小サイズバッファ用にする)ことによ
りバッファ空間の問題を処理している。コネクションは
コネクションに到着するすべてのフレームが小さい空の
バッファまたは大きい空のバッファのいずれかを使用し
て受信されるように、統計的に構成されている。コネク
ションと実際のフレームサイズに良好な相関性がある場
合、この方法は満足できるように作動する。しかしなが
ら、この方法は、実際には満足できるものでなく、当然
ながらあらかじめフレームのサイズを予想することはで
きず、従って、メッセージを記憶するサイズを予想する
ことはできない。
低く保証するためにI/Oバスアクセスおよびドライバ
とオペレーティングシステムとの相互作用を含む非デー
タ転送のオペレーションの回数を最小としなければなら
ない。従来システムのいずれもドライバとオペレーティ
ングシステムの相互作用を解消せず、同時にデータ転送
に必要な回数を越えるI/Oバスアクセスの回数を最小
にしていない。この結果、従来のシステムではデータの
転送を処理する際のオーバーヘッドの機能を処理してい
ない。
間)の最小化を取り扱っていない理由の1つは、これま
でかかる低レイテンシーを必要とするアプリケーション
がなかったことによる。過去において、低レイテンシー
を必要とするアプリケーションが存在していたが、これ
らアプリケーションはワークステーションおよびパソコ
ンとは異なり、一般にパラレル処理装置で実行されてい
たものである。さらに、リクエスト−応答通信がネット
ワーク上のすべてのトラフィックのうちのかなりの部分
となっているクライアント−サーバー計算が大幅に増加
している。これらの場合、レイテンシーが小さいことは
システム全体の性能に有利となり得る。
フェースの設計および実現は複雑となり、バッファ空間
の面積とフォーマットの妥協によりかかるシステムの効
率的な実現が困難となることが理解できよう。例えば富
士通は送信側および受信側で複雑かつ非効率的に実現さ
れるモデルMB86686Aの形態をしたATMネット
ワーク用のネットワークインターフェースを提供してい
る。ここでは、第1に、ネットワークインターフェース
ローカルメモリ内にリングキューおよびバッファデスク
リプタが常駐しなければならず、これにより、これら構
造を管理するためのホストのアクセスに対するオーバー
ヘッドが高くなり、通知に対するオーバーヘッドも高く
なる。第2に、バッファデスクリプタはテーブルに限定
されており、別個のテーブル内のバーチャルチャンネル
情報をポイントするのにホストによって各バッファデス
クリプタのエントリーをセットアップしなければならな
い。
が比較的簡単なATMネットワーク用チップすなわちモ
デルNETA1561用チップを製造している。このデ
バイスは各コネクションにリングキューを与えることに
よりブロッキングの問題を解決している。しかしなが
ら、このブロッキングの問題は、わずか250のコネク
ションに対応してリングキューの数が255に限定され
ている場合に限ってブロッキングの問題が解消されるに
過ぎない。クライアント−サーバーアプリケーション用
のサーバー側では、これよりも多いコネクションに適合
させなければならないことが多い。
しては、テキサスインスツルメンツ社のシステムは2つ
の理由から不効率なポーリングを使用している。まず、
第1に、ホストがテキサスインスツルメンツ社のインタ
ーフェースでポーリングを開始することはコストが高く
つく。ホストはリングキューのポーリングを可能とする
ための情報を書き込むのにドライバオペレーション、す
なわち高価なオペレーションを実行しなければならな
い。第2に、ネットワークはフレームデータを送るよう
なスケジュールとなっている場合に限りポーリングを行
うので、さらに不効率となる。このことは、キューが空
の場合、そのタイムスロットで他のコネクションがフレ
ームデータを送ることができた場合でも、タイムスロッ
ト中でフレームデータが送られないことを意味してい
る。この結果、送信バンド幅がむだとなる。
クインターフェースの別の問題は、送信側ではフレーム
ストリングがないことである。この結果、データ送信を
開始できるようになる前にリングキュー内にデータの全
フレームをロードしなければならない。受信側ではテキ
サスインスツルメンツ社のネットワークインターフェー
スはチャンキングを行わないと理解される。むしろ、こ
のインターフェースは異なるフレームサイズに適合する
よう、2つの異なるサイズの空のバッファのための別個
のキューを有する。
解消するためになされたもので、パケットをベースとす
るデータ伝送システムにおいて、フレームモードのすべ
てが共存でき、最適化されたバッファモード、ダイナミ
ックおよびスタティックチェイニングを可能にすると共
に、ストリーミングを可能とし、受信側でチャンキング
を可能とするネットワークインターフェースを得ること
を目的とする。
め、この発明に係るネットワークインターフェースは、
ホストコンピュータをネットワークに接続するためのコ
ネクションベースデータ伝送システムにおけるネットワ
ークインターフェースであって、I/Oバスインターフ
ェースと、このI/Oバスインターフェースに接続され
た受信ブロックおよび送信ブロックと、上記I/Oバス
インターフェースを上記ホストコンピュータに接続する
バスおよび上記送信ブロックと上記受信ブロックを上記
ネットワークに接続するための手段を有するネットワー
クインターフェースカードを備え、上記受信および送信
ブロック内に、上記ホストコンピュータが有する送信入
力TXinおよび送信完了TXdoneキューならびに
受信フリーバッファRXfreeおよび受信完了RXd
oneキューと、周辺部品相互接続インターフェースと
によって利用されるマルチワードフレームデスクリプタ
フォーマットを実現するための手段を設けたものであ
る。
プタフォーマットは、モードSフォーマットに適合する
ためのフィールドを含むことを特徴とするものである。
プタフォーマットは、モードMフォーマットをサポート
することを特徴とするものである。
プタフォーマットは、最適化されたモードMフォーマッ
トをサポートすることを特徴とするものである。
プタフォーマットは、チェイニングをサポートすること
を特徴とするものである。
プタフォーマットは、ストリーミングをサポートするこ
とを特徴とするものである。
プタフォーマットは、チャンキングをサポートすること
を特徴とするものである。
カードは、ローカルメモリを含み、上記複数のキューが
上記ローカルメモリ内に位置し、上記マルチワードフレ
ームデスクリプタは、上記システムが入力キューまたは
出力キューをアドレス指定するか、または上記キューが
上記ホストメモリ内にあるかどうかとは無関係に、フレ
ームデスクリプタに対する同じフォーマットを可能にす
るよう、デュアル現在ビットを有するフィールドを含む
ことを特徴とするものである。
ンターフェースであり、上記マルチワードフレームデス
クリプタフォーマットは、AAL0およびAAL5フォ
ーマットの双方に適合するためのフィールドを有するこ
とを特徴とするものである。
カードは、ブロッキングを防止するための手段を含むこ
とを特徴とするものである。
eキューは、フレームデスクリプタを有し、該フレーム
デスクリプタは、バッファポインタおよび上記フレーム
デスクリプタのフォーマットに類似するフォーマットを
有する関連するバッファデスクリプタに対するポインタ
を含むことを特徴とするものである。
eキューのための上記フレームデスクリプタおよび上記
バッファデスクリプタは、1つのデスクリプタとなるよ
うに組み合わされていることを特徴とするものである。
ーフェースは、1つ以上のバッファと、バッファのリン
クされたリストと、単一バッファまたはバッファの上記
リンクされたリストのヘッドを表示するためのマルチワ
ードフレームデスクリプタを有し、バッファの上記リン
クされたリスト内のバッファの各々が自己のバッファデ
スクリプタを有し、ネットワークを通してホストコンピ
ュータから情報のフレームを送信するものである。
リプタのフォーマットは、スタティックチェイニング、
ダイナミックチェイニングおよびストリーミング(これ
らはすべて同じデスクリプタフォーマットからのもので
ある)を可能にするものである。
フレームを識別するための上記フレームデスクリプタを
含む手段を備えるものである。
手段は、上記マルチワードフレームデスクリプタを含む
リングキューを備え、上記フレームデスクリプタが上記
バッファに対するポインタまたはバッファの上記リンク
されたリストのヘッドに対するポインタを含むものであ
る。
フレームを記述する情報を含み、上記情報がバーチャル
チャンネル番号、ステート情報およびモード表示のうち
の少なくとも1つを含み、フレームデータに対するファ
ットポインタを構成するマルチワードフレームデスクリ
プタを提供するものである。
リンクされたリスト内の第1バッファに対するバッファ
デスクリプタをポイントし、さらに、上記リンクされた
リスト内の次のバッファに対する次のバッファデスクリ
プタをポイントするものである。
イバおよびオペレーティングシステムを有し、上記ネッ
トワークインターフェースは、送信入力キーを有し、さ
らにフレームデスクリプタを上記送信入力キューに直接
書き込み、上記ドライバまたはオペレーティングシステ
ムによる介入を防止するための手段を含むものである。
形態を説明する前に、この発明に係るネットワークイン
ターフェースの要旨について説明する。この発明に係る
ネットワークインターフェースは、上述した従来例に係
る問題を解決するため、チャンネル番号およびモードイ
ンジケータのような記述情報を含む単一バッファまたは
かかるバッファのリンクされたリストのヘッドをフレキ
シブルに表示できるフレームデスクリプタを使用する。
後者の場合、各バッファは自己のバッファデスクリプタ
を有する。フレームおよびバッファデスクリプタのフォ
ーマットは、後述するようなスタティックチェイニン
グ、ダイナミックチェイニングおよびストリーミングを
考慮したものである。
テクチャ等で使用するためのネットワークインターフェ
ースを実現するために、この発明では、リングキューが
マルチワードフレームデスクリプタを含むリンクされた
リストのバッファフォーマットを利用することにより、
ネットワークインターフェースへ送るフレームを識別す
るための手段が設けられる。かかる各デスクリプタは、
データバッファに対するポインタ、バッファのリンクさ
れたリストのヘッドに対するポインタ、または両者の組
み合わせのいずれかを含む。フレームデスクリプタ内の
他のワードはフレームを記述する他の情報、例えばバー
チャルチャンネル番号、あるステート情報および種々の
モード表示を含む。
デスクリプタはフレームデータに対するいわゆるファッ
トポインタを構成する。通常のモードは1つのフレーム
がバッファのリンクされたリストから成るいわゆるモー
ドMである。このリンクされたリスト内の各バッファは
バッファデスクリプタによって記述される。フレームデ
スクリプタはリスト内の第1バッファのためのバッファ
デスクリプタをポイントし、このバッファデスクリプタ
は、次に、リンクされたリスト内の次のバッファのため
の次のバッファデスクリプタをポイントし、同様に、次
々にポイントされる。フレームおよびバッファデスクリ
プタのフォーマットはスタティックチェイニング、ダイ
ナミックチェイニングおよびストリーミングをサポート
するようになっている。
送信入力キュー内にチェインを入れる前にホストにより
同じコネクションのための多数のフレームのリンクされ
たリストの表示を組み合わせることを意味する。この利
点は、多数のフレームを記述するのに1つのフレームデ
スクリプタでよいということである。ダイナミックチェ
イニングとは、スタティックチェイニングプロセスと同
じチェイニングの結果を意味するが、これは同じコネク
ションに対し連続するフレームが到着する際にネットワ
ークインターフェースのオペレーションにより達成され
る。従って、ダイナミックチェイニングは、ブロッキン
グの問題を自動的に解決するための方法を提供する。ス
トリーミングとは、フレームデータのすべてをネットワ
ークインターフェースに与えることができるようになる
前にフレーム送信または受信を廃止することを意味す
る。
種々の最適化方法がある。特に、モードSと称される最
適化方法は、小フレームに対するオーバーヘッドを極め
て低くする。モードSでは、フレームデスクリプタはバ
ッファを直接ポイントし、従って、フレームデスクリプ
タはこのケースにおけるバッファデスクリプタの2倍に
なる。
プタを送信入力キューに直接書き込むアプリケーション
により通知を効率的に行っていることである。ネットワ
ークインターフェースは、2つのモード、すなわちポー
リングおよびアイドルモードの一方でよいと解される。
ポーリングモードでは、ネットワークインターフェース
は送信入力キュー内のフレームデスクリプタを迅速に探
し、送信をスタートする。アプリケーションがドライバ
またはオペレーティングシステムの介入を受けることな
く、リングキューに直接書き込みできることからよい効
率性が得られ、ポーリングがイネーブルされる場合には
1回のI/Oバスオペレーションでよい。送信入力キュ
ーがポーリングモードになっていない場合、アプリケー
ションは特定の期間の間ネットワークインターフェース
がポーリングモードとさせる通知レジスタに書き込みで
きる。
インターフェースは、バッファの利用効率の増すチャン
キング機能を実行する。チャンキングとは、受信された
フレームを記憶するために使用されるバッファ領域を多
数のチャンクに分割することを意味している。各チャン
クは1つのバッファまたはこれよりもサイズの小さいバ
ッファであり、バッファ内に完全に適合する1つのフレ
ームの一部を含む。従って、小フレームは1つのチャン
クしか必要でないが、大きなフレームはサイズが1つの
バッファよりも小さい第1チャンク、1つのバッファに
等しいチャンク、さらにサイズがフルバッファよりも小
さいチャンクを必要とすることがある。チャンキングす
なわちバッファ空間を分割することにより、異なるサイ
ズのフレームに適合できるので、使用されないバッファ
空間がなくなる。これを行うため、バッファが以前は1
つのフレームによって部分的にしか満たされないと仮定
すると、完全に空のまたは使用されないバッファに記憶
する代わりに、先のフレームの終了部からスタートして
現在のバッファに次に入信するフレームが記憶される。
のバッファ領域を他のフレームで満たすものである。必
要であれば、システムは現在フレームの他の部分に対し
別の空のバッファを含む。この後のバッファに対してフ
レームが過度に長いものであると仮定すれば、別の空の
バッファが得られる。従って、チャンキングはネットワ
ークインターフェースを簡素にし、バッファをより効率
的に利用するものである。また、オペレーションによる
チャンキングはフレームの到着毎に新しい空のバッファ
を必要とするオーバーヘッドを不要にするものである。
ある。特に、ネットワークインターフェースは各チャン
クのためのフレームデスクリプタを書き込み、マルチチ
ャンクフレームに対するストリーミングを使用するか、
フレームのために1つのフレームデスクリプタを書き込
み、チャンクのリンクされたリストを直接発生する。か
かるバッファのリンクされたリストを直接構築するに
は、フリーバッファキューは空のバッファおよびフリー
バッファデスクリプタに対するポインタを含み、フリー
バッファデスクリプタはバッファを共にリンクする際に
使用される。ネットワークインターフェースが空のバッ
ファポインタをキューから除くときはフリーバッファデ
スクリプタもまたポインタをキューから除く。
ッファにわたって広がっており、バッファの境界に第1
チャンクがない場合には問題がある。この場合、ネット
ワークインターフェースは、既に先のチャンクのための
フリーバッファデスクリプタを使用したかもしれない。
従って、ネットワークインターフェースはチャンクを有
するが、リンクリストを形成するバッファデスクリプタ
を有してはいない。この発明では、この問題は最適化さ
れたモードMと称される最適化されたリンクされたリス
トフォーマットにより解決され、このモードではフレー
ムデスクリプタがリンクされたリスト内の第1チャンク
を直接ポイントし、さらに第2デスクリプタをポイント
し、このバッファデスクリプタは第2チャンクおよびリ
ンクされたリストのバッファデスクリプタをポイントす
る。従って、リンクされたリスト内の第1チャンクに対
してはバッファデスクリプタは不要である。
は、みなしご状態となったバッファデスクリプタの問題
が生じ得る。ネットワークインターフェースがバッファ
入力キュー内で得られる空のバッファだけを使用し、フ
リーバッファデスクリプタを使用しない場合にみなしご
状態のバッファデスクリプタが生じる。この状況は、バ
ッファ内に1つ以上の短いフレームを記憶し、その後、
多数のバッファを必要とするフレームが続く場合に生じ
る。この場合、短いフレームの各々がバッファデスクリ
プタを必要とせず、むしろ、後述するモードSバッファ
フォーマットを使用する。マルチバッファフレームは最
適化されたモードMフォーマットを利用するので、フリ
ーバッファに関連するフリーバッファデスクリタを利用
するフレームはない。従って、バッファデスクリプタが
みなしご状態となる。
の問題に対する1つの解決案は、空のバッファにおいて
第1チャンクでスタートするフレームに対して常にモー
ドMフォーマットを使用することである。モードMは常
にバッファデスクリプタを使用するので、これにより、
常にフリーバッファデスクリプタで使用されることが保
証されるからである。
ト、すなわちモードS、モードMおよび最適化されたモ
ードMを必要とする。バッファ内に適合する短いフレー
ムに対してはモードSが使用され、バッファの境界部で
始まるフレームに対してはモードMが使用され、バッフ
ァの境界部で開始しないマルチバッファフレームに対し
ては最適化されたモードMが使用される。
ムモードのすべてが共存でき、スタティックチェイニン
グおよびダイナミックチェイニングを可能とし、ストリ
ーミングを可能とし、受信側でチャンキングを可能とす
るための、フレームデスクリプタおよびバッファデスク
リプタに対する統一されたフォーマットにある。
タ伝送システムは、最適化されたバッファモード、ダイ
ナミックおよびスタティックチェイニング、ストリーミ
ングおよび小パケットフォーマットの利用を含むフレキ
シブルな最適化されたブロッキングしない送信インター
フェースを含む。スタティックチェイニングとは、同一
の送信チャンネル、すなわちバーチャルチャンネルに対
する連続パケットに対し、リンクされたリストを共に接
続することであり、ダイナミックチェイニングとは、ネ
ットワークがこのチェイニングを自動的に実行し、ブロ
ッキングの問題を解消する手段を意味する。
ーフェースに対しすべてのパケットデータを提示する前
にパケットデータの送信を開始することを意味する。こ
れにより、バッファ空間のより高速のリサイクリングが
可能となる。受信側では、ストリーミングとは、全パケ
ットを受信する前にパケットデータの処理を開始するこ
とを意味する。パケット送信システムは異なるサイズの
パケットに適合するよう、1つのバッファを多数のチャ
ンクまたはセグメントに分割するチャンキングシステム
を内蔵する受信インターフェースも含む。
ンクされたリスト内の第1バッファに対してリンキング
要素が不要なチャンキングをサポートするための最適化
されたリンクされたリスト方式を含む。一実施の形態で
は、小パケットの送信時の相対的オーバーヘッドを減少
するように小パケットフォーマットが提供される。別の
実施の形態では、オーバーヘッドを更に減少するため、
送信インターフェースで受信側に関連した最適にされた
バッファモードを使用できる。
については図面を参照して詳細な説明を読むことにより
理解できよう。 最適でないシステム 一般に、低オーバーヘッド通信を行うための主要な条件
は、データの送受信のクリティカルパス内のオペレーテ
ィングシステムを除くことである。この条件を満たすた
め、ネットワークインターフェースは、ダイレクトアク
セスアーキテクチャに構成することができる。このダイ
レクトアクセスアーキテクチャは多数のダイレクトアク
セスチャンネルを特徴とするものであり、各ダイレクト
アクセスチャンネルには多数のコネクションが割り当て
られる。このシステムではリングキューの専用の組があ
り、各チャンネルは自己の4つのリングキューのセット
を有し、このうち2つのリングキューは送信用であり、
2つのキューは受信用となっている。
のメモリスペースが割り当てられ、ホストによって指定
されるアドレスが適当な専用メモリスペース内に入り、
ネットワークインターフェースによるオペレーションの
ために物理的アドレスへ変換されるよう保証するための
アドレス変換機構が設けられている。このような構造は
データ転送操作のためのネットワークインターフェース
とアプリケーションとの間のオペレーティングシステム
の相互作用を不要にしている。
ースのハードウェアがダイレクトアクセスアーキテクチ
ャをサポートすると考える。従って、アプリケーション
はメッセージの送りおよび検索を開始するためのリング
キューに直接アクセスする。しかしながら、ダイレクト
アクセスアーキテクチャは、クリティカルパス内のドラ
イバーとオペレーティングシステムとの相互作用を除く
ことによりオーバーヘッドを大幅に減少するが、このよ
うな技術自体はレイテンシー(待ち時間)を最小にする
ものではない。さらに、システムは一般に汎用データ転
送設備を提供するが、この設備はユニバーサルとしなけ
ればならないので、小フレームの転送に対しては最適と
ならない傾向がある。従って、小さいフレームは必要な
オーバーヘッドよりも高いオーバーヘッドを使用する。
術では、ホストメモリ10はネットワークインターフェ
ースカードを介してネットワークに、またはI/Oバス
14を介してネットワークインターフェースカードすな
わちNIC12に結合されている。リングキュー16は
エントリーとしてフレームデスクリプタ22を含む、T
Xinキューと称される送信入力キューである。フレー
ムデスクリプタ22は送信すべきデータを含むバッファ
20および40を備えたバッファデスクリプタ24のリ
ンクされたリストをポイントする。1つのフレームの情
報が送信されると、このフレームはバッファデスクリプ
タすなわちBD24をポイントするフレームデスクリプ
タ26として、TXdoneキューと称される送信完了
キュー18内へ書き込まれる。このことは、フレームデ
スクリプタおよびそれに関連するバッファデスクリプタ
およびバッファは、もう送信機構では使用しないことを
ホストシステムに示している。
ードすなわちNIC12は「出力」ポインタによって示
されたリングキュー16内の次のフレームデスクリプタ
入力22を読み出し、バッファデスクリプタのアドレス
を得る。次に、ネットワークインターフェースは、この
アドレスに対応するバッファデスクリプタ24からのデ
スクリプタとしてバッファデスクリプタを読み出し、対
応するバッファ、ここではバッファ20のベースアドレ
スおよびサイズを抽出する。次に、ネットワークインタ
ーフェースは上記アドレスからスタートしてバッファ2
0からデータを読み出したままのデータを送信する。バ
ッファ20内に保持されたデータが読み出され、送られ
た後、ネットワークインターフェース12は別のバッフ
ァデスクリプタ38をポイントするバッファデスクリプ
タ24内の次のポインタを読み出す。
別のバッファ40に関連している。バッファデスクリプ
タ38内のアドレスで開始してバッファ40内のデータ
が読み出される。バッファデスクリプタおよびバッファ
内のリンクされたリストが終了するまでこのプロセスが
続けられる。このリンクされたリスト内の最終バッファ
デスクリプタは0の次のポインタを有する。1つのフレ
ームのための最終データの送信が完了した後、ネットワ
ークインターフェースはフレームデスクリプタ22とし
て同じリンクリストをポイントするフレームデスクリプ
タ26を送信完了キューTXdone18内へ書き込
む。
トワークインターフェースカードすなわちNIC50に
よってフレームデータが受信され、カード50はこのデ
ータをI/Oバス54を介してホストメモリ52へ転送
する。ホストメモリ52は後にRXfreeと称すフリ
ーバッファリングキュー56および後にRXdoneと
称す受信完了リングキュー58を含むように構成され
る。RXfreeキュー56内の各エントリーはバッフ
ァデスクリプタ、例えばバッファデスクリプタ60をポ
イントするデスクリプタであり、このバッファデスクリ
プタ60は次にバッファ64のようなフリーバッファを
ポイントする。
レームが到着すると、NIC50は、フリーバッファリ
ングキュー56を読み出し、フリーバッファデスクリプ
タおよびフリーバッファ、例えばバッファデスクリプタ
60およびバッファ64に対するポインタを得る。その
後、同じバーチャルチャンネルのために到着したフレー
ムデータがバッファ64内の次のロケーションへ転送さ
れる。バッファ64がフル状態となれば、フリーバッフ
ァリングキュー56から別のエントリーを読み出し、別
のフリーバッファデスクリプタ、この場合にはバッファ
デスクリプタ62を得なければならない。
に対するポインタをバッファデスクリプタ60に書き込
み、バッファ66に対するフレームの連続性を表示し、
フレームデータをバッファ66に記憶するように進む。
このプロセスはそのフレーム用のリスト内の第1バッフ
ァデスクリプタへのポインタを含むRXdoneキュー
58内にNIC50がフレームデスクリプタを書き込む
ポイントで、フレーム表示の終了点を受信するまで続け
られる。これにより、受信側のデータ転送が完了する。
ワークのためのホストネットワークインターフェースに
ついて説明する。この発明は、実質的に包括的なネット
ワークに適用するが、特に、非同期転送モード、すなわ
ちATMネットワークに限定して説明することとする。
これより、すべての説明ではATMネットワーク用のホ
スト−ネットワーク間のインターフェースを仮定する。
して送られる。各セルは、図3に示されるように、5バ
イトのヘッダーと48バイトのペイロードから成る53
バイトのサイズとなっている。ヘッダーフォーマットに
ついては周知であり、種々の規格書、例えばTl LB310
“Broadband ISDN ATM Layer Functionality and Speci
fication”(1993年1月)に記載されている。簡単
に説明すれば、ヘッダーは4ビットのGFTフィールド
と、バーチャルチャンネルを記載する24ビットのVP
I/VCIフィールドと、4ビットのPTIと、1ビッ
トのCLPと、8ビットのヘッダーチェックサムから成
り、GFCは包括的なフロー制御に関連し、VPI/V
CIはバーチャルパスインジケータ/バーチャルチャン
ネルインジケータに関連し、CNPはセル喪失優先度に
関連する。
うにするため、ATMセル層は、通常、ATM適応層、
すなわちAALにラップされている。データ転送に一般
に使用されるかかる1つのフォーマットとして、AAL
5がある。図4はAAL5フォーマットのダイヤグラム
を示す。このフォーマットについては周知であり、種々
の規格書に記載されている。簡単に説明すれば、AAL
5フォーマットでは65535バイトまでのユーザーデ
ータパケットには0のパッドが付けられ、その後、2バ
イトの制御信号、パケットデータサイズを指定する2バ
イトと4バイトのCRC、すなわち周期的冗長性チェッ
クから成るAAL5トレーラーが続く。
ットサイズは、共通部分として総合的に発散サブ層、す
なわちCPCS INFOに関連する。ここで、フレー
ムと称すフレーム全体がATMセルペイロードの完全数
となるようにパディングが選択される。ATMセル内へ
のカプセル化のために、48バイトのペイロードとなる
ようにAAL5フレームを分割することをセグメント化
と称す。この反対のATMセルから48バイトペイロー
ドを抽出し、1つのフレームを形成することを再アセン
ブリと称す。
かに、ATMネットワークインターフェースは、一般
に、ローカルNICメモリ内での送受信のためにバーチ
ャルチャンネルテーブルまたは別個のテーブルを有す
る。このテーブルの各エントリーは関連するチャンネル
のための入力フレームをセグメント化し送信する現在位
置と、そのチャンネルで受信されたセルを後に受信フレ
ームを含むようにバッファ内に再組み立てする現在位置
を含む、各仮想チャンネルのためのステート情報を含
む。ネットワークインターフェースは、セルヘッダー内
の仮想チャンネル情報に基づき入力セルを適当なテーブ
ルエントリーおよびバッファへ向けるか、またはこれら
をデマルチプレクス化する。
ームデスクリプタを利用することにより、情報のセルを
転送し受信するための包括的システムについて説明した
が、送信側にも受信側にもいくつかの問題があることが
理解できよう。送信側での最も重要な問題として、上記
ブロッキングの問題が挙げられる。優先度の高いバーチ
ャルチャンネルのためのフレームデスクリプタの前のバ
ッファ16に同じバーチャルチャンネルのための多数の
フレームデスクリプタがキュー内に入れられると、ライ
ンのヘッドのブロッキングが生じ得る。
はTXinキュー16が空となるか、または既にフレー
ムのセグメント化および送信でビジー状態となったバー
チャルチャンネルのためのフレームデスクリプタに遭遇
するまで、NIC12はTXinキュー16からのエン
トリーを検索する。この結果、現在アイドル状態となっ
ているバーチャルチャンネルにその後のエントリーが対
応した場合でも、リングキュー内のその後の全てのエン
トリーは処理されないこととなる。このような意味で、
エントリーはブロックされる。図7を参照して説明する
ように、テキサスインスツルメンツ社のネットワークイ
ンターフェースはキューを1でなくて255とすること
により、この問題の可能性を減少させている。
電機によって開発中のシステムは同じバーチャルチャン
ネルのためのフレームをキューから出し、ダイナミック
にリンクすることによりこのブロッキングの問題を解消
せんとしている。しかしながら、この事実は必要以上に
複雑であり、次のフレームポインタを記憶するのにバッ
ファデスクリプタ内に余分なフィールドを必要とし、別
のポインタを記憶するのにネットワークインターフェー
スを必要とする。送信側の次の問題は送信のためにデー
タを利用できることをNICに知らせることに関連する
オーバーヘッドの問題である。
ションによりテールポインタレジスタを更新し、リング
キュー内の次にキュー内に入れるエントリーをポイント
することである。この問題は、アプリケーションが直接
リングキュー内に書き込みしたり、テールポインタレジ
スタに書き込みできないことである。むしろ、オペレー
ティングシステムがこのレジスタへの書き込みを行わな
ければならない。かかるオペレーティングシステムの動
作は30〜100ミリ秒もの長いオーバーヘッドを必要
とし得る。レイテンシー(待ち時間)を小さくするため
に、かかるオペレーティングシステムのオーバーヘッド
が許容できるアプリケーションもあるが、オペレーティ
ングシステムが関与することにより1つの交換ネットワ
ークに対し10マイクロ秒以上のアプリケーション間の
全体のレイテンシーが排除される。さらに、ATMフレ
ームは3ミリ秒ごとに1回到達し得るので、ATMに対
してはオペレーティングシステムを関与させることは排
除される。
のオーバーヘッドの問題として、必要なI/Oバスオペ
レーションの回数に関連するオーバーヘッドの問題が挙
げられる。図1から理解できるように、制御に必要なI
/Oバスの数は、リングキューの読み出しに1つ、バッ
ファデスクリプタの読み出しに1つ、その後のバッファ
につき1つである。バス転送用に必要なI/Oバスオペ
レーションの数が1である、サイズが1セルの小フレー
ムに対し、制御オーバーヘッドはフレームを送るのに2
回のI/Oバスオペレーションとなり、送信終了キュー
を更新するのに更に1回のオペレーションとなる。これ
は300%のオーバーヘッドである。換言すれば、デー
タの1セルを送るための小フレームに対しては、制御の
ためには3回のI/Oバスオペレーションが必要であ
り、比は3:1となる。
ーフェースに関連した主な問題は、バッファの利用とそ
の後に続くオーバーヘッドの問題である。過去におい
て、受信フレームのサイズに拘わらず1つのバッファが
使用されている。従って、最終バッファのある部分は一
般に使用されない。特に、小フレームの場合、バッファ
スペースのこのようなフラグメント化はかなりのものと
なり得る。これまでにテキサスインスツルメンツ社およ
び富士通から市販されているATMネットワークインタ
ーフェースチップの双方は、2つのフリーバッファキュ
ーを備えたシステムを利用していた。大きなサイズのバ
ッファに対しては第1のフリーバッファキューを利用
し、小サイズバッファのみに第2キューを利用してい
る。この結果、小さいフリーバッファキューまたは大き
いフリーバッファキューのいずれかを使用して受信する
ようにバッファチャンネルが構成されている。
イズのバッファまたは大サイズのバッファのいずれによ
っても収容できる均一なサイズを有していると仮定すれ
ば、この方式は満足するように作動する。しかしなが
ら、これら条件は実際にはほとんど当てはまらない。大
きいサイズのフリーバッファキューを使用する結果、小
メッセージに対するフラグメント化が生じ、一方、小サ
イズのフリーバッファキューを使用することにより、各
バッファを処理するための関連するオーバーヘッドを備
えた大きなメッセージのためのバッファが多くなる。
の要素がある。すなわち、通知のためのオペレーション
と制御用のI/Oバスオペレーションとがある。データ
が通知したことをホストに通知するためのネットワーク
インターフェースのためのオプションは、ホストをイン
ターラプトすること、またはホストにステータスロケー
ションをポーリングさせることである。不幸なことに、
従来のネットワークインターフェースではいずれもオペ
レーティングシステムのオーバーヘッドに関連してい
る。さらに、多数のアプリケーションがリングキューを
シェアするので、リングキューに対するすべてのアクセ
スはオペレーティングシステムを介して行わなければな
らず、従って、RX doneキューを読み出すのにク
リティカルパス内でオペレーティングシステムのオーバ
ーヘッドが生じる。
信側で利用される制御オペレーションの回数はフリーバ
ッファキューの呼び出しに1回、フリーバッファデスク
リプタの呼び出しに1回、バッファデスクリプタの書き
込みに1回、その後、フリーバッファごとに2回、RX
doneキューへのデスクリプタの書き込みに1回と
がある。1セルの小フレームに対しては、I/Oバスオ
ペレーションの総回数はデータ転送に対して1回、制御
用オーバーヘッドに対して4回となり、制御比は400
%となる。
に関し、三菱電機は図1のリングキュー16内の各エン
トリー67が図5内に示されたフレームをポイントする
ポインタであるシステムを開発中である。図5内のフレ
ームおよびバッファデスクリプタ64および66は全て
同じサイズである。各デスクリプタは関連するバッファ
70へのポインタ68および1つのフレームのための次
のバッファデスクリプタへのポインタ72を含む。各デ
スクリプタは十分なフィールドも含むので、バーチャル
チャンネルおよび送信ステートを含む、フレームに関す
る情報のすべてを記述するためのフレームデスクリプタ
として最初のデスクリプタを使用できる。
ャンネルのための次のフレームに対するポインタ74も
含む。ネットワークインターフェースが現在フレームを
送るのにビジー状態となっているバーチャルチャンネル
のためのリングキュー16内に入れられた新しいフレー
ムを見つけると、ネットワークインターフェースはこの
新しいフレームのためのフレームデスクリプタ76に対
するポインタを、このフレームデスクリプタ64のフィ
ールド74に書き込む。従って、このシステムではリン
グキューからフレームポインタを取り出し、次のフレー
ムにフレームデスクリプタを書き込むことによりブロッ
キングの問題が解消されている。この結果、フレームは
バッファデスクリプタ内にリンクされたリストを構築す
るよう、共にダイナミックにリンクされる。
のためのかかるフレームのリンクされたリスト内のフレ
ームデスクリプタに対するポインタを、バーチャルチャ
ンネルごとにNICが維持しなければならないことであ
る。これにより、ネットワークインターフェースがバー
チャルチャンネルごとに維持しなければならない記憶量
が増す。さらに、各バッファデスクリプタはフレーム内
の第1バッファデスクリプタによってしか使用されない
次のフレームポインタフィールドを必要とする。
ェースは1つの入力キュー80を有し、ここでは、82
のような各エントリーがバッファデスクリプタテーブル
86内の送信バッファデスクリプタ、例えば84に対す
る単一ポインタとなる。バッファデスクリプタ84はバ
ッファ94に対するポインタであるエントリー92を有
する。96および98で示されるようなテーブル内で送
信バッファデスクリプタがチェイニングされる。オペレ
ーション中にネットワークインターフェースが入力キュ
ー80内のエントリーを見つけると、このインターフェ
ースはバッファデスクリプタを検査し、バッファをどの
バーチャルチャンネルに送るかを決定する。次に、回路
テーブル内で割り出しをし、送信のためフレームをキュ
ー内に入れる12の固定レートのキューを決定する。こ
れら12のキューは参照番号98A〜98Lで示されて
いる。
ーは常に12の固定レートの送信キューのうちの1つに
除かれるので、先に述べたブロッキングの問題は解決さ
れる。しかしながら、この解決案は、送信レートキュー
の数に制限を加えているため、少数のレート以外のレー
トには一般化されない。また、利用可能なビットレー
ト、ABR、システムの場合のように、送信レートがダ
イナミックに変化する状況に拡張できない。すなわち、
同じ固定レートにフレームを最初は入れることができる
が、フレームは異なるバーチャルチャンネルに属し、そ
の後、レートが変更されることがあり得るからである。
ダイナミックなレート変化に適合するため、フレームを
ダイナミックに1つの固定レートキューから別のキュー
へリロケートし、バーチャルチャンネルのためにレート
変化に応答できるようにこれら送信レートキューの実行
をより複雑としなければならない。受信側では、富士通
のシステムは通知の問題を処理していない。このシステ
ムは図6を参照して説明した問題以外のバッファの利用
の問題も処理していない。
ルメンツ社のネットワークインターフェースは、番号9
1で示された255個の入力リングキューを含むという
点で図1に示された一般的な方式と大幅に異なってい
る。異なるバーチャルチャンネルのためのフレームは異
なるリングキュー内に入れられる。そのバーチャルチャ
ンネルに割り当てられたリングキュー内の連続するエン
トリー内に入力フレームのための連続するバッファがキ
ューに入れられる。
ァデスクリプタを使用する別個のリンクされたリストが
不要となる。ここで、現在のビットP、その長さ、バッ
ファポインタ、ATMセルヘッダー情報およびCPCS
情報を含むフォーマット93によりリング91内のリン
グキュー内の各エントリーのフォーマットが示されてい
る。フォーマット93内のバッファポインタフィールド
はバッファ95をポイントする。
ャンネルに適合するため、255の入力リングキューを
設けることによって上記ブロッキングの問題を解消して
いる。しかしながら、この解決案は255の入力リング
キューを管理するためのコストが必要である。また、こ
の解決案は、多数のアクティブな送信チャンネルまで拡
大できない。大きな数の例えば4096の送信チャンネ
ルで生じる問題としては、リングキューに必要なスペー
スが大きいこと、およびどのキューがデータの送信準備
を完了しているかをNICに通知するオーバーヘッドの
問題がある。
クインターフェースは、受信側では満たしたバッファ毎
にRXdoneキュー内へエントリーを書き込み、送信
側と同じようにバッファデスクリプタを不要にしてい
る。従って、ホストはバッファのリンクされたリスト内
への多数のバッファフレームを形成しなければならな
い。テキサスインスツルメンツ社のシステムは、通知の
ためにホストオペレーティングシステムを使用してい
る。特に、ネットワークインターフェースが送信入力キ
ューをポーリングしても、ポーリングすべき入力キュー
をNICに伝えなければならず、オペレーティングシス
テムのオペレーションが必要である。
およびバッファデスクリプタをフレキシブルなフォーマ
ットとすることにより、上記機能を実行し、上記利点を
得ることが可能となっている。このことが一般にどのよ
うに可能であるかを示すため、ATMネットワークイン
ターフェースは、ネットワークインターフェースカード
150と、ホストコンピュータ151とを含む。周辺コ
ンポーネントインターコネクトすなわちPCIバス15
2を通してホストコンピュータ151とネットワークイ
ンターフェースカード150との間の通信をするのに、
フレームデスクリプタおよびバッファデスクリプタが使
用される。通信にはリングキューのための制御情報と送
信すべきデータを記述する情報、すなわち受信データを
記述する情報が含まれる。この情報はネットワークイン
ターフェースに属する。フレームデスクリプタおよびバ
ッファデスクリプタを含むリングキューは、一般にホス
トメモリで使用されるが、これらはネットワークインタ
ーフェースのローカルメモリ内にも存在し得る。
一部を形成するPCIインターフェース153には、P
CIバス152が結合されている。PCIインターフェ
ース153はチップの他の部分に利用可能な制御および
データ情報を作成する。チップがホストメモリからの情
報を求めると、PCIインターフェース153は必要な
制御信号を発生する。PCIインターフェース153は
TXブロック155に接続されており、このブロックは
ホストメモリ151内の制御情報のTXinおよびTX
done部分が要求したアクションを実行し、現在業界
で標準的なユートピア(UTOPIA)インターフェー
スブロック156を介してネットワークにセルを入れ
る。
た制御情報のRXfreeおよびRXdone部分によ
って要求されたアクションを実行するように、受信RX
ブロック157が設けられている。このRXブロック1
57はユートピアインターフェースブロック158から
の信号に応じてこれらのアクションを実行する。また、
ローカルバス167を介してローカルメモリ165にア
クセスするローカルバスインターフェース159も設け
られている。このローカルメモリの主たる目的は、受信
RXおよび送信TXブロックによって使用する情報を、
コネクションまたはバーチャルチャンネル毎に記憶する
ことにあり、この情報は1つのセルから次のセルまでの
バーチャルチャンネルを特定するのに使用される。しか
しながら、ローカルメモリにもリングキュー、バッファ
デスクリプタおよび/またはデータを記憶することもで
きる。
一致したフォーマットを使用して通信できるものでなけ
ればならないと解される。この制御情報フォーマットを
使用することにより、ネットワークとの間の情報の転送
のフレキシビリティおよび効率を大きくすることができ
る。種々のモードA、モードSおよび最適にされたモー
ドMのフォーマットをフレキシブルにする主な理由は、
全てのタイプのネットワークメッセージまたはフレーム
の送信を効率的にできるようにすることである。
マットを特に解読するように設計された回路から構成さ
れている。この意味において、これらブロックではフレ
ームデスクリプタフォーマットおよびバッファデスクリ
プタフォーマットが具現化されている。一実施の形態の
ように、この発明は、これらフォーマットを実現するよ
うに構成されたRX回路およびTX回路にある。
システムと対照的に、本システムでは、図9に示された
リングキューフォーマットでは多数のフィールドを含
む。本システムにおけるすべてのメモリアドレスおよび
ワードは、32ビット幅とされている。かかるマルチワ
ードデスクリプタによりフレームに関する完全な情報を
1回のI/Oバスオペレーションでフェッチしたり、記
憶できるようになっている。
のアクセスにおける32ビットワードまたは1回のアク
セスにおける4つの43ビットワードのフェッチ/記憶
間の時間差は無視できる。しかしながら、主メモリのホ
ストアクセスと比較して各I/Oバスオペレーションは
比較的高価である。従って、リングキューエントリーが
単一マルチワードエントリーへのデスクリプタオブジェ
クトをポイントする従来の方式をやめることが有効であ
る。基本的にはかかるマルチワードデスクリプタはファ
ットなポインタと見なすことができる。
ォーマットはフレームデスクリプタに使用できる。フレ
ームデスクリプタ、すなわちFDは特定のバーチャルチ
ャンネル、特にTXinキューにフレームを入れるため
のフレームのチェーンのヘッドを示し、TXdoneキ
ューにおける送信済みフレームを戻し、RXdoneキ
ューにおける受信済みフレームを表示する。FDは次の
一般的なフォーマットを有する。FDが存在するキュー
に応じ、特定のフォーマットには若干の差異が存在す
る。これら差異については後に説明する。
おけるビットP2はキューエントリーが有効であるかど
うかを示す現在ビットとなっている。FDの内容を有効
とするために双方の現在ビットをセットしなければなら
ない。FDが入力または出力キューにあるか、ホストメ
モリにあるか、またはNICローカルメモリにあるかど
うかとは関係なく、現在のデュアルビットはFDフォー
マットを同じにすることができる。これについては後に
詳細に説明する。各現在ビットは最大位にあるので、ホ
ストは1つの否定的かどうかのテスト命令で現在ビット
をテストできる。
doneおよびRXdoneキューでのみ有効なTXま
たはRXステートを表示する7ビット幅である。TXi
nキュー、すなわちステートの最小位ビットはCLPビ
ット値を示す。このCLP値はそのフレームに対して送
られるセル毎にセットされる。
はATMヘッダーに対する24ビットの組み合わされた
VPIおよびVCIを含む。使用されるフレームモード
に応じてフィールド106はデータバッファのスタート
アドレスをポイントするバッファポインタ、同一のVP
I/VCIまたはNULLに対して送信された先のフレ
ームの終了点へのポインタを含む。データバッファはワ
ードが一致していると見なされる。
ルド108は後に説明するバッファデスクリプタをポイ
ントするBDポインタまたはCPCS制御情報およびパ
ケット長さを含むCRCのないAAL5トレーラーを含
む。110におけるモードフィールドは、後に説明する
フレームモードビットを含む4ビット幅である。
ァに関連するバッファデスクリプタオブジェクトを探す
よう、アプリケーションに固有の態様でアプリケーショ
ンが使用できる11ビットバッファIDである。このバ
ッファIDフィールドはNICによっては解読されな
い。バッファサイズ114はフィールド106によって
ポイントされるバッファのバイトサイズを示す16ビッ
トフィールドである。TX方向にはこのサイズはこのバ
ッファから送るデータ量であり、RX方向にはこのサイ
ズはバッファに書き込まれるデータ量である。サイズは
バイトで示されるが、このサイズはワード的に整合して
いなければならない。後に説明する所定の状況下では、
PTIおよびCLPビットの代わりにバッファサイズフ
ィールドの最大位ビットが使用される。
または書き込みは、アトミックとすることができないの
で、101および103における現在ビットが必要であ
る。ストールデータの読み出しを防止するため、生産者
は最後の現在ビットを備えたフィールドを書き込まなけ
ればならず、消費者は最初の現在ビットと共にフィール
ドを読み出さなければならない。
は、生産者と消費者がデスクリプタを逆の順にアクセス
することである。しかしながら、多くのI/Oバス、例
えばPCIバスは、デスクリプタに関するマルチワード
バーストアクセスをアドレスの増加する順に制限してい
る。ホストメモリにおける入力キューに対し、デスクリ
プタの最初のワードに現在ビットを入れることにより、
デスクリプタを数の少なくなる順に読み出しながらNI
Cが現在ビットを最初に読み出すことは可能となってい
る。同様に、ホストメモリ内の出力キューに対してはデ
スクリプタの最終ワード内に現在ビットを入れることに
より、NICが数の少なくなる順にデスクリプタを書き
込みながら、最後に現在ビットを書き込みすることが可
能となっている。テキサスインスツルメンツ社の設計
は、入力キュー内のデスクリプタの第1ワードの最大位
ビット内および出力キュー内のデスクリプタの最終ワー
ドの最大位ビットに単一の現在ビットを有する。
社によって採用されたこの方法は、リングキューがI/
Oバスの反対側にあり、よって、ホストが開始したバー
ストの読み出しおよび書き込みが数の小さくなる順に発
生しなければならないNICローカルメモリ内のリング
キューに対しては不都合である。ホストが最後に現在ビ
ットを書き込み、NICがこれを最初に読み出すような
入力キューに対する以前と同じ制限を満たすには、NI
Cが逆の順にデスクリプタフィールドにアクセスする
か、デスクリプタフォーマットを反転しなければならな
い。いずれもNICを複雑にする。
ットを加える。双方のビットはデスクリプタを有効とす
るためにセットしなければならない。本システムでは、
NICはNICローカルメモリ内のデスクリプタにアト
ミックにアクセスする。これら2つの特徴により、デス
クリプタがどのキューに存在するのか、また、キューが
ホストメモリにあるか、またはローカルNICメモリに
あるかは無関係に、デスクリプタが同じフォーマットを
有することが可能となる。いずれの場合でもNICは常
に数の少なくなるアドレスの順にデスクリプタを読み書
きし、NICが複雑となることを最小にしている。
て記述されるフォーマットにより、ネットワークインタ
ーフェース内に種々の機能を組み込むことが可能となっ
ている。送信側ではモードビット110により異なるサ
イズのメッセージに対する特殊フォーマットが可能とな
っている。さらにこのフォーマットは、送信側での性能
全体をスタティックチェイニング、ダイナミクチェイニ
ングおよびストリーミングが改善することを可能にして
いる。後にダイナミクチェイニングおよびスタティック
チェインの双方のみならずストリーミングについても説
明する。後に説明するように、ある特別なフォーマット
により受信側でのチャンキングをサポートする最適モー
ドMと称される特別なモードがバッファ効率の改善を可
能にしている。
および受信側の双方では、フレーム内のバッファを共に
リンクするための特殊フォーマットを有するバッファデ
スクリプタBDを使用している。図10は、バッファデ
スクリプタフォーマットを示しており、次のBDポイン
タ115はBDのリンクされたリスト内の次のBDをポ
イントする。バッファポインタ116はデータバッファ
のうちのスタートアドレスをポイントする。
ードであり、サイズが多数あるものと見なされる。すべ
てのデータ転送は32ビットワードを単位として行われ
る。従って、NICはバッファポインタフィールドのう
ちの最大位の30ビットおよびバッファサイズフィール
ドのうちの最大位の14ビットしか使用しない。BDは
一致したクアッドの32ビットワードであると見なされ
るので、NICはBDポインタフィールドのうちの最大
位の27ビットしか使用しない。
トレーラー、すなわちCPCS情報を含むよう、フレー
ム用の最終BD内でしか使用されない。BD内の最終ワ
ードは若干の例外はあるが、FD内のワードと同じであ
る。PビットはストリーミングモードにおけるTXdo
neへFDを書き込むことを表示するよう、送信側でし
か使用されない。モードビット118はフレーム内の最
終ビットBDを表示するのに使用される第3ビットを例
外として、使用されない。バッファID119およびバ
ッファサイズ121はFDに対しては同一である。
クリプタ用のフォーマットは、後に説明する最適化に必
要とされるフレキシビリティを可能とするように意図的
に同じになっている。これら最適化としては、非ブロッ
ク化のための最適化、小メッセージに合わせるための最
適化、チャンキングをサポートするためのストリーミン
グのための最適化、および上記ブロッキングの問題を解
消するための最も重要な最適化がある。
ーマットを説明するものである。モードMはMを発生す
る、一般に多数のバッファから成る最も簡単なフォーマ
ットである。FD100におけるBDポインタ108
は、次にBDフィールド115、バッファポインタ12
4、バッファIDフィールド119、バッファサイズフ
ィールド121およびPビットプラスモードフィールド
123を有するリンクされたリスト内の最初のBD12
0をポイントし、この場合、バッファデスクリプタ12
0はバッファ132をポイントするバッファポインタ1
24を有する。フレーム用のリンクされたリスト内の最
終BD125はCPCS情報117を含む。フレーム用
のリンクされたリスト内の最終BDはフィールド123
内の第3モードビット内の0によって表示される。
るには、FDに対して1回のI/Oバスオペレーション
と、BDプラスデータトランスファ当たり1回のI/O
バスオペレーションが必要である。従って、モードMフ
レームのためのI/Oバスオペレーションにおける制御
オーバーヘッドは1にバッファの数を加えた回数とな
り、ここでモードMではバッファとBD間は1:1の対
応関係となる。
バッファ132である単一バッファのケースでは、フレ
ームデスクリプタ100とバッファデスクリプタ120
が使用される。1つのバッファしか有しないフレームの
場合、かつそのフレームに他のフレームがチェイニング
されていない場合には、次のBDポインタは不要であ
り、モードMフレーム内のBDを最適にすることがで
き、FDおよびBDフォーマットはFD内に必要なBD
フィールドを記憶できるようになっている。
モードSと称される圧縮モードの一例を示す。図13に
おけるフレームデスクリプタ130はバッファデスクリ
プタ120およびフレームデスクリプタ100内の、図
12からのすべての必要な情報を含む。これによりフレ
ームを含む単一バッファをフレームデスクリプタが直接
ポイントする、ここでモードSフォーマットを称される
フォーマットが発生する。モードSは小フレームに特に
適し、制御オーバーヘッドはフレームデスクリプタの読
み出しに1回のオペレーションおよび同様なフレームデ
スクリプタを、TXdoneキューに書き込むのに1回
のオペレーションとなる。1セルから成る小フレームに
対しては、これは2回のバスオペレーションの制御オー
バーヘッドとなり、このオーバーヘッドは従来のこれま
で説明したシステムの300%に比較して200%のオ
ーバーヘッドとなる。更にこれは達成可能な最小制御オ
ーバーヘッドである。第1モードビット133はモード
SとモードMのフレームを区別する。
リンク内の第1バッファ、すなわちバッファ132を直
接ポイントし、同時にBDポインタ108が第2BD1
40および残りのバッファのリンクされたリストをポイ
とする最適モードMフォーマットを示す。この最適モー
ドMフォーマットはBDがNICによってレディ状態と
なっていないので、第1バッファのためのBDを不要に
する。第2モードビット134はFD内のBDポインタ
がフレーム内の第1BDをポイントしているのか、第2
BDをポイントしているのかを表示している。データト
ランスを無視すれば、最適モードMフレームはバッファ
の数に等しい数の制御オペレーションを必要とする。極
めて小さいすべてのフレームに対しては、このことはP
CIバスオペレーションの数においてモードMから大幅
に減少するものではない。しかしながら、この最適化に
よって後に説明するような受信側でのチャンキングが可
能となる。
60を備えた本システムのための別のフレームフォーマ
ットを示す。フレームデスクリプタ162は最適にされ
ていないモードMを示す。BDポインタ163はバッフ
ァデスクリプタ164をポイントし、バッファポインタ
166は一部が満たされたバッファ168をポイントす
る。
ように、バッファポインタ172がバッファ174をポ
イントし、BDポインタ176が第2バッファデスクリ
プタ178をポイントし、バッファデスクリプタ182
からの次のBDポインタ180がバッファデスクリプタ
178をポイントする状態の最適化されたモードMを示
す。最後に、フレームデスクリプタ184はバッファポ
インタ190が部分的に満たされたバッファ192をポ
イントする状態のモードSを示す。
ードビットである。最適化モードMのためのモードビッ
トは参照番号200で示されており、モードMフォーマ
ットのためのモードビットは202で示され、モードS
フォーマットのためのモードビットは204で示されて
いる。
ットはフレームデスクリプタがモードMフレームを記述
するか、またはモードSフレームを記述するかを表示す
る。次のビットはモードMフレームの場合、バッファデ
スクリプタポインタがバッファのリンクされたリスト内
の第1バッファデスクリプタをポイントするのか、また
はこのフレームのためのバッファのリンクされたリスト
内の第2バッファデスクリプタをポイントするのかを示
す。前者の場合は、通常のモードMフォーマットを示す
が、後者の場合は、最適にされたモードMフォーマット
を表示する。
る。ここで、このビットは、フレームデスクリプタがそ
のフレームのための最終フレームデスクリプタであるの
か、または最終でないフレームデスクリプタであるのか
を表示する。後者の場合は、1つ以上のフレームセグメ
ントのストリーミングがフレームを含むことを示す。
5フレームであるのか、またはAAL6フレームである
のかを表示する。従って、フレームデスクリプタに利用
されるフォーマットは利用フォーマットを特定し、かつ
チェイニングを適用するのか、またはストリーミングを
適用するのかを特定する。従って、フレームデスクリプ
タフォーマットはネットワークインターフェースとの間
でフレームを送受信するように、かなりのフレキシビリ
ティを与える。例えば、フレームデスクリプタフォーマ
ットは極めてバッファデスクリプタフォーマットに類似
するので、例えばモードSフォーマットではフレームデ
スクリプタ内にバッファデスクリプタ114が押し込ま
れ、よって小メッセージに対する最適化を行い、効率的
にすることができる。
レームデスクリプタのフォーマットはチェイニングをサ
ポートする。送信側では、BDの1つの長いリンクされ
たリスト内のTXin内の同じFDの後方で同一VCの
ための多数のフレームをチェイニングできる。フレーム
のための最初のBDはVPI/VCIステートを除き、
フレームを記述するのに必要なすべてを含む。FDは同
じバーチャルチャンネルのためのフレームごとに同じV
PI/VCIを含む。1フレームのうちの終了点の次の
BDポインタは、次のフレーム内の最初のBDポインタ
をポイントする。モードビットはフレームのうちの終了
点、すなわちフレーム内の最終BDを表示する。
キューに入れる前にホストがフレームをチェイニングす
るスタティックフレームチェイニングをフレームおよび
バッファデスクリプタフォーマットがどのようにサポー
トするかを示している。かかるチェイニングの主な目的
は、ホストシステムが単一リクエストにおけるいくつか
のフレームをNICへ送信できるようにすることであ
る。かかるチェイニングもブロッキングの可能性を減少
する。
述べたように、フレームデスクリプタ162がバッファ
デスクリプタ164をポイントするBDポインタ163
を有する同じモードMフォーマットでの利用を行う。次
のBDポインタ206は次のフレームの第1バッファデ
スクリプタをポイントし、この場合、バッファポインタ
180がバッファ174および番号218で示されたよ
うな1にセットされた第3モードビットをポイントす
る。このようにして、多数のフレームをリンクすること
ができる。
デスクリプタの長いリストが得られる。フレーム用のバ
ッファのリンクされたリスト内の最終バッファには、モ
ードビット216および220に対して示された0にセ
ットされた第3モードビットでマークされている。フレ
ームのチェインのためのバッファのリンクされたリスト
は、バッファデスクリプタ226内に示される次のBD
ポインタのためのゼロ値221で終了される。ここで、
チェイン内の第1フレームは最適モードMとすることが
できるが、チェイン内の次のすべてのフレームをモード
Mとしなければならないことに留意されたい。更に、フ
レームチェインはBDのリストのヘッドでは1つのFD
しか有しないことにも留意されたい。
ェイニングは、図17に示されるようなダイナミックフ
レームチェイニングシステムまで増加できる。ダイナミ
ックフレームチェイニングは、一般にスタティックチェ
イニングのケースで達成されるのと同じ結果を得るため
に、フレームのネットワークインターフェースチェイニ
ングに関連する。スタティックフレームチェイニングは
送信入力キュー内にフレームデスクリプタであるフレー
ムのリンクされたリストのヘッドを挿入する前にホスト
によって実行しなければならない。これと対照的に、ダ
イナミックフレームチェイニングは送信入力キューから
のマルチフレームデスクリプタを消費し、ネットワーク
インターフェースはこれらをリンクし、スタティックフ
レームチェイニングと同じ目的を達成する。
したブロッキングの問題は完全に解決される。先に述べ
たように、既に送信中の仮想チャンネルのための送信入
力キューからはフレームデスクリプタを除くことができ
ないので、ブロッキングの問題が生じる。これと対照的
に、ネットワークインターフェースはダイナミックフレ
ームチェイニングにより送信入力キューからフレームを
除き、バーチャルチャンネルのために送信中のバッファ
のリンクされたリストの後方に除いたフレームをチェイ
ニングできる。
に、ドライバ/アプリケーションは次のことを実行す
る。まず、第1に、アプリケーションは、バーチャルチ
ャンネルのために最新にキュー内へ入れられたモードM
/最適モードMフレームのためのリンクされたリスト内
の最終バッファデスクリプタに対し、ポインタ、プレブ
ポインタまたは最後のBDポインタを維持する。次に、
ドライバ/アプリケーションは、モードM内のその後の
すべてのフレームをキュー内に入れ、バッファデスクリ
プタを割り当て、これを使用することによりモードSお
よび最適モードMをモードMに変換する。この場合、フ
レームデスクリプタの第2フィールドはそのバーチャル
チャンネルのための先のフレーム内の最終BDに対する
プレブポインタを含む。
Xinキュー160内にかかるフレームデスクリプタを
入れた直後の状況を示す。ボックス230はネットワー
クインターフェースの内部作動レジスタを示す。この場
合、232はネットワークインターフェースがバッファ
デスクリプタ235をポイントするBDポインタ234
と共にバーチャルチャンネル#1のためのフレームを現
在送信中であることを示し、バッファデスクリプタ23
5は、次に、現在送信中のバッファ236をポイントす
る。
ルのための点線242によって示されたフレームを記述
する情報をフレームデスクチプタ240に挿入したとこ
ろである。240で表示されるエントリーが除かれない
場合、送信キューからバーチャルチャンネル#2のため
の次のフレームデスクリプタ244を送信から除くこと
ができず、バーチャルチャンネル#2が現在アイドル状
態でも送信できないのでブロッキングが生じることとな
る。
実行するためにネットワークインターフェースが次の機
能を実行する。まず、第1に、バーチャルチャンネルが
アイドル状態となっていればバーチャルチャンネルがビ
ジー状態に表示され、通常のセグメント化が行われる。
バーチャルチャンネルがビジー状態であれば、よって、
フレームデスクリプタがモードMのフレームデスクリプ
タでないか、またはフレームPTI/CLPが現在フレ
ームのものと異なっていれば、フレームをダイナミック
にチェイニングできない。
第1の選択案では、NICが送信入力キューを中止する
か、利用可能なネットワークインターフェーススペース
にフレームデスクリプタを記憶できるか、またはエラー
フレームデスクリプタを書き込むことも可能である。そ
れ以外の場合、インターフェースネットワークはフレー
ムデスクリプタから先のポインタ、すなわち矢印252
で示されたような先のフレームにおける最終バッファデ
スクリプタをポイントする先の最終BDポインタ250
を読み出す。
レームに対して働いており、現在のバッファデスクリプ
タポインタ234が先の最終バッファデスクリプタポイ
ンタ250に等しくなければ、ネットワークインターフ
ェースは先の最終BDポインタ250によってポイント
された最終バッファデスクリプタ内の次のBDポインタ
フィールドにBDポインタ254を書き込み、よって、
先のフレームの終了部にフレームをチェイニングする。
この場合、BDポインタフィールド254はBD235
の現在のゼロフィールド256にコピーされる。
ェースが先のフレームの最終バッファデスクリプタに作
用している場合、ネットワークインターフェースはバッ
ファデスクリプタポインタ234にバッファデスクリプ
タポインタ254を書き込む。
明する。ストリーミングとは、一連のフレームセグメン
トとしてネットワークインターフェースとの間でフレー
ムを送受信できるようにすることである。送信側では、
各フレームセグメントはTXinキュー内にフレームデ
スクリプタを備えたモードMフォーマットにおける1つ
以上のバッファである。受信側では、各フレームセグメ
ントは受信TXdoneキューにおけるフレームデスク
リプタを備えたモードSの1つのバッファまたはモード
Mの2つ以上のバッファである。
レジスタのセグメントサイズによって制御される。これ
らフレームセグメントの1つ以上がフレーム全体を構成
する。フレームデスクリプタにおけるモードビットはフ
レーム内のかかる最終セグメント内にフレームセグメン
トがあるかどうかを表示する。存在する場合、このモー
ドビットはAAL5情報を含む。
メントとしてネットワークインターフェースとの間でフ
レームを送受信することが可能となるので、これによ
り、送信側ではすべてのセグメントを発生する前に1つ
のフレームの送信をスタートでき、受信側ではフレーム
全体を受信する前にフレームの処理をスタートできるの
で、フレームの処理のレイテンシーを短くすることに役
立つ。また、送信側でもストリーミングによりフレーム
の終了前にバッファをリサイクルできる。
送信入力キュー160がバッファの1つ以上のモードM
のフォーマットリンクリストを含み、各々のバッファは
フレームのうちの1セグメントを発生する。図18にお
ける点線260は、モードMのバッファのリンクされた
リストのフレームセグメントを示す。フレームデスクリ
プタにおける第3モードビット262はこのビットがフ
レームのうちの最終フレームセグメントでないことを示
す。点線264で示されるように、最終フレームセグメ
ントが続くフレームセグメントの0またはそれ以上のこ
れらタイプが存在し得る。これはモードMフォーマット
のバッファの完全なリンクされたリストである。
は、これがこの特定のバーチャルチャンネルに対するフ
レームの最終セグメントであることを表示している。こ
のような特定のケースでは、最終バッファデスクリプタ
268はフィールド270におけるCPCS情報を含
む。作動中、TX側のストリーミングは大きな装置を必
要としない。むしろモードMフレームにおけるバッファ
の変化の検出とダイナミックフレームのチェイニングを
うまく利用している。ストリーミングは、ダイナミック
フレームチェイニングの若干の変更とバッファのリサイ
クリングを可能とするよう、フレームデスクリプタを書
き込むための加算を必要とする。
ァ内のデータが48バイトよりも少なくなるまでセグメ
ント化が進められる。セグメント化を進めるには、デー
タのフル状態のセルペイロードを取得しなければならな
い。非ストリーミングケースではNICは次のBDポイ
ンタを読み出し、I/Oバスオペレーションを2回実行
する。1回は現在バッファからの最終部分セルの読み出
しであり、1回は新しいバッファからのセルの残りの読
み出しである。
が0であればTXin内に次のフレームセグメントが生
じるまでセグメント化を中止する。この理由は、バーチ
ャルチャンネルのための次のフレームセグメントをロー
ドするまで、NICにより現在セグメントの最終部分セ
ルをフェッチできないからである。次のフレームセグメ
ントが生じ、TXinからフェッチされると、FDから
の次のBDポインタがVCエントリー内の次のBDポイ
ンタフィールドに記憶される。この点で、この状況はバ
ッファの変更に対しては同じであり、セグメント化を再
開できる。
のと同じようにダイナミックにチェイニングできる。し
かしながら、わずかな問題が生じる。NICが第1チェ
インの最終バッファをセグメント化している際に2つの
完全なフレームがチェイニングされると、第1フレーム
の最終BDのメモリ内の次のBDフィールドを更新する
ことが現実には不要となる。VCテーブル内の次のBD
フィールドにそのBDポインタを記憶させるだけでよ
い。しかしながら、これら状況下で同じフレームのため
の2つのセグメントをチェイニングする場合、TXdo
neに書き込まれたFDによってヘッドとされたリスト
内に第2セグメントがリンクされることはない。従っ
て、バッファが失われた状態となり得る。この解決案は
極めて簡単である。このセグメントがフレーム内の最後
のセグメントでないときは、いつもメモリ内に次のBD
フィールドを更新すればよい。
をストリーミングによって得られるようにするため、B
Dの最終ワードにおける最大位ビット、すなわちPビッ
トをTXdoneへのFDの書き込みを表示するように
セットできる。バッファの変更を完了し、バッファの境
界と交差するセルの送り出しを完了した後、NICはこ
のビットをチェックし、セットされている場合、最終で
ないフレームセグメントビットを備えたFDをこのポイ
ントに送られたバッファのためのTXdoneへ書き込
み、VCテーブルエントリー内のヘッドポインタを更新
する。BDはちょうど読み出されたところであるので、
作動レジスタにこのビットおよび新しいヘッドポインタ
を記憶することができ、新しいVCテーブルエントリー
フィールドは不要である。
ても知られるAAL0フォーマットをサポートするよ
う、図15に示されたフォーマットに関する若干の変化
を示す。ATMセル内に直接含まれる4バイトユニット
にアプリケーションが寄与するかかる未加工セルモード
を可能にする2つの理由がある。かかる未加工モードセ
ルを可能にする第1の理由は、ペイロードのトランスペ
アレンシーにある。ペイロードのトランスペアレンシー
はペイロードにおけるデータのためのフォーマット、す
なわち不要のAAL5フォーマットを可能にすることに
関連する。このフォーマットはアプリケーションで直接
使用できる。
の理由は、セルトランスペアレンシーにある。このセル
トランスペアレンシーはセルヘッダーのみならずセルペ
イロードにおけるPTI、CLPおよびGFCのための
任意の値に関連する。PTIはペイロードタイプのイン
ディケータフィールドに関連し、CLPはセルの喪失優
先度に関連し、GFCは包括的なフロー制御に関連し、
これらのいずれも図3に示されたようなATMセルヘッ
ダー内にある。
ードの作動はできるだけ同じとされる。双方のモードは
同じキュー、すなわちTXinキュー、TXdoneキ
ュー、RXfreeキューおよびRXdoneキューを
使用する。図19は送信側でAAL5フォーマットに可
能な種々のモードおよびフレームデスクリプタおよびバ
ッファデスクリプタフォーマットを示す。フレームデス
クリプタの第4モードビット280はAAL5フォーマ
ットに対するAAL0フォーマットの関係を制御する。
従って、フレームデスクリプタはAAL5フォーマット
をサポートするフィールドを乱すことなく必要なフレキ
シビリティでAAL0モードまたはAAL5モードのい
ずれかを記述できる。
ルに対しAAL5およびAAL0フレームを散在させる
ことができる。フレーム内の最初の32ビットフィール
ドの最大位バイトがCLPの他にPTIを含むという点
でのみ、フレームデスクリプタフォーマットはAAL5
フォーマットに対するフォーマットと異なっている。A
TMセルヘッダーにおけるGFCフィールドは通常0で
ある。必要な場合、フレームデスクリプタ内にGFCフ
ィールドをエンコードするための種々のオプションが存
在している。例えば、バッファIDの最小位の4ビット
でGFCビットをエンコードできる。TXdoneキュ
ーにおけるフレームデスクリプタ内には、PTI、CL
PおよびGFC値が戻されることはない。
を48バイトユニットにセグメント化し、個々のAAL
0セルとして送る。これらセルのすべてには同じGF
C、PTIおよびCLPが添えられる。後に理解できる
ように、これは送信側のチャンキングに対応する。組み
合わされたバッファサイズが48バイトの倍数でない場
合、セルの送信を終了し、フレームデスクリプタ内に表
示されたエラーステータスを282として表示されたT
Xdoneキューに書き込む。
バッファモードと共に、RXfreeキュー300およ
びRXdoneキュー102を含む受信側を示す。RX
freeキュー300におけるエントリーは、2つの現
在ビットを含むフレームデスクリプタに極めて類似した
構造を備えた番号303で示されたフリーBDデスクリ
プタFBDである。各FBD303はフリーバッファ3
08およびフリーバッファデスクリプタ310をそれぞ
れポイントするポインタ304および306を含む。こ
のユニークな組織化は必要なバッファごとに入進フレー
ムに対して必要なフリー構造を提供するのに1つのリン
グキューしか必要でなく、1回のI/Oバスアクセスし
か必要でないことを意味している。RXfreeキュー
における実際のエントリーはリングキューで直接割り当
てられたFBDであるので、これらはリンクリストを構
成するのに使用できない。
ーマットを示す。バッファデスクリプタ312はモード
Mフォーマットを示す。このデスクリプタは、バッファ
デスクリプタのリンクされたリストをポイントし、その
うちの1つがバッファ316をポイントするデスクリプ
タとして番号314で示されている。フレームデスクリ
プタ320はモードSを示す。フレームデスクリプタ3
20はバッファ322をポイントする。フレームデスク
リプタ324は最適化されたモードMを示し、FD32
4はバッファ328における最初のバッファをポイント
するバッファポインタ326を有する。
タ332をポイントし、このデスクリプタは次に第2バ
ッファ333をポイントする。ここには図示されていな
いが、BD332は別のBDもポイントすることができ
る。バッファ328として同じRXfreeバッファデ
スクリプタエントリーから得られたバッファデスクリプ
タ334は使用されないことに留意されたい。これによ
り、チャンキングを参照して後に説明する利点が得られ
る。
ンキングを有しないAAL5フレームに対する3つのフ
ォーマットのすべて、すなわちモードM、モードSおよ
び最適にされたモードMを示す。新しいフレームが到着
すると、ネットワークインターフェースはRXfree
キュー300からフレームバッファデスクリプタを除
き、FBD340からフリーバッファデスクリプタ31
0へフリーバッファポインタ304およびポインタ30
6を抽出する。
フリーバッファデスクリプタ310を無視し、フレーム
デスクリプタが直接バッファをポイントし、モードSフ
レームを発生させる。フレームが単一バッファに適合し
ない場合、フリーバッファデスクリプタを使用して多数
のバッファをリンクし、フレームデスクリプタがリスト
内の最初のバッファデスクリプタをポイントする。この
結果、得られるフレームはバーチャルチャンネルイネー
ブル美とに応じてモードMまたは最適化されたモードM
のいずれかとすることができる。モードSおよび最適に
されたモードMの廃棄されたフリーバッファデスクリプ
タは、後に説明するように、再生する必要がある。
は、新しいフレームが到着した時、または受信したフレ
ームが現在のバッファを満たす場合に、新しい場合を検
索する。受信されたフレーム内の最終場合はほとんど空
の状態となる場合がある。これとは対照的に、バッファ
チャンキングを行うと、バッファが満たされた場合に限
り、検索された新しいバッファと共にバッファ内に多数
のフレームを記憶できる。受信されたフレームを記憶す
るために使用されるバッファ領域はチャンクと称される
領域に分割される。各チャンクはサイズがバッファ以下
であり、バッファ内に完全に適合するフレームの一部を
含む。小フレームは1つのチャンクしか必要としないこ
とがあり得るが、大きなメッセージフレームはサイズが
バッファよりも小さい第1チャンク、すなわちフルバッ
ファに等しいチャンク、さらにサイズがフルバッファよ
りも小さいチャンクを必要とすることがある。
AL5のための同一の3つのフレームフォーマットを示
す。ネットワークインターフェースに新しいフレームが
到着すると、先のバッファにスペースが残されていない
場合に限り、ネットワークインターフェースはRXfr
eeキュー300からFBD303を除く。生じるケー
スは2つある。第1のケースとは、バッファがまだ使用
されていない場合で、例えばFBDがキューから除かれ
たケースである。使用されていないバッファ内の第1チ
ャンクは参照番号350で示されている。
ンク350をポイントするバッファデスクリプタ314
をバッファデスクリプタポインタ354がポイントする
352に示されているように、モードMを使用してフレ
ーム内の第1チャンクを表示できる。これとは別に、モ
ードSを使用して第1チャンクを表示し、低オーバーヘ
ッドの利点を得ることができる。これは、アクセスする
バッファデスクリプタがないからである。モードSの場
合にはフレームデスクリプタ356がチャンク358を
直接ポイントする。しかしながら、後に説明するよう
に、これには廃棄したフリーバッファデスクリプタを再
生しなければならないという欠点がある。バーチャルチ
ャンネル内のビットはチャンキングが可能であるかどう
か、上記選択案のいずれを使用すべきかを表示する。
ンク350によって表示されるような先のフレームに対
しバッファの一部が既に使用されている場合である。新
しいフレームが単一のチャンクに適合する場合、フリー
バッファデスクリプタは不要である。この場合、フレー
ムデスクリプタに対応するRXdoneキュー302内
にバッファデスクリプタを直接割り当て、チャンクを直
接ポイントし、モードSフレームを発生する。ここで、
モードMフォーマットはある場所からの別のフリーバッ
ファデスクリプタを必要とするので、モードSは強制的
であることに留意されたい。
エリアに新しいフレームが適合しない場合は、フリーバ
ッファデスクリプタを使用して多数のチャンクをリンク
する。この場合、第1チャンクは最適モードMを使用し
なければならない。その後、ネットワークインターフェ
ースはチャンク毎にFBDをキューから除き、フリーバ
ッファおよびフリーバッファデスクリプタを得なければ
ならない。その後、NICはバッファデスクリプタのリ
ンクされたリスト内の連続するバッファデスクリプタに
対しフリーバッファデスクリプタを使用する。
1チャンク362およいBD364をポイントする。こ
のBDは第2チャンク360をポイントする。先に述べ
たように、使用されないバッファデスクリプタのスペー
スの再生が重要である。RXfreeキュー内のバッフ
ァごとに1つのフリーバッファデスクリプタが供給され
る。先に述べたように、バッファデスクリプタが不要の
ケースもある。これらみなしご状態となったフリーバッ
ファデスクリプタを再生し、これらをリサイクルできる
ようにしなければならない。
タを再生する1つの方法は、フレームデスクリプタ内と
同じバッファポインタを備えたバッファデスクリプタを
探すことである。チャッキングでないモードに対して
は、モードSフレームは関連するみなしご状態のバッフ
ァデスクリプタを有する。チャッキングモードに対して
はRXdoneキュー内のフレームにバッファの最終チ
ャンクが生じるまで、ドライバ/アプリケーションが待
機する。これにより、総使用量を維持しなければなら
ず、これはいかなる場合でもチャンクの再組み合わせ部
分として行わなければならない。この点で、ドライバ/
アプリケーションはバッファ内にチャンクを再結合でき
る。
プタは以前と同じように発見できる。この方式で、デー
タ構造はバッファアドレスからバッファデスクリプタに
変換される。一実施の形態では、バッファがページ的に
整合し、小レンジのアドレスにわたって広がっている場
合には、ハッシュテーブルまたは簡単なテーブルとなっ
ている。RXfreeキューを共用するマルチバーチャ
ルチャンネルの場合、各バーチャルチャンネルはそのバ
ーチャルチャンネルのためのチャンクに全バッファを取
り出さなければならない。みなしご状態のバッファデス
クリプタを再生する別の方法は、バッファデスクリプタ
アドレスの表に対するインデックスとしてフレームデス
クリプタ内のバッファIDフィールドを使用することで
ある。
側はバーチャルチャンネルごとにバーチャルチャンネル
テーブルエントリーを有し、バッファすなわちバッファ
デスクリプタの数に換算してフレームセグメントサイズ
を指定する。この数のバッファが満たされるか、フレー
ムの終了部に達するか、またはRXdoneキューへフ
レームデスクリプタが書き込まれるまで再組み立てが進
む。セグメントに対し最適モードMが使用される場合、
フレームセグメント用フレームデスクリプタの書き込
み、またはバッファ変更のためのバッファデスクリプタ
の書き込み時にオーバーヘッドには差はない。
ドをサポートするかを示す。受信方向では、各バーチャ
ルチャンネルには常にAAL0モードまたはAAL5モ
ードと表示されている。AAL0モードの場合、バッフ
ァおよびセルヘッダーを含むモードSフレームデスクリ
プタにそのバーチャルチャンネルのための各入進セルが
書き込まれ、RXdoneキューにAAL0ビットセッ
トが書き込まれる。非チャンキングモードまたはチャン
キングモードのいずれも使用できる。
ドとの唯一の差は、図20に示されたバッファフィルサ
イズエントリー380が382で表示された最終セルの
ヘッドからのPTIおよびCLPフィールドで置換され
た上部の4ビットを有する。この結果、AAL5モード
とAAL0モードのフォーマットの差はAAL0モード
では最終セルのヘッダーからのPTIおよびCLPフィ
ールドの4ビットの連鎖をRXdoneキュー内のフレ
ームデスクリプタ内のバッファ側のフィールドの最大位
バイトへ書き込むことである。AAL0モードではバッ
ファサイズは48ビットよりも大きくなることはないの
で、競合はない。所望すれば、GFCフィールドをフレ
ームデスクリプタ内に含めることもできる。これを行う
には種々の方法がある。1つの方法はPTIおよびCL
Pに隣接するバッファサイズフィールドの4ビットに入
進セルからのGFCフィールドを記憶することである。
ためのアルゴリズムについて示す。送信側では、NIC
はバーチャルチャンネル毎に少なくとも次の情報を維持
する。 モードビット 現在バッファポインタ 残されているバッファサイズ 現在BDポインタ フレームセグメント内の最初のBDに対するポインタ
は一般に次のとおりである。 1.ドライバ/アプリケーションがBDのリンクされた
リストにメッセージを記憶する。 a.フリーバッファを探し、データで満たす。 b.第1バッファを満たした後、バッファごとにフリー
BDを探し、これをバッファデスクリプタで満たす(バ
ッファとBDをペアとして管理すると都合がよい)。 2.ドライバ/アプリケーションがTXinのキューに
エントリーを入れる。すなわちモードMでFDを、モー
ドSで(第1フィールド内のVPI/VCIと共に)第
1BDのコピーを、または最適モードMでFDをキュー
に入れる。 3.ドライバ/アプリケーションは(NICポーリング
により、または直接書き込み通知ステータスレジスタに
より、可能な方法を)NICに知らせる。
を除きFD情報を記憶する。 5.モードSの場合、NICはバッファを読み出す。モ
ードMの場合、NICはBDを読み出し、次にバッファ
を読み出す。(BD内の最終フィールドによって示され
るように)最終バッファが送られるまで必要なだけ繰り
返す。次のBDポインタが0でなければ、このポインタ
が同じVCに対するフレームセグメントの別フレームの
第1BDをポイントする。次のBDポインタが0となる
までフレーム/セグメントの処理を続ける。最適モード
Mの場合、NICはまずバッファを読み出し、その後、
モードMに対する手続きに従う。 6.NICは送られる各フレームセグメント毎にTXd
one内のエントリーもキューに入れる。 a.チェイン状態となっていない場合、またはチェイン
内に第1フレームがある場合、(TXin内のFDから
セーブした情報に基づき)TXdoneにFDを書き込
み、ステートを、更新する。 b.チェイン状態になっている場合、モードMのFDを
TXdoneに書き込む。
oneからFDを除き、バッファおよびBDを再生す
る。受信側ではNICは各バーチャルチャンネルのため
に少なくとも次の情報を維持する。 モードビット 現在バッファ位置 現在バッファ内の現在チャンク位置を示すチャンクポイ
ンタ (このポインタはバッファのチャンキング、すなわち同
じバッファからの連続チャンク内の連続フレームに記憶
装置を割り当てるのに使用される) 残されているバッファサイズ
ョンは一般に次のとおりである。 0.(事前に)ドライバ/アプリケーションは充分な数
のFDBをキューに入れることによりRXfreeを作
成する。実際にはFDBをキューに入れるためにホスト
はメモリ内の1つのフリーBDを関連するバッファで満
たす。 1.第1セルまたはフレームが到着するとNICはVC
テーブルエントリーを検査する。 2.チャンクポインタが0またはチャンキングが不能で
ある場合、NICはRXfreeからFBDを除きFB
D内のバッファポインタに対するチャンクポインタを更
新する。
示されたバッファとなるように、入進フレームを再組み
立てする。 a.現在バッファにデータを記憶する。 b.フレーム終了(モードS)であればRXdoneに
FDを巻き込む。オプションとして非チャンキングモー
ドである場合、またはチャンキングモードでバッファ内
に第1チャンクがある場合には、モードMのFDを書き
出す。 c.フレームが終了していなければ(バッファはフィル
状態)(最適モードM)、
ーから取り出し、新しいバッファおよびフリーBDポイ
ンタを得る。 ii.新しいバッファ内にデータを記憶する。 iii.BDを新しいフリーBDポインタ内のロケーシ
ョンに書き込む際にフレームが完了していれば、バッフ
ァポインタをバッファポインタにセットし、次のBDポ
インタを0にセットする。 iv.そうでない場合、一時的レジスタ「セーブされた
BD」にフリーBDポインタを記憶する。一時的レジス
タ「セーブされたバッファポインタ」内に第1バッファ
に対するポインタを記憶する。 v.RXfreeから新しいFBDをキューから取り出
し、新しいバッファおよびフリーBDポインタを得る。 vi.セーブされたBD内のロケーションにBDを書き
込み、バッファポインタをセーブされたバッファポイン
タにセットし、次のポインタを新しいBDポインタにセ
ットし、 vii.(ii)へ進む。
ドであってバッファ内に第1チャンクがある場合は、モ
ードMのFDの書き込みが可能である。 4.NICはFDをRXdoneに書き込む。 5.NICはドライバ/アプリケーションに通知する
(インターラプトまたはドライバ/アプリケーションポ
ーリングによる方法が可能である)。 6.ドライバ/アプリケーションはRXdoneからF
Dを取り出し、フレームを処理する。
ーションは次のとおりである。ドライバ/アプリケーシ
ョンおよびNICは次の役割を果たす。ドライバ/アプ
リケーションは次のことを行う。 1.VCのための最新にキューへ入れられたモードMフ
レームのためのリンクされたリスト内の最終BDにポイ
ンタ、すなわちプレブポインタを維持する。 2.プレブポインタを含むFDの第2フィールドと共
に、(モードSをモードMに変換するのにBDを割り当
て、これを使用する)モードMですべてのフレームをキ
ュー内に入れる。
ジー状態と表示し、通常のセグメント化を実行する。 2.VCチャンネルがビジー状態であれば、 a.FDがモードMでないか、またはフレームGFC/
PTI/CLPが現在フレームのものと異なっている
か、FD内のポインタが0である場合、フレームをダイ
ナミックにチェイニングできない。この場合、VCチャ
ンネルのための現在のセグメント化が完了し、ブロッキ
ングの可能性が生じるまでTXinの更なる処理を中止
する(別の可能性はエラーを表示するFDと共にTXd
oneへフレームを書き込むことである)。
ポインタが先の最終BDポインタに等しくないか、また
はVCテーブルエントリーが最終フレームセグメントビ
ットを有していないかのいずれかの場合、先のフレーム
内の最終BD内の次のBDフィールドにFDからのBD
ポインタを書き込む(よって先のフレームの終了部にフ
レームをチェイニングする)。 ii.先のフレームの最終BDに作動中であるか、また
は先のフレームと共に完了している場合、VCテーブル
エントリーの次のBDフィールドにBDポインタを記憶
する。 3.1つのフレームを完了するとVCテーブルエントリ
ー内の次のBDフィールドをチェックする。ゼロでなけ
れば次のBDは次のチェイニングされたフレーム内の第
1BDであり、これをロードし、処理する。 以上で、この発明の好ましい実施例について説明した
が、当業者であればこの発明の要旨の範囲内で変形例お
よび代替例を実施できよう。従って、この発明の範囲は
特許請求の範囲によって定義されるものである。
ークインターフェースによれば、ホストコンピュータを
ネットワークに接続するためのコネクションベースデー
タ伝送システムにおけるネットワークインターフェース
であって、I/Oバスインターフェースと、このI/O
バスインターフェースに接続された受信ブロックおよび
送信ブロックと、上記I/Oバスインターフェースを上
記ホストコンピュータに接続するバスおよび上記送信ブ
ロックと上記受信ブロックを上記ネットワークに接続す
るための手段を有するネットワークインターフェースカ
ードを備え、上記受信および送信ブロック内に、上記ホ
ストコンピュータが有する送信入力TXinおよび送信
完了TXdoneキューならびに受信フリーバッファR
Xfreeおよび受信完了RXdoneキューと、周辺
部品相互接続インターフェースとによって利用されるマ
ルチワードフレームデスクリプタフォーマットを実現す
るための手段を設けたので、パケットをベースとするデ
ータ伝送システムにおいて、フレームモードのすべてが
共存でき、最適化されたバッファモード、ダイナミック
およびスタティックチェイニングを可能にすると共に、
ストリーミングを可能とし、受信側でチャンキングを可
能にすることができる。
プタフォーマットは、モードSフォーマットに適合する
ためのフィールドを含むので、バッファ内に適合する短
いフレームに対してはモードSが使用され、みなしご状
態となったバッファデスクリプタの問題が解決され、小
フレームに対するオーバーヘッドを極めて低くすること
ができる。
プタフォーマットは、モードMフォーマットをサポート
するので、バッファの境界部で始まるフレームに対して
はモードMが使用され、みなしご状態となったバッファ
デスクリプタの問題が解決され、小フレームに対するオ
ーバーヘッドを極めて低くすることができる。
プタフォーマットは、最適化されたモードMフォーマッ
トをサポートするので、バッファの境界部で開始しない
マルチバッファフレームに対しては最適化されたモード
Mが使用され、みなしご状態となったバッファデスクリ
プタの問題が解決され、小フレームに対するオーバーヘ
ッドを極めて低くすることができる。
プタフォーマットは、チェイニングをサポートするの
で、ブロッキングの問題を解消することができる。
プタフォーマットは、ストリーミングをサポートするの
で、バッファ空間のより高速なリサイクリングが可能と
なる。
プタフォーマットは、チャンキングをサポートするの
で、ネットワークインターフェースを簡素にし、バッフ
ァの効率的な利用を可能にする。
カードは、ローカルメモリを含み、上記複数のキューが
上記ローカルメモリ内に位置し、上記マルチワードフレ
ームデスクリプタは、上記システムが入力キューまたは
出力キューをアドレス指定するか、または上記キューが
上記ホストメモリ内にあるかどうかとは無関係に、フレ
ームデスクリプタに対する同じフォーマットを可能にす
るよう、デュアル現在ビットを有するフィールドを含む
ので、デスクリプタを逆の順にアクセスすることを可能
にすることができる。
ンターフェースであり、上記マルチワードフレームデス
クリプタフォーマットは、AAL0およびAAL5フォ
ーマットの双方に適合するためのフィールドを有するの
で、AAL0およびAAL5フォーマットの双方をサポ
ートするフィールドを乱すことなく必要なフレキシビリ
ティでAAL0およびAAL5フォーマットのいずれか
を記述でき、単一バーチャルチャンネルに対しAAL0
およびAAL5フレームを散在させることができる。
カードは、ブロッキングを防止するための手段を含むの
で、ブロッキングの問題を解消することができる。
eキューは、フレームデスクリプタを有し、該フレーム
デスクリプタは、バッファポインタおよび上記フレーム
デスクリプタのフォーマットに類似するフォーマットを
有する関連するバッファデスクリプタに対するポインタ
を含むので、フレームデスクリプタ内にバッファデスク
リプタを押し込み、小フレームに対する最適化を行い、
効率的なものとすることができる。
eキューのための上記フレームデスクリプタおよび上記
バッファデスクリプタは、1つのデスクリプタとなるよ
うに組み合わされているので、フレームデスクリプタ内
と同じバッファポインタを備えたバッファデスクリプタ
を探すことによりみなしご状態となったバッファデスク
リプタを再生して、リサイクルするのを容易にすること
ができる。
ーフェースは、1つ以上のバッファと、バッファのリン
クされたリストと、単一バッファまたはバッファの上記
リンクされたリストのヘッドを表示するためのマルチワ
ードフレームデスクリプタを有し、バッファの上記リン
クされたリスト内のバッファの各々は自己のバッファデ
スクリプタを有し、ネットワークを通してホストコンピ
ュータから情報のフレームを送信するようにしたので、
キューがマルチワードフレームデスクリプタを含むリン
クされたバッファフォーマットを利用することにより、
ネットワークインターフェースへ送るフレームを識別で
き、ダイレクトアクセスアーキテクチャ等で使用するた
めのネットワークインターフェースを実現できる。
リプタのフォーマットは、スタティックチェイニング、
ダイナミックチェイニングおよびストリーミング(これ
らはすべて同じデスクリプタフォーマットからのもので
ある)を可能にするので、フレームデスクリプタはリス
ト内の第1バッファのためのバッファデスクリプタをポ
イントし、このバッファデスクリプタは次にリンクされ
たリスト内の次のバッファのための次のバッファデスク
リプタをポイントし、同様に次々にポイントすること
で、フレームおよびバッファデスクリプタのフォーマッ
トは、スタティックチェイニング、ダイナミックチェイ
ニングおよびストリーミングをサポートすることができ
る。
フレームを識別するための上記フレームデスクリプタを
含む手段を備えるので、ネットワークインターフェース
へ送るフレームを識別できる。
手段は、上記マルチワードフレームデスクリプタを含む
リングキューを備え、上記フレームデスクリプタが上記
バッファに対するポインタまたはバッファの上記リンク
されたリストのヘッドに対するポインタを含むので、ネ
ットワークインターフェースへ送るフレームを識別でき
る。
フレームを記述する情報を含み、上記情報がバーチャル
チャンネル番号、ステート情報およびモード表示のうち
の少なくとも1つを含むので、フレームデータに対する
ファットポインタを構成するマルチワードフレームデス
クリプタを提供することができる。
リンクされたリスト内の第1バッファに対するバッファ
デスクリプタをポイントし、さらに、上記リンクされた
リスト内の次のバッファに対する次のバッファデスクリ
プタをポイントするようにしたので、スタティックチェ
イニング、ダイナミックチェイニングおよびストリーミ
ングをサポートすることができる。
イバおよびオペレーティングシステムを有し、上記ネッ
トワークインターフェースは、送信入力キーを有し、さ
らにフレームデスクリプタを上記送信入力キューに直接
書き込み、上記ドライバまたはオペレーティングシステ
ムによる介入を防止するための手段を含むので、アプリ
ケーションがドライバおよびオペレーティングシステム
の介入を受けることなく、リングキューに直接書き込み
できるから効率性がよく、ポーリングがイネーブルされ
る場合には1回のI/Oバスオペレーションでよく、送
信入力キューがポーリングモードになっていない場合、
アプリケーションは特定の期間の間ネットワークインタ
ーフェースがポーリングモードとさせる通知レジスタに
書き込みできる。
の入力リングキーは送信すべきフレームのためのTXi
nと表示されたものであり、他方の出力リングキューは
送信を完了したフレームのためのTXdoneと表示さ
れたものである)を有するネットワークインターフェー
スカード、すなわちNICの送信側をブロックで示す略
図である。
の入力リングキューは空のバッファのためのフリーバッ
ファキューと表示されたものであり、他方の出力キュー
は受信されたバッファのフレームのためのRXdone
と表示されたものである)を有するネットワークインタ
ーフェースの受信側をブロックで示す略図である。
リプタに関するポイントであり、フレームデスクリプタ
がフレームのリンクされたリストのみならずフレームを
含むバッファのリンクされたリストをポイントする、三
菱電機によって開発された従来のネットワークインター
フェースアーキテクチャの略図である。
信側構造の略図である。
れた従来システムの送信側構造の略図である。
ムデスクリプタおよびバッファデスクリプタを使用する
ネットワークインターフェースカード上のATMネット
ワークインターフェースチップを示すブロック図であ
る。
タポインタと、次のバッファデスクリプタに対するポイ
ンタと、バーチャルチャンネルまたはコネクションを識
別し、データの伝送のモードを識別し、パラメータ、例
えばバッファサイズを識別するリングキュー内の有効エ
ントリーとして表示するための付加的フィールドとを有
するサブジェクトフレームデスクリプタの略図である。
タおよびフレームデスクリプタが同一のフォーマットを
有するサブジェクトバッファデスクリプタの略図であ
る。
ードMフォーマットを示す本システムの略図である。
ットフレームの略図である。
ッファから成るモードSフレームの略図である。
ト内で第1バッファデスクリプタとして働き、受信側で
チャンキングをサポートする最適モードMフォーマット
を発生するモードMフォーマットのための付加的な最適
化の略図である。
よびモードSフォーマットをサポートするフレーム変化
および送信側のキューの略図である。
図である。
る。
ミングを示す略図である。
レームフォーマットの該ようを示す略図である。
キューを備えたAAL5のための受信側での種々のフレ
ームフォーマットの略図である。
フレキシビリティを示し、チャンキングにも適合したA
AL5フォーマットのためのチャンキングに適用するた
めの受信側での変更の略図である。
トのための受信側の略図である。
ホストコンピュータ、152 PCIバス、153
PCIインターフェース、154 NICチップ、15
5 送信TXブロック、157 受信RXブロック、1
58 ユートピアインターフェースブロック、159
ローカルバスインターフェース、165ローカルメモ
リ、167 ローカルバス。
Claims (19)
- 【請求項1】 ホストコンピュータをネットワークに接
続するためのコネクションベースデータ伝送システムに
おけるネットワークインターフェースであって、 I/Oバスインターフェースと、このI/Oバスインタ
ーフェースに接続された受信ブロックおよび送信ブロッ
クと、上記I/Oバスインターフェースを上記ホストコ
ンピュータに接続するバスおよび上記送信ブロックと上
記受信ブロックを上記ネットワークに接続するための手
段を有するネットワークインターフェースカードを備
え、 上記受信および送信ブロック内に、上記ホストコンピュ
ータが有する送信入力TXinおよび送信完了TXdo
neキューならびに受信フリーバッファRXfreeお
よび受信完了RXdoneキューと、周辺部品相互接続
インターフェースとによって利用されるマルチワードフ
レームデスクリプタフォーマットを実現するための手段
を設けたネットワークインターフェース。 - 【請求項2】 上記マルチワードフレームデスクリプタ
フォーマットは、モードSフォーマットに適合するため
のフィールドを含むことを特徴とする請求項1記載のネ
ットワークインターフェース。 - 【請求項3】 上記マルチワードフレームデスクリプタ
フォーマットは、モードMフォーマットをサポートする
ことを特徴とする請求項1記載のネットワークインター
フェース。 - 【請求項4】 上記マルチワードフレームデスクリプタ
フォーマットは、最適化されたモードMフォーマットを
サポートすることを特徴とする請求項1記載のネットワ
ークインターフェース。 - 【請求項5】 上記マルチワードフレームデスクリプタ
フォーマットは、チェイニングをサポートすることを特
徴とする請求項1記載のネットワークインターフェー
ス。 - 【請求項6】 上記マルチワードフレームデスクリプタ
フォーマットは、ストリーミングをサポートすることを
特徴とする請求項1記載のネットワークインターフェー
ス。 - 【請求項7】 上記マルチワードフレームデスクリプタ
フォーマットは、チャンキングをサポートすることを特
徴とする請求項1記載のネットワークインターフェー
ス。 - 【請求項8】 上記ネットワークインターフェースカー
ドは、ローカルメモリを含み、上記複数のキューが上記
ローカルメモリ内に位置し、上記マルチワードフレーム
デスクリプタは、上記システムが入力キューまたは出力
キューをアドレス指定するか、または上記キューが上記
ホストメモリ内にあるかどうかとは無関係に、フレーム
デスクリプタに対する同じフォーマットを可能にするよ
う、デュアル現在ビットを有するフィールドを含むこと
を特徴とする請求項1記載のネットワークインターフェ
ース。 - 【請求項9】 上記インターフェースは、ATMインタ
ーフェースであり、上記マルチワードフレームデスクリ
プタフォーマットは、AAL0およびAAL5フォーマ
ットの双方に適合するためのフィールドを有することを
特徴とする請求項1記載のネットワークインターフェー
ス。 - 【請求項10】 上記ネットワークインターフェースカ
ードは、ブロッキングを防止するための手段を含むこと
を特徴とする請求項1記載のネットワークインターフェ
ース。 - 【請求項11】 上記受信フリーバッファRXfree
キューは、フレームデスクリプタを有し、該フレームデ
スクリプタは、バッファポインタおよび上記フレームデ
スクリプタのフォーマットに類似するフォーマットを有
する関連するバッファデスクリプタに対するポインタを
含むことを特徴とする請求項1記載のネットワークイン
ターフェース。 - 【請求項12】 上記受信フリーバッファRXfree
キューのための上記フレームデスクリプタおよび上記バ
ッファデスクリプタは、1つのデスクリプタとなるよう
に組み合わされていることを特徴とする請求項11記載
のネットワークインターフェース。 - 【請求項13】 1つ以上のバッファと、バッファのリ
ンクされたリストと、単一バッファまたはバッファの上
記リンクされたリストのヘッドを表示するためのマルチ
ワードフレームデスクリプタを有し、バッファの上記リ
ンクされたリスト内のバッファの各々が自己のバッファ
デスクリプタを有する、ネットワークを通してホストコ
ンピュータから情報のフレームを送信するためのネット
ワークインターフェース。 - 【請求項14】 上記フレームおよびバッファデスクリ
プタのフォーマットは、スタティックチェイニング、ダ
イナミックチェイニングおよびストリーミング(これら
はすべて同じデスクリプタフォーマットからのものであ
る)を可能にするようになっている、請求項13記載の
ネットワークインターフェース。 - 【請求項15】 上記ネットワークを通して送るべきフ
レームを識別するための上記フレームデスクリプタを含
む手段を備える請求項13記載のネットワークインター
フェース。 - 【請求項16】 上記フレームを識別するための上記手
段は、上記マルチワードフレームデスクリプタを含むリ
ングキューを備え、上記フレームデスクリプタが上記バ
ッファに対するポインタまたはバッファの上記リンクさ
れたリストのヘッドに対するポインタを含む請求項15
記載のネットワークインターフェース。 - 【請求項17】 上記フレームデスクリプタは、上記フ
レームを記述する情報を含み、上記情報がバーチャルチ
ャンネル番号、ステート情報およびモード表示のうちの
少なくとも1つを含み、フレームデータに対するファッ
トポインタを構成するマルチワードフレームデスクリプ
タを提供する請求項16記載のネットワークインターフ
ェース。 - 【請求項18】 上記フレームデスクリプタは、上記リ
ンクされたリスト内の第1バッファに対するバッファデ
スクリプタをポイントし、さらに、上記リンクされたリ
スト内の次のバッファに対する次のバッファデスクリプ
タをポイントする請求項17記載のネットワークインタ
ーフェース。 - 【請求項19】 上記ホストコンピュータは、ドライバ
およびオペレーティングシステムを有し、上記ネットワ
ークインターフェースは、送信入力キーを有し、さらに
フレームデスクリプタを上記送信入力キューに直接書き
込み、上記ドライバまたはオペレーティングシステムに
よる介入を防止するための手段を含む請求項13記載の
ネットワークインターフェース。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/549,940 US5751951A (en) | 1995-10-30 | 1995-10-30 | Network interface |
| US08/549940 | 1995-10-30 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09171492A true JPH09171492A (ja) | 1997-06-30 |
| JP2990345B2 JP2990345B2 (ja) | 1999-12-13 |
Family
ID=24195022
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8207369A Expired - Fee Related JP2990345B2 (ja) | 1995-10-30 | 1996-08-06 | ネットワークインターフェース |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5751951A (ja) |
| JP (1) | JP2990345B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002530778A (ja) * | 1998-11-24 | 2002-09-17 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン |
| JP2004523035A (ja) * | 2001-01-31 | 2004-07-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置 |
| JP2004523829A (ja) * | 2001-01-31 | 2004-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置 |
| JP2009532954A (ja) * | 2006-03-31 | 2009-09-10 | クゥアルコム・インコーポレイテッド | 高速メディアアクセス制御に関するメモリ管理 |
Families Citing this family (146)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| US5974466A (en) * | 1995-12-28 | 1999-10-26 | Hitachi, Ltd. | ATM controller and ATM communication control device |
| US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
| US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
| US6233637B1 (en) * | 1996-03-07 | 2001-05-15 | Sony Corporation | Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure |
| US6078733A (en) * | 1996-03-08 | 2000-06-20 | Mitsubishi Electric Information Technolgy Center America, Inc. (Ita) | Network interface having support for message processing and an interface to a message coprocessor |
| US5909546A (en) * | 1996-03-08 | 1999-06-01 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Network interface having support for allowing remote operations with reply that bypass host computer interaction |
| US5951657A (en) * | 1996-06-19 | 1999-09-14 | Wisconsin Alumni Research Foundation | Cacheable interface control registers for high speed data transfer |
| US5983332A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture |
| KR0169248B1 (ko) * | 1996-07-24 | 1999-02-01 | 양승택 | 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법 |
| US6032179A (en) * | 1996-08-14 | 2000-02-29 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Computer system with a network interface which multiplexes a set of registers among several transmit and receive queues |
| US6128278A (en) * | 1996-08-30 | 2000-10-03 | Mmc Networks, Inc. | Cell queuing in ATM switches |
| US5901147A (en) * | 1996-08-30 | 1999-05-04 | Mmc Networks, Inc. | Apparatus and methods to change thresholds to control congestion in ATM switches |
| US6070219A (en) * | 1996-10-09 | 2000-05-30 | Intel Corporation | Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller |
| US6064649A (en) * | 1997-01-31 | 2000-05-16 | Nec Usa, Inc. | Network interface card for wireless asynchronous transfer mode networks |
| US6233244B1 (en) * | 1997-02-14 | 2001-05-15 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers |
| US6041059A (en) * | 1997-04-25 | 2000-03-21 | Mmc Networks, Inc. | Time-wheel ATM cell scheduling |
| US6014367A (en) * | 1997-04-25 | 2000-01-11 | Mmc Networks, Inc | Method for weighted fair queuing for ATM cell scheduling |
| US5930525A (en) * | 1997-04-30 | 1999-07-27 | Adaptec, Inc. | Method and apparatus for network interface fetching initial and data burst blocks and segmenting blocks and scheduling blocks compatible for transmission over multiple virtual circuits |
| US6154460A (en) * | 1997-05-30 | 2000-11-28 | Alcatel Usa Sourcing, L.P. | Data packet transmission system and method |
| US6128715A (en) * | 1997-05-30 | 2000-10-03 | 3Com Corporation | Asynchronous transmit packet buffer |
| KR100251712B1 (ko) | 1997-07-11 | 2000-04-15 | 윤종용 | 전전자교환기에서 엑스.25 프로토콜 통신을 위한 엑스.25망정합장치 |
| DE19742378A1 (de) * | 1997-09-25 | 1999-04-22 | Siemens Ag | Ringspeicher für eine TDMA-Datenübertragungsstation und entsprechende Datenübertragungsstation |
| US6118777A (en) * | 1997-10-27 | 2000-09-12 | Nortel Networks Corporation | System and method for providing competing local exchange carriers unbundled access to subscriber access lines |
| US6157975A (en) * | 1998-01-07 | 2000-12-05 | National Semiconductor Corporation | Apparatus and method for providing an interface to a compound Universal Serial Bus controller |
| US6122676A (en) * | 1998-01-07 | 2000-09-19 | National Semiconductor Corporation | Apparatus and method for transmitting and receiving data into and out of a universal serial bus device |
| US6353866B1 (en) | 1998-01-07 | 2002-03-05 | National Semiconductor Corporation | Apparatus and method for initializing a universal serial bus device |
| US6070208A (en) * | 1998-01-07 | 2000-05-30 | National Semiconductor Corporation | Apparatus and method for implementing a versatile USB endpoint pipe |
| US6205501B1 (en) | 1998-01-07 | 2001-03-20 | National Semiconductor Corp. | Apparatus and method for handling universal serial bus control transfers |
| US6016513A (en) * | 1998-02-19 | 2000-01-18 | 3Com Corporation | Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer |
| US6662234B2 (en) | 1998-03-26 | 2003-12-09 | National Semiconductor Corporation | Transmitting data from a host computer in a reduced power state by an isolation block that disconnects the media access control layer from the physical layer |
| US7055151B1 (en) * | 1998-04-03 | 2006-05-30 | Applied Micro Circuits Corporation | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
| US6330584B1 (en) | 1998-04-03 | 2001-12-11 | Mmc Networks, Inc. | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
| US6307860B1 (en) | 1998-04-03 | 2001-10-23 | Mmc Networks, Inc. | Systems and methods for data transformation and transfer in networks |
| EP0964558A1 (en) | 1998-06-08 | 1999-12-15 | THOMSON multimedia | Method for accessing internet applications from home network devices |
| US6604136B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Application programming interfaces and methods enabling a host to interface with a network processor |
| US6657959B1 (en) | 1998-06-27 | 2003-12-02 | Intel Corporation | Systems and methods for implementing ABR with guaranteed MCR |
| US6311212B1 (en) | 1998-06-27 | 2001-10-30 | Intel Corporation | Systems and methods for on-chip storage of virtual connection descriptors |
| US6603768B1 (en) | 1998-06-27 | 2003-08-05 | Intel Corporation | Multi-protocol conversion assistance method and system for a network accelerator |
| US6724767B1 (en) * | 1998-06-27 | 2004-04-20 | Intel Corporation | Two-dimensional queuing/de-queuing methods and systems for implementing the same |
| US6735773B1 (en) | 1998-06-27 | 2004-05-11 | Intel Corporation | Method and apparatus for issuing commands to a network processor configured to provide a plurality of APIs |
| US6728249B2 (en) | 1998-06-27 | 2004-04-27 | Intel Corporation | System and method for performing cut-through forwarding in an ATM network supporting LAN emulation |
| GB9821791D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821792D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821762D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821800D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821768D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821789D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Jitter handling |
| GB9821763D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821766D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| GB9821770D0 (en) | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
| US20060242335A1 (en) * | 1998-11-03 | 2006-10-26 | Poisner David I | Race free data transfer algorithm using hardware based polling |
| US6449275B1 (en) * | 1998-12-17 | 2002-09-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Internal routing through multi-staged ATM node |
| US6396811B1 (en) * | 1998-12-17 | 2002-05-28 | Telefonaktiebolaget Lm Ericsson | Segmented performance monitoring of multi-stage ATM node |
| US6493824B1 (en) | 1999-02-19 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Secure system for remotely waking a computer in a power-down state |
| US6345324B1 (en) * | 1999-02-19 | 2002-02-05 | International Business Machines Corporation | Apparatus for transferring data using an interface element and a queued direct input-output device |
| US6401145B1 (en) * | 1999-02-19 | 2002-06-04 | International Business Machines Corporation | Method of transferring data using an interface element and a queued direct input-output device |
| US6504846B1 (en) * | 1999-05-21 | 2003-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers using a single buffer bit |
| US6675238B1 (en) * | 1999-09-03 | 2004-01-06 | Intel Corporation | Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor |
| US6711176B1 (en) * | 1999-09-21 | 2004-03-23 | Alcatel Canada Inc. | Cell/frame ATM interworking |
| US7330815B1 (en) | 1999-10-04 | 2008-02-12 | Globalenglish Corporation | Method and system for network-based speech recognition |
| JP3387464B2 (ja) * | 1999-11-25 | 2003-03-17 | 日本電気株式会社 | 通信制御システムとその制御方法 |
| US6724768B1 (en) * | 1999-11-26 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for enforcing maximum transit delay in network multiplexers |
| US6845402B1 (en) * | 1999-12-07 | 2005-01-18 | Advanced Micro Devices, Inc. | Descriptor burst read-ahead |
| US6629290B1 (en) * | 1999-12-29 | 2003-09-30 | Advanced Micro Devices, Inc. | Method and apparatus for automatic transmit verification |
| US6792513B2 (en) * | 1999-12-29 | 2004-09-14 | The Johns Hopkins University | System, method, and computer program product for high speed backplane messaging |
| US6956818B1 (en) * | 2000-02-23 | 2005-10-18 | Sun Microsystems, Inc. | Method and apparatus for dynamic class-based packet scheduling |
| US7716358B2 (en) | 2000-09-12 | 2010-05-11 | Wag Acquisition, Llc | Streaming media buffering system |
| US8595372B2 (en) * | 2000-09-12 | 2013-11-26 | Wag Acquisition, Llc | Streaming media buffering system |
| US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
| EP1342352A2 (en) | 2000-12-15 | 2003-09-10 | QUALCOMM Incorporated | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| CA2459941C (en) * | 2001-09-06 | 2013-09-17 | Qiuzhen Zou | Generating and implementing a communication protocol and interface for high data rate signal transfer |
| US8812706B1 (en) | 2001-09-06 | 2014-08-19 | Qualcomm Incorporated | Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system |
| US6807599B2 (en) | 2001-10-15 | 2004-10-19 | Advanced Micro Devices, Inc. | Computer system I/O node for connection serially in a chain to a host |
| US6820151B2 (en) | 2001-10-15 | 2004-11-16 | Advanced Micro Devices, Inc. | Starvation avoidance mechanism for an I/O node of a computer system |
| US6839784B1 (en) | 2001-10-15 | 2005-01-04 | Advanced Micro Devices, Inc. | Control unit of an I/O node for a computer system including a plurality of scheduler units each including a plurality of buffers each corresponding to a respective virtual channel |
| US6681274B2 (en) | 2001-10-15 | 2004-01-20 | Advanced Micro Devices, Inc. | Virtual channel buffer bypass for an I/O node of a computer system |
| US6728790B2 (en) | 2001-10-15 | 2004-04-27 | Advanced Micro Devices, Inc. | Tagging and arbitration mechanism in an input/output node of a computer system |
| JP3998466B2 (ja) * | 2001-12-13 | 2007-10-24 | 株式会社スクウェア・エニックス | ネットワークゲームシステムおよびネットワークゲーム処理方法 |
| US6668313B2 (en) * | 2001-12-21 | 2003-12-23 | Agere Systems, Inc. | Memory system for increased bandwidth |
| US6862647B1 (en) * | 2002-01-29 | 2005-03-01 | Advanced Micro Devices, Inc. | System and method for analyzing bus transactions |
| US6721816B1 (en) | 2002-02-27 | 2004-04-13 | Advanced Micro Devices, Inc. | Selecting independently of tag values a given command belonging to a second virtual channel and having a flag set among commands belonging to a posted virtual and the second virtual channels |
| US7899924B2 (en) | 2002-04-19 | 2011-03-01 | Oesterreicher Richard T | Flexible streaming hardware |
| US20040006636A1 (en) * | 2002-04-19 | 2004-01-08 | Oesterreicher Richard T. | Optimized digital media delivery engine |
| US7327674B2 (en) * | 2002-06-11 | 2008-02-05 | Sun Microsystems, Inc. | Prefetching techniques for network interfaces |
| US20040151170A1 (en) * | 2003-01-31 | 2004-08-05 | Manu Gulati | Management of received data within host device using linked lists |
| ATE517500T1 (de) | 2003-06-02 | 2011-08-15 | Qualcomm Inc | Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten |
| AU2004300958A1 (en) | 2003-08-13 | 2005-02-24 | Qualcomm, Incorporated | A signal interface for higher data rates |
| KR100951158B1 (ko) * | 2003-09-10 | 2010-04-06 | 콸콤 인코포레이티드 | 고속 데이터 인터페이스 |
| US7159051B2 (en) * | 2003-09-23 | 2007-01-02 | Intel Corporation | Free packet buffer allocation |
| EP1680904A1 (en) | 2003-10-15 | 2006-07-19 | QUALCOMM Incorporated | High data rate interface |
| TWI401601B (zh) | 2003-10-29 | 2013-07-11 | Qualcomm Inc | 用於一行動顯示數位介面系統之方法及系統及電腦程式產品 |
| CN101729205A (zh) * | 2003-11-12 | 2010-06-09 | 高通股份有限公司 | 具有改进链路控制的高数据速率接口 |
| RU2006122542A (ru) | 2003-11-25 | 2008-01-10 | Квэлкомм Инкорпорейтед (US) | Интерфейс с высокой скоростью передачи данных с улучшенной синхронизацией линии связи |
| CA2731269C (en) | 2003-12-08 | 2013-01-08 | Qualcomm Incorporated | High data rate interface with improved link synchronization |
| US8161197B2 (en) * | 2003-12-19 | 2012-04-17 | Broadcom Corporation | Method and system for efficient buffer management for layer 2 (L2) through layer 5 (L5) network interface controller applications |
| US7076578B2 (en) * | 2003-12-22 | 2006-07-11 | Intel Corporation | Race free data transfer algorithm using hardware based polling |
| US7433364B2 (en) * | 2003-12-24 | 2008-10-07 | Intel Corporation | Method for optimizing queuing performance |
| EP2309695A1 (en) | 2004-03-10 | 2011-04-13 | Qualcomm Incorporated | High data rate interface apparatus and method |
| WO2005091593A1 (en) | 2004-03-17 | 2005-09-29 | Qualcomm Incorporated | High data rate interface apparatus and method |
| US7284075B2 (en) * | 2004-03-23 | 2007-10-16 | Intel Corporation | Inbound packet placement in host memory |
| US8645566B2 (en) | 2004-03-24 | 2014-02-04 | Qualcomm Incorporated | High data rate interface apparatus and method |
| KR100612846B1 (ko) * | 2004-05-12 | 2006-08-14 | 삼성전자주식회사 | 오디오 재생기에 있어서 충격보호기능을 위한 오디오부호화 방법 및 장치 |
| US8650304B2 (en) | 2004-06-04 | 2014-02-11 | Qualcomm Incorporated | Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system |
| AU2005253592B2 (en) | 2004-06-04 | 2009-02-05 | Qualcomm Incorporated | High data rate interface apparatus and method |
| US7656880B1 (en) * | 2004-06-09 | 2010-02-02 | Verizon Laboratories Inc. | Prioritized segmentation and reassembly methods and systems |
| CN101010959B (zh) * | 2004-07-23 | 2012-01-25 | 海滩无极限有限公司 | 传送数据流的方法和系统 |
| US8353003B2 (en) * | 2004-10-01 | 2013-01-08 | Exelis Inc. | System and method for controlling a flow of data a network interface controller to a host processor |
| US8699330B2 (en) | 2004-11-24 | 2014-04-15 | Qualcomm Incorporated | Systems and methods for digital data transmission rate control |
| US8873584B2 (en) | 2004-11-24 | 2014-10-28 | Qualcomm Incorporated | Digital data interface device |
| US8692838B2 (en) * | 2004-11-24 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US8667363B2 (en) | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
| US8723705B2 (en) * | 2004-11-24 | 2014-05-13 | Qualcomm Incorporated | Low output skew double data rate serial encoder |
| US20060161691A1 (en) * | 2004-11-24 | 2006-07-20 | Behnam Katibian | Methods and systems for synchronous execution of commands across a communication link |
| US8539119B2 (en) | 2004-11-24 | 2013-09-17 | Qualcomm Incorporated | Methods and apparatus for exchanging messages having a digital data interface device message format |
| CN101069391A (zh) * | 2004-12-03 | 2007-11-07 | 皇家飞利浦电子股份有限公司 | 流式存储控制器 |
| US20060140203A1 (en) * | 2004-12-28 | 2006-06-29 | Sanjeev Jain | System and method for packet queuing |
| US7562366B2 (en) * | 2005-02-03 | 2009-07-14 | Solarflare Communications, Inc. | Transmit completion event batching |
| KR100735968B1 (ko) * | 2005-02-07 | 2007-07-06 | 엘지전자 주식회사 | 네트워크 컨트롤 시스템에서의 다운로드 및 업로드 서비스 제공방법 |
| US7483377B2 (en) * | 2005-03-01 | 2009-01-27 | Intel Corporation | Method and apparatus to prioritize network traffic |
| US7466715B2 (en) * | 2005-03-28 | 2008-12-16 | International Business Machines Corporation | Flexible control block format for frame description and management |
| US8730069B2 (en) | 2005-11-23 | 2014-05-20 | Qualcomm Incorporated | Double data rate serial encoder |
| US8692839B2 (en) | 2005-11-23 | 2014-04-08 | Qualcomm Incorporated | Methods and systems for updating a buffer |
| US7672299B2 (en) * | 2006-06-30 | 2010-03-02 | Sun Microsystems, Inc. | Network interface card virtualization based on hardware resources and software rings |
| KR20090110291A (ko) * | 2006-10-26 | 2009-10-21 | 인터랙틱 홀딩스 엘엘시 | 병렬 컴퓨팅시스템을 위한 네트워크 인터페이스 카드 |
| CN100440186C (zh) * | 2006-11-09 | 2008-12-03 | 威盛电子股份有限公司 | 高速传输系统和高速传输数据方法 |
| KR101421054B1 (ko) * | 2007-08-06 | 2014-07-18 | 삼성전자주식회사 | 버퍼를 이용한 연산 분산 방법 및 이를 이용한 연산 분산시스템 |
| US9584446B2 (en) * | 2008-03-18 | 2017-02-28 | Vmware, Inc. | Memory buffer management method and system having multiple receive ring buffers |
| US7801046B2 (en) * | 2008-04-28 | 2010-09-21 | Oracle America, Inc. | Method and system for bandwidth control on a network interface card |
| WO2010040043A1 (en) * | 2008-10-03 | 2010-04-08 | Hydro-Thermal Corporation | Radial flow steam injection heater |
| US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
| US8099473B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Variant streams for real-time or near real-time streaming |
| US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
| US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
| US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
| GB201105502D0 (en) | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
| US8560642B2 (en) | 2010-04-01 | 2013-10-15 | Apple Inc. | Real-time or near real-time streaming |
| US8892691B2 (en) | 2010-04-07 | 2014-11-18 | Apple Inc. | Real-time or near real-time streaming |
| US8462632B1 (en) * | 2010-12-28 | 2013-06-11 | Amazon Technologies, Inc. | Network traffic control |
| US9071499B2 (en) * | 2011-03-28 | 2015-06-30 | Citrix Systems, Inc. | Systems and methods for emulating a NIC for packet transmission on hardware RSS unaware NICs in a multi-core system |
| US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
| US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
| US20150281109A1 (en) * | 2014-03-30 | 2015-10-01 | Sachin Saxena | System for en-queuing and de-queuing data packets in communication network |
| US11134031B2 (en) * | 2016-03-11 | 2021-09-28 | Purdue Research Foundation | Computer remote indirect memory access system |
| US10748462B2 (en) * | 2018-05-29 | 2020-08-18 | Shenzhen China Star Optoelectronics Technology Co., Ltd. | Hardware controller of NAND device, control method and liquid crystal display |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3251640B2 (ja) * | 1992-06-18 | 2002-01-28 | 株式会社東芝 | データ伝送方法とその装置 |
| US5414840A (en) * | 1992-06-25 | 1995-05-09 | Digital Equipment Corporation | Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory |
| US5588120A (en) * | 1994-10-03 | 1996-12-24 | Sanyo Electric Co., Ltd. | Communication control system for transmitting, from one data processing device to another, data of different formats along with an identification of the format and its corresponding DMA controller |
| US5541912A (en) * | 1994-10-04 | 1996-07-30 | At&T Corp. | Dynamic queue length thresholds in a shared memory ATM switch |
-
1995
- 1995-10-30 US US08/549,940 patent/US5751951A/en not_active Expired - Lifetime
-
1996
- 1996-08-06 JP JP8207369A patent/JP2990345B2/ja not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002530778A (ja) * | 1998-11-24 | 2002-09-17 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン |
| JP2004523035A (ja) * | 2001-01-31 | 2004-07-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置 |
| JP2004523829A (ja) * | 2001-01-31 | 2004-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置 |
| JP2009532954A (ja) * | 2006-03-31 | 2009-09-10 | クゥアルコム・インコーポレイテッド | 高速メディアアクセス制御に関するメモリ管理 |
| US8139593B2 (en) | 2006-03-31 | 2012-03-20 | Qualcomm Incorporated | Memory management for high speed media access control |
| US8594112B2 (en) | 2006-03-31 | 2013-11-26 | Qualcomm Incorporated | Memory management for high speed media access control |
Also Published As
| Publication number | Publication date |
|---|---|
| US5751951A (en) | 1998-05-12 |
| JP2990345B2 (ja) | 1999-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2990345B2 (ja) | ネットワークインターフェース | |
| US5664116A (en) | Buffering of data for transmission in a computer communication system interface | |
| US5625625A (en) | Method and apparatus for partitioning data load and unload functions within an interface system for use with an asynchronous transfer mode system | |
| JP4205181B2 (ja) | Atmパケット・ヘッダおよびデータをホスト・コンピュータ・システムにバースト転送するための方法および装置 | |
| JP2788577B2 (ja) | フレーム変換方法及び装置 | |
| US5875352A (en) | Method and apparatus for multiple channel direct memory access control | |
| US5848293A (en) | Method and apparatus for transmission and processing of virtual commands | |
| US5778180A (en) | Mechanism for reducing data copying overhead in protected memory operating systems | |
| JP3819484B2 (ja) | Mpegパケットをパケット化およびセグメント化する装置および方法 | |
| EP1131923B1 (en) | Multi-protocol conversion assistance method and system for a network accelerator | |
| US5828903A (en) | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer | |
| EP0792081B1 (en) | A system and method for an efficient ATM adapter/device driver interface | |
| US5420858A (en) | Method and apparatus for communications from a non-ATM communication medium to an ATM communication medium | |
| CA2159459C (en) | Method and system for managing memory in a high speed network | |
| JPH1074174A (ja) | ネットワーク・インタフェース | |
| US20080013535A1 (en) | Data Switch and Switch Fabric | |
| JPH0685842A (ja) | 通信装置 | |
| JPH10224379A (ja) | Atm再構成コントローラおよび再構成方法 | |
| JPH1055326A (ja) | ネットワーク・インタフェースおよび受信メッセージの処理方法 | |
| EP0845918B1 (en) | System for, and method of, ATM segmentation and re-assembly of cells providing streaming data | |
| US6324164B1 (en) | Asynchronous transfer mode (A.T.M.) protocol adapter for a high speed cell switching system | |
| US6529945B1 (en) | Data buffer management between two different systems | |
| KR100236035B1 (ko) | Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법 | |
| WO1995014269A1 (en) | A high-performance host interface for networks carrying connectionless traffic | |
| US6603768B1 (en) | Multi-protocol conversion assistance method and system for a network accelerator |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 9 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 9 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081015 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091015 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091015 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101015 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101015 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111015 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111015 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121015 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121015 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 14 |
|
| LAPS | Cancellation because of no payment of annual fees |