JP4807861B2 - サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ - Google Patents

サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ Download PDF

Info

Publication number
JP4807861B2
JP4807861B2 JP2008503471A JP2008503471A JP4807861B2 JP 4807861 B2 JP4807861 B2 JP 4807861B2 JP 2008503471 A JP2008503471 A JP 2008503471A JP 2008503471 A JP2008503471 A JP 2008503471A JP 4807861 B2 JP4807861 B2 JP 4807861B2
Authority
JP
Japan
Prior art keywords
layer
packet
processor
ethernet
ethernet 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.)
Expired - Fee Related
Application number
JP2008503471A
Other languages
English (en)
Other versions
JP2008535343A5 (ja
JP2008535343A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008535343A publication Critical patent/JP2008535343A/ja
Publication of JP2008535343A5 publication Critical patent/JP2008535343A5/ja
Application granted granted Critical
Publication of JP4807861B2 publication Critical patent/JP4807861B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • 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/12Protocol engines
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、一般的にはサーバ環境に関し、特にその様な環境において利用されるアダプタに関する。
関連出願との相互参照
本出願は下記の同時係属中の米国特許出願と関連している。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“数個のイーサネット・ポートと、簡易化されたフレーム・バイ・フレーム上部構造により処理されるラップ伝送されるフローとに配慮するための方法及びシステム(Method and System for Accommodating Several Ethernet Ports and a Wrap Transmitted Flow Handled by a Simplified Frame−By−Frame Upper Structure)”と題された米国特許出願第 11/096363 号(代理人事件整理番号RPS920050060US1/3486P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ネットワーク接続テーブルを提供するための方法及び装置(Method and Apparatus for Providing a Network Connection Table)”と題された米国特許出願第 11/096571 号(代理人事件整理番号RPS920050061US1/3487P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“オペレーティング・システム・パーティションのためのネットワーク通信(Network Communications for Operating System Partitions)”と題された米国特許出願第 11/097051 号(代理人事件整理番号RPS920050062US1/3488P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット・アダプタのための設定可能なポート(Configurable Ports for a Host Ethernet Adapter)”と題された米国特許出願第 11/097652 号(代理人事件整理番号RPS920050073US1/3502P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット・アダプタ(HEA)においてチェックサムを構文解析し、フィルタリングし、計算するためのシステム及び方法(System and Method for Parsing, Filtering, and Computing the Checksum in a Host Ethernet Adapter (HEA))”と題された米国特許出願第 11/096365 号(代理人事件整理番号RPS920050074US1/3503P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット・アダプタ(HEA)において待ち時間を短縮する方法のためのシステム及び方法(System and Method for a Method for Reducing Latency in a Host Ethernet Adapter (HEA))”と題された米国特許出願第 11/096353 号(代理人事件整理番号RPS920050075US1/3504P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ネットワーク伝送のためのブラインド・チェックサム及び訂正のための方法及び装置(Method and Apparatus for Blind Checksum and Correction for Network Transmissions)”と題された米国特許出願第 11/097055 号(代理人事件整理番号RPS920050076US1/3505P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“パケット・ヘッダ・ルックアップを実行する方法及びシステム (Method and System for Performing a Packet Header Lookup)”と題された米国特許出願第 11/096362 号(代理人事件整理番号RPS920050082US1/3512P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット・アダプタ(HEA)においてブラインド・チェックサムを計算するシステム及び方法(System and Method for Computing a Blind Checksum in a Host Ethernet Adapter(HEA))”と題された米国特許出願第 11/097430 号(代理人事件整理番号RPS920050089US1/3516P)。
図1は、在来のサーバ・システム10を示す。サーバ・システム10は、メイン・メモリ14に接続されたプロセッサ12を含む。プロセッサ12は、そのプライベート・バス(GX)16を介して、ネットワーク・インターフェース・システム18を含むシステムに接続される。ネットワーク・インターフェース・システム18は、PCIバス22等を介してアダプタ20に接続されている。周知されているように、PCI22バスは、それを通って流れることのできるトラフィックの量に影響を及ぼす限られた帯域幅を有する。
インターネット及びそのアプリケーションは、サーバが満たさなければならないクライアントのリクエストの数を途方も無く増やした。各クライアントのリクエストは、ネットワークI/O及び記憶装置I/Oの両方を生じさせる。更に、10ギガビットのイーサネット及びIP記憶装置の出現はデータ・センタ通信を単一のバックボーン・インフラストラクチャ:イーサネット、TCP/IP、に整理統合することを可能にする。
しかし、10ギガビットの速度でのTCP/IPは、主流サーバにおいて膨大な処理及びメモリ帯域幅を消費し、従ってアプリケーションを動作させるサーバの能力を厳しく制限する。
今日のサーバのネットワーク・インターフェース・コントローラ(NIC)においては、TCP及びIPチェックサム、ラージ・センド(Large Send)(又はTCPセグメンテーション・オフロード)のような機能の限られたオフローディングがサポートされる。しかし、これらの機能は1Gまでは充分であるが、10G以上のようなより大きな速度については問題を解決しない。
TCP/IPプロトコル・スタック全体をサーバから完全にオフロードするためにTCPオフロード・エンジンを用いることが知られている。しかし、TOEのインプリメンテーションは、一般に、ハードウェアで、或いは割合に複雑なピコ・プロセッサ・アーキテクチャにおいてはピココードで、実現される。デバッグ、問題判別及びスタック・メンテナビリティ問題もある。更に、ピコエンジンはメイン・プロセッサ・ロードマップに従わないのでピココードを用いるときにはスカビリティ(scability)問題がある。最後に、オフロード・エンジンは、通例、新しいプロトコルとAPIとを導入し、従ってアプリケーション及び相互接続性問題における変化を必要とする。
従って、必要とされるのは、上で特定された問題を克服する、イーサネット環境で大帯域幅データを考慮するシステム及び方法である。本発明は、このような必要に対処する。
イーサネット・アダプタが開示される。このイーサネット・アダプタは、このアダプタがプロセッサからパケットを受け取り、またプロセッサにパケットを送ることを可能にする複数の層を含む。この複数の層は、プロセッサの分割を考慮する多重分離メカニズムを含む。
ホスト・イーサネット・アダプタ(HEA)は、イーサネット及びTCP高速化への新しいアプローチを提供する統合イーサネット・アダプタである。TCP/IP高速化特徴のセットがツールキット・アプローチに導入されており、サーバTCP/IPスタックは、必要とされるときに必要に応じてこれらのアクセラレータを使用する。サーバとネットワーク・インターフェース・コントローラとの間のインターフェースは、PCIバスを回避することによって合理化されている。
HEAは、ネットワーク仮想化をサポートする。HEAは、その性能に影響を及ぼすこと無く必須の絶縁及び保護を提供する複数のOSにより共有され得る。
発明は一般的にサーバ環境に、特にその様な環境で利用されるアダプタに関連する。以下の記述は、当業者が本発明を製造し使用することを可能にするために、特許出願及びその要件という関係において提示されている。本明細書に記載されている好ましい実施態様及び一般的原理及び特徴に対する種々の改変が当業者にとっては自明であろう。従って、本発明は、示されている実施態様に限定されるように意図されてはおらず、本明細書に記載されている原理及び特徴と矛盾しない最も広い範囲を与えられるべきである。
図2は、本発明によるサーバ・システム100のブロック図である。サーバ・システム100は、メモリ104とインターフェース・アダプタ・チップ106との間に接続されたプロセッサ102を含む。インターフェース・アダプタ・チップ106は、プロセッサ102のプライベート(Gx)バスとのインターフェース108と、ホスト・イーサネット・アダプタ(HEA)110とを含む。HEA110は、プロセッサ102から信号を受信し、またプロセッサ102に信号を送信する。
HEA110は統合イーサネット・アダプタである。サーバ内において、アクセラレータ特徴のセットがTCP/IPスタックに設けられている。プロセッサ102とインターフェース・アダプタ・チップ106との間のインターフェース100は、PCIバスを回避することによって合理化されて、多重分離及びマルチキューイング及びパケット・ヘッダ分離を可能にするインターフェース技術を提供している。
HEA110は、GX+バスに直接接続され、従って非常に大きな帯域幅(866Mhzで55.42Gbps)を持っていて2つの10Gbpsポートの全40Gbps帯域幅を実際にサポートすることにより、無比の性能レベルを達成する。64ビットPCI−X133MHzバスは8.51Mbpsに限定されており、2つの10Gbpsポートのスループットと調和するように少なくともPCI Express x8バスが要求されるということに注意しなければならない。GXバス上に存在することは、中間の論理を除去するので、転送待ち時間を改善する。
そのとき、レガシー・サーバ環境との両立性に配慮しながら高速システムでの改善された機能性に配慮するイーサネット・アダプタが設けられる。この改善された機能性の重要な特徴のうちの幾つかが以下に記載される。
高速化機能
HEA110は、高度な高速化特徴をサポートする。1つの重要な所見は、現在の高速化機能は送信側(すなわち、プロセッサからパケットを送信する)では充分に働くが受信側(すなわちアダプタを通してパケットを受信する)では充分ではないということである。HEA110は、パケット多重分離及びマルチキューイング、及びヘッダ分離のような新しい特徴を導入することによってこのギャップに対処する。
HEA110の新しい特徴の全てはオプションであり、必要なときにそれらを利用することはTCP/IPスタック次第である。例えば、TCP/IPスタックは、HEA110を使用し、またスループット、短待ち時間及び仮想化サポートのようなHEAの他の特徴を利用することができる。
パケット多重分離及びマルチキューイング
マルチキューイング及び多重分離は、仮想化、パー・コネクション・キューイング、及びOSバイパスのような機能をサポートする重要な特徴である。HEA多重分離は、キュー・ペア、完了キュー及びイベント・キューというコンセプトを用いる。OSプロトコル・スタック要件及び短パケット待ち時間短縮により良く対処するために拡張機能が付け加えられている。
システム要件及び構成に依存して、HEAは、入ってくるパケットを、
− 宛先MACアドレス(通例、1つのMACアドレスと、パーティションあたりに1つのデフォルト・キューと)、
− 確立された接続についての接続識別子(プロトコル、ソースIPアドレス、宛先IPアドレス、ソース・ポート、宛先ポート)、
− 宛先ポート及びオプションでTCP接続セットアップ・パケット(SYN)についての宛先IPアドレス、
に基づいて多重分離することができる。
パケット・ヘッダ分離
HEA110は、TCP/IPヘッダをデータ・ペイロードから分離することができる。この特徴は、アプリケーションにより掲示された受信バッファを汚さずに処理されるようにヘッダをプロトコル・スタックに向けることを可能にする。
拡張された特徴
サーバ環境においてHEA110により多くの拡張された特徴が提供される。それらの特徴のうちの幾つかが以下に列挙される。
1. 複数の受信キュー。キュー・ペアのコンセプトが、ペアあたりに2つ以上の受信キューをサポートするように拡張される。これは、スタックがそのバッファ・プール・メモリをより良く管理することを可能にする。例えば、1つのキューを小さなパケットに、1つを中型のパケットに、そして1つを大きなパケットに割り当てることができる。HEA110は、受信されたパケットのサイズに応じて、そのためのキューを選択する。
2. 短待ち時間キュー。送信側においてディスクリプタ(WQE)は即値データを含むことができ、その様な場合にはデータを送信するためにインダイレクションすなわちシステム・メモリからの付加的なDMAは不要である。受信側において、短待ち時間キューはバッファを供給せずに、即値パケット・データを受信する。HEA110は受信キューに直接書き込む。短いパケットはこの特徴を利用し、DMA動作の劇的減少という結果をもたらす。すなわち、パケットあたりに1つのDMAリード及び1つのDMAライトに対してパケットあたりに唯一のDMAライト。
受信短待ち時間キューは、パケット・ヘッダ分離をサポートするためにも使用される。ヘッダは短待ち時間キューに書き込まれ、ペイロードはその場合の受信キューにおいて示されているバッファにDMAされる。
要約すると、多重分離及びマルチキューイング、及びパケット・ヘッダ分離は、仮想化の基本的構成要素であり、短待ち時間操作を提供する。更に、これらの特徴が在来のOSプロトコル・スタック性能を改善するためにも使用され得ることに留意するべきであり、例えばパー・コネクション・キューイングは、コードの除去に配慮しており、そしてもっと重要なことに、メモリ内の適切な情報の位置を突き止めるために消費されるメモリ・アクセスと、関連した機能停止/キャッシュ汚染とを減少させる。
HEA110の特徴をより詳しく記述するために、以下の記述を添付図面と関連させて参照されたい。
図3は、本発明によるHEA110の略ブロック図である。見たとおりに、HEA110は3層アーキテクチャを有する。第1層は、イーサネット・ネットワーク上の他の装置からの及びそれらの装置への複数のインターフェースを提供する媒体アクセス・コントローラ(MAC)及び並直列変換回路(Serdes)層202を含む。層202において、複数のインターフェースを提供するために同じチップI/Oが使用される。例えば、好ましい実施態様では、10ギガビット・インターフェース又は1ギガビット・インターフェースを提供するために同じチップI/Oが利用される。
第2層は、パケット高速化及び仮想化層204を含む。層204は、パケットを受信して、仮想化を可能にするためにパケットのフローを多重分離することに配慮している。層204は、パケットに基づくサーバのオペレーティング・システムの仮想化又は分割を可能にする。層204は、ゼロ・コピー操作を可能にし、従って改善された待ち時間を提供するためにパケット・ヘッダ分離も提供する。また、層204はホスト・インターフェース層206を通してプライベート・バス(Gx)と直接相互に作用するので、短待ち時間、大帯域幅接続が提供される。
第3層はホスト・インターフェース層206を含む。ホスト・インターフェース層206は、プロセッサのGx又はプライベート・バスへのインターフェースを提供し、層204と通信する。層206は、TCPスタックのために効率的バッファ管理を可能にするためにキュー・ペア(QP)あたりに複数の受信サブ・キューに配慮している。ホスト層206は、データ・パケットの所与のフローのためにコンテクスト管理を提供する。
HEA100の層202,204及び206の各々の特徴をより詳しく記述するために、以下の検討を添付図面と関連させて参照されたい。
MAC及びSerdes層202
図4は、MAC及びSerdes層202をより詳しく示すHEA110のブロック図である。見たとおりに、この実施態様には1つの10ギガビットMAC302と4つの1ギガビットMAC304a及び304bとがある。MAC302,304及び304bは、受信されたパケットを整列させて符号化するためのアナログ符号化ユニット308a、308b及び308cを含む。MAC302,304a及び304bは高速並直列変換回路(HSS)306に接続されている。高速Serdes306は、1つの10ギガビット・ソース又は4つの1ギガビット・ソースからデータを受信することができる。
受信イーサネット機能(RxNet)概観
このセクションは、層202内の受信イーサネット機能の高レベル構造及びフローを示す。以下でより詳しく説明されるRxアクセラレータ・ユニット400は、パケット高速化及び仮想化層204の一部である。
図5は、RxNetの1つについてコンポーネント及びデータフローを示す。データは、インターフェース302に到着して、この実施態様ではパケット・データを64ビット(10G)又は32ビット(1G)のパラレル・データ・バスにおいてアセンブルし整列させ高速Serdes304と、アナログ符号化ユニット308a及び308bと、MACとによって処理される。フレームの開始及び終了及び他のパケット情報を示す制御信号も生成される。データ及び制御は、層206(図2)の受信パケット・プロセッサ(RPP)による処理に備えて構文解析、フィルタリング、チェックサム及びルックアップ機能を実行するRxAccelユニット400を通過する。この実施態様では、RxAccelユニット400に入るとクロックは4.6nsクロックに変換され、データ幅は128bに変換される。
データがRxAccelユニット400を通ってホスト層206内のデータ・バッファに流れるとき、RxAccelユニット400は制御及びデータを調査してその処理を開始する。RxAccelユニット400の結果がパケットの末端と同期化されるようにデータ・フローはRxAccelユニット400内で遅延させられる。このとき、RxAccelユニット400の結果は、MAC302からの何らかのオリジナル制御情報と共にコマンド・キューに渡される。この制御情報は、データと共にバッファに格納される。
RxAccelユニット400は、ルックアップ・エントリがキャッシングされていなければ、GXバス・インターフェースを通してメイン・メモリに行かなければならないかもしれない。GXバスは4.6nsで動作する。ホスト層206は、RxAccelユニット400からのキュー・ペア解像度(queue pair resolution)情報を非同期的に読むことができる。
送信イーサネット機能(TxEnet)概観
このセクションは、イーサネット及び高速化機能の送信構造及びフローの概観を提供する。以下でより詳しく説明されるTxアクセラレータ・ユニット500は、パケット高速化及び仮想化層204の一部である。
図6は、1つのTxEnetについてのコンポーネント及びデータフローを示す。パケット・データ及び制御はHEA110のTxAccel500コンポーネントから到着する。Txアクセラレータ(TxAccel)ユニット500は、制御情報を解釈して、ユニット500を通って流れるパケットのヘッダのフィールドを改変する。それは、制御情報又はパケット・ヘッダにおいて見出された情報に基づいてラップ対ポート決定(wrap versus port decision)を行う。それは、また、TxMAC302及び304のための適切な制御を生成する。TxAccelユニット500がパケット・ヘッダを、MAC302及び304へ流れる前に、更新できるように、データ・フローはTxAccelユニット500において遅延させられる。出口で、データ幅は128ビットから64ビット(10G)又は32ビット(1G)に変換される。データ及び制御は、MAC302及び304の異なるクロック・ドメインに入るためにTxAccelユニット500のクロック変換機能を通過する。MAC302及び304、アナログ変換器508a及び508b、及び高速Serdes306は、イーサネット・インターフェースのためにパケットをフォーマットする。
パケット高速化及び仮想化層204
図7は、パケット高速化及び仮想化層204をより詳しく示すHEA110のブロック図である。HEA層204は、前記の受信(RxAccel)高速化ユニット400と送信高速化(TxAccel)ユニット500とを含む。RxAccelユニット400は、受信バックボーン(RBB)402と、パーサ・フィルタ・チェックサム・ユニット(PFC)404と、ルックアップ・エンジン(LUE)406と、MIBデータベース408とを含む。TxAccelユニット500は、送信バックボーン502と、ルックアップ・チェック504と、MIBエンジン506とを含む。Rx高速化ユニット400及びTx高速化ユニット500の動作が以下で詳しく説明される。
受信高速化(RxAccel)ユニット400
このセクションはRxAccelユニット400の高レベル構造を説明する。図8は、RxAccelユニット400の詳細図である。RxAccelユニット400は、受信バックボーン(RBB)402と、パーサ、フィルタ及びチェックサム・ユニット(PFC)404と、ローカル・ルックアップ・ユニット(LLU)406と、リモート・ルックアップ・ユニット(RLU)408と、MIBデータベース410とを含む。
データは、受信MACからRxAccelユニット400を通って変更されずに流れる。RBB402はデータのフローを管理し、クロック及びデータ・バス幅変換機能を担う。受信MACから受信された制御及びデータは、高速化機能を実行し廃棄決定を行うためにPFC404により使用される。PFC404は、RBB402のためにキュー・ペア番号(QPN)を解明するためにフレームから抽出された5タプル・キーを含む制御及びデータをLLU406に渡す。LLU406は、QPNを直ちに見出すか、又はスロットを確保するためにキャッシュ・エントリを割り当てる。もし現在のキーがキャッシュ内に無ければ、LLU406はメイン・メモリにおいてキーを捜す。PFC404は、パケット統計を格納するためにMIBデータベース410へインターフェースする。
Tx高速化500
このセクションは、送信高速化ユニット500(TxAccel)の高レベル構造とフローを説明する。
図9は、TxAccelユニット500が2つの送信バックボーン(XBB)502a及び502b、2つの送信チェックサム・ユニット(XCS)504a及び504b、2つの送信MIB506a及び506b、1つのラップ・ユニット(WRP)508、及び1つのポーズ・ユニット(PAU)論理510から構成されていることを示す。データは,ENopからTxAccelを通って流れて、IP及びTCPチェックサム・フィールドを調整するために改変される。XBB502a及び502bは、データのフローを管理し、クロック及びデータ・バス幅変換機能を担う。ENopから受信された制御及びデータは、チェックサム機能を実行するためにXCS504a及び504bにより使用される。パケットがMAC層202によって送信(又は廃棄)された後、送信ステータスはアカウンティングのためにTxAccelに戻る。XBB502は、情報をTxAccelユニット500のクロック・ドメインに変換する。ステータス情報は、XCS504によりパケットから得られたオリジナル情報と合併されてMIBカウンタ論理506a及び506bに渡される。MIB論理506a及び506bは、MIBアレイ内の適切なカウンタを更新する。ラップ・ユニット(WRP)508は、XCS504a及び504bがラッピングするように決定したパケットを受信側に転送する役割を担う。ポーズ・ユニット(PAU)510は、受信バッファの占有率に基づいてポーズ・フレームを送信するようにMACに命令する。
ホスト・インターフェース層206
図10は、ホスト・インターフェース層206をより詳しく示すHEA110のブロック図である。ホスト・インターフェース層206は、層204からパケットを受信するための入力バッファ602とパケットを層204に提供するための出力バッファ604とを含む。層206は、入力バッファ内のパケットを適切に処理するための受信パケット・プロセッサ(RPP)606を含む。コンテクスト管理メカニズム908は、TCPスタックのための有効なバッファ管理を可能にするために、前のキューあたりに複数のサブ・キューを提供する。
多重分離機能
ホスト・インターフェース層206のコンポーネントと関連する層204のRxユニット400は、パケットがプロセッサの適切な部分に提供されることを確実にするためにパケットを多重分離する。従って、受信されたパケットは、それらがサーバの適切な部分へ流れることを確実にするために、多重分離されなければならない。
この多重分離機能の詳細を説明するために、図8及び9と関連させて下記を参照されたい。
HEAアダプタにおける多重分離インプリメンテーション
受信パケット・プロセッサ(RPP)606が受信されたパケットに対して作用し得るようになる前に、キュー・ペア・コンテクストが検索されなければならない。QP接続マネージャは、QP番号を用いてこれを実行する。QP番号はTCP/IPパケットで運ばれないので、該番号は他の手段で判定されなければならない。2つの一般的種類のQP、すなわちパー・コネクションQP及びデフォルトQP、がある。
パー・コネクション・キュー・ペア(QP)
パー・コネクションQPは、IPパケットのフラグメンテーションが予期されなくて短待ち時間が予期される長命の接続のために使用されるように意図されている。それは、HEA110により提供されるユーザ・スペーシング・キューイング・メカニズムをアプリケーションがサポートすることを必要とする。この実施態様では、宛先MACアドレスを用いて初めに論理ポートが見出されなければならない。パー・コネクションQPのために3つのタイプのルックアップが存在する。
1. 特定の宛先IPアドレス及び宛先TCPポートのための新しいTCP接続。もしパケットがTCP SYNパケットであったならば、TCP/IP(DA,DP、論理ポート)に基づいてルックアップが実行される。
2. 特定の宛先TCPポートだけのための新しいTCP接続(DAを無視する)。もしパケットがTCP SYNパケットであったならば、TCP/IP(DP、論理ポート)に基づいてルックアップが実行される。
3. 現存するTCP/UDP接続。もしパケットが断片化されていないユニキャストTCP又はUDPパケットであったならば、TCP/IP5タプル及び論理ポートに基づいてルックアップが実行される。
デフォルト・キュー・ペア
パケットについてパー・コネクションQPを見出し得ないか、又はMACアドレスについてパー・コネクション・ルックアップが可能にされないか、又はパケットが再循環させられたマルチキャスト/ブロードキャスト・パケットであれば、デフォルトQPが使用される。一般にデフォルトQPはカーネル・ネットワーキング・スタックによって処理される。これらのタイプのデフォルトQPがHEA110に存在する。
1. 論理ポートあたりのデフォルトOSキュー。論理ポートは、それ自身のデフォルト・キューを有する論理イーサネット・インターフェースに対応する。各論理ポートは論理スイッチ上に別のポートを有する。
MACアドレスに基づいてルックアップが実行される。
デフォルトOSキューへのダイレクト索引(論理ポート番号)に、再循環させられた(ラッピングされた)マルチキャスト/ブロードキャスト・パケットが供給される。
2. マルチキャスト(MC)又はブロードキャスト(BC)キュー。
パケットがMACルックアップ・テーブル内のMACアドレスのうちの1つと一致しないマルチキャスト又はブロードキャスト・パケットである場合の、設定された値。
3. スーパー・デフォルト・ユニキャスト(UC)キュー。
UCパケットが設定されたMACアドレスのうちの1つと一致しなければ、デフォルトUC QPNが使用され得る。
このメカニズムは、接続ごとのキューイングと論理ポートごとのキューイング(OSキュー)という両極端の間の柔軟性に配慮している。両方のモデルが、それ自身のキューイングを有する幾つかの接続、及びデフォルト論理ポート・キューで待ち合わせさせられる幾つかの接続と共に働くことができる。
接続ルックアップはRxAccelユニット400によって実行される。1つのその様なユニットが各ポート・グループのために存在する。RxAccelユニット400内で、各コンポーネントはプロセスの一部分を実行する。PFC404は、パケット・ヘッダから必要とされるフィールドを抽出し、宛先MACアドレスに基づいて論理ポート番号を判定する。ローカル・ルックアップ・ユニット(LLU)406とリモート・ルックアップ・ユニット(RLU)408とは、QP番号を解明する責任を有する。LLU406は、ローカル・リソースだけ(キャッシュ及びレジスタ)を用いてQPNを見出そうと試みる。
LLU406の目的は、受信されたパケットに関連付けられているQP番号を判定しようと試みることである。QP番号は、VLIM及びRPP606により必要とされる。それは、可能ならばこのタスクをローカルに(すなわち、システム・メモリに行かずに)実行する。
QP番号は、数個の方法、すなわち
− TSキャッシュにおけるルックアップ
− デフォルト・パーティションQP
− デフォルトUC QP
のうちの1つでローカルに見出され得る。
もし一致がローカルに見出されなければ、エントリがシステム・メモリ内に現在あるか否か調べるために予備チェックが行われる。もしあるならば、検索を実行するためにRLU408が呼び出される。もしRLU408が使用中ならば、リクエストのキューを形成することができ、それはRLU408に、それが自由になると、提供される。
LLU406は、一時的キューイングに用いるQP番号又はキュー・インデックス或いはその両方を提供するRBB402と通信する。もし適格なエントリがキャッシュにおいて利用できなければ、LLU406はRBB402に検索がビジーであることを示す。この場合にはそのパケットは落とされなければならない。
キュー・インデックス解明が要求されて解明されたときにLLU406はQPNをホスト層406に提供する。RLU408は、システム・メモリ・テーブルを用いてQPNを見出そうと試みる。
LLU406は、TCP/UDPパケットのためのQPNを見出すためにローカル64エントリ・キャッシュを利用する。もしそのエントリが該キャッシュにおいて見出されたならば、RLU408は呼び出されなくてもよい。もしそのエントリが該キャッシュにおいて見出されなければ、そのエントリが接続テーブル内にあるか否か調べるために予備チェックが該キャッシュにおいて行われる。該キャッシュは、数個の設定されたキューがあるときにメイン・メモリへの不要なアクセスを無くするのに役立つ。
もしRLU408が呼び出されたならば、それは、メモリ???から128バイトのダイレクト・テーブル(DT)エントリを取り出すために6タプル(論理ポート番号を含む)のハッシュを使用する。このDTエントリは8個に及ぶ6タプル・パターンと関連するQPNとを含む。もし一致が見出されれば、それ以上の動作は不要である。
RLU408が呼び出されなければならないときには、パケットが入力バッファに入れられるときにQPNを急いで判定することはできない。実際には、QPNは数パケット後に判定され得る。この理由から、RxAccelユニット400は、パケット・キューイングのためにQPN又はキュー・インデックスをホスト層206に提供することができる。QPNが提供されるのであれば、ホスト層206(アンローダ)は、RPPにより処理されるようにパケットを直接キューに入れることができる。キュー・インデックスが提供されるのであれば、ホスト層206は、QPNの解明を待つためにこのパケットを保持しなければならない。QPNは、常に、RPPがディスパッチされる時までに判定される。
仮想化
高速データ経路は複数のパーティションにより共有されそうであり、また高速イーサネット処理能力がサーバにおいては重要なので、HEAが
− 複数のパーティションによるアダプタ・シェアリングを提供し、
− ネイティブの処理能力、すなわち、“専用アダプタの場合のように(as with a dedicated adapter)”、を考慮に入れ、
− ネイティブの価値付加特徴、すなわち、“専用アダプタの場合のように”(ラージ・センド、パー・コネクション・キューイング、・・・)を考慮に入れ、
− パーティション間の分離を考慮に入れ、
− パーティション接続性を提供する
ことが非常に重要である。
パーティションは、トランスペアレントに、すなわちそれらが同じ物理的サーバに配置されているか、それとも本物のイーサネットによって接続された別々の物理的サーバに配置されているかにかかわらず同じように、通信することができなければならない。
今日、イーサネット仮想化は、アダプタを持っているサーバ・パーティションにおけるスイッチング又はルーティングによってサポートされ、この余分のホップは性能ボトルネック(データ・コピー、3ドライブ・ドライバ、・・・)を生じさせる。HEA110は、使用パーティションとアダプタとの間の直接データ及び制御経路(余分のホップではない)を提供するように設計される。換言すれば、HEAは、各パーティションに、それ自身の“仮想”アダプタ及び“論理”ポートを供給する。HCAの場合のように、全てのHEAリソース及び機能はパーティションごとに割り当て/イネーブルされ得、パーティション相互の保護及び分離を提供するために正確に同じメカニズムが使用される。
データ経路
データ経路に関して、図11に示されているように、HEA110は、マルチキャスト処理及びパーティション910a−910c間通信を提供するために、物理的ポート902及び904ごとに論理層2スイッチ906及び908を提供する。HEA内でのこのサポートの実現は、全体としてのシステムのソリューションを簡単に保ち(特に、ソフトウェアについての透明性)、高性能を提供する。パーティション間の通信のために全てのHEAハードウェア高速化及び保護が利用可能である。
上記のフローをサポートするために、考えやすい方法は、所与の物理的ポートに関連付けられた全ての論理ポートとその物理的ポート自体とが取り付けられている論理層2スイッチ902及び904を想像することである。問題は、この論理スイッチをどのようにしてどこに実現するかであり、選択肢は、ファームウェア/ソフトウェアにおける完全なエミュレーションからHEAハードウェアにおける完全なインプリメンテーションまでにわたる。物理的ポートごとに1つの論理層2スイッチがあり、これらの論理スイッチは互いに接続されない。
システム構成
レガシーOS TCP/IPスタックを伴う仮想化されたHEA
図12は、レガシーOS TCP/IPスタック1102,1104及び1106と共に使用されるHEAを示す。
− アプリケーション1108a−1108cは変化していない
− TCP/IPスタック1102,1104及び1106は変化していない
− HEA110をサポートするデバイス・ドライバ1107a,1107b及び1107cが必要とされる。
TCP/IPスタック(OS)は、TCP接続ごとの短パケット(単数又は複数)多重分離のための短待ち時間キューのような特徴を利用するためにオプションで拡張され得る。見たとおり、パケットの多重分離はMACアドレスとパーティションごとのQPNとに基づいて実行される。
レガシーOSスタック及びユーザ・スペースTCP/IPを伴う仮想化されたHEA
図13は、幾つかのパーティションがユーザ・スペースTCPスタック1220及びレガシーOSスタック108a及び1208bをサポートするシステムにおいて使用されたHEA110を示す。
− ユーザ・スペースTCPをサポートするアプリケーションはソケット拡張APIを使用するように要求され得る
− 他のパーティションは通常のOS TCP/IPスタックを使用することができる
− ユーザ・スペースTCP(User Space TCP)をサポートするパーティション内の或るアプリケーションも通常のTCP/IPスタックを使用することができる(デフォルト経路)。ユーザ・スペースTCP1220は、カスタマー識別(Cid)情報とカスタマーのためのQPNとに基づいてHEAにより多重分離される。
論理スイッチは、アダプタにおいて完全にサポートされる。HEAハードウェアの複雑さを最小にするために、HEAは、マルチキャスト/ブロードキャスト・パケット複製のためにソフトウェア・エンティティー、すなわちマルチキャスト・マネージャ、に依拠する。HEAは、パケット・コピーを宛先パーティションに渡すためにマルチキャスト・マネージャにアシストを提供する。
外部ユニキャスト・トラフィック
送信ユニキャスト・トラフィックは、パーティションに割り当てられたQPを通して処理される。それは接続ごとの専用キュー・ペア又は論理ポートごとの単一キュー・ペア或いはその両方であり得る。送信キューの間での公平なスケジューリングがHEAにより提供される。システム構成に依存して、QPアクセスはアプリケーション(ユーザ・スペース)に又はOSスタック(特権)にだけ与えられ得る。
受信されたユニキャスト・トラフィックは次のように多重分離される。
− 宛先論理ポートを見出すために宛先MACアドレスでルックアップが行われる
− もし宛先論理ポートのためにパー・コネクション・キューイングが可能にされるならば、その接続に関連するQPを見出すために接続IDで第2ルックアップが行われる
− もしパー・コネクション・キューイングが可能にされないか、又は接続QPが特定の接続のためにセットアップされていなければ、入ってくるメッセージは、宛先論理ポートに関連する“デフォルト”QPにキューイングされる。
パーティション間ユニキャスト・トラフィック
図14は、サポートされるパー・コネクション・キューイングを含む全てのHEA高速化特徴を示すブロック図である。完全な透明性がパーティションのデバイス・ドライバに提供される。
パーティション・スタックは、パケットを送信するためにパー・コネクションQP又はデフォルトQPを使用する。パケットがHEA送信側によって処理されるとき、HEAは、宛先MACアドレスが同じ物理的ポート上に定義された論理ポートに関連するMACアドレスであることを検出する(換言すれば、宛先MACアドレスは、送信論理リンクとは同じ層2論理スイッチに属する受信論理リンクを識別する)。従って、HEAはパケットをラップする。HEA受信側は、パケットを、あたかもそれが物理的リンクから受信されたかのように処理し、従ってまさに同じ高速化特徴が使用される。
IPの場合には、IPスタックは、同じIPサブネット上に位置する宛先パーティションの宛先MACアドレスを発見するために通常のメカニズムを使用することができる。このパーティションは同じサーバ上に配置されてもされなくても良く、これはスタック及びデバイス・ドライバの両方のためにトランスペアレントである。
外部及びパーティション間マルチキャスト/ブロードキャスト・トラフィック
HEAは、関係のあるパーティションにマルチキャスト・パケット及びブロードキャスト・パケットを複製するための備えを持っていない。代わりに、それは、受信した全てのMC/BCパケットを、マルチキャスト・マネージャ機能により所有されるQPに転送する。この機能は、必要に応じてパケットを複製し、HEAトランスポート能力を使用してコピーを関係のあるパーティションに配布する。
受信
図15は、インバウンド・マルチキャスト送信を示す。受信されたマルチキャスト・パケット及びブロードキャスト・パケットは初めにHEAフィルタリング機能を通る。もし廃棄されなければ、パケットは、マルチキャスト・マネージャ1500により所有されるQPに向けられる。パケットはシステム・メモリに転送され、マルチキャスト・マネージャ1500は起動される。マルチキャスト・マネージャ1500は、どの論理ポートがパケットのコピーを受信するべきかを決定し(マルチキャスト・フィルタリング)、パケット複製を処理する。マルチキャスト・マネージャは、パケットを受信側パーティション1502a−1502cに再分配するためにHEA110機能を使用することができる。
そうするためにマルチキャスト・マネージャは、受信されたパケットを参照するn個の受け側−ディスクリプタ(WQE)をその送信キューにエンキューする。パケットはその受け側にそっくりそのまま送られなければならず、特にマルチキャスト宛先MACアドレスの代わりにその種々の受け側のユニキャスト・アドレスを用いることは容認できないということに注意しなければならない。従って、パケット・ディスクリプタは、HEAがパケットをその適切な宛先に向けることができるように情報を含んでいなければならない。この情報は、受け側のデフォルトQP又はその論理ポートID又はそのMACアドレスであり得る。パケットが送信されるべく選択されると、HEA送信側は、QP及びWQEの両方に含まれている情報のおかげで、パケットがラップを介して送られる必要があると判定する。データと共に、受け側QPを判定する情報がHEA受信側に転送される。HEA受信側は、パケットを受け側QPにエンキューするためにこの情報を使用する。
送信
図16は、アウトバウンド・マルチキャスト送信を示す。ブロードキャスト/マルチキャスト・パケットは、発信パーティションにより通常の手続きを用いて送信される。パケットがHEA送信側によって処理されるとき、HEAは、宛先MACアドレスがブロードキャスト又はマルチキャストされることを検出し、またWQEにおいて“フォースアウト(Force_Out)”オプションがセットされていないことを検出する。従って、HEAはパケットをラップする。HEA受信側は、パケットを上記のように処理する。マルチキャスト・マネージャは、下記の追加事項を伴って上記のようにパケットを処理する。
− それは、センダが受け側のリストから除去されることを確実にしなければならず、それはパケットのソースMACアドレスをフィルタとして用いて行う。
− パケット複製プロセス中にVLANフィルタリングが実行され得る。パケットはVLANの構成要素に送られるだけである。
− 内部複製が行われると、パケットは物理的ポートから送出されなければならない。それは、そのQPのフォースアウト機能をイネーブルしてWQEの“フォースアウト”ビットをセットすることによって、その様に行う。このビットがセットされるたとき、HEAは直ぐにパケットを物理的リンク上に送り出す。
マルチパーティション環境におけるマルチキャスト・フィルタリング
受信側において、HEAはマルチキャスト・フィルタリングを提供する。HEAは、他の“直ぐに入手可能な(off the shelf)”アダプタと同様に、宛先MACアドレスのハッシュ値と物理的ポートあたりに1つのフィルタリング・テーブルへのルックアップとに基づいてベスト・エフォート・フィルタリングを提供する。この機能の意図は、マルチキャスト・トラフィックを制限することであるが、“最終の”フィルタリングはスタックに任される。マルチ・パーティションの場合、関与する全てのパーティションからのフィルタリング要求はマルチキャスト・マネージャにより併合され、その後にHEAで設定されるべきである。
マルチキャスト・マネージャは、関係するパーティションへのパケット配布を処理するときにパーティションごとのマルチキャスト・フィルタリングを行うことができる。
パケット・ヘッダ分離
HEA110は、データ・ペイロードからTCP/IPヘッダを分離することができる。この特徴は、ゼロ・コピー操作を可能にし、従って待ち時間を改善する。
パケット・ヘッダ分離は、QPコンテクストで設定されたときHEA110により実行される。設定されたとき、イーサネット/IP/TCP又はイーサネット/IP/UDPヘッダは、パケットのボディから分離されて異なるメモリに置かれる。通常、TCP/IPスタックはヘッダを処理し、アプリケーションはボディを処理する。ハードウェアでの分離は、ユーザ・データをユーザ・バッファに整列させ、従ってコピーを回避することを可能にする。
層204内のPFC404(図8)は、ヘッダ全長(8ビット)をホスト・インターフェース206のRPP606(図10)に渡して、イーサネット、IP及びTCP/UDPヘッダのバイト数を示す。ヘッダ分割が行われないときにはヘッダ長さは0にセットされる。
QPは2つ以上の受信キュー(RQ)のために設定されなければならない。
パケットがTCP又はUDP(ヘッダ長さがゼロでない)ならば、RPP606はヘッダをRQ1 WQEの中に置く。RPP606は、その後、パケットのデータ部分のために適切なRQを選択する(RQ2又はRQ3)を選択する。RQ2又はRQ3 WQEのディスクリプタは、残りのデータを配置するために使用される。RPP606は、完全な情報でCQEが生成されるべきことを示す。ヘッダ分割フラグがセットされる。CQEのコリレータ(correlator)フィールドのコリレータが、使用されたRQ2又はRQ3 WQEからコピーされる。第1WQEに置かれたヘッダ・バイトの総数もCQEに置かれる。
もしヘッダがRQ1 WQE内の使用可能なスペースより大きければ、WQEはなるべく多くのデータで満たされ、CQEにおいてヘッダ長すぎフラグ(Header Too Long flag)がセットされる。ヘッダの残りの部分はデータと共にRQ2/RQ3 WQEに置かれる。
ヘッダ分割モードがALLにセットされてヘッダ分割が実行される(ヘッダ長さがゼロでない)時には、パケットのボディはRQ1 WQEには決して置かれない。QPは、オプションで、短いパケットを完全にRQ1 WQEの中に置くように設定され得る(ヘッダ分割モード=ML)。もしその様に設定されれば、パケット長さがRQ2スレショルドより小さければ、RQ1 WQEだけが使用され、ヘッダ分離は行われない。ボディがRQ1及びRQ2/RQ3に決して分割されないことに注意しなければならない。
もしパケットがIPフラグメントであるか又はTCPでもUDPでもなく(ヘッダ長さがゼロ)、またパケットが大きすぎてRQ1 WQEに入らなければ、パケット全体がRQ2又はRQ3 WQEを用いて配置される。ヘッダ総数はゼロにセットされる。ヘッダ分割フラグはオフである。(競争情報がRQ1 WQEに置かれないのであれば)RQ1 WQEは消費されない。
従ってHEA110はTCP/IPヘッダをデータ・ペイロードから分離することができる。この特徴は、アプリケーションにより掲示された受信バッファを汚さずに処理されるようにヘッダをプロトコル・スタックに向けることを可能にし、従って或るトランザクションのために待ち期間を短縮する。
概要
従って、本発明のホスト・イーサネット・アダプタ(HEA)は、プロセッサのプライベート・バスに直接接続され、従って2つの10Gbpsポートの全40Gbps帯域幅をサポートする充分な帯域幅(例えば866Mhzで55.42Gbps)を有することによって無比の性能レベルを達成する。プロセッサのプライベート・バス上に該アダプタを有することで中間の論理を除去し、従って転送待ち時間を改善する。HEA110を利用して、在来のNICの場合より高速で、短待ち時間で簡単な論理を考慮したネットワーク・インターフェース・コントローラ(NIC)を提供することができる。
本発明は、示された実施態様に従って記述されたけれども、当業者は、それらの実施態様に変化形があり得ること、それらの変化形が本発明の範囲内にあることを直ぐに認めるであろう。従って、添付されている請求項の範囲から逸脱せずに当業者により多くの改変がなされ得る。
在来のサーバ・システムを示す。 本発明によるサーバ・システムのブロック図である。 本発明によるHEAの簡単なブロック図である。 MAC及びSerdes層をより詳しく示す、HEAのブロック図である。 RxNetのうちの1つのためのコンポーネント及びデータフローを示す。 1つのTxEnetのためのコンポーネント及びデータフローを示す。 パケット高速化及び可視化層をより詳しく示すHEAのブロック図である。 RxAccelユニットのより詳しい図である。 RxAccelユニットが2つの送信バックボーン(XBB)と、2つの送信チェックサム・ユニットと、2つの送信MIBと、1つのラップ/ユニットと1つのポーズ・ユニットとから構成されることを示す。 ホスト・インターフェース層をより詳しく示すHEA110のブロック図である。 1つの物理的ポートにつき1つの論理層2スイッチを提供するHEAを示す。 レガシーOS TCP/IPスタックと共に使用されるHEAを示す。 幾つかのパーティションがユーザ・スペースTCPスタックをサポートしているシステムに使用されたHEAを示す。 パー・コネクション・キューイングを含む全てのHEAサポート高速化特徴を示す。 インバウンド・マルチキャスト送信を示す。 アウトバウンド・マルチキャスト送信を示す。

Claims (19)

  1. イーサネット・アダプタであって、
    少なくとも1つのプロセッサからパケットを受信し、且つ少なくとも1つのプロセッサへパケットを送信することを可能にする複数の層を含んでおり、
    前記複数の層は、前記少なくとも1つのプロセッサのパーティション化を考慮に入れた多重分離メカニズムを含み、
    1つの論理スイッチが前記イーサネット・アダプタの各物理ポートのために利用され、各論理ポートが論理スイッチ上に個々のポートを有しており、1つの論理スイッチが複数の論理ポートを提供し、前記複数の論理ポートの各々は前記プロセッサのパーティションをサポートし、そして、前記パーティション間の通信が可能にされる、前記イーサネット・アダプタ。
  2. 前記複数の層は、
    媒体アクセス・コントローラ(MAC)及び並直列変換回路(Serdes)層(以下、第1層)であって、ネットワーク上の他の装置からの及びネットワーク上の他の装置への複数のインターフェースを提供し、及び、当該提供のために同じチップのI/Oが使用される、前記第1層と、
    パケット高速化及び仮想化層(以下、第2層)であって、前記第1層からパケットを受信し、且つ前記第1層にパケットを提供する、前記第2層と、
    ホスト・インターフェース層(以下、第3層)であって、前記第2層と通信し、且つ前記プロセッサのプライベート・バスとインターフェースする、前記第3層と
    を含む、請求項1に記載のイーサネット・アダプタ。
  3. 前記第2層が、適切なときにはパケット・ヘッダをデータ・ペイロードから分離することによってパケット・ヘッダ分離を提供し、且つ、受信バッファを汚さずに処理されるように当該パケット・ヘッダをプロトコル・スタックに向け、それによって或るトランザクションのために待ち期間を短縮する、請求項2に記載のイーサネット・アダプタ。
  4. 前記第3層がコンテクスト管理を提供する、請求項2に記載のイーサネット・アダプタ。
  5. 前記第1層は、パケットを受信するための受信イーサネット機能と、パケットを送信するための送信イーサネット機能とを含む請求項に記載のイーサネット・アダプタ。
  6. 前記複数の層は、
    媒体アクセス・コントローラ及び並直列変換回路(MAC及びSerdes)層と、
    前記MAC及びSerdes層からパケットを受信し、且つ前記MAC及びSerdes層にパケットを提供するパケット高速化及び仮想化層と、
    前記パケット高速化及び仮想化層と通信し、前記プロセッサのプライベート・バスとインターフェースするホスト・インターフェース層と
    を含む請求項1に記載のイーサネット・アダプタ。
  7. 前記MAC及びSerdes層は、パケットを受信するための受信イーサネット機能と、パケットを送信するための送信イーサネット機能とを含む請求項に記載のイーサネット・アダプタ。
  8. 前記多重分離メカニズムは、前記プロセッサ内利用される複数のオペレーティング・システムへの直接経路を考慮に入れている、前記プロセッサ内で利用される複数のアプリケーションへの直接経路を考慮に入れている、又は前記プロセッサ内で利用される複数のオペレーティング・システムへの直接経路と前記プロセッサ内で利用される複数のアプリケーションへの直接経路とを考慮に入れている、請求項1〜7のいずれか一項に記載のイーサネット・アダプタ。
  9. 或るトランザクションのための待ち期間を短縮するために、適切なときにはパケット・ヘッダがデータ・ペイロードから分離される請求項6又は7に記載のイーサネット・アダプタ。
  10. ネットワーク・インターフェース・コントローラ(NIC)であって
    プロセッサのプライベート・バスに接続されるように成されているインターフェースと、
    イーサネット・アダプタと
    を含んでおり、
    前記イーサネット・アダプタは、少なくとも1つのプロセッサからパケットを受信し、且つ少なくとも1つのプロセッサへパケットを送信することを可能にする複数の層を含んでおり、
    前記複数の層は、前記少なくとも1つのプロセッサのパーティション化を考慮に入れた多重分離メカニズムを含み、
    1つの論理スイッチが前記イーサネット・アダプタの各物理ポートのために利用され、各論理ポートが論理スイッチ上に個々のポートを有しており、1つの論理スイッチが複数の論理ポートを提供し、前記複数の論理ポートの各々は前記プロセッサのパーティションをサポートし、そして、前記パーティション間の通信が可能にされる、前記NIC。
  11. 前記複数の層は、
    媒体アクセス・コントローラ(MAC)及び並直列変換回路(Serdes)層(以下、第1層)であって、ネットワーク上の他の装置からの及びネットワーク上の他の装置への複数のインターフェースを提供し、及び、当該提供のために同じチップのI/Oが使用される、前記第1層と、
    パケット高速化及び仮想化層(以下、第2層)であって、前記第1層からパケットを受信し、且つ前記第1層にパケットを提供する、前記第2層と、
    ホスト・インターフェース層(以下、第3層)であって、前記第2層と通信し、且つ前記プロセッサのプライベート・バスとインターフェースする、前記第3層と
    を含む、請求項10に記載のNIC。
  12. 前記第2層が、適切なときにはパケット・ヘッダをデータ・ペイロードから分離することによってパケット・ヘッダ分離を提供し、且つ、受信バッファを汚さずに処理されるように当該パケット・ヘッダをプロトコル・スタックに向け、それによって或るトランザクションのために待ち期間を短縮する、請求項10に記載のNIC。
  13. 前記第3層がコンテクスト管理を提供する、請求項10に記載のNIC。
  14. 前記第1層は、パケットを受信するための受信イーサネット機能と、パケットを送信するための送信イーサネット機能とを含む請求項10に記載のNIC。
  15. 前記複数の層は、
    媒体アクセス・コントローラ及び並直列変換回路(MAC及びSerdes)層と、
    前記MAC及びSerdes層からパケットを受信し、且つ前記MAC及びSerdes層にパケットを提供するパケット高速化及び仮想化層と、
    前記パケット高速化及び仮想化層と通信し、前記プロセッサのプライベート・バスとインターフェースするホスト・インターフェース層と
    を含む請求項10に記載のNIC。
  16. 前記MAC及びSerdes層は、パケットを受信するための受信イーサネット機能と、パケットを送信するための送信イーサネット機能とを含む請求項15に記載のNIC。
  17. 前記多重分離メカニズムは、前記プロセッサ内で同時に利用される複数のオペレーティング・システムへの直接経路を考慮に入れている、前記プロセッサ内で利用される複数のアプリケーションへの直接経路を考慮に入れている、前記プロセッサ内で利用される複数のオペレーティング・システムへの直接経路と前記プロセッサ内で利用される複数のアプリケーションへの直接経路とを考慮に入れている、請求項10〜16のいずれか一項に記載のNIC。
  18. 或るトランザクションのための待ち期間を短縮するために、適切なときにはパケット・ヘッダがデータ・ペイロードから分離される請求項15又は16に記載のNIC。
  19. 請求項10乃至18いずれか1項に記載のNICを含むサーバ・システム。
JP2008503471A 2005-04-01 2006-03-15 サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ Expired - Fee Related JP4807861B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/097,608 US7586936B2 (en) 2005-04-01 2005-04-01 Host Ethernet adapter for networking offload in server environment
US11/097,608 2005-04-01
PCT/EP2006/060734 WO2006103169A1 (en) 2005-04-01 2006-03-15 Host ethernet adapter for networking offload in server environment

Publications (3)

Publication Number Publication Date
JP2008535343A JP2008535343A (ja) 2008-08-28
JP2008535343A5 JP2008535343A5 (ja) 2009-02-12
JP4807861B2 true JP4807861B2 (ja) 2011-11-02

Family

ID=36441302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008503471A Expired - Fee Related JP4807861B2 (ja) 2005-04-01 2006-03-15 サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ

Country Status (6)

Country Link
US (2) US7586936B2 (ja)
EP (1) EP1864444A1 (ja)
JP (1) JP4807861B2 (ja)
CN (1) CN101151851B (ja)
TW (1) TWI392275B (ja)
WO (1) WO2006103169A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7586936B2 (en) * 2005-04-01 2009-09-08 International Business Machines Corporation Host Ethernet adapter for networking offload in server environment
US9794378B2 (en) * 2006-11-08 2017-10-17 Standard Microsystems Corporation Network traffic controller (NTC)
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
US8706987B1 (en) 2006-12-01 2014-04-22 Synopsys, Inc. Structured block transfer module, system architecture, and method for transferring
US8289966B1 (en) * 2006-12-01 2012-10-16 Synopsys, Inc. Packet ingress/egress block and system and method for receiving, transmitting, and managing packetized data
US7813366B2 (en) * 2006-12-19 2010-10-12 International Business Machines Corporation Migration of a virtual endpoint from one virtual plane to another
US7715428B2 (en) * 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
US20080285551A1 (en) * 2007-05-18 2008-11-20 Shamsundar Ashok Method, Apparatus, and Computer Program Product for Implementing Bandwidth Capping at Logical Port Level for Shared Ethernet Port
US7930462B2 (en) * 2007-06-01 2011-04-19 Apple Inc. Interface controller that has flexible configurability and low cost
US8284792B2 (en) * 2007-06-01 2012-10-09 Apple Inc. Buffer minimization in interface controller
US8250254B2 (en) * 2007-07-31 2012-08-21 Intel Corporation Offloading input/output (I/O) virtualization operations to a processor
KR101365595B1 (ko) * 2007-08-16 2014-02-21 삼성전자주식회사 Gui기반의 디스플레이부를 구비한 디바이스의 입력 방법및 그 장치
US20090055831A1 (en) * 2007-08-24 2009-02-26 Bauman Ellen M Allocating Network Adapter Resources Among Logical Partitions
US8103785B2 (en) * 2007-12-03 2012-01-24 Seafire Micros, Inc. Network acceleration techniques
US7760736B2 (en) * 2008-02-25 2010-07-20 International Business Machines Corporation Method, system, and computer program product for ethernet virtualization using an elastic FIFO memory to facilitate flow of broadcast traffic to virtual hosts
US7751400B2 (en) * 2008-02-25 2010-07-06 International Business Machines Coproration Method, system, and computer program product for ethernet virtualization using an elastic FIFO memory to facilitate flow of unknown traffic to virtual hosts
JP5125777B2 (ja) * 2008-06-03 2013-01-23 富士通株式会社 入出力ポートの割当て識別装置、その割当て識別方法及び情報処理装置
TWI379567B (en) * 2008-09-12 2012-12-11 Realtek Semiconductor Corp Single network interface card (nic) with multiple-ports and method thereof
US10177934B1 (en) * 2009-09-04 2019-01-08 Amazon Technologies, Inc. Firmware updates inaccessible to guests
US8887144B1 (en) 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US9565207B1 (en) 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US8214653B1 (en) 2009-09-04 2012-07-03 Amazon Technologies, Inc. Secured firmware updates
US8601170B1 (en) 2009-09-08 2013-12-03 Amazon Technologies, Inc. Managing firmware update attempts
US8971538B1 (en) 2009-09-08 2015-03-03 Amazon Technologies, Inc. Firmware validation from an external channel
US8959611B1 (en) 2009-09-09 2015-02-17 Amazon Technologies, Inc. Secure packet management for bare metal access
US8300641B1 (en) 2009-09-09 2012-10-30 Amazon Technologies, Inc. Leveraging physical network interface functionality for packet processing
US8381264B1 (en) 2009-09-10 2013-02-19 Amazon Technologies, Inc. Managing hardware reboot and reset in shared environments
US20110283278A1 (en) * 2010-05-13 2011-11-17 Vmware, Inc. User interface for managing a distributed virtual switch
US8873389B1 (en) * 2010-08-09 2014-10-28 Chelsio Communications, Inc. Method for flow control in a packet switched network
US8843628B2 (en) * 2010-08-31 2014-09-23 Harris Corporation System and method of capacity management for provisioning and managing network access and connectivity
US8576864B2 (en) 2011-01-21 2013-11-05 International Business Machines Corporation Host ethernet adapter for handling both endpoint and network node communications
US8838837B2 (en) 2011-06-23 2014-09-16 Microsoft Corporation Failover mechanism
EP2745473B1 (en) 2011-08-17 2018-09-19 Nicira, Inc. Hierarchical controller clusters for interconnecting different logical domains
US8839044B2 (en) 2012-01-05 2014-09-16 International Business Machines Corporation Debugging of adapters with stateful offload connections
US9135092B2 (en) 2012-02-02 2015-09-15 International Business Machines Corporation Multicast message filtering in virtual environments
CN102710813B (zh) * 2012-06-21 2014-07-09 杭州华三通信技术有限公司 一种mac地址表项存取方法和设备
CN103269333A (zh) * 2013-04-23 2013-08-28 深圳市京华科讯科技有限公司 基于虚拟化的多媒体加速***
US9665235B2 (en) 2013-12-31 2017-05-30 Vmware, Inc. Pre-configured hyper-converged computing device
US9444754B1 (en) 2014-05-13 2016-09-13 Chelsio Communications, Inc. Method for congestion control in a network interface card
JP6300366B2 (ja) * 2014-08-01 2018-03-28 日本電信電話株式会社 仮想ネットワーク設定情報管理装置および仮想ネットワーク設定情報管理プログラム
JP2016201683A (ja) * 2015-04-10 2016-12-01 ソニー株式会社 ビデオサーバー、ビデオサーバーシステムおよび命令処理方法
US9923811B2 (en) 2015-06-27 2018-03-20 Nicira, Inc. Logical routers and switches in a multi-datacenter environment
GB201616413D0 (en) 2016-09-28 2016-11-09 International Business Machines Corporation Monitoring network addresses and managing data transfer
US11165635B2 (en) * 2018-09-11 2021-11-02 Dell Products L.P. Selecting and configuring multiple network components in enterprise hardware
US11736383B2 (en) 2020-04-06 2023-08-22 Vmware, Inc. Logical forwarding element identifier translation between datacenters
US11088919B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Data structure for defining multi-site logical network
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11374817B2 (en) 2020-04-06 2022-06-28 Vmware, Inc. Determining span of logical network element
US20220103430A1 (en) 2020-09-28 2022-03-31 Vmware, Inc. Defining logical networks for deploying applications
CN113127390B (zh) * 2021-05-13 2023-03-14 西安微电子技术研究所 一种多协议数据总线适配器引擎架构设计方法
US11522931B1 (en) * 2021-07-30 2022-12-06 Avago Technologies International Sales Pte. Limited Systems and methods for controlling high speed video

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086882A (ja) * 1994-06-17 1996-01-12 Hitachi Cable Ltd 通信装置
JP2004523035A (ja) * 2001-01-31 2004-07-29 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2005506726A (ja) * 2001-04-20 2005-03-03 イジェネラ,インク. 処理システムにおける仮想ネットワークシステムと方法
US20050053060A1 (en) * 2003-01-21 2005-03-10 Nextio Inc. Method and apparatus for a shared I/O network interface controller

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058110A (en) 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
EP0549924A1 (en) 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5430842A (en) 1992-05-29 1995-07-04 Hewlett-Packard Company Insertion of network data checksums by a network adapter
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5752078A (en) 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US5831610A (en) * 1996-02-23 1998-11-03 Netsuite Development L.P. Designing networks
US5821937A (en) * 1996-02-23 1998-10-13 Netsuite Development, L.P. Computer method for updating a network design
US6330005B1 (en) * 1996-02-23 2001-12-11 Visionael Corporation Communication protocol binding in a computer system for designing networks
US6112015A (en) * 1996-12-06 2000-08-29 Northern Telecom Limited Network management graphical user interface
US5983274A (en) 1997-05-08 1999-11-09 Microsoft Corporation Creation and use of control information associated with packetized network data by protocol drivers and device drivers
US6226680B1 (en) 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6408393B1 (en) * 1998-01-09 2002-06-18 Hitachi, Ltd. CPU power adjustment method
US6658002B1 (en) 1998-06-30 2003-12-02 Cisco Technology, Inc. Logical operation unit for packet processing
US6970419B1 (en) 1998-08-07 2005-11-29 Nortel Networks Limited Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes
US6510552B1 (en) 1999-01-29 2003-01-21 International Business Machines Corporation Apparatus for keeping several versions of a file
US6650640B1 (en) 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6400730B1 (en) 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6937574B1 (en) 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
GB2352360B (en) * 1999-07-20 2003-09-17 Sony Uk Ltd Network terminator
US6427169B1 (en) 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6724769B1 (en) 1999-09-23 2004-04-20 Advanced Micro Devices, Inc. Apparatus and method for simultaneously accessing multiple network switch buffers for storage of data units of data frames
US6788697B1 (en) 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US6822968B1 (en) * 1999-12-29 2004-11-23 Advanced Micro Devices, Inc. Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller
US7308006B1 (en) * 2000-02-11 2007-12-11 Lucent Technologies Inc. Propagation and detection of faults in a multiplexed communication system
US6988235B2 (en) 2000-03-02 2006-01-17 Agere Systems Inc. Checksum engine and a method of operation thereof
US6795870B1 (en) * 2000-04-13 2004-09-21 International Business Machines Corporation Method and system for network processor scheduler
US6735670B1 (en) 2000-05-12 2004-05-11 3Com Corporation Forwarding table incorporating hash table and content addressable memory
US6678746B1 (en) 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
US6754662B1 (en) 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
US7177945B2 (en) 2000-08-04 2007-02-13 Avaya Technology Corp. Non-intrusive multiplexed transaction persistency in secure commerce environments
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7218632B1 (en) 2000-12-06 2007-05-15 Cisco Technology, Inc. Packet processing engine architecture
US6954463B1 (en) 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US7131140B1 (en) 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US7023811B2 (en) 2001-01-17 2006-04-04 Intel Corporation Switched fabric network and method of mapping nodes using batch requests
US7149817B2 (en) * 2001-02-15 2006-12-12 Neteffect, Inc. Infiniband TM work queue to TCP/IP translation
US6728929B1 (en) 2001-02-16 2004-04-27 Spirent Communications Of Calabasas, Inc. System and method to insert a TCP checksum in a protocol neutral manner
US7292586B2 (en) 2001-03-30 2007-11-06 Nokia Inc. Micro-programmable protocol packet parser and encapsulator
JP4291964B2 (ja) * 2001-04-19 2009-07-08 株式会社日立製作所 仮想計算機システム
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
JP3936550B2 (ja) 2001-05-14 2007-06-27 富士通株式会社 パケットバッファ
US7164678B2 (en) 2001-06-25 2007-01-16 Intel Corporation Control of processing order for received network packets
US20030026252A1 (en) 2001-07-31 2003-02-06 Thunquest Gary L. Data packet structure for directly addressed multicast protocol
US6976205B1 (en) 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US7124198B2 (en) 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US6907466B2 (en) 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network
WO2003043271A1 (en) 2001-11-09 2003-05-22 Vitesse Semiconductor Corporation A means and a method for switching data packets or frames
US7286557B2 (en) 2001-11-16 2007-10-23 Intel Corporation Interface and related methods for rate pacing in an ethernet architecture
US7236492B2 (en) 2001-11-21 2007-06-26 Alcatel-Lucent Canada Inc. Configurable packet processor
JP4018900B2 (ja) * 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
AU2002365837A1 (en) 2001-12-03 2003-06-17 Tagore-Brage, Jens P. Interface to operate groups of inputs/outputs
US8370936B2 (en) 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
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
US20040022094A1 (en) 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US7283528B1 (en) 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US7251704B2 (en) 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7031304B1 (en) 2002-09-11 2006-04-18 Redback Networks Inc. Method and apparatus for selective packet Mirroring
KR100486713B1 (ko) 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
US7271706B2 (en) 2002-10-09 2007-09-18 The University Of Mississippi Termite acoustic detection
KR100454681B1 (ko) * 2002-11-07 2004-11-03 한국전자통신연구원 프레임 다중화를 이용한 이더넷 스위칭 장치 및 방법
KR100460672B1 (ko) * 2002-12-10 2004-12-09 한국전자통신연구원 10 기가비트 이더넷 회선 정합 장치 및 그 제어 방법
US7493409B2 (en) * 2003-04-10 2009-02-17 International Business Machines Corporation Apparatus, system and method for implementing a generalized queue pair in a system area network
US20040218623A1 (en) 2003-05-01 2004-11-04 Dror Goldenberg Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter
US7298761B2 (en) 2003-05-09 2007-11-20 Institute For Information Industry Link path searching and maintaining method for a bluetooth scatternet
US20050022017A1 (en) 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US7098685B1 (en) 2003-07-14 2006-08-29 Lattice Semiconductor Corporation Scalable serializer-deserializer architecture and programmable interface
JP4587446B2 (ja) * 2003-08-07 2010-11-24 キヤノン株式会社 ネットワークシステム、並びにスイッチ装置及び経路管理サーバ及びそれらの制御方法、及び、コンピュータプログラム及びコンピュータ可読記憶媒体
US8776050B2 (en) 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
JP4437650B2 (ja) 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US20050080869A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer
US7668923B2 (en) * 2003-10-14 2010-02-23 International Business Machines Corporation Master-slave adapter
US20050080920A1 (en) * 2003-10-14 2005-04-14 International Business Machines Corporation Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
US20050091383A1 (en) * 2003-10-14 2005-04-28 International Business Machines Corporation Efficient zero copy transfer of messages between nodes in a data processing system
US7441179B2 (en) 2003-10-23 2008-10-21 Intel Corporation Determining a checksum from packet data
US7219294B2 (en) 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
US20050114663A1 (en) 2003-11-21 2005-05-26 Finisar Corporation Secure network access devices with data encryption
US7873693B1 (en) * 2004-02-13 2011-01-18 Habanero Holdings, Inc. Multi-chassis fabric-backplane enterprise servers
US7633955B1 (en) * 2004-02-13 2009-12-15 Habanero Holdings, Inc. SCSI transport for fabric-backplane enterprise servers
US7292591B2 (en) 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7502474B2 (en) 2004-05-06 2009-03-10 Advanced Micro Devices, Inc. Network interface with security association data prefetch for high speed offloaded security processing
US20050265252A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Enhancing ephemeral port allocation
US7461183B2 (en) * 2004-08-03 2008-12-02 Lsi Corporation Method of processing a context for execution
US7134796B2 (en) 2004-08-25 2006-11-14 Opnext, Inc. XFP adapter module
US7436773B2 (en) * 2004-12-07 2008-10-14 International Business Machines Corporation Packet flow control in switched full duplex ethernet networks
US8040903B2 (en) 2005-02-01 2011-10-18 Hewlett-Packard Development Company, L.P. Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US7620754B2 (en) 2005-03-25 2009-11-17 Cisco Technology, Inc. Carrier card converter for 10 gigabit ethernet slots
US20060230098A1 (en) * 2005-03-30 2006-10-12 International Business Machines Corporation Routing requests to destination application server partitions via universal partition contexts
US7586936B2 (en) * 2005-04-01 2009-09-08 International Business Machines Corporation Host Ethernet adapter for networking offload in server environment
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
US20070079103A1 (en) * 2005-10-05 2007-04-05 Yasuyuki Mimatsu Method for resource management in a logically partitioned storage system
US20070094402A1 (en) * 2005-10-17 2007-04-26 Stevenson Harold R Method, process and system for sharing data in a heterogeneous storage network
JP4542514B2 (ja) * 2006-02-13 2010-09-15 株式会社日立製作所 計算機の制御方法、プログラム及び仮想計算機システム
US7716356B2 (en) * 2006-06-30 2010-05-11 International Business Machines Corporation Server-based acquisition, distributed acquisition and usage of dynamic MAC addresses in a virtualized Ethernet environment
US7827331B2 (en) * 2006-12-06 2010-11-02 Hitachi, Ltd. IO adapter and data transferring method using the same
US20090055831A1 (en) * 2007-08-24 2009-02-26 Bauman Ellen M Allocating Network Adapter Resources Among Logical Partitions
JP5216336B2 (ja) * 2008-01-23 2013-06-19 株式会社日立製作所 計算機システム、管理サーバ、および、不一致接続構成検知方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086882A (ja) * 1994-06-17 1996-01-12 Hitachi Cable Ltd 通信装置
JP2004523035A (ja) * 2001-01-31 2004-07-29 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリを介してデータ処理システムの間でデータのフローを制御する方法および装置
JP2005506726A (ja) * 2001-04-20 2005-03-03 イジェネラ,インク. 処理システムにおける仮想ネットワークシステムと方法
US20050053060A1 (en) * 2003-01-21 2005-03-10 Nextio Inc. Method and apparatus for a shared I/O network interface controller

Also Published As

Publication number Publication date
US8291050B2 (en) 2012-10-16
US7586936B2 (en) 2009-09-08
EP1864444A1 (en) 2007-12-12
CN101151851A (zh) 2008-03-26
WO2006103169A1 (en) 2006-10-05
JP2008535343A (ja) 2008-08-28
US20060251120A1 (en) 2006-11-09
US20070283286A1 (en) 2007-12-06
CN101151851B (zh) 2013-03-06
TW200644512A (en) 2006-12-16
TWI392275B (zh) 2013-04-01

Similar Documents

Publication Publication Date Title
JP4807861B2 (ja) サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ
US9380134B2 (en) RoCE packet sequence acceleration
JP4898781B2 (ja) オペレーティング・システム・パーティションのためのネットワーク通信
US7397797B2 (en) Method and apparatus for performing network processing functions
US7924868B1 (en) Internet protocol (IP) router residing in a processor chipset
US9628382B2 (en) Reliable transport of ethernet packet data with wire-speed and packet data rate match
US8094670B1 (en) Method and apparatus for performing network processing functions
US7492771B2 (en) Method for performing a packet header lookup
US11394664B2 (en) Network interface device
US20100023626A1 (en) Method and apparatus for reducing host overhead in a socket server implementation
US9772968B2 (en) Network interface sharing
WO2006063298A1 (en) Techniques to manage flow control
US7188250B1 (en) Method and apparatus for performing network processing functions
CN110995507B (zh) 一种网络加速控制器及方法
US7903687B2 (en) Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110527

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110527

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110804

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110812

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees