【手続補正書】
【提出日】平成22年1月22日(2010.1.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
再構成可能なロジックデバイス上に配備された少なくとも１つのファームウェアアプリケーションモジュールをコンピュータシステムに結び付ける方法であって、
コンピュータシステムが、互いに通信するプロセッサと、メモリ空間とを含み、少なくとも１つのファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対してデータ処理動作を実行するように構成され、
再構成可能なロジックデバイス上に配備され、少なくとも１つのファームウェアアプリケーションモジュールをコンピュータシステムメモリ空間に結び付けるファームウェアモジュール内で、（１）バッファ内のアドレスを決定し、バッファが、コンピュータシステムメモリ空間内に位置し、複数の入力記述子が格納される複数の順次アドレスを含み、各入力記述子が、コンピュータシステムメモリ空間内のデータをポイントし、入力記述子がポイントするデータが、少なくとも１つのファームウェアアプリケーションモジュールのための複数のコマンドおよびターゲットデータを含むこと、（２）決定されたアドレスにおいてコンピュータシステムメモリ空間内のバッファから読み取りを行って、少なくとも１つのファームウェアアプリケーションモジュールに供給されるべきデータに関する入力記述子を特定すること、（３）特定された入力記述子がポイントするデータを、コンピュータシステムメモリ空間から少なくとも１つのファームウェアアプリケーションモジュールに転送すること、および（４）読み取られていない入力記述子が、バッファの中に格納されている限り、決定されたアドレスをインクリメントし、インクリメントされたアドレスを使用してステップ（２）〜（３）を繰り返して、順次のバッファアドレスの範囲内の入力記述子の順序が、コマンドおよびターゲットデータが、少なくとも１つのファームウェアアプリケーションモジュール内で処理される順序を規定するようにすることを含む、方法。
【請求項２】
転送されたコマンドおよびターゲットデータを、インタリーブされたコマンドとターゲットデータのストリームとして、少なくとも１つのファームウェアアプリケーションモジュールを通して処理することをさらに含む、請求項１に記載の方法。
【請求項３】
通信パスが、ファームウェアモジュールを少なくとも１つのファームウェアアプリケーションモジュールにリンクし、転送するステップが、少なくとも１つのファームウェアアプリケーションモジュールにコマンドとターゲットデータを、同一の通信パスを介して供給することを含む、請求項２に記載の方法。
【請求項４】
少なくとも１つのファームウェアアプリケーションモジュールが、パイプラインに構成された複数のファームウェアアプリケーションモジュールを含み、パイプラインが、第１のファームウェアアプリケーションモジュールと、最終のファームウェアアプリケーションモジュールとを有し、転送するステップが、定義された順序に従って、コンピュータシステムメモリから、パイプラインの第１のファームウェアアプリケーションモジュールにコマンドとターゲットデータを、同一の通信パスを介して転送することをさらに含む、請求項３に記載の方法。
【請求項５】
処理するステップが、転送されたコマンドおよびターゲットデータを、パイプラインのそれぞれのさらなるファームウェアアプリケーションモジュールを通して順次に処理し、パイプラインの最終のファームウェアアプリケーションモジュールに終わることをさらに含む、請求項４に記載の方法。
【請求項６】
複数のコマンドが、ファームウェアアプリケーションモジュールの個々のモジュールに固有である、請求項５に記載の方法。
【請求項７】
再構成可能なロジックデバイス上に配備された複数のファームウェアアプリケーションモジュールを含むパイプラインをコンピュータシステムに結び付ける方法であって、
コンピュータシステムが、互いに通信するプロセッサと、メモリ空間とを含み、ファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対して複数のコマンド固有のデータ処理動作を実行するように構成され、
再構成可能なロジックデバイス上に配備され、パイプラインをコンピュータシステムメモリ空間に結び付けるファームウェアモジュール内で、（１）メモリ空間内のバッファから読み取りを行って、パイプラインに供給されるべき複数のコマンドおよびターゲットデータを特定し、バッファが、コマンドおよびターゲットデータが、パイプラインに供給されるべき順序を規定し、各コマンドが、ファームウェアアプリケーションモジュールの少なくとも１つが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対して実行すべきデータ処理動作を制御すること、（２）コマンドおよびターゲットデータを、規定された順序に従ってコンピュータシステムメモリ空間からパイプラインに転送すること、および（３）転送されたコマンドおよびターゲットデータを、インタリーブされたコマンドとターゲットデータのストリームとして、少なくとも１つのファームウェアアプリケーションモジュールを通して処理することを含み、
コマンドの少なくとも１つが、ファームウェアアプリケーションモジュールの少なくとも１つへのパススルーコマンドを含む、方法。
【請求項８】
コマンドによって定義されるデータ処理動作が、検索動作、データ縮約動作、暗号化動作、解読動作、圧縮動作、伸張動作、およびパススルー動作から成るグループの少なくとも２つの動作を含む、請求項６に記載の方法。
【請求項９】
コンピュータシステムメモリ空間が、ＲＡＭ（ランダムアクセスメモリ）を含み、バッファが、ＲＡＭの中に格納される、請求項５に記載の方法。
【請求項１０】
プロセッサの制御下で動作するデバイスドライバを使用してバッファを管理することをさらに含む、請求項９に記載の方法。
【請求項１１】
再構成可能なロジックデバイス上に配備された少なくとも１つのファームウェアアプリケーションモジュールをコンピュータシステムに結び付ける方法であって、
コンピュータシステムが、互いに通信するプロセッサと、メモリ空間とを含み、少なくとも１つのファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対してデータ処理動作を実行するように構成され、
再構成可能なロジックデバイス上に配備され、少なくとも１つのファームウェアアプリケーションモジュールをコンピュータシステムメモリ空間に結び付けるファームウェアモジュール内で、（１）メモリ空間内のバッファから読み取りを行って、少なくとも１つのファームウェアアプリケーションモジュールに供給されるべき複数のコマンドおよびターゲットデータを特定し、バッファが、コマンドおよびターゲットデータが、少なくとも１つのファームウェアアプリケーションモジュールに供給されるべき順序を規定し、各コマンドが、少なくとも１つのファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対して実行すべきデータ処理動作を制御すること、（２）コマンドおよびターゲットデータを、規定された順序に従ってコンピュータシステムメモリ空間から少なくとも１つのファームウェアアプリケーションモジュールに転送すること、および（３）転送されたコマンドおよびターゲットデータを、インタリーブされたコマンドとターゲットデータのストリームとして、少なくとも１つのファームウェアアプリケーションモジュールを通して処理することを含み、
通信パスが、ファームウェアモジュールを少なくとも１つのファームウェアアプリケーションモジュールにリンクし、
転送するステップが、コマンドとターゲットデータを、同一の通信パスを介して少なくとも１つのファームウェアアプリケーションモジュールに供給することを含み、
少なくとも１つのファームウェアアプリケーションモジュールが、パイプラインに構成された複数のファームウェアアプリケーションモジュールを含み、パイプラインが、第１のファームウェアアプリケーションモジュールと、最後のファームウェアアプリケーションモジュールとを有し、
転送するステップが、コマンドとターゲットデータを、規定された順序に従ってコンピュータシステムメモリ空間からパイプラインの第１のファームウェアアプリケーションモジュールに、同一の通信パスを介して転送することをさらに含み、
処理するステップが、転送されたコマンドおよびターゲットデータを、パイプラインのそれぞれのさらなるファームウェアアプリケーションモジュールを通して順次に処理し、パイプラインの最後のファームウェアアプリケーションモジュールに終わることをさらに含み、
コンピュータシステムメモリ空間が、ＲＡＭ（ランダムアクセスメモリを含み、
バッファが、ＲＡＭの中に格納され、
方法が、プロセッサの制御下で動作するデバイスドライバを使用してバッファを管理することをさらに含み、
バッファが、第１のバッファを含み、
パイプラインの最後のファームウェアアプリケーションモジュールが、最後のファームウェアアプリケーションモジュールが受け取るターゲットデータに対して最後のファームウェアアプリケーションモジュールが実行するデータ処理動作の結果として、出力を生成するようにさらに構成され、
方法が、
最後のファームウェアアプリケーションモジュールをファームウェアモジュールにリンクするさらなる通信パスを介して、最後のファームウェアアプリケーションモジュールの出力をファームウェアモジュールに転送すること、および
ファームウェアモジュール内で、（１）デバイスドライバによって管理されるさらなるバッファを読み取って、最後のファームウェアアプリケーションモジュールの出力が格納されるべきコンピュータシステムメモリ空間内のロケーションを決定すること、および（２）最後のファームウェアアプリケーションモジュールの出力を、コンピュータシステムメモリ内の決定されたロケーションに転送することをさらに含む、方法。
【請求項１２】
ファームウェアアプリケーションモジュールパイプラインにターゲットデータが供給されるべき順序と同一の順序で、隣接するメモリアドレスでコンピュータシステムメモリ空間内にターゲットデータを格納することをさらに含む、請求項１０に記載の方法。
【請求項１３】
管理するステップが、コンピュータシステムメモリ空間内でコマンドおよびターゲットデータが格納されたコンピュータシステムメモリ空間アドレスに対するポインタを含む入力記述子でバッファをポピュレートすることを含む、請求項１２に記載の方法。
【請求項１４】
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含む、請求項４に記載の方法。
【請求項１５】
プロセッサと、再構成可能なロジックデバイス上に配備された少なくとも１つのファームウェアアプリケーションモジュールとを含むシステムにおいて、少なくとも１つのファームウェアアプリケーションモジュールへのデータおよびコマンドのフローを制御するための方法であって、
コマンドが、少なくとも１つのファームウェアアプリケーションモジュールによるデータの処理を制御するための命令を含み、
前記少なくとも１つのファームウェアアプリケーションモジュールに共通の通信パスを提供すること、
複数の入力記述子に関して１つの入力記述子から次の入力記述子へと進みながら、プロセッサによる介入なしに、バッファから複数のコマンドおよびターゲットデータに関する複数の入力記述子を読み取ること、
読み取るステップに応答して、少なくとも１つのファームウェアアプリケーションモジュールに送られるべきコマンドおよびデータを決定すること、および
決定されたコマンドとデータの両方を、共通の通信パスを介して前記少なくとも１つのファームウェアアプリケーションモジュールに送ることを含む、方法。
【請求項１６】
少なくとも１つのファームウェアアプリケーションモジュールが、パイプラインに構成された複数のファームウェアアプリケーションモジュールを含み、送るステップが、インタリーブされたコマンドとデータのストリームを、パイプラインにおけるファームウェアアプリケーションモジュールの第１のモジュールに送ることを含む、請求項１５に記載の方法。
【請求項１７】
少なくとも複数のコマンドが、パイプラインにおけるファームウェアアプリケーションモジュールの個々のモジュールに固有である、請求項１６に記載の方法。
【請求項１８】
データ処理パイプラインと通信するファームウェアソケットモジュールを含むデータ処理デバイスであって、
ファームウェアソケットモジュールおよびデータ処理パイプラインが、少なくとも１つの再構成可能なロジックデバイス上に配備され、ファームウェアソケットモジュールが、コマンドとターゲットデータの両方に共通の通信パスを介して、データ処理パイプラインへのコマンドとターゲットデータの両方の伝搬を制御するように構成され、各コマンドが、データ処理パイプラインによって実行されるべきデータ処理動作を制御し、ターゲットデータが、データ処理パイプラインが、命令されたデータ処理動作を実行する対象となるデータに対応し、
データ処理パイプラインが、直列に接続された複数のファームウェアアプリケーションモジュールを含み、
ファームウェアソケットモジュールが、データ処理パイプラインの入口点に所定の順序でコマンドおよびターゲットデータを供給するようにさらに構成され、
所定の順序が、データ処理パイプライン全体にわたって保たれ、
ファームウェアソケットモジュールが、（１）プロセッサによって管理される外部入力記述子プールバッファにアクセスして、データ処理パイプラインに送られるべきコマンドおよびターゲットデータが、外部メモリ空間内のどこに格納されているかを特定して、ファームウェアソケットモジュールが、プロセッサによる干渉なしに、入力記述子プールバッファ内で１つの入力記述子から次の入力記述子に進むようにするようにさらに構成され、入力記述子プールバッファが、コマンドおよびターゲットデータが、データ処理パイプラインに送られるべき順序を規定し、さらに（２）特定されたコマンドおよびターゲットデータを、規定された順序に従って外部メモリ空間からデータ処理パイプラインに転送するようにさらに構成される、データ処理デバイス。
【請求項１９】
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含み、ファームウェアソケットモジュールが、ファームウェアソケットモジュールと、データ処理パイプラインからの出口点との間の別の通信パスを有し、ファームウェアソケットモジュールが、さらなる通信パスを介してデータ処理パイプラインからの出力を受け取るようにさらに構成される、請求項１８に記載のデータ処理デバイス。
【請求項２０】
データ処理パイプラインと通信するファームウェアソケットモジュールを含むデータ処理デバイスであって、
ファームウェアソケットモジュールおよびデータ処理パイプラインが、少なくとも１つの再構成可能なロジックデバイス上に配備され、ファームウェアソケットモジュールが、コマンドとターゲットデータの両方に共通の通信パスを介するデータ処理パイプラインへのコマンドとターゲットデータの両方の伝搬を制御するように構成され、各コマンドが、データ処理パイプラインによって実行されるべきデータ処理動作を制御し、ターゲットデータが、データ処理パイプラインが、命令されたデータ処理動作を実行する対象となるデータに対応し、
データ処理パイプラインが、直列に接続された複数のファームウェアアプリケーションモジュールを含み、
ファームウェアソケットモジュールが、コマンドおよびターゲットデータを、データ処理パイプラインの入口点に所定の順序で供給するようにさらに構成され、
所定の順序が、データ処理パイプライン全体にわたって保たれ、
ファームウェアソケットモジュールが、（１）外部入力記述子プールバッファにアクセスして、データ処理パイプラインに送られるべきコマンドおよびターゲットデータが、外部メモリ空間内のどこに格納されているかを特定するようにさらに構成され、入力記述子プールバッファが、コマンドおよびターゲットデータが、データ処理パイプラインに送られるべき順序を規定し、さらに（２）特定されたコマンドおよびターゲットデータを、外部メモリ空間からデータ処理パイプラインに、規定された順序に従って転送するようにさらに構成され、
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含み、
ファームウェアソケットモジュールが、ファームウェアソケットモジュールと、データ処理パイプラインの出口点との間の別の通信パスを有し、
前記ファームウェアソケットモジュールが、前記さらなる通信パスを介して前記データ処理パイプラインからの出力を受け取るようにさらに構成され、
ファームウェアソケットモジュールが、（１）第１の外部出力記述子プールバッファにアクセスして、データ処理パイプラインからのコマンド出力が格納されるべきメモリ空間内のロケーションを識別し、（２）第２の外部出力記述子プールバッファにアクセスして、データ処理パイプラインからのターゲットデータ出力が格納されるべきメモリ空間内のロケーションを識別し、（３）データ処理パイプラインからのコマンド出力およびターゲットデータ出力を、メモリ空間内のそれぞれの特定されたロケーションに書き込むようにさらに構成される、データ処理デバイス。
【請求項２１】
プロセッサと、
プロセッサによって管理されるメモリ空間と、
配備された少なくとも１つのファームウェアアプリケーションモジュールと、少なくとも１つのファームウェアアプリケーションモジュールをプロセッサおよびメモリと結び付けるファームウェアソケットモジュールとを含み、ファームウェアソケットモジュールと少なくとも１つのファームウェアアプリケーションモジュールが、通信パスを介して互いに通信する再構成可能なロジックデバイスと、
再構成可能なロジックデバイスが、プロセッサおよびメモリ空間と通信するバスとを含むデータ処理システムであって、
ファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るデータストリームに対してデータ処理動作を実行するように構成され、
ファームウェアソケットモジュールが、（１）プロセッサによって管理される外部バッファから複数のポインタを読み取って、少なくとも１つのファームウェアアプリケーションモジュールに送られるべき複数のコマンドおよびターゲットデータが位置するメモリ空間内のロケーションを特定し、（２）読み取られたポインタから特定された複数のコマンドとターゲットデータの両方をメモリ空間から受け取るように構成され、
ファームウェアソケットモジュールが、受け取られたコマンドおよびターゲットデータを、ファームウェアソケットモジュールと、少なくとも１つのファームウェアアプリケーションモジュールとの間の同一の通信パスを介して、少なくとも１つのファームウェアアプリケーションモジュールに供給するようにさらに構成され、各コマンドが、少なくとも１つのファームウェアアプリケーションモジュールによって実行されるデータ処理動作を制御し、ターゲットデータが、少なくとも１つのファームウェアアプリケーションモジュールのデータ処理動作が実行される対象となるデータを含み、
ファームウェアソケットモジュールが、複数のポインタに関して１つのポインタから次のポインタに進みながら、プロセッサによる介入なしに、複数のポインタを読み取るようにさらに構成される、システム。
【請求項２２】
ファームウェアソケットモジュールが、（１）コマンドおよびターゲットデータを、インタリーブされ、順序付けられたコマンドとターゲットデータのストリームとして受け取り、（２）ファームウェアソケットモジュールが、同一の通信パスを介してストリームを少なくとも１つのファームウェアアプリケーションモジュールに供給する際に、順序、または順序付けられたコマンドとターゲットデータを保つようにさらに構成される、請求項２１に記載のシステム。
【請求項２３】
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含む、請求項２２に記載のシステム。
【請求項２４】
少なくとも１つのファームウェアアプリケーションモジュールが、パイプラインに構成された複数のファームウェアアプリケーションモジュールを含み、パイプラインにおけるファームウェアアプリケーションモジュールのそれぞれが、ストリームのコマンドおよびターゲットデータを、ファームウェアソケットモジュールが、コマンドおよびターゲットデータを供給したのと同一の順序で、順次に処理するように構成される、請求項２３に記載のシステム。
【請求項２５】
複数のコマンドが、パイプラインにおけるファームウェアアプリケーションモジュールの個々のモジュールに固有である、請求項２４に記載のシステム。
【請求項２６】
ファームウェアアプリケーションモジュールとファームウェアソケットモジュールが、チェーンに構成され、ファームウェアソケットモジュールが、インタリーブされ、順序付けられたコマンドとターゲットデータのストリームを、パイプラインにおけるファームウェアアプリケーションモジュールの第１のモジュールに供給する、請求項２４に記載のシステム。
【請求項２７】
プロセッサが、外部バッファの中にポインタを保持して、パイプラインによって処理されるコマンドおよびターゲットデータの順序を規定する順序で、ポインタが、外部バッファ内に格納されるようにデバイスドライバを有してさらに構成される、請求項２４に記載のシステム。
【請求項２８】
コマンドおよびターゲットデータが、複数のメモリアドレスでメモリ空間内に格納され、ポインタが、対応するコマンドおよびターゲットデータが格納されているメモリアドレスをポイントする、請求項２７に記載のシステム。
【請求項２９】
チェーンを通してグループとして処理されるべきターゲットデータが、メモリアドレスに対するポインタが、外部バッファの中に格納されるのと同一の順序で、隣接するメモリアドレスに格納される、請求項２８に記載のシステム。
【請求項３０】
データ処理動作が、検索動作、暗号化動作、解読動作、圧縮動作、伸張動作、およびデータ縮約動作から成るグループの少なくとも２つの動作を含む、請求項２３に記載のシステム。
【請求項３１】
プロセッサを含むコンピュータシステムのバスに接続するためのデータ処理カードであって、
再構成可能なロジックデバイスを含み、再構成可能なロジックデバイス上には、ファームウェアアプリケーションモジュールパイプラインと、ファームウェアモジュールとが配備されており、
ファームウェアモジュールが、ファームウェアアプリケーションモジュールパイプラインを、ターゲットデータおよびコマンドの少なくとも１つの外部源に結び付けるように構成され、コマンドが、ファームウェアアプリケーションモジュールパイプラインが、どのようにターゲットデータを処理するかを制御し、
ファームウェアアプリケーションモジュールパイプラインが、シーケンスに配置された複数のファームウェアアプリケーションモジュールを含み、各ファームウェアアプリケーションモジュールが、ターゲットデータに対してデータ処理を実行するように構成され、ファームウェアアプリケーションモジュールパイプラインが、ファームウェアモジュールから、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに至るエントリ通信パスを有し、
ファームウェアモジュールが、エントリ通信パスを介して、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに、インタリーブされたコマンドとターゲットデータのストリームを供給することによって、ファームウェアアプリケーションモジュールパイプラインが、ターゲットデータをどのように処理するかを制御するようにさらに構成され、コマンドおよびターゲットデータが、ストリーム内で規定された順序を有し、
ファームウェアモジュールが、プロセッサによって管理される外部バッファの中に格納されたエントリを読み取って、ファームウェアアプリケーションモジュールパイプラインに供給されるべきコマンドおよびターゲットデータを決定するように構成され、外部バッファ内のエントリの順序が、ストリーム内のコマンドおよびターゲットデータの順序を規定し、ファームウェアモジュールが、外部バッファ内の複数のエントリを読み取って、ファームウェアモジュールが、プロセッサによる干渉なしに、複数のエントリの１つのエントリから次のエントリに進むようにするように構成され、
ファームウェアアプリケーションモジュールパイプラインが、ストリームのコマンドおよびターゲットデータを、それらのコマンドおよびターゲットデータが、ストリーム内で順序付けられていたのと同一の順序でファームウェアアプリケーションモジュールのシーケンスを通して順次に処理するように構成される、カード。
【請求項３２】
外部バッファエントリが、コマンドおよびターゲットデータが格納されている少なくとも１つの外部源内のアドレスに対するポインタを含み、ファームウェアモジュールが、少なくとも１つの外部源にアクセスして、アドレスから、定義された順序に従ってコマンドおよびターゲットデータを取り出すようにさらに構成される、請求項３１に記載のデータ処理カード。
【請求項３３】
複数のコマンドが、シーケンスにおけるファームウェアアプリケーションモジュールの個々のモジュールに固有である、請求項３２に記載のデータ処理カード。
【請求項３４】
コンピュータシステムのバスに接続するためのデータ処理カードであって、
再構成可能なロジックデバイスを含み、再構成可能なロジックデバイスには、ファームウェアアプリケーションモジュールパイプラインおよびファームウェアモジュールが配備されており、
ファームウェアモジュールが、ファームウェアアプリケーションモジュールパイプラインを、ターゲットデータおよびコマンドの少なくとも１つの外部源に結び付けるように構成され、コマンドが、ファームウェアアプリケーションモジュールパイプラインが、どのようにターゲットデータを処理するかを制御し、
ファームウェアアプリケーションモジュールパイプラインが、シーケンスに配置された複数のファームウェアアプリケーションモジュールを含み、各ファームウェアアプリケーションモジュールが、ターゲットデータに対してデータ処理動作を実行するように構成され、ファームウェアアプリケーションモジュールパイプラインが、ファームウェアモジュールから、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに至るエントリ通信パスを有し、
ファームウェアモジュールが、エントリ通信パスを介して、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに、インタリーブされたコマンドとターゲットデータのストリームを供給することによって、ファームウェアアプリケーションモジュールパイプラインが、ターゲットデータをどのように処理するかを制御するようにさらに構成され、コマンドとターゲットデータが、ストリーム内で規定された順序を有し、
ファームウェアモジュールが、外部バッファの中に格納されたエントリを読み取って、ファームウェアアプリケーションモジュールパイプラインに供給されるべきコマンドおよびターゲットデータを決定するように構成され、外部バッファの中のエントリの順序が、ストリーム内のコマンドおよびターゲットデータの順序を規定し、
ファームウェアアプリケーションモジュールパイプラインが、ストリームのコマンドおよびターゲットデータを、それらのコマンドおよびターゲットデータが、ストリーム内で順序付けられていたのと同一の順序でファームウェアアプリケーションモジュールのシーケンスを通して順次に処理するように構成され、
外部バッファエントリが、コマンドおよびターゲットデータが格納されている少なくとも１つの外部源内のアドレスに対するポインタを含み、
ファームウェアモジュールが、少なくとも１つの外部源にアクセスして、アドレスから、規定された順序に従ってコマンドおよびターゲットデータを取り出すようにさらに構成され、
複数のコマンドが、シーケンスにおけるファームウェアアプリケーションモジュールの個々のモジュールに固有であり、
コマンドの少なくとも１つが、シーケンスにおけるファームウェアアプリケーションモジュールの１つへのパススルーコマンドを含む、カード。
【請求項３５】
コマンドによって定義されるデータ処理動作が、検索動作、データ縮約動作、暗号化動作、解読動作、圧縮動作、伸張動作、およびパススルー動作から成るグループの少なくとも２つの動作を含む、請求項３３に記載のデータ処理カード。
【請求項３６】
コンピュータシステムのバスに接続するためのデータ処理カードであって、
再構成可能なロジックデバイスを含み、再構成可能なロジックデバイスには、ファームウェアアプリケーションモジュールパイプラインおよびファームウェアモジュールが配備されており、
ファームウェアモジュールが、ファームウェアアプリケーションモジュールパイプラインを、ターゲットデータおよびコマンドの少なくとも１つの外部源に結び付けるように構成され、コマンドが、ファームウェアアプリケーションモジュールパイプラインが、どのようにターゲットデータを処理するかを制御し、
ファームウェアアプリケーションモジュールパイプラインが、シーケンスに配置された複数のファームウェアアプリケーションモジュールを含み、各ファームウェアアプリケーションモジュールが、ターゲットデータに対してデータ処理動作を実行するように構成され、ファームウェアアプリケーションモジュールパイプラインが、ファームウェアモジュールから、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに至るエントリ通信パスを有し、
ファームウェアモジュールが、エントリ通信パスを介して、シーケンスにおけるファームウェアアプリケーションモジュールの第１のモジュールに、インタリーブされたコマンドとターゲットデータのストリームを供給することによって、ファームウェアアプリケーションモジュールパイプラインが、ターゲットデータをどのように処理するかを制御するようにさらに構成され、コマンドとターゲットデータが、ストリーム内で規定された順序を有し、
ファームウェアモジュールが、外部バッファの中に格納されたエントリを読み取って、ファームウェアアプリケーションモジュールパイプラインに供給されるべきコマンドおよびターゲットデータを決定するように構成され、外部バッファの中のエントリの順序が、ストリーム内のコマンドおよびターゲットデータの順序を規定し、
ファームウェアアプリケーションモジュールパイプラインが、ストリームのコマンドおよびターゲットデータを、それらのコマンドおよびターゲットデータが、ストリーム内で順序付けられていたのと同一の順序でファームウェアアプリケーションモジュールのシーケンスを通して順次に処理するように構成され、
外部バッファエントリが、コマンドおよびターゲットデータが格納されている少なくとも１つの外部源内のアドレスに対するポインタを含み、
ファームウェアモジュールが、少なくとも１つの外部源にアクセスして、アドレスから、規定された順序に従ってコマンドおよびターゲットデータを取り出すようにさらに構成され、
複数のコマンドが、シーケンスにおけるファームウェアアプリケーションモジュールの個々のモジュールに固有であり、
コマンドによって規定されるデータ処理動作が、検索動作、データ縮約動作、暗号化動作、解読動作、圧縮動作、伸張動作、およびパススルー動作から成るグループの少なくとも２つの動作を含み、
ファームウェアアプリケーションモジュールパイプラインが、シーケンスにおけるファームウェアアプリケーションモジュールの最後のモジュールからファームウェアモジュールに至るエグジット通信パスをさらに有し、
シーケンスにおけるファームウェアアプリケーションモジュールの最後のモジュールによって実行される各データ処理動作が、出力を生成し、
ファームウェアモジュールが、（１）エグジット通信パスを介してシーケンスにおけるファームウェアアプリケーションモジュールの最後のモジュールから出力を受け取り、（２）外部バッファの中に格納されたエントリを読み取って、出力が格納されるべき少なくとも１つの外部源内の複数のロケーションを決定し、（３）決定されたロケーションにおいて少なくとも１つの外部源に出力を書き込むようにさらに構成される、カード。
【請求項３７】
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含む、請求項３１に記載のデータ処理カード。
【請求項３８】
ソフトウェアを介して再構成可能なロジックデバイスを通るデータの処理を制御するシステムであって、
プロセッサによって実行されるための、複数のメモリアドレスにおいてデータが格納されたメモリ空間を管理するように構成されたデバイスドライバソフトウェアと、
バスを介してデバイスドライバソフトウェアおよびメモリ空間と通信するための再構成可能なロジックデバイスとを含み、
少なくとも１つのファームウェアアプリケーションモジュール、およびファームウェアソケットモジュールが、再構成可能なロジックデバイス上に配備され、
少なくとも１つのファームウェアアプリケーションモジュールが、ファームウェアアプリケーションモジュールが受け取るターゲットデータに対してデータ処理動作を実行するように構成され、
デバイスドライバソフトウェアが、複数のコマンドをメモリ空間内に格納するように構成され、各コマンドが、少なくとも１つのファームウェアアプリケーションモジュールによって実行されるべきデータ処理動作を制御することに向けられ、
デバイスドライバソフトウェアが、コマンドおよびデータが、少なくとも１つのファームウェアアプリケーションモジュールを通して処理されるべき順序を規定する入力記述子プールバッファをメモリ空間内に保持するようにさらに構成され、
ファームウェアソケットモジュールが、（１）入力記述子プールバッファにアクセスして、少なくとも１つのファームウェアアプリケーションモジュールを通して処理されるべき順序付けられたコマンドおよびデータに関する複数の順序付けられた入力記述子を特定して、ファームウェアソケットモジュールが、プロセッサによる介入なしに、順序付けられた１つの順序付けられた入力記述子から次の入力記述子に進むようにし、（２）メモリ空間にアクセスして、規定された順序に従って、コマンドおよびデータを少なくとも１つのファームウェアアプリケーションモジュールに転送するように構成される、システム。
【請求項３９】
少なくとも１つのファームウェアアプリケーションモジュールが、第１のファームウェアアプリケーションモジュールを含むパイプライン化されたシーケンスに配置された複数のファームウェアアプリケーションモジュールを含み、ファームウェアソケットモジュールが、通信パスを介して、パイプライン化されたシーケンスの第１のファームウェアアプリケーションモジュールと通信しており、ファームウェアソケットモジュールが、コマンドとデータを、同一の通信パスを介して、パイプライン化されたシーケンスにおける第１のファームウェアアプリケーションモジュールに転送するようにさらに構成される、請求項３８に記載のシステム。
【請求項４０】
各コマンドが、そのコマンドが適用可能であるパイプライン化されたシーケンスにおけるファームウェアアプリケーションモジュールを特定するファームウェアアプリケーションモジュール識別子を含む、請求項３９に記載のシステム。
【請求項４１】
デバイスドライバソフトウェアが、ファームウェアアプリケーションモジュールのパイプライン化されたシーケンスを通して処理されるべきコマンドおよびデータが格納されているメモリ空間内のメモリアドレスに対する複数のポインタをデバイスドライバソフトウェアの中に格納することによって、入力記述子プールバッファを保持するようにさらに構成され、入力記述子プールバッファの中のポインタの順序が、ファームウェアソケットモジュールによってファームウェアアプリケーションモジュールのパイプライン化されたシーケンスにコマンドおよびデータが供給される順序を定義する、請求項４０に記載のシステム。
【請求項４２】
再構成可能なロジックデバイスが、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）を含み、システムが、プロセッサによって実行されるためのアプリケーションソフトウェアと、プロセッサによって実行されるためのモジュールアプリケーションプログラミングインタフェースソフトウェアとをさらに含み、アプリケーションソフトウェアが、（１）ファームウェアアプリケーションモジュールのパイプライン化されたシーケンスによって実行されるべき少なくとも１つのデータ処理動作と、（２）ファームウェアアプリケーションモジュールのパイプライン化されたシーケンスが、少なくとも指定されたデータ処理動作を実行する対象となるデータとを指定する入力をユーザから受け取るように構成され、モジュールアプリケーションプログラミングインタフェースソフトウェアが、アプリケーションソフトウェアをデバイスドライバソフトウェアに結び付けるように構成されて、デバイスドライバソフトウェアが、入力記述子プールバッファおよびメモリ空間をユーザ入力に従って適切に管理するようにする、請求項４１に記載のシステム。
【請求項４３】
前記デバイスドライバソフトウェアが、ファームウェアアプリケーションモジュールのパイプライン化されたシーケンスにデータが供給されるべき順序と同一の順序で、メモリ空間の隣接するメモリアドレスに、パイプライン化されたシーケンスを通して処理されるべきデータを格納するようにさらに構成される、請求項４１に記載のシステム。
【請求項４４】
少なくとも１つの再構成可能なロジックデバイス上に配備されたファームウェアアプリケーションモジュールのパイプラインを、再構成可能なロジックデバイスの外部にあり、プロセッサによって管理されるメモリ空間に結び付けるためのデバイスであって、
少なくとも１つの再構成可能なロジックデバイス上に配備されたファームウェアモジュールを含み、ファームウェアモジュールが、（１）外部メモリ空間にアクセスして、複数のコマンド、および複数のターゲットデータグループに関する入力記述子を特定して、ファームウェアモジュールが、プロセッサによる介入なしに、複数の入力記述子に関して１つの入力記述子から次の入力記述子に進むようにし、（２）外部メモリ空間にシリアルアクセスして、アクセスされた入力記述子に対応する複数のコマンド、および複数のターゲットデータグループを或る順序で取り出し、（３）取り出されたコマンドとターゲットデータグループの両方を、ファームウェアモジュールをパイプラインの入口点に接続する共通の通信パスを介して、同一の順序で単一のインタリーブされたストリームとして、パイプラインの入口点に送るように構成され、パイプラインにおける各ファームウェアアプリケーションモジュールが、そのファームウェアアプリケーションモジュールが受け取るターゲットデータに対してデータ処理動作を実行するように構成され、各コマンドが、パイプラインにおける少なくとも１つのファームウェアアプリケーションモジュールのデータ処理動作を制御するように構成される、デバイス。
【請求項４５】
外部メモリ空間内の入力記述子の順序が、コマンドとターゲットデータグループが、ストリームの中でインタリーブされるべき順序を定義する、請求項４４に記載のデバイス。