JP2018533787A - 統合メモリ管理ユニット(mmu)を使用したメモリ管理機能の提供 - Google Patents
統合メモリ管理ユニット(mmu)を使用したメモリ管理機能の提供 Download PDFInfo
- Publication number
- JP2018533787A JP2018533787A JP2018515040A JP2018515040A JP2018533787A JP 2018533787 A JP2018533787 A JP 2018533787A JP 2018515040 A JP2018515040 A JP 2018515040A JP 2018515040 A JP2018515040 A JP 2018515040A JP 2018533787 A JP2018533787 A JP 2018533787A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- output
- mmu
- matr
- conversion
- 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
- 230000006870 function Effects 0.000 title claims abstract description 11
- 239000000872 buffer Substances 0.000 claims abstract description 196
- 238000013519 translation Methods 0.000 claims abstract description 141
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000009466 transformation Effects 0.000 claims abstract description 12
- 238000006243 chemical reaction Methods 0.000 claims description 201
- 230000014616 translation Effects 0.000 claims description 135
- 238000004891 communication Methods 0.000 claims description 4
- 230000001413 cellular effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims 6
- 238000000844 transformation Methods 0.000 claims 1
- 238000007726 management method Methods 0.000 description 53
- 238000012545 processing Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 14
- 241001522296 Erithacus rubecula Species 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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
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)
- Memory System (AREA)
Abstract
Description
本出願は、2015年9月25日に出願された、米国特許出願第14/866,228号「PROVIDING MEMORY MANAGEMENT FUNCTIONALITY USING AGGREGATED MEMORY MANAGEMENT UNITS (MMUs)」に対する優先権を主張し、その内容は、その全体が参照により本明細書に組み込まれる。
12 トランザクションメモリアドレス変換要求(MATR)
14 書込み要求ペイロード(WRP)
16 MMU
18 仮想アドレス
20 物理アドレス
22 アクセス属性
24 QoS属性
26 アクセス属性
28 QoS属性
30 変換されたメモリアクセスフィールド(TMAF)
32 変換後書込みトランザクション
34 書込み属性
36 書込み(WR)トランザクションデータ
38 変換前読出しトランザクション
40 MATR
42 読出し要求ペイロード(RRP)
44 仮想アドレス
46 物理アドレス
48 アクセス属性
50 QoS属性
52 アクセス属性
54 QoS属性
56 TMAF
58 変換後読出しトランザクション
60 読出し属性
100 コンピュータ処理システム
102(0)〜102(3) モノリシックMMU
104(0)〜104(3) 入力データパス
106(0)〜106(3) 出力データパス
108(0)〜108(3) 変換キャッシュ
110(0)〜110(3) トランザクションバッファおよびスケジューラ
112(0)〜112(3) ハードウェアページテーブルウォーカー
114 メモリコントローラ相互接続
116 相互接続
118(0)〜118(X) メモリコントローラ
120 クライアント
122 クライアント
124 クライアント
126 クライアント
128 クライアント
130 クライアント
132 相互接続
200 コンピュータ処理システム
202 トラフィック生成クライアント
204 トラフィック生成クライアント
206 トラフィック生成クライアント
208 トラフィック生成クライアント
210 トラフィック生成クライアント
212(0)〜212(4) クライアントMMUユニット
214(0)〜214(4) ローカルトランザクションバッファおよびスケジューラ
216(0)〜216(4) ローカル変換キャッシュ
218 中央MMUユニット
220 中央変換キャッシュ
222 保留中のアドレス変換バッファ
224 ハードウェアページテーブルウォーカー
226(0)〜226(Y) メモリコントローラ
228 メモリコントローラ相互接続
230 相互接続
232 専用ポート
300 統合MMU
300' 統合MMU
300'' 統合MMU
302(0)〜302(N) 入力データパス
303(0)〜303(N) 入力データポート
304(0)〜304(N) 入力トランザクションバッファ
305(0)〜305(Q) 出力データパス
306(0)〜306(Q) 出力トランザクションバッファ
308(0)〜308(A) 入力トランザクションバッファスロット(「ITB SLOT」)
310(0)〜310(C) 入力トランザクションバッファスロット(「ITB SLOT」)
312(0)〜312(E) 入力トランザクションバッファスロット(「ITB SLOT」)
314(0)〜314(B) 出力トランザクションバッファスロット(「OTB SLOT」)
316(0)〜316(D) 出力トランザクションバッファスロット(「OTB SLOT」)
318(0)〜318(F) 出力トランザクションバッファスロット(「OTB SLOT」)
320(0)〜320(M) 出力データポート
322 トラフィック生成クライアント
324 トラフィック生成クライアント
326 トラフィック生成クライアント
328 トラフィック生成クライアント
330 トラフィック生成クライアント
332 相互接続
334 相互接続
336 MMU管理回路
338 トラフィック相互接続
340(0)〜340(Z) メモリコントローラ
342 変換後アービタ
360(M) 出力データポート
400(0)〜400(P) 変換キャッシュ
402(0)〜402(W) ハードウェアページテーブルウォーカー
404 入力変換スケジューラ
406 保留中のトランザクションアドレスバッファ(PTAB)
408 MMUマネージャ
410 出力変換スケジューラ
412(0)〜412(G) PTABスロット
414 共有レジスタ
416 共有制御ロジック
418 ハードウェアテーブルウォーカー(HTW)マルチプレクサ
420 専用出力ポート
500 変換前トランザクション
502 変換前トランザクション
504 矢印
506 矢印
507 MATR
508 MATR
509 要求ペイロード
510 要求ペイロード
510 変換前トランザクションペイロード
511 入力トランザクション
512 入力トランザクション
512' 変換後トランザクション
513 矢印
514 矢印
515 TMAF
520 矢印
522 矢印
524 矢印
526 矢印
528 矢印
530 矢印
531 矢印
532 矢印
534 矢印
536 矢印
537 矢印
540 矢印
1000 プロセッサベースのシステム
1002 中央処理装置(CPU)
1004 プロセッサ
1006 キャッシュメモリ
1008 CPU MMU
1010 システムバス
1012 メモリシステム
1014(0)〜1014(N) メモリユニット
1016 システムMMU(SMMU)
1018 メモリコントローラ
1020 入力デバイス
1022 出力デバイス
1024 ネットワークインターフェースデバイス
1026 ディスプレイコントローラ
1028 ネットワーク
1030 ディスプレイ
1032 ビデオプロセッサ
Claims (46)
- それぞれが、複数のメモリアドレス変換前読出しトランザクションおよび複数のメモリアドレス変換前書込みトランザクションを受信するように構成された複数の入力データパスに変換前トランザクションを搬送するように構成される複数の入力データポートであって、前記複数の入力データパスが、対応する複数の入力トランザクションバッファを備え、各入力トランザクションバッファが、前記複数の変換前トランザクションのうちのそれぞれの変換前トランザクションを記憶するように構成された複数の入力トランザクションバッファスロットを備える、複数の入力データポートと、
対応する複数の出力トランザクションバッファを備え、それぞれの出力トランザクションバッファが、複数の変換後トランザクションのうちのそれぞれの変換後トランザクションを記憶するように構成された複数の出力トランザクションバッファスロットを備える、複数の出力データパスと、
前記複数の入力トランザクションバッファのうちの1つの入力トランザクションバッファから変換前トランザクションのメモリアドレス変換要求(MATR)を検索することと、
変換されたメモリアドレスフィールド(TMAF)を生成するために、前記MATRに基づいてメモリアドレス変換動作を実行することと、
前記複数の出力トランザクションバッファのうちの1つの出力トランザクションバッファに、変換後トランザクションとして前記TMAFおよび変換前トランザクションペイロードを提供することと
を行うように構成されたMMU管理回路と
を備え、
前記複数の出力データパスのうちの各出力データパスが、対応する複数の出力データポートを通じて前記変換後トランザクションを出力するように構成される、統合メモリ管理ユニット(MMU)。 - 前記複数の入力データパスの各々を独立してクロックするように構成された、請求項1に記載の統合MMU。
- 前記MMU管理回路が、前記複数の入力データパスおよび前記複数の出力データパスにメモリ管理機能を提供するために、前記複数の入力データパスおよび前記複数の出力データパスの近位にある共有レジスタおよび共有制御ロジックのうちの1つまたは複数をさらに備える、請求項1に記載の統合MMU。
- 前記複数の出力データパスのうちの1つの出力データパスが、前記複数の入力データパスのすべてによる前記複数の出力トランザクションバッファスロットの残りの部分へのアクセスを可能にしながら、前記複数の入力データパスのうちの1つまたは複数の入力データパスを排他的に使用するために、前記複数の出力トランザクションバッファスロットのうちの1つまたは複数の出力トランザクションバッファスロットを予約するように構成される、請求項1に記載の統合MMU。
- 前記複数の出力データパスのうちの1つの出力データパスが、任意のQoS優先度に関連付けられるMATRによる前記複数の出力トランザクションバッファスロットの残りの部分へのアクセスを可能にしながら、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために、前記複数の出力トランザクションバッファスロットのうちの1つまたは複数の出力トランザクションバッファスロットを予約するように構成される、請求項1に記載の統合MMU。
- 前記複数の出力データポートのうちの1つの出力データポートに出力されるべき前記複数の出力データパスの複数のサブセットから1つまたは複数の変換後トランザクションを受信することと、
変換後サービス品質(QoS)アービトレーションに基づいて、前記1つまたは複数の変換後トランザクションのうちの1つの変換後トランザクションを選択することと、
前記選択された変換後トランザクションの前記TMAFを、出力するために前記出力データポートに提供することと
を行うように構成された変換後アービタをさらに備える、請求項1に記載の統合MMU。 - 前記MMU管理回路が、
前記複数の入力データパスおよび前記複数の出力データパスの近位にあり、仮想アドレスの複数のメモリアドレス変換を物理アドレスにキャッシュするように構成された1つまたは複数の変換キャッシュと、
前記複数の入力データパスおよび前記複数の出力データパスの近位にあり、それぞれがMATRのためのTMAFを生成するように構成された1つまたは複数のハードウェアページテーブルウォーカーと
を備え、
前記MMU管理回路が、前記1つまたは複数の変換キャッシュのうちの1つまたは複数および前記1つまたは複数のハードウェアページテーブルウォーカーのうちの1つまたは複数を使用して前記TMAFを生成するために、前記MATRに基づいて前記メモリアドレス変換動作を実行するように構成される、請求項1に記載の統合MMU。 - 前記1つまたは複数のハードウェアページテーブルウォーカーが、それぞれ、前記複数の出力データポートのうちの1つの出力データポートを使用して前記MATRのための前記TMAFを生成するように構成される、請求項7に記載の統合MMU。
- 前記1つまたは複数のハードウェアページテーブルウォーカーが、専用出力ポートを使用して前記MATRのための前記TMAFを生成するように構成される、請求項7に記載の統合MMU。
- 前記MMU管理回路が、MATRおよび対応するTMAFを記憶するための複数のPTABスロットを備える保留中のトランザクションアドレスバッファ(PTAB)をさらに備え、
前記PTABが、
前記MMU管理回路によって前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから検索された前記変換前トランザクションの前記MATRを保留中の変換として記憶することと、
前記MMU管理回路によって生成された前記保留中の変換に対応する前記TMAFを受信することと、
前記保留中の変換のための前記TMAFを記憶することと、
前記TMAFを前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに提供するために、前記保留中の変換をデキューすることと
を行うように構成される、請求項7に記載の統合MMU。 - 前記PTABが、前記複数の入力データパスのすべてによる前記複数のPTABスロットの残りの部分へのアクセスを可能にしながら、前記複数の入力データパスのうちの1つまたは複数の入力データパスを排他的に使用するために、前記複数のPTABスロットのうちの1つまたは複数のPTABスロットを予約するように構成される、請求項10に記載の統合MMU。
- 前記PTABが、任意のQoS優先度に関連付けられるMATRによる前記複数のPTABスロットの残りの部分へのアクセスを可能にしながら、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために、前記複数のPTABスロットのうちの1つまたは複数のPTABスロットを予約するように構成される、請求項10に記載の統合MMU。
- 前記MMU管理回路が、
入力トランザクションQoSアービトレーションに基づいて、前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから前記変換前トランザクションの前記MATRを選択することと、
前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングすることと
を行うように構成されることによって、前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから前記変換前トランザクションの前記MATRを検索するように構成された入力変換スケジューラをさらに備え、
前記PTABが、前記入力変換スケジューラによってスケジューリングされた前記選択されたMATRを記憶することによって前記MATRを記憶するように構成される、請求項10に記載の統合MMU。 - 前記入力変換スケジューラが、前記選択されたMATRの前記変換前トランザクションの前記入力トランザクションバッファに対応する前記出力トランザクションバッファが、利用可能な出力トランザクションバッファスロットを含むと決定することによって、前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするように構成される、請求項13に記載の統合MMU。
- 前記選択されたMATRが、前記複数の入力データパスのうちの1つまたは複数を排他的に使用するために予約された前記複数のPTABスロットのうちの1つまたは複数に記憶され得るという決定に応答して、前記入力変換スケジューラが、前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするように構成される、請求項13に記載の統合MMU。
- 前記選択されたMATRが、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために予約された前記複数のPTABスロットのうちの1つまたは複数に記憶され得るという決定に応答して、前記入力変換スケジューラが、前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするように構成される、請求項13に記載の統合MMU。
- 前記MMU管理回路が、
TMAFが記憶されている前記PTAB内の1つまたは複数の保留中の変換の中から保留中の変換を選択することと、
出力トランザクションQoSアービトレーションに基づいて、前記TMAFを、前記複数の出力トランザクションバッファのうちの1つの出力トランザクションバッファに変換後トランザクションとして移動されるようにスケジューリングすることと
を行うように構成されることによって、前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに、前記変換後トランザクションとして前記TMAFおよび前記変換前トランザクションペイロードを提供するように構成された出力変換スケジューラをさらに備え、
前記PTABが、前記スケジューリングに基づいて、前記TMAFを前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに提供するために、前記保留中の変換をデキューするように構成される、請求項10に記載の統合MMU。 - 前記出力変換スケジューラが、前記保留中の変換の前記MATRが受信された前記入力トランザクションバッファに対応する前記出力トランザクションバッファが、利用可能な出力トランザクションバッファスロットと、前記保留中の変換の相対優先度とを含むという決定に基づいて、前記TMAFが前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに移動されるようにスケジューリングするように構成される、請求項17に記載の統合MMU。
- 前記出力変換スケジューラが、前記変換後トランザクションの相対優先度を上げるようにさらに構成される、請求項17に記載の統合MMU。
- 前記MMU管理回路が、
TMAFが記憶されていない1つまたは複数の保留中のMATRの中から、前記1つまたは複数の保留中のMATRの間のQoSアービトレーションに基づいて、前記PTAB内の保留中のMATRを選択することと、
前記選択されたMATRに対応するキャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在するかどうかを決定することと、
前記キャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在するという決定に応答して、前記PTABによって前記選択されたMATRのために記憶されるべき前記TMAFの一部として、前記キャッシュされたメモリアドレス変換結果を提供することと、
前記キャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在しないという決定に応答して、
前記選択された保留中のMATRのメモリアドレス変換結果を生成するために、前記1つまたは複数のハードウェアページテーブルウォーカーのうちの1つのハードウェアページテーブルウォーカーを割り当てることと、
前記ハードウェアページテーブルウォーカーから前記メモリアドレス変換結果を受信することと、
前記PTABによって前記選択された保留中のMATRのために記憶されるべき前記受信されたメモリアドレス変換結果をTMAFとして提供することと、
前記受信されたメモリアドレス変換結果を前記1つまたは複数の変換キャッシュに提供することと
を行うように構成されることによって、前記MATRに基づいて前記メモリアドレス変換動作を実行するように構成されたMMUマネージャをさらに備える、請求項10に記載の統合MMU。 - 前記MMUマネージャが、ハードウェアページテーブルウォーカーQoSアービトレーションに基づいて、前記選択された保留中のMATRのメモリアドレス変換結果を生成するために、前記1つまたは複数のハードウェアページテーブルウォーカーのうちの前記ハードウェアページテーブルウォーカーを割り当てるように構成される、請求項20に記載の統合MMU。
- 集積回路(IC)に統合される、請求項1に記載の統合MMU。
- セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、携帯電話、セルラーフォン、スマートフォン、タブレット、ファブレット、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤおよび自動車からなるグループから選択されたデバイスに統合される、請求項1に記載の統合MMU。
- 複数の入力データパスに対応する複数の入力トランザクションバッファのうちの1つの入力トランザクションバッファからメモリアドレス変換要求(MATR)を検索するための手段と、
変換されたメモリアドレスフィールド(TMAF)を生成するために、前記MATRに基づいてメモリアドレス変換動作を実行するための手段と、
前記複数の入力データパスに対応する複数の出力トランザクションバッファのうちの1つの出力トランザクションバッファに、変換後トランザクションとして前記TMAFおよび変換前トランザクションペイロードを提供するための手段と、
複数の出力データパスのうちの1つの出力データパスを介して、前記変換後トランザクションを複数の出力データポートのうちの1つの出力データポートに出力するための手段と
を備える、統合メモリ管理ユニット(MMU)。 - 前記TMAFを生成するために前記MATRに基づいて前記メモリアドレス変換動作を実行するための前記手段が、前記複数の入力データパスおよび前記複数の出力データパスの近位にある1つまたは複数の変換キャッシュと、前記複数の入力データパスおよび前記複数の出力データパスの近位にある1つまたは複数のハードウェアページテーブルウォーカーとを備える、請求項24に記載の統合MMU。
- メモリ管理を提供するための方法であって、
統合メモリ管理ユニット(MMU)によって、複数の入力データパスに対応する複数の入力トランザクションバッファのうちの1つの入力トランザクションバッファから変換前トランザクションのメモリアドレス変換要求(MATR)を検索するステップと、
変換されたメモリアドレスフィールド(TMAF)を生成するために、前記MATRに基づいてメモリアドレス変換動作を実行するステップと、
前記複数の入力データパスに対応する複数の出力トランザクションバッファのうちの1つの出力トランザクションバッファに、変換後トランザクションとして前記TMAFおよび変換前トランザクションペイロードを提供するステップと、
複数の出力データパスのうちの1つの出力データパスを介して、複数の出力データポートのうちの1つの出力データポートに前記変換後トランザクションを出力するステップと
を備える、方法。 - 前記複数の入力データパスの各々が独立してクロックされる、請求項26に記載の方法。
- 前記統合MMUが、前記複数の入力データパスおよび前記複数の出力データパスにメモリ管理機能を提供するために、前記複数の入力データパスおよび前記複数の出力データパスの近位にある共有レジスタおよび共有制御ロジックのうちの1つまたは複数を備える、請求項26に記載の方法。
- 前記複数の出力データパスのうちの1つの出力データパスが、前記複数の入力データパスのすべてによる複数の出力トランザクションバッファスロットの残りの部分へのアクセスを可能にしながら、前記複数の入力データパスのうちの1つまたは複数の入力データパスを排他的に使用するために前記複数の出力トランザクションバッファスロットのうちの1つまたは前記複数の出力トランザクションバッファスロットを予約するように構成される、請求項26に記載の方法。
- 前記複数の出力データパスのうちの1つの出力データパスが、任意のQoS優先度に関連付けられるMATRによる前記複数の出力トランザクションバッファスロットの残りの部分へのアクセスを可能にしながら、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために、複数の出力トランザクションバッファスロットのうちの1つまたは複数の出力トランザクションバッファスロットを予約するように構成される、請求項26に記載の方法。
- 前記統合MMUの変換後アービタによって、前記複数の出力データポートのうちの1つの出力データポートに出力されるべき前記複数の出力データパスの複数のサブセットから1つまたは複数の変換後トランザクションを受信するステップと、
前記変換後アービタによって、変換後サービス品質(QoS)アービトレーションに基づいて、前記1つまたは複数の変換後トランザクションのうちの1つの変換後トランザクションを選択するステップと、
前記変換後アービタによって、前記選択された変換後トランザクションを、出力するために前記出力データポートに提供するステップと
をさらに備える、請求項26に記載の方法。 - 前記TMAFを生成するために前記MATRに基づいて前記メモリアドレス変換動作を実行するステップが、前記複数の入力データパスおよび前記複数の出力データパスの近位にある1つまたは複数の変換キャッシュと、前記複数の入力データパスおよび前記複数の出力データパスの近位にある1つまたは複数のハードウェアページテーブルウォーカーとを使用して前記メモリアドレス変換動作を実行するステップを備える、請求項26に記載の方法。
- 前記1つまたは複数のハードウェアページテーブルウォーカーが、前記複数の出力データポートのうちの1つの出力データポートを使用して前記MATRのための前記TMAFを生成する、請求項32に記載の方法。
- 前記1つまたは複数のハードウェアページテーブルウォーカーが、専用出力ポートを使用して前記MATRのための前記TMAFを生成する、請求項32に記載の方法。
- 前記統合MMUの保留中のトランザクションアドレスバッファ(PTAB)によって、MMUによって前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから検索された前記変換前トランザクションの前記MATRを保留中の変換として記憶するステップと、
前記PTABによって、MMU管理回路によって生成された前記保留中の変換に対応する前記TMAFを受信するステップと、
前記PTABによって、前記保留中の変換のための前記TMAFを記憶するステップと、
前記PTABによって、前記TMAFを前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに提供するために、前記保留中の変換をデキューするステップと
をさらに備える、請求項32に記載の方法。 - 前記PTABの複数のPTABスロットのうちの1つまたは複数のPTABスロットが、前記複数のPTABスロットの残りの部分が前記複数の入力データパスのすべてによってアクセス可能でありながら、前記複数の入力データパスのうちの1つまたは複数の入力データパスを排他的に使用するために予約される、請求項35に記載の方法。
- 前記PTABの複数のPTABスロットのうちの1つまたは複数のPTABスロットが、前記複数のPTABスロットの残りの部分が任意のQoS優先度に関連付けられるMATRによってアクセス可能でありながら、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために予約される、請求項35に記載の方法。
- 前記変換前トランザクションの前記MATRを前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから検索するステップが、
前記統合MMUの入力変換スケジューラによって、入力トランザクションQoSアービトレーションに基づいて、前記複数の入力トランザクションバッファのうちの前記入力トランザクションバッファから前記変換前トランザクションの前記MATRを選択するステップと、
前記入力変換スケジューラによって、前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするステップと
を備え、
前記MATRを記憶するステップが、前記入力変換スケジューラによってスケジューリングされた前記選択されたMATRを記憶するステップを備える、請求項35に記載の方法。 - 前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするステップが、前記選択されたMATRの前記変換前トランザクションの前記入力トランザクションバッファに対応する前記出力トランザクションバッファが、利用可能な出力トランザクションバッファスロットを含むと決定するステップを備える、請求項38に記載の方法。
- 前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするステップが、前記選択されたMATRが前記複数の入力データパスのうちの1つまたは複数を排他的に使用するために予約された前記複数のPTABスロットのうちの前記1つまたは複数に記憶され得ると決定するステップを備える、請求項38に記載の方法。
- 前記選択されたMATRが前記PTABによって記憶されるようにスケジューリングするステップが、前記選択されたMATRが、1つまたは複数の指定されたQoS優先度に関連付けられるMATRを排他的に使用するために予約された前記複数のPTABスロットのうちの前記1つまたは複数に記憶され得ると決定するステップを備える、請求項38に記載の方法。
- 前記TMAFおよび前記変換前トランザクションペイロードを、前記変換後トランザクションとして前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに提供するステップが、
前記統合MMUの出力変換スケジューラによって、TMAFが記憶されている前記PTAB内の1つまたは複数の保留中の変換の中から保留中の変換を選択するステップと、
前記出力変換スケジューラによって、出力トランザクションQoSアービトレーションに基づいて、前記TMAFを、前記複数の出力トランザクションバッファのうちの1つの出力トランザクションバッファに変換後トランザクションとして移動されるようにスケジューリングするステップと
を備え、
前記TMAFを前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに提供するために、前記保留中のTMAFをデキューするステップが、前記スケジューリングに基づく、請求項35に記載の方法。 - 前記保留中のTMAFが前記複数の出力トランザクションバッファのうちの前記出力トランザクションバッファに移動されるようにスケジューリングするステップが、前記保留中の変換の前記MATRが受信された前記入力トランザクションバッファに対応する前記出力トランザクションバッファが、利用可能な出力トランザクションバッファスロットと、前記保留中の変換の相対優先度とを含むという決定に基づく、請求項42に記載の方法。
- 前記出力変換スケジューラによって、前記変換後トランザクションの相対優先度を上げるステップをさらに備える、請求項42に記載の方法。
- 前記MATRに基づいて前記メモリアドレス変換動作を実行するステップが、
前記統合MMUのMMUマネージャによって、TMAFが記憶されていない1つまたは複数の保留中のMATRの中から、前記1つまたは複数の保留中のMATRの間のQoSアービトレーションに基づいて、前記PTAB内の保留中のMATRを選択するステップと、
前記MMUマネージャによって、前記選択された保留中のMATRに対応するキャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在するかどうかを決定するステップと、
前記キャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在するという決定に応答して、前記MMUマネージャによって、前記PTABによって前記選択された保留中のMATRのために記憶されるべき前記TMAFの一部として、前記キャッシュされたメモリアドレス変換結果を提供するステップと、
前記キャッシュされたメモリアドレス変換結果が前記1つまたは複数の変換キャッシュ内に存在しないという決定に応答して、
前記MMUマネージャによって、前記選択された保留中のMATRのメモリアドレス変換結果を生成するために、前記1つまたは複数のハードウェアページテーブルウォーカーのうちの1つのハードウェアページテーブルウォーカーを割り当てるステップと、
前記MMUマネージャによって、前記ハードウェアページテーブルウォーカーから前記メモリアドレス変換結果を受信するステップと、
前記MMUマネージャによって、前記PTABによって前記選択された保留中のMATRのために記憶されるべき前記受信されたメモリアドレス変換結果をTMAFとして提供するステップと、
前記受信されたメモリアドレス変換結果を前記1つまたは複数の変換キャッシュに提供するステップと
を備える、請求項35に記載の方法。 - 前記選択されたMATRの前記メモリアドレス変換結果を生成するために、前記1つまたは複数のハードウェアページテーブルウォーカーのうちの前記ハードウェアページテーブルウォーカーを割り当てるステップが、ハードウェアページテーブルウォーカーQoSアービトレーションに基づく、請求項45に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/866,228 US10019380B2 (en) | 2015-09-25 | 2015-09-25 | Providing memory management functionality using aggregated memory management units (MMUs) |
US14/866,228 | 2015-09-25 | ||
PCT/US2016/051254 WO2017053112A1 (en) | 2015-09-25 | 2016-09-12 | Providing memory management functionality using aggregated memory management units (mmus) |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6408747B1 JP6408747B1 (ja) | 2018-10-17 |
JP2018533787A true JP2018533787A (ja) | 2018-11-15 |
Family
ID=56979683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018515040A Expired - Fee Related JP6408747B1 (ja) | 2015-09-25 | 2016-09-12 | 統合メモリ管理ユニット(mmu)を使用したメモリ管理機能の提供 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10019380B2 (ja) |
EP (1) | EP3353663B1 (ja) |
JP (1) | JP6408747B1 (ja) |
KR (1) | KR20180054836A (ja) |
CN (1) | CN108351838B (ja) |
BR (1) | BR112018006070A2 (ja) |
CA (1) | CA2998337A1 (ja) |
TW (1) | TW201723854A (ja) |
WO (1) | WO2017053112A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10007619B2 (en) * | 2015-05-29 | 2018-06-26 | Qualcomm Incorporated | Multi-threaded translation and transaction re-ordering for memory management units |
US20190087351A1 (en) * | 2017-09-20 | 2019-03-21 | Qualcomm Incorporated | Transaction dispatcher for memory management unit |
WO2020040531A1 (ko) | 2018-08-20 | 2020-02-27 | 한양대학교 산학협력단 | 무선통신 시스템에서 단말 정보 수집장치의 상향링크 간섭제어 방법 및 장치 |
US11656905B2 (en) * | 2019-08-09 | 2023-05-23 | Arm Limited | Delegation control based on program privilege level and page privilege level |
CN115113828B (zh) * | 2022-08-26 | 2022-12-02 | 瀚博半导体(上海)有限公司 | 存储器管理系统、方法、人工智能芯片、电子设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08328994A (ja) * | 1995-05-30 | 1996-12-13 | Toshiba Corp | 情報処理装置 |
JP2000163316A (ja) * | 1998-11-27 | 2000-06-16 | Hitachi Ltd | 計算機システム |
JP2003157199A (ja) * | 2001-06-29 | 2003-05-30 | Fujitsu Ltd | データ要求の宛先ノードアドレスを決定する方法およびマルチ・ノードコンピュータシステム |
US6625157B2 (en) * | 1999-05-20 | 2003-09-23 | Advanced Micro Devices, Inc. | Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol |
JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
US20100332789A1 (en) * | 2009-06-30 | 2010-12-30 | Sugumar Rabin A | Network Use of Virtual Addresses Without Pinning or Registration |
WO2015085247A1 (en) * | 2013-12-05 | 2015-06-11 | Qualcomm Incorporated | System and method for providing client-side address translation in a memory management system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7673116B2 (en) | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
US8301865B2 (en) | 2009-06-29 | 2012-10-30 | Oracle America, Inc. | System and method to manage address translation requests |
US9405700B2 (en) | 2010-11-04 | 2016-08-02 | Sonics, Inc. | Methods and apparatus for virtualization in an integrated circuit |
GB2495533A (en) | 2011-10-13 | 2013-04-17 | St Microelectronics Res & Dev | Distributing buffer data evenly across different memory devices |
US20130179642A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Non-Allocating Memory Access with Physical Address |
US9378150B2 (en) | 2012-02-28 | 2016-06-28 | Apple Inc. | Memory management unit with prefetch ability |
US9009446B2 (en) | 2012-08-02 | 2015-04-14 | Oracle International Corporation | Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with electrical interconnect |
US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
-
2015
- 2015-09-25 US US14/866,228 patent/US10019380B2/en active Active
-
2016
- 2016-08-30 TW TW105127828A patent/TW201723854A/zh unknown
- 2016-09-12 EP EP16770162.2A patent/EP3353663B1/en not_active Not-in-force
- 2016-09-12 BR BR112018006070A patent/BR112018006070A2/pt not_active Application Discontinuation
- 2016-09-12 WO PCT/US2016/051254 patent/WO2017053112A1/en active Application Filing
- 2016-09-12 CA CA2998337A patent/CA2998337A1/en not_active Abandoned
- 2016-09-12 CN CN201680055150.XA patent/CN108351838B/zh not_active Expired - Fee Related
- 2016-09-12 KR KR1020187011644A patent/KR20180054836A/ko active IP Right Grant
- 2016-09-12 JP JP2018515040A patent/JP6408747B1/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08328994A (ja) * | 1995-05-30 | 1996-12-13 | Toshiba Corp | 情報処理装置 |
JP2000163316A (ja) * | 1998-11-27 | 2000-06-16 | Hitachi Ltd | 計算機システム |
US6625157B2 (en) * | 1999-05-20 | 2003-09-23 | Advanced Micro Devices, Inc. | Apparatus and method in a network switch port for transferring data between buffer memory and transmit and receive state machines according to a prescribed interface protocol |
JP2003157199A (ja) * | 2001-06-29 | 2003-05-30 | Fujitsu Ltd | データ要求の宛先ノードアドレスを決定する方法およびマルチ・ノードコンピュータシステム |
JP2010066914A (ja) * | 2008-09-09 | 2010-03-25 | Toshiba Corp | 統合メモリ管理装置及びメモリ管理方法 |
US20100332789A1 (en) * | 2009-06-30 | 2010-12-30 | Sugumar Rabin A | Network Use of Virtual Addresses Without Pinning or Registration |
WO2015085247A1 (en) * | 2013-12-05 | 2015-06-11 | Qualcomm Incorporated | System and method for providing client-side address translation in a memory management system |
Also Published As
Publication number | Publication date |
---|---|
CA2998337A1 (en) | 2017-03-30 |
EP3353663A1 (en) | 2018-08-01 |
BR112018006070A2 (pt) | 2018-10-09 |
US20170091116A1 (en) | 2017-03-30 |
EP3353663B1 (en) | 2019-08-21 |
KR20180054836A (ko) | 2018-05-24 |
CN108351838B (zh) | 2019-08-30 |
CN108351838A (zh) | 2018-07-31 |
US10019380B2 (en) | 2018-07-10 |
TW201723854A (zh) | 2017-07-01 |
WO2017053112A1 (en) | 2017-03-30 |
JP6408747B1 (ja) | 2018-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6408747B1 (ja) | 統合メモリ管理ユニット(mmu)を使用したメモリ管理機能の提供 | |
JP7116047B2 (ja) | プロセッサベースシステムの異種メモリシステムの柔軟な管理を実現するためのメモリコントローラおよび方法 | |
US10353747B2 (en) | Shared memory controller and method of using same | |
US8190801B2 (en) | Interconnect logic for a data processing apparatus | |
JP5894171B2 (ja) | バスデバイスのヘルス情報に基づく通信バス上のバストランザクションのアービトレーションおよび関連する電力管理 | |
CN109565476B (zh) | 使用共享全局存储器储备进行队列保护 | |
US8817619B2 (en) | Network system with quality of service management and associated management method | |
EP3224728B1 (en) | Providing shared cache memory allocation control in shared cache memory systems | |
CN106612236B (zh) | 众核网络处理器及其微引擎的报文调度方法、系统 | |
US11144473B2 (en) | Quality of service for input/output memory management unit | |
WO2019045954A1 (en) | REALIZING QUALIFIED SERVICE QUALITY CONTROL (QOS) USING SEGMENTED RESOURCE INTERPOLATION IN PROCESSOR-BASED SYSTEMS | |
EP2625619B1 (en) | Arbitrating stream transactions based on information related to the stream transaction(s) | |
KR101847905B1 (ko) | 공유 캐시 메모리 시스템들에 대한 대략적인 사용량 측정들의 생성 | |
TW202349215A (zh) | 可重構資料處理器中的網路的仲裁 | |
WO2006134550A2 (en) | Memory controller | |
CN109144722B (zh) | 一种多应用高效共用fpga资源的管理系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180816 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180816 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20180816 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180822 |
|
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: 20180827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6408747 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |