JP2002500395A - 最適な多チャネル記憶制御システム - Google Patents

最適な多チャネル記憶制御システム

Info

Publication number
JP2002500395A
JP2002500395A JP2000526870A JP2000526870A JP2002500395A JP 2002500395 A JP2002500395 A JP 2002500395A JP 2000526870 A JP2000526870 A JP 2000526870A JP 2000526870 A JP2000526870 A JP 2000526870A JP 2002500395 A JP2002500395 A JP 2002500395A
Authority
JP
Japan
Prior art keywords
memory
channel
buffer
address space
unified
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.)
Withdrawn
Application number
JP2000526870A
Other languages
English (en)
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 JP2002500395A publication Critical patent/JP2002500395A/ja
Withdrawn legal-status Critical Current

Links

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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Abstract

(57)【要約】 複数の物理的メモリチャネルを用いる単一化メモリアーキテクチャシステム。近代的なメモリシステムが小型のバスインターフェースを提供することによって、各メモリバスに対して必要とされるI/Oポートの量を減少するのに対し、物理的チップ上システム(physical−on−chip)を複数の物理的メモリチャネルを用いて作ることを可能にする、単一化メモリアーキテクチャシステムが提供される。単一化メモリアーキテクチャシステム化がサポートされる一方で、多チャネルメモリ帯域幅を利用することでアプリケーション速度を増大することが可能な、多チャネルメモリシステムも提供される。パフォーマンス/コストのトレードオフ関係は、エンドユーザアプリケーションによって動的に調整され得る。本発明によって、伝統的なグラフィックスバッファのための多チャネルメモリ帯域幅を利用する一方で、パフォーマンスが最適化され得る3−Dレンダリングが、達成され得る。

Description

