(57)【要約】  本発明の一実施形態では、メモリアレイにおけるメモリセルに選択的にアクセスするアドレスデコーダと、有効化ビット及び少なくとも１つのサブチャネル選択ビットを格納するビットストレージ回路を有するモードレジスタと、制御論理とを含むメモリ集積回路を提供する。制御論理は、複数のアドレス信号ラインと、アドレスデコーダと、モードレジスタとに結合される。有効化ビット及び少なくとも１つのサブチャネル選択ビットに応答して、制御論理は、メモリアレイへの独立サブチャネルメモリアクセスをサポートするために、独立アドレス情報を獲得するよう１つ以上のアドレス信号ラインを選択する。制御論理は、独立アドレス情報をアドレスデコーダに結合する。【選択図】  なし
2008544426.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ集積回路を、一のメモリチャネルの複数の独立メモリサブチャネルのそれぞれの独立メモリサブチャネルに割り当てることと、
前記複数のメモリ集積回路への独立サブチャネルメモリアクセスを有効にすることと、
各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路を独立してアドレス指定することと、
を含む方法。
【請求項２】
前記複数のメモリ集積回路への前記独立サブチャネルメモリアクセスは、マイクロタイルメモリアクセスである請求項１に記載の方法。
【請求項３】
前記独立してアドレス指定することは、複数の未使用メモリサイクル時に、複数の既存のアドレス信号ライン上で前記それぞれのメモリサブチャネルにおける独立アドレス情報を同時に獲得することにより与えられる、請求項１に記載の方法。
【請求項４】
前記独立してアドレス指定することは、一のメモリコントローラと、前記メモリチャネルの前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路との間に複数の独立アドレス信号ラインをルーティングすることにより与えられる、請求項１に記載の方法。
【請求項５】
前記独立してアドレス指定することは、一のエッジ接続部の複数の未使用ピンを複数の独立アドレスピンとなるよう再割り当てすることと、一のメモリモジュール上で前記エッジコネクタの前記独立アドレスピンと、前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路との間に複数の独立アドレス信号ラインをルーティングすることにより与えられる、請求項１に記載の方法。
【請求項６】
前記独立してアドレス指定することは、前記メモリモジュール上の前記エッジ接続部の前記独立アドレスピンに結合するよう一のメモリコントローラと一のエッジコネクタの複数のピンとの間に前記複数の独立アドレス信号ラインをルーティングすることによりさらに与えられる、請求項５に記載の方法。
【請求項７】
前記エッジ接続部の前記複数の未使用ピンは、複数の誤り訂正制御ピン、複数のパリティピン、または前記誤り訂正制御ピン及び前記パリティピンの組み合わせである請求項６に記載の方法。
【請求項８】
複数のメモリ集積回路を、一のメモリチャネルの複数の独立メモリサブチャネルのそれぞれの独立メモリサブチャネルに割り当てる機械可読プログラムコードと、
前記複数のメモリ集積回路への独立サブチャネルメモリアクセスを有効にする機械可読プログラムコードと、
各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路を独立してアドレス指定する機械可読プログラムコードと、が内部に格納された一の機械可読媒体を含む機械可読プロダクト。
【請求項９】
前記複数のメモリ集積回路への前記独立サブチャネルメモリアクセスは、マイクロタイルメモリアクセスである請求項８に記載の機械可読プロダクト。
【請求項１０】
前記機械可読媒体は、一の磁気記憶媒体、一の半導体記憶媒体、または一の光学記憶媒体である請求項８に記載の機械可読プロダクト。
【請求項１１】
少なくとも１つのメモリチャネルにおいて互いに結合される１つ以上のメモリモジュールと、
前記少なくとも１つのメモリチャネルにおける前記１つ以上のメモリモジュールに結合される一のメモリコントローラと、
を含み、
前記１つ以上のメモリモジュールのそれぞれは、一のエッジ接続部に複数のピンを有する一の印刷回路基板、前記印刷回路基板に結合される一の第１のメモリ集積回路、及び、前記印刷回路基板に結合される一の第２のメモリ集積回路を含み、
前記メモリコントローラは、
前記１つ以上のメモリモジュールのそれぞれにおいて、前記第１のメモリ集積回路を一の第１のメモリサブチャネルに、また、前記第２のメモリ集積回路を一の第２のメモリサブチャネルに割り当て、
前記１つ以上のメモリモジュールのそれぞれにおいて、前記第１のメモリ集積回路及び前記第２のメモリ集積回路への独立サブチャネルメモリアクセスを有効にし、
各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記第１のメモリサブチャネルにおける前記第１のメモリ集積回路及び前記第２のメモリサブチャネルにおける前記第２のメモリ集積回路を独立してアドレス指定する、システム。
【請求項１２】
前記メモリコントローラは、一のマイクロタイル化メモリコントローラであり、
前記第１のメモリ集積回路及び前記第２のメモリ集積回路への各独立サブチャネルメモリアクセスは、一のマイクロタイルメモリアクセスである、請求項１１に記載のシステム。
【請求項１３】
前記マイクロタイル化メモリコントローラに結合される一のキャッシュメモリをさらに含み、
前記キャッシュメモリは、前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する、請求項１２に記載のシステム。
【請求項１４】
マイクロタイル化アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに独立してアクセスするよう前記キャッシュメモリに結合される一のグラフィクスコントローラと、
線形アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第１のマイクロプロセッサと、
をさらに含む請求項１３に記載のシステム。
【請求項１５】
前記グラフィクスコントローラに結合される一のディスプレイをさらに含む請求項１４に記載のシステム。
【請求項１６】
線形アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第２のマイクロプロセッサをさらに含む請求項１３に記載のシステム。
【請求項１７】
前記マイクロタイル化メモリコントローラに結合される一の入出力コントローラをさらに含み、
前記入出力コントローラは、線形アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに一緒にアクセスするよう前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する請求項１１に記載のシステム。
【請求項１８】
前記入出力コントローラに結合される一のワイヤレスネットワークインターフェース回路と、
前記ワイヤレスネットワークインターフェース回路に結合される一のアンテナと、
をさらに含み、
前記アンテナ及び前記ワイヤレスネットワークインターフェース回路は、一のワイヤレスローカルエリアネットワークアクセスポイントを供給する請求項１７に記載のシステム。
【請求項１９】
前記マイクロタイル化メモリコントローラに結合される一のキャッシュメモリをさらに含み、
前記キャッシュメモリは、前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する請求項１８に記載のシステム。
【請求項２０】
マイクロタイル化アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに独立してアクセスするよう前記キャッシュメモリに結合される一のグラフィクスコントローラと、
線形アドレス指定を使用して、前記少なくとも１つのメモリチャネルの前記第１のメモリサブチャネル及び前記第２のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第１のマイクロプロセッサと、
をさらに含む請求項１９に記載のシステム。
【請求項２１】
前記グラフィクスコントローラに結合される一のディスプレイをさらに含む請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的に、メモリアーキテクチャ、特に、メモリコントローラとシステムメモリ間のメモリチャネルに関する。
【背景技術】
【０００２】
時に、ユニファイドメモリアーキテクチャ（ＵＭＡ）と称されるユニフォームまたはユニファイドメモリアクセスを有するメモリアーキテクチャにおいて、プロセッサとグラフィックコントローラは、システムメモリを共有して、コストを下げている。一般的に、ＵＭＡメモリアーキテクチャは、プロセッサからシステムメモリへのメモリリクエスト（読出し／書込みアクセス）処理するよう最適化されうる。典型的なＵＭＡメモリアーキテクチャは、グラフィクスコントローラから発行されるメモリリクエストは妥協する。今日、グラフィクスパフォーマンスは、３次元（３Ｄ）及び高解像度をサポートするためにはより重要となってきている。
【０００３】
典型的なＵＭＡメモリアーキテクチャでは、キャッシュメモリは、プロセッサにより発行されるメモリリクエストとグラフィクスコントローラにより発行されるメモリリクエストの両方をサポートするために固定の６４バイトキャッシュラインを使用する。ＵＭＡメモリアーキテクチャにおける典型的なメモリコントローラは、１つまたは２つのメモリチャネルを有する。各メモリチャネルは、読出しまたは書込みアクセスを行うために各メモリモジュールと、アドレスバス内のすべてのアドレスラインを共有する。典型的なメモリチャネルにおけるデータバスは、一般的に６４ビット幅であり、それにより、所与のアドレスに対し８バイトの隣接データがメモリから同時にアクセスされる。データバスのビットは、使用されるメモリタイプ及びメモリサイズに依存して様々な方法でメモリモジュールにルーティングされうる。
【０００４】
プロセッサは一般的に、メモリからアクセスされた６４ビットの隣接データのすべてを使用する一方で、グラフィクスコントローラは一般的に使用しない場合がある。ＵＭＡメモリアーキテクチャにおいて、グラフィクスコントローラがメモリリクエストを発行する場合、隣接データの多くは廃棄されうる。したがって、メモリチャネルの帯域幅は、典型的なＵＭＡメモリアーキテクチャにおいて、グラフィクスコントローラにより発行されるメモリリクエストでは効率的に使用されない場合がある。
【発明を実施するための最良の形態】
【０００５】
本発明の実施形態の特徴は、以下の詳細な説明から明らかとなろう。
【０００６】
図面中の同様の参照符号及び記号表示は、同様の機能性を提供する同様の要素を示す。
【０００７】
本発明の実施形態の以下の詳細な説明において、本発明の完全な理解を提供するよう多数の特定の詳細を記載する。しかし、当業者には、本発明の実施形態は、これらの特定の詳細なしで実施しうることは明らかであろう。特定の場合では、周知の方法、手順、構成要素、及び回路は、本発明の実施形態の特徴を不必要に曖昧にしないよう詳細には記載していない。
【０００８】
統合型グラフィクスコンピュータシステムのメモリ効率は、一般的に、キャッシュラインのサイズにより制限される。しばしば、グラフィクスの理想的なメモリアクセスサイズは、４乃至１６バイトのデータである。これは、グラフィクスプロセッサは、一度に１つのまたは幾つかのピクセルまたはテクセルを処理するからである。しかし、ＵＭＡメモリアーキテクチャは、プロセッサのメモリ効率を最適化するよう６４バイトのキャッシュラインに対して最適化される。６４バイトのキャッシュラインを使用すると、グラフィクスコントローラによるメモリリクエストは、平均して、メモリからフェッチされてグラフィクスコントローラにより決して使用されることのない相当量のデータをもたらす。この未使用のデータは、過剰フェッチと称されうる。
【０００９】
マイクロタイリング（micro-tiling）が組み込まれる本発明の実施形態は、統合型グラフィクスコントローラを有するＵＭＡメモリアーキテクチャにおけるプロセッサ用のキャッシュライン要件を維持しながら、グラフィクスコントローラからのメモリリクエストの過剰フェッチを減少する。一般的に、マイクロタイリングには、新しいメモリアーキテクチャ及び新しいメモリコントローラアーキテクチャが包含される。新しいメモリコントローラアーキテクチャを説明する一方で、本願の焦点は、マイクロタイリングをサポートする新しいメモリアーキテクチャにある。マイクロタイリングメモリアーキテクチャをサポートするために、新しいメモリサブシステムは、１つのメモリチャネルにおいて独立したサブチャネルメモリアクセスを提供する。メモリへのこれらの独立したサブチャネルメモリアクセスは、マイクロタイルまたはマイクロタイル化されたメモリへのアクセスと称され、一般的にマイクロタイリングと称されうる。
【００１０】
簡単に説明するに、マイクロタイリングは、１つのメモリリクエストが、メモリの非隣接セクションまたはチャンクに対するより小さい複数のリクエストから構成されることを可能にする。マイクロタイリングメモリアーキテクチャは、リクエスタのニーズに基づいて、読出し及び書込みメモリフェッチのサイズまたは構造を変えることを可能にする。小さなチャンクが正しく識別されるために、マイクロタイル化メモリのコントローラによって、追加のアドレス情報がシステムメモリに供給される。たとえば、本発明の一実施形態では、６４ビット幅のメモリチャネル（物理ビット幅）は、４つの１６ビット幅サブチャネルに分割されうる。この実施形態では、６４バイトメモリアクセス（メモリチャネルの論理バイト幅）は、４つの非隣接の１６バイトチャンク（メモリトランザクションは、８つの転送のバーストであると仮定する）から構成される。各サブチャネルは、一意のアドレス情報を使用する。図３Ａは、４つの１６ビットサブチャネルの例示的な実施形態であり、それぞれ一意のアドレス情報を有する。マイクロタイルメモリアーキテクチャの他の実施形態では、各サブチャネルのサイズ及び各サブチャネルに設けられる独立アドレスラインの数を変更可能である。
【００１１】
追加の独立したアドレス情報をメモリアレイの各サブチャネルに供給するのに利用可能な方法は幾つかあり、それには、メモリコントローラからメモリ集積デバイスに新しい専用ラインをルーティングすることにより追加のアドレスラインを供給すること、または、メモリモジュール内にルーティングされる未使用の誤り訂正コード（ＥＣＣ）信号ラインを追加のアドレスラインとなるようリターゲットすることを含む。独立した追加のアドレス情報は、たとえば、列アドレスがメモリ集積回路に書込みされるメモリサイクル時といった典型的な未使用期間に既存のアドレス信号ラインをオーバーロードすることによっても供給されうる。この場合、マイクロタイリングサポートをメモリモジュールにおいて実施可能であると同時に既存のメモリモジュール実施に後方互換性を提供することができる。これらの方法は、任意の追加のアドレスラインを含む所望数のアドレスラインに関する追加のアドレス情報を供給するよう本発明の実施形態において別個に使用されても、または、組み合わせて使用されてもよい。
【００１２】
本発明の一実施形態では、追加のアドレス信号ラインは、マザーボード上を、メモリ集積回路にルーティングされ、マイクロタイリング及びマイクロタイル化メモリへのアクセスをサポートする。新しいアドレス信号ラインは、メモリコントローラからマザーボードを介してメモリ集積デバイスにルーティングされる専用アドレスラインである。さらに別の本発明の実施形態では、追加のアドレス信号ラインは、マザーボードを介して新しいコネクタにルーティングされ、また、新しいピン割り当て（ピンアウト）を有する新しいメモリモジュールはこの新しいコネクタに差し込まれる。
【００１３】
本発明の別の実施形態では、マイクロタイリングをサポートするよう追加のアドレスを転送するために、アドレス信号のオーバーローディングを使用しうる。典型的なダイナミックランダムアクセスメモリ（ＤＲＡＭ）集積回路は、行アドレスストローブ（ＲＡＳ＃）制御信号がローにアサートされる場合にアドレス信号ラインを介して行アドレスを受信する。列アドレスは、列アドレスストローブ（ＣＡＳ＃）制御信号がローにアサートされる場合により少ない数のアドレス信号ラインを介してＤＲＡＭ集積回路により受信される。行アドレスは、すべての既存のアドレス信号ラインを介して送信される一方で、同じアドレス信号ラインを介して送信される列アドレスはほとんどないことがしばしば観察されている。つまり、列アドレス信号を転送するために既存のアドレス信号ラインはほとんど使用されない。したがって、追加のアドレス信号は、ＣＡＳ＃制御信号がローにアサートされる場合にこの未使用のアドレス信号ラインを介してＤＲＡＭ集積回路に転送可能である。このようにすると、マイクロタイリングの追加のアドレス指定機能をサポートするために追加のアドレス信号ラインはまったく必要ないかまたはほんの少しだけ必要である。
【００１４】
本発明の別の実施形態では、マイクロタイリングをサポートするよう追加のアドレスを転送するために、未使用の誤り訂正コードまたはパリティ信号ラインを使用しうる。一部のメモリモジュールでは、誤り訂正コード（ＥＣＣ）は、データビットを監視するＥＣＣ集積回路と、ＥＣＣデータを保存する追加メモリがあることによりサポートされうる。しかし、ＥＣＣを有するメモリモジュールは、高価であるため、一般的に、サーバといった高いエンドシステムだけに使用される。コンピュータの数が大きいデスクトップまたはクライアントコンピュータでは、ＥＣＣは、追加の費用がかかるため、一般的にサポートされない。このような場合、ＥＣＣまたはパリティ用に用意されるメモリモジュールの多数のピンは、使用されない。ＥＣＣを有さないメモリモジュールでは、未使用のＥＣＣまたはパリティピンは、マイクロタイリングをサポートするよう追加のアドレスを転送するために使用されうる。メモリモジュールの他の未使用の非接続（ＮＣ）ピンもマイクロタイリングをサポートするよう追加の独立アドレス信号ラインを供給するために使用されうる。
【００１５】
さらに別の本発明の実施形態では、追加の独立アドレスシグナリングは、未使用のピンにより供給される追加のアドレス信号ラインを、列アドレスの転送時のアドレス信号オーバーロードと組み合わせることにより行われうる。
【００１６】
ダブルデータレート（ＤＤＲ）ＤＲＡＭ技術に基づいたメモリチャネルといった標準メモリチャネルにおいて、メモリチャネルの論理幅は、Ｍバイト幅であると考えられる。１バイトのデータには８ビットが含まれる。メモリチャネルの論理幅は、メモリモジュールを介するデータ転送のバースト長に幾らか関連する。つまり、Ｍバイトのデータは、ベースアドレスからインクリメントされる連続アドレスを使用して、１つのバーストを形成する複数のデータ転送により連続してアクセス可能である。一般的に、アクセス（読出しまたは書込み）されるべきバイトのブロックのベースアドレスは、チャネルの論理幅の整数倍数である。メモリチャネルの物理幅は、メモリコントローラとメモリモジュール間のデータバスのビット幅である。典型的な最小バースト幅は、アドレスラインの最下位ビットにより設定されうる開始バイトオーダーを有する８つのメモリサイクルでありうる。６４ビットの典型的な物理幅を使用すると、８つのメモリサイクルは、１つのメモリチャネルにおける６４バイトのデータにアクセスする。したがって、メモリチャネルの典型的な論理幅は、６４バイトのデータである。
【００１７】
前述したように、メモリチャネルの論理幅は、ベースアドレスと共に連続転送可能なバイトの数であり、メモリチャネルの物理幅は、メモリコントローラとメモリモジュール間のデータバスのビット幅（「ＷＤＢ」）である。マイクロタイル化メモリシステムは、メモリチャネルの論理幅及び物理幅を、より小さい論理バイト幅及びより小さい物理ビット幅を有するサブチャネルに等しく分割する。
【００１８】
メモリのマイクロタイリングは、メモリチャネルの物理幅（ＷＤＢビット）とメモリチャネルの論理幅（Ｍバイト）を、Ｓ個のサブチャネル（ＷＳＣ）に分割する。各サブチャネルは、ＷＳＣ＝ＷＤＢ／Ｓビットの物理幅と、Ｎ＝Ｍ／Ｓバイトの論理幅を有する。したがって、Ｎバイトのデータは、各データ転送バーストに対して各サブチャネルにおいてＷＳＣビットのデータラインを介して転送されうる。１つのメモリチャネルは、メモリ内でアクセスするメモリロケーションの総数（ＴＭＬ）を有しうる。各サブチャネルは、１メモリチャネルの総メモリロケーションのサブセット（ＴＳＭＬ）にアクセスする。すなわち、ＴＳＭＬ＝ＴＭＬ／Ｓである。
【００１９】
マイクロタイリングメモリにおいて、各サブチャネルは、互いから独立してメモリチャネルを介してより小さい粒度のデータにアクセス可能である。サブチャネルを完全に独立するために、別個のアドレス信号ラインが、メモリコントローラから各サブチャネルにルーティングされうる。多くの別個のアドレス信号ラインをルーティングし過ぎないために、一部のアドレス信号ラインは、メモリロケーションが共通アドレスのセットから独立して選択可能であるようサブチャネル間で共有されうる。したがって、各サブチャネルに提示されるアドレスは、多数の独立アドレスビット（「Ｉ」）を有し、その値は、他のサブチャネルに提示されるアドレスにおける対応ビットとは異なることが可能である。したがって、各サブチャネル上を転送されるデータは隣接データブロックを示すが、各サブチャネル上のデータブロックは必ずしも隣接アドレス範囲から形成されるわけではない。
【００２０】
本発明の実施形態は、図１Ａ、図１Ｂに示すシステムといった様々なシステムに使用されうる。図１Ａを参照するに、本発明の実施形態を使用しうる典型的なコンピュータシステム１００のブロック図を示す。コンピュータシステム１００Ａは、第１の処理ユニット１０１と、キーボード、モデム、プリンタ、外部ストレージデバイスなどといった入出力デバイス（Ｉ／Ｏ）１０２と、ＣＲＴまたはグラフィクスディスプレイといったモニタリングデバイス（Ｍ）１０３を含む。モニタリングデバイス（Ｍ）１０３は、ビジュアルまたはオーディオ形式といった人間が理解可能な形式でコンピュータ情報を提供しうる。システム１００は、１つのコンピュータシステムではなく多数の様々な電子システムであってもよい。
【００２１】
次に図１Ｂを参照するに、本発明の実施形態を使用しうるクライアントサーバシステム１００Ｂを示す。クライアントサーバシステム１００Ｂは、ネットワーク１１２に接続される１つ以上のクライアント１１０Ａ−１１０Ｍと、ネットワーク１１２に結合されるサーバ１１４を含む。クライアント１１０Ａ−１１０Ｍは、情報を送受信し、サーバ上で必要でありうる任意のデータベース及び／またはアプリケーションソフトウェアにアクセスするために、ネットワーク１１２を介してサーバ１１４と通信する。クライアント１１０Ａ−１１０Ｍ及びサーバ１１４は、典型的なコンピュータシステム１００Ａのインスタンスでありうる。サーバ１１４は、メモリを有する処理ユニットを有し、また、さらに、１つ以上のディスクドライブストレージデバイスを含みうる。サーバ１１４は、ストレージエリアネットワーク（ＳＡＮ）において、たとえば、ネットワークアタッチドストレージ（ＮＡＳ）デバイスとして使用され、ディスクのアレイを有しうる。サーバ１１４へのデータアクセスは、ネットワーク１１２を介して、複数のクライアント１１０Ａ−１１０Ｍと共有されうる。
【００２２】
次に図２Ａを参照するに、本発明の実施形態を使用しうる第１の処理ユニット１０１Ａのブロック図を示す。処理ユニット１０１Ａは、図示するように互いに結合される、プロセッサ回路２０１、メモリ制御ブロック２０２、外部キャッシュメモリ２０３Ｅ、１つ以上のメモリチャネル２０４Ａ−２０４Ｎ、グラフィクスコントローラ２０６、及び入出力コントローラ２０７を含みうる。処理ユニット１０１Ａのプロセッサ回路２０１、メモリ制御ブロック２０２、キャッシュメモリ２０３Ｅ、グラフィクスコントローラ２０６、及び入出力コントローラ２０７のうちの２つ以上の構成要素の組み合わせは、単一の集積回路に共に一体にされてもよい。たとえば、メモリ制御ブロック２０２、グラフィクスコントローラ２０６、及び入出力コントローラ２０７は、集積回路２１０として共に一体にされうる。別の例として、プロセッサ回路２０１、メモリ制御ブロック２０２、キャッシュメモリ２０３Ｅ、グラフィクスコントローラ２０６、及び入出力コントローラ２０７は、集積回路２１０´として共に一体にされうる。別の例として、メモリコントローラを有するメモリ制御ブロック２０２は、プロセッサ回路２０１に組み込まれてもよい。プロセッサ回路２０１とメモリ制御ブロック２０２との間に結合される外部キャッシュメモリ２０３Ｅは、集積回路２１０´の一部として示すが、別個の回路であってもよい。多くの場合、キャッシュメモリ２０３Ｅは、大きいメモリ容量を別個に製造することがより効率的であるので、集積回路２１０´の外部とされる。
【００２３】
プロセッサ回路２０１は、１または複数の実行ユニット、または、プロセッサＡ  ２０１Ａ−プロセッサＮ  ２１０Ｎといった１より多い数のプロセッサ（コアプロセッサとも称しうる）を、マルチプロセッサ集積回路として含みうる。プロセッサ回路２０１の各プロセッサは、１つ以上のレベルのオンチップまたは内部キャッシュメモリ２０３Ｉ、または、同じ内部キャッシュメモリを共有しうる。他のレベルのキャッシュメモリは、外部キャッシュメモリ２０３Ｅといったように、プロセッサ２０１の外部でありえ、また、メモリコントローラとインターフェースする。プロセッサ回路２０１も、マイクロコンピュータが有しうるように、オンチップまたは内部ランダムアクセスメモリ（ＲＡＭ）と、オンチップまたは内部読出し専用メモリ（ＲＯＭ）を有しうる。プロセッサ２０１、その１つ以上の実行ユニット、及び１つ以上のレベルのキャッシュメモリは、１つ以上のメモリチャネル２０４Ａ−２０４Ｎを有するメモリ制御ブロック２０２を介してデータ（命令を含む）を読出しまたは書込みしうる。
【００２４】
１つ以上のメモリチャネル２０４Ａ−２０４Ｎとプロセッサ２０１、さらにはグラフィクスコントローラ２０６に結合され、かつ、１つ以上のメモリチャネル２０４Ａ−２０４Ｎとプロセッサ２０１及びグラフィクスコントローラ２０６の間にあるメモリ制御ブロック２０２は、任意選択的に独自の内部キャッシュメモリ２０３Ｍを有するか、または、そのキャッシュメモリは、別のレベルのキャッシュメモリとして外部でありうる。メモリ制御ブロック２０２は、１つ以上のメモリチャネル２０４Ａ−２０４Ｎのそれぞれに対して１つ以上のマイクロタイルメモリコントローラＭＣＡ  ２０８Ａ−ＭＣＮ  ２０８Ｎを含む。
【００２５】
１つ以上のメモリチャネル２０４Ａ−２０４Ｎのそれぞれは、１つ以上のメモリモジュールＭＭ１−ＭＭｎを含む。各メモリモジュールは、１つ以上のメモリ集積回路またはデバイスを含む。１つ以上のメモリ集積回路またはデバイスは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）回路、スタティックランダムアクセスメモリ（ＳＲＡＭ）回路、または不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）回路を含む様々なタイプのメモリ集積回路でありうる。しかし、本発明の好適な実施形態では、１つ以上のメモリ集積回路は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）回路である。
【００２６】
１つ以上のメモリチャネル２０４Ａ−２０４Ｎのそれぞれは、２つ以上のメモリサブチャネルを含む。図２Ａでは、４つのメモリサブチャネル２０５Ａ−２０５Ｄが、各メモリチャネル２０４Ａ−２０４Ｎに含まれる。図２Ｂを少し参照するに、２つのメモリサブチャネル２０５Ａ´、２０５Ｂ´が各メモリチャネル２０４Ａ−２４０Ｎに含まれる。各メモリチャネルにおける２つ及び４つのメモリサブチャネルを示すが、偶数または奇数のサブチャネルなどに１つのメモリチャネルを分割しうることを理解するものとする。これは、特に、メモリチャネルの論理幅またはバースト長が増加すると言えることである。
【００２７】
各メモリチャネル２０４Ａ−２０４Ｎにおける１つ以上のメモリモジュールＭＭ１−ＭＭＮは、マイクロタイリングをサポートするよう構成されうる。１つ以上のメモリモジュールがマイクロタイリングをサポートするか否かを判断するためにメモリ制御ブロックによりアルゴリズムが使用されてもよい。１つ以上のメモリモジュールに含まれる１つ以上のメモリ回路またはデバイスは、マイクロタイリングをサポートするよう構成されうる。１つ以上のメモリ回路は、マイクロタイリングが有効（ＭＴＥ）にされ、また、特定のメモリサブチャネルをサポートするよう割り当てられる。１つ以上のメモリ回路は、マイクロタイリングが有効にされ、特定のメモリサブチャネルに割り当てられるよう追加のピンを含むか、または、モードレジスタにおける追加のビットを有しうる。メモリ回路により追加のピンが供給される場合、外部のジャンパピン、ジャンパワイヤ、またはマイクロスイッチ（たとえば、ＤＩＰスイッチ）が、マイクロタイリングサポートを構成するよう使用されうる。メモリ回路内に設けられるモードレジスタの場合、各サブチャネルへのデータバスの独立部分を使用して、モードレジスタに適切なローディングストローブをロードしうる。
【００２８】
Ｉ／Ｏコントローラ２０７は、メモリ制御ブロック２０２に結合されて、１つ以上のメモリチャネル２０４Ａ−１０４Ｎにデータを書込みし、それにより、Ｉ／Ｏコントローラ２０７は、プロセッサ２０１によりアクセス可能である。処理ユニット１０１Ａはさらに、Ｉ／Ｏコントローラ２０７に結合される、ワイヤレスネットワークインターフェース回路（ＷＮＩＣ）２１３、有線ネットワークインターフェース回路またはカード（ＮＩＣ）２１４、汎用シリアルバス（ＵＳＢ）、及び／またはファイヤワイヤ（ＦＷ）シリアルインターフェース２１５、及び／またはディスクドライブ２１６を含みうる。ワイヤレスネットワークインターフェース回路（ＷＮＩＣ）２１３は、ワイヤレスローカルエリアネットワーク、ｗｉｆｉ（ＩＥＥＥ８０２．１１）、ブルートゥース、または他の無線接続といった基地ラジオユニットへの無線接続を供給する。ワイヤレスネットワーク相互接続（ＷＮＩＣ）２１３は、基地ラジオユニットまたは他の移動式ラジオユニットに無線波により結合するアンテナを含む。ＮＩＣ２１４は、イーサネット（登録商標）有線ローカルエリアネットワーク接続を供給する。ＵＳＢ／ＦＷシリアルインターフェース２１５は、他のＩ／Ｏ周辺デバイスを含むようシステムの拡張を可能にする。ディスクドライブ２１６は周知であり、プロセッサ２０１に書換え可能なストレージを供給する。ディスクストレージデバイス２１６は、フロッピー（登録商標）ディスク、ジップディスク、ＤＶＤディスク、ハードディスク、書換え可能光ディスク、フラッシュメモリ、または他の不揮発性ストレージデバイスのうちの１つ以上でありうる。
【００２９】
グラフィクスコントローラ２０６は、１つ以上のメモリチャネル２０４Ａ−２０４Ｎからデータを読出しする及び１つ以上のメモリチャネル２０４Ａ−２０４Ｎにデータを書込みするようメモリ制御ブロック２０２に結合されうる。プロセッサ２０１は、１つ以上のメモリチャネル２０４Ａ−２０４Ｎにデータを書込みし、したがって、データはグラフィクスコントローラ２０６によりアクセス可能であり、また、グラフィクスディスプレイまたはビデオデバイス上で表示可能である。グラフィクスディスプレイ２１７は、グラフィクスコントローラ２０６に結合されうる。ビデオインターフェース２１８が、グラフィクスコントローラ２０６に結合されうる。ビデオインターフェース２１８は、アナログ及び／またはデジタルビデオインターフェースでありうる。
【００３０】
処理ユニット１０１Ａにおいて、プロセッサ２０１、Ｉ／Ｏコントローラ２０７、及びグラフィクスコントローラ２０６は、メモリ制御ブロック２０２におけるメモリコントローラを介して１つ以上のメモリチャネル２０４Ａ−２０４Ｎにおけるデータにアクセスしうる。メモリ制御ブロックにおけるメモリコントローラは、システムメモリと、プロセッサ２０１、Ｉ／Ｏコントローラ２０７、及びグラフィクスコントローラ２０６との間でデータを読出し及び書込みするために、各メモリチャネル２０４Ａ−２０４Ｎとのインターフェースとなる。マイクロタイル化されたメモリのコントローラ２０８Ａ−２０８Ｎを、メモリチャネル２０４Ａ−２０４Ｎに対してそれぞれインターフェースさせる際に、アドレスバスのアドレス信号ライン２２０、データバスのデータ信号ライン２２２、及び、制御及びクロック信号ライン２２４がメモリインターフェースの一部として存在しうる。ディスクストレージデバイス２１６といったＩ／Ｏコントローラ２０７に結合される入力デバイスも、システムメモリから情報を読出しし、また、システムメモリに情報を書込みしうる。
【００３１】
一般的に、データバスのデータ信号ライン２２２は、Ｓ個のサブチャネルに分割される。図２Ｂにおいて、Ｓは４であり、データバスのデータ信号ライン２２２は、サブチャネルデータライン２２２Ａ、２２２Ｂ、２２２Ｃ、及び２２２Ｄにより示し、各サブチャネル２０５Ａ、２０５Ｂ、２０５Ｃ、及び２０５Ｄに結合されるように、４つのサブチャネルに分割される。たとえば、６４ビットバスは、４セットの１６ビットデータラインに分割される。本発明の一実施形態では、一部のアドレス信号ライン２２０は、サブチャネル間で共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。本発明の別の実施形態では、すべてのアドレス信号ライン２２０は、各サブチャネルにおいて独立しうる。アドレス信号ラインを以下にさらに説明する。
【００３２】
図２Ｂを参照するに、本発明の実施形態を使用しうる第２の処理ユニット１０１Ｂのブロック図を示す。第２の処理ユニット１０１Ｂは、図示するように互いに結合される、プロセッサ回路２０１、メモリ制御ブロック２０２、外部キャッシュメモリ２０３Ｅ、１つ以上のメモリチャネル２０４Ａ−２０４Ｎ、グラフィクスコントローラ２０６、及び入出力コントローラ２０７を含みうる点で、第１の処理ユニット１０１Ａと同様である。簡潔にする理由で、同様の番号が付けられた要素については図２Ａの説明を参照されたい。したがって、ここで説明は繰り返さない。しかし、第２の処理ユニット１０１Ｂでは、１つ以上のメモリチャネル２０４Ａ−２０４Ｎのそれぞれは、図示するように２つのサブチャネル２０５Ａ´及び２０５Ｂ´に分割される。つまり、サブチャネルの数、Ｓは２である。データバスのデータ信号ライン２２２は、サブチャネルデータライン２２２Ａ及び２２２Ｂにより示し、各サブチャネル２０５Ａ´及び２０５Ｂ´に結合されるように、２つのサブチャネルに分割される。たとえば、６４ビットバスは、２セットの３２ビットデータラインに分割されうる。本発明の一実施形態では、一部のアドレス信号ライン２２０は、サブチャネルのそれぞれで共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。本発明の別の実施形態では、すべてのアドレス信号ライン２２０は、各サブチャネルにおいて完全に独立しうる。
【００３３】
次に図３Ａを参照するに、２つのメモリチャネルのブロック図を示す。図３Ａは、ホスト３００とも称し、メモリチャネル０  ３０４Ａ及びメモリチャネル１  ３０４Ｂに結合される複合グラフィクス及びメモリコントローラ３００を示す。メモリチャネル０  ３０４Ａ及びメモリチャネル１  ３０４Ｂはそれぞれ４つのサブチャネル３０５Ａ、３０５Ｂ、３０５Ｃ、及び３０５Ｄに分割される。各メモリチャネルは、メモリチャネルのサブチャネルをサポートする独立マイクロタイルメモリコントローラを有する。各メモリチャネルは、独立データバスを有する。たとえば、メモリチャネルの各データバスについて６４ビットの総データビット幅を仮定すると、各サブチャネルは、１６ビットのデータバスの独立セットに結合される。図３Ａに示すように、サブチャネル３０５ＡはデータビットＤ１５−Ｄ０に結合され、サブチャネル３０５ＢはデータビットＤ３１−Ｄ１６に結合され、サブチャネル３０５ＣはデータビットＤ４７−Ｄ３２に結合され、サブチャネル３０５ＤはデータビットＤ６３−Ｄ４８に結合される。
【００３４】
前述したように、本発明の一実施形態では、一部のアドレス信号ラインは、サブチャネルのそれぞれで共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。たとえば、アドレス信号ライン３１０（Ａｘｘ−Ａ１０，ＢＡ２−ＢＡ０とラベル付けされる）は、すべてのサブチャネル３０５Ａ−３０５Ｄに対して共有される。つまり、アドレス信号ライン３１０のそれぞれは、展開されて、各サブチャネルに結合されうる。対照的に、アドレス信号ライン３１１Ａ（Ａ９−Ａ６とラベル付けされる第１のセット）は、サブチャネル３０５Ａに独立して結合される。アドレス信号ライン３１１Ｂ（Ａ９−Ａ６とラベル付けされる第２のセット）は、サブチャネル３０５Ｂに独立して結合される。アドレス信号ライン３１１Ｃ（Ａ９−Ａ６とラベル付けされる第３のセット）は、サブチャネル３０５Ｃに独立して結合される。アドレス信号ライン３１１Ｄ（Ａ９−Ａ６とラベル付けされる第４のセット）は、サブチャネル３０５Ｄに独立して結合される。
【００３５】
理想的には、割り当てられたメモリページサイズ粒度内の完全なアドレス指定可能性を許可するよう十分な独立アドレスラインが提供される。ページサイズは、一般的に、グラフィックメモリ空間を管理するソフトウェアにより設定される。たとえば、２チャネルキャッシュラインインターリーブメモリサブシステムにおける４キロバイト（ＫＢ）ページサイズ割り当ての場合を検討してみる。２ＫＢのページが、各メモリチャネルにマッピングされる。この場合、５つのアドレスラインを使用してメモリの各物理ページにおける３２の６４Ｂキャッシュラインをアドレス指定しうる。したがって、１５の追加の独立アドレスラインが、４つの１６ビットサブチャネル実施には理想的である。これらは、アドレスラインの第１のセットＡ１０−Ａ６とラベル付けされるオリジナルのアドレス信号ラインの第１のセット３１１Ａに対して、Ａ１０−Ａ６とラベル付けされる第２の、第３の、及び第４のセットとしてそれぞれラベル付けされるアドレス信号ライン３１１Ｂ−Ｄとして示される。使用可能な追加の独立アドレスラインが少ない場合、各サブチャネルによりアドレス指定可能な独立アドレス空間は減少する。各サブチャネルが使用可能な独立アドレスラインが多い場合、各サブチャネルによりアドレス指定可能な独立アドレス空間は増加する。２つの３２ビットサブチャネルを実施するためには、５つの追加独立アドレスラインを有することが好適である。
【００３６】
本発明の一実施形態では、追加のアドレス信号ラインは、図３Ａに示すように独立アドレス信号ラインを供給するようメモリコントローラとサブチャネルとの間にルーティングされうる。本発明の別の実施形態では、アドレス信号は、既存のアドレスライン上にオーバーロードされうる。本発明のさらに別の実施形態では、追加アドレス信号ラインのルーティングとアドレス信号のオーバーロードの組み合わせを使用してマイクロタイリングをサポートしうる。本発明のさらに別の実施形態では、各サブチャネルには、図３Ａに示す共有アドレスラインのない独立アドレスラインの完全なセットが与えられうる。しかし、共有アドレス信号ライン３１０の使用は、独立アドレス信号ラインのルーティングを回避することにより印刷回路基板領域を節約する。
【００３７】
図６を少し参照するに、共有及び独立アドレスビットを使用して１つのメモリチャネル用の１つのアドレス信号ラインビットマップを示す。つまり、図６は、物理アドレスにおけるアドレスビットの解釈を示すアドレスビットマップである。Ｉ個の独立アドレスビット（ＩＡＢ）からなるセットは各サブチャネルに与えられてマイクロタイリングをサポートする。ＳＡ個（０個以上）の共有アドレスビット（ＳＡＢ）からなるセットはすべてのサブチャネルに与えられうる。Ｑ個のサブチャネル選択ビット（ＳＳＢ）からなるセットは、サブチャネルへのメモリリクエストの割り当てに使用される。Ｐ個のサブチャネルデーアドレスビット（ＳＤＡＢ）からなるセットは、ＤＲＡＭメモリにおける各キャッシュラインにおけるバイトをアドレス指定するために使用される。Ｐ個のＳＤＡＢビットのセットは、一般的に、アドレス信号ラインマップの最下位ビットである。Ｑ個のＳＳＢビット及びＰ個のＳＤＡＢビットからなるセットは、実際には、メモリコントローラとサブチャネルメモリとの間でルーティングされず、アクセスされるデータブロックのベースアドレスは、バーストサイズの整数倍数であると理解される。つまり、Ｐ個のＳＤＡＢビットは、ダブルデータレート（ＤＤＲ）メモリ仕様に従いＤＲＡＭデバイスといったメモリ集積回路により内部で生成されうる。図６は、共有及び独立アドレスビットであるよう選択される特定のアドレスビットを示すが、他のアドレスビットが代わりに割り当てられてもよい。つまり、Ｐ個のサブチャネルデータアドレス（ＳＤＡＢ）ビットより上のアドレスビットのＳＡ個の共有アドレス（ＳＡＢ）ビット及びＩ個の独立アドレス（ＩＡＢ）ビットへの分割は、一般的に任意である。
【００３８】
次に図４Ａ−４Ｃを参照するに、タイリングされたアドレス空間を使用した理想的な三角形のピクセルマップレンダリングを示す。図４Ａは、論理チャネル幅は６４バイトである、非マイクロタイル化メモリシステムを使用するタイル化されたアドレス空間における三角形４０１のラスタライゼーションを示す。図４Ｂ、４Ｃは、マイクロタイル化メモリシステムを使用するタイル化されたアドレス空間における三角形４０１のラスタライゼーションを示す。三角形４０１のラスタライゼーションの単位はフラグメント４０２である。フラグメント４０２は、１ピクセルまたは１テクセルを表しうる。タイル化されたアドレス空間は、論理的に２次元のデータアレイが、サブアレイにおけるデータはアドレス空間の隣接範囲に格納され、したがってメモリ内において非常に局所化されるようサブアレイのセットとして組織される。線形的にアドレス指定される論理的に２次元のデータアレイは、そのようなサブアレイはない。代わりに、フラグメント４０２といったデータが、１行において左から右に、続いて、次の行に上から下に下がって線形にアドレス指定される。したがって、垂直方向に隣接するフラグメント４０２は、メモリにおいては離れている場合がある。
【００３９】
図４Ａと比較して、図４Ｂ、４Ｃは、マイクロタイルメモリアクセスにより提供される複数の小さいメモリリクエストによる利点を示す。図４Ａ−４Ｃのそれぞれは、異なるメモリリクエストサイズに対する三角形４０１のラスタライゼーションを示す。
【００４０】
図４Ａでは、単一のメモリリクエストは、１６のフラグメントに相当するデータを包含する。個々の四角形４０２のそれぞれは、１つのフラグメントに相当し、一般的に、１フラグメントにつき３２ビットまたは４バイトである。図４Ａ−４Ｃは、２０×２０のフラグメントアレイを示す。図４Ａに示す４×４のフラグメントアレイは、スパン４０４であり、１つの６４バイトメモリリクエストに相当する。サブスパン４２４は、図４Ｃにおいて、２×２のフラグメントアレイ、すなわち、１つの１６バイトメモリリクエストとして示す。ダブルスパン４１４は、図４Ｂに示し、また、２×４のフラグメントアレイとして方向付けられる１つの３２バイトメモリリクエストである。
【００４１】
図４Ａ−４Ｃにおける違いは、メモリリクエストサイズの減少に伴う過剰フェッチにおける理論上の減少を示す。図４Ａ−４Ｃのそれぞれにおいて、三角形４０１は、同数のフラグメントのアクセスを必要とする。しかし、１メモリアクセスは一般的に、そのアクセスに三角形４０１内のフラグメント４０８と三角形４０１外のフラグメント４０６を表すデータを含みうるように１つ以上のフラグメントのデータを転送する。三角形４０１外のフラグメント４０６を表すデータは過剰フェッチされ、結果としてメモリ帯域幅は効率よく使用されなくなる。
【００４２】
図４Ａにおいて、６４バイトメモリアクセスは、スパン４０４のデータ、すなわち、４×４のフラグメントブロックを転送する。たとえば、スパン４０４Ａは、第１の６４バイトメモリアクセスである。スパン４０４Ｂは、第２の６４バイトメモリアクセスである。たとえば、三角形４０１は、レンダリングのために約５７ピクセルを包含すると考える。６４バイトメモリアクセスの場合、その三角形内の６５個のフラグメントにアクセスするには１０個のメモリアクセスが必要となる。さらに９５個のフラグメントのデータがアクセスされるが、使用されない場合がある。
【００４３】
図４Ｂにおいて、３２バイトメモリアクセスは、ダブルサブスパンのデータ、すなわち、２×４のフラグメントブロックまたは６４バイトメモリアクセスの半分を転送する。たとえば、ダブルサブスパン４１４Ａは、第１の３２バイトメモリアクセスである。ダブルサブスパン４１４Ｂは、第２の３２バイトメモリアクセスである。３２バイトメモリアクセスの場合、その三角形内の６５個のフラグメントにアクセスするためには１３個のメモリアクセスが必要となる。さらに４７個のフラグメントのデータがアクセスされるが、使用されない場合がある。
【００４４】
図４Ｃにおいて、１６バイトメモリアクセスは、サブスパンのデータ、すなわち、２×２のフラグメントブロックまたは６４バイトメモリアクセスの４分の１を転送する。スパン４２４Ａは、第１の１６バイトメモリアクセスである。スパン４２４Ｂは、第２の１６バイトメモリアクセスである。スパン４２４Ｃは、第３の１６バイトメモリアクセスである。スパン４２４Ｄは、第４の１６バイトメモリアクセスである。１６バイトメモリアクセスの場合、その三角形内の６５個のフラグメントにアクセスするためには２２個のメモリアクセスが必要となる。さらに１３個のフラグメントのデータがアクセスされるが、使用されない場合がある。
【００４５】
図４Ａ、４Ｂ、及び４Ｃのそれぞれにおいて表示するために、三角形４０１は６５個のピクセルまたはフラグメント（２６０バイト）を必要とする別の例を考慮する。図４Ａでは、三角形４０１をレンダリングするために、１６０個のピクセルまたは６４０バイトのデータを含む約１０個のメモリスパンがアクセスされる。図４Ｂでは、三角形４０１をレンダリングするために、１１２個のピクセルまたは４４８バイトのデータを含む約１３個のデータダブルサブスパンがアクセスされる。図４Ｃでは、三角形４０１をレンダリングするために、８８個のフラグメントまたは３５２バイトのデータを含む約２２のデータサブスパンがアクセスされる。したがって、図４Ａと比較するに、図４Ｂ及び４Ｃでは、各メモリチャネルにおけるサブチャネルを使用するマイクロタイルアドレス指定を実施することにより過剰フェッチされるピクセルまたはフラグメント４０６は低減する。
【００４６】
前述したように、図４Ｂ、４Ｃは、メモリサブチャネルを含むマイクロタイル化されたメモリシステムを使用する、タイル化されたアドレス空間における三角形４０１のラスタライゼーションを示す。図４Ｂでは、１つの６４バイト幅メモリチャネルは、２つの３２バイト幅メモリサブチャネルから形成されうる。この場合、マイクロタイル化されるメモリへのアクセスは、６４バイトの総サイズとなるよう２つのサブチャネルのそれぞれに１つの３２バイトアクセスで、２つの非隣接３２バイトアクセスを、単一の６４バイトアクセスに組み合わせる。三角形のラスタライゼーションは、ダブルサブスパン４１４にアクセスするリクエストをもたらす。たとえば、マイクロタイルメモリコントローラは、ダブルサブスパン４１４Ｃ及び４１４Ｄにアクセスするリクエストを、単一のマイクロタイル化されたメモリのアクセスに組み合わせうる。もう１つの例として、メモリコントローラは、ダブルサブスパン４１４Ｅ及び４１４Ｆにアクセスするリクエストを、単一のマイクロタイル化されたメモリのアクセスに組み合わせうる。ダブルサブスパンにアクセスするリクエストの他の組み合わせも、単一のマイクロタイル化されたメモリリクエストまたはアクセスに形成されうる。本発明の一以上の実施形態では、組み合わされたサブチャネルアクセスは、ＳＡ個の共有アドレスビットに共有アドレスビットパターンを有する。
【００４７】
図４Ｃでは、１つの６４バイト幅メモリチャネルは、４つの１６バイト幅メモリサブチャネルから形成されうる。この場合、マイクロタイル化されるメモリアクセスは、６４バイトの総サイズとなるよう４つのサブチャネルのそれぞれに１つの１６バイトアクセスで、４つの非隣接１６バイトアクセスを、単一の６４バイトアクセスに組み合わせる。三角形のラスタライゼーションは、サブスパン４２４にアクセスするリクエストをもたらす。たとえば、マイクロタイルメモリコントローラは、サブスパン４２４Ｅ、４２４Ｆ、４２４Ｇ、及び４２４Ｈにアクセスするリクエストを、単一のマイクロタイル化されたメモリアクセスに組み合わせうる。サブスパンにアクセスするリクエストの他の組み合わせも単一のマイクロタイル化されたメモリリクエストまたはアクセスに形成されうる。本発明の一以上の実施形態では、組み合わされたサブチャネルメモリアクセスは、４つのメモリサブチャネルのそれぞれに対してＳＡ個の共有アドレスビットに共有アドレスビットパターンを有する。
【００４８】
理想的な場合では、すべてのマイクロタイル化されたメモリリクエストがマイクロタイルトランザクションアセンブラにより使用可能であり、それにより、未使用のサブチャネルのない６４Ｂメモリトランザクションを構築することが仮定される。つまり、マイクロタイリングの有効性は、トランザクションアセンブラ３２６Ａ、３２６Ｂの完全にポピュレートされたメモリトランザクションを構成する能力に依存する。
【００４９】
図３Ｂを参照するに、システムメモリチャネルに結合されるマイクロタイル化されたメモリ制御ブロック３００と、１つ以上のキャッシュメモリ２０３を含むマルチチャネルメモリサブシステムを示す。メモリ制御ブロック３００において、マルチチャネルメモリサブシステムは、システムメモリへの各メモリチャネルに対するマイクロタイリングメモリコントローラを含む。
【００５０】
図３Ｂでは、２つのメモリチャネル３０４Ａ及び３０４Ｂが設けられる。したがって、２つのマイクロタイルメモリコントローラ３２１Ａ及び３２１Ｂが、各メモリチャネル３０４Ａ及び３０４Ｂに対して設けられる。各メモリチャネル３０４Ａ、３０４Ｂは、Ｓ個のサブチャネル３０５Ａ−３０５Ｓから構成されうる。各サブチャネル３０５は、論理的にＮバイト幅、また、Ｂビット幅である。各メモリチャネル３０４は、論理的にＭ＝Ｎ＊Ｓバイト幅である。
【００５１】
メモリ制御ブロック３００とキャッシュメモリ２０３との間には、コマンドパスまたはアドレスパスを含むことが可能である書込みデータパス３０１及び読出しデータパス３０２があり、これらのパスを介して、読出し及び書込みリクエストを行うことができる。Ｎバイトは、読出しトランザクションの場合に、読出しデータパス３０２を介してメモリ制御ブロック３００からキャッシュ２０３に戻される。Ｎバイトの書込みリクエストは、書込みトランザクションの場合に、書込みデータパス３０１を介してキャッシュ２０３からメモリ制御ブロック３００に供給される。Ｎバイトの読出しまたは書込みリクエストはキャッシュ２０３とメモリ制御ブロック３００との間で発行されるが、リクエストは、たとえば、４つのサブチャネルと共に使用されうるように２×２のピクセルまたはテクセルアレイに相当する２×２のタイルのアレイとして示す。
【００５２】
メモリ制御ブロック３００は、チャンネルアサイナ３２０と、第１のメモリコントローラ３２１Ａ、及び第２のメモリコントローラ３２１Ｂを含む。メモリ制御ブロック３００はさらに、メモリチャネル０  ３０４Ａ及びメモリチャネル１  ３０４Ｂに結合される。メモリチャネル１  ３０４Ａは、「Ｓ個」のサブチャネル３０５Ａ−３０５Ｓを含む。同様にメモリチャネル１  ３０４Ｂは、「Ｓ個」のサブチャネル３０５Ａ−３０５Ｓを含む。共有アドレスライン３１０は、各メモリコントローラ３２２から各サブチャネル３０５Ａ−３０５Ｓに結合する。独立アドレスライン３１１Ａ−３１１Ｓは、それぞれのサブチャネル３０５Ａ−３０５Ｓに結合する。各データバスサブチャネル部３１２Ａ−３１２Ｓは、それぞれのメモリサブチャネル３０５Ａ−３０５Ｓに結合する。
【００５３】
各メモリコントローラ３２１Ａ及び３２１Ｂは、サブチャネルアサイナ３２２Ａ−３２２Ｂ、並べ替えバッファ３２４Ａ−３２４Ｂ、及びトランザクションアセンブラ３２６Ａ−３２６Ｂをそれぞれ含む。
【００５４】
１チャンネルの論理幅である、Ｎバイトのデータに対するメモリリクエストは、チャネルアサイナ３２０に結合される。チャネルアサイナは、メモリリクエストを、メモリチャネルの可変性を含む状況に依存してメモリチャネル０  ３０４Ａまたはメモリチャネル１  ３０４Ｂのいずれかに割り当てる。チャネルアサイナによりメモリチャネルに割り当てられた後、Ｎバイトリクエストは、各メモリコントローラ３２１Ａまたは３２１Ｂ、また、サブチャネルアサイナ３２２Ａまたは３２２Ｂに結合される。
【００５５】
サブチャネルアサイナ３２２Ａ及び３２２Ｂは、Ｎバイトのリクエストをサブチャネル３０５Ａ−３０５Ｓのうちの１つに割り当てる。図６を参照するに、識別サブチャネル割り当て（ｓ）は、以下の処理により定義されうる。すなわち、（１）リクエストアドレス（「Ａ」）は、Ｐ個のＳＤＡＢビット分右にシフトされ、新しい整数値
【数１】
2008544426.tif 000003
がもたらされる。（２）サブチャネル割り当てに対する値「ｓ」は、
【数２】
2008544426.tif 000004
の最下位のＱ個のＳＳＢビットである。
【数３】
2008544426.tif 000005
【００５６】
各マイクロタイリングメモリコントローラ３２１Ａ、３２１Ｂは、それぞれ、１つの並べ替えバッファ３２４Ａ、３２４Ｂを有する。並べ替えバッファは、サブチャネルへのメモリリクエストの順序を並べ替え、それにより、各メモリチャネルにおける帯域幅効率を上げる。アドレス「Ａ」においてＮバイトのデータブロックを読出しまたは書込みする１つのリクエストは、メモリコントローラ３２２Ａまたは３２２Ｂに入り、１つのサブチャネルに割り当てられ、並べ替えバッファ内に置かれる。並べ替えバッファは、各サブチャネルに対する並べ替えキューとして実施されうる。並べ替えバッファの他の実施も可能である。
【００５７】
トランザクションアセンブラ３２６Ａ、３２６Ｂは、並べ替えバッファからＳ個の読出しリクエスト（各サブチャネルに対し１つのリクエスト）をすべてのＳ個のリクエストが同じ共有アドレスビットを有するよう選択することにより、１つのメモリ読出しトランザクションを形成する。トランザクションアセンブラは、並べ替えバッファからＳ個の書込みリクエスト（各サブチャネルに対し１つのリクエスト）をすべてのＳ個のリクエストが同じ共有アドレスビットを有するよう選択することにより、１つのメモリ書込みトランザクションを形成する。たとえば、トランザクションアセンブラ３２６Ａ、３２６Ｂは、４つの１６バイトリクエスト（各サブチャネルに対し１つのリクエスト）から１つのメモリチャネルにおける６４バイトトランザクションをまとめうる。
【００５８】
１つのトランザクションを形成しようと試みる場合、マイクロタイル化されたコントローラにおけるトランザクションアセンブラは、ＳＡ個の共有アドレスビットがすべてのサブチャネル間で同じであるような複数のリクエスト（各サブチャネルに対し１つのリクエスト）の同時セットを見つけることができない場合がある。そのような場合、リクエストが見つからなかったサブチャネル上はデータは転送されないか、または、そのサブチャネルを介してデータが転送される場合は、データは廃棄可能である。
【００５９】
次に図５Ａ−５Ｃを参照するに、各メモリチャネル５００Ａ−５００Ｃに対する例示的なバイトの順序付けを示す。図５Ａでは、メモリチャネル５００Ａは、０から６３と番号が付けられた６４バイトの転送サイズを有する。６４バイトの論理幅は、メモリチャネルの６４ビット物理幅によりアクセスされうる。
【００６０】
図５Ｂでは、メモリチャネル５００Ｂは、２つのメモリサブチャネル５０５Ａ及び５０５Ｂに分割されうる。各メモリサブチャネルは、６４バイト転送の半分を転送し、したがって、各サブチャネルは３２バイトを転送する。メモリサブチャネル５０５Ａについて、メモリバイトは０から３１のアクセス番号であり、図５Ａのメモリバイトから並べ替えられる。メモリサブチャネル５０５Ｂについて、アクセスされるバイトは、３２から６３の番号が付けられ、図５Ａのメモリバイトから並べ替えられる。
【００６１】
図５Ｃでは、メモリチャネル５００Ｃは、４つのメモリサブチャネル５１５Ａ、５１５Ｂ、５１５Ｃ、及び５１４Ｄに分割されうる。各サブチャネルは、６４バイト転送の４分の１を転送し、したがって、各サブチャネルは１６バイトを転送する。メモリサブチャネル５１５Ａは、０から１５の番号が付けられるメモリバイトにアクセスする。これは、図５Ａのメモリバイトから並べ替えられる。メモリサブチャネル５１５Ｂは、バイト１６乃至３１にアクセスし、これは、図５Ａのメモリバイトから並べ替えられる。メモリサブチャネル５１５Ｃは、バイト３２乃至４７にアクセスし、これは、図５Ａのメモリバイトから並べ替えられる。メモリサブチャネル５１５Ｄは、バイト４８乃至６３にアクセスし、これは、図５Ａのメモリバイトから並べ替えられる。このようにして、６４バイト転送は、バイト番号が並べ替えられ且つ割り当てられる一方で、各メモリサブチャネル全体に等しく分配される。
【００６２】
図６を再び参照するに、バイトは、本発明の他の実施形態では異なって並べ替えられうる。
【００６３】
前述したように、マイクロタイルメモリアクセスをサポートするために、ＳＡ個の共有アドレスビットはＩ個の独立アドレスビットと共に使用され、同時にＱ個のサブチャネル選択ビット及びＰ個のサブチャネルデータアドレスビットは、キャッシュラインによりアクセスされる物理バイトにアドレス指定するよう使用されうる。６４バイトキャッシュラインでは、Ｑ個のサブチャネル選択ビットとＰ個のサブチャネルデータアドレスビットの合計は、６である。
【００６４】
図６では、Ｐ個のサブチャネルデータドレスビットは、Ａ０−Ａ８と示す。図６では、Ｑ個のサブチャネル選択ビットは、Ａ１０、Ａ８、及びその間にあるビットとラベル付けされる。図６では、Ｉ個の独立アドレスビットは、Ａ９、Ａ１０、Ａ１６、Ａ１８、Ａ２４、及びその間にあるビットとラベル付けされる。図６では、ＳＡ個の共有アドレスビットは、Ａ１１、Ａ１５、Ａ１７、Ａ１９、Ａ２０、Ａ２５、Ａ２６、及びたとえばＡｘとラベル付けられる。追加の共有アドレスビットをその間に使用してもよい。
【００６５】
Ｉ個の独立アドレスビットを使用して、サブチャネルアドレスは、互いに対してオフセットであるアドレスにおいて独立している。サブチャネルを互いから完全に独立しているようにするには、メモリコントローラから各サブチャネルへのコマンド及びアドレスの完全な重複を使用しうるが、これは、メモリコントローラのピン数、入出力ドライバのシリコン領域、及び、ホスト印刷回路基板またはマザーボード上に必要な配線領域を大幅に増加してしまう。代わりに、本発明の実施形態では、図６に示すように、すべてのサブチャネル間でサブチャネルアドレスビットの１つ以上の部分を共有し、また、残りの部分、Ｉが各サブチャネルについて独立することを可能にする。Ｉ個の独立アドレスビットの適切な選択によって、したがって、帯域幅効率を上げ、各サブチャネルにＩ個のアドレス信号を重複するコストに対してバランスを取ることを可能にする。
【００６６】
前述したように、Ｉ個の独立アドレスビットは、各メモリサブチャネルに追加のアドレスラインをルーティングすること及び／またはアドレスオーバーローディングを使用することを含む様々な方法で得られる。
【００６７】
次に図７Ａを参照するに、メモリモジュールＭＭ１−ＭＭｎの例であるメモリモジュール（ＭＭ）７１０を示す。メモリモジュール７１０は、たとえば、ＳＩＭＭまたはＤＩＭＭといった任意のタイプでありうる。メモリモジュール７１０は、印刷回路基板７５１に結合されたメモリ集積回路チップ（「メモリデバイス」）７５２を含む。印刷回路基板７５１は、ホスト印刷回路基板７６２のエッジコネクタ７６０に結合するエッジコネクタまたはエッジ接続部７５４を含む。
【００６８】
メモリのマイクロタイリングをサポートするために、本発明の一実施形態では、追加のアドレス信号ラインは、印刷回路基板７５１のエッジ接続部７５４のピンアウトの未使用または非接続ピンを使用してメモリ集積回路７５２に独立して供給されうる。これらのエッジ接続部７５４の未使用または非接続ピンは、追加の独立アドレス信号ラインをメモリ集積回路７５２にルーティングするよう使用されうる。同じ未使用のピンが、マザーボード７６２に実装される対応エッジコネクタ７６０にある。追加の独立アドレス信号ライン７６３は、マザーボード７６２を介して、メモリ制御ブロックにおけるメモリコントローラからの既存のコネクタにルーティングされ、それにより、追加の独立アドレス情報を供給する。メモリモジュールのエッジ接続部７５４のピンアウトの幾つかの異なるタイプの未使用または非接続ピンがありうる。
【００６９】
たとえば、パリティまたは誤り訂正コード（ＥＣＣ）機能は、エッジ接続部７５４のピンアウトの一部として予約されるピンを有しうる。消費者に対してメモリモジュールのコストを下げるために、パリティ及びＥＣＣ機能は、しばしば、メモリモジュールから省略され、それにより予約された信号ライン及びピンは、しばしば、使用されない。つまり、パリティ／ＥＣＣ信号ラインは、マザーボードのすべてのエッジコネクタにルーティングされうるが、ＥＣＣが有効にされたメモリモジュール（たとえば、デュアルインラインメモリモジュール（ＤＩＭＭ））が取り付けられる場合だけに使用される。メモリモジュールの使用されない既存ＥＣＣライン／ピンは、独立アドレス信号ラインとしてリターゲットされ、非ＥＣＣメモリモジュールにおいてマイクロタイリングを実施するよう使用される。しかし、マイクロタイリングにＥＣＣライン／ピンを使用する場合、ＥＣＣ機能及びマイクロタイリング機能の両方を１つのメモリモジュールにおいて同時に有効にすることはできない。この解決策は、一般的に、パリティ／ＥＣＣが有効にされることを必要としない（または望まない）環境においてうまくいく。
【００７０】
別の例として、エッジ接続部７５４のピンアウトにおいて予約されるオプションのアクティブローデータ信号ラインは、供給されるアクティブハイ信号ラインの重複であるので、しばしば使用されない。さらに別の例として、メモリモジュールのエッジ接続部７５４のピンアウトにおいて予約されるオプションのテストピンは、テストモードは使用されない場合があるので、しばしば使用されない。
【００７１】
いずれの場合においても、これらの未使用のピンは、独立アドレス信号ピン７５５Ａ−７５５Ｄとなるようリターゲットされ、独立アドレス信号ライン７６３は、ホスト印刷回路基板７６２上をルーティングされ、独立アドレス信号ライン７５６Ａ−７５６Ｄは、メモリモジュール７１０のＰＣＢ７５１上をメモリ集積回路７５２にルーティングされる。
【００７２】
一部の場合では、メモリモジュール７１０はさらに、バッファ集積回路（「バッファ」）または誤り訂正制御（ＥＣＣ）集積回路といったサポート集積回路７５０を含みうる。しかし、前述したように、ＥＣＣがメモリモジュール７１０に具備されていない場合、ＥＣＣが具備されている場合にはＥＣＣのために予約され、また、未使用であるエッジ接続部７５４のピンを、マイクロタイリングをサポートするためのメモリサブチャネルへの独立アドレスラインに使用しうる。
【００７３】
マイクロタイリングと、メモリサブチャネルの独立アドレッシングをサポートするために、メモリモデル７１０上のメモリ集積回路７５２は分割され、図７Ａに示すように４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃ、及び２０５Ｄといった異なるメモリサブチャネルに割り当てられうる。メモリ集積回路７５２のデータ入出力は、一般的に、４、８、または１６ビット幅である。１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する１６ビットでは、４つの１６ビット幅メモリ集積回路７５２が、４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃ、及び２０５Ｄに対して１対１でそれぞれ割り当てられうる。８つの８ビット幅メモリ集積回路７５２は、４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃ、及び２０５Ｄに同時に２つそれぞれ割り当てられ、それにより、１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する１６ビットを供給する。１６の４ビット幅メモリ集積回路７５２は、４つのサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃ、及び２０５Ｄに同時に４つそれぞれ割り当てられ、それにより、１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する１６ビットを供給する。
【００７４】
２つのメモリサブチャネルの場合、４つの１６ビット幅メモリ集積回路７５２が、１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する３２ビットのために、２つのメモリサブチャネルに同時に２つそれぞれ割り当てられうる。８つの８ビット幅メモリ集積回路７５２は、１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する３２ビットのために、２つのメモリサブチャネルに同時に４つそれぞれ割り当てられうる。１６の４ビット幅メモリ集積回路７５２は、１つのメモリチャネルに対する６４ビットの物理幅と、各メモリサブチャネルに対する３２ビットのために、２つのメモリサブチャネルに同時に８つそれぞれ割り当てられうる。
【００７５】
メモリモジュールのエッジ接続部７５４の未使用ピンと、標準エッジコネクタ７６０を使用することにより、メモリモジュール７１０は、既存のメモリサブシステムに対して後方互換性を有することが可能である。本発明の別の実施形態では、新しいエッジ接続部７５４及び新しいエッジコネクタ７６０に追加の独立アドレス信号ラインが具備され、マイクロタイリングメモリをサポートする。しかし、本発明のこの実施形態では、メモリモジュール及びエッジコネクタは、特にメモリのマイクロタイリングをサポートするよう設計され、既存のシステムとは後方互換性を有さない。本発明のさらに別の実施形態では、メモリ集積回路は、メモリモジュール７１０またはエッジコネクタ７６０を使用することなくマザーボードに半田付けされる。
【００７６】
次に図７Ｂを参照するに、メモリ集積回路７５２は、マイクロタイル化されたメモリコントローラ２０８Ａ−２０８Ｎを有するメモリ制御ブロック２０２及び他のコンポーネントと共に直接半田付けされることによりホスト印刷回路基板７６２上に埋め込みされる。他のコンポーネントのうちの幾つかは、図２Ａ、２Ｂにおいて前述した。ホスト印刷回路基板７６２上の配線面積を犠牲にして、独立アドレス信号ライン７６６Ａ−７６６Ｄが、メモリ制御ブロック２０２内のマイクロタイル化されたメモリコントローラ２０８Ａ−２０８Ｎと、メモリ集積回路７５２との間でルーティングされうる。これらの独立アドレス信号ライン７６６Ａ−７６６Ｄは、異なるメモリサブチャネル２０５Ａ−２０５Ｄにおけるメモリ集積回路７５２間で共有されない。しかし、独立アドレス信号ラインは、同一のメモリサブチャネルにおける１つ以上のメモリ集積回路７５２間では共有されうる。
【００７７】
たとえば、各メモリチャネル内に４つの独立メモリサブチャネルがある図３Ａを考慮する。追加の独立した４つのアドレスラインは、各サブチャネルに設けられ、それにより、各サブチャネルにおけるメモリの領域を独立してアクセスしうる。アドレスライン３１１Ａ−３１１Ｄ（Ａ９−Ａ６とラベル付けされる）は、各サブチャネルにおいて独立している。４つのアドレスラインからなる１セットがすでにあると考えると、ルーティングされるべき追加のアドレスラインの総数は、３×４、すなわち１２の独立アドレス信号ラインである。追加の信号ラインをルーティングすることは、メモリがマザーボードに半田付けされる場合にうまくいく。或いは、既存のエッジコネクタ及びメモリモジュールのピンアウトが十分に活用されない場合に、マザーボードを介してメモリモジュールに追加の信号ラインをルーティングすることは、独立アドレスシグナリングを追加するよう使用される。しかし、既存のコネクタのピンアウトが十分に活用される場合、追加のラインのための機会はなく、この追加の信号ラインをルーティングする方法は、特に、後方互換性が所望される場合には容易に実現可能ではない。
【００７８】
次に図８を参照するに、メモリ集積回路８００のブロック図を示す。メモリ集積回路８００は、１つ以上のメモリデバイス７５２としてメモリモジュールＭＭ１−ＭＭｎ内に含まれうる。メモリ集積回路８００は、図示するように結合される、メモリアレイ８０１、行アドレスデコーダ８０２、ビットラインプリチャージ／リフレッシュ論理８０３、列デコーダ８０４、センス増幅器アレイ及び書込みドライバブロック８０６、コントローラ８０８、アドレスバッファ８１１、及びマイクロタイル（ＭＴ）制御論理８１２を含む。マイクロタイル制御論理８１２は、オーバーロード論理（ＯＬ）とも称されうる。
【００７９】
コントローラ８０８は、メモリ集積回路８００の一般的な機能性を制御するよう設定／初期化可能である複数のビットを有するモードレジスタ８１０を含む。このモードレジスタは、ビットを格納するためのビットストレージ回路を含む。モードレジスタ８１０のビットは、ロードストローブと同期してアドレスライン８１０またはデータライン８２１に適切なビット設定を適用することにより設定されうる。ロードストローブは、メモリがアイドルである場合にメモリ集積回路のコントローラ８０８に結合される１つ以上の制御ライン８２２を切り替えることにより生成されうる。コントローラ８０８は、１つ以上の制御ライン８２２を受け取る。１つ以上の制御ライン８２２は、行アドレスストローブＲＡＳ＃、列アドレスストローブＣＡＳ＃、書込み有効化ＷＥ＃、チップ選択ＣＳ＃、バンク選択ＢＡ０、ＢＡ１、ＢＡ２、または、他の標準メモリ統合制御入力を含みうる。
【００８０】
より具体的には、モードレジスタ８１０は、マイクロタイルメモリアクセスのために集積回路８００を設定するよう使用されうる。以下により詳細に説明するように、モードレジスタ８１０の複数のビットのうちの１つは、マイクロタイル有効化ビットである。マイクロタイル有効化ビットは、アクティブハイで、ＭＴＥビットと称しうる。或いは、マイクロタイル有効化ビットは、アクティブローで、ＭＴＥ＃と称しうる。いずれの場合も、マイクロタイル有効化ビットは、一般的に、マイクロタイル有効化ビットまたはＭＴＥビットと称しうる。マイクロタイル有効化ビットは、マイクロタイリングは、最初にデバイスの電源が投入された場合、または、リセットされた場合に無効となるようデフォルトでリセットされる。これは、メモリモジュール７１０及びメモリ集積回路８００が、マイクロタイリングをサポートしないシステムに挿入された場合に後方互換性があるようにすることを可能にする。モードレジスタ８１０はさらに、メモリ集積回路が割り当てられアドレス指定可能であるメモリサブチャネルを示すための１つ以上のサブチャネル選択（ＳＣＳ）ビットを有する。ＭＴＥビット及び１つ以上のＳＣＳビットは、マイクロタイル制御論理８１２に結合される。
【００８１】
マイクロタイル制御論理８１２は、複数のアドレス信号ライン８２０に結合され、それにより、アドレスを、アドレスバッファ８１１を介して列アドレスデコーダ８０４及び／または行アドレスデコーダ８０２に結合する。アドレスバッファ８１１は、内部アドレス信号ライン上にアドレス信号をラッチし、それにより、それらをアドレスデコーダのために保持する。制御論理８１２はさらに、コントローラのモードレジスタに結合され、それにより、メモリアレイ８０１へのマイクロタイルメモリアクセスをサポートするためにマイクロタイル有効化ビット及び少なくとも１つのサブチャネル選択ビットを受信する。マイクロタイル有効化ビット及び少なくとも１つのサブチャネル選択ビットに応答して、制御論理８１２は、１つ以上のアドレス信号ラインを選択し、これらのラインを介してそれが割り当てられる所定のサブチャネルの独立アドレス情報を獲得する。つまり、アドレス信号ラインのサブセットだけが所定のサブチャネルに割り当てられうる。制御論理８１２は、このアドレス信号ラインのサブセットを選択して、独立アドレス情報を抽出する。他のアドレス信号ラインは、他のサブチャネルに使用されるか、または、一部のアドレス信号ラインは、各サブチャネルへの共有アドレス信号ラインでありうる。制御論理８１２は、独立アドレス情報を、列アドレスデコーダ８０４及び／または行アドレスデコーダ８０２に結合する。制御論理による１つ以上のアドレス信号ラインの選択はさらに、列アドレスロード信号（ＣＡＳ＃）及びトランザクション有効化信号に応答する形でもよい。
【００８２】
１つの有効ビットに対する独立アドレス情報を別の有効ビット位置にさらにスウィズルするために、追加の制御論理をマイクロタイル制御論理８１２内にまた周辺に追加しうる。これは、マイクロタイリングが有効にされる場合に、画面リフレッシュといった幾らか線形のアドレス指定方法を提供するためである。
【００８３】
センス増幅器アレイ及び書込みドライバブロック８０６は、データ入出力（Ｉ／Ｏ）バスに結合し、メモリアレイからデータを読出しする、または、メモリアレイ８０１にデータを書込みするようコントローラ８０８から制御信号を受信しうる。センス増幅器アレイ及び書込みドライバブロック８０６は、メモリアレイ８０１に書込みされるべきデータを受信し、また、メモリアレイ８０１から読出しされたデータを、入出力（Ｉ／Ｏ）バス８２１を介して供給する。データ入出力（Ｉ／Ｏ）バス８２１は、一般的に、４、８、または１６ビット幅であるメモリ集積回路８００の双方向データラインを含む。
【００８４】
メモリアレイ８０１は、行列で組織されるメモリセルから構成される。メモリセルは、一般的に、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）セルであるが、任意選択的に、スタティックタイプのランダムアクセスメモリ（ＳＲＡＭ）セルであることも可能であり、また、不揮発性プログラマブル（ＮＶＲＡＭ）タイプの書き換え可能メモリセルでありうる。
【００８５】
行アドレスデコーダ８０２は、アドレスラインで行アドレスを受信し、メモリアレイ８０１におけるメモリセルの１行をアドレス指定するために１つのワードライン（ＷＬ）に信号を生成する。列デコーダ８０４もアドレスラインで列アドレスを受信し、メモリセルのその行のうちのどの列がアクセスされるべきか選択する。列デコーダ８０４は基本的にアクセスされるべきメモリセルへのビットラインを選択する。読出しアクセスでは、列デコーダ８０４は、マルチプレクサとして機能する。書込みアクセスでは、列デコーダ８０４は、デマルチプレクサとして機能する。列アドレスデコーダ８０４は、共有列アドレス信号に応答してメモリアレイ８０１内のメモリセルの列に選択的にアクセスし、また、モードレジスタ内のマイクロタイル有効化ビットが設定される場合はさらに、列アドレスデコーダ８０４は、独立サブチャネル列アドレス信号に応答してメモリアレイ８０１内のメモリセルの列に選択的にアクセスする。
【００８６】
センス増幅器アレイ及び書込みドライバブロック４０６は、読出し演算時にアクセスされたメモリセルに論理１が格納されたかまたは論理０が格納されたか判断するセンス増幅器を含みうる。アドレス指定されたメモリセルは、読出し演算時に、メモリアレイの選択されたビットラインに論理１または論理０を供給しようと試みる。センス増幅器は、読出し演算時に、メモリアレイの選択されたビットラインに、アドレス指定されたメモリセルにより論理１または論理０が供給されたかを検出する。センス増幅器アレイ及び書込みドライバブロック４０６はさらに、書込み演算時に、メモリアレイの選択されたビットライン上に、及び、アドレス指定されたメモリセル内に論理１または論理０を供給する書込みドライバを含みうる。
【００８７】
プレチャージ／リフレッシュブロック８０３は、メモリアレイ８０１におけるビットラインに結合する。プレチャージ／リフレッシュブロック８０３は、読出しまたは書込み演算時に、メモリセルをアドレス指定する前にビットラインを予め調整しうる。プレチャージ／リフレッシュブロック８０３は、不活動時にメモリアレイ８０１のメモリセルにおけるデータをリフレッシュしうる。
【００８８】
特定のメモリサイクルの間に、メモリ集積回路８００への一部の既存信号ラインは使用されず、また、この時間の間、他の目的にリターゲットされることが可能である。たとえば、ＣＡＳ（列アドレスストローブ）サイクルの間は、すべてのアドレスラインが使用されるわけではない。これらの未使用のアドレス信号ラインは、ＣＡＳサイクル時にリターゲットされて、追加のアドレス情報をメモリモジュール（たとえば、ＤＩＭＭ）及びその内部のメモリ集積回路デバイスに通信可能である。メモリ制御ブロック２０２におけるメモリコントローラ２０８は、ＣＡＳサイクル時にこれらの未使用アドレス信号ラインを介して追加のアドレス情報を送信する。追加のマイクロタイル制御論理回路８１２と、モードレジスタ８１０内のビットを有するメモリ集積回路８００は、ＣＡＳサイクル時に未使用であった以前に未使用だったアドレス信号ライン上のこれらのオーバーロードされた信号を認識且つ復号化する。
【００８９】
次に図９Ａを参照するに、マイクロタイリングをサポートするために、メモリ集積回路においてモードレジスタ８１０Ａに結合される例示的なマイクロタイルメモリ制御論理８１２Ａを示す。マイクロタイルメモリ制御論理８１２Ａの例示的な実施形態は、ＣＡＳサイクルといった未使用のメモリサイクルの間に供給される追加のアドレス情報を有するオーバーロードされたアドレス信号ラインを復号化する。マイクロタイルメモリ制御論理８１２Ａの概略図では、４つのサブチャネルが設けられると仮定し、各サブチャネルは、マイクロタイリングをサポートするよう１６バイトの論理幅を有する。
【００９０】
マイクロタイルメモリ制御論理８１２Ａの中心には、独立アドレス情報を獲得するためのデュアル４入力マルチプレクサ９００を配置する。マイクロタイルメモリ制御論理８１２Ａのデュアル４入力マルチプレクサ９００は、多重化された出力（Ａ３´及びＡ４´）に共有列アドレス信号または独立サブチャネル列アドレス信号を選択的に出力する。デュアル４入力マルチプレクサの出力（Ａ３´及びＡ４´）は、列アドレスデコーダの入力に結合される。独立サブチャネル列アドレス信号は、各メモリサブチャネルにより受信されるよう選択された１つ以上の独立列アドレス信号である。
【００９１】
マイクロタイル制御論理８１２Ａは、メモリ集積回路のアドレスピンからのアドレスラインを受信する。マイクロタイル制御論理８１２Ａは、行アドレスデコーダ及び列アドレスデコーダに分配されるべき複数のアドレスをアドレスバッファに供給する。メモリ集積回路のアドレスピンの一部は、共有行アドレス信号、共有列アドレス信号、独立列アドレス信号、またはそれらの組み合わせを受信する。たとえば、アドレスピンＡ５−Ａ９、及びＡ１３は、マイクロタイル制御論理８１２Ａの周囲を通過し（pass around）、各メモリサブチャネルへの共有行アドレス信号及び／または共有列アドレス信号を受信しうる。アドレスピンＡ０−Ａ４及びＡ１０−Ａ１２は、デュアル４入力マルチプレクサ９００に結合され、マイクロタイリングが有効にされる場合、共有行アドレス信号及び独立列アドレス信号を受信しうる。マイクロタイリングが有効にされない場合、デュアル４入力マルチプレクサ９００に結合されるアドレスピンＡ３及びＡ４は、共有行アドレス信号及び／または共有列アドレス信号を受信しうる。列アドレスロードストローブピンＣＡＳ＃は制御論理８１２Ａに結合され、それにより、列アドレスロードストローブ信号を受信し、また、メモリ集積回路において獲得のために所与のサブチャネルに割り当てられたアドレスピン上の適切な１つ以上の独立列アドレス信号を選択的に受信する。列アドレスロードストローブ信号はさらに、適切なアドレスピンの共有列アドレス信号を受信及び獲得するよう使用されうる。
【００９２】
モードレジスタ８１０Ａは、マイクロタイル有効化（ＭＴＥ）ビット、サブチャネル選択ビット０（ＳＣＳ０）ビット、及びサブチャネル選択ビット１（ＳＣＳ１）ビットの設定を格納する、フリップフロップまたはメモリセルといった３つのストレージ回路を含みうる。モードレジスタ８１０Ａにおけるこれらの３つのビットは、適切なサブチャネル選択ビット及びマイクロタイル有効化ビットによりプログラムされる。これらの３つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定／再設定される。これらの３つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定／再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される１つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。マイクロタイリングがメモリ集積回路において有効化される場合、マイクロタイル有効化ビットＭＴＥが設定される。ＭＴＥビットはアクティブハイであるので、このビットはハイ論理レベルに設定される。アクティブローである場合、ＭＴＥ＃ビットは論理ローレベルに設定される。図９Ａの例示的な制御論理では、１つのメモリチャネル内に場合により４つ以下のサブチャネルがある。ＳＣＳ０及びＳＣＳ１ビットは、メモリ集積回路を、４つのメモリサブチャネルのうちの１つに割り当てる。同一のメモリモジュール上の他のメモリ集積回路は、その４つのメモリサブチャネルのうちの別の１つに割り当てられうる。
【００９３】
各サブチャネルに対する独立アドレス情報は、ＣＡＳサイクルの間に、アドレスラインＡ０−Ａ４及びＡ１０−Ａ１２といった既存のアドレスラインを介して利用可能にされる。この例では、アドレスラインＡ３及びＡ４は、通常に使用される。したがって、アドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１、Ａ１２、及びＡ１３は、オーバーロードされる信号ラインである（Ａ１３は、マイクロタイルトランザクションが有効化されうる−トランザクション毎に指定される）。既存のアドレスラインに信号ラインをオーバーロードするこの方法は、実際には、追加のトレース（すなわち、配線）を使用することなく、または、追加のピンを使用することなく、６つの追加のアドレスライン（Ａ０−Ａ２及びＡ１０−Ａ１２）をメモリ集積回路デバイスに供給する。
【００９４】
マイクロタイルメモリ制御論理８１２Ａは各メモリ集積回路に設けられ、それにより、適切な独立サブチャネルアドレス情報が、モードレジスタに保存されるサブチャネル選択ビットに応答して、アドレスラインＡ０−Ａ４及びＡ１０−Ａ１２から選択される。サブチャネル選択ビットの設定は、モードレジスタ８１０Ａからマイクロタイルメモリ制御論理８１２Ａにルーティングされ、それにより、マルチプレクサ９００の入力選択処理を制御する。マルチプレクサ９００の出力端子は、アドレス信号ラインＡ３´及びＡ４´に結合される。アドレス信号ラインＡ３´及びＡ４´は、アドレスデコーダ（たとえば、列アドレスデコーダ８０４）に結合され、それにより、メモリアレイ内のメモリセルを選択する。
【００９５】
マイクロタイル制御論理は、ＣＡＳ＃がアクティブローである（「ＣＡＳサイクル」）場合に列アドレス書込みアクセス時間の間にメモリアドレス信号ラインＡ３´及びＡ４´をオーバーロードしうる。つまり、アドレスビットＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１、及びＡ１２は、列アドレスがマイクロタイリングなしでメモリ集積回路に書込みされる場合には通常使用されないビットである。Ａ３´及びＡ４´により置換されるアドレスビットＡ３及びＡ４は、メモリ集積回路に列アドレスを書込みするよう使用されるアドレスビットである。アドレスビットは、ＣＡＳサイクル時にマイクロタイリングなしで通常未使用である一方で、ＲＡＳ＃がアクティブローである（「ＲＡＳサイクル」）ときにメモリ集積回路に行アドレスが書込みされる場合に、メモリ集積回路における行アドレスを選択するよう使用されうる。これは、本願では、アドレスオーバーローディングと呼ぶ。図９Ａでは、Ａ０、Ａ１、Ａ２、Ａ１０、Ａ１１、及びＡ１２を、列アドレスストローブＣＡＳ＃時に使用されないアドレスビットであるよう示すが、異なる未使用のアドレスビットを、マイクロタイリングをサポートするオーバーロードされたアドレス信号ラインとして使用されうる。
【００９６】
マイクロタイルメモリ制御論理８１２Ａは、図示するように互いに結合される、デュアル４入力マルチプレクサ９００、３入力ＡＮＤゲート９０３、複数の２入力ＡＮＤゲート９０４−９１１、及び複数のインバータ９１２−９１８を含む。当然ながら、ＡＮＤゲートは、ＮＡＮＤゲートと、ＮＡＮＤゲートの出力に結合される入力を有するインバータとの組み合わせにより形成されうる。
【００９７】
デュアル４入力マルチプレクサ９００は１対の４対１マルチプレクサから形成され、各４対１マルチプレクサは、共に結合される第１の選択制御入力Ｓ０と、共に結合される第２の選択制御入力Ｓ１を有する。第１の４対１マルチプレクサは、入力１Ｉ０−１Ｉ３を受信し、選択制御入力Ｓ０及びＳ１に応答して出力１Ｙを供給する。第２の４対１マルチプレクサは、入力２Ｉ０−２Ｉ３を受信し、選択制御入力Ｓ０及びＳ１に応答して出力２Ｙを供給する。Ｓ０及びＳ１が共に論理的にローすなわち０である場合、入力１Ｉ０及び２Ｉ０は、各出力１Ｙ及び２Ｙ上に多重化される。Ｓ０が論理的にハイすなわち１であり、Ｓ１が論理的にローすなわち０である場合、入力１Ｉ１及び２Ｉ１は、各出力１Ｙ及び２Ｙ上に多重化される。Ｓ０が論理的にローすなわち０であり、Ｓ１が論理的にハイすなわち１である場合、入力１Ｉ２及び２Ｉ２は、各出力１Ｙ及び２Ｙ上に多重化される。Ｓ０及びＳ１が共に論理的にハイすなわち１である場合、入力１Ｉ３及び２Ｉ３は、各出力１Ｙ及び２Ｙ上に多重化される。
【００９８】
デュアル４入力マルチプレクサ９００の第１の４入力マルチプレクサは、その各１Ｉ０−１Ｉ３入力においてアドレスビットＡ３、Ａ０、Ａ１、及びＡ２を受信し、その１Ｙ出力においてアドレス信号ラインＡ３´に供給されるアドレスビットのうちの１つを選択する。第２の４入力マルチプレクサは、その各２Ｉ０−２Ｉ３入力においてアドレスビットＡ４及びＡ１０−１２を受信し、その２Ｙ出力においてアドレス信号ラインＡ４´に供給されるアドレスビットのうちの１つを選択する。選択制御入力Ｓ０及びＳ１は、ＡＮＤゲート９０４及び９０５の出力にそれぞれ結合される。
【００９９】
ＡＮＤゲート９０３は、その出力においてマイクロタイルモード信号（ＭＴＭ）９０２Ａを生成する。マイクロタイルモード信号９０２Ａは、アクティブハイであり、独立アドレス信号が、デュアル４入力マルチプレクサ９００に結合されるオーバーロードされたアドレス信号ライン上にある場合に適切な時に生成される。インバータ９１２は、ＡＮＤゲート９０３の入力に結合されるその出力において、アクティブローＣＡＳ＃信号をアクティブハイＣＡＳ信号に変換する。ＡＮＤゲート９０３は、ＣＡＳ信号、ＭＴＥビット設定（ＭＥ）、及びトランザクション有効化信号（ＴＥ、アドレスビットＡ１３）を論理的に加算して、マイクロタイルモード信号９０２Ａを生成する。つまり、マイクロタイルがＭＴＥビットにより有効にされ、トランザクションがＴＥ信号により有効にされる場合、ＣＡＳ＃がローになると、マイクロタイルモード信号（ＭＴＭ）９０２Ａが生成される。
【０１００】
マイクロタイルモード信号（ＭＴＭ）９０２Ａは、サブチャネル選択ビットＳＣＳ０及びＳＣＳ１をゲート制御するようＡＮＤゲート９０４及び９０５の入力に結合される。マイクロタイルモード信号（ＭＴＭ）９０２Ａが任意の理由でローである場合、マルチプレクサ９００への選択制御Ｓ０及びＳ１は、ＡＮＤゲート９０４及び９０５の出力において論理的にローすなわち０である。Ｓ０及びＳ１の両方が論理的にローすなわち０である場合、入力１Ｉ０及び２Ｉ０にそれぞれ結合されるアドレスビットＡ３及びＡ４は、それぞれの出力１Ｙ及び２Ｙにおいてアドレス信号ラインＡ３´及びＡ４´上にそれぞれ多重化される。ビットＡ３及びＡ４は、単に信号ラインＡ３´及びＡ４´へとそれぞれ渡される。これは、マイクロタイリングが有効にされない場合、または、ビットＡ３及びＡ４が、行アドレス指定といった任意の他の理由で使用される場合のデフォルト条件である。
【０１０１】
マイクロタイルモード信号（ＭＴＭ）９０２Ａがアクティブハイである場合、サブチャネル選択ビットＳＣＳ０及びＳＣＳ１は、ＡＮＤゲート９０４及び９０５をそれぞれ通過してマルチプレクサ９００の選択制御入力Ｓ０及びＳ１にそれぞれ結合される。したがって、マイクロタイルモード信号（ＭＴＭ）９０２Ａが、ＡＮＤゲート９０３によりアクティブハイであるよう生成されると、サブチャネル選択ビットＳＣＳ０及びＳＣＳ１は、マルチプレクサ９００の各出力に対するそれぞれ４つの入力の多重化の選択を制御する。事実上、メモリ集積回路が割り当てられうるサブチャネルを示すサブチャネル選択ビットＳＣＳ０及びＳＣＳ１の設定は、マルチプレクサ９００に結合されるどのアドレスビットラインがＣＡＳサイクル時に独立アドレス信号を獲得するよう使用されるのか決定する。
【０１０２】
サブチャネル選択ビットＳＣＳ０及びＳＣＳ１の設定は、個々のサブチャネルによって異なる。４つのサブチャネルには、ＳＣＳ０及びＳＣＳ１それぞれに対して４つの異なる設定がある。しかし、４つのサブチャネルをサポートするよう設計されるマイクロタイル制御論理は、サブチャネル選択ビットＳＣＳ０及びＳＣＳ１の２つの異なる設定だけを使用することによって２つのサブチャネルをサポートするよう容易に縮小可能であることに留意されたい。ＳＣＳ０及びＳＣＳ１に対し異なる設定を使用することにより、マルチプレクサ９００は、マイクロタイルモード信号が生成される場合に、独立アドレス信号を獲得するよう様々なアドレス信号ラインを選択する。
【０１０３】
マイクロタイルモード信号（ＭＴＭ）９０２Ａはさらに、ＡＮＤゲート９０６−９１１の第１の入力におけるインバータ９１３−９１８にそれぞれ結合される。アドレス信号Ａ０、Ａ１、Ａ２、Ａ１０、Ａ１１、及びＡ１２は、ＡＮＤゲート９０６−９１１の第２の入力にそれぞれ結合される。マイクロタイルモード信号（ＭＴＭ）９０２Ａは、効果的に、ＡＮＤゲート９０６−９１１の出力Ａ０´、Ａ１´、Ａ２´、Ａ１０´、Ａ１１´、及びＡ１２´において、メモリ集積回路へのアドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１、及びＡ１２上の信号をそれぞれゲート制御する。つまり、マイクロタイルモード信号（ＭＴＭ）９０２Ａが論理的にローすなわち０である場合、ＡＮＤゲート９０６−９１１は、アドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１、及びＡ１２上の信号が、出力Ａ０´、Ａ１´、Ａ２´、Ａ１０´、Ａ１１´、及びＡ１２´、次にアドレスデコーダに渡されることを可能にする。マイクロタイルモード信号（ＭＴＭ）９０２Ａが論理的にハイすなわち１である場合、ＡＮＤゲート９０６−９１１は、すべての出力Ａ０´、Ａ１´、Ａ２´、Ａ１０´、Ａ１１´、及びＡ１２´を論理ローすなわち０にする。したがって、マイクロタイルモード信号（ＭＴＭ）９０２Ａが独立アドレス情報を獲得するようアクティブハイである場合、出力Ａ０´、Ａ１´、Ａ２´、Ａ１０´、Ａ１１´、及びＡ１２´は、すべて０にされるので使用されない。
【０１０４】
次に図９Ｂを参照するに、マイクロタイリングをサポートするために、メモリ集積回路においてマイクロタイル制御論理８１２Ｂに結合されるモードレジスタ８１０Ｂを示す。マイクロタイル制御論理８１２Ｂは、アクティブロー制御シグナリングの使用及び１つのメモリチャネルにおける２つのサブチャネルのサポート以外は、マイクロタイル制御論理８１２Ａと幾分同様に機能する。マイクロタイル制御論理８１２Ｂ内の回路は、マルチプレクサの選択制御入力を介するアドレス信号ラインの独立アドレス信号の選択における遅延を減少するよう形成される。サポートすべき２つのメモリサブチャネルを使用して、マイクロタイル制御論理８１２Ｂは、アドレス信号ライン上で複数のアドレス信号からなる２つの独立セットを受信する。このセットのうち受信するものを選択する。マイクロタイルメモリ制御論理８１２Ｂの中心には、アドレス信号ラインから独立アドレス信号を獲得するためのヘックス２入力マルチプレクサ９０１Ａを配置する。マイクロタイル制御論理８１２Ｂ内のヘックス２入力マルチプレクサ９０１Ａは、より多くのまた異なるアドレス信号ラインを受信し、そのライン上で複数のアドレス信号からなる独立セットを選択的に受信しうる。つまり、図６に示すＩ個の独立アドレスビットの数はより大きい。その結果、メモリサブチャネルにおいて独立してアドレス指定可能なメモリ空間はより大きい。
【０１０５】
マイクロタイル制御論理８１２Ｂは、アドレスピンＡ０−Ａ８及びＡ１０−Ａ１３を含む、メモリ集積回路のアドレスピンに結合される。各サブチャネルの独立アドレス情報は、ＣＡＳサイクル時にこれらの既存アドレスラインを介して利用可能にされる。マイクロタイル制御論理は、内部アドレス信号ラインＡ３´−Ａ８´に独立サブチャネルアドレス信号を選択的に形成する。内部アドレス信号ラインＡ０´−Ａ８´及びＡ１１´−Ａ１３´は、アドレスバッファを介してアドレスデコーダに結合される。アドレスバッファは、ＲＡＳ＃及びＣＡＳ＃ストローブ信号に応答して、内部アドレス信号ラインＡ０´−Ａ８´及びＡ１１´−Ａ１３´及びＡ９−Ａ１０上のアドレス信号をラッチし、次に、それらのアドレス信号をアドレスデコーダに結合しうる。アドレスピンＡ０−Ａ８及びＡ１０−Ａ１３は、未使用メモリサイクル時にアドレス信号をオーバーロードさせ、図示するようにヘックス２入力マルチプレクサ９０１Ａの入力に結合される。アドレス信号ラインＡ３−Ａ８は、第１のアドレス信号ラインのセットであり、このアドレス信号ラインを介して、第１の独立アドレス信号のセットが、第１のメモリサブチャネルに結合されうる。アドレス信号ラインＡ０−Ａ２及びＡ１１−Ａ１３は、第２のアドレス信号ラインのセットであり、このアドレス信号ラインを介して、第２の独立アドレス信号のセットが、第２のメモリサブチャネルに結合されうる。第１のサブチャネル選択ビット（ＳＣＳ０）及びマイクロタイルモード信号（ＭＴＭ＃）９０２Ｂに応答して、マイクロタイル制御論理８１２Ｂは、一般的に、第１のメモリサブチャネル用の第１の独立アドレス信号のセット、または、第２のメモリサブチャネル用の第２の独立アドレス信号のセットを受信するよう選択する。独立アドレス信号の選択されたセットは、ヘックス２入力マルチプレクサ９０１Ａの出力に供給される。これらの独立アドレス信号はメモリ集積回路に結合され、それにより、各メモリサブチャネルに結合されうるＳＡ個の共有アドレスビットにより形成される共通メモリロケーションのセットにおける様々なメモリロケーションを独立してアドレス指定する。
【０１０６】
各サブチャネルに対する独立アドレス情報は、ＣＡＳサイクル時に、アドレスラインＡ０−Ａ４及びＡ１０−Ａ１２といった既存のアドレスラインを介して利用可能にされる。この例では、アドレスラインＡ３−Ａ８は、通常に使用される。したがって、アドレスラインＡ０−Ａ２及びＡ１０−Ａ１２は、オーバーロードされた信号ラインである（Ａ１３は、マイクロタイルトランザクション有効化されうる−トランザクション毎に指定される）。既存のアドレスラインに信号ラインをオーバーロードするこの方法は、実際には、追加のトレース（すなわち、配線）を使用することなく、または、追加のピンを使用することなく、６つの追加のアドレスライン（Ａ０−Ａ２及びＡ１０−Ａ１２）をメモリ集積回路デバイスに供給する。
【０１０７】
モードレジスタ８１０Ｂは、アクティブローマイクロタイル有効化ビットＭＴＥ＃と、サブチャネル選択ビット０（ＳＣＳ０）の設定を格納する、フリップフロップまたはメモリセルといった２つのビットストレージ回路を含みうる。モードレジスタは、これら２つのビットのビット設定を受信する。ビット設定は、１つ以上の制御信号により生成されるロードストローブ信号を使用してモードレジスタにロードされる。これらの３つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定／再設定される。これらの３つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定／再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される１つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。
【０１０８】
モードレジスタ８１０ＡにおけるＭＴＥ＃ビット及びＳＣＳ０ビットは、適切なサブチャネル選択ビット及びマイクロタイル有効化ビットを使用してプログラムされる。マイクロタイリングがメモリ集積回路により有効化される場合、マイクロタイル有効化ビット（ＭＴＥ＃）、アクティブロー信号は、論理ローレベルに設定可能である。マイクロタイル有効化ビットは、メモリサブシステムがマイクロタイリングをサポートする場合に設定される。そうでない場合は、マイクロタイル有効化ビットは設定されず、したがって、メモリ集積回路は、マイクロタイリングをサポートしない旧型のシステムと後方互換性を有する。図９Ｂの例示的な制御論理では、１つのメモリチャネル内に２つの可能なサブチャネルがある。ＳＣＳ０ビットは、メモリ集積回路を、メモリチャネル内の２つのメモリサブチャネルのうちの１つに割り当てる。同一のメモリモジュール上の別のメモリ集積回路は、もう１つのメモリサブチャネルに割り当てられうる。
【０１０９】
マイクロタイルメモリ制御論理８１２Ｂは、各集積回路内に設けられ、それにより、適切な独立サブチャネルアドレス情報が、モードレジスタ内に保存されるサブチャネル選択ビットに応答して、アドレス信号ピンから選択されうる。サブチャネル選択ビットの設定は、モードレジスタからマイクロタイルメモリ制御論理にルーティングされ、それにより、マルチプレクサ９０１Ａの入力選択処理を制御する。
【０１１０】
マイクロタイル制御論理８１２Ｂは、図９Ｂに示すように互いに結合される、第１のヘックス２入力マルチプレクサ９０１Ａ、第２のヘックス２入力マルチプレクサ９０１Ｂ、複数のＡＮＤゲート９０６−９１１、複数のインバータ９１３−９１８、及び３入力ＯＲゲート９２３を含む。当然ながら、ＯＲゲートは、インバータの入力をＮＯＲゲートの出力に結合することにより形成されうる。ＡＮＤゲートの周知の形成は前述した。
【０１１１】
第１のヘックス２入力マルチプレクサ９０１Ａの出力は、第２のヘックス２入力マルチプレクサ９０１Ｂにおける各マルチプレクサの２つの入力のうちの第１の入力に結合される。アドレスビットまたは信号ラインＡ３、Ａ４、Ａ５、Ａ６、Ａ７、及びＡ８は、第２のヘックス２入力マルチプレクサ９０１Ｂにおける各マルチプレクサの２つの入力のうちの第２の入力に結合される。第２のヘックス２入力マルチプレクサ９０１Ｂの出力端子は、アドレス信号ラインＡ３´−Ａ８´に結合される。アドレス信号ラインＡ３´−Ａ８´は、メモリアレイにおけるメモリセルを選択するようアドレスデコーダ（たとえば、列アドレスデコーダ８０４）に結合される。アドレスバッファは、内部に状態を保持するようアドレス信号ラインＡ３´−Ａ８´をラッチまたはレジスタし、それにより、アドレスデコーダにより復号化可能であるようにする。
【０１１２】
第１のヘックス２入力マルチプレクサ９０１Ａの選択制御Ｓ０は、マルチプレクサ９０１Ａの出力がメモリ集積回路のサブチャネル割り当てにより直接制御されるようサブチャネル選択０（ＳＣＳ０）に結合される。このようにすると、選択された出力は、アドレス信号の伝播遅延を最小限にするよう良好に安定する。第２のヘックス２入力マルチプレクサ９０１Ｂの選択制御入力Ｓ０は、３入力ＯＲゲート９２３の出力、すなわち、アクティブローマイクロタイルモード（ＭＴＭ＃）信号９０２Ｂに結合される。アクティブローマイクロタイルモード（ＭＴＭ＃）信号９０２Ｂが論理的にローすなわち０である場合、マイクロタイリングメモリアクセスは、第１のヘックス２入力マルチプレクサ９０１Ａの出力が、アドレス信号ラインＡ３´−Ａ８´上の第２のヘックス２入力マルチプレクサ９０１Ｂの各論理出力であるよう有効化される。マイクロタイリングアクセスが有効化されない場合、ＭＴＭ＃は、第２のヘックス２入力マルチプレクサ９０１Ｂにおける各マルチプレクサの２つの入力のうちの第２の入力が選択され、アドレス信号ラインＡ３−Ａ８が独立サブチャネル列アドレスラインＡ３´−Ａ８´に結合されるようハイである。この場合、第１のヘックス２入力マルチプレクサ９０１Ａは、事実上、マイクロタイル制御論理８１２Ｂの周りにルーティングされ、それぞれ内部アドレスラインＡ３´−Ａ８´に供給されるアドレス信号Ａ３−Ａ８には影響を及ぼさない。
【０１１３】
ヘックス２入力マルチプレクサ９０１Ａ、９０１Ｂは、１つの選択制御入力Ｓ０が共に結合される、６つの２対１マルチプレクサから形成される。第１の２対１マルチプレクサは、入力１Ｉ０及び１Ｉ１を受信し、選択制御入力Ｓ０に応答して出力１Ｙを供給する。第２の２対１マルチプレクサは、入力２Ｉ０及び２Ｉ１を受信し、選択制御入力Ｓ０に応答して出力２Ｙを供給する。第３の２対１マルチプレクサは、入力３Ｉ０及び３Ｉ１を受信し、選択制御入力Ｓ０に応答して出力３Ｙを供給する。第４の２対１マルチプレクサは、入力４Ｉ０及び４Ｉ１を受信し、選択制御入力Ｓ０に応答して出力４Ｙを供給する。第５の２対１マルチプレクサは、入力５Ｉ０及び５Ｉ１を受信し、選択制御入力Ｓ０に応答して出力５Ｙを供給する。第６の２対１マルチプレクサは、入力６Ｉ０及び６Ｉ１を受信し、選択制御入力Ｓ０に応答して出力６Ｙを供給する。Ｓ０が論理的にローすなわち０である場合、入力１Ｉ０、２Ｉ０、３Ｉ０、４Ｉ０、５Ｉ０、及び６Ｉ０が、出力１Ｙ、２Ｙ、３Ｙ、４Ｙ、５Ｙ、及び６Ｙにそれぞれ供給される。Ｓ０が論理的にハイすなわち１である場合、１Ｉ１、２Ｉ１、３Ｉ１、４Ｉ１、５Ｉ１、及び６Ｉ１が、出力１Ｙ、２Ｙ、３Ｙ、４Ｙ、５Ｙ、及び６Ｙにそれぞれ供給される。
【０１１４】
前述したように、３入力ＯＲゲート９２３は、その出力において、アクティブローマイクロタイルモード（ＭＴＭ＃）信号９０２Ｂを生成する。その入力において、３入力ＯＲゲート９２３は、マイクロタイル有効化ビットＭＴＥ＃、列アドレスストローブＣＡＳ＃信号、及び、トランザクション有効化ビットＴＥ＃（アドレスラインＡ１０）を受信する。これらの３入力すべてがロー論理レベルすなわち０である場合、マイクロタイルモード（ＭＴＭ＃）信号９０２Ｂは論理的にローすなわち０であり、オーバーロードされたアドレスラインから独立サブチャネルアドレス信号を選択的に受信する。これは、マイクロタイル有効化ビットがそのアクティブローレベルすなわち０に設定されることによりマイクロタイリングが有効化されることと、アドレスラインＡ１０が論理ローすなわち０に設定されることによりマイクロタイルトランザクションが有効化されることと、ＣＡＳ＃制御信号が論理ローすなわち０にストローブされることにより列アドレスがメモリ集積回路にストローブされることを必要とする。つまり、これらの入力信号はすべて、マイクロタイリングメモリアクセスのために、アクティブローで制御論理８２１Ｂに入力される。入力ＭＴＥ＃、ＣＡＳ＃、またはＴＥ＃のいずれかが論理的にハイすなわち１である場合、マイクロタイルモード（ＭＥＭ＃）信号９０２Ｂは、論理的にハイすなわち１である。論理的にハイすなわち１であるマイクロタイルモード（ＭＴＭ＃）信号９０２Ｂを使用して、制御論理８１２Ｂの第２のヘックス２入力マルチプレクサ９０１Ｂは、任意の独立サブチャネルアドレス信号情報を選択することなく、アドレス信号Ａ３−Ａ８を通常通りに内部アドレスラインＡ３´−Ａ８´に渡す。マイクロタイルアクセスを有効にするために１つ以上の信号を必要とすることは、１つのビット信号だけにおけるエラーによって誤ってマイクロタイルモードとならないことを保証する。
【０１１５】
制御論理８１２ＢにおけるＡＮＤゲート９０６−９１１は、制御論理８１２ＡにおけるＡＮＤゲート９０６−９１１と同様に動作するが、異なるアドレス信号をゲート制御し、また、そのゲート制御をインバータ９１３−９１８なしで行うことが可能である。これは、マイクロタイルモード（ＭＴＭ＃）信号９０２Ｂはアクティブロー信号だからである。したがって、制御論理８１２ＢにおけるＡＮＤゲート９０６−９１１は、アドレス信号Ａ０−Ａ２及びＡ１１−Ａ１２を、マイクロタイルモード（ＭＴＭ＃）信号９０２Ｂがアクティブローであることに応答して、それぞれ内部アドレスラインＡ０´−Ａ２´及びＡ１１´−Ａ１２´上で０にゲート制御する。
【０１１６】
次に図９Ｃを参照するに、モードレジスタ８１０Ｃに結合されるアドレススウィズル論理９３０の概略図を示す。図９Ｃに示すアドレススウィズル論理９３０は、２つのメモリサブチャネルを有するメモリチャネル用である。このスウィズル論理は、図９Ａ及び９Ｂに示すオーバーロードまたはマイクロタイル制御論理９１２Ａまたは８１２Ｂの前または後に加えられうる。
【０１１７】
簡潔に説明するに、アドレススウィズル論理９３０は、たとえば、画面リフレッシュ時に所望されうるように、幾らか線形のアドレス指定能力がマイクロタイル化されたメモリコントローラに使用可能であるよう設けられる。アドレススウィズル論理９３０は、メモリコントローラから受信したアドレスビットの重要性（significance）を選択的に並べ替えるまたは置き換える。これを行う１つの方法は、ビット位置を交換する方法である。このことを達成しうる別の方法は、アドレスビットを選択的に反転する方法である。
【０１１８】
アドレススウィズル論理９３０は、図示するように互いに結合される、デュアル２入力マルチプレクサ９３５、ＮＯＲゲート９３６、及び排他的ＯＲ（ＸＯＲ）ゲート９３７、９３８を含む。デュアル２入力マルチプレクサ９３５は、その選択制御入力Ｓ０が互いに且つＮＯＲゲート９３６から出力されるスウィズル制御信号（ＳＷＺ）９３２に結合される、１対の２入力マルチプレクサを含む。アドレスビットまたはピンＡ４及びＡ３は、それぞれ、マルチプレクサ９３５の１Ｉ０及び２Ｉ０入力に結合され、選択制御入力Ｓ０が論理的にローすなわち０である場合に出力されるよう選択される。ＸＯＲゲート９３７、９３８の出力はそれぞれマルチプレクサ９３５の１Ｉ１及び２Ｉ１入力に結合され、選択制御入力Ｓ０が論理的にハイすなわち１である場合に出力されるよう選択される。
【０１１９】
サブチャネル選択ビット１（ＳＣＳ１）及びサブチャネル選択ビット０（ＳＣＳ０）は、それぞれ、排他的ＯＲ（ＸＯＲ）ゲート９３７、９３８の第１の入力に結合される。アドレスビットＡ３及びＡ４は、それぞれ、ＸＯＲゲート９３７及び９３８の第２の入力に結合される。ＳＣＳ１ビットが１に設定される場合、ＸＯＲゲート９３７は、マルチプレクサ９３５の１Ｉ１に結合されるその出力においてアドレスビットＡ３を反転する。ＳＣＳ０ビットが１に設定される場合、ＸＯＲゲート９３８は、マルチプレクサ９３５の２Ｉ１に結合されるその出力においてアドレスビットＡ４を反転する。このようにして、ＳＣＳ１及びＳＣＳ０ビットの設定は、アドレスビットラインＡ３及びＡ４におけるアドレス信号を効果的に反転しうる。
【０１２０】
ＮＯＲゲート９３６は、デュアル２入力マルチプレクサ９３５の選択制御入力Ｓ０に結合されるその出力においてスウィズル制御信号（ＳＷＺ）９３２を生成する。スウィズル制御信号（ＳＷＺ）９３２、すなわち、アクティブハイ信号は、スウィズルされたアドレスビットが、デュアル２入力マルチプレクサ９３５から出力されるよう選択されるか否かを選択する。スウィズル制御信号（ＳＷＺ）９３２が論理的にハイすなわち１であり、デュアル２入力マルチプレクサ９３５の選択制御入力Ｓ０に結合される場合、ＸＯＲゲート９３７及び９３８から出力されるスウィズルされたアドレスビットが、マルチプレクサ９３５の出力における各アドレスラインＡ４´´及びＡ３´´に供給されるよう選択される。これは、マイクロタイリングがアクティブローマイクロタイル有効化ビットＭＴＥ＃により有効化され、ＣＡＳ＃ストローブ信号が列アドレス情報を獲得するよう論理的にローであり、また、ＴＥ＃ビットがＮＯＲゲート９３６に入力されるマイクロタイルトランザクションを有効にするよう論理的にローである場合に起きる。しかし、スウィズル制御信号（ＳＷＺ）９３２が論理的にローすなわち０であり、デュアル２入力マルチプレクサ９３５の選択制御入力Ｓ０に結合される場合、アドレスビットＡ４及びＡ３が、スウィズリングなしで、マルチプレクサ９３５の出力における各アドレスラインＡ４´´及びＡ３´´に渡される。これは、マイクロタイリングがアクティブローマイクロタイル有効化ビットＭＴＥ＃により有効化されない場合、または、ＣＡＳ＃ストローブ信号が列アドレス情報を獲得するために論理的にローではない場合、または、ＴＥ＃ビットがマイクロタイルトランザクションを有効にするために論理的にローではない場合に起きうる。
【０１２１】
モードレジスタ８１０Ｃは、モードレジスタ８１０Ｂと同様であるが、追加ビットの設定（ＳＣＳ１）を格納する。モードレジスタ８１０Ｃは、アクティブローマイクロタイル有効化ビットＭＴＥ＃、サブチャネル選択ビット０（ＳＣＳ０）、及びサブチャネル選択ビット１（ＳＣＳ１）の設定を格納する、フリップフロップまたはメモリセルといった３つのビットストレージ回路を含む。モードレジスタは、これらのビットのためのビット設定を受信する。ビット設定は、１つ以上の制御信号により生成されるロードストローブ信号を使用してモードレジスタにロードされる。これらの３つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定／再設定される。これらの３つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定／再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される１つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。
【０１２２】
アドレス信号遅延をできるだけ小さく維持することが重要でありうるので、図９Ｂのアドレススウィズリング論理は、図９Ｃに示すオーバーロード論理と組み合わされ、また、内部アドレス信号ライン上での信号遅延を減らすよう簡素化されうる。
【０１２３】
次に図９Ｄを参照するに、メモリ集積回路においてモードレジスタ８１０Ｃに結合される、複合スウィズル及びマイクロタイル制御論理９５０を示す。制御論理９５０は、図９Ｃのアドレススウィズル論理９３０と図９Ｂのオーバーロードまたはマイクロタイル制御論理８１２Ｂを組み合わせ且つ簡素化する。したがって、複合スウィズル及びマイクロタイル制御論理９５０は、マイクロタイル制御論理８１２Ｂ及びアドレススウィズル論理９３０の別個の構成要素と同様に機能する。この制御論理９５０における簡素化の目的は、メモリ集積回路におけるアドレスデコーダ及びアドレスバッファへのアドレス信号経路での時間遅延を減少することである。ヘックス２入力マルチプレクサ９０１Ａ及び９１０Ｂの対は、単一のヘックス３入力マルチプレクサ９６０に簡素化している。
【０１２４】
モードレジスタ８１０Ｃは、前述したように、アクティブローマイクロタイル有効化ビット（ＭＴＥ＃）、ＳＣＳ０ビット、及びＳＣＳ１ビットを含む。モードレジスタのビットは、メモリ集積回路に結合される制御信号から生成されるロードストローブによりビット設定からロードされうる。
【０１２５】
制御論理９５０は、図示するように互いに結合される、ヘックス３入力マルチプレクサ９６０、ＡＮＤゲート９０６−９１０、ＯＲゲート９２３、ＡＮＤゲート９６９、排他的ＮＯＲ（ＸＮＯＲ）ゲート９７４、９７５、及びインバータ９７６を含む。排他的ＮＯＲ（ＸＮＯＲ）ゲート９７４、９７５は、或いは、ＳＣＳ０及びＳＣＳ１のビット設定が反転された排他的ＯＲ（ＸＯＲ）ゲートであってもよい。制御論理９５０は、アドレスピンＡ０−Ｓ８及びＡ１０−Ａ１３に結合され、それにより、アドレス信号を受信し、また、アドレス信号ラインＡ０´−Ｓ８´及びＡ１０´−Ａ１３´上に内部アドレスシグナリングを生成する。アドレス信号入力Ａ１０は、マイクロタイルモードにおけるトランザクション有効化ビットＴＥ＃及びアドレス入力信号として２つの役割を果たす。
【０１２６】
制御論理において、アドレスピンからのアドレス信号ラインは、ヘックス３入力マルチプレクサ９６０の入力に結合される前に、まずアドレススウィズル論理に結合されうる。たとえば、アドレスＡ４は、ＸＮＯＲゲート９７４の入力に結合され、アドレスＡ１は、ＸＮＯＲゲート９７５に結合され、また、アドレスＡ０は、インバータ９７６に結合される。ＳＣＳ０ビットが論理ローすなわち０に設定される場合、ＸＮＯＲゲート９７４、９７５は、マルチプレクサ９６０の１Ｉ０及び１Ｉ１入力にそれぞれ結合される前に、各アドレス信号Ａ４及びＡ１を反転させる。ＳＣＳ０ビットが論理ハイすなわち１に設定される場合、ＸＮＯＲゲート９７４、９７５は、各アドレス信号Ａ４及びＡ１を反転なく渡し、これらは次にそれぞれマルチプレクサ９６０の１Ｉ０及び１Ｉ１入力に結合される。
【０１２７】
ヘックス３入力マルチプレクサ９６０は、第１の選択制御入力Ｓ０が共に結合され、第２の選択制御入力Ｓ１が共に結合される、６つの３対１マルチプレクサから形成される。第１の３対１マルチプレクサは、入力１Ｉ０、１Ｉ１、及び１Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力１Ｙを供給する。第２の３対１マルチプレクサは、入力２Ｉ０、２Ｉ１、及び２Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力２Ｙを供給する。第３の３対１マルチプレクサは、入力３Ｉ０、３Ｉ１、及び３Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力３Ｙを供給する。第４の３対１マルチプレクサは、入力４Ｉ０、４Ｉ１、及び４Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力４Ｙを供給する。第５の３対１マルチプレクサは、入力５Ｉ０、５Ｉ１、及び５Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力５Ｙを供給する。第６の３対１マルチプレクサは、入力６Ｉ０、６Ｉ１、及び６Ｉ２を受信し、選択制御入力Ｓ０及びＳ１に応答して出力６Ｙを供給する。
【０１２８】
ヘックス３入力マルチプレクサ９６０は、３つの入力のうちのどの入力がそれぞれの出力に結合されるか選択するよう第１の選択制御入力Ｓ０及び第２の選択制御入力Ｓ１を有する。２つの選択制御入力を使用すると４つのうち１つを選択可能であるので、ヘックス３入力マルチプレクサ用の真理値表を説明する。両方の選択ビットＳ０及びＳ１が０に設定される場合、Ｉ０入力が、マルチプレクサから出力されるよう選択される。Ｓ０ビットが１に設定され、Ｓ１ビットが０に設定される場合、Ｉ１入力が、マルチプレクサから出力されるよう選択される。Ｓ１ビットが１に設定される場合、Ｓ０のビット設定に関係なく、Ｉ２入力がマルチプレクサのから出力されるよう選択される。つまり、この場合、ヘックス３入力マルチプレクサへのＳ０入力は、Ｓ１ビットが１に設定される場合は、これはオーバーライドであるので無視される。
【０１２９】
前述したように、ＯＲゲート９２３は、アクティブローマイクロタイルモード信号（ＭＴＭ＃）９０２Ｂを生成する。アクティブローマイクロタイルモード信号（ＭＴＭ＃）９０２Ｂは、マルチプレクサ９６０の第２の選択制御入力Ｓ１に結合される。マルチプレクサ９６０への各Ｉ２入力は、アドレスビットＡ３−Ａ８である。マルチプレクサ９６０への各Ｉ１入力は、それぞれ、ＸＮＯＲゲート９７５からの出力、インバータ９７６からの出力、及びアドレスビットＡ２、Ａ１１、Ａ１２、及びＡ１３である。マルチプレクサ９６０への各Ｉ０入力は、それぞれ、ＸＮＯＲゲート９７４からの出力、及び、アドレスビットＡ３、Ａ５、Ａ６、Ａ７、及びＡ８である。
【０１３０】
前述したように、マイクロタイルモード信号（ＭＴＭ＃）９０２Ｂは、アクティブロー信号である。しかし、マイクロタイルモード信号（ＭＴＭ＃）９０２Ｂが、論理的にハイすなわち１である場合、Ｉ２入力が、第１の選択制御入力Ｓ０に対するビット設定に関係なくマルチプレクサから出力されるよう選択される。つまり、Ｉ２入力（アドレスビットＡ３−Ａ８）は、マイクロタイルモード信号（ＭＴＭ＃）９０２Ｂがハイすなわち１である場合は、マルチプレクサ９６０を通過し、内部アドレス信号ラインＡ３´−Ａ８´に供給されるよう選択される。
【０１３１】
マイクロタイルモード信号（ＭＴＭ＃）９０２Ｂが、ＯＲゲート９２３への入力条件によりアクティブロー信号であるよう生成される場合、マルチプレクサの第１の選択制御入力に結合されるＳＣＳ１ビットは、マルチプレクサ９６０へのＩ０入力またはＩ１入力が、そのそれぞれのＹ出力において生成されるよう選択する。ＳＣＳ１ビットが論理的にローすなわち０に設定され、且つ、Ｓ０に結合される場合、Ｉ０入力（ＸＮＯＲゲート９７４からの出力、及び、アドレスビットＡ３、Ａ５、Ａ６、Ａ７、及びＡ８）が、マルチプレクサ９６０からそれぞれの内部アドレス信号ラインＡ３´−Ａ８´に出力されるよう選択される。このようにして、サブチャネル０に対する独立アドレス情報は、アドレスラインが選択され、スウィズルされ、及び獲得されうる。しかし、ＳＣＳ１ビットが論理的にハイすなわち１に設定され、且つ、Ｓ０に結合される場合、Ｉ１入力（ＸＮＯＲゲート９７５からの出力、インバータ９７６からの出力、及び、アドレスビットＡ２、Ａ１１、Ａ１２、及びＡ１３）が、マルチプレクサ９６０から各内部アドレス信号ラインＡ３´−Ａ８´に出力されるよう選択される。このようにして、サブチャネル１に対する独立アドレス情報は、アドレスラインが選択され、スウィズルされ、及び獲得される。
【０１３２】
制御論理９３０におけるＡＮＤゲート９０６−９１１は、制御論理８１２ＢにおけるＡＮＤゲート９０６−９１１と同様に機能し、同じアドレス信号Ａ０−Ａ２及びＡ１１−Ａ１２を、マイクロタイルモード（ＭＴＭ＃）信号９０２Ｂがアクティブローであることに応答して、それぞれ内部アドレスラインＡ０´−Ａ２´及びＡ１１´−Ａ１２´上で０にゲート制御する。さらに、ＡＮＤゲート９６９は、アドレス信号Ａ１０を、マイクロタイルモード（ＭＴＭ＃）信号９０２Ｂがアクティブローであることに応答して、内部アドレスラインＡ１０´上で０にゲート制御する。
【０１３３】
次に図１０を参照するに、マイクロタイルメモリ演算を供給するメモリ集積回路用の方法１０００を示す。
【０１３４】
工程１００２において、複数のメモリ集積回路が、メモリチャネルの各独立メモリサブチャネルに割り当てられる。つまり、メモリ集積回路におけるモードレジスタ内の１つ以上のサブチャネル選択ビットが、メモリ集積回路を所定のメモリサブチャネルに割り当てるよう設定される。
【０１３５】
工程１００４において、メモリ集積回路へのマイクロタイルメモリアクセスが有効にされる。つまり、メモリ集積回路におけるモードレジスタ内のマイクロタイル有効化ＭＴＥビットは、メモリ集積回路におけるマイクロタイルメモリアクセスを有効にするよう設定される。ＭＴＥビットがアクティブハイである場合、ＭＴＥビットはハイ論理レベルに設定される。ＭＴＥビットがアクティブロー（「ＭＴＥ＃」）である場合、ＭＴＥ＃ビットは論理ローレベルに設定される。
【０１３６】
工程１００６において、１つのメモリサブチャネルにおける１つ以上のメモリ集積回路内のメモリセルが、別のサブチャネルにおける１つ以上のメモリ集積回路内のメモリセルからは独立してアドレス指定される。つまり、メモリ集積回路は、各メモリサブチャネルにおけるメモリに独立してアクセスするよう各独立メモリサブチャネルにおいて独立してアドレス指定される。
【０１３７】
前述したように、サブチャネルへの独立アドレス指定は、様々な方法で提供しうる。サブチャネルへの独立アドレス指定を提供しうる１つの方法は、列アドレスが書き込みされるＣＡＳサイクル時といった未使用メモリサイクル時に、既存のアドレス信号ライン上で各メモリサブチャネルにおける独立アドレス情報を同時に獲得する方法である。サブチャネルへの独立アドレス指定を提供しうる別の方法は、メモリコントローラと、メモリチャネルの各独立メモリサブチャネルにおけるメモリ集積回路との間に独立アドレス信号ラインをルーティングする方法である。
【０１３８】
サブチャネルへの独立アドレス指定を提供しうるさらに別の方法は、エッジ接続部の未使用ピンを独立アドレスピンとなるよう再割り当てし、メモリモジュール上でエッジコネクタの独立アドレスピンと、各独立メモリサブチャネルにおける複数のメモリ集積回路との間に独立アドレス信号ラインをルーティングする方法である。この場合、独立アドレス指定はさらに、メモリモジュール上のエッジ接続部の独立アドレスピンに結合するようメモリコントローラと、エッジコネクタのピンとの間に独立アドレス信号ラインをルーティングすることにより提供されうる。エッジ接続部の未使用のピンは、誤り訂正制御ピン、パリティピン、またはそれらの組み合わせでありうる。
【０１３９】
マイクロタイリングが有効にされる限り、マイクロタイルメモリアクセスは、１つのメモリチャネルを介して各メモリサブチャネルに行われる。工程１００８において、マイクロタイリングが、メモリ集積回路において依然として有効か否か判断する。モードレジスタにおけるＭＴＥビットを確認して、マイクロタイリングが依然として有効か否か判断しうる。マイクロタイリングが依然として有効の場合、処理は工程１００６に戻り、マイクロタイリングを用いたメモリ集積回路への次のアクセスのための準備が整えられる。マイクロタイリングがもはや有効ではない場合、処理は終了し、通常の線形アドレス指定が行われる。
【０１４０】
従前は、ＵＭＡメモリアーキテクチャに基づく統合型グラフィクスコントローラは、帯域幅が制限される傾向があった。本発明の実施形態のモデル化は、マイクロタイリングをＵＭＡメモリアーキテクチャに応用することにより、メモリアクセスをより効率よくするようテクスチャメモリアクセス帯域幅を２０−４０％減少可能である。色及び深度メモリアクセス帯域幅は、メモリアクセスをより効率よくするようマイクロタイリングを応用することによりゲーム作業負荷について１０−２０％減少可能である。
【０１４１】
マイクロタイリングメモリアーキテクチャをサポートするために、メモリサブシステムを、サブチャネルアクセスを可能にするよう改良した。本発明の実施形態は、マイクロタイリングが実施可能であると同時に既存のメモリモジュールの形状因子及び標準と後方互換性を有することを示した。従前は、追加のアドレス信号ラインを既存のメモリモジュール（たとえば、ＤＩＭＭ）コネクタを介してルーティングする方法はなかった。本発明の実施形態は、各サブチャネルに対して既存のアドレスラインを独立アドレス情報でオーバーロードすることにより、上述内容に対する解決策を提供している。各サブチャネルに独立アドレス情報を供給する他の方法は、後方互換性が重要ではない場合に提供しうる。
【０１４２】
特定の例示的な実施形態を説明し、かつ、添付図面に図示したが、そのような実施形態は、例示的に過ぎず、また、広義の発明を限定せず、さらに、本発明の実施形態は、当業者には様々な他の変形も想起しうるので図示及び説明した特定の構成及び配置に限定されないことを理解するものとする。
【図面の簡単な説明】
【０１４３】
【図１Ａ】本発明の実施形態を使用しうる典型的なコンピュータシステムを示すブロック図である。
【０１４４】
【図１Ｂ】本発明の実施形態を使用しうるクライアント−サーバシステムを示すブロック図である。
【０１４５】
【図２Ａ】本発明の実施形態を使用しうる第１の処理ユニットを示すブロック図である。
【０１４６】
【図２Ｂ】本発明の実施形態を使用しうる第２の処理ユニットを示すブロック図である。
【０１４７】
【図３Ａ】それぞれ４つのメモリサブチャネルを含む１対のメモリチャネルに結合されるメモリ制御ブロックを示すハイレベルブロック図である。
【０１４８】
【図３Ｂ】キャッシュメモリと、複数（Ｓ個）のサブチャネルを含む１対のメモリチャネルとに結合されるメモリ制御ブロックにおけるメモリコントローラを示す詳細ブロック図である。
【０１４９】
【図４Ａ】線形メモリアクセスを使用した、サブチャネルのないメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
【０１５０】
【図４Ｂ】マイクロタイリングメモリアクセスをサポートする、２つのサブチャネルを有するメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
【０１５１】
【図４Ｃ】マイクロタイリングメモリアクセスをサポートする、４つのサブチャネルを有するメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
【０１５２】
【図５Ａ】６４ビット幅メモリチャネルを介する線形６４バイトメモリアクセスを示す図である。
【０１５３】
【図５Ｂ】１対の３２ビット幅メモリサブチャネルを介する１対の３２バイトメモリアクセスの独立サブチャネルメモリアクセスを示す図である。
【０１５４】
【図５Ｃ】４つの１６ビット幅メモリサブチャネルを介する４つの１６バイトメモリアクセスの独立サブチャネルメモリアクセスを示す図である。
【０１５５】
【図６】１つのメモリチャネルのアドレス信号ラインビットマップを示す図である。
【０１５６】
【図７Ａ】ホスト印刷回路基板上に実装されるコネクタに結合されるマルチチップメモリモジュールを示すブロック図である。
【０１５７】
【図７Ｂ】ホスト印刷回路基板上に組み込まれた複数のメモリチップ及びメモリコントローラを示すブロック図である。
【０１５８】
【図８】メモリサブチャネルを介するマイクロタイルメモリアクセスをサポートするメモリ集積回路を示すブロック図である。
【０１５９】
【図９Ａ】１６ビット幅メモリサブチャネル及び１６バイトメモリアクセスのための、モードレジスタに結合されるアドレスオーバーロード論理を示す概略図である。
【０１６０】
【図９Ｂ】３２ビット幅メモリサブチャネル及び３２バイトメモリアクセスのための、モードレジスタに結合されるアドレスオーバーロード論理を示す概略図である。
【０１６１】
【図９Ｃ】３２ビット幅メモリサブチャネル及び３２バイトメモリアクセスのためのスウィズル論理を示す概略図である。
【０１６２】
【図９Ｄ】３２ビット幅メモリサブチャネル及び３２バイトメモリアクセスのための、図９Ｂのアドレスオーバーロード論理と図９Ｃのスウィズル論理を共に組み合わせた簡素化論理を示す概略図である。
【０１６３】
【図１０】マイクロタイルメモリアクセスを供給するメモリ集積回路のための方法を示すフローチャートである。
【図１Ａ】
2008544426.tif 000006
【図１Ｂ】
2008544426.tif 000007
【図２Ａ】
2008544426.tif 000008
【図２Ｂ】
2008544426.tif 000009
【図３Ａ】
2008544426.tif 000010
【図３Ｂ】
2008544426.tif 000011
【図４Ａ】
2008544426.tif 000012
【図４Ｂ】
2008544426.tif 000013
【図４Ｃ】
2008544426.tif 000014
【図５Ａ】
2008544426.tif 000015
【図５Ｂ】
2008544426.tif 000016
【図５Ｃ】
2008544426.tif 000017
【図６】
2008544426.tif 000018
【図７Ａ】
2008544426.tif 000019
【図７Ｂ】
2008544426.tif 000020
【図８】
2008544426.tif 000021
【図９Ａ】
2008544426.tif 000022
【図９Ｂ】
2008544426.tif 000023
【図９Ｃ】
2008544426.tif 000024
【図９Ｄ】
2008544426.tif 000025
【図１０】
2008544426.tif 000026
【国際調査報告】
2008544426.tif 000027
2008544426.tif 000028
2008544426.tif 000029
2008544426.tif 000030