(57)【要約】コンピュータ・システムは、サブシステム、別のサブシステム、それらのサブシステムに結合されたネットワークを含む。ネットワークは、複数のネットワーク・スライスを含む。一方のサブシステムは、パケットの複数スライスの各々をそれぞれ別個のネットワーク・スライス上で搬送することによって、他方のサブシステムにパケットを搬送するように構成される。サブシステムはまた、パケットに関連する冗長情報を少なくとも１つの追加ネットワーク・スライス上で搬送する。冗長データは、パケットの少なくとも１つのスライスを再生するのに使用する。
2005531978.tif 000002
【特許請求の範囲】
【請求項１】
クライアント・サブシステムと、
他のクライアント・サブシステムと、
前記クライアント・サブシステムと前記他のクライアント・サブシステムに結合され、複数のネットワーク・スライスを含むネットワークを含むコンピュータ・システムであって、
前記クライアント・サブシステムが、パケットの複数のスライスの各々を前記複数のネットワーク・スライスの個々のネットワーク・スライス上で搬送することによって、前記他のクライアント・サブシステムに前記パケットを搬送するように構成され、
前記クライアント・サブシステムがさらに、前記複数のネットワーク・スライスの少なくとも１つの追加スライス上で前記パケットに関連する冗長情報を搬送するように構成され、前記冗長データが、前記パケットの前記複数のスライスの少なくとも１つを再生するのに使用可能であるコンピュータ・システム。
【請求項２】
前記パケットが関連するエラーコードを含み、前記クライアント・サブシステムが、前記関連するエラーコードを前記パケットの本体部分から生成して、前記パケットの前記本体部分に対して誤り保護を提供するように構成される請求項１に記載のコンピュータ・システム。
【請求項３】
前記関連するエラーコードが誤り訂正コードである請求項２に記載のコンピュータ・システム。
【請求項４】
前記他のクライアント・サブシステムが、前記関連するエラーコードを使用して前記パケット中のエラーを検出するように構成される請求項２に記載のコンピュータ・システム。
【請求項５】
前記パケットがＸ個のスライスを含み、前記他のクライアント・サブシステムが、前記ネットワークを介して前記パケットを受け取ったのに応答して、前記パケットのＸ個の追加バージョンを生成するように構成され、前記他のクライアント・サブシステムが、前記冗長情報を使用して前記Ｘ個の追加バージョンの各々を生成して、前記Ｘ個のスライスの個々のスライスを再生するように構成され、
前記他のクライアント・サブシステムが、前記関連するエラーコードを使用して、前記パケットと前記パケットの前記Ｘ個の追加バージョンを検証するように構成され、
前記他のクライアント・サブシステムが、前記パケットと前記パケットの前記Ｘ個の追加バージョンのうちの１つのみがエラー無しバージョンであると確認した場合、前記他のクライアント・サブシステムが、前記エラー無しバージョンを処理するように構成される請求項２に記載のコンピュータ・システム。
【請求項６】
前記他のクライアント・サブシステムが、前記少なくとも１つの追加スライス中に入れて搬送される冗長情報を使用して、前記パケットの前記複数のスライスの少なくとも１つを再生するように構成される請求項１に記載のコンピュータ・システム。
【請求項７】
前記ネットワークがアドレス・ネットワークであり、前記クライアント・サブシステムが、前記アドレス・ネットワーク上で前記パケットを受け取って、コヒーレンシ・トランザクションを開始するように構成され、前記パケットが前記コヒーレンシ・トランザクションが対象とするコヒーレンシ・ユニットのアドレスを含む請求項１に記載のコンピュータ・システム。
【請求項８】
前記クライアント・サブシステムが少なくとも１つのプロセッサを含むプロセッサ・サブシステムである請求項１に記載のコンピュータ・システム。
【請求項９】
前記クライアント・サブシステムがメモリ・サブシステムである請求項１に記載のコンピュータ・システム。
【請求項１０】
前記クライアント・サブシステムが入出力サブシステムである請求項１に記載のコンピュータ・システム。
【請求項１１】
前記クライアント・サブシステムが前記複数のパケット・スライスのパリティを計算することによって冗長情報を生成するように構成される請求項１に記載のコンピュータ・システム。
【請求項１２】
前記ネットワークがアドレス・ネットワークであり、前記コンピュータ・システムが複数のデータ・ネットワーク・スライスを含むデータ・ネットワークをさらに含み、
前記クライアント・サブシステムが、前記複数のデータ・ネットワーク・スライスの個々のデータ・ネットワーク・スライスで複数のデータ・パケット・スライスの各々を搬送することによって、前記ネットワークを介して前記他のクライアント・サブシステムにデータ・パケットを搬送するように構成され、
前記クライアント・サブシステムが、前記複数のデータ・ネットワーク・スライスの少なくとも１つの追加スライスで前記他のクライアント・サブシステムに前記データ・パケットに関連する冗長情報を搬送するように構成される請求項１に記載のコンピュータ・システム。
【請求項１３】
前記データ・パケットの本体部分から前記クライアント・サブシステムが生成する誤り検出コードを前記データ・パケットが含む請求項１２に記載のコンピュータ・システム。
【請求項１４】
前記少なくとも１つの追加データ・ネットワーク・スライスに含まれる冗長情報を使用して、前記複数のデータ・パケット・スライスの少なくとも１つを再生するように、前記他のクライアント・サブシステムが構成される請求項１２に記載のコンピュータ・システム。
【請求項１５】
クライアント・サブシステムを他のクライアント・サブシステムに結合する複数のネットワーク・スライスの個々のネットワーク・スライスを介して、クライアント・サブシステムが複数のパケット・スライスの各々を搬送するステップと、
前記複数のネットワーク・スライスの少なくとも１つの追加ネットワーク・スライスを介して、前記クライアント・サブシステムが前記複数のパケット・スライスに関連する冗長情報を搬送するステップと、
前記他のクライアント・サブシステムが、前記冗長情報を使用して、前記複数のパケット・スライスの少なくとも１つを再生するステップと
を含む方法。
【請求項１６】
前記複数のパケット・スライスが、前記複数のパケット・スライスの本体部分から生成されるエラーコードを含む請求項１５に記載の方法。
【請求項１７】
前記他のクライアント・サブシステムが、エラーコードを使用して、前記複数のパケット・スライスの前記本体部分を検証するステップをさらに含む請求項１６に記載の方法。
【請求項１８】
前記エラーコードが誤り訂正コードである請求項１６に記載の方法。
【請求項１９】
前記他のクライアント・サブシステムが前記複数のパケット・スライスのＸ個の追加バージョンを生成するステップであって、前記複数のパケット・スライスがＸ個のスライスを含み、前記Ｘ個のスライスの個々のスライスを再生するために、前記冗長情報を使用して前記Ｘ個の追加バージョンの各々を生成ステップを前記生成ステップが含むステップと、
前記他のクライアント・サブシステムが、前記関連するエラーコードを使用して、前記複数のパケット・スライスと前記複数のパケット・スライスの前記Ｘ個の追加バージョンを検証するステップと、
前記パケットとそのパケットの前記Ｘ個の追加バージョンのうちの１つのみがエラー無しバージョンである場合、前記他のクライアント・サブシステムがそのエラー無しバージョンを処理するステップとをさらに含む請求項１６に記載の方法。
【請求項２０】
前記ネットワークがアドレス・ネットワークであり、前記搬送するステップが、前記複数のパケット・スライスに含まれるアドレスによって識別されるコヒーレンシ・ユニット向けのコヒーレンシ・トランザクションを開始する請求項１５に記載の方法。
【請求項２１】
前記クライアント・サブシステムが、前記複数のパケット・スライスのパリティを計算することによって前記冗長情報を生成するように構成される請求項１５に記載の方法。
【請求項２２】
クライアント・デバイスと、
他のクライアント・デバイスと、
前記クライアント・デバイスと前記他のクライアント・デバイスに結合され、各々が複数ビット幅をもつ複数のネットワーク・スライスを含むネットワークと
を含むシステムであって、
前記クライアント・デバイスが、パケットの複数の異なる部分の各々を前記複数のネットワーク・スライスの個々のネットワーク・スライス上で送ることによって、前記複数のネットワーク・スライスを介して前記他のクライアント・デバイスに前記パケットを搬送するように構成され、
前記パケットの前記複数の異なる部分の少なくとも１つが、前記パケットの前記複数の異なる部分の少なくとも１つの他の部分を再生するのに使用可能である冗長情報を含むシステム。
【請求項２３】
複数のネットワーク・スイッチをさらに含み、前記複数のネットワーク・スイッチの各々が前記複数のネットワーク・スライスの個々のスライスに結合される請求項２２に記載のシステム。
【請求項２４】
前記パケットが関連するエラーコードを含み、そのパケットの前記本体部分に対して誤り保護を提供するために前記関連するエラーコードを前記パケットの本体部分から生成するように前記クライアント・サブシステムが構成される請求項２２に記載のシステム。
【請求項２５】
前記関連するエラーコードが誤り訂正コードである請求項２４に記載のシステム。
【請求項２６】
前記他のクライアント・サブシステムが、前記関連するエラーコードを使用して前記パケット内のエラーを検出するように構成される請求項２４に記載のシステム。
【請求項２７】
前記パケットがＮ個の異なる部分を含み、前記冗長情報が前記Ｎ個の異なる部分のうちの１つの部分に含まれ、前記ネットワークを介して前記パケットを受け取ったのに応答して、前記他のクライアント・サブシステムが、前記パケットのＮ−１個の追加バージョンを生成するように構成され、前記他のクライアント・サブシステムが、前記冗長情報を使用して前記Ｎ−１個の追加バージョンの各々を生成して、前記冗長情報を除く前記Ｎ−１個の異なる部分の個々の部分を再生するように構成され、
前記他のクライアント・サブシステムが、前記関連するエラーコードを使用して、前記パケットと前記パケットの前記Ｎ−１個の追加バージョンを検証するように構成され、
前記他のクライアント・サブシステムが、前記パケットと前記パケットの前記Ｎ−１個の追加バージョンのうちの１つのみがエラー無しバージョンであると確認した場合、前記他のクライアント・サブシステムが、前記エラー無しバージョンを処理するように構成される請求項２４に記載のシステム。
【請求項２８】
前記他のクライアント・サブシステムが、前記冗長情報を使用して、前記パケットの前記複数の異なる部分の少なくとも１つを再生するように構成される請求項２２に記載のシステム。
【請求項２９】
前記ネットワークがアドレス・ネットワークであり、前記クライアント・サブシステムが、前記アドレス・ネットワーク上で前記パケットを受け取って、コヒーレンシ・トランザクションを開始するように構成され、前記パケットが、前記コヒーレンシ・トランザクションが対象とするコヒーレンシ・ユニットのアドレスを含む請求項２２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・システムの信頼性に関し、より詳細には、コンピュータ・システム内で伝送されるパケットに含まれる誤りの検出およびその訂正に関する。
【背景技術】
【０００２】
伝送エラーまたは記憶エラーなどのエラーを検出し、訂正するために、エラーコードが電子システム内で広く利用されている。例えば、エラーコードを使用して、コンピュータ・システム内の通信リンクを介して伝送される情報に含まれるエラーを検出し、訂正することができる。さらにエラーコードを使用して、コンピュータ・システムのメモリや大容量記憶装置に格納された情報に関連するエラーを検出し、訂正することもできる。エラーコードの一般的用途の１つは、コンピュータ・システム内のバスを介して伝送される情報に含まれるエラーを検出し、訂正することである。そうしたシステムでは、データを伝送し、または記憶する前に、データ用の誤り訂正ビットまたはチェック・ビットを生成することができる。チェック・ビットは、データと共に伝送され、または記憶される。データを受信し、または読み出すとき、チェック・ビットを使用して、データに含まれるエラーを検出し、かつ／または訂正する。コンピュータ・システム内でエラーコードを使用して、発生後エラーを速やかに検出することによって、そのシステムの信頼性を向上させることができる。同様に、エラーコードを使用して、１つまたは複数の障害が発生してもシステムが機能し続けることができるようにすることで、システムの可用性を向上させることができる。
【０００３】
伝送情報または記憶情報に含まれるエラーは、システム内で遭遇する漏話や雑音など一過性の状態が原因となることがある。電気システムにおける別の一般的なエラー発生源にコンポーネント障害がある。不良コンポーネントには、不良メモリ・チップや、システムのデバイス間に設けられた不良データ・パスなどがある。例えば、不良データ・パスは、不良ピン、不良データ線、または不良導線などが原因となる。
【０００４】
広く使用されているエラーコードの一例にハミング・コードがある。ハミング・コード内の各チェック・ビットは、保護対象ビットの一意的なサブセットのためのパリティを提供する。エラーが発生すると（すなわち、１つまたは複数のビットが意図に反して状態を変えると）、１つまたは複数のチェック・ビットも再生時に状態を変える（エラーはそのコードでカバーされているエラー・クラス内のものとする）。再生されたチェック・ビットのうちどれが状態を変えたかを調べることによって、エラーの所在場所を割り出すことができる。例えば、１ビットが状態を変えた場合、このビットは、１つまたは複数の再生チェック・ビットが状態を変える原因となる。チェック・ビットのどれが状態を変えたかに基づいて、誤りビットを特定することができ、また誤りビットを反転することによってエラーを訂正することができる。
【発明の開示】
【課題を解決するための手段】
【０００５】
誤り検出とスライシングを利用するネットワークを含むコンピュータ・システムの様々な実施態様が開示される。本発明の一実施態様では、コンピュータ・システムは、クライアント・サブシステム、別のクライアント・サブシステム、それらのクライアント・サブシステムに結合されたネットワークを含む。ネットワークは複数のネットワーク・スライスを含む。１つのクライアント・サブシステムは、パケットの複数スライスの各々を個々のネットワーク・スライス上で搬送することによって、他のクライアント・サブシステムにパケットを搬送するように構成される。クライアント・サブシステムはまた、少なくとも１つの追加ネットワーク・スライス上で、パケットに関連する冗長情報も搬送する。冗長データは、パケットの少なくとも１つのスライスを再生するのに使用できる。
【発明を実施するための最良の形態】
【０００６】
以下の詳細な説明を以下の図面と併せ考察することによって、本発明のより良い理解を得ることができるであろう。
【０００７】
図１は本発明の一実施形態による、コンピュータ・システムのブロック図である。
【０００８】
図２本発明の一実施形態による、コンピュータ・システムの別のブロック図である。
【０００９】
図３は本発明の一実施形態による、アドレス・パケットの図である。
【００１０】
図４Ａは本発明の一実施形態において、アドレス・パケットをアドレス・ネットワーク上でどのように搬送することができるかを示す図である。
【００１１】
図４Ｂは本発明の別の実施形態において、アドレス・パケットをアドレス・ネットワーク上でどのように搬送することができるかを示す図である。
【００１２】
図４Ｃは本発明の一実施形態による、クライアント・デバイスからネットワーク・スイッチに搬送することができる例示的なルーティング・プレフィックスを示す図である。
【００１３】
図４Ｄは本発明の一実施形態による、ネットワーク・スイッチからクライアント・デバイスに搬送することができる例示的なルーティング・プレフィックスを示す図である。
【００１４】
図５は本発明の一実施形態において、データ・パケットをデータ相互接続上でどのように搬送することができるかを示す図である。
【００１５】
図６は本発明の一実施形態による、クライアント・デバイスのブロック図である。
【００１６】
本発明は、様々な修正と代替形態を許容するが、本発明の具体的な実施形態を図面を例として示し、本明細書ではそれについて詳細に説明する。しかし、図面と図面ついての詳細な説明は、本発明を開示された特定の形態に限定することを意図するものではなく、反対に、添付の特許請求の範囲によって定められる本発明の主旨と範囲内にある、すべての修正形態、均等形態、と代替形態を含むことが意図されている。
【００１７】
図１には、コンピュータ・システム１０の一実施形態のブロック図が示されている。コンピュータ・システム１０は、アドレス・ネットワーク４０とデータ・ネットワーク５０を介して相互接続される複数のデバイスを含む。デバイスには、プロセッサ・デバイス２０Ａ、２０Ｂと、メモリ・デバイス２１Ａ、２１Ｂと、入出力デバイス２２Ａ、２２Ｂが含まれる。本明細書では、各々のデバイスをクライアント・デバイス、またはクライアント・サブシステムと呼ぶ。本発明のいくつかの実施形態では、独立の通信媒体３０（例えば、一実施形態では、通信媒体３０は各クライアントをサービス・プロセッサ２５に結合する別々の信号線を含むことができる）を介して、各々のクライアント・デバイスを診断プロセッサまたはサービス・プロセッサ２５に結合することができる。
【００１８】
任意の数のクライアントとクライアントのタイプの異なる組合せを利用するコンピュータ・システム１０の実施形態を実施できることに留意されたい。本明細書で文字付きの別個の参照番号で参照される要素は、まとめて参照番号のみで参照することができる。例えば、プロセッサ・デバイス２０Ａ〜２０Ｂは、まとめてプロセッサ・デバイス２０として参照することがある。図１に示す実施形態はコンピュータ・システム１０の論理的表現であり、コンピュータ・システム１０の物理的実装は著しく異なってみえる場合があることに留意されたい。また、いくつかの実施形態では、ある種のクライアント・デバイスは複数のタイプの機能を含んでよいことにも留意されたい。例えば、一代替実施形態では、１つのクライアント・デバイスは、プロセッサ・デバイスとメモリ・デバイスの機能を実装し、別のクライアント・デバイスは、プロセッサ、メモリ、および／または入出力機能を実装することができる。
【００１９】
各々のプロセッサ・デバイス２０と入出力デバイス２２は、各々のメモリ・デバイス２１にアクセスすることができる。メモリ・デバイス２１へのアクセスを実行するように構成されたこうしたデバイスを、本明細書では「アクティブ」デバイスと呼ぶ。図１の各クライアント・デバイスは、スプリット・トランザクション・パケットを用いて、アドレス・ネットワーク４０上でアドレス・メッセージを、データ・ネットワーク５０上でデータ・メッセージを搬送するように構成されている。例示の実施形態の各プロセッサ・デバイス２０はプロセッサ（図示せず）を含む。また、プロセッサ・デバイス２０は様々な特定のキャッシュ構成のどれかによって構成できる、１つまたは複数の命令とデータのキャッシュ（図示せず）を含む。例えば、プロセッサ・デバイス２０内のキャッシュには、セット・アソシエィティブまたはダイレクト・マップ構成を利用することができる。
【００２０】
メモリ・デバイス２１は、プロセッサ・デバイス２０と入出力デバイス２２が使用するデータと命令コードを格納するように構成されている。メモリ・デバイス２１には好ましくは、動的ランダム・アクセス・メモリ（ＤＲＡＭ）コンポーネントが含まれるが、その他のタイプのメモリ・コンポーネントを使用することもできる。メモリ・デバイス２１内のメモリは、メモリ・モジュール（例えば、ＤＩＭＭ（デュアル・インライン・メモリ・モジュール）、ＲＩＭＭ（ラムバス・インライン・メモリ・モジュール）、またはＳＩＭＭ（シングル・インライン・メモリ・モジュール））を使用して実装することができる。各アドレスは、そのアドレスのホーム・デバイスまたはホーム・サブシステムと本明細書で呼ぶ、特定のメモリ・デバイスにマップされている。
【００２１】
入出力デバイス２２の各々は、入出力ブリッジ、グラフィックス・デバイス、ネットワーク・デバイスなど、周辺デバイスを示すものである。本発明の様々な実施形態では、１つまたは複数の入出力デバイス２２は、１つのメモリ・サブシステム内でマッピングされた各アドレスに関連するデータをキャッシュするための、プロセッサ・デバイス２０のものと同様のキャッシュ・メモリ・サブシステムを含むことができる。いくつかのアドレスは、入出力デバイス２２にもマップされている。
【００２２】
本発明の一実施形態では、データ・ネットワーク５０は、論理ポイント・ツー・ポイント・ネットワークである。データ・ネットワーク５０は、電気的バス、回路交換ネットワーク、またはパケット交換ネットワークとして実装することができる。データ・ネットワーク５０がパケット交換ネットワークである実施形態では、ワームホール、蓄積交換、仮想カットスルーなどの交換技術を用いて、パケットをデータ・ネットワークを介して送ることができる。回路交換ネットワークでは、個々のクライアント・デバイスは、交換相互接続機構によって確立することのできる専用ポイント・ツー・ポイント・リンクを介して、第２のクライアント・デバイスと直接通信を行うことができる。第３のクライアント・デバイスと通信を行うには、個々のクライアント・デバイスは、第２のクライアント・デバイスと通信を行うのに使用したリンクとは異なる、交換相互接続機構によって確立されるリンクを使用する。本発明の一実施形態では、データ・ネットワーク５０は、クライアント・デバイスＣ１が、データ・メッセージＤ２を送る前にデータ・メッセージＤ１を受け取り、かつクライアント・デバイスＣ２がＤ１とＤ２を受け取るならば、Ｃ２はＤ２を受け取る前にＤ１を受け取るといった、ソース・デスティネーション・オーダリング属性を実装することができる。
【００２３】
アドレス・ネットワーク４０は、プロセッサ・デバイス２０、メモリ・デバイス２１、入出力デバイス２２の間の通信を可能にする。データ・ネットワーク５０と同様、アドレス・ネットワーク４０は、電気的バス、回路交換ネットワーク、またはパケット交換ネットワークとして実装することができる。本発明のいくつかの実施形態では、アドレス・ネットワーク４０および／またはデータ・ネットワーク５０は、マルチステージ交換階層を用いて実施することができる。実施形態に応じて、アドレス・ネットワーク４０は、データ・ネットワーク５０から切り離されたハードウェアで実施することもでき、データ・ネットワーク５０と共用されるハードウェアで実施することもできる。
【００２４】
アドレス・ネットワーク４０上のメッセージをアドレス・パケットと呼ぶ。アドレス・パケットはメモリ・デバイス２１内の記憶ロケーションを参照する。参照ロケーションは、アドレス・ネットワーク４０上をアドレス・パケットに入れて搬送されるアドレスによって指定される。続いて、アドレス・ネットワーク４０上のアドレス・パケットに対応するデータを、データ・ネットワーク５０上で搬送することができる。典型的なアドレス・パケットは、キャッシュ可能メモリ・ロケーションに対応するアクセス権（例えば、読取りアクセスまたは書込みアクセス）要求に対応し、またはキャッシュ不可メモリ・ロケーションに対する読取り実行または書込み実行すのためのリクエストに対応する。
【００２５】
本発明の一実施形態では、アドレス・ネットワーク４０は、アドレス・ネットワークに結合されたすべてのクライアント・デバイスに各アドレス・パケットが搬送されるブロードキャスト・ネットワークを実装することができる。本発明の代替実施形態では、アドレス・ネットワーク４０は、すべてのアドレス・パケットをブロードキャストすることはできない（例えば、いくつかのアドレス・パケットはクライアント・デバイスのすべてには搬送されない）。本発明の代替実施形態では、アドレス・ネットワーク４０は、共通バス構造を用いて実装することができる。
【００２６】
本発明のいくつかの実施形態では、アドレス・ネットワーク４０は、ポイント・ツー・ポイント伝送モードを用いて、読取りまたは書込みメモリ・オペレーションに対応するコヒーレンス要求を伝送するように構成されている。アドレス・ネットワーク４０によってポイント・ツー・ポイントで搬送されるコヒーレンス要求のために、ディレクトリ・ベース・コヒーレンシ・プロトコルを実装することができる。本発明の別の実施形態では、アドレス・ネットワーク４０を、コヒーレンス要求をブロードキャスト・モードで伝送するように構成することができ、スヌーピング・ブロードキャスト・コヒーレンシ・プロトコルを実装することができる。本発明のまた別の実施形態では、アドレス・ネットワーク４０を、コヒーレンス・リクエストをポイント・ツー・ポイント・モードまたはブロードキャスト・モードで選択的に伝送するように構成することができる。これらの実施形態では、スヌーピング・ブロードキャスト・コヒーレンシ・プロトコルとディレクトリ・ベース・コヒーレンシ・プロトコルを共に実装する。
【００２７】
ポイント・ツー・ポイントとブロードキャスト伝送モードを共にサポートする実施形態では、コヒーレンス要求をアドレス・ネットワーク４０に伝送するクライアントは、コヒーレンス要求がコンピュータ・システム１０内をブロードキャスト・モード伝送によって搬送されたのか、それともポイント・ツー・ポイント・モード伝送によって搬送されたのか知らなくてよい。これらの中の一実施形態では、アドレス・ネットワーク４０は、個々のコヒーレンス要求をブロードキャスト（ＢＣ）モードによって搬送するか、それともポイント・ツー・ポイント（ＰＴＰ）モードによって搬送するかを決定するように構成される。例えば、アドレス・ネットワーク４０の一実施形態は、各コヒーレンス・リクエストをそのコヒーレンス要求内で指定されるメモリ・アドレスに応じてＢＣモードまたはＰＴＰモードに分類するためのテーブルを含むことができる。
【００２８】
ネットワーク・スライシング
アドレス・ネットワーク４０および／またはデータ・ネットワーク５０の各々は、少なくとも２ビット幅の部分を複数個の並列させたものとして実装される。本明細書では、各部分のことを「スライス」と呼ぶ。アドレス・ネットワーク４０の各スライスは、アドレス・パケットの一部分を搬送することができる。アドレス・ネットワーク４０の各スライスは、同時に同じアドレス・パケットの個々の部分を搬送することができる。同様に、データ・ネットワーク５０の各スライスは、データ・パケットの部分を搬送することができる。本発明のいくつかの実施形態では、各ネットワークのスライスは、１つのスライスの障害がその他のスライスの運用性に影響をおよぼさない、独立の通信リンクとして実装することができる。本明細書では、１つのネットワーク・スライス上を搬送されるパケットの一部分のことを、パケット・スライスと呼ぶ。
【００２９】
各パケットは、パケットの残りの部分（例えば、パケット本体および／またはヘッダ）に含まれる情報を保護する、パリティ情報などの冗長情報を含む。アドレス・ネットワーク４０の１つまたは複数のスライス、データ・ネットワーク５０の１つまたは複数のスライスを使用して、その他のネットワーク・スライス上を搬送されるパケットの部分に対応する冗長情報を搬送することができる。本発明のいくつかの実施形態では、各パケット用の冗長情報を搬送するネットワーク・スライスは、アドレス・パケットまたはデータ・パケットの本体部分を搬送することはできない。冗長情報は、他のスライス上を搬送されるパケットの少なくとも１つの部分を再生するのに使用することができる。例えば、冗長情報は、パケットの各パケット・スライスから生成されるパリティ情報を含む。１つのパケット・スライスが（例えば、送信デバイス障害や１つのネットワーク・スライスの障害によって）消失した場合、受信デバイスは、そのパケット・スライスをパリティ情報と残りのパケット・スライスから再生することができる。本発明の別の実施形態では、冗長情報は、１つまたは複数の関連するパケット・スライスの複製コピーを含むことができる。
【００３０】
図２には、コンピュータ・システム１０の別の実施形態のブロック図が示されている。図１の実施形態と同様、図２のコンピュータ・システム１０は、アドレス・ネットワーク４０とデータ・ネットワーク５０を介して相互接続される複数のクライアントを含む。例示の実施形態では、アドレス・ネットワーク４０は、マルチステージ・パケット交換ネットワークとして実装され、データ・ネットワーク５０は、２ステージ・パケット交換ネットワークとして実装される。各ネットワークは複数のネットワーク・スイッチを含む。図２に示すように、クライアントは、プロセッサ・クライアント２０Ａ〜２０Ｂ、メモリ・クライアント２１Ａ〜２１Ｂ、入出力クライアント２２Ａ〜２２Ｂを含む。例示の実施形態には各カテゴリのクライアントを２つしか示していないが、他の実施形態では、異なる数のクライアントおよび／または異なるタイプのクライアントを含むことができることに留意されたい。さらに、代替実施形態では、シングルステージ・アドレス・ネットワークおよび／またはシングルステージ・データ・ネットワークおよび／または（例えば、各メモリ・デバイス２１を他の各クライアント・デバイスに結合するなど）クライアント・デバイス同士を直接結合するポイント・ツー・ポイント・リンクを使用して、アドレス・ネットワーク４０および／またはデータ・ネットワーク５０を実装することができる。
【００３１】
図２では、アドレス・ネットワーク４０は、１４２Ａ〜Ｅ、１４４Ａ〜Ｅ、１４６Ａ〜Ｅと記された（少なくとも）３グループのアドレス・スイッチを含む。各アドレス・スイッチ（例えば、アドレス・スイッチ１４２Ａ）は、１つまたは複数の集積回路で実装することができ、各々は多くの別個のスイッチと回路を含む。例示の実施形態では、各アドレス・スイッチ・グループ１４２、１４４、１４６は５つのスイッチＡ〜Ｅを含む。各スイッチＡ〜Ｅを使用して、５スライスのアドレス・ネットワークの個々のスライスを実現することができる。例えば、アドレス・スイッチ１４２Ａを使用して、アドレス・ネットワーク・スライス０中を搬送されるパケット・スライスを、アドレス・スイッチ１４２Ｂで、アドレス・ネットワーク・スライス１中を搬送されるパケット・スライスを伝えることができ、Ｃ〜Ｅについても同様である。各スライスを使用して、アドレス・パケットの異なる部分を搬送することができる。例えば、本発明のいくつかの実施形態では、スライス０〜３を使用して、アドレス・パケット本体の個々の部分を、エラーコード（すなわち、誤り検出および／または訂正コード）の個々の部分と共に搬送することができる。スライス４を使用して、他のスライス０〜３によって搬送されるアドレス・パケットに関連するパリティ情報またはその他の冗長情報を搬送することができる。他の実施形態では、アドレス・ネットワーク４０を異なる数のスライスに分割できることに留意されたい。
【００３２】
例示の実施形態では、データ・ネットワーク５０も５つのスライスに細分される。データ・ネットワーク５０は、１５２Ａ〜Ｅ、１５４Ａ〜Ｅ、１５６Ａ〜Ｅ、１５８Ａ〜Ｅと記された（少なくとも）４グループのデータ・スイッチを含む。アドレス・スイッチと同様、データ・スイッチは、１つまたは複数の集積回路として実装することができ、各々は多くの別個のスイッチと回路を含む。この実施形態では、各データ・スイッチ・グループは５つのスイッチを含み、各スイッチを使用して５つのデータ・スライスの個々のスライスを実装する。例えば、データ・スイッチ１５２Ａを使用して、スライス０中を搬送されるデータ・パケット・スライスを伝えることができ、データ・スイッチ１５２Ｂは、データ・ネットワーク・スライス１の構成要素とすることができ、Ｃ〜Ｅについても同様である。データ・スイッチ１５２Ｅは、スライス４の構成要素とすることができ、スライス４を使用して、スライス０〜３中を搬送されるデータ・パケットの部分に関連する冗長情報を含むデータ・パケットの一部分を搬送することができる。スライス０〜３の各々を使用して、データ・パケットの個々の部分を搬送することができ、また本発明のいくつかの実施形態では、個々のデータ・パケットに含まれるエラーコード情報を搬送することができる。他の実施形態では、データ・ネットワーク５０は、異なる数のスライスを含むことができることに留意されたい。またいくつかの実施形態では、データ・ネットワーク５０とアドレス・ネットワーク４０を異なる数のスライスに細分できることにも留意されたい。
【００３３】
アドレス・リンク１４７を使用して、クライアントとアドレス・スイッチを、またアドレス・スイッチと他のアドレス・スイッチを相互接続することができる。同様に、データ・リンク１５７を使用して、クライアントとデータ・スイッチを、またデータ・スイッチと他のデータ・スイッチを相互接続することができる。複数のアドレス・リンク１４７とデータ・リンク１５７の各々は、各クライアント上のアドレス・インタフェース（図示せず）とデータ・インタフェース（図示せず）にそれぞれ結合させることができる。アドレス・インタフェースは、単方向、ポイント・ツー・ポイント、ソース同期とすることができ、アドレス入力ポートおよび／またはアドレス出力ポートを含んでもよい。データ・インタフェースも、単方向、ポイント・ツー・ポイント、ソース同期とすることができ、データ入力ポートおよび／またはデータ出力ポートを含んでもよい。
【００３４】
本発明の一実施形態では、クライアントの各アドレス入力ポートは、ポートを「ナロー」（５リンク）ポートとして構成するか、それとも「ワイド」（１０リンク）ポートとして構成するかに応じて、５リンクまたは１０リンク・ポートとする。本発明の一実施形態では、各リンクは１２本の信号線を含む。他の実施形態では、より少ないまたはより多い異なるポート幅をサポートする。５スライス・アドレス・ネットワークでは、４本のナロー・リンクを使用して、個々のネットワーク・スライスを実装する。あるいは、２本のワイド・リンクを使用して、各アドレス・ネットワーク・スライスを実装する。他の実施形態では、他の数のリンクおよび／またはリンク当り他の数の信号線を含むことができることに留意されたい。
【００３５】
図３には、本発明の一実施形態による、例示的なアドレス・パケットの図が示されている。例示のアドレス・パケットは１２０ビットを含み、６０ビットずつの２つのセクションに分けて示されている。アドレス・パケットの２つのセクションは、それぞれアドレス・パケット［０］［５９：０］とアドレス・パケット［１］［５９：０］と指定されている。２つの部分をまとめて、アドレス・パケット［１：０］［５９：０］のように記す。セクション０と１内のビット位置［０〜５９］には、各パケットの様々なビットを割り当てることができる。各セクションは、異なるクロック・フェーズまたはビートの間に、アドレス・リンク１４７を介して転送することができる。他の実施形態では、サブセクションのサイズと数が異なるアドレス・パケットを使用できることに留意されたい。
【００３６】
アドレス・パケットはアドレス本体フィールドを含む。例示の実施形態では、アドレス本体フィールドは、Ｂ０〜Ｂ７３と記された７４ビットを含む。アドレス本体フィールドは、アドレス、（例えば、現パケットがその一部であるトランザクションを開始したデバイスを識別する）デバイス識別子、（例えば、現パケットがその一部であるトランザクションを識別する）パケット識別子、コマンド・エンコーディングを含む。異なるコマンド・エンコーディングを使用して、メモリ・サブシステム内の個々のコヒーレンシ・ユニットに対する異なるタイプのアクセス権（例えば、読取りまたは書込み）を要求することができる。他のコマンド・エンコーディングを使用して、キャッシュ不可データに対するアクセスを要求することができる。
【００３７】
例示のアドレス・パケットは、Ｃ０〜Ｃ４と記された５ビットのパケット・クラス・フィールドを含む。パケット・クラスによって、パケットが空パケットか、それとも非空パケットかを識別することができる。本発明のいくつかの実施形態では、空パケットのアドレス本体フィールドの全ビットを０とすることができる。
【００３８】
アドレス・パケットは、エラーコードフィールドおよび／またはパリティ・フィールドを含む。例示のアドレス・パケットは、ＥＣＣ０〜ＥＣＣ１６と記された１７個のエラーコード・ビット、Ｐ０〜Ｐ２３と記された２４個のパリティ・ビットを含む。他の実施形態では、図３に示すのとは異なるフィールドをもち、かつ／または各フィールド内のビット数が異なるパケットを含むことができることに留意されたい。さらに本発明のいくつかの実施形態では、パリティ情報の代りに、またはパリティ情報に加えて他のタイプの冗長情報を含むことができる。
【００３９】
上に示したような５スライスのアドレス・ネットワークを仮定する場合、図３に示すパケットの各セクションを、５つのパケット・スライスに分けて搬送することができる。例えば、第１のセクションであるアドレス・パケット［０］［５９：０］は、［５９：４８］、［４７：３６］、［３５：２４］、［２３：１２］、［１１：０］にスライスすることができる。各パケット・スライスは、異なるネットワーク・スライス上で送ることができる。したがって、この例では、第１のセクション中のパリティ・ビットＰ２３〜Ｐ１２、第２のセクション中のパリティ・ビットＰ１１〜Ｐ０は、各セクションのその他のパケット・ビットとは異なるネットワーク・スライス中を搬送される。この例では、エラーコード・ビットＥＣＣ０〜ＥＣＣ１６は、その他の各パケット・スライス内でその他のパケット・ビットと混さり合う。
【００４０】
各アドレス・パケットに含まれるパリティ・ビットは、排他的論理和（ＸＯＲ）関数を用いて、アドレス・パケット中の他のビットから計算することができる。したがって、この例では、パリティ・ビットは、アドレス本体、パケット・クラス、エラーコードフィールドから計算することができる。本発明の一実施形態では、各パリティ・ビットは、その他の各パケット・スライスから取った１ビットの排他的論理和を求めることによって計算することができる。例えば、Ｐ２３は、Ｂ７３（アドレス・パケット［０］［４７］）、Ｂ６３（アドレス・パケット［０］［３５］）、Ｂ５４（アドレス・パケット［０］［２３］）、Ｂ４５（アドレス・パケット［０］［１１］）の排他的論理和を求めることによって計算することができる。パリティ・チェック・ビットＰ０〜Ｐ２３は、アドレス・ネットワーク・スライスの１つがアドレス・パケット・スライスを正しく運べなかった場合に、アドレス・パケットの１スライスを再生するのに使用される冗長情報ビットである。ＸＯＲ関数のブール演算の性質の１つに、Ａ  ＸＯＲ  Ｂ  ＸＯＲ  Ｃ  ＸＯＲ  Ｄ＝Ｅならば、Ｅ  ＸＯＲ  Ｂ  ＸＯＲ  Ｃ  ＸＯＲ  Ｄ＝Ａになるというものがある。つまり、Ａが消失したか、または誤っている場合、ＡをＥ、Ｄ、Ｂ、Ｃから再生することができる。したがって、どれか１つのアドレス・パケット・スライス内のビットは、その他のスライス内のビットとパリティ・ビットから再生することができる。
【００４１】
各パケットのエラーコード・ビットは、パケットのアドレス本体ビットとパケット・クラス・ビットに含まれる様々なクラスのエラーを検出し、かつ／または訂正するのに使用される、誤り検出、誤り訂正コード・ビットを含むことができる。例えば、本発明の一実施形態では、エラーコード・ビット０〜１６を使用して、パケット内で発生した２ビット誤りを検出し、１ビット誤りを訂正することができる。チェックサム、巡回冗長コード（ＣＲＣ）、ハミング・コード、リード−ソロモンコードなど、様々な異なるタイプの誤り検出／訂正コードを使用して、エラーコード・ビットをアドレス本体ビットとパケット・クラス・ビットから計算することができる。本発明の一実施形態では、「２ビット誤りを検出し、コンポーネント障害に起因する誤りを訂正するためのシステムと方法」と題する米国特許第６４５３４４０号に記載のエラーコードに従って、エラーコードを実装することができる。米国特許第６４５３４４０号の全体を、本明細書に完全かつ十分に記載したものとして、参照によりここに組み込む。
【００４２】
エラーコード・ビットは、アドレス本体ビットとパケット・クラス・ビットから計算されるので、エラーコード・ビットに依存するパリティ・ビットは、アドレス本体ビットとパケット・クラス・ビットからも直接計算できることに留意されたい。言い換えれば、本発明のいくつかの実施形態では、パリティ・ビットをエラーコード・ビットとは独立に計算することができる。そのため、パリティ・ビットをエラーコード・ビットと並行して計算することができる。他の実施形態では代りに、一定のエラーコード・ビットに値が依存するパリティ・ビットをそれらのエラーコード・ビットから計算することができる。
【００４３】
アドレス・パケットと同様、データ・パケットは、データ本体、パケット・クラス、エラーコード、パリティ（またはその他の冗長情報）フィールドを含むことができる。図３に示すアドレス・パケットのように、データ・パケット用のパリティ・ビットまたはその他の冗長情報は、データ・パケットの他のビットとは異なるデータ・ネットワーク・スライス中で送ることができる。したがって、あるスライスでエラーまたは障害が発生した場合、パリティ・ビットを他のスライスの内容と併用して、誤りスライスの内容を再生することができる。
【００４４】
本発明の代替実施形態では、２以上のアドレスまたはデータ・ネットワーク・スライスを使用して、冗長情報を搬送することができる。そのような一実施形態では、各冗長パケット・スライスは、他のパケット・スライスのサブセットに含まれる情報用の冗長情報を含む。例えば、ネットワークが８個のスライス０〜７をもつとした場合、パケット・スライス０は、パケット・スライス１〜３用の冗長情報を含み、パケット・スライス４は、パケット・スライス５〜７用の冗長情報を含む。そのような一実施形態では、冗長情報は、２以上の消失または誤りパケット・スライスの再生をサポートすることができる。例えば、スライス１〜３内の１スライス、スライス５〜７内の１スライスが、同時に誤りを起すかもしれない。その他のスライスは誤っていないと仮定すると、誤りパケット・スライスは両方とも再生することができる。誤りスライスの検出技法について、以下で詳細に説明する。
【００４５】
パケット転送
図４Ａと図４Ｂには、クライアントとアドレス・スイッチの間で搬送することのできるアドレス・パケットの２つの例が示されている。これらの例では、例示的な１２０ビット幅のアドレス・パケットが示されている。パケットを受け取るインタフェースのサイズに応じて、アドレス・パケットを１または複数クロック・フェーズまたはビートを費やして送ることができる。例えば、受信インタフェースが比較的広い場合は、受信インタフェースが比較的狭い場合よりも少ないビートを費やして、アドレス・パケットを搬送することができる。本発明の一実施形態では、受信インタフェースは、パケットを２ビートで送信できるサイズとすることができる（例えば、パケットが１２０ビット幅の場合、各受信インタフェースは６０ビット幅とすることができる）。他の実施形態では、全パケットを１ビートで送受信できるサイズのインタフェースをもつことができる。
【００４６】
クライアントからアドレス・スイッチに送られるアドレス・パケットの前にルーティング・プレフィックスを付ける（または中に含める）。アドレス・スイッチは、このルーティング・プレフィックスを使用して、関連するアドレス・パケットをどのように搬送するべきかを決定する。例えば、ルーティング・プレフィックスが、パケット送信先クライアントを指示する場合、アドレス・スイッチはその情報を使用して、パケットを出力すべきアドレス・スイッチ・ポートを識別することができる。ルーティング・プレフィックスが、パケットを転送する個々の仮想チャネルを指示する場合、アドレス・スイッチによって送出されるのを待っている様々なパケット間で調停を行う際に、その情報を使用することができる。ルーティング・プレフィックスに含むことができる情報の例として、アクセスするアドレスの全部または一部、送信先デバイス識別情報、フロー制御情報、どのタイプのアドレス・パケットがルーティング情報を含むか、またはルーティング情報に続くかを識別する情報（そのようなタイプがある場合）などがある。本発明のいくつかの実施形態では、アドレス・パケットのタイプは、どの仮想ネットワークでアドレス・パケットを伝送するか（そのような仮想ネットワークがある場合）を決定することができる。アドレス・パケットを送出するのにアドレス・スイッチを使用しない実施形態では、ルーティング情報をパケットに含めること、またはパケットの前に付けることはできない。
【００４７】
ネットワークを複数のスライスで実装した場合、各スライス上で同一のルーティング・プレフィックスを送ることができる。例えば、図２を見ると、５つすべてのアドレス・ネットワーク・スライス上で、プロセシング・サブシステム２０Ａが送るアドレス・パケットの前にルーティング・プレフィックス情報を付けることができる。プロセシング・サブシステム２０Ａからアドレス・パケットの個々のスライスを受け取る５つのアドレス・スイッチ１４２Ａ〜Ｅの各々は、同じビート内で同一のルーティング・プレフィックス情報を受け取ることができる。各アドレス・ネットワーク・スライス内のアドレス・スイッチ１４２は、そのスライスで受け取ったルーティング情報の同一のコピーを使用して、そのアドレス・スイッチが受け取った付随のアドレス・パケット・スライスをいつどのように送出するかを決定することができる。例えば、ルーティング情報が、付随のアドレス・パケットが開始したコヒーレンシ・トランザクションの宛先アドレスを指示している場合、各アドレス・スイッチ１４２は、ルーティング・テーブルにアクセスして、アドレス・パケット・スライスを送信すべきメモリ・サブシステム２１（または他の送信先デバイス）を識別することができる。ルーティング情報が、付随のアドレス・パケット・スライスを送出する個々の仮想チャネルを識別する場合、各アドレス・スイッチ１４２はその情報を使用して、そのスイッチが受け取った付随のアドレス・パケット・スライスを、その他の保留中のアドレス・パケット・スライスとの相対順序でいつ送出すべきかを決定することができる。例えば、１つの仮想チャネルを搬送されるパケットが、その他の仮想チャネルのパケットよりも高い優先順位をもつ場合、各アドレス・スイッチは、各パケット・スライスの仮想チャネルに応じて、個々のパケット・スライスを別のパケット・スライスより先に搬送するべきかどうか決定することができる。
【００４８】
各スライス内の各ネットワーク・スイッチは、同じルーティング・プレフィックス情報を受け取るので、各ネットワーク・スイッチ１４２は、同じパケットの個々のスライスを選択して、同じビートの間に同じネットワーク・リンクの個々のスライス上で転送することができる。例えば、アドレス・パケットのルーティング・プレフィックスが、そのアドレス・パケットをメモリ２１Ｂに送信すべきことを示している場合、アドレス・スイッチ１４２Ａ〜Ｅの各々は、そのアドレス・パケットの個々のスライスを、メモリ２１Ｂに結合された出力ポートから出力するよう選択する。ルーティング・プレフィックス情報はまた、各アドレス・スイッチ１４２Ａ〜Ｅに、そのアドレス・パケットの個々のスライスをメモリ・サブシステム２１Ｂに向けて出力すべき相対時間を示す情報も提供する。したがって、各ネットワーク・スイッチ１４２Ａ〜Ｅは、そのアドレス・パケットの個々のスライスを、同じビートの間にメモリ・サブシステム２１Ｂに向けて出力する。言い換えると、各ネットワーク・スライス上で同一のルーティング・プレフィックスを使用することによって、ネットワーク・スライスは、同じパケットのスライスが同じビートの間に搬送されるという意味での同期を保つことができる。
【００４９】
アドレス・スイッチからクライアントに送られるアドレス・パケットは、ルーティング・プレフィックスを含むことはできない。アドレス・スイッチは、アドレス・パケットを送信先クライアント・デバイスに搬送する際に、ルーティング・プレフィックスを削除する、あるいは別の方法でクライアント・デバイスへのルーティング・プレフィックスの送信を禁止するように構成することができる。本発明のいくつかの実施形態では、こうすることによって、アドレス・ネットワークの帯域幅を増加させることができる。
【００５０】
図４Ａには、本発明の一実施形態において、クライアントからアドレス・スイッチに搬送することのできるアドレス・パケットが示されている。ルーティング・プレフィックスがパケットの前に付けられる。各ビートで、アドレス・パケットの一部分、またはルーティング・プレフィックスの一部分の複数のコピーが、５つのアドレス・ネットワーク・リンク上を並行して搬送される。この実施形態では、各リンクは１２本の信号線を含む。先に説明したように、アドレス・パケットは、他のスライス用の冗長情報を搬送する少なくとも１つのスライスを含む複数のスライスに分割することができる。例示の実施形態には、ルーティング・プレフィックスとアドレス・パケットの様々な部分が、どのように５つのスライスに分割されるかが示されている。各パケット・スライスは、対応する１２信号リンク上を搬送される。
【００５１】
この実施形態では、アドレス・パケットとルーティング・プレフィックスを搬送するのに４ビートを費やしている。ビート０の間に、５つすべてのスライス上で、ルーティング・プレフィックスの前半分の同一コピーが送られる。ビート１の間に、５つのスライスのすべてで、ルーティング・プレフィックスの後半分の同一コピーが送られる。ビート２の間に、アドレス・パケットの前半分であるアドレス・パケット［０］［５９：０］が送られる。アドレス・パケットの異なる部分が各スライスで搬送される。アドレス・パケットが図３に示すように構成されているとすると、アドレス・パケットの前半部に含まれる冗長情報は、スライス４上で搬送することができる。ビート３の間に、アドレス・パケットの後半部であるアドレス・パケット［１］［５９：０］が送られる。アドレス・パケットの後半部に含まれる冗長情報も、スライス４上で搬送することができる。したがって、例示の実施形態では、スライス０〜３で、アドレス本体、パケット・クラス、エラーコード・ビットを搬送することができ、スライス４で、パリティ・ビットを搬送することができる。
【００５２】
図４Ｂには、本発明の一実施形態において、アドレス・スイッチからクライアントにアドレス・パケットをどのように搬送することができるかの例が示されている。先に述べたように、本発明の多くの実施形態では、アドレス・パケットをアドレス・スイッチからクライアントに搬送する場合には、アドレス・パケットの前にルーティング・プレフィックスを付けてはならない。図４Ｂには、アドレス・パケットの様々な部分が、どのようにスライスに分割され、アドレス・ネットワークを介して送られるかが示されている。各スライスは、対応する１２信号リンクを介して搬送される。送るルーティング・プレフィックスがないので、パケットは２ビートを費やして送られる。ビート０の間に、アドレス・パケットの前半部であるアドレス・パケット［０］［５９：０］が送られる。ビート１の間に、アドレス・パケットの後半部であるアドレス・パケット［１］［５９：０］が送られる。図４Ａに示すように、スライス０〜３で、アドレス本体、パケット・クラス、エラーコード・ビットを搬送することができ、スライス４で、パリティ・ビットを搬送することができる。
【００５３】
図４Ｃには、アドレス・ネットワーク上でパケットを送る際にクライアント・デバイスが生成することのできる、例示的なルーティング・プレフィックスが示されている。この例では、ルーティング・プレフィックスは１２ビット幅であり、２ビートを費やして送られる。クライアント・デバイスが生成するルーティング・プレフィックスは、ルーティング・プレフィックス［０］［８：０］に含まれる９ビットのアドレス情報ＡＤＤ８〜ＡＤＤ０を含む。アドレス・ビットは、付随のアドレス・パケットでアクセス権が要求されるコヒーレンシ・ユニットのアドレスの部分を含む。ルーティング・プレフィックスは、ルーティング・プレフィックス［０］［１１：９］に含まれる３ビットのアドレス・プレフィックス・タイプ情報ＡＰＴ２〜ＡＰＴ０も含む。アドレス・プレフィックス・タイプ情報は、付随のアドレス・パケットのタイプ（例えば、要求、応答、マルチキャスト）を指示する。アドレス・ネットワークは、アドレス・プレフィックス・タイプを使用して、付随のアドレス・パケットを送出すべき仮想チャネルを選択することができる。ルーティング・プレフィックスは、ルーティング・プレフィックス［１］［１１：１０］に含まれる２ビットのフロー制御情報ＦＣ１〜ＦＣ０も含む。ルーティング・プレフィックス［１］［１１］は、送信元クライアント・デバイスが、ブロードキャスト、マルチキャスト、または応答仮想ネットワーク上でフロー制御を要求しているかどうかを示す。ルーティング・プレフィックス［１］［１０］は同様に、送信元クライアント・デバイスが、要求仮想ネットワーク上でフロー制御を要求しているかどうかを示す。最後に、ルーティング・プレフィックスは、ルーティング・プレフィックス［１］［９：０］に含まれる１０ビットのエラーコード情報ＥＣＣ９〜ＥＣＣ０を含む。他の実施形態では、ルーティング・プレフィックス中に各タイプの情報をより多くまたはより少なく含むことができることに留意されたい。さらに、他の実施形態では、ルーティング・プレフィックス中に異なる情報および／または追加の情報を含むことができる。
【００５４】
図２に示すようなマルチステージ・アドレス・ネットワークでは、アドレス・スイッチは、アドレス・パケットを他のアドレス・スイッチに搬送する際に、ルーティング・プレフィックスを変更することもできる。例えば、クライアント・デバイスからアドレス・パケットを直接受け取る（すなわち、パケットは仲介アドレス・スイッチによって送出されない）アドレス・スイッチ１４２と１４６は、アドレス・パケットを後続のアドレス・スイッチ１４４に搬送する前に、ルーティング情報の量を減らし、または別の方法でルーティング情報を変更するように構成されている。複数の伝送モード（例えば、ＢＣとＰＴＰ）をサポートする実施形態では、クライアント・デバイスは、（例えば、付随のパケット・リクエストがアクセスするコヒーレンシ・ユニットを識別する）複数ビットのアドレス情報を含むルーティング・プレフィックスを伴うアドレス・パケットを、アドレス・ネットワーク上で送る。このアドレス情報に基づいて、アドレス・スイッチは、検索テーブルにアクセスして、アドレス・パケットの伝送モード（例えば、ＢＣまたはＰＴＰ）を決定する。本発明のいくつかの実施形態では、次にアドレス・スイッチは、伝送モードをそのアドレス・パケットのルーティング・プレフィックスの一部としてコード化する。アドレス・スイッチはまた、アドレス・パケットを別のアドレス・スイッチに搬送する際に、アドレス情報を削除する、あるいは別の方法でアドレス情報の送信を禁止するように構成されている。例えば、本発明の一実施形態では、アドレス・スイッチは、アドレス情報を伝送モード情報で上書きすることによって、アドレス情報を削除する。
【００５５】
ＰＴＰモード・アドレス・トランザクションを実装する（例えば、搬送の唯一のモードとして、あるいはＢＣモードに加えて、ＰＴＰを実装する）実施形態では、アドレス・スイッチは、送信先デバイスＩＤをルーティング・プレフィックス内にコード化することによって、ルーティング・プレフィックスを変更する。例えば、ルーティング・プレフィックス内にコード化されたアドレス情報が、付随のパケットをＰＴＰモードで搬送するべきことを指示する場合、そのルーティング・プレフィックスを受け取る各アドレス・スイッチは、パケット送信先を識別する情報をルーティング・プレフィックス内にエンコードする。例えば、アドレス・スイッチは、アドレス情報を使用して、そのアドレスが割り振られたメモリ・サブシステムのデバイスＩＤを探し出し、デバイスＩＤの少なくとも一部分をルーティング情報内にエンコードする。本発明の一実施形態では、アドレス・スイッチは、アドレス情報を送信先情報で上書きする。送信先ＩＤの全部または一部をエンコードする代りに、アドレス・スイッチは、各潜在的な送信先デバイスを表すビット値をもち、付随のパケットの実際の送信先を表す各ビットに特定の値をセットした送信先マスクをエンコードする。
【００５６】
図４Ｄには、本発明の一実施形態において、アドレス・スイッチが図４Ｃに示すルーティング・プレフィックスから生成できる変更されたルーティング・プレフィックスの例が示されている。図４Ｃのルーティング・プレフィックスを受け取るアドレス・スイッチは、アドレス情報ＡＤＤ８〜ＡＤＤ０および／またはアドレス・プレフィックス・タイプＡＰＴ２〜ＡＰＴ０を使用して、付随のアドレス・パケットを搬送すべき伝送モード（例えば、ＢＣまたはＰＴＰ）を識別する。例えば、本発明のいくつかの実施形態では、アドレス・パケットの伝送モードは、そのアドレス・パケット内で指定されるコヒーレンシ・ユニットのアドレスによって決定する。アドレス・スイッチは、ルーティング・プレフィックスに含まれるアドレス情報を使用して、そのアドレスに関連づけられた伝送モードを指示するルーティング・テーブルにアクセスする。本発明のいくつかの実施形態では、こうしたルーティング・テーブルはまた、どのメモリ・サブシステムにそのアドレスが割り振られているかも指示する。
【００５７】
ルーティング・テーブルが、付随のアドレス・パケットをＰＴＰモードで搬送するべきであると指示する場合、アドレス・スイッチは、アドレス情報ＡＤＤ８〜ＡＤＤ０が示すアドレスが割り振られたメモリ・サブシステムのデバイスＩＤをエンコードする。この情報は、図４Ｄに示すように、ＡＤＤ８〜ＡＤＤ０の位置にエンコードされる。この例では、ＡＤＤ８〜ＡＤＤ０は、（ルーティング・プレフィックス［０］［８：０］に含まれる）９ビットのデバイスＩＤ  ＤＩＤ８〜ＤＩＤ０に置き換えられている。付随のアドレス・パケットをＢＣモードで搬送するべきであると指示するルーティング・テーブルに応答して、アドレス・スイッチは、（例えば、すべてのデバイスを付随のアドレス・パケットの送信先デバイスとするように指示する値をＤＩＤ７〜ＤＩＤ０にセットすることによって）ＢＣモードを指示するようにルーティング・プレフィックスを変更する。
【００５８】
本発明のいくつかの実施形態では、クライアント・デバイスが生成したある種のルーティング・プレフィックスは、マルチステージ・アドレス・ネットワーク内の第１ステージのアドレス・スイッチによって変換されないことがある。したがって、第１ステージのアドレス・スイッチは、アドレス・ネットワーク上を搬送されるルーティング・プレフィックスにすでに含まれる情報に応じて、ルーティング・プレフィックスを選択的に変更するように構成されている。本発明の一実施形態では、プロセシング・サブシステムは、コヒーレンシ・トランザクションを開始する際に、図４Ｃに示すプレフィックスと同様のルーティング・プレフィックスを生成する。これらのルーティング・プレフィックスは、ＰＴＰモード・リクエスト・パケット、またはＢＣモード・パケットに対応する。ＰＴＰモード・トランザクション内での後続のアドレス・パケットは、他のプロセシング・サブシステムとメモリ・サブシステムによって生成する。マルチキャストと応答に対応するこれらのアドレス・パケットは、図４Ｄに示すプレフィックスと同様のルーティング・プレフィックスをもつ。アドレス・スイッチが、伝送モード情報をすでに含むプレフィックスを受け取る場合、第１ステージのアドレス・スイッチは、ルーティング・プレフィックスを変更しないように構成される。伝送モード情報が存在するか、存在しないかは、アドレス・プレフィックス・タイプによって判断する（例えば、応答とマルチキャスト・パケットであることを示すアドレス・プレフィックス・タイプ値をもつルーティング・プレフィックスは変更してはならず、要求またはブロードキャスト・パケットであることを示すアドレス・プレフィックス・タイプ値をもつルーティング・プレフィックスは変更してよい）。あるいは、伝送モード情報が存在するか、存在しないかは、アドレス・プレフィックスを受け取ったクライアントのタイプ（例えば、プロセッサ、メモリ、または入出力）によって判断する。本発明の多くの実施形態では、アドレス・ネットワークの後続ステージのアドレス・スイッチは、ルーティング・プレフィックスを変更することはできない。これらのアドレス・スイッチは、ルーティング・プレフィックスが、アドレス情報の代りに、伝送モードおよび／またはデバイスＩＤを指示すると仮定する。
【００５９】
図５には、本発明の一実施形態において、クライアントとデータ・スイッチの間で、データ・パケットをデータ・ネットワーク上でどのように搬送するかが示されている。本発明のいくつかの実施形態では、異なる長さのデータ・パケットを、データ・ネットワーク上に送出する。例えば、いくつかの実施形態では、「ショート」データ・パケットまたは「ロング」データ・パケットを送ることができる。そのような一実施形態では、ショート・データ・パケットは１２０ビット長、ロング・データ・パケットは７２０ビット長である。他の実施形態では、他のビット数と他フォーマットを含む他のタイプのデータ・パケットを使用することに留意されたい。さらに、いくつかの実施形態では、パケットを１種類の長さに制限することができ、他の実施形態では、複数のパケット長を、または可変パケット長さえもサポートする。
【００６０】
先に説明したアドレス・パケットと同様、クライアントからデータ・スイッチに、またはデータ・スイッチから別のデータ・スイッチに送られるデータ・パケットの前に、ルーティング・プレフィックスを付ける。しかし、クライアント・デバイスは、受信パケットを送出する必要がないので、データ・スイッチからクライアントに送られるデータ・パケットの前には、ルーティング・プレフィックスを付けてはならない。したがって、データ・パケット・ルーティング・プレフィックスを削除する、あるいは別の方法でクライアント・デバイスへのデータ・パケット・ルーティング・プレフィックスの送信を禁止するようにデータ・スイッチを構成する。
【００６１】
図３に示すアドレス・パケットと同様、１２０ビットのショート・データ・パケットは、７４ビットの短いデータ本体、５ビットのパケット・クラス、１７個のエラーコード・ビット、２４個のパリティ・ビットを含む。７２０ビット長のロング・データ・パケットは、５７６ビットの長いデータ本体、８ビットのパケット・クラス、３０個のエラーコード・ビット、１４４個のパリティ・ビットを含む。データ・パケットのパリティ・ビットは、アドレス・パケットのための計算と同様の方式で計算する。
【００６２】
図５では、ショート・データ・パケットが、データ・スイッチからクライアントに送信されている。したがって、ショート・データ・パケットの前には、ルーティング・プレフィックスが付いていない。図５には、ショート・データ・パケットの様々な部分をどのように受け取り、またどのようにスライスに分割するかが示されている。この実施形態では、各スライスは、対応する１２信号リンクを介して搬送する。データ・パケットは、２ビートを費やして送出される。ビート０の間に、ショート・データ・パケットの前半部であるショート・データ・パケット［０］［５９：０］が送られる。ビート１の間に、ショート・データ・パケットの後半部であるショート・データ・パケット［１］［５９：０］が送られる。例示の実施形態では、スライス０〜３で、データ本体、パケット・クラス、エラーコード・ビットを搬送することができ、スライス４で、スライス０〜３で搬送される情報に関連するパリティ・ビットを搬送する。
【００６３】
５つのネットワーク・スライスを含む実施形態では、ある状況では、４つのスライスしか使用できない。例えば、１つのスライスが障害を起した場合、ネットワークは、残りの４つのスライスを使用して動作を継続する。そのような状況で、クライアント・デバイスは、５つすべてのスライス上でパケットを受け取り続けることができる（すなわち、クライアント・デバイスは、ネットワーク・スライスの障害を知らなくてよい）。しかし、パケット受信者は、不良スライス上で送信された情報を効果的に無視する。不良スライスを使用して、冗長情報以外の情報を搬送する場合、その情報は、冗長情報を使用して各受信デバイスで再生する。他の実施形態では、クライアント・デバイスは、ネットワーク・スライス障害を知ることができ、障害に応答して、各正常スライスでパケットのどの部分を送るかを能動的に調整する。したがって、１つのスライスが障害を起した場合、クライアント・デバイスは、検出された障害に応答して、異常スライスではどのような情報も受け取ってはならない。例えば、スライス２が障害を起した場合、障害時でなければスライス２で搬送された非冗長データを、正常時に冗長データを搬送するのに使用されるスライスで送るようにクライアント・デバイスを構成する。
【００６４】
本発明の他の実施形態では、パケットを上で説明したのとは異なる方式で（例えば、異なる数のスライスに、または冗長と非冗長情報を共に含むスライスに）スライスすることができ、かつ／または異なる数のネットワーク・スライスを使用して、各パケットを伝送する。例えば、各パケットを８つのスライスに細分することができ、８つのネットワーク・スライスを使用して、各パケットを搬送する。
【００６５】
パケット誤り検出と訂正
パケット内のパリティ・ビットとエラーコード・ビットの組合せを使用して、クライアント・デバイスは、パケットに含まれる一定のクラスのエラーを検出し、かつ／または訂正する。クライアント・デバイスはまた、スライス内のエラーを検出することができ、スライスは、検出されたこれらのエラーに基づいて、（例えば、サービス・プロセッサ２５によって）不良スライスとして識別され、シャットダウンされる。さらに、シャットダウンさせられると、スライスは、サービス・プロセッサ２５または図１のプロセッサ・デバイス２０など他のプロセッサの介入によって、オンライン状態に回復する。
【００６６】
図６には、本発明の一実施形態による、クライアント・デバイス（例えば、プロセッサ・デバイス２０、入出力クライアント、またはメモリ・クライアント２１）が示されている。クライアント・デバイス６００は、アドレス・リンク１４７からパケットを受け取るように結合されたアドレス・インタフェース６０５を含む。クライアント・デバイス６００はまた、誤り検出および／または訂正ユニット６１０を含む。ユニット６１０は、誤り追跡回路６２０、スライス無効化ユニット６５０に結合されている。ユニット６５０は、誤り追跡回路６２０、誤り検出および／または訂正ユニット６１０に結合されている。クライアント・デバイス６００はまた、データ・ネットワーク５０へのデータ・インタフェース（図示せず）を含むことに留意されたい。いくつかの実施形態では、クライアント・デバイスは、複数の誤り検出および／または訂正ユニット６０１、誤り追跡回路６２０および／またはスライス無効化ユニット６５０を含む（例えば、一実施形態では、各アドレス・インタフェース、データ・インタフェース毎におよび／またはこれらのユニットの別個の組を含む）。
【００６７】
誤り検出および／または訂正ユニット６１０は、パケットと共に伝送されたエラーコード・ビットおよび／または冗長情報を使用して受信パケット中に何らかのエラーが存在しているかどうかを判定するように構成される。例えば、１スライス中の冗長情報を、パケットの他のスライスのＸＯＲをとることによって生成する場合、誤り検出および／または訂正ユニット６１０は、そのスライス中の冗長情報が、パケットの他のスライスのＸＯＲとなっているか検証する。同様に、誤り検出および／または訂正ユニット６１０は、各々のエラーコード・ビットが、パケット内の個々の１組のビットのＸＯＲとなっているか検証する。
【００６８】
本発明のいくつかの実施形態では、パケットを受け取った際、誤り検出および／または訂正ユニット６１０は、冗長情報を使用して受信パケットの複数のバージョンを生成してパケット内のエラーをチェックする。ネットワーク内の各非冗長スライス毎に１つのバージョンを生成する。例えば、ネットワークが５つのスライス（非冗長情報用の４つと冗長情報用の１つ）を含む実施形態では、４つのバージョンを作成する。異なるバージョンの各々では、異なる非冗長スライスが不正であると仮定され、不正であると仮定したスライス内の情報を、残りのパケット・スライスと冗長情報を用いて再生する。
【００６９】
異なるバージョンを生成した後、各スライスに含まれるエラーコード・ビットを使用して、各新しいバージョンとオリジナルに関する誤り検出シンドロームを生成する。一般に、シンドロームとは、情報と共に伝送された受信エラーコードと受信情報から再生されたエラーコードとのＸＯＲオペレーションの結果であるエラーコードのことである。受信パケットにエラーが含まれていない場合、オリジナルのシンドロームと４つの新たに生成したバージョンのシンドロームは同じ値（一般に０）となり、オリジナルのパケットを処理する。
【００７０】
受信パケットにエラーが含まれている場合、オリジナルに関するシンドロームとまだ残存エラーをもつ各異なるバージョンに関するシンドロームが、エラーがそのクラスのエラーを検出／訂正するためにエラーコードを設計したエラー・クラス内のものかどうかに応じて、エラーを示すことができる。本発明の一実施形態では、エラーコードが、すべての１ビット誤りを訂正し、２ビット誤りを検出するように設計される。スライス内で１ビット誤りが検出された場合、パケットの異なるバージョンのうち１つのバージョンしか、エラー未検出を示すシンドロームをもつことができない。例えば、受信パケットは、スライス１のビット位置に１ビット誤りまたは２ビット誤りを含むことがある。パケットがコピーされ、シンドロームがチェックされた後、スライス１が不良であると仮定して生成したパケットの１つのバージョンだけが、エラー無しを示すシンドロームをもつが、それは、スライス１が他のスライスの情報からすでに再生され、置き換えられているからである。したがって、パケットのそのバージョンを、クライアント・デバイス６００内で処理するバージョンとする。
【００７１】
２以上のスライスがエラーを含むために、２以上すべて未満の異なるバージョンが、エラー無しを示すシンドロームをもつという可能性が存在する。この場合、訂正不能状態が発生している。訂正不能エラーを検出したのに応答して、クライアント６００は、パケットの処理を停止し、エラー状態の原因を解明するようサービス・プロセッサ２５に割込みを送る。
【００７２】
各エラーコード・ビットの値が、同じパケット・スライス内の他のビットの値にのみ依存する一代替実施形態では、パケット内の各パケット・スライスのシンドロームを（異なるスライスが不良であると仮定することによって、パケットの複数の異なるバージョンを自動的に生成するのではなく）パケットを受け取ったときに計算する。各シンドロームが、対応するパケット・スライスのエラー無しを示している場合、そのパケットは処理される。シンドロームのどれかがエラー有りを示している場合、そのパケットには１つまたは複数のエラーが存在する。本発明の一実施形態では、エラーコードが関連するパケット・スライス内の１ビット誤りを検出し訂正できるように、エラーコードを設計し構成する。エラーが１ビット誤りの場合、エラーコードはそのエラーを訂正することができ、そのパケットは処理する。
【００７３】
エラーコードは、１つのスライス内の、または異なるスライスにまたがる、すべての２ビット誤りも検出する。エラーが２ビット誤りであり、誤りビットが共に同じスライス内にある場合、パケットに含まれる冗長情報と残りのスライスの情報を用いて、誤りスライスを再生する。スライスを再生した後、シンドロームを再計算する。シンドロームがエラー未検出を示す場合、そのパケットを処理する。本発明の他の実施形態では、他のクラスのエラーを検出し訂正するように、エラーコードを設計する。
【００７４】
本発明の一実施形態では、２以上の異なるスライスで訂正不能エラーが検出された場合、クライアント６００はパケットの処理を停止し、エラー状態の原因を解明するようサービス・プロセッサ２５に割込みを送る。
【００７５】
エラーは多くの様々な発生源から侵入する。例えば、雑音や電圧急上昇など一過性のイベントが、ビット誤りの原因となることがある。さらに、コネクタ異常や導線異常など非一過性のイベントまたはハード障害が、反復エラーの原因となることがある。一過性のエラーは実行中に訂正することができ、パケットを処理し続けることができるが、ハード障害は、システム・サービスを必要とすることがある。通常、同じパケットを運んでいる最中に２つのネットワーク・スライスでエラーが発生する可能性は比較的小さい。しかし、１つの特定のスライスを介して搬送される情報に繰り返しエラーが含まれる場合、同じパケット内の異なるパケット・スライスを損なうエラーが２つのスライスに突然含まれる可能性が増大し得る。
【００７６】
あるパケットで２つのスライスにエラーが含まれる可能性を最小限に抑えるために、クライアント６００は、あるネットワーク・スライスがおこす反復エラーを追跡し、スライスの信頼性が失われた場合、（例えば、誤作動するネットワーク・スライスを無効にする、サービス・プロセッサ２５に通知することによって）スライスを無効にする。クライアント６００は、１つまたは複数のエラーが検出されたネットワーク・スライスを識別するために、エラー追跡ロジック６２０を含む。スライス内でのエラー検出に応答して、誤り検出および／または訂正ユニット６１０は、エラー追跡ロジック６２０にエラー検出指示を供給する。
【００７７】
この実施形態では、エラー追跡ロジック６２０は、サスペクト記憶ユニット６２５、スライス・エラー・カウンタ６３０、スライス・エラー閾値記憶６４０、閾値検出回路６４５を含む。サスペクト記憶ユニット６２５は、エラー指示用の記憶装置を提供するように構成されている。あるスライスに最初にエラーが発生したとき、エラーが検出されたスライスを識別する対応する指示を、サスペクト記憶ユニット６２５内に保存する。異なるスライスで別のエラーが検出された場合、対応するエラー指示をサスペクト記憶ユニット６２５内に保存することができ、他のスライス用の前回の指示は削除する。したがって、本発明の一実施形態では、ある時点で、１つのスライスを誤りスライスとして「ポイント」ことができ、あるいは別の方法で識別する。
【００７８】
本発明の一実施形態では、新しいパケットを受け取るたび、あるスライスにエラーが存在する場合、エラー指示をサスペクト記憶ユニット６２５内に保存することができ、どのスライスにもエラーが存在しない場合、すべてのエラー指示をサスペクト記憶ユニット６２５から削除する。本発明の一代替実施形態では、サスペクト記憶ユニット６２５は、異なるスライス用のエラー指示が保存され、そのために現在のエラー指示が削除されるまで、エラー指示を保持する。本発明の一実施形態では、サスペクト記憶ユニット６２５は、各スライスに対応するビット位置をもつレジスタで実装する。そのような一実施形態では、あるスライスがエラーを含むことを示すためにビットをセットするか、またビットをクリアする。他の実施形態では、他のタイプの記憶装置を利用できることに留意されたい。さらに、いくつかの実施形態では、異なるスライスでエラーが検出された後でも、個々のスライス用のエラー指示を維持する。
【００７９】
あるスライス用のエラー指示がサスペクト記憶ユニット６２５内に格納された後、そのスライスがポイントされている間に、後続のエラーがそれと同じスライス内で検出された場合、スライス・エラー・カウンタ６３０がインクリメントされる。例示の実施形態では、スライス・エラー・カウンタ６３０は４ビットであり、１５までインクリメントされた後０に戻る。他の実施形態では、異なる数のビットをもつカウンタを含むことが企図されている。さらに、本発明の一実施形態では、各スライス毎に異なるスライス・エラー・カウンタ６３０をも含む。
【００８０】
スライス・エラー閾値６４０は、あるスライスが信頼性無しまたは不良であると宣言されるまでに、そのスライス内で検出できるエラー数を示す値を保持するように構成された記憶装置である。本発明の一実施形態では、スライス・エラー閾値６４０は、プログラム可能レジスタとするが、その他のタイプの記憶装置も企図されている。
【００８１】
閾値検出６４５は、スライス・エラー・カウンタ６３０内のカウンタ値をスライス・エラー閾値６４０に格納された閾値と比較するように構成されている。２つの値が等しい場合、閾値検出６４５は、閾値合致信号をスライス無効化ユニット６５０に供給する。
【００８２】
スライス無効化ユニット６５０は、閾値検出６４５から閾値合致信号を受け取ったのに応答して、サービス・プロセッサ２５に割込みを供給するように構成される。さらに、スライス無効化ユニット６５０は、それ以降不良スライス上で伝送される情報をすべて無視するようにクライアント６００を構成する。本発明の一実施形態では、スライス無効化ユニット６５０は、サービス・プロセッサ２５が使用する不良スライスについてのステータス情報を格納することもできる。
【００８３】
本発明の一実施形態では、クライアント６００は、障害疑惑のあるスライスを追跡し、反復してエラーを起すスライスを無効にするための特定の機能ユニットを含むが、他の実施形態では、上で説明した方式で機能するその他のハードウェアおよび／またはソフトウェアを利用できることが企図されていることに留意されたい。
【００８４】
本明細書では、「アサート」、「デアサート」、「セット」、「クリア」という語は、信号の論理レベルを表す語として使用される。信号の実際の電気的レベルは、実装によって変わり得る（例えば、アクティブ・ハイまたはアクティブ・ローがどのように実装されるかによる）。
【００８５】
上記の開示を十分に理解した後では、様々な変形形態と修正形態が当業者には明らかであろう。添付の特許請求の範囲は、そうした変形形態と修正形態をすべて包含するものと解釈されたい。
【図面の簡単な説明】
【００８６】
【図１】本発明の一実施形態による、コンピュータ・システムのブロック図である。
【図２】本発明の一実施形態による、コンピュータ・システムの別のブロック図である。
【図３】本発明の一実施形態による、アドレス・パケットの図である。
【図４Ａ−Ｂ】本発明の実施形態において、アドレス・パケットをアドレス・ネットワーク上でどのように搬送するかを示す図である。
【図４Ｃ−Ｄ】本発明の実施形態による、クライアント・デバイスからネットワーク・スイッチに搬送する例示的なルーティング・プレフィックスを示す図である。
【図５】本発明の一実施形態において、データ・パケットをデータ相互接続上でどのように搬送するかを示す図である。
【図６】本発明の一実施形態による、クライアント・デバイスのブロック図である。
【図１】
2005531978.tif 000003
【図２】
2005531978.tif 000004
【図３】
2005531978.tif 000005
【図４Ａ−Ｂ】
2005531978.tif 000006
【図４Ｃ−Ｄ】
2005531978.tif 000007
【図５】
2005531978.tif 000008
【図６】
2005531978.tif 000009
【国際調査報告】
2005531978.tif 000010
2005531978.tif 000011
2005531978.tif 000012