【発明の詳細な説明】
【0001】 (発明の背景) 本発明は、一般に、統一的なメモリアクセスシステムの分野に関し、更に詳細
には、多チャネルメモリアクセスシステムの領域に関する。
【0002】 過去において、コンピュータシステムは、多数のリクエスタが単一のメモリチ
ャネルを介してメモリにアクセスする構成を利用していた。その多数のリクエス
タが、単一のメモリチャネルを介してメモリシステムにアクセスする必要があっ
たために、コンピュータにより実行される処理の速度は最適ではなかった。それ
ゆえ、多数のリクエスタが同時にメモリシステムにアクセスすることを可能にす
るメモリシステムが望まれている。
【0003】 例えば、コンピュータグラフィックスの領域では、アプリケーションプログラ
ムは、しばしば、アプリケーションプログラム内の複数のバッファを利用する。
各バッファ(例えば、ローカルバッファ、フレームバッファおよびテクスチャバ
ッファ等)は、グラフィックスルーチンを実施する必要がある。これらのバッフ
ァのそれぞれは、メモリシステム内での位置を指定されている。しかしながら、
従来のシステムでは、アプリケーションは各バッファに対して1度に1回しかア
クセスができなかった。グラフィックスアプリケーションプログラムのパフォー
マンスを向上させるために、2つまたは3つすべてのバッファが同時にアクセス
することを可能にできるメモリシステムがあれば望ましい。各バッファが、その
特定のバッファ専用の別個のメモリシステムに記憶され得るようにすることを想
定可能であるが、通常は1つのバッファを扱うアプリケーションが、異なる複数
のバッファにもアクセスできるのであれば望ましい。したがって、必要であれば
、個々のバッファそれぞれにアクセスできる単一のメモリシステムが望ましい。
【0004】 従来のアプローチにおいて、多チャネルメモリシステムは、単一化メモリアー
キテクチャ(unified memory architecture)を、
典型的には提供しなかった。実際、アプリケーションプログラムはアプリケーシ
ョンの論理バッファを、メモリシステムの異なるメモリチャネルにわたって物理
的に分割することを期待されていた。これにより、システムの機能性が大幅に減
少し、論理バッファ内での転送が必要とされるとその後のメモリパフォーマンス
の低下に繋がり得る。各メモリチャネルの物理的サイズはまた、論理バッファの
サイズおよび細分性を定める。よって、大きな論理バッファあるいは、通常と異
なる細分性を有する論理バッファを必要とするシステムは、大量の物理メモリを
無駄にすることになり得る。
【0005】 過去において、単一化メモリアーキテクチャに対するサポートを必要とするメ
モリシステムは典型的に、単一化のメモリチャネルを使用していた。しかしなが
ら、単チャネルメモリシステムの帯域幅は、(所与のデータバス幅について)N
個のチャネルメモリシステムの帯域幅よりも約N倍少ないと考えられる。
【0006】 多チャネルに対する別の解決策は、メモリデータバスの幅を広げることである
かもしれないが、このことはメモリへのアクセスが本質的にシーケンシャルで且
つ連続的であることを意味し、これは、複数のリクエストソースを有する大半の
アプリケーションには該当しない。
【0007】 従って、現在のメモリシステムは2つのカテゴリに分類される。第1に、単チ
ャネル単一化メモリシステムで、大きなピンの数に対して低い帯域幅を有する。
第2に、多チャネルの非単一化メモリシステムで、これは機能的に制限されてい
る。従って、アプリケーションが完全に単一化メモリアーキテクチャシステムを
維持する一方で、多数のチャネルを動的に使用できるような、この問題に対する
柔軟な解決策が望まれている。
【0008】 米国特許第5,142,638号の「Apparatus for Shar
ing Memory in a Multiprocessor Syste
m」は、メモリを複数のセクション、サブセクション、およびバンクに区切り、
かつ各プロセッサとメモリの各セクションとの間にメモリパスを提供することに
よって、複数のプロセッサ間でメモリを共有するコンピュータシステムに関する
。各プロセッサはメモリの各サブセクション内に対応するレジスタを有し、各プ
ロセッサは1つのサブセクションに対して、1度に1回の参照しかできない。メ
モリの各バンクは、2つの異なるデータマルチプレクサー(入力用および出力用
に1つずつ)を必要とする。
【0009】 (発明の要旨) 本発明は、単一化メモリアーキテクチャシステムで用いられる回路を提供する
。本回路は、単一化メモリアーキテクチャシステムのメモリと、複数のリクエス
トデバイスと、前記リクエストデバイスのうちの少なくとも1つから単一化メモ
リアーキテクチャシステムへのコマンドを受け取ることができる複数のチャネル
セレクタと、メモリのアドレス空間の第1の領域へのアクセスを提供することが
できる、前記各チャネルセレクタに結合された第1のメモリチャネルと、前記各
チャネルセレクタに結合された少なくとも1つの追加的なメモリチャネルであっ
て、前記メモリの追加的なアドレス空間へのアクセスを提供することができる追
加的なメモリチャネルとを含み、前記コマンドが読み出しリクエストである場合
、前記コマンドをメモリチャネルにルーティングしたチャネルセレクタを識別す
るために用いられるセレクタタグとともに、コマンドをメモリコントローラへ渡
すことができるアービタによって回路が特徴付けられ、アービタ、メモリコント
ローラおよびコマンドを渡すために用いられるメモリチャネルが、メモリとのデ
ータの送受を担い、それを可能にする。同様に、この回路の動作方法も本発明に
より提供される。
【0010】 本発明は、汎用メモリアーキテクチャシステムを実現しながら、複数のリクエ
スタがその汎用メモリアーキテクチャシステムへアクセスすることを可能にする
という利点を有する。このようにして、さまざまなリクエスタがシリアルではな
く同時的に、メモリの異なる領域へアクセスできるので、メモリシステムの速度
が向上される。また、リクエスタのプロセッサ上で実行されているアプリケーシ
ョンプログラムは、アプリケーションプログラムにより用いられるバッファを、
異なるメモリチャネルに再割り当てすることによって、そのパフォーマンスを最
適化することができる。このようにして、バッファの情報は同時にアクセスされ
得、アプリケーションプログラムの速度が増大され得る。
【0011】 (好適な実施態様の詳細な説明) 次に図を参照する。さらに詳細に図1を参照すれば、本発明の1つの実施形態
を含む多チャネル単一化メモリアーキテクチャシステムが示されている。図1は
、単一化メモリアーキテクチャシステムのメモリにリンクされている数個のリク
エストを示す。図1からわかるように、リクエストはチャネルセレクタ(118
)とインターフェースされている。チャネルセレクタは異なるアービタ(122
)に結合されており、アービタ自体はメモリコントローラ(126)に結合され
ている。メモリコントローラは、メモリ自体の物理的なアドレス空間へのアクセ
スを許可する個々のメモリチャネル(105)に結合されている。
【0012】 図6からわかるように、アプリケーション(200)は、メモリチャネル(1
05)を介してメモリ(101)にアクセスし得る。単一化メモリアーキテクチ
ャシステムのメモリを提供することにより、図6に示されるとおり、アドレス空
間の第1の領域(110)は第1のメモリチャネルC1を介して提供される。ま
た、アドレス空間の追加的な領域(114)が、図6に示されるメモリチャネル
C2、C3、CMなどを介して提供される。単一化メモリアーキテクチャシステ
ム(100)は、単一化メモリアーキテクチャシステムのメモリの第1のメモリ
チャネルが、メモリのアドレス空間の第1の領域へアクセスを提供できるように
し、また、単一化メモリアーキテクチャシステムのメモリの少なくとも1つの追
加的なメモリチャネル(C2、C3およびCMなど)を提供することにより、各
それぞれのメモリチャネルがメモリの追加的なアドレス空間へのアクセスを提供
することを可能にするチャネル。単一化メモリアーキテクチャシステムとは、複
数のリクエストがメモリのメモリ空間に対してなされ、各リクエスタがそのメモ
リ空間の任意の領域へアクセスすることを可能にするようなメモリシステムを意
味するように意図されていることが、理解されるべきである。
【0013】 図1では、チャネルセレクタの一構成を示している。チャネルセレクタは、個
々のリクエスタからのリクエストを受け取り、これらのリクエストを適切なメモ
リチャネルにルーティングする。図1に示されるとおり、各リクエストは、その
対応するチャネルセレクタに直接結合され得る。そして、チャネルセレクタ(1
18)は書込みまたは読出しコマンド等であるこのリクエストをデコードし、そ
のリクエストをコマンドが要求するアドレス空間へのアクセスを提供するメモリ
チャネルへとルーティングする。図1は数個のチャネルセレクタを示しており、
各チャネルセレクタは単一化メモリアーキテクチャシステムへのコマンドを受け
取ることができ、また、コマンドを単一化メモリアーキテクチャシステムのリク
エストされたメモリチャネルへルーティングすることができる。コマンドをメモ
リチャネルにインタフェースするために他の回路素子が必要とされることもある
ので、コマンドのルーティングとは必ずしもメモリチャネルへの直接的な接続を
意味しないということが理解されるべきである。しかしながら、ルーティングと
は、受け取られたリクエストが間接的にメモリチャネルに結合されることを意味
することを想定している。また、「リクエストされたメモリチャネル」という言
葉を用いる場合は、受け取られたコマンドが必要とするメモリチャネルを意味す
ることが意図されていると理解されるべきである。例えば、書込みコマンドをセ
レクタが受け取った場合、リクエストされたメモリチャネルとは、データが書込
まれるべきメモリの領域へのアクセスを可能にするメモリチャネルということに
なる。
【0014】 図1において、異なるセレクタのそれぞれが、数個の異なるアービタチャネル
C1、C2、CM−1およびCM(122)に結合、(例えば電気的に結合)さ
れていることが分かるであろう。各アービタは1つのメモリチャネルと関連づけ
られている。例えば、アービタチャネルC1は、図1のメモリコントローラおよ
びメモリチャネルC1と関連づけられている。同様に、アービタチャネルCMは
メモリコントローラCMと関連づけられている。アービタは、1つのメモリチャ
ネルに対して意図された多くの異なるコマンドに優先順位を付けることができる
。例えば、図1のメモリチャネルC1に対するアービタは、このチャネルに対し
て意図された数個の異なるコマンドに優先順位を付けることができる。アービタ
は、自身が受け取った数個の異なるコマンドをシリアル化し得る。アービタはま
た、コマンドを、そのコマンドをメモリチャネルへルーティングしたチャネルセ
レクタを識別するためのメモリタグを付けて、メモリコントローラに渡すことも
できる。このようにして、例えばアービタがメモリコントローラから戻ってきた
読出しリクエストを受け取るとき、アービタはどのセレクタに読出し情報を渡す
べきかを識別することができる。
【0015】 アービタは図1に示されるとおり、個々のメモリコントローラ126と結合さ
れている。各メモリコントローラは、それぞれに対応するメモリチャネル(10
5)に関連づけられる。メモリコントローラは、システムで用いられる特定のタ
イプのメモリに対する適切なフォーマットにコマンドをコンフィギュレーション
することが可能であってもよい。メモリコントローラは、図5に示されるような
メモリ制御バッファ(130)を利用することができる。メモリ制御バッファは
、コマンドをメモリチャネルにルーティングしたチャネルセレクタを識別する、
セレクタタグを格納することができる。
【0016】 本発明の1実施形態は、以下のシナリオで描かれる。アプリケーション(20
0)は、メモリへの各リクエスタが、特定のメモリブロックに対してだけでなく
、メモリ全体(101)に対してアクセスする必要があるような単一化メモリア
ーキテクチャ方式を必要とすると仮定する。そして、N個のリクエストソースに
対してM個の物理的メモリチャネルが利用されていると仮定する。また、各リク
エスタが主に、(これだけではないが)、単一のメモリチャネルに対するアクセ
スを必要とすると仮定する。各リクエスタはまた、任意の時刻において他のメモ
リチャネルに対するアクセスを要求し得。この特性を十分にサポートするために
パスが提供され得る。例えば、リクエストは、メモリ読出しまたはメモリ書込み
アクセスであり得る。メモリ書込みの場合、データはシステムからメモリへと流
れ得る。典型的には、それ以上のパスは必要とされない。メモリ読出しの場合、
読出しアドレスおよび制御は、システムからメモリへと流れる。しかしながら読
出しデータに対してはリターンパスが典型的には必要とされる。このため、読出
しまたは書込みリクエストを発行し得るセレクタに対して、2つの異なるアーキ
テクチャが必要とされ得る。いずれにしても、データの一貫性(data co
herency)および順序は確保されなければならない。図1に示されるとお
り、異なるブロックの回路構成は、各セレクタがすべてのメモリアービタにイン
ターフェースできるようになっている。各メモリアービタは順番に、一意的に決
まるメモリコントローラとインターフェースし得、この一意的に決まるメモリコ
ントローラは単一のメモリチャネルと物理的に接続し得る。すべてのセレクタと
すべてのアービタとの間のこのネットワークは、リクエストが任意のチャネルに
アクセスできるようにすることにより、完全に単一化されたメモリアーキテクチ
ャシステムが実現できる。もし、単一化メモリアーキテクチャが部分的にサポー
トされるだけなのであれば、これらの接続パスのいくつかは取り除くことにより
、より単純且つコスト効率の良いインプリメンテーションを得ることができる。
【0017】 すべてのリクエスタは任意の時刻において実行し得、リクエストを発行し得る
ので、システムは単一のクロックに対して同期的であると考えられ得る。リクエ
スタは、1度に1つのリクエストをアサートし得る。このリクエストが発生する
と、リクエストはその個々のリクエスタへ送られる。リクエストセレクタは、メ
モリチャネルの境界のすべての物理アドレスを含むアドレステーブルを保有し得
る。入来するリクエストアドレスを各チャネル境界アドレスに対して単に比較す
ることで、セレクタは、どのチャネルにリクエストがアドレシングされているか
を決定できる。異なるチャネルのマッピングは非重複的かつ連続的であるので、
チャネル各リクエストによって1つのチャネルがアドレシングされる。図3は、
2つのメモリチャネルを有する書込みセレクタの一例を示す。実際のインプリメ
ンテーションにおいては典型的にはリクエストFIFOを利用し、FIFOの最
終段がアドレス比較に用いられ得。これによって、フルにパイプライン化された
、ワンクロックスループット設計(one−clock throughput
)が得られ得る。
【0018】 セレクタが、メモリチャネルをデコードする場合、書込みアクセスの場合には
、リクエストアドレスおよび、コントロールならびにデータとともにリクエスト
を適切なアービタに転送できる。アービタは、所定のアルゴリズムにしたがって
、どのリクエストが処理されるべきかを決定できる。すべてのメモリチャネルは
物理的に分離されているため、チャネル独立であり、異なるアービタは同時に動
作可能である。ある1つのチャネルに対して複数のリクエストを受け取ると、ア
ービタは異なるリクエストをシリアル化する能力を持ち得る。しかしながら、リ
クエストが異なるアービタに対してアサートされると、多チャネルメモリシステ
ムの帯域幅を十分に利用して、すべてのリクエストは同時に処理され得る。
【0019】 アービタはリクエストが処理されたとの旨の信号をセレクタへ送り返し、勝者
となったリクエスト(winning request)を、リクエストの出所
を示すタグとともにメモリコントローラへ渡し得る。このタグは、例えばメモリ
読出しの場合に、返送されるデータによって取られるパスを識別するために、メ
モリコントローラを介してリクエストと一緒に伝達され得る。メモリ書込みの場
合、タグは典型的にはその後用いられることがないので、タグは壊され得る。メ
モリ読出しに対しては、メモリコントローラは、読み出しタグをバッファし、メ
モリから読出しデータを受け取ると、読出しデータとともに読み出しタグをアー
ビタへ返送し得る。返送されたデータを受け取ると、リクエストタグにしたがっ
て、アービタはその情報を適切なセレクタへと送り返すことができる。
【0020】 2チャネルメモリシステムにおける読出しリクエストセレクタの例が、図4に
示される。多チャネルメモリシステムの潜在的な問題は、多チャネルで起こり得
る異なる待ち時間にある。従って、同じリクエスタが2つの読出しリクエストA
、そしてBを2つの異なるチャネルに発行し、読出しリクエストBを読出しリク
エストAよりも先に処理させる可能性がある。データ順序を確保するために、各
読出しセレクタはアクセスされているチャネルを識別するタグをFIFOに格納
することができる。読出しデータは異なるチャネルから受け取られているため、
各チャネルがデータの一貫性を維持することを認識している場合、セレクタの受
信部は適切なデータを適宜受け入れることができ、正しいチャネル識別タグが現
れるまで、他のチャネルからの返送データを拒否することができる。この時点で
、読出しデータは利用可能であり、順番にリクエスタへと返送され得る。図4は
、チャネル識別FIFOが1ビットの幅のFIFOへと縮小された、2つのメモ
リチャネルを用いるアプリケーションの一例を示す。
【0021】 追加的な制御ロジックをアーキテクチャに付加することにより、潜在的な書き
込み前の読み出し(read−before−write)、または読み出し前
の書き込み(write−before−read)問題を防ぎ得る。読出しリ
クエスタおよび書込みリクエスタが共に同じ記憶位置にアクセスしようとする時
に、このような問題が起こり得る。アービタアルゴリズムに依存して、リクエス
トのうちのいずれかが最初に処理され得る。典型的なシステムでは、アプリケー
ションプログラムが典型的にこの種の事柄が起こらないようにするであろう。し
かしながら、これらの処理を確保する必要があれば、アプリケーションの機能的
な必要性にしたがって、適切なリクエスタを止めることができるチャネルアービ
タによって、そのような状況を検知することができる。
【0022】 同じタイプの異なるリクエスタが、同じ記憶位置へアクセスを試みる時に、別
の機能的に困った状況が起こる可能性がある。これは、書き込み前の書き込み(
write−before−write)プロセスの場合に重要である。ここで
もやはり問題解決はアプリケーションレベルで実現され得るが、ローカル的にも
確保され得る。各アービタは機能的な仕様にしたがい、単純なアドレス解析を行
うことにより、2つの異なる書込みリクエスタが同じリソースにアクセスするこ
とを防ぎ、特定のリクエスタに対してリソースを遮ることを防ぐことができる。
【0023】 本発明の別の実施形態は、アプリケーションのランタイム中に、アドレス空間
の動的再割り当てを達成することを可能にする。これにより、アプリケーション
の効率性の最適化が可能である。図6に示されるとおり、アプリケーション(2
00)は単一化メモリアーキテクチャシステム(100)とインターフェースさ
れ得、メモリチャネル(105)を用いてメモリ(101)のアドレス空間(1
10)および(114)のそれぞれの領域へアクセスし得る。アプリケーション
自体は、アプリケーションの情報の第1のバッファを第1のメモリチャネルに割
り当てることにより、この情報の第1のバッファを、この特定のメモリチャネル
を介してアクセスされるアドレス空間の領域に記憶することを可能にし得るチャ
ネル。更に、第2のメモリチャネル(C2)が、アプリケーションとメモリ(1
01)との間に結合され得る。そして、アプリケーションが実行中に、情報の第
1のバッファの少なくとも一部が追加的なメモリチャネル(C2)または複数の
追加的なメモリチャネルに再割り当てされるように、情報の第1のバッファの割
り当てが訂正され得る。
【0024】 本発明の別の実施形態では、アプリケーションの情報の第2のバッファが単一
化メモリアーキテクチャシステムのメモリに割り当てられることにより、この情
報の第2のバッファをメモリに記憶することを可能にする。この実施形態では、
アプリケーションの速度を変更するように、第1のバッファおよび第2のバッフ
ァはアプリケーションのランタイム中にメモリに再割り当てされ得る。単純なル
ックアップテーブルのアドレス空間の異なる領域へバッファを割当てるソフトウ
ェアルーチンのような、再割り当てのための手段が用いられ得る。メモリの異な
る領域への第1のバッファおよび第2のバッファの再割り当ては、アプリケーシ
ョンの速度を増すために利用され得る。
【0025】 本発明の別の実施形態では、第1のメモリチャネルはメモリのアドレス空間の
第1の領域へアクセスするために利用され得る。一方で、少なくとも1つの追加
的なメモリチャネルが、メモリのアドレス空間の内の少なくとも1つの追加的な
領域へアクセスするために同時に利用され得る。またチャネルメモリのアドレス
空間の更に多くの領域をアドレシングするために、追加的なメモリチャネルが利
用され得る。
【0026】 別のシナリオにおいては、メモリに記憶されている情報の第1のバッファに加
えて、第2のメモリチャネルを提供することにより、情報の第2のバッファを、
情報の第1のバッファとは別にメモリのアドレス空間の第2の領域に記憶するこ
とを可能にするために提供され得る。これにより、情報の第1のバッファが同時
に必要とされても、遅延なく任意に情報の第2のバッファにアクセスできるよう
になる。
【0027】 本発明の別の実施形態では、アプリケーションの情報の第1のバッファの第1
の部分を第1のメモリチャネルへ割り当てすることにより、この情報の第1のバ
ッファの第1の部分を、メモリのアドレス空間の第1の領域に記憶することを可
能にし得るチャネル。アプリケーションの情報の第1のバッファの第2の部分を
第2のメモリチャネルへ割り当てすることにより、この情報の第1のバッファの
第2の部分をメモリのアドレス空間の第2の領域に記憶することを可能にし得る
チャネル。最後に、アプリケーションの情報の第2のバッファの少なくとも一部
を第2のメモリチャネルに割り当てることにより、情報の第2のバッファのその
部分を、メモリのアドレス空間の第2の領域に記憶させることを可能にし得るた
めに、チャネルことができる。
【0028】 これらの例は、以下の例を通して更に容易に理解されるであろう。本発明の実
施形態の典型的な応用例は、メモリが典型的には3つの主要なバッファ、すなわ
ちローカルバッファ(LB)、テクスチャバッファ(TB)およびフレームバッ
ファ(FB)に分けられる、3−Dレンダリングエンジンであろう。これらの3
つのバッファの実際のサイズおよび位置は、高次のアプリケーションに依存して
変更され得、またリアルタイムで変更されるかもしれない。アプリケーションは
また、フレームバッファリクエスタをローカルバッファ内の領域にアクセスさせ
たり、または、フレームバッファリクエスタをテクスチャバッファにレンダリン
グさせることを要求することもあり得る。レンダリングエンジンの通常の動作は
、以下の5つの異なるタイプのアクセス典型的に利用する。
【0029】 1.LBRD:ローカルバッファへの読出しアクセス 2.LBWR:ローカルバッファへの書込みアクセス 3.TXRD:テクスチャバッファへの読出しアクセス 4.FBRD:フレームバッファへの読出しアクセス 5.FBWR:フレームバッファへの書込みアクセス 本発明の実施形態を3−Dレンダリングエンジンに応用する際の別のキーポイ
ントは、このようなシステムのローカル性(locality)の典型的な特性
である。大半の場合において、単一のバッファへのアクセスは限られた領域内に
集中するであろう。典型的な例はテクスチャの応用であり、大きな多角形の上に
テクスチャを引き伸ばす間の長い時間、比較的に小さなテクスチャがアクセスさ
れるであろう。ローカル性(locality)はまた、テクスチャおよび、ロ
ーカルならびにフレームバッファでの動作が通常は完全に独立しているという事
実に言及する。
【0030】 ここで考えられるシステムは、2つの物理的メモリチャネルを含み得る。通常
の動作下において、高次アプリケーションは、フレームバッファが下側のチャネ
ルにある一方で、ローカルおよびテクスチャバッファが上側のチャネルを共有す
る一チャネルように、2つのメモリチャネルのうちの異なるバッファを割り当て
るかもしれない。設けられているメモリの量および、異なるバッファの必要サイ
ズに依存して、少なくとも以下の3つの状況が起こる可能性がある。
【0031】 1.システムは大量のメモリを提供し、必要とされるバッファは比較的小さい
【0032】 2.システムは比較的に限られたメモリ制約下において、大きな論理バッファ
を必要とする。
【0033】 3.システム構成は、合理的なメモリを有し、平均的なサイズのバッファを有
する。状況(1)の下においては、メモリのコストは問題とはならないであろう
し、システムは最大限のパフォーマンスのために調整され得るであろう。この場
合、高次アプリケーションは、ローカルバッファおよびテクスチャバッファを上
側のメモリチャネルにマッピングする一方で、フレームバッファのみを下側のチ
ャネルにマッピングチャネルし得るであろう。この構成を用いて、ローカル/テ
クスチャバッファとフレームバッファとでの3−Dオペレーションは独立してい
ることがわかっていれば、システムは二重チャネルシステムを最大に利用するこ
とができる。ローカル/テクスチャリクエストは、フレームバッファリクエスト
とは独立して処理され得、最大限のパフォーマンスが得られ得る。このようにし
て、フレームバッファはローカルバッファまたはテクスチャバッファのどちらか
へのリクエストによって同時にアクセスされる。たとえ異なる物理的メモリチャ
ネルに論理的にマッピングされたとしても、各リクエスタは、単一化メモリアー
キテクチャシステムメモリのいずれの領域にもアクセスできることに留意すべき
である。したがって、単一化メモリアーキテクチャ方式は、まだ十分にサポート
されている。これは、オフライン時にテクスチャデータをメモリにダウンロード
するために特に重要であり得る。これは、テクスチャバッファ中に物理的に位置
するフレームバッファ書込みブロックによって達成され得る。この構成は、典型
的には高価であるパフォーマンスが高い3−Dレンダリングエンジンを達成する
であろう。極端なインプリメンテーションでは、3つの異なるメモリチャネルを
利用することにより、テクスチャバッファ、ローカルバッファおよびフレームバ
ッファの間のリクエストの重複をゼロに減少できるであろう。このようにして異
なるメモリチャネルのアドレス空間にそれぞれ記憶される3つすべてのバッファ
は、同時にアクセスされ得るであろう。それゆえ、ローカルおよびテクスチャバ
ッファが同時に必要とされた時にも、遅延はない。
【0034】 状況(2)の下においては、メモリのコストは最小となり得るであろう。テク
スチャバッファおよびローカルバッファは、例えば、単一のメモリチャネル内に
おさまり得ないかもしれない。そして、高次アプリケーションは、2つのメモリ
チャネルのアドレス空間にまたがってテクスチャバッファを分割する選択をする
ことが必要とされるであろう。このタイプのセットアップにおいて、また、典型
的なレンダリングエンジンでのメモリアクセスの局所集中の原則を考慮すれば、
2つのチャネルは、リクエストのうちのあるパーセント対して同時に、効果的に
用いられ得る。しかしながら、同じチャネルに同時にアクセスしているリクエス
トがいくらか存在しているであろう。この場合、アービタは勝者を決定し、リク
エスタのうちの1つは止められるであろう。このことは、効果的なメモリの帯域
幅の減少となり、ひいてはレンダリングエンジンのパフォーマンスの低下につな
がる。この構成は、低コストであるがより低いパフォーマンスの3−Dレンダリ
ングエンジンを提供する。極端な場合として、単一のメモリチャネルが3つすべ
てのバッファを処理するために実現される場合がある。このような場合、ローカ
ルバッファ、テクスチャバッファおよびフレームバッファに対してそれぞれ1つ
ずつの、3つの同時に起こるリクエストにより、1回に1つのバッファがアクセ
スされる間の遅延が起こるであろう。
【0035】 状況(3)は、ケース(1)とケース(2)の中間に位置するケースとしてリ
クエストの大半が異なるチャネルによって処理されるが、ある程度の時間に渡っ
て重複するかもしれないケースを表している。
【0036】 この説明から分かるように、本発明の実施形態は少量の追加的な論理によって
単一化メモリアーキテクチャシステムに対する十分なサポートを提供し、同時に
異なるリクエスタによるメモリへの同時アクセスを可能にする。デザインフロー
(design flow)の後段におけるパフォーマンスおよびコストファク
タによって通常は支配される実際のボードレベルでのインプリメンテーションは
、これらの必要条件にしたがって調整され得る。これにより、システム設計者に
は自由がよりいっそう広がり、3−Dレンダリングエンジンにはより多くの機能
が与えられる。このことで、システム上で実行しているアプリケーションの必要
条件(例えば、解像度、ディテールのレベル、速度等)にしたがって、ローカル
バッファ、テクスチャバッファおよびフレームバッファをメモリにマッピングす
ることができる、リアルタイムのメモリ割り当てが可能になる。これは、画面の
解像度(すなわちフレームバッファサイズ)と、ディテールのレベル(テクスチ
ャバッファサイズ)およびサポート的な特性(ローカルバッファがディスエーブ
ルされ得る)がランタイム中に変更し得るような3−Dアプリケーションにとっ
て、重要である。
【0037】 最後に、現在のレンダリングエンジンの大半は、グラフィックスデータの揮発
的性質のため、強力にパイプライン化されている。待ち時間は、レンダリングエ
ンジンにおいて通常はほとんど問題ではなく、スループットがシステムの実際の
パフォーマンスを規定する。本発明によって実現されるアーキテクチャは、まっ
たく困難なく、完全にパイプライン化され得、伝統的な3−Dレンダリングエン
ジンの設計スタイルおよび動作モードに最も望ましく適合し得る。
【0038】 本発明の実施形態の装置および方法と付随する利点は、前述の説明から理解さ
れ得ると考えられ、本発明の精神および範囲から逸脱したりその重要な利点、を
犠牲にしたりすることなく形態、構造および、その部材構成において各種の変更
がなされ得、前記説明した形態は単に好適または例示的な実施形態であることは
明白であろう。
【図面の簡単な説明】
【図1】 図1は、本発明の総体的なアーキテクチャを表わすブロック図である。
【図2】 図2は、本発明を利用した3−Dレンダリングエンジンのブロック図を示す。
【図3】 図3は、2つの物理メモリチャネルを想定した、3−Dレンダリングエンジン
アプリケーション中における書込みリクエストブロックのためのセレクタの内部
論理を示す。
【図4】 図4は、2つの物理メモリチャネルを想定した、3−Dレンダリングエンジン
アプリケーション中における書込みリクエストブロックのためのセレクタの内部
論理を、リターンデータパスとともに示す。
【図5】 図5は、2つの物理メモリチャネルを有する3−Dレンダリングエンジンにお
ける、メモリコントローラおよびチャネルアービタのそれぞれの適切な動作を提
供するための可能なインターフェーシング接続を示す。
【図6】 図6は、汎用メモリアーキテクチャシステムに結合されたアプリケーションプ
ログラムの概略を示す。
【図7】 図7は、単一のメモリチャネルを利用する、既存の単一化メモリアーキテクチ
ャシステムを示す。

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 単一化メモリアーキテクチャシステムで用いられる回路であ
    って、 a)単一化メモリアーキテクチャシステムのメモリ(101)と、 b)複数のリクエストデバイス(R1..RN)と、 c)該複数のリクエストデバイスのうちの少なくとも1つから該単一化メモリ
    アーキテクチャシステムへのコマンドを受け取ることができる複数のチャネルセ
    レクタ(118)と、 d)該メモリのアドレス空間の第1の領域へのアクセスを提供できる、該チャ
    ネルセレクタのそれぞれと結合される第1のメモリチャネル(C1)と、 e)該チャネルセレクタのそれぞれに結合され、該メモリの追加的なアドレス
    空間へのアクセスを提供することができる、少なくとも1つの追加的なメモリチ
    ャネル(CM)と、を含む回路であって、 該コマンドが読み出しリクエストであるときに、該コマンドを該メモリチャ
    ネルにルーティングしたチャネルセレクタを識別するために用いられるセレクタ
    タグとともに、該コマンドをメモリコントローラ(126)へ渡すことができる
    アービタ(122)によって特徴づけられ、 該アービタおよび、メモリコントローラおよび該コマンドを渡すために用いら
    れるメモリチャネルが、該メモリのデータの送受を担い、およびそれを可能にす
    る、回路。
  2. 【請求項2】 前記アービタ(122)が前記第1のメモリチャネルに向け
    られた複数のコマンドに優先順位を付ける、請求項1に記載の回路。
  3. 【請求項3】 前記アービタ(122)が前記複数のコマンドをシリアル化
    できる、請求項2に記載の回路。
  4. 【請求項4】 前記第1のメモリチャネル(122)に関連づけられたメモ
    リコントローラ(126)を更に含む、請求項2に記載の回路。
  5. 【請求項5】 前記コマンドを前記メモリチャネルへルーティングしたチャ
    ネルセレクタを識別する前記セレクタタグを格納するための、メモリコントロー
    ラバッファ(130)を更に含む、請求項4に記載の回路。
  6. 【請求項6】 前記複数のチャネルセレクタのそれぞれが、複数のアービタ
    に電気的に結合されており、各アービタが対応するメモリチャネルと関連づけら
    れている、請求項1に記載の回路。
  7. 【請求項7】 前記アービタ(122)と関連づけられたメモリコントロー
    ラ(126)を更に含む、請求項6に記載の回路。
  8. 【請求項8】 前記リクエスタのうちの少なくとも1つがコンピュータを含
    み、 該コンピュータによって実行されるアプリケーションプログラム(200)で
    あって、前記第1のメモリチャネルの第1のアドレス空間(110)を、該第1
    のアドレス空間が第1のバッファ(204)として機能するように割り当てるこ
    とが可能であり、該アプリケーションプログラムは、該第1のバッファの少なく
    とも一部が前記追加的なメモリチャネルのうちの1つに再割り当てされるように
    該第1のアドレス空間の割り当てを訂正することが可能である、アプリケーショ
    ンプログラムを更に含む、請求項1に記載の回路。
  9. 【請求項9】 前記メモリの複数のアドレス空間へ割り当てられた前記アプ
    リケーションプログラム(200)の複数のバッファ(204,208)であっ
    て、各アドレス空間はあるサイズを有する、バッファと、 該バッファのうちの少なくとも1つを、異なるサイズを有するように再定義す
    ることによって、該アプリケーションプログラムの該複数のバッファを再割り当
    てするための手段とを更に含む、請求項8に記載の回路。
  10. 【請求項10】 前記アプリケーションプログラム(200)が、前記第1
    のバッファの第1の部分を前記第1のメモリチャネルに、そして、該第1のバッ
    ファの第2の部分を第2のメモリチャネルに割り当てるように構成された、請求
    項8に記載の単一化メモリアーキテクチャシステムに用いられる装置。
  11. 【請求項11】 前記アプリケーションプログラム(200)が、該アプリ
    ケーションの情報の第2のバッファの一部を前記第2のメモリチャネルに割り当
    てるように構成された、請求項10に記載の単一化メモリアーキテクチャシステ
    ムに用いられる装置。
  12. 【請求項12】 単一化メモリアーキテクチャシステムの動作方法であって
    、 a)該単一化メモリアーキテクチャシステムのメモリ(101)を提供するス
    テップと、 b)複数のリクエストデバイス(R1..RN)を提供するステップと、 c)該単一メモリアーキテクチャシステムのための該複数のリクエストデバイ
    スのうちの少なくとも1つからのコマンドを受け取ることができる複数のチャネ
    ルセレクタ(118)を提供するステップと、 d)前記メモリのアドレス空間の第1の領域へのアクセスを提供するように、
    該チャネルセレクタのそれぞれに結合された第1のメモリチャネル(C1)を提
    供するステップと、 e)該チャネルセレクタのそれぞれに結合され、該メモリのアドレス空間の少
    なくとも1つの追加的な領域へのアクセスを提供することができる、少なくとも
    1つの追加的なメモリチャネル(CM)を提供するステップと を包含し、 該コマンドが読み出しコマンドであるときに、該コマンドを該メモリチャネル
    へルーティングしたチャネルセレクタを識別するために用いられるセレクタタグ
    とともに、該コマンドをメモリコントローラ(126)へ渡すことができる、ア
    ービタ(122)を提供するステップと、 該コマンドを渡すために用いられる、該アービタ、メモリコントローラおよび
    メモリチャネルを利用することによって、該メモリとのデータの送受を行うステ
    ップによって特徴づけられる、単一化メモリアーキテクチャシステムの動作方法
  13. 【請求項13】 前記第1のメモリチャネルに向けられた複数のコマンドを
    優先順位付けすることが可能であるアービタ(122)を利用するステップを更
    に包含する、請求項12に記載の単一化メモリアーキテクチャシステムの動作方
    法。
  14. 【請求項14】 前記第1のメモリチャネルに向けられた複数のコマンドを
    受け取ることと、 該複数のコマンドをシリアル化するためにアービタ(122)を利用すること
    を更に包含する、請求項13に記載の単一化メモリアーキテクチャシステムの動
    作方法。
  15. 【請求項15】 前記単一化メモリアーキテクチャシステムへ向けられた複
    数のコマンドを受け取るために複数のチャネルセレクタ(R1..RN)を利用
    するステップと、 該複数の受け取られたコマンドを、該複数の受け取られたコマンドによって要
    求されたメモリチャネルへルーティングすること、を更に包含する、請求項12
    に記載の単一化メモリアーキテクチャシステムの動作方法。
  16. 【請求項16】 前記メモリチャネルと関連づけられたアービタを利用する
    ステップをさらに包含する、請求項15に記載の単一化メモリアーキテクチャシ
    ステムの動作方法。
  17. 【請求項17】 前記リクエスタのうちの少なくとも1つがコンピュータを
    含み、 該コンピュータを用いてアプリケーションプログラム(200)を実施するス
    テップと、 第1のバッファ(204)を第1のアドレス空間(110)に割り当てるステ
    ップと、 該第1のバッファの少なくとも一部が前記追加的なメモリチャネルのうちの1
    つに再割り当てされるように、該第1のバッファの割り当てを訂正することを更
    に包含する、請求項11に記載の単一化メモリアーキテクチャシステムの動作方
    法。
  18. 【請求項18】 第2のアドレス空間(114)へ第2のバッファ(208
    )を割り当てるステップと、 前記アプリケーションのランタイム中に第1のバッファおよび第2のバッファ
    を再割り当てするステップを更に包含する、請求項17に記載の単一化メモリア
    ーキテクチャシステムの動作方法。
  19. 【請求項19】 該メモリのアドレス空間(110)の第1の領域へアクセ
    スするために前記第1のメモリチャネルを利用しながら、該メモリのアドレス空
    間の前記少なくとも1つの追加的な領域にアクセスするために前記少なくとも1
    つの追加的なメモリチャネルを同時に利用するステップを更に包含する、請求項
    18に記載の単一化メモリアーキテクチャシステムの動作方法。
  20. 【請求項20】 第1のアドレス空間(110)に第1のバッファ(204
    )を割り当てるステップと、 第2のバッファ(208)を該第1のバッファ(204)とは別々に、前記メ
    モリの第2のアドレス空間(114)に格納することを可能にするように、該第
    2のアドレス空間(114)に該第2のバッファ(208)を割り当てること、
    を更に包含する、請求項17に記載の単一化メモリアーキテクチャシステムの動
    作方法。
  21. 【請求項21】 第1のバッファ(204)の第1の部分を、前記メモリ(
    110)の第1のアドレス空間に格納されるように割り当てるステップと、 情報の第1のバッファ(204)の第2の部分を、該メモリのアドレス空間(
    114)の第2の領域に格納されるように割り当てるステップを更に包含する、 請求項17に記載の単一化メモリアーキテクチャシステムの動作方法。
  22. 【請求項22】 前記アプリケーションの情報の第2のバッファ(208)
    の少なくとも一部を、該情報の第2のバッファの該部分が、前記メモリのアドレ
    ス空間(114)の前記第2の領域に格納されることを可能にするように割り当
    てるステップを更に包含する、請求項21に記載の単一化メモリアーキテクチャ
    システムの動作方法。
