JP2015511052A - 共有メモリ・ファブリックを介したメモリ・アクセスの調停 - Google Patents
共有メモリ・ファブリックを介したメモリ・アクセスの調停 Download PDFInfo
- Publication number
- JP2015511052A JP2015511052A JP2015501960A JP2015501960A JP2015511052A JP 2015511052 A JP2015511052 A JP 2015511052A JP 2015501960 A JP2015501960 A JP 2015501960A JP 2015501960 A JP2015501960 A JP 2015501960A JP 2015511052 A JP2015511052 A JP 2015511052A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- request
- arbiter
- requests
- fabric
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 413
- 239000004744 fabric Substances 0.000 title claims abstract description 146
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 35
- 238000009877 rendering Methods 0.000 claims description 19
- 238000013468 resource allocation Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 239000004065 semiconductor Substances 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 4
- 238000012384 transportation and delivery Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 208
- 239000000872 buffer Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 239000013598 vector Substances 0.000 description 20
- 229910003460 diamond Inorganic materials 0.000 description 11
- 239000010432 diamond Substances 0.000 description 11
- 230000007704 transition Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000032683 aging Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 235000003642 hunger Nutrition 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000037351 starvation Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0064—Latency reduction in handling transfers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
Description
受容調停器によって実装される経時ベース(age-based)のアルゴリズムは、調停器によって最後に承認されてから最も長く待っている要求エージェントが最も高い優先度レベルを与えられるというものである。ひとたびエージェントが最も高い優先度レベルを受けたら、そのエージェントについての優先度レベルは、そのエージェントが調停器によって承認されるのでない限り、変化しない。このようにして、ラウンドロビン調停を使って普通に見出される飢餓(starvation)問題は、要求エージェントについての優先度レベルが、その要求エージェントが調停器によって承認されない限り、優先度レベルにおいて増すのみであることができることを保証することによって、回避されうる。
受容調停器の重み付けされた経時ベースのアルゴリズムは、要求エージェントが調停器によって最後に承認された時の相対的な経時に基づく。受容調停器に接続する各要求元エージェントについて、一つの経時カウンタがインスタンス化され、一つの重みカウンタがインスタンス化される。受容調停器における高優先度および低優先度の調停経路は、該受容調停器に接続されたエージェントについて、共通の経時および重みカウンタを共有する。要求エージェントの経時および重みレジスタの更新は、最終選択器(つまり優先度調停器選択器125)によって、最終的な調停勝者を選んだあとに、決定される。
規則1:エージェントの経時が調停の勝者の経時に等しいとき、そのエージェントについての経時レジスタは、最も若い要求経時または最低の優先度を示すために、0に設定される。
規則2:エージェントの経時が調停の勝者より小さいとき、そのエージェントの経時レジスタは1インクリメントされる。
規則3:エージェントの経時が調停の勝者より大きいとき、そのエージェントの経時レジスタは変わらない。
メモリ・ファブリックは、ファブリック内の共有される資源の公平な割り当てを許容するための論理、たとえば図1の資源割り当て論理148を含む。ある実施形態では、これらの共有資源はファブリックの内部データ・バッファ、アドレス・タグ記憶および要求追跡器スコアボードである。要求元エージェントのいずれについても専用の資源はないので、各エージェントについて当該ファブリックにおいてペンディングしている未決の要求の数を諸機構が制限してもよい。その一方、たとえばこれらの共有される資源において仮想エントリーを予約することによって、あるエージェントについてエントリーが予約されることを許容する。本ファブリックは、エージェント限界の指定により、いずれか一つの要求元エージェントがファブリックの利用可能な共有資源全部を使ってしまうことを防止できるようにする。
要求元エージェントから書き込み要求が受領されるとき、ファブリックは書き込みデータを要求元エージェントから内部データ・バッファに転送する。ひとたび新たなデータがファブリックの内部データ・バッファに書き込まれ、要求がエージェントの観点からはリタイアしたら、バッファ・エントリーは「フラッシュ・プール」にあると考えられる。コヒーレントなメモリ・トラフィックについては、ファブリックは要求元エージェントからスヌープされた要求を受領してもよい。スヌープされた要求は、メモリに対する読み出しまたは書き込み要求のいずれかであることができる。ファブリックが要求元エージェントからスヌープされた読み出しまたは書き込み要求を受領するとき、ファブリックはスヌープ要求を、該ファブリックに結合されているすべてのキャッシング・エージェントに送る。キャッシング・エージェントは、自分のキャッシュにおいてヒットするスヌープされた要求に応答し、当該キャッシング・エージェントによって修正されたキャッシュラインについて書き戻し(WB: write back)データを返す。WBデータは次いでファブリックの内部データ・バッファに書き込まれ、すると、メモリをターゲットとする書き込み要求のフラッシュ・プール内に含まれていると考えられる。フラッシュ・プール内のエントリー数がフラッシュ限界についてプログラムされている値に達すると、たとえば要求オペコード・フィールドのデコードによって判別される、新たな書き込み要求は、受容調停器においてブロックされる。
メモリ・ファブリックは、エージェント予約構成設定レジスタを使って、任意のエージェントについて予約が指定されることを許容する。これらの構成設定レジスタを使って、ユーザーは、各エージェントについて予約すべきメモリ・ファブリック中のエントリーの数を指定できる。あるエージェントについて予約されるエントリーは、そのエージェントに割り当てられる最初の諸エントリーであり、そのエージェントについてリタイアさせられる最後の諸エントリーである。あるエージェントの予約されたエントリーが割り当てられるのかリタイアされるのかを判定するために、各エージェントは要求カウンタを有しており、それが構成設定レジスタにおいて指定された値と比較される。要求カウンタ内の値が構成設定レジスタ内の値以下であれば、エージェントの予約されたエントリーは使用されている。
実施形態は、種々のメモリ技術をサポートする複数のSoCを横断した再利用を向上させるために複数のスケジューリング・アルゴリズムを組み込んでもよい。ファブリックのメモリ・スケジューラ論理は、高度なQoSスケジューリング・アルゴリズムを含み、たいていのメモリ技術に普通に見出されるパフォーマンス上のボトルネックを最小化するよう最適化もされる。たとえばDRAMのメモリを使う際に見られる典型的なパフォーマンス上のボトルネックは、低電力メモリ状態への出入り、読み出しから書き込みへの転換時間、同じDRAMバンクへの、ただし異なるメモリの行(row)への連続するメモリ・アクセスおよび異なるDRAMメモリ・ランク(rank)への連続するメモリ・アクセスを含む。共有メモリ・ファブリックのスケジューリング論理に複雑な順序外スケジューリング・アルゴリズムを含めることによって、ファブリックは、単純化された技術固有の制約条件ソルバーをファブリックに取り付けてメモリ技術または構成のための独特の要件をサポートすることによって、多くの異なるSoCに適応されることができる。
実施形態は、メモリ・コントローラに送られた要求の履歴に基づく、順序外の、ページを意識する(page aware)スケジューリングを提供する。ただし、ファブリックはメモリ・バンクの真の状態の直接的な知識をもたない。より具体的には、ファブリックのメモリ・スケジューラはスケジューラ・スコアボードを、メモリに送られた要求の履歴バッファとして使う。スケジューラ・スコアボードは要求の履歴を反映するために使われるので、要求についての状態情報をできるだけ長くスコアボード中に保持しようとする。メモリ・スケジューラは利用可能最古型待ち行列(oldest of available queue)と呼ばれる構造を使って、利用可能な最も古いスコアボード・エントリーを再割り当てされるべく決定する。
ファブリック・メモリ・スケジューラは、メモリ・コントローラに送られる要求をスケジューリングするよう協働する三つの状態機械を含む。
実施形態は、メモリがいつ、自己リフレッシュ状態とも称される低電力メモリ状態にはいったり出たりすることを許容されるかを制御しうる。自己リフレッシュ状態機械は、自己リフレッシュに入場するまたは退場するようメモリ・コントローラに指示をいつ送るかを制御することを受け持つ。ベストエフォート読み出し要求については、自己リフレッシュ状態機械は、すぐに自己リフレッシュ退場状態に遷移する。アイソクロナス読み出し要求については、メモリ・スケジューラは要求の締め切りをチェックして、その要求についての必要とされる読み出しレイテンシーを満たすために自己リフレッシュを退場するべきかどうかを決定する。アイソクロナス読み出し要求を満たすために自己リフレッシュを出ることが必要とされるかどうかを判定するために、メモリ・スケジューラは要求の締め切りをグローバル・タイマーの現在値から減算する。減算の結果がファブリック中の構成設定レジスタと突き合わせてチェックされる。該構成設定レジスタは、メモリ・コントローラが自己リフレッシュを抜け出てファブリックが要求エージェントにデータを返すために必要とされる最悪ケースのレイテンシーを反映するようプログラムされている、
書き込み要求については、ファブリックはフラッシュ・プール中のダーティーなエントリーの数を数え、その結果を、フラッシュ最高水準跡(high water mark)と称されるプログラム可能な閾値と突き合わせてチェックする。ダーティーなエントリーの数がフラッシュ最高水準跡の値を超える場合には、自己リフレッシュ状態機械は制御を、自己リフレッシュ退場状態に渡す。さらに、ファブリックは、要求が受容調停器によってブロックされる同じタグ・アドレスへの読み出し/書き込みの衝突があるかどうかをチェックする。ファブリックが、要求がアドレス衝突、エージェント限界によってブロックされていると判定するとき、あるいは要求追跡器またはメモリ・スケジューラ・スコアボードがいっぱいである場合、制御は自己リフレッシュ状態機械から自己リフレッシュ退場状態に移る。ある実施形態では、ファブリックはまた、自己リフレッシュへの入場を無効にするようプログラムされることのできる構成設定レジスタをも含んでいてもよい。
ある実施形態では、メモリ・スケジューラは構成設定可能な閾値を使って、書き込み要求のバーストをメモリ・コントローラに転送するのをいつ開始し、停止するかを指定する。メモリ・スケジューラは、メモリへの異なる型の書き込みデータ転送、たとえば本稿で書き込み要求の高優先度フラッシュおよびメモリへの書き込み要求のカジュアル・フラッシュともそれぞれ称される高優先度転送および低優先度転送を実行しうる。フラッシュ・プール内のエントリーの数が閾値(フラッシュ最高水準跡)に達するまたは閾値を超えるとき、メモリ・スケジューラは、メモリへの高優先度書き込みフラッシュをスケジューリングすることを開始し、メモリ・コントローラに書き込み要求を送ることを開始する。メモリ・スケジューラは、フラッシュ・プール内のエントリーの数が閾値(フラッシュ最低水準跡(low water mark))に達するまたは閾値未満になるまで、高優先度フラッシュ機構を使って書き込み要求をスケジューリングすることを続ける。
読み出し状態機械は、高優先度アイソクロナス読み出し要求、ベストエフォート読み出し要求および低優先度アイソクロナス読み出し要求の間で切り換えることを受け持つ。読み出し状態機械は、複数のモードの一つで動作するよう構成できる。ある実施形態では、二つのそのようなモードが提供される。第一のモードは、読み出し状態機械が高優先度アイソクロナス読み出しに最高の優先度を与え、ベストエフォート読み出し要求に中程度の優先度を与え、低優先度アイソクロナス読み出し要求に最低の優先度を与える固定優先度モードである。第二のモードは、高優先度アイソクロナス読み出しとベストエフォート読み出し要求との間の切り換えのために重みを使うことを可能にするものである。このモードでは、低優先度アイソクロナス要求は、もはや高優先度アイソクロナス読み出し要求やベストエフォート読み出し要求がないときにのみ承認される。
メモリ・スケジューラは、同じサービス・クラス・カテゴリー内のエージェントの間でメモリ帯域幅を配分するためのエージェント重みを使う。ある実施形態では、構成設定レジスタが、各要求元エージェントについて重み値を指定し、各エージェントについて重みカウンタが設けられる。エージェント重み構成設定レジスタは、受容調停器とメモリ・スケジューラとの間で共通である。
エージェント0 重み=4
エージェント1 重み=2
エージェント2 重み=1
という三つのエージェントについての初期重み値に基づくメモリ・スケジューリングの複数のクロック・サイクルにわたる例示的な動作を与えている。
メモリ・スケジューラは、メモリ・コントローラに送られる要求を並べ替え、可能な最大メモリ帯域幅のために要求のストリームを最適化しようとする。メモリ・スケジューラは、該スケジューラに、該スケジューラが取り付けられているメモリ・コントローラについての情報を与えるようプログラムされた構成設定レジスタを含む。ある実施形態では、これらの構成設定レジスタは、どのアドレス・ビットがメモリ・チャネル、バンク、ランクおよび行アドレスのために使用されるかについての情報を含む。構成設定レジスタにプログラムされたメモリ構成情報を使って、メモリ・スケジューラは、スケジューラ・スコアボード内の各要求のバンク、ランク、行およびチャネルを決定する。メモリ・スケジューラ・スコアボードはまた、各要求についてページ・ヒット状態ビットをも含む。これは、メモリにおける同じページへの諸要求が、異なるページへの要求を送る前にメモリ・コントローラに送られるよう、メモリ・コントローラに送られる要求を最適化するために使われる。
順序外の、ページを意識するスケジューリング・アルゴリズムに起因しての、要求の飢餓を防止するために、経時〔エイジ〕(age)の概念が、少なくとも部分的に要求をスケジューリングするために使われる。各サービス・クラス(COS: class of service)カテゴリーについて、メモリ・スケジューラは、順序外(OOO: our-of-order)スケジューリング限界を指定する構成設定レジスタを含んでいる。アイソクロナスCOSカテゴリーについてより短い最大読み出しレイテンシーを与えるために、OOOスケジューリング限界は典型的には、ベストエフォートCOSカテゴリーのOOOスケジューリング限界よりも小さな値に設定される。メモリ・スケジューラは、ベストエフォートおよびアイソクロナスCOSカテゴリーについてそのスコアボード内のすべてのペンディングの要求について要求ビット・ベクトルを生成する。これらの要求ビット・ベクトルは、いまだペンディング中である最も古い要求を判別する利用可能最古型待ち行列に送られる。利用可能最古型待ち行列は、最も古い要求を示すようビットが1に設定される、1ホットでエンコードされたビット・ベクトルを出力する。メモリ・スケジューラがそのページを意識するスケジューリング・アルゴリズムに基づいて諸要求をOOOで承認する際、メモリ・スケジューラは、各COSカテゴリーについて最も古いペンディングの要求でなかった要求がいくつ承認されたかを計数する。ひとたびカウンタが、あるCOSカテゴリーについて最悪ケースの受け容れ可能なレイテンシーについてなされるパフォーマンス解析によって決定されてもよいCOSカテゴリーについてのOOOスケジューリング限界に達したら、ページを意識するスケジューリング論理は、無効にされ、そのCOSカテゴリーについての最も古い要求がメモリ・スケジューラによって承認される。あるCOSカテゴリーについて最も古い要求が承認されるときは常に、そのCOSカテゴリーについてのカウンタは0にリセットされる。あるCOSカテゴリーについて、可能な最短のレイテンシーを与えるためには、OOOスケジューリング限界を0にプログラムすることができる。これは本質的には、そのCOSカテゴリーについてはページを意識するスケジューリング論理を無効にする。OOOスケジューリング限界があるCOSカテゴリーについて0に設定されるときは、メモリへの諸要求は、利用可能最古型待ち行列によって決定される、要求経時を使ってスケジューリングされてもよい。
ベストエフォート読み出し要求については、ファブリックは、スケジューラ・スコアボード中の締め切り記憶情報を利用して、ベストエフォート要求をスケジューリングするための最大レイテンシー値を指定するために使われる値を記憶する。スコアボード(scoreboard)は、エントリーのプールであり、スコアボード中に記憶された要求は、各要求についてやはりスコアボード中に記憶されている当該要求のサービス・クラス・カテゴリーによって決定される、ベストエフォートまたはアイソクロナス要求のいずれかでありうる。スコアボード中の要求がベストエフォート読み出し要求である場合は、最大許容可能レイテンシー、たとえば構成設定レジスタに記憶されている事前にプログラムされた値が、その要求をスケジューリングするために使われる。その要求がスコアボード中で行列待ちしており、ベストエフォート読み出し要求であるときは、最大レイテンシー値はグローバル・タイマーの現在の値に加えられる。ひとたびグローバル・タイマーがベストエフォート要求の最大レイテンシーについて記憶されている値に達したら、ページを意識するスケジューリングはその要求については無視され、その結果、その要求は、それが、たとえば利用可能最古型待ち行列により決定されるところによりペンディング中の最も古い要求となるときにスケジューリングされる。
要求追跡器は、要求元エージェントからファブリックの内部メモリ・バッファへのデータの転送を受け持つ。共有メモリ・ファブリックによって使用される書き込みプロトコルは、すべての書き込みデータを、要求順に、要求元エージェントからファブリック中の内部メモリ・バッファに転送させる。ある実施形態では、要求追跡器は、書き込み要求の順序付けを保存するために、エージェント毎に別個の連結リスト(linked list)を使う。要求追跡器は、要求元エージェントから内部データ・バッファにデータを転送するのに先立って、書き込み要求についてコヒーレンシー・チェックを実行してもよい。
書き込み要求調停器は、どのエージェントが書き込みデータを転送するかを選択するために、重み付けされた優先度に基づく公平な調停器を使う。書き込み要求調停器についての重みは、要求ついて機器中の構成設定レジスタにプログラムされる。書き込み調停器は、リセット時に、各エージェントに一意的な優先度を割り当てる。各サイクルで、調停器は、転送準備のできているデータをもつ要求候補のみを考慮し、最高の優先度もつ要求者に承認を与える。承認されたら、要求候補の重みが1だけデクリメントされる。承認された候補がすでに0の重みを有していた場合には、調停器は要求候補の優先度を次のように更新する。承認された候補の優先度は最低優先度(たとえば0)に設定される。承認された候補より低い優先度をもつすべての候補はその優先度をインクリメントし、承認された候補より高い優先度をもつすべての候補はその優先度を不変のままとする。
要求元エージェントは、順序通りの(in order)データ返しまたは順序外のデータ返しのいずれもサポートする。順序外データ返しをサポートするためには、順序IDフィールドが使用される。順序IDは、各要求と一緒にエージェントから送られ、要求追跡器スコアボードに記憶される。同じエージェントからの同じ順序IDをもつ複数の要求は要求順に返される。異なる順序IDをもつ同じエージェントからの要求についてのデータは、要求順に返される必要はない。ある実施形態では、要求追跡器は、読み出しデータが、要求元エージェントに返されるときに適正に順序付けられることを保証するために、連結リストを使う。
Claims (29)
- 半導体デバイスの複数の知的財産(IP)ブロックとメモリ・コントローラとの間に結合された、前記複数のIPブロックからメモリ要求を受け取るファブリック手段を有する装置であって、前記メモリ要求の少なくともいくつかは、そのメモリ要求の完了前の最大レイテンシーを示す関連付けられた締め切り値をもち、前記ファブリック手段は、少なくとも部分的には前記少なくともいくつかのメモリ要求の締め切り値に基づいて前記複数のメモリ要求の間で調停をする、
装置。 - 前記ファブリック手段が:
前記メモリ要求を受け取り、前記メモリ要求のうちの一つをメモリ・スケジューラ調停器手段に提供するために選択する受容調停器手段と;
複数のメモリ要求のうちから最初のメモリ要求を前記メモリ・コントローラに提供するために選択するよう前記受容調停器手段に結合されている前記メモリ・スケジューラ調停器手段とを有する、
請求項1記載の装置。 - 前記受容調停器手段は、前記複数のIPブロックのうちの第一の部分集合からの前記メモリ要求および前記複数のIPブロックのうちの第二の部分集合からの前記メモリ要求の第一の部分を受け取る第一の調停器と、前記複数のIPブロックのうちの前記第二の部分集合からの前記メモリ要求の第二の部分を受け取る第二の調停器とを含む、請求項2記載の装置。
- 前記複数のIPブロックの前記第二の部分集合は、レイテンシーに敏感なデバイスを含む、請求項3記載の装置。
- 前記第二の調停器はさらに、前記複数のIPブロックのうちの前記第二の部分集合から受け取られる前記メモリ要求の前記第二の部分の各メモリ要求とともに締め切り値を受け取る、請求項4記載の装置。
- 前記受容調停器手段は、前記第二の調停器からのメモリ要求が、前記第一の調停器からのメモリ要求より優先して選択される第一のモードと、前記第二の調停器からのN個のメモリ要求が選択されたあと前記第一の調停器からのM個のメモリ要求が選択され、MおよびNは構成設定レジスタから得られる、第二のモードとで動作するよう制御可能である、請求項2記載の装置。
- 前記受容調停器手段はさらに、前記第一の調停器および前記第二の調停器の出力に結合され、前記第一および第二の調停器の出力の間で調停をする第三の調停器を含む、請求項3記載の装置。
- 前記メモリ・スケジューラ調停器手段は、少なくとも部分的に前記メモリ要求のアドレス情報に基づいて、前記メモリ要求を順序外に並べ替える、請求項2記載の装置。
- 前記メモリ・スケジューラ調停器手段は、少なくとも部分的に前記ファブリックのスコアボードのエントリー中に記憶されているメモリ要求に関連付けられたページ・ヒット状態情報に基づいて、前記メモリ要求を順序外に並べ替える、請求項8記載の装置。
- 第一のIPブロックに結合されたインターフェース手段をさらに有しており、前記インターフェース手段は、前記第一のIPブロックの第一のメモリ要求についてのレイテンシー要求および前記ファブリックから前記第一のIPブロックに提供されるグローバル・タイマー値に基づいて前記締め切り値を生成する締め切り論理を含む、請求項1記載の装置。
- 前記締め切り値を前記第一のIPブロックから受け取り、前記第一のメモリ要求を、前記締め切り値およびグローバル・タイマーの値に基づいて、第一の調停器または第二の調停器に経路制御する締め切り検査器をさらに有する、請求項8記載の装置。
- 前記複数のIPブロックのそれぞれについて前記ファブリック手段の複数の共有資源において仮想エントリーを予約する資源割り当て手段をさらに有する、請求項1記載の装置。
- 前記資源割り当て論理がさらに、前記複数のIPブロックのそれぞれを前記複数の共有資源の所定数に制限する、請求項12記載の装置。
- 前記複数の共有資源は、それぞれ書き込み要求を記憶する複数のエントリーをもつフラッシュ・プールを含み、前記資源割り当て手段は前記複数のエントリーをフラッシュ限界に制限し、前記受容調停器手段は、前記フラッシュ・プールのサイズが前記フラッシュ限界に等しいときには、はいってくる書き込み要求をブロックする、請求項12記載の装置。
- システム・オン・チップ(SoC)の共有されるメモリ・ファブリックに結合された複数のデバイスのうちのあるデバイスからメモリ要求を受領する段階であって、前記メモリ要求は締め切り値に関連付けられている、段階と;
前記メモリ要求を、前記締め切り値がレイテンシー閾値より小さいことに応答して前記共有されるメモリ・ファブリックの第一の調停器に転送する段階と;
少なくとも部分的に前記複数のデバイスの経時値に基づいて前記メモリ要求を含む第一の複数のメモリ要求の間で前記第一の調停器内で調停を実行して、前記第一の複数のメモリ要求のうちの勝者メモリ要求を前記共有されるメモリ・ファブリックの最終調停器に転送する段階と;
前記最終調停器において、前記共有されるメモリ・ファブリックのスコアボード中に記憶するための最終メモリ要求を選択する最終調停を実行する段階とを含む、
方法。 - 前記締め切り値が前記レイテンシー閾値より大きいことに応答して前記メモリ要求を第二の調停器に転送する段階と;少なくとも部分的に前記複数のデバイスの経時値に基づいて前記メモリ要求を含む第二の複数のメモリ要求の間で前記第二の調停器内で調停を実行して前記第二の複数のメモリ要求のうちの勝者メモリ要求を前記最終調停器に転送する段階とを含む、請求項15記載の方法。
- 前記最終メモリ要求に関連付けられたデバイスの重み値が所定の値に等しいかどうかを判定し、もしそうであれば、前記重み値を構成設定された値に更新し、前記複数のデバイスのうちの他のデバイスについての経時値を更新することをさらに含む、請求項15記載の方法。
- 前記最終メモリ要求に関連付けられたデバイスの重み値が前記所定の値に等しくないときは、前記最終メモリ要求に関連付けられたデバイスの重み値をデクリメントすることをさらに含む、請求項17記載の方法。
- 前記共有されるメモリ・ファブリックのメモリ・スケジューラを介して、前記スコアボードからメモリ要求を、メモリ・コントローラへの送達のために選択する段階と;
選択されたメモリ要求に関連付けられたデバイスの重み値が所定の値に等しい場合、そのデバイスを前記メモリ・スケジューラ内でのさらなる調停からマスクする段階とをさらに含む、
請求項15記載の方法。 - 前記複数のデバイスの各デバイスの重み値が前記所定の値に等しいかどうかを判定する段階と、もし等しければ、前記複数のデバイスの各デバイスについて前記重み値を構成設定された値に更新する段階とをさらに含む、請求項19記載の方法。
- システム・オン・チップであって:
それぞれ独立に命令を実行する複数のコアと;
それぞれ独立にグラフィック演算を実行する複数のグラフィック・エンジンと;
第一のレイテンシー敏感デバイスに対応する第一のコンテンツ・レンダリング装置と;
第二のレイテンシー敏感デバイスに対応する第二のコンテンツ・レンダリング装置と;
前記複数のコア、前記複数のグラフィック・エンジン、前記第一および第二のコンテンツ・レンダリング装置およびメモリ・コントローラ手段に結合されたファブリック手段とを有しており、
前記ファブリック手段は前記複数のコア、前記複数のグラフィック・エンジンおよび前記第一および第二のコンテンツ・レンダリング装置からメモリ要求を受領し、前記第一および第二のコンテンツ・レンダリング装置からのメモリ要求は、前記メモリ要求の完了前の最大レイテンシーを示す関連付けられた締め切り値をもち、前記ファブリック手段は、前記第一および第二のコンテンツ・レンダリング装置からの前記メモリ要求の締め切り値に少なくとも部分的に基づいて前記メモリ要求の間で調停を行なう、
システム。 - 前記ファブリック手段はさらに:
前記メモリ要求を受け取り、前記メモリ要求のうちの一つをメモリ・スケジューラ調停器手段に提供するために選択する受容調停器手段と;
複数のメモリ要求のうちから最初のメモリ要求を前記メモリ・コントローラに提供するために選択するよう前記受容調停器手段に結合されている前記メモリ・スケジューラ調停器手段とを有する、
請求項21記載のシステム。 - 前記受容調停器手段は、前記複数のコアおよび前記複数のグラフィック・エンジンからの前記メモリ要求を受け取り、前記第一および第二のコンテンツ・レンダリング装置からの少なくともいくつかのメモリ要求を条件付きで受け取る第一の調停器と、前記第一および第二のコンテンツ・レンダリング装置からの前記メモリ要求を受け取る第二の調停器とを含んでいる、請求項22記載のシステム。
- 前記メモリ・スケジューラ調停器手段は、少なくとも部分的に前記メモリ要求のアドレス情報および前記ファブリックのスコアボードのエントリー中に記憶されているメモリ要求に関連付けられたページ・ヒット状態情報に基づいて、前記メモリ要求の少なくともいくつかを順序外に並べ替える、請求項22記載のシステム。
- 第一のメモリ要求に関連付けられた締め切り値を前記第一のコンテンツ・レンダリング装置から受け取り、前記第一のメモリ要求を、前記締め切り値およびグローバル・タイマーの値に基づいて、前記第一の調停器または前記第二の調停器に経路制御する締め切り検査器をさらに有する、請求項23記載のシステム。
- 請求項15ないし20のうちいずれか一項記載の方法を実行するよう構成された通信装置。
- 複数の命令を含む少なくとも一つのコンピュータ可読媒体であって、前記命令は、コンピューティング装置上で実行されるのに応答して、前記コンピューティング装置に、請求項15ないし20のうちいずれか一項記載の方法を実行させるものである、コンピュータ可読媒体。
- 請求項15ないし20のうちいずれか一項記載の方法を実行するよう構成された、命令を処理する装置。
- 請求項15ないし20のうちいずれか一項記載の方法を実行する手段を有する装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/743,795 | 2013-01-17 | ||
US13/743,795 US9535860B2 (en) | 2013-01-17 | 2013-01-17 | Arbitrating memory accesses via a shared memory fabric |
PCT/US2014/010275 WO2014113225A1 (en) | 2013-01-17 | 2014-01-06 | Arbitrating memory accesses via a shared memory fabric |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015511052A true JP2015511052A (ja) | 2015-04-13 |
JP5886470B2 JP5886470B2 (ja) | 2016-03-16 |
Family
ID=51166166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015501960A Active JP5886470B2 (ja) | 2013-01-17 | 2014-01-06 | 共有メモリ・ファブリックを介したメモリ・アクセスの調停 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9535860B2 (ja) |
EP (1) | EP2946301A4 (ja) |
JP (1) | JP5886470B2 (ja) |
KR (1) | KR101746313B1 (ja) |
CN (1) | CN104321758B (ja) |
TW (1) | TWI599887B (ja) |
WO (1) | WO2014113225A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017045452A (ja) * | 2015-08-27 | 2017-03-02 | 三星電子株式会社Samsung Electronics Co.,Ltd. | トランザクション基盤メモリシステム及びメモリモジュール並びにマスターコントローラ及びスレーブコントローラの動作方法 |
JP2020129205A (ja) * | 2019-02-07 | 2020-08-27 | キヤノン株式会社 | 制御装置および制御方法 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6175794B2 (ja) * | 2013-02-19 | 2017-08-09 | 株式会社リコー | データ処理装置およびデータ処理方法 |
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
US9298654B2 (en) | 2013-03-15 | 2016-03-29 | International Business Machines Corporation | Local bypass in memory computing |
US9811453B1 (en) * | 2013-07-31 | 2017-11-07 | Juniper Networks, Inc. | Methods and apparatus for a scheduler for memory access |
US20150058926A1 (en) * | 2013-08-23 | 2015-02-26 | International Business Machines Corporation | Shared Page Access Control Among Cloud Objects In A Distributed Cloud Environment |
JP6398309B2 (ja) * | 2013-11-27 | 2018-10-03 | 株式会社リコー | 情報処理装置、および情報処理方法 |
US9307057B2 (en) * | 2014-01-08 | 2016-04-05 | Cavium, Inc. | Methods and systems for resource management in a single instruction multiple data packet parsing cluster |
US20150199134A1 (en) * | 2014-01-10 | 2015-07-16 | Qualcomm Incorporated | System and method for resolving dram page conflicts based on memory access patterns |
US9229885B2 (en) * | 2014-05-21 | 2016-01-05 | Freescale Semiconductor, Inc. | Adaptive scheduling queue control for memory controllers based upon page hit distance determinations |
WO2016064397A1 (en) | 2014-10-23 | 2016-04-28 | Hewlett Packard Enterprise Development Lp | Admissions control of a device |
WO2016068942A1 (en) | 2014-10-30 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Encryption for transactions in a memory fabric |
WO2016068941A1 (en) | 2014-10-30 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Secure transactions in a memory fabric |
US20160162186A1 (en) * | 2014-12-09 | 2016-06-09 | San Disk Technologies Inc. | Re-Ordering NAND Flash Commands for Optimal Throughput and Providing a Specified Quality-of-Service |
US9785223B2 (en) * | 2014-12-25 | 2017-10-10 | Intel Corporation | Power management in an uncore fabric |
US9971711B2 (en) * | 2014-12-25 | 2018-05-15 | Intel Corporation | Tightly-coupled distributed uncore coherent fabric |
US20160188529A1 (en) * | 2014-12-25 | 2016-06-30 | Intel Corporation | Guaranteed quality of service in system-on-a-chip uncore fabric |
US10838883B2 (en) | 2015-08-31 | 2020-11-17 | Via Alliance Semiconductor Co., Ltd. | System and method of accelerating arbitration by approximating relative ages |
TWI575384B (zh) | 2015-09-04 | 2017-03-21 | 慧榮科技股份有限公司 | 通道控制裝置 |
US10185501B2 (en) | 2015-09-25 | 2019-01-22 | Intel Corporation | Method and apparatus for pinning memory pages in a multi-level system memory |
KR20170060300A (ko) * | 2015-11-24 | 2017-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10552936B2 (en) | 2016-03-02 | 2020-02-04 | Alibaba Group Holding Limited | Solid state storage local image processing system and method |
CN105808475B (zh) * | 2016-03-15 | 2018-09-07 | 杭州中天微系统有限公司 | 基于预测的低功耗隔离地址翻转请求发射装置 |
JP2017188072A (ja) * | 2016-04-05 | 2017-10-12 | ルネサスエレクトロニクス株式会社 | 半導体装置及びアクセス管理方法 |
CN107329913B (zh) * | 2016-04-28 | 2019-12-13 | 深圳市中兴微电子技术有限公司 | 一种访问控制的方法及装置 |
US10402120B2 (en) * | 2016-07-15 | 2019-09-03 | Advanced Micro Devices, Inc. | Memory controller arbiter with streak and read/write transaction management |
CN106294227B (zh) * | 2016-08-02 | 2019-12-03 | 芯启源(上海)半导体科技有限公司 | 仲裁设备、动态自适应仲裁方法及系统 |
US10310909B2 (en) | 2016-09-12 | 2019-06-04 | International Business Machines Corporation | Managing execution of computer operations with non-competing computer resource requirements |
US20190065243A1 (en) * | 2016-09-19 | 2019-02-28 | Advanced Micro Devices, Inc. | Dynamic memory power capping with criticality awareness |
US10372642B2 (en) * | 2016-09-29 | 2019-08-06 | Intel Corporation | System, apparatus and method for performing distributed arbitration |
US10146444B2 (en) | 2016-10-03 | 2018-12-04 | Samsung Electronics Co., Ltd. | Method for read latency bound in SSD storage systems |
KR20180063419A (ko) | 2016-12-01 | 2018-06-12 | 삼성전자주식회사 | 호스트와 양방향 통신을 수행하도록 구성된 스토리지 장치 및 그것의 동작 방법 |
US10152434B2 (en) * | 2016-12-20 | 2018-12-11 | Advanced Micro Devices, Inc. | Efficient arbitration for memory accesses |
US10505860B1 (en) * | 2017-05-30 | 2019-12-10 | Xilinx, Inc. | System and method for round robin scheduling |
US10861504B2 (en) | 2017-10-05 | 2020-12-08 | Advanced Micro Devices, Inc. | Dynamic control of multi-region fabric |
US10558591B2 (en) * | 2017-10-09 | 2020-02-11 | Advanced Micro Devices, Inc. | Method and apparatus for in-band priority adjustment forwarding in a communication fabric |
CN107908577B (zh) * | 2017-11-24 | 2021-03-26 | 中国航空工业集团公司西安航空计算技术研究所 | 一种具有仲裁功能的多通路访问存储控制器的电路 |
US10700954B2 (en) * | 2017-12-20 | 2020-06-30 | Advanced Micro Devices, Inc. | Scheduling memory bandwidth based on quality of service floorbackground |
US11196657B2 (en) | 2017-12-21 | 2021-12-07 | Advanced Micro Devices, Inc. | Self identifying interconnect topology |
US10649813B2 (en) * | 2018-03-29 | 2020-05-12 | Intel Corporation | Arbitration across shared memory pools of disaggregated memory devices |
US10476810B1 (en) * | 2018-04-26 | 2019-11-12 | Hewlett Packard Enterprise Development Lp | Network source arbitration |
US11520713B2 (en) | 2018-08-03 | 2022-12-06 | International Business Machines Corporation | Distributed bus arbiter for one-cycle channel selection using inter-channel ordering constraints in a disaggregated memory system |
CN109992205B (zh) | 2019-03-27 | 2020-06-02 | 无锡海斯凯尔医学技术有限公司 | 数据存储的装置、方法及可读存储介质 |
US11507522B2 (en) | 2019-12-06 | 2022-11-22 | Advanced Micro Devices, Inc. | Memory request priority assignment techniques for parallel processors |
US11223575B2 (en) | 2019-12-23 | 2022-01-11 | Advanced Micro Devices, Inc. | Re-purposing byte enables as clock enables for power savings |
TWI816032B (zh) * | 2020-04-10 | 2023-09-21 | 新唐科技股份有限公司 | 多核心處理器電路 |
CN111562888B (zh) * | 2020-05-14 | 2023-06-23 | 上海兆芯集成电路有限公司 | 存储器自更新的调度方法 |
US11625352B2 (en) * | 2020-06-12 | 2023-04-11 | Advanced Micro Devices, Inc. | DRAM command streak management |
US20230342314A1 (en) * | 2020-09-14 | 2023-10-26 | Google Llc | Memory Request Timeouts Using a Common Counter |
WO2022093165A1 (en) * | 2020-10-26 | 2022-05-05 | Google Llc | Modulating credit allocations in memory subsystems |
CN112597080B (zh) * | 2020-12-29 | 2022-10-21 | 联芸科技(杭州)股份有限公司 | 读请求控制装置及方法以及存储器控制器 |
CN113312323B (zh) * | 2021-06-03 | 2022-07-19 | 中国人民解放军国防科技大学 | 并行文件系统中降低访问延迟的io请求调度方法及系统 |
TWI774594B (zh) * | 2021-10-28 | 2022-08-11 | 瑞昱半導體股份有限公司 | 儲存裝置共享系統及儲存裝置共享方法 |
US20230325086A1 (en) * | 2022-04-07 | 2023-10-12 | Apple Inc. | Bandwidth-Aware Fabric Traffic Shaping |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003323335A (ja) * | 2002-05-01 | 2003-11-14 | Pfu Ltd | メモリ装置及びその制御方法 |
JP2005518606A (ja) * | 2002-02-21 | 2005-06-23 | インテル コーポレイション | メモリアクセスを制御する方法及び装置 |
JP2006163711A (ja) * | 2004-12-06 | 2006-06-22 | Renesas Technology Corp | 情報処理システム |
WO2006080371A2 (ja) * | 2005-01-31 | 2006-08-03 | Matsushita Electric Ind Co Ltd | アクセス調停装置、および調停可能条件検証装置 |
JP2011065359A (ja) * | 2009-09-16 | 2011-03-31 | Canon Inc | メモリシステム |
US20120331197A1 (en) * | 2011-06-24 | 2012-12-27 | Michael Andrew Campbell | Memory controller and method of operation of such a memory controller |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923859A (en) * | 1995-04-13 | 1999-07-13 | Compaq Computer Corporation | Dual arbiters for arbitrating access to a first and second bus in a computer system having bus masters on each bus |
US6078998A (en) * | 1997-02-11 | 2000-06-20 | Matsushita Electric Industrial Co., Ltd. | Real time scheduling of prioritized disk requests |
US6006303A (en) * | 1997-08-28 | 1999-12-21 | Oki Electric Industry Co., Inc. | Priority encoding and decoding for memory architecture |
US6266718B1 (en) * | 1998-10-14 | 2001-07-24 | Micron Technology, Inc. | Apparatus for controlling data transfer operations between a memory and devices having respective latencies |
US6941419B2 (en) * | 2000-05-24 | 2005-09-06 | Seagate Technology Llc | Method and apparatus for disc drive buffer segment management |
US6415369B1 (en) * | 2000-08-29 | 2002-07-02 | Agere Systems Guardian Corp. | Shared devices and memory using split bus and time slot interface bus arbitration |
CN101218570B (zh) * | 2005-06-30 | 2010-05-26 | 飞思卡尔半导体公司 | 在直接存储器存取任务请求之间进行仲裁的装置和方法 |
US7797467B2 (en) * | 2005-11-01 | 2010-09-14 | Lsi Corporation | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features |
US8151008B2 (en) | 2008-07-02 | 2012-04-03 | Cradle Ip, Llc | Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling |
US8032678B2 (en) | 2008-11-05 | 2011-10-04 | Mediatek Inc. | Shared resource arbitration |
US8190804B1 (en) * | 2009-03-12 | 2012-05-29 | Sonics, Inc. | Various methods and apparatus for a memory scheduler with an arbiter |
EP2284714A1 (en) * | 2009-08-14 | 2011-02-16 | Nxp B.V. | Memory controller with external refresh mechanism |
EP2296091A1 (en) | 2009-09-14 | 2011-03-16 | Nxp B.V. | Servicing low-latency requests ahead of best-effort requests |
US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
US8745335B2 (en) * | 2011-06-29 | 2014-06-03 | Synopsys, Inc. | Memory arbiter with latency guarantees for multiple ports |
-
2013
- 2013-01-17 US US13/743,795 patent/US9535860B2/en active Active
-
2014
- 2014-01-06 KR KR1020157016132A patent/KR101746313B1/ko active IP Right Grant
- 2014-01-06 JP JP2015501960A patent/JP5886470B2/ja active Active
- 2014-01-06 WO PCT/US2014/010275 patent/WO2014113225A1/en active Application Filing
- 2014-01-06 CN CN201480000991.1A patent/CN104321758B/zh active Active
- 2014-01-06 EP EP14740818.1A patent/EP2946301A4/en not_active Withdrawn
- 2014-01-13 TW TW103101132A patent/TWI599887B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005518606A (ja) * | 2002-02-21 | 2005-06-23 | インテル コーポレイション | メモリアクセスを制御する方法及び装置 |
JP2003323335A (ja) * | 2002-05-01 | 2003-11-14 | Pfu Ltd | メモリ装置及びその制御方法 |
JP2006163711A (ja) * | 2004-12-06 | 2006-06-22 | Renesas Technology Corp | 情報処理システム |
WO2006080371A2 (ja) * | 2005-01-31 | 2006-08-03 | Matsushita Electric Ind Co Ltd | アクセス調停装置、および調停可能条件検証装置 |
JP2011065359A (ja) * | 2009-09-16 | 2011-03-31 | Canon Inc | メモリシステム |
US20120331197A1 (en) * | 2011-06-24 | 2012-12-27 | Michael Andrew Campbell | Memory controller and method of operation of such a memory controller |
JP2014517431A (ja) * | 2011-06-24 | 2014-07-17 | エイアールエム リミテッド | メモリコントローラおよびかかるメモリコントローラの動作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017045452A (ja) * | 2015-08-27 | 2017-03-02 | 三星電子株式会社Samsung Electronics Co.,Ltd. | トランザクション基盤メモリシステム及びメモリモジュール並びにマスターコントローラ及びスレーブコントローラの動作方法 |
JP2020129205A (ja) * | 2019-02-07 | 2020-08-27 | キヤノン株式会社 | 制御装置および制御方法 |
JP7292044B2 (ja) | 2019-02-07 | 2023-06-16 | キヤノン株式会社 | 制御装置および制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140201471A1 (en) | 2014-07-17 |
US9535860B2 (en) | 2017-01-03 |
KR20150086514A (ko) | 2015-07-28 |
EP2946301A1 (en) | 2015-11-25 |
CN104321758B (zh) | 2017-12-26 |
TWI599887B (zh) | 2017-09-21 |
WO2014113225A1 (en) | 2014-07-24 |
KR101746313B1 (ko) | 2017-06-12 |
JP5886470B2 (ja) | 2016-03-16 |
TW201439771A (zh) | 2014-10-16 |
EP2946301A4 (en) | 2016-09-07 |
CN104321758A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5886470B2 (ja) | 共有メモリ・ファブリックを介したメモリ・アクセスの調停 | |
EP3238083B1 (en) | Mitigating traffic steering inefficiencies in distributed uncore fabric | |
EP3238080B1 (en) | Guaranteed quality of service in system-on-a-chip uncore fabric | |
TWI522792B (zh) | 用以產生要求之設備、用於記憶體要求之方法、及運算系統 | |
US9785223B2 (en) | Power management in an uncore fabric | |
US10133670B2 (en) | Low overhead hierarchical connectivity of cache coherent agents to a coherent fabric | |
KR101682980B1 (ko) | 시스템 온 칩에서의 대역폭 할당의 제어 | |
KR101814412B1 (ko) | 데이터 버퍼와 연관된 스누프 필터링의 제공 | |
US9971711B2 (en) | Tightly-coupled distributed uncore coherent fabric | |
EP3238085B1 (en) | Virtual legacy wire |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140922 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140922 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151210 |
|
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: 20160112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5886470 Country of ref document: JP 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 |