JP3809442B2 - メモリ要求の動的並べ替え - Google Patents
メモリ要求の動的並べ替え Download PDFInfo
- Publication number
- JP3809442B2 JP3809442B2 JP2004043356A JP2004043356A JP3809442B2 JP 3809442 B2 JP3809442 B2 JP 3809442B2 JP 2004043356 A JP2004043356 A JP 2004043356A JP 2004043356 A JP2004043356 A JP 2004043356A JP 3809442 B2 JP3809442 B2 JP 3809442B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- arbitrator
- buffer
- entry
- contention
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 110
- 238000000034 method Methods 0.000 claims description 35
- 238000001514 detection method Methods 0.000 claims description 29
- 238000013507 mapping Methods 0.000 claims description 24
- 230000003139 buffering effect Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 64
- 238000012545 processing Methods 0.000 description 16
- 239000002131 composite material Substances 0.000 description 9
- 238000013459 approach Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002459 sustained 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/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
Description
一度、ページがアクセスのために開かれると、そのページに対する後のアクセスを比較的短い待ち時間で実行することができる。オープン・ページ・ポリシーのケースでは、競合は、ページ交差(page−crossing)イベントとして定義される。ページ交差イベントが生じた場合、DRAMコアに再び現在のオープン・ページを復元し、次の要求されたデータを含むページを抽出(つまり、開く)のに数サイクル余計に必要とされる。同一のページに対する繰り返しのアクセスを持続することができる場合、トランザクションをより高い速度で発行することができるが、その速度は、システム・クロック周期の分数にとどまる。これは、この短い待ち時間の動作モードでも、各トランザクションを完了するのに数サイクルが必要とされるためである。さらに、インターリーブが可能ではないので、各トランザクションが完了してからでないと、次のトランザクションが発行されない。メモリシステムのピーク・トランザクション速度は、最短待ち時間の動作モードによって制限され、メモリの同じページに繰り返しアクセスすることによって達せられる。
オープン・ページ・ポリシーに対する代替として、特に、メモリ・サブシステムがインターリーブ・アーキテクチャを有する場合、クローズド・ページ・ポリシーを使用することができる。トランザクションは、インターリーブ・メモリシステムの要件に従って発行される限り、毎クロック・サイクルに発行されることが可能である。例えば、メモリシステムは、4サイクルの最小待ち時間、および4重インターリーブ・アーキテクチャを有することが可能である。その場合、トランザクション発行速度を最大化するため、メモリシステムのいずれの単独のサブユニットにも、4クロックサイクルごとに1回より頻繁にアクセスを行ってはならない。これが達せられた場合、ピーク・トランザクション速度は、メモリ・サブシステム待ち行列によって制限されず、代わりに、システム・クロック周波数だけによって制限される。ここでは、メモリ・サブユニットとは、インターリーブが適用されるメモリ・サブシステム内の階層のレベルを指す。クローズド・ページ・ポリシー競合は、メモリのインターリーブされたサブユニットに対するアクセス頻度をそのサブユニットの最大動作周波数より低く保つことができないこととして定義される。以上の要件は、メモリの同じサブユニットに対して何度もアクセスすることを回避し、メモリ・サブシステム待ち時間の逆数として定義された最大周波数でサブユニットに再アクセスすることによって満たされる。
・ベクトルには、常に1のストライドでアクセスが行われるわけではない。しばしば、アクセス・パターンは、アドレスの再マッピングによって競合がないようにすることが可能ないずれの明確に定義されたストライドにも類似しない。
アクセス要求をバッファリングするためのトランザクション・バッファと、
アービトレータによって発行されたアクセス要求をカウントするための出力カウンタと、
少なくとも出力カウンタをトランザクション・バッファ内のアクセス要求にマッピングするためのマッピング・テーブルと、
メモリシステム競合を減らせる発行順序でマッピングがアクセス要求をポイントするように、マッピング・テーブル内のエントリを動的に並べ替える並べ替えユニットとを含む。
(a)アクセス要求をトランザクション・バッファ内にバッファリングするステップ、
(b)少なくとも出力カウンタをトランザクション・バッファ内のアクセス要求にマッピングするマッピング・テーブルを維持するステップ、および
(c)メモリシステム競合を減らせる発行順序でマッピングがアクセス要求をポイントするように、マッピング・テーブル内のエントリを動的に並べ替えるステップを含む。
図6は、第2レベル・アービトレータ24’の代替の実装例を示している。この実装例では、第1レベル・アービトレータ22からの合成トランザクション・ストリーム25が、読み取り/書き込みデインターリーブ(de−interleave)120によって読み取りトランザクション・ストリーム121と書き込みトランザクション・ストリーム122に分けられる。読み取りトランザクション・ストリーム121および書き込みトランザクション・ストリーム122のトランザクションも、読み取りバッファ123および書き込みバッファ124にそれぞれ別々にバッファリングされる。
25 データ・ストリーム
27 トランザクション・ストリーム
203 トランザクション・バッファ
204 デマルチプレクサ
205 入力カウンタ
206 マルチプレクサ
207 出力カウンタ
211 ハッシュ・テーブル
213 キュー位置レジスタ
215 ベクトル間競合検出回路
217 発行済みアドレス・パイプライン
219 ベクトル内競合検出回路
225 ハッシュ・テーブル更新回路
251 クローズド・ページ・モード・フラグ
285、287 ポインタ
Claims (10)
- メモリシステム競合を減らすためメモリシステムに対するアクセス要求を並べ替えるアービトレータであって、
前記アクセス要求をバッファリングするためのトランザクション・バッファと、
アービトレータによって発行されたアクセス要求をカウントするための出力カウンタと、
少なくとも前記出力カウンタを前記トランザクション・バッファ内の前記アクセス要求にマッピングするためのマッピング・テーブルと、
メモリシステム競合が減る発行順序で前記アクセス要求をポイントするように、前記マッピング・テーブル内のエントリを動的に並べ替える並べ替えユニットと、
を備えることを特徴とするアービトレータ。 - 前記並べ替えユニットは、
1つまたは複数の発行済みアクセス要求と前記トランザクション・バッファ内の前記アクセス要求の間のメモリシステム競合を検出するための競合検出回路と、
入力順に次の競合フリーアクセス要求を選択するための選択ユニットと、
入力順に前記次の競合フリーアクセス要求に基づいて前記マッピング・テーブル内の前記エントリを並べ替えるマッピング・テーブル更新回路と、
を備えることを特徴とする請求項1に記載のアービトレータ。 - 前記入力順を特定するためのキュー位置レジスタをさらに備えることを特徴とする請求項2に記載のアービトレータ。
- アービトレータによって受け取られたアクセス要求をカウントするための入力カウンタをさらに含み、前記マッピング・テーブルは、前記入力カウンタを次に受け取られるアクセス要求によって埋められる前記トランザクション・バッファ内のエントリにマッピングすることを特徴とする請求項3に記載のアービトレータ。
- 前記マッピング・テーブルは、ハッシュ・テーブルであることを特徴とする請求項1に記載のアービトレータ。
- メモリシステム競合を減らすためにメモリシステムに対するアクセス要求を並べ替えるアービトレーション方法であって、
(a)前記アクセス要求をトランザクション・バッファにバッファリングするステップと、
(b)少なくともアービトレータによって発行されたアクセス要求をカウントするための出力カウンタを前記トランザクション・バッファ内の前記アクセス要求にマッピングするマッピング・テーブルを保持するステップと、
(c)前記マッピングが、メモリシステム競合を減らす発行順序で前記アクセス要求をポイントするように前記マッピング・テーブル内のエントリを動的に並べ替えるステップと、
を含むことを特徴とするアービトレーション方法。 - ステップ(c)は、
(c1)1つまたは複数の発行済みアクセス要求と前記トランザクション・バッファ内の前記アクセス要求の間のメモリシステム競合を検出するサブステップと、
(c2)入力順序の次の競合フリーアクセス要求を選択するサブステップと、
(c3)入力順序の前記次の競合フリーアクセス要求に基づいて前記マッピング・テーブル内の前記エントリを並べ替えるサブステップと、
を含むことを特徴とする請求項6に記載のアービトレーション方法。 - (d)前記入力順序を特定するためのキュー位置レジスタを維持するステップをさらに含むことを特徴とする請求項7に記載のアービトレーション方法。
- 次のアクセス要求を受け取った際、
(e)受け取られたアクセス要求を入力カウンタによりカウントするステップと、
(f)前記マッピング・テーブルは、前記入力カウンタを次に受け取られるアクセス要求によって埋められる前記トランザクション・バッファ内のエントリにマッピングするステップと、
をさらに含むことを特徴とする請求項8に記載のアービトレーション方法。 - 前記マッピング・テーブルは、ハッシュ・テーブルであることを特徴とする請求項6に記載のアービトレーション方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2003900733A AU2003900733A0 (en) | 2003-02-19 | 2003-02-19 | Dynamic Reordering of Memory Requests |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004252985A JP2004252985A (ja) | 2004-09-09 |
JP3809442B2 true JP3809442B2 (ja) | 2006-08-16 |
Family
ID=30005430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004043356A Expired - Fee Related JP3809442B2 (ja) | 2003-02-19 | 2004-02-19 | メモリ要求の動的並べ替え |
Country Status (3)
Country | Link |
---|---|
US (1) | US7155582B2 (ja) |
JP (1) | JP3809442B2 (ja) |
AU (1) | AU2003900733A0 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7486688B2 (en) * | 2004-03-29 | 2009-02-03 | Conexant Systems, Inc. | Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM |
TW200705179A (en) * | 2005-07-29 | 2007-02-01 | Genesys Logic Inc | Efficient data property identification method for a flash memory |
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 |
US7809891B2 (en) * | 2007-04-09 | 2010-10-05 | Sap Ag | Wait-free parallel data cache |
JP4569628B2 (ja) * | 2007-12-28 | 2010-10-27 | 日本電気株式会社 | ロードストアキューの制御方法及びその制御システム |
JP2009157887A (ja) * | 2007-12-28 | 2009-07-16 | Nec Corp | ロードストアキューの制御方法及びその制御システム |
US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
US8688957B2 (en) | 2010-12-21 | 2014-04-01 | Intel Corporation | Mechanism for conflict detection using SIMD |
US8775754B2 (en) * | 2011-06-24 | 2014-07-08 | Arm Limited | Memory controller and method of selecting a transaction using a plurality of ordered lists |
JP5759881B2 (ja) * | 2011-12-08 | 2015-08-05 | 株式会社日立ソリューションズ | 情報処理システム |
US8782356B2 (en) * | 2011-12-09 | 2014-07-15 | Qualcomm Incorporated | Auto-ordering of strongly ordered, device, and exclusive transactions across multiple memory regions |
US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
US9612955B2 (en) * | 2013-01-09 | 2017-04-04 | Wisconsin Alumni Research Foundation | High-performance indexing for data-intensive systems |
TWI553483B (zh) * | 2014-10-13 | 2016-10-11 | 瑞昱半導體股份有限公司 | 處理器及存取記憶體的方法 |
US10146440B2 (en) * | 2016-12-20 | 2018-12-04 | Intel Corporation | Apparatus, system and method for offloading collision check operations in a storage device |
US10387305B2 (en) * | 2016-12-23 | 2019-08-20 | Intel Corporation | Techniques for compression memory coloring |
US10198369B2 (en) * | 2017-03-24 | 2019-02-05 | Advanced Micro Devices, Inc. | Dynamic memory remapping to reduce row-buffer conflicts |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58225432A (ja) * | 1982-06-24 | 1983-12-27 | Toshiba Corp | 要求バツフア装置 |
TW388982B (en) * | 1995-03-31 | 2000-05-01 | Samsung Electronics Co Ltd | Memory controller which executes read and write commands out of order |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
JP2912609B2 (ja) * | 1997-05-02 | 1999-06-28 | 松下電器産業株式会社 | 複数アドレス保持記憶装置 |
US6212611B1 (en) * | 1998-11-03 | 2001-04-03 | Intel Corporation | Method and apparatus for providing a pipelined memory controller |
US6510474B1 (en) * | 1998-11-16 | 2003-01-21 | Infineon Technologies Ag | Methods and apparatus for re-reordering command and data packets in order to restore an original order of out-of-order memory requests |
US6195724B1 (en) * | 1998-11-16 | 2001-02-27 | Infineon Technologies Ag | Methods and apparatus for prioritization of access to external devices |
GB9827911D0 (en) * | 1998-12-19 | 1999-02-10 | 3Com Technologies Ltd | System for controlling look-ups in a data table in a network switch |
-
2003
- 2003-02-19 AU AU2003900733A patent/AU2003900733A0/en not_active Abandoned
-
2004
- 2004-02-18 US US10/779,705 patent/US7155582B2/en not_active Expired - Fee Related
- 2004-02-19 JP JP2004043356A patent/JP3809442B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AU2003900733A0 (en) | 2003-03-06 |
US7155582B2 (en) | 2006-12-26 |
US20040199729A1 (en) | 2004-10-07 |
JP2004252985A (ja) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3809442B2 (ja) | メモリ要求の動的並べ替え | |
US11693791B2 (en) | Victim cache that supports draining write-miss entries | |
US7278008B1 (en) | Virtual address translation system with caching of variable-range translation clusters | |
US7296139B1 (en) | In-memory table structure for virtual address translation system with translation units of variable range size | |
US7334108B1 (en) | Multi-client virtual address translation system with translation units of variable-range size | |
US6983350B1 (en) | SDRAM controller for parallel processor architecture | |
US9898415B2 (en) | Slot/sub-slot prefetch architecture for multiple memory requestors | |
US6321310B1 (en) | Memory architecture for a computer system | |
US8495301B1 (en) | System and method for scatter gather cache processing | |
US6151662A (en) | Data transaction typing for improved caching and prefetching characteristics | |
US8266383B1 (en) | Cache miss processing using a defer/replay mechanism | |
US20030145159A1 (en) | SRAM controller for parallel processor architecture | |
US9595075B2 (en) | Load/store operations in texture hardware | |
US7594100B2 (en) | Efficient store queue architecture | |
WO2001025921A1 (en) | An arbitration protocol for a shared data cache | |
US7370152B2 (en) | Memory controller with prefetching capability | |
US11023410B2 (en) | Instructions for performing multi-line memory accesses | |
US20110072438A1 (en) | Fast mapping table register file allocation algorithm for simt processors | |
US6745308B2 (en) | Method and system for bypassing memory controller components | |
US7313658B2 (en) | Microprocessor and method for utilizing disparity between bus clock and core clock frequencies to prioritize cache line fill bus access requests | |
US20030093636A1 (en) | Microprocessor and method for utilizing disparity between bus clock and core clock frequencies to prioritize cache line fill bus access requests | |
US11822815B2 (en) | Handling ring buffer updates | |
JP2010061220A (ja) | データ転送装置、データ転送方法およびプロセッサ | |
US20050021912A1 (en) | Line cache controller with lookahead | |
AU2004200593B2 (en) | Dynamic Reordering of Memory Requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060414 |
|
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: 20060509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060522 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3809442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110526 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120526 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120526 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130526 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140526 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |