(57)【要約】【課題】  メモリチャネルが有するメモリデバイスを個別に識別するとともに、個別にアクセスする。【解決手段】  本発明の一実施形態はメモリ用集積回路を提供する。当該メモリ用集積回路は、メモリアレイと、レジスタと、レジスタに接続された制御ロジックを備える。メモリ用集積回路のメモリアレイは、データを格納する。レジスタは、識別値を表す１以上の識別ビットを格納する１以上のビット格納回路を有する。制御ロジックは、レジスタに格納された１以上の識別ビットに応じてメモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する。【選択図】図１０Ａ
2008544427.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
一のメモリモジュールに、情報を接続するためのピンをそれぞれが少なくとも２つ有する複数のメモリ用集積回路を設けることと、
一のメモリ用集積回路が有する前記少なくとも２つのピンのそれぞれに、少なくとも２つの識別ビットからなる複数の値を設定することと、
一の識別値として、前記一のメモリ用集積回路が前記少なくとも２つの識別ビットを受け取ることと、
前記少なくとも２つの識別ビットを用いて、前記少なくとも一のメモリ用集積回路の一の機能を許可することと
を含む方法。
【請求項２】
各メモリ用集積回路に対する前記複数の独立サブチャネルメモリアクセスは、複数のマイクロタイルメモリアクセスであり、
前記識別値を用いて前記少なくとも一のメモリ用集積回路の機能を許可することは、一のマイクロタイルメモリアクセスである
請求項１に記載の方法。
【請求項３】
前記一のメモリ用集積回路に前記少なくとも２つの識別ビットから成る前記複数の値を設定することは、
前記少なくとも２つのピンを電源またはグランドに個別に接続すること
を含む請求項１に記載の方法。
【請求項４】
前記一のメモリ用集積回路の前記少なくとも２つのピンに前記少なくとも２つの識別ビットから成る前記複数の値を設定するべく、一の第１ピンがグランドに接続され、一の第２ピンが電源に接続される
請求項３に記載の方法。
【請求項５】
前記一のメモリ用集積回路の前記少なくとも２つのピンに前記少なくとも２つの識別ビットから成る前記複数の値を設定するべく、一の第１ピンおよび一の第２ピンをグランドに接続する
請求項３に記載の方法。
【請求項６】
前記一のメモリ用集積回路の前記少なくとも２つのピンに前記少なくとも２つの識別ビットから成る前記複数の値を設定するべく、一の第１ピンおよび一の第２ピンを電源に接続する
請求項３に記載の方法。
【請求項７】
前記個別の接続は、前記少なくとも２つのピンと、電源またはグランドとの間に接続された１以上のジャンパ線によって行われる
請求項３に記載の方法。
【請求項８】
前記個別の接続は、前記少なくとも２つのピンと、電源またはグランドとの間に接続された１以上のスイッチを切り替えることで行われる
請求項３に記載の方法。
【請求項９】
前記少なくとも２つのピンは少なくとも２つの専用識別ビットピンである
請求項３に記載の方法。
【請求項１０】
前記少なくとも２つのピンは、一のデータバスの少なくとも２つのデータピンであり、
前記メモリモジュールの前記複数のメモリ用集積回路はそれぞれ、前記少なくとも２つの識別ビットから成る前記複数の値を格納するための一のレジスタを有する
請求項１に記載の方法。
【請求項１１】
前記少なくとも２つのデータピン上に設定された前記少なくとも２つの識別ビットから成る前記複数の値は、前記一のメモリ用集積回路に接続される一のロードストローブに応じて、前記レジスタにロードされる
請求項１０に記載の方法。
【請求項１２】
前記少なくとも２つのデータピン上に設定された前記少なくとも２つの識別ビットから成る前記複数の値は、前記一のメモリ用集積回路のリセット後に所定数のクロックサイクルが経過すると、前記レジスタにロードされる
請求項１０に記載の方法。
【請求項１３】
前記少なくとも２つのピンは、一のアドレスバスの少なくとも２つのアドレスピンで、
前記メモリモジュールが備える前記複数のメモリ用集積回路はそれぞれ、前記少なくとも２つの識別ビットからなる前記複数の値を格納するための一のレジスタを有し、
前記少なくとも２つのアドレスピンに設定された前記少なくとも２つの識別ビットから成る前記複数の値は、前記一のメモリ用集積回路が一の拡張モードレジスタプログラミングモードにある場合に複数のデータバスビットが一の所定の論理レベルにアサートされると、前記レジスタにロードされる
請求項１に記載の方法。
【請求項１４】
メモリ用集積回路であって、
データを格納する一のメモリアレイと、
１以上の識別ビットを格納する１以上のビット格納回路を有する一のレジスタと、
前記レジスタに接続された制御ロジックであって、前記レジスタに格納された前記１以上の識別ビットに応じて前記メモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する制御ロジックと
を備えるメモリ用集積回路。
【請求項１５】
前記複数の独立サブチャネルメモリアクセスは、複数のマイクロタイルメモリアクセスであり、
前記１以上の識別ビットは、１以上のサブチャネル選択ビットである
請求項１４に記載のメモリ用集積回路。
【請求項１６】
前記制御ロジックは、さらに一のイネーブルビットに応じて、前記メモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する
請求項１４に記載のメモリ用集積回路。
【請求項１７】
前記レジスタおよび一のクロック信号に接続された一のカウンタであって、リセットの後で前記クロック信号の複数のサイクルをカウントし、所定数のクロックサイクルが経過すると一のロード信号を生成する一のカウンタ
を更に備え、
前記１以上のビット格納回路をクロック制御する前記ロード信号によって、前記１以上の識別ビットが格納される
請求項１４に記載のメモリ用集積回路。
【請求項１８】
前記レジスタおよび一のアクティブロー型のロードストローブ信号に接続された一の反転バッファであって、前記ロードストローブ信号に応じて一のロード信号を生成する一の反転バッファ
をさらに備え、
前記１以上のビット格納回路をクロック制御するための前記ロード信号によって、前記１以上の識別ビットが格納される
請求項１４に記載のメモリ用集積回路。
【請求項１９】
前記レジスタおよび一のアクティブハイ型のロードストローブ信号に接続された一の非反転バッファであって、前記ロードストローブ信号に応じて一のロード信号を生成する一の非反転バッファ
をさらに備え、
前記１以上のビット格納回路をクロック制御するための前記ロード信号によって、前記１以上の識別ビットが格納される
請求項１４に記載のメモリ用集積回路。
【請求項２０】
メモリモジュールであって、
一のホストプリント配線基板に接続され、一の電源接続および一のグランド接続を含む一の電気コネクタを持つ、一のプリント配線基板と、
前記プリント配線基板に実装され前記電気コネクタに接続される複数のメモリ用集積回路と
を備え、
前記複数のメモリ用集積回路はそれぞれ、
データを格納する一のメモリアレイと、
一のデータ入力が一のデータバスの複数のビットに接続されている１以上のビット格納回路を有する一のレジスタであって、一のロード信号に応じて前記データバスの前記複数のビット上に設定された１以上のサブチャネル選択ビットを格納するための一のレジスタと、
前記レジスタに接続された制御ロジックであって、前記レジスタに格納された前記１以上のサブチャネル選択ビットに応じて、前記メモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する制御ロジックと
を有する
メモリモジュール。
【請求項２１】
前記複数のメモリ用集積回路はそれぞれ、
前記レジスタおよび一のクロック信号に接続された一のカウンタであって、リセットの後で前記クロック信号の複数のサイクルをカウントし、所定数のクロックサイクルが経過すると前記ロード信号を生成する一のカウンタ
をさらに有する
請求項２０に記載のメモリモジュール。
【請求項２２】
前記複数のメモリ用集積回路はそれぞれ、
前記レジスタおよび一のロードストローブ信号に接続された一の反転バッファまたは一の非反転バッファであって、前記ロードストローブ信号に応じて前記ロード信号を生成する一の反転バッファまたは一の非反転バッファ
をさらに有する
請求項２０に記載のメモリモジュール。
【請求項２３】
前記電気コネクタは、複数のピンを持つ一のエッジコネクタであって、
前記電源接続は一の電源ピンで、
前記グランド接続は一のグランドピンである
請求項２０に記載のメモリモジュール。
【請求項２４】
前記電気コネクタは、複数のパッドを持つ一のエッジコネクションであって、
前記電源接続は一の電源パッドで、
前記グランド接続は一のグランドパッドである
請求項２０に記載のメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は広くはメモリに関する。特に本発明の実施形態は、メモリチャネルに対する独立したサブチャネルメモリアクセスをサポートするべく、メモリモジュールのメモリ用集積回路に対して識別番号を割り当てることに関する。
【背景技術】
【０００２】
メモリアクセスが均一化または統合されているメモリアーキテクチャは、統合メモリアーキテクチャ（ＵＭＡ）と呼ばれることもあるが、プロセッサとグラフィックコントローラがコスト削減を目的としてシステムメモリを共有している。ＵＭＡメモリアーキテクチャは通常、プロセッサからのシステムメモリに対するメモリ要求（読み出し／書き込みアクセス）を取り扱うべく最適化されている場合がある。つまり、ＵＭＡメモリアーキテクチャは通常、グラフィクスコントローラからのメモリ要求を後回しにする。近年では、３次元（３Ｄ）および高精度化をサポートするべく、グラフィクスに関する性能の重要性が高まっている。
【０００３】
普通のＵＭＡメモリアーキテクチャでは、プロセッサからのメモリ要求とグラフィクスコントローラからのメモリ要求の両方をサポートするべく、キャッシュメモリが６４バイトに固定されたキャッシュラインを利用している。ＵＭＡメモリアーキテクチャ内に設けられたメモリコントローラは通常、１つまたは２つのメモリチャネルを有する。各メモリチャネルは、読み出し／書き込みアクセスを実施する場合には、どのメモリモジュールについても共通して、アドレスバス内の全てのアドレスラインを利用する。通常のメモリチャネルのデータバスは普通、６４ビットのビット幅を持っているので、メモリのあるアドレスの８バイトの連続データに対して同時にアクセスできる。データバスビットのメモリモジュールに対するルーティングは、メモリの種類およびサイズに応じて変更してもよい。
【０００４】
プロセッサは通常メモリを介してアクセスした６４ビットの連続データを全て利用するが、グラフィクスコントローラは通常そうでない場合もある。ＵＭＡメモリアーキテクチャ内でグラフィクスコントローラがメモリ要求を出す場合、連続データの大半は破棄される場合もある。このため、ＵＭＡメモリアーキテクチャ内でグラふぃ来るコントローラがメモリ要求を発行した場合、メモリチャネルのバンド幅の利用が非効率となる場合がある。
【図面の簡単な説明】
【０００５】
本発明の実施形態の特徴は、以下に記載する詳細な説明から明らかとなる。
【０００６】
【図１Ａ】本発明の実施形態が利用され得る通常のコンピュータシステムを示すブロック図である。
【０００７】
【図１Ｂ】本発明の実施形態が利用され得るクライアント−サーバシステムを示すブロック図である。
【０００８】
【図２】本発明の実施形態が利用され得る第１中央演算処理装置（ＣＰＵ）を示すブロック図である。
【０００９】
【図３Ａ】それぞれ４つのメモリサブチャネルを持つ、一対のメモリチャネルに接続されたメモリ制御ブロックを示す、概略ブロック図である。
【００１０】
【図３Ｂ】キャッシュメモリおよびそれぞれＳ本のサブチャネルを持つ一対のメモリチャネルに接続されたメモリ制御ブロックが備えるメモリコントローラを示す、詳細ブロック図である。
【００１１】
【図４Ａ】サブチャネルを用いずに線形メモリアクセスを利用した場合のメモリチャネルを介したメモリアクセスに対応した、ビデオディスプレイ上でのピクセルマッピングを示す図である。
【００１２】
【図４Ｂ】マイクロタイル方式のメモリアクセスがサポートされ２つのサブチャネルを用いた場合のメモリチャネルを介したメモリアクセスに対応した、ビデオディスプレイ上でのピクセルマッピングを示す図である。
【００１３】
【図４Ｃ】マイクロタイル方式のメモリアクセスがサポートされ４つのサブチャネルを用いた場合のメモリチャネルを介したメモリアクセスに対応した、ビデオディスプレイ上でのピクセルマッピングを示す図である。
【００１４】
【図５Ａ】６４ビット幅のメモリチャネルを介した線形の６４バイトのメモリアクセスを示す図である。
【００１５】
【図５Ｂ】一対の３２ビット幅のメモリサブチャネルを介した、一対の３２バイトのメモリアクセスである独立したサブチャネルメモリアクセスを示す図である。
【００１６】
【図５Ｃ】４つの１６ビット幅のメモリサブチャネルを介した、４つの１６バイトのメモリアクセスである独立したサブチャネルメモリアクセスを示す図である。
【００１７】
【図６】メモリチャネル用のアドレス信号ラインのビットマップを示す。
【００１８】
【図７】ホストプリント配線基板上に実装されたコネクタに接続される、マルチチップメモリモジュールを示すブロック図である。
【００１９】
【図８】メモリサブチャネルを介したマイクロタイル方式のメモリアクセスをサポートする、メモリ用集積回路を示すブロック図である。
【００２０】
【図９】１６ビット幅のメモリサブチャネルおよび１６バイトのメモリアクセスに対応する、モードレジスタに接続されたアドレスオーバーロードロジックを示す概略図である。
【００２１】
【図１０Ａ】メモリチャネルが一対のサブチャネルを有する場合の、マルチチップメモリモジュール、およびメモリ用集積回路の割り当ておよび識別を行うべく構成されたジャンパ線を示すブロック図である。
【００２２】
【図１０Ｂ】メモリチャネルが４本のサブチャネルを有する場合の、マルチチップメモリモジュール、およびメモリ用集積回路の割り当ておよび識別を行うべく構成されたジャンパ線を示すブロック図である。
【００２３】
【図１０Ｃ】メモリチャネルが複数のサブチャネルを有する場合の、マルチチップメモリモジュール、およびメモリ用集積回路の割り当ておよび識別を行う１以上のディップスイッチを示すブロック図である。
【００２４】
【図１１Ａ】図１０Ａ〜図１０Ｃに示すハードワイヤードされた設定用の識別ピンから識別ビットを受け取るバッファを含む制御回路を示す、ブロック図である。
【００２５】
【図１１Ｂ】図１０Ａ〜図１０Ｃに示すハードワイヤードされた設定用の識別ピンから識別ビットを受け取るレジスタを含む制御回路を示す、ブロック図である。
【００２６】
【図１１Ｃ】リセット後に所定数のクロックサイクルが経過した場合に識別情報を取得するレジスタを含む制御回路を示す、ブロック図である。
【００２７】
【図１１Ｄ】リセット後に制御信号のストローブと同時に識別情報を取得するレジスタを含む制御回路を示す、ブロック図である。
【００２８】
【図１２Ａ】メモリモジュールが備える第１の複数のメモリ用集積回路に対するデータバイトのデータビットＤ０およびＤ１の配列の第一例を示す図である。
【００２９】
【図１２Ｂ】メモリモジュールが備える第２の複数のメモリ用集積回路に対するデータバイトのデータビットＤ０およびＤ１の配列の第二例を示す図である。
【００３０】
【図１３Ａ】図１１Ｃに示す制御回路のタイミングチャートである。
【００３１】
【図１３Ｂ】図１１Ｄに示す制御回路のタイミングチャートである。
【００３２】
【図１４】データバス上のデータ修飾子に応じてレジスタに識別値をロードする方法の一例を説明するための、メモリモジュールに接続されたメモリコントローラを示すブロック図である。
【００３３】
上記の図面内において同様の参照番号および表示は同様の機能を実現する同様の素子を示すものとする。
【発明を実施するための最良の形態】
【００３４】
以下に本発明の実施形態を詳細に説明するが、本発明の内容を十分に理解していただくべく具体的な内容を数多く記載する。しかし、本発明の実施形態は以下に記載した具体的な内容以外に基づいても実施できることは当業者には明らかである。また、公知の方法、処理、構成要素および回路については、本発明の実施形態の側面を必要以上にあいまいにすることを避けるべく、詳細な説明を行わない。
【００３５】
統合グラフィクスコンピュータシステムのメモリ効率は通常、キャッシュラインのサイズによって限定されてしまう。グラフィクスに関して理想的なメモリアクセスサイズは多くの場合、４バイトから１６バイトのデータである。これは、グラフィクスプロセッサの動作が、一度に１または数個のピクセルまたはテクセルを対象とするからである。しかしＵＭＡメモリアーキテクチャは、プロセッサのメモリ効率を最適化するべく、６４バイトのキャッシュラインに対して最適化されている。キャッシュラインのサイズを６４バイトとする場合、グラフィクスコントローラからメモリ要求を出すと、平均して、メモリから非常に大量のデータが取得されるもののグラフィクスコントローラは結局取得されたデータを使用しないという事態が発生してしまう。使用されなかったデータのことを、「過取得」と呼ぶとしてもよい。
【００３６】
マイクロタイル方式を用いることによって、集積化されたグラフィクスコントローラを持つＵＭＡメモリアーキテクチャのキャッシュライン要件を満たしつつ、グラフィクスコントローラからのメモリ要求における過取得を減少させることができる。一般的に言って、マイクロタイル方式は、メモリアーキテクチャもメモリコントローラアーキテクチャのどちらについても新式のものに基づいて実施される。マイクロタイルメモリアーキテクチャをサポートする新式のメモリサブシステムは、メモリチャネル内において独立したサブチャネルメモリアクセスを持つ。このような、メモリに対する独立したサブチャネルメモリアクセスは、マイクロタイルメモリアクセスと呼ばれ、一般的にマイクロタイル方式と呼ぶとしてもよい。
【００３７】
上述した新式のメモリコントローラおよびメモリアーキテクチャについても説明するが、本願が主眼においているのは、マイクロタイル方式をサポートするべくメモリモジュールが備えるメモリ用集積回路に識別値をロードすることにある。
【００３８】
メモリアレイに含まれるメモリ用集積回路には、同一メモリアレイ内の他のメモリ用集積回路に対して一意的な値が割り当てられるとしてもよい。本発明の実施形態は識別子を含み、当該識別子の値を設定する機構を実現する。当該識別子は、識別ビットを有する識別値と呼ぶとしてもよい。
【００３９】
識別値の使用例を１つ挙げると、マイクロタイルメモリアクセスと呼ばれる独立したサブチャネルメモリアクセスがある。本発明の実施形態によると、各メモリチャネルの各メモリモジュールが備える各メモリ用集積回路内に設けられたレジスタにサブチャネル選択ビットをロードする。
【００４０】
本発明の一実施形態は方法に関する。当該方法は、メモリモジュールに、情報を接続するためのピンをそれぞれが少なくとも２つ有する複数のメモリ用集積回路を設けることと、１つのメモリ用集積回路が有する少なくとも２つのピンのそれぞれに、少なくとも２つの識別ビットからなる複数の値を設定することと、識別値として、当該１つのメモリ用集積回路が少なくとも２つの識別ビットを受け取ることと、少なくとも２つの識別ビットを用いて、少なくとも１つのメモリ用集積回路の機能を許可することとを含む。
【００４１】
本発明の別の実施形態はメモリ用集積回路を提供する。当該メモリ用集積回路は、メモリアレイと、レジスタと、レジスタに接続された制御ロジックを備える。メモリ用集積回路のメモリアレイは、データを格納する。レジスタは、識別値を表す１以上の識別ビットを格納する１以上のビット格納回路を有する。制御ロジックは、レジスタに格納された１以上の識別ビットに応じてメモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する。
【００４２】
本発明のさらに別の実施形態はメモリモジュールを開示する。当該メモリモジュールは、ホストプリント配線基板に接続される電気コネクタを持つプリント配線基板と、当該プリント配線基板に実装されエッジコネクションに接続された、複数のメモリ用集積回路とを備える。電気コネクタは、電源接続およびグランド接続を含む。モジュールに実装されたメモリ用集積回路はそれぞれ、データを格納するメモリアレイと、データ入力がデータバスの複数のビットに接続されている１以上のビット格納回路を有するレジスタと、当該レジスタに接続された制御ロジックを有する。レジスタは、ロード信号に応じて、データバスの複数のビット上に設定された１以上のサブチャネル選択ビットを格納する。制御ロジックは、レジスタに格納された１以上のサブチャネル選択ビットに応じて、メモリ用集積回路に対する独立サブチャネルメモリアクセスを実現する。
【００４３】
簡潔に説明すると、マイクロタイル方式を用いることによって、メモリ要求をメモリ内の不連続な部分または不連続なまとまりを対象としたより小さい単位の要求を複数含むように構成することができる。マイクロタイルメモリアーキテクチャによれば、要求を発行する側の求めに応じて、メモリに対する読み書き要求が扱うデータのサイズおよび構成を変更することができる。より小さい単位のデータのまとまりを正確に識別するべく、マイクロタイルメモリコントローラはシステムメモリに対して追加アドレス情報を供給する。例えば本発明の一実施形態によると、６４ビット幅のメモリチャネル（物理ビット幅）が４つの１６ビット幅のサブチャネルに分割されるとしてもよい。この実施形態によると、６４バイトのメモリアクセス（メモリチャネルの論理バイト幅）は、４つの不連続の１６バイトのまとまりに対応する（メモリトランザクションのバースト長は８と仮定する）。各サブチャネルは一意的なアドレス情報を用いる。図３Ａは、それぞれが一意的なアドレス情報を持つ、４つの１６ビットのサブチャネルの実施例を示す。他の実施例に係るマイクロタイルメモリアーキテクチャでは、各サブチャネルのサイズおよび各サブチャネルに設けられた独立アドレスラインの数を変更するとしてもよい。
【００４４】
メモリアレイの各サブチャネルに対して独立アドレス情報をさらに供給するための方法が幾つか挙げられる。例えば、メモリコントローラからメモリ用集積回路までの専用ラインを新たにルーティングすることによってアドレスラインを追加する方法、またはメモリモジュール内にルーティングされたエラー補正コード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）信号ラインのうち使用されていないものを改めて追加アドレスラインとして割り当てる方法などがある。また、独立アドレス情報は、例えば列アドレスがメモリ用集積回路に書き込まれるメモリサイクル中などの、既存のアドレス信号ラインが通常利用されていない期間中に、当該既存のアドレス信号ラインをオーバーロードすることによって、追加で供給されるとしてもよい。こうすることによって、メモリモジュールにおいてマイクロタイル方式をサポートさせつつ、既存のメモリモジュールに対する後方互換性も維持することができる。上述した方法は、本発明の実施形態において、追加のアドレスラインを含む所望の数のアドレスライン上でアドレス情報を追加で供給するべく、個別に用いるとしてもよいし、組み合わせて利用するとしてもよい。
【００４５】
標準規格のメモリチャネルにおいて（例えば、ダブル・データ・レート（ＤＤＲ）ＤＲＡＭに基づくメモリチャネル）、メモリチャネルの論理幅をＭバイトとする。ここで、１バイトのデータは８ビットである。メモリチャネルの論理幅は、メモリモジュール上で行われるデータ転送のバースト長と何らかの関係を持っている。つまり、Ｍバイトのデータに対しては、ベースアドレスから連続してアドレスを増加させてバーストを形成するデータ転送を行うことによって、連続してアクセスが可能である。通常は、アクセスする（読み出しまたは書き込み）対象の数バイトから成るブロックのベースアドレスは、チャネルの論理幅の整数倍に等しい。メモリチャネルの物理幅は、メモリコントローラとメモリモジュールの間のデータバスのビット幅である。最小バースト長は通常、８メモリサイクルで、開始バイトオーダーはアドレスラインの最下位ビットによって設定されるとしてもよい。物理幅が通常の６４ビットの場合、８回のメモリサイクルによってメモリチャネル内の６４バイトのデータにアクセスする。このため、メモリチャネルの論理幅は通常、６４バイトのデータとなる。
【００４６】
上述したように、メモリチャネルの論理幅はベースアドレスに従って連続して転送可能なバイト数であり、メモリチャネルの物理幅はメモリコントローラとメモリモジュールの間に設けられたデータバス（ＷＤＢ）のビット幅である。ここで、マイクロタイル方式メモリシステムは、メモリチャネルの論理幅と物理幅を均等に分割し、より小さい論理バイト幅とより小さい物理ビット幅を持つ複数のサブチャネルとする。
【００４７】
メモリをマイクロタイル方式とすることによって、メモリチャネルの物理幅（ＷＤＢビット）およびメモリチャネルの論理幅（Ｍバイト）を分割し、Ｓ個のサブチャネル（ＷＳＣ）を構成する。各サブチャネルは、物理幅がＷＳＣ＝ＷＤＢ／Ｓビットで論理幅がＮ＝Ｍ／Ｓバイトである。このため、Ｎバイトのデータが、各サブチャネルにおいて、バースト長に等しいデータ転送回数ごとに、ＷＳＣビットのデータラインを介して転送されるとしてもよい。１本のメモリチャネルがメモリ内でアクセスするメモリ位置の総数は、ＴＭＬであるとしてもよい。各サブチャネルがアクセスするメモリ位置のサブセットの総数（ＴＳＭＬ）は、ＴＭＬ／Ｓに等しい。
【００４８】
マイクロタイル方式を採用したメモリでは、各サブチャネルが独立して、メモリチャネルを介して、より細かい単位でデータにアクセスすることが可能となる。各サブチャネルを完全に独立したものとして構成するには、メモリコントローラから各サブチャネルにルーティングされるアドレス信号ラインを独立させるとしてもよい。独立したアドレス信号ラインが多くなり過ぎないようにアドレス信号ラインのうち一部はサブチャネル同士で共有して、メモリ位置は複数の共有アドレスから独立して選択するとしてもよい。このため、各サブチャネルに提示されるアドレスの独立アドレスビット（Ｉ）の値は、他のサブチャネルに提示されるアドレスの対応するビットの値とは異なるとしてもよい。このため、各サブチャネルで転送されるデータは一続きのブロックデータである一方、各サブチャネル上で転送される複数のデータブロックは必ずしも連続したアドレス範囲のものとは限らない。これは、独立アドレスビットＩが、以下で詳述するように、異なるビット位置の場合があるためである。
【００４９】
本発明の実施形態は様々な異なるシステムにおいて利用されるとしてもよい。そのようなシステムの例を図１Ａおよび図１Ｂに示す。図１Ａは、本発明の実施形態を利用し得る典型的なコンピュータシステム１００を示すブロック図である。コンピュータシステム１００Ａは、処理部１０１、キーボード、モデム、プリンタ、外部記憶装置などの入出力デバイス（Ｉ／Ｏ）１０２、およびＣＲＴまたはグラフィクスディスプレイなどのモニタ装置（Ｍ）１０３を備える。モニタ装置（Ｍ）１０３は、演算情報を、人間が理解し得る形式で、例えば、画像形式または音声形式で、提供する。システム１００はコンピュータシステム以外の多くの異なる電子システムであるとしてもよい。
【００５０】
図１Ｂは、本発明の実施形態を利用し得る、クライアント−サーバシステム１００Ｂを示す。クライアント−サーバシステム１００Ｂは、ネットワーク１１２に接続された１以上のクライアント１１０Ａ〜１１０Ｍおよびネットワーク１１２に接続されたサーバ１１４を備える。クライアント１１０Ａ〜１１０Ｍはネットワーク１１２を介してサーバ１１４と通信を行い、情報を送信または受信するとともに、サーバ上にある必要なデータベースおよび／またはアプリケーションソフトウェアへとアクセスする。クライアント１１０Ａ〜１１０Ｍおよびサーバ１１４は、典型的なコンピュータシステム１００Ａの例であるとしてもよい。サーバ１１４はメモリおよび処理部を有し、さらに１以上のディスクドライブ記憶装置を有するとしてもよい。サーバ１１４は、例えばネットワーク接続ストレージ（ＮＡＳ）デバイスとしてストレージエリアネットワーク（ＳＡＮ）内で利用されるとしてもよく、ディスクアレイを有するとしてもよい。サーバ１１４へのデータアクセスは、複数のクライアント１１０Ａ〜１１０Ｃ間において、ネットワーク１１２を利用して共有されるとしてもよい。
【００５１】
図２は、本発明の実施形態を利用し得る処理部１０１を詳細に示すブロック図である。処理部１０１は、図２に示すように互いに接続された、プロセッサ回路２０１、メモリ制御ブロック２０２、外部キャッシュメモリ２０３Ｅ、１以上のメモリチャネル２０４Ａ〜２０４Ｎ、グラフィクスコントローラ２０６、および入出力コントローラ２０７を備えるとしてもよい。処理部１０１の構成要素のうち、処理回路２０１が有する２以上の素子、メモリ制御ブロック２０２、キャッシュメモリ２０３Ｅ、グラフィクスコントローラ２０６および入出力コントローラ２０７は、単一の集積回路に集積化されるとしてもよい。例えば、メモリ制御ブロック２０２、グラフィクスコントローラ２０６および入出力コントローラ２０７が、集積回路２１０として集積化されるとしてもよい。別の例を挙げると、処理回路２０１、メモリ制御ブロック２０２、キャッシュメモリ２０３Ｅ、グラフィクスコントローラ２０６および入出力コントローラ２０７が集積回路２１０'として集積化されるとしてもよい。またさらに別の例として、メモリコントローラを持つメモリ制御ブロック２０７をプロセッサ回路２０１に集積化するとしてもよい。プロセッサ回路２０１とメモリ制御ブロック２０２の間に接続されている外部キャッシュメモリ２０３Ｅは、集積回路２１０'の一部のように図示されているが、別の回路として構成されるとしてもよい。大きなメモリ容量は別に製造する方が効率が高いので、多くの場合、キャッシュメモリ２０３Ｅは集積回路２１０'に対して外部とする。
【００５２】
プロセッサ回路２０１は、１以上の実行部または２以上のプロセッサ（コアプロセッサともいう、例えばプロセッサＡ〜Ｎ  ２１０Ａ〜２０１Ｎ）を有する、マルチプロセッサ集積回路として構成されていてもよい。プロセッサ回路２０１が有する各プロセッサは、オンチップのまたは内蔵されたキャッシュメモリ２０３Ｉにおいて１以上のレベルを持つとしてもよいし、同じ内部キャッシュメモリを共有するとしてもよい。キャッシュメモリの他のレベルはプロセッサ２０１に対して外部としてもよく、外部キャッシュメモリ２０３Ｅのように、メモリコントローラに接続されるとしてもよい。プロセッサ回路２０１はさらに、マイクロコンピュータと同様に、オンチップ型または内蔵型のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびオンチップ型または内蔵型のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を有するとしてもよい。プロセッサ２０１の１以上の実行部とキャッシュメモリの１以上のレベルが、１以上のメモリチャネル２０４Ａ〜２０４Ｎにおいて、メモリ制御ブロック２０２を介して、データの読み書き（命令を含む）を行うとしてもよい。
【００５３】
メモリ制御ブロック２０２は、グラフィクスコントローラ２０６に接続されるとともに、１以上のメモリチャネル２０４Ａ〜２０４Ｎとプロセッサ２０１の間に接続されている。メモリ制御ブロック２０２は任意で、キャッシュメモリ２０３Ｍをその内部に有するとしてもよいし、キャッシュメモリ２０３Ｍはキャッシュメモリの別のレベルとして外部に構成されるとしてもよい。メモリ制御ブロック２０２は、１以上のメモリチャネル２０４Ａ〜２０４Ｎに対応して、１以上のマイクロタイル方式メモリコントローラＭＣＡ〜ＭＣＮ（２０８Ａ〜２０８Ｎ）を有する。
【００５４】
１以上のメモリチャネル２０４Ａ〜２０４Ｎはそれぞれ、１以上のメモリモジュールＭＭ１〜ＭＭｎを有する。各メモリモジュールは１以上のメモリ用集積回路またはメモリ用集積デバイスを持つ。当該１以上のメモリ用集積回路またはメモリ用集積デバイスは、様々な種類のメモリ用集積回路から選択してよく、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）回路、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）回路、またはＮＶＲＡＭ（不揮発性ＲＡＭ）回路などがある。しかし、本発明の好ましい実施形態においては、当該１以上のメモリ用集積回路はＤＲＡＭ回路である。
【００５５】
１以上のメモリチャネル２０４Ａ〜２０４Ｎはそれぞれ、２つ以上のメモリサブチャネルを持つ。図２においては、メモリチャネル２０４Ａ〜２０４Ｎはそれぞれ、４つのサブメモリチャネル２０５Ａ〜２０５Ｄを持つ。各メモリチャネル内に４つのサブメモリチャネルを図示しているが、メモリチャネルの分割はこれに限定されず、サブチャネルの数は偶数であってもよいし奇数であってもよい。例えばサブチャネルの数は２つであってもよい。メモリチャネルの分割方法は、メモリチャネルの論理幅またはバースト長が大きくなれば、変更するとしてもよい。
【００５６】
メモリチャネル２０４Ａ〜２０４Ｎのそれぞれが有する１以上のメモリモジュールＭＭ１〜ＭＭＮは、マイクロタイル方式をサポートするべく構成されるとしてもよい。メモリ制御ブロックはアルゴリズムを用いて、１以上のメモリモジュールがマイクロタイル方式をサポートしているかどうか判断するとしても良い。１以上のメモリモジュールに含まれる１以上のメモリ回路またはメモリデバイスは、マイクロタイル方式をサポートするべく構成されるとしてもよい。当該１以上のメモリ回路は、マイクロタイル方式をイネーブルすることができ（ＭＴＥ）、あるメモリサブチャネルをサポートするように割り当てることができる。当該１以上のメモリ回路は、マイクロタイル方式をイネーブルするとともにあるメモリサブチャネルを割り当てることを目的として、ピンを追加で持つとしてもよいし、またはビットを追加でモードレジスタに備えるとしてもよい。メモリ回路が追加でピンを持つ場合、マイクロタイル方式をサポートする構成とするべく、外部のジャンパピン、ジャンパ線、またはマイクロスイッチ（例えば、ＤＩＰスイッチ）を利用するとしてもよい。メモリ回路にモードレジスタを備える場合、各サブチャネルのデータバスの独立部分を用いて、適切なロードストローブに応じてモードレジスタをロードするとしてもよい。
【００５７】
入出力コントローラ２０７は、１以上のメモリチャネル２０４Ａ〜２０４Ｎにデータを書き込むべく、メモリ制御ブロック２０２に接続されるとしてもよい。このため、プロセッサ２０１は入出力コントローラ２０７にアクセスできるようになる。処理部１０１はさらに、無線ネットワークインターフェース回路（ＷＮＩＣ）２１３、有線ネットワークインターフェース回路またはカード（ＮＩＣ）２１４、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）および／またはファイヤワイヤ（ＦＷ）シリアル・インターフェース２１５、および／または入出力コントローラ２０７に接続されたディスクドライブ２１６を有するとしてもよい。無線ネットワークインターフェース回路（ＷＮＩＣ）２１３は、無線ローカル・エリア・ネットワーク、ｗｉｆｉ（ＩＥＥＥ  ８０２．１１）、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはそれ以外の無線接続方式に基づいて、無線ベースユニットに対する無線接続を行う。無線ネットワーク相互接続部（ＷＮＩＣ）２１３は、電波を介して無線ベースユニットまたはそれ以外の無線可動ユニットへの接続を確立するためのアンテナを持つ。ＮＩＣ２１４はイーサネット（登録商標）有線ローカル・エリア・ネットワーク接続を確立する。ＵＳＢ／ＦＷシリアルインターフェース２１５は、他の入出力周辺機器を含むべくシステムを拡張することを可能とする。ディスクドライブ２１６は公知のもので、プロセッサ２０１に対して書き換え可能なストレージを提供する。ディスクストレージデバイス２１６は、フロッピーディスク（登録商標）、ジップディスク、ＤＶＤディスク、ハードディスク、書き換え可能な光ディスク、フラッシュメモリ、またはそれ以外の不揮発性ストレージデバイスのうち１以上であるとしてもよい。
【００５８】
グラフィクスコントローラ２０６は、１以上のメモリチャネル２０４Ａ〜２０４Ｎに対してデータの読み書きを行うべく、メモリ制御ブロック２０２に接続されている。プロセッサ２０１は１以上のメモリチャネル２０４Ａ〜２０４Ｎに対してデータを書き込むとしてもよい。このように書き込まれたデータは、グラフィクスコントローラ２０６によるアクセスが可能となり、グラフィクスディスプレイまたはビデオデバイス上で表示が可能となる。グラフィクスディスプレイ２１７はグラフィクスコントローラ２０６に接続されるとしてもよい。ビデオインターフェース２１８はグラフィクスコントローラ２０６に接続されるとしてもよい。ビデオインターフェース２１８はアナログビデオインターフェースおよび／またはデジタルビデオインターフェースであってよい。
【００５９】
処理部１０１において、プロセッサ２０１、入出力コントローラ２０７およびグラフィクスコントローラ２０６は、メモリ制御ブロック２０２内に設けられたメモリコントローラを介して１以上のメモリチャネル２０４Ａ〜２０４Ｎのデータにアクセスするとしてもよい。メモリ制御ブロック内のメモリコントローラは、システムメモリとプロセッサ２０１、入出力コントローラ２０７、およびグラフィクスコントローラ２０６との間でのデータの読み書きを行うべく、メモリチャネル２０４Ａ〜２０５Ｎに接続される。マイクロタイル方式のメモリコントローラ２０８Ａ〜２０８Ｎをメモリチャネル２０４Ａ〜２０４Ｎへと接続するに当たって、メモリインターフェースの一部として、アドレスバスのアドレス信号ライン２２０、データバスのデータ信号ライン２２２、および制御クロック信号ライン２２４を利用するとしてもよい。入出力コントローラ２０７に接続された入力デバイス（例えばディスクストレージデバイス２１６）もまた、システムメモリに対して情報の読み書きを行うとしてもよい。
【００６０】
一般的に、データバスのデータ信号ライン２２２はＳ本のサブチャネルに分配されている。図２では、Ｓは４に設定され、データバスのデータ信号ライン２２２は、サブチャネルデータライン２２２Ａ、２２２Ｂ、２２２Ｃおよび２２２Ｄとして図示されているように、４本のサブチャネルに対して分配され、サブチャネル２０５Ａ、２０５Ｂ、２０５Ｃおよび２０５Ｄに接続される。一例を挙げると、６４ビットのバスは４つの１６ビットデータラインに分割される。本発明の一実施形態によると、アドレス信号ライン２２０の一部は複数のサブチャネルによって共有され、残りのアドレス信号ラインは独立して１本のサブチャネルと対応付けられる。本発明の別の実施形態によると、アドレス信号ライン２２０は完全に独立して各サブチャネルと対応付けられるとしてもよい。アドレス信号ラインについては、以下で詳述する。
【００６１】
図３Ａは、２本のメモリチャネルを示すブロック図である。図３Ａは、統合グラフィクスメモリコントローラ３００（ホスト３００とも呼ぶ）、および当該統合グラフィクスメモリコントローラ３００に接続されたメモリチャネル０（３０４Ａ）およびメモリチャネル１（３０４Ｂ）を示す。メモリチャネル０（３０４Ａ）およびメモリチャネル１（３０４Ｂ）はそれぞれ、４本のサブチャネル３０５Ａ、３０５Ｂ、３０５Ｃおよび３０５Ｄに分割される。各メモリチャネルは、サブチャネルをサポートするべく、独立してマイクロタイル方式のメモリコントローラを有する。各メモリチャネルは独立してデータバスを有する。例えば、各メモリチャネルのデータバスのビット幅が６４ビットである場合、サブチャネルはそれぞれ、データバスの独立した１６ビットの１セットに接続される。図３Ａに示すように、サブチャネル３０５ＡはデータビットＤ１５〜Ｄ０に接続され、サブチャネル３０５ＢはデータビットＤ３１〜Ｄ１６に接続され、サブチャネル３０５ＣはデータビットＤ４７〜Ｄ３２に接続され、サブチャネル３０５ＤはデータビットＤ６３〜Ｄ４８に接続される。
【００６２】
上述したように、本発明の一実施形態によると、アドレス信号ラインの一部はサブチャネル間で共有される一方、残りのアドレス信号ラインは独立して１本のサブチャネルに対応付けられる。一例を挙げると、アドレス信号ライン３１０（Ａｘｘ〜Ａ１０、ＢＡ２〜ＢＡ２）は全サブチャネル３０５Ａ〜３０５Ｄによって共有されている。つまり、アドレス信号ライン３１０はそれぞれファンアウトされ各サブチャネルに接続されるとしてもよい。これとは逆に、アドレス信号ライン３１１Ａ（Ａ９〜Ａ６の第１セット）は独立してサブチャネル３０５Ａに接続されている。アドレス信号ライン３１１Ｂ（Ａ９〜Ａ６の第２セット）は独立してサブチャネル３０５Ｂに接続されている。アドレス信号ライン３１１Ｃ（Ａ９〜Ａ６の第３セット）は独立してサブチャネル３０５Ｃに接続されている。アドレス信号ライン３１１Ｄ（Ａ９〜Ａ６の第４セット）は独立してサブチャネル３０５Ｄに接続されている。
【００６３】
ここで、割り当てられたメモリページサイズの細かさによって得られる最大のアドレス指定能力を実現するために十分な数の、独立したアドレスラインを設けるのが理想である。ページサイズは通常、グラフィクメモリスペースを管理するソフトウェアによって定められる。例えば、チャネルが２つのキャッシュラインを持つインターリーブドメモリサブシステムにおいて４キロバイト（ＫＢ）のページサイズが割り当てられる場合を考える。各メモリチャネルに２ＫＢのページをマッピングする。この場合、メモリの各物理ページにおける３２個の６４Ｂキャッシュラインに対してアドレス指定を行うべく５本のアドレスラインを利用するとしてもよい。このため、１６ビットサブチャネルを４本設けるためには、１５本の独立アドレスラインを追加するのが理想的だと考えられる。これらの追加されたアドレスラインは、アドレス信号ライン３１１Ｂ〜３１１Ｄとして図示されている。アドレス信号ライン３１１Ｂ〜３１１Ｄはそれぞれ、アドレスラインＡ１０〜Ａ６の第２セット、第３セットおよび第４セットとして示されている一方、既存の第１セットであるアドレス信号ライン３１１Ａは、アドレスラインＡ１０〜Ａ６の第１セットとして示されている。追加で利用できる独立アドレスラインの数がこれより少ない場合、各サブチャネルがアドレス指定可能な独立したアドレススペースは低減される。各サブチャネルが利用可能な独立アドレスラインの数がこれより大きければ、各サブチャネルがアドレス指定可能な独立したアドレススペースは拡大される。２本の３２ビットサブチャネルを実現するためには、５本の独立アドレスラインを追加するのが望ましい。
【００６４】
追加されるアドレス信号ラインは、図３Ａに図示するように独立アドレス信号ラインを設けるように、メモリコントローラとサブチャネルとの間においてルーティングされるとしてもよい。アドレス信号は既存のアドレスラインにオーバーロードされるとしてもよい。追加するアドレス信号ラインをルーティングするとともにアドレス信号をオーバーロードすることによって、マイクロタイル方式をサポートするとしてもよい。もしくは、各サブチャネルに対して、図３Ａに図示した共有アドレスライン３１０を設けずに、独立アドレスラインのみを設けるとしてもよい。しかし、共有アドレス信号ライン３１０を利用することによって、独立アドレス信号ラインのルーティングを減少させ、プリント配線基板領域を節約することが可能である。
【００６５】
図６は、共有アドレスビットおよび独立アドレスビットに基づいて、メモリチャネル用のアドレス信号ラインのビットマップを示す。つまり図６は、物理アドレスに含まれるアドレスビットの解釈を示すアドレスビットマップである。マイクロタイル方式をサポートするべく、各サブチャネルに対してＩ個の独立アドレスビット（ＩＡＢ）が設けられている。全てのサブチャネルに対して、ゼロ以上のＳＡ個の共有アドレスビット（ＳＡＢ）が設けられるとしてもよい。メモリ要求をサブチャネルに割り当てる際に、Ｑ個のサブチャネル選択ビット（ＳＳＢ）が利用される。ＤＲＡＭメモリ内の各キャッシュラインにおいてバイトのアドレスを指定するべく、Ｐ個のサブチャネルデータアドレスビット（ＳＤＡＢ）が利用される。Ｐ個のＳＤＡＢビットは通常、アドレス信号ラインマップのビットの中の最下位ビットである。Ｑ個のＳＳＢビットおよびＰ個のＳＤＡＢビットは実際には、メモリコントローラとサブチャネルメモリとの間でルーティングされておらず、アクセスされるデータブロックのベースアドレスはバーストサイズの整数倍であると理解されている。つまり、Ｐ個のＳＤＡＢビットは、ダブル・データ・レート（ＤＤＲ）メモリの仕様に従って、ＤＲＡＭデバイスといったメモリ用集積回路によって内部的に生成されるとしてもよい。図６は、共有されるべく選択されたアドレスビットおよび独立アドレスビットを示しているが、これ以外に他のアドレスビットを割り当てるとしてもよい。つまり、Ｐ個のサブチャネルデータアドレス（ＳＤＡＢ）ビットより上位のアドレスビットのＳＡ個の共有アドレス（ＳＡＢ）ビットおよびＩ個の独立アドレス（ＩＡＢ）ビットへの分割は通常、任意で行う。
【００６６】
図４Ａ〜図４Ｃは、タイル状に分割されたアドレススペースに基づいて、三角形の理想的なピクセルマップレンダリングを説明するための図である。図４Ａは、論理チャネル幅が６４バイトであるマイクロタイル方式に準拠していないメモリシステムによる、タイル状に分割されたアドレススペースでの三角形４０１のラスタライゼーションを示す。図４Ｂおよび図４Ｃは、マイクロタイル方式に準拠したメモリシステムによる、タイル状に分割されたアドレススペースでの三角形４０１のラスタライゼーションを示す。三角形４０１のラスタライゼーションの単位はフラグメント４０２である。フラグメント４０２は、ピクセルもしくはテクセルを表すとしてもよい。タイル状に分割されたアドレススペースでは、論理的な２次元状のデータアレイがサブアレイの１セットとして編成されており、１つのサブアレイ内のデータはアドレススペースの連続した範囲に格納されているのでメモリ内で一部分に集中している。直線状にアドレス指定されている、論理的な２次元状のデータアレイの場合は、上述したようなサブアレイを有さず、フラグメント４０２のようなデータが、１行中を左から右へ、続いて上から下へと次の行へ移るという順番で、直線状にアドレス指定されている。このため、垂直方向に隣接するフラグメント４０２同士はメモリ内で互いに離れている場合がある。
【００６７】
図４Ａとの比較に基づき、図４Ｂおよび図４Ｃは、より小さい単位のメモリ要求に答えられるという利点がマイクロタイルメモリアクセスによってどのように得られるかを示す。図４Ａ、図４Ｂおよび図４Ｃはそれぞれ、メモリ要求サイズが異なる場合の、三角形４０１のラスタライゼーションを示す。
【００６８】
図４Ａでは、１つのメモリ要求が１６個のフラグメントから成るデータを含む。正方形４０２はそれぞれ１つのフラグメントを表し、１フラグメントは通常３２ビットまたは４バイトのデータを持つ。図４Ａ、図４Ｂおよび図４Ｃは２０×２０のフラグメントアレイを示す。４×４のフラグメントアレイは、図４Ａに示すように、スパン４０４であって、６４バイトのメモリ要求に対応する。サブスパン４２４は、図４Ｃに図示するように、２×２のフラグメントアレイであって、１６バイトのメモリ要求に対応する。ダブルサブスパン４１４は、図４Ｂに示すように、３２バイトのメモリ要求に対応し、２×４のフラグメントアレイとして編成されている。
【００６９】
図４Ａ、図４Ｂおよび図４Ｃの相違点は、メモリ要求のサイズが減少するにつれて、過取得が理論上減少する様子を示す。図４Ａ、図４Ｂおよび図４Ｃのそれぞれの例において、三角形４０１のラスタライゼーションを行うためにアクセスする必要があるフラグメントの数は同一である。しかし、１回のメモリアクセスで転送されるのは通常、２個以上のフラグメントのデータであるので、三角形４０１内のフラグメント４０８を表すデータと三角形４０１の外部にあるフラグメント４０６を表すデータが共に転送される場合がある。三角形４０１の外部にあるフラグメント４０６を表すデータは過取得されているので、メモリ帯域幅が非効率に使用されている。
【００７０】
図４Ａについて、６４バイトのメモリアクセスに応じてスパン４０４のデータである４×４のフラグメントブロックが転送される。例えば、スパン４０４Ａが第１の６４バイトのメモリアクセスに対応し、スパン４０４Ｂが第２の６４バイトのメモリアクセスに対応する。一例として、三角形４０１が約５７個のレンダリングすべきピクセルを含むとする。６４バイトのメモリアクセスの場合、三角形内の６５個のフラグメントにアクセスするためには１０回のメモリアクセスが必要となる。ここで、９５個のフラグメントのデータについてはアクセスするものの、利用されない場合がある。
【００７１】
図４Ｂについて、３２バイトのメモリアクセスに応じて、ダブルサブスパンのデータである２×４のフラグメントブロック、つまり６４バイトのメモリアクセスの場合に転送されるデータの半分が転送される。例えば、ダブルサブスパン４１４Ａが第１の３２バイトのメモリアクセスに対応し、ダブルサブスパン４１４Ｂが第２の３２バイトのメモリアクセスに対応する。３２バイトのメモリアクセスの場合、三角形内の６５個のフラグメントにアクセスするためには１３回のメモリアクセスが必要となる。ここで、４７個のフラグメントのデータについては、アクセスするものの、利用されない場合がある。
【００７２】
図４Ｃにおいて、１６バイトのメモリアクセスに応じて、サブスパンのデータである２×２のフラグメントブロック、つまり６４バイトのメモリアクセスの場合のデータの４分の１が転送される。スパン４２４Ａが第１の１６バイトのメモリアクセスに対応し、スパン４２４Ｂが第２の１６バイトのメモリアクセスに対応し、スパン４２４Ｃが第３の１６バイトのメモリアクセスに対応し、スパン４２４Ｄが第４の１６バイトのメモリアクセスに対応する。１６バイトのメモリアクセスの場合、三角形内の６５個のフラグメントにアクセスするためには、２２回のメモリアクセスが必要となる。ここで、１３個のフラグメントのデータについては、アクセスするものの、利用されない場合がある。
【００７３】
他の例として、図４Ａ、図４Ｂおよび図４Ｃにおいて、三角形４０１が表示すべきピクセルまたはフラグメントが６５個（２６０バイト）であるとする。図４Ａについて、三角形４０１をレンダリングするためには、メモリ内の約１０個のスパンがアクセスされる。これには、１６０個のピクセルまたは６４０バイトのデータが含まれる。図４Ｂについて、三角形４０１をレンダリングするためには、メモリ内の約１３個のダブルサブスパンがアクセスされる。これには、１１２個のピクセルまたは４４８バイトのデータが含まれる。図４Ｃについて、三角形４０１をレンダリングするためには、メモリ内の約２２個のサブスパンがアクセスされる。これには、８８個のフラグメントまたは３５２バイトのデータが含まれる。上記の説明から分かるように、図４Ａの例と比較すると、図４Ｂおよび図４Ｃの例の場合には、各メモリチャネル内のサブチャネルと共にマイクロタイル方式のアドレス指定を実施することによって、過取得されたピクセルまたはフラグメント４０６が減少している。
【００７４】
上述したように、図４Ｂおよび図４Ｃは、メモリサブチャネルを持つマイクロタイル方式のメモリシステムを用いた、タイル状に分割されたアドレススペース内における三角形４０１のラスタライゼーションを示している。図４Ｂにおいて、６４バイトの幅のメモリチャネルを２本の３２バイトの幅のメモリサブチャネルから形成するとしてもよい。この場合、マイクロタイル方式のメモリアクセスでは、２つの不連続の３２バイトのアクセスを１つの６４バイトのアクセスへと組み合わせ、２つのサブチャネルに１対１で２つのアクセスを対応させ、合計６４バイトとする。三角形のラスタライゼーションを実施するには、ダブルサブスパン４１４へのアクセスを要求することになる。例えば、マイクロタイル方式のメモリコントローラはダブルサブスパン４１４Ｃおよび４１４Ｄへのアクセス要求を組み合わせて、１つのマイクロタイルメモリアクセスを生成する。別の例によると、メモリコントローラはダブルサブスパン４１４Ｅおよび４１４Ｆへのアクセス要求を組み合わせて、１つのマイクロタイルメモリ要求を生成する。このほかのダブルサブスパンに対するアクセス要求も組み合わせて１つのマイクロタイルメモリ要求またはマイクロタイルメモリアクセスを生成するとしてもよい。本発明の１以上の実施形態において、組み合わせたサブチャネルアクセスは、ＳＡ個の共有アドレスビットにおいて、共有アドレスビットパターンを持つ。
【００７５】
図４Ｃの例においては、６４バイトの幅のメモリチャネルを、４つの１６バイトの幅のメモリサブチャネルから形成するとしてもよい。この場合、マイクロタイルメモリアクセスでは、４つの不連続の１６バイトのアクセスを組み合わせて１つの６４バイトのアクセスを生成し、４つのサブチャネルに１対１でアクセスを対応させて、合計６４バイトとする。三角形のラスタライゼーションを実施するには、サブスパン４２４へのアクセスを要求することになる。例えば、マイクロタイル方式のメモリコントローラはサブスパン４２４Ｅ、４２４Ｆ、４２４Ｇおよび４２４Ｈへのアクセス要求を組み合わせて、１つのマイクロタイルメモリアクセスを生成する。このほかのサブスパンに対するアクセス要求も組み合わせて１つのマイクロタイルメモリ要求またはマイクロタイルメモリアクセスを生成するとしてもよい。本発明の１以上の実施形態において、組み合わせたサブチャネルメモリアクセスは、４つのメモリサブチャネルそれぞれに対応するＳＡ個の共有アドレスビットにおいて、共有アドレスビットパターンを持つ。
【００７６】
理想的には、マイクロタイルメモリ要求が全て、不使用のサブチャネルを生じさせることなく、６４バイトのメモリトランザクションを行うべく、マイクロタイル方式のトランザクションアセンブラによって利用されるのが望ましい。つまり、マイクロタイル方式の効率は、トランザクションアセンブラ３２６Ａおよび３２６Ｂが完全にポピュレートされたメモリトランザクションを生成できるかどうかに左右される。
【００７７】
図３Ｂは、システムメモリチャネルおよび１以上のキャッシュメモリ２０３に接続されたマイクロタイル方式のメモリ制御ブロック３００を有するマルチチャネルメモリサブシステムを示す。マルチチャネルメモリサブシステムは、メモリ制御ブロック３００内に、システムメモリに対するメモリチャネル毎にマイクロタイル方式のメモリコントローラを持つ。
【００７８】
図３Ｂにおいて、２本のメモリチャネル３０４Ａおよび３０４Ｂが設けられている。このため、メモリチャネル３０４Ａおよび３０４Ｂに対応して、２つのマイクロタイル方式メモリコントローラ３２１Ａおよび３２１Ｂが設けられている。メモリチャネル３０４Ａおよび３０４Ｂはそれぞれ、Ｓ本のサブチャネル３０５Ａ〜３０５Ｓを含む。各サブチャネル３０５は論理的にＮバイトの幅およびＢビットの幅を持つ。各メモリチャネル３０４は、論理的にＭ（Ｍ＝Ｎ×Ｓ）バイトの幅を持つ。
【００７９】
メモリ制御ブロック３００とキャッシュメモリ２０３の間には、書き込みデータパス３０１および読み出しデータパス３０２が設けられている。書き込みデータパス３０１および読み出しデータパス３０２はコマンドパスまたはアドレスパスを含み、当該パスを介して読み出し要求および書き込み要求が発行される。読み出しトランザクションの場合、読み出しデータパス３０２を介して、メモリ制御ブロック３００からキャッシュ２０３へとＮバイトが戻される。書き込みトランザクションの場合は、書き込みデータパス３０１を介してキャッシュ２０３からメモリ制御ブロック３００へとＮバイトの書き込み要求が供給される。キャッシュ２０３とメモリ制御ブロック３００の間でＮバイトの読み出し要求または書き込み要求が発行されるが、要求は、サブチャネルが４つの場合に利用されるように、２×２のピクセルアレイまたはテクセルアレイを表すべく２×２のタイルアレイとして図示されている。
【００８０】
メモリ制御ブロック３００はチャネル割り当て器３２０、第１メモリコントローラ３２１Ａ、および第２メモリコントローラ３２１Ｂを有する。メモリ制御ブロック３００はまた、メモリチャネル０（３０４Ａ）およびメモリチャネル１（３０４Ｂ）に接続されている。メモリチャネル０（３０４Ａ）はＳ本のサブチャネル３０５Ａ〜３０５Ｓを有する。同様に、メモリチャネル１（３０４Ｂ）はＳ本のサブチャネル３０５Ａ〜３０５Ｓを有する。共有アドレスライン３１０によって、各メモリコントローラ３２２と対応するサブチャネル３０５Ａ〜３０５Ｓが接続されている。独立アドレスライン３１１Ａ〜３１１Ｓは、サブチャネル３０５Ａ〜３０５Ｓと接続される。データバスのサブチャネル部分３１２Ａ〜３１２Ｓはそれぞれ、メモリサブチャネル３０５Ａ〜３０５Ｓに接続される。
【００８１】
メモリコントローラ３２１Ａおよび３２１Ｂは、サブチャネル割り当て器３２２Ａおよび３２２Ｂ、リオーダバッファ３２４Ａおよび３２４Ｂ、およびトランザクションアセンブラ３２６Ａおよび３２６Ｂを含む。
【００８２】
チャネルの論理幅である、Ｎバイトのデータに対するメモリ要求がチャネル割当器３２０に接続される。チャネル割り当て器は、当該メモリ要求を、メモリチャネルの変動などの状況に応じて、メモリチャネル０（３０４Ａ）もしくはメモリチャネル１（３０４Ｂ）に割り当てる。チャネル割り当て器によってメモリチャネルに割り当てられた後、当該Ｎバイトのデータに対するメモリ要求は、メモリコントローラ３２１Ａもしくは３２１Ｂ、そしてサブチャネル割り当て器３２２Ａもしくは３２２Ｂに接続される。
【００８３】
サブチャネル割り当て器３２２Ａおよび３２２Ｂは、当該Ｎバイトの要求をサブチャネル３０５Ａ〜３０５Ｓのうちの１本に割り当てる。図６を参照しつつ説明すると、識別サブチャネル割り当て（Ｉｄｅｎｔｉｔｙ  Ｓｕｂ−ｃｈａｎｎｅｌ  Ａｓｓｉｇｎｍｅｎｔ）、「ｓ」、は以下に説明するプロセスによって定義されるとしてもよい。（１）要求アドレス「Ａ」をＰ個のＳＤＡＢビットだけ右にシフトすると、新しい整数値
【数１】
2008544427.tif 000003
となる。（２）サブチャネル割り当て（Ｓｕｂ−ｃｈａｎｎｅｌ  Ａｓｓｉｇｎｍｅｎｔ）用の値「ｓ」は、
【数２】
2008544427.tif 000004
の最下位Ｑ個のＳＳＢビット
【数３】
2008544427.tif 000005
である。
【００８４】
マイクロタイル方式のメモリコントローラ３２１Ａおよび３２１Ｂは、リオーダバッファ３２４Ａおよび３２４Ｂを有する。リオーダバッファはサブチャネルに対するメモリ要求を並べ替えて、各メモリチャネルにおける帯域幅の効率を上げる。アドレス「Ａ」のＮバイトのデータブロックに対する読み出し要求または書き込み要求がメモリコントローラ３２２Ａまたは３２２Ｂに入力され、サブチャネルに割り当てられ、リオーダバッファに入れられる。リオーダバッファは各サブチャネルのリオーダ行列として実現されるとしてもよい。リオーダバッファは他の形態で実施するとしてもよい。
【００８５】
トランザクションアセンブラ３２６Ａおよび３２６Ｂは、各サブチャネルに１つずつ、リオーダバッファからＳ個の読み出し要求を選択して、メモリ読出しトランザクションを形成する。このとき、Ｓ個の要求はすべて同一の共有アドレスビットを持つ。また、トランザクションアセンブラ３２６Ａおよび３２６Ｂは、各サブチャネルに１つずつ、リオーダバッファからＳ個の書き込み要求を選択して、メモリ書き込みトランザクションを形成する。このとき、Ｓ個の要求はすべて同一の共有アドレスビットを持つ。例えば、トランザクションアセンブラ３２６Ａおよび３２６Ｂは、各サブチャネルに１つずつとなる、４つの１６バイトの要求に基づいて、メモリチャネルにおける６４バイトのトランザクションをアセンブルするとしてもよい。
【００８６】
トランザクションの形成を試みる場合、マイクロタイル方式のコントローラに設けられたトランザクションアセンブラは、ＳＡ個の共有アドレスビットが全てのサブチャネルについて同一であるような要求を、各サブチャネルにつき１つずつ、１セット同時に見つけることができない場合がある。この場合には、要求が見つからなかったサブチャネル上ではデータが転送されないか、もしくは、そのサブチャネル上でデータが転送される場合は、転送されたデータは破棄される。
【００８７】
図５Ａ〜図５Ｃは、メモリチャネル５００Ａ〜５００Ｃのバイトオーダーの例を示す。図５Ａにおいて、メモリチャネル５００Ａの転送サイズは０から６３の番号が振られた６４バイトである。論理幅６４バイトは、メモリチャネルの６４ビットの物理幅によってアクセスできるとしてもよい。
【００８８】
図５Ｂにおいて、メモリチャネル５００Ｂは２本のメモリサブチャネル５０５Ａおよび５０５Ｂに分割されるとしてもよい。メモリサブチャネル５０５Ａおよび５０５Ｂはそれぞれ、６４バイトの転送量の半分を転送するので、各サブチャネルは３２バイトを転送する。メモリサブチャネル５０５Ａは、アクセスされるメモリバイトは番号が０から３１で、図５Ａの番号付けから振り直されている。メモリサブチャネル５０５Ｂは、アクセスされるバイトは番号が３２から６３で図５Ａの番号付けから振り直されている。
【００８９】
図５Ｃにおいて、メモリチャネル５００Ｃは４本のメモリサブチャネル５１５Ａ、５１５Ｂ、５１５Ｃおよび５１５Ｄに分割されるとしてもよい。メモリサブチャネル５１５Ａ、５１５Ｂ、５１５Ｃおよび５１５Ｄはそれぞれ、６４バイトの転送量の４分の１を転送するので、各サブチャネルは１６バイトを転送する。メモリサブチャネル５１５Ａは０から１５の番号が振られたメモリバイトにアクセスし、番号の割り振りは図５Ａの番号付けから振り直されている。メモリサブチャネル５１５Ｂは１６から３１の番号が振られたメモリバイトにアクセスし、番号の割り振りは図５Ａの番号付けから振り直されている。メモリサブチャネル５１５Ｃは３２から４７の番号が振られたメモリバイトにアクセスし、番号の割り振りは図５Ａの番号付けから振り直されている。メモリサブチャネル５１５Ｄは４８から６３の番号が振られたメモリバイトにアクセスし、番号の割り振りは図５Ａの番号付けから振り直されている。このようにして、６４バイトの転送がメモリサブチャネル間で均等に分割され、バイト番号が振り直され、新しく割り当てられる。
【００９０】
図６に戻って、本発明の他の実施形態によると、バイト番号は上記の方法とは違う方法で振り直されるとしてもよい。
【００９１】
上述したように、マイクロタイルメモリアクセスをサポートするべく、Ｉ個の独立アドレスビットと共に、ＳＡ個の共有アドレスビットを利用するとしてもよい。一方、Ｑ個のサブチャネル選択ビットおよびＰ個のサブチャネルデータアドレスビットは、キャッシュラインによってアクセスされる物理バイトをアドレス指定するべく利用される。６４バイトのキャッシュラインの場合、Ｑ個のサブチャネル選択ビットおよびＰ個のサブチャネルデータアドレスビットの合計は６になる。
【００９２】
図６においては、Ｐ個のサブチャネルデータアドレスビットがＡ０〜Ａ８として示されている。同図では、Ｑ個のサブチャネル選択ビットはＡ１０、Ａ８およびその間のビットと示されている。同図において、Ｉ個の独立アドレスビットはＡ９、Ａ１０、Ａ１６、Ａ１８、Ａ２４およびその間のビットとして示されている。同図では、ＳＡ個の共有アドレスビットは例えば、Ａ１１、Ａ１５、Ａ１７、Ａ１９、Ａ２０、Ａ２５、Ａ２６およびＡｘとして示されている。その間のビットも共有アドレスビットとして利用されるとしてもよい。
【００９３】
Ｉ個の独立アドレスビットによって、サブチャネルアドレスはアドレスオフセットにおいて互いに独立している。サブチャネルを完全に独立したものにするためには、メモリコントローラから各サブチャネルへ送られるコマンドおよびアドレスを完全に複製するとしてもよいが、こうするとメモリコントローラのピンカウント、入出力ドライバ用のシリコン領域およびホストのプリント配線基板またはマザーボードにおける配線ルーティングに必要な領域が大幅に増加してしまう。この代わりとして本発明の実施形態は、図６に示すように、全サブチャネルがサブチャネルアドレスビットの１以上の部分を共有し、残りの部分「Ｉ」をサブチャネル毎に独立させる。このため、Ｉ個の独立アドレスビットを慎重に選択することによって、帯域幅効率を高めることができると同時に、独立アドレス信号を各サブチャネルに対して複製する場合の損失に対してバランスを取ることができる。
【００９４】
上述したように、Ｉ個の独立アドレスビットは様々な方法で取得されるとしてもよい。例えば、各メモリサブチャネルに対してアドレスラインを追加してルーティングさせることおよび／またはアドレスオーバーロードを利用することなどが挙げられる。
【００９５】
図７は、メモリモジュールＭＭ１〜ＭＭｎの一例としてメモリモジュールＭＭ７１０を示す図である。メモリモジュール７１０は例えば、ＳＩＭＭ（Ｓｉｎｇｌｅ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）またはＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）などであってもよい。メモリモジュール７１０は、プリント配線基板７５１に接続されたメモリ用集積回路チップ（メモリデバイス）７５２を有する。プリント配線基板７５１はエッジコネクタまたはエッジコネクション７５４を持ち、当該エッジコネクタまたはエッジコネクション７５４はホストプリント配線基板７６２のエッジコネクタ７６０もしくは別のタイプのコネクタに接続される。プリント配線基板７５１のエッジコネクタまたはエッジコネクション７５４は、複数の金属パッドから形成される。当該金属パッドはピンとも呼ばれる。エッジコネクション７５４が有する金属パッドのうちの１つはＶＣＣパッド、もしくは電力パッドである。エッジコネクション７５４が有する金属パッドのうちの別の１つはＶＳＳパッド、もしくはグランドパッドである。本発明の別の実施形態では、エッジコネクション７５４は金属パッドの代わりにピンを有するエッジコネクタであってもよく、この場合、ある１つのピンがＶＣＣピンもしくは電力ピンで、別の１つのピンがＶＳＳピンもしくはグランドピンとなる。本明細書ではエッジコネクタおよびエッジコネクションをまとめて電気コネクタ７５４と呼び、当該電気コネクタ７５４はピン、パッドもしくはその組み合わせから成るコネクタを有するとしてもよい。
【００９６】
メモリモジュール７１０はマイクロタイル方法およびマイクロタイルメモリアクセスをサポートする。メモリのマイクロタイル方式をサポートするべく、本発明の一実施形態においては、プリント配線基板７５１のエッジコネクション７５４のピンアウトのうち未使用の、もしくは接続されていないピンを用いて、メモリ用集積回路７５２に対してアドレス信号ラインを独立して追加するとしてもよい。エッジコネクション７５４の未使用の、もしくは接続されていないピンは、追加された独立アドレス信号ラインをメモリ用集積回路７５２にルーティングするために使用されるとしてもよい。同様の未使用のピンは、マザーボード７６２に実装された対応するエッジコネクタ７６０にも存在する。追加の独立アドレス信号ライン７６３は、独立アドレス情報を追加で供給するべく、メモリ制御ブロック内のメモリコントローラから既存のコネクタに対して、マザーボード７６２を横切るようにしてルーティングされる。メモリモジュールのエッジコネクション７５４のピンアウトには、多くの異なる種類の未使用、もしくは接続されていないピンがあるとしてもよい。
【００９７】
例えば、パリティ機能またはエラー補正コード（ＥＣＣ）機能はエッジコネクション７５４のピンアウトの一部にピンを有するとしてもよい。消費者のことを考慮してメモリモジュールのコストを低減するべく、パリティ機能およびＥＣＣ機能は通常メモリモジュールから外されるので、当該機能用に取っておかれた信号ラインおよびピンが未使用となる場合が多い。つまり、パリティ／ＥＣＣ信号ラインはマザーボードの全てのエッジコネクタにルーティングされるとしてもよいが、ＥＣＣがイネーブルされたメモリモジュール（例えば、ＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ））がインストールされた場合にのみ利用される。メモリモジュールの未使用の既存のＥＣＣライン／ピンは、独立アドレス信号ラインとして改めて割り当てられ、ＥＣＣがイネーブルされていないメモリモジュールにおいてマイクロタイル方式を実現するべく利用される。しかし、ＥＣＣライン／ピンを利用してマイクロタイル方式を実現する場合、ＥＣＣ機能およびマイクロタイル機能の両方を同時にメモリモジュール上でイネーブルすることはできない。上記の解決方法は、パリティ／ＥＣＣのイネーブルを通常必要としない（もしくは望まない）環境において、効果を発揮する。
【００９８】
別の例を挙げると、エッジコネクション７５４のピンアウトのうち任意で設けられるアクティブローデータ信号ラインは、しばしば未使用となる。これは、確実に設けられるアクティブハイ信号ラインに対して冗長であるためである。またさらに別の例として、メモリモジュールのエッジコネクション７５４のピンアウトのうち任意で設けられるテストピンは、テストモードが利用されないこともあるので、未使用となることもある。
【００９９】
どの場合であっても、未使用のピンが独立アドレス信号ピン７５５Ａ〜７５５Ｄとして再割り当てされ、独立アドレス信号ライン７６３はホストプリント配線基板７６２上でルーティングされ、独立アドレス信号ライン７５６Ａ〜７５６Ｄはメモリモジュール７１０のＰＣＢ７５１上でメモリ用集積回路７５２へとルーティングされる。
【０１００】
場合によっては、メモリモジュール７１０はさらに、バッファ用集積回路（バッファ）またはエラー補正制御（ＥＣＣ）用集積回路といった、サポート用集積回路７５０を備えるとしてもよい。しかし上述したように、ＥＣＣがメモリモジュール７１０で実現されていない場合、ＥＣＣ用に取っておかれるはずであったエッジコネクション７５４のピンは未使用となり、マイクロタイル方式をサポートするべくメモリサブチャネル用の独立アドレスラインに対して利用されている可能性がある。
【０１０１】
マイクロタイル方式をサポートし、メモリサブチャネルの独立したアドレス指定をサポートするべく、メモリモデル７１０が備える複数のメモリ用集積回路７５２は分割されて、図７に示すような４本のメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃおよび２０５Ｄのような、複数の異なるメモリサブチャネルへと割り当てられるとしてもよい。１つのメモリ用集積回路７５２のデータ入出力のビット幅は通常、４、８または１６ビットである。メモリチャネルの物理幅が６４ビットで各メモリサブチャネルの物理幅が１６ビットの場合、４つの１６ビット幅のメモリ用集積回路７５２であれば、１対１で４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃおよび２０５Ｄへと割り当てられる。メモリチャネルの物理幅を６４ビットとして各メモリサブチャネルの物理幅を１６ビットとする場合、８個の８ビット幅のメモリ用集積回路７５２であれば、２対１で４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃおよび２０５Ｄへと割り当てられる。メモリチャネルの物理幅を６４ビットとして各メモリサブチャネルの物理幅を１６ビットとする場合、１６個の４ビット幅のメモリ用集積回路７５２であれば、４対１で４つのメモリサブチャネル２０５Ａ、２０５Ｂ、２０５Ｃおよび２０５Ｄへと割り当てられる。
【０１０２】
メモリサブチャネルが２本の場合、メモリチャネルの物理幅を６４ビットとして各メモリサブチャネルの物理幅を３２ビットとするべく、４個の１６ビット幅のメモリ用集積回路７５２であれば、２対１で２つのメモリサブチャネルへと割り当てられる。メモリチャネルの物理幅を６４ビットとして各メモリサブチャネルの物理幅を３２ビットとする場合、８個の８ビット幅のメモリ用集積回路７５２であれば、４対１で２つのメモリサブチャネルへと割り当てられる。メモリチャネルの物理幅を６４ビットとして各メモリサブチャネルの物理幅を３２ビットとする場合、１６個の４ビット幅のメモリ用集積回路７５２であれば、８対１で２つのメモリサブチャネルへと割り当てられる。
【０１０３】
メモリモジュールのエッジコネクション７５４および標準エッジコネクタ７６０の未使用のピンを利用することによって、メモリモジュール７１０は既存のメモリサブシステムに対して後方互換性を有することができる。
【０１０４】
一例として、図３Ａに示すように、４本の独立メモリサブチャネルが各メモリチャネルにあるとする。各サブチャネルのメモリ領域に独立してアクセスできるよう、サブチャネル毎に独立アドレスラインが４本追加されるとしてもよい。アドレスライン３１１Ａ〜３１Ｄ（Ａ９〜Ａ６と示す）は、サブチャネル毎に独立している。既存のアドレスラインとして４本のアドレスラインが１セットあるとすると、ルーティングされる追加アドレスラインの合計数は４本×３で、１２本の独立アドレス信号ラインとなる。既存のエッジコネクタおよびメモリモジュールのピンアウトの一部が未使用の場合、独立アドレス信号を追加するにはメモリモジュールに対してマザーボードを介して追加信号ラインをルーティングするとしてもよい。
【０１０５】
図８はメモリ用集積回路８００を示すブロック図である。メモリ用集積回路８００は、１以上のメモリデバイス７５２として、メモリモジュールＭＭ１〜ＭＭｎに備えられるとしてもよい。メモリ用集積回路８００は、メモリアレイ８０１、行アドレスデコーダ８０２、ビットラインプリチャージ／リフレッシュロジック８０３、列デコーダ８０４、センス増幅器アレイおよび書き込みドライバブロック８０６、コントローラ８０８、アドレスバッファ８１１およびマイクロタイル方式制御ロジック８１２を有し、これらの構成要素は図示するように互いに接続されている。マイクロタイル方式制御ロジック８１２は、オーバーロードロジック（ＯＬ）と呼ぶとしてもよい。
【０１０６】
コントローラ８０８は、メモリ用集積回路８００の一般的な機能を制御するべく設定／初期化され得る複数のビットを持つ、モードレジスタ８１０を有する。当該モードレジスタは、上記ビットを格納するためのビットストレージ回路を持つ。モードレジスタ８１０のビットは、ロードストローブと同時に、アドレスライン８２０またはデータライン８２１上で適切なビット設定を印加することによって設定されるとしてもよい。ロードストローブは、メモリがアイドル状態の場合にメモリ用集積回路のコントローラ８０８に接続された制御ライン８２２のうち１以上の制御ライン８２２をトグルすることによって生成されるとしてもよい。コントローラ８０８は制御ライン８２２のうち１以上の制御ライン８２２を受け取る。当該１以上の制御ライン８２２には、行アドレスストローブＲＡＳ＃、列アドレスストローブＣＡＳ＃、書き込みイネーブルＷＥ＃、チップ選択ＣＳ＃、バンク選択ＢＡ０、ＢＡ１、ＢＡ２、リセットＲＳＴ＃、クロックＣＬＫおよびこれ以外の標準規格メモリ用集積回路制御入力が含まれるとしてもよい。当該１以上の制御ライン８２２上で送信される制御信号はアクティブロー信号であってもよいしアクティブハイ信号であってもよい。アクティブロー信号は真である条件を反転したもので、アクティブハイ信号は真の条件が反転されていないものである。
【０１０７】
具体的には、モードレジスタ８１０は、マイクロタイルメモリアクセスをサポートするように集積回路８００を構成するための用いられるとしてもよい。以下で詳述するが、モードレジスタ８１０が持つビットのうち１つは、マイクロタイル方式イネーブルビットである。マイクロタイル方式イネーブルビットは、アクティブハイのビットでＭＴＥビットと呼ぶとしてもよい。もしくは、マイクロタイル方式イネーブルビットは、アクティブローのビットでＭＴＥビット＃と呼ぶとしてもよい。どちらの場合にしても、マイクロタイル方式イネーブルビットは通常、マイクロタイルイネーブルビットまたはＭＴＥビットと呼ぶとしてよい。マイクロタイルイネーブルビットは、デバイスの電源が最初に入った場合もしくはリセットされた場合にマイクロタイル方式がディセーブルされるように、デフォルトでリセットされる。このように構成することによって、メモリモジュール７１０およびメモリ用集積回路８００は、マイクロタイル方式をサポートしないシステムに挿入された場合には、後方互換性を有することができる。モードレジスタ８１０はさらに、どのメモリサブチャネルに対してメモリ用集積回路が割り当てられてアドレス指定可能になっているか示す、１以上のサブチャネル選択（ＳＣＳ）ビットを持つ。ＭＴＥビットおよび１以上のＳＣＳビットは、マイクロタイル方式制御ロジック８１２に接続される。
【０１０８】
ロードストローブはロードモードレジスタコマンドによって生成されビット設定をモードレジスタにロードするべく利用されるが、メモリ用集積回路からモードレジスタ内に格納されるビット設定を読み出すためには新しいコマンドが利用されるとしてもよい。モードレジスタのビットを読み出すべく、メモリ用集積回路にステータスコマンドが供給されるとしてもよい。当該ステータスコマンドは、メモリがアイドル状態の場合に、メモリ用集積回路のコントローラ８０８に接続される制御ライン８２２のうち１以上の制御ラインを、一意的な方法でトグルまたは設定することによって、形成されるとしてもよい。この場合、マイクロタイル方式をサポートするメモリ用集積回路からは、ＭＴＥビット８５０が読み出される可能性がある。
【０１０９】
マイクロタイル制御ロジック８１２は、複数のアドレス信号ライン８２０に接続され、アドレスを、アドレスバッファ８１１を介して列アドレスデコーダ８０４および／または行アドレスデコーダ８０２へと接続する。アドレスバッファ８１１は、内部アドレス信号ライン上のアドレス信号をラッチして当該アドレス信号をアドレスデコーダのために保持するとしてもよい。制御ロジック８１２はまた、メモリアレイ８０１へのマイクロタイルメモリアクセスをサポートするべく、マイクロタイルイネーブルビットおよび少なくとも１つのサブチャネル選択ビットを受け取る目的で、コントローラ内に設けられたモードレジスタに接続される。マイクロタイルイネーブルビットおよび少なくとも１つのサブチャネル選択ビットに応じて、制御ロジック８１２は、割り当てられている所定のサブチャネルの独立アドレス情報を取得するべく、アドレス信号ラインのうち１以上を選択する。つまり、所定のサブチャネルに割り当てられるのはアドレス信号ラインの一部のみであるとしてもよい。制御ロジック８１２は、独立アドレス情報を抽出するべく、この一部のアドレス信号ラインを選択する。これ以外のアドレス信号ラインは、他のサブチャネルに利用されるとしてもよいし、全サブチャネルによって共有される共有アドレス信号ラインであってもよい。制御ロジック８１２は、独立アドレス情報を、列アドレスデコーダ８０４および／または行アドレスデコーダ８０２に接続する。制御ロジックによる１以上のアドレス信号ラインの選択はさらに、列アドレスロード信号（ＣＡＳ＃）およびトランザクションイネーブル信号に基づいて行われるとしてもよい。
【０１１０】
さらに、１つの有効ビットの独立アドレス情報を別の有効ビット位置へとスウィズルするべく、マイクロタイル制御ロジック８１２に対して制御ロジックを追加して設けるとしてもよい。これは、マイクロタイル方式がイネーブルされている場合に、スクリーンリフレッシュのためなど、ある程度線形のアドレス指定方法を実現するためのものである。
【０１１１】
センス増幅器アレイおよび書き込みドライバブロック８０６は、データ入出力（Ｉ／Ｏ）バスに接続され、メモリアレイからデータを読み出すための、もしくはメモリアレイ８０１にデータを書き込むための制御信号をコントローラ８０８から受け取るとしてもよい。センス増幅器アレイおよび書き込みドライバブロック８０６は、データ入出力（Ｉ／Ｏ）バス８２１を介して、メモリアレイ８０１に書き込むべきデータを受け取り、メモリアレイ８０１から読み出されたデータを出力する。データ入出力（Ｉ／Ｏ）バス８２１は、メモリ用集積回路８００に備えられた、通常４ビット、８ビットまたは１６ビットのビット幅を持つ双方向データラインを含む。
【０１１２】
メモリアレイ８０１は、行列形式に編成されたメモリセルを有する。メモリセルは通常、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルであるが、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルであってもよいし、プログラム可能な不揮発性型（ＮＶＲＡＭ）の書き換え可能なメモリセルであってもよい。
【０１１３】
行アドレスデコーダ８０２は、アドレスライン上の行アドレスを受け取り、メモリアレイ８０１内においてある行のメモリセルをアドレス指定するべく、１つのワードライン（ＷＬ）上で信号を生成する。列デコーダ８０４もまた、アドレスライン上の列アドレスを受け取り、当該ある行のメモリセルのうちどの列にアクセスすべきかを選択する。基本的に列デコーダ８０４は、アクセスすべきメモリセルに対応するビットラインを選択する。読み出しアクセスの場合、列デコーダ８０４はマルチプレクサとして機能する。書き込みアクセスの場合、列デコーダ８０４はデマルチプレクサとして機能する。列アドレスデコーダ８０４は、共有列アドレス信号に基づいてメモリアレイ８０１内のメモリセルの列に対して選択的にアクセスする。モードレジスタ内でマイクロタイルイネーブルビットが設定されていれば、列アドレスデコーダ８０４は、さらに独立サブチャネル列アドレス信号に基づいて、メモリアレイ８０１内のメモリセルの列に対して選択的にアクセスする。
【０１１４】
センス増幅器アレイおよび書き込みドライバブロック４０６は、読み出し動作中においてアクセスされたメモリセル内に格納されているのが論理値１であるか論理値０であるのかを判断するべく、センス増幅器を有するとしてもよい。読み出し動作において、アドレス指定されたメモリセルは、メモリアレイのビットラインのうち選択されたビットラインに対して論理値１もしくは論理値０を出力するよう試みる。センス増幅器は、読み出し動作において、メモリアレイのビットラインのうち選択されたビットラインに対してアドレス指定されたメモリセルが出力した値が論理値１であるか論理値０であるかを検出する。センス増幅器アレイおよび書き込みドライバブロック４０６はさらに、書き込み動作において、メモリアレイのビットラインのうち選択されたビットラインに対して、および、アドレス指定されたメモリセルに対して、論理値１または論理値０を出力する書き込みドライバを有するとしてもよい。
【０１１５】
プリチャージ／リフレッシュブロック８０３はメモリアレイ８０１のビットラインに接続される。プリチャージ／リフレッシュブロック８０３は、読み出し動作または書き込み動作においてメモリセルに対するアドレス指定に先立って、ビットラインの準備を整えるとしてもよい。プリチャージ／リフレッシュブロック８０３はまた、動作していない期間において、メモリアレイ８０１内のメモリセルに格納されているデータをリフレッシュするとしてもよい。
【０１１６】
あるメモリサイクルにおいて、メモリ用集積回路８００に接続された既存の信号ラインのうち何本かは使用されていないので、別の目的を達成するべく再割り当てすることができる。一例を挙げると、ＣＡＳ（列アドレスストローブ）サイクルの間は、アドレスライン全てが使用されているわけではない。使用されていないアドレス信号ラインは、ＣＡＳサイクルにおいて、メモリモジュール（例えばＤＩＭＭ）およびその内部に設けられたメモリ用集積回路デバイスに対して追加のアドレス情報を供給するように、再割り当てすることが可能である。メモリ制御ブロック２０２内に設けられたメモリコントローラ２０８が、ＣＡＳサイクルにおいて、上記の使用されていないアドレス信号ラインを介して、追加のアドレス情報を送信する。マイクロタイル方式制御ロジック回路８１２が追加され、モードレジスタ８１０内にビットを有するメモリ用集積回路８００は、ＣＡＳサイクルにおいて、使用されていなかったアドレス信号ラインを介して送信されるこのようなオーバーロード信号を認識してデコードする。
【０１１７】
図９は、マイクロタイル方式をサポートするべく、モードレジスタ８１０Ａに接続されるようにメモリ用集積回路内に設けられた、マイクロタイル方式メモリ制御ロジック８１２Ａの一例を示す図である。本実施例に係るマイクロタイル方式メモリ制御ロジック８１２Ａは、使用されていないメモリサイクル、例えばＣＡＳサイクルにおいて追加のアドレス情報を有するオーバーロードされたアドレス信号ラインをデコードする。マイクロタイル方式メモリ制御ロジック８１２Ａを示す同図の概略図によると、マイクロタイル方式をサポートするべく４本のサブチャネルが設けられており各サブチャネルの論理幅は１６バイトとなっている。
【０１１８】
マイクロタイル方式メモリ制御ロジック８１２Ａの中心となるのは、独立アドレス情報を取得するデュアル４入力マルチプレクサ９００である。マイクロタイル方式メモリ制御ロジック８１２Ａのデュアル４入力マルチプレクサ９００は、マルチプレクス出力（Ａ３'およびＡ４'）において、共有列アドレス信号または独立サブチャネル列アドレス信号を選択的に出力する。デュアル４入力マルチプレクサの出力（Ａ３'およびＡ４'）は列アドレスデコーダの入力に接続されている。独立サブチャネル列アドレス信号は、メモリサブチャネルで受け取るべく選択された１以上の独立列アドレス信号である。
【０１１９】
マイクロタイル制御ロジック８１２Ａはメモリ用集積回路のアドレスピンからアドレスラインを受け取る。マイクロタイル制御ロジック８１２Ａは、行アドレスデコーダおよび列アドレスデコーダに分配されるべく、アドレスバッファにアドレスを供給する。メモリ用集積回路のアドレスピンの一部は、共有行アドレス信号、共有列アドレス信号、独立列アドレス信号もしくはこれらの組み合わせのいずれかを受け取る。例えば、アドレスピンＡ５〜Ａ９およびＡ１３はマイクロタイル制御ロジック８１２Ａの周囲に引き回され、各メモリサブチャネルに対する共有行アドレス信号および／または共有列アドレス信号を受け取るとしてもよい。アドレスピンＡ０〜Ａ４およびＡ１０〜Ａ１２はデュアル４入力マルチプレクサ９００に接続され、共有行アドレス信号および、マイクロタイル方式がイネーブルされている場合は、独立列アドレス信号を受け取るとしてもよい。マイクロタイル方式がイネーブルされていない場合、デュアル４入力マルチプレクサ９００に接続されたアドレスピンＡ３およびＡ４は、共有行アドレス信号および／または共有列アドレス信号を受け取るとしてもよい。列アドレスロードストローブピンＣＡＳ＃は、列アドレスロードストローブ信号を受け取り、メモリ用集積回路内で取得するべくあるサブチャネルに割り当てられたアドレスピン上の独立列アドレス信号のうち適切な１以上の独立列アドレス信号を選択的に受け取るべく、制御ロジック８１２Ａに接続されている。列アドレスロードストローブ信号はまた、適切なアドレスピン以外で共有列アドレス信号を受け取って取得するためにも利用するとしてもよい。
【０１２０】
モードレジスタ８１０Ａは３ビット格納回路を備えるとしてもよい。当該３ビット格納回路は例えば、マイクロタイルイネーブル（ＭＴＥ）ビット、サブチャネル選択ビット０（ＳＣＳ０）ビット、およびサブチャネル選択ビット１（ＳＣＳ１）ビットの設定を格納するためのフリップフロップまたはメモリセルである。モードレジスタ８１０Ａのこれらの３ビットは、適切なサブチャネル選択ビットおよびマイクロタイルイネーブルビットを用いてプログラムされる。上述した３ビットは、電源投入時またはリセット時といった初期化中において、メモリ用集積回路が受け取るビット設定に基づいて、設定／リセットされる。当該３ビットはまた、メモリ用集積回路がアイドル状態でメモリアクセスが行われていない場合に、設定／リセットされるとしてもよい。ビット設定は、アドレス信号ラインまたはデータ信号ラインを介して受け取られ、メモリ用集積回路に接続された１以上の制御ライン入力によって生成されるロードストローブ信号に対応してモードレジスタにロードされるとしてもよい。メモリ用集積回路においてマイクロタイル方式がイネーブルされる予定の場合は、マイクロタイルイネーブルビットＭＴＥを設定する。ＭＴＥビットはアクティブハイであるので、高ロジックレベルに設定される。アクティブローの場合には、ＭＴＥ＃ビットが低ロジックレベルに設定される。図９に例示した制御ロジックでは、メモリチャネルが持つサブチャネルの数は４以下である可能性がある。ここで、ＳＣＳ０ビットおよびＳＣＳ１ビットによって、当該メモリ用集積回路は４本のメモリサブチャネルのうちのいずれか１本に割り当てられる。同一メモリモジュール上に設けられた他のメモリ用集積回路は、４本のメモリサブチャネルのうち別の１本に割り当てられるとしてもよい。
【０１２１】
各サブチャネルの独立アドレス情報は、ＣＡＳサイクルにおいて、アドレスラインＡ０〜Ａ４およびＡ１０〜Ａ１２といった既存のアドレスラインを介して入手できる。本例によると、アドレスラインＡ３およびＡ４は普通に使用される。従って、アドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１、Ａ１２およびＡ１３がオーバーロードされる信号ラインとなる（Ａ１３は、トランザクション毎に特定されるが、マイクロタイルトランザクションイネーブル信号ラインとしてもよい）。既存のアドレスラインをオーバーロードするこの方法によると、実質的には６本の追加アドレスライン（Ａ０〜Ａ２およびＡ１０〜Ａ１２）が、配線（つまり、ワイヤによるルーティング）またはピンを追加する必要なくメモリ用集積回路デバイスに提供される。
【０１２２】
マイクロタイル方式メモリ制御ロジック８１２Ａは各メモリ用集積回路に設けられるので、モードレジスタに格納されたサブチャネル選択ビット（例えば、ＳＣＳ０（８５１Ａ）およびＳＣＳ１（８５１Ｂ））に応じてアドレスラインＡ０〜Ａ４およびＡ１０〜Ａ１２から適切な独立サブチャネルアドレス情報が選択される。サブチャネル選択ビット（例えば、ＳＣＳ０（８５１Ａ）およびＳＣＳ１（８５１Ｂ））の設定は、マルチプレクサ９００の入力選択プロセスを制御するべく、モードレジスタ８１０Ａからマイクロタイル方式メモリ制御ロジック８１２Ａにルーティングされる。マルチプレクサ９００の出力端子は、アドレス信号ラインＡ３'およびＡ４'に接続される。アドレス信号ラインＡ３'およびＡ４'は、メモリアレイからメモリセルを選択するべく、アドレスデコーダ（例えば、列アドレスデコーダ８０４）に接続される。
【０１２３】
マイクロタイル方式制御ロジックは、ＣＡＳ＃がアクティブロー（ＣＡＳサイクル）の場合である列アドレス書き込みアクセス時間において、メモリのアドレス信号ラインＡ３'およびＡ４'をオーバーロードするとしてもよい。つまり、アドレスビットＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１およびＡ１２は通常、マイクロタイル方式が採用されていない場合には、メモリ用集積回路に列アドレスが書き込まれている間には使用されないアドレスビットである。アドレスビットＡ３およびＡ４は、Ａ３'およびＡ４'によって置換されるが、メモリ用集積回路に列アドレスを書き込むために使用されるアドレスビットである。マイクロタイル方式でない場合ＣＡＳサイクルの間は通常アドレスビットは使用されないが、ＲＡＳ＃がアクティブロー（ＲＡＳサイクル）の期間に、メモリ用集積回路への行アドレスの書き込みにおいてメモリ用集積回路で行アドレスを選択するためにアドレスビットが利用されることがある。このことを本明細書ではアドレスオーバーロードと呼んでいる。列アドレスストローブＣＡＳ＃の間はＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１およびＡ１２が使用されないアドレスビットとして図９では図示されているが、これら以外の未使用のアドレスビットが、マイクロタイル方式をサポートするためにオーバーロードされるアドレス信号ラインとして利用されるとしてもよい。
【０１２４】
マイクロタイル方式メモリ制御ロジック８１２Ａは、デュアル４入力マルチプレクサ９００、３入力ＡＮＤゲート９０３、複数の２入力ＡＮＤゲート９０４〜９１１および複数のインバータ９１２〜９１８を有し、上記の構成要素は互いに図示するように接続されている。ＡＮＤゲートがＮＡＮＤゲートと当該ＮＡＮＤゲートの出力に接続されたインバータによって構成されるのは公知である。
【０１２５】
デュアル４入力マルチプレクサ９００は一対の４：１マルチプレクサで、各マルチプレクサは第１選択制御入力Ｓ０および第２選択制御入力Ｓ１を有し、第１選択制御入力Ｓ０同士および第２選択制御入力Ｓ１同士は接続されている。第１の４：１マルチプレクサは、入力１Ｉ０〜１Ｉ３を受け取り、選択制御入力Ｓ０およびＳ１に応じた出力１Ｙを供給する。第２の４：１マルチプレクサは、入力２Ｉ０〜２Ｉ３を受け取り、選択制御入力Ｓ０およびＳ１に応じた出力２Ｙを供給する。Ｓ０とＳ１が共に論理値Ｌまたは０である場合、入力１Ｉ０および２Ｉ０がそれぞれ出力１Ｙおよび２Ｙに対してマルチプレクスされる。Ｓ０が論理値Ｈまたは１でＳ１が論理値Ｌまたは０である場合、入力１Ｉ１および２Ｉ１がそれぞれ出力１Ｙおよび２Ｙにマルチプレクスされる。Ｓ０が論理値Ｌまたは０でＳ１が論理値Ｈまたは１である場合、入力１Ｉ２および２Ｉ２がそれぞれ出力１Ｙおよび２Ｙにマルチプレクスされる。Ｓ０とＳ１が共に論理値Ｈまたは１である場合、入力１Ｉ３および２Ｉ３がそれぞれ出力１Ｙおよび２Ｙに対してマルチプレクスされる。
【０１２６】
デュアル４入力マルチプレクサ９００の第１の４入力マルチプレクサは、入力１Ｉ０〜１Ｉ３においてアドレスビットＡ３、Ａ０、Ａ１およびＡ２を受け取り、受け取ったアドレスビットのうち１つを選択して、１Ｙ出力からアドレス信号ラインＡ３'へと出力する。第２の４入力マルチプレクサは、入力２Ｉ０〜２Ｉ３においてアドレスビットＡ４およびＡ１０〜Ａ１２を受け取り、受け取ったアドレスビットのうち１つを選択して、２Ｙ出力からアドレス信号ラインＡ４'へと出力する。選択制御入力Ｓ０およびＳ１はそれぞれ、ＡＮＤゲート９０４および９０５の出力へと接続される。
【０１２７】
ＡＮＤゲート９０３は、出力においてマイクロタイルモード信号（ＭＴＭ）９０２Ａを生成する。マイクロタイルモード信号９０２Ａはアクティブハイで、独立アドレス信号が、デュアル４入力マルチプレクサ９００に接続されている、オーバーロードされたアドレス信号ライン上にある場合に適切なタイミングで生成される。インバータ９１２は、出力において、アクティブローなＣＡＳ＃信号を反転させてアクティブハイのＣＡＳ信号を生成する。当該インバータ９１２の出力はＡＮＤゲート９０３の入力に接続されている。ＡＮＤゲート９０３は、ＣＡＳ信号、ＭＴＥビット設定（ＭＥ）およびトランザクションイネーブル信号（ＴＥ、アドレスビットＡ１３）を論理加算して、マイクロタイルモード信号９０２Ａを生成する。つまり、マイクロタイル方式がＭＴＥビットによってイネーブルとされ、トランザクションがＴＥ信号によってイネーブルとされている場合、ＣＡＳ＃が論理値Ｌであればマイクロタイルモード信号（ＭＴＭ）９０２Ａが生成される。
【０１２８】
マイクロタイルモード信号（ＭＴＭ）９０２Ａは、ＡＮＤゲート９０４および９０５の入力に接続されており、サブチャネル選択ビットＳＣＳ０（８１５Ａ）およびＳＣＳ１（８５１Ｂ）を制御する。何らかの理由でマイクロタイルモード信号（ＭＴＭ）９０２Ａが論理値Ｌとなった場合、マルチプレクサ９００の選択制御入力Ｓ０およびＳ１は、ＡＮＤゲート９０４および９０５の出力において、論理値がＬまたは０となる。Ｓ０およびＳ１が共に論理値Ｌまたは０となった場合、入力１Ｉ０および２Ｉ０に接続されたアドレスビットＡ３およびＡ４がそれぞれ出力１Ｙおよび２Ｙにおいてアドレス信号ラインＡ３'およびＡ４'にマルチプレクスされる。ビットＡ３およびＡ４は単に信号ラインＡ３'およびＡ４'へと通過するだけである。マイクロタイル方式がイネーブルされていない場合、もしくはビットＡ３およびＡ４が他の目的、例えば行アドレス指定に使用されている場合には、これがデフォルト状態となる。
【０１２９】
マイクロタイルモード信号（ＭＴＭ）９０２Ａがアクティブハイの場合、サブチャネル選択ビットＳＣＳ０およびＳＣＳ１が、ＡＮＤゲート９０４および９０５を介して、マルチプレクサ９００の選択制御入力Ｓ０およびＳ１に接続される。このため、マイクロタイルモード信号（ＭＴＭ）９０２ＡがアクティブハイとなるようにＡＮＤゲート９０３によって生成される場合、サブチャネル選択ビットＳＣＳ０およびＳＣＳ１によって、４つの入力のうちいずれを選択してマルチプレクサ９００の出力にマルチプレクスするかが制御される。サブチャネル選択ビットＳＣＳ０およびＳＣＳ１の設定は、メモリ用集積回路が割り当てられるサブチャネルを指し示し、マルチプレクサ９００に接続されているアドレスビットラインのうちどれが、ＣＡＳサイクルにおいて独立アドレス信号を取得するために使用されるかを決定する。
【０１３０】
サブチャネル選択ビットＳＣＳ０およびＳＣＳ１の設定は、サブチャネル毎に異なる。サブチャネルが４本ある場合、サブチャネル選択ビットＳＣＳ０およびＳＣＳ１については４つの異なる設定がある。しかし、４本のサブチャネルをサポートするべく構成されたマイクロタイル制御ロジックは、サブチャネル選択ビットＳＣＳ０およびＳＣＳ１について２つの異なる設定のみを使用することによって、サポートするサブチャネルの数を２本にまで簡単に低減できる。サブチャネル選択ビットＳＣＳ０およびＳＣＳ１の設定が異なると、マイクロタイルモード信号が生成された場合に、独立アドレス信号を取得するためのアドレス信号ラインとしてマルチプレクサ９００が選択するアドレス信号ラインも異なる。
【０１３１】
マイクロタイルモード信号（ＭＴＭ）９０２Ａはまた、ＡＮＤゲート９０６〜９１１の第１入力において、インバータ９１３〜９１８に接続されている。アドレス信号Ａ０、Ａ１、Ａ２、Ａ１０、Ａ１１およびＡ１２は、ＡＮＤゲート９０６〜９１１の第２入力に接続されている。マイクロタイルモード信号（ＭＴＭ）９０２Ａは、メモリ用集積回路に接続されたアドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１およびＡ１２上の信号を、ＡＮＤゲート９０６〜９１１の出力Ａ０'、Ａ１'、Ａ２'、Ａ１０'、Ａ１１'およびＡ１２'において制御する。つまり、マイクロタイルモード信号（ＭＴＭ）９０２Ａが論理値Ｌまたは０の場合、ＡＮＤゲート９０６〜９１１は、アドレスラインＡ０、Ａ１、Ａ２、Ａ１０、Ａ１１およびＡ１２上の信号を、出力Ａ０'、Ａ１'、Ａ２'、Ａ１０'、Ａ１１'およびＡ１２'ならびにアドレスデコーダへと通過させる。一方、マイクロタイルモード信号（ＭＴＭ）９０２Ａが論理値Ｈまたは１の場合、ＡＮＤゲート９０６〜９１１は、出力Ａ０'、Ａ１'、Ａ２'、Ａ１０'、Ａ１１'およびＡ１２'はすべて論理値Ｌまたは０へと制御する。このように、独立アドレス情報を取得するべくマイクロタイルモード信号（ＭＴＭ）９０２Ａがアクティブハイの場合、論理値０に制御されるので出力Ａ０'、Ａ１'、Ａ２'、Ａ１０'、Ａ１１'およびＡ１２'は使用されない。
【０１３２】
メモリ用集積回路への識別値のロード
メモリ用集積回路は、識別値を格納するためのラッチまたはビットレジスタを備えるとしてもよい。当該識別値は、メモリチャネルが有する各メモリ用集積回路に対して一意的な「人格」を与えるための追加機能と組み合わせられるとしてもよい。当該追加機能は、識別値を条件として持つ回路を含むとしてもよい。識別値は、メモリチャネルおよびメモリモジュールが備える各メモリ用集積回路に割り当てられる値であって、任意または所定の値であってよい。識別値は、メモリ用集積回路毎に一意的であるとしてもよいし、同一の識別値を持つメモリ用集積回路を１グループとしてもよい。
【０１３３】
識別値は、メモリ用集積回路の専用ピンにハードワイヤードされる識別ビットであってもよい。識別値は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）集積回路といった、メモリ用集積回路が備える既存のモードレジスタの複数のビットにロードされるとしてもよい。もしくは、識別値は、新たに定義されたレジスタの複数のビットにロードされるとしてもよい。識別値を表す識別ビットを格納するレジスタは、書き込み専用レジスタ、初回の書き込み後はロックすることが可能なレジスタ、もしくは初期化プロセスの最中もしくはその後にロックすることが可能なレジスタなどであってよい。
【０１３４】
マイクロタイルメモリチャネルの場合、各メモリモジュールの識別値は、当該メモリモジュールが割り当てられているサブチャネルである。識別値の識別ビットは、前述したサブチャネル選択ビットＳＣＳ０（８５１Ａ）およびＳＣＳ１（８５１Ｂ）のような、サブチャネル選択ビットに格納される。
【０１３５】
メモリ用集積回路の識別値は、製造工程以外の工程でプログラム可能である。つまり、識別値は、集積回路の製造工程でメモリ用集積回路にロードされるわけではない。識別値は、製造工程以外の工程で、メモリ用集積回路の製造が完了した後に、様々な方法で各メモリ用集積回路にロードまたは格納される。
【０１３６】
本発明の一実施形態によると、識別値を表すビットは、メモリモジュールに実装されたメモリ用集積回路のサブチャネル選択ピンが電源またはグランドにハードワイヤードされることによって設定される。メモリ用集積回路はバッファを介して内部的に識別ビット値を受け取るとしてもよいし、識別ビット値はロードストローブによってレジスタにロードされるとしてもよい。本発明の別の実施形態によると、識別値のビットはデータバスのデータビットラインに設定され、メモリ用集積回路のリセット後に所定数のクロックサイクルが経過するとレジスタにロードされる。本発明のさらに別の実施形態によると、識別値のビットはデータバスのデータビットラインに設定され、マイクロタイルイネーブルビットやモードイネーブルビットなどのイネーブルビット、もしくはその他のロード信号が設定されるとレジスタにロードされる。本発明のさらに別の実施形態によると、識別値のビットはアドレスバスのアドレスビットラインに設定され、ＤＲＡＭ集積回路素子のようなメモリ用集積回路を個別にプログラミングするためのデータ修飾子に基づいてレジスタにロードされる。
【０１３７】
ハードワイヤリングによって識別値を設定する場合、メモリモジュールではジャンパ線が利用される。この場合、各メモリ用集積回路は、ピンアウトに追加された入力ピンである、専用識別ビット入力ピンを有する。識別ビット入力ピンは、当該集積回路のピンに識別値を設定するべく、論理レベルＨ（つまり論理値１）または論理レベルＬ（つまり論理値０）に接続される。識別入力ピンに設定された識別ビット値は、さまざまな方法でメモリ用集積回路にロードされるとしてもよい。マイクロタイルメモリの場合、識別ビット入力ピンは、当該メモリデバイスが割り当てられるサブチャネルを設定するためのサブチャネル選択入力ピンＳ０およびＳ１である。
【０１３８】
図１０Ａ、図１０Ｂおよび図１０Ｃは、電源またはグランドにハードワイヤードされることで識別値がプログラムされた、メモリモジュール１０１０Ａ、１０１０Ｂおよび１０１０Ｃを示す。図１０Ａおよび図１０Ｂは、各メモリ用集積回路のサブチャネル選択入力ピンＳ０およびＳ１（つまり、識別入力ピン）に電源またはグランドを選択的に接続するためにジャンパ線を用いている、メモリモジュール１０１０Ａおよび１０１０Ｂを示す。図１０Ｃは、各メモリ用集積回路のサブチャネル選択入力ピンＳ０およびＳ１（つまり、識別入力ピン）に電源またはグランドを選択的に接続するためにパッケージングされたスイッチが実装されている、メモリモジュール１０１０Ｃを示す。
【０１３９】
識別入力ピンＳ１およびＳ０の論理値を（０、０）に設定することは、識別値０を示す。識別入力ピンＳ１およびＳ０の論理値を（０、１）に設定することは、論理値１を示す。識別入力ピンＳ１およびＳ０の論理値を（１、０）に設定することは、識別値２を示す。識別入力ピンＳ１およびＳ０の論理値を（１、１）に設定することは、識別値３を示す。図示および説明の対象となっているのは一対の識別入力ピンであるが、識別値の範囲を大きくするために各メモリ用集積回路に専用識別入力ピンを追加することもできる。
【０１４０】
図１０Ａに示すメモリモジュール１０１０Ａは、プリント配線基板７５１に接続されたメモリ用集積回路７５２Ａ〜７５２Ｄを備える。メモリ用集積回路７５２Ａ〜７５２Ｄは、プリント配線基板７５１のエッジコネクション７５４を形成するパッドに電気的に接続されている。メモリモジュール１０１０Ａは、メモリ用集積回路７５２Ａ〜７５２Ｄが２つのメモリサブチャネル２５０Ａおよび２５０Ｂに割り当てられるようにプログラムされている。メモリ用集積回路には、ジャンパ線１００２Ａ〜１００２Ｄ、１００４Ａ〜１００４Ｄ、１００６Ａ〜１００６Ｂ、１００７Ａおよび１００８Ｂを用いて識別値がプログラムされている。ジャンパ線１００２Ａ〜１００２Ｄ、１００４Ａ〜１００４Ｄ、１００６Ａ〜１００６Ｂ、１００７Ａおよび１００８Ｂは、同図に示すように、識別入力ピンＳ０およびＳ１を電源（ＶＣＣ）１００１またはグランド（ＶＳＳ）１０００に接続している。識別入力ピンＳ０およびＳ１に設定されているビットは、識別ビットＳ０およびＳ１と呼ぶとしてもよい。識別ビットＳ０およびＳ１は、各メモリ用集積回路が備える１以上のフリップフロップまたは１以上のラッチから形成されるレジスタにロードまたはプログラムされる任意の識別値を示す。
【０１４１】
メモリ用集積回路７５２Ａ〜７５２Ｄはそれぞれ、少なくとも２つの余剰ピン（識別入力ピンＳ０（１０１０）およびＳ１（１０１１））を有するとしてもよい。識別値は、入力ピンＳ０（１０１０）およびＳ１（１０１１）を電源（ＶＣＣ）１００１またはグランド（ＶＳＳ）１０００に設定することによって格納される。
【０１４２】
図１０Ａにおいては、メモリ用集積回路７５２Ａ〜７５２Ｂの識別入力ピンＳ０およびＳ１は共に、ジャンパ線１００２Ａ〜１００２Ｂ、１００４Ａ〜１００４Ｂ、１００６Ａ、および１００７Ａによって、０に設定されている。中央ジャンパ線１００７Ａは識別入力ピンＳ０およびＳ１を互いに接続する。このような構成とすることによって、メモリモジュールのメモリ用集積回路７５２Ａ〜７５２Ｂは、第１メモリサブチャネル２５０Ａ、つまりサブチャネル０に割り当てられるようにプログラムされる。
【０１４３】
図１０Ａに示すように、メモリ用集積回路７５２Ｃ〜７５２Ｄは、識別入力ピンＳ１がグランド（ＶＳＳ）１０００に接続されることによって０に設定され、識別入力ピンＳ０が電源（ＶＤＤ）１００１に接続されることによって１に設定される。メモリ用集積回路７５２Ｃ〜７５２Ｄの識別入力ピンＳ１は、グランド（ＶＳＳ）１０００に接続されたジャンパ線１００４Ｃ、１００４Ｄ、１００６Ｂを介してグランドに接続されている。メモリ用集積回路７５２Ｃ〜７５２Ｄの識別入力ピンＳ０は、電源（ＶＣＣ）１００１に接続されたジャンパ線１００２Ｃ〜１００２Ｄおよび１００８Ｖを介して１に設定されている。このような構成とすることによって、メモリモジュールのメモリ用集積回路７５２Ｃ〜７５２Ｄは第２メモリサブチャネル２５０Ｂ、つまりサブチャネル１に割り当てられるようにプログラムされる。
【０１４４】
このように、メモリ用集積回路デバイス７５２Ａ〜７５２Ｂは、識別入力ピンＳ０およびＳ１がどちらもＶＳＳ（グランド）と低い方に接続されるので、論理値（０、０）つまり識別値０に設定される。メモリ用集積回路デバイス７５２Ｃ〜７５２Ｄは、識別入力ピンＳ０およびＳ１が論理値（０、１）に設定されるので、識別値１を示す。
【０１４５】
図１０Ｂによると、メモリモジュール１０１０Ｂが備えるメモリ用集積回路７５２Ａ〜７５２Ｄは、識別値に基づき４本のメモリサブチャネル２５０Ａ〜２５０Ｄに割り当てられる。
【０１４６】
メモリ用集積回路７５２Ａは、識別入力ピンＳ０およびＳ１がともにグランド（ＶＳＳ）１０００に接続されることによって０に設定されているので、識別値が０に設定されている。メモリ用集積回路７５２Ａの識別入力ピンＳ０およびＳ１はともに、ジャンパ線１００２Ａ'、１００４Ａおよび１００６Ａを介して、グランド（ＶＳＳ）１０００に接続される。このような構成とすることによって、メモリモジュールのメモリ用集積回路７５２Ａは第１メモリサブチャネル２５０Ａ、つまりサブチャネル０に割り当てられるようにプログラムされる。
【０１４７】
メモリ用集積回路７５２Ｂは、識別値が１に設定されている。メモリ用集積回路７５２Ｂに接続された識別入力ピンＳ０は、電源（ＶＣＣ）１００１に接続されたジャンパ線１００２Ｂおよび１００２Ａを介して論理値１に設定されている。メモリ用集積回路７５２Ｂに接続された識別入力ピンＳ１は、ジャンパ線１００４Ｂおよび１００６を介してグランド（ＶＳＳ）１０００に接続されることで、論理値０に設定されている。このような構成とすることによって、メモリモジュールのメモリ用集積回路７５２Ｂは第２メモリサブチャネル２５０Ｂ、つまりサブチャネル１に割り当てられるようにプログラムされる。
【０１４８】
メモリ用集積回路７５２Ｃは、識別値が２に設定されている。つまり、メモリ用集積回路７５２Ｃは、識別入力ピンＳ１が１に、そして識別入力ピンＳ０が０に設定されることによって、４本のサブチャネルのうちサブチャネル２に割り当てられる。メモリ用集積回路７５２Ｃの識別入力ピンＳ１は、電源（ＶＣＣ）１００１に接続されたジャンパ線１００４Ｃ、１００７Ｂおよび１００８Ｂを介して論理値１に設定されている。メモリ用集積回路７５２Ｃの識別入力ピンＳ０は、ジャンパ線１００４Ｃの下または上を横切るべく１以上のビアを有するジャンパ線１００２Ｃ'を介してグランド（ＶＳＳ）１０００に接続されることで、論理値０に設定されている。このような構成とすることによって、メモリモジュールのメモリ用集積回路７５２Ｃは第３メモリサブチャネル２５０Ｃ、つまりサブチャネル２に割り当てられるようにプログラムされる。
【０１４９】
メモリ用集積回路７５２Ｄは、識別値が３に設定されており、第４メモリサブチャネル、つまりサブチャネル２５０Ｄに割り当てられていることを示すようにプログラムされている。メモリ用集積回路７５２Ｄは、識別入力ピンＳ０およびＳ１がともに電源（ＶＣＣ）１００１に接続されることによって、１に設定されている。メモリ用集積回路７５２Ｄの識別入力ピンＳ１は、ジャンパ線１００４Ｄ、１００７Ｂおよび１００８Ｂを介して電源に接続される。メモリ用集積回路７５２Ｄの識別入力ピンＳ０は、ジャンパ線１００２Ｄおよび１００８Ｂを介して電源に接続される。
【０１５０】
図１０Ａおよび図１０Ｂは、メモリモジュールが備えるメモリ用集積回路７５２Ａ〜７５２Ｄに識別値をプログラムするためのジャンパ線の使い方を示す。しかし、上記以外の手段を用いてメモリ用集積回路の識別入力ピンＳ１およびＳ０の論理レベルの設定をハードワイヤリングで実現してもよい。図１０Ｃは、ジャンパ線を利用する方法以外の別の方法を示す。
【０１５１】
図１０Ｃは、ジャンパ線ではなくディップスイッチ１０２０Ａ〜１０２０Ｂを用いて集積回路の識別入力ピンに識別値を設定する、メモリモジュール１０１０Ｃを示す。メモリモジュール１０１０Ｃは、ディップスイッチ１０２０Ａに接続されたメモリ用集積回路７５２Ａおよび７５２Ｂを備える。またメモリモジュール１０１０Ｃは、ディップスイッチ１０２０Ａに接続されたメモリ用集積回路７５２Ｃおよび７５２Ｄを備える。ディップスイッチ１０２０Ａおよび１０２０Ｂはそれぞれ、メモリ用集積回路７５２Ａ〜７５２Ｄのそれぞれの識別入力ピンＳ１およびＳ０を論理値１または０に設定するべく、電源（ＶＣＣ）１００１およびグランド（ＶＳＳ）１０００に接続される。
【０１５２】
ディップスイッチ１０２０Ａおよび１０２０Ｂは、各メモリ用集積回路の識別入力ピンＳ０およびＳ１と個別に接続される。例えば、集積回路７５２Ａの識別入力ピンＳ１は、集積回路７５２Ｂの識別入力ピンＳ１とは無関係に、ディップスイッチ１０２０Ａに対して接続され、個別に切り替えられる。他の例を挙げると、ディップスイッチ１０２０Ｂは、集積回路７５２Ｃに接続されるが、この接続は集積回路７５２Ｄへの接続からは独立したものになっている。
【０１５３】
ディップスイッチ１０２０Ａは、メモリ用集積回路７５２Ａの識別入力ピンＳ０およびＳ１に接続されるとともに、メモリ用集積回路７５２Ｂの識別入力ピンＳ１およびＳ０に接続される。ディップスイッチ１０２０Ｂは、メモリ用集積回路７５２Ｃの識別入力ピンＳ１およびＳ０に接続されるとともに、メモリ用集積回路７５２Ｄの識別入力ピンＳ１およびＳ０に接続される。
【０１５４】
ディップスイッチ１０２０Ａおよび１０２０Ｂはそれぞれ、シングル・ポール・ダブル・スロースイッチであってもよい。シングル・ポールが識別入力Ｓ１またはＳ０に接続され、スローが電源およびグランドに接続される。ディップスイッチ１０２０Ａおよび１０２０Ｂはそれぞれ、４つのシングル・ポール・ダブル・スロースイッチを備え、当該シングル・ポール・ダブル・スロースイッチはそれぞれがメモリ用集積回路に入力される各識別値に対応している。
【０１５５】
上記では識別入力ビットおよび識別入力ピンとして一対のものを説明してきたが、より広い範囲の識別値を利用することを目的として、各メモリ用集積回路に識別ビットおよび識別ピンを追加するとしてもよい。ディップスイッチ１０２０Ａおよび１０２０Ｂは識別入力ピンおよび識別値を設定するためのスイッチング手段を実現するが、他のスイッチング手段を用いるとしてもよい。
【０１５６】
図１１Ａは、専用識別入力ピンが図１０Ａから図１０Ｃに図示したように電源またはグランドにハードワイヤードされ、識別入力ビットおよび識別値をメモリ用集積回路のバッファが単に受け取るだけの様子を示す。制御ロジック８０８Ａは、識別入力ピンＳ０（１０１０）およびＳ１（１０１１）に設定される識別ビット値を受け取るためのバッファ１１２０〜１１２１を備える。バッファ１１２０および１１２１は、識別入力ピンＳ０（１０１０）およびＳ１（１０１１）上のハードワイヤ設定に応じて、識別ビットＳＣＳ０（１１１０）およびＳＣＳ１（１１１１）を生成する。このようにすることで、レジスタ８１０を回避して、専用入力ピンに設定された識別値をメモリ用集積回路の機能で直接利用するとしてもよい。バッファ１１２０および１１２１は、反転入力バッファであってもよいし非反転入力バッファであってもよい。
【０１５７】
マイクロタイルイネーブルビットが、レジスタのビット格納回路８５０にロードまたはプログラムされているとしてもよい。当該レジスタの例を挙げると、標準規格で公知のレジスタプログラミング技術に基づくメモリ用集積回路７５２のモードレジスタ８１０や拡張モードレジスタがある。例えば、ビット格納回路は、メモリ用集積回路上のメモリマップドスペースまたはＩ／Ｏマップドスペースでアクセス可能なレジスタの一部としてもよい。ビット格納回路８５０はデータ入力を持つフリップフロップまたはラッチであってもよい。ビット格納回路８５０はその場合、マイクロタイルイネーブルビットがロードされるべくデータ入力に設定されると同時に適切にクロック制御またはストローブ制御される。図１０Ａから図１０Ｃではハードワイヤ手段によって識別値を設定する方法を図示したが、識別ビット値はメモリ用集積回路７５２Ａ〜７５２Ｄのリセット時もしくは初期化時に、１以上の識別レジスタに論理的にロードされるとしてもよい。
【０１５８】
図１１Ｂは、図１０Ａから図１０Ｃに図示したように電源またはグランドにハードワイヤードされる専用識別入力ピンによって設定される識別値が、メモリ用集積回路内に設けられたビット格納回路（例えば、ビットレジスタまたはラッチ）にロードされ得る場合を示す。図１１Ｂに示すように、制御ロジック８０８Ｂは、ビット格納回路（例えば、ビットレジスタまたはラッチ）８５１Ａ〜８５１Ｂを持つレジスタ８１０を備える。当該ビット格納回路８５１Ａ〜８５１Ｂのデータ入力Ｄは、識別ビットおよび識別値の設定をそれぞれ受け取るべく、識別入力ピンＳ０（１０１０）およびＳ１（１０１１）に接続されている。ビット格納回路（例えば、ビットレジスタまたはラッチ）８５１Ａ〜８５１Ｂのクロック入力は、ロードストローブ生成器１１２２のロードストローブ出力信号ＬＳ（１１２７）に接続されている。ビット格納回路（例えば、ビットレジスタまたはラッチ）８５１Ａ〜８５１Ｂのリセット入力は、リセット制御信号８２２Ｒに接続される。マイクロタイルイネーブルビット用のビット格納回路８５０は、レジスタ８１０の一部として同様にロードするとしてもよいし、別のレジスタの一部の場合は別の方法でロードするとしてもよい。
【０１５９】
ロードストローブ生成器１１２２は、ロードストローブ出力信号ＬＳ（１１２７）を生成するべく、入力が制御信号８２２のうち１以上の制御信号８２２に接続されている。ロードストローブ生成器１１２２は、当該１以上の制御信号８２２の１以上のパルスに応じて、様々な方法でロードストローブ出力信号ＬＳ（１１２７）を生成することができる。識別入力ピンＳ０（１０１０）およびＳ１（１０１１）はハードワイヤードされており、電源が入った後はほぼ固定されるので、当該１以上の制御信号８２２の１以上のパルスのタイミングは、ロードストローブ出力信号ＬＳ（１１２７）を生成する場合には大きく緩和することができる。図１１Ｃおよび図１１Ｄは、以下で詳述するが、ロード信号ＬＳ（１１２７）として利用されるロード信号１１０７および１１１７の生成について説明する。
【０１６０】
図１１Ｃは、メモリモジュールが有するメモリデバイスを個別にプログラミングする論理手段を示す。個別にメモリデバイスをプログラミングするこの方法では、データバスのデータビットから識別ビット格納回路ＳＣＳ０（８５１Ａ）およびＳＣＳ１（８５１Ｂ）へと識別値をロードするにあたってリセット信号８２２Ｒおよびクロック信号８２２Ｃが利用される。
【０１６１】
図１１Ｃは、モードレジスタ８１０の一部にＳＣＳ０ビット格納回路８５１ＡおよびＳＣＳ１ビット格納回路８５１Ｂを有する、メモリ用集積回路７５２の制御ロジック８０８Ｃを示す。マイクロタイルイネーブルビット用のビット格納回路８５０もモードレジスタ８１０の一部としてもよい。ビット格納回路８５０、８５１Ａおよび８５１ＢはＤフリップフロップであるとしてもよい。データバスのデータビット入力ピンＤ０（１０００）は、Ｄフリップフロップ８５１Ａのデータ入力Ｄに接続される。データバスのデータビット入力ピンＤ１（１１０１）は、Ｄフリップフロップ８５１Ｂのデータ入力Ｄに接続される。Ｄフリップフロップ８５１Ａ〜８５１ＢのＱ出力は、識別ビット（つまり、サブチャネル選択ビット）ＳＣＳ０（１１１０）およびＳＣＳ１（１１１１）に接続される。
【０１６２】
制御ロジック８０８Ｃはさらにカウンタ１１０４を備える。当該カウンタ１１０４は、リセット制御信号８２２Ｒがデアサートされてから所定の数のクロックサイクルをカウントする。所定の数のクロックサイクルがカウントされると、Ｄフリップフロップ８５１Ａおよび８５１Ｂに、データバスのデータビット入力ピンＤ０（１１００）およびＤ１（１１０１）から、識別ビット設定がロードされる。本発明の一実施形態によると、カウンタ１１０４は、ロード信号を生成するべくリセットの後８クロックサイクルをカウントする、８クロックサイクルカウンタである。カウンタ１１０４には、クロック信号８２２Ｃおよびリセット制御信号８２２Ｒが接続される。リセット制御信号８２２Ｒはまた、Ｄフリップフロップ８５１Ａ〜８５１Ｂのリセット入力Ｒに接続される。カウンタ１１０４の出力は、カウンタ１１０４が、所定値のカウントを終えると、識別値設定をロードするべくＤフリップフロップ８５１Ａおよび８５１Ｂをトリガするためにロード信号１１０７にパルスを生成するように、Ｄフリップフロップ８５１Ａ〜８５１Ｂのクロック入力に接続される。つまり、リセット信号がデアサートされた後所定数のクロックが経過すれば、データバスのデータビットラインからメモリ用集積回路のレジスタに識別値がロードされる。ロード信号１１０７のパルスが生成された後は、クロックカウンタ１１０４をリセットするべくリセット制御信号８２２Ｒが再度アサートされるまで、クロックカウンタ１１０４はクロック制御を受け続けるが、クロックサイクルのカウントは停止する。マイクロタイルイネーブルビット用のビット格納回路８５０は、レジスタ８１０の一部として同様の方法でロードされてもよいし、別のレジスタの一部として構成されている場合は別の方法でロードされるとしてもよい。
【０１６３】
図１３Ａは、図１１Ｃに示した制御ロジック８０８Ｃの機能を示す波形図の一例を示す。図１３Ａには、リセット波形１３００、クロック波形１３０１、Ｄ１／Ｄ０データビット波形１３０２ＡおよびＳＣＳ１／ＳＣＳ０波形１３０３Ａを示す。波形１３００のリセットパルス１３０４がデアサートされた後、データバスのデータビット入力ピンＤ０／Ｄ１の設定が識別値を格納するべくレジスタにロードされるまでには、波形１３０１には所定数のクロックサイクル１３０５が見られる。クロック信号８２２Ｃの最終クロックサイクル１３０８では、データビット入力ピンＤ１およびＤ０に設定された識別ビットが、波形１３０２Ａのポイント１３０７で示されるように、集積回路にロードされる準備が整っている。
【０１６４】
クロック波形１３０１のポイント１３０１Ａにおいて、データビット入力ピンＤ１およびＤ０に設定された識別ビットが、波形１３０３によって示すクロックカウント信号ＣＣＮＴ１１０７の立ち上がりエッジ１３０６に応じて、ビット格納回路にロードされるとしてもよい。クロックカウント信号ＣＣＮＴ１１０７は、メモリ用集積回路のビット格納回路に識別ビットをロードするので、ロード信号１１０７と呼ぶとしてもよい。ビット格納回路をネガティブ・エッジ・トリガＤフリップフロップと仮定すると、Ｄフリップフロップの出力Ｑは、カウンタ１１０４の最終クロックサイクル１３０８中で、カウンタが切り替わる前に、クロックカウント信号ＣＣＮＴ１１０７の立下りエッジにおいて状態が変化する。識別ビット設定に応じて、Ｄフリップフロップの出力Ｑは、波形１３０４Ａ上のポイント１３０９に示すように、リセット状態から識別ビット値を格納するように状態が変化するとしてもよい。
【０１６５】
本例によると、リセットパルス１３１４がデアサートされた後８クロックサイクルが経過すると、データバスのビットに接続されたデータ入力ピンＤ０およびＤ１から各メモリデバイスの識別値がロードされる。メモリデバイス毎に、データバスのビットに接続される、データ入力ピンのセットが異なるので、各メモリデバイスにロードされる識別値は、互いに異なる一意的な任意の値とすることができる。図１２Ａ〜図１２Ｂに示すように、メモリ用集積回路は、メモリチャネルの幅を構成する複数のバイトに割り付けられているとしてもよい。
【０１６６】
メモリコントローラは、所望される各メモリ用集積回路の識別値設定を、当該メモリ用集積回路に割り付けられたバイトデータフィールドのデータビットに対して出力する。メモリコントローラは、リセット後にクロックカウントＣＣＮＴ値が所定数のクロックサイクルをカウントし終わる前に、所望の識別値設定を、６４ビットデータフィールドの各バイトのデータビットに出力する。本発明の一実施形態によると、リセット後８クロックサイクルが経過すると、各メモリ用集積回路デバイスのレジスタの識別値フィールドに識別ビット値がラッチされる。
【０１６７】
図１２Ａは、エッジコネクタ７５４に接続された８個のメモリ用集積回路デバイス７５２Ａ〜７５２Ｈを有するメモリモジュール１２１０Ａを示す。メモリ用集積回路７５２Ａ〜７５２Ｈはそれぞれ、メモリモジュールおよびメモリチャネルのデータビットおよびデータバスに接続される複数のデータ入出力ピンを持つ。つまり、メモリ用集積回路７５２Ａ〜７５２Ｈはそれぞれ物理幅が８ビット（つまり、×８）で８個のデータピンを有し、当該８個のデータピンはエッジコネクタ７５４の６４ビットのデータバス１２００のうちの８個の異なるデータビットに接続される。メモリ用集積回路７５２Ａ〜７５２Ｈは、図１２Ａに示すように、８ビットデータのバイト１２０２Ａ〜１２０２Ｈに接続される。各メモリ用集積回路の入出力ピンＤ０およびＤ１に設定されたデータビットは、図示されているように、エッジコネクタ７５４およびメモリ用集積回路７５２Ａ〜７５２Ｈの間に接続されている。データビット入出力ピンＤ０は、８ビットデータ１２０２Ａ〜１２０２Ｈに対応付けられて１１０１Ａ〜１１００Ｈと示されている。データビット入出力ピンＤ１（１１０１Ａ〜１１００Ｈ）は、図示されているように、６４ビットデータバス１２００の８ビットデータのバイト１２０２Ａ〜１２０２Ｈに接続されている。
【０１６８】
メモリ用集積回路７５２Ａ〜７５２Ｈはそれぞれ、対応するビットＤ０（１１００）およびビットＤ１（１１０１）に接続され、クロックカウンタ１１０４がカウントするクロックサイクルがリセット後に所定数に達すると、データバスから識別値がロードされるとしてもよい。
【０１６９】
図１２Ｂは、エッジコネクタ７５４に接続された４個のメモリ用集積回路デバイス７５２Ａ'〜７５２Ｄ'を備えるメモリモジュール１２１０Ｂを示す。４個のメモリ用集積回路デバイス７５２Ａ'〜７５２Ｄ'と８個のメモリ用集積回路デバイス７５２Ａ〜７５２Ｈの相違点は、メモリ用集積回路デバイス７５２Ａ'〜７５２Ｄ'の方が幅が大きい点にある。メモリ用集積回路デバイス７５２Ａ'〜７５２Ｄ'はそれぞれ物理幅が１６ビット（つまり、×１６）で１６個のデータピンを有する。当該１６個のデータピンは、エッジコネクタ７５４の６４ビットのデータバス１２００のうちの１６個の異なるデータビットに接続される。メモリ用集積回路７５２Ａ〜７５２Ｄのそれぞれに入出力されるデータビットは１６ビットであるので、６４ビットデータバス１２００に接続するために利用される集積回路の数は４としてもよい。
【０１７０】
メモリ用集積回路７５２Ａ'は、データバス１２００の第１の８ビットデータおよび第２の８ビットデータであるバイト１２０２Ａおよび１２０２Ｂに接続される。メモリ用集積回路７５２'は、第３の８ビットデータおよび第４の８ビットデータであるバイト１２０２Ｃおよび１２０２Ｄに接続される。メモリ用集積回路７５２Ｃ'は、第５の８ビットデータおよび第６の８ビットデータであるバイト１２０２Ｅおよび１２０２Ｆに接続される。メモリ用集積回路７５２Ｄ'は、第７の８ビットデータおよび第８の８ビットデータであるバイト１２０２Ｇおよび１２０２Ｈに接続される。
【０１７１】
メモリコントローラからメモリモジュールへのデータバスの幅、つまりメモリチャネルの物理幅は６４ビットとして本発明の実施形態を説明してきたが、データバスの物理ビット幅は他の値としてもよい。
【０１７２】
上記の説明では、識別ビットのメモリ用集積回路へのロードをトリガする場合にはクロック信号を用いていた。しかし、別のデータストローブを用いて識別ビットのメモリ用集積回路へのロードをトリガすることもできる。一例を挙げると、論理的に生成されたデータストローブ信号は拡張モードレジスタストローブ信号ＥＭＳ＃である。当該拡張モードレジスタストローブ信号ＥＭＳ＃は、拡張モードレジスタのビットを制御信号の組み合わせでプログラムさせるようにメモリ用集積回路がプログラミングモードとなった場合に生成される。当該拡張モードレジスタストローブ信号ＥＭＳ＃を用いて、識別ビットのメモリ用集積回路へのロードをトリガするとしてもよい。
【０１７３】
図１１Ｄは、メモリ用集積回路７５２が備える制御ロジック８０８Ｄを示すブロック図である。制御ロジック８０８Ｄは、メモリ用集積回路への識別ビットのロードをトリガする場合に、データストローブである、拡張モードレジスタストローブ信号ＥＭＳ＃を用いるとしてもよい。ＥＭＳ＃はアクティブロー信号で、ネガティブ・エッジ・トリガＤフリップフロップが使用される場合を仮定する。このため、ＥＭＳ＃がアサートされると、データバスに設定された値がビット格納回路に読み込まれるとしてもよい。ビット格納回路の例を挙げると、ラッチまたはレジスタであってよく、レジスタの例としては、識別値レジスタまたはサブチャネル選択レジスタなどがある。ＥＭＳ＃がデアサートされると、メモリ用集積回路によって内部で使用されるように、識別ビット値がビット格納回路に格納またはラッチされ、このようにしてデータ入力ピンに設定された識別ビット値は変化することができる。
【０１７４】
制御ロジック８０８Ｄは、モードレジスタ８１０の一部に、ＳＣＳ０ビット格納回路８５１ＡおよびＳＣＳ１ビット格納回路８５１Ｂを備える。マイクロタイルイネーブルビット用のＭＴＥビット格納回路８５０もモードレジスタ８１０の一部として構成されてもよい。ビット格納回路は、データを構成する１ビットを格納するラッチまたはＤフリップフロップであってもよい。データビット入力ピンＤ０（１１００）がＤフリップフロップ８５１Ａの入力Ｄに接続されている。データビット入力ピンＤ１（１１０１）がＤフリップフロップ８５１Ｄの入力Ｄに接続されている。
【０１７５】
制御ロジック８０８Ｄはさらに、Ｄフリップフロップ８５１Ａ〜８５１Ｂのクロック入力に接続されるバッファ１１０５を備える。バッファ１１０５は、１つのインバータ、もしくは奇数のインバータから形成される、反転バッファであるとしてもよい。もしくは、バッファ１１０５は、偶数のインバータから形成される、非反転のバッファであってもよい。どちらの場合であっても、バッファ１１０５は、拡張モードレジスタストローブ信号ＥＭＳ＃１１８２のような制御信号またはデータストローブ信号を受け取り、ロード信号１１１７を生成する。
【０１７６】
ＥＭＳ＃信号１１８２は、バッファ１１０５の入力に接続される。ＥＭＳ＃信号１１８２はアクティブロー信号で、反転バッファ１１０５によって反転されてロード信号１１１７となり、Ｄフリップフロップ８５１Ａ〜８５１Ｂのクロック入力に接続されるとしてもよい。ロード信号１１１７は、識別ビットをデータビット入力ピンＤ１およびＤ０からＤフリップフロップ８５１Ａ〜８５１Ｂにロードするために利用される。マイクロタイルイネーブルビット用のビット格納回路８５０はレジスタ８１０の一部として同様にロードされてもよいし、別のレジスタの一部として構成されている場合は別の方法でロードされるとしてもよい。以上の点を除くと、制御ロジック８０８Ｄは、上述した図１１Ｃに示す制御ロジック８０８Ｃと同様である。
【０１７７】
ＥＭＳ＃信号１１８２は、リセットストローブ８２２Ｒがアクティブでなくなると、リセット後所定数のクロックサイクルが経過した時点で、アクティブローとなりロード信号１１１７を生成させる。ＥＭＳ＃信号１１８２がアクティブローとなるタイミングが分かっていれば、データビット入力ピンＤ０（１１００）およびＤ１（１１０１）に識別ビット値を設定する際にセットアップ時間およびホールド時間を十分にとることができる。
【０１７８】
図１３Ｂは、図１１Ｄに示した制御ロジック８０８Ｄの機能の一例を説明するための波形図の一例を示す。図１３Ｂには、リセット波形１３００、データストローブ／ロード信号ＬＳ／ＥＭＳ＃波形１３１０、Ｄ１／Ｄ０データビット波形１３０２ＢおよびＳＣＳ１／ＳＣＳ０波形１３０３Ｂを示す。リセット波形１３００は、リセット制御入力８２２Ｒに対応する。データストローブ／ロード信号ＬＳ／ＥＭＳ＃波形１３１０はロード信号１１１７もしくはＥＭＳ＃ストローブ信号１１８２を示す。波形１３１０を反転してアクティブロー型の波形をＥＭＳ＃またはその他のストローブ信号用に生成するとしてもよい。Ｄ１／Ｄ０データビット波形１３０２Ｂは、識別入力ビットＤ１／Ｄ０（１１０１、１１００）を示す。ＳＣＳ１／ＳＣＳ０波形１３０４Ｂは、Ｄフリップフロップ８５１Ａ〜８５１Ｂにロードされた識別ビットＳＣＳ１／ＳＣＳ０（１１１１、１１１０）の値を示す。
【０１７９】
リセット制御信号８２２Ｒのリセットパルス１３１４がアクティブでなくなった後所定の期間１３２５が経過すると、データストローブＥＭＳ＃信号１１８２がアサートされるとしてもよい。所定の期間１３２５が経過する前に、十分なセットアップ時間で識別ビットがデータビット入力ピンＤ１／Ｄ０に設定され、メモリ用集積回路に受け取られ、ビット格納回路に接続されるとしてもよい。ロード信号１１１７によって、メモリ用集積回路のデータ入力ピンＤ１／Ｄ０に設定された識別ビットが、レジスタ８１０のビット格納回路８５１Ａおよび８５１Ｂにロードされる。当該ビット格納回路は、Ｄフリップフロップ、ラッチまたはそれ以外のビット格納回路であってもよい。
【０１８０】
ビット格納回路としてネガティブ・エッジ・トリガ型のＤフリップフロップが用いられると仮定すると、ロード信号波形１３１０のパルス１３２６の立ち上がりエッジ１３２７に応じて、データビット入力ピンＤ１およびＤ０に設定された識別ビット値がＤフリップフロップ８５１Ａ〜８５１Ｂに読み込まれる。ロード信号波形１３１０のパルス１３２６のパルス幅１３３５は、所定数のクロックサイクルまたは所定の期間の関数である。パルス１３２６のネガティブエッジ１３２８に応じて、ロードストローブ信号１１１７によって識別値がＤフリップフロップ８５１Ａ〜８５１Ｂにラッチされ、ＳＣＳ１／ＳＣＳ０ビット（１１１１、１１１０）の波形１３０４Ｂに立ち上がりエッジ１３２９が生成されるとしてもよい。このように、拡張モードレジスタストローブ信号ＥＭＳ＃１１８２に基づいて生成されたロード信号１１１７によって、識別値が集積回路７５２へロードされるとしてもよい。
【０１８１】
メモリ用集積回路への識別ビットのロードをトリガするためには拡張モードレジスタストローブ信号ＥＭＳ＃が用いられるとして説明してきたが、制御信号８２２に基づいて生成されたほかのデータストローブ信号が用いられるとしてもよい。
【０１８２】
上述したように、データストローブ信号に基づくメモリ用集積回路への識別値のロードには、エッジコネクタとメモリ用集積回路デバイス７５２の間に接続されるメモリチャネルのデータバスが用いられる。しかし、メモリ用集積回路が非データアクセスモードにある場合、例えばプログラムモードやセットアップモードの場合、メモリチャネルのアドレスビットラインもまた、メモリモジュール上のメモリ用集積回路に識別値をプログラムするために用いられるとしてもよい。この場合、アドレスビットライン上に設定された識別ビットをメモリ用集積回路にロードするために用いられるデータストローブは、データバス上に供給されるとしてもよいし、データバスに関連する別の信号ライン上に供給されるとしてもよい。
【０１８３】
図１４は、メモリコントローラ２０８とメモリモジュール１４１０の間に接続されたバス構成１４００の一例を示す図である。例示するバス構成１４００は、共有アドレス／制御バス１４０１、データバス（ＤＱ［６３：０］）１４０２、ＥＣＣデータバス（ＤＱ［７１：６４］）１４０３、およびデータマスクバス（ＤＭ［７：０］）１４０４を有する。データバス１４０２のデータ（ＤＱ）ビットは通常、メモリアクセスが実行された場合にメモリモジュール１４１０とメモリコントローラ２０８の間でデータを転送するために用いられる。データマスクバス１４０４のデータマスク（ＤＭ）ビットは通常、メモリ用集積回路７５２とメモリコントローラ２０８の間における８ビットから成る１バイトのデータの転送をマスクするために用いられる。メモリ用集積回路の物理幅が４ビットおよび８ビットの場合、データマスク（ＤＭ）ビットは、チップ選択制御信号に接続されるとしてもよい。１６ビット以上の物理幅のメモリ用集積回路の場合は、各メモリ用集積回路に複数のデータマスク（ＤＭ）ビットが接続されるとしてもよい。
【０１８４】
メモリモジュール１４１０は、メモリ用集積回路７５２Ａ〜７５２Ｈおよびプリント配線基板に実装されたＥＣＣチップ１４５０を備える。メモリモジュール１４１０は、ホストマザーボードのエッジコネクション７５４（図７、図１０Ａ〜図１０Ｃを参照のこと）を介して、当該ホストマザーボードのバス構成１４００に接続される。
【０１８５】
上述したように、メモリチャネルのアドレスビットラインもまた、メモリモジュールが備えるメモリ用集積回路に識別値をプログラムするために用いられるとしてもよい。しかし、共有アドレス／制御バス１４０１のアドレスビットをすべて、メモリモジュール上に設けられるメモリ用集積回路７５２Ａ〜７５２ＨおよびＥＣＣチップ１４５０に接続するとしてもよい。各メモリ用集積回路を個別に一意的な識別値でプログラムするべく、アドレスバスの共有アドレスビット上に設定された識別値をそれぞれロードする際にメモリ用集積回路毎にストローブする方法を利用するとしてもよい。
【０１８６】
アドレスバス上に設定された識別値をメモリ用集積回路に個別にプログラムするためには、データバス上に設定された、もしくはデータバスに対応付けられたデータ修飾子を利用して、拡張モードレジスタ（ＥＭＲＳ）のようなレジスタに対してアドレスバス上に設定された情報をロードすることを許可するとしてもよい。通常はＥＭＲＳ設定コマンドで、アドレスバス１４０１に供給された初期化データで、あるレジスタのビットをプログラミングするとしてもよい。あるレジスタのＥＭＲＳプログラミングは、データマスクバス１０１４の１以上のデータマスクビット（ＤＭ）、もしくは各メモリ用集積回路７５２Ａ〜７５２Ｈに接続されるデータバス１４０２の１以上のデータビット（ＤＱ）によって許可されるとしてもよい。
【０１８７】
データマスクバス１０１４のデータマスクビット（ＤＭ）を修飾子として利用する場合、メモリ用集積回路に接続されたＤＭビットが論理値１に設定されていれば、当該メモリ用集積回路のあるＥＭＲＳレジスタはアドレスバスに設定された内容に基づいてプログラムされるとしてもよい。他のメモリ用集積回路はＤＭビットが論理値０に設定されることによってマスクされるので、ある識別値はただ１つのメモリ用集積回路、もしくは一部のメモリ用集積回路にのみロードされる。
【０１８８】
データマスクバス１０１４のデータマスクビット（ＤＭ）は通常、メモリモジュール１４１０のメモリコントローラ２０８からメモリ用集積回路７５２の間でハードワイヤードされている。このため、データマスクビットは、メモリモジュール１４１０もしくはメモリコントローラ２０８が実装されるホストマザーボード上でスウィズルされず、ビット位置が変更される。また、データマスクビットＤＭは、メモリモジュールが備えるメモリ用集積回路のランクまたはグループ間でミラーリングされていない。しかし、エラー訂正コード方式をサポートしているタイプのメモリモジュールでは、データマスクバスのデータマスクビットをメモリ用集積回路７５２にルーティングしていない場合もある。これは、エラー訂正コード方式を実施するためにはデータバスのデータビットをすべてメモリアクセス（読み出しアクセスまたは書き込みアクセス）ごとに一貫して転送する必要があるためである。つまり、エラー訂正コード方式を実施している間はデータマスク（ＤＭ）ビットは使用されない。このため、ＥＣＣをサポートするメモリモジュールを製造する場合にはメモリ用集積回路に対してＤＭビットをルーティングしない場合もある。
【０１８９】
ＥＣＣデータバス１４０３のＥＣＣビットと同様に、データバス１４０２のＤＱデータビットは、メモリコントローラ２０８とメモリ用集積回路７５２Ａ〜７５２ＨおよびＥＣＣチップ１４５０との間でルーティングされる。しかし、ＤＱビットは、メモリ用集積回路のランク間でミラーリングされるとともにスウィズルされる場合がある。例えば、メモリコントローラ２０８からのＤＯビットが、ランク０のメモリ用集積回路のＤ３データビットピンおよびランク１のメモリ用集積回路のＤ４データビットピンに接続されるとしてもよい。このようにすることによって、各メモリ用集積回路を個別にプログラムするべくデータストローブ信号を送る際に、１つのＤＱビットでは十分な信頼性が得られない場合がある。これは、どの１つのデータビットピンがストローブされるのか分からない場合があるためである。
【０１９０】
このようなスウィズルおよびミラーリングに伴う問題を解決するべく、１つのメモリ用集積回路に接続されたＤＱデータビットピンはすべてロード信号を生成するべく同時にストローブされるとしてもよい。例えば、当該メモリ用集積回路の各データビットピンに入力が接続されたＡＮＤゲートによって、データビットピンが同時にストローブ（アクティブハイ）されたかどうか検出することができる。また別の例を挙げると、当該メモリ用集積回路の各データビットピンに入力が接続されたＮＯＲゲートによって、データビットピンが同時にストローブ（アクティブロー）されたかどうか検出することができる。
【０１９１】
メモリコントローラ２０８は、各メモリモジュール１４１０に実装されたメモリ用集積回路７５２のデータビット幅を判定することができる。データビット幅を判定することを目的として、メモリモジュールに実装されたＥＰＲＯＭに格納されているＳＰＤ（Ｓｅｒｉａｌ  Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ）ビットがメモリコントローラによって読み出されるとしてもよい。メモリコントローラは、こうして得られた情報に基づき、データバス１４０４の幅およびビットが各メモリ用集積回路に対してどのように接続されるのかを判定することができる。例えば、メモリ用集積回路のデータビット幅が８ビットの場合、データバス１４０４のデータビットＤＱ［７：０］がメモリ用集積回路７５２Ａに接続される。
【０１９２】
アドレスバスに設定された情報でＥＭＲＳビットをプログラムするためには、あるメモリ用集積回路に接続されたＤＱビット全てが同時に論理レベル「１」に設定されるとしてもよい。再びメモリ用集積回路のデータビット幅が８ビットである例に基づいて説明すると、メモリ用集積回路７５２Ａに接続されたデータバス１４０４のデータビットＤＱ［７：０］は、レジスタに識別ビットをロードするためのロード信号の生成をトリガすることを目的として、論理値「１」に設定される。データビットＤＱ［７：０］がすべてアサートされると（論理値Ｈに設定されると）、アドレスバスに設定された値がＥＭＲＳプログラミングモードにおいてメモリ用集積回路７５２ＡのＥＭＲＳレジスタにロードされる。
【０１９３】
メモリ用集積回路は多くの場合、ある一のアドレスにデータを記憶するべく、２以上のメモリバンクを有する。メモリ用集積回路のメモリバンクのアドレスは、８個のメモリバンクを持つメモリ用集積回路であればビットＢＡ［２：０］のようなバンクアドレスビットによって指定されている。メモリ用集積回路の各バンクに一のＥＭＲＳレジスタが備えられているとしてもよい。８個のバンクを有するデバイスの場合、８個のＥＭＲＳレジスタがあるとしてもよい。ＥＭＲＳプログラミングモードにおいて、バンクアドレスビットＢＡ［２：０］が示すバンクアドレスに基づいて、プログラミングの対象となるＥＭＲＳレジスタを選択する。バンクアドレスがＢＡ０、つまり「０００」の場合、ＥＭＲＳレジスタ０（ＥＭＲＳ０）が選択される。バンクアドレスがＢＡ１、つまり「００１」の場合、ＥＭＲＳレジスタ１（ＥＭＲＳ１）が選択される。同様の方法で適切なＥＭＲＳレジスタが選択される。ここで、識別値の識別ビットを格納する場合、専用ＥＭＲＳレジスタまたはレジスタサブセット（つまり、複数のビット）を、メモリ用集積回路に接続された対応するＤＱビットによって、許可（つまり、トリガ）することができる。つまり、メモリ用集積回路のＥＭＲＳレジスタすべてに識別値をロードする必要はないので、バンクアドレスビットは識別値がロードされている期間において使用されない場合もある。このため、バンクアドレスビット用のアドレスライン、例えば８個のバンクのアドレスを指定するためのビットＢＡ［２：０］が、メモリ用集積回路に識別ビットを設定、運搬およびロードするために利用されるとしてもよい。
【０１９４】
メモリランク（単に「ランク」と呼ぶこともある）は、メモリモジュールが備えるメモリチップの一部またはすべてを用いて形成されるデータ格納ブロックまたはデータ格納領域である。ランクは通常、データ幅が６４ビットである。エラー訂正コード方式（ＥＣＣをサポートしているメモリモジュール上では、８ビットのデータ幅が追加され、ＥＣＣを備えるランクのデータ幅は合計７２ビットとなる。設計内容に応じて、メモリモジュールは、６４ビット幅のデータ格納領域を持つランクを１つ、２つまたは４つ有するとしてもよい（ＥＣＣがサポートされている場合には７２ビット幅のデータ格納領域であってもよい）。
【０１９５】
ある１つのランク内に設けられた複数のメモリ用集積回路については、単一のＥＭＲＳコマンドを用いて同一の識別値にプログラムすることができる。例えば、図１４に示したメモリ用集積回路７５２Ａおよび７５２Ｂが同一メモリランク内に設けられるとする。メモリ用集積回路７５２Ａおよび７５２Ｂのレジスタはともに、当該メモリ用集積回路７５２Ａおよび７５２Ｂに接続された対応するＤＱビットをすべて許可することによって、単一のＥＭＲＳコマンドによって同一値をプログラムすることができる。つまり、メモリ用集積回路７５２Ａおよび７５２Ｂに接続された対応するＤＱビットはすべて同時に、各メモリ用集積回路のレジスタに、アドレスバスに設定された同一識別ビットを格納するためのロード信号を生成するべく、論理値「１」に設定される。
【０１９６】
このようにして、アドレスラインに設定された識別値がモードレジスタにロードされる。アドレスラインは、ＤＲＡＭ集積回路すべてに対して共通で、通常メモリチャネルが有するデバイス（ＤＩＭＭなどのメモリモジュールを含む）すべてに対して共通である。
【０１９７】
添付図面においては具体的な実施形態の例を説明および図示しているが、例示を目的としたものにすぎず、本発明の内容を限定するものではないと解釈されたい。また本発明の実施形態は、当業者であれば他の様々な変形例に想到するので、本明細書および図面に図示および説明した具体的な構造や配置には限定されない。
【０１９８】
本発明の実施形態の構成要素は、ソフトウェアで実施した場合、実質的に必要なタスクを実施するためのコードセグメントとなる。プログラムまたはコードセグメントは、プロセッサが読み取り可能な媒体に格納されるとしてもよいし、送信媒体または通信リンクを介して搬送波によって実現されるコンピュータデータ信号によって送信されるとしてもよい。「プロセッサが読み取り可能な媒体」は、情報を格納または送信できる媒体であればどのようなものであってもよい。「プロセッサが読み取り可能な媒体」の例を挙げると、電子回路、半導体メモリデバイス、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フロッピーディスク（登録商標）、ＣＤ−ＲＯＭ、光ディスク、ハードディスク、光ファイバ媒体、無線（ＲＦ）リンクなどがある。コンピュータデータ信号は送信媒体を介して伝播する信号であればどのようなものであってもよい。送信媒体の例としては、電子ネットワークチャネル、光ファイバ、大気、電磁波、ＲＦリンクなどがある。コードセグメントは、インターネットはイントラネットなどのコンピュータネットワークを介してダウンロードされるとしてもよい。
【図１Ａ】
2008544427.tif 000006
【図１Ｂ】
2008544427.tif 000007
【図２】
2008544427.tif 000008
【図３Ａ】
2008544427.tif 000009
【図３Ｂ】
2008544427.tif 000010
【図４Ａ】
2008544427.tif 000011
【図４Ｂ】
2008544427.tif 000012
【図４Ｃ】
2008544427.tif 000013
【図５Ａ】
2008544427.tif 000014
【図５Ｂ】
2008544427.tif 000015
【図５Ｃ】
2008544427.tif 000016
【図６】
2008544427.tif 000017
【図７】
2008544427.tif 000018
【図８】
2008544427.tif 000019
【図９】
2008544427.tif 000020
【図１０Ａ】
2008544427.tif 000021
【図１０Ｂ】
2008544427.tif 000022
【図１０Ｃ】
2008544427.tif 000023
【図１１Ａ】
2008544427.tif 000024
【図１１Ｂ】
2008544427.tif 000025
【図１１Ｃ】
2008544427.tif 000026
【図１１Ｄ】
2008544427.tif 000027
【図１２Ａ】
2008544427.tif 000028
【図１２Ｂ】
2008544427.tif 000029
【図１３Ａ】
2008544427.tif 000030
【図１３Ｂ】
2008544427.tif 000031
【図１４】
2008544427.tif 000032
【国際調査報告】
2008544427.tif 000033
2008544427.tif 000034
2008544427.tif 000035
2008544427.tif 000036