(57)【特許請求の範囲】
【請求項１】
試験中のソフトウェア・シミュレートされたネットワーク・トランスポータを検証する方法において：
データ・パケットの第１の１組の構成要素のコピーを擬似先入れ先出しバッファに保管するステップであって、前記第１の１組の構成要素が前記データ・パケットに固有でありこれを記述しているステップと；
前記保管するステップと同時に、第１の１組の構成要素を有する前記データ・パケットを、最初のシーケンスを有する順序で前記ネットワーク・トランスポータへ送るステップと；
それぞれが前記第１の１組の構成要素の対応する構成要素を有する第２の１組の構成要素を前記ネットワーク・トランスポータから受けるステップと；
前記第２の１組の構成要素が前記最初のシーケンスとは異なる順序でネットワーク・トランスポータから受け取られた場合に、前記擬似先入れ先出しバッファの前記第１の１組の構成要素を前記第２の１組の構成要素のそれぞれが受け取られた順序に対応するように再順序付けするステップと；
前記第２の１組の構成要素のそれぞれが前記再順序付けされた第１の１組の構成要素と一致するか否かを判定するために、前記第２の１組の構成要素のそれぞれが受け取られた際に、前記再順序付けされた第１の１組の構成要素のそれぞれを前記データ・パケットの対応する前記第２の１組の構成要素と比較するステップと
を含む方法。
【請求項２】
データをホスト側と物理側の間で転送するために試験中のソフトウェア・シミュレートされたネットワーク・トランスポータを検証する装置において：
パケットが試験のために前記ネットワーク・トランスポータに同時にポストされた場合、前記パケットに関する第１の１組の構成要素のコピーを記憶する擬似先入れ先出しバッファであって、前記第１の１組の構成要素が前記パケットに固有でありこれを記述しており、最初のシーケンスの順序である擬似先入れ先出しバッファと；
前記第１の１組の構成要素のそれぞれを前記パケットの前記第２の１組の構成要素の対応するそれぞれと比較するために前記擬似先入れ先出しバッファに結合された比較器であって、一度前記パケットが前記ネットワーク・トランスポータによって処理され出力されると、前記第２の１組の構成要素が前記パケットから抽出され、前記第２の１組の構成要素のそれぞれが前記最初のシーケンスとは異なる順序で抽出された場合、前記擬似先入れ先出しバッファの前記第１の１組の構成要素が前記第２の１組の構成要素が抽出された順序に対応するように再順序付けされる比較器と
を含む装置。
【請求項３】
データをホスト側と物理側の間で転送するために試験中のソフトウェア・シミュレートされたネットワーク・トランスポータを検証するコンピュータ・システムにおいて：
前記ネットワーク・トランスポータに同時にポストされたパケットに関する第１の１組の構成要素を記憶する擬似先入れ先出しバッファであって、前記第１の１組の構成要素が前記パケットに固有でありこれを記述しており、最初のシーケンスの順序である擬似先入れ先出しバッファと；
前記第１の１組の構成要素のそれぞれを前記パケットの対応する第２の１組の構成要素と比較するために前記擬似先入れ先出しバッファに結合された比較器であって、一度前記パケットが前記ネットワーク・トランスポータによって処理され出力されると、前記第２の１組の構成要素のそれぞれが前記パケットから抽出され、前記第２の１組の構成要素のそれぞれが前記最初のシーケンスとは異なる順序で抽出された場合、前記擬似先入れ先出しバッファの前記第１の１組の構成要素が前記第２の１組の構成要素が抽出された順序に対応するように再順序付けされる比較器と
を含む装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明の方法および装置は、ネットワーク・トランスポータ、たとえば、試験中のアプリケーション特有の集積回路の検証分野に関する。詳細には、本発明は、ネットワーキング環境でのネットワーク・トランスポータの検証に関する。
【０００２】
【従来の技術】
通常、ネットワーキング・アプリケーションにおいてネットワーク・トランスポータを検証するには、ある形式のデータを、シミュレートされたネットワーク・トランスポータの一端に加え、他端で何らかの他の形式で受信する。受信されたデータは、送信されたデータとビットごとに比較され、試験中のネットワーク・トランスポータの機能が検証される。この場合、通常、ネットワーク・トランスポータの各側でデータを記憶し、次いでシミュレーション全体が完了した後に比較する必要がある。
【０００３】
ネットワーキング・アプリケーションにおいてネットワーク・トランスポータを検証する従来型の手法の欠点は、試験を実行するために、無作為試験のシミュレーションを長期間にわたって実行しなければならないことである。そのような試験では、シミュレーションの終わりに比較する必要がある大量のデータ・ファイルが生成される。したがって、従来型の手法では、大量のディスクまたはその他の記憶空間が必要である。また、シミュレーションの最終結果は、２日または３日以上かかるシミュレーションが終了するまで実現することができない。
【０００４】
図１は、試験中のネットワーク・トランスポータを検証する簡単な例を示す。ネットワーク・トランスポータ１００は試験中のネットワーク・トランスポータである。ネットワーク・トランスポータ１００の一端で、ネットワーク・トランスポータ１００にパケットが投函（ポスト）される。ネットワーク・トランスポータ１００の他端でパケットが受信される。ネットワーク・トランスポータ１００にパケットがポストされると、ファイル、たとえば、ポスト中のパケットから得たデータを含むファイルＡ１０２が生成される。ネットワーク・トランスポータ１００の他端でパケットが受信された後、通常、第２のファイル、たとえばファイルＢ１０４が生成される。シミュレーションの終わりに、ファイルＡ１０２とファイルＢ１０４が比較される。この比較の結果は、試験中のシミュレートされたネットワーク・トランスポータ１００がエラーを有するかどうかを表す。たとえば、ファイルＡ１０２の内容とファイルＢ１０４の内容を比較して、それらが同じであるかどうかを調べることができる。したがって、試験中のネットワーク・トランスポータに応じて、パケットがポストされネットワーク・トランスポータ１００の他端でパケットが受信された後、生成されるそれぞれのファイルは通常同じデータを有する。そうでない場合、これは、ネットワーク・トランスポータ１００にエラーが存在することを示すであろう。
【０００５】
通常、試験では、試験中のネットワーク・トランスポータを試験するために多数のパケットがポストされる。従来型の手法の下では、すべてのパケットがポストされ受信され、それぞれのファイルが生成されるまで試験結果は明らかにならない。第１または第２のパケットがエラーを示す場合でも、シミュレーションが完了するまで試験結果を得ることはできない。前述のように、従来型のこの手法は、試験結果を生成するのに時間がかかるだけでなく、主として、生成しなければならずかつシミュレーションの終わりに比較されるファイル中の、多量のメモリ空間も消費する。
【０００６】
【発明が解決しようとする課題】
したがって、従来型の手法と比較して短い期間で試験結果を生成することができ、従来型の手法ほど多量のメモリを使用する必要なしに試験を実行し試験結果を生成することもできる方法および装置を有することが望ましい。
【０００７】
【課題を解決するための手段】
大量のメモリを必要とせずにネットワーク・トランスポータを通じて試験パケットをポストし、短期間で結果を生成することによって、試験を実行し試験結果を生成することができる、試験中のネットワーク・トランスポータを検証する方法および装置を開示する。
【０００８】
本発明は、１つまたは複数のＦＩＦＯ（先入れ先出しバッファ）を使用するものであり、試験中のネットワーク・トランスポータに各パケットがポストされたときに各パケットの試験情報がこのＦＩＦＯに記憶される。ネットワーク・トランスポータの他方の側で対応するパケットが受信された直後に、試験情報と受信パケットが比較され、試験結果が生成される。そのような比較が行われ完了し、試験結果が生成された直後に、ＦＩＦＯに記憶されている対応する試験情報が破棄され、使用された対応するメモリ空間が次のパケットの試験情報のために解放される。
【０００９】
各パケットの試験情報をたとえばファイルに保存する必要がある従来型の手法とは異なり、本発明の手法では、シミュレーションが完了し、したがって大量のメモリを使用することが必要になるまで、ポストされたパケットに関する試験情報を保存するだけでよい。本発明は、ネットワーク・トランスポータの他方の側で試験情報が比較された直後にそのような試験情報を記憶する対応するメモリ空間を解放する。
【００１０】
試験情報の一部としてＦＩＦＯに記憶しなければならないパケット用のデータはＣＲＣ（巡回冗長検査）データを含む。データ検査用のＣＲＣはシステムと媒体との間で使用することができ、擬似ＦＩＦＯを使用して制御を渡すことができる。ある種のパケットは、ＦＩＦＯによって各部分ごとに（すなわち、情報へのチャネル２．１、２．２、２．３）受信することができ、その場合、各部分は、２．１が受信された後、続いて２．２が受信されると仮定できるように正しい順序付けで自動的に順序付けられる。
【００１１】
ネットワーク・インタフェース・カード実施態様では、本発明によって、送信元が、宛先で受信されたパケットと突き合わせて検査するために送信するパケットを記憶することが不要になる。数日にわたる長いシミュレーションを実行する際には、本発明を使用することがさらに必要になる。本発明の利点は、ＡＴＭ（非同期転送法）、ＦＤＤＩ（ファイバ分散データ・インタフェース）、イーサネット検証に適用することもできる。
【００１２】
例示的な実施態様では、ＮＩＣ（ネットワーク・インタフェース回路）、検証または同様な作業にＣＲＣを適用して、ホスト・メモリと媒体インタフェースとの間のデータ転送に関するシミュレーション環境でのデータの完全性を検証することができる。本発明の他の利点は、どのパターンがどのパケットに属するかを分類するデータ管理を実行せずに、試験中のネットワーク・トランスポータのどちらかの側（媒体またはホスト・メモリ）からデータを送信できることである。
【００１３】
試験中のネットワーク・トランスポータを検証する本発明の方法および装置はしたがって、従来型の手法よりも優れている。本発明は、試験中に必要とされるメモリ空間の量を節約するだけでなく、試験結果を得るために必要な時間を節約することができ、したがって潜在的製品を試験するための製品ターンアラウンド速度を高めることができる。さらに、メモリ節約および時間節約の利点のために、本発明の検証方法は、実際のハードウェア実施の前にシミュレートすることができるネットワーク・トランスポータその他のハードウェア構成要素の試験に関する新しい規格および手法を確立する。
【００１４】
【発明の実施の形態】
本発明は、従来型の検証手法によって使用されるメモリ空間および時間の量を低減させる、試験中のネットワーク・トランスポータを検証する方法および装置である。
【００１５】
図２は、コンピュータ上で使用される本発明の例示的な実施形態を示すブロック図である。コンピュータ２００は、メモリ２０４に結合されたＣＰＵ２０２を有する。コンピュータ２００は、モニタ２０６と、キーボード２０８と、モデム２１０とを含む、コンピュータ２００自体に取り付けられた様々な周辺装置を有することができる。Ｖｅｒｉｌｏｇ−ＨＤＬなどのハードウェア・シミュレータ２１２を、試験すべきハードウェアの例をシミュレートするためにメモリ２０４に置くことができる。ハードウェア・シミュレータ２１２は、それぞれの異なるハードウェア構成要素２１４をシミュレートすることができる。メモリ２０４はオペレーティング・システム２１６も有する。本発明を用いた場合、シミュレートされたある種のハードウェア構成要素２１４の試験は、従来型の手法よりも高速に、かつより少ないメモリ消費量で実行される。
【００１６】
図３は、本発明の例示的な実施形態を示す。ハードウェア・シミュレーション２１４で、シミュレートされたチップ３００は、ホスト・メモリ３１２によって送信されるパケットによって試験される。そのようなパケットは、シミュレートされたチップ３００内で処理され、シミュレートされた物理層３１６上に渡される。物理層は、パケットを転送するために使用される実際の物理媒体を表す。シミュレートされたホスト・メモリ３１２によってシミュレータ・チップ３００にパケットがポスト（投函）されると、同時に、パケットの固有の情報がＴＸ擬似ＦＩＦＯ３１４に保存される。シミュレートされたチップ３００にポストすべき所与のパケットのそのような固有の情報の例示的な内容を図６の説明に示す。パケットは、シミュレートされた物理層３１６側で受信された後、ホスト・メモリ３１２によって前にポストされたパケットの固有の情報と比較される。情報が同じである場合、試験結果は合格とみなされる。そのような試験情報（構成要素）は、そのような結果が生成された直後に出力することも、あるいはセッションの終わりに出力することもできる。
【００１７】
データを入力された順序で出力する正規のＦＩＦＯとは異なり、チップ３００から物理環境３１６に受信されたパケット情報と比較すべき正しいパケット情報を検索するために擬似ＦＩＦＯの検索を実行しなければならないので、シミュレートされたＦＩＦＯ３１４を本明細書では「擬似」ＦＩＦＯと呼ぶ。ある種のパケットは、ＦＩＦＯによって各部分ごとに（すなわち、情報へのチャネル２．１、２．２、２．３）受信することができ、その場合、各部分は、２．１が受信された後、続いて２．２が受信されると仮定できるように正しい順序付けで自動的に順序付けられる。対応するパケット情報がすでに物理層によって処理されている（すなわち、チップ３００から物理層３１６に受信されたパケット情報と比較されている）かどうかを示すフラグを擬似ＦＩＦＯに入力される各パケット情報ごとに使用することができる。たとえば、すでに処理されているパケット情報に対応するフラグは値零を有し、それに対して、まだ処理されていないパケット情報に対応するフラグは値１を有する。したがって、擬似ＦＩＦＯから必要なパケット情報を検索する際は、まず擬似ＦＩＦＯが、パケット情報がＦＩＦＯに記憶されている順序で検索され、各パケット情報ごとのフラグが、対応するパケット情報がすでに処理されているかどうかを調べるために検査される。対応するパケット情報が処理されていない場合、そのパケット情報が検査され、最近物理層３１６によってチップ３００から受信されたパケット情報と比較する必要があるパケット情報であるかどうかが調べられる。このプロセスは、物理層３１６によってチップ３００から新しいパケット情報が受信されたときに繰り返される。
【００１８】
シミュレートされた物理層が、シミュレートされたホスト・メモリ３１２へパケットを送信する際に従うプロセスは、そのパケットが、シミュレートされたホスト・メモリ３１２によって、シミュレートされた物理層３１６にポストされたときと同じものである。したがって、シミュレートされた物理層３１６がパケットを送信する際、そのパケットの固有の情報はＲＸ擬似ＦＩＦＯ３１８に記憶される。チップ３００の他方の側で、対応するパケットが、シミュレートされたホスト・メモリ３１２によって受信された後、シミュレートされた物理層３１６によってＲＸ擬似ＦＩＦＯ３１８に記憶された最初に送信されたパケットの対応する固有の情報が、シミュレートされたホスト・メモリ３１２側の受信パケットと比較される。これらが同じである場合、このパケットに関する試験結果は合格であり、そうでない場合、試験結果は不合格である。ハードウェア・シミュレーション２１４を作成するハードウェア・シミュレータ２１２は、図示した構成要素を作成する際の例示的なツールとして示されている。
【００１９】
図４は、本発明のより詳細な実施形態を示す。図示したすべての構成要素は、シミュレートされたハードウェアである。例示的なこの実施形態では、ネットワーク・トランスポータ３１０が試験されている。シミュレートされたホスト・システム３１２によってパケットがポストされ、同時にパケットの固有の情報がＴＸ擬似ＦＩＦＯ３１４に記憶される。ポスティング（投函）は、パケット・ポスタ４００によって実行される。セル生成装置４０８がＶｅｒｉｌｏｇタスク（または実施可能なその他のハードウェア・シミュレータ）を通じて呼び出され、シミュレートされた物理環境３１６を通じてネットワーク・トランスポータ３１０に対してセルが生成される。パケット・グラバ４１０は、ＲＸパケットを検証する際に使用されるＳバスのデータを捕捉するのを助ける。パケットは、シミュレートされた物理層３１６へ送信された後、セル・グラバ４０２によって捕捉される。セル・グラバ４０２は、外部メモリ・バッファ３１９から送信されたすべてのセルを収集し、パケット全体に対するＣＲＣ計算を実行し、次いで、エラー検査のために、ＴＸ擬似ＦＩＦＯ３１８内に置かれたＣＲＣと、ネットワーク・トランスポータ３１０によって算出されたＣＲＣを比較する。例示的な実施形態では、ネットワーク・トランスポータ３１０は、Ｓバスを通じてＡＴＭインタフェースをホスト・メモリに接続するように設計された、単一のチップとのＳバスＡＴＭホスト・インタフェースであってよい。セルの固有の情報は、ＴＸ擬似ＦＩＦＯ３１４から比較器４０４へ送信される。本発明の一実施形態では、ＴＸ擬似ＦＩＦＯ３１４は前述の「擬似」ＦＩＦＯなので、パケット情報グラバは、シミュレートされたホスト・メモリ３１２側でもシミュレートされた物理層側３１６でも実施することができる。そのようなパケット情報グラバ（図示せず）は、適当な擬似ＦＩＦＯを検索し、セル・グラバ４０２またはパケット・グラバ４１０によって捕捉されたパケット情報に対応するパケット情報を捕捉する。パケット情報グラバは、対応するパケット情報が受信側プロセス（シミュレートされたホスト・メモリ３１２またはシミュレートされた物理層３１６）によって処理されたかどうかを示す擬似ＦＩＦＯ中の各パケット情報ごとのフラグを検査することによってこのタスクを形成する。パケット情報は、すでに処理されているパケット情報エントリをスキップし、セル・グラバ４０２によって捕捉されたパケット情報に対応する未処理の適当なパケット情報を捕捉する。比較器４０４は次いで、固有の情報をパケット中の対応する情報と比較し、試験結果が合格であるか、それとも不合格であるかを判定する。
【００２０】
セル生成装置４０８を含むパケット生成装置４０６は、シミュレートされたホスト・システム３１２へ送信されるパケットの形で試験情報を生成する。同時に、パケットの固有の情報がＲＸ擬似ＦＩＦＯ３１８に記憶される。パケットが、ネットワーク・トランスポータ３１０を介して、シミュレートされたホスト・システム３１２へ送信された後、パケット・グラバ４１０はパケットを捕捉し、ＲＸ比較機構４１２へ送信する。同時に、対応する固有の情報がＲＸ擬似ＦＩＦＯ３１８からＲＸ比較機構４１２へ送信される。ＲＸ比較機構４１２は、シミュレートされたホスト・メモリ３１２によって受信されたパケットのＣＲＣと、そのパケットのためにＲＸ擬似ＦＩＦＯ３１８内に置かれたＣＲＣとの間のＣＲＣ比較を実行し、ネットワーク・トランスポータ３１０が試験に合格するかどうかが判定される。
【００２１】
図５は、例示的なＡＴＭセルの通常のフォーマットを示す。ＡＴＭセル５００は様々なフィールドを有する。例示的なこのセル５００は５３バイトを有する。第１のバイトはＧＦＣ（汎用フロー制御）フィールドとＶＰＩ（仮想パス・インディケータ）フィールドとを有する。第２のバイトは、ＶＰＩフィールドとＶＣＩ（仮想チャネル識別子）フィールドとを有する。第３のバイトはＶＣＩフィールドを有する。第４のバイトは、ＶＣＩフィールドと、ＰＴＩ（ペイロード・タイプ・インディケータ）フィールドと、ＣＬＰ（セル喪失優先順位）フィールドとを有する。第５のバイトは、ＨＥＣ（ヘッダ・エラー・コード）フィールドを有する。セルの残りの部分は、４８バイトのデータからなる。これらのフィールドは、セルまたは対応するパケットが試験中のネットワーク・トランスポータにポストされたときにコピーしＦＩＦＯに保存することができる例示的な固有の情報を表す。ＰＴＩフィールドは、３ビット・フィールドであり、対応するセルがデータ・セルであるか、それともＲＭ（資源管理）セルであるかを定義するものでよい。ＣＬＰフィールド（セル喪失優先順位）は、対応するセルを優先順位付けるために使用される１ビット・フィールドでよい。ＣＬＰフィールドを通じて示される高い優先順位のセルは、低い優先順位のセルよりも前に送信することができる。ＰＴＩフィールドは、データ・セルがパケットの最後のセルである（ＥＯＰ）か、それともパケットの最後のセルではない（ＮＥＯＰ）かも示す。ＶＰＩは、所与のセルを送信すべき特定の仮想パスを示す。ＶＣＩは、セルが送信されるパケットの仮想チャネルを示す。セルが破壊された場合、そのセルはドロップされる。ＨＥＣは、バイト１、２、３、４に関するエラー訂正コードである。ＨＥＣ値に基づいて、ヘッダが破壊されているかどうかを知ることができる。
【００２２】
図６は、ＴＸ擬似ＦＩＦＯ３１８およびＲＸ擬似ＦＩＦＯ３１４の例示的なフォーマットを示す。ＦＩＦＯデータ・フォーマットは、ネットワーク・トランスポータを試験するために使用されるデータ（セルまたはパケット）と同じ深さのものでよい（すなわち、パケットおよびセルと対応する同数のエントリを含むことができる）。フィールドは、上記の図５に対応する説明で述べた様々なフィールドに対応する。図の擬似ＦＩＦＯのデータ・フォーマットは、例示的なものに過ぎず、本発明の特定の実施態様に応じ必要に応じて新しいフィールドを追加することも、あるいはフィールドを削除することもできる。
【００２３】
図７は、本発明を使用して試験中のネットワーク・トランスポータを検証するためのネットワーキング・アプリケーションを示す。コンピュータ・システム・ネットワーク７１０は、１つまたは複数のＡＴＭネットワーク・インタフェース回路（ＮＩＣ）７１２を組み込んだホスト・コンピュータ・システム（図示せず）を含む。ＮＩＣ７１２は、ネットワーク７１０に結合されたホスト・コンピュータ・システム間の非同期データ転送をイネーブルするためにローカルＡＴＭ交換機７１４を通じて公衆ＡＴＭ交換機７１６に結合される。別法として、ＮＩＣ７１２は公衆ＡＴＭ交換機７１６に直接結合することもできる。図７に示したように、コンピュータ・システム・ネットワーク７１０は、ＡＴＭネットワークをサポーティング・フレームワークとして使用するイーサネット・ネットワークやトークン・リング・ネットワークなど他のネットワークを接続するゲートウェイとして働くローカル・エリア・ネットワーク（「ＬＡＮ」）エミュレーション７１５の使用を組み込んだコンピュータ・システムを含むこともできる。ＮＩＣは、試験中のネットワーク・トランスポータを検証する本発明の方法および装置を使用して試験することができる。
【００２４】
図８は、シミュレートすることができ、かつ実際のハードウェアとして実現する前に、試験中のネットワーク・トランスポータを検証する本発明の手法を適用することができる例示的なチップを示す。ＡＴＭ  ＮＩＣ７１２は、システム・バス８３８を通じて、ＡＴＭプロトコルに従って動作するネットワーク媒体８４０に結合されたホスト・コンピュータ・システムとのインタフェースをとる。
【００２５】
図のＡＴＭ  ＮＩＣ７１２は、システム・バス・インタフェース８２０と、汎用入出力（「ＧＩＯ」）インタフェース８２４と、システム・ＡＴＭ層コア８２２と、ローカル・スレーブ・インタフェース８２６と、送信（ＴＸ）ＦＩＦＯアレイ８２８と、受信（ＲＸ）ＦＩＦＯアレイ８３０と、媒体インタフェース８３２と、外部バッファ・メモリ・インタフェース８３４と、クロック合成回路８３６とを含む。
【００２６】
ネットワーク・インタフェース回路７１２の要素８２０ないし８３６は共働して、複数の帯域幅群として動的に割り振られた複数のチャネルを通じてネットワーク中のホスト・コンピュータと他のコンピュータとの間でデータを非同期的に転送する。ネットワーク・インタフェース回路７１２の要素は全体として、ホスト・コンピュータ・システムのシステム・バス８３８に結合されたマルチチャネル・インテリジェント直接メモリ・アクセス（ＤＭＡ）制御装置として機能する。好ましい実施形態では、複数の送信チャネルおよび受信チャネルが、フル二重１５５／６２２Ｍｂｐｓ（毎秒メガビット）物理リンクを使用する仮想接続として実施される。複数のデータ・パケットが、システム・バス８３８を介し外部バッファ・メモリ・インタフェース８３４を介して外部バッファ・メモリ８４２へ至るそれぞれの異なるチャネルへ送られ、媒体インタフェース８３２を通じて媒体８４０へ送信できるようにシステム及びＡＴＭ層コア８２２によって送信セルとしてセグメント化される。
【００２７】
コア８２２は、受信パケットの再アセンブリを容易にする再アセンブリ論理機構も備える。ＴＸ  ＦＩＦＯ８２８およびＲＸ  ＦＩＦＯ８３０は、コア８２２と媒体インタフェース８３２との間に結合され、それぞれ、送信パケットおよび受信パケットの送信セル・ペイロードおよび受信セル・ペイロードをステージングするために使用される。媒体インタフェース８３２は、クロック合成回路８３６から提供されるクロック信号によって駆動され、ネットワークの媒体８４０との間でセルを送受信する。好ましくは、媒体、したがって媒体インタフェース８３２は、ＡＴＭフォーラム暫定仕様によって規定されたＡＴＭ汎用試験及び動作物理インタフェース（「ＵＴＯＰＩＡ」）規格を満たす。クロック合成回路８３６は、ＵＴＯＰＩＡ仕様を満たすために、２０ＭＨｚのクロック信号と４０ＭＨｚのクロック信号のどちらかを提供し、媒体インタフェース８３２が、１５５Ｍｂｐｓの場合に８ビット・ストリームを２０ＭＨｚでサポートし、あるいは６２２Ｍｂｐｓデータ・ストリームの場合に１６ビット・ストリームを４０ＭＨｚでサポートすることができるようにする。
【００２８】
本発明の実施形態では、媒体インタフェース８３２は、それぞれ、ＴＸ  ＦＩＦＯ８２８から得た４バイト・セル・ヘッダと４８バイト・ペイロードとを有する、５２バイト・データ・セルを受信する。媒体インタフェース８３２は、媒体８４０に５３バイト・データを提供する前に、チェックサムをセル・ヘッダの第５のバイトとして各セルに挿入する。逆に、媒体インタフェース８３２は、媒体８４０からセルを受信すると、各セルの第５のバイト中のチェックサムを調べ、そのチェックサムが正しいかどうかを判定する。そうである場合は、チェックサムを表すバイトがセルから除去され、セルがＲＸ  ＦＩＦＯ８３０へ転送される。そうでない場合は、セル全体がドロップされる。
【００２９】
ネットワーク・インタフェース回路７１２は、ホスト・コンピュータ・システム上で実行されるアプリケーションには非同期転送のセル記述の詳細が分からないようにする。本目的のため、ホスト・コンピュータ・システム上で実行されるアプリケーションが、ラップアラウンド送信リングおよび受信リングをパケット・インタフェースと共に使用して送信データおよび受信データを管理すると仮定される。しかし、本発明は、他のデータ構造を使用して送信データおよび受信データを管理するホスト・コンピュータ・システム上で実施されるアプリケーションと共に実施することができる。
【００３０】
システム・バス・インタフェース８２０および汎用入出力インタフェース８２４は、ホスト・コンピュータ・システムには媒体８４０への転送の詳細が分からないようにする。さらに、コア８２２にはシステム・バス８３８およびホスト・データ構造の詳細は分からない。本発明の好ましい実施形態では、アメリカ電子電気学界（「ＩＥＥＥ」）規格１４９６仕様に指定されたように、システム・バスはＳバスである。システム・バス・インタフェース８２０は、システム・バス、本発明の例ではＳバスの仕様に従って通信するように構成される。
【００３１】
システム・バス・インタフェース８２０をそれぞれの異なるホスト・コンピュータ・システム・バスに整合するように構成できることが企図される。システム・バス・インタフェース８２０は、汎用入出力インタフェース８２４によって指定されたプロトコルに従ってデータを送受信するようにも構成される。汎用入出力インタフェース８２４は、コア８２２がホスト・コンピュータと通信するための特有のインタフェースを形成する。したがって、コア８２２は、それぞれの異なるホスト・コンピュータ・システムおよびバスとのインタフェースをとるＮＩＣ７１２のそれぞれの異なる実施形態ごとに異なるものである必要はない。
【００３２】
記述子リング８５２および完了リング８５４を含むホスト・メモリ８５０がシステム・バス８３８に結合される。ホスト・メモリ８５０は、ＮＩＣ７１２を通じて媒体８４０からパケットを受信することができる。パケットがホスト・メモリ８５０に入ると、ソフトウェアは、受信したパケットを受け入れ、記述子リング８５２から読み取る。ソフトウェアは、ＤＭＡ状態を得ると、パケット中のデータをバッファ８５６内へ移動し、ＤＭＡ状態を完了リング８５４上に置く。
【００３３】
図９は、図８に示したネットワーク・トランスポータを試験するために実施される本発明の実施形態を示す。ＮＩＣは、Ｓバス・ベースのネットワーク・トランスポータであり、ＡＴＭ  ＳＡＲ（セグメント化および再アセンブリ）機能を実施する。ＮＩＣは、３２ビット・モードと６４ビット・モードの両方と、６４バイトまでのバーストをサポートすることができる。ネットワーク・トランスポータ８００は、３つのブロック、すなわち入出力（ＩＯ）、送信（ＴＸ）、受信（ＲＸ）に分割される。送信ブロックと受信ブロックは共に、ＡＴＭ  ＳＡＲ機能を実行する。ネットワーク・トランスポータは、ＳバスＨＭ（ホスト・メモリ）インタフェース・カードの核である。
【００３４】
ホスト環境と物理環境は、ネットワーク・トランスポータ８００、ＴＸ擬似ＦＩＦＯ３１４、ＲＸ擬似ＦＩＦＯ３１８のみを通じて通信する。送信動作では、ホスト環境は、ネットワーク・トランスポータ８００にパケットをポストし、ＴＸ擬似ＦＩＦＯ３１４内へ１つのエントリを送信する。セルが物理環境から出ると、物理環境はパケットを形成するようにセルを構成する。パケットが形成された後、物理環境は、ＴＸ擬似ＦＩＦＯ３１４から適当なエントリを削除し、パケットを検証する。反対の方向へ実行されることを除いて同じことがＲＸ擬似ＦＩＦＯ３１８にも当てはまる。
【００３５】
ＴＸ擬似ＦＩＦＯは、幅１１０ビットおよび深さ５１２エントリのＦＩＦＯとして実施することができる。ＲＸ擬似ＦＩＦＯ３１８は、幅１０９ビットおよび深さ４０９６エントリのＦＩＦＯとして実施することができる。ＦＩＦＯのフィールドの数は、ネットワーク・トランスポータの一端から他端へ送信する必要がある情報に依存する。ＦＩＦＯの深さは、ホスト環境側（ＴＸ擬似ＦＩＦＯ）および物理環境側（ＲＸ擬似ＦＩＦＯ）で待機させることができるパケットの数に依存する。この手法の１つの利点は、ＣＲＣ検査が使用されることである。送信する必要があるパケットがホスト環境によってポストされるとき、ＣＲＣが、その特定のパケットの他のヘッダ情報と共にＴＸ擬似ＦＩＦＯ３１４に書き込まれる。物理環境側は、このＣＲＣおよび他の情報を検索し、この情報を、ネットワーク・トランスポータ８００を通じて送信されたパケットの情報と比較し、データの完全性を検証する。この手法によって、両側でデータを記憶し、そのデータを個別に比較し、それによってシミュレーションを完了し最終結果を生成するために多量のメモリおよび長い時間を費やすことが回避される。
【００３６】
図１０は、本発明の例示的な実施形態が従うことができる一般的なステップを示す流れ図である。ステップ１０で、物理環境またはホスト・メモリからパケットが到着する。ステップ１１で、ＣＲＣとその他の情報とを含む、パケットの固有の情報が適当なＦＩＦＯに書き込まれる。ステップ１２で、パケットがチップにポスト（投函）される。ステップ１３で、パケットが試験中のチップによって処理される。ステップ１４で、パケットがチップの他方の側に（ホスト・メモリ環境または物理環境に）到着する。ステップ１５で、パケットが他方の側によって処理され、ＣＲＣとパケットの他の情報が計算される。ステップ１６で、適当なＦＩＦＯから適当なエントリが検索される。ステップ１７で、パケットに関するＣＲＣおよびその他の情報が、ＦＩＦＯから得た適当なパケット情報と比較される。ステップ１８で、結果の比較がユーザに示される。これらのステップは、もはやパケットがなくなり、すなわち試験データがなくなるまで繰り返され、ステップ１９で最終結果がユーザに示される。
【００３７】
試験中のネットワーク・トランスポータを検証する方法および装置について説明した。試験中のシミュレートされたネットワーク・トランスポータによって処理すべき試験パケットは、シミュレートされたホスト・システムとシミュレートされた物理環境との間で転送される。パケットが、シミュレートされたネットワーク・トランスポータにポストされるのと同時に、そのパケットに対応する固有の情報が擬似ＦＩＦＯに書き込まれ、擬似ＦＩＦＯは、ネットワーク・トランスポータによってパケットが出力されるまでこの固有の情報を保持する。シミュレートされたネットワーク・トランスポータがパケットの処理を完了し、シミュレートされたネットワーク・トランスポータの他方の側にパケットを出力した後、パケットのＣＲＣおよびその他の情報が計算され、ＦＩＦＯ中の対応するエントリと比較される。パケットの情報とＦＩＦＯ中のエントリが同じである場合、試験中のネットワーク・トランスポータは、特定のパケットに関する試験に合格し、そうでない場合、ユーザにエラー・メッセージを出力することができる。
【００３８】
パケットに関する結果が生成された後、ＦＩＦＯ中の対応する項目が破棄され、そのエントリによって占められていたメモリ空間が、将来使用できるように解放される。パケットの情報が比較されそのパケットに関する試験結果が得られるたびにメモリ空間が解放されるので、本発明の手法は、従来型の手法とは異なり大量のメモリ空間を使用することを必要としない。また、試験者／ユーザが各パケットの試験時に各パケットごとの試験結果を得ることができるので、ユーザは、シミュレートされたネットワーク・トランスポータを通じてパケットが処理された直後にエラー・データに応答することができる。したがって、シミュレーションが終了するまでユーザに試験結果を提供しない従来型の手法とは異なり、本発明の手法では、試験結果を迅速にユーザに提供する方法および装置が可能になる。
【００３９】
例示的なある実施形態を詳しく説明し、添付の図面に示したが、当業者なら様々な他の修正例を構想することができるので、そのような実施形態が広範囲な本発明を例示するものに過ぎず、本発明を制限するものではなく、かつ本発明が、図示し説明した特定の構成および構造に制限されないことが理解されよう。
【図面の簡単な説明】
【図１】  試験中のネットワーク・トランスポータの検証の簡単な例を示す図である。
【図２】  コンピュータ上で使用される本発明の例示的な実施形態を示すブロック図である。
【図３】  本発明の例示的な実施形態を示す図である。
【図４】  本発明のより詳細な実施形態を示す図である。
【図５】  例示的なセルの例示的なフォーマットを示す図である。
【図６】  ＴＸ擬似ＦＩＦＯ３１８およびＲＸ擬似ＦＩＦＯ３１４の例示的なフォーマットを示す図である。
【図７】  試験中のネットワーク・トランスポータを検証するために本発明を使用することができるネットワーキング・アプリケーションを示す図である。
【図８】  シミュレートすることができ、かつ実際のハードウェアとして実現する前に、試験中のネットワーク・トランスポータを検証する本発明の手法を適用することができる例示的なチップを示す図である。
【図９】  図８に示したネットワーク・トランスポータを試験するために実施される本発明の実施形態を示す図である。
【図１０】  本発明の例示的な実施形態が従うことができる一般的なステップを示す流れ図である。
【符号の説明】
３１０  ネットワーク・トランスポータ
３１２  ホスト・メモリ
３１４  ＴＸ擬似ＦＩＦＯ
３１６  シミュレートされた物理層
３１８  ＲＸ擬似ＦＩＦＯ
３１９  外部メモリ・バッファ
４００  パケット・ポスタ
４０２  セル・グラバ
４０４  比較器
４０６  パケット生成装置
４０８  セル生成装置
４１０  パケット・グラバ
４１２  ＲＸ比較機構
【図１】
0003802166.tif 000002
【図２】
0003802166.tif 000003
【図３】
0003802166.tif 000004
【図４】
0003802166.tif 000005
【図５】
0003802166.tif 000006
【図６】
0003802166.tif 000007
【図７】
0003802166.tif 000008
【図８】
0003802166.tif 000009
【図９】
0003802166.tif 000010
【図１０】
0003802166.tif 000011