JP3358254B2 - 通信制御装置および通信制御用回路装置 - Google Patents

通信制御装置および通信制御用回路装置

Info

Publication number
JP3358254B2
JP3358254B2 JP27025493A JP27025493A JP3358254B2 JP 3358254 B2 JP3358254 B2 JP 3358254B2 JP 27025493 A JP27025493 A JP 27025493A JP 27025493 A JP27025493 A JP 27025493A JP 3358254 B2 JP3358254 B2 JP 3358254B2
Authority
JP
Japan
Prior art keywords
header
timer
prediction
communication control
data
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.)
Expired - Fee Related
Application number
JP27025493A
Other languages
English (en)
Other versions
JPH07123128A (ja
Inventor
達也 横山
哲彦 平田
美加 水谷
治 高田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP27025493A priority Critical patent/JP3358254B2/ja
Priority to KR1019940027361A priority patent/KR970007620B1/ko
Priority to US08/331,106 priority patent/US5678060A/en
Publication of JPH07123128A publication Critical patent/JPH07123128A/ja
Application granted granted Critical
Publication of JP3358254B2 publication Critical patent/JP3358254B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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/28Timers or timing mechanisms used in protocols
    • 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
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • 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
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • 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/5629Admission control
    • H04L2012/563Signalling, e.g. protocols, reference model
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、通信制御装置および通
信制御用回路装置に関し、特に、複数のコネクションを
介して通信相手装置との間で並列的なデータ通信動作を
行う通信制御装置および通信制御用の回路装置に関す
る。
【0002】
【従来の技術】1つの計算機が通信路上に複数のコネク
ションを設定し、複数の通信を並列的に行う環境、例え
ば、サーバ・クライアントシステムを構成するサーバ計
算機が複数のクライアントを相手に行う通信処理おいて
は、プロトコル処理の高速化技術が重要となる。この場
合、プロトコル処理の課題として、受信処理におけるプ
ロトコルヘッダの解析処理の高速化と、タイマ管理処理
の高速化がある。
【0003】データ受信時におけるプロトコルヘッダ解
析処理の高速化技術としては、例えば、特開平2−23
8544号公報に記載された「プロトコル高速処理方式
およびネットワーク・システム」がある。
【0004】上記公報に記載の発明では、受信フレーム
における複数のヘッダ要素からなるプロトコルヘッダを
ヘッダ要素毎に逐次解析する代わりに、自局が以前に受
信したフレームのヘッダまたは自局が以前に送信したフ
レームのヘッダに基づいて、次に受信するであろうフレ
ームの一つまたは複数のレイヤのプロトコルヘッダを予
測しておき、実際にフレームを受信した時、受信フレー
ムのヘッダと予測ヘッダとを一括して比較することによ
り、ヘッダ解析処理を高速化するようにしている。本明
細書では、以下、上記従来方式を「ヘッダ予測方式」と
呼び、予測されたヘッダを「予測ヘッダ」と呼ぶことに
する。
【0005】一方、タイマ管理処理に関するプロセッサ
負荷を軽減するための技術として、例えば、特開平3−
209512号公報に記載された「タイマ管理装置」が
ある。上記公報に記載の発明では、通信制御処理を行う
プロセッサとは別に、タイマ処理専用のプロセッサを設
けることによって、本来の通信制御処理を行うプロセッ
サからタイマ管理処理を排除するようにしている。
【0006】
【発明が解決しようとする課題】然るに、多数のコネク
ションが設定された環境に上述した従来のヘッダ予測方
式を採用すると、コネクションと対応して複数の予測ヘ
ッダが定義されることになり、これらの中から受信フレ
ーム(あるいはパケット)のプロトコルヘッダに対応す
る予測ヘッダを特定するために、受信したプロトコルヘ
ッダと複数の予測ヘッダとを逐次に比較する必要があ
り、高速化の面で改善の余地を残している。
【0007】また、特開平3−209512号公報に記
載されたタイマ管理のための負荷軽減方式は、本来の通
信制御処理を行うプロセッサからタイマ管理処理のため
の負荷を排除できる利点があるものの、タイマ管理専用
のプロセッサを設ける必要があるため、ハードウェア構
成が複雑化するという問題点がある。
【0008】本発明の目的は、多数のコネクションが設
定される環境においてプロトコル処理を高速化できる通
信制御装置を提供することにある。
【0009】本発明の他の目的は、多数のコネクション
が設定される環境においてプロトコルヘッダの解析処理
を高速化できる通信制御装置を提供することにある。
【0010】本発明の他の目的は、設定されるコネクシ
ョン数に比例して処理量が増大するタイマ管理処理のた
めのプロセッサの負荷を軽減できる通信制御装置を提供
することにある。
【0011】本発明の他の目的は、高性能の通信制御装
置をコンパクトに構成するための回路装置を提供するこ
とにある。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明による通信制御装置は、上位計算機との間の
インタフェース回路と、通信制御処理を実行するための
マイクロプロセッサと、プログラム及びワークデータを
格納するためのローカルメモリと、送受信データを一時
的に格納するためのバッファメモリと、上位計算機側の
メモリと上記バッファメモリとの間のデータ転送、およ
び上記バッファメモリと上記ローカルメモリ間のプロト
コルヘッダ転送を行うためのDMA転送手段と、ネット
ワークとの間のデータ送受信を制御するためのネットワ
ークコントローラと、コネクション対応に次受信フレー
ムのプロトコルヘッダを予測しておき、上記DMA転送
手段により転送される受信フレームのプロトコルヘッダ
と対応するものを検索するヘッダ検索手段とを有するこ
とを特徴とする。
【0013】また、本発明の通信制御装置は、上記構成
に加えて、あるいはヘッダ検索手段に代えて、それぞれ
タイマ管理に必要な情報を保持する複数のタイマエント
リを有する記憶手段と、上記記憶手段の複数のタイマエ
ントリについて、タイマカウント動作と上記プロセッサ
へのタイマ通知動作を行うタイマ手段とを有することを
特徴とする。
【0014】本発明の好適な実施例によれば、上記予測
ヘッダ検索手段と、DMA転送手段と、タイマ手段は、
ネットワークとの間のインタフェースと、通信制御装置
プロセッサが接続される内部バスとの間のインタフェー
スと、通信制御装置のローカルバスとの間のインタフェ
ースと、上位装置のシステムバスとの間のインタフェー
スと共に1個の半導体基板にLSI化した形態で提供さ
れる。
【0015】
【作用】本発明によれば、上記検索手段とDMA転送手
段とによって、コネクション数が複数存在する場合で
も、プロトコルヘッダの解析処理を高速に実行すること
ができる。また、これにハードウエアタイマを加えた場
合、コネクション数に比例して増大するタイマ管理のた
めの負荷を通信制御プロセッサから解放できる。
【0016】
【実施例】以下、本発明の実施例を図面を参照しながら
説明する。
【0017】図2は、本発明の通信制御装置が適用され
る通信ネットワークシステムの構成の一例を示す。1
(1A〜1D)は計算機であり、それぞれ通信制御装置
2(2A〜2D)と、ATM(Asynchronous Transfer
Mode)伝送路7とを介して、ATM交換機3に接続され
ている。
【0018】図1は、通信制御装置2の構成の一例を示
す。上位計算機1は、システムバス6で接続された主プ
ロセッサ4と主メモリ5とから構成されている。通信制
御装置2は、上記システムバス6に接続されており、プ
ロトコル処理等の通信制御処理を実行するマイクロプロ
セッサ10と、プログラムメモリ20と、ローカルメモ
リ30と、本発明の主要部を成すプロトコル処理アクセ
ラレータ50と、送受信データを一時的に格納するため
のバッファメモリ40と、ATM伝送路7へのデータの
送受信制御を行なうATMコントローラ60と、計算機
インタフェース回路70とで構成される。
【0019】ATMコントローラ60は、バッファメモ
リ40に格納された可変長の送信データ(フレーム)を
固定長の複数のミニパケット(以下、セルと言う)に分
割してATM伝送路7に送出すると共に、上記ATM伝
送路7から受信したセルをバッファメモリ40に転送し
て受信フレームに組立てるための機能をもつ。上記AT
Mコントローラ60は、例えば、Transwitch社のSAR
Aチップセット等を使用して実現できる。
【0020】プロトコル処理アクセラレータ50は、マ
イクロプロセッサ10によるプロトコル処理をアクセラ
レートするためのハードウェアであり、送受信データ及
びプロトコルヘッダを転送するためのDMAコントロー
ラ(以下、DMACと言う)200と、受信したプロト
コルヘッダを高速に解析するヘッダ予測回路100と、
多数のタイマを管理するタイマ回路300と、バッファ
アクセス調停回路500と、ローカルバスインタフェー
ス回路600で構成される。
【0021】DMAC200は、上位計算機1内の主メ
モリ5とバッファメモリ40との間での送受信データの
転送機能(以下、データDMA機能と言う)と、ローカ
ルメモリ30とバッファメモリ40との間でのプロトコ
ルヘッダの転送機能(以下、ヘッダDMA機能と言う)
とを有する。
【0022】ヘッダ予測回路100は、DMAC200
のヘッダDMA機能によってバッファメモリ40からロ
ーカルメモリ30に転送される受信ヘッダを取り込み、
予め登録された複数の予測ヘッダと一致するものを高速
に検索する機能を備えた回路である。
【0023】タイマ回路300は、数百〜数千個オーダ
ーの複数のタイマを管理するためのハードウェアタイマ
であり、これらのタイマ管理に必要な情報は、タイマメ
モリ380に格納されている。
【0024】バッファアクセス調停回路500は、バッ
ファメモリ40に対するDMAC200とATMコント
ローラ60からのアクセスを調停するための回路であ
る。
【0025】通信制御装置2の内部バスは、2系統の内
部バスから成る。一つは、送受信データを転送するため
のデータバス90(90A、90B、90C)であり、
もう一つは、マイクロプロセッサ10と接続された通信
制御処理のためのローカルバス80である。
【0026】通信制御装置2において、マイクロプロセ
ッサ10は、計算機1からデータ送信要求を受けると、
DMAC200を用いて主メモリ5に格納された送信デ
ータをバッファメモリ40に転送し、プロトコル処理を
行った後、ATMコントローラ60を起動してフレーム
をATM伝送路7に送出する。一方、ATMコントロー
ラ60からフレーム受信通知を受けると、プロトコル処
理を行った後、DMAC200を用いて受信データを主
メモリ5に転送し、計算機1に対してデータ受信を通知
する。
【0027】図3は、計算機1と通信制御装置2とが分
担して実行する通信プロトコルの階層を示す図である。
本実施例では、OSI7階層モデルに対して、レイヤ5
(プレゼンテーションレイヤPL)以上の処理を計算機
の主プロセッサで実行し、レイヤ4(トランスポートレ
イヤTL)からレイヤ2(LLCレイヤ)までの処理を
通信制御装置2内のマイクロプロセッサ10で実行し、
レイヤ2(AALレイヤ以下)の処理をATMコントロ
ーラ60で実行する。
【0028】図4は、複数の通信制御装置間で送受信さ
れる通信フレームのフォーマットを示す。計算機からの
送信データ41には、マイクロプロセッサ10によっ
て、TLヘッダ42−3、NLヘッダ42−2、LLC
ヘッダ42−1が付加され、LLCフレーム42が形成
される。ATMコントローラ60では、トレイラ43−
1を付加した後、送信フレームを48バイト長のデータ
(以下、ペイロードと言う)46に分割する。ペイロー
ド46には各々ATMヘッダ45が付加され、セル44
として伝送路7に送出される。伝送路からの受信したセ
ルの処理は、上述した送信処理と逆の手順でフレームの
組立てが行われる。
【0029】ATM交換機3とATM伝送路7とで構成
されるATMネットワークは、コネクション型のネット
ワークであり、ATMヘッダ45内に設けられた2つの
パラメータVPI47、VCI48の組み合わせによっ
てATMコネクションが識別される。
【0030】図5は、マイクロプロセッサ10が処理す
るOSIプロトコルのレイヤ4からレイヤ2(LLCサ
ブレイヤ)のプロトコルの内、主にLAN環境で使用さ
れるTP4、CLNP、LLCタイプ1の主なヘッダ型
式(a)〜(h)を示す。
【0031】図6は、OSIトランスポートプロトコル
(TP4)の通信シーケンスを用いて、本発明に関連す
るデータ送信局(通信制御装置2A)におけるタイマ処
理と、データ受信局(通信制御装置2B)におけるヘッ
ダ予測処理手順の一例を示す。
【0032】データ送信局においては、送信データの送
達確認のために、DTパケット702を送信するとタイ
マを起動し、AKパケット703が返信されると該当す
るタイマを停止する。一方、データ受信局においては、
コネクションの設定が完了すると、DTパケット702
に対するヘッダを予め予測しておき、DTパケット70
2を受信すると、受信したヘッダと予め予測したヘッダ
とを比較する。もし、これらが一致すれば、正しい受信
データであると判断し、AKパケット703を返信す
る。
【0033】上記シーケンスは、コネクション単位に発
生するため、多数のコネクションが設定された環境にお
いては、多数のタイマを管理する機能と、多数の予測ヘ
ッダの中から受信したヘッダと一致するものを高速に検
索する機能が必要となる。
【0034】通信制御装置2に設けたプロトコル処理ア
クセラレータ50は、コネクションの数とともに増加す
る上記タイマ管理とヘッダ検索処理をアクセラレートす
るためのハードウェアである。以下、プロトコル処理ア
クセラレータ50の機能について詳述する。
【0035】図7は、DMAC200の内部構成を示す
ブロック図である。DMAC200は、前述したよう
に、計算機1内の主メモリ5とバッファメモリ40との
間で送受信データの転送を行なうデータDMA機能と、
ローカルメモリ30とバッファメモリ40との間でプロ
トコルヘッダの転送を行なうヘッダDMA機能をもつ。
【0036】DMAC200は、マイクロプロセッサ1
0によって設定されたDMAC200への起動コマンド
を記憶するためのコマンドレジスタ210と、転送元の
メモリアドレスを記憶するための転送元アドレスレジス
タ215と、転送先のメモリアドレスを記憶するための
転送先アドレスレジスタ220と、転送バイト数を記憶
するための転送バイト数レジスタ225と、DMAC2
00全体の動作を制御するDMA制御回路230と、計
算機1内の主メモリ5へのアクセスを制御するホストア
クセス制御回路245と、ローカルメモリ30へのアク
セスを制御するローカルメモリアクセス制御回路235
と、バッファアクセス調停回路500を介してバッファ
メモリ40へのアクセスを制御するバッファアクセス制
御回路255と、ローカルメモリ30とバッファメモリ
40との間で転送されるデータを一時的に保持するテン
ポラリバッファA240と、主メモリ5とバッファメモ
リ40との間で転送されるデータを一時的に保持するテ
ンポラリバッファB250と、主メモリ5とバッファメ
モリ40との間で転送されるデータに対してチェックサ
ム計算を行うチェックサム計算回路260と、DMA転
送の完了結果及び、チェックサム計算結果を保持するス
テータスレジスタ265で構成される。
【0037】上記DMAC200において、データDM
Aを実行する場合、ホストアクセス制御回路245とバ
ッファアクセス制御回路255は互いに独立して動作
し、各々のアクセスがパイプライン的に実行される。テ
ンポラリバッファB250は、各々のメモリアクセス速
度の差を吸収するためのものである。これはヘッダDM
A機能についても同様であり、テンポラリバッファA2
40が、ローカルメモリ30へのアクセスとバッファメ
モリ40へのアクセス速度の差を吸収する。なお、コマ
ンドレジスタ210には、データDMA要求かヘッダD
MA要求かの区分、及びDMA転送の方向を指定する情
報が設定される。
【0038】図8は、DMAC200の動作を示すフロ
ーチャートを示す。DMAC200は、マイクロプロセ
ッサ10からDMA要求を受けると(ステップ80
0)、データDMA要求かヘッダDMA要求かを判定す
る(801)。
【0039】データDMA要求であれば、指定された転
送方向に、主メモリ5とバッファメモリ40間で1ワー
ドのDMA転送を行う。この時、転送データに対するチ
ェックサム計算を同時に行う(802)。1ワードの転
送が終了すると、新たにヘッダDMA要求があるかどう
かを判定する(803)。
【0040】ヘッダDMA要求があれば、ヘッダDMA
転送を優先して実行するためにデータDMAの実行を中
断し、ステップ806へ進む。ステップ803で、ヘッ
ダDMA要求がなければ、データDMA転送を継続し、
指定されたバイト数分のDMA転送が終了するまで、ス
テップ802とステップ803を繰返し実行する(80
4)。
【0041】データDMA転送が完了すると、ステータ
スレジスタ265にデータDMA完了通知及びチェック
サム計算結果を設定し、マイクロプロセッサ10にDM
A完了を通知する(805)。ステップ801、または
ステップ803において、ヘッダDMA要求を検出する
と、ヘッダ転送信号201−6をONにし(806)、
ローカルメモリ30とバッファメモリ40との間で指定
されたバイト数分のデータを転送する(807、80
8)。
【0042】ヘッダDMA転送が完了すると、ヘッダ転
送信号201−6をOFFにし(809)、ステータス
レジスタ265にヘッダDMA完了を設定する(81
0)。ヘッダDMA転送が完了した時点(810)で、
データDMA転送が中断された状態である場合には、ス
テップ804に戻り、データDMA転送を再開する。
【0043】上記フローチャートから明らかなように、
ヘッダDMA転送は、データDMA転送よりも優先度が
高く、データDMA転送中にヘッダDMA要求が発生す
ると、データDMA転送を一時中断し、ヘッダDMA転
送を先に実行するように動作する。
【0044】図9は、ヘッダ予測回路100の構成を示
すブロック図である。ヘッダ予測回路100は、前述し
たように、DMAC200によって、バッファメモリ4
0からローカルメモリ30に転送されるプロトコルヘッ
ダを取り込み、予め登録された複数の予測ヘッダと一致
するものを高速に検索するための回路である。
【0045】ヘッダ予測回路100は、予測ヘッダを登
録しておく複数のエントリから成る予測ヘッダメモリ1
05と、前記予測ヘッダ中の予測対象外の部分を規定し
たマスクヘッダを登録するための複数のエントリから成
るマスクヘッダメモリ110と、DMAC200から転
送されてくる受信したプロトコルヘッダを一時的に保持
するヘッダ受信FIFO−A115と、比較対象となる
予測ヘッダを取り出す予測ヘッダリード回路125と、
比較対象となるマスクヘッダを取り出すマスクヘッダリ
ード回路140と、受信ヘッダFIFO−A115の内
容をマスクヘッダでマスクする(論理積をとる)マスク
回路135と、マスク回路135から出力されたデータ
と予測ヘッダとを比較するヘッダ比較器130と、予測
ヘッダが登録され有効なエントリを指定する予測制御レ
ジスタ150と、予測ヘッダメモリ105の各エントリ
に対応して、比較結果(一致または、不一致)を一時的
に保持する比較結果フラグ145−1〜nと、受信した
プロトコルヘッダに対して比較対象となるワード位置を
保持する比較カウンタ160と、受信ヘッダとの比較対
象となるエントリ番号を保持する比較対象エントリ16
5と、予測結果(比較結果)をマイクロプロセッサ10
に通知する予測結果通知レジスタ155と、予測回路1
00全体の動作を制御する比較制御回路120とで構成
される。
【0046】予測ヘッダメモリ105及びマスクヘッダ
メモリ110は、マイクロプロセッサ10からも直接ア
クセスできるように構成されている。アクセス調停回路
170、175は、マイクロプロセッサ10からのアク
セスと、ヘッダ予測回路100内部からのアクセスを調
停する機能を有する。
【0047】図10は、予測ヘッダメモリ105に定義
される予測ヘッダのデータ構造を示す。予測ヘッダメモ
リは、複数のエントリを有し、各エントリは、予測した
プロトコルヘッダの長さを指定する予測ヘッダ長105
−1aと、予測したプロトコルヘッダを登録する予測ヘ
ッダ登録エリア105−1bとから成る。
【0048】マスクヘッダメモリ110のデータ構造も
同様の構造であり、予測ヘッダ登録エリア105−1b
に対応するフィールドには、事前に予測することが不可
能で、受信フレームのヘッダとの比較対象外となるフィ
ールドを規定するためのマスクパターンが設定される。
例えば、比較対象部分に対応するビットには、「1」を
設定し、比較対象外の部分に対応するビットには、
「0」を設定しておく。
【0049】図11は、ヘッダ予測回路100の動作を
示すタイムチャートである。ヘッダ予測回路100は、
DMAC200により、バッファメモリ40からローカ
ルメモリ30へのヘッダ転送信号201−6のONを検
出すると(ステップ820)、以降の比較検索処理に備
え、ステップ821〜ステップ823で初期化を行う。
具体的には、ステップ821で、予測ヘッダが登録され
ている有効なエントリに対応する比較結果フラグ145
に、「1」を設定する。ステップ822で、比較するワ
ード位置を示す比較カウンタm160に、「1」を設定
する。ステップ823では、受信ヘッダとの比較対象エ
ントリを表す比較対象エントリi165に「1」を設定
する。
【0050】以上の初期化が完了した後、検索処理が開
始される。まず、エントリiに対する比較結果フラグ1
45−iをチェックし(824)、「1」であれば、こ
れまで比較において受信ヘッダと一致しているエントリ
であると判断し、比較処理を行う。具体的には、ヘッダ
受信FIFO−A115のmワード目を取り出し、エン
トリiのmワード目のマスクヘッダとの論理積(AN
D)をとり、その結果とエントリiのmワード目の予測
ヘッダとを比較する(825、826)。
【0051】上記比較の結果、ヘッダ内容が一致してい
れば、比較カウンタm160とエントリiの予測ヘッダ
長105−iaを比較することにより、当該予測ヘッダ
に対する比較が完了したかどうかをチェックし(82
7)、完了していれば、予測結果通知レジスタ155に
予測成功及び一致したエントリ番号iを設定し、マイク
ロマイクロプロセッサ10に予測完了を通知する(82
8)。
【0052】ステップ824で、エントリiに対する比
較結果フラグ145−iが「0」であった場合は、当該
エントリは、既に予測が失敗したエントリであると判断
し、比較対象エントリi165を更新する(832)。
受信ヘッダのmワード目に対して、全てのエントリの予
測ヘッダとの比較が完了したかどうかをチェックし(8
33)、完了していなければ、ステップ824に進み、
次のエントリの比較に移る。
【0053】ステップ833で、全エントリの予測ヘッ
ダとの比較が完了していれば、比較カウンタmを更新し
(834)、ステップ823に戻り、最初のエントリか
ら比較処理を行う。ステップ826で、受信ヘッダと予
測ヘッダが一致しなかった場合には、当該エントリiの
比較結果フラグ145−iに「0」を設定し、以降の比
較対象から外す(829)。ステップ829の結果、全
エントリの比較結果フラグ145が「0」になった場合
には(830)、全ての予測ヘッダが受信ヘッダと一致
しなかったと判断し、予測結果通知レジスタ155に予
測失敗を設定し、マイクロプロセッサ10に予測完了を
通知する(831)。
【0054】図12は、上記フローチャートにおける受
信フレームのプロトコルヘッダと複数の予測ヘッダとの
比較順序を示す。比較処理は、バッファメモリ40から
ローカルメモリ30に転送されるプロトコルヘッダの1
ワード目がヘッダ受信FIFO−A115に格納された
時点で開始され、受信したヘッダの1ワードに対して
「エントリ1→エントリ2→エントリ5」という順番で
比較される。最後のエントリに達すると、2ワード目の
比較に移る。以降は、同様の手順で比較検索処理が行わ
れ、全ての予測ヘッダが一致しなくなるか、又は、一致
した予測ヘッダが検出されるまで繰り返される。
【0055】次に、上述したDMAC200及び、ヘッ
ダ予測回路100を使用したフレーム受信時におけるプ
ロトコル処理手順について説明する。
【0056】図13は、マイクロプロセッサ10におけ
る、フレーム受信時のプログラムフローチャートであ
る。マイクロプロセッサ10は、通信制御装置2間での
コネクション設定が完了すると、次に受信を期待するフ
レームに対するプロトコルヘッダを予測し、ヘッダ予測
回路100に予測ヘッダとマスクヘッダを登録しておく
(ステップ840)。
【0057】ATMコントローラ60からフレームの受
信完了通知を検出すると(841)、DMACにヘッダ
DMA要求を出し、バッファメモリ40に受信されたフ
レームに対するプロトコルヘッダをローカルメモリ30
に転送する(842)。
【0058】DMA転送が完了すると(843)、ヘッ
ダ予測回路100からの予測完了通知を待つ(84
4)。予測完了通知があれば、予測結果をチェックし
(845)、予測成功の場合には、ローカルメモリ30
に転送されている受信したプロトコルヘッダの内、事前
に予測できなかった部分のヘッダのみ解析する(84
6)。予測失敗の場合には、ローカルメモリ30に転送
されている受信ヘッダを逐次解析する(847)。
【0059】ヘッダの解析が完了すると、DMAC20
0にデータDMA要求を出し、プロトコルヘッダを除い
た受信データを主メモリ5に転送する(848)。DM
A転送が完了すれば(849)、DMAC200内のス
テータスレジスタ265から受信データに対するチェッ
クサム計算結果を取り出し、チェックサム値の正常チェ
ック及びプロトコル異常がないかをチェックする(85
0)。ステップ850で異常がなければ、計算機1にデ
ータ受信を通知し(851)、バッファメモリ40内の
受信バッファを解放する(852)。ステップ850で
異常が検出されれば、受信バッファを解放し、受信デー
タを破棄する(853)。
【0060】図14は、フレーム受信時における、上記
フローチャートに基づく、通信制御装置2の動作を示す
タイムチャートを示す。図14に示すように、DMAC
200によって、受信したプロトコルヘッダをローカル
メモリ30に転送しながら、並行して、ヘッダ予測回路
100によってプロトコルヘッダの解析が行われる。
【0061】以上の説明から明らかなように、多数のコ
ネクションが設定された場合においても、複数の予測ヘ
ッダと受信ヘッダの比較がヘッダ予測回路100によっ
て高速に行われる。なお、上記実施例では、ヘッダ予測
回路100が、受信ヘッダと予測ヘッダとを比較するヘ
ッダ比較器130を1つだけ備えているが、複数個のヘ
ッダ比較器130を設け、複数の予測ヘッダを同時に比
較するようにしても良い。
【0062】図15は、多数のタイマ管理処理を行うタ
イマ回路300の構成を示すブロック図である。タイマ
回路300には、複数のタイマについての状態情報を保
持するためのタイマメモリ380が接続されている。上
記タイマメモリ380は、各タイマと対応した複数のタ
イマエントリが定義してあり、各タイマエントリは、タ
イマの状態を示す状態フラグエリア380−1と、タイ
マの初期値を保持するタイマ初期値エリア380−2
と、その時点でのタイマの値を保持するタイマカウンタ
エリア380−3とで構成される。タイマメモリ380
は、マイクロプロセッサ10とタイマ回路300の双方
からアクセスできるようになっている。
【0063】タイマ回路300は、上記各エントリのタ
イマカウンタエリア380−3をカウントダウンするカ
ウントダウン制御回路315と、タイムアウトを検出し
た場合にマイクロプロセッサ10にタイムアウトを通知
するタイムアウト通知制御回路310と、タイムアウト
したエントリ番号を保持するタイムアウト通知レジスタ
305と、カウントダウン制御回路315及びマイクロ
プロセッサ10からタイマメモリ380へのアクセスを
調停するアクセス調停回路320とで構成されている。
【0064】図16は、タイマ回路300の内部状態と
その状態遷移を示した図である。タイマ回路300の内
部状態としては、タイマ停止状態350と、タイマ起動
状態351と、タイマ動作中状態352と、タイムアウ
ト通知待ち状態353の4つがあり、各タイマエントリ
毎に、これらの状態の何れかがタイマメモリ380の状
態フラグエリア380−1に保持される。
【0065】図17は、マイクロプロセッサ10が実行
するタイマ管理処理に関するプログラムフローチャート
2を示す。マイクロプロセッサ10は、例えばデータ送
信時等、タイマを起動させたい時点でタイマメモリ38
0の空きエントリを取得し(ステップ863)、当該エ
ントリのタイマ初期値エリア380−2にタイマ値を設
定し(864)、状態フラグエリア380−1に「タイ
マ起動」を示す状態コードを設定する(865)。ま
た、タイマを停止させたい場合には、対応するエントリ
の状態フラグエリア380−1に「タイマ停止」を示す
状態コードを設定する(866)。
【0066】タイマ回路300から後述するタイムアウ
ト通知を受けると(862)、タイムアウト通知レジス
タ305をリードし、タイムアウトしたタイマIDを取
得した後、当該タイマに対応したタイムアウト処理を実
行する(867、868)。
【0067】上記フローから明らかなように、マイクロ
プロセッサ10は、タイマエントリの数に相当した複数
のタイマを並列的に起動することができる。
【0068】図18は、タイマ回路300の動作を示す
フローチャートである。タイマ回路300は、タイマメ
モリ380中の1つのエントリをタイマ処理の対象とし
て、先ずエントリの状態フラグエリア380−1をチェ
ックし(ステップ870)、「タイマ起動」状態であれ
ば、タイマ初期値380−2の値をタイマカウンタ38
0−3に設定した後(875)、状態フラグを「タイマ
動作中」に変更する(876)。
【0069】状態フラグ380−1が「タイマ動作中」
であった場合は(871)、当該エントリのタイマカウ
ンタエリア380−3のタイマ値をカウントダウンする
(877)。カウントダウン後のタイマ値が「0」でな
い場合には、次のエントリを処理対象として(87
4)、上述した処理動作を繰り返す。
【0070】タイマ値が「0」になった場合は、当該タ
イマにタイムアウトが発生したことになり、タイムアウ
ト通知制御回路310で、マイクロプロセッサ10への
タイムアウト通知が可能か否かをチェックする(87
9)。タイムアウト通知制御回路310は、それ以前に
タイムアウト通知レジスタ305に設定したタイムアウ
ト通知がマイクロプロセッサ10によって読み取られて
いない場合には、当該エントリの状態フラグ380−1
に「タイムアウト通知待ち」を示すコードを設定し(8
82)、次のエントリを対象としたタイマ処理に移る
(874)。
【0071】ステップ879で、タイムアウト通知レジ
スタ305の内容がマイクロプロセッサ10で既に読み
取られていた場合は、当該エントリに付されたタイマI
Dをタイムアウト通知レジスタ305に設定し(88
0)、上記エントリの状態フラグエリア380−1を
「タイマ停止」状態に変更する(881)。
【0072】タイマの状態が「タイムアウト通知待ち」
のエントリに対しては(872)、次回の処理サイクル
で再度、マイクロプロセッサ10への通知が可能か否か
をチェックし(873)、もし通知可能であればステッ
プ880に進んで、タイムアウト通知を行い(880、
881)、通知不可能であれば、次のエントリを処理対
象として上述したタイマ処理動作を繰り返す(87
4)。
【0073】マイクロプロセッサ10がタイマを起動す
ると、上記フローチャートから明らかなように、当該タ
イマのカウント動作とタイムアウト通知動作をタイマ回
路300が自動的に実行するため、マイクロプロセッサ
10は、起動タイマ数に比例して増加するタイマ管理の
ための処理動作から解放され、負荷を大幅に低減でき
る。
【0074】図1に示したプロトコル処理アクセラレー
タ50の各構成要素は、同一半導体チップ上にLSI技
術によって集積回路化することができるため、本発明に
よれば、高性能の通信制御装置2をコンパクトなハード
ウェア構成で実現できる。
【0075】
【発明の効果】以上の説明から明らかなように、本発明
によれば、複数の予測ヘッダと受信フレームのヘッダと
を高速に比較できるため、多数のコネクションが設定さ
れる環境において、プロトコルヘッダの解析処理を高速
化することができる。また、専用のタイマ回路を設ける
ことによって、コネクション数に比例して増大するタイ
マ管理のための処理負荷をプロセッサから解放すること
ができる。
【図面の簡単な説明】
【図1】本発明の通信制御装置の構成を示すブロック
図。
【図2】本発明の適用対象となるネットワークシステム
の構成を示す図。
【図3】プロトコル階層を示す図。
【図4】通信制御装置間で送受信される通信フレームの
フォーマットを示す図。
【図5】プロトコルヘッダのフォーマットを示す図。
【図6】トランスポートプロトコルの通信シーケンスを
示す図。
【図7】DMACの構成を示すブロック図。
【図8】DMACの動作を示すフローチャート。
【図9】ヘッダ予測回路の構成を示すブロック図。
【図10】予測ヘッダメモリに形成されるテーブルの構
造を示す図。
【図11】ヘッダ予測回路の動作を示すフローチャー
ト。
【図12】予測ヘッダと受信ヘッダの比較順序を示す
図。
【図13】データ受信時における通信制御装置の処理動
作を示すフローチャート。
【図14】データ受信時における通信制御装置の動作を
説明するためのタイムチャート。
【図15】タイマ回路の構成を示すブロック図。
【図16】タイマ回路の動作を示す状態遷移図。
【図17】マイクロプロセッサが実行するタイマ処理に
関するプログラムチャート。
【図18】タイマ回路の動作を示すフローチャート。
【符号の説明】
1…計算機、2…通信制御装置、3…ATM交換機、7
…ATM伝送路、10…マイクロプロセッサ、20…プ
ログラムメモリ、30…ローカルメモリ、40…バッフ
ァメモリ、44…ATMセル、45…ATMヘッダ、4
6…ペイロード、47…VPI、48…VCI、50…
プロトコル処理アクセラレータ、60…ATMコントロ
ーラ、70…計算機インタフェース回路、80…ローカ
ルバス、90…データバス、100…ヘッダ予測回路、
200…DMAC、300…タイマ回路、500…バッ
ファアクセス調停回路。
フロントページの続き (72)発明者 水谷 美加 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (72)発明者 高田 治 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 特開 平6−133001(JP,A) 特開 平5−347650(JP,A) 特開 平4−117839(JP,A) 特開 平2−238544(JP,A) 特開 平1−57701(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 29/06 G06F 13/00 353 H04L 12/28

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】計算機とネットワークとを接続し、前記計
    算機が前記ネットワークとの間で行う通信を制御する通
    信制御装置であって、 マイクロプロセッサと、ネットワークコントローラと、
    ヘッダ予測手段と、ローカルメモリと、バッファメモリ
    と、DMA転送手段と、を備え、 前記ネットワークコントローラは、前記ネットワークか
    らプロトコルヘッダデータを受信すると前記バッファメ
    モリに格納し、 前記DMA転送手段は、前記プロトコルヘッダデータを
    構成するワードデータを順次前記バッファメモリから前
    記ローカルメモリへ転送し、 前記ヘッダ予測手段は、予め複数の予測ヘッダを記憶し
    ており、前記DMA転送手段が前記ローカルメモリへ転
    送する前記ワードデータを順次取り込み、取り込んだ前
    記ワードデータと記憶している前記複数の予測ヘッダを
    構成するワードデータとの比較処理を行い、比較結果
    を、前記プロトコルヘッダデータを解析する前記マイク
    ロプロセッサに通知することを特徴とする通信制御装
    置。
  2. 【請求項2】請求項1に記載の通信制御装置であって、 前記ヘッダ予測手段は、記憶している複数の予測ヘッダ
    のいずれかが前記比較処理において一致した場合に、前
    記比較結果として、一致した予測ヘッダを示す番号と予
    測成功を通知し、前記複数の予測ヘッダのいずれとも一
    致しなかった場合に、前記比較結果として、予測失敗を
    通知し、 前記マイクロプロセッサは、前記比較結果が予測成功で
    あれば、前記ローカルメモリに転送された前記プロトコ
    ルヘッダの内、予測対象外の部分のヘッダを解析し、前
    記比較結果が予測失敗の場合には、前記プロトコルヘッ
    ダを逐次解析することを特徴とする通信制御装置。
  3. 【請求項3】請求項1または2に記載の通信制御装置で
    あって、 前記バッファメモリに対する前記DMA転送手段と前記
    ネットワークコントローラとからのアクセスを調停する
    ためのバッファアクセス調停手段を備えることを特徴と
    する通信制御装置。
  4. 【請求項4】請求項1ないし3いずれかに記載の通信制
    御装置であって、 複数のタイマエントリが定義されたタイマメモリと、前
    記複数のタイマエントリについてタイマカウント動作を
    行うタイマ手段とを備え、 前記タイマ手段は、タイムアウトが発生したいずれかの
    前記タイマエントリを前記マイクロプロセッサへ通知す
    ることを特徴とする通信制御装置。
JP27025493A 1993-10-28 1993-10-28 通信制御装置および通信制御用回路装置 Expired - Fee Related JP3358254B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP27025493A JP3358254B2 (ja) 1993-10-28 1993-10-28 通信制御装置および通信制御用回路装置
KR1019940027361A KR970007620B1 (ko) 1993-10-28 1994-10-26 계산기간 통신을 위한 통신제어장치 및 그것에 사용하는 집적회로
US08/331,106 US5678060A (en) 1993-10-28 1994-10-28 System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing successive analysis of protocol header until successful header retrieval

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27025493A JP3358254B2 (ja) 1993-10-28 1993-10-28 通信制御装置および通信制御用回路装置

Publications (2)

Publication Number Publication Date
JPH07123128A JPH07123128A (ja) 1995-05-12
JP3358254B2 true JP3358254B2 (ja) 2002-12-16

Family

ID=17483689

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27025493A Expired - Fee Related JP3358254B2 (ja) 1993-10-28 1993-10-28 通信制御装置および通信制御用回路装置

Country Status (3)

Country Link
US (1) US5678060A (ja)
JP (1) JP3358254B2 (ja)
KR (1) KR970007620B1 (ja)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10190733A (ja) 1996-12-25 1998-07-21 Hitachi Ltd Ipスイッチ、該ipスイッチに用いるインターフェース回路及びatmスイッチ、及びipスイッチネットワークシステム
US5826018A (en) * 1996-04-02 1998-10-20 Hewlett-Packard Company Method and appparatus for automatically determining the starting location and starting protocol of LAN data in a WAN link frame
JP3560423B2 (ja) * 1996-09-17 2004-09-02 松下電器産業株式会社 パケット送受信装置及びパケット受信装置
KR100223298B1 (ko) * 1997-02-12 1999-10-15 서평원 광대역 종합 정보 통신망의 터미널 정합 장치
US5943481A (en) * 1997-05-07 1999-08-24 Advanced Micro Devices, Inc. Computer communication network having a packet processor with subsystems that are variably configured for flexible protocol handling
US5872919A (en) * 1997-05-07 1999-02-16 Advanced Micro Devices, Inc. Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6591302B2 (en) 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7042898B2 (en) 1997-10-14 2006-05-09 Alacritech, Inc. Reducing delays associated with inserting a checksum into a network message
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6427171B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US6757746B2 (en) 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US7133940B2 (en) 1997-10-14 2006-11-07 Alacritech, Inc. Network interface device employing a DMA command queue
US8782199B2 (en) 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US7185266B2 (en) 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US7237036B2 (en) * 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US7089326B2 (en) * 1997-10-14 2006-08-08 Alacritech, Inc. Fast-path processing for receiving data on TCP connection offload devices
US6427173B1 (en) 1997-10-14 2002-07-30 Alacritech, Inc. Intelligent network interfaced device and system for accelerated communication
US6470415B1 (en) 1999-10-13 2002-10-22 Alacritech, Inc. Queue system involving SRAM head, SRAM tail and DRAM body
US7167927B2 (en) * 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6389479B1 (en) 1997-10-14 2002-05-14 Alacritech, Inc. Intelligent network interface device and system for accelerated communication
US7284070B2 (en) * 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6697868B2 (en) 2000-02-28 2004-02-24 Alacritech, Inc. Protocol processing stack for use with intelligent network interface device
US8539112B2 (en) 1997-10-14 2013-09-17 Alacritech, Inc. TCP/IP offload device
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
JPH11331890A (ja) * 1998-05-08 1999-11-30 Fujitsu Ltd 情報処理システム
US6765901B1 (en) * 1998-06-11 2004-07-20 Nvidia Corporation TCP/IP/PPP modem
US7664883B2 (en) 1998-08-28 2010-02-16 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6304553B1 (en) 1998-09-18 2001-10-16 Lsi Logic Corporation Method and apparatus for processing data packets
US7213061B1 (en) * 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6961777B1 (en) * 1999-08-06 2005-11-01 Shrikumar Hariharasubrahmanian Systems and methods for predicting fields in a data packet
WO2001013583A2 (en) 1999-08-16 2001-02-22 Iready Corporation Internet jack
AU2001249083A1 (en) * 2000-03-03 2001-09-17 Tenor Networks, Inc. High-speed data processing using internal processor memory space
US7624156B1 (en) 2000-05-23 2009-11-24 Intel Corporation Method and system for communication between memory regions
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US6720074B2 (en) * 2000-10-26 2004-04-13 Inframat Corporation Insulator coated magnetic nanoparticulate composites with reduced core loss and method of manufacture thereof
US7039717B2 (en) 2000-11-10 2006-05-02 Nvidia Corporation Internet modem streaming socket method
US7379475B2 (en) 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
JP4620880B2 (ja) * 2001-01-26 2011-01-26 富士通セミコンダクター株式会社 半導体装置、及びデータ転送方法
DE10115799B4 (de) * 2001-03-30 2005-05-04 Technische Universität München Lehrstuhl für integrierte Schaltungen Verfahren und Vorrichtung zum Verarbeiten von Datenblöcken
GB2394095A (en) * 2001-05-31 2004-04-14 Espeed Inc Securities trading system with multiple levels-of-interest
US20030121835A1 (en) * 2001-12-31 2003-07-03 Peter Quartararo Apparatus for and method of sieving biocompatible adsorbent beaded polymers
US7535913B2 (en) 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7496689B2 (en) 2002-04-22 2009-02-24 Alacritech, Inc. TCP/IP offload device
US7543087B2 (en) 2002-04-22 2009-06-02 Alacritech, Inc. Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device
US7089282B2 (en) * 2002-07-31 2006-08-08 International Business Machines Corporation Distributed protocol processing in a data processing system
US7337241B2 (en) 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7191241B2 (en) 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7602816B2 (en) * 2003-01-13 2009-10-13 Broadcom Corporation Systems and methods for serial packet synchronization in a voice processing system
US7346680B2 (en) * 2003-09-22 2008-03-18 Intel Corporation Speculative prefetch of a protocol control block from an external memory unit
US6996070B2 (en) * 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US7903555B2 (en) * 2003-12-17 2011-03-08 Intel Corporation Packet tracing
US8065439B1 (en) 2003-12-19 2011-11-22 Nvidia Corporation System and method for using metadata in the context of a transport offload engine
US8549170B2 (en) 2003-12-19 2013-10-01 Nvidia Corporation Retransmission system and method for a transport offload engine
US8176545B1 (en) 2003-12-19 2012-05-08 Nvidia Corporation Integrated policy checking system and method
US7899913B2 (en) 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US7260631B1 (en) 2003-12-19 2007-08-21 Nvidia Corporation System and method for receiving iSCSI protocol data units
US7624198B1 (en) 2003-12-19 2009-11-24 Nvidia Corporation Sequence tagging system and method for transport offload engine data lists
US7206872B2 (en) 2004-02-20 2007-04-17 Nvidia Corporation System and method for insertion of markers into a data stream
US7249306B2 (en) 2004-02-20 2007-07-24 Nvidia Corporation System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7698413B1 (en) 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US8248939B1 (en) 2004-10-08 2012-08-21 Alacritech, Inc. Transferring control of TCP connections between hierarchy of processing mechanisms
US7957379B2 (en) 2004-10-19 2011-06-07 Nvidia Corporation System and method for processing RX packets in high speed network applications using an RX FIFO buffer
US7436914B2 (en) * 2005-07-11 2008-10-14 Mediatek Incorporation Methods and apparatus for providing television signals
US7738500B1 (en) 2005-12-14 2010-06-15 Alacritech, Inc. TCP timestamp synchronization for network connections that are offloaded to network interface devices
JP5074872B2 (ja) 2007-09-25 2012-11-14 キヤノン株式会社 プロトコル処理装置及び制御方法
US8539513B1 (en) 2008-04-01 2013-09-17 Alacritech, Inc. Accelerating data transfer in a virtual computer system with tightly coupled TCP connections
US8341286B1 (en) 2008-07-31 2012-12-25 Alacritech, Inc. TCP offload send optimization
US9306793B1 (en) 2008-10-22 2016-04-05 Alacritech, Inc. TCP offload device that batches session layer headers to reduce interrupts as well as CPU copies
JP5175773B2 (ja) * 2009-02-27 2013-04-03 株式会社東芝 通信装置、方法及びプログラム
JP5350927B2 (ja) * 2009-07-29 2013-11-27 アルパイン株式会社 通信装置および通信チップからの受信データ取得方法
US9055004B2 (en) * 2012-09-18 2015-06-09 Cisco Technology, Inc. Scalable low latency multi-protocol networking device
JP7142462B2 (ja) * 2018-05-14 2022-09-27 キヤノン株式会社 通信装置、通信装置の制御方法、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4442502A (en) * 1981-03-30 1984-04-10 Datapoint Corporation Digital information switching system
US4430710A (en) * 1981-08-24 1984-02-07 Burroughs Corporation Subsystem controller
US4471427A (en) * 1981-12-01 1984-09-11 Burroughs Corporation Direct memory access logic system for a data transfer network
US4868738A (en) * 1985-08-15 1989-09-19 Lanier Business Products, Inc. Operating system independent virtual memory computer system
JP2986802B2 (ja) * 1989-03-13 1999-12-06 株式会社日立製作所 プロトコル高速処理方法
US5175825A (en) * 1990-02-02 1992-12-29 Auspex Systems, Inc. High speed, flexible source/destination data burst direct memory access controller
US5260942A (en) * 1992-03-06 1993-11-09 International Business Machines Corporation Method and apparatus for batching the receipt of data packets
US5452295A (en) * 1992-03-18 1995-09-19 Fujitsu Limited Call disconnection method and exchange executing the same in ATM network

Also Published As

Publication number Publication date
US5678060A (en) 1997-10-14
KR950013120A (ko) 1995-05-17
KR970007620B1 (ko) 1997-05-13
JPH07123128A (ja) 1995-05-12

Similar Documents

Publication Publication Date Title
JP3358254B2 (ja) 通信制御装置および通信制御用回路装置
EP1157518B1 (en) Method and apparatus for data re-assembly with a high performance network interface
EP1159813B1 (en) Method and apparatus for dynamic packet batching with a network interface
US6226267B1 (en) System and process for application-level flow connection of data processing networks
JP3832816B2 (ja) ネットワーク・プロセッサ、メモリ構成及び方法
US6430184B1 (en) System and process for GHIH-speed pattern matching for application-level switching of data packets
EP1159814B1 (en) Dynamic parsing in a high performance network interface
JP3872342B2 (ja) ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ
US5434976A (en) Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US7783769B2 (en) Accelerated TCP (Transport Control Protocol) stack processing
EP1166520B1 (en) Method and apparatus for managing a network flow in a high performance network interface
EP1157522B1 (en) Method and apparatus for load distribution depending on the communication flows
US4835674A (en) Computer network system for multiple processing elements
US6912604B1 (en) Host channel adapter having partitioned link layer services for an infiniband server system
JP3817477B2 (ja) Vlsiネットワーク・プロセッサ及び方法
JPH11134274A (ja) デバイス・ドライバ中の割込みオーバヘッドを低減させる機構
US20010025315A1 (en) Term addressable memory of an accelerator system and method
US4771286A (en) Lan controller having split bus design
JP2006020371A (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
EP1163777B1 (en) Method and apparatus for identifying and classifying network traffic in a high performance network interface
US6885673B1 (en) Queue pair wait state management in a host channel adapter
EP1239382A2 (en) Binary search engine and method
JP3291866B2 (ja) データ受信方式及び通信制御装置
US7085869B1 (en) Arrangement for managing transmitted packets requiring acknowledgement in a host channel adapter
JPH06295289A (ja) 複数計算機におけるブート方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071011

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081011

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081011

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091011

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees