JPH0662075A - ネットワークアダプタシステム - Google Patents

ネットワークアダプタシステム

Info

Publication number
JPH0662075A
JPH0662075A JP5151321A JP15132193A JPH0662075A JP H0662075 A JPH0662075 A JP H0662075A JP 5151321 A JP5151321 A JP 5151321A JP 15132193 A JP15132193 A JP 15132193A JP H0662075 A JPH0662075 A JP H0662075A
Authority
JP
Japan
Prior art keywords
network
checksum
byte
data
packet
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
Application number
JP5151321A
Other languages
English (en)
Inventor
Michael I Thompson
マイケル・アイ・トンプソン
Paul T Congdon
ポール・ティー・コンドン
John L Burnett
ジョン・エル・バーネット
Frank Fiduccia
フランク・フィドゥシア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0662075A publication Critical patent/JPH0662075A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】ネットワークヘッダ中の特定のフィールドの値
に基づいてネットワークヘッダ中にパッドデータを挿入
して位置合わせをするネットワークアダプタを構成する
ことで、プロセッサがデータにアクセスする際に位置合
わせされていないために必要となる補助バッファへの複
写を不要にするネットワークシステムを提供する。 【構成】ネットワークアダプタはネットワークリンクヘ
ッダを探索し、例えば1バイトの行先サービスアドレス
ポイントフィールド114が使用されており、AA(16進)に
等しい場合は、3バイトのパッドデータ115を挿入する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はネットワークデータの
チェックサムの挿入を行うハードウエアシステムに関す
る。
【0002】
【従来技術と発明が解決しようとする課題】ほとんどの
複合ネットワークはそれぞれがネットワークの異なる層
で動作するいくつかのレベルのプロトコルを用いて動作
する。例えば、ISO OSI標準アーキテクチャで動作する
複合ネットワークは、物理層、リンク層、ネットワーク
層およびトランスポート層を備える。1983年8月のProce
edings of the IEEE、Vol. 71、No. 12を参照された
い。
【0003】プロトコルの各層には、一般にネットワー
クを介して送られるデータに備えられるべきさまざまな
ヘッダフィールドを必要とする。これらのヘッダフィー
ルドは行先アドレスや出所アドレスの提供、効率的なデ
ータフローの保証、およびデータ伝送におけるエラーの
検出と訂正といったさまざまな機能に用いられる。典型
的には、ヘッダフィールドの生成、ヘッダフィールド中
の情報の解読およびデータの複製にかなりのCPU時間が
費やされる。
【0004】
【課題を解決するための手段】この発明の好適実施例で
は、ネットワークに接続された計算機システムが提供さ
れる。この計算機システムはネットワークアダプタと主
記憶装置を備える。ネットワークアダプタは複数のヘッ
ダを持つネットワークパケットをネットワークから受け
取る。ネットワークアダプタは複数のヘッダの一つのう
ちに少なくとも1個のパッドバイトを挿入することによ
って、ネットワークパケット中の複数のヘッダを所定の
複数バイト境界に位置合わせする。一例では、複数バイ
ト境界は4バイト境界である。少なくとも1個のパッド
バイトを挿入してから、ネットワークアダプタはネット
ワークパケットを主記憶装置に送る。
【0005】この好適実施例では、ネットワークアダプ
タはネットワークパケットの行先サービスアクセスポイ
ントを判定するためにネットワークリンクヘッダを探
す。行先サービスアクセスポイントの値に基づき、ネッ
トワークアダプタはネットワークリンクヘッダにいくつ
かのパッドバイトを入れる。行先サービスアクセスポイ
ントがネットワークリンクヘッダがFDDIスナップヘッダ
であることを示すならば、ネットワークアダプタはネッ
トワークリンクヘッダの行先サービスアクセスポイント
の後に3個のパッドバイトを挿入する。ネットワークリ
ンクヘッダがFDDIHP拡張ヘッダであることを行先サービ
スアクセスポイントが示すならば、ネットワークアダプ
タはネットワークリンクヘッダの行先サービスアクセス
ポイントの後に一つのパッドバイトを挿入する。ネット
ワークパケットの行先サービスアクセスポイントを含む
フィールドの直後にもパッドバイトは追加される。
【0006】好適実施例ではまた、ネットワークリンク
ヘッダがネットワークアダプタに受信される間、ネット
ワークアダプタはネットワークからネットワークアダプ
タへのデータストリームを監視する。ネットワークアダ
プタはネットワークアダプタのバッファ中にネットワー
クリンクヘッダの受信バイトを置く。少なくとも一つの
バイトはネットワークリンクヘッダがバッファに置かれ
る間にネットワークリンクヘッダに挿入される。
【0007】本発明は計算機システムのパフォーマンス
の増加に役立つ。計算機システムが、対応する複数バイ
ト境界に位置合わせされていない複数バイトフィールド
をアクセスすることができないプロセッサを備えると
き、本発明はプロセッサがこのデータにアクセスするた
めに補助バッファにバイトを複写することを不要にす
る。
【0008】
【実施例】図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を介して送られるデ
ータのヘッダフィールドの構成と解読を簡略化するため
のネットワークデータの性能に関する。
【0009】図2はネットワーク30を介して転送される
メッセージのデータフローを示す。データパス51とデー
タパス52はヘッダ或いはメッセージを形成するデータの
一部として用いられるキャッシュ14中の任意の情報のキ
ャッシュ14から記憶装置11へのフラッシング(或いはラ
イトスルー)を表わす。データパス54はネットワーク30
を介したデータフローを表す。データパス55はネットワ
ーク22から記憶装置21へのDMA転送を表す。データパス5
3は記憶装置11からネットワークアダプタ12へのDMA転送
動作を表わす。データパス56及びデータパス57は、ネッ
トワークアダプタ22から記憶装置21へのDMA転送によっ
て古くなったデータを有するキャッシュ24中の記憶場所
の無効化を表わす。
【0010】メッセージ用の簡略化されたデータパスを
達成するために、ネットワークアダプタ12とネットワー
クアダプタ22は通常はそれぞれプロセッサ15とプロセッ
サ25によって実行される三つの動作を実行する。以下の
説明はこれらの動作がネットワークアダプタ12によって
実行される態様に関する。しかしながら、ネットワーク
アダプタ12とネットワークアダプタ22は性能上同じであ
るため、以下の説明はネットワークアダプタ22の動作に
もあてはまる。
【0011】第1の動作はネットワークアダプタ12によ
るネットワークデータチェックサムの生成と挿入であ
る。ネットワークアダプタによってチェックサム計算を
実施することによって、プロセッサ15が負う追加のオー
バヘッドや時間をほとんど要することなくチェックサム
の生成と挿入を行うことができる。
【0012】外方向には、プロセッサ15は適正なチェッ
クサム方法とその結果を挿入する位置を示すネットワー
クアダプタ12チェックサム制御情報を提供する。この制
御情報はデータパス53に沿って伝わるDMAデータストリ
ーム中のパケットに付加される。データが記憶装置11か
ら転送されるとき、ネットワークアダプタ12はチェック
サムを計算する。転送が終わったとき、ネットワークア
ダプタ12はパケットをネットワーク30上に送出する前に
このチェックサムをパケット中の適当な位置に挿入す
る。
【0013】内方向には、ネットワークアダプタ12はパ
ケットヘッダをデコードし、チェックサム制御情報を内
部レジスタに直接プログラムする。ネットワークアダプ
タ12はパケットを記憶装置11に転送するときチェックサ
ムを計算する。ネットワークアダプタ12がチェックサム
の計算を終えると、ネットワークアダプタ12はその結果
を記憶装置11に転送されているデータストリームに付け
加える。プロセッサ15はこのチェックサム結果をパケッ
トチェックサムと比較してデータを確かめる。
【0014】ネットワークアダプタが実行する第2の動
作はネットワークアダプタ12から記憶装置11への着信パ
ケットの転送中のヘッダとデータの自動分離である。転
送中にヘッダとデータを分割することによって、データ
をホストメモリ中のページ調整された境界に置くことが
できる。メモリページは仮想ページ再マッピング(remap
ping)によって適当なアプリケーションに引き渡すこと
ができる。この処理は簡単な仮想ポインタ操作によって
行うことができ、パケットがネットワークアダプタ12に
よって記憶装置11に転送された後にデータを複写する必
要がなくなる。
【0015】ネットワークアダプタ12はヘッダ/データ
分割位置を判定し、この値を用いてDMAハードウエアを
プログラムする。このDMAハードウエアは分割位置に達
するまでヘッダのバイトをカウントダウンする。パッド
データを加えることによって、DMAハードウエアはパケ
ットのデータ部分の始まりが確実にメモリページ境界に
来るようにする。この処理は上述したチェックサム処理
と平行して実行される。
【0016】ネットワークアダプタ12が実行する第3の
動作は、ネットワークヘッダの位置合わせである。これ
は、ネットワークリンクヘッダ中に見つけ出される特定
の値に基づくパッドバイトの挿入によって行われる。多
くのプロセッサは対応する複数バイト境界に位置合わせ
されていない複数バイトフィールドにアクセスすること
ができない。プロセッサはデータにアクセスするために
このバイトを補助バッファに複写しなければならない。
ネットワークアダプタ12はこの複写を不要にする。
【0017】ネットワークアダプタ12はネットワークリ
ンクヘッダの行先サービスアクセスポイント(DSAP)フィ
ールド中の特定の値に対する着信バイトストリームを探
索する。ハードウエアはこのDSAPフィールド中の値に基
づいてDSAPフィールドと出所サービスアクセスポイント
フィールド(SSAP)の間に0から3個の数のパッドバイトを
挿入する。それに続くヘッダはこのデータストリーム中
で4バイトに調整される。
【0018】図3から図6はこの発明の好適実施例にした
がって送出されるメッセージのヘッダの例を示す。図3
はDSAPパッドバイトの挿入前のFDDIスナップへッダ110
を示す。媒体ヘッダ110は1バイトのフレーム制御(FC)フ
ィールド111を含む。6バイトの行先アドレスフィールド
112によってパケットを受信する局の媒体アドレスが与
えられる。6バイトの出所アドレスフィールド113によっ
てパケットを送信する局の媒体アドレスが与えられる。
【0019】1バイトのDSAPフィールド114が現在使用さ
れており、媒体ヘッダフォーマットにサービスの型を定
義する。DSAPがAA(16進値)に等しい場合、媒体ヘッダ
110はSNAPヘッダであり、3バイトのパッドがDSAPフィー
ルド114の後に挿入される。DSAPがFC(16進値)に等し
い場合、媒体ヘッダ110はHP拡張サービスアクセスポイ
ントであり、1個のパッドバイトがDSAPフィールド114の
後に挿入される。この発明では、他のすべてのDSAP値に
ついてはパッドバイトの挿入は発生しない。これは、例
えばFDDI 802.2ヘッダ等の他のヘッダは追加のパッドの
挿入を要しないためである。
【0020】1バイトのSSAPフィールド116は出所サービ
スアクセスポイントを含む。この好適実施例のLLC 802.
2タイプ1制御(CTRL)フィールド117は常に、番号の付い
ていない情報を示す3に設定される。3バイトの編成IDフ
ィールド118はこの好適実施例では処理されない。2バイ
トのSNAP型フィールド119はこの好適実施例では処理さ
れない。
【0021】リンクヘッダの上述のフィールドの後、IP
ヘッダ120の後にTCPヘッダ或いはUDPヘッダが続く。IP
ヘッダ120の長さは20バイト以上である。TCPヘッダの長
さは20バイト以上である。UDPヘッダの長さは8バイトで
ある。
【0022】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド114とSSAPフィールド116の間に0から3個のパッドバ
イトを挿入する。後続のヘッダはデータストリーム中で
4バイト調整される。媒体ヘッダ110において、DSAPはAA
(16進値)に等しく、これは媒体ヘッダ110がSNAPヘッ
ダであることを示す。したがって、3バイトのパッド115
が図4に示されるようにDSAPフィールド114の後に挿入さ
れる。
【0023】図5はDSAPパッドバイトの挿入前のFDDI HP
拡張ヘッダ130を示す。媒体ヘッダ130は1バイトフレー
ム制御(FC)フィールド131を含む。6バイト行先アドレス
フィールド132によってパケットを受信する局の媒体ア
ドレスが与えられる。6バイト出所アドレスフィールド1
33によってパケットを送信する局の媒体アドレスが与え
られる。
【0024】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は特定のプロ
トコルの一部として用いられる。
【0025】リンクヘッダの上述のフィールドの後、IP
ヘッダ141の後にTCPヘッダ或いはUDPヘッダが続く。
【0026】ヘッダを位置合わせするために、この好適
実施例ではDSAPフィールド中の値に基づいてDSAPフィー
ルド134とSSAPフィールド136の間にパッドバイトを挿入
する。後続のヘッダはデータストリーム中で4バイト調
整される。媒体ヘッダ130において、DSAPはFC(16進
値)に等しく、これは媒体ヘッダ130がHP拡張サービス
アクセスポイントヘッダであることを示す。したがっ
て、一個のパッドバイト135が図6に示されるようにDSAP
フィールド134の後に挿入される。
【0027】図7はこの好適実施例のネットワークアダ
プタ12の実施に用いられる論理の一部のブロック図であ
る。ネットワークアダプタ12はバックプレーンバス33を
介して計算機システム10のバックプレーンDMAコントロ
ーラ31に接続されている。バックプレーンDMAコントロ
ーラ31は記憶装置11とネットワークアダプタ12の間のDM
Aを実行する。
【0028】ネットワークアダプタ12はフロントプレー
ンコントローラ32を介してネットワーク30に接続されて
いる。例えば、この好適実施例では、ネットワーク30は
FDDIネットワークであり、フロントプレーンコントロー
ラ32はCalifornia 95051, Santa Clara, Semiconductor
Drive 2900のCalifornia州法人、National Semiconduc
tor Corporationの販売するLANコントローラDP83261の
ようなLANコントローラである。
【0029】フロントプレーン論理セルアレー(LCA)45
はフロントプレーンコントローラ32を介してネットワー
ク30との間でデータの送受信を行う。LANコントローラ3
2はネットワーク30との間のデータパケットの送出と受
信をつかさどる。
【0030】送出転送を行う場合、フロントプレーン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とのハンドシェークを制御する。
【0031】着信転送については、フロントプレーン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に加えられたチ
ェックサム結果を位置合わせするために詰め込まれたバ
イト数を含まない。
【0032】バックプレーン論理セルアレー(LCA)41
は、バックプレーンDMAコントローラ31を介してメモリ
バス13との間のデータの送受信を行う。
【0033】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は待ち状態命令サイクルなしで実行することができ
る。
【0034】チェックサム論理セルアレー(LCA)42、DMA
制御論理セルアレー(LCA)43およびスロットメモリ44がD
MAバス49に接続されている。
【0035】DMAバス49は、チェックサムLCA 42、DMA制
御LCA 43、バックプレーンLCA 41およびスロットメモリ
44とともにLANコントローラ32とバックプレーンDMAコン
トローラ31の間で高スループット、低待ち時間でデータ
を移動させるためのデータパイプとして機能する。この
データパイプはまた、チェックサムハードウエアを支援
し、データを操作してヘッダ、データおよびバッファの
不適切な位置合わせを修正する。また副次的な機能とし
ては、このデータパイプはCPU 37によるデータストリー
ムへの限定されたアクセスを提供し、そのさい転送性能
にほとんど影響を与えない。
【0036】スロットメモリ44は50メガバイト/秒の帯
域幅を提供するように設計された高速スタティックRAM
のブロックである。この帯域幅はLANコントローラ32、
バックプレーンDMAコントローラ31、およびCPU 37の間
で時分割多重によって共用される。スロットメモリ44へ
のアクセスはすべてDMAコントローラLCA 43によって制
御される。スロットメモリ44は論理的には(最大サイズ
のFDDIパケットに十分な)8Kバイトに分割され、これに
パケットが入る。このスロットの概念はメモリ管理の簡
単な方法を提供する。
【0037】DMAコントローラLCA 43の主たる機能は、
スロットメモリ44を管理することである。DMAコントロ
ーラLCA 43はスロットメモリ44との間のデータ転送要求
を受理し、適切なクライアントにデータを移動させるの
に必要なアドレスとデータストローブを生成する。他に
はスロットメモリ44に直接アクセスできる装置はない。
このメモリ管理法は、すべてのアクセスが短時間にす
み、装置間で相互に遅延を発生させないことを保証す
る。
【0038】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が送出パケットにチェック
サムを挿入できるようにする。
【0039】チェックサムLCA 42はデータ転送中にデー
タバスを探索し、バックプレーンDMAコントローラ31と
スロットメモリ44の間でデータが移動されるときチェッ
クサムを計算する。チェックサム動作を実行するため
に、チェックサムのさまざまなパラメータはまずチェッ
クサムLCA 42にプログラムされなければならない。これ
はこの構成をデータストリームに挿入することによって
達成される。
【0040】チェックサムLCA 42はチェックサム型(無
し、TCP、UDP)、チェックサム開始オフセット、チェッ
クサム停止オフセットおよびチェックサム挿入オフセッ
ト(送出データパケットにのみ用いられる)で構成され
る。すべてのチェックサムオフセットパラメータは、パ
ケットのBYTEオフセットである。
【0041】この好適実施例では、チェックサムLCA 42
はARPAサービスだけを処理する。チェックサムLCA 42は
任意のバイトオフセットである開始および停止オフセッ
トを正しく処理する。これは、ARPAチェックサムの性質
が単純であるために行うことができるが、他のチェック
サム(すなわちOSI)については、これでは十分ではな
い。
【0042】チェックサム停止オフセット値はチェック
サムが停止する正確なオフセットでなければならない。
チェックサムがパケットの最後まで実行されねばならな
い場合にも正確なオフセットを有しなければならない。
チェックサムLCA 42はパケット終端(EOP)ビットに達し
た場合、チェックサムを停止するが、チェックサムLCA4
2はそのワードのすべてのバイトが有効であるかどうか
がわからず、有効であると仮定する。したがって、停止
オフセットが正確でないと不要バイトが含まれることが
ある。
【0043】図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に多重化することができる。
【0044】バックプレーンLCA 41はバックプレーンDM
Aコントローラ31とデータをハンドシェークし、データ
をパックおよびアンパックし、またバックプレーンDMA
コントローラ31を介して転送されるデータの適正な位置
合わせを提供するのに用いられる。
【0045】以下にチェックサム挿入を含む送出転送を
説明する。この好適実施例において、ネットワークアダ
プタ12は常に読み出し保留状態にある。これによって、
着信パケットはプロセッサ15に迅速に達することができ
る。このため、プロセッサ15はまずネットワークアダプ
タ12に送出転送が来ていることを知らせて、ネットワー
クアダプタ12がそれを受ける準備ができるようにしなけ
ればならない。また、送出パケットはデータストリーム
にチェックサムが挿入されていなければならないため、
パケットはチェックサムが挿入されるまでは送出されて
はならない。このため送出パケットはチェックサム処理
が終わるまでスロットメモリ44に止められる。
【0046】以下にチェックサムを挿入し送出パケット
を送るために行われなければならないことを説明する。
送出パケットは記憶装置11に構成されねばならない。プ
ロセッサ15はパケットに適当なチェックサム制御ヘッダ
を付けねばならない。
【0047】例えば、図8は記憶装置11中に構成された
送出パケット60を示す。送出パケット60はチェックサム
制御ヘッダ61、リンクレベルヘッダ62、IPヘッダ63、ト
ランスポートヘッダ64およびユーザデータ65を含む。チ
ェックサム制御ヘッダは開始オフセットフィールド71、
停止オフセットフィールド75、アルゴフィールド72、方
向フィールド73、挿入フィールド74および挿入オフセッ
トフィールド76を含むものとして示されている。開始オ
フセットフィールド71は、チェックサムを開始すべきバ
イトを示す。停止オフセットフィールド75は停止オフセ
ット、すなわち、チェックサムを行うべきバイト数を示
す。またフィールド72は使用されるチェックサムアルゴ
リズム(TCP、UDPその他)を示す。方向フィールド73は
データフローの方向(送信或いは着信)を示す。挿入フ
ィールド74は送出パケットにチェックサムを挿入すべき
かどうかを示す。挿入オフセットフィールド76はチェッ
クサムを挿入すべき場所を示す。
【0048】図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パッドバイトの数を示
す。
【0049】FCパッドを用いると、プロセッサ15上で動
作するネットワーキングプロトコルソフトウエアは、リ
ンクヘッダを特別の複数バイト境界に強制することなく
主記憶装置11中にそのヘッダを構成することができる。
一般に、ヘッダは後ろから前へ構成される。したがっ
て、ヘッダの第1バイトは必ずしも特定のバイト境界に
位置合わせされない。従来の技術では、ヘッダが主記憶
装置11からのDMA用に適正に位置合わせされていないと
き、ネットワークアダプタ12へのDMAの前にこのヘッダ
を複写する必要があった。この好適実施例では、DMA転
送の第1のバイトはこのDMAが位置合わせされた(すなわ
ち、キャッシュ行境界)場所で開始されうるようにする
ためにヘッダの前のFCパッドバイトの数の信号を発する
FCカウントである。DMA転送が16バイト境界で始まるよ
うに追加のFCパッドバイトが加えられる。
【0050】記憶装置11中に送出パケットが構成される
と、バックプレーンDMAコントローラ31が記憶装置11か
らネットワークアダプタ12へのデータの移送を開始す
る。DMAコントローラLCA 43はバックプレーンLCA 41か
らスロットメモリ44に、チェックサムLCA 42とDMAコン
トローラLCA 43の構成データを含むチェックサム制御61
以外のデータを移送する。
【0051】DMAコントローラLCA 43はチェックサム制
御ヘッダ60の挿入フィールド74をチェックして、このパ
ケットにチェックサムを挿入すべきが否かを判定しなけ
ればならない。チェックサムを挿入すべき場合には、チ
ェックサムが挿入されるまで送出パケット60をスロット
メモリ44に格納しなければならない。これを図10に示
す。
【0052】DMAコントローラLCA 43がバックプレーンL
CA 41からスロットメモリ44にデータを移送するとき、
チェックサムLCA 42はDMAバス49上のデータを探索し、
そのデータが通過する際にそれをチェックサムする。こ
の好適実施例では、16ビット桁上げ加算が用いられる。
チェックサムは開始オフセットフィールド71によって指
定されるバイトから開始され、停止オフセットに達する
か、或いはパケット終端(EOP)が検出されるまで続けら
れる。チェックサムLCA 42はチェックサムの一部ではな
いバイトをマスクする。これによってチェックサムは任
意のバイト境界で開始および停止しうることになる。こ
れはARPAサービスでは良好に機能するが、他の種類のチ
ェックサムについてはアルゴリズムを多少変更する必要
がある。
【0053】図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は次の送出転送に進む。
【0054】チェックサム値77がスロットメモリ44に書
き込まれると、DMAコントローラLCA43はネットワーク30
への転送のためにスロットメモリ44からLANコントロー
ラ32へのデータの移動を開始する。フロントプレーン制
御LCA 45が32ビットデータストリームを8ビットデータ
ストリームにアンパックする。このデータストリームは
フレーム制御バイトとその前のFCパッドバイトを含む。
フロントプレーン制御LCA 45はFCパッドバイトを取り除
き、残りのデータストリームをLANコントローラ32に送
る。
【0055】送出転送はまたチェックサムの挿入を行わ
ずに送ることもできる。この送出パケットにはチェック
サムを挿入する必要がないため、このパケットは送出の
ために直ちにLANコントローラ32に流すことができる。
チェックサムの挿入を行わないことは、このパケットに
ついてチェックサムを計算することができないという意
味ではない。例えば、IPフラグメント列を処理している
とき、初めのN個のパケットについてチェックサムが計
算され、N+1番目のパケットにはその総計が挿入され
る。初めのN個のパケットは直ちにLANコントローラ32に
流すことができる。
【0056】以下の処理は着信パケットを受信するため
に行われる。着信パケットがLANコントローラ32に到着
し初める。LANコントローラ32はフロントプレーン制御L
CA 45にデータの到着を知らせる信号を発する。フロン
トプレーン制御LCA 45はこのデータをフロントプレーン
制御LCA 45内のバッファにクロックする。受信されたバ
イトの数が一定のしきい値を超えると、DMAコントロー
ラLCA 43に信号が与えられて、スロットメモリ44へのデ
ータの移送が開始される。
【0057】図12はスロットメモリ44に移送される着信
パケット80を示す。データがスロットメモリ44に入ると
き、フロントプレーン制御LCA 45は着信パケット内のDS
APフィールドを探す。これが発見されると、フロントプ
レーン制御LCA 45はDSAPの値に基づいてパッドバイトを
挿入し、パケットのデータとヘッダ部分を位置合わせす
る。
【0058】パッドバイトが挿入された後、DMAコント
ローラLCA 43が残りのデータをスロットメモリ44に移動
する。パケットの終端に達すると、フロントプレーン制
御LCA 45がLANコントローラ32からの状態ビットとパケ
ット長をデータストリームの最後に付け加える。フロン
トプレーン制御LCA 45はまた、先行パッドを付けること
によって状態/長さワードを調整された長いワードにす
る。フロントプレーン制御LCA 45は状態/長さワードの
最終バイト上にEOPビットをアサートする。
【0059】DMAコントローラLCA 43はデータをスロッ
トメモリ44のスロットに移動する。移動されたバイトの
数が一定のしきい値を超えると(例えば32バイト)、CP
U 37に割り込みが発生し、スロットメモリ44からのヘッ
ダの読み出しを開始できる旨の信号が発せられる。CPU
37はこのヘッダを分析してチェックサムの型、開始オフ
セットおよび停止オフセットを判定する。CPUはまた、
ヘッダをどこでデータから分離するかを判定する。
【0060】DMAコントローラLCA 43はCPU 37による分
析を待つ処理待ちパケットの数を追跡するカウンタを有
する。
【0061】CPU 37はヘッダを分析し、ヘッダ/データ
分割情報とチェックサム情報を、DMAコントローラLCA 4
3内のCPUアドレスレジスタを用いてスロットメモリ44に
書き込む。チェックサム型が無しである場合、開始フィ
ールドと停止フィールドは無視され、書き込みの必要は
ない。
【0062】転送の最初の3ワードはバックプレーンLCA
41には与えられないが、現在の着信パケットのチェッ
クサム構成をロードするためにチェックサムLCA 42によ
ってラッチされる。
【0063】次のワードはプロセッサ15へのデータとし
て渡されるのと同様に、バックプレーンLCA 41によって
バックプレーンLCA 41内の内部分割オフセットカウンタ
にロードされる。内部分割オフセットカウントはヘッダ
バッファ長に基づき、ヘッダがいつプロセッサ15に送ら
れたか、またいつデータバイトのパッドを開始してその
データ連鎖の最初のバッファを満たすべきかを判定する
のに用いられる。
【0064】バックプレーンLCA 41は32ビットデータス
トリームをミッドプレーンバス49からバックプレーンDM
Aコントローラ31に転送するための16ビットデータスト
リームにアンパックする。これはDMA転送を終了させる
パケット終端(EOP)が検出されるまで続けられる。
【0065】DSAPパッドはヘッダ/データ分割が4バイ
ト境界上であることを確実にし、したがって奇数バイト
の位置合わせを行う必要がなくなる。CPU 37がヘッダ/
データ分割が偶数バイト境界上でないと判定する場合、
着信パケットはいずれにしても記憶装置に転送されなけ
ればならず、位置合わせはプロセッサ15によって修正さ
れねばならない。バックプレーンLCA 41は奇数分割オフ
セットを検出すると、プロセッサ15によってアクセス可
能な状態レジスタにエラー表示をセットする。
【0066】データが記憶装置11に送られると、バック
プレーンLCA 41は分割オフセットカウントとヘッダバッ
ファ長カウントをデクリメントする。ヘッダバッファ長
カウントはメモリバッファ中のバイト数に初期設定され
る。分割オフセットカウントがゼロになると、バックプ
レーンLCA 41はパッドデータの送出を開始し、またヘッ
ダバッファ長カウントがゼロになるまでそのデクリメン
トを開始する。これによってヘッダだけが入るように設
計された最初のバッファがいっぱいになる。このとき、
バックプレーンLCA 41はスロットメモリ44からのデータ
の送出を再開する。これがページ調整されて終了するデ
ータペイロードとなる。代替好適実施例において、分割
オフセットカウントがゼロになるとき、バックプレーン
LCA 41はパッドデータを送ることなく次のメモリバッフ
ァへのデータの送出を開始する。この代替好適実施例で
は、より効率的な転送が可能であり、バックプレーンDM
Aコントローラがこれを実施できることが望ましい。
【0067】図13はその結果得られる記憶装置11中の位
置合わせを示す。記憶装置11には、ヘッダバッファ91、
データバッファ92およびデータバッファ93を示す。ヘッ
ダバッファは記憶装置の小部分である。データバッファ
92および93はそれぞれ記憶装置11の一つのページを表わ
す。例えば、記憶装置の各ページは2048バイトのデータ
を含む。データのページ調整を確実に行うために、パケ
ットヘッダ101の後にパッドデータ102が加えられて、ヘ
ッダバッファ91が満たされる。これによってパケットデ
ータ103はデータバッファ92の始めに置かれる。必要で
あれば、次のデータバッファ93に追加のパケットデータ
104を入れることもできる。
【0068】データの最終ワードがバックプレーンLCA
41にラッチされるとき、EOPビットがセットされる。こ
のワードは状態長ロングワード(Status Length Long Wo
rd (SLLW))である。バックプレーンLCA 41はこの最後の
32ビットのデータが記憶装置11中の8バイト境界上に来
るかどうかを見る。そうでない場合、パッドバイトを送
ってこの位置合わせをさせる。これは、プロセッサ15が
状態情報およびチェックサム情報を迅速に発見する上で
助けになる。次に、SLLWが送られる。
【0069】図14にネットワークアダプタによりホスト
システムに送られるネットワークパケットを示す。バッ
クプレーンLCA 41はSLLWを送った後、チェックサム結果
87の入ったパイプラインデータバスからのさらにもう一
つのワードを読み込む。チェックサム結果87はDMA転送
終了の信号とともにバックプレーンDMAコントローラ31
に転送される。これでDMA転送が終わり、バックプレー
ンDMAコントローラ31がプロセッサ15に対する割り込み
を発生してDMA転送終了を知らせる。プロセッサ15はこ
の割り込みがあると、着信転送の長さを(ワードで)示
すバックプレーンLCA 41内の状態レジスタを読み出す。
この状態レジスタはまたネットワークアダプタ12上でエ
ラーが発生したかどうか、及び、それ以上の着信或いは
送出処理を行うバッファがネットワークアダプタ12上に
存在するかどうかを示す。
【0070】以上の説明はこの発明の方法の例と実施例
を開示し説明するものにすぎない。当業者には理解され
るように、この発明はその精神或いは基本的特性から離
れることなく他の形態で実施することができる。したが
って、この発明の開示は例として行うものであり、本発
明の特許請求の範囲を限定するものではない。
【0071】
【発明の効果】以上のように、本発明を用いると計算機
システムが対応する複数バイト境界に位置合わせされて
いない複数バイトフィールドをアクセスすることができ
ないプロセッサを備える時に、プロセッサがこのデータ
にアクセスするために補助バッファにバイトを複写する
ことを不要にする効果がある。
【図面の簡単な説明】
【図1】ネットワークで接続された2つの計算機システ
ムを示すブロック図。
【図2】本発明の好適実施例に従ったネットワークを介
したデータフロー図。
【図3】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図4】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図5】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図6】本発明の好適実施例に従って送られるメッセー
ジのためのヘッダの例を示す図。
【図7】本発明の好適実施例に従ったネットワークアダ
プタのブロック図。
【図8】本発明の好適実施例に従ってネットワークアダ
プタに送られるネットワークパケットのヘッダを示す
図。
【図9】本発明の好適実施例に従って記憶装置上に構築
されるパケットに付加されたパッドを示す図。
【図10a】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10b】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図10c】本発明の好適実施例に従ってホストシステ
ムからネットワークパケットを受信したネットワークア
ダプタを示す図。
【図11a】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図11b】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図11c】本発明の好適実施例に従ってネットワーク
パケットに付加されたチェックサムを示すブロック図。
【図12a】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12b】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図12c】本発明の好適実施例に従ってネットワーク
からネットワークアダプタにより受信されたネットワー
クパケットを示すブロック図。
【図13】本発明の好適実施例に従って主記憶装置に記
憶されたネットワークパケットを示す図。
【図14a】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14b】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図14c】本発明の好適実施例に従ってホストシステ
ムへネットワークアダプタより送られたネットワークパ
ケットを示すブロック図。
【図15】本発明の好適実施例に従ったチェックサムロ
ジックセルアレイのブロック図。
【符号の説明】
111:フレーム制御フィールド 112:行先アドレス 113:出所アドレス 114:行先サービスアクセスポイントフィールド 115:パッド 116:出所サービスアクセスポイントフィールド 117:制御フィールド 118:編成ID 119:SNAP型 120:IPヘッダ 121:TCPヘッダ或いはUDPヘッダ
フロントページの続き (72)発明者 ジョン・エル・バーネット アメリカ合衆国カリフォルニア州クパチー ノ、バレー・グリーン・ドライブ 20990 アパートメント・ナンバー667 (72)発明者 フランク・フィドゥシア アメリカ合衆国カリフォルニア州クパチー ノ、テラス・ドライブ 21711

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】ネットワークに接続され、次の(a)及び(b)
    のステップを備え、ネットワークアダプタを有する計算
    機システムにおいてパケットを処理する方法: (a)前記ネットワークアダプタによりネットワークパケ
    ットの行先サービスアクセスポイントを判定するため
    に、前記ネットワークパケットのネットワークリンクヘ
    ッダを探すステップ; (b)前記行先サービスアクセスポイントの値に基づき少
    なくとも1個のパッドバイトを前記ネットワークリンク
    ヘッダに入れることにより、前記ネットワークパケット
    の後続のヘッダを所定の複数バイト境界に位置合わせす
    るステップ。
  2. 【請求項2】ネットワークに接続され、次の(a)及び(b)
    のステップを備え、ネットワークアダプタ及び主記憶装
    置を有する計算機システムにおいてパケット処理する方
    法: (a)前記ネットワークアダプタにより前記ネットワーク
    から複数のヘッダを持つネットワークパケットを受信す
    るステップ:前記受信ステップは、前記ネットワークア
    ダプタにより前記ネットワークパケット内の前記複数の
    ヘッダの1個に少なくとも1個のパッドバイトを挿入する
    ことにより、所定の複数バイト境界に位置合わせするス
    テップを有する; (b)前記ネットワークアダプタにより前記ネットワーク
    パケットを前記主記憶装置に転送するステップ。
  3. 【請求項3】ネットワークに接続され、次の(a)ないし
    (c)を備え、主記憶装置とネットワークアダプタを有す
    ることを特徴とする計算機システム: (a)複数のヘッダを備える前記ネットワークパケットを
    前記ネットワークから受信するための受信手段; (b)前記受信手段につながれ、複数のヘッダの1個に少
    なくとも1個のパッドバイトを挿入することで前記ネッ
    トワークパケット中の複数のヘッダを所定の複数バイト
    境界に位置合わせするための挿入手段; (c)前記ネットワークパケットを前記主記憶装置に転送
    するための転送手段。
