JP2008544411A - メモリのマイクロタイリングによる投機的なリターン - Google Patents

メモリのマイクロタイリングによる投機的なリターン Download PDF

Info

Publication number
JP2008544411A
JP2008544411A JP2008518454A JP2008518454A JP2008544411A JP 2008544411 A JP2008544411 A JP 2008544411A JP 2008518454 A JP2008518454 A JP 2008518454A JP 2008518454 A JP2008518454 A JP 2008518454A JP 2008544411 A JP2008544411 A JP 2008544411A
Authority
JP
Japan
Prior art keywords
request
subchannel
memory
subchannels
requests
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.)
Granted
Application number
JP2008518454A
Other languages
English (en)
Other versions
JP4879981B2 (ja
Inventor
アキヤマ,ジェイムズ
クリフォード,ウィリアム
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2008544411A publication Critical patent/JP2008544411A/ja
Application granted granted Critical
Publication of JP4879981B2 publication Critical patent/JP4879981B2/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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)
  • Pens And Brushes (AREA)

Abstract

1実施の形態によれば、メモリコントローラが開示される。メモリコントローラは、割り当てロジック及びトランザクションアセンブラを含む。割り当てロジックは、メモリチャネルにアクセスする要求を受け、チャネル内の2以上の独立にアドレス可能なサブチャネルのうちの1つにアクセスする要求を割り当てる。トランザクションアセンブラは、要求を、チャネル内の2以上の独立にアドレス可能なサブチャネルにアクセスする1以上の更なる要求を結合し、サブチャネルの要求が利用可能でないサブチャネルからデータの投機的なリターンを容易にする。

Description

本発明は、コンピュータシステムに関し、より詳細には、本発明は、メモリコントロールへのアクセスに関する。
UMA(Unified Memory Architecture)を実現するコンピュータシステムは、ビデオメモリ用のメインメモリにアクセスするグラフィックスコントローラを備えている。しかし、UMAグラフィックスシステムのメモリ効率は、CPUのキャッシュラインのサイズの要件のために制限されている。たとえば、グラフィックスコントローラが一度に1又は複数のピクセル又はテクセルを動作することができるので、グラフィックスのための理想的なメモリアクセスサイズは、4〜16バイトである。しかしながら、メモリアーキテクチャは、CPUのメモリ効率を最適化するために64バイトのCPUキャッシュラインのサイズについて最適化されることがある。結果は、平均で、メモリから読み取られるかなりのデータ量はグラフィックスコントローラにより決して使用されない場合がある。
ディスクリートグラフィックスコントローラの製造業者は、狭いメモリチャネルを使用することで、取り出しを通してこれを最小にする。しかし、このソリューションは、UMAに基づいた集積されたグラフィックスコントローラについて利用可能ではない。
本発明は、添付図面における限定するものではない例を通して説明される。ここで、同じ参照符号は類似のエレメントを示す。
メモリトランザクションの投機的なリターン(speculative return)が説明される。以下の本発明の詳細な説明では、本発明の完全な理解を提供するため、様々な特定の詳細が述べられる。しかし、当業者にとって、本発明がこれらの特定の詳細なしに実施される場合があることは明らかである。他の例では、公知の構造及び装置は、本発明が曖昧になることを回避するために、詳細にではなく、ブロック図の形式で示される。
「1実施の形態」又は「実施の形態」とは、実施の形態と共に記載される特定の機能、構造、又は特徴が本発明の少なくとも1つの実施の形態に含まれることを意味する。明細書における様々な場所におけるフレーズ「1実施の形態では」の現れは、必ずしも、同じ実施の形態を全て引用するものではない。
図1は、コンピュータシステム100の1実施の形態のブロック図である。コンピュータシステム100は、インタフェース105に結合される中央処理装置(CPU)102を含む。1実施の形態では、CPU102は、カリフォルニア州サンタクララのインテル社から入手可能なPentium (登録商標) family of Pentium (登録商標) IV processorにおけるプロセッサである。代替的に、他のCPUが使用される場合がある。たとえば、CPU102は、多数のプロセッサコアを使用して実現される場合がある。更に他の実施の形態では、コンピュータシステム100は、多数のCPU102を含む場合がある。
更なる実施の形態では、チップセット107は、インタフェース105に結合される。チップセット107は、メモリコントロールコンポーネント110を含む。メモリコントロールコンポーネント110は、メインシステムメモリ115に結合されるメモリコントローラ112を含む。メインシステムメモリ115は、データ、及びCPU12又はシステム110に含まれる他の装置により実行される命令のシーケンスを記憶する。1実施の形態では、メインシステムメモリ115は、ダイナミックランダムアクセスメモリ(DRAM)を含むが、メインシステムメモリ115は、他のメモリタイプを使用して実現される場合がある。更なる装置は、多数のCPU及び/又は多数のシステムメモリのようなインタフェース105に結合される場合がある。
メモリコントロールコンポーネント110は、インタフェースを介して入力/出力コントロールコンポーネント140に結合される場合がある。I/Oコントロールコンポーネント140は、コンピュータシステム100内のI/O装置へのインタフェースを提供する。I/Oコントロールコンポーネント140は、PCI(Peripheral Component Interconnect)エキスプレス、AGP(Accelerated Graphics Port)、USB(Universal Serial Bus)、LPC(Low Pin Count)バスのようなI/Oバス、又は他の種類のI/Oバス(図示せず)での標準的なI/O動作をサポートする。
1実施の形態によれば、グラフィックスコントローラ160は、チップセット107と通信し、コンピュータシステム100に結合されるディスプレイモニタ(図示せず)にビデオグラフィックスを提供するために実現される。グラフィックスコントローラ160は、ビデオメモリについてメインメモリ115にアクセスする。先に記載されたように、グラフィックスのメモリアクセスサイズは理想的に4〜16バイトであり、CPUメモリ効率を最適化するために64バイトのCPUラインサイズについてメモリアーキテクチャが最適化されるので、グラフィックシステム及びCPUの両者をサポートするメモリ装置の記憶効率は制限される。
1実施の形態によれば、メモリコントロールコンポーネント100は、64バイトのメモリトランザクションを維持しつつ、グラフィックス装置についてメモリ要求サイズを低減する。DDR DRAM技術に基づくような標準的なメモリチャネルは、mビットの物理的な幅を有する。メモリトランザクションは、M=m*T/8バイトの全体の論理的な幅についてTの伝達からなる。それぞれのトランザクション内のバイトは、連続するアドレスを有すると考えられる。後続する説明では、用語「幅“width”」は、論理的な幅を意味する。
マイクロタイリング(Micro-Tiling)は、Mバイト幅のチャネルのS個のサブチャネルに分割する。ここで、それぞれN=M/Sバイトの幅であり、Nバイトのデータは、それぞれのサブチャネルで転送される。それぞれのサブチャネルにはアドレスが与えられ、ここで、独立なアドレスビットの番号Iは、他のサブチャネルに与えられるアドレスにおける対応するビットとは異なる。それぞれのサブチャネルで転送されるデータは、隣接するアドレスレンジを表すことが考慮される。しかし、それぞれのサブチャネルのデータのブロックは、必ずしも、隣接するアドレスレンジからである必要はない。それぞれのサブチャネルは、チャネルの全体のメモリロケーションのサブセットを含む。
図2は、マイクロタイリングをサポートするメモリコントロールコンポーネント110の1実施の形態を例示する。1実施の形態では、マルチチャネルメモリサブシステムは、チャネル当たり、マイクロタイリングのメモリコントローラを有する。したがって、図2に例示されるように、メモリコンポーネント110は、2つのメモリコントローラ112(メモリコントローラ1及び2)を含み、2つのチャネルのそれぞれについて1つである。それぞれのチャネルは、S個のサブチャネルを含み、それぞれNバイトの幅を有する。したがって、それぞれのチャネルは、M=N*Sバイトの幅である。
この図では、メモリの読取り又は書込みのための要求は、2×2アレイのピクセル又はテクセルを表す2×2アレイの正方形として示される。要求は、サブチャネルに割り当てられる前に示される。サブチャネルの割り当ての後、サブチャネルの割り当てを示唆するために要求は0〜S−1でナンバリングされる。メモリコントロールコンポーネント110に結合されるリクエスタ(requestor)205へのNバイトのリターンは、リードトランザクションのケースで生じる。
メモリコントロールコンポーネント110は、メモリコントローラ112に結合されるチャネル割り当てロジック210を含む。チャネル割り当て210は、リクエスタ205から受けたそれぞれの要求を、メモリコントローラ112を介してメモリチャネル240に割り当てる。さらに、それぞれのメモリコントローラ112は、サブチャネル割り当て215、リオーダバッファ220及びトランザクションアセンブラ230を含む。したがって、要求は、図2に示されるようにメモリコントローラ1又はメモリコントローラ2に割り当てられる。
サブチャネル割り当て215は、それぞれの要求をメモリチャネル240内のサブチャネルに割り当てる。リオーダバッファ220は、トランザクションアセンブラ230がそれぞれのメモリ240のサブチャネルについてメモリアクセスをアセンブルしようとするのを可能にするために要求を収集する。1実施の形態によれば、それぞれのサブチャネルは、等しいNバイト幅を有する。
図2に示されるシステムの動作の間、アドレスAでNバイトのデータのブロックを読取り又は書込みするための要求は、メモリコントローラ(1又は2)に入力し、サブチャネルに割り当てられ、リオーダバッファ220に配置される。1実施の形態では、アイデンティティサブチャネル割り当てsは、以下のプロセスにより定義される。リクエストアドレスAは、P=log2(N)ビットだけ右にシフトされ、新たな整数値
[外1]
Figure 2008544411
(たとえば
Figure 2008544411
)が得られ、sは
[外2]
Figure 2008544411
(たとえば
Figure 2008544411
)の最上位ビットQ=log2(S)である。
メモリコントローラは、それぞれのサブチャネルについて1つである、S個の読み取り要求をリオーダバッファ220から選択することでメモリ読取りトランザクションを形成する。共有されるアドレスラインにより表されるアドレスの一部は、トランザクションにおける全てのサブチャネルの要求について同じである。
図3は、物理アドレスにおけるアドレスビットの解釈の1実施の形態を示す。Pサブチャネルデータアドレスビットを超えるアドレスビットを、共有及び独立なアドレスビット、並びにサブチャネル選択ビットに分割することは任意であるので、図3に示される共有及び独立のアドレスビット及びサブチャネル選択ビットの選択は、例示を目的とする。独立の選択ビットは、サブチャネルにわたり異なり、必ずしも隣接するものではない。サブチャネルに送出されるアドレスビットは、サブチャネルの共有されるアドレスビット及び独立のアドレスビットである。
図4は、単一のチャネルが示されているが、4つの16バイト要求から64バイトのトランザクションを組み立てる、メモリコントロールコンポーネント110の実施の形態を例示する。図4は、それぞれのサブチャネルについてリオーダキューとして実現されるリオーダバッファ220を示す。しかし、他の実施の形態では、リオーダバッファ220は、他のメカニズムを介して実現される場合がある。
この実施の形態では、トランザクションアセンブラ230は、それぞれのサブチャネルについて1つである、16Bの要求から64Bのメモリ要求を構築する。メモリ要求を形成する全ての16Bの要求は、同じ共有されるアドレスビットを有する。したがって、アセンブラ230は、要求が一般の共有アドレスを有するかに基づいて単一のトランザクションに組み立てられる要求についてキューを調べる。
なお、図4に示される実施の形態では、アセンブラ230は、サブチャネル1cについて要求を発見することができない。トランザクションを形成しようとするとき、メモリコントローラは、全てが同じ共有アドレスのセグメントを有するように(たとえばそれぞれの共有アドレスビットの値が全ての要求にわたり同じであるように)、それぞれのサブチャネルについて要求を発見することができない場合がある。かかるイベントが生じるサブチャネルは、「空の」サブチャネルと呼ばれる。
1実施の形態によれば、サブチャネルが対応するキューにおける要求により満たされない場合、効果は、そのサブチャネルとの間で伝達が行われないことである。係る実施の形態では、サブチャネルが要求により満たされない場合、任意のロケーションが読み取られ、結果が廃棄される。代替的な実施の形態では、更なる制御ラインがサブチャネル当たりに含まれ、そのチャネルへの対応する要求が存在しないときにサブチャネルをパワーダウンするために使用される。
更に別の実施の形態では、検索されたデータが廃棄されるよりはむしろ、投機的な読み取りが実行され、リクエスタにリターンされる。投機的なリターンは、不使用のサブチャネルでNバイトのデータブロックを読取り、そのデータを他の読取り要求について幾つかのリクエスタにリターンすることを含む。したがって、メモリコントローラは、「空の」サブチャネルで、揃えられたNバイトのデータブロックを読み取ることを選択する。このNバイトのデータブロックは、データが同じメモリトランザクションにおいて他のサブチャネルでアクセスされるときに同じ共有のアドレスビットを有し、このデータは、幾つかのリクエスタによる使用のために利用可能となる。
1実施の形態によれば、投機的なリターンは、「空の」サブチャネルに関連される独立のアドレスラインに、隣接するサブチャネルの独立のアドレスビットを割り当てることによりトランザクションアセンブラ230で実現され、同じ共有及び独立なアドレスビットを有する、2つのNバイトのデータブロックが得られ、リターンされる。独立なアドレスラインを複製するとして先に記載されたが、他の実施の形態は、投機的にリターンされるデータのブロックを選択するための他のメカニズムを実現する場合がある。
図4を例として参照して、要求はサブチャネル1cについて発見することができない。したがって、サブチャネル1cは、「空の」サブチャネルである。開示される実施の形態では、トランザクションアセンブラ230は、サブチャネル1dの独立のアドレスビットをサブチャネル1cに割り当て、データサブチャネル1cをサブチャネル1dに関連するリクエスタにリターンする。したがって、投機的なリターンは、投機的なサブチャネルの読取りを実行し、結果をリクエスタにリターンすることで効率的なメモリの利用を改善する。このデータがリクエスタにより後に必要とされる場合、たとえばキャッシュになお保持される場合がある。
マイクロタイリングによるメモリのサブチャネルは、共有アドレスビット及びIの独立なアドレスビットにより決定されるアドレスレンジ内の不連続なメモリアドレスにアクセスすることができる。Iの賢明な選択は、独立のサブチャネルの増加される同時処理及び帯域幅の効率を提供するものであり、それぞれのサブチャネルへのIアドレス信号を複製するコストに対してバランスされる。
図5A及び図5Bは、マイクロタイリングの性能の利点を説明する。それぞれの図は、タイル張りされたアドレス空間における三角形のラスタ化を示し、それぞれの小さな正方形は、4バイトピクセル又はテクセルを表す。図5Aは、要求がそれぞれ64バイトであるときに標準的なメモリシステムにおけるオーバフェッチ(overfetch)を示す。それぞれのピクセルの4×4ブロックは、64バイトの揃えられたメモリのブロックを表す。三角形は、57画素を含む。標準的なメモリサブシステムによれば、それら57画素は11(64バイト)のメモリブロックである。したがって、それら57画素にアクセスするため、)使用されない場合がある更に119画素に値するデータがアクセスされる(たとえば32%の効率となる)。
図5Bは、要求がそれぞれ16バイトである場合、全ての係る要求がマイクロタイルアセンブラにより利用され、不使用のサブチャネルをもたない64バイトのメモリトランザクションを構築する場合のオーバフェッチを示す。このケースでは、三角形は、23の2×2画素アレイに接しており、35の更なる画素に値するデータが得られ、アクセスされる(たとえば62%の効率となる)。マイクロタイリングの有効性は、十分にポピュレートされたメモリトランザクションを構築するためにアセンブラの能力に依存する。
図6は、コンピュータシステム100の別の実施の形態を説明する。この実施の形態では、チップセット107は、個別のメモリコントロールコンポーネント及びI/Oコントロールコンポーネントとは対照的に単一の制御ハブ620を含む。結果的に、メモリコントローラ112は、CPU102内に含まれ、メモリ115はCPU102に結合される。かかる実施の形態では、グラフィックスコントローラ160は、コントロールハブ620に結合され、CPU102を介してメインメモリ115にアクセスする。
本発明の多数の代替及び変更は、上述の説明を読んだ後に当業者によって明らかとなるが、例示を介して図示及び記載された特定の実施の形態は、限定されるものとして考えられることが意図されない。したがって、様々な実施の形態の詳細を参照することは、本発明にとって必須であると考えられる特徴のみをそれ自身で引用する請求項の範囲を限定することが意図されない。
コンピュータシステムの1実施の形態のブロック図である。 メモリコントローラの1実施の形態を例示する図である。 論理仮想アドレスの1実施の形態を例示する図である。 メモリコントローラの別の実施の形態を例示する図である。 図5A及び図5Bは、性能の長所を例示する図である。 コンピュータシステムの別の実施の形態のブロック図である。

