説明

メモリアクセス要求のアービトレーション

方法は、第1のインターバルの間に、第1のデバイス(116,118,120)から第1のメモリアクセス要求を受信するステップを含む。前記第1のメモリアクセス要求は、複数ページメモリ(104)の第1のページにアクセスするためのものである。前記方法は、前記第1のインターバルの後の第2のインターバルの間に、前記第1のデバイスから第2のメモリアクセス要求を受信するステップと、前記第2のインターバルの間に、第2のデバイス(116,118,120)から第3のメモリアクセス要求を受信するステップとを更に含む。前記方法は、更に、前記第2のメモリアクセス要求が前記複数ページメモリの前記第1のページにアクセスすると予想されることが、指標によって示される場合に、前記複数ページメモリに提供するために、前記第3のメモリアクセス要求よりも、前記第2のメモリアクセス要求を優先的に選択するステップを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、メモリアクセス要求の処理に関する。
【背景技術】
【0002】
処理システムでは、メモリにデータをストアしたり、あるいはメモリのデータにアクセスしようとしているデバイスに対し、メモリ資源へのアクセスを制御するために、メモリコントローラが用いられていることが多い。従来のシステムでは、特定の固定の優先度に基づいて、メモリコントローラにメモリアクセス要求が提供される。
【0003】
しかし、固定優先順位方式のみに基づいてメモリアクセス要求を選択すると、ダイナミックランダムアクセスメモリ(DRAM)などのページベースのメモリで、大きな不利益が生じてしまうことが多い。通常、DRAMの別のページにアクセスする際には必ず、前のページをクローズし、次のページをオープンするのに必要なプロセスのため、遅延が生じてしまう。固定優先順位方式でよくあるように、メモリのページの切り替えを頻繁に行うと、メモリに「スラッシング」が生じ、その結果、メモリアクセス要求シーケンスに、大きな遅延が累積的に生じてしまうことが多い。この問題は、デュアルデータレート(DDR)メモリでは、コマンドサイクルごとのデータレートが高いため、特に顕著となる。
【0004】
したがって、メモリアクセス要求を処理するための改良された方法が有利となる。
【発明の開示】
【0005】
本開示の一態様によれば、方法が提供される。前記方法は、第1のインターバルの間に、第1のデバイスから第1のメモリアクセス要求を受信するステップを有する。前記第1のメモリアクセス要求は、複数ページメモリの第1のページにアクセスするためのものである。前記方法は、前記第1のインターバルの後の第2のインターバルの間に、前記第1のデバイスから第2のメモリアクセス要求を受信するステップと、前記第2のインターバルの間に、第2のデバイスから第3のメモリアクセス要求を受信するステップとを更に含む。前記方法は、更に、前記第2のメモリアクセス要求が前記複数ページメモリの前記第1のページにアクセスすると予想されることが、指標によって示される場合に、前記複数ページメモリに提供するために、前記第3のメモリアクセス要求よりも、前記第2のメモリアクセス要求を優先的に選択するステップを含む。本開示の別の態様によれば、システムが提供される。前記システムは、複数ページメモリに接続されたアクセスアービタを有する。前記アクセスアービタは、第1のインターバルの間に、第1のデバイスから、複数ページメモリの第1のページにアクセスするための第1のメモリアクセス要求を受信し、前記第1のインターバルの後の第2のインターバルの間に、前記第1のデバイスから第2のメモリアクセス要求を受信し、前記第2のインターバルの間に、第2のデバイスから第3のメモリアクセス要求を受信する。前記アクセスアービタは、更に、前記第2のメモリアクセス要求が前記複数ページメモリの前記第1のページにアクセスすると予想されることが、指標によって示される場合に、前記複数ページメモリに提供するために、前記第3のメモリアクセス要求よりも、前記第2のメモリアクセス要求を優先的に選択する。
【0006】
本開示の目的および利点は、添付の図面と併せて読めば、以下の詳細な説明から、当業者にとって明らかであろう。添付の図面では、同じ要素を示すのに同じ参照符号を使用する。
【発明を実施するための最良の形態】
【0007】
以下の説明は、メモリアクセス要求のアービトレーションに関わる多数の特定の実施形態および詳細を示すことによって、本開示を完全に理解できることを意図している。しかし、本開示がこれらの特定の実施形態や詳細に限定されることはなく、これらは例示に過ぎないことが理解される。当業者が、既知のシステムおよび方法に鑑みて、特定の設計やその他の要求に従って、いかなる数の別の実施形態において、意図した目的および利益のために本開示の使用を評価することも更に理解される。
【0008】
図1を参照すると、本開示の少なくとも1つの実施形態による、繰り返しページアクセスアービトレーション(repeated-page access arbitration)を利用する例示的な処理システム100が示される。図示した例では、システム100は、複数のページを有するページベースのメモリ104(DDR DRAMなど)に接続された、システムオンチップ(SOC)102(集積プロセッサなど)を備える。SOC102は、ノースアービタ106、サウスアービタ108、および複数のデバイスを備える。複数のデバイスには、ディスプレイコントローラ110、汎用処理装置(GPU)(中央処理装置と呼ばれることも多い)、セキュリティモジュール114、周辺装置相互接続(PCI)コントローラ116、ビデオプロセッサ118、ブリッジ(MCP)120、メモリコントローラ122などが含まれうる。
【0009】
図示した例では、サウスアービタ108は、デバイス116,118,120の1つ以上によって(例えば、それぞれ要求経路136,138,140を介して)提供されるメモリアクセス要求同士をアービトレーションし、各メモリアクセスインターバルに、選択されたメモリアクセス要求をノースアービタ106に提供する。これに対し、ノースアービタ106は、デバイス110,112,114の1つ以上によって(例えば、それぞれ要求経路130,132,134を介して)提供されるメモリアクセス要求同士のほか、サウスアービタ108から提供される選択されたメモリアクセス要求もアービトレーションする。次に、アービタ106によって選択されたメモリアクセス要求が、選択されたメモリアクセス要求に関連する任意のデータ(書込データなど)と共に、メモリコントローラ122に提供される。次に、メモリコントローラ122は、提供されたメモリアクセス要求を処理して、メモリ104の識別されたメモリ位置にデータをロードするか、あるいはここからデータを読み出す。
【0010】
少なくとも1つの実施形態では、アービタ106,108の一方または両方は、メモリ104でのページ切り替えの頻度を減らすために、1つ以上のアービトレーション法を使用してメモリアクセス要求を選択する。例えば、アービタ106および108によって利用されるアービトレーション方式には、選択されたメモリアクセス要求が、以前のインターバルに選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されるとの指標に基づいて、特定のメモリアクセス要求を選択する方法などがある。一実施形態では、この指標は、以前に選択されたメモリアクセス要求に関連するアドレスの少なくとも一部と、1つ以上の未処理のメモリアクセス要求のアドレスの対応する部分との比較に基づいていてもよい。比較の結果、特定の未処理のメモリアクセス要求が、以前のメモリアクセス要求と同じメモリページにアクセスするとの予想が示された場合、この特定の未処理のメモリアクセス要求が、メモリアクセスインターバルの間に処理するために優先的に選択されうる。メモリアクセス要求の選択の文脈で「優先的」との文言が用いられる場合、影響のあるほかのすべてのパラメータが実質的に等しいことを指す。例えば、あるメモリアクセス要求がほかよりも優先度が高いとき、優先度が決定要因である場合には、他のパラメータの点では優先度の低いメモリアクセス要求の選択が優先的な場合であっても、優先度の高いメモリアクセス要求が選択されうる。
【0011】
一実施形態では、アービタ106,108の一方または両方がこの比較を実行する。例を挙げると、アービタ106,108の一方または両方は、直前に処理されたメモリアクセス要求(例えば、ADDR[MSB:MSBn−x])の最上位ビット群(MSB)のサブセットを、レジスタまたは他のメモリ位置(図示せず)に記憶しており、デバイス130,132,134,136,138,140は、自身のメモリアクセス要求に関連するメモリアドレス(例えばデバイスiでは、ADDR[MSB:MSBn−x])の最上位ビット群(MSB)の対応するサブセットを、それぞれアドレス入力150,152,154,156,158,160として提供しうる。次に、アービタ106,108の一方または両方は、記憶されているアドレス値を考慮してアドレス入力を処理し、処理済みのメモリアクセス要求と同じメモリページにアクセスすると予想されるメモリアクセス要求を特定しうる。別の実施形態では、アドレス部分の比較は、デバイスによって実行されてもよく、デバイスが提供したメモリアクセス要求が、以前に処理されたメモリアクセス要求と同じメモリページにアクセスすると予想されるかどうかを示す指標として、各デバイスが信号を提供しうる。
【0012】
多くの場合、デバイスからの現在のメモリアクセス要求は、同じデバイスからの直前のメモリアクセス要求と同じメモリページにアクセスすると思われる。したがって、一実施形態では、連続するメモリアクセス要求の所定の最大値に達するまで、可能であれば、同じデバイスから連続してメモリアクセス要求が選択されるように、アービタ106,108の一方または両方は、メモリアクセス要求を優先的に選択する。このため、同じデバイスから連続してメモリアクセス要求を選択することにより、同じデバイスからのメモリアクセス要求を連続的に処理する結果、同じメモリページにアクセスする確率が高くなるため、メモリ104でのページ切り替えの頻度を減らすことができる。
【0013】
同様に、一実施形態では、アービタ106,108の一方または両方は、特定のデバイスからのメモリアクセス要求の数が所定数以上になるまで、および/または、特定のデバイスからのバッファ済みのメモリアクセス要求に関連するデータ(例えば読出アクセスでは読出データ、または書込アクセスでは書込データ)の量が、所定の閾値以上になるまで、デバイスからのメモリアクセス要求がバッファされるアービトレーション方式を使用してもよい。特定のデバイスのバッファ済みのメモリアクセス要求が、所定の要求数と等しい場合、および/または所定のデータ閾値と等しい場合、アービタは、バッファ済みのメモリアクセス要求の一部またはすべてを、連続するメモリアクセスインターバルの間に処理するために選択しうる。同じデバイスからのメモリアクセス要求は、同じメモリページにアクセスすることが多いため、あるデバイスからの1つ以上のメモリアクセス要求を連続的に処理することにより、ページ切り替えの頻度を減らすことができ、これにより、メモリアクセス要求の処理の遅延を減らすことができる。
【0014】
一実施形態では、所定の要求数と等しくなるまで、および/または、所定のデータ閾値と等しくなるまで、デバイスからのメモリアクセス要求がアービタ106および108にバッファされる。例として示すように、アービタ108は、PCIコントローラ116からの所定のメモリアクセス要求数をバッファするバッファ164を備えうる。バッファ164が一杯になると、アービタ108は、バッファ済みのメモリアクセス要求の一部または全部を、連続処理のため、バッファ164から優先的に選択しうる。代替の実施形態では、デバイスの1つ以上が、メモリアクセス要求をバッファするためのバッファ(GPU112のバッファ162など)を備える。この例では、バッファされているアクセス要求が、バッファ済みのアクセス要求の所定の数および/または所定のデータ閾値と等しくなると、デバイスがアービタ106または108に通知しうる。これを受けて、対応するアービタは、通知を行ったデバイスから、連続処理のために、バッファ済みのメモリアクセス要求の1つ以上を優先的に選択しうる。
【0015】
図2を参照すると、本開示の少なくとも1つの実施形態による、メモリページの切り換えを減らすために、メモリアクセス要求同士をアービトレーションするための例示的な方法200が示されている。ブロック202において、アービタ(図1のアービタ106,108など)で、1つ以上のデバイスのそれぞれから、メモリアクセス要求が受信される。ブロック204において、アービタは、受信したメモリアクセス要求(ある場合)に関連する優先度を調べる。例えば、GPU112(図1)からのメモリアクセス要求は、タイミングまたは性能上の要件のために、ディスプレイコントローラ110(図1)からのメモリアクセス要求よりも高い優先度が割り当てられているとする。受信済みのメモリアクセス要求のうち、残りの受信済みのメモリアクセス要求より優先度の高いものが1つしかない場合、ブロック206において、この1つの優先度の高いメモリアクセス要求が、現在のメモリアクセスインターバルまたは将来のメモリアクセスインターバルの間に処理するため、メモリコントローラ(図1のメモリコントローラ122など)に提供するために選択されうる。
【0016】
受信済みのメモリアクセス要求のなかで、優先レベルが最も高いメモリアクセス要求が複数存在する場合には、一実施形態では、ブロック208において、アービタは、以前のメモリアクセスインターバルに選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されるメモリアクセス要求を選択する。次に、選択されたメモリアクセス要求が、処理のためにメモリコントローラに提供されうる。ステップ210において、次のメモリアクセスインターバルについて、アービトレーション方法200が繰り返されうる。
【0017】
図3乃至6を参照すると、本開示の少なくとも1つの実施形態による、図2の方法200のブロック208のメモリアクセス要求の優先的選択の例示的な実装が示される。メモリアクセスアービタは、本発明の範囲から逸脱することなく、これらの例示的な実装のいずれか、あるいはこれらの任意の組合せを使用しうる。
【0018】
図3に示すように、ブロック208におけるメモリアクセス要求の優先的選択の一実装では、ブロック302において、デバイスからの現在の要求が、以前のメモリアクセスインターバルの間に選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されることが、デバイスからの指標に示されているかどうかが判定されうる。上で説明したように、この指標は、メモリアクセス要求に関連するアドレスのサブセットと、以前に選択されたメモリアクセス要求の対応するアドレスのサブセットとの比較に基づきうる。このような指標がある場合には、ブロック304において、指標に関連するデバイスからのメモリアクセス要求が、処理のためメモリコントローラに提供するために選択される。このような指標がない場合には、ブロック306において、アービタは、ラウンドロビン選択などの他の方式を使用して、処理するメモリアクセス要求を選択しうる。
【0019】
表1は、図3に関して説明したメモリアクセスアービトレーションを使用するメモリアクセスインターバルの例示的なシーケンスを示す。表に示す例では、優先度0を有し、連続の指標を有するデバイスAが、優先度0のデバイスよりも3回、優先度1のデバイスよりも1回、優先的に選択される。
【0020】
【表1】

