【手続補正書】
【提出日】平成29年10月11日(2017.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティング環境において、入力／出力（Ｉ／Ｏ）仮想化をサポートするためのシステムであって、
ネットワークファブリック上のサーバに関連付けられたチップを備え、前記チップは、複数のパケットバッファを含む外部メモリに関連付けられており、
前記チップは、物理ホストバスアダプタ（ＨＢＡ）から受信したディスク読取データを含む１つ以上のパケットの状態を保存するオンチップメモリを含み、
前記チップは、
前記外部メモリ上の前記複数のパケットバッファ内の前記１つ以上のパケットをキューに入れ、
前記１つ以上のパケットの状態に基づいて、前記外部メモリから前記１つ以上のパケットを読出し、および
前記１つ以上のパケットを前記ネットワークファブリック上の前記サーバに送信するように動作する、システム。
【請求項２】
前記ネットワークファブリックは、インフィニバンド（ＩＢ）ファブリックであり、
前記サーバは、１つ以上のキューペア（ＱＰ）に関連付けられる、請求項１に記載のシステム。
【請求項３】
前記複数のパケットバッファは、１つ以上のバッファリストに格納され、
各バッファリストは、前記サーバに関連付けられたキューペア（ＱＰ）に対応する、請求項２に記載のシステム。
【請求項４】
前記チップは、１つ以上のＩＢヘッダとシーケンス番号とを前記物理ＨＢＡから受信した各パケットに追加するように動作する、請求項２または３に記載のシステム。
【請求項５】
少なくとも１つのＩＢヘッダは、ＩＢ命令を含む、請求項４に記載のシステム。
【請求項６】
前記ＩＢファブリック内のキューペア（ＱＰ）をターゲティングする複数のパケットは、パケットシーケンス番号スペースを共有するように配置される、請求項２〜５のいずれか１項に記載のシステム。
【請求項７】
前記サーバに関連付けられたＱＰのために、複数のディスク読取命令、リモートダイレクトメモリアクセス（ＲＤＭＡ）読取リクエストおよび送信命令を多重化することをサポートするように、複数のコンテキストが開かれる、請求項２〜６のいずれか１項に記載のシステム。
【請求項８】
前記１つ以上のパケットの状態は、前記外部メモリに格納された前記１つ以上のパケットがすべてキューに入れられたことを示す、および／または、１つ以上の関連ＩＢ命令が更新されたことを示す、請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
前記オンチップメモリ内の各エントリは、２ビットの幅を有しており、
前記オンチップメモリ内の各エントリの一方のビットは、関連ＩＢ命令を更新する必要があるか否かを示し、
他方のビットは、チップがキューに入れられたパケットを前記外部メモリから読出すことができるか否かを示す、請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
コンピューティング環境において、効率的なパケット処理をサポートするための方法であって、
ネットワークファブリック上のサーバに関連付けられたチップを提供するステップを備え、前記チップは、複数のパケットバッファを含む外部メモリに関連付けられており、
物理ホストバスアダプタ（ＨＢＡ）から受信したディスク読取データを含む１つ以上のパケットの状態をオンチップメモリ上に保存するステップとを含み、
前記チップは、
前記外部メモリ上の前記複数のパケットバッファ内の前記１つ以上のパケットをキューに入れ、
前記１つ以上のパケットの状態に基づいて、前記外部メモリから前記１つ以上のパケットを読出し、および
前記１つ以上のパケットを前記ネットワークファブリック上の前記サーバに送信するように動作する、方法。
【請求項１１】
命令を含む機械読取可能プログラムであって、前記命令は、実行されると、以下のステップをシステムに実行させ、当該以下のステップは、
ネットワークファブリック上のサーバに関連付けられたチップを提供するステップを含み、前記チップは、複数のパケットバッファを含む外部メモリに関連付けられており、
物理ホストバスアダプタ（ＨＢＡ）から受信したディスク読取データを含む１つ以上のパケットの状態をオンチップメモリ上に保存するステップと、
前記外部メモリ上の前記複数のパケットバッファ内の前記１つ以上のパケットをキューに入れ、前記１つ以上のパケットの状態に基づいて、前記外部メモリから前記１つ以上のパケットを読出し、および前記１つ以上のパケットを前記ネットワークファブリック上の前記サーバに送信するように、前記チップを動作させるステップとを含む、機械読取可能記憶プログラム。
【請求項１２】
コンピューティング環境において、Ｉ／Ｏ仮想化をサポートするためのシステムであって、
コンピューティング環境内の１つ以上の仮想ホストバスアダプタ（ｖＨＢＡ）に関連付けられた複数のパケットバッファを含む空きバッファプールを含み、前記ｖＨＢＡの各々は、１つ以上のパケットバッファに指向するバッファポインタの主要リンクリストを前記空きバッファプールに保存し、
入力／出力（Ｉ／Ｏ）装置に関連付けられたオンチップメモリ上で定義されたコンテキストテーブルを含み、前記コンテキストテーブルは、ディスク読取操作のために、前記空きバッファプールから割当てられた１つ以上のパケットバッファに指向するバッファポインタの一時リンクリストを保存し、
前記Ｉ／Ｏ装置は、
ディスク読取操作を実行する物理ホストバスアダプタ（ＨＢＡ）からすディスク読取データを受信すると、前記コンテキストテーブルを開き、
前記バッファポインタの一時リンクリストを更新し、および
前記コンテキストテーブルが閉じられると、前記バッファポインタの一時リンクリストを前記バッファポインタの主要リンクリストに合併するように動作する、システム。
【請求項１３】
コンピューティング環境において、効率的なパケット処理をサポートするための方法であって、
前記コンピューティング環境内の１つ以上の仮想ホストバスアダプタ（ｖＨＢＡ）に関連付けられた複数のパケットバッファを含む空きバッファプールを提供するステップを含み、前記ｖＨＢＡの各々は、１つ以上のパケットバッファに指向するバッファポインタの主要リンクリストを前記空きバッファプールに保存し、
入力／出力（Ｉ／Ｏ）装置に関連付けられたオンチップメモリにおいて、コンテキストテーブルを定義するステップを含み、前記コンテキストテーブルは、ディスク読取操作のために、前記空きバッファプールから割当てられた１つ以上のパケットバッファに指向するバッファポインタの一時リンクリストを保存し、
前記ディスク読取操作を実行する物理ホストバスアダプタ（ＨＢＡ）からディスク読取データを受信すると、コンテキストテーブルを開き、
前記バッファポインタの一時リンクリストを更新し、および
前記コンテキストテーブルが閉じられると、前記バッファポインタの一時リンクリストを前記バッファポインタの主要リンクリストに合併するように、前記Ｉ／Ｏ装置を動作させるステップを含む、方法。
【請求項１４】
コンピューティング環境において、入力／出力（Ｉ／Ｏ）仮想化をサポートするためのシステムであって、
メモリ内の空きバッファプールを含み、前記空きバッファプールは、２次元リンクリストおよび１次元リンクリストを備え、
前記２次元リンクリストの各エントリは、連続したメモリ位置で複数のパケットバッファを含み、前記１次元リンクリストの各エントリは、単一のパケットバッファを含み、
Ｉ／Ｏ装置は、前記空きバッファプールを用いて、物理ホストバスアダプタ（ＨＢＡ）から受信したディスク読取データを保存するように動作する、システム。
【請求項１５】
ネットワーク環境において、効率的なパケット処理をサポートするための方法であって、
メモリに空きバッファプールを提供するステップを含み、前記空きバッファプールは、２次元リンクリストおよび１次元リンクリストを含み、
前記２次元リンクリストの各エントリが連続したメモリ位置で複数のパケットバッファを含み、および前記１次元リンクリストの各エントリが単一のパケットバッファを含むようにするステップを含み、
Ｉ／Ｏ装置を介して、前記空きバッファプールを用いて、物理ホストバスアダプタ（ＨＢＡ）から受信したデータ読取ディスクを保存するステップを含む、方法。