Claims (20)

  1. メモリチャネルにアクセスする要求を受け、チャネル内の2以上のサブチャネルのうちの1つにアクセスする要求を割り当てる割り当てロジックと、
    前記要求を、チャネル内の2以上のサブチャネルにアクセスする1以上の更なる要求と結合し、サブチャネルの要求が利用可能ではないサブチャネルからのデータの投機的なリターンを容易にするトランザクションアセンブラと、
    を有することを特徴とするメモリコントローラ。
  2. 前記サブチャネルの要求のそれぞれは、独立のアドレスコンポーネント及び共有のアドレスコンポーネントを含む、
    請求項1記載のメモリコントローラ。
  3. サブチャネルの要求の独立なアドレスコンポーネントは、サブチャネルと関連される、
    請求項2記載のメモリコントローラ。
  4. 前記トランザクションアセンブラは、独立のアドレスコンポーネントが、要求が利用可能ではないサブチャネルと関連付けされるように選択することで、要求が利用可能ではないサブチャネルからのデータの投機的なリターンを可能にする、
    請求項3記載のメモリコントローラ。
  5. 要求が利用可能ではないサブチャネルから投機的に読み取られたデータは、リクエスタにリターンされる、
    請求項4記載のメモリコントローラ。
  6. 要求を記憶するリオーダバッファを更に含む、
    請求項1記載のメモリコントローラ。
  7. 前記リオーダバッファは、2以上のサブチャネルのそれぞれに関連付けされるキューを含む、
    請求項6記載のメモリコントローラ。
  8. それぞれのキューは、関連されるサブチャネルに転送される要求を記憶する、
    請求項7記載のメモリコントローラ。
  9. メモリコントローラに結合されるメモリチャネルにアクセスする要求を前記メモリコントローラで受信するステップと、
    メモリチャネル内の関連された独立のアドレス可能なサブチャネルにそれぞれの要求を割り当てるステップと、
    前記要求を、チャネル内の2以上の独立にアドレス可能なサブチャネルにアクセスするための1以上の更なる要求と結合するステップと、
    要求が利用可能でないサブチャネルからデータを投機的にリターンするステップと、
    を有することを特徴とする方法。
  10. 要求が利用可能ではないサブチャネルからのデータを投機的にリターンするプロセスは、独立のアドレスコンポーネントが、要求が利用可能ではないサブチャネルと関連付けされるように選択するステップを含む、
    請求項9記載の方法。
  11. それぞれの要求をサブチャネルに割り当てた後に、リオーダバッファに要求を記憶するステップを更に有する、
    請求項9記載の方法。
  12. 要求を組み立てた後に、前記要求を関連付けされたサブチャネルに送出するステップを更に含む、
    請求項9記載の方法。
  13. サブチャネルの要求が利用可能ではないサブチャネルから投機的にリターンされたデータをリクエスタにリターンするステップを更に含む、
    請求項10記載の方法。
  14. 1以上のチャネルを有するメモリ装置と、
    前記メモリ装置に結合され、1以上のメモリチャネルのうちの1つにアクセスする要求を受け、チャネル内の2以上の独立にアドレス可能なサブチャネルのうちの1つにアクセスする要求を割り当て、前記要求を、チャネル内の2以上の独立にアドレス可能なサブチャネルにアクセスする1以上の更なる要求と結合し、要求が利用可能ではないサブチャネルからデータの投機的なリターンを容易にするメモリコントローラを有するチップセットと、
    を有することを特徴とするシステム。
  15. サブチャネルにアクセスする要求を割り当てる割り当てロジックと、
    要求を結合し、データの投機的なリターンを容易にするトランザクションアセンブラと、
    を有する請求項14記載のシステム。
  16. 前記メモリコントローラは、サブチャネル要求を記憶するリオーダバッファを更に有する、
    請求項15記載のシステム。
  17. 前記リオーダバッファは、2以上のサブバンドのそれぞれに関連付けされるキューを含む、
    請求項16記載のシステム。
  18. 前記トランザクションアセンブラは、独立なアドレスコンポーネントが、要求が利用可能ではないサブチャネルと関連付けされるように選択することで、要求が利用可能ではないサブチャネルからのデータの投機的なリターンを容易にする、
    請求項16記載のシステム。
  19. 前記メモリ装置及び前記メモリコントローラに結合されるリクエスタを更に有し、
    要求が利用可能ではないサブチャネルから投機的に読み取られたデータは、前記リクエスタにリターンされる、
    請求項14記載のシステム。
  20. 前記チップセットは、1以上のメモリチャネルのうちの1つにアクセスする要求を受け、チャネル内の2以上の独立にアドレス可能なサブチャネルのうちの1つにアクセスする要求を割り当てる第二のメモリコントローラを有する、
    請求項14記載のシステム。
