JPH0678024A - ネットワークアダプタシステム - Google Patents
ネットワークアダプタシステムInfo
- Publication number
- JPH0678024A JPH0678024A JP5151356A JP15135693A JPH0678024A JP H0678024 A JPH0678024 A JP H0678024A JP 5151356 A JP5151356 A JP 5151356A JP 15135693 A JP15135693 A JP 15135693A JP H0678024 A JPH0678024 A JP H0678024A
- Authority
- JP
- Japan
- Prior art keywords
- network
- packet
- checksum
- data
- network adapter
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【目的】チェックサムを計算し挿入するネットワークア
ダプタを構成することでプロセッサの追加のオーバヘッ
ドを減少させたネットワークシステムを提供する。 【構成】外方向には、プロセッサ15は記憶装置11内にネ
ットワークパケットを構成する。パケットはネットワー
クアダプタ12内のパケット貯蔵記憶装置に転送される。
転送の間にネットワークアダプタ12はチェックサムを計
算し、転送終了後パケット貯蔵記憶装置内のパケットに
チェックサムを挿入する。ネットワークアダプタ12は、
パケットをネットワーク30に送信する。内方向には、ネ
ットワークアダプタ22は、ネットワーク30からネットワ
ークアダプタ22内のパケット貯蔵記憶装置にパケットを
受け取り、次に記憶装置21に転送する。転送の間にネッ
トワークアダプタ22はチェックサムを計算し、記憶装置
21に転送されるパケット上にチェックサムを追加する。
ダプタを構成することでプロセッサの追加のオーバヘッ
ドを減少させたネットワークシステムを提供する。 【構成】外方向には、プロセッサ15は記憶装置11内にネ
ットワークパケットを構成する。パケットはネットワー
クアダプタ12内のパケット貯蔵記憶装置に転送される。
転送の間にネットワークアダプタ12はチェックサムを計
算し、転送終了後パケット貯蔵記憶装置内のパケットに
チェックサムを挿入する。ネットワークアダプタ12は、
パケットをネットワーク30に送信する。内方向には、ネ
ットワークアダプタ22は、ネットワーク30からネットワ
ークアダプタ22内のパケット貯蔵記憶装置にパケットを
受け取り、次に記憶装置21に転送する。転送の間にネッ
トワークアダプタ22はチェックサムを計算し、記憶装置
21に転送されるパケット上にチェックサムを追加する。
Description
【0001】
【産業上の利用分野】この発明はネットワークデータの
チェックサムの挿入を行うハードウエアシステムに関す
る。
チェックサムの挿入を行うハードウエアシステムに関す
る。
【0002】
【従来技術と発明が解決しようとする課題】ほとんどの
複合ネットワークはそれぞれがネットワークの異なる層
で動作するいくつかのレベルのプロトコルを用いて動作
する。例えば、ISO OSI標準アーキテクチャで動作する
複合ネットワークは、物理層、リンク層、ネットワーク
層およびトランスポート層を備える。1983年8月のProce
edings of the IEEE、Vol. 71、No. 12を参照された
い。
複合ネットワークはそれぞれがネットワークの異なる層
で動作するいくつかのレベルのプロトコルを用いて動作
する。例えば、ISO OSI標準アーキテクチャで動作する
複合ネットワークは、物理層、リンク層、ネットワーク
層およびトランスポート層を備える。1983年8月のProce
edings of the IEEE、Vol. 71、No. 12を参照された
い。
【0003】プロトコルの各層には、一般にネットワー
クを介して送られるデータに備えられるべきさまざまな
ヘッダフィールドを必要とする。これらのヘッダフィー
ルドは行先アドレスや出所アドレスの提供、効率的なデ
ータフローの保証、およびデータ伝送におけるエラーの
検出と訂正といったさまざまな機能に用いられる。典型
的には、ヘッダフィールドの生成、ヘッダフィールド中
の情報の解読およびデータの複製にかなりのCPU時間が
費やされる。
クを介して送られるデータに備えられるべきさまざまな
ヘッダフィールドを必要とする。これらのヘッダフィー
ルドは行先アドレスや出所アドレスの提供、効率的なデ
ータフローの保証、およびデータ伝送におけるエラーの
検出と訂正といったさまざまな機能に用いられる。典型
的には、ヘッダフィールドの生成、ヘッダフィールド中
の情報の解読およびデータの複製にかなりのCPU時間が
費やされる。
【0004】
【課題を解決するための手段】この発明の好適実施例で
は、ネットワークを介して送られるネットワークパケッ
トのチェックサムを取るようにインプリメントする方法
を提供する。プロセッサは主記憶装置内にネットワーク
パケットを構成する。ネットワークパケットは主記憶装
置からネットワークアダプタ内のパケット貯蔵記憶装置
に転送される。転送の間にネットワークアダプタはネッ
トワークパケットのためのチェックサムを計算する。ネ
ットワークアダプタは次に、パケット貯蔵記憶装置内の
ネットワークパケットにチェックサムを挿入する。ネッ
トワークアダプタは更に、このネットワークパケットを
ネットワークに送信する。
は、ネットワークを介して送られるネットワークパケッ
トのチェックサムを取るようにインプリメントする方法
を提供する。プロセッサは主記憶装置内にネットワーク
パケットを構成する。ネットワークパケットは主記憶装
置からネットワークアダプタ内のパケット貯蔵記憶装置
に転送される。転送の間にネットワークアダプタはネッ
トワークパケットのためのチェックサムを計算する。ネ
ットワークアダプタは次に、パケット貯蔵記憶装置内の
ネットワークパケットにチェックサムを挿入する。ネッ
トワークアダプタは更に、このネットワークパケットを
ネットワークに送信する。
【0005】ネットワークパケット用にチェックサムを
計算するために、ネットワークパケットがパケット貯蔵
記憶装置に転送されるときにネットワークアダプタ内の
ハードウエアはネットワークアダプタ内の内部バスをス
ヌープ(snoop)する。加えて、この好適実施例では、チ
ェックサムヘッダがチェックサムのための制御情報を含
んだネットワークパケットに付けられる。この制御情報
には、例えば、ネットワークアダプタがチェックサムを
計算すべきかどうかの表示とネットワークパケット中の
どのデータがチェックサムされるべきかの仕様を含む。
制御情報は更に、チェックサムが挿入されるべきネット
ワークパケット内の位置を含んでいてもよい。
計算するために、ネットワークパケットがパケット貯蔵
記憶装置に転送されるときにネットワークアダプタ内の
ハードウエアはネットワークアダプタ内の内部バスをス
ヌープ(snoop)する。加えて、この好適実施例では、チ
ェックサムヘッダがチェックサムのための制御情報を含
んだネットワークパケットに付けられる。この制御情報
には、例えば、ネットワークアダプタがチェックサムを
計算すべきかどうかの表示とネットワークパケット中の
どのデータがチェックサムされるべきかの仕様を含む。
制御情報は更に、チェックサムが挿入されるべきネット
ワークパケット内の位置を含んでいてもよい。
【0006】ネットワークアダプタはネットワークから
受信したネットワークパケットのために、ネットワーク
からネットワークパケットを例えばパケット貯蔵記憶装
置に受け取る。ネットワークパケットはネットワークア
ダプタから主記憶装置に転送される。この転送中にネッ
トワークアダプタはネットワークパケットのためのチェ
ックサムを計算する。ネットワークアダプタは主記憶装
置に転送されるネットワークパケット上にチェックサム
を追加する。
受信したネットワークパケットのために、ネットワーク
からネットワークパケットを例えばパケット貯蔵記憶装
置に受け取る。ネットワークパケットはネットワークア
ダプタから主記憶装置に転送される。この転送中にネッ
トワークアダプタはネットワークパケットのためのチェ
ックサムを計算する。ネットワークアダプタは主記憶装
置に転送されるネットワークパケット上にチェックサム
を追加する。
【0007】チェックサムを計算するために、ネットワ
ークアダプタ内のハードウエアは、ネットワークアダプ
タが主記憶装置に転送されるときに、ネットワークアダ
プタ内の内部バスをスヌープする。内方向のネットワー
クパケットのために、チェックサムコンフィグレーショ
ン情報がネットワークパケットの最初に付けられてもよ
い。他方、チェックサムコンフィグレーション情報はプ
ロセッサにより提供されてもよい。チェックサムコンフ
ィグレーション情報は、例えば、ネットワークアダプタ
がチェックサムを計算すべきかどうかの指示、ネットワ
ークパケット中のどのデータがチェックサムされるべき
かの明細が含まれる。
ークアダプタ内のハードウエアは、ネットワークアダプ
タが主記憶装置に転送されるときに、ネットワークアダ
プタ内の内部バスをスヌープする。内方向のネットワー
クパケットのために、チェックサムコンフィグレーショ
ン情報がネットワークパケットの最初に付けられてもよ
い。他方、チェックサムコンフィグレーション情報はプ
ロセッサにより提供されてもよい。チェックサムコンフ
ィグレーション情報は、例えば、ネットワークアダプタ
がチェックサムを計算すべきかどうかの指示、ネットワ
ークパケット中のどのデータがチェックサムされるべき
かの明細が含まれる。
【0008】本発明はホストプロセッサ時間を使用した
り、ネットワークアダプタ内のDMA転送の性能低下を招
くことなしにチェックサムを取る性能を向上させる。
り、ネットワークアダプタ内のDMA転送の性能低下を招
くことなしにチェックサムを取る性能を向上させる。
【0009】
【実施例】図1はネットワーク30を介して計算機システ
ム20に接続された計算機システム10を示す簡略化したブ
ロック図である。計算機システム10はプロセッサ15、キ
ャッシュ14、主記憶装置11およびネットワークアダプタ
12を有する。メモリバス13はプロセッサ15(キャッシュ
14を介して)、記憶装置11およびネットワークアダプタ
12を接続する。ネットワークアダプタ12はネットワーク
30へのインターフェースとして機能する。計算機システ
ム20はプロセッサ25、キャッシュ24、記憶装置21および
ネットワークアダプタ22を備える。メモリバス23はプロ
セッサ25(キャッシュ24を介して)、記憶装置21および
ネットワークアダプタ22を接続する。ネットワークアダ
プタ22はネットワーク30へのインターフェースとして機
能する。この発明はネットワーク30を介して送られるデ
ータのヘッダフィールドの構成と解読を簡略化するため
のネットワークデータの性能に関する。
ム20に接続された計算機システム10を示す簡略化したブ
ロック図である。計算機システム10はプロセッサ15、キ
ャッシュ14、主記憶装置11およびネットワークアダプタ
12を有する。メモリバス13はプロセッサ15(キャッシュ
14を介して)、記憶装置11およびネットワークアダプタ
12を接続する。ネットワークアダプタ12はネットワーク
30へのインターフェースとして機能する。計算機システ
ム20はプロセッサ25、キャッシュ24、記憶装置21および
ネットワークアダプタ22を備える。メモリバス23はプロ
セッサ25(キャッシュ24を介して)、記憶装置21および
ネットワークアダプタ22を接続する。ネットワークアダ
プタ22はネットワーク30へのインターフェースとして機
能する。この発明はネットワーク30を介して送られるデ
ータのヘッダフィールドの構成と解読を簡略化するため
のネットワークデータの性能に関する。
【0010】図2はネットワーク30を介して転送される
メッセージのデータフローを示す。データパス51とデー
タパス52はヘッダ或いはメッセージを形成するデータの
一部として用いられるキャッシュ14中の任意の情報のキ
ャッシュ14から記憶装置11へのフラッシング(或いはラ
イトスルー)を表わす。データパス54はネットワーク30
を介したデータフローを表す。データパス55はネットワ
ーク22から記憶装置21へのDMA転送を表す。データパス5
3は記憶装置11からネットワークアダプタ12へのDMA転送
動作を表わす。データパス56及びデータパス57は、ネッ
トワークアダプタ22から記憶装置21へのDMA転送によっ
て古くなったデータを有するキャッシュ24中の記憶場所
の無効化を表わす。
メッセージのデータフローを示す。データパス51とデー
タパス52はヘッダ或いはメッセージを形成するデータの
一部として用いられるキャッシュ14中の任意の情報のキ
ャッシュ14から記憶装置11へのフラッシング(或いはラ
イトスルー)を表わす。データパス54はネットワーク30
を介したデータフローを表す。データパス55はネットワ
ーク22から記憶装置21へのDMA転送を表す。データパス5
3は記憶装置11からネットワークアダプタ12へのDMA転送
動作を表わす。データパス56及びデータパス57は、ネッ
トワークアダプタ22から記憶装置21へのDMA転送によっ
て古くなったデータを有するキャッシュ24中の記憶場所
の無効化を表わす。
【0011】メッセージ用の簡略化されたデータパスを
達成するために、ネットワークアダプタ12とネットワー
クアダプタ22は通常はそれぞれプロセッサ15とプロセッ
サ25によって実行される三つの動作を実行する。以下の
説明はこれらの動作がネットワークアダプタ12によって
実行される態様に関する。しかしながら、ネットワーク
アダプタ12とネットワークアダプタ22は性能上同じであ
るため、以下の説明はネットワークアダプタ22の動作に
もあてはまる。
達成するために、ネットワークアダプタ12とネットワー
クアダプタ22は通常はそれぞれプロセッサ15とプロセッ
サ25によって実行される三つの動作を実行する。以下の
説明はこれらの動作がネットワークアダプタ12によって
実行される態様に関する。しかしながら、ネットワーク
アダプタ12とネットワークアダプタ22は性能上同じであ
るため、以下の説明はネットワークアダプタ22の動作に
もあてはまる。
【0012】第1の動作はネットワークアダプタ12によ
るネットワークデータチェックサムの生成と挿入であ
る。ネットワークアダプタによってチェックサム計算を
実施することによって、プロセッサ15が負う追加のオー
バヘッドや時間をほとんど要することなくチェックサム
の生成と挿入を行うことができる。
るネットワークデータチェックサムの生成と挿入であ
る。ネットワークアダプタによってチェックサム計算を
実施することによって、プロセッサ15が負う追加のオー
バヘッドや時間をほとんど要することなくチェックサム
の生成と挿入を行うことができる。
【0013】外方向には、プロセッサ15は適正なチェッ
クサム方法とその結果を挿入する位置を示すネットワー
クアダプタ12チェックサム制御情報を提供する。この制
御情報はデータパス53に沿って伝わるDMAデータストリ
ーム中のパケットに付加される。データが記憶装置11か
ら転送されるとき、ネットワークアダプタ12はチェック
サムを計算する。転送が終わったとき、ネットワークア
ダプタ12はパケットをネットワーク30上に送出する前に
このチェックサムをパケット中の適当な位置に挿入す
る。
クサム方法とその結果を挿入する位置を示すネットワー
クアダプタ12チェックサム制御情報を提供する。この制
御情報はデータパス53に沿って伝わるDMAデータストリ
ーム中のパケットに付加される。データが記憶装置11か
ら転送されるとき、ネットワークアダプタ12はチェック
サムを計算する。転送が終わったとき、ネットワークア
ダプタ12はパケットをネットワーク30上に送出する前に
このチェックサムをパケット中の適当な位置に挿入す
る。
【0014】内方向には、ネットワークアダプタ12はパ
ケットヘッダをデコードし、チェックサム制御情報を内
部レジスタに直接プログラムする。ネットワークアダプ
タ12はパケットを記憶装置11に転送するときチェックサ
ムを計算する。ネットワークアダプタ12がチェックサム
の計算を終えると、ネットワークアダプタ12はその結果
を記憶装置11に転送されているデータストリームに付け
加える。プロセッサ15はこのチェックサム結果をパケッ
トチェックサムと比較してデータを確かめる。
ケットヘッダをデコードし、チェックサム制御情報を内
部レジスタに直接プログラムする。ネットワークアダプ
タ12はパケットを記憶装置11に転送するときチェックサ
ムを計算する。ネットワークアダプタ12がチェックサム
の計算を終えると、ネットワークアダプタ12はその結果
を記憶装置11に転送されているデータストリームに付け
加える。プロセッサ15はこのチェックサム結果をパケッ
トチェックサムと比較してデータを確かめる。
【0015】ネットワークアダプタが実行する第2の動
作はネットワークアダプタ12から記憶装置11への着信パ
ケットの転送中のヘッダとデータの自動分離である。転
送中にヘッダとデータを分割することによって、データ
をホストメモリ中のページ調整された境界に置くことが
できる。メモリページは仮想ページ再マッピング(remap
ping)によって適当なアプリケーションに引き渡すこと
ができる。この処理は簡単な仮想ポインタ操作によって
行うことができ、パケットがネットワークアダプタ12に
よって記憶装置11に転送された後にデータを複写する必
要がなくなる。
作はネットワークアダプタ12から記憶装置11への着信パ
ケットの転送中のヘッダとデータの自動分離である。転
送中にヘッダとデータを分割することによって、データ
をホストメモリ中のページ調整された境界に置くことが
できる。メモリページは仮想ページ再マッピング(remap
ping)によって適当なアプリケーションに引き渡すこと
ができる。この処理は簡単な仮想ポインタ操作によって
行うことができ、パケットがネットワークアダプタ12に
よって記憶装置11に転送された後にデータを複写する必
要がなくなる。
【0016】ネットワークアダプタ12はヘッダ/データ
分割位置を判定し、この値を用いてDMAハードウエアを
プログラムする。このDMAハードウエアは分割位置に達
するまでヘッダのバイトをカウントダウンする。パッド
データを加えることによって、DMAハードウエアはパケ
ットのデータ部分の始まりが確実にメモリページ境界に
来るようにする。この処理は上述したチェックサム処理
と平行して実行される。
分割位置を判定し、この値を用いてDMAハードウエアを
プログラムする。このDMAハードウエアは分割位置に達
するまでヘッダのバイトをカウントダウンする。パッド
データを加えることによって、DMAハードウエアはパケ
ットのデータ部分の始まりが確実にメモリページ境界に
来るようにする。この処理は上述したチェックサム処理
と平行して実行される。
【0017】ネットワークアダプタ12が実行する第3の
動作は、ネットワークヘッダの位置合わせである。これ
は、ネットワークリンクヘッダ中に見つけ出される特定
の値に基づくパッドバイトの挿入によって行われる。多
くのプロセッサは対応する複数バイト境界に位置合わせ
されていない複数バイトフィールドにアクセスすること
ができない。プロセッサはデータにアクセスするために
このバイトを補助バッファに複写しなければならない。
ネットワークアダプタ12はこの複写を不要にする。
動作は、ネットワークヘッダの位置合わせである。これ
は、ネットワークリンクヘッダ中に見つけ出される特定
の値に基づくパッドバイトの挿入によって行われる。多
くのプロセッサは対応する複数バイト境界に位置合わせ
されていない複数バイトフィールドにアクセスすること
ができない。プロセッサはデータにアクセスするために
このバイトを補助バッファに複写しなければならない。
ネットワークアダプタ12はこの複写を不要にする。
【0018】ネットワークアダプタ12はネットワークリ
ンクヘッダの行先サービスアクセスポイント(DSAP)フィ
ールド中の特定の値に対する着信バイトストリームを探
索する。ハードウエアはこのDSAPフィールド中の値に基
づいてDSAPフィールドと出所サービスアクセスポイント
(SSAP)フィールドの間に0から3個の数のパッドバイトを
挿入する。それに続くヘッダはこのデータストリーム中
で4バイトに調整される。
ンクヘッダの行先サービスアクセスポイント(DSAP)フィ
ールド中の特定の値に対する着信バイトストリームを探
索する。ハードウエアはこのDSAPフィールド中の値に基
づいてDSAPフィールドと出所サービスアクセスポイント
(SSAP)フィールドの間に0から3個の数のパッドバイトを
挿入する。それに続くヘッダはこのデータストリーム中
で4バイトに調整される。
【0019】図3から図6はこの発明の好適実施例にした
がって送出されるメッセージのヘッダの例を示す。図3
はDSAPパッドバイトの挿入前のFDDIスナップへッダ110
を示す。媒体ヘッダ110は1バイトのフレーム制御(FC)フ
ィールド111を含む。6バイトの行先アドレスフィールド
112によってパケットを受信する局の媒体アドレスが与
えられる。6バイトの出所アドレスフィールド113によっ
てパケットを送信する局の媒体アドレスが与えられる。
がって送出されるメッセージのヘッダの例を示す。図3
はDSAPパッドバイトの挿入前のFDDIスナップへッダ110
を示す。媒体ヘッダ110は1バイトのフレーム制御(FC)フ
ィールド111を含む。6バイトの行先アドレスフィールド
112によってパケットを受信する局の媒体アドレスが与
えられる。6バイトの出所アドレスフィールド113によっ
てパケットを送信する局の媒体アドレスが与えられる。
【0020】1バイトのDSAPフィールド114が現在使用さ
れており、媒体ヘッダフォーマットにサービスの型を定
義する。DSAPがAA(16進値)に等しい場合、媒体ヘッダ
110はSNAPヘッダであり、3バイトのパッドがDSAPフィー
ルド114の後に挿入される。DSAPがFC(16進値)に等し
い場合、媒体ヘッダ110はHP拡張サービスアクセスポイ
ントであり、1個のパッドバイトがDSAPフィールド114の
後に挿入される。この発明では、他のすべてのDSAP値に
ついてはパッドバイトの挿入は発生しない。これは、例
えばFDDI 802.2ヘッダ等の他のヘッダは追加のパッドの
挿入を要しないためである。
れており、媒体ヘッダフォーマットにサービスの型を定
義する。DSAPがAA(16進値)に等しい場合、媒体ヘッダ
110はSNAPヘッダであり、3バイトのパッドがDSAPフィー
ルド114の後に挿入される。DSAPがFC(16進値)に等し
い場合、媒体ヘッダ110はHP拡張サービスアクセスポイ
ントであり、1個のパッドバイトがDSAPフィールド114の
後に挿入される。この発明では、他のすべてのDSAP値に
ついてはパッドバイトの挿入は発生しない。これは、例
えばFDDI 802.2ヘッダ等の他のヘッダは追加のパッドの
挿入を要しないためである。
【0021】1バイトのSSAPフィールド116は出所サービ
スアクセスポイントを含む。この好適実施例のLLC 802.
2タイプ1制御(CTRL)フィールド117は常に、番号の付い
ていない情報を示す3に設定される。3バイトの編成IDフ
ィールド118はこの好適実施例では処理されない。2バイ
トのSNAP型フィールド119はこの好適実施例では処理さ
れない。
スアクセスポイントを含む。この好適実施例のLLC 802.
2タイプ1制御(CTRL)フィールド117は常に、番号の付い
ていない情報を示す3に設定される。3バイトの編成IDフ
ィールド118はこの好適実施例では処理されない。2バイ
トのSNAP型フィールド119はこの好適実施例では処理さ
れない。
【0022】リンクヘッダの上述のフィールドの後、IP
ヘッダ120の後にTCPヘッダ或いはUDPヘッダが続く。IP
ヘッダ120の長さは20バイト以上である。TCPヘッダの長
さは20バイト以上である。UDPヘッダの長さは8バイトで
ある。
ヘッダ120の後にTCPヘッダ或いはUDPヘッダが続く。IP
ヘッダ120の長さは20バイト以上である。TCPヘッダの長
さは20バイト以上である。UDPヘッダの長さは8バイトで
ある。
【0023】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド114とSSAPフィールド116の間に0から3個のパッドバ
イトを挿入する。後続のヘッダはデータストリーム中で
4バイト調整される。媒体ヘッダ110において、DSAPはAA
(16進値)に等しく、これは媒体ヘッダ110がSNAPヘッ
ダであることを示す。したがって、3バイトのパッド115
が図4に示されるようにDSAPフィールド114の後に挿入さ
れる。
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド114とSSAPフィールド116の間に0から3個のパッドバ
イトを挿入する。後続のヘッダはデータストリーム中で
4バイト調整される。媒体ヘッダ110において、DSAPはAA
(16進値)に等しく、これは媒体ヘッダ110がSNAPヘッ
ダであることを示す。したがって、3バイトのパッド115
が図4に示されるようにDSAPフィールド114の後に挿入さ
れる。
【0024】図5はDSAPパッドバイトの挿入前のFDDI HP
拡張ヘッダ130を示す。媒体ヘッダ130は1バイトフレー
ム制御(FC)フィールド131を含む。6バイト行先アドレス
フィールド132によってパケットを受信する局の媒体ア
ドレスが与えられる。6バイト出所アドレスフィールド1
33によってパケットを送信する局の媒体アドレスが与え
られる。
拡張ヘッダ130を示す。媒体ヘッダ130は1バイトフレー
ム制御(FC)フィールド131を含む。6バイト行先アドレス
フィールド132によってパケットを受信する局の媒体ア
ドレスが与えられる。6バイト出所アドレスフィールド1
33によってパケットを送信する局の媒体アドレスが与え
られる。
【0025】1バイトのDSAPフィールド134が使用されて
おり、媒体ヘッダのフォーマットに従ったサービスの型
を定義する。DSAPがFC(16進値)に等しい場合、媒体ヘ
ッダ130はHP拡張サービスアクセスポイントであり、1個
のパッドバイトがDSAPフィールド134の後に挿入され
る。1バイトのSSAPフィールド136は出所サービスアクセ
スポイントを含む。この好適実施例のLLC 802.2タイプ1
制御(CTRL)フィールド137は常に、番号の付いていない
情報を示す3に設定される。3バイトのHP拡張サービスア
クセスポイント(HPXSAP)スペーシングフィールド138が
確保される。2バイトの行先拡張サービスアクセスポイ
ント(DXSAP)フィールド139と2バイトの出所拡張サービ
スアクセスポイント(SXSAP)フィールド140は特定のプロ
トコルの一部として用いられる。
おり、媒体ヘッダのフォーマットに従ったサービスの型
を定義する。DSAPがFC(16進値)に等しい場合、媒体ヘ
ッダ130はHP拡張サービスアクセスポイントであり、1個
のパッドバイトがDSAPフィールド134の後に挿入され
る。1バイトのSSAPフィールド136は出所サービスアクセ
スポイントを含む。この好適実施例のLLC 802.2タイプ1
制御(CTRL)フィールド137は常に、番号の付いていない
情報を示す3に設定される。3バイトのHP拡張サービスア
クセスポイント(HPXSAP)スペーシングフィールド138が
確保される。2バイトの行先拡張サービスアクセスポイ
ント(DXSAP)フィールド139と2バイトの出所拡張サービ
スアクセスポイント(SXSAP)フィールド140は特定のプロ
トコルの一部として用いられる。
【0026】リンクヘッダの上述のフィールドの後、IP
ヘッダ141の後にTCPヘッダ或いはUDPヘッダが続く。
ヘッダ141の後にTCPヘッダ或いはUDPヘッダが続く。
【0027】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド134とSSAPフィールド136の間にパッドバイトを挿入
する。後続のヘッダはデータストリーム中で4バイト調
整される。媒体ヘッダ130において、DSAPはFC(16進
値)に等しく、これは媒体ヘッダ130がHP拡張サービス
アクセスポイントヘッダであることを示す。したがっ
て、一個のパッドバイト135が図6に示されるようにDSAP
フィールド134の後に挿入される。
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド134とSSAPフィールド136の間にパッドバイトを挿入
する。後続のヘッダはデータストリーム中で4バイト調
整される。媒体ヘッダ130において、DSAPはFC(16進
値)に等しく、これは媒体ヘッダ130がHP拡張サービス
アクセスポイントヘッダであることを示す。したがっ
て、一個のパッドバイト135が図6に示されるようにDSAP
フィールド134の後に挿入される。
【0028】図7はこの好適実施例のネットワークアダ
プタ12の実施に用いられる論理の一部のブロック図であ
る。ネットワークアダプタ12はバックプレーンバス33を
介して計算機システム10のバックプレーンDMAコントロ
ーラ31に接続されている。バックプレーンDMAコントロ
ーラ31は記憶装置11とネットワークアダプタ12の間のDM
Aを実行する。
プタ12の実施に用いられる論理の一部のブロック図であ
る。ネットワークアダプタ12はバックプレーンバス33を
介して計算機システム10のバックプレーンDMAコントロ
ーラ31に接続されている。バックプレーンDMAコントロ
ーラ31は記憶装置11とネットワークアダプタ12の間のDM
Aを実行する。
【0029】ネットワークアダプタ12はフロントプレー
ンコントローラ32を介してネットワーク30に接続されて
いる。例えば、この好適実施例では、ネットワーク30は
FDDIネットワークであり、フロントプレーンコントロー
ラ32はCalifornia 95051, Santa Clara, Semiconductor
Drive 2900のCalifornia州法人、National Semiconduc
tor Corporationの販売するLANコントローラDP83261の
ようなLANコントローラである。
ンコントローラ32を介してネットワーク30に接続されて
いる。例えば、この好適実施例では、ネットワーク30は
FDDIネットワークであり、フロントプレーンコントロー
ラ32はCalifornia 95051, Santa Clara, Semiconductor
Drive 2900のCalifornia州法人、National Semiconduc
tor Corporationの販売するLANコントローラDP83261の
ようなLANコントローラである。
【0030】フロントプレーン論理セルアレー(LCA)45
はフロントプレーンコントローラ32を介してネットワー
ク30との間でデータの送受信を行う。LANコントローラ3
2はネットワーク30との間のデータパケットの送出と受
信をつかさどる。
はフロントプレーンコントローラ32を介してネットワー
ク30との間でデータの送受信を行う。LANコントローラ3
2はネットワーク30との間のデータパケットの送出と受
信をつかさどる。
【0031】送出転送を行う場合、フロントプレーンLC
A 45はLANコントローラ32による転送を行うべく、DMAバ
ス49からの32ビットワードを8ビットバイトにアンパッ
クする。フロントプレーンLCA 45はまたプロセッサ15に
よって挿入されたFCパッドバイトのカウント値を備える
出力ストリームの第1のバイトを見て、このFCパッドバ
イトを取り除いて、パケットの残りをLANコントローラ3
2に送る。フロントプレーンLCA 45は外方向先入れ先出
し記憶装置(FIFO)に送出用のデータをロードする。フロ
ントプレーンLCA 45は次にパケットの送出を行うために
LANコントローラ32とのハンドシェークを制御する。
A 45はLANコントローラ32による転送を行うべく、DMAバ
ス49からの32ビットワードを8ビットバイトにアンパッ
クする。フロントプレーンLCA 45はまたプロセッサ15に
よって挿入されたFCパッドバイトのカウント値を備える
出力ストリームの第1のバイトを見て、このFCパッドバ
イトを取り除いて、パケットの残りをLANコントローラ3
2に送る。フロントプレーンLCA 45は外方向先入れ先出
し記憶装置(FIFO)に送出用のデータをロードする。フロ
ントプレーンLCA 45は次にパケットの送出を行うために
LANコントローラ32とのハンドシェークを制御する。
【0032】着信転送については、フロントプレーンLC
A 45はLANコントローラ32からの状態表示行を見て着信
パケットのフラッシングを発生させるエラー条件を監視
しながら、着信FIFOにデータをハンドシェークする。フ
ロントプレーンLCA 45はLANコントローラ32からのバイ
トストリームを取り、それをDMAバス49用の32ビットワ
ードストリームにパックする。フロントプレーンLCA 45
はデータをパックしながら、受信中のパケットの長さを
追跡し、この長さをパケットの最後にパケット状態の一
部として挿入する。フロントプレーンLCA 45はまたDSAP
フィールド用の入力ストリームを走査して、残りのヘッ
ダとデータを位置合わせするためにどのような種類のパ
ッドが必要であるかを判定する。DSAPフィールドを発見
すると、フロントプレーンLCA 45は0-3バイトのDSAPパ
ッドを挿入する。フロントプレーンLCA 45はEDRCVD行を
検知してパケットの終わりを検出すると、LANコントロ
ーラ32から検知されたパケットの状態とパケットの長さ
を挿入する。0-3バイトのパッドを挿入して、この状態
と長さが単一の32ビットワードに確実に納まるようにす
る。この長さフィールドは状態および長さのワード、す
なわちSLLW、或いはチェックサムLCA 42に加えられたチ
ェックサム結果を位置合わせするために詰め込まれたバ
イト数を含まない。
A 45はLANコントローラ32からの状態表示行を見て着信
パケットのフラッシングを発生させるエラー条件を監視
しながら、着信FIFOにデータをハンドシェークする。フ
ロントプレーンLCA 45はLANコントローラ32からのバイ
トストリームを取り、それをDMAバス49用の32ビットワ
ードストリームにパックする。フロントプレーンLCA 45
はデータをパックしながら、受信中のパケットの長さを
追跡し、この長さをパケットの最後にパケット状態の一
部として挿入する。フロントプレーンLCA 45はまたDSAP
フィールド用の入力ストリームを走査して、残りのヘッ
ダとデータを位置合わせするためにどのような種類のパ
ッドが必要であるかを判定する。DSAPフィールドを発見
すると、フロントプレーンLCA 45は0-3バイトのDSAPパ
ッドを挿入する。フロントプレーンLCA 45はEDRCVD行を
検知してパケットの終わりを検出すると、LANコントロ
ーラ32から検知されたパケットの状態とパケットの長さ
を挿入する。0-3バイトのパッドを挿入して、この状態
と長さが単一の32ビットワードに確実に納まるようにす
る。この長さフィールドは状態および長さのワード、す
なわちSLLW、或いはチェックサムLCA 42に加えられたチ
ェックサム結果を位置合わせするために詰め込まれたバ
イト数を含まない。
【0033】バックプレーン論理セルアレー(LCA)41
は、バックプレーンDMAコントローラ31を介してメモリ
バス13との間のデータの送受信を行う。
は、バックプレーンDMAコントローラ31を介してメモリ
バス13との間のデータの送受信を行う。
【0034】DMAバス49はラッチ46によってプロセッサ
バス38から分離されている。中央処理装置(CPU)37、ラ
ンダムアクセスメモリ(RAM)36、不揮発性RAM(NOVRAM)3
5、読み出し専用記憶装置(ROM)34がプロセッサバス38に
接続されている。例えば、プロセッサバス38の幅は32ビ
ットであり、CPU 37はCalifronia, Milpitas, Ames Ave
nue 801のMotorola Communications and Electronics I
nc. から販売している25メガヘルツ(MHz)のプロセッサ
クロック速度を有する68020プロセッサである。CPU 37
は自己テスト機能、(例えば初期設定のための)フロン
トプレーンのチップセット制御、FDDIリンクの接続管
理、およびその他のさまざまな機能を提供するのに用い
られる。CPU 37用のコードはROM 34に備えられている。
スタートアップ時に、CPU 37はこのコードをRAM 36に複
写し、コードをそこから実行する。これによって、CPU
37は待ち状態命令サイクルなしで実行することができ
る。
バス38から分離されている。中央処理装置(CPU)37、ラ
ンダムアクセスメモリ(RAM)36、不揮発性RAM(NOVRAM)3
5、読み出し専用記憶装置(ROM)34がプロセッサバス38に
接続されている。例えば、プロセッサバス38の幅は32ビ
ットであり、CPU 37はCalifronia, Milpitas, Ames Ave
nue 801のMotorola Communications and Electronics I
nc. から販売している25メガヘルツ(MHz)のプロセッサ
クロック速度を有する68020プロセッサである。CPU 37
は自己テスト機能、(例えば初期設定のための)フロン
トプレーンのチップセット制御、FDDIリンクの接続管
理、およびその他のさまざまな機能を提供するのに用い
られる。CPU 37用のコードはROM 34に備えられている。
スタートアップ時に、CPU 37はこのコードをRAM 36に複
写し、コードをそこから実行する。これによって、CPU
37は待ち状態命令サイクルなしで実行することができ
る。
【0035】チェックサム論理セルアレー(LCA)42、DMA
制御論理セルアレー(LCA)43およびスロットメモリ44がD
MAバス49に接続されている。
制御論理セルアレー(LCA)43およびスロットメモリ44がD
MAバス49に接続されている。
【0036】DMAバス49は、チェックサムLCA 42、DMA制
御LCA 43、バックプレーンLCA 41およびスロットメモリ
44とともにLANコントローラ32とバックプレーンDMAコン
トローラ31の間で高スループット、低待ち時間でデータ
を移動させるためのデータパイプとして機能する。この
データパイプはまた、チェックサムハードウエアを支援
し、データを操作してヘッダ、データおよびバッファの
不適切な位置合わせを修正する。また副次的な機能とし
ては、このデータパイプはCPU 37によるデータストリー
ムへの限定されたアクセスを提供し、そのさい転送性能
にほとんど影響を与えない。
御LCA 43、バックプレーンLCA 41およびスロットメモリ
44とともにLANコントローラ32とバックプレーンDMAコン
トローラ31の間で高スループット、低待ち時間でデータ
を移動させるためのデータパイプとして機能する。この
データパイプはまた、チェックサムハードウエアを支援
し、データを操作してヘッダ、データおよびバッファの
不適切な位置合わせを修正する。また副次的な機能とし
ては、このデータパイプはCPU 37によるデータストリー
ムへの限定されたアクセスを提供し、そのさい転送性能
にほとんど影響を与えない。
【0037】スロットメモリ44は50メガバイト/秒の帯
域幅を提供するように設計された高速スタティックRAM
のブロックである。この帯域幅はLANコントローラ32、
バックプレーンDMAコントローラ31、およびCPU 37の間
で時分割多重によって共用される。スロットメモリ44へ
のアクセスはすべてDMAコントローラLCA 43によって制
御される。スロットメモリ44は論理的には(最大サイズ
のFDDIパケットに十分な)8Kバイトに分割され、これに
パケットが入る。このスロットの概念はメモリ管理の簡
単な方法を提供する。
域幅を提供するように設計された高速スタティックRAM
のブロックである。この帯域幅はLANコントローラ32、
バックプレーンDMAコントローラ31、およびCPU 37の間
で時分割多重によって共用される。スロットメモリ44へ
のアクセスはすべてDMAコントローラLCA 43によって制
御される。スロットメモリ44は論理的には(最大サイズ
のFDDIパケットに十分な)8Kバイトに分割され、これに
パケットが入る。このスロットの概念はメモリ管理の簡
単な方法を提供する。
【0038】DMAコントローラLCA 43の主たる機能は、
スロットメモリ44を管理することである。DMAコントロ
ーラLCA 43はスロットメモリ44との間のデータ転送要求
を受理し、適切なクライアントにデータを移動させるの
に必要なアドレスとデータストローブを生成する。他に
はスロットメモリ44に直接アクセスできる装置はない。
このメモリ管理法は、すべてのアクセスが短時間にす
み、装置間で相互に遅延を発生させないことを保証す
る。
スロットメモリ44を管理することである。DMAコントロ
ーラLCA 43はスロットメモリ44との間のデータ転送要求
を受理し、適切なクライアントにデータを移動させるの
に必要なアドレスとデータストローブを生成する。他に
はスロットメモリ44に直接アクセスできる装置はない。
このメモリ管理法は、すべてのアクセスが短時間にす
み、装置間で相互に遅延を発生させないことを保証す
る。
【0039】DMAコントローラLCA 43は二つのDMAチャン
ネルを提供する。一つはバックプレーンDMAコントロー
ラ31との間の転送のためのチャンネルであり、もう一つ
はLANコントローラ32との間の転送のためのチャンネル
である。DMAコントローラLCA 43はまたCPU 37によるス
ロットメモリ44へのアクセスのための代理として機能す
る。DMAコントローラLCA 43はCPU 37がロードできるCPU
アドレスレジスタを有し、これはCPU 37がスロットメモ
リ44へのアクセスを要求するときに用いられる。CPU 37
がデータを要求するとき、DMAコントローラLCA 43はCPU
アドレスレジスタによって指示された場所からデータを
取り出し、それをラッチ46でラッチしてCPU 37が後でア
クセスできるようにする。DMAコントローラLCA 43はま
たもう一つのアドレスレジスタを有し、このアドレスレ
ジスタはチェックサムLCA 42が送出パケットにチェック
サムを挿入できるようにする。
ネルを提供する。一つはバックプレーンDMAコントロー
ラ31との間の転送のためのチャンネルであり、もう一つ
はLANコントローラ32との間の転送のためのチャンネル
である。DMAコントローラLCA 43はまたCPU 37によるス
ロットメモリ44へのアクセスのための代理として機能す
る。DMAコントローラLCA 43はCPU 37がロードできるCPU
アドレスレジスタを有し、これはCPU 37がスロットメモ
リ44へのアクセスを要求するときに用いられる。CPU 37
がデータを要求するとき、DMAコントローラLCA 43はCPU
アドレスレジスタによって指示された場所からデータを
取り出し、それをラッチ46でラッチしてCPU 37が後でア
クセスできるようにする。DMAコントローラLCA 43はま
たもう一つのアドレスレジスタを有し、このアドレスレ
ジスタはチェックサムLCA 42が送出パケットにチェック
サムを挿入できるようにする。
【0040】チェックサムLCA 42はデータ転送中にデー
タバスを探索し、バックプレーンDMAコントローラ31と
スロットメモリ44の間でデータが移動されるときチェッ
クサムを計算する。チェックサム動作を実行するため
に、チェックサムのさまざまなパラメータはまずチェッ
クサムLCA 42にプログラムされなければならない。これ
はこの構成をデータストリームに挿入することによって
達成される。
タバスを探索し、バックプレーンDMAコントローラ31と
スロットメモリ44の間でデータが移動されるときチェッ
クサムを計算する。チェックサム動作を実行するため
に、チェックサムのさまざまなパラメータはまずチェッ
クサムLCA 42にプログラムされなければならない。これ
はこの構成をデータストリームに挿入することによって
達成される。
【0041】チェックサムLCA 42はチェックサム型(無
し、TCP、UDP)、チェックサム開始オフセット、チェッ
クサム停止オフセットおよびチェックサム挿入オフセッ
ト(送出データパケットにのみ用いられる)で構成され
る。すべてのチェックサムオフセットパラメータは、パ
ケットのBYTEオフセットである。
し、TCP、UDP)、チェックサム開始オフセット、チェッ
クサム停止オフセットおよびチェックサム挿入オフセッ
ト(送出データパケットにのみ用いられる)で構成され
る。すべてのチェックサムオフセットパラメータは、パ
ケットのBYTEオフセットである。
【0042】この好適実施例では、チェックサムLCA 42
はARPAサービスだけを処理する。チェックサムLCA 42は
任意のバイトオフセットである開始および停止オフセッ
トを正しく処理する。これは、ARPAチェックサムの性質
が単純であるために行うことができるが、他のチェック
サム(すなわちOSI)については、これでは十分ではな
い。
はARPAサービスだけを処理する。チェックサムLCA 42は
任意のバイトオフセットである開始および停止オフセッ
トを正しく処理する。これは、ARPAチェックサムの性質
が単純であるために行うことができるが、他のチェック
サム(すなわちOSI)については、これでは十分ではな
い。
【0043】チェックサム停止オフセット値はチェック
サムが停止する正確なオフセットでなければならない。
チェックサムがパケットの最後まで実行されねばならな
い場合にも正確なオフセットを有しなければならない。
チェックサムLCA 42はパケット終端(EOP)ビットに達し
た場合、チェックサムを停止するが、チェックサムLCA4
2はそのワードのすべてのバイトが有効であるかどうか
がわからず、有効であると仮定する。したがって、停止
オフセットが正確でないと不要バイトが含まれることが
ある。
サムが停止する正確なオフセットでなければならない。
チェックサムがパケットの最後まで実行されねばならな
い場合にも正確なオフセットを有しなければならない。
チェックサムLCA 42はパケット終端(EOP)ビットに達し
た場合、チェックサムを停止するが、チェックサムLCA4
2はそのワードのすべてのバイトが有効であるかどうか
がわからず、有効であると仮定する。したがって、停止
オフセットが正確でないと不要バイトが含まれることが
ある。
【0044】図15はチェックサムLCA 42のブロック図を
示す。型および状態レジスタ186がチェックサムの型を
記憶する。開始オフセットレジスタ187が開始オフセッ
トを記憶する。停止オフセットレジスタ188が停止オフ
セットを記憶する。挿入オフセットレジスタ189が挿入
オフセットを記憶する。チェックサム累算器182がDMAバ
ス49上のデータストリームのチェックサムを計算する。
チェックサムはチェックサムレジスタ184に記憶され
る。マルチプレクサ183がチェックサムレジスタ184に入
れるべきチェックサム累算器182の結果或いはDMAバス49
上の値を選択する。ラッチ185はチェックサム184をDMA
バス49にラッチするのに用いられる。制御181はチェッ
クサムLCA 42の動作を制御する。図15のブロック図は一
つのチェックサム累算器だけを示すが、異なるチェック
サムアルゴリズムのための追加のチェックサム累算器を
設けることもできる。これらはチェックサムレジスタ18
4に多重化することができる。
示す。型および状態レジスタ186がチェックサムの型を
記憶する。開始オフセットレジスタ187が開始オフセッ
トを記憶する。停止オフセットレジスタ188が停止オフ
セットを記憶する。挿入オフセットレジスタ189が挿入
オフセットを記憶する。チェックサム累算器182がDMAバ
ス49上のデータストリームのチェックサムを計算する。
チェックサムはチェックサムレジスタ184に記憶され
る。マルチプレクサ183がチェックサムレジスタ184に入
れるべきチェックサム累算器182の結果或いはDMAバス49
上の値を選択する。ラッチ185はチェックサム184をDMA
バス49にラッチするのに用いられる。制御181はチェッ
クサムLCA 42の動作を制御する。図15のブロック図は一
つのチェックサム累算器だけを示すが、異なるチェック
サムアルゴリズムのための追加のチェックサム累算器を
設けることもできる。これらはチェックサムレジスタ18
4に多重化することができる。
【0045】バックプレーンLCA 41はバックプレーンDM
Aコントローラ31とデータをハンドシェークし、データ
をパックおよびアンパックし、またバックプレーンDMA
コントローラ31を介して転送されるデータの適正な位置
合わせを提供するのに用いられる。
Aコントローラ31とデータをハンドシェークし、データ
をパックおよびアンパックし、またバックプレーンDMA
コントローラ31を介して転送されるデータの適正な位置
合わせを提供するのに用いられる。
【0046】以下にチェックサム挿入を含む送出転送を
説明する。この好適実施例において、ネットワークアダ
プタ12は常に読み出し保留状態にある。これによって、
着信パケットはプロセッサ15に迅速に達することができ
る。このため、プロセッサ15はまずネットワークアダプ
タ12に送出転送が来ていることを知らせて、ネットワー
クアダプタ12がそれを受ける準備ができるようにしなけ
ればならない。また、送出パケットはデータストリーム
にチェックサムが挿入されていなければならないため、
パケットはチェックサムが挿入されるまでは送出されて
はならない。このため送出パケットはチェックサム処理
が終わるまでスロットメモリ44に止められる。
説明する。この好適実施例において、ネットワークアダ
プタ12は常に読み出し保留状態にある。これによって、
着信パケットはプロセッサ15に迅速に達することができ
る。このため、プロセッサ15はまずネットワークアダプ
タ12に送出転送が来ていることを知らせて、ネットワー
クアダプタ12がそれを受ける準備ができるようにしなけ
ればならない。また、送出パケットはデータストリーム
にチェックサムが挿入されていなければならないため、
パケットはチェックサムが挿入されるまでは送出されて
はならない。このため送出パケットはチェックサム処理
が終わるまでスロットメモリ44に止められる。
【0047】以下にチェックサムを挿入し送出パケット
を送るために行われなければならないことを説明する。
送出パケットは記憶装置11に構成されねばならない。プ
ロセッサ15はパケットに適当なチェックサム制御ヘッダ
を付けねばならない。
を送るために行われなければならないことを説明する。
送出パケットは記憶装置11に構成されねばならない。プ
ロセッサ15はパケットに適当なチェックサム制御ヘッダ
を付けねばならない。
【0048】例えば、図8は記憶装置11中に構成された
送出パケット60を示す。送出パケット60はチェックサム
制御ヘッダ61、リンクレベルヘッダ62、IPヘッダ63、ト
ランスポートヘッダ64およびユーザデータ65を含む。チ
ェックサム制御ヘッダは開始オフセットフィールド71、
停止オフセットフィールド75、アルゴフィールド72、方
向フィールド73、挿入フィールド74および挿入オフセッ
トフィールド76を含むものとして示されている。開始オ
フセットフィールド71は、チェックサムを開始すべきバ
イトを示す。停止オフセットフィールド75は停止オフセ
ット、すなわち、チェックサムを行うべきバイト数を示
す。またフィールド72は使用されるチェックサムアルゴ
リズム(TCP、UDPその他)を示す。方向フィールド73は
データフローの方向(送信或いは着信)を示す。挿入フ
ィールド74は送出パケットにチェックサムを挿入すべき
かどうかを示す。挿入オフセットフィールド76はチェッ
クサムを挿入すべき場所を示す。
送出パケット60を示す。送出パケット60はチェックサム
制御ヘッダ61、リンクレベルヘッダ62、IPヘッダ63、ト
ランスポートヘッダ64およびユーザデータ65を含む。チ
ェックサム制御ヘッダは開始オフセットフィールド71、
停止オフセットフィールド75、アルゴフィールド72、方
向フィールド73、挿入フィールド74および挿入オフセッ
トフィールド76を含むものとして示されている。開始オ
フセットフィールド71は、チェックサムを開始すべきバ
イトを示す。停止オフセットフィールド75は停止オフセ
ット、すなわち、チェックサムを行うべきバイト数を示
す。またフィールド72は使用されるチェックサムアルゴ
リズム(TCP、UDPその他)を示す。方向フィールド73は
データフローの方向(送信或いは着信)を示す。挿入フ
ィールド74は送出パケットにチェックサムを挿入すべき
かどうかを示す。挿入オフセットフィールド76はチェッ
クサムを挿入すべき場所を示す。
【0049】図9はFCパッドバイト160を記憶装置11にい
かに挿入してヘッダを複数バイト境界、例えば16バイト
境界に沿って位置合わせするかを示す。図9において、
リンクレベルヘッダ62は1バイトのフレーム制御(FC)フ
ィールド161、6バイトの行先アドレスフィールド162、6
バイトの出所アドレスフィールド163、1バイトの行先サ
ービスアクセスポイント(DSAP)フィールド164、1バイト
のSSAPフィールド166、制御(CTRL)フィールド167、およ
び他のフィールド(図示せず)を含む。DMAのためのヘ
ッダの位置合わせを可能にするために、FCフィールド16
1の前にFCパッドバイトが加えられる。FCパッドカウン
トフィールド159は加えられるFCパッドバイトの数を示
す。
かに挿入してヘッダを複数バイト境界、例えば16バイト
境界に沿って位置合わせするかを示す。図9において、
リンクレベルヘッダ62は1バイトのフレーム制御(FC)フ
ィールド161、6バイトの行先アドレスフィールド162、6
バイトの出所アドレスフィールド163、1バイトの行先サ
ービスアクセスポイント(DSAP)フィールド164、1バイト
のSSAPフィールド166、制御(CTRL)フィールド167、およ
び他のフィールド(図示せず)を含む。DMAのためのヘ
ッダの位置合わせを可能にするために、FCフィールド16
1の前にFCパッドバイトが加えられる。FCパッドカウン
トフィールド159は加えられるFCパッドバイトの数を示
す。
【0050】FCパッドを用いると、プロセッサ15上で動
作するネットワーキングプロトコルソフトウエアは、リ
ンクヘッダを特別の複数バイト境界に強制することなく
主記憶装置11中にそのヘッダを構成することができる。
一般に、ヘッダは後ろから前へ構成される。したがっ
て、ヘッダの第1バイトは必ずしも特定のバイト境界に
位置合わせされない。従来の技術では、ヘッダが主記憶
装置11からのDMA用に適正に位置合わせされていないと
き、ネットワークアダプタ12へのDMAの前にこのヘッダ
を複写する必要があった。この好適実施例では、DMA転
送の第1のバイトはこのDMAが位置合わせされた(すなわ
ち、キャッシュ行境界)場所で開始されうるようにする
ためにヘッダの前のFCパッドバイトの数の信号を発する
FCカウントである。DMA転送が16バイト境界で始まるよ
うに追加のFCパッドバイトが加えられる。
作するネットワーキングプロトコルソフトウエアは、リ
ンクヘッダを特別の複数バイト境界に強制することなく
主記憶装置11中にそのヘッダを構成することができる。
一般に、ヘッダは後ろから前へ構成される。したがっ
て、ヘッダの第1バイトは必ずしも特定のバイト境界に
位置合わせされない。従来の技術では、ヘッダが主記憶
装置11からのDMA用に適正に位置合わせされていないと
き、ネットワークアダプタ12へのDMAの前にこのヘッダ
を複写する必要があった。この好適実施例では、DMA転
送の第1のバイトはこのDMAが位置合わせされた(すなわ
ち、キャッシュ行境界)場所で開始されうるようにする
ためにヘッダの前のFCパッドバイトの数の信号を発する
FCカウントである。DMA転送が16バイト境界で始まるよ
うに追加のFCパッドバイトが加えられる。
【0051】記憶装置11中に送出パケットが構成される
と、バックプレーンDMAコントローラ31が記憶装置11か
らネットワークアダプタ12へのデータの移送を開始す
る。DMAコントローラLCA 43はバックプレーンLCA 41か
らスロットメモリ44に、チェックサムLCA 42とDMAコン
トローラLCA 43の構成データを含むチェックサム制御61
以外のデータを移送する。
と、バックプレーンDMAコントローラ31が記憶装置11か
らネットワークアダプタ12へのデータの移送を開始す
る。DMAコントローラLCA 43はバックプレーンLCA 41か
らスロットメモリ44に、チェックサムLCA 42とDMAコン
トローラLCA 43の構成データを含むチェックサム制御61
以外のデータを移送する。
【0052】DMAコントローラLCA 43はチェックサム制
御ヘッダ60の挿入フィールド74をチェックして、このパ
ケットにチェックサムを挿入すべきが否かを判定しなけ
ればならない。チェックサムを挿入すべき場合には、チ
ェックサムが挿入されるまで送出パケット60をスロット
メモリ44に格納しなければならない。これを図10に示
す。
御ヘッダ60の挿入フィールド74をチェックして、このパ
ケットにチェックサムを挿入すべきが否かを判定しなけ
ればならない。チェックサムを挿入すべき場合には、チ
ェックサムが挿入されるまで送出パケット60をスロット
メモリ44に格納しなければならない。これを図10に示
す。
【0053】DMAコントローラLCA 43がバックプレーンL
CA 41からスロットメモリ44にデータを移送するとき、
チェックサムLCA 42はDMAバス49上のデータを探索し、
そのデータが通過する際にそれをチェックサムする。こ
の好適実施例では、16ビット桁上げ加算が用いられる。
チェックサムは開始オフセットフィールド71によって指
定されるバイトから開始され、停止オフセットに達する
か、或いはパケット終端(EOP)が検出されるまで続けら
れる。チェックサムLCA 42はチェックサムの一部ではな
いバイトをマスクする。これによってチェックサムは任
意のバイト境界で開始および停止しうることになる。こ
れはARPAサービスでは良好に機能するが、他の種類のチ
ェックサムについてはアルゴリズムを多少変更する必要
がある。
CA 41からスロットメモリ44にデータを移送するとき、
チェックサムLCA 42はDMAバス49上のデータを探索し、
そのデータが通過する際にそれをチェックサムする。こ
の好適実施例では、16ビット桁上げ加算が用いられる。
チェックサムは開始オフセットフィールド71によって指
定されるバイトから開始され、停止オフセットに達する
か、或いはパケット終端(EOP)が検出されるまで続けら
れる。チェックサムLCA 42はチェックサムの一部ではな
いバイトをマスクする。これによってチェックサムは任
意のバイト境界で開始および停止しうることになる。こ
れはARPAサービスでは良好に機能するが、他の種類のチ
ェックサムについてはアルゴリズムを多少変更する必要
がある。
【0054】図11はネットワークパケットに付加される
チェックサムを示す。データの最終ワードがバックプレ
ーンLCA 41によってラッチされると、バックプレーンDM
Aコントローラ31に示すように、バックプレーンLCA 41
がその旨の信号をチェックサムLCA 42に送る。この信号
を受け取ると、チェックサムLCA 42はデータバス49上に
チェックサム値77をアサート(assert)し、DMAコントロ
ーラLCA 43に挿入オフセットフィールド76に与えられた
オフセットでスロットメモリ44へのチェックサム値77の
書き込みを行うよう信号を出す。また、パケットの終端
を検出すると、バックプレーンDMAコントローラ31はプ
ロセッサ15に割り込みをかける。プロセッサ15が送出転
送を終えれば、プロセッサ15はネットワークアダプタ12
に読み出しを通知する。プロセッサ15が別の送出転送を
行いたい場合、プロセッサ15は次の送出転送に進む。
チェックサムを示す。データの最終ワードがバックプレ
ーンLCA 41によってラッチされると、バックプレーンDM
Aコントローラ31に示すように、バックプレーンLCA 41
がその旨の信号をチェックサムLCA 42に送る。この信号
を受け取ると、チェックサムLCA 42はデータバス49上に
チェックサム値77をアサート(assert)し、DMAコントロ
ーラLCA 43に挿入オフセットフィールド76に与えられた
オフセットでスロットメモリ44へのチェックサム値77の
書き込みを行うよう信号を出す。また、パケットの終端
を検出すると、バックプレーンDMAコントローラ31はプ
ロセッサ15に割り込みをかける。プロセッサ15が送出転
送を終えれば、プロセッサ15はネットワークアダプタ12
に読み出しを通知する。プロセッサ15が別の送出転送を
行いたい場合、プロセッサ15は次の送出転送に進む。
【0055】チェックサム値77がスロットメモリ44に書
き込まれると、DMAコントローラLCA43はネットワーク30
への転送のためにスロットメモリ44からLANコントロー
ラ32へのデータの移動を開始する。フロントプレーン制
御LCA 45が32ビットデータストリームを8ビットデータ
ストリームにアンパックする。このデータストリームは
フレーム制御バイトとその前のFCパッドバイトを含む。
フロントプレーン制御LCA 45はFCパッドバイトを取り除
き、残りのデータストリームをLANコントローラ32に送
る。
き込まれると、DMAコントローラLCA43はネットワーク30
への転送のためにスロットメモリ44からLANコントロー
ラ32へのデータの移動を開始する。フロントプレーン制
御LCA 45が32ビットデータストリームを8ビットデータ
ストリームにアンパックする。このデータストリームは
フレーム制御バイトとその前のFCパッドバイトを含む。
フロントプレーン制御LCA 45はFCパッドバイトを取り除
き、残りのデータストリームをLANコントローラ32に送
る。
【0056】送出転送はまたチェックサムの挿入を行わ
ずに送ることもできる。この送出パケットにはチェック
サムを挿入する必要がないため、このパケットは送出の
ために直ちにLANコントローラ32に流すことができる。
チェックサムの挿入を行わないことは、このパケットに
ついてチェックサムを計算することができないという意
味ではない。例えば、IPフラグメント列を処理している
とき、初めのN個のパケットについてチェックサムが計
算され、N+1番目のパケットにはその総計が挿入され
る。初めのN個のパケットは直ちにLANコントローラ32に
流すことができる。
ずに送ることもできる。この送出パケットにはチェック
サムを挿入する必要がないため、このパケットは送出の
ために直ちにLANコントローラ32に流すことができる。
チェックサムの挿入を行わないことは、このパケットに
ついてチェックサムを計算することができないという意
味ではない。例えば、IPフラグメント列を処理している
とき、初めのN個のパケットについてチェックサムが計
算され、N+1番目のパケットにはその総計が挿入され
る。初めのN個のパケットは直ちにLANコントローラ32に
流すことができる。
【0057】以下の処理は着信パケットを受信するため
に行われる。着信パケットがLANコントローラ32に到着
し初める。LANコントローラ32はフロントプレーン制御L
CA 45にデータの到着を知らせる信号を発する。フロン
トプレーン制御LCA 45はこのデータをフロントプレーン
制御LCA 45内のバッファにクロックする。受信されたバ
イトの数が一定のしきい値を超えると、DMAコントロー
ラLCA 43に信号が与えられて、スロットメモリ44へのデ
ータの移送が開始される。
に行われる。着信パケットがLANコントローラ32に到着
し初める。LANコントローラ32はフロントプレーン制御L
CA 45にデータの到着を知らせる信号を発する。フロン
トプレーン制御LCA 45はこのデータをフロントプレーン
制御LCA 45内のバッファにクロックする。受信されたバ
イトの数が一定のしきい値を超えると、DMAコントロー
ラLCA 43に信号が与えられて、スロットメモリ44へのデ
ータの移送が開始される。
【0058】図12はスロットメモリ44に移送される着信
パケット80を示す。データがスロットメモリ44に入ると
き、フロントプレーン制御LCA 45は着信パケット内のDS
APフィールドを探す。これが発見されると、フロントプ
レーン制御LCA 45はDSAPの値に基づいてパッドバイトを
挿入し、パケットのデータとヘッダ部分を位置合わせす
る。
パケット80を示す。データがスロットメモリ44に入ると
き、フロントプレーン制御LCA 45は着信パケット内のDS
APフィールドを探す。これが発見されると、フロントプ
レーン制御LCA 45はDSAPの値に基づいてパッドバイトを
挿入し、パケットのデータとヘッダ部分を位置合わせす
る。
【0059】パッドバイトが挿入された後、DMAコント
ローラLCA 43が残りのデータをスロットメモリ44に移動
する。パケットの終端に達すると、フロントプレーン制
御LCA 45がLANコントローラ32からの状態ビットとパケ
ット長をデータストリームの最後に付け加える。フロン
トプレーン制御LCA 45はまた、先行パッドを付けること
によって状態/長さワードを調整された長いワードにす
る。フロントプレーン制御LCA 45は状態/長さワードの
最終バイト上にEOPビットをアサートする。
ローラLCA 43が残りのデータをスロットメモリ44に移動
する。パケットの終端に達すると、フロントプレーン制
御LCA 45がLANコントローラ32からの状態ビットとパケ
ット長をデータストリームの最後に付け加える。フロン
トプレーン制御LCA 45はまた、先行パッドを付けること
によって状態/長さワードを調整された長いワードにす
る。フロントプレーン制御LCA 45は状態/長さワードの
最終バイト上にEOPビットをアサートする。
【0060】DMAコントローラLCA 43はデータをスロッ
トメモリ44のスロットに移動する。移動されたバイトの
数が一定のしきい値を超えると(例えば32バイト)、CP
U 37に割り込みが発生し、スロットメモリ44からのヘッ
ダの読み出しを開始できる旨の信号が発せられる。CPU
37はこのヘッダを分析してチェックサムの型、開始オフ
セットおよび停止オフセットを判定する。CPUはまた、
ヘッダをどこでデータから分離するかを判定する。
トメモリ44のスロットに移動する。移動されたバイトの
数が一定のしきい値を超えると(例えば32バイト)、CP
U 37に割り込みが発生し、スロットメモリ44からのヘッ
ダの読み出しを開始できる旨の信号が発せられる。CPU
37はこのヘッダを分析してチェックサムの型、開始オフ
セットおよび停止オフセットを判定する。CPUはまた、
ヘッダをどこでデータから分離するかを判定する。
【0061】DMAコントローラLCA 43はCPU 37による分
析を待つ処理待ちパケットの数を追跡するカウンタを有
する。
析を待つ処理待ちパケットの数を追跡するカウンタを有
する。
【0062】CPU 37はヘッダを分析し、ヘッダ/データ
分割情報とチェックサム情報を、DMAコントローラLCA 4
3内のCPUアドレスレジスタを用いてスロットメモリ44に
書き込む。チェックサム型が無しである場合、開始フィ
ールドと停止フィールドは無視され、書き込みの必要は
ない。
分割情報とチェックサム情報を、DMAコントローラLCA 4
3内のCPUアドレスレジスタを用いてスロットメモリ44に
書き込む。チェックサム型が無しである場合、開始フィ
ールドと停止フィールドは無視され、書き込みの必要は
ない。
【0063】転送の最初の3ワードはバックプレーンLCA
41には与えられないが、現在の着信パケットのチェッ
クサム構成をロードするためにチェックサムLCA 42によ
ってラッチされる。
41には与えられないが、現在の着信パケットのチェッ
クサム構成をロードするためにチェックサムLCA 42によ
ってラッチされる。
【0064】次のワードはプロセッサ15へのデータとし
て渡されるのと同様に、バックプレーンLCA 41によって
バックプレーンLCA 41内の内部分割オフセットカウンタ
にロードされる。内部分割オフセットカウントはヘッダ
バッファ長に基づき、ヘッダがいつプロセッサ15に送ら
れたか、またいつデータバイトのパッドを開始してその
データ連鎖の最初のバッファを満たすべきかを判定する
のに用いられる。
て渡されるのと同様に、バックプレーンLCA 41によって
バックプレーンLCA 41内の内部分割オフセットカウンタ
にロードされる。内部分割オフセットカウントはヘッダ
バッファ長に基づき、ヘッダがいつプロセッサ15に送ら
れたか、またいつデータバイトのパッドを開始してその
データ連鎖の最初のバッファを満たすべきかを判定する
のに用いられる。
【0065】バックプレーンLCA 41は32ビットデータス
トリームをミッドプレーンバス49からバックプレーンDM
Aコントローラ31に転送するための16ビットデータスト
リームにアンパックする。これはDMA転送を終了させる
パケット終端(EOP)が検出されるまで続けられる。
トリームをミッドプレーンバス49からバックプレーンDM
Aコントローラ31に転送するための16ビットデータスト
リームにアンパックする。これはDMA転送を終了させる
パケット終端(EOP)が検出されるまで続けられる。
【0066】DSAPパッドはヘッダ/データ分割が4バイ
ト境界上であることを確実にし、したがって奇数バイト
の位置合わせを行う必要がなくなる。CPU 37がヘッダ/
データ分割が偶数バイト境界上でないと判定する場合、
着信パケットはいずれにしても記憶装置に転送されなけ
ればならず、位置合わせはプロセッサ15によって修正さ
れねばならない。バックプレーンLCA 41は奇数分割オフ
セットを検出すると、プロセッサ15によってアクセス可
能な状態レジスタにエラー表示をセットする。
ト境界上であることを確実にし、したがって奇数バイト
の位置合わせを行う必要がなくなる。CPU 37がヘッダ/
データ分割が偶数バイト境界上でないと判定する場合、
着信パケットはいずれにしても記憶装置に転送されなけ
ればならず、位置合わせはプロセッサ15によって修正さ
れねばならない。バックプレーンLCA 41は奇数分割オフ
セットを検出すると、プロセッサ15によってアクセス可
能な状態レジスタにエラー表示をセットする。
【0067】データが記憶装置11に送られると、バック
プレーンLCA 41は分割オフセットカウントとヘッダバッ
ファ長カウントをデクリメントする。ヘッダバッファ長
カウントはメモリバッファ中のバイト数に初期設定され
る。分割オフセットカウントがゼロになると、バックプ
レーンLCA 41はパッドデータの送出を開始し、またヘッ
ダバッファ長カウントがゼロになるまでそのデクリメン
トを開始する。これによってヘッダだけが入るように設
計された最初のバッファがいっぱいになる。このとき、
バックプレーンLCA 41はスロットメモリ44からのデータ
の送出を再開する。これがページ調整されて終了するデ
ータペイロードとなる。代替好適実施例において、分割
オフセットカウントがゼロになるとき、バックプレーン
LCA 41はパッドデータを送ることなく次のメモリバッフ
ァへのデータの送出を開始する。この代替好適実施例で
は、より効率的な転送が可能であり、バックプレーンDM
Aコントローラがこれを実施できることが望ましい。
プレーンLCA 41は分割オフセットカウントとヘッダバッ
ファ長カウントをデクリメントする。ヘッダバッファ長
カウントはメモリバッファ中のバイト数に初期設定され
る。分割オフセットカウントがゼロになると、バックプ
レーンLCA 41はパッドデータの送出を開始し、またヘッ
ダバッファ長カウントがゼロになるまでそのデクリメン
トを開始する。これによってヘッダだけが入るように設
計された最初のバッファがいっぱいになる。このとき、
バックプレーンLCA 41はスロットメモリ44からのデータ
の送出を再開する。これがページ調整されて終了するデ
ータペイロードとなる。代替好適実施例において、分割
オフセットカウントがゼロになるとき、バックプレーン
LCA 41はパッドデータを送ることなく次のメモリバッフ
ァへのデータの送出を開始する。この代替好適実施例で
は、より効率的な転送が可能であり、バックプレーンDM
Aコントローラがこれを実施できることが望ましい。
【0068】図13はその結果得られる記憶装置11中の位
置合わせを示す。記憶装置11には、ヘッダバッファ91、
データバッファ92およびデータバッファ93を示す。ヘッ
ダバッファは記憶装置の小部分である。データバッファ
92および93はそれぞれ記憶装置11の一つのページを表わ
す。例えば、記憶装置の各ページは2048バイトのデータ
を含む。データのページ調整を確実に行うために、パケ
ットヘッダ101の後にパッドデータ102が加えられて、ヘ
ッダバッファ91が満たされる。これによってパケットデ
ータ103はデータバッファ92の始めに置かれる。必要で
あれば、次のデータバッファ93に追加のパケットデータ
104を入れることもできる。
置合わせを示す。記憶装置11には、ヘッダバッファ91、
データバッファ92およびデータバッファ93を示す。ヘッ
ダバッファは記憶装置の小部分である。データバッファ
92および93はそれぞれ記憶装置11の一つのページを表わ
す。例えば、記憶装置の各ページは2048バイトのデータ
を含む。データのページ調整を確実に行うために、パケ
ットヘッダ101の後にパッドデータ102が加えられて、ヘ
ッダバッファ91が満たされる。これによってパケットデ
ータ103はデータバッファ92の始めに置かれる。必要で
あれば、次のデータバッファ93に追加のパケットデータ
104を入れることもできる。
【0069】データの最終ワードがバックプレーンLCA
41にラッチされるとき、EOPビットがセットされる。こ
のワードは状態長ロングワード(Status Length Long Wo
rd (SLLW))である。バックプレーンLCA 41はこの最後の
32ビットのデータが記憶装置11中の8バイト境界上に来
るかどうかを見る。そうでない場合、パッドバイトを送
ってこの位置合わせをさせる。これは、プロセッサ15が
状態情報およびチェックサム情報を迅速に発見する上で
助けになる。次に、SLLWが送られる。
41にラッチされるとき、EOPビットがセットされる。こ
のワードは状態長ロングワード(Status Length Long Wo
rd (SLLW))である。バックプレーンLCA 41はこの最後の
32ビットのデータが記憶装置11中の8バイト境界上に来
るかどうかを見る。そうでない場合、パッドバイトを送
ってこの位置合わせをさせる。これは、プロセッサ15が
状態情報およびチェックサム情報を迅速に発見する上で
助けになる。次に、SLLWが送られる。
【0070】図14にネットワークアダプタによりホスト
システムに送られるネットワークパケットを示す。バッ
クプレーンLCA 41はSLLWを送った後、チェックサム結果
87の入ったパイプラインデータバスからのさらにもう一
つのワードを読み込む。チェックサム結果87はDMA転送
終了の信号とともにバックプレーンDMAコントローラ31
に転送される。これでDMA転送が終わり、バックプレー
ンDMAコントローラ31がプロセッサ15に対する割り込み
を発生してDMA転送終了を知らせる。プロセッサ15はこ
の割り込みがあると、着信転送の長さを(ワードで)示
すバックプレーンLCA 41内の状態レジスタを読み出す。
この状態レジスタはまたネットワークアダプタ12上でエ
ラーが発生したかどうか、及び、それ以上の着信或いは
送出処理を行うバッファがネットワークアダプタ12上に
存在するかどうかを示す。
システムに送られるネットワークパケットを示す。バッ
クプレーンLCA 41はSLLWを送った後、チェックサム結果
87の入ったパイプラインデータバスからのさらにもう一
つのワードを読み込む。チェックサム結果87はDMA転送
終了の信号とともにバックプレーンDMAコントローラ31
に転送される。これでDMA転送が終わり、バックプレー
ンDMAコントローラ31がプロセッサ15に対する割り込み
を発生してDMA転送終了を知らせる。プロセッサ15はこ
の割り込みがあると、着信転送の長さを(ワードで)示
すバックプレーンLCA 41内の状態レジスタを読み出す。
この状態レジスタはまたネットワークアダプタ12上でエ
ラーが発生したかどうか、及び、それ以上の着信或いは
送出処理を行うバッファがネットワークアダプタ12上に
存在するかどうかを示す。
【0071】以上の説明はこの発明の方法の例と実施例
を開示し説明するものにすぎない。当業者には理解され
るように、この発明はその精神或いは基本的特性から離
れることなく他の形態で実施することができる。したが
って、この発明の開示は例として行うものであり、本発
明の特許請求の範囲を限定するものではない。
を開示し説明するものにすぎない。当業者には理解され
るように、この発明はその精神或いは基本的特性から離
れることなく他の形態で実施することができる。したが
って、この発明の開示は例として行うものであり、本発
明の特許請求の範囲を限定するものではない。
【0072】
【発明の効果】以上のように、本発明を用いるとチェッ
クサムを取る性能を向上させる効果がある。
クサムを取る性能を向上させる効果がある。
【図1】ネットワークで接続された2つの計算機システ
ムを示すブロック図。
ムを示すブロック図。
【図2】本発明の好適実施例に従ったネットワークを介
したデータフロー図。
したデータフロー図。
【図3】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
ジのためのヘッダの例を示す図。
【図4】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
ジのためのヘッダの例を示す図。
【図5】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
ジのためのヘッダの例を示す図。
【図6】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
ジのためのヘッダの例を示す図。
【図7】本発明の好適実施例に従ったネットワークアダ
プタのブロック図。
プタのブロック図。
【図8】本発明の好適実施例に従ってネットワークアダ
プタに送られるネットワークパケットのヘッダを示す
図。
プタに送られるネットワークパケットのヘッダを示す
図。
【図9】本発明の好適実施例に従って記憶装置上に構築
されるパケットに付加されたパッドを示す図。
されるパケットに付加されたパッドを示す図。
【図10a】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10b】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10c】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図11a】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
パケットに付加されたチェックサムを示すブロック図。
【図11b】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
パケットに付加されたチェックサムを示すブロック図。
【図11c】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
パケットに付加されたチェックサムを示すブロック図。
【図12a】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12b】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12c】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図13】本発明の好適実施例に従って主記憶装置に記
憶されたネットワークパケットを示す図。
憶されたネットワークパケットを示す図。
【図14a】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14b】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14c】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図15】本発明の好適実施例に従ったチェックサムロ
ジックセルアレイのブロック図。
ジックセルアレイのブロック図。
10、20:計算機システム 11、21:記憶装置 12、22:ネットワークアダプタ 13、23:メモリバス 14、24:キャッシュ 15、25:プロセッサ 30:ネットワーク
フロントページの続き (72)発明者 ジョン・エル・バーネット アメリカ合衆国カリフォルニア州クパチー ノ、バレー・グリーン・ドライブ 20990 アパートメント・ナンバー667 (72)発明者 フランク・フィドゥシア アメリカ合衆国カリフォルニア州クパチー ノ、テラス・ドライブ 21711
Claims (3)
- 【請求項1】ネットワークに接続され、プロセッサ、主
記憶装置及びネットワークアダプタを有する計算機シス
テムにおいて、次の(a)ないし(d)のステップを有する前
記ネットワークを介して送信されるネットワークパケッ
トのチェックサムを取る方法: (a)前記プロセッサにより前記主記憶装置中に前記ネッ
トワークパケットを構成するステップ; (b)前記主記憶装置から前記ネットワークアダプタ中の
パケット貯蔵記憶装置に前記ネットワークパケットを転
送し、また前記ネットワークパケットの転送中に前記ネ
ットワークアダプタにより前記ネットワークパケットの
前記チェックサムを計算するステップ; (c)前記ネットワークアダプタにより前記パケット貯蔵
メモリ中の前記ネットワークパケットに前記チェックサ
ムを挿入するステップ; (d)前記ネットワークアダプタにより前記ネットワーク
パケットを前記ネットワークに転送するステップ。 - 【請求項2】ネットワークに接続され、主記憶装置及び
ネットワークアダプタを有する計算機システムにおい
て、次の(a)ないし(c)のステップを有する前記ネットワ
ークから受信したネットワークパケットのチェックサム
を取る方法: (a)前記ネットワークアダプタにより前記ネットワーク
から前記ネットワークパケットを受信するステップ; (b)前記ネットワークアダプタから前記主記憶装置に前
記ネットワークパケットを転送するために次のステップ
(1)を有し、また前記ネットワークパケットの転送中に
前記ネットワークアダプタにより前記ネットワークパケ
ットの前記チェックサムを計算するステップ; (c)前記ネットワークアダプタにより前記主記憶装置に
転送された前記ネットワークパケットに前記チェックサ
ムを追加するステップ。 - 【請求項3】ネットワークに接続され、プロセッサ、主
記憶装置、及びネットワークアダプタを有することを特
徴するシステム:前記ネットワークアダプタは、次の
(a)ないし(d)を有する: (a)DMAバス; (b)前記DMAバスに接続され、ネットワークパケットを貯
蔵する手段; (c)前記DMAバスに接続され、前記主記憶装置と前記パケ
ット貯蔵手段との間でネットワークパケットを転送する
手段; (d)前記DMAバスに接続され、前記ネットワークパケット
の転送中に前記ネットワークパケットのチェックサムを
計算する手段:前記チェックサム計算手段は前記DMAバ
ス上の転送データを監視するためのスヌープ手段を有す
る。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/891,505 US5430842A (en) | 1992-05-29 | 1992-05-29 | Insertion of network data checksums by a network adapter |
US891,505 | 1992-05-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0678024A true JPH0678024A (ja) | 1994-03-18 |
Family
ID=25398309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5151356A Pending JPH0678024A (ja) | 1992-05-29 | 1993-05-28 | ネットワークアダプタシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5430842A (ja) |
EP (1) | EP0572146B1 (ja) |
JP (1) | JPH0678024A (ja) |
DE (1) | DE69329216T2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105160A (en) * | 1996-12-24 | 2000-08-15 | Nec Corporation | Packet error detecting device in a DMA transfer |
JP2006279801A (ja) * | 2005-03-30 | 2006-10-12 | Oki Techno Creation:Kk | パケット処理装置 |
JP2007189296A (ja) * | 2006-01-11 | 2007-07-26 | Renesas Technology Corp | ストリームデータ通信方法及びストリームデータ通信装置 |
JP2008109473A (ja) * | 2006-10-26 | 2008-05-08 | Canon Inc | データ処理装置及び方法 |
JP2017103648A (ja) * | 2015-12-02 | 2017-06-08 | キヤノン株式会社 | 演算装置及び演算方法、通信装置 |
JP2019201249A (ja) * | 2018-05-14 | 2019-11-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、およびプログラム |
US10701041B2 (en) | 2015-12-11 | 2020-06-30 | Canon Kabushiki Kaisha | Calculation device, calculation method, communication apparatus, and storage medium |
US10833703B2 (en) | 2017-12-13 | 2020-11-10 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9300942D0 (en) * | 1993-01-19 | 1993-03-10 | Int Computers Ltd | Parallel computer system |
US5522039A (en) * | 1993-09-09 | 1996-05-28 | Hewlett-Packard Company | Calculation of network data check sums by dedicated hardware with software corrections |
US5895499A (en) | 1995-07-03 | 1999-04-20 | Sun Microsystems, Inc. | Cross-domain data transfer using deferred page remapping |
US5663952A (en) * | 1995-07-07 | 1997-09-02 | Sun Microsystems, Inc. | Checksum generation circuit and method |
US5737638A (en) * | 1995-07-14 | 1998-04-07 | International Business Machines Corporation | System for determining plurality of data transformations to be performed upon single set of data during single transfer by examining communication data structure |
US5826032A (en) * | 1996-02-12 | 1998-10-20 | University Of Southern California | Method and network interface logic for providing embedded checksums |
US5815516A (en) * | 1996-04-05 | 1998-09-29 | International Business Machines Corporation | Method and apparatus for producing transmission control protocol checksums using internet protocol fragmentation |
US6311226B1 (en) | 1997-08-29 | 2001-10-30 | Cisco Technology, Inc. | Method and apparatus for dynamic link name negotiation |
US5898713A (en) * | 1997-08-29 | 1999-04-27 | Cisco Technology, Inc. | IP checksum offload |
US5983272A (en) * | 1997-08-29 | 1999-11-09 | Cisco Technology, Inc. | Option request protocol |
US6289023B1 (en) * | 1997-09-25 | 2001-09-11 | Hewlett-Packard Company | Hardware checksum assist for network protocol stacks |
US6122670A (en) * | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
US6330614B1 (en) * | 1998-03-20 | 2001-12-11 | Nexabit Networks Llc | Internet and related networks, a method of and system for substitute use of checksum field space in information processing datagram headers for obviating processing speed and addressing space limitations and providing other features |
US6310884B1 (en) | 1998-05-21 | 2001-10-30 | Lsi Logic Corporation | Data transfer method and apparatus that allocate storage based upon a received relative offset |
EP0978977A1 (en) | 1998-08-07 | 2000-02-09 | International Business Machines Corporation | A method and system for improving high speed internetwork data transfers |
US6711178B1 (en) | 1998-09-08 | 2004-03-23 | Cisco Technology, Inc. | Enhanced claw packing protocol |
US6182267B1 (en) | 1998-11-20 | 2001-01-30 | Cisco Technology, Inc. | Ensuring accurate data checksum |
US6279140B1 (en) * | 1999-01-07 | 2001-08-21 | International Business Machines Corporation | Method and apparatus for checksum verification with receive packet processing |
US6327691B1 (en) * | 1999-02-12 | 2001-12-04 | Sony Corporation | System and method for computing and encoding error detection sequences |
JP2001027877A (ja) * | 1999-04-30 | 2001-01-30 | Hewlett Packard Co <Hp> | データ・ストリームに対してアルゴリズムを実行する装置 |
US6530061B1 (en) * | 1999-12-23 | 2003-03-04 | Intel Corporation | Method and apparatus for offloading checksum |
US7274706B1 (en) | 2001-04-24 | 2007-09-25 | Syrus Ziai | Methods and systems for processing network data |
BR0211568A (pt) * | 2001-07-30 | 2004-07-13 | Siemens Ag | Processo para suporte de vários algoritmos de soma de teste em um nó de rede |
US6976205B1 (en) * | 2001-09-21 | 2005-12-13 | Syrus Ziai | Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources |
US8325716B2 (en) * | 2001-10-22 | 2012-12-04 | Broadcom Corporation | Data path optimization algorithm |
US7844697B1 (en) * | 2002-01-25 | 2010-11-30 | Juniper Networks, Inc. | Measuring network traffic based on predicted amount of padding |
US7269661B2 (en) | 2002-02-12 | 2007-09-11 | Bradley Richard Ree | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet |
US7737134B2 (en) * | 2002-03-13 | 2010-06-15 | The Texas A & M University System | Anticancer agents and use |
US20040006636A1 (en) * | 2002-04-19 | 2004-01-08 | Oesterreicher Richard T. | Optimized digital media delivery engine |
US7899924B2 (en) * | 2002-04-19 | 2011-03-01 | Oesterreicher Richard T | Flexible streaming hardware |
US20040006635A1 (en) * | 2002-04-19 | 2004-01-08 | Oesterreicher Richard T. | Hybrid streaming platform |
US7284181B1 (en) * | 2002-04-24 | 2007-10-16 | Juniper Networks, Inc. | Systems and methods for implementing end-to-end checksum |
US7020836B2 (en) * | 2002-07-30 | 2006-03-28 | Intel Corporation | One's complement pipelined checksum |
US7120858B2 (en) * | 2002-08-21 | 2006-10-10 | Sun Microsystems, Inc. | Method and device for off-loading message digest calculations |
US7949732B1 (en) | 2003-05-12 | 2011-05-24 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network and enforcing policy |
US7676621B2 (en) | 2003-09-12 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Communications bus transceiver |
US7103683B2 (en) * | 2003-10-27 | 2006-09-05 | Intel Corporation | Method, apparatus, system, and article of manufacture for processing control data by an offload adapter |
US7617438B2 (en) * | 2004-04-15 | 2009-11-10 | International Business Machines Corporation | Method and apparatus for supporting checksum offload in partitioned data processing systems |
US7539681B2 (en) * | 2004-07-26 | 2009-05-26 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
US7881332B2 (en) * | 2005-04-01 | 2011-02-01 | International Business Machines Corporation | Configurable ports for a host ethernet adapter |
US7586936B2 (en) | 2005-04-01 | 2009-09-08 | International Business Machines Corporation | Host Ethernet adapter for networking offload in server environment |
US7697536B2 (en) * | 2005-04-01 | 2010-04-13 | International Business Machines Corporation | Network communications for operating system partitions |
US20060221953A1 (en) * | 2005-04-01 | 2006-10-05 | Claude Basso | Method and apparatus for blind checksum and correction for network transmissions |
US7508771B2 (en) | 2005-04-01 | 2009-03-24 | International Business Machines Corporation | Method for reducing latency in a host ethernet adapter (HEA) |
US7577151B2 (en) * | 2005-04-01 | 2009-08-18 | International Business Machines Corporation | Method and apparatus for providing a network connection table |
US7706409B2 (en) | 2005-04-01 | 2010-04-27 | International Business Machines Corporation | System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA) |
US7903687B2 (en) | 2005-04-01 | 2011-03-08 | International Business Machines Corporation | Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device |
US7606166B2 (en) | 2005-04-01 | 2009-10-20 | International Business Machines Corporation | System and method for computing a blind checksum in a host ethernet adapter (HEA) |
US7492771B2 (en) | 2005-04-01 | 2009-02-17 | International Business Machines Corporation | Method for performing a packet header lookup |
US8046833B2 (en) | 2005-11-14 | 2011-10-25 | Sourcefire, Inc. | Intrusion event correlation with network discovery information |
US7733803B2 (en) * | 2005-11-14 | 2010-06-08 | Sourcefire, Inc. | Systems and methods for modifying network map attributes |
US7948988B2 (en) * | 2006-07-27 | 2011-05-24 | Sourcefire, Inc. | Device, system and method for analysis of fragments in a fragment train |
US7701945B2 (en) * | 2006-08-10 | 2010-04-20 | Sourcefire, Inc. | Device, system and method for analysis of segments in a transmission control protocol (TCP) session |
DE102007046190A1 (de) * | 2006-10-27 | 2008-04-30 | Feig Electronic Gmbh | Verfahren und Schreib-/Lesestation und Transponder eines RFID-Systems zur Datenübertragung |
US8069352B2 (en) * | 2007-02-28 | 2011-11-29 | Sourcefire, Inc. | Device, system and method for timestamp analysis of segments in a transmission control protocol (TCP) session |
US8127353B2 (en) * | 2007-04-30 | 2012-02-28 | Sourcefire, Inc. | Real-time user awareness for a computer network |
US8151177B2 (en) * | 2007-11-28 | 2012-04-03 | International Business Machines Corporation | Methods and arrangements for partial word stores in networking adapters |
US8474043B2 (en) * | 2008-04-17 | 2013-06-25 | Sourcefire, Inc. | Speed and memory optimization of intrusion detection system (IDS) and intrusion prevention system (IPS) rule processing |
WO2010045089A1 (en) | 2008-10-08 | 2010-04-22 | Sourcefire, Inc. | Target-based smb and dce/rpc processing for an intrusion detection system or intrusion prevention system |
EP2559217B1 (en) | 2010-04-16 | 2019-08-14 | Cisco Technology, Inc. | System and method for near-real time network attack detection, and system and method for unified detection via detection routing |
US8433790B2 (en) | 2010-06-11 | 2013-04-30 | Sourcefire, Inc. | System and method for assigning network blocks to sensors |
US8671182B2 (en) | 2010-06-22 | 2014-03-11 | Sourcefire, Inc. | System and method for resolving operating system or service identity conflicts |
US8601034B2 (en) | 2011-03-11 | 2013-12-03 | Sourcefire, Inc. | System and method for real time data awareness |
CN109643391B (zh) * | 2018-01-15 | 2023-06-13 | 深圳鲲云信息科技有限公司 | 流水处理接口结构、电子器件及电子装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4168469A (en) * | 1977-10-04 | 1979-09-18 | Ncr Corporation | Digital data communication adapter |
US5058110A (en) * | 1989-05-03 | 1991-10-15 | Ultra Network Technologies | Protocol processor |
EP0473102B1 (en) * | 1990-08-29 | 1995-11-22 | Honeywell Inc. | Data communication system with checksum calculating means |
-
1992
- 1992-05-29 US US07/891,505 patent/US5430842A/en not_active Expired - Lifetime
-
1993
- 1993-05-14 EP EP93303745A patent/EP0572146B1/en not_active Expired - Lifetime
- 1993-05-14 DE DE69329216T patent/DE69329216T2/de not_active Expired - Lifetime
- 1993-05-28 JP JP5151356A patent/JPH0678024A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6105160A (en) * | 1996-12-24 | 2000-08-15 | Nec Corporation | Packet error detecting device in a DMA transfer |
JP2006279801A (ja) * | 2005-03-30 | 2006-10-12 | Oki Techno Creation:Kk | パケット処理装置 |
JP2007189296A (ja) * | 2006-01-11 | 2007-07-26 | Renesas Technology Corp | ストリームデータ通信方法及びストリームデータ通信装置 |
JP2008109473A (ja) * | 2006-10-26 | 2008-05-08 | Canon Inc | データ処理装置及び方法 |
US8219866B2 (en) | 2006-10-26 | 2012-07-10 | Canon Kabushiki Kaisha | Apparatus and method for calculating and storing checksums based on communication protocol |
JP2017103648A (ja) * | 2015-12-02 | 2017-06-08 | キヤノン株式会社 | 演算装置及び演算方法、通信装置 |
US10701041B2 (en) | 2015-12-11 | 2020-06-30 | Canon Kabushiki Kaisha | Calculation device, calculation method, communication apparatus, and storage medium |
US10833703B2 (en) | 2017-12-13 | 2020-11-10 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
US11336297B2 (en) | 2017-12-13 | 2022-05-17 | Canon Kabushiki Kaisha | DMA transfer apparatus, method of controlling the same, communication apparatus, method of controlling the same, and non-transitory computer-readable storage medium |
JP2019201249A (ja) * | 2018-05-14 | 2019-11-21 | キヤノン株式会社 | 通信装置、通信装置の制御方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
DE69329216T2 (de) | 2000-12-28 |
DE69329216D1 (de) | 2000-09-21 |
US5430842A (en) | 1995-07-04 |
EP0572146A3 (en) | 1995-01-25 |
EP0572146A2 (en) | 1993-12-01 |
EP0572146B1 (en) | 2000-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0678024A (ja) | ネットワークアダプタシステム | |
JPH0662075A (ja) | ネットワークアダプタシステム | |
US7773599B1 (en) | Packet fragment handling | |
US9380134B2 (en) | RoCE packet sequence acceleration | |
US7916632B1 (en) | Systems and methods for handling packet fragmentation | |
US5909546A (en) | Network interface having support for allowing remote operations with reply that bypass host computer interaction | |
JP5066707B2 (ja) | 順次処理を減らしたtcp/ipオフロードデバイス | |
US7936758B2 (en) | Logical separation and accessing of descriptor memories | |
US6310884B1 (en) | Data transfer method and apparatus that allocate storage based upon a received relative offset | |
US8225188B2 (en) | Apparatus for blind checksum and correction for network transmissions | |
US7689738B1 (en) | Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host | |
US6668299B1 (en) | Software interface between a parallel bus and a packet network | |
US8085780B1 (en) | Optimized buffer loading for packet header processing | |
EP0905938A2 (en) | Hardware checksum assist for network protocol stacks | |
JPH09321828A (ja) | 保護メモリ・オペレーティング・システムにおけるデータ・コピー・オーバーヘッドを削減する機構 | |
JPH0678001A (ja) | ネットワークアダプタシステム | |
US7701973B2 (en) | Processing receive protocol data units | |
KR20010076328A (ko) | 티씨피/아이피를 하드웨어적으로 처리하는 장치 및 그동작방법 | |
US5802064A (en) | Protocol header alignment | |
US6279052B1 (en) | Dynamic sizing of FIFOs and packets in high speed serial bus applications | |
US7239630B1 (en) | Dedicated processing resources for packet header generation | |
US7158520B1 (en) | Mailbox registers for synchronizing header processing execution | |
US7180893B1 (en) | Parallel layer 2 and layer 3 processing components in a network router | |
US7532644B1 (en) | Method and system for associating multiple payload buffers with multidata message | |
JP2001027877A (ja) | データ・ストリームに対してアルゴリズムを実行する装置 |