【0021】
図4に示すように、ブロック208におけるメモリアクセス要求の優先的選択の別の実装では、ブロック402において、以前のメモリアクセスインターバルに選択されたメモリアクセス要求に関連する同じデバイスからのメモリアクセス要求が利用可能であるかどうかが判定されうる。このようなメモリアクセス要求が利用可能でない場合には、ブロック404において、ラウンドロビン選択などの様々な方式のいずれかを使用して、メモリアクセス要求が選択されうる。利用可能な場合には、直近のメモリインターバルに、そのデバイスからのメモリアクセス要求が連続して選択された回数の総カウントが、所定の最大値(最大2インターバル、または4インターバルなど)と比較される。所定の最大値を超えない場合、ブロック408において、そのデバイスからのメモリアクセス要求が、メモリコントローラによる処理のために選択される。所定の最大値に達している場合、ブロック410において、デバイスのカウント値がリセットされ(例えば0にセットされ)、ブロック404において、他の方式を使用して、他のデバイスからのメモリアクセス要求が選択されうる。例えば、所定の最大値が4であり、直近の3メモリアクセスインターバルに、デバイスからのメモリアクセス要求が選択されているとすると、以前のメモリアクセスインターバルのシーケンスで選択されたデバイスからのメモリアクセス要求の総数が所定の最大値未満であるため、ブロック408において、このデバイスからの現在のメモリアクセス要求が選択されうる。しかし、デバイスからのメモリアクセス要求が、最近の4メモリアクセスインターバルに選択され、所定の最大値が4インターバルである場合には、ブロック410において、このデバイスに関連するカウントがリセットされ、ブロック404において、他のデバイスからのメモリアクセス要求が選択される。
【0022】
一実施形態では、他のデバイスから優先度の高いメモリアクセス要求を受信すると、同じデバイスからのメモリアクセス要求の連続選択が中断されうる。別の実施形態では、別のデバイスから優先度の高いメモリアクセス要求を受信しても、同じデバイスからのメモリアクセス要求の連続選択が行われる。更に、繰り返し選択の所定の最大値が、他のデバイスからのメモリアクセス要求の優先度に応じて変更されてもよい。
【0023】
表2は、図4に関して説明したメモリアクセスアービトレーションを使用するメモリアクセスインターバルの例示的なシーケンスを示す。表に示す例では、各デバイスが2回連続で選択されてから、同じ優先度の別のデバイスが選択されうる。この結果得られる要求選択パターンによって、一般に、従来のアービトレーション技術と比べ、ページのオープンおよびページのクローズの回数が低減される。
【0024】
【表2】