JP2000526870A 1997-12-24 1998-12-23 最適な多チャネル記憶制御システム Withdrawn JP2002500395A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US6883997P 1997-12-24 1997-12-24
US60/068,839 1997-12-24
PCT/IB1998/002138 WO1999034294A1 (en) 1997-12-24 1998-12-23 Optimal multi-channel memory controller system

Publications (1)

Publication Number Publication Date
JP2002500395A true JP2002500395A (ja) 2002-01-08

Family

ID=22085043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000526870A Withdrawn JP2002500395A (ja) 1997-12-24 1998-12-23 最適な多チャネル記憶制御システム

Country Status (4)

Country Link
US (1) US6643746B1 (ja)
EP (1) EP1047993A1 (ja)
JP (1) JP2002500395A (ja)
WO (1) WO1999034294A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
WO2006132006A1 (ja) * 2005-06-09 2006-12-14 Matsushita Electric Industrial Co., Ltd. メモリ制御装置及びメモリ制御方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6469703B1 (en) * 1999-07-02 2002-10-22 Ati International Srl System of accessing data in a graphics system and method thereof
US6467013B1 (en) * 1999-09-30 2002-10-15 Intel Corporation Memory transceiver to couple an additional memory channel to an existing memory channel
US7376950B2 (en) 2002-05-08 2008-05-20 Intel Corporation Signal aggregation
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
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
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
JP4443474B2 (ja) * 2005-06-14 2010-03-31 株式会社ソニー・コンピュータエンタテインメント コマンド転送制御装置およびコマンド転送制御方法
US7765366B2 (en) * 2005-06-23 2010-07-27 Intel Corporation Memory micro-tiling
US8332598B2 (en) * 2005-06-23 2012-12-11 Intel Corporation Memory micro-tiling request reordering
US7587521B2 (en) 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data
US8253751B2 (en) 2005-06-30 2012-08-28 Intel Corporation Memory controller interface for micro-tiled memory access
US8032688B2 (en) * 2005-06-30 2011-10-04 Intel Corporation Micro-tile memory interfaces
US7558941B2 (en) * 2005-06-30 2009-07-07 Intel Corporation Automatic detection of micro-tile enabled memory
US8176241B2 (en) * 2006-04-05 2012-05-08 Texas Instruments Incorporated System and method for optimizing DRAM refreshes in a multi-channel memory controller
US8878860B2 (en) * 2006-12-28 2014-11-04 Intel Corporation Accessing memory using multi-tiling
US20100058025A1 (en) * 2008-08-26 2010-03-04 Kimmo Kuusilinna Method, apparatus and software product for distributed address-channel calculator for multi-channel memory
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
US20110296124A1 (en) * 2010-05-25 2011-12-01 Fredenberg Sheri L Partitioning memory for access by multiple requesters
US11221976B2 (en) * 2019-01-25 2022-01-11 Microchip Technology Incorporated Allocation of buffer interfaces for moving data, and related systems, methods and devices
US11762587B2 (en) 2021-05-05 2023-09-19 Samsung Electronics Co., Ltd Method and memory device for atomic processing of fused commands
CN116820344A (zh) * 2023-07-03 2023-09-29 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5182801A (en) 1989-06-09 1993-01-26 Digital Equipment Corporation Apparatus and method for providing fast data transfer between multiple devices through dynamic reconfiguration of the memory space of the devices
JPH06314264A (ja) * 1993-05-06 1994-11-08 Nec Corp セルフ・ルーティング・クロスバー・スイッチ
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
US5590304A (en) * 1994-06-13 1996-12-31 Covex Computer Corporation Circuits, systems and methods for preventing queue overflow in data processing systems
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
WO1997006523A1 (en) * 1995-08-08 1997-02-20 Cirrus Logic, Inc. Unified system/frame buffer memories and systems and methods using the same
US5790138A (en) 1996-01-16 1998-08-04 Monolithic System Technology, Inc. Method and structure for improving display data bandwidth in a unified memory architecture system
US5930822A (en) * 1996-09-27 1999-07-27 Hewlett-Packard Co. Method and system for maintaining strong ordering in a coherent memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP4677630B2 (ja) * 2002-06-07 2011-04-27 ラウンド ロック リサーチ、エルエルシー 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
WO2006132006A1 (ja) * 2005-06-09 2006-12-14 Matsushita Electric Industrial Co., Ltd. メモリ制御装置及びメモリ制御方法
JPWO2006132006A1 (ja) * 2005-06-09 2009-01-08 松下電器産業株式会社 メモリ制御装置及びメモリ制御方法
JP4693843B2 (ja) * 2005-06-09 2011-06-01 パナソニック株式会社 メモリ制御装置及びメモリ制御方法

Also Published As

Publication number Publication date
EP1047993A1 (en) 2000-11-02
WO1999034294A1 (en) 1999-07-08
US6643746B1 (en) 2003-11-04

Similar Documents

Publication Publication Date Title
JP2002500395A (ja) 最適な多チャネル記憶制御システム
US7360035B2 (en) Atomic read/write support in a multi-module memory configuration
JP3946873B2 (ja) ディスクアレイ制御装置
US7987465B2 (en) Method and apparatus for dynamic allocation of processing resources
US6976135B1 (en) Memory request reordering in a data processing system
US6832303B2 (en) Method and system for managing an allocation of a portion of a memory
US5136500A (en) Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories
US6754739B1 (en) Computer resource management and allocation system
US20030005073A1 (en) Signal processing device accessible as memory
KR19980042530A (ko) 가상 채널 메모리 시스템
JPH0219945A (ja) 主記憶制御装置
US20120144104A1 (en) Partitioning of Memory Device for Multi-Client Computing System
US5761455A (en) Dynamic bus reconfiguration logic
US6546465B1 (en) Chaining directory reads and writes to reduce DRAM bandwidth in a directory based CC-NUMA protocol
US6681270B1 (en) Effective channel priority processing for transfer controller with hub and ports
US6182196B1 (en) Method and apparatus for arbitrating access requests to a memory
US6253290B1 (en) Multiprocessor system capable of circumventing write monitoring of cache memories
US6760743B1 (en) Instruction memory system for multi-processor environment and disjoint tasks
US20070156947A1 (en) Address translation scheme based on bank address bits for a multi-processor, single channel memory system
US8478946B2 (en) Method and system for local data sharing
US20030229721A1 (en) Address virtualization of a multi-partitionable machine
WO2001016760A1 (en) Switchable shared-memory cluster
US20020161452A1 (en) Hierarchical collective memory architecture for multiple processors and method therefor
US20120331255A1 (en) System and method for allocating memory resources
US7788466B2 (en) Integrated circuit with a plurality of communicating digital signal processors

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307