JP5151321A 1992-05-29 1993-05-28 ネットワークアダプタシステム Pending JPH0662075A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/891,302 US5491802A (en) 1992-05-29 1992-05-29 Network adapter for inserting pad bytes into packet link headers based on destination service access point fields for efficient memory transfer
US891,302 1992-05-29

Publications (1)

Publication Number Publication Date
JPH0662075A true JPH0662075A (ja) 1994-03-04

Family

ID=25397935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5151321A Pending JPH0662075A (ja) 1992-05-29 1993-05-28 ネットワークアダプタシステム

Country Status (4)

Country Link
US (1) US5491802A (ja)
EP (1) EP0572145B1 (ja)
JP (1) JPH0662075A (ja)
DE (1) DE69320694T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279801A (ja) * 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721841A (en) * 1994-11-04 1998-02-24 Texas Instruments Incorporated Adapter having data aligner including register being loaded to or from memory with an offset in accordance with predetermined network fragmentation parameters
US5793953A (en) * 1995-07-07 1998-08-11 Sun Microsystems, Inc. Method and apparatus for allowing packet data to be separated over multiple bus targets
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5826032A (en) * 1996-02-12 1998-10-20 University Of Southern California Method and network interface logic for providing embedded checksums
SG77135A1 (en) * 1996-04-26 2000-12-19 Texas Instruments Inc Method and system for assigning a channel number to a received data packet
US5898713A (en) * 1997-08-29 1999-04-27 Cisco Technology, Inc. IP checksum offload
US6311226B1 (en) 1997-08-29 2001-10-30 Cisco Technology, Inc. Method and apparatus for dynamic link name negotiation
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
WO1999066678A1 (en) * 1998-06-16 1999-12-23 Alcatel Packet assembly hardware for data communication switch
US6373860B1 (en) * 1998-07-29 2002-04-16 Centillium Communications, Inc. Dynamically-assigned voice and data channels in a digital-subscriber line (DSL)
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
US7213061B1 (en) * 1999-04-29 2007-05-01 Amx Llc Internet control system and method
AU4814200A (en) * 1999-04-29 2000-11-17 Joseph S. Carver Jr. Dynamic messaging system and method
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
US8325716B2 (en) * 2001-10-22 2012-12-04 Broadcom Corporation Data path optimization algorithm
US7139904B2 (en) * 2002-03-01 2006-11-21 Gorman J Zachary Data byte insertion circuitry
US7788346B2 (en) * 2002-03-01 2010-08-31 Oracle America, Inc. System and method for state data back-up in a distributed data system
JP2003308206A (ja) * 2002-04-15 2003-10-31 Fujitsu Ltd プロセッサ装置
US7284181B1 (en) 2002-04-24 2007-10-16 Juniper Networks, Inc. Systems and methods for implementing end-to-end checksum
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7224366B2 (en) * 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
US7231505B1 (en) 2003-08-26 2007-06-12 Marvell International Ltd. Aligning IP payloads on memory boundaries for improved performance at a switch
JP4344750B2 (ja) * 2003-11-26 2009-10-14 シスコ テクノロジー,インコーポレイテッド 無線局の暗号化及び復号化をインラインする方法及び装置
US6954450B2 (en) * 2003-11-26 2005-10-11 Cisco Technology, Inc. Method and apparatus to provide data streaming over a network connection in a wireless MAC processor
KR100678264B1 (ko) * 2004-02-06 2007-02-01 삼성전자주식회사 고속 순방향 패킷 접속 방식을 사용하는 이동 통신시스템에서 데이터 처리 속도를 향상시키는 방법 및 그이동 통신 시스템
KR100651344B1 (ko) * 2004-02-19 2006-11-29 삼성전자주식회사 고속 순방향 패킷 접속 방식을 사용하는 이동 통신시스템에서 데이터 처리 속도를 향상시키는 방법 및 그이동통신시스템
US8364849B2 (en) 2004-08-30 2013-01-29 International Business Machines Corporation Snapshot interface operations
US7522597B2 (en) * 2004-08-30 2009-04-21 International Business Machines Corporation Interface internet protocol fragmentation of large broadcast packets in an environment with an unaccommodating maximum transfer unit
US20060067341A1 (en) * 2004-09-09 2006-03-30 Barber Ronald W Method, system and computer program using standard interfaces for independent device controllers
US20070211691A1 (en) * 2004-09-09 2007-09-13 Barber Ronald W Method, system and computer program using standard interfaces for independent device controllers
DE102004050424B4 (de) * 2004-10-15 2010-04-15 Bosch Rexroth Ag Verfahren zur Übertragung von Daten in einem Kommunikationssystem
US9063739B2 (en) 2005-09-07 2015-06-23 Open Invention Network, Llc Method and computer program for device configuration
CN101548526B (zh) * 2006-12-14 2016-07-06 艾利森电话股份有限公司 用于在无线通信系统中对齐协议数据单元的方法和装置
US8069315B2 (en) * 2007-08-30 2011-11-29 Nokia Corporation System and method for parallel scanning
US8151177B2 (en) * 2007-11-28 2012-04-03 International Business Machines Corporation Methods and arrangements for partial word stores in networking adapters
WO2009151863A2 (en) * 2008-06-10 2009-12-17 Myers Wolin, Llc A network gateway for time-critical and mission-critical networks
US9270620B2 (en) 2013-09-25 2016-02-23 International Business Machines Corporation Memory transfer optimization of network adapter data placement when performing header-data split operations
US9888077B2 (en) * 2014-04-22 2018-02-06 Western Digital Technologies, Inc. Metadata based data alignment in data storage systems
US10021559B2 (en) 2015-08-04 2018-07-10 Qualcomm Incorporated Supporting multiple concurrent service contexts with a single connectivity context
US9961598B2 (en) 2016-03-15 2018-05-01 Qualcomm Incorporated Optimized measurement report order for inter-RAT handover
US10375168B2 (en) * 2016-05-31 2019-08-06 Veritas Technologies Llc Throughput in openfabrics environments
WO2019241967A1 (en) 2018-06-21 2019-12-26 Qualcomm Incorporated Signaling design for non-linear precoding schemes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
JP2751201B2 (ja) * 1988-04-19 1998-05-18 ソニー株式会社 データ伝送装置及び受信装置
US4890304A (en) * 1988-11-07 1989-12-26 Advanced Micro Devices, Inc. Reliable recovery of data in encoder/decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006279801A (ja) * 2005-03-30 2006-10-12 Oki Techno Creation:Kk パケット処理装置