【0025】
図5に示すように、ブロック208におけるメモリアクセス要求の優先的選択の別の実装では、ブロック502において、任意のデバイスからのバッファ済みのメモリアクセス要求の数が、所定の閾値以上であるかどうかが判定されうる。所定の閾値未満の場合、ブロック504において、例えば、ラウンドロビン選択または他の選択法を使用してメモリアクセス要求が選択される。所定の閾値以上である場合、ブロック506において、バッファ済みのメモリアクセス要求の一部または全部が、連続するメモリアクセスインターバルの間の処理のため、アービタによってメモリコントローラに提供される。
【0026】
表3,表4は、それぞれ、メモリアクセスの従来のシーケンスと、図5に関して記載したメモリアクセスアービトレーションを使用するメモリアクセスインターバルの例示的なシーケンスとを示す。表4に示した実施形態では、各デバイスは、2つのメモリアクセス要求を、これらが選択される前にバッファする。この結果得られる表4に示す要求パターンにより、表3に示す従来の技術よりも、ページのオープンおよびページのクローズの回数が低減される可能性があり、このため、処理の遅延が低減される。
【0027】
(従来技術)
【表3】

【0028】
【表4】

【0029】
同様に、図6に示すように、ブロック208におけるメモリアクセス要求の優先的選択の別の実装では、ブロック602において、任意のデバイスからのバッファ済みのメモリアクセス要求が表す読出データまたは書込データが、所定のデータ閾値以上であるかどうかが判定されうる。所定の閾値未満の場合、ブロック604において、例えば、ラウンドロビン選択または他の選択法を使用してメモリアクセス要求が選択される。所定の閾値以上である場合、ブロック606において、バッファ済みのメモリアクセス要求の一部または全部が、連続するメモリアクセスインターバルの間の処理のため、アービタによってメモリコントローラに提供される。
【0030】
図7を参照すると、本開示の少なくとも1つの実施形態による、本明細書に開示したアービトレーション技術の1つ以上を実装するための例示的なアービタ700が示される。図に示すように、アービタ700は、要求セレクタモジュール702、指標解析モジュール704、マルチプレクサ706,708、およびレジスタ710,712,714,716,718,720を備えうる。モジュール702,708は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組合せとして実装することができる。レジスタ710は、以前のメモリアクセスインターバルに選択されたメモリアクセス要求に関連するデバイスを識別する値を記憶する。レジスタ712は、同じデバイスからメモリアクセスを連続して選択できる最大回数を表す値を記憶し、レジスタ714は、直近のメモリアクセスインターバルに、メモリアクセス要求が連続して選択された回数のカウントを表す値を記憶する。レジスタ716は、バッファ済みのメモリアクセス要求に関連する所定のデータ閾値を表す値を記憶し、レジスタ718は、メモリアクセスリクエストバッファに関連する所定のメモリアクセス要求数を表す値を記憶する。レジスタ720は、以前のメモリアクセスインターバルに選択されたメモリアクセス要求に関連するメモリアドレスを表す値を記憶する。レジスタ712,714,716,718の1つ以上の値は、処理デバイス(例えば、図1のSOC102)の動作の特定の特性に合わせて、アービタ700が使用するメモリアクセス要求のアービトレーション方式をカスタマイズするためにプログラム可能であってもよい。
【0031】
動作時に、(それぞれデバイスA〜Dから出された)1つ以上のメモリアクセス要求A〜Dがマルチプレクサ708で受信される。要求セレクタモジュール702は、指標解析モジュール704からの入力および/またはレジスタ710,712,714,716,718,720の1つ以上の値に基づいて、メモリアクセス要求A〜Dのいずれを、メモリコントローラに提供するために選択するかを決定し、マルチプレクサ708に、対応する選択信号722を提供して、マルチプレクサ708に対して、選択されたメモリアクセス要求を出力する(これをメモリコントローラが受け取る、724)ように指示する。
【0032】
一実施形態では、図4に関して説明したように、要求セレクタモジュール702は、レジスタ710が示すデバイス(すなわち、以前のメモリアクセスインターバルに選択されたメモリアクセス要求に関連するデバイス)に関連するメモリアクセス要求を優先的に選択し、レジスタ714のカウント値が、レジスタ712の値が表す最大値以上ではない限り、レジスタ714のカウント値をインクリメントする。最大値以上の場合、カウント値がリセットされ、ラウンドロビンなどの他の選択法が使用されうる。
【0033】
図5,6に関して説明した別の実施形態では、バッファ済みのメモリアクセス要求の総数が、レジスタ718の値が表す閾値以上である場合、あるいは、バッファ済みのメモリアクセス要求によってアクセスされる総データ量が、レジスタ716に記憶されている値が表す所定のデータ閾値以上である場合、要求セレクタモジュール702は、デバイスからのバッファ済みの1つ以上のメモリアクセス要求を優先的に選択する。
【0034】
更に、図3に関して説明したように、一実施形態では、要求セレクタモジュール702は、メモリアクセス要求が、以前のメモリアクセスインターバルに選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されるかどうかを表す指標に基づいて、デバイスからのメモリアクセス要求を優先的に選択する。例えば、マルチプレクサ706は、デバイスA〜Dからそれぞれ指標A〜Dを受信するとする。一実施形態では、指標A〜Dは、対応するメモリアクセス要求A〜Dに関連するメモリアドレスの最上位ビットの特定のビット数を表している。要求セレクタモジュール702は、マルチプレクサ706に選択信号726を提供し、指標解析モジュール704に提供する指標A〜Dの1つが選択される。指標解析モジュール704は、選択された指標(メモリアドレスのサブセットなど)を、レジスタ720に記憶されているメモリアドレス値(以前に選択されたメモリアクセス要求に関連するメモリアドレスを表している)と比較して、対応するメモリアクセス要求が、以前に選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されるかどうかを決定する。このように予想される場合、指標解析モジュール704は、要求セレクタモジュール702に、選択信号728を提供し、どのデバイスのどのメモリアクセス要求が、以前に選択されたメモリアクセス要求と同じメモリページにアクセスすると予想されるかを通知する。これに対して、要求セレクタモジュール702は、メモリコントローラに出力724として提供する、対応するメモリアクセス要求を選択するために、マルチプレクサ708に、対応する選択信号722を提供する。
【0035】
本開示の他の実施形態、使用および利点は、ここに開示した開示の詳細と実施を鑑みれば、当業者にとって明らかであろう。本明細書および図面は例に過ぎず、したがって、本開示の範囲は、添付の特許請求の範囲とその均等物によってのみ制限されることが意図されるべきである。
【図面の簡単な説明】
【0036】
【図1】本開示の少なくとも1つの実施形態による、永続ページメモリアクセス要求のアービトレーション法を使用する例示的な処理システムを示すブロック図。
【図2】本開示の少なくとも1つの実施形態による、永続ページメモリアクセス要求のアービトレーションのための例示的な方法を示すフローチャート。
【図3】本開示の少なくとも1つの実施形態による、複数のラウンドロビン選択法に基づいた、図2の方法の例示的な実装を示すフローチャート。
【図4】本開示の少なくとも1つの実施形態による、以前に選択されたメモリアクセス要求に基づいた、図2の方法の例示的な実装を示すフローチャート。
【図5】本開示の少なくとも1つの実施形態による、バッファ済みのメモリアクセス要求に基づいた、図2の方法の例示的な実装を示すフローチャート。
【図6】本開示の少なくとも1つの実施形態による、バッファ済みのメモリアクセス要求に基づいた、図2の方法の例示的な実装を示すフローチャート。
【図7】本開示の少なくとも1つの実施形態による、例示的なメモリアクセスアービタを示すブロック図。

