(57)【要約】  グラフィックスデバイスは、グラフィックスアドレスを、グラフィックス・ランダムアクセスメモリ変換器と、グラフィックスメモリ・ページテーブルとを有する、グラフィックスメモリ・スイッチに転送する。グラフィックスメモリ・アドレスは、パケットベースのポイント・トゥ・ポイント接続（インターコネクト）を介して、グラフィックスメモリ・スイッチに転送される。グラフィックスメモリ・スイッチは、物理システムメモリ・アドレスを生成して、物理システムメモリ・アドレスをルートコンプレックスに転送する。物理システムメモリ・アドレスは、パケットベースのポイント・トゥ・ポイント接続を介して、ルートコンプレックスに転送される。
2007519102.tif 000002
【特許請求の範囲】
【請求項１】
パケットベースのポイント・トゥ・ポイント接続（インターコネクト）を介して、仮想グラフィックスメモリ・アドレスを受信する入力と、
前記仮想グラフィックスメモリ・アドレスを受信して、物理メモリアドレスを生成する、グラフィックスアドレス変換器とを備える装置。
【請求項２】
前記グラフィックスアドレス変換器は、グラフィックスメモリ・ページテーブルを有する請求項１に記載の装置。
【請求項３】
前記グラフィックスメモリ・ページテーブルは、オペレーティングシステムによって割り当てられた、複数の物理アドレスを保持する請求項２に記載の装置。
【請求項４】
前記グラフィックスメモリ・ページテーブルは、それぞれ３２ビットアドレスを保持するエントリを複数有する請求項３に記載の装置。
【請求項５】
前記パケットベースのポイント・トゥ・ポイント接続は、PCI Express規格に準拠する請求項４に記載の装置。
【請求項６】
第２のパケットベースのポイント・トゥ・ポイント接続を介して、前記物理アドレスをルートコンプレックスデバイスに転送する出力を更に備える請求項５に記載の装置。
【請求項７】
前記物理アドレスを受信し、前記物理アドレスをメモリコントローラに転送するルートコンプレックス機能を更に備える請求項１に記載の装置。
【請求項８】
前記グラフィックスアドレス変換器は、外部のグラフィックスメモリ・ページテーブルにアクセスする請求項１に記載の装置。
【請求項９】
仮想グラフィックスメモリ・アドレスを生成する、グラフィックスコントローラと、
前記仮想グラフィックスメモリ・アドレスを受信して、物理メモリアドレスを生成する、グラフィックスアドレス変換器と、
パケットベースのポイント・トゥ・ポイント接続を介して、ルートコンプレックスに、前記物理アドレスを転送する出力とを備える装置。
【請求項１０】
前記グラフィックスアドレス変換器は、グラフィックスメモリ・ページテーブルを有する請求項９に記載の装置。
【請求項１１】
前記グラフィックスメモリ・ページテーブルは、オペレーティングシステムによって割り当てられた複数の物理アドレスを保持する請求項１０に記載の装置。
【請求項１２】
前記グラフィックスメモリ・ページテーブルは、それぞれ３２ビットアドレスを保持する複数のエントリを有する請求項１１に記載の装置。
【請求項１３】
前記パケットベースのポイント・トゥ・ポイント接続は、PCI Express規格に準拠する請求項１２に記載の装置。
【請求項１４】
グラフィックスデバイスと、
仮想グラフィックスメモリ・アドレスを受信し、物理グラフィックスメモリ・アドレスを生成するグラフィックスメモリ変換器を有し、第１のパケットベースのポイント・トゥ・ポイント接続を介して、前記グラフィックスデバイスから前記仮想グラフィックスメモリ・アドレスを受信するグラフィックスメモリ・スイッチデバイスと、
第２のパケットベースのポイント・トゥ・ポイント接続を介して、前記グラフィックスメモリ・スイッチデバイスから前記物理メモリアドレスを受信するルートコンプレックスデバイスとを備えるシステム。
【請求項１５】
前記グラフィックスアドレス変換器は、グラフィックスメモリ・ページテーブルを有する請求項１４に記載のシステム。
【請求項１６】
前記第１および第２のパケットベースのポイント・トゥ・ポイント接続は、PCI Express規格に準拠する請求項１５に記載のシステム。
【請求項１７】
仮想グラフィックスメモリアドレスを受信して、物理メモリアドレスを生成するグラフィックスメモリ変換器を含むグラフィックスメモリ・スイッチデバイスを有する、グラフィックスデバイスと、
パケットベースのポイント・トゥ・ポイント接続を介して、前記グラフィックスメモリ・スイッチデバイスから、前記物理メモリアドレスを受信する、ルートコンプレックスデバイスとを備えるシステム。
【請求項１８】
前記グラフィックスアドレス変換器は、グラフィックスメモリ・ページテーブルを有する請求項１７に記載のシステム。
【請求項１９】
前記パケットベースのポイント・トゥ・ポイント接続は、PCI Express規格に準拠する請求項１８に記載のシステム。
【請求項２０】
グラフィックスデバイスと、
メモリコントローラハブと
を備え、
前記メモリコントローラハブは、
前記グラフィックスデバイスから仮想グラフィックスメモリ・アドレスを受信して、物理メモリアドレスを生成するグラフィックスメモリ変換器を含み、パケットベースのポイント・トゥ・ポイント接続を介して、前記グラフィックスデバイスから前記仮想グラフィックスメモリ・アドレスを受信するグラフィックスメモリ・スイッチデバイスと、
メモリコントローラと、
前記グラフィックスメモリ・スイッチデバイスから前記物理メモリアドレスを受信して、前記メモリコントローラに前記物理メモリアドレスを転送するルートコンプレックスデバイスと
を有するシステム。
【請求項２１】
前記グラフィックスアドレス変換器は、グラフィックスメモリ・ページテーブルを有する請求項２０に記載のシステム。
【請求項２２】
前記パケットベースのポイント・トゥ・ポイント接続は、PCI Express規格に準拠する請求項２１に記載のシステム。
【請求項２３】
パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックスデバイスから、仮想グラフィックスメモリ・アドレスを受信するステップと、
グラフィックスメモリ変換器を使用して物理メモリアドレスを生成するステップと、
前記物理メモリアドレスをルートコンプレックスデバイスに転送するステップとを備える方法。
【請求項２４】
パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックスデバイスから、仮想グラフィックスメモリ・アドレスを受信する前記ステップは、PCI Express規格に準拠した、パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックスデバイスから、仮想グラフィックスメモリ・アドレスを受信するステップを有する請求項２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体デバイスに関する。本発明は、特にグラフィックスメモリ・スイッチを用いた、グラフィックスデバイスによるシステムメモリへのアクセスに関する。
【背景技術】
【０００２】
グラフィックスデバイスとシステムメモリ間における高速かつ効率的なデータ転送は、従来から、コンピューターシステムコンポーネント開発者が直面する最も難しい問題の１つであり、今後も難しい問題の１つであり続ける。長年、このデータ転送を可能にするために、多様なインターフェースプロトコルが使用されてきた。数年前、グラフィックスデバイスとメモリコントローラの接続を実装するために最も一般的に使用されていたインターフェースプロトコルは、Peripheral Component Interconnect (PCI)バスであった。その後、求められるグラフィックスメモリ帯域がさらに増大したことから、Accelerated Graphics Port (以下、AGPと略す)規格が策定された。AGP規格は、コンピューター業界の多くの企業によって採用された。
【０００３】
AGPの実装により得られる主要な利点の一つは、グラフィックスデバイスが、大きくかつ連続したメモリ空間を使用できることである。このメモリ空間には、マルチメガバイトのテクスチャ、ビットマップ、及びグラフィックス・コマンドが保存される。グラフィックスアドレス・リマッピングテーブルは、グラフィックスメモリ・アドレスからシステムメモリへのアドレス変換に使用される。グラフィックスメモリ空間には、実体メモリは存在しない。しかし、グラフィックスアドレス・リマッピングテーブルと、それに関連するアドレス変換回路が、実際にはシステムメモリ全体に散在するシステムメモリへのアクセスを可能にする。
【０００４】
要求されるグラフィックスメモリ帯域は増大し続けている。そして、その要求を満たすために、より高速なデバイス間の接続技術が開発されている。そのような技術の一つに、PCI Express(登録商標)規格(PCI Express Base Specification, revision 1.0a)がある。そこで、これら高速なデバイス間接続技術と共に使用できる、大きくかつ連続したメモリ空間の使用を可能にする技術が望まれている。
【図面の簡単な説明】
【０００５】
【図１】グラフィックスメモリ・スイッチを含むコンピューターシステムの一実施形態を示す。
【０００６】
【図２】グラフィックス・ランダムアクセスメモリ変換器と、グラフィックスメモリ・ページテーブルとを備える、グラフィックスメモリ・スイッチを示す。
【０００７】
【図３】仮想グラフィックスメモリ・アドレスから物理システムメモリ・アドレスへの変換を示す。
【０００８】
【図４】グラフィックス・ランダムアクセスメモリ変換器の詳細を含む、グラフィックスメモリ・スイッチを示す。
【０００９】
【図５】仮想PCI-PCIブリッジを含む、グラフィックスメモリ・スイッチを示す。
【００１０】
【図６】グラフィックスメモリ・スイッチを介してルートコンプレックスと接続された、グラフィックスコンポーネントを示す。
【００１１】
【図７】仮想グラフィックスメモリ・アドレスの、物理メモリアドレスへの変換を示す。パケットベースのポイント・トゥ・ポイント接続（インターコネクト）を介して、仮想グラフィックスメモリ・アドレスが、グラフィックスメモリ・スイッチに入力される。
【発明を実施するための最良の形態】
【００１２】
本発明は、本発明の実施形態を例示するために使用される以下の詳細な説明及び添付図面を参照することによって、より完全に理解することができる。尚、以下の詳細な説明と添付図面は、本発明の説明と理解のみを目的としており、本発明を限定するものではない。
【００１３】
一般的に、グラフィックスデバイスは、仮想グラフィックス・アドレスを、グラフィックスメモリ・スイッチに提供する。そして、グラフィックスメモリ・スイッチは、グラフィックス・ランダムアクセスメモリ変換器と、グラフィックスメモリ・ページテーブルを有する。仮想グラフィックスメモリ・アドレスは、パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックスメモリ・スイッチに転送される。グラフィックスメモリ・スイッチは、物理システムメモリ・アドレスを生成する。そして、グラフィックスメモリ・スイッチは、生成した物理システムメモリ・アドレスを、ルートコンプレックスに転送する。物理システムメモリ・アドレスは、パケットベースのポイント・トゥ・ポイント接続を介して、ルートコンプレックスに転送される。
【００１４】
添付図面が示す実施形態においては、仮想グラフィックス・アドレスは、物理グラフィックス・アドレスとして定義されている。しかし、仮想グラフィックス・アドレスには、物理メモリの実体は存在しない。換言すれば、仮想グラフィックス・アドレスの物理メモリアドレスへの変換は、システムページ・テーブルを必要とせず、グラフィックスメモリ・スイッチとグラフィックスメモリ・ページテーブルのみによって実現される。また、更に換言すれば、仮想グラフィックス・アドレスから物理システムメモリ・アドレスへの変換は、連続しかつ実体メモリが存在しない物理グラフィックス・アドレスを、非連続でかつ実体メモリが存在する物理システムメモリ・アドレスへの変換を含むと言える。
【００１５】
図１は、グラフィックスメモリ・スイッチ１３０を備える、コンピューターシステム１００の一実施形態を示すブロック図である。システム１００は、ルートコンプレックス１４０に接続された、プロセッサ１１０を備える。ルートコンプレックス１４０はシステムメモリ１５０との通信を可能にするメモリコントローラを有する。ルートコンプレックス１４０は、更にスイッチ１６０に接続されている。スイッチ１６０は、接続部１６５を介して、端点デバイス１７０に接続される。スイッチ１６０はまた、接続部１６３を介して、端点デバイス１８０に接続される。端点デバイス１７０と１８０は、ハードディスク・ドライブ、光学ストレージデバイス、通信デバイス等を含む、種々のコンピューターシステム部品である。
【００１６】
本実施形態では、接続部１６３と１６５は、PCI Express規格に準拠している。ルートコンプレックス１４０とスイッチ１６０は、PCI Express規格に準拠している。
【００１７】
システム１００は更に、グラフィックスデバイス１２０を備える。グラフィックスデバイス１２０は、パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックス・メモリ(以下、GMと略す)スイッチ１３０に接続される。添付図面の実施形態では、PCI Expressリンク１２５が、パケットベースのポイント・トゥ・ポイント接続に相当する。GMスイッチ１３０は更に、パケットベースのポイント・トゥ・ポイント接続を介して、ルートコンプレックス１４０に接続される。添付図面の実施形態では、PCI Expressリンク１３５が、パケットベースのポイント・トゥ・ポイント接続に相当する。
【００１８】
グラフィックスデバイス１２０は、マザーボード上、グラフィックスカード上、または、より大規模な部品に組み込まれて実装される。
【００１９】
添付図面ではシステム１００が、グラフィックスデバイス１２０、GMスイッチ１３０、ルートコンプレックス１４０をそれぞれ独立したデバイスとして備えることを示しているが、他の実施形態としては、GMスイッチ１３０がルートコンプレックス１４０に組み込まれた形をとってもよい。グラフィックス１２０、GMスイッチ１３０、及びルートコンプレックス１４０が１つのデバイスに組み込まれた形で実装される実施形態も可能である。
【００２０】
システム１００では、グラフィックス・ランダムアクセスメモリ(以下、GRAMと略す)と呼ばれる連続したメモリ空間が、システム・アドレス空間に割り当てられる。しかし、GRAMのアドレスには、実体メモリは存在しない。GRAMは、サイズが大きくかつ連続するメモリ空間として、グラフィックスデバイス１２０に認識される。システムメモリ１５０全体に散在する空きスペースに、オペレーティングシステムがGRAMをページとして割り当てる。
【００２１】
図２は、GMスイッチ１３０を示すブロック図である。GMスイッチは、GRAM変換器１３２と、グラフィックスメモリページ(以下、GMPと略す)テーブル１３４を備える。デバイスドライバやオペレーティングシステムなどのソフトウェアによって、GMPテーブル１３４に物理メモリアドレスが保存される。GRAM変換器１３２は、PCI Expressリンク１２５を介して、仮想グラフィックスメモリ・アドレスを受信する。GRAM変換器１３２は、仮想アドレスを使用して、GMPテーブル１３４にアクセスする。GRAM変換器１３２は、仮想アドレスを物理アドレスに変換する。そして、物理アドレスはPCI Expressリンク１３５を介して、ルートデバイス１４０に転送される。
【００２２】
GMPテーブル１３４は、アドレス変換テーブルである。前述の通り、GMPテーブル１３４は、オペレーティングシステムによって割り当てられた物理メモリアドレスを保持している。テーブル１３４のサイズは、GRAMのサイズに依存する。例えば、GRAMのサイズが2GB、かつ、１ページを４キロバイト、かつ、ページに32ビットアドレスを使用したとき、GMPテーブル１３４のサイズは、(2*1024*1024*1024)/(4*1024)エントリ * 4キロバイト／ページ= 2メガバイトとなる。本実施例では、GMPテーブル１３４はGMスイッチ１３０に組み込まれている。しかし、この他の実施形態として、GMPテーブルがGMスイッチ１３０の外部に設けたローカルメモリ空間に存在してもよく、GMPテーブルがシステムメモリ１５０に存在してもよい。
【００２３】
図３は、仮想グラフィックスメモリ・アドレスから物理システムメモリ・アドレスへの変換を示すブロック図である。仮想グラフィックスメモリ・アドレスは、PCI Expressリンク１２５を介して、GRAM変換器１３２に転送される。転送された仮想グラフィックスメモリ・アドレスは、グラフィックスデバイス１２０がアクセスする必要がある、GRAMアドレス「X」である。GRAM空間は、システムメモリの範囲外に存在する。GRAM空間は、GRAMベースと指定されたアドレスから始まる。図３には、GRAM空間内のアドレスロケーションである、Xと、X+1と、X+2とが示されている。変換器１３２は、仮想グラフィックス・アドレスXの入力を受け、GMPテーブル１３４のインデックスに変換する。インデックスによって指定されたGMPテーブル・エントリは、オペレーティングシステムが割り当てた、メモリ内に存在するページの物理アドレスを保持している。添付図面の実施形態では、GMPテーブル１３４内のアドレスが３つ（A、B、C）だけ示されている。GMPテーブルのA、B、Cエントリが保持しているアドレスは、システムメモリ１５０の領域A、B、Cのアドレスと一致する。図３に示す実施形態では、仮想アドレスXは、GMPテーブル１３４のCエントリのインデックスを提供する。GMPテーブル１３４はルートコンプレックス１４０に、Cエントリの物理アドレスを提供する。そしてルートコンプレックス１４０は、この物理アドレスを使用して、システムメモリの領域Cにアクセスすることができる。
【００２４】
図４は、GRAM変換器１３２の詳細を含む、GMスイッチ１３０を示すブロック図である。前述の通り、仮想グラフィックス・アドレスXが、グラフィックスデバイスから転送される。GRAM変換器１３２は、その仮想グラフィックス・アドレスを受信して、ページ番号を示す仮想グラフィックス・アドレスの一部分を使用して、GMPテーブル１３４へのインデックスを生成する。GRAM変換器１３２は、アドレスXからGRAMベースアドレスを差し引いて、インデックスを生成する。GMPテーブル１３４のエントリCに保存された物理アドレスは、仮想グラフィックス・アドレスにおけるページへのオフセットを示す、仮想グラフィックス・アドレスの一部分と、結合される。生成されたアドレスは、PCI Expressリンク１３５を介して、ルートコンプレックス１４０に転送される。
【００２５】
GRAM変換器が動作する環境では、AGP規格の実装に対して使用されるのと同一のオペレーティングシステムドライバを、GMPテーブルの管理と、GRAMページの割り当ておよび開放と、を行うために使用することができる。AGP規格では、このドライバは一般的に、GART（graphics address remapping table）ドライバと呼ばれる。既存のGARTドライバの再利用が可能になれば、AGP規格からPCI Express規格への移行が容易となる。
【００２６】
ビデオデバイスドライバは、オペレーティングシステムに対して、N個のGRAMページを要求しうる。GMPテーブルドライバは要求されたページをメモリに割り当て、GMPテーブル１３４内のデータを作成する。ビデオドライバは特定のアプリケーションで使用するために、これらのページを予約する。グラフィックスデバイスから見ると、GRAMは、GRAMベースアドレスから始まり、必要とされる限り続くメモリ空間となる。グラフィックスデバイス１２０がGRAMを使用する必要があるとき、GRAMの範囲内のアドレスに対して、処理を実行する。GRAM変換器１３２は、処理で指定されたアドレスが適切な範囲内にあることを確認した後、GMPテーブル１３４へのインデックスを計算し、システムメモリ１５０上に存在する実際のページのアドレスを取得する。このアドレスは、PCI Expressリンク１３５を介して、ルートコンプレックス１４０に転送され、それによってシステムメモリ１５０へのアクセスが可能となる。
【００２７】
図５は、PCI-PCIブリッジ１３６を含む、グラフィックスメモリを示すブロック図である。オペレーティングシステムが、デバイス認識処理（enumeration）時に、PCI-PCIブリッジ１３６を認識すると、適切なドライバ（例：GARTドライバ）がロードされる。GMスイッチ１３０は、コンフィギュレーションスペース１３８を含む。コンフィギュレーションスペース１３８は、ラインタイム時に、適切な処理を行うことを目的として、GMPテーブルを設定するために使用される、レジスタを含む。コンフィギュレーションスペース１３８内のレジスタは、既存のソフトウェアに対して必要となる変更が無いように、AGP規格に準拠していてもよい。
【００２８】
図６は、グラフィックスコンポーネント６１０、６２０、及び６３０が、グラフィックスメモリ・スイッチ６２０を介して、ルートコンプレックス６３０に接続される実施形態の一例を示す、ブロック図である。このタイプの構成は、複数のグラフィックスデバイスを持つシステムを構築できる。各グラフィックスデバイスは、複数ディスプレイをサポートしていても、していなくてもよい。オペレーティングシステムが、ルートコンプレックス６３０に接続された、仮想PCI-PCIブリッジ６２８を認識すると、１つのドライバをロードすることができる。複数のグラフィックスデバイス６１０、６２０、及び６３０は、それぞれ同一の連続したGRAM空間を使用することができ、GRAM空間に保存された情報を共有できる。
【００２９】
グラフィックスドライバ６１０、６２０、及び６３０は、それぞれ、仮想PCI-PCIブリッジ６２２、６２４、及び、６２６を介して、仮想PCI-PCIブリッジ６２８に接続している。
【００３０】
図７は、パケットベースのポイント・トゥ・ポイント接続を介して受信した仮想グラフィックスメモリ・アドレスから、物理メモリアドレスを生成する一実施形態のフロー図である。ブロック７１０において、パケットベースのポイント・トゥ・ポイント接続を介して、グラフィックスデバイスから仮想グラフィックスメモリ・アドレスが転送される。ブロック７２０において、グラフィックスメモリ変換器を使用して、物理メモリアドレスが生成される。そして、ブロック７３０において、物理メモリアドレスがルートコンプレックスデバイスに転送される。
【００３１】
上記明細書においては、本発明を、特定の実施例を用いて説明している。しかし、添付の特許請求の範囲が示すように、本発明の広範な本質と発明の範囲から逸れることなく、本発明の実施形態に対して、多様な修正や変更をすることが可能であることは明白である。明細書と図面は、それぞれ、本発明を限定するのではなく、本発明を説明するためのものであると見なされるべきである。
【００３２】
本明細書内において「実施形態」、「第１の実施形態」、および「いくつかの実施形態」が実施例と共に意味する、特定の特徴、構造、または、性質は、少なくとも本発明のいくつかの実施例に含まれるが、必ずしも本発明の全実施例に含まれるものではない。本明細書の中に見られる、「実施形態」、「第１の実施形態」、または「いくつかの実施形態」は、必ずしも同一の実施形態を参照していない。
【図１】
2007519102.tif 000003
【図２】
2007519102.tif 000004
【図３】
2007519102.tif 000005
【図４】
2007519102.tif 000006
【図５】
2007519102.tif 000007
【図６】
2007519102.tif 000008
【図７】
2007519102.tif 000009
【国際調査報告】
2007519102.tif 000010
2007519102.tif 000011
2007519102.tif 000012