Also Published As

Publication number Publication date
EP0572145B1 (en) 1998-09-02
EP0572145A3 (en) 1994-11-02
DE69320694T2 (de) 1999-01-21
US5491802A (en) 1996-02-13
DE69320694D1 (de) 1998-10-08
EP0572145A2 (en) 1993-12-01

Similar Documents

Publication Publication Date Title
JPH0662075A (ja) ネットワークアダプタシステム
JPH0678024A (ja) ネットワークアダプタシステム
US9380134B2 (en) RoCE packet sequence acceleration
US7773599B1 (en) Packet fragment handling
US7916632B1 (en) Systems and methods for handling packet fragmentation
US6449656B1 (en) Storing a frame header
US6427169B1 (en) Parsing a packet header
US7159030B1 (en) Associating a packet with a flow
US5909546A (en) Network interface having support for allowing remote operations with reply that bypass host computer interaction
US7936758B2 (en) Logical separation and accessing of descriptor memories
US6668299B1 (en) Software interface between a parallel bus and a packet network
EP0674276B1 (en) A computer system
US8085780B1 (en) Optimized buffer loading for packet header processing
US6697366B1 (en) Ethernet memory management system and methods for operation thereof
JPH09321828A (ja) 保護メモリ・オペレーティング・システムにおけるデータ・コピー・オーバーヘッドを削減する機構
JPH0678001A (ja) ネットワークアダプタシステム
US7701973B2 (en) Processing receive protocol data units
KR20010076328A (ko) 티씨피/아이피를 하드웨어적으로 처리하는 장치 및 그동작방법
US5802064A (en) Protocol header alignment
US7239630B1 (en) Dedicated processing resources for packet header generation
US7158520B1 (en) Mailbox registers for synchronizing header processing execution
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message
IL148260A (en) Software interface between a parallel bus and a packet network