(57)【要約】  マルチアダプティブプロセッサ素子（ＭＡＰ（登録商標））といった直接実行論理を採用したクラスタ化コンピューティングシステム用の完全バッファ型デュアル・インライン・メモリモジュール（“ＦＢ−ＤＩＭＭ”）フォーマットにおいて、直接実行論理素子と１つ以上の高密度論理素子とによって選択的にアクセス可能な共有メモリ資源（“ＳＮＡＰＭ（登録商標）”）を組み込んだ、強化されたスイッチ／ネットワークアダプタポートである（登録商標はすべて、エス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）。機能的には、ＳＮＡＰＭモジュールは、関連する高密度論理素子（たとえばマイクロプロセッサ）にはメモリが任意の他のシステムメモリと機能的に同様に見えるようにメモリ資源を組み込み、適正に割当てており、それにアクセスする際、時間に関する不利益は発生しない。プログラム可能なアクセス調整メカニズムの使用を介して、このメモリの制御をＳＮＡＰＭメモリコントローラに渡すことができ、一旦制御状態になると、コントローラは、メモリデバイス自体が持続可能な最大速度で転送が行なわれるように、共有メモリ資源とコンピュータネットワークとの間でデータを移動可能である。これは、ＭＡＰ（登録商標）素子、共通メモリ基板などの他のネットワークデバイスに最高性能のリンクを提供する。
2007527565.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムであって、
少なくとも１つの高密度論理素子と、
前記少なくとも１つの高密度論理素子を制御ブロックおよびメモリバスに結合するためのコントローラと、
前記メモリバスに結合された１つ以上のメモリモジュールスロットとを含み、前記１つ以上のメモリモジュールスロットの少なくとも１つはバッファ型メモリモジュールを含み、前記コンピュータシステムはさらに、
前記１つ以上のメモリモジュールスロットのサブセットに関連するアダプタポートを含み、前記アダプタポートは関連するメモリ資源を含み、前記コンピュータシステムはさらに、
前記アダプタポートに結合された少なくとも１つの直接実行論理素子を含み、前記メモリ資源は、前記少なくとも１つの高密度論理素子と前記少なくとも１つの直接実行論理素子とによって選択的にアクセス可能である、コンピュータシステム。
【請求項２】
前記コントローラはインタリーブメモリコントローラを含む、請求項１に記載のコンピュータシステム。
【請求項３】
前記バッファ型メモリモジュールはＦＢ−ＤＩＭＭメモリモジュールを含む、請求項１に記載のコンピュータシステム。
【請求項４】
コンピュータシステムであって、
少なくとも１つの高密度論理素子と、
前記少なくとも１つの高密度論理素子を制御ブロックおよびメモリバスに結合するためのインタリーブコントローラと、
前記メモリバスに結合された複数のメモリスロットとを含み、前記複数のメモリスロットの少なくとも１つはバッファ型メモリモジュールを含み、前記コンピュータシステムはさらに、
前記複数のメモリスロットの少なくとも２つに関連するアダプタポートを含み、前記アダプタポートの各々は関連するメモリ資源を含み、前記コンピュータシステムはさらに、
前記アダプタポートの少なくとも１つに結合された直接実行論理素子を含み、前記メモリ資源は、前記少なくとも１つの高密度論理素子と前記直接実行論理素子とによって選択的にアクセス可能である、コンピュータシステム。
【請求項５】
前記複数のメモリスロットはＦＢ−ＤＩＭＭメモリモジュールスロットを含む、請求項４に記載のコンピュータシステム。
【請求項６】
前記アダプタポートは、前記ＦＢ−ＤＩＭＭメモリモジュールスロットのうちの１つの内での保持用のＦＢ−ＤＩＭＭ物理フォーマットを含む、請求項３または請求項５に記載のコンピュータシステム。
【請求項７】
前記制御ブロックは制御情報を前記アダプタポートに提供する、請求項１または請求項４に記載のコンピュータシステム。
【請求項８】
前記制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項１または請求項４に記載のコンピュータシステム。
【請求項９】
前記制御ブロックは周辺バス制御ブロックを含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項１０】
前記周辺バス制御ブロックは制御情報を前記アダプタポートに提供する、請求項９に記載のコンピュータシステム。
【請求項１１】
前記周辺バス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項９に記載のコンピュータシステム。
【請求項１２】
前記制御ブロックはグラフィックス制御ブロックを含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項１３】
前記グラフィックス制御ブロックは制御情報を前記アダプタポートに提供する、請求項１２に記載のコンピュータシステム。
【請求項１４】
前記グラフィックス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項１２に記載のコンピュータシステム。
【請求項１５】
前記制御ブロックはシステムメンテナンス制御ブロックを含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項１６】
前記システムメンテナンス制御ブロックは制御情報を前記アダプタポートに提供する、請求項１５に記載のコンピュータシステム。
【請求項１７】
前記システムメンテナンス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項１５に記載のコンピュータシステム。
【請求項１８】
前記制御ブロックはＰＣＩ−Ｘ制御ブロックを含む、請求項４に記載のコンピュータシステム。
【請求項１９】
前記ＰＣＩ−Ｘ制御ブロックは制御情報を前記アダプタポートに提供する、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記ＰＣＩ−Ｘ制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項１８に記載のコンピュータシステム。
【請求項２１】
前記制御ブロックはＰＣＩエクスプレス制御ブロックを含む、請求項４に記載のコンピュータシステム。
【請求項２２】
前記ＰＣＩエクスプレス制御ブロックは制御情報を前記アダプタポートに提供する、請求項２１に記載のコンピュータシステム。
【請求項２３】
前記ＰＣＩエクスプレス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項２１に記載のコンピュータシステム。
【請求項２４】
前記直接実行論理素子は再設定可能プロセッサ素子を含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項２５】
前記直接実行論理素子は、前記メモリバス上の前記コントローラから受取ったデータを変更するように動作する、請求項１または請求項４に記載のコンピュータシステム。
【請求項２６】
前記直接実行論理素子は、外部源から受取ったデータを変更してから、変更されたデー
タを前記メモリバス上に置くように動作する、請求項１または請求項４に記載のコンピュータシステム。
【請求項２７】
前記直接実行論理素子は、前記アダプタポートに結合された制御ブロックを含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項２８】
前記直接実行論理素子は、識別されたアルゴリズムをオンにし、前記アダプタポートによってそれに提供されたオペランドを実行するよう設定可能な少なくとも１つのフィールドプログラマブルゲートアレイをさらに含む、請求項２７に記載のコンピュータシステム
【請求項２９】
前記アダプタポートに結合された制御ブロックを前記少なくとも１つのフィールドプログラマブルゲートアレイに結合するデュアルポートメモリブロックをさらに含む、請求項２８に記載のコンピュータシステム。
【請求項３０】
前記直接実行論理素子は、前記プロセッサ素子を別の直接実行論理素子に結合するためのチェーンポートを含む、請求項１または請求項４に記載のコンピュータシステム。
【請求項３１】
前記直接実行論理素子は、設定情報をそれに提供するための前記制御ブロックに関連する読出専用メモリをさらに含む、請求項２７に記載のコンピュータシステム。
【請求項３２】
コンピュータシステムであって、前記コンピュータシステムのメモリバスとネットワークインターフェイスとの間の電気的結合用のアダプタポートを含み、前記コンピュータシステムは、メモリモジュールコネクタを介して前記メモリバスに結合された少なくとも１つの高密度論理素子を含み、前記アダプタポートは、
前記アダプタポートに関連するメモリ資源と、
前記少なくとも１つの高密度論理素子による前記メモリ資源へのアクセスを選択的に可能にするための制御ブロックとを含む、コンピュータシステム。
【請求項３３】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記メモリ資源へのアクセスを選択的に妨げるように動作する、請求項３２に記載のコンピュータシステム。
【請求項３４】
前記ネットワークインターフェイスに結合された少なくとも１つの直接実行論理素子をさらに含む、請求項３２に記載のコンピュータシステム。
【請求項３５】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子および前記少なくとも１つの直接実行論理素子による前記メモリ資源へのアクセスを二者択一的に可能にするように動作する、請求項３４に記載のコンピュータシステム。
【請求項３６】
前記メモリバスは少なくとも１つのメモリモジュールスロットをさらに含み、前記アダプタポートは、前記メモリモジュールコネクタを介した前記少なくとも１つのメモリモジュールスロット内での物理的保持用に設定されている、請求項３２に記載のコンピュータシステム。
【請求項３７】
前記少なくとも１つのメモリモジュールスロットはＦＢ−ＤＩＭＭスロットを含む、請求項３６に記載のコンピュータシステム。
【請求項３８】
追加のアダプタポートと、
前記追加のアダプタポートに関連する追加のメモリ資源とをさらに含み、前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記追加のメモリ資源へのア
クセスを選択的に可能にするように動作する、請求項３２に記載のコンピュータシステム。
【請求項３９】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記メモリ資源および前記追加のメモリ資源へのアクセスを選択的に妨げるように動作する、請求項３８に記載のコンピュータシステム。
【請求項４０】
前記ネットワークインターフェイスに結合された少なくとも１つの直接実行論理素子をさらに含む、請求項３９に記載のコンピュータシステム。
【請求項４１】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子および前記少なくとも１つの直接実行論理素子による、前記メモリ資源および前記追加のメモリ資源へのアクセスを二者択一的に可能とするように動作する、請求項４０に記載のコンピュータシステム。
【請求項４２】
前記メモリバスは、前記少なくとも１つのアダプタポートおよび前記追加のアダプタポートそれぞれの物理的保持用の第１および第２のメモリモジュールスロットをさらに含む、請求項３８に記載のコンピュータシステム。
【請求項４３】
前記第１および第２のメモリモジュールスロットはＦＢ−ＤＩＭＭスロットを含む、請求項４２に記載のコンピュータシステム。
【請求項４４】
前記制御ブロックは、前記アダプタポートを構成するモジュール上に位置する、請求項３８に記載のコンピュータシステム。
【請求項４５】
前記コンピュータシステムは、前記少なくとも１つの高密度論理素子と前記メモリバスとの間に置かれたメモリおよびＩ／Ｏコントローラをさらに含む、請求項３２に記載のコンピュータシステム。
【請求項４６】
前記メモリおよびＩ／Ｏコントローラはインタリーブメモリコントローラを含む、請求項４５に記載のコンピュータシステム。
【請求項４７】
前記メモリバスはそのアドレス／制御部分およびデータ部分を含む、請求項３２に記載のコンピュータシステム。
【請求項４８】
前記メモリバスは、アドレス／制御入力およびデータ入力を前記制御ブロックに提供し、その機能性を少なくとも部分的に制御する、請求項３２に記載のコンピュータシステム。
【請求項４９】
前記制御ブロックは、直接メモリアクセス動作を前記メモリ資源に提供するためのＤＭＡコントローラをさらに含む、請求項３２に記載のコンピュータシステム。
【請求項５０】
前記ＤＭＡコントローラは十分にパラメータ化されている、請求項４９に記載のコンピュータシステム。
【請求項５１】
前記ＤＭＡコントローラは、分散／収集機能が実現されることを可能にする、請求項４９に記載のコンピュータシステム。
【請求項５２】
前記ＤＭＡコントローラは、不規則データアクセスパターン機能が実現されることを可能にする、請求項４９に記載のコンピュータシステム。
【請求項５３】
前記ＤＭＡコントローラは、データパッキング機能が実現されることを可能にする、請求項４９に記載のコンピュータシステム。
【請求項５４】
前記メモリ資源は、前記ネットワークインターフェイスに結合された装置によるそれへのアクセスを可能にするよう、前記制御ブロックに応答して前記メモリバスから分離されてもよい、請求項３２に記載のコンピュータシステム。
【請求項５５】
前記メモリ資源はランダムアクセスメモリを含む、請求項５２に記載のコンピュータシステム。
【請求項５６】
前記ランダムアクセスメモリはＤＲＡＭを含む、請求項５５に記載のコンピュータシステム。
【請求項５７】
コンピュータシステムであって、
少なくとも１つの高密度論理素子と、
前記少なくとも１つの高密度論理素子を制御ブロックおよびメモリバスに結合するためのコントローラと、
前記メモリバスに結合された１つ以上のメモリモジュールスロットと、
前記１つ以上のメモリモジュールスロットのサブセットに関連するアダプタポートとを含み、前記アダプタポートは関連するメモリ資源を含み、前記コンピュータシステムはさらに、
前記アダプタポートに結合された少なくとも１つの直接実行論理素子を含み、前記メモリ資源は、前記少なくとも１つの高密度論理素子と前記少なくとも１つの直接実行論理素子とによって選択的にアクセス可能である、コンピュータシステム。
【請求項５８】
前記コントローラはインタリーブメモリコントローラを含む、請求項５７に記載のコンピュータシステム。
【請求項５９】
コンピュータシステムであって、
少なくとも１つの高密度論理素子と、
前記少なくとも１つの高密度論理素子を制御ブロックおよびメモリバスに結合するためのインタリーブコントローラと、
前記メモリバスに結合された複数のメモリスロットと、
前記複数のメモリスロットの少なくとも２つに関連するアダプタポートとを含み、前記アダプタポートの各々は関連するメモリ資源を含み、前記コンピュータシステムはさらに、
前記アダプタポートの少なくとも１つに結合された直接実行論理素子を含み、前記メモリ資源は、前記少なくとも１つの高密度論理素子と前記直接実行論理素子とによって選択的にアクセス可能である、コンピュータシステム。
【請求項６０】
前記複数のメモリスロットはＤＩＭＭメモリモジュールスロットを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項６１】
前記アダプタポートは、前記ＤＩＭＭメモリモジュールスロットのうちの１つの内での保持用のＤＩＭＭ物理フォーマットを含む、請求項６０に記載のコンピュータシステム。
【請求項６２】
前記複数のメモリスロットはＲＩＭＭメモリモジュールスロットを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項６３】
前記アダプタポートは、前記ＲＩＭＭメモリモジュールスロットのうちの１つの内での保持用のＲＩＭＭ物理フォーマットを含む、請求項６２に記載のコンピュータシステム。
【請求項６４】
前記制御ブロックは制御情報を前記アダプタポートに提供する、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項６５】
前記制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項６６】
前記制御ブロックは周辺バス制御ブロックを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項６７】
前記周辺バス制御ブロックは制御情報を前記アダプタポートに提供する、請求項６６に記載のコンピュータシステム。
【請求項６８】
前記周辺バス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項６６に記載のコンピュータシステム。
【請求項６９】
前記制御ブロックはグラフィックス制御ブロックを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項７０】
前記グラフィックス制御ブロックは制御情報を前記アダプタポートに提供する、請求項６９に記載のコンピュータシステム。
【請求項７１】
前記グラフィックス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項６９に記載のコンピュータシステム。
【請求項７２】
前記制御ブロックはシステムメンテナンス制御ブロックを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項７３】
前記システムメンテナンス制御ブロックは制御情報を前記アダプタポートに提供する、請求項７２に記載のコンピュータシステム。
【請求項７４】
前記システムメンテナンス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項７２に記載のコンピュータシステム。
【請求項７５】
前記制御ブロックはＰＣＩ−Ｘ制御ブロックを含む、請求項５９に記載のコンピュータシステム。
【請求項７６】
前記ＰＣＩ−Ｘ制御ブロックは制御情報を前記アダプタポートに提供する、請求項７５に記載のコンピュータシステム。
【請求項７７】
前記ＰＣＩ−Ｘ制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項７５に記載のコンピュータシステム。
【請求項７８】
前記制御ブロックはＰＣＩエクスプレス制御ブロックを含む、請求項５９に記載のコンピュータシステム。
【請求項７９】
前記ＰＣＩエクスプレス制御ブロックは制御情報を前記アダプタポートに提供する、請求項７８に記載のコンピュータシステム。
【請求項８０】
前記ＰＣＩエクスプレス制御ブロックは制御情報を前記直接実行論理素子に提供する、請求項７８に記載のコンピュータシステム。
【請求項８１】
前記直接実行論理素子は再設定可能プロセッサ素子を含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項８２】
前記直接実行論理素子は、前記メモリバス上の前記コントローラから受取ったデータを変更するように動作する、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項８３】
前記直接実行論理素子は、外部源から受取ったデータを変更してから、変更されたデータを前記メモリバス上に置くように動作する、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項８４】
前記直接実行論理素子は、前記アダプタポートに結合された制御ブロックを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項８５】
前記直接実行論理素子は、識別されたアルゴリズムをオンにし、前記アダプタポートによってそれに提供されたオペランドを実行するよう設定可能な少なくとも１つのフィールドプログラマブルゲートアレイをさらに含む、請求項８４に記載のコンピュータシステム。
【請求項８６】
前記アダプタポートに結合された制御ブロックを前記少なくとも１つのフィールドプログラマブルゲートアレイに結合するデュアルポートメモリブロックをさらに含む、請求項８５に記載のコンピュータシステム。
【請求項８７】
前記直接実行論理素子は、前記プロセッサ素子を別の直接実行論理素子に結合するためのチェーンポートを含む、請求項５７または請求項５９に記載のコンピュータシステム。
【請求項８８】
前記直接実行論理素子は、設定情報をそれに提供するための前記制御ブロックに関連する読出専用メモリをさらに含む、請求項８４に記載のコンピュータシステム。
【請求項８９】
コンピュータシステムであって、前記コンピュータシステムのメモリバスとネットワークインターフェイスとの間の電気的結合用のアダプタポートを含み、前記コンピュータシステムは、前記メモリバスに結合された少なくとも１つの高密度論理素子を含み、前記アダプタポートは、
前記アダプタポートに関連するメモリ資源と、
前記少なくとも１つの高密度論理素子による前記メモリ資源へのアクセスを選択的に可能にするための制御ブロックとを含む、コンピュータシステム。
【請求項９０】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記メモリ資源へのアクセスを選択的に妨げるように動作する、請求項８９に記載のコンピュータシステム。
【請求項９１】
前記ネットワークインターフェイスに結合された少なくとも１つの直接実行論理素子をさらに含む、請求項８９に記載のコンピュータシステム。
【請求項９２】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子および前記少なくとも１つの直接実行論理素子による前記メモリ資源へのアクセスを二者択一的に可能にするように動作する、請求項９１に記載のコンピュータシステム。
【請求項９３】
前記メモリバスは少なくとも１つのメモリモジュールスロットをさらに含み、前記アダプタポートは、前記少なくとも１つのメモリモジュールスロット内での物理的保持用に設定されている、請求項３２に記載のコンピュータシステム。
【請求項９４】
前記少なくとも１つのメモリモジュールスロットはＤＩＭＭスロットを含む、請求項９３に記載のコンピュータシステム。
【請求項９５】
前記少なくとも１つのメモリモジュールスロットはＲＩＭＭスロットを含む、請求項９３に記載のコンピュータシステム。
【請求項９６】
追加のアダプタポートと、
前記追加のアダプタポートに関連する追加のメモリ資源とをさらに含み、前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記追加のメモリ資源へのアクセスを選択的に可能にするように動作する、請求項８９に記載のコンピュータシステム。
【請求項９７】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子による前記メモリ資源および前記追加のメモリ資源へのアクセスを選択的に妨げるように動作する、請求項９６に記載のコンピュータシステム。
【請求項９８】
前記ネットワークインターフェイスに結合された少なくとも１つの直接実行論理素子をさらに含む、請求項９７に記載のコンピュータシステム。
【請求項９９】
前記制御ブロックはさらに、前記少なくとも１つの高密度論理素子および前記少なくとも１つの直接実行論理素子による、前記メモリ資源および前記追加のメモリ資源へのアクセスを二者択一的に可能とするように動作する、請求項９８に記載のコンピュータシステム。
【請求項１００】
前記メモリバスは、前記少なくとも１つのアダプタポートおよび前記追加のアダプタポートそれぞれの物理的保持用の第１および第２のメモリモジュールスロットをさらに含む、請求項９６に記載のコンピュータシステム。
【請求項１０１】
前記第１および第２のメモリモジュールスロットはＤＩＭＭスロットを含む、請求項１００に記載のコンピュータシステム。
【請求項１０２】
前記第１および第２のメモリモジュールスロットはＲＩＭＭスロットを含む、請求項１００に記載のコンピュータシステム。
【請求項１０３】
前記制御ブロックは、前記アダプタポートを構成するモジュール上に位置する、請求項９６に記載のコンピュータシステム。
【請求項１０４】
前記コンピュータシステムは、前記少なくとも１つの高密度論理素子と前記メモリバスとの間に置かれたメモリおよびＩ／Ｏコントローラをさらに含む、請求項８９に記載のコンピュータシステム。
【請求項１０５】
前記メモリおよびＩ／Ｏコントローラはインタリーブメモリコントローラを含む、請求項１０４に記載のコンピュータシステム。
【請求項１０６】
前記アダプタポートは、前記メモリバスと前記メモリ資源との間に置かれた、前記制御
ブロックによって制御可能な多数のスイッチを含む、請求項８９に記載のコンピュータシステム。
【請求項１０７】
前記スイッチは電界効果トランジスタを含む、請求項１０６に記載のコンピュータシステム。
【請求項１０８】
前記スイッチは、前記高密度論理素子を前記メモリ資源に結合するためのその第１の状態と、前記ネットワークインターフェイスを前記メモリ資源に結合するためのその第２の状態とを有する、請求項１０６に記載のコンピュータシステム。
【請求項１０９】
前記メモリバスはそのアドレス／制御部分およびデータ部分を含む、請求項８９に記載のコンピュータシステム。
【請求項１１０】
前記メモリバスは、アドレス／制御入力およびデータ入力を前記制御ブロックに提供し、その機能性を少なくとも部分的に制御する、請求項８９に記載のコンピュータシステム。
【請求項１１１】
前記制御ブロックは、直接メモリアクセス動作を前記メモリ資源に提供するためのＤＭＡコントローラをさらに含む、請求項８９に記載のコンピュータシステム。
【請求項１１２】
前記ＤＭＡコントローラは十分にパラメータ化されている、請求項１１１に記載のコンピュータシステム。
【請求項１１３】
前記ＤＭＡコントローラは、分散／収集機能が実現されることを可能にする、請求項１１１に記載のコンピュータシステム。
【請求項１１４】
前記ＤＭＡコントローラは、不規則データアクセスパターン機能が実現されることを可能にする、請求項１１１に記載のコンピュータシステム。
【請求項１１５】
前記ＤＭＡコントローラは、データパッキング機能が実現されることを可能にする、請求項１１１に記載のコンピュータシステム。
【請求項１１６】
前記メモリ資源は、前記ネットワークインターフェイスに結合された装置によるそれへのアクセスを可能にするよう、前記制御ブロックに応答して前記メモリバスから分離されてもよい、請求項８９に記載のコンピュータシステム。
【請求項１１７】
前記メモリ資源はランダムアクセスメモリを含む、請求項８９に記載のコンピュータシステム。
【請求項１１８】
前記ランダムアクセスメモリはＤＲＡＭを含む、請求項１１７に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願との相互参照
この発明は、２００４年６月１６日出願の米国特許出願連続番号第１０／８６９，１９９号「完全バッファ型デュアル・インライン・メモリモジュール・フォーマット（ＦＢ−ＤＩＭＭ）における直接実行論理素子と１つ以上の高密度論理素子とによって選択的にアクセス可能な共有メモリ資源を組み込んだスイッチ／ネットワークアダプタポート」（Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible By A Direct Execution Logic Element And One Or More Dense Logic Devices In A Fully Buffered Dual In-Line Memory Module Format (FB-DIMM)）の一部継続出願（ＣＩＰ）で、その優先権を主張している。この原出願は、２００３年７月１１日出願の米国特許出願連続番号第１０／６１８，０４１号「直接実行論理素子および１つ以上の高密度論理素子によって選択的にアクセス可能な共有メモリ資源を組み込んだスイッチ／ネットワークアダプタポート」（Switch/Network Adapter Port Incorporating Shared Memory Resources Selectively Accessible by a Direct Execution Logic Element and One or More Dense Logic Devices）の優先権を主張する一部継続出願である。この原出願は、２００３年１月１０日出願の米国特許出願連続番号第１０／３４０，３９０号「インタリーブメモリコントローラでの使用のために再設定可能処理素子を１つ以上のマイクロプロセッサに結合するスイッチ／ネットワークアダプタポート」（Switch/Network Adapter Port Coupling a Reconfigurable Processing Element to One or More Microprocessors for Use With Interleaved Memory Controllers）の優先権を主張する一部継続出願である。この原出願は、２００１年８月１７日出願の米国特許出願連続番号第０９／９３２，３３０号「デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ化コンピュータ用のスイッチ／ネットワークアダプタポート」（Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format）の一部継続出願である。この原出願は、２００１年１月５日出願の米国特許出願連続番号第０９／７５５，７４４号の一部継続出願である。この原出願は、現在米国特許第６，２４７，１１０号である、２０００年１月１２日出願の米国特許出願連続番号第０９／４８１，９０２号の分割出願である。この原出願は、現在米国特許第６，０７６，１５２号である、１９９７年１２月１７日出願の米国特許出願連続番号第０８／９９２，７６３号の継続出願である。これらの出願はすべて、この出願の譲受人であるコロラド（Colorado）州コロラド・スプリングス（Colorado Springs）のエス・アール・シィ・コンピューターズ・インコーポレイテッド（SRC Computers, Inc.）に付与されており、これらの開示はそれらすべてがここに援用される。
【０００２】
発明の背景
この発明は、一般に、再設定可能なプロセッサベースのコンピューティングシステムの分野に関する。より特定的には、この発明は、直接実行論理素子（１つ以上のフィールドプログラマブルゲートアレイ“ＦＰＧＡ”を含む再設定可能なコンピューティング素子など）と、商業的に入手可能なマイクロプロセッサ、デジタルシグナルプロセッサ（“ＤＳＰ”）、特定用途向け集積回路（“ＡＳＩＣ”）、および比較的速いクロック速度を有する他の典型的な固定論理の構成要素を含む１つ以上の高密度論理素子とによって、選択的にアクセス可能な共有メモリ資源を組み込んだスイッチ／ネットワークアダプタポートに関する。
【背景技術】
【０００３】
前述の特許および特許出願に例示され、記載された１つ以上の代表的な実施例において開示されているように、エス・アール・シィ・コンピューターズ・インコーポレイテッドの独自のスイッチ／ネットワークアダプタポート技術（ＳＮＡＰ（登録商標）、この発明の譲受人であるエス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）は、２つ以上のデュアル・インライン・メモリモジュール（“ＤＩＭＭ”）（またはＲａｍｂｕｓ（登録商標）インライン・メモリモジュール“ＲＩＭＭ”）スロットからの信号が共通の制御チップへルーティングされるよう、これまで強化されている。
【０００４】
物理的には、２スロット構成において、２つのＤＩＭＭフォームファクタ（規格）スイッチ／ネットワークアダプタポート基板が、リジッドフレックス回路構成を用いてともに結合されて、単一のアセンブリを形成してもよい。ＤＩＭＭ基板の一方には制御フィールドプログラマブルゲートアレイ（“ＦＰＧＡ”）が設置されてもよく、それは、それにルーティングされた双方のＤＩＭＭスロットからの信号を受けてもよい。この制御チップは次に、双方のスロットから、スロットの個別のクロックを用いてデータをサンプリングする。双方のスロットからのデータは次に、データパケットを形成するために用いられ、データパケットは次に、システムの他の部分へ送られる。同様に、この手法は、３つ以上のＤＩＭＭスロット、たとえば４ウェイインタリーブシステムにおける４つのＤＩＭＭスロットとともに利用されてもよい。
【０００５】
動作時、インタリーブメモリシステムは、ロックステップで作動している２つ以上のメモリチャネルを使用してもよく、ここで、接続はＤＩＭＭスロットの一方になされ、発生する信号は、スイッチ／ネットワークアダプタポート基板信号の元の組とともに使用される。動作時、これは、メモリへの、かつメモリからのデータバスの幅を効果的に２倍（またはそれ以上）にする。この手法は、インタリーブメモリをサポートするメモリおよび入力／出力（“Ｉ／Ｏ”）コントローラ（“ノースブリッジ（North Bridge）”）チップの適正な選択とともに実行可能である。
【０００６】
現在文献に記載されているのは、パーソナルコンピュータのＤＩＭＭスロットに差込む「ピルチャード」（Pilchard）と呼ばれる再設定可能なコンピューティング開発環境である。たとえば、香港中文大学（the Chinese University of Hong Kong）で当時存在していたライセンス下でエス・アール・シィ・コンピューターズ・インコーポレイテッドの技術を利用して開発された「ピルチャード−メモリスロットインターフェイスを有する再設定可能なコンピューティングプラットフォーム」（Pilchard - A Reconfigurable Computing Platform with Memory Slot Interface）を参照されたい。ピルチャードシステムおよび他の現在のシステムは、ＦＰＧＡがメモリトランザクションを処理できるようにするために比較的長い列アドレスストローブ（“ＣＡＳ”）待ち時間に頼っており、本質的にメモリおよびＩ／Ｏコントローラのスレーブである。
【０００７】
プロセッサ速度とメモリサブシステムとの間の速度ギャップが増加し続けてきたため、プロセッサ設計は、プロセッサ上で現在実行中のプログラムによって必要とされるデータでキャッシュサブシステムが満たされ続けるように最適化されてきた。このため、プロセッサ自体は、現在利用可能なスイッチ／ネットワークデバイスを利用するある種のシステムで必要とされ得る大型ブロック転送を行なう際、効率が落ちてきている。
【０００８】
比較的大容量のシステムダイナミックランダムアクセスメモリ（“ＤＲＡＭ”）を有する必要性は、従来よりも大きなデータベースを扱う必要性のため、およびさらに増加する問題の大きさに伴って、近年増加してきた。同時に、集積回路メモリ密度は、約１８〜２４ヶ月ごとに倍増し続けている。したがって、アプリケーションの要望を満たすには、システムにおいてより多くのメモリデバイスが必要とされる。
【０００９】
システムの性能に対するさらにより大きな影響は、システムのＤＲＡＭにアクセスするのにかかる（プロセッサクロックにおける）さらに増加する時間であった。これは、さらに迅速なメモリサブシステムに対する圧力を生み出してきた。これらの理由により、ダブルデータレート（“ＤＤＲ”）ＤＤＲ２およびＤＤＲ３メモリ仕様が示されてきた。これらの仕様は２００〜４００ＭＨｚのクロック速度を含むが、依然としてそれらは基本配線構造への修正を盛込んでおらず、依然としてスタブ終端のバス構造を課している。クロック速度はこのバス構造に関与しているため、バス上に存在する素子の数は制限され、このため、実行中のアプリケーションのメモリ要望が依然として満たされていない状況を作り出している。
【００１０】
このため、完全バッファ型ＤＩＭＭ（ＦＢ−ＤＩＭＭ）と呼ばれる新しいメモリバス構造が開発中である。
【００１１】
ＦＢ−ＤＩＭＭはアドバンスド・メモリバッファ（ＡＭＢ）を用いて、ノースブリッジのメモリコントローラが直列に機能できるようになるのに必要な、直列から並列への変換を行なう。次に、アドバンスド・メモリバッファはこれを、標準ＤＤＲ２ＳＲＡＭによって必要とされる並列信号方式に変換する。アドバンスド・メモリバッファはまた、所与のシステムにおける多数のＦＢ−ＤＩＭＭの使用を可能とする通過ポートも組み込んでいる。このバス構造により、配線はすべて、本質的に２地点間差動直列である。さらに、通過ポートとともに、非常に大型のメモリサブシステムが作成可能である。
【発明の開示】
【課題を解決するための手段】
【００１２】
発明の概要
スイッチ／ネットワークアダプタポートとともにプロセッサ動作効率を高めるために、この発明は、モジュール自体の上に位置するダイナミックランダムアクセスメモリ（“ＤＲＡＭ”）といったメモリ資源を有利に組み込み、適正に割当てる。機能的には、このメモリは、高密度論理素子（たとえばマイクロプロセッサ）には他のシステムメモリと同様に見え、それへ読出すかまたはそれから書込む際、時間に関する不利益は発生しない。
【００１３】
アクセス調整メカニズムの使用を介して、このメモリの制御はスイッチ／ネットワークアダプタポートメモリコントローラに渡され得る。一旦制御状態になると、コントローラは、たとえば、オンボードレジスタに位置するかもしれない制御パラメータに基づいて、メモリ資源とコンピュータネットワークとの間でデータを移動させることができる。このデータ移動は、メモリデバイス自体が持続可能な最大速度で行なわれ、それにより、マルチアダプティブ処理素子（ＭＡＰ（登録商標）、エス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標）、共通メモリ基板などの直接実行論理素子といった他のネットワークデバイスに最高性能のリンクを提供する。
【００１４】
前述のピルチャードシステムとは異なり、この発明のシステムおよび方法は、関連するＦＰＧＡがメモリトランザクションを処理できるようにするために比較的長いＣＡＳメモリ待ち時間に頼ることを必要としない。さらに、この発明のシステムおよび方法は、システムメモリおよびＩ／Ｏコントローラにとっての真のピアとして機能し、共有メモリ資源へのアクセスは、メモリおよびＩ／Ｏコントローラとスイッチ／ネットワークアダプタポートコントローラとの間で仲裁される。
【００１５】
さらに、システムセキュリティ要求、および一意的なメモリアドレスアクセスパターンを必要とする他の機能の増加に伴い、システム／ネットワークアダプタポート制御ユニットへのプログラマブルメモリコントローラの追加は、この改良されたシステムがこれらの要望を満たすことを可能にする。機能的には、メモリコントローラは、配置されたメモリ
資源との間でのデータ移動の実行に利用されるアドレスアクセスパターンがプログラム可能であるようにイネーブルにされる。これは、分散／収集機能および他の同様の機能を行なう際によくある、性能に関する不利益を効果的に排除する役割を果たす。
【００１６】
ここに開示するこの発明の代表的な一実施例では、メモリおよびＩ／Ｏコントローラ、ならびに、強化されたスイッチ／ネットワークアダプタポートメモリ（“ＳＮＡＰＭ（登録商標）”）コントローラは、さまざまなデータスイッチおよびアドレススイッチ（たとえば電界効果トランジスタ“ＦＥＴ”など）、ならびに３方向安定ラッチを含めることを介して、ＳＮＡＰＭモジュール上の共通メモリ資源を制御することができる。これらのスイッチング資源およびラッチは、完全なＤＩＭＭ（およびＲＩＭＭまたは他のメモリモジュールフォーマット）の機能性が維持されたままで、データラインおよびアドレスラインが、メモリおよびＩ／ＯコントローラかＳＮＡＰＭメモリコントローラのいずれかによって駆動されるように構成される。すなわち、これは、共有メモリ資源の使用を調整するために使用される、メモリおよびＩ／Ｏコントローラによってアクセス可能なアドレス空間に追加された多数の制御レジスタを含めることを含むさまざまな方法で実現されてもよい。
【００１７】
動作時、メモリおよびＩ／Ｏコントローラが制御状態にある場合には、ＳＮＡＰＭメモリコントローラはＤＲＡＭメモリへのアクセスを禁止される。逆に、ＳＮＡＰＭメモリコントローラが制御状態にある場合には、メモリおよびＩ／Ｏコントローラからのアドレス／制御バスおよびデータバスはＤＲＡＭメモリから切断される。しかしながら、ＳＮＡＰＭメモリコントローラは引続き、メモリリフレッシュコマンドといったスピードが重視されるコマンドについて、アドレスおよび制御バスをモニタする。ＳＮＡＰＭメモリコントローラがＤＲＡＭメモリを制御している間にメモリおよびＩ／Ｏコントローラがリフレッシュコマンドを発行すると、それはリフレッシュコマンドをＤＲＡＭ素子へのその通常のコマンドシーケンスにインタリーブする。加えて、メモリおよびＩ／Ｏコントローラが制御状態にある場合、ＳＮＡＰＭモジュールは、モジュール上に位置する任意の制御レジスタへのアクセスについて、アドレスおよびコマンドバスをモニタし、配置されたメモリ資源の制御を切換えることなく、これらのコマンドへの応答を受入れ、または駆動することができる。
【００１８】
機能的には、ＳＮＡＰＭコントローラは、任意の制御レジスタの状態に基づいて、または他のプログラマブル情報に従ってランダムアクセスおよび他のダイレクトメモリアクセス（“ＤＭＡ”）動作を実行可能なプログラマブル・ダイレクトメモリアクセス（“ＤＭＡ”）エンジンを含んでいる。ＳＮＡＰＭコントローラはまた、ＤＲＡＭメモリの内容を読出し、次に異なるシーケンスで再書込することが可能なデータ再順序付け機能を実行可能である。
【００１９】
ここに特に開示されているのは、コンピュータシステムであって、少なくとも１つの高密度論理素子と、高密度論理素子を制御ブロックおよびメモリバスに結合するためのコントローラと、メモリバスに結合された１つ以上のメモリモジュールスロットとを含み、メモリモジュールスロットの少なくとも１つはバッファ型メモリモジュールを含んでおり、このコンピュータシステムはさらに、複数のメモリモジュールスロットのサブセットに関連する共有メモリ資源を含むアダプタポートと、アダプタポートに結合された直接実行論理素子とを含む。高密度論理素子と直接実行論理素子とは双方とも、共有メモリ資源にアクセスしてもよい。好ましい一実施例では、アダプタポートは、ＦＢ−ＤＩＭＭ、または他のバッファ型メモリモジュールフォームファクタで好都合に提供されてもよい。
【００２０】
ここに同様に開示されているのは、コンピュータシステムであって、少なくとも１つの高密度論理素子と、高密度論理素子を制御ブロックおよびメモリバスに結合するためのイ
ンタリーブコントローラと、メモリバスに結合された複数のメモリスロットとを含み、メモリモジュールスロットの少なくとも１つはバッファ型メモリモジュールを含んでおり、このコンピュータシステムはさらに、メモリスロットの少なくとも２つに関連する共有メモリ資源を含むアダプタポートと、アダプタポートの少なくとも１つに結合された直接実行論理素子とを含む。
【００２１】
ここにさらに開示されているのは、コンピュータシステムであって、コンピュータシステムのメモリバスとネットワークインターフェイスとの間の電気的結合用のアダプタポートを含むコンピュータシステムである。このコンピュータシステムは、メモリバスに結合された少なくとも１つの高密度論理素子を含み、アダプタポートは、アダプタポートに関連するメモリ資源と、高密度論理素子によるメモリ資源へのアクセスを選択的に可能にするための制御ブロックとを含む。ここに開示された特定の一実施例では、このコンピュータシステムは、追加のアダプタポートと、それに関連する追加のメモリ資源とをさらに含み、制御ブロックはさらに、高密度論理素子による追加のメモリ資源へのアクセスを選択的に可能にするように動作する。
【００２２】
大まかに言えば、ここに開示されるこの発明のシステムおよび方法は、システムメモリおよびＩ／Ｏコントローラかスイッチ／ネットワークアダプタポートメモリコントローラのいずれかによるメモリへのピアアクセスを可能にするために分離されてもよいＦＢ／ＤＩＭＭフォーマットの配置メモリを有するスイッチ／ネットワークアダプタポートを含む。開示されたオンボードメモリを有するスイッチ／ネットワークアダプタポートは、インターフェイス自体として利用されてもよく、また、スイッチ／ネットワークアダプタポートメモリコントローラが、共有メモリ資源に保持されたデータに対して直接動作することを可能にする。これにより、それは、分散および収集といった不連続データの大型ブロックへのアクセスを必要とする動作における伝送用にデータを作成できるようになる。ここに説明されるこの発明のシステムおよび方法はさらに、分散／収集機能および他の同様の機能を行なう能力を提供する高性能で十分にパラメータ化されたＤＭＡエンジンを組み込んだ、共有メモリ資源を有するスイッチ／ネットワークアダプタポートを開示する。
【発明を実施するための最良の形態】
【００２３】
好ましい一実施例の以下の説明を添付図面とともに参照することによって、この発明の前述のおよび他の特徴ならびに目的とそれらを得る態様とはより明らかとなり、発明自体が最良に理解されるであろう。
【００２４】
代表的な一実施例の説明
ここで図１を参照すると、ＤＩＭＭフォーマットの直接実行論理素子として機能する一連のマルチアダプティブプロセッサを採用して、データ転送速度を、他の方法でペリフェラル・コンポーネント・インターコネクト（“ＰＣＩ”）バスから利用可能なものを超えて著しく高めているクラスタ化コンピュータ用スイッチ／ネットワークアダプタポートを含むコンピュータシステム１００の例示的な一実施例の機能ブロック図が示されている。
【００２５】
例示された特定の実施例では、コンピュータシステム１００は、関連するメモリおよびＩ／Ｏコントローラ１０４（たとえば“ノースブリッジ”）に結合されたプロセッサ１０２0および１０２1の形の１つ以上の高密度論理素子を含む。例示された特定の実施例の動作時、コントローラ１０４は、別個のＰＣＩ制御ブロック１０６との間で制御情報を送受信する。しかしながら、この発明の代替的な実現化例では、コントローラ１０４および／またはＰＣＩ制御ブロック１０６（または均等物）がプロセッサ１０２自体の内部に一体化されてもよいこと、および制御ブロック１０６がアクセラレーテッド・グラフィックス・ポート（“ＡＧＰ”）またはシステムメンテナンス（“ＳＭ”）制御ブロックであってもよいことに留意すべきである。ＰＣＩ制御ブロック１０６は、実質的に２５６ＭＢ／秒
の速度でのデータ転送を可能にする比較的低い帯域幅のＰＣＩバス１１０によって、１つ以上のＰＣＩカードスロット１０８に結合される。代替的な実施例では、カードスロット１０８は、ＰＣＩ−Ｘ、ＰＣＩエクスプレス、アクセラレーテッド・グラフィックス・ポート（“ＡＧＰ”）またはシステムメンテナンス（“ＳＭ”）バス接続を代替的に含んでいてもよい。
【００２６】
コントローラ１０４はまた、従来どおり、実質的に２．１ＧＢ／秒以上のデータ転送速度が可能な、はるかにより高い帯域幅のＤＩＭＭバス１１６によって、多数のＤＩＭＭスロット１１４にも結合される。図示されたシステムのある特定の実現化例によれば、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２は、ＤＩＭＭスロット１１４のうちの１つと関連付けられるか、またはその中に物理的に位置する。ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２への、またはそれからの制御情報は、ＰＣＩバス１１０とＤＩＭＭ  ＭＡＰ（登録商標）素子１１２とを相互接続する接続１１８によって提供されてもよい。ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２は次に、ＭＡＰ（登録商標）チェーンポートに接続されたクラスタ配線ファブリック接続１２０によって、別のクラスタ化コンピュータＭＡＰ（登録商標）素子に結合されてもよい。なお、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２はランバス（登録商標）ＤＩＭＭ（“ＲＩＭＭ”）ＭＡＰ（登録商標）素子も含んでいてもよい。
【００２７】
ＤＩＭＭスロット１１４内に位置するＤＩＭＭメモリは、マイクロプロセッサ１０２0１０２1用の主記憶位置を含んでいるため、それはプロセッサバスに電気的に非常に「近接」し、このため非常に短い待ち時間を呈するように設計されている。前述のように、ＤＩＭＭに関連する待ち時間がＰＣＩバスのそれの約２５％しかないということは珍しくない。本質的に、この帯域幅をコンピュータシステム１００間の配線として利用することによって、前述の特許および特許出願に開示されたような、非常に向上したクラスタ性能が実現され得る。
【００２８】
この目的のために、ＰＣのＤＩＭＭスロット１１４のうちの１つにＤＩＭＭ  ＭＡＰ（登録商標）素子１１２を配置することによって、その制御チップは、通常のメモリ「読出」および「書込」トランザクションを受入れ、それらを相互接続スイッチまたはネットワークによって使用されるフォーマットに変換することができる。この目的のために、各ＭＡＰ（登録商標）素子１１２は、それが他のＭＡＰ（登録商標）素子１１２に結合されるようにするチェーンポートも含んでいてもよい。接続１２０を通して外部クラスタ化ファブリックに接続するチェーンポートの利用を介して、データパケットは次に遠隔ノードに送信可能であり、そこでデータパケットは同一基板によって受信可能である。この特定のアプリケーションでは、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２は、パケットからデータを抽出し、受信プロセッサ１０２によって必要とされるまでそれを記憶する。
【００２９】
この手法は、ＰＣＩバス１１０といった現在利用可能な、どのＰＣインターフェイスのものよりも数倍速いデータ転送速度の提供をもたらす。しかしながら、ＤＩＭＭの電気プロトコルは、一旦データが受信側に到着すると、ＤＩＭＭスロット１１４内のＤＩＭＭモジュールにはその到着をマイクロプロセッサ１０２に信号で伝える方法がないようになっており、この能力がなければ、プロセッサ１０２の活動は、データが到着したかどうかを判断するためにＤＩＭＭ  ＭＡＰ（登録商標）素子１１２の連続ポーリングの使用を介して同期を取られなければならないであろう。そのような手法はマイクロプロセッサおよびそのバス帯域幅の多くを完全に消費させ、このため他のすべてのバスエージェントの機能を低下させる。
【００３０】
この状況を回避するため、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２には、それが既存のＰＣＩバス１１０と通信できるようにする接続１１８がさらに設けられ、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２はその場合、通信パケットを生成して、それらをＰＣＩバス
１１０を介してプロセッサ１０２へ送信することができる。これらのパケットは移動した全データのほんの数％しか占めないため、ＰＣＩバス１１０への低帯域幅効果は最小限に抑えられ、従来のＰＣＩ割込信号も、データの到着をプロセッサ１０２に知らせるために利用可能である。別の可能な実現化例によれば、システムメンテナンス（“ＳＭ”）バス（図示せず）も、プロセッサ１０２に信号を伝えるために使用可能である。ＳＭバスは、プロセッサ基板上のさまざまな素子がプロセッサ１０２に割込むことを従来から可能にしている直列電流モードバスである。代替的な一実施例では、アクセラレーテッド・グラフィックス・ポート（“ＡＧＰ”）も、プロセッサ１０２に信号を伝えるために利用されてもよい。
【００３１】
１つのＤＩＭＭ  ＭＡＰ（登録商標）素子１１２が１つのＤＩＭＭスロット１１４全体であり得るものと関連付けられているため、このシステムは、通常約１ＧＢのアドレスの大型ブロックを、そのＤＩＭＭ  ＭＡＰ（登録商標）素子１１２による使用のために割当てる。これらの一部はコマンドとしてデコード可能である一方、多くは依然としてストレージとして使用可能である。周辺機器からデータを転送するために使用された通常の入力／出力（Ｉ／Ｏ）ブロックサイズと少なくとも同数のアドレス位置を有することにより、（コントローラ１０４を含む）大抵のパーソナルコンピュータにおいて使用される従来のＩｎｔｅｌ（登録商標）チップセットは、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２への直接Ｉ／Ｏ転送を可能にする。これにより、データは次に、たとえばディスクから到着してＤＩＭＭ  ＭＡＰ（登録商標）素子１１２へ直接渡るようになる。それは次に、所望の任意の方法で変更され、パケット化され、接続１２０を通して遠隔ノードに送信されてもよい。ディスクのＰＣＩバス１１０と、ＤＩＭＭ  ＭＡＰ（登録商標）素子１１２およびＤＩＭＭスロット１１４との双方がＰＣメモリコントローラ１０４によって制御されているため、この転送によって消費されるプロセッサバス帯域幅はない。
【００３２】
また、コンピュータシステムによっては、メモリ帯域幅を増加させるために、ＤＩＭＭスロット１１４内のいくつかのＤＩＭＭが、より高帯域のメモリアクセス能力を提供するようインタリーブされてもよい。これらのシステムでは、前述の手法も、いくつかのＤＩＭＭスロット１１４において同時に利用されてもよい。にもかかわらず、選択された特定の実現化例にもかかわらず、最終結果は、ＤＩＭＭベースのＭＡＰ（登録商標）素子１１２が、ＰＣＩバス１１０への、および接続１２０を通した外部スイッチまたはネットワークへの１つ以上の接続を有することとなり、それは、多くの期間でＰＣＩベースの接続単独の性能、およびデータが配線ファブリックを通過する際のデータの処理能力となる。
【００３３】
ここでさらに図２Ａを参照すると、この発明に従った、配置された共通メモリ資源を組み込んだスイッチ／ネットワークアダプタポート２００Ａの例示的な一実施例の機能ブロック図が示されている。この点に関し、前述の図面に関して開示されたものと同様の構造および機能性はここで同様に番号付けされ、その前述の説明はここでも十分である。共通メモリを有するスイッチ／ネットワークアダプタポート（“ＳＮＡＰＭ”）２００Ａは、インタリーブされたＤＩＭＭスロット・フォームファクタＳＮＡＰＭ素子２０４（ＳＮＡＰＭ  ＡおよびＳＮＡＰＭ  Ｂ）が各々、（これら２つのＳＮＡＰＭ素子２０４とともに“ＳＮＡＰＭ”を構成する）共通の制御素子２０２に結合され、ＳＮＡＰＭ素子２０４の各々は、それぞれのＤＲＡＭメモリ２０６Ａおよび２０６Ｂを、関連するスイッチおよびバス２０８Ａおよび２０８Ｂそれぞれとともに含んでいる、例示的な２スロット構成で示されており、以下により十分に説明する。この実施例では、コントローラ１０４は、チャネルＡ  ２１６ＡおよびチャネルＢ  ２１６ＢによってＤＩＭＭスロット１１４およびＳＮＡＰＭ素子２０４に双方向に結合されたインタリーブメモリコントローラである。
【００３４】
ここでさらに図２Ｂを参照すると、この発明に従った、配置された共通メモリ資源を組み込んだスイッチ／ネットワークアダプタポート２００Ｂの別の例示的な実施例の機能ブ
ロック図が示されている。ここでも、前述の図面に関して開示されたものと同様の構造および機能性は同様に番号付けされ、その前述の説明はここでも十分である。共通メモリを有するスイッチ／ネットワークアダプタポート２００Ｂは、インタリーブされたＤＩＭＭスロット・フォームファクタＳＮＡＰＭ素子２０４が（これら４つのＳＮＡＰＭ素子２０４とともに“ＳＮＡＰＭ”を構成する）共通のＳＮＡＰＭメモリ制御素子２０２に結合されている、４スロット構成で示されている。この実施例では、コントローラ１０４はここでも、それぞれのチャネルＡ  ２１６Ａ、チャネルＢ  ２１６Ｂ、チャネルＣ  ２１６ＣおよびチャネルＤ  ２１６ＤによってＤＩＭＭスロット１１４およびＳＮＡＰＭ素子２０４に双方向に結合されたインタリーブメモリコントローラである。
【００３５】
ここでさらに図３を参照すると、この発明に従った、２スロットＳＮＡＰＭシステム３００の代表的な一実施例の機能ブロック図が示されている。図示された例示的な実施例では、ＳＮＡＰＭシステムは１対の回路基板２０４を含み、それらの各々は２つのＤＩＭＭ（ＲＩＭＭまたは他のメモリモジュール・フォームファクタ）メモリスロットの一方に物理的にかつ電気的に結合されてもよく、それらの一方は、前述の図２Ａおよび図２ＢのＳＮＡＰＭメモリ制御ブロックとして機能するようプログラムされた、たとえばＦＰＧＡの形をしたＳＮＡＰＭ制御ブロック２０２を含んでいてもよい。
【００３６】
ＳＮＡＰＭ回路基板２０４の各々は、ＤＲＡＭ、ＳＲＡＭまたは他の好適なメモリ技術タイプの形で好都合に提供され得る、それぞれの配置された共通メモリ資源２０６Ａ（“メモリＡ”）および２０６Ｂ（“メモリＢ”）を含む。メモリ資源２０６Ａおよび２０６Ｂの各々は、追加回路２０８Ａおよび２０８Ｂにそれぞれ関連付けられ、追加回路２０８Ａおよび２０８Ｂは、関連部分に、それぞれのＤＩＭＭコネクタ３０２Ａおよび３０２Ｂと、多数のアドレススイッチ３０４Ａおよび３０４Ｂと、多数のデータスイッチ３０６Ａおよび３０６Ｂとを、関連するアドレス／制御バスおよびデータバスとともに含んでいる。アドレススイッチ３０４Ａおよび３０４Ｂとデータスイッチ３０６Ａおよび３０６Ｂとは、図示されているような制御ライン３０８上の、ＳＮＡＰＭ制御ブロック２０２によって供給されるスイッチ方向制御信号によって制御される。アドレススイッチ３０４とデータスイッチ３０６とは、ＦＥＴ、バイポーラトランジスタまたは他の好適なスイッチング素子として好都合に提供されてもよい。ネットワーク接続１２０は、たとえばフレックスコネクタとして提供されてもよく、エス・アール・シィ・コンピューターズ・インコーポレイテッドから入手可能なＭＡＰ（登録商標）素子といった直接実行論理の１つ以上の素子に結合するための、前述の図面のクラスタ配線ファブリックに対応している。
【００３７】
ここでさらに図４Ａを参照すると、前述の図面の実施例の対応する機能ブロック図が示されており、メモリおよびＩ／Ｏコントローラ（図１、図２Ａおよび図２Ｂの素子１０４）が、制御ライン３０８上のスイッチ方向制御信号の状態に従って、それぞれのアドレススイッチ３０４およびデータスイッチ３０６を介して、ＳＮＡＰＭ素子２０４の共有メモリ資源２０６へのアクセスのためにアドレス／制御バスおよびデータバスを駆動している。
【００３８】
ここでさらに図４Ｂを参照すると、図３の実施例の添付の機能ブロック図が示されており、ＳＮＡＰＭメモリ制御ブロック２０２が、共有メモリ資源２０６へのアクセスを提供しており、制御ライン３０８上のスイッチ方向制御信号の逆の状態に従って、システムメモリおよびＩ／Ｏコントローラ（図１、図２Ａおよび図２Ｂの素子１０４）からアドレス／制御バスおよびデータバスを切断している。
【００３９】
図４Ａおよび図４Ｂに関して図示されているように、メモリおよびＩ／Ｏコントローラ（図１、図２Ａおよび図２Ｂの素子１０４）とＳＮＡＰＭメモリコントローラ２０２とは、ＳＮＡＰＭモジュール２０４上の共通メモリ資源２０６を制御することができる。スイ
ッチ３０４および３０６は、完全なＤＩＭＭ（およびＲＩＭＭまたは他のメモリモジュールフォーマット）の機能性が維持されたままで、データラインおよびアドレスラインが、メモリおよびＩ／Ｏコントローラ１０４かＳＮＡＰＭメモリコントローラ２０２のいずれかによって駆動されるように構成される。すなわち、これは、共有メモリ資源２０６の使用を調整するために使用される、メモリおよびＩ／Ｏコントローラ１０４によってアクセス可能なアドレス空間に追加された多数の制御レジスタを含めることを含むさまざまな方法で実現されてもよい。例示された実施例では、ＳＮＡＰＭ制御ブロック２０２を、ひいては共有メモリ資源２０６の割当および使用を制御するために、ライン（７１：００）の最下位（“ＬＳＢ”）データライン（０７：００）および／または選択されたアドレスビットが使用されてもよい。
【００４０】
動作時、メモリおよびＩ／Ｏコントローラ１０４が制御状態にある場合には、ＳＮＡＰＭメモリコントローラ２０２はＤＲＡＭメモリ２０６へのアクセスを禁止される。逆に、ＳＮＡＰＭメモリコントローラ２０２が制御状態にある場合には、メモリおよびＩ／Ｏコントローラ１０４からのアドレス／制御バスおよびデータバスは、ＤＲＡＭメモリ２０６から切断される。しかしながら、ＳＮＡＰＭメモリコントローラ２０２は引続き、メモリリフレッシュコマンドといったスピードが重視されるコマンドについて、アドレスおよび制御バスをモニタする。ＳＮＡＰＭメモリコントローラ２０２がＤＲＡＭメモリ２０６を制御している間にメモリおよびＩ／Ｏコントローラ１０４がリフレッシュコマンドを発行すると、それはリフレッシュコマンドをＤＲＡＭ素子へのその通常のコマンドシーケンスにインタリーブする。加えて、メモリおよびＩ／Ｏコントローラ１０４が制御状態にある場合、ＳＮＡＰＭモジュール２０４は、モジュール上に位置する任意の制御レジスタへのアクセスについて、アドレスおよびコマンドバスをモニタし、配置されたメモリ資源２０６の制御を切換えることなく、これらのコマンドへの応答を受入れ、または駆動することができる。
【００４１】
ここでさらに図５を参照すると、この発明のある特定の実施例に従って実現された代表的な完全バッファ型ＤＩＭＭメモリシステム５００の機能ブロック図が示されており、ＦＢ−ＤＩＭＭブランチの組の数は、このシステムの帯域幅要件に基づいている。
【００４２】
ＦＢ−ＤＩＭＭメモリシステム５００は、関連部分において、前述の図面のメモリおよびＩ／Ｏコントローラ１０４に類似したシステムメモリＩ／Ｏコントローラ５０２を含む。以下により詳細に説明する、１つ以上のスイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロック５０４は、メモリシステム５００内の標準ＤＩＭＭスロットに物理的にかつ電気的に結合されてもよく、図示されているように１つ以上の直接実行論理ブロックを含むコンピュータネットワークに双方向で結合される。同様に、多数のＦＢ−ＤＩＭＭメモリモジュール５０６も、メモリシステム５００内の標準ＤＩＭＭスロットに物理的にかつ電気的に結合されており、図示された代表的な実施例では、最大で８個のＦＢ−ＤＩＭＭモジュールが設けられてもよい。スイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロック５０４およびＦＢ−ＤＩＭＭメモリモジュール５０６は、例示されているように、１０本の高速シリアル回線５０８および１４本の高速シリアル回線５１０を通して、システムメモリＩ／Ｏコントローラ５０２に結合される。
【００４３】
ここでさらに図６を参照すると、代表的なスイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロック５０４の対応する機能ブロック図が、前述の図面のＦＢ−ＤＩＭＭシステム５００と連動した可能な使用のために図示されている。スイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロック５０４は、関連部分において、前述の図面のＳＮＡＰＭ制御ブロック２０２に類似した、コンピュータネットワークの直接実行論理への双方向結合を提供するＳＮＡＰアドバンスド・メモリバッファ（“ＡＭＢ”）制御ＦＰＧＡを含む。それはさらに、多数のダブルデータレート２の同期ダイナミックランダムアクセス
メモリ（ＤＤＲ２  ＳＤＲＡＭ）素子６０４を、この例示的な実施例では７２ビット幅として示されているアレイに含む。ＳＮＡＰ  ＡＭＢ制御ＦＰＧＡ６０２は、アドレス／制御（“ＡＤＲ／ＣＴＬ”）バス６０６および双方向データバス６０８を介して、ＤＤＲ２
ＳＤＲＡＭ素子６０４に結合される。スイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロック５０４のＳＮＡＰ  ＡＭＢ制御ＦＰＧＡ６０２は、ＦＢ−ＤＩＭＭコネクタ６１０に、高速シリアル回線５０８および１４本の高速シリアル回線５１０の対を介して電気的に（かつ物理的に）結合されており、それらの１対は例示されているように高速通過シリアル回線として機能する。
【００４４】
図３の実施例に前述されていたように、ＳＮＡＰＭシステム３００のアドレススイッチ３０４とデータスイッチ３０６とは、ＳＮＡＰ制御ＦＰＧＡとノースブリッジとの間に分離を提供するために、ＦＥＴ、バイポーラトランジスタまたは他の好適なスイッチング素子として好都合に提供されてもよい。ここに開示されたようなＦＢ−ＤＩＭＭベースのシステムでは、アドバンスド・メモリバッファは必然的に類似分離点を提供する。したがって、ＳＮＡＰ  ＦＰＧＡ素子からＡＭＢを構築することによって、ＳＮＡＰＭシステム３００の機能性は、モジュール設計全体の複雑性の著しい低減とともに、効果的に再現され得る。この特定の実施例では、ＳＤＲＡＭの直列フォーマットから並列フォーマットへ向かう必要がある変換のため、ＳＮＡＰＭシステム３００のアドレススイッチ３０４とデータスイッチ３０６とは、もはや必要とされない。通過ポートにより、ＳＮＡＰ  ＦＢ−ＤＩＭＭブロック５０４は、トランザクションを「請求」するか、またはトランザクションのアドレスに基づいてそれを次のＦＢ−ＤＩＭＭメモリモジュール５０６に渡すようになる。
【００４５】
ＳＮＡＰ制御ＦＰＧＡは、特定されたＡＭＢ機能性のすべてを提供可能である。加えて、ＳＮＡＰコントローラは、ローカルＳＤＲＡＭがＳＮＡＰのみによって制御されることを可能にする制御レジスタを提供するよう、好都合に構成されてもよい。通過ポートを利用することによって、通常のシステムメモリトラフィックが依然として発生可能であり、シリアルインターフェイスにおける、またはＳＤＲＡＭ構成要素における将来のクロック増加はより容易に対処されるであろう。さらに、ＡＭＢがダウンロード可能なパラメータを介して設定可能である、または将来そうなるという範囲において、この発明のＦＢ−ＤＩＭＭブロックは、関連メモリがアクセスされる方法で同様に再プログラム可能であり得る。
【００４６】
ここでさらに図７を参照すると、典型的なＦＢ−ＤＩＭＭメモリモジュール５０６の簡略図が、標準ＤＩＭＭメモリスロット内の電気的かつ物理的保持用のカード７０２フォームファクタにおいて示されている。ＦＢ−ＤＩＭＭメモリモジュール５０６は、オンカードバッファ７０４と、カードエッジコネクタ７０８を介してすべて電気的にアクセス可能な多数のＤＲＡＭ素子７０６とを含む。例示されているように、１０本の高速シリアル回線５０８と１４本の高速シリアル回線５１０とは、システムメモリＩ／Ｏコントローラ５０２、システムメンテナンス（ＳＭ）バス７１２およびクロック（ＣＬＫ）信号源７１０と同様に、エッジコネクタ７０８を介してバッファ７０４に結合されている。
【００４７】
この発明の原理を特定のモジュール設定および回路とともに上に説明してきたが、前述の説明は例示のみのために行なわれ、この発明の範囲に対する限定としては行なわれていないことがはっきりと理解されるべきである。特に、前述の開示の教示は関連技術の当業者に他の修正を示唆することが認識される。そのような修正は、既に本質的に公知であり、かつ既にここに説明された特徴の代わりに、または特徴に加えて使用されてもよい他の特徴を伴ってもよい。この出願において特徴の特定の組合せへ向けて特許請求の範囲が策定されたが、ここの開示の範囲も、明示的にまたは暗示的に開示された任意の新規の特徴、または特徴の任意の新規の組合せ、もしくは、関連技術の当業者には明らかなその任意
の一般化または修正を、そのようなものがいずれかの請求項で現在クレームされているのと同じ発明に関連するか否かにかかわらず、および、それが、この発明が直面するのと同じ技術的問題のいずれかまたはすべてを緩和するか否かにかかわらず、含むということも理解されるべきである。これにより出願人は、この出願またはそれから生じる任意のさらに別の出願の手続遂行中に、そのような特徴および／またはそのような特徴の組合せに対して新しい請求項を策定する権利を保持する。
【図面の簡単な説明】
【００４８】
【図１】直接実行論理として機能するＤＩＭＭフォーマットの一連のマルチアダプティブプロセッサを採用して、データ転送速度を、他の方法でペリフェラル・コンポーネント・インターコネクト（“ＰＣＩ”）バスから利用可能なものを超えて著しく高めるクラスタ化コンピューティングシステム用のスイッチ／ネットワークアダプタポートの機能ブロック図である。
【図２Ａ】ＭＡＰ（登録商標）素子といった１つ以上の直接実行論理素子を含むクラスタ配線ファブリックへ結合するための共通ＳＮＡＰＭメモリ制御素子に結合された、インタリーブされたＤＩＭＭスロットフォームファクタＳＮＡＰＭ素子の２スロット構成を例示する、配置された共有メモリ資源を組み込んだスイッチ／ネットワークアダプタポートの例示的な一実施例の機能ブロック図である。
【図２Ｂ】共通のＳＮＡＰＭメモリ制御素子に結合された、インタリーブされたＤＩＭＭスロットフォームファクタＳＮＡＰＭ素子の４スロット構成を例示する、この発明に従った、配置された共有メモリ資源を組み込んだスイッチ／ネットワークアダプタポートの別の例示的な実施例のさらに別の機能ブロック図である。
【図３】１対の回路基板を含み、それらの各々は２つのＤＩＭＭメモリスロットの一方に物理的にかつ電気的に結合されてもよく、それらの一方は前述の図２Ａおよび図２ＢのＳＮＡＰＭメモリ制御ブロックとして機能するフィールドプログラマブルゲートアレイ（“ＦＰＧＡ”）の形をしたＳＮＡＰＭ制御ブロックを含んでいてもよい、この発明に従った、２個からなるＳＮＡＰＭシステムの代表的な一実施例の機能ブロック図である。
【図４Ａ】メモリおよびＩ／Ｏコントローラがそれぞれのアドレススイッチおよびデータスイッチを介して、ＳＮＡＰＭ素子の共有メモリ資源へのアクセスのためにアドレス／制御バスおよびデータバスを駆動している、前述の図面の実施例の対応する機能ブロック図である。
【図４Ｂ】ＳＮＡＰＭメモリ制御ブロックが共有メモリ資源へのアクセスを提供し、システムメモリおよびＩ／Ｏコントローラからアドレス／制御バスおよびデータバスを切断している、図３の実施例の添付の機能ブロック図である。
【図５】この発明のある特定の実施例に従って実現された代表的な完全バッファ型のＤＩＭＭメモリシステムの機能ブロック図であり、ＦＢ−ＤＩＭＭブランチの組の数がこのシステムの帯域幅要件に基づいている図である。
【図６】前述の図面のＦＢ−ＤＩＭＭメモリシステムと連動した可能な使用のための代表的なスイッチ／ネットワークアダプタポートＦＢ−ＤＩＭＭブロックの対応する機能ブロック図であり、この例示的な実施例におけるダブルデータレート同期ダイナミックランダムアクセスメモリ（ＤＤＲ  ＳＤＲＡＭ）アレイが７２ビット幅として図示されている図である。
【図７】メモリコントローラシステムメンテナンス（ＳＭ）バスおよびクロック（ＣＬＫ）信号源にも結合されている、典型的なＦＢ−ＤＩＭＭメモリモジュールの簡略図である。
【図１】
2007527565.tif 000003
【図２Ａ】
2007527565.tif 000004
【図２Ｂ】
2007527565.tif 000005
【図３】
2007527565.tif 000006
【図４Ａ】
2007527565.tif 000007
【図４Ｂ】
2007527565.tif 000008
【図５】
2007527565.tif 000009
【図６】
2007527565.tif 000010
【図７】
2007527565.tif 000011
【国際調査報告】
2007527565.tif 000012