JP2008518454A 2005-06-23 2006-06-23 メモリのマイクロタイリングによる投機的なリターン Expired - Fee Related JP4879981B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/165,390 US7587521B2 (en) 2005-06-23 2005-06-23 Mechanism for assembling memory access requests while speculatively returning data
US11/165,390 2005-06-23
PCT/US2006/024546 WO2007002445A2 (en) 2005-06-23 2006-06-23 Memory micro-tiling speculative returns

Publications (2)

Publication Number Publication Date
JP2008544411A true JP2008544411A (ja) 2008-12-04
JP4879981B2 JP4879981B2 (ja) 2012-02-22

Family

ID=37545366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008518454A Expired - Fee Related JP4879981B2 (ja) 2005-06-23 2006-06-23 メモリのマイクロタイリングによる投機的なリターン

Country Status (9)

Country Link
US (1) US7587521B2 (ja)
EP (1) EP1894112B1 (ja)
JP (1) JP4879981B2 (ja)
KR (1) KR100958264B1 (ja)
CN (1) CN101208672B (ja)
AT (1) ATE464605T1 (ja)
DE (1) DE602006013627D1 (ja)
TW (1) TWI328169B (ja)
WO (1) WO2007002445A2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
SE531148C2 (sv) 2007-05-16 2009-01-07 Dinair Dev Ab Användning av ett material såsom filtergrundmaterial förfarande för tillverkning av filtergrundmaterial, filtergrundmaterial och filter
US8006032B2 (en) * 2007-08-22 2011-08-23 Globalfoundries Inc. Optimal solution to control data channels
JP2010027032A (ja) * 2008-06-17 2010-02-04 Nec Electronics Corp Fifo装置及びfifoバッファへのデータ格納方法
US20100058016A1 (en) * 2008-08-26 2010-03-04 Jari Nikara Method, apparatus and software product for multi-channel memory sandbox
US8359421B2 (en) * 2009-08-06 2013-01-22 Qualcomm Incorporated Partitioning a crossbar interconnect in a multi-channel memory system
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
US10324768B2 (en) * 2014-12-17 2019-06-18 Intel Corporation Lightweight restricted transactional memory for speculative compiler optimization
GB2551351B (en) * 2016-06-14 2019-05-08 Imagination Tech Ltd Executing memory requests out of order
US10037150B2 (en) * 2016-07-15 2018-07-31 Advanced Micro Devices, Inc. Memory controller with virtual controller mode
EP3270295A1 (en) * 2016-07-15 2018-01-17 Advanced Micro Devices, Inc. Memory controller with virtual controller mode

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US179598A (en) * 1876-07-04 Improvement in cutter-heads
US193293A (en) * 1877-07-17 Improvement in safe and vault
US3323109A (en) 1963-12-30 1967-05-30 North American Aviation Inc Multiple computer-multiple memory system
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
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
JPH0267622A (ja) 1988-09-01 1990-03-07 Kansai Nippon Denki Software Kk ディスク入出力方式
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
US5526507A (en) 1992-01-06 1996-06-11 Hill; Andrew J. W. Computer memory array control for accessing different memory banks simullaneously
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
JPH0695959A (ja) * 1992-09-09 1994-04-08 Hitachi Ltd 情報処理装置
JP3240709B2 (ja) * 1992-10-30 2001-12-25 株式会社アドバンテスト メモリ試験装置
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
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
US5761708A (en) 1996-05-31 1998-06-02 Sun Microsystems, Inc. Apparatus and method to speculatively initiate primary memory accesses
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
US6308248B1 (en) 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
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
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
US6643746B1 (en) 1997-12-24 2003-11-04 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
US6249851B1 (en) 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
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
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
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
US7006505B1 (en) * 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
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
US20030056058A1 (en) 2001-09-17 2003-03-20 Alistair Veitch Logical volume data migration
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
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
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
US7243172B2 (en) * 2003-10-14 2007-07-10 Broadcom Corporation Fragment storage for data alignment and merger
JP4601305B2 (ja) 2004-02-27 2010-12-22 富士通セミコンダクター株式会社 半導体装置
US8332598B2 (en) 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering

Also Published As

Publication number Publication date
US20060294264A1 (en) 2006-12-28
CN101208672B (zh) 2010-05-19
EP1894112A2 (en) 2008-03-05
ATE464605T1 (de) 2010-04-15
EP1894112B1 (en) 2010-04-14
CN101208672A (zh) 2008-06-25
DE602006013627D1 (de) 2010-05-27
KR20080014063A (ko) 2008-02-13
TW200712886A (en) 2007-04-01
JP4879981B2 (ja) 2012-02-22
TWI328169B (en) 2010-08-01
WO2007002445A2 (en) 2007-01-04
KR100958264B1 (ko) 2010-05-19
US7587521B2 (en) 2009-09-08
WO2007002445A3 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
JP4879981B2 (ja) メモリのマイクロタイリングによる投機的なリターン
KR100958263B1 (ko) 메모리 마이크로-타일링 요청 재정렬화 방법, 메모리제어기 및 시스템
JP5603892B2 (ja) メモリの微小タイリング
US7287101B2 (en) Direct memory access using memory descriptor list
US6643746B1 (en) Optimal multi-channel memory controller system
US20080229049A1 (en) Processor card for blade server and process.
US7930483B2 (en) Associativity implementation in a system with directly attached processor memory
CN113760560A (zh) 一种进程间通信方法以及进程间通信装置
WO2017016380A1 (en) Advance cache allocator
US7984240B2 (en) Memory compression implementation in a system with directly attached processor memory
US20230384934A1 (en) Method and system for managing memory associated with a peripheral component interconnect express (pcie) solid-state drive (ssd)
US9424227B2 (en) Providing byte enables for peer-to-peer data transfer within a computing environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110701

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: 20111101

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: 20111130

R150 Certificate of patent or registration of utility model

Ref document number: 4879981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

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