(57)【特許請求の範囲】
【請求項１】
ユニバーサル周辺コントローラ（３００）であって、該ユニバーサル周辺コントローラ（３００）は、複数の周辺装置と直接通信を行うように構成され、
プロセッサとのシリアル通信を処理するためのバス・インターフェイス（３１０）と、
該シリアル通信を逆多重化して、該プロセッサと該複数の周辺装置の１つ又は複数との間の通信をルーティングするためのスイッチ（３２０）と、
複数のコントローラ（３３０、３４０）とを含み、該コントローラのそれぞれが少なくとも１つの周辺装置へのインターフェイスを提供するユニバーサル周辺コントローラ。
【請求項２】
該複数のコントローラの少なくとも１つは、対応する周辺装置用のＰＨＹコントローラ又は対応する周辺装置用のＭＡＣコントローラを含む、請求項１に記載のユニバーサル周辺コントローラ。
【請求項３】
該複数のコントローラは、該通信を該対応する周辺装置と互換性のある形式に変換する、請求項１に記載のユニバーサル周辺コントローラ。
【請求項４】
該バス・インターフェイスは、ノース・ブリッジを介して該プロセッサへの該通信を提供する、請求項１に記載のユニバーサル周辺コントローラ。
【請求項５】
該ユニバーサル周辺コントローラは、集積回路又はシステム・オン・チップ（ＳｏＣ）上に実装される、請求項１に記載のユニバーサル周辺コントローラ。
【請求項６】
複数の周辺装置と直接通信を行うように構成された集積回路（３００）であって、
プロセッサとのシリアル通信を処理するためのバス・インターフェイス（３１０）と、
該シリアル通信を逆多重化して、該プロセッサと該複数の周辺装置の１つ又は複数との間の通信をルーティングするためのスイッチ（３２０）と、
複数のコントローラ（３３０、３４０）を含み、該コントローラのそれぞれが少なくとも１つの周辺装置へのインターフェイスを提供する集積回路。
【請求項７】
該複数のコントローラの少なくとも１つは、対応する周辺装置用のＰＨＹコントローラ（３４０）又は対応する周辺装置用のＭＡＣコントローラ（３３０）を含む、請求項６に記載の集積回路。
【請求項８】
該バス・インターフェイスは、ノース・ブリッジを介して該プロセッサへの該通信を提供する、請求項６に記載の集積回路。
【請求項９】
統合デバイス（３００）が実行する方法であって、該統合デバイス（３００）は、複数の周辺装置と直接通信を行うように構成され、
バス・インターフェイス（３１０）によるプロセッサとのシリアル通信を処理するステップと、
該シリアル通信を逆多重化して、スイッチ（３２０）を介して該プロセッサと該複数の周辺装置の１つ又は複数との間の通信をルーティングするステップと、
複数のコントローラ（３３０、３４０）により該複数の周辺装置へのインターフェイスを提供するステップとを含み、該複数のコントローラ（３３０、３４０）の各々は、少なくとも１つの周辺装置と関連している方法。
【請求項１０】
ネットワークからのパケットを保存し、ネットワークにパケットを転送するステップをさらに含む、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピューティング・デバイスに関し、特に周辺装置を制御する方法および装置に関する。
【背景技術】
【０００２】
本出願は、参照により本明細書に組み込まれている、２００３年１１月２５日に出願した米国仮出願第６０／５２５，２２９号の優先権を主張する。
コンピューティング・システムには、内蔵および外付けの多くのコンポーネントおよびデバイスが含まれており、コンピューティング・デバイスの機能を実現するために、互換性のある方法で通信し、動作する必要がある。一般的なコンピューティング環境は、さまざまなメーカー製のコンポーネントやデバイスで構成されている。多くの場合、コンピューティング・システム内のさまざまなデバイス間の接続性を提供するために、ブリッジ論理デバイスが採用されている。図１は、従来の例示的なコンピューティング・システム１００のアーキテクチャを示す概略構成図である。図ｌに示すように、典型的なアーキテクチャにはプロセッサ（ＣＰＵ）１１０が含まれており、ＣＰＵバスなどのバス１１５を介してブリッジ論理デバイス１３０に接続している。ブリッジ論理デバイス１３０は、通常はコンピュータ・システム図の最上部に描かれるので、一般に「ノース」ブリッジと呼ばれている。さらに、ノース・ブリッジ１３０は、メモリ・バスなどのバス１２５を介してメモリ１２０に接続し、バス１３５を介して１つまたは複数のグラフィックス・デバイス１４０に接続している。
【０００３】
第２のブリッジ論理デバイス１５０は、一般に「サウス」ブリッジと呼ばれており、通常は多くの周辺装置およびその他のデバイスへの標準インターフェイスを提供するために使用されている。サウス・ブリッジ１５０によって、周辺装置のメーカーは他のメーカーのコンピュータ・システムと互換性のあるデバイスを提供できる。サウス・ブリッジ１５０は、さまざまな周辺装置とプロセッサ１１０との通信を統括する。図１に示すように、周辺装置は、対応する物理インターフェイス（ＰＨＹ）１６０−１〜１６０−Ｎへの１つまたは複数のコネクタ１７０−ｎ、あるいは１つまたは複数のＰＣＩスロット１８０を介して周知の方法でコンピュータ・システム１００に接続できる。
【特許文献１】米国仮出願第６０／５２５，２２９号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図１に示す方法で周辺装置をサポートすると、コンピューティング・システム１００のシステム全体のコストが大幅に増大する。たとえば、図１のアーキテクチャ１００を実装するコストには、サウス・ブリッジ１５０の他に、ネットワーク・カード、モデム、ユニバーサル・シリアル・バス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）（ＵＳＢ  ２．０）デバイスなど、さまざまなデバイス用の複数のＰＨＹインターフェイス１６０またはメディア・アクセス・コントローラ（ＭＡＣ：Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）／ＰＨＹデバイスのコストが含まれる。
【０００５】
サウス・ブリッジ１５０とノース・ブリッジ１３０との通信は、多くの場合にパラレルＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介して行われる。ただし、ＰＣＩバスの共有特性により、バス上で通信できる周辺装置は一度に唯一であることが要求される。さらに、ＰＣＩバスに接続する周辺装置を追加すると、追加の配線とルーティングが必要になる。このように、一般に接続する周辺装置の数が増えても、サウス・ブリッジのＰＣＩバス・アーキテクチャは拡張できない。
【０００６】
したがって、周辺装置を制御し、周辺装置と通信するためのより費用対効果の高いアーキテクチャが求められている。さらに、接続する周辺装置の数が増えるのに応じて拡張できる統合コントローラも求められている。
【課題を解決するための手段】
【０００７】
一般に、統合コントローラは複数の周辺装置との通信を制御するために提供される。統合コントローラには、プロセッサとの通信を処理するためのバス・インターフェイスと、プロセッサと１つまたは複数の周辺装置との通信をルーティングするためのスイッチと、複数のコントローラとが含まれており、個々のコントローラは少なくとも１つの周辺装置へのインターフェイスを提供する。コントローラには、ネットワーク接続のような接続への電子的なインターフェイスを提供する当該の周辺装置用のＰＨＹコントローラが少なくとも１つ含まれている。コントローラには、ネットワーク接続からのパケットを保存し、ネットワーク接続にパケットを転送するＭＡＣコントローラも少なくとも１つ含まれている。
【０００８】
以下に示す詳細な説明と図面を参照することにより、本発明および本発明の詳細な機能および効果を詳しく理解できる。
【発明を実施するための最良の形態】
【０００９】
本発明では、システム・オン・チップ（ＳｏＣ：Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）技術によって多くのデバイスを唯一のチップに統合し、システム全体のコストを削減できることを認識している。また、本発明では、こうしたＳｏＣ技術を使用すると、図１のコンピューティング・システム１００のようなコンピューティング・システムにおいて、信頼性を向上し、周辺装置のサポート・コストを削減するユニバーサル周辺コントローラ３００を提供できることも認識している。
【００１０】
図１に示す従来のアーキテクチャ１００において、サウス・ブリッジ１５０はさまざまな周辺装置（図示せず）との通信および個々の周辺接続のＰＨＹレイヤー・インターフェイス（図示せず）との通信を調整するための切り替え機能を提供する必要がある。同様に、個々の周辺コネクタ１７０にはもう１つのＰＨＹインターフェイス１６０（またはＭＡＣ／ＰＨＹデバイス）を割り当てる必要がある。以下に説明するように、本発明のユニバーサル周辺コントローラ３００は、周辺装置をサポートするコンポーネントを統合する。たとえば、図３に関連付けながら以下に詳細に説明するように、ユニバーサル周辺コントローラ３００はノース・ブリッジ１３０（または同様のデバイス）へのインターフェイスを提供し、周辺装置と通信するためのＭＡＣ／ＰＨＹインターフェイスを含み、すべてを唯一の集積回路（ＩＣ：ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）に統合する。この方法では、ユニバーサル周辺コントローラ３００によって、図１に示す従来のアーキテクチャ１００で必要な個々の周辺装置のさまざまな専用プロトコル間あるいは冗長なＰＨＹインターフェイス間での変換の必要がなくなる。さらに、ユニバーサル周辺コントローラ３００では、従来のアーキテクチャ１００に比べて複雑性が軽減され、コストと消費電力が削減されている。
【００１１】
１つの例示的な実装では、ユニバーサル周辺コントローラ３００にＰＣＩエクスプレス（ＰＣＩ−Ｅｘｐｒｅｓｓ）バス・アーキテクチャを採用している。ＰＣＩエクスプレス・バス・アーキテクチャの詳細な説明については、たとえば参照により本明細書に組み込まれているｗｗｗ．ｐｃｉｓｉｇ．ｃｏｍを参照されたい。一般に、ＰＣＩエクスプレス・バス・アーキテクチャは周辺装置の数が増えるのに応じて拡張できる。さらに、ＰＣＩエクスプレス・バスは高速のシリアル通信を提供するので、ピン数の少ない小型のコネクタを使用できる。オリジナルのＰＣＩ仕様は、３３ＭＨｚで動作して１３２ＭＢ／秒のピーク・スループットを提供する３２ビットＰＣＩバスを定義した。最近までは、オリジナルＰＣＩ仕様のパフォーマンスはほとんどのアプリケーションに適合していた。市販のプロセッサの処理速度が向上し、ついにデータを処理するプロセッサの処理容量がデータを供給するＰＣＩバスの容量を上回った。このように、最近のプロセッサはＰＣＩバスがプロセッサにデータを供給するより高速にデータを処理できる。
【００１２】
ＰＣＩエクスプレスと呼ばれる新しいＰＣＩ仕様では、ネットワーク・カード、プリンタ、ストレージ・ディスクなどのさまざまな周辺装置とプロセッサとのデータ・フローを増大することによるコンピュータのパフォーマンス向上を提言している。ＰＣＩエクスプレスでは、最大転送速度が制限されるパラレル・バス上での通信でなく、２．５ギガビット／秒以上の高速シリアル・レーンを使用してデータを送信する。複数のレーン（たとえば３２レーン）を使用すると、最高速度は８０ギガビット／秒に制限される可能性がある。さらに、ＰＣＩエクスプレスは、バスの信頼性、タイミング、拡張性を向上すると言われる多くの新しい機能を備えている。
【００１３】
図２は、本発明の機能を実装するコンピュータ・アーキテクチャ２００を示す概略構成図である。図２に示すように、コンピュータ・アーキテクチャ２００にはプロセッサ２１０が含まれており、プロセッサはＣＰＵバスなどのバス２１５を介してブリッジ論理デバイス２３０に接続する。ブリッジ論理デバイス２３０は「ルート・コンプレックス（ｒｏｏｔ  ｃｏｍｐｌｅｘ）」と呼ばれるが、たとえば図１に示す「ノース」ブリッジ１３０を使用して実施してもよい。また、ルート・コンプレックス２３０は、メモリ・バスなどのバス２２５を介してメモリ２２０に接続し、バス２３５を介して１つまたは複数のグラフィックス・デバイス２４０に接続する。
【００１４】
本発明の１つの側面により、コンピュータ・アーキテクチャ２００にはユニバーサル周辺コントローラ３００が含まれる。このコントローラについては、以下で図３に関連付けながら詳細に説明する。１つの例示的な実装では、ルート・コンプレックス２３０とユニバーサル周辺コントローラ３００の間にＰＣＩエクスプレス・バス２４０を採用している。最も重要な利点は、ＰＣＩエクスプレス標準によってルート・コンプレックス２３０からＰＣＩエクスプレス・スロット２８０への直接接続が可能になることである（一方、従来のアーキテクチャでは、こうした通信はサウス・ブリッジ１５０を介してルーティングされていた）。一般に、最新の技術を使用すると、ＰＣＩエクスプレス標準では最大４０インチのトレース長が可能である。
【００１５】
図２に示し、以下で図３に関連付けながら詳細に説明するように、ユニバーサル周辺コントローラ３００はＰＨＹインターフェイス１６０を経由せずに周辺コネクタ２７０−ｎに直接接続する。周辺コネクタ２７０−ｎは、たとえばＥｔｈｅｒｎｅｔ（登録商標）コネクタ（ＲＪ４５コネクタなど）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ：ｗｉｒｅｌｅｓｓ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）接続、あるいはＵＳＢ  ２．０コネクタなどとして実装される。
【００１６】
図３は、図２のユニバーサル周辺コントローラ３００をさらに詳細に示す概略構成図である。図３に示すように、ユニバーサル周辺コントローラ３００には、例示的な実施形態におけるＰＣＩエクスプレス・インターフェイスのようなバス・インターフェイス３１０が含まれる。さらに、ユニバーサル周辺コントローラ３００には、対応するコネクタ３５０−ｎを介して適切な周辺装置（図示せず）にルーティングするためのＰＣＩエクスプレス・バス２４０上のシリアル通信を逆多重化するためのスイッチ３２０が含まれる。
【００１７】
ユニバーサル周辺コントローラ３００には、サポートされる周辺接続ごとに、適切なＭＡＣコントローラとＰＨＹコントローラ３３０−ｎ、３４０−ｎ、および周辺コネクタ３５０−ｎが含まれる。ＭＡＣコントローラ３３０は、既知の方法でネットワーク接続からのパケットを保存し、ネットワーク接続にパケットを転送する。ＰＨＹコントローラ３４０は、ネットワーク（またはＵＳＢやファイヤーワイヤー接続のような別の接続）への電気的インターフェイスを提供する。コネクタ３５０−ｎに接続する周辺装置には、通常は必要に応じて既知の方法で独自のＭＡＣコントローラとＰＨＹコントローラが組み込まれていることに留意されたい。この方法では、ユニバーサル周辺コントローラ３００がさまざまな周辺プロトコルをサポートするので、マザーボード上の各周辺装置用の冗長なＰＨＹコントローラは不要である。さらに、ユニバーサル周辺コントローラ３００では、図１に示す従来のアーキテクチャ１００に比較して、複雑性が軽減され、コストと消費電力が削減されている。
【００１８】
本発明のユニバーサル周辺コントローラ３００を実装する集積回路を製造する場合は、全く同じ複数のダイをウエハの表面に反復パターンとして形成するのが一般的である。各ダイには、ここで説明するユニバーサル周辺コントローラ３００が組み込まれており、他の構造または回路が組み込まれていてもよい。個々のダイは、ウエハから切り離され、集積回路としてパッケージ化される。当業者は、ウエハを切り離してダイをパッケージ化し、集積回路を製造する方法について知識がある。このようにして製造された集積回路は、本発明の一部と見なされる。
【００１９】
ここに示し、説明した実施形態とその変形は、単に本発明の原理を説明するためのものであり、当業者は本発明の範囲と精神を逸脱することなくさまざまな変更を実装できることは言うまでもない。
【図面の簡単な説明】
【００２０】
【図１】従来の例示的なコンピューティング・システムのアーキテクチャを示す概略構成図である。
【図２】本発明の機能を実装するコンピュータ・アーキテクチャを示す概略構成図である。
【図３】図２のユニバーサル周辺コントローラをさらに詳細に示す概略構成図である。
【図１】
0004800607.tif 000002
【図２】
0004800607.tif 000003
【図３】
0004800607.tif 000004