【特許請求の範囲】
【請求項1】
第1のインターバルの間に、第1のデバイス(116,118,120)から、複数ページメモリの第1のページにアクセスするための第1のメモリアクセス要求を受信するステップと、
前記第1のインターバルの後の第2のインターバルの間に、前記第1のデバイスから第2のメモリアクセス要求を受信するステップと、
前記第2のインターバルの間に、第2のデバイス(116,118,120)から第3のメモリアクセス要求を受信するステップと、
前記第2のメモリアクセス要求が前記複数ページメモリの前記第1のページにアクセスすると予想されることが、指標によって示される場合に、前記複数ページメモリに提供するために、前記第3のメモリアクセス要求よりも、前記第2のメモリアクセス要求を優先的に選択するステップとを含む方法。
【請求項2】
第3のインターバルに前記複数ページメモリに提供するために、第3のデバイス(116,118,120)からの第4のメモリアクセス要求を選択するステップと、
前記第3のインターバルの直後の1つ以上のインターバルの各インターバルに前記複数ページメモリに提供するために、前記第3のデバイスからの1つ以上のメモリアクセス要求を優先的に選択するステップとを更に含み、優先的に選択されるインターバルの総数は所定のインターバル数未満である、請求項1に記載の方法。
【請求項3】
第3のデバイス(108)においてメモリアクセス要求をバッファするステップと、
バッファされているメモリアクセス要求の数が、所定のメモリアクセス要求数以上の場合に、前記複数ページメモリに連続して提供するために、前記バッファされているメモリアクセス要求を優先的に選択するステップを更に含む、請求項1に記載の方法。
【請求項4】
第3のデバイス(108)においてメモリアクセス要求をバッファするステップと、
前記バッファされているメモリアクセス要求によってアクセスされるデータ量が、所定のデータ量以上の場合に、前記複数ページメモリに連続して提供するために、前記バッファされているメモリアクセス要求を優先的に選択するステップを更に含む、請求項1に記載の方法。
【請求項5】
前記指標は、前記第2のメモリアクセス要求に関連するアドレスの最上位ビット群の第1のサブセットを含み、前記最上位ビット群の前記第1のサブセットが、前記第1のメモリアクセス要求に関連するアドレスの最上位ビット群の対応するサブセットと等しい場合に、前記第2のメモリアクセス要求が前記第1のページにアクセスすると予想される、請求項1に記載の方法。
【請求項6】
複数ページメモリ(104)に接続されたアクセスアービタ(106,108)を有するシステムであって、前記アクセスアービタは、
第1のインターバルの間に、第1のデバイス(116,118,120)から、複数ページメモリの第1のページにアクセスするための第1のメモリアクセス要求を受信し、
前記第1のインターバルの後の第2のインターバルの間に、前記第1のデバイスから第2のメモリアクセス要求を受信し、
前記第2のインターバルの間に、第2のデバイス(116,118,120)から第3のメモリアクセス要求を受信し、
前記第2のメモリアクセス要求が前記複数ページメモリの前記第1のページにアクセスすると予想されることが、指標によって示される場合に、前記複数ページメモリに提供するために、前記第3のメモリアクセス要求よりも、前記第2のメモリアクセス要求を優先的に選択する、ところのシステム。
【請求項7】
前記アクセスアービタは更に、
第3のインターバルに前記複数ページメモリに提供するために、第3のデバイス(116,118,120)からの第4のメモリアクセス要求を選択し、
前記第3のインターバルの直後の1つ以上のインターバルの各インターバルに前記複数ページメモリに提供するために、前記第3のデバイスからの1つ以上のメモリアクセス要求を優先的に選択し、優先的に選択されるインターバルの総数は所定のインターバル数未満である、請求項6に記載のシステム。
【請求項8】
前記アクセスアービタは更に、
第4のデバイス(110,112,114)にバッファされているメモリアクセス要求によってアクセスされるデータ量が、所定のデータ量以上の場合に、前記複数ページメモリに連続して提供するために、前記バッファされているメモリアクセス要求を優先的に選択する請求項7に記載のシステム。
【請求項9】
前記アクセスアービタは更に、
第3のデバイス(116,118,120)にバッファされているメモリアクセス要求の数が、所定のメモリアクセス要求数以上の場合に、前記複数ページメモリに連続して提供するために、前記バッファされているメモリアクセス要求を優先的に選択する、請求項6に記載のシステム。
【請求項10】
前記アクセスアービタは更に、
第3のデバイスにバッファされているメモリアクセス要求によってアクセスされるデータ量が、所定のデータ量以上の場合に、前記複数ページメモリに連続して提供するために、前記バッファされているメモリアクセス要求を優先的に選択する、請求項6に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2009−518753(P2009−518753A)
【公表日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2008−544532(P2008−544532)
【出願日】平成18年12月8日(2006.12.8)
【国際出願番号】PCT/US2006/046877
【国際公開番号】WO2007/067739
【国際公開日】平成19年6月14日(2007.6.14)
【出願人】(591016172)アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド (439)
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
【Fターム(参考)】