JP4838844B2 - 方法、記憶媒体、システムおよびプログラム - Google Patents

方法、記憶媒体、システムおよびプログラム Download PDF

Info

Publication number
JP4838844B2
JP4838844B2 JP2008519644A JP2008519644A JP4838844B2 JP 4838844 B2 JP4838844 B2 JP 4838844B2 JP 2008519644 A JP2008519644 A JP 2008519644A JP 2008519644 A JP2008519644 A JP 2008519644A JP 4838844 B2 JP4838844 B2 JP 4838844B2
Authority
JP
Japan
Prior art keywords
memory
subchannel
address
independent
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008519644A
Other languages
English (en)
Other versions
JP2008544426A (ja
Inventor
マックウィリアムズ、ピーター
アキヤマ、ジェイムズ
ガベル、ダグラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2008544426A publication Critical patent/JP2008544426A/ja
Application granted granted Critical
Publication of JP4838844B2 publication Critical patent/JP4838844B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Static Random-Access Memory (AREA)

Description

本発明の実施形態は、一般的に、メモリアーキテクチャ、特に、メモリコントローラとシステムメモリ間のメモリチャネルに関する。
時に、ユニファイドメモリアーキテクチャ(UMA)と称されるユニフォームまたはユニファイドメモリアクセスを有するメモリアーキテクチャにおいて、プロセッサとグラフィックコントローラは、システムメモリを共有して、コストを下げている。一般的に、UMAメモリアーキテクチャは、プロセッサからシステムメモリへのメモリリクエスト(読出し/書込みアクセス)処理するよう最適化されうる。典型的なUMAメモリアーキテクチャは、グラフィクスコントローラから発行されるメモリリクエストは妥協する。今日、グラフィクスパフォーマンスは、3次元(3D)及び高解像度をサポートするためにはより重要となってきている。
典型的なUMAメモリアーキテクチャでは、キャッシュメモリは、プロセッサにより発行されるメモリリクエストとグラフィクスコントローラにより発行されるメモリリクエストの両方をサポートするために固定の64バイトキャッシュラインを使用する。UMAメモリアーキテクチャにおける典型的なメモリコントローラは、1つまたは2つのメモリチャネルを有する。各メモリチャネルは、読出しまたは書込みアクセスを行うために各メモリモジュールと、アドレスバス内のすべてのアドレスラインを共有する。典型的なメモリチャネルにおけるデータバスは、一般的に64ビット幅であり、それにより、所与のアドレスに対し8バイトの隣接データがメモリから同時にアクセスされる。データバスのビットは、使用されるメモリタイプ及びメモリサイズに依存して様々な方法でメモリモジュールにルーティングされうる。
プロセッサは一般的に、メモリからアクセスされた64ビットの隣接データのすべてを使用する一方で、グラフィクスコントローラは一般的に使用しない場合がある。UMAメモリアーキテクチャにおいて、グラフィクスコントローラがメモリリクエストを発行する場合、隣接データの多くは廃棄されうる。したがって、メモリチャネルの帯域幅は、典型的なUMAメモリアーキテクチャにおいて、グラフィクスコントローラにより発行されるメモリリクエストでは効率的に使用されない場合がある。
本発明の実施形態の特徴は、以下の詳細な説明から明らかとなろう。
図面中の同様の参照符号及び記号表示は、同様の機能性を提供する同様の要素を示す。
本発明の実施形態の以下の詳細な説明において、本発明の完全な理解を提供するよう多数の特定の詳細を記載する。しかし、当業者には、本発明の実施形態は、これらの特定の詳細なしで実施しうることは明らかであろう。特定の場合では、周知の方法、手順、構成要素、及び回路は、本発明の実施形態の特徴を不必要に曖昧にしないよう詳細には記載していない。
統合型グラフィクスコンピュータシステムのメモリ効率は、一般的に、キャッシュラインのサイズにより制限される。しばしば、グラフィクスの理想的なメモリアクセスサイズは、4乃至16バイトのデータである。これは、グラフィクスプロセッサは、一度に1つのまたは幾つかのピクセルまたはテクセルを処理するからである。しかし、UMAメモリアーキテクチャは、プロセッサのメモリ効率を最適化するよう64バイトのキャッシュラインに対して最適化される。64バイトのキャッシュラインを使用すると、グラフィクスコントローラによるメモリリクエストは、平均して、メモリからフェッチされてグラフィクスコントローラにより決して使用されることのない相当量のデータをもたらす。この未使用のデータは、過剰フェッチと称されうる。
マイクロタイリング(micro-tiling)が組み込まれる本発明の実施形態は、統合型グラフィクスコントローラを有するUMAメモリアーキテクチャにおけるプロセッサ用のキャッシュライン要件を維持しながら、グラフィクスコントローラからのメモリリクエストの過剰フェッチを減少する。一般的に、マイクロタイリングには、新しいメモリアーキテクチャ及び新しいメモリコントローラアーキテクチャが包含される。新しいメモリコントローラアーキテクチャを説明する一方で、本願の焦点は、マイクロタイリングをサポートする新しいメモリアーキテクチャにある。マイクロタイリングメモリアーキテクチャをサポートするために、新しいメモリサブシステムは、1つのメモリチャネルにおいて独立したサブチャネルメモリアクセスを提供する。メモリへのこれらの独立したサブチャネルメモリアクセスは、マイクロタイルまたはマイクロタイル化されたメモリへのアクセスと称され、一般的にマイクロタイリングと称されうる。
簡単に説明するに、マイクロタイリングは、1つのメモリリクエストが、メモリの非隣接セクションまたはチャンクに対するより小さい複数のリクエストから構成されることを可能にする。マイクロタイリングメモリアーキテクチャは、リクエスタのニーズに基づいて、読出し及び書込みメモリフェッチのサイズまたは構造を変えることを可能にする。小さなチャンクが正しく識別されるために、マイクロタイル化メモリのコントローラによって、追加のアドレス情報がシステムメモリに供給される。たとえば、本発明の一実施形態では、64ビット幅のメモリチャネル(物理ビット幅)は、4つの16ビット幅サブチャネルに分割されうる。この実施形態では、64バイトメモリアクセス(メモリチャネルの論理バイト幅)は、4つの非隣接の16バイトチャンク(メモリトランザクションは、8つの転送のバーストであると仮定する)から構成される。各サブチャネルは、一意のアドレス情報を使用する。図3Aは、4つの16ビットサブチャネルの例示的な実施形態であり、それぞれ一意のアドレス情報を有する。マイクロタイルメモリアーキテクチャの他の実施形態では、各サブチャネルのサイズ及び各サブチャネルに設けられる独立アドレスラインの数を変更可能である。
追加の独立したアドレス情報をメモリアレイの各サブチャネルに供給するのに利用可能な方法は幾つかあり、それには、メモリコントローラからメモリ集積デバイスに新しい専用ラインをルーティングすることにより追加のアドレスラインを供給すること、または、メモリモジュール内にルーティングされる未使用の誤り訂正コード(ECC)信号ラインを追加のアドレスラインとなるようリターゲットすることを含む。独立した追加のアドレス情報は、たとえば、列アドレスがメモリ集積回路に書込みされるメモリサイクル時といった典型的な未使用期間に既存のアドレス信号ラインをオーバーロードすることによっても供給されうる。この場合、マイクロタイリングサポートをメモリモジュールにおいて実施可能であると同時に既存のメモリモジュール実施に後方互換性を提供することができる。これらの方法は、任意の追加のアドレスラインを含む所望数のアドレスラインに関する追加のアドレス情報を供給するよう本発明の実施形態において別個に使用されても、または、組み合わせて使用されてもよい。
本発明の一実施形態では、追加のアドレス信号ラインは、マザーボード上を、メモリ集積回路にルーティングされ、マイクロタイリング及びマイクロタイル化メモリへのアクセスをサポートする。新しいアドレス信号ラインは、メモリコントローラからマザーボードを介してメモリ集積デバイスにルーティングされる専用アドレスラインである。さらに別の本発明の実施形態では、追加のアドレス信号ラインは、マザーボードを介して新しいコネクタにルーティングされ、また、新しいピン割り当て(ピンアウト)を有する新しいメモリモジュールはこの新しいコネクタに差し込まれる。
本発明の別の実施形態では、マイクロタイリングをサポートするよう追加のアドレスを転送するために、アドレス信号のオーバーローディングを使用しうる。典型的なダイナミックランダムアクセスメモリ(DRAM)集積回路は、行アドレスストローブ(RAS#)制御信号がローにアサートされる場合にアドレス信号ラインを介して行アドレスを受信する。列アドレスは、列アドレスストローブ(CAS#)制御信号がローにアサートされる場合により少ない数のアドレス信号ラインを介してDRAM集積回路により受信される。行アドレスは、すべての既存のアドレス信号ラインを介して送信される一方で、同じアドレス信号ラインを介して送信される列アドレスはほとんどないことがしばしば観察されている。つまり、列アドレス信号を転送するために既存のアドレス信号ラインはほとんど使用されない。したがって、追加のアドレス信号は、CAS#制御信号がローにアサートされる場合にこの未使用のアドレス信号ラインを介してDRAM集積回路に転送可能である。このようにすると、マイクロタイリングの追加のアドレス指定機能をサポートするために追加のアドレス信号ラインはまったく必要ないかまたはほんの少しだけ必要である。
本発明の別の実施形態では、マイクロタイリングをサポートするよう追加のアドレスを転送するために、未使用の誤り訂正コードまたはパリティ信号ラインを使用しうる。一部のメモリモジュールでは、誤り訂正コード(ECC)は、データビットを監視するECC集積回路と、ECCデータを保存する追加メモリがあることによりサポートされうる。しかし、ECCを有するメモリモジュールは、高価であるため、一般的に、サーバといった高いエンドシステムだけに使用される。コンピュータの数が大きいデスクトップまたはクライアントコンピュータでは、ECCは、追加の費用がかかるため、一般的にサポートされない。このような場合、ECCまたはパリティ用に用意されるメモリモジュールの多数のピンは、使用されない。ECCを有さないメモリモジュールでは、未使用のECCまたはパリティピンは、マイクロタイリングをサポートするよう追加のアドレスを転送するために使用されうる。メモリモジュールの他の未使用の非接続(NC)ピンもマイクロタイリングをサポートするよう追加の独立アドレス信号ラインを供給するために使用されうる。
さらに別の本発明の実施形態では、追加の独立アドレスシグナリングは、未使用のピンにより供給される追加のアドレス信号ラインを、列アドレスの転送時のアドレス信号オーバーロードと組み合わせることにより行われうる。
ダブルデータレート(DDR)DRAM技術に基づいたメモリチャネルといった標準メモリチャネルにおいて、メモリチャネルの論理幅は、Mバイト幅であると考えられる。1バイトのデータには8ビットが含まれる。メモリチャネルの論理幅は、メモリモジュールを介するデータ転送のバースト長に幾らか関連する。つまり、Mバイトのデータは、ベースアドレスからインクリメントされる連続アドレスを使用して、1つのバーストを形成する複数のデータ転送により連続してアクセス可能である。一般的に、アクセス(読出しまたは書込み)されるべきバイトのブロックのベースアドレスは、チャネルの論理幅の整数倍数である。メモリチャネルの物理幅は、メモリコントローラとメモリモジュール間のデータバスのビット幅である。典型的な最小バースト幅は、アドレスラインの最下位ビットにより設定されうる開始バイトオーダーを有する8つのメモリサイクルでありうる。64ビットの典型的な物理幅を使用すると、8つのメモリサイクルは、1つのメモリチャネルにおける64バイトのデータにアクセスする。したがって、メモリチャネルの典型的な論理幅は、64バイトのデータである。
前述したように、メモリチャネルの論理幅は、ベースアドレスと共に連続転送可能なバイトの数であり、メモリチャネルの物理幅は、メモリコントローラとメモリモジュール間のデータバスのビット幅(「WDB」)である。マイクロタイル化メモリシステムは、メモリチャネルの論理幅及び物理幅を、より小さい論理バイト幅及びより小さい物理ビット幅を有するサブチャネルに等しく分割する。
メモリのマイクロタイリングは、メモリチャネルの物理幅(WDBビット)とメモリチャネルの論理幅(Mバイト)を、S個のサブチャネル(WSC)に分割する。各サブチャネルは、WSC=WDB/Sビットの物理幅と、N=M/Sバイトの論理幅を有する。したがって、Nバイトのデータは、各データ転送バーストに対して各サブチャネルにおいてWSCビットのデータラインを介して転送されうる。1つのメモリチャネルは、メモリ内でアクセスするメモリロケーションの総数(TML)を有しうる。各サブチャネルは、1メモリチャネルの総メモリロケーションのサブセット(TSML)にアクセスする。すなわち、TSML=TML/Sである。
マイクロタイリングメモリにおいて、各サブチャネルは、互いから独立してメモリチャネルを介してより小さい粒度のデータにアクセス可能である。サブチャネルを完全に独立するために、別個のアドレス信号ラインが、メモリコントローラから各サブチャネルにルーティングされうる。多くの別個のアドレス信号ラインをルーティングし過ぎないために、一部のアドレス信号ラインは、メモリロケーションが共通アドレスのセットから独立して選択可能であるようサブチャネル間で共有されうる。したがって、各サブチャネルに提示されるアドレスは、多数の独立アドレスビット(「I」)を有し、その値は、他のサブチャネルに提示されるアドレスにおける対応ビットとは異なることが可能である。したがって、各サブチャネル上を転送されるデータは隣接データブロックを示すが、各サブチャネル上のデータブロックは必ずしも隣接アドレス範囲から形成されるわけではない。
本発明の実施形態は、図1A、図1Bに示すシステムといった様々なシステムに使用されうる。図1Aを参照するに、本発明の実施形態を使用しうる典型的なコンピュータシステム100のブロック図を示す。コンピュータシステム100Aは、第1の処理ユニット101と、キーボード、モデム、プリンタ、外部ストレージデバイスなどといった入出力デバイス(I/O)102と、CRTまたはグラフィクスディスプレイといったモニタリングデバイス(M)103を含む。モニタリングデバイス(M)103は、ビジュアルまたはオーディオ形式といった人間が理解可能な形式でコンピュータ情報を提供しうる。システム100は、1つのコンピュータシステムではなく多数の様々な電子システムであってもよい。
次に図1Bを参照するに、本発明の実施形態を使用しうるクライアントサーバシステム100Bを示す。クライアントサーバシステム100Bは、ネットワーク112に接続される1つ以上のクライアント110A−110Mと、ネットワーク112に結合されるサーバ114を含む。クライアント110A−110Mは、情報を送受信し、サーバ上で必要でありうる任意のデータベース及び/またはアプリケーションソフトウェアにアクセスするために、ネットワーク112を介してサーバ114と通信する。クライアント110A−110M及びサーバ114は、典型的なコンピュータシステム100Aのインスタンスでありうる。サーバ114は、メモリを有する処理ユニットを有し、また、さらに、1つ以上のディスクドライブストレージデバイスを含みうる。サーバ114は、ストレージエリアネットワーク(SAN)において、たとえば、ネットワークアタッチドストレージ(NAS)デバイスとして使用され、ディスクのアレイを有しうる。サーバ114へのデータアクセスは、ネットワーク112を介して、複数のクライアント110A−110Mと共有されうる。
次に図2Aを参照するに、本発明の実施形態を使用しうる第1の処理ユニット101Aのブロック図を示す。処理ユニット101Aは、図示するように互いに結合される、プロセッサ回路201、メモリ制御ブロック202、外部キャッシュメモリ203E、1つ以上のメモリチャネル204A−204N、グラフィクスコントローラ206、及び入出力コントローラ207を含みうる。処理ユニット101Aのプロセッサ回路201、メモリ制御ブロック202、キャッシュメモリ203E、グラフィクスコントローラ206、及び入出力コントローラ207のうちの2つ以上の構成要素の組み合わせは、単一の集積回路に共に一体にされてもよい。たとえば、メモリ制御ブロック202、グラフィクスコントローラ206、及び入出力コントローラ207は、集積回路210として共に一体にされうる。別の例として、プロセッサ回路201、メモリ制御ブロック202、キャッシュメモリ203E、グラフィクスコントローラ206、及び入出力コントローラ207は、集積回路210´として共に一体にされうる。別の例として、メモリコントローラを有するメモリ制御ブロック202は、プロセッサ回路201に組み込まれてもよい。プロセッサ回路201とメモリ制御ブロック202との間に結合される外部キャッシュメモリ203Eは、集積回路210´の一部として示すが、別個の回路であってもよい。多くの場合、キャッシュメモリ203Eは、大きいメモリ容量を別個に製造することがより効率的であるので、集積回路210´の外部とされる。
プロセッサ回路201は、1または複数の実行ユニット、または、プロセッサA 201A−プロセッサN 210Nといった1より多い数のプロセッサ(コアプロセッサとも称しうる)を、マルチプロセッサ集積回路として含みうる。プロセッサ回路201の各プロセッサは、1つ以上のレベルのオンチップまたは内部キャッシュメモリ203I、または、同じ内部キャッシュメモリを共有しうる。他のレベルのキャッシュメモリは、外部キャッシュメモリ203Eといったように、プロセッサ201の外部でありえ、また、メモリコントローラとインターフェースする。プロセッサ回路201も、マイクロコンピュータが有しうるように、オンチップまたは内部ランダムアクセスメモリ(RAM)と、オンチップまたは内部読出し専用メモリ(ROM)を有しうる。プロセッサ201、その1つ以上の実行ユニット、及び1つ以上のレベルのキャッシュメモリは、1つ以上のメモリチャネル204A−204Nを有するメモリ制御ブロック202を介してデータ(命令を含む)を読出しまたは書込みしうる。
1つ以上のメモリチャネル204A−204Nとプロセッサ201、さらにはグラフィクスコントローラ206に結合され、かつ、1つ以上のメモリチャネル204A−204Nとプロセッサ201及びグラフィクスコントローラ206の間にあるメモリ制御ブロック202は、任意選択的に独自の内部キャッシュメモリ203Mを有するか、または、そのキャッシュメモリは、別のレベルのキャッシュメモリとして外部でありうる。メモリ制御ブロック202は、1つ以上のメモリチャネル204A−204Nのそれぞれに対して1つ以上のマイクロタイルメモリコントローラMCA 208A−MCN 208Nを含む。
1つ以上のメモリチャネル204A−204Nのそれぞれは、1つ以上のメモリモジュールMM1−MMnを含む。各メモリモジュールは、1つ以上のメモリ集積回路またはデバイスを含む。1つ以上のメモリ集積回路またはデバイスは、ダイナミックランダムアクセスメモリ(DRAM)回路、スタティックランダムアクセスメモリ(SRAM)回路、または不揮発性ランダムアクセスメモリ(NVRAM)回路を含む様々なタイプのメモリ集積回路でありうる。しかし、本発明の好適な実施形態では、1つ以上のメモリ集積回路は、ダイナミックランダムアクセスメモリ(DRAM)回路である。
1つ以上のメモリチャネル204A−204Nのそれぞれは、2つ以上のメモリサブチャネルを含む。図2Aでは、4つのメモリサブチャネル205A−205Dが、各メモリチャネル204A−204Nに含まれる。図2Bを少し参照するに、2つのメモリサブチャネル205A´、205B´が各メモリチャネル204A−240Nに含まれる。各メモリチャネルにおける2つ及び4つのメモリサブチャネルを示すが、偶数または奇数のサブチャネルなどに1つのメモリチャネルを分割しうることを理解するものとする。これは、特に、メモリチャネルの論理幅またはバースト長が増加すると言えることである。
各メモリチャネル204A−204Nにおける1つ以上のメモリモジュールMM1−MMNは、マイクロタイリングをサポートするよう構成されうる。1つ以上のメモリモジュールがマイクロタイリングをサポートするか否かを判断するためにメモリ制御ブロックによりアルゴリズムが使用されてもよい。1つ以上のメモリモジュールに含まれる1つ以上のメモリ回路またはデバイスは、マイクロタイリングをサポートするよう構成されうる。1つ以上のメモリ回路は、マイクロタイリングが有効(MTE)にされ、また、特定のメモリサブチャネルをサポートするよう割り当てられる。1つ以上のメモリ回路は、マイクロタイリングが有効にされ、特定のメモリサブチャネルに割り当てられるよう追加のピンを含むか、または、モードレジスタにおける追加のビットを有しうる。メモリ回路により追加のピンが供給される場合、外部のジャンパピン、ジャンパワイヤ、またはマイクロスイッチ(たとえば、DIPスイッチ)が、マイクロタイリングサポートを構成するよう使用されうる。メモリ回路内に設けられるモードレジスタの場合、各サブチャネルへのデータバスの独立部分を使用して、モードレジスタに適切なローディングストローブをロードしうる。
I/Oコントローラ207は、メモリ制御ブロック202に結合されて、1つ以上のメモリチャネル204A−104Nにデータを書込みし、それにより、I/Oコントローラ207は、プロセッサ201によりアクセス可能である。処理ユニット101Aはさらに、I/Oコントローラ207に結合される、ワイヤレスネットワークインターフェース回路(WNIC)213、有線ネットワークインターフェース回路またはカード(NIC)214、汎用シリアルバス(USB)、及び/またはファイヤワイヤ(FW)シリアルインターフェース215、及び/またはディスクドライブ216を含みうる。ワイヤレスネットワークインターフェース回路(WNIC)213は、ワイヤレスローカルエリアネットワーク、wifi(IEEE802.11)、ブルートゥース、または他の無線接続といった基地ラジオユニットへの無線接続を供給する。ワイヤレスネットワーク相互接続(WNIC)213は、基地ラジオユニットまたは他の移動式ラジオユニットに無線波により結合するアンテナを含む。NIC214は、イーサネット(登録商標)有線ローカルエリアネットワーク接続を供給する。USB/FWシリアルインターフェース215は、他のI/O周辺デバイスを含むようシステムの拡張を可能にする。ディスクドライブ216は周知であり、プロセッサ201に書換え可能なストレージを供給する。ディスクストレージデバイス216は、フロッピー(登録商標)ディスク、ジップディスク、DVDディスク、ハードディスク、書換え可能光ディスク、フラッシュメモリ、または他の不揮発性ストレージデバイスのうちの1つ以上でありうる。
グラフィクスコントローラ206は、1つ以上のメモリチャネル204A−204Nからデータを読出しする及び1つ以上のメモリチャネル204A−204Nにデータを書込みするようメモリ制御ブロック202に結合されうる。プロセッサ201は、1つ以上のメモリチャネル204A−204Nにデータを書込みし、したがって、データはグラフィクスコントローラ206によりアクセス可能であり、また、グラフィクスディスプレイまたはビデオデバイス上で表示可能である。グラフィクスディスプレイ217は、グラフィクスコントローラ206に結合されうる。ビデオインターフェース218が、グラフィクスコントローラ206に結合されうる。ビデオインターフェース218は、アナログ及び/またはデジタルビデオインターフェースでありうる。
処理ユニット101Aにおいて、プロセッサ201、I/Oコントローラ207、及びグラフィクスコントローラ206は、メモリ制御ブロック202におけるメモリコントローラを介して1つ以上のメモリチャネル204A−204Nにおけるデータにアクセスしうる。メモリ制御ブロックにおけるメモリコントローラは、システムメモリと、プロセッサ201、I/Oコントローラ207、及びグラフィクスコントローラ206との間でデータを読出し及び書込みするために、各メモリチャネル204A−204Nとのインターフェースとなる。マイクロタイル化されたメモリのコントローラ208A−208Nを、メモリチャネル204A−204Nに対してそれぞれインターフェースさせる際に、アドレスバスのアドレス信号ライン220、データバスのデータ信号ライン222、及び、制御及びクロック信号ライン224がメモリインターフェースの一部として存在しうる。ディスクストレージデバイス216といったI/Oコントローラ207に結合される入力デバイスも、システムメモリから情報を読出しし、また、システムメモリに情報を書込みしうる。
一般的に、データバスのデータ信号ライン222は、S個のサブチャネルに分割される。図2Bにおいて、Sは4であり、データバスのデータ信号ライン222は、サブチャネルデータライン222A、222B、222C、及び222Dにより示し、各サブチャネル205A、205B、205C、及び205Dに結合されるように、4つのサブチャネルに分割される。たとえば、64ビットバスは、4セットの16ビットデータラインに分割される。本発明の一実施形態では、一部のアドレス信号ライン220は、サブチャネル間で共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。本発明の別の実施形態では、すべてのアドレス信号ライン220は、各サブチャネルにおいて独立しうる。アドレス信号ラインを以下にさらに説明する。
図2Bを参照するに、本発明の実施形態を使用しうる第2の処理ユニット101Bのブロック図を示す。第2の処理ユニット101Bは、図示するように互いに結合される、プロセッサ回路201、メモリ制御ブロック202、外部キャッシュメモリ203E、1つ以上のメモリチャネル204A−204N、グラフィクスコントローラ206、及び入出力コントローラ207を含みうる点で、第1の処理ユニット101Aと同様である。簡潔にする理由で、同様の番号が付けられた要素については図2Aの説明を参照されたい。したがって、ここで説明は繰り返さない。しかし、第2の処理ユニット101Bでは、1つ以上のメモリチャネル204A−204Nのそれぞれは、図示するように2つのサブチャネル205A´及び205B´に分割される。つまり、サブチャネルの数、Sは2である。データバスのデータ信号ライン222は、サブチャネルデータライン222A及び222Bにより示し、各サブチャネル205A´及び205B´に結合されるように、2つのサブチャネルに分割される。たとえば、64ビットバスは、2セットの32ビットデータラインに分割されうる。本発明の一実施形態では、一部のアドレス信号ライン220は、サブチャネルのそれぞれで共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。本発明の別の実施形態では、すべてのアドレス信号ライン220は、各サブチャネルにおいて完全に独立しうる。
次に図3Aを参照するに、2つのメモリチャネルのブロック図を示す。図3Aは、ホスト300とも称し、メモリチャネル0 304A及びメモリチャネル1 304Bに結合される複合グラフィクス及びメモリコントローラ300を示す。メモリチャネル0 304A及びメモリチャネル1 304Bはそれぞれ4つのサブチャネル305A、305B、305C、及び305Dに分割される。各メモリチャネルは、メモリチャネルのサブチャネルをサポートする独立マイクロタイルメモリコントローラを有する。各メモリチャネルは、独立データバスを有する。たとえば、メモリチャネルの各データバスについて64ビットの総データビット幅を仮定すると、各サブチャネルは、16ビットのデータバスの独立セットに結合される。図3Aに示すように、サブチャネル305AはデータビットD15−D0に結合され、サブチャネル305BはデータビットD31−D16に結合され、サブチャネル305CはデータビットD47−D32に結合され、サブチャネル305DはデータビットD63−D48に結合される。
前述したように、本発明の一実施形態では、一部のアドレス信号ラインは、サブチャネルのそれぞれで共有され、一方で他のアドレス信号ラインは、個々のサブチャネルからは独立しうる。たとえば、アドレス信号ライン310(Axx−A10,BA2−BA0とラベル付けされる)は、すべてのサブチャネル305A−305Dに対して共有される。つまり、アドレス信号ライン310のそれぞれは、展開されて、各サブチャネルに結合されうる。対照的に、アドレス信号ライン311A(A9−A6とラベル付けされる第1のセット)は、サブチャネル305Aに独立して結合される。アドレス信号ライン311B(A9−A6とラベル付けされる第2のセット)は、サブチャネル305Bに独立して結合される。アドレス信号ライン311C(A9−A6とラベル付けされる第3のセット)は、サブチャネル305Cに独立して結合される。アドレス信号ライン311D(A9−A6とラベル付けされる第4のセット)は、サブチャネル305Dに独立して結合される。
理想的には、割り当てられたメモリページサイズ粒度内の完全なアドレス指定可能性を許可するよう十分な独立アドレスラインが提供される。ページサイズは、一般的に、グラフィックメモリ空間を管理するソフトウェアにより設定される。たとえば、2チャネルキャッシュラインインターリーブメモリサブシステムにおける4キロバイト(KB)ページサイズ割り当ての場合を検討してみる。2KBのページが、各メモリチャネルにマッピングされる。この場合、5つのアドレスラインを使用してメモリの各物理ページにおける32の64Bキャッシュラインをアドレス指定しうる。したがって、15の追加の独立アドレスラインが、4つの16ビットサブチャネル実施には理想的である。これらは、アドレスラインの第1のセットA10−A6とラベル付けされるオリジナルのアドレス信号ラインの第1のセット311Aに対して、A10−A6とラベル付けされる第2の、第3の、及び第4のセットとしてそれぞれラベル付けされるアドレス信号ライン311B−Dとして示される。使用可能な追加の独立アドレスラインが少ない場合、各サブチャネルによりアドレス指定可能な独立アドレス空間は減少する。各サブチャネルが使用可能な独立アドレスラインが多い場合、各サブチャネルによりアドレス指定可能な独立アドレス空間は増加する。2つの32ビットサブチャネルを実施するためには、5つの追加独立アドレスラインを有することが好適である。
本発明の一実施形態では、追加のアドレス信号ラインは、図3Aに示すように独立アドレス信号ラインを供給するようメモリコントローラとサブチャネルとの間にルーティングされうる。本発明の別の実施形態では、アドレス信号は、既存のアドレスライン上にオーバーロードされうる。本発明のさらに別の実施形態では、追加アドレス信号ラインのルーティングとアドレス信号のオーバーロードの組み合わせを使用してマイクロタイリングをサポートしうる。本発明のさらに別の実施形態では、各サブチャネルには、図3Aに示す共有アドレスラインのない独立アドレスラインの完全なセットが与えられうる。しかし、共有アドレス信号ライン310の使用は、独立アドレス信号ラインのルーティングを回避することにより印刷回路基板領域を節約する。
図6を少し参照するに、共有及び独立アドレスビットを使用して1つのメモリチャネル用の1つのアドレス信号ラインビットマップを示す。つまり、図6は、物理アドレスにおけるアドレスビットの解釈を示すアドレスビットマップである。I個の独立アドレスビット(IAB)からなるセットは各サブチャネルに与えられてマイクロタイリングをサポートする。SA個(0個以上)の共有アドレスビット(SAB)からなるセットはすべてのサブチャネルに与えられうる。Q個のサブチャネル選択ビット(SSB)からなるセットは、サブチャネルへのメモリリクエストの割り当てに使用される。P個のサブチャネルデーアドレスビット(SDAB)からなるセットは、DRAMメモリにおける各キャッシュラインにおけるバイトをアドレス指定するために使用される。P個のSDABビットのセットは、一般的に、アドレス信号ラインマップの最下位ビットである。Q個のSSBビット及びP個のSDABビットからなるセットは、実際には、メモリコントローラとサブチャネルメモリとの間でルーティングされず、アクセスされるデータブロックのベースアドレスは、バーストサイズの整数倍数であると理解される。つまり、P個のSDABビットは、ダブルデータレート(DDR)メモリ仕様に従いDRAMデバイスといったメモリ集積回路により内部で生成されうる。図6は、共有及び独立アドレスビットであるよう選択される特定のアドレスビットを示すが、他のアドレスビットが代わりに割り当てられてもよい。つまり、P個のサブチャネルデータアドレス(SDAB)ビットより上のアドレスビットのSA個の共有アドレス(SAB)ビット及びI個の独立アドレス(IAB)ビットへの分割は、一般的に任意である。
次に図4A−4Cを参照するに、タイリングされたアドレス空間を使用した理想的な三角形のピクセルマップレンダリングを示す。図4Aは、論理チャネル幅は64バイトである、非マイクロタイル化メモリシステムを使用するタイル化されたアドレス空間における三角形401のラスタライゼーションを示す。図4B、4Cは、マイクロタイル化メモリシステムを使用するタイル化されたアドレス空間における三角形401のラスタライゼーションを示す。三角形401のラスタライゼーションの単位はフラグメント402である。フラグメント402は、1ピクセルまたは1テクセルを表しうる。タイル化されたアドレス空間は、論理的に2次元のデータアレイが、サブアレイにおけるデータはアドレス空間の隣接範囲に格納され、したがってメモリ内において非常に局所化されるようサブアレイのセットとして組織される。線形的にアドレス指定される論理的に2次元のデータアレイは、そのようなサブアレイはない。代わりに、フラグメント402といったデータが、1行において左から右に、続いて、次の行に上から下に下がって線形にアドレス指定される。したがって、垂直方向に隣接するフラグメント402は、メモリにおいては離れている場合がある。
図4Aと比較して、図4B、4Cは、マイクロタイルメモリアクセスにより提供される複数の小さいメモリリクエストによる利点を示す。図4A−4Cのそれぞれは、異なるメモリリクエストサイズに対する三角形401のラスタライゼーションを示す。
図4Aでは、単一のメモリリクエストは、16のフラグメントに相当するデータを包含する。個々の四角形402のそれぞれは、1つのフラグメントに相当し、一般的に、1フラグメントにつき32ビットまたは4バイトである。図4A−4Cは、20×20のフラグメントアレイを示す。図4Aに示す4×4のフラグメントアレイは、スパン404であり、1つの64バイトメモリリクエストに相当する。サブスパン424は、図4Cにおいて、2×2のフラグメントアレイ、すなわち、1つの16バイトメモリリクエストとして示す。ダブルスパン414は、図4Bに示し、また、2×4のフラグメントアレイとして方向付けられる1つの32バイトメモリリクエストである。
図4A−4Cにおける違いは、メモリリクエストサイズの減少に伴う過剰フェッチにおける理論上の減少を示す。図4A−4Cのそれぞれにおいて、三角形401は、同数のフラグメントのアクセスを必要とする。しかし、1メモリアクセスは一般的に、そのアクセスに三角形401内のフラグメント408と三角形401外のフラグメント406を表すデータを含みうるように1つ以上のフラグメントのデータを転送する。三角形401外のフラグメント406を表すデータは過剰フェッチされ、結果としてメモリ帯域幅は効率よく使用されなくなる。
図4Aにおいて、64バイトメモリアクセスは、スパン404のデータ、すなわち、4×4のフラグメントブロックを転送する。たとえば、スパン404Aは、第1の64バイトメモリアクセスである。スパン404Bは、第2の64バイトメモリアクセスである。たとえば、三角形401は、レンダリングのために約57ピクセルを包含すると考える。64バイトメモリアクセスの場合、その三角形内の65個のフラグメントにアクセスするには10個のメモリアクセスが必要となる。さらに95個のフラグメントのデータがアクセスされるが、使用されない場合がある。
図4Bにおいて、32バイトメモリアクセスは、ダブルサブスパンのデータ、すなわち、2×4のフラグメントブロックまたは64バイトメモリアクセスの半分を転送する。たとえば、ダブルサブスパン414Aは、第1の32バイトメモリアクセスである。ダブルサブスパン414Bは、第2の32バイトメモリアクセスである。32バイトメモリアクセスの場合、その三角形内の65個のフラグメントにアクセスするためには13個のメモリアクセスが必要となる。さらに47個のフラグメントのデータがアクセスされるが、使用されない場合がある。
図4Cにおいて、16バイトメモリアクセスは、サブスパンのデータ、すなわち、2×2のフラグメントブロックまたは64バイトメモリアクセスの4分の1を転送する。スパン424Aは、第1の16バイトメモリアクセスである。スパン424Bは、第2の16バイトメモリアクセスである。スパン424Cは、第3の16バイトメモリアクセスである。スパン424Dは、第4の16バイトメモリアクセスである。16バイトメモリアクセスの場合、その三角形内の65個のフラグメントにアクセスするためには22個のメモリアクセスが必要となる。さらに13個のフラグメントのデータがアクセスされるが、使用されない場合がある。
図4A、4B、及び4Cのそれぞれにおいて表示するために、三角形401は65個のピクセルまたはフラグメント(260バイト)を必要とする別の例を考慮する。図4Aでは、三角形401をレンダリングするために、160個のピクセルまたは640バイトのデータを含む約10個のメモリスパンがアクセスされる。図4Bでは、三角形401をレンダリングするために、112個のピクセルまたは448バイトのデータを含む約13個のデータダブルサブスパンがアクセスされる。図4Cでは、三角形401をレンダリングするために、88個のフラグメントまたは352バイトのデータを含む約22のデータサブスパンがアクセスされる。したがって、図4Aと比較するに、図4B及び4Cでは、各メモリチャネルにおけるサブチャネルを使用するマイクロタイルアドレス指定を実施することにより過剰フェッチされるピクセルまたはフラグメント406は低減する。
前述したように、図4B、4Cは、メモリサブチャネルを含むマイクロタイル化されたメモリシステムを使用する、タイル化されたアドレス空間における三角形401のラスタライゼーションを示す。図4Bでは、1つの64バイト幅メモリチャネルは、2つの32バイト幅メモリサブチャネルから形成されうる。この場合、マイクロタイル化されるメモリへのアクセスは、64バイトの総サイズとなるよう2つのサブチャネルのそれぞれに1つの32バイトアクセスで、2つの非隣接32バイトアクセスを、単一の64バイトアクセスに組み合わせる。三角形のラスタライゼーションは、ダブルサブスパン414にアクセスするリクエストをもたらす。たとえば、マイクロタイルメモリコントローラは、ダブルサブスパン414C及び414Dにアクセスするリクエストを、単一のマイクロタイル化されたメモリのアクセスに組み合わせうる。もう1つの例として、メモリコントローラは、ダブルサブスパン414E及び414Fにアクセスするリクエストを、単一のマイクロタイル化されたメモリのアクセスに組み合わせうる。ダブルサブスパンにアクセスするリクエストの他の組み合わせも、単一のマイクロタイル化されたメモリリクエストまたはアクセスに形成されうる。本発明の一以上の実施形態では、組み合わされたサブチャネルアクセスは、SA個の共有アドレスビットに共有アドレスビットパターンを有する。
図4Cでは、1つの64バイト幅メモリチャネルは、4つの16バイト幅メモリサブチャネルから形成されうる。この場合、マイクロタイル化されるメモリアクセスは、64バイトの総サイズとなるよう4つのサブチャネルのそれぞれに1つの16バイトアクセスで、4つの非隣接16バイトアクセスを、単一の64バイトアクセスに組み合わせる。三角形のラスタライゼーションは、サブスパン424にアクセスするリクエストをもたらす。たとえば、マイクロタイルメモリコントローラは、サブスパン424E、424F、424G、及び424Hにアクセスするリクエストを、単一のマイクロタイル化されたメモリアクセスに組み合わせうる。サブスパンにアクセスするリクエストの他の組み合わせも単一のマイクロタイル化されたメモリリクエストまたはアクセスに形成されうる。本発明の一以上の実施形態では、組み合わされたサブチャネルメモリアクセスは、4つのメモリサブチャネルのそれぞれに対してSA個の共有アドレスビットに共有アドレスビットパターンを有する。
理想的な場合では、すべてのマイクロタイル化されたメモリリクエストがマイクロタイルトランザクションアセンブラにより使用可能であり、それにより、未使用のサブチャネルのない64Bメモリトランザクションを構築することが仮定される。つまり、マイクロタイリングの有効性は、トランザクションアセンブラ326A、326Bの完全にポピュレートされたメモリトランザクションを構成する能力に依存する。
図3Bを参照するに、システムメモリチャネルに結合されるマイクロタイル化されたメモリ制御ブロック300と、1つ以上のキャッシュメモリ203を含むマルチチャネルメモリサブシステムを示す。メモリ制御ブロック300において、マルチチャネルメモリサブシステムは、システムメモリへの各メモリチャネルに対するマイクロタイリングメモリコントローラを含む。
図3Bでは、2つのメモリチャネル304A及び304Bが設けられる。したがって、2つのマイクロタイルメモリコントローラ321A及び321Bが、各メモリチャネル304A及び304Bに対して設けられる。各メモリチャネル304A、304Bは、S個のサブチャネル305A−305Sから構成されうる。各サブチャネル305は、論理的にNバイト幅、また、Bビット幅である。各メモリチャネル304は、論理的にM=NSバイト幅である。
メモリ制御ブロック300とキャッシュメモリ203との間には、コマンドパスまたはアドレスパスを含むことが可能である書込みデータパス301及び読出しデータパス302があり、これらのパスを介して、読出し及び書込みリクエストを行うことができる。Nバイトは、読出しトランザクションの場合に、読出しデータパス302を介してメモリ制御ブロック300からキャッシュ203に戻される。Nバイトの書込みリクエストは、書込みトランザクションの場合に、書込みデータパス301を介してキャッシュ203からメモリ制御ブロック300に供給される。Nバイトの読出しまたは書込みリクエストはキャッシュ203とメモリ制御ブロック300との間で発行されるが、リクエストは、たとえば、4つのサブチャネルと共に使用されうるように2×2のピクセルまたはテクセルアレイに相当する2×2のタイルのアレイとして示す。
メモリ制御ブロック300は、チャンネルアサイナ320と、第1のメモリコントローラ321A、及び第2のメモリコントローラ321Bを含む。メモリ制御ブロック300はさらに、メモリチャネル0 304A及びメモリチャネル1 304Bに結合される。メモリチャネル1 304Aは、「S個」のサブチャネル305A−305Sを含む。同様にメモリチャネル1 304Bは、「S個」のサブチャネル305A−305Sを含む。共有アドレスライン310は、各メモリコントローラ322から各サブチャネル305A−305Sに結合する。独立アドレスライン311A−311Sは、それぞれのサブチャネル305A−305Sに結合する。各データバスサブチャネル部312A−312Sは、それぞれのメモリサブチャネル305A−305Sに結合する。
各メモリコントローラ321A及び321Bは、サブチャネルアサイナ322A−322B、並べ替えバッファ324A−324B、及びトランザクションアセンブラ326A−326Bをそれぞれ含む。
1チャンネルの論理幅である、Nバイトのデータに対するメモリリクエストは、チャネルアサイナ320に結合される。チャネルアサイナは、メモリリクエストを、メモリチャネルの可変性を含む状況に依存してメモリチャネル0 304Aまたはメモリチャネル1 304Bのいずれかに割り当てる。チャネルアサイナによりメモリチャネルに割り当てられた後、Nバイトリクエストは、各メモリコントローラ321Aまたは321B、また、サブチャネルアサイナ322Aまたは322Bに結合される。
サブチャネルアサイナ322A及び322Bは、Nバイトのリクエストをサブチャネル305A−305Sのうちの1つに割り当てる。図6を参照するに、識別サブチャネル割り当て(s)は、以下の処理により定義されうる。すなわち、(1)リクエストアドレス(「A」)は、P個のSDABビット分右にシフトされ、新しい整数値
Figure 0004838844
がもたらされる。(2)サブチャネル割り当てに対する値「s」は、
Figure 0004838844
の最下位のQ個のSSBビットである。
Figure 0004838844
各マイクロタイリングメモリコントローラ321A、321Bは、それぞれ、1つの並べ替えバッファ324A、324Bを有する。並べ替えバッファは、サブチャネルへのメモリリクエストの順序を並べ替え、それにより、各メモリチャネルにおける帯域幅効率を上げる。アドレス「A」においてNバイトのデータブロックを読出しまたは書込みする1つのリクエストは、メモリコントローラ322Aまたは322Bに入り、1つのサブチャネルに割り当てられ、並べ替えバッファ内に置かれる。並べ替えバッファは、各サブチャネルに対する並べ替えキューとして実施されうる。並べ替えバッファの他の実施も可能である。
トランザクションアセンブラ326A、326Bは、並べ替えバッファからS個の読出しリクエスト(各サブチャネルに対し1つのリクエスト)をすべてのS個のリクエストが同じ共有アドレスビットを有するよう選択することにより、1つのメモリ読出しトランザクションを形成する。トランザクションアセンブラは、並べ替えバッファからS個の書込みリクエスト(各サブチャネルに対し1つのリクエスト)をすべてのS個のリクエストが同じ共有アドレスビットを有するよう選択することにより、1つのメモリ書込みトランザクションを形成する。たとえば、トランザクションアセンブラ326A、326Bは、4つの16バイトリクエスト(各サブチャネルに対し1つのリクエスト)から1つのメモリチャネルにおける64バイトトランザクションをまとめうる。
1つのトランザクションを形成しようと試みる場合、マイクロタイル化されたコントローラにおけるトランザクションアセンブラは、SA個の共有アドレスビットがすべてのサブチャネル間で同じであるような複数のリクエスト(各サブチャネルに対し1つのリクエスト)の同時セットを見つけることができない場合がある。そのような場合、リクエストが見つからなかったサブチャネル上はデータは転送されないか、または、そのサブチャネルを介してデータが転送される場合は、データは廃棄可能である。
次に図5A−5Cを参照するに、各メモリチャネル500A−500Cに対する例示的なバイトの順序付けを示す。図5Aでは、メモリチャネル500Aは、0から63と番号が付けられた64バイトの転送サイズを有する。64バイトの論理幅は、メモリチャネルの64ビット物理幅によりアクセスされうる。
図5Bでは、メモリチャネル500Bは、2つのメモリサブチャネル505A及び505Bに分割されうる。各メモリサブチャネルは、64バイト転送の半分を転送し、したがって、各サブチャネルは32バイトを転送する。メモリサブチャネル505Aについて、メモリバイトは0から31のアクセス番号であり、図5Aのメモリバイトから並べ替えられる。メモリサブチャネル505Bについて、アクセスされるバイトは、32から63の番号が付けられ、図5Aのメモリバイトから並べ替えられる。
図5Cでは、メモリチャネル500Cは、4つのメモリサブチャネル515A、515B、515C、及び514Dに分割されうる。各サブチャネルは、64バイト転送の4分の1を転送し、したがって、各サブチャネルは16バイトを転送する。メモリサブチャネル515Aは、0から15の番号が付けられるメモリバイトにアクセスする。これは、図5Aのメモリバイトから並べ替えられる。メモリサブチャネル515Bは、バイト16乃至31にアクセスし、これは、図5Aのメモリバイトから並べ替えられる。メモリサブチャネル515Cは、バイト32乃至47にアクセスし、これは、図5Aのメモリバイトから並べ替えられる。メモリサブチャネル515Dは、バイト48乃至63にアクセスし、これは、図5Aのメモリバイトから並べ替えられる。このようにして、64バイト転送は、バイト番号が並べ替えられ且つ割り当てられる一方で、各メモリサブチャネル全体に等しく分配される。
図6を再び参照するに、バイトは、本発明の他の実施形態では異なって並べ替えられうる。
前述したように、マイクロタイルメモリアクセスをサポートするために、SA個の共有アドレスビットはI個の独立アドレスビットと共に使用され、同時にQ個のサブチャネル選択ビット及びP個のサブチャネルデータアドレスビットは、キャッシュラインによりアクセスされる物理バイトにアドレス指定するよう使用されうる。64バイトキャッシュラインでは、Q個のサブチャネル選択ビットとP個のサブチャネルデータアドレスビットの合計は、6である。
図6では、P個のサブチャネルデータドレスビットは、A0−A8と示す。図6では、Q個のサブチャネル選択ビットは、A10、A8、及びその間にあるビットとラベル付けされる。図6では、I個の独立アドレスビットは、A9、A10、A16、A18、A24、及びその間にあるビットとラベル付けされる。図6では、SA個の共有アドレスビットは、A11、A15、A17、A19、A20、A25、A26、及びたとえばAxとラベル付けられる。追加の共有アドレスビットをその間に使用してもよい。
I個の独立アドレスビットを使用して、サブチャネルアドレスは、互いに対してオフセットであるアドレスにおいて独立している。サブチャネルを互いから完全に独立しているようにするには、メモリコントローラから各サブチャネルへのコマンド及びアドレスの完全な重複を使用しうるが、これは、メモリコントローラのピン数、入出力ドライバのシリコン領域、及び、ホスト印刷回路基板またはマザーボード上に必要な配線領域を大幅に増加してしまう。代わりに、本発明の実施形態では、図6に示すように、すべてのサブチャネル間でサブチャネルアドレスビットの1つ以上の部分を共有し、また、残りの部分、Iが各サブチャネルについて独立することを可能にする。I個の独立アドレスビットの適切な選択によって、したがって、帯域幅効率を上げ、各サブチャネルにI個のアドレス信号を重複するコストに対してバランスを取ることを可能にする。
前述したように、I個の独立アドレスビットは、各メモリサブチャネルに追加のアドレスラインをルーティングすること及び/またはアドレスオーバーローディングを使用することを含む様々な方法で得られる。
次に図7Aを参照するに、メモリモジュールMM1−MMnの例であるメモリモジュール(MM)710を示す。メモリモジュール710は、たとえば、SIMMまたはDIMMといった任意のタイプでありうる。メモリモジュール710は、印刷回路基板751に結合されたメモリ集積回路チップ(「メモリデバイス」)752を含む。印刷回路基板751は、ホスト印刷回路基板762のエッジコネクタ760に結合するエッジコネクタまたはエッジ接続部754を含む。
メモリのマイクロタイリングをサポートするために、本発明の一実施形態では、追加のアドレス信号ラインは、印刷回路基板751のエッジ接続部754のピンアウトの未使用または非接続ピンを使用してメモリ集積回路752に独立して供給されうる。これらのエッジ接続部754の未使用または非接続ピンは、追加の独立アドレス信号ラインをメモリ集積回路752にルーティングするよう使用されうる。同じ未使用のピンが、マザーボード762に実装される対応エッジコネクタ760にある。追加の独立アドレス信号ライン763は、マザーボード762を介して、メモリ制御ブロックにおけるメモリコントローラからの既存のコネクタにルーティングされ、それにより、追加の独立アドレス情報を供給する。メモリモジュールのエッジ接続部754のピンアウトの幾つかの異なるタイプの未使用または非接続ピンがありうる。
たとえば、パリティまたは誤り訂正コード(ECC)機能は、エッジ接続部754のピンアウトの一部として予約されるピンを有しうる。消費者に対してメモリモジュールのコストを下げるために、パリティ及びECC機能は、しばしば、メモリモジュールから省略され、それにより予約された信号ライン及びピンは、しばしば、使用されない。つまり、パリティ/ECC信号ラインは、マザーボードのすべてのエッジコネクタにルーティングされうるが、ECCが有効にされたメモリモジュール(たとえば、デュアルインラインメモリモジュール(DIMM))が取り付けられる場合だけに使用される。メモリモジュールの使用されない既存ECCライン/ピンは、独立アドレス信号ラインとしてリターゲットされ、非ECCメモリモジュールにおいてマイクロタイリングを実施するよう使用される。しかし、マイクロタイリングにECCライン/ピンを使用する場合、ECC機能及びマイクロタイリング機能の両方を1つのメモリモジュールにおいて同時に有効にすることはできない。この解決策は、一般的に、パリティ/ECCが有効にされることを必要としない(または望まない)環境においてうまくいく。
別の例として、エッジ接続部754のピンアウトにおいて予約されるオプションのアクティブローデータ信号ラインは、供給されるアクティブハイ信号ラインの重複であるので、しばしば使用されない。さらに別の例として、メモリモジュールのエッジ接続部754のピンアウトにおいて予約されるオプションのテストピンは、テストモードは使用されない場合があるので、しばしば使用されない。
いずれの場合においても、これらの未使用のピンは、独立アドレス信号ピン755A−755Dとなるようリターゲットされ、独立アドレス信号ライン763は、ホスト印刷回路基板762上をルーティングされ、独立アドレス信号ライン756A−756Dは、メモリモジュール710のPCB751上をメモリ集積回路752にルーティングされる。
一部の場合では、メモリモジュール710はさらに、バッファ集積回路(「バッファ」)または誤り訂正制御(ECC)集積回路といったサポート集積回路750を含みうる。しかし、前述したように、ECCがメモリモジュール710に具備されていない場合、ECCが具備されている場合にはECCのために予約され、また、未使用であるエッジ接続部754のピンを、マイクロタイリングをサポートするためのメモリサブチャネルへの独立アドレスラインに使用しうる。
マイクロタイリングと、メモリサブチャネルの独立アドレッシングをサポートするために、メモリモデル710上のメモリ集積回路752は分割され、図7Aに示すように4つのメモリサブチャネル205A、205B、205C、及び205Dといった異なるメモリサブチャネルに割り当てられうる。メモリ集積回路752のデータ入出力は、一般的に、4、8、または16ビット幅である。1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する16ビットでは、4つの16ビット幅メモリ集積回路752が、4つのメモリサブチャネル205A、205B、205C、及び205Dに対して1対1でそれぞれ割り当てられうる。8つの8ビット幅メモリ集積回路752は、4つのメモリサブチャネル205A、205B、205C、及び205Dに同時に2つそれぞれ割り当てられ、それにより、1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する16ビットを供給する。16の4ビット幅メモリ集積回路752は、4つのサブチャネル205A、205B、205C、及び205Dに同時に4つそれぞれ割り当てられ、それにより、1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する16ビットを供給する。
2つのメモリサブチャネルの場合、4つの16ビット幅メモリ集積回路752が、1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する32ビットのために、2つのメモリサブチャネルに同時に2つそれぞれ割り当てられうる。8つの8ビット幅メモリ集積回路752は、1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する32ビットのために、2つのメモリサブチャネルに同時に4つそれぞれ割り当てられうる。16の4ビット幅メモリ集積回路752は、1つのメモリチャネルに対する64ビットの物理幅と、各メモリサブチャネルに対する32ビットのために、2つのメモリサブチャネルに同時に8つそれぞれ割り当てられうる。
メモリモジュールのエッジ接続部754の未使用ピンと、標準エッジコネクタ760を使用することにより、メモリモジュール710は、既存のメモリサブシステムに対して後方互換性を有することが可能である。本発明の別の実施形態では、新しいエッジ接続部754及び新しいエッジコネクタ760に追加の独立アドレス信号ラインが具備され、マイクロタイリングメモリをサポートする。しかし、本発明のこの実施形態では、メモリモジュール及びエッジコネクタは、特にメモリのマイクロタイリングをサポートするよう設計され、既存のシステムとは後方互換性を有さない。本発明のさらに別の実施形態では、メモリ集積回路は、メモリモジュール710またはエッジコネクタ760を使用することなくマザーボードに半田付けされる。
次に図7Bを参照するに、メモリ集積回路752は、マイクロタイル化されたメモリコントローラ208A−208Nを有するメモリ制御ブロック202及び他のコンポーネントと共に直接半田付けされることによりホスト印刷回路基板762上に埋め込みされる。他のコンポーネントのうちの幾つかは、図2A、2Bにおいて前述した。ホスト印刷回路基板762上の配線面積を犠牲にして、独立アドレス信号ライン766A−766Dが、メモリ制御ブロック202内のマイクロタイル化されたメモリコントローラ208A−208Nと、メモリ集積回路752との間でルーティングされうる。これらの独立アドレス信号ライン766A−766Dは、異なるメモリサブチャネル205A−205Dにおけるメモリ集積回路752間で共有されない。しかし、独立アドレス信号ラインは、同一のメモリサブチャネルにおける1つ以上のメモリ集積回路752間では共有されうる。
たとえば、各メモリチャネル内に4つの独立メモリサブチャネルがある図3Aを考慮する。追加の独立した4つのアドレスラインは、各サブチャネルに設けられ、それにより、各サブチャネルにおけるメモリの領域を独立してアクセスしうる。アドレスライン311A−311D(A9−A6とラベル付けされる)は、各サブチャネルにおいて独立している。4つのアドレスラインからなる1セットがすでにあると考えると、ルーティングされるべき追加のアドレスラインの総数は、3×4、すなわち12の独立アドレス信号ラインである。追加の信号ラインをルーティングすることは、メモリがマザーボードに半田付けされる場合にうまくいく。或いは、既存のエッジコネクタ及びメモリモジュールのピンアウトが十分に活用されない場合に、マザーボードを介してメモリモジュールに追加の信号ラインをルーティングすることは、独立アドレスシグナリングを追加するよう使用される。しかし、既存のコネクタのピンアウトが十分に活用される場合、追加のラインのための機会はなく、この追加の信号ラインをルーティングする方法は、特に、後方互換性が所望される場合には容易に実現可能ではない。
次に図8を参照するに、メモリ集積回路800のブロック図を示す。メモリ集積回路800は、1つ以上のメモリデバイス752としてメモリモジュールMM1−MMn内に含まれうる。メモリ集積回路800は、図示するように結合される、メモリアレイ801、行アドレスデコーダ802、ビットラインプリチャージ/リフレッシュ論理803、列デコーダ804、センス増幅器アレイ及び書込みドライバブロック806、コントローラ808、アドレスバッファ811、及びマイクロタイル(MT)制御論理812を含む。マイクロタイル制御論理812は、オーバーロード論理(OL)とも称されうる。
コントローラ808は、メモリ集積回路800の一般的な機能性を制御するよう設定/初期化可能である複数のビットを有するモードレジスタ810を含む。このモードレジスタは、ビットを格納するためのビットストレージ回路を含む。モードレジスタ810のビットは、ロードストローブと同期してアドレスライン810またはデータライン821に適切なビット設定を適用することにより設定されうる。ロードストローブは、メモリがアイドルである場合にメモリ集積回路のコントローラ808に結合される1つ以上の制御ライン822を切り替えることにより生成されうる。コントローラ808は、1つ以上の制御ライン822を受け取る。1つ以上の制御ライン822は、行アドレスストローブRAS#、列アドレスストローブCAS#、書込み有効化WE#、チップ選択CS#、バンク選択BA0、BA1、BA2、または、他の標準メモリ統合制御入力を含みうる。
より具体的には、モードレジスタ810は、マイクロタイルメモリアクセスのために集積回路800を設定するよう使用されうる。以下により詳細に説明するように、モードレジスタ810の複数のビットのうちの1つは、マイクロタイル有効化ビットである。マイクロタイル有効化ビットは、アクティブハイで、MTEビットと称しうる。或いは、マイクロタイル有効化ビットは、アクティブローで、MTE#と称しうる。いずれの場合も、マイクロタイル有効化ビットは、一般的に、マイクロタイル有効化ビットまたはMTEビットと称しうる。マイクロタイル有効化ビットは、マイクロタイリングは、最初にデバイスの電源が投入された場合、または、リセットされた場合に無効となるようデフォルトでリセットされる。これは、メモリモジュール710及びメモリ集積回路800が、マイクロタイリングをサポートしないシステムに挿入された場合に後方互換性があるようにすることを可能にする。モードレジスタ810はさらに、メモリ集積回路が割り当てられアドレス指定可能であるメモリサブチャネルを示すための1つ以上のサブチャネル選択(SCS)ビットを有する。MTEビット及び1つ以上のSCSビットは、マイクロタイル制御論理812に結合される。
マイクロタイル制御論理812は、複数のアドレス信号ライン820に結合され、それにより、アドレスを、アドレスバッファ811を介して列アドレスデコーダ804及び/または行アドレスデコーダ802に結合する。アドレスバッファ811は、内部アドレス信号ライン上にアドレス信号をラッチし、それにより、それらをアドレスデコーダのために保持する。制御論理812はさらに、コントローラのモードレジスタに結合され、それにより、メモリアレイ801へのマイクロタイルメモリアクセスをサポートするためにマイクロタイル有効化ビット及び少なくとも1つのサブチャネル選択ビットを受信する。マイクロタイル有効化ビット及び少なくとも1つのサブチャネル選択ビットに応答して、制御論理812は、1つ以上のアドレス信号ラインを選択し、これらのラインを介してそれが割り当てられる所定のサブチャネルの独立アドレス情報を獲得する。つまり、アドレス信号ラインのサブセットだけが所定のサブチャネルに割り当てられうる。制御論理812は、このアドレス信号ラインのサブセットを選択して、独立アドレス情報を抽出する。他のアドレス信号ラインは、他のサブチャネルに使用されるか、または、一部のアドレス信号ラインは、各サブチャネルへの共有アドレス信号ラインでありうる。制御論理812は、独立アドレス情報を、列アドレスデコーダ804及び/または行アドレスデコーダ802に結合する。制御論理による1つ以上のアドレス信号ラインの選択はさらに、列アドレスロード信号(CAS#)及びトランザクション有効化信号に応答する形でもよい。
1つの有効ビットに対する独立アドレス情報を別の有効ビット位置にさらにスウィズルするために、追加の制御論理をマイクロタイル制御論理812内にまた周辺に追加しうる。これは、マイクロタイリングが有効にされる場合に、画面リフレッシュといった幾らか線形のアドレス指定方法を提供するためである。
センス増幅器アレイ及び書込みドライバブロック806は、データ入出力(I/O)バスに結合し、メモリアレイからデータを読出しする、または、メモリアレイ801にデータを書込みするようコントローラ808から制御信号を受信しうる。センス増幅器アレイ及び書込みドライバブロック806は、メモリアレイ801に書込みされるべきデータを受信し、また、メモリアレイ801から読出しされたデータを、入出力(I/O)バス821を介して供給する。データ入出力(I/O)バス821は、一般的に、4、8、または16ビット幅であるメモリ集積回路800の双方向データラインを含む。
メモリアレイ801は、行列で組織されるメモリセルから構成される。メモリセルは、一般的に、ダイナミックランダムアクセスメモリ(DRAM)セルであるが、任意選択的に、スタティックタイプのランダムアクセスメモリ(SRAM)セルであることも可能であり、また、不揮発性プログラマブル(NVRAM)タイプの書き換え可能メモリセルでありうる。
行アドレスデコーダ802は、アドレスラインで行アドレスを受信し、メモリアレイ801におけるメモリセルの1行をアドレス指定するために1つのワードライン(WL)に信号を生成する。列デコーダ804もアドレスラインで列アドレスを受信し、メモリセルのその行のうちのどの列がアクセスされるべきか選択する。列デコーダ804は基本的にアクセスされるべきメモリセルへのビットラインを選択する。読出しアクセスでは、列デコーダ804は、マルチプレクサとして機能する。書込みアクセスでは、列デコーダ804は、デマルチプレクサとして機能する。列アドレスデコーダ804は、共有列アドレス信号に応答してメモリアレイ801内のメモリセルの列に選択的にアクセスし、また、モードレジスタ内のマイクロタイル有効化ビットが設定される場合はさらに、列アドレスデコーダ804は、独立サブチャネル列アドレス信号に応答してメモリアレイ801内のメモリセルの列に選択的にアクセスする。
センス増幅器アレイ及び書込みドライバブロック406は、読出し演算時にアクセスされたメモリセルに論理1が格納されたかまたは論理0が格納されたか判断するセンス増幅器を含みうる。アドレス指定されたメモリセルは、読出し演算時に、メモリアレイの選択されたビットラインに論理1または論理0を供給しようと試みる。センス増幅器は、読出し演算時に、メモリアレイの選択されたビットラインに、アドレス指定されたメモリセルにより論理1または論理0が供給されたかを検出する。センス増幅器アレイ及び書込みドライバブロック406はさらに、書込み演算時に、メモリアレイの選択されたビットライン上に、及び、アドレス指定されたメモリセル内に論理1または論理0を供給する書込みドライバを含みうる。
プレチャージ/リフレッシュブロック803は、メモリアレイ801におけるビットラインに結合する。プレチャージ/リフレッシュブロック803は、読出しまたは書込み演算時に、メモリセルをアドレス指定する前にビットラインを予め調整しうる。プレチャージ/リフレッシュブロック803は、不活動時にメモリアレイ801のメモリセルにおけるデータをリフレッシュしうる。
特定のメモリサイクルの間に、メモリ集積回路800への一部の既存信号ラインは使用されず、また、この時間の間、他の目的にリターゲットされることが可能である。たとえば、CAS(列アドレスストローブ)サイクルの間は、すべてのアドレスラインが使用されるわけではない。これらの未使用のアドレス信号ラインは、CASサイクル時にリターゲットされて、追加のアドレス情報をメモリモジュール(たとえば、DIMM)及びその内部のメモリ集積回路デバイスに通信可能である。メモリ制御ブロック202におけるメモリコントローラ208は、CASサイクル時にこれらの未使用アドレス信号ラインを介して追加のアドレス情報を送信する。追加のマイクロタイル制御論理回路812と、モードレジスタ810内のビットを有するメモリ集積回路800は、CASサイクル時に未使用であった以前に未使用だったアドレス信号ライン上のこれらのオーバーロードされた信号を認識且つ復号化する。
次に図9Aを参照するに、マイクロタイリングをサポートするために、メモリ集積回路においてモードレジスタ810Aに結合される例示的なマイクロタイルメモリ制御論理812Aを示す。マイクロタイルメモリ制御論理812Aの例示的な実施形態は、CASサイクルといった未使用のメモリサイクルの間に供給される追加のアドレス情報を有するオーバーロードされたアドレス信号ラインを復号化する。マイクロタイルメモリ制御論理812Aの概略図では、4つのサブチャネルが設けられると仮定し、各サブチャネルは、マイクロタイリングをサポートするよう16バイトの論理幅を有する。
マイクロタイルメモリ制御論理812Aの中心には、独立アドレス情報を獲得するためのデュアル4入力マルチプレクサ900を配置する。マイクロタイルメモリ制御論理812Aのデュアル4入力マルチプレクサ900は、多重化された出力(A3´及びA4´)に共有列アドレス信号または独立サブチャネル列アドレス信号を選択的に出力する。デュアル4入力マルチプレクサの出力(A3´及びA4´)は、列アドレスデコーダの入力に結合される。独立サブチャネル列アドレス信号は、各メモリサブチャネルにより受信されるよう選択された1つ以上の独立列アドレス信号である。
マイクロタイル制御論理812Aは、メモリ集積回路のアドレスピンからのアドレスラインを受信する。マイクロタイル制御論理812Aは、行アドレスデコーダ及び列アドレスデコーダに分配されるべき複数のアドレスをアドレスバッファに供給する。メモリ集積回路のアドレスピンの一部は、共有行アドレス信号、共有列アドレス信号、独立列アドレス信号、またはそれらの組み合わせを受信する。たとえば、アドレスピンA5−A9、及びA13は、マイクロタイル制御論理812Aの周囲を通過し(pass around)、各メモリサブチャネルへの共有行アドレス信号及び/または共有列アドレス信号を受信しうる。アドレスピンA0−A4及びA10−A12は、デュアル4入力マルチプレクサ900に結合され、マイクロタイリングが有効にされる場合、共有行アドレス信号及び独立列アドレス信号を受信しうる。マイクロタイリングが有効にされない場合、デュアル4入力マルチプレクサ900に結合されるアドレスピンA3及びA4は、共有行アドレス信号及び/または共有列アドレス信号を受信しうる。列アドレスロードストローブピンCAS#は制御論理812Aに結合され、それにより、列アドレスロードストローブ信号を受信し、また、メモリ集積回路において獲得のために所与のサブチャネルに割り当てられたアドレスピン上の適切な1つ以上の独立列アドレス信号を選択的に受信する。列アドレスロードストローブ信号はさらに、適切なアドレスピンの共有列アドレス信号を受信及び獲得するよう使用されうる。
モードレジスタ810Aは、マイクロタイル有効化(MTE)ビット、サブチャネル選択ビット0(SCS0)ビット、及びサブチャネル選択ビット1(SCS1)ビットの設定を格納する、フリップフロップまたはメモリセルといった3つのストレージ回路を含みうる。モードレジスタ810Aにおけるこれらの3つのビットは、適切なサブチャネル選択ビット及びマイクロタイル有効化ビットによりプログラムされる。これらの3つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定/再設定される。これらの3つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定/再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される1つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。マイクロタイリングがメモリ集積回路において有効化される場合、マイクロタイル有効化ビットMTEが設定される。MTEビットはアクティブハイであるので、このビットはハイ論理レベルに設定される。アクティブローである場合、MTE#ビットは論理ローレベルに設定される。図9Aの例示的な制御論理では、1つのメモリチャネル内に場合により4つ以下のサブチャネルがある。SCS0及びSCS1ビットは、メモリ集積回路を、4つのメモリサブチャネルのうちの1つに割り当てる。同一のメモリモジュール上の他のメモリ集積回路は、その4つのメモリサブチャネルのうちの別の1つに割り当てられうる。
各サブチャネルに対する独立アドレス情報は、CASサイクルの間に、アドレスラインA0−A4及びA10−A12といった既存のアドレスラインを介して利用可能にされる。この例では、アドレスラインA3及びA4は、通常に使用される。したがって、アドレスラインA0、A1、A2、A10、A11、A12、及びA13は、オーバーロードされる信号ラインである(A13は、マイクロタイルトランザクションが有効化されうる−トランザクション毎に指定される)。既存のアドレスラインに信号ラインをオーバーロードするこの方法は、実際には、追加のトレース(すなわち、配線)を使用することなく、または、追加のピンを使用することなく、6つの追加のアドレスライン(A0−A2及びA10−A12)をメモリ集積回路デバイスに供給する。
マイクロタイルメモリ制御論理812Aは各メモリ集積回路に設けられ、それにより、適切な独立サブチャネルアドレス情報が、モードレジスタに保存されるサブチャネル選択ビットに応答して、アドレスラインA0−A4及びA10−A12から選択される。サブチャネル選択ビットの設定は、モードレジスタ810Aからマイクロタイルメモリ制御論理812Aにルーティングされ、それにより、マルチプレクサ900の入力選択処理を制御する。マルチプレクサ900の出力端子は、アドレス信号ラインA3´及びA4´に結合される。アドレス信号ラインA3´及びA4´は、アドレスデコーダ(たとえば、列アドレスデコーダ804)に結合され、それにより、メモリアレイ内のメモリセルを選択する。
マイクロタイル制御論理は、CAS#がアクティブローである(「CASサイクル」)場合に列アドレス書込みアクセス時間の間にメモリアドレス信号ラインA3´及びA4´をオーバーロードしうる。つまり、アドレスビットA0、A1、A2、A10、A11、及びA12は、列アドレスがマイクロタイリングなしでメモリ集積回路に書込みされる場合には通常使用されないビットである。A3´及びA4´により置換されるアドレスビットA3及びA4は、メモリ集積回路に列アドレスを書込みするよう使用されるアドレスビットである。アドレスビットは、CASサイクル時にマイクロタイリングなしで通常未使用である一方で、RAS#がアクティブローである(「RASサイクル」)ときにメモリ集積回路に行アドレスが書込みされる場合に、メモリ集積回路における行アドレスを選択するよう使用されうる。これは、本願では、アドレスオーバーローディングと呼ぶ。図9Aでは、A0、A1、A2、A10、A11、及びA12を、列アドレスストローブCAS#時に使用されないアドレスビットであるよう示すが、異なる未使用のアドレスビットを、マイクロタイリングをサポートするオーバーロードされたアドレス信号ラインとして使用されうる。
マイクロタイルメモリ制御論理812Aは、図示するように互いに結合される、デュアル4入力マルチプレクサ900、3入力ANDゲート903、複数の2入力ANDゲート904−911、及び複数のインバータ912−918を含む。当然ながら、ANDゲートは、NANDゲートと、NANDゲートの出力に結合される入力を有するインバータとの組み合わせにより形成されうる。
デュアル4入力マルチプレクサ900は1対の4対1マルチプレクサから形成され、各4対1マルチプレクサは、共に結合される第1の選択制御入力S0と、共に結合される第2の選択制御入力S1を有する。第1の4対1マルチプレクサは、入力1I0−1I3を受信し、選択制御入力S0及びS1に応答して出力1Yを供給する。第2の4対1マルチプレクサは、入力2I0−2I3を受信し、選択制御入力S0及びS1に応答して出力2Yを供給する。S0及びS1が共に論理的にローすなわち0である場合、入力1I0及び2I0は、各出力1Y及び2Y上に多重化される。S0が論理的にハイすなわち1であり、S1が論理的にローすなわち0である場合、入力1I1及び2I1は、各出力1Y及び2Y上に多重化される。S0が論理的にローすなわち0であり、S1が論理的にハイすなわち1である場合、入力1I2及び2I2は、各出力1Y及び2Y上に多重化される。S0及びS1が共に論理的にハイすなわち1である場合、入力1I3及び2I3は、各出力1Y及び2Y上に多重化される。
デュアル4入力マルチプレクサ900の第1の4入力マルチプレクサは、その各1I0−1I3入力においてアドレスビットA3、A0、A1、及びA2を受信し、その1Y出力においてアドレス信号ラインA3´に供給されるアドレスビットのうちの1つを選択する。第2の4入力マルチプレクサは、その各2I0−2I3入力においてアドレスビットA4及びA10−12を受信し、その2Y出力においてアドレス信号ラインA4´に供給されるアドレスビットのうちの1つを選択する。選択制御入力S0及びS1は、ANDゲート904及び905の出力にそれぞれ結合される。
ANDゲート903は、その出力においてマイクロタイルモード信号(MTM)902Aを生成する。マイクロタイルモード信号902Aは、アクティブハイであり、独立アドレス信号が、デュアル4入力マルチプレクサ900に結合されるオーバーロードされたアドレス信号ライン上にある場合に適切な時に生成される。インバータ912は、ANDゲート903の入力に結合されるその出力において、アクティブローCAS#信号をアクティブハイCAS信号に変換する。ANDゲート903は、CAS信号、MTEビット設定(ME)、及びトランザクション有効化信号(TE、アドレスビットA13)を論理的に加算して、マイクロタイルモード信号902Aを生成する。つまり、マイクロタイルがMTEビットにより有効にされ、トランザクションがTE信号により有効にされる場合、CAS#がローになると、マイクロタイルモード信号(MTM)902Aが生成される。
マイクロタイルモード信号(MTM)902Aは、サブチャネル選択ビットSCS0及びSCS1をゲート制御するようANDゲート904及び905の入力に結合される。マイクロタイルモード信号(MTM)902Aが任意の理由でローである場合、マルチプレクサ900への選択制御S0及びS1は、ANDゲート904及び905の出力において論理的にローすなわち0である。S0及びS1の両方が論理的にローすなわち0である場合、入力1I0及び2I0にそれぞれ結合されるアドレスビットA3及びA4は、それぞれの出力1Y及び2Yにおいてアドレス信号ラインA3´及びA4´上にそれぞれ多重化される。ビットA3及びA4は、単に信号ラインA3´及びA4´へとそれぞれ渡される。これは、マイクロタイリングが有効にされない場合、または、ビットA3及びA4が、行アドレス指定といった任意の他の理由で使用される場合のデフォルト条件である。
マイクロタイルモード信号(MTM)902Aがアクティブハイである場合、サブチャネル選択ビットSCS0及びSCS1は、ANDゲート904及び905をそれぞれ通過してマルチプレクサ900の選択制御入力S0及びS1にそれぞれ結合される。したがって、マイクロタイルモード信号(MTM)902Aが、ANDゲート903によりアクティブハイであるよう生成されると、サブチャネル選択ビットSCS0及びSCS1は、マルチプレクサ900の各出力に対するそれぞれ4つの入力の多重化の選択を制御する。事実上、メモリ集積回路が割り当てられうるサブチャネルを示すサブチャネル選択ビットSCS0及びSCS1の設定は、マルチプレクサ900に結合されるどのアドレスビットラインがCASサイクル時に独立アドレス信号を獲得するよう使用されるのか決定する。
サブチャネル選択ビットSCS0及びSCS1の設定は、個々のサブチャネルによって異なる。4つのサブチャネルには、SCS0及びSCS1それぞれに対して4つの異なる設定がある。しかし、4つのサブチャネルをサポートするよう設計されるマイクロタイル制御論理は、サブチャネル選択ビットSCS0及びSCS1の2つの異なる設定だけを使用することによって2つのサブチャネルをサポートするよう容易に縮小可能であることに留意されたい。SCS0及びSCS1に対し異なる設定を使用することにより、マルチプレクサ900は、マイクロタイルモード信号が生成される場合に、独立アドレス信号を獲得するよう様々なアドレス信号ラインを選択する。
マイクロタイルモード信号(MTM)902Aはさらに、ANDゲート906−911の第1の入力におけるインバータ913−918にそれぞれ結合される。アドレス信号A0、A1、A2、A10、A11、及びA12は、ANDゲート906−911の第2の入力にそれぞれ結合される。マイクロタイルモード信号(MTM)902Aは、効果的に、ANDゲート906−911の出力A0´、A1´、A2´、A10´、A11´、及びA12´において、メモリ集積回路へのアドレスラインA0、A1、A2、A10、A11、及びA12上の信号をそれぞれゲート制御する。つまり、マイクロタイルモード信号(MTM)902Aが論理的にローすなわち0である場合、ANDゲート906−911は、アドレスラインA0、A1、A2、A10、A11、及びA12上の信号が、出力A0´、A1´、A2´、A10´、A11´、及びA12´、次にアドレスデコーダに渡されることを可能にする。マイクロタイルモード信号(MTM)902Aが論理的にハイすなわち1である場合、ANDゲート906−911は、すべての出力A0´、A1´、A2´、A10´、A11´、及びA12´を論理ローすなわち0にする。したがって、マイクロタイルモード信号(MTM)902Aが独立アドレス情報を獲得するようアクティブハイである場合、出力A0´、A1´、A2´、A10´、A11´、及びA12´は、すべて0にされるので使用されない。
次に図9Bを参照するに、マイクロタイリングをサポートするために、メモリ集積回路においてマイクロタイル制御論理812Bに結合されるモードレジスタ810Bを示す。マイクロタイル制御論理812Bは、アクティブロー制御シグナリングの使用及び1つのメモリチャネルにおける2つのサブチャネルのサポート以外は、マイクロタイル制御論理812Aと幾分同様に機能する。マイクロタイル制御論理812B内の回路は、マルチプレクサの選択制御入力を介するアドレス信号ラインの独立アドレス信号の選択における遅延を減少するよう形成される。サポートすべき2つのメモリサブチャネルを使用して、マイクロタイル制御論理812Bは、アドレス信号ライン上で複数のアドレス信号からなる2つの独立セットを受信する。このセットのうち受信するものを選択する。マイクロタイルメモリ制御論理812Bの中心には、アドレス信号ラインから独立アドレス信号を獲得するためのヘックス2入力マルチプレクサ901Aを配置する。マイクロタイル制御論理812B内のヘックス2入力マルチプレクサ901Aは、より多くのまた異なるアドレス信号ラインを受信し、そのライン上で複数のアドレス信号からなる独立セットを選択的に受信しうる。つまり、図6に示すI個の独立アドレスビットの数はより大きい。その結果、メモリサブチャネルにおいて独立してアドレス指定可能なメモリ空間はより大きい。
マイクロタイル制御論理812Bは、アドレスピンA0−A8及びA10−A13を含む、メモリ集積回路のアドレスピンに結合される。各サブチャネルの独立アドレス情報は、CASサイクル時にこれらの既存アドレスラインを介して利用可能にされる。マイクロタイル制御論理は、内部アドレス信号ラインA3´−A8´に独立サブチャネルアドレス信号を選択的に形成する。内部アドレス信号ラインA0´−A8´及びA11´−A13´は、アドレスバッファを介してアドレスデコーダに結合される。アドレスバッファは、RAS#及びCAS#ストローブ信号に応答して、内部アドレス信号ラインA0´−A8´及びA11´−A13´及びA9−A10上のアドレス信号をラッチし、次に、それらのアドレス信号をアドレスデコーダに結合しうる。アドレスピンA0−A8及びA10−A13は、未使用メモリサイクル時にアドレス信号をオーバーロードさせ、図示するようにヘックス2入力マルチプレクサ901Aの入力に結合される。アドレス信号ラインA3−A8は、第1のアドレス信号ラインのセットであり、このアドレス信号ラインを介して、第1の独立アドレス信号のセットが、第1のメモリサブチャネルに結合されうる。アドレス信号ラインA0−A2及びA11−A13は、第2のアドレス信号ラインのセットであり、このアドレス信号ラインを介して、第2の独立アドレス信号のセットが、第2のメモリサブチャネルに結合されうる。第1のサブチャネル選択ビット(SCS0)及びマイクロタイルモード信号(MTM#)902Bに応答して、マイクロタイル制御論理812Bは、一般的に、第1のメモリサブチャネル用の第1の独立アドレス信号のセット、または、第2のメモリサブチャネル用の第2の独立アドレス信号のセットを受信するよう選択する。独立アドレス信号の選択されたセットは、ヘックス2入力マルチプレクサ901Aの出力に供給される。これらの独立アドレス信号はメモリ集積回路に結合され、それにより、各メモリサブチャネルに結合されうるSA個の共有アドレスビットにより形成される共通メモリロケーションのセットにおける様々なメモリロケーションを独立してアドレス指定する。
各サブチャネルに対する独立アドレス情報は、CASサイクル時に、アドレスラインA0−A4及びA10−A12といった既存のアドレスラインを介して利用可能にされる。この例では、アドレスラインA3−A8は、通常に使用される。したがって、アドレスラインA0−A2及びA10−A12は、オーバーロードされた信号ラインである(A13は、マイクロタイルトランザクション有効化されうる−トランザクション毎に指定される)。既存のアドレスラインに信号ラインをオーバーロードするこの方法は、実際には、追加のトレース(すなわち、配線)を使用することなく、または、追加のピンを使用することなく、6つの追加のアドレスライン(A0−A2及びA10−A12)をメモリ集積回路デバイスに供給する。
モードレジスタ810Bは、アクティブローマイクロタイル有効化ビットMTE#と、サブチャネル選択ビット0(SCS0)の設定を格納する、フリップフロップまたはメモリセルといった2つのビットストレージ回路を含みうる。モードレジスタは、これら2つのビットのビット設定を受信する。ビット設定は、1つ以上の制御信号により生成されるロードストローブ信号を使用してモードレジスタにロードされる。これらの3つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定/再設定される。これらの3つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定/再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される1つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。
モードレジスタ810AにおけるMTE#ビット及びSCS0ビットは、適切なサブチャネル選択ビット及びマイクロタイル有効化ビットを使用してプログラムされる。マイクロタイリングがメモリ集積回路により有効化される場合、マイクロタイル有効化ビット(MTE#)、アクティブロー信号は、論理ローレベルに設定可能である。マイクロタイル有効化ビットは、メモリサブシステムがマイクロタイリングをサポートする場合に設定される。そうでない場合は、マイクロタイル有効化ビットは設定されず、したがって、メモリ集積回路は、マイクロタイリングをサポートしない旧型のシステムと後方互換性を有する。図9Bの例示的な制御論理では、1つのメモリチャネル内に2つの可能なサブチャネルがある。SCS0ビットは、メモリ集積回路を、メモリチャネル内の2つのメモリサブチャネルのうちの1つに割り当てる。同一のメモリモジュール上の別のメモリ集積回路は、もう1つのメモリサブチャネルに割り当てられうる。
マイクロタイルメモリ制御論理812Bは、各集積回路内に設けられ、それにより、適切な独立サブチャネルアドレス情報が、モードレジスタ内に保存されるサブチャネル選択ビットに応答して、アドレス信号ピンから選択されうる。サブチャネル選択ビットの設定は、モードレジスタからマイクロタイルメモリ制御論理にルーティングされ、それにより、マルチプレクサ901Aの入力選択処理を制御する。
マイクロタイル制御論理812Bは、図9Bに示すように互いに結合される、第1のヘックス2入力マルチプレクサ901A、第2のヘックス2入力マルチプレクサ901B、複数のANDゲート906−911、複数のインバータ913−918、及び3入力ORゲート923を含む。当然ながら、ORゲートは、インバータの入力をNORゲートの出力に結合することにより形成されうる。ANDゲートの周知の形成は前述した。
第1のヘックス2入力マルチプレクサ901Aの出力は、第2のヘックス2入力マルチプレクサ901Bにおける各マルチプレクサの2つの入力のうちの第1の入力に結合される。アドレスビットまたは信号ラインA3、A4、A5、A6、A7、及びA8は、第2のヘックス2入力マルチプレクサ901Bにおける各マルチプレクサの2つの入力のうちの第2の入力に結合される。第2のヘックス2入力マルチプレクサ901Bの出力端子は、アドレス信号ラインA3´−A8´に結合される。アドレス信号ラインA3´−A8´は、メモリアレイにおけるメモリセルを選択するようアドレスデコーダ(たとえば、列アドレスデコーダ804)に結合される。アドレスバッファは、内部に状態を保持するようアドレス信号ラインA3´−A8´をラッチまたはレジスタし、それにより、アドレスデコーダにより復号化可能であるようにする。
第1のヘックス2入力マルチプレクサ901Aの選択制御S0は、マルチプレクサ901Aの出力がメモリ集積回路のサブチャネル割り当てにより直接制御されるようサブチャネル選択0(SCS0)に結合される。このようにすると、選択された出力は、アドレス信号の伝播遅延を最小限にするよう良好に安定する。第2のヘックス2入力マルチプレクサ901Bの選択制御入力S0は、3入力ORゲート923の出力、すなわち、アクティブローマイクロタイルモード(MTM#)信号902Bに結合される。アクティブローマイクロタイルモード(MTM#)信号902Bが論理的にローすなわち0である場合、マイクロタイリングメモリアクセスは、第1のヘックス2入力マルチプレクサ901Aの出力が、アドレス信号ラインA3´−A8´上の第2のヘックス2入力マルチプレクサ901Bの各論理出力であるよう有効化される。マイクロタイリングアクセスが有効化されない場合、MTM#は、第2のヘックス2入力マルチプレクサ901Bにおける各マルチプレクサの2つの入力のうちの第2の入力が選択され、アドレス信号ラインA3−A8が独立サブチャネル列アドレスラインA3´−A8´に結合されるようハイである。この場合、第1のヘックス2入力マルチプレクサ901Aは、事実上、マイクロタイル制御論理812Bの周りにルーティングされ、それぞれ内部アドレスラインA3´−A8´に供給されるアドレス信号A3−A8には影響を及ぼさない。
ヘックス2入力マルチプレクサ901A、901Bは、1つの選択制御入力S0が共に結合される、6つの2対1マルチプレクサから形成される。第1の2対1マルチプレクサは、入力1I0及び1I1を受信し、選択制御入力S0に応答して出力1Yを供給する。第2の2対1マルチプレクサは、入力2I0及び2I1を受信し、選択制御入力S0に応答して出力2Yを供給する。第3の2対1マルチプレクサは、入力3I0及び3I1を受信し、選択制御入力S0に応答して出力3Yを供給する。第4の2対1マルチプレクサは、入力4I0及び4I1を受信し、選択制御入力S0に応答して出力4Yを供給する。第5の2対1マルチプレクサは、入力5I0及び5I1を受信し、選択制御入力S0に応答して出力5Yを供給する。第6の2対1マルチプレクサは、入力6I0及び6I1を受信し、選択制御入力S0に応答して出力6Yを供給する。S0が論理的にローすなわち0である場合、入力1I0、2I0、3I0、4I0、5I0、及び6I0が、出力1Y、2Y、3Y、4Y、5Y、及び6Yにそれぞれ供給される。S0が論理的にハイすなわち1である場合、1I1、2I1、3I1、4I1、5I1、及び6I1が、出力1Y、2Y、3Y、4Y、5Y、及び6Yにそれぞれ供給される。
前述したように、3入力ORゲート923は、その出力において、アクティブローマイクロタイルモード(MTM#)信号902Bを生成する。その入力において、3入力ORゲート923は、マイクロタイル有効化ビットMTE#、列アドレスストローブCAS#信号、及び、トランザクション有効化ビットTE#(アドレスラインA10)を受信する。これらの3入力すべてがロー論理レベルすなわち0である場合、マイクロタイルモード(MTM#)信号902Bは論理的にローすなわち0であり、オーバーロードされたアドレスラインから独立サブチャネルアドレス信号を選択的に受信する。これは、マイクロタイル有効化ビットがそのアクティブローレベルすなわち0に設定されることによりマイクロタイリングが有効化されることと、アドレスラインA10が論理ローすなわち0に設定されることによりマイクロタイルトランザクションが有効化されることと、CAS#制御信号が論理ローすなわち0にストローブされることにより列アドレスがメモリ集積回路にストローブされることを必要とする。つまり、これらの入力信号はすべて、マイクロタイリングメモリアクセスのために、アクティブローで制御論理821Bに入力される。入力MTE#、CAS#、またはTE#のいずれかが論理的にハイすなわち1である場合、マイクロタイルモード(MEM#)信号902Bは、論理的にハイすなわち1である。論理的にハイすなわち1であるマイクロタイルモード(MTM#)信号902Bを使用して、制御論理812Bの第2のヘックス2入力マルチプレクサ901Bは、任意の独立サブチャネルアドレス信号情報を選択することなく、アドレス信号A3−A8を通常通りに内部アドレスラインA3´−A8´に渡す。マイクロタイルアクセスを有効にするために1つ以上の信号を必要とすることは、1つのビット信号だけにおけるエラーによって誤ってマイクロタイルモードとならないことを保証する。
制御論理812BにおけるANDゲート906−911は、制御論理812AにおけるANDゲート906−911と同様に動作するが、異なるアドレス信号をゲート制御し、また、そのゲート制御をインバータ913−918なしで行うことが可能である。これは、マイクロタイルモード(MTM#)信号902Bはアクティブロー信号だからである。したがって、制御論理812BにおけるANDゲート906−911は、アドレス信号A0−A2及びA11−A12を、マイクロタイルモード(MTM#)信号902Bがアクティブローであることに応答して、それぞれ内部アドレスラインA0´−A2´及びA11´−A12´上で0にゲート制御する。
次に図9Cを参照するに、モードレジスタ810Cに結合されるアドレススウィズル論理930の概略図を示す。図9Cに示すアドレススウィズル論理930は、2つのメモリサブチャネルを有するメモリチャネル用である。このスウィズル論理は、図9A及び9Bに示すオーバーロードまたはマイクロタイル制御論理912Aまたは812Bの前または後に加えられうる。
簡潔に説明するに、アドレススウィズル論理930は、たとえば、画面リフレッシュ時に所望されうるように、幾らか線形のアドレス指定能力がマイクロタイル化されたメモリコントローラに使用可能であるよう設けられる。アドレススウィズル論理930は、メモリコントローラから受信したアドレスビットの重要性(significance)を選択的に並べ替えるまたは置き換える。これを行う1つの方法は、ビット位置を交換する方法である。このことを達成しうる別の方法は、アドレスビットを選択的に反転する方法である。
アドレススウィズル論理930は、図示するように互いに結合される、デュアル2入力マルチプレクサ935、NORゲート936、及び排他的OR(XOR)ゲート937、938を含む。デュアル2入力マルチプレクサ935は、その選択制御入力S0が互いに且つNORゲート936から出力されるスウィズル制御信号(SWZ)932に結合される、1対の2入力マルチプレクサを含む。アドレスビットまたはピンA4及びA3は、それぞれ、マルチプレクサ935の1I0及び2I0入力に結合され、選択制御入力S0が論理的にローすなわち0である場合に出力されるよう選択される。XORゲート937、938の出力はそれぞれマルチプレクサ935の1I1及び2I1入力に結合され、選択制御入力S0が論理的にハイすなわち1である場合に出力されるよう選択される。
サブチャネル選択ビット1(SCS1)及びサブチャネル選択ビット0(SCS0)は、それぞれ、排他的OR(XOR)ゲート937、938の第1の入力に結合される。アドレスビットA3及びA4は、それぞれ、XORゲート937及び938の第2の入力に結合される。SCS1ビットが1に設定される場合、XORゲート937は、マルチプレクサ935の1I1に結合されるその出力においてアドレスビットA3を反転する。SCS0ビットが1に設定される場合、XORゲート938は、マルチプレクサ935の2I1に結合されるその出力においてアドレスビットA4を反転する。このようにして、SCS1及びSCS0ビットの設定は、アドレスビットラインA3及びA4におけるアドレス信号を効果的に反転しうる。
NORゲート936は、デュアル2入力マルチプレクサ935の選択制御入力S0に結合されるその出力においてスウィズル制御信号(SWZ)932を生成する。スウィズル制御信号(SWZ)932、すなわち、アクティブハイ信号は、スウィズルされたアドレスビットが、デュアル2入力マルチプレクサ935から出力されるよう選択されるか否かを選択する。スウィズル制御信号(SWZ)932が論理的にハイすなわち1であり、デュアル2入力マルチプレクサ935の選択制御入力S0に結合される場合、XORゲート937及び938から出力されるスウィズルされたアドレスビットが、マルチプレクサ935の出力における各アドレスラインA4´´及びA3´´に供給されるよう選択される。これは、マイクロタイリングがアクティブローマイクロタイル有効化ビットMTE#により有効化され、CAS#ストローブ信号が列アドレス情報を獲得するよう論理的にローであり、また、TE#ビットがNORゲート936に入力されるマイクロタイルトランザクションを有効にするよう論理的にローである場合に起きる。しかし、スウィズル制御信号(SWZ)932が論理的にローすなわち0であり、デュアル2入力マルチプレクサ935の選択制御入力S0に結合される場合、アドレスビットA4及びA3が、スウィズリングなしで、マルチプレクサ935の出力における各アドレスラインA4´´及びA3´´に渡される。これは、マイクロタイリングがアクティブローマイクロタイル有効化ビットMTE#により有効化されない場合、または、CAS#ストローブ信号が列アドレス情報を獲得するために論理的にローではない場合、または、TE#ビットがマイクロタイルトランザクションを有効にするために論理的にローではない場合に起きうる。
モードレジスタ810Cは、モードレジスタ810Bと同様であるが、追加ビットの設定(SCS1)を格納する。モードレジスタ810Cは、アクティブローマイクロタイル有効化ビットMTE#、サブチャネル選択ビット0(SCS0)、及びサブチャネル選択ビット1(SCS1)の設定を格納する、フリップフロップまたはメモリセルといった3つのビットストレージ回路を含む。モードレジスタは、これらのビットのためのビット設定を受信する。ビット設定は、1つ以上の制御信号により生成されるロードストローブ信号を使用してモードレジスタにロードされる。これらの3つのビットは、電源オンまたはリセットといった初期化時にメモリ集積回路が受信するビット設定から設定/再設定される。これらの3つのビットは、メモリがアクセスされずメモリ集積回路がアイドルである場合にも設定/再設定されうる。ビット設定は、アドレスまたはデータ信号ラインを介して受信され、また、メモリ集積回路に結合される1つ以上の制御ライン入力により生成されるロードストローブ信号に応答してモードレジスタにロードされうる。
アドレス信号遅延をできるだけ小さく維持することが重要でありうるので、図9Bのアドレススウィズリング論理は、図9Cに示すオーバーロード論理と組み合わされ、また、内部アドレス信号ライン上での信号遅延を減らすよう簡素化されうる。
次に図9Dを参照するに、メモリ集積回路においてモードレジスタ810Cに結合される、複合スウィズル及びマイクロタイル制御論理950を示す。制御論理950は、図9Cのアドレススウィズル論理930と図9Bのオーバーロードまたはマイクロタイル制御論理812Bを組み合わせ且つ簡素化する。したがって、複合スウィズル及びマイクロタイル制御論理950は、マイクロタイル制御論理812B及びアドレススウィズル論理930の別個の構成要素と同様に機能する。この制御論理950における簡素化の目的は、メモリ集積回路におけるアドレスデコーダ及びアドレスバッファへのアドレス信号経路での時間遅延を減少することである。ヘックス2入力マルチプレクサ901A及び910Bの対は、単一のヘックス3入力マルチプレクサ960に簡素化している。
モードレジスタ810Cは、前述したように、アクティブローマイクロタイル有効化ビット(MTE#)、SCS0ビット、及びSCS1ビットを含む。モードレジスタのビットは、メモリ集積回路に結合される制御信号から生成されるロードストローブによりビット設定からロードされうる。
制御論理950は、図示するように互いに結合される、ヘックス3入力マルチプレクサ960、ANDゲート906−910、ORゲート923、ANDゲート969、排他的NOR(XNOR)ゲート974、975、及びインバータ976を含む。排他的NOR(XNOR)ゲート974、975は、或いは、SCS0及びSCS1のビット設定が反転された排他的OR(XOR)ゲートであってもよい。制御論理950は、アドレスピンA0−S8及びA10−A13に結合され、それにより、アドレス信号を受信し、また、アドレス信号ラインA0´−S8´及びA10´−A13´上に内部アドレスシグナリングを生成する。アドレス信号入力A10は、マイクロタイルモードにおけるトランザクション有効化ビットTE#及びアドレス入力信号として2つの役割を果たす。
制御論理において、アドレスピンからのアドレス信号ラインは、ヘックス3入力マルチプレクサ960の入力に結合される前に、まずアドレススウィズル論理に結合されうる。たとえば、アドレスA4は、XNORゲート974の入力に結合され、アドレスA1は、XNORゲート975に結合され、また、アドレスA0は、インバータ976に結合される。SCS0ビットが論理ローすなわち0に設定される場合、XNORゲート974、975は、マルチプレクサ960の1I0及び1I1入力にそれぞれ結合される前に、各アドレス信号A4及びA1を反転させる。SCS0ビットが論理ハイすなわち1に設定される場合、XNORゲート974、975は、各アドレス信号A4及びA1を反転なく渡し、これらは次にそれぞれマルチプレクサ960の1I0及び1I1入力に結合される。
ヘックス3入力マルチプレクサ960は、第1の選択制御入力S0が共に結合され、第2の選択制御入力S1が共に結合される、6つの3対1マルチプレクサから形成される。第1の3対1マルチプレクサは、入力1I0、1I1、及び1I2を受信し、選択制御入力S0及びS1に応答して出力1Yを供給する。第2の3対1マルチプレクサは、入力2I0、2I1、及び2I2を受信し、選択制御入力S0及びS1に応答して出力2Yを供給する。第3の3対1マルチプレクサは、入力3I0、3I1、及び3I2を受信し、選択制御入力S0及びS1に応答して出力3Yを供給する。第4の3対1マルチプレクサは、入力4I0、4I1、及び4I2を受信し、選択制御入力S0及びS1に応答して出力4Yを供給する。第5の3対1マルチプレクサは、入力5I0、5I1、及び5I2を受信し、選択制御入力S0及びS1に応答して出力5Yを供給する。第6の3対1マルチプレクサは、入力6I0、6I1、及び6I2を受信し、選択制御入力S0及びS1に応答して出力6Yを供給する。
ヘックス3入力マルチプレクサ960は、3つの入力のうちのどの入力がそれぞれの出力に結合されるか選択するよう第1の選択制御入力S0及び第2の選択制御入力S1を有する。2つの選択制御入力を使用すると4つのうち1つを選択可能であるので、ヘックス3入力マルチプレクサ用の真理値表を説明する。両方の選択ビットS0及びS1が0に設定される場合、I0入力が、マルチプレクサから出力されるよう選択される。S0ビットが1に設定され、S1ビットが0に設定される場合、I1入力が、マルチプレクサから出力されるよう選択される。S1ビットが1に設定される場合、S0のビット設定に関係なく、I2入力がマルチプレクサのから出力されるよう選択される。つまり、この場合、ヘックス3入力マルチプレクサへのS0入力は、S1ビットが1に設定される場合は、これはオーバーライドであるので無視される。
前述したように、ORゲート923は、アクティブローマイクロタイルモード信号(MTM#)902Bを生成する。アクティブローマイクロタイルモード信号(MTM#)902Bは、マルチプレクサ960の第2の選択制御入力S1に結合される。マルチプレクサ960への各I2入力は、アドレスビットA3−A8である。マルチプレクサ960への各I1入力は、それぞれ、XNORゲート975からの出力、インバータ976からの出力、及びアドレスビットA2、A11、A12、及びA13である。マルチプレクサ960への各I0入力は、それぞれ、XNORゲート974からの出力、及び、アドレスビットA3、A5、A6、A7、及びA8である。
前述したように、マイクロタイルモード信号(MTM#)902Bは、アクティブロー信号である。しかし、マイクロタイルモード信号(MTM#)902Bが、論理的にハイすなわち1である場合、I2入力が、第1の選択制御入力S0に対するビット設定に関係なくマルチプレクサから出力されるよう選択される。つまり、I2入力(アドレスビットA3−A8)は、マイクロタイルモード信号(MTM#)902Bがハイすなわち1である場合は、マルチプレクサ960を通過し、内部アドレス信号ラインA3´−A8´に供給されるよう選択される。
マイクロタイルモード信号(MTM#)902Bが、ORゲート923への入力条件によりアクティブロー信号であるよう生成される場合、マルチプレクサの第1の選択制御入力に結合されるSCS1ビットは、マルチプレクサ960へのI0入力またはI1入力が、そのそれぞれのY出力において生成されるよう選択する。SCS1ビットが論理的にローすなわち0に設定され、且つ、S0に結合される場合、I0入力(XNORゲート974からの出力、及び、アドレスビットA3、A5、A6、A7、及びA8)が、マルチプレクサ960からそれぞれの内部アドレス信号ラインA3´−A8´に出力されるよう選択される。このようにして、サブチャネル0に対する独立アドレス情報は、アドレスラインが選択され、スウィズルされ、及び獲得されうる。しかし、SCS1ビットが論理的にハイすなわち1に設定され、且つ、S0に結合される場合、I1入力(XNORゲート975からの出力、インバータ976からの出力、及び、アドレスビットA2、A11、A12、及びA13)が、マルチプレクサ960から各内部アドレス信号ラインA3´−A8´に出力されるよう選択される。このようにして、サブチャネル1に対する独立アドレス情報は、アドレスラインが選択され、スウィズルされ、及び獲得される。
制御論理930におけるANDゲート906−911は、制御論理812BにおけるANDゲート906−911と同様に機能し、同じアドレス信号A0−A2及びA11−A12を、マイクロタイルモード(MTM#)信号902Bがアクティブローであることに応答して、それぞれ内部アドレスラインA0´−A2´及びA11´−A12´上で0にゲート制御する。さらに、ANDゲート969は、アドレス信号A10を、マイクロタイルモード(MTM#)信号902Bがアクティブローであることに応答して、内部アドレスラインA10´上で0にゲート制御する。
次に図10を参照するに、マイクロタイルメモリ演算を供給するメモリ集積回路用の方法1000を示す。
工程1002において、複数のメモリ集積回路が、メモリチャネルの各独立メモリサブチャネルに割り当てられる。つまり、メモリ集積回路におけるモードレジスタ内の1つ以上のサブチャネル選択ビットが、メモリ集積回路を所定のメモリサブチャネルに割り当てるよう設定される。
工程1004において、メモリ集積回路へのマイクロタイルメモリアクセスが有効にされる。つまり、メモリ集積回路におけるモードレジスタ内のマイクロタイル有効化MTEビットは、メモリ集積回路におけるマイクロタイルメモリアクセスを有効にするよう設定される。MTEビットがアクティブハイである場合、MTEビットはハイ論理レベルに設定される。MTEビットがアクティブロー(「MTE#」)である場合、MTE#ビットは論理ローレベルに設定される。
工程1006において、1つのメモリサブチャネルにおける1つ以上のメモリ集積回路内のメモリセルが、別のサブチャネルにおける1つ以上のメモリ集積回路内のメモリセルからは独立してアドレス指定される。つまり、メモリ集積回路は、各メモリサブチャネルにおけるメモリに独立してアクセスするよう各独立メモリサブチャネルにおいて独立してアドレス指定される。
前述したように、サブチャネルへの独立アドレス指定は、様々な方法で提供しうる。サブチャネルへの独立アドレス指定を提供しうる1つの方法は、列アドレスが書き込みされるCASサイクル時といった未使用メモリサイクル時に、既存のアドレス信号ライン上で各メモリサブチャネルにおける独立アドレス情報を同時に獲得する方法である。サブチャネルへの独立アドレス指定を提供しうる別の方法は、メモリコントローラと、メモリチャネルの各独立メモリサブチャネルにおけるメモリ集積回路との間に独立アドレス信号ラインをルーティングする方法である。
サブチャネルへの独立アドレス指定を提供しうるさらに別の方法は、エッジ接続部の未使用ピンを独立アドレスピンとなるよう再割り当てし、メモリモジュール上でエッジコネクタの独立アドレスピンと、各独立メモリサブチャネルにおける複数のメモリ集積回路との間に独立アドレス信号ラインをルーティングする方法である。この場合、独立アドレス指定はさらに、メモリモジュール上のエッジ接続部の独立アドレスピンに結合するようメモリコントローラと、エッジコネクタのピンとの間に独立アドレス信号ラインをルーティングすることにより提供されうる。エッジ接続部の未使用のピンは、誤り訂正制御ピン、パリティピン、またはそれらの組み合わせでありうる。
マイクロタイリングが有効にされる限り、マイクロタイルメモリアクセスは、1つのメモリチャネルを介して各メモリサブチャネルに行われる。工程1008において、マイクロタイリングが、メモリ集積回路において依然として有効か否か判断する。モードレジスタにおけるMTEビットを確認して、マイクロタイリングが依然として有効か否か判断しうる。マイクロタイリングが依然として有効の場合、処理は工程1006に戻り、マイクロタイリングを用いたメモリ集積回路への次のアクセスのための準備が整えられる。マイクロタイリングがもはや有効ではない場合、処理は終了し、通常の線形アドレス指定が行われる。
従前は、UMAメモリアーキテクチャに基づく統合型グラフィクスコントローラは、帯域幅が制限される傾向があった。本発明の実施形態のモデル化は、マイクロタイリングをUMAメモリアーキテクチャに応用することにより、メモリアクセスをより効率よくするようテクスチャメモリアクセス帯域幅を20−40%減少可能である。色及び深度メモリアクセス帯域幅は、メモリアクセスをより効率よくするようマイクロタイリングを応用することによりゲーム作業負荷について10−20%減少可能である。
マイクロタイリングメモリアーキテクチャをサポートするために、メモリサブシステムを、サブチャネルアクセスを可能にするよう改良した。本発明の実施形態は、マイクロタイリングが実施可能であると同時に既存のメモリモジュールの形状因子及び標準と後方互換性を有することを示した。従前は、追加のアドレス信号ラインを既存のメモリモジュール(たとえば、DIMM)コネクタを介してルーティングする方法はなかった。本発明の実施形態は、各サブチャネルに対して既存のアドレスラインを独立アドレス情報でオーバーロードすることにより、上述内容に対する解決策を提供している。各サブチャネルに独立アドレス情報を供給する他の方法は、後方互換性が重要ではない場合に提供しうる。
特定の例示的な実施形態を説明し、かつ、添付図面に図示したが、そのような実施形態は、例示的に過ぎず、また、広義の発明を限定せず、さらに、本発明の実施形態は、当業者には様々な他の変形も想起しうるので図示及び説明した特定の構成及び配置に限定されないことを理解するものとする。
本発明の実施形態を使用しうる典型的なコンピュータシステムを示すブロック図である。
本発明の実施形態を使用しうるクライアント−サーバシステムを示すブロック図である。
本発明の実施形態を使用しうる第1の処理ユニットを示すブロック図である。
本発明の実施形態を使用しうる第2の処理ユニットを示すブロック図である。
それぞれ4つのメモリサブチャネルを含む1対のメモリチャネルに結合されるメモリ制御ブロックを示すハイレベルブロック図である。
キャッシュメモリと、複数(S個)のサブチャネルを含む1対のメモリチャネルとに結合されるメモリ制御ブロックにおけるメモリコントローラを示す詳細ブロック図である。
線形メモリアクセスを使用した、サブチャネルのないメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
マイクロタイリングメモリアクセスをサポートする、2つのサブチャネルを有するメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
マイクロタイリングメモリアクセスをサポートする、4つのサブチャネルを有するメモリチャネルを介するメモリアクセスへのビデオディスプレイピクセルのマッピングを示す図である。
64ビット幅メモリチャネルを介する線形64バイトメモリアクセスを示す図である。
1対の32ビット幅メモリサブチャネルを介する1対の32バイトメモリアクセスの独立サブチャネルメモリアクセスを示す図である。
4つの16ビット幅メモリサブチャネルを介する4つの16バイトメモリアクセスの独立サブチャネルメモリアクセスを示す図である。
1つのメモリチャネルのアドレス信号ラインビットマップを示す図である。
ホスト印刷回路基板上に実装されるコネクタに結合されるマルチチップメモリモジュールを示すブロック図である。
ホスト印刷回路基板上に組み込まれた複数のメモリチップ及びメモリコントローラを示すブロック図である。
メモリサブチャネルを介するマイクロタイルメモリアクセスをサポートするメモリ集積回路を示すブロック図である。
16ビット幅メモリサブチャネル及び16バイトメモリアクセスのための、モードレジスタに結合されるアドレスオーバーロード論理を示す概略図である。
32ビット幅メモリサブチャネル及び32バイトメモリアクセスのための、モードレジスタに結合されるアドレスオーバーロード論理を示す概略図である。
32ビット幅メモリサブチャネル及び32バイトメモリアクセスのためのスウィズル論理を示す概略図である。
32ビット幅メモリサブチャネル及び32バイトメモリアクセスのための、図9Bのアドレスオーバーロード論理と図9Cのスウィズル論理を共に組み合わせた簡素化論理を示す概略図である。
マイクロタイルメモリアクセスを供給するメモリ集積回路のための方法を示すフローチャートである。

Claims (22)

  1. 複数のメモリ集積回路を、一のメモリチャネルの複数の独立メモリサブチャネルのそれぞれの独立メモリサブチャネルに割り当てることと、
    前記複数のメモリ集積回路への独立サブチャネルメモリアクセスを有効にすることと、
    各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路を独立してアドレス指定することと、
    を含む方法。
  2. 前記複数のメモリ集積回路への前記独立サブチャネルメモリアクセスは、マイクロタイルメモリアクセスである請求項1に記載の方法。
  3. 前記独立してアドレス指定することは、複数の未使用メモリサイクル時に、複数の既存のアドレス信号ライン上で前記それぞれのメモリサブチャネルにおける独立アドレス情報を同時に獲得することにより与えられる、請求項1又は2に記載の方法。
  4. 前記独立してアドレス指定することは、一のメモリコントローラと、前記メモリチャネルの前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路との間に複数の独立アドレス信号ラインをルーティングすることにより与えられる、請求項1又は2に記載の方法。
  5. 前記独立してアドレス指定することは、一のエッジ接続部の複数の未使用ピンを複数の独立アドレスピンとなるよう再割り当てすることと、一のメモリモジュール上でエッジコネクタの前記独立アドレスピンと、前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路との間に複数の独立アドレス信号ラインをルーティングすることにより与えられる、請求項1又は2に記載の方法。
  6. 前記独立してアドレス指定することは、前記メモリモジュール上の前記エッジ接続部の前記独立アドレスピンに結合するよう一のメモリコントローラと一のエッジコネクタの複数のピンとの間に前記複数の独立アドレス信号ラインをルーティングすることによりさらに与えられる、請求項5に記載の方法。
  7. 前記エッジ接続部の前記複数の未使用ピンは、複数の誤り訂正制御ピン、複数のパリティピン、または前記誤り訂正制御ピン及び前記パリティピンの組み合わせである請求項6に記載の方法。
  8. コンピュータに、
    複数のメモリ集積回路を、一のメモリチャネルの複数の独立メモリサブチャネルのそれぞれの独立メモリサブチャネルに割り当てさせ、
    前記複数のメモリ集積回路への独立サブチャネルメモリアクセスを有効にさせ、
    各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路を独立してアドレス指定させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
  9. 前記複数のメモリ集積回路への前記独立サブチャネルメモリアクセスは、マイクロタイルメモリアクセスである請求項8に記載のコンピュータ読み取り可能な記憶媒体
  10. 前記コンピュータ読み取り可能な記憶媒体は、一の磁気記憶媒体、一の半導体記憶媒体、または一の光学記憶媒体である請求項8又は9に記載のコンピュータ読み取り可能な記憶媒体
  11. 少なくとも1つのメモリチャネルにおいて互いに結合される1つ以上のメモリモジュールと、
    前記少なくとも1つのメモリチャネルにおける前記1つ以上のメモリモジュールに結合される一のメモリコントローラと、
    を含み、
    前記1つ以上のメモリモジュールのそれぞれは、一のエッジ接続部に複数のピンを有する一の印刷回路基板、前記印刷回路基板に結合される一の第1のメモリ集積回路、及び、前記印刷回路基板に結合される一の第2のメモリ集積回路を含み、
    前記メモリコントローラは、
    前記1つ以上のメモリモジュールのそれぞれにおいて、前記第1のメモリ集積回路を一の第1のメモリサブチャネルに、また、前記第2のメモリ集積回路を一の第2のメモリサブチャネルに割り当て、
    前記1つ以上のメモリモジュールのそれぞれにおいて、前記第1のメモリ集積回路及び前記第2のメモリ集積回路への独立サブチャネルメモリアクセスを有効にし、
    各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記第1のメモリサブチャネルにおける前記第1のメモリ集積回路及び前記第2のメモリサブチャネルにおける前記第2のメモリ集積回路を独立してアドレス指定する、システム。
  12. 前記メモリコントローラは、一のマイクロタイル化メモリコントローラであり、
    前記第1のメモリ集積回路及び前記第2のメモリ集積回路への各独立サブチャネルメモリアクセスは、一のマイクロタイルメモリアクセスである、請求項11に記載のシステム。
  13. 前記マイクロタイル化メモリコントローラに結合される一のキャッシュメモリをさらに含み、
    前記キャッシュメモリは、前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する、請求項12に記載のシステム。
  14. マイクロタイル化アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに独立してアクセスするよう前記キャッシュメモリに結合される一のグラフィクスコントローラと、
    線形アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第1のマイクロプロセッサと、
    をさらに含む請求項13に記載のシステム。
  15. 前記グラフィクスコントローラに結合される一のディスプレイをさらに含む請求項14に記載のシステム。
  16. 線形アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第2のマイクロプロセッサをさらに含む請求項13から15のいずれか一項に記載のシステム。
  17. 前記マイクロタイル化メモリコントローラに結合される一の入出力コントローラをさらに含み、
    前記入出力コントローラは、線形アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに一緒にアクセスするよう前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する請求項11から16のいずれか一項に記載のシステム。
  18. 前記入出力コントローラに結合される一のワイヤレスネットワークインターフェース回路と、
    前記ワイヤレスネットワークインターフェース回路に結合される一のアンテナと、
    をさらに含み、
    前記アンテナ及び前記ワイヤレスネットワークインターフェース回路は、一のワイヤレスローカルエリアネットワークアクセスポイントを供給する請求項17に記載のシステム。
  19. 前記マイクロタイル化メモリコントローラに結合される一のキャッシュメモリをさらに含み、
    前記キャッシュメモリは、前記マイクロタイル化メモリコントローラに複数のメモリリクエストを発行する請求項18に記載のシステム。
  20. マイクロタイル化アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに独立してアクセスするよう前記キャッシュメモリに結合される一のグラフィクスコントローラと、
    線形アドレス指定を使用して、前記少なくとも1つのメモリチャネルの前記第1のメモリサブチャネル及び前記第2のメモリサブチャネルに一緒にアクセスするよう前記キャッシュメモリに結合される一の第1のマイクロプロセッサと、
    をさらに含む請求項19に記載のシステム。
  21. 前記グラフィクスコントローラに結合される一のディスプレイをさらに含む請求項19又は20に記載のシステム。
  22. コンピュータに、複数のメモリ集積回路を、一のメモリチャネルの複数の独立メモリサブチャネルのそれぞれの独立メモリサブチャネルに割り当てさせ、
    前記複数のメモリ集積回路への独立サブチャネルメモリアクセスを有効にさせ、
    各メモリサブチャネルにおけるメモリに独立してアクセスするよう前記それぞれの独立メモリサブチャネルにおける前記複数のメモリ集積回路を独立してアドレス指定させるためのプログラム。
JP2008519644A 2005-06-30 2006-06-29 方法、記憶媒体、システムおよびプログラム Expired - Fee Related JP4838844B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/173,375 2005-06-30
US11/173,375 US8253751B2 (en) 2005-06-30 2005-06-30 Memory controller interface for micro-tiled memory access
PCT/US2006/025746 WO2007005693A2 (en) 2005-06-30 2006-06-29 Memory controller interface for micro-tiled memory access

Publications (2)

Publication Number Publication Date
JP2008544426A JP2008544426A (ja) 2008-12-04
JP4838844B2 true JP4838844B2 (ja) 2011-12-14

Family

ID=37187723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519644A Expired - Fee Related JP4838844B2 (ja) 2005-06-30 2006-06-29 方法、記憶媒体、システムおよびプログラム

Country Status (7)

Country Link
US (2) US8253751B2 (ja)
EP (1) EP1896963B1 (ja)
JP (1) JP4838844B2 (ja)
KR (1) KR100947876B1 (ja)
CN (2) CN101213531B (ja)
TW (1) TWI342493B (ja)
WO (1) WO2007005693A2 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8145851B2 (en) * 2005-09-07 2012-03-27 Sony Corporation Integrated device
US8432409B1 (en) 2005-12-23 2013-04-30 Globalfoundries Inc. Strided block transfer instruction
US8368710B1 (en) * 2005-12-29 2013-02-05 Globalfoundries Inc. Data block transfer to cache
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US8145869B2 (en) * 2007-01-12 2012-03-27 Broadbus Technologies, Inc. Data access and multi-chip controller
US8621132B2 (en) * 2008-01-08 2013-12-31 Cisco Technology, Inc. System and methods for memory expansion
US8825965B2 (en) * 2008-01-08 2014-09-02 Cisco Technology, Inc. System and methods for memory expansion
US7908455B2 (en) * 2008-02-27 2011-03-15 Microchip Technology Incorporated Low overhead memory management system and method
US7904700B2 (en) * 2008-03-10 2011-03-08 International Business Machines Corporation Processing unit incorporating special purpose register for use with instruction-based persistent vector multiplexer control
US7904699B2 (en) * 2008-03-10 2011-03-08 International Business Machines Corporation Processing unit incorporating instruction-based persistent vector multiplexer control
US8914589B2 (en) * 2008-09-22 2014-12-16 Infineon Technologies Ag Multi-port DRAM architecture for accessing different memory partitions
US7814303B2 (en) * 2008-10-23 2010-10-12 International Business Machines Corporation Execution of a sequence of vector instructions preceded by a swizzle sequence instruction specifying data element shuffle orders respectively
US8472199B2 (en) * 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
US9747105B2 (en) * 2009-12-17 2017-08-29 Intel Corporation Method and apparatus for performing a shift and exclusive or operation in a single instruction
CN102012876B (zh) * 2010-11-19 2015-09-16 中兴通讯股份有限公司 大位宽数据的写入、读取方法及控制器
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
US8626994B2 (en) 2011-11-30 2014-01-07 Apple Inc. Systems and methods for improved communications in a nonvolatile memory system
US10902890B2 (en) * 2012-06-22 2021-01-26 Intel Corporation Method, apparatus and system for a per-DRAM addressability mode
US9208829B2 (en) * 2013-08-20 2015-12-08 Teradata Us, Inc. Designated memory sub-channels for computing systems and environments
US10152820B2 (en) * 2013-03-15 2018-12-11 Intel Corporation Texture address mode discarding filter taps
US9406362B2 (en) 2013-06-17 2016-08-02 Micron Technology, Inc. Memory tile access and selection patterns
US10318473B2 (en) 2013-09-24 2019-06-11 Facebook, Inc. Inter-device data-transport via memory channels
US9489136B2 (en) * 2014-10-27 2016-11-08 Facebook, Inc. Interrupt driven memory signaling
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102358177B1 (ko) * 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
CN104483849B (zh) * 2014-10-28 2017-08-25 广州视源电子科技股份有限公司 多主控模块连接结构及其识别方法、拼接墙
US9870325B2 (en) * 2015-05-19 2018-01-16 Intel Corporation Common die implementation for memory devices with independent interface paths
CN105760310B (zh) * 2016-02-05 2018-12-14 华为技术有限公司 地址分配方法及ddr控制器
FR3055715B1 (fr) * 2016-09-08 2018-10-05 Upmem Methodes et dispositifs pour contourner le cache interne d'un controleur memoire dram evolue
US10120749B2 (en) 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
US10997096B2 (en) 2017-05-22 2021-05-04 Intel Corporation Enumerated per device addressability for memory subsystems
GB2566469B (en) 2017-09-13 2021-03-24 Advanced Risc Mach Ltd Cache line statuses
GB2566470B (en) * 2017-09-13 2021-02-10 Advanced Risc Mach Ltd Cache storage
CN109525358B (zh) * 2017-09-18 2021-08-27 深圳市中兴微电子技术有限公司 映射方法及装置、解映射方法及装置、计算机存储介质
WO2019217118A1 (en) * 2018-05-11 2019-11-14 Rambus Inc. Efficient storage of error correcting code information
US10985779B2 (en) * 2018-08-27 2021-04-20 Polaran Haberlesme Teknolojileri Anonim Sirketi Method and system for decoding data using compressed channel output information
US10983724B2 (en) 2018-09-14 2021-04-20 Micron Technology, Inc. Controller with distributed sequencer components
KR20210103578A (ko) 2019-02-06 2021-08-23 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 메모리 셀을 포함하는 집적 회로
US11409684B2 (en) 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11625341B2 (en) 2020-08-11 2023-04-11 Alibaba Group Holding Limited Narrow DRAM channel systems and methods
US11556279B2 (en) 2020-08-21 2023-01-17 Samsung Electronics Co., Ltd. System device, and method for memory interface including reconfigurable channel
CN117480484A (zh) * 2021-09-15 2024-01-30 英特尔公司 存储器事务的路由
CN115565560A (zh) * 2022-01-06 2023-01-03 澜起电子科技(上海)有限公司 模块化设计的存储设备及包括其的存储系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725052A (en) * 1980-07-22 1982-02-09 Nec Corp Memory control device
JPH056305A (ja) * 1991-06-27 1993-01-14 Oki Electric Ind Co Ltd 主記憶装置構成制御方式
JPH0695959A (ja) * 1992-09-09 1994-04-08 Hitachi Ltd 情報処理装置
JPH08297605A (ja) * 1995-04-26 1996-11-12 Hitachi Ltd データ処理装置、及びそれを用いたシステム
JPH09120371A (ja) * 1995-10-26 1997-05-06 Nec Corp メモリ制御装置
JP2000011189A (ja) * 1998-06-25 2000-01-14 Sony Corp 画像処理装置
US6076139A (en) * 1996-12-31 2000-06-13 Compaq Computer Corporation Multimedia computer architecture with multi-channel concurrent memory access
JP2001022638A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 情報処理システム

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3323109A (en) * 1963-12-30 1967-05-30 North American Aviation Inc Multiple computer-multiple memory system
JPS5178643A (en) * 1974-12-29 1976-07-08 Fujitsu Ltd Sabuchaneru memori akusesuseigyohoshiki
JPS51127626A (en) * 1975-04-30 1976-11-06 Hitachi Ltd Information processor
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
NL7510904A (nl) * 1975-09-17 1977-03-21 Philips Nv Woordgroepsprioriteitsinrichting.
US4124891A (en) * 1976-11-18 1978-11-07 Honeywell Information Systems Inc. Memory access system
US4320456A (en) 1980-01-18 1982-03-16 International Business Machines Corporation Control apparatus for virtual address translation unit
US4495570A (en) * 1981-01-14 1985-01-22 Hitachi, Ltd. Processing request allocator for assignment of loads in a distributed processing system
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
US4604743A (en) 1984-11-21 1986-08-05 North American Philips Corporation Bus structure for an image processor
US4713327A (en) 1985-05-01 1987-12-15 Eastman Kodak Company Determination of total creatine kinase or an isoenzyme with a multilayer analytical element
JPH083805B2 (ja) 1985-06-28 1996-01-17 ヒューレット・パッカード・カンパニー Tlb制御方法
US4797850A (en) * 1986-05-12 1989-01-10 Advanced Micro Devices, Inc. Dynamic random access memory controller with multiple independent control channels
US4999620A (en) * 1986-08-21 1991-03-12 Ascii Corporation Apparatus for storing and accessing image data to be displayed on a display unit
US5034917A (en) * 1988-05-26 1991-07-23 Bland Patrick M Computer system including a page mode memory with decreased access time and method of operation thereof
US5097437A (en) * 1988-07-17 1992-03-17 Larson Ronald J Controller with clocking device controlling first and second state machine controller which generate different control signals for different set of devices
JPH0267622A (ja) 1988-09-01 1990-03-07 Kansai Nippon Denki Software Kk ディスク入出力方式
US5142627A (en) 1988-11-17 1992-08-25 Unisys Corporation FIP-compliant block multiplexor channel interface operational method for cache/disk subsystem
JP3015475B2 (ja) * 1990-01-31 2000-03-06 株式会社東芝 光磁気記録方法及びそれに使用される光磁気記録媒体
US5325510A (en) * 1990-05-25 1994-06-28 Texas Instruments Incorporated Multiprocessor system and architecture with a computation system for minimizing duplicate read requests
US5251310A (en) * 1990-06-29 1993-10-05 Digital Equipment Corporation Method and apparatus for exchanging blocks of information between a cache memory and a main memory
US5270973A (en) 1990-08-06 1993-12-14 Texas Instruments Incorporated Video random access memory having a split register and a multiplexer
JP2836321B2 (ja) 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
US5526507A (en) * 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
DE59203773D1 (de) * 1992-05-20 1995-10-26 Siemens Ag Verfahren und Vorrichtung zur Erkennung von Defekten in einem Ansteuersystem eines gesteuerten Serienkompensators.
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
JP3240709B2 (ja) * 1992-10-30 2001-12-25 株式会社アドバンテスト メモリ試験装置
US5606347A (en) 1992-12-16 1997-02-25 Texas Instruments Incorporated Devices systems and methods for flexible format data storage
US5504875A (en) * 1993-03-17 1996-04-02 Intel Corporation Nonvolatile memory with a programmable output of selectable width and a method for controlling the nonvolatile memory to switch between different output widths
KR100355070B1 (ko) * 1993-10-29 2003-01-06 삼성세미콘덕터, 인코포레이티드 행방향 주소 스트로브 사이클을 갖지 않고 프레임버퍼에 영향을 미치는 동작을 제공하기 위한 방법 및 장치
US5412613A (en) * 1993-12-06 1995-05-02 International Business Machines Corporation Memory device having asymmetrical CAS to data input/output mapping and applications thereof
JP3670041B2 (ja) * 1993-12-10 2005-07-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
US6804760B2 (en) * 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5649157A (en) * 1995-03-30 1997-07-15 Hewlett-Packard Co. Memory controller with priority queues
WO1996041274A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5752045A (en) * 1995-07-14 1998-05-12 United Microelectronics Corporation Power conservation in synchronous SRAM cache memory blocks of a computer system
US5710550A (en) * 1995-08-17 1998-01-20 I-Cube, Inc. Apparatus for programmable signal switching
US5875470A (en) * 1995-09-28 1999-02-23 International Business Machines Corporation Multi-port multiple-simultaneous-access DRAM chip
JPH10143428A (ja) 1996-11-07 1998-05-29 Nec Niigata Ltd 省電力用のメモリ制御システムおよびメモリ制御回路
US5799209A (en) * 1995-12-29 1998-08-25 Chatter; Mukesh Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US6061773A (en) * 1996-05-03 2000-05-09 Digital Equipment Corporation Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5781926A (en) * 1996-05-20 1998-07-14 Integrated Device Technology, Inc. Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of line fill
US5761708A (en) * 1996-05-31 1998-06-02 Sun Microsystems, Inc. Apparatus and method to speculatively initiate primary memory accesses
US5781200A (en) 1996-08-08 1998-07-14 Ulsi Systems Tile memory mapping for increased throughput in a dual bank access DRAM
KR100204336B1 (ko) 1996-11-16 1999-06-15 윤종용 타일 맵을 이용한 텍스쳐 캐쉬 메모리
US5905725A (en) * 1996-12-16 1999-05-18 Juniper Networks High speed switching device
US5748554A (en) * 1996-12-20 1998-05-05 Rambus, Inc. Memory and method for sensing sub-groups of memory elements
US6067593A (en) * 1997-07-18 2000-05-23 Avido Systems, Inc. Universal memory bus and card
US5790118A (en) * 1997-03-07 1998-08-04 International Business Machines Corporation Mobile client programmed to hide empty table elements
US5913231A (en) * 1997-03-31 1999-06-15 International Business Machines Corporation Method and system for high speed memory address forwarding mechanism
US6145065A (en) * 1997-05-02 2000-11-07 Matsushita Electric Industrial Co., Ltd. Memory access buffer and reordering apparatus using priorities
US5913044A (en) * 1997-09-18 1999-06-15 International Business Machines Corporation Method and system for simultaneous variable-width bus access in a multiprocessor system
US6151641A (en) * 1997-09-30 2000-11-21 Lsi Logic Corporation DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments
US6122709A (en) * 1997-12-19 2000-09-19 Sun Microsystems, Inc. Cache with reduced tag information storage
EP1047993A1 (en) * 1997-12-24 2000-11-02 Creative Technology Ltd. Optimal multi-channel memory controller system
US6438675B1 (en) * 1998-03-23 2002-08-20 Ati Technologies, Inc. Variable format memory access device
US6003121A (en) * 1998-05-18 1999-12-14 Intel Corporation Single and multiple channel memory detection and sizing
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US5995405A (en) * 1998-10-27 1999-11-30 Micron Technology, Inc. Memory module with flexible serial presence detect configuration
US6798420B1 (en) * 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6405273B1 (en) 1998-11-13 2002-06-11 Infineon Technologies North America Corp. Data processing device with memory coupling unit
JP3797810B2 (ja) * 1998-11-30 2006-07-19 松下電器産業株式会社 半導体装置
US6453380B1 (en) * 1999-01-23 2002-09-17 International Business Machines Corporation Address mapping for configurable memory system
US6389488B1 (en) * 1999-01-28 2002-05-14 Advanced Micro Devices, Inc. Read ahead buffer for read accesses to system memory by input/output devices with buffer valid indication
US6370668B1 (en) * 1999-07-23 2002-04-09 Rambus Inc High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
JP2001060169A (ja) * 1999-08-24 2001-03-06 Hitachi Ltd キャッシュコントローラ及びコンピュータシステム
JP2001176282A (ja) * 1999-12-20 2001-06-29 Fujitsu Ltd 半導体記憶装置およびその制御方法
US6678810B1 (en) * 1999-12-30 2004-01-13 Intel Corporation MFENCE and LFENCE micro-architectural implementation method and system
US6502161B1 (en) * 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US6658553B1 (en) * 2000-04-14 2003-12-02 Koninklijke Philips Electronics N.V. Universal pointer implementation scheme for uniformly addressing distinct memory spaces in a processor's address space
US6430672B1 (en) * 2000-07-17 2002-08-06 International Business Machines Corporation Method for performing address mapping using two lookup tables
EP1182564A3 (en) * 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
US6853557B1 (en) 2000-09-20 2005-02-08 Rambus, Inc. Multi-channel memory architecture
US7006505B1 (en) * 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
JP3931577B2 (ja) 2000-11-22 2007-06-20 セイコーエプソン株式会社 メモリの使用方法、及び演算処理装置
US6928516B2 (en) 2000-12-22 2005-08-09 Texas Instruments Incorporated Image data processing system and method with image data organization into tile cache memory
US6549483B2 (en) * 2001-03-30 2003-04-15 Atmos Corporation RAM having dynamically switchable access modes
US6745272B2 (en) * 2001-04-04 2004-06-01 Advanced Micro Devices, Inc. System and method of increasing bandwidth for issuing ordered transactions into a distributed communication system
US7200759B2 (en) * 2001-06-08 2007-04-03 Safenet B.V. Method and device for making information contents of a volatile semiconductor memory irretrievable
US6742097B2 (en) * 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US20030056058A1 (en) * 2001-09-17 2003-03-20 Alistair Veitch Logical volume data migration
JP2003216943A (ja) * 2002-01-22 2003-07-31 Toshiba Corp 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法
US6812928B2 (en) * 2002-01-30 2004-11-02 Sun Microsystems, Inc. Performance texture mapping by combining requests for image data
US20030179598A1 (en) * 2002-03-20 2003-09-25 Yu-Guang Chen Device for selectively providing read-only data
DE10214123B4 (de) * 2002-03-28 2015-10-15 Infineon Technologies Ag Register zur Parallel-Seriell-Wandlung von Daten
US7103730B2 (en) * 2002-04-09 2006-09-05 Intel Corporation Method, system, and apparatus for reducing power consumption of a memory
DE10216611A1 (de) 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit
US6842828B2 (en) * 2002-04-30 2005-01-11 Intel Corporation Methods and arrangements to enhance an upbound path
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
JP2003338193A (ja) * 2002-05-21 2003-11-28 Mitsubishi Electric Corp 半導体メモリモジュール
US6934804B2 (en) * 2002-05-28 2005-08-23 Sun Microsystems, Inc. Method and system for striping spares in a data storage system including an array of disk drives
US6820181B2 (en) * 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US6851030B2 (en) * 2002-10-16 2005-02-01 International Business Machines Corporation System and method for dynamically allocating associative resources
US7130229B2 (en) * 2002-11-08 2006-10-31 Intel Corporation Interleaved mirrored memory systems
US6836434B2 (en) * 2002-11-21 2004-12-28 Micron Technology, Inc. Mode selection in a flash memory device
US7255895B2 (en) * 2003-01-21 2007-08-14 Bioarray Solutions, Ltd. Method for controlling solute loading of polymer microparticles
KR100525459B1 (ko) * 2003-05-16 2005-10-31 (주)실리콘세븐 인출과 기입 동작 구간이 분리되는 리프레쉬 동작을수행하는 에스램 호환 메모리 및 그 구동방법
US7310719B2 (en) 2003-07-24 2007-12-18 Sap Aktiengesellschaft Memory management tile optimization
US7243172B2 (en) * 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger
US6999088B1 (en) * 2003-12-23 2006-02-14 Nvidia Corporation Memory system having multiple subpartitions
JP4601305B2 (ja) * 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 半導体装置
US7672268B2 (en) * 2004-06-18 2010-03-02 Kenneth Stanwood Systems and methods for implementing double wide channels in a communication system
US7311144B2 (en) * 2004-10-12 2007-12-25 Greg Allen Conrad Apparatus and method for increasing well production using surfactant injection
US7398484B2 (en) 2005-04-27 2008-07-08 Microsoft Corporation Memory efficient array transposition via multi pass tiling
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US8032688B2 (en) 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US7558941B2 (en) 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US7872892B2 (en) 2005-07-05 2011-01-18 Intel Corporation Identifying and accessing individual memory devices in a memory channel
US20070073974A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Eviction algorithm for inclusive lower level cache based upon state of higher level cache
US7991933B2 (en) * 2008-06-25 2011-08-02 Dell Products L.P. Synchronizing processors when entering system management mode

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725052A (en) * 1980-07-22 1982-02-09 Nec Corp Memory control device
JPH056305A (ja) * 1991-06-27 1993-01-14 Oki Electric Ind Co Ltd 主記憶装置構成制御方式
JPH0695959A (ja) * 1992-09-09 1994-04-08 Hitachi Ltd 情報処理装置
JPH08297605A (ja) * 1995-04-26 1996-11-12 Hitachi Ltd データ処理装置、及びそれを用いたシステム
JPH09120371A (ja) * 1995-10-26 1997-05-06 Nec Corp メモリ制御装置
US6076139A (en) * 1996-12-31 2000-06-13 Compaq Computer Corporation Multimedia computer architecture with multi-channel concurrent memory access
JP2000011189A (ja) * 1998-06-25 2000-01-14 Sony Corp 画像処理装置
JP2001022638A (ja) * 1999-07-05 2001-01-26 Hitachi Ltd 情報処理システム

Also Published As

Publication number Publication date
US20070013704A1 (en) 2007-01-18
CN102981961B (zh) 2016-08-31
KR100947876B1 (ko) 2010-03-17
CN101213531B (zh) 2012-06-27
US20120306902A1 (en) 2012-12-06
WO2007005693A3 (en) 2007-11-15
WO2007005693A2 (en) 2007-01-11
TW200710661A (en) 2007-03-16
EP1896963B1 (en) 2013-01-09
US8253751B2 (en) 2012-08-28
CN101213531A (zh) 2008-07-02
EP1896963A2 (en) 2008-03-12
KR20080017063A (ko) 2008-02-25
US8866830B2 (en) 2014-10-21
JP2008544426A (ja) 2008-12-04
CN102981961A (zh) 2013-03-20
TWI342493B (en) 2011-05-21

Similar Documents

Publication Publication Date Title
JP4838844B2 (ja) 方法、記憶媒体、システムおよびプログラム
JP4795434B2 (ja) マイクロタイルメモリインターフェース
JP4796627B2 (ja) メモリチャネル内の各メモリデバイスの識別およびアクセス
KR100947132B1 (ko) 마이크로 타일 가능 메모리의 자동 검출

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110617

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110930

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141007

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4838844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees