JP5058167B2 - メモリアクセス要求の遅延アービトレーション - Google Patents
メモリアクセス要求の遅延アービトレーション Download PDFInfo
- Publication number
- JP5058167B2 JP5058167B2 JP2008530073A JP2008530073A JP5058167B2 JP 5058167 B2 JP5058167 B2 JP 5058167B2 JP 2008530073 A JP2008530073 A JP 2008530073A JP 2008530073 A JP2008530073 A JP 2008530073A JP 5058167 B2 JP5058167 B2 JP 5058167B2
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- memory
- access request
- memory controller
- signal
- 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.)
- Active
Links
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
-
- 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
-
- 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
-
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
スケジュールマネージャ128は、現在のメモリアクセスオペレーションの完了が近いと判定すると、dispatch_req信号134をアサートして、メモリコントローラ102に次のメモリアクセス要求をディスパッチするように、アービタ130に合図する。アービタ130は、信号134に応答して、優先度やタイムスタンプ等の1つ以上の特徴に基づいてキュー132からメモリアクセス要求を選択して、一時的にバッファしてから処理するために、選択されたメモリアクセス要求をメモリコントローラ102にディスパッチする。このため、図1の処理システム100は、従来のシステムが実施しているように、メモリコントローラ102にメモリアクセス要求の空きができると直ちに、メモリアクセス要求をディスパッチするようにアービタ130に指示する代わりに、遅延させたアービトレーション法を実装している。これにより、メモリコントローラにディスパッチされる次のメモリアクセス要求が、メモリアクセス要求を選択すべきほぼ直前の時点まで選択されない。この結果、メモリコントローラ102が、メモリアクセス要求を受け取り可能となった最初の時点の後に、BIU106が受け取る優先度の高いメモリアクセス要求が、アービタ130によって選択されて、メモリコントローラ102にディスパッチされるようになり、システム100の効率が向上する。
別の実施形態では、メモリコントローラ102によって処理されたメモリアクセスオペレーションの一部またはその全てが、所定の期間行われ得る。例えば、メモリコントローラ102は、特定のタイプのリードアクセスオペレーションが、決まったクロックサイクルを要することを認識していてもよい。したがって、このようなリードアクセスオペレーションの完了の予測は、メモリアクセスオペレーションの実際の完了が予測される前の所定の期間で表すことができる。例えば、メモリアクセスオペレーションが8クロックサイクルを要することがわかっている場合、このメモリアクセスオペレーションの完了の予測は、例えば、7番目のクロックサイクルで発生し、この時点で、スケジュールマネージャ128は、dispatch_req信号134をアサートして、メモリコントローラ102に次のメモリアクセス要求をディスパッチするように、アービタ130に合図しうる。
Claims (10)
- メモリコントローラ(102)に第1のメモリアクセス要求をディスパッチするステップと、
前記第1のメモリアクセス要求によって表されるメモリアクセスオペレーションの完了を予測したことに応答して、前記メモリコントローラ(102)に提供されるべく利用可能な複数のメモリアクセス要求から第2のメモリアクセス要求を選択するステップと、
前記メモリコントローラ(102)に前記第2のメモリアクセス要求をディスパッチするステップと、を有する方法。 - 前記メモリアクセスオペレーションの前記完了の予測は、メモリ(104)と前記メモリコントローラ(102)との間の信号伝達によって表される請求項1に記載の方法。
- 前記第1のメモリアクセス要求は、リードアクセス要求またはライトアクセス要求のいずれか一方であって、
前記リードアクセス要求の場合、前記信号伝達には、要求されたデータが前記メモリ(104)と前記メモリコントローラ(102)とを接続するバス線上で利用可能であることを示す信号が含まれており、
前記ライトアクセス要求の場合、前記信号伝達には、書込データが前記メモリコントローラ(102)から前記メモリ(104)に提供されていることを示す信号が含まれている、請求項2に記載の方法。 - 前記メモリアクセスオペレーションの前記完了の予測は、前記メモリアクセスオペレーションが実際に完了する前の所定の期間によって表される請求項2に記載の方法。
- 前記複数のメモリアクセス要求から前記第2のメモリアクセス要求を選択することには、前記複数のメモリアクセス要求の優先順位に基づいて前記第2のメモリアクセス要求を選択することが含まれる請求項1に記載の方法。
- 前記第2のメモリアクセス要求を選択するステップは、前記完了が予測されたことに応答して、前記メモリコントローラ(102)からバスインタフェースユニット(106)に信号(134)を提供するステップを有し、前記バスインタフェースユニット(106)は、前記信号(134)を受け取ったことに応答して、複数のメモリアクセス要求から前記第2のメモリアクセス要求を選択する請求項1に記載の方法。
- メモリ(104)に結合され、メモリアクセス要求を処理するためのメモリコントローラ(102)と、
前記メモリコントローラ(102)に結合されたバスインタフェースユニット(106)と、を有し、前記バスインタフェースユニット(106)は、
1つ以上のメモリアクセス要求を記憶するためのバッファ(132)と、
メモリアクセス要求を受け取るために前記バッファに結合された第1の入力、および前記メモリコントローラ(102)から信号(134)を受け取る第2の入力を有するアービタ(130)と、を有し、前記アービタ(130)は、前記信号(134)に応答して、前記メモリコントローラ(102)にディスパッチするために第2のメモリアクセス要求を選択し、
前記メモリコントローラ(102)は、前記メモリコントローラ(102)に既にディスパッチされている第1のメモリアクセス要求によって表されるメモリアクセスオペレーションの完了が予測されたことに応答して、前記信号(134)を提供するシステム(100)。 - 前記第1のメモリアクセス要求は、リードアクセス要求またはライトアクセス要求のいずれか一方であって、
前記リードアクセス要求の場合、前記信号(134)は、要求されたデータが前記メモリ(104)と前記メモリコントローラ(102)とを接続するバス線上で利用可能であることが示されたことに応答して提供され、
前記ライトアクセス要求の場合、前記信号(134)は、前記メモリコントローラ(102)によって前記メモリ(104)に書込データが提供されていることが示されたことに応答して提供される、請求項7に記載のシステム。 - 前記メモリアクセスオペレーションの前記完了の予測は、前記メモリアクセスオペレーションが実際に完了する前の所定の期間によって表される請求項7に記載のシステム。
- 前記アービタ(130)は、前記1つ以上のメモリアクセス要求に関連する優先度に基づいて、前記第2のメモリアクセス要求を選択する請求項7に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/222,615 US8065457B2 (en) | 2005-09-09 | 2005-09-09 | Delayed memory access request arbitration |
US11/222,615 | 2005-09-09 | ||
PCT/US2006/032742 WO2007032866A1 (en) | 2005-09-09 | 2006-08-23 | Delayed memory access request arbitration |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009508215A JP2009508215A (ja) | 2009-02-26 |
JP2009508215A5 JP2009508215A5 (ja) | 2012-08-02 |
JP5058167B2 true JP5058167B2 (ja) | 2012-10-24 |
Family
ID=37562281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008530073A Active JP5058167B2 (ja) | 2005-09-09 | 2006-08-23 | メモリアクセス要求の遅延アービトレーション |
Country Status (8)
Country | Link |
---|---|
US (1) | US8065457B2 (ja) |
EP (1) | EP1922627B1 (ja) |
JP (1) | JP5058167B2 (ja) |
KR (1) | KR101262313B1 (ja) |
CN (1) | CN101258476B (ja) |
DE (1) | DE602006018959D1 (ja) |
TW (1) | TWI426387B (ja) |
WO (1) | WO2007032866A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8195903B2 (en) * | 2006-06-29 | 2012-06-05 | Oracle America, Inc. | System and method for metering requests to memory |
WO2010013189A2 (en) * | 2008-07-29 | 2010-02-04 | Nxp B.V. | Data processing circuit with arbitration between a plurality of queues |
TWI370361B (en) * | 2008-08-21 | 2012-08-11 | Ili Technology Corp | Memory access controlling apparatus and control method thereof |
CN101667448B (zh) * | 2008-09-04 | 2012-11-07 | 奕力科技股份有限公司 | 存储器存取控制装置及其相关控制方法 |
JP5418193B2 (ja) * | 2009-12-14 | 2014-02-19 | 富士ゼロックス株式会社 | 調停装置、画像処理装置、及び画像形成システム |
US20120290810A1 (en) * | 2011-04-18 | 2012-11-15 | Jean-Jacques Lecler | Memory Access Latency Metering |
GB2518884A (en) * | 2013-10-04 | 2015-04-08 | Ibm | Network attached storage system and corresponding method for request handling in a network attached storage system |
WO2015065426A1 (en) * | 2013-10-31 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Memory access for busy memory |
US9646660B2 (en) * | 2014-09-23 | 2017-05-09 | Intel Corporation | Selectable memory access time |
CN107526534B (zh) * | 2016-06-21 | 2020-09-18 | 伊姆西Ip控股有限责任公司 | 管理存储设备的输入输出(i/o)的方法和设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4400771A (en) * | 1975-12-04 | 1983-08-23 | Tokyo Shibaura Electric Co., Ltd. | Multi-processor system with programmable memory-access priority control |
US5524220A (en) * | 1994-08-31 | 1996-06-04 | Vlsi Technology, Inc. | Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems |
US5892981A (en) | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
US6134625A (en) * | 1998-02-18 | 2000-10-17 | Intel Corporation | Method and apparatus for providing arbitration between multiple data streams |
US6105086A (en) * | 1998-06-04 | 2000-08-15 | Lsi Logic Corporation | Data communication circuit and method for buffering data between a shared resource and multiple interfaces |
TW514788B (en) * | 1999-04-23 | 2002-12-21 | Via Tech Inc | Method of delayed transaction in bus system and device using the method |
US6453401B1 (en) * | 1999-07-02 | 2002-09-17 | Rambus Inc. | Memory controller with timing constraint tracking and checking unit and corresponding method |
US6594730B1 (en) * | 1999-08-03 | 2003-07-15 | Intel Corporation | Prefetch system for memory controller |
US6499090B1 (en) * | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
JP2002244919A (ja) * | 2001-02-20 | 2002-08-30 | Matsushita Electric Ind Co Ltd | Dramインターフェース回路 |
US7093094B2 (en) * | 2001-08-09 | 2006-08-15 | Mobilygen Corporation | Random access memory controller with out of order execution |
US6745308B2 (en) * | 2002-02-19 | 2004-06-01 | Ati Technologies, Inc. | Method and system for bypassing memory controller components |
US6717834B2 (en) * | 2002-03-26 | 2004-04-06 | Intel Corporation | Dual bus memory controller |
US7099972B2 (en) * | 2002-07-03 | 2006-08-29 | Sun Microsystems, Inc. | Preemptive round robin arbiter |
JP4008307B2 (ja) * | 2002-08-09 | 2007-11-14 | 松下電器産業株式会社 | メモリインターフェース回路 |
US6857055B2 (en) * | 2002-08-15 | 2005-02-15 | Micron Technology Inc. | Programmable embedded DRAM current monitor |
JP3876816B2 (ja) * | 2002-10-24 | 2007-02-07 | 日本電気株式会社 | コンピュータの共有資源利用制限方法 |
US7093059B2 (en) * | 2002-12-31 | 2006-08-15 | Intel Corporation | Read-write switching method for a memory controller |
JP2004287576A (ja) * | 2003-03-19 | 2004-10-14 | Matsushita Electric Ind Co Ltd | バスコントローラ |
-
2005
- 2005-09-09 US US11/222,615 patent/US8065457B2/en active Active
-
2006
- 2006-08-18 TW TW095130385A patent/TWI426387B/zh active
- 2006-08-23 JP JP2008530073A patent/JP5058167B2/ja active Active
- 2006-08-23 DE DE602006018959T patent/DE602006018959D1/de active Active
- 2006-08-23 CN CN2006800326550A patent/CN101258476B/zh active Active
- 2006-08-23 EP EP06802067A patent/EP1922627B1/en active Active
- 2006-08-23 WO PCT/US2006/032742 patent/WO2007032866A1/en active Application Filing
-
2008
- 2008-04-10 KR KR1020087008617A patent/KR101262313B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN101258476A (zh) | 2008-09-03 |
US20070067532A1 (en) | 2007-03-22 |
CN101258476B (zh) | 2011-06-08 |
DE602006018959D1 (de) | 2011-01-27 |
TW200723001A (en) | 2007-06-16 |
EP1922627B1 (en) | 2010-12-15 |
US8065457B2 (en) | 2011-11-22 |
KR20080043406A (ko) | 2008-05-16 |
WO2007032866A1 (en) | 2007-03-22 |
KR101262313B1 (ko) | 2013-05-08 |
EP1922627A1 (en) | 2008-05-21 |
JP2009508215A (ja) | 2009-02-26 |
TWI426387B (zh) | 2014-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5058167B2 (ja) | メモリアクセス要求の遅延アービトレーション | |
US8312229B2 (en) | Method and apparatus for scheduling real-time and non-real-time access to a shared resource | |
JP4723260B2 (ja) | ソースデバイスに対するリクエストをスケジューリングする装置及び方法 | |
JP4944042B2 (ja) | Soc相互接続において転送待ち時間を低減するための方法および装置 | |
JP2009508215A5 (ja) | ||
US8108571B1 (en) | Multithreaded DMA controller | |
US7523228B2 (en) | Method for performing a direct memory access block move in a direct memory access device | |
US7526593B2 (en) | Packet combiner for a packetized bus with dynamic holdoff time | |
US8572322B2 (en) | Asynchronously scheduling memory access requests | |
WO2011089660A1 (ja) | バス調停装置 | |
JP2011505037A (ja) | 読出しデータバッファリングのシステム及び方法 | |
US7340544B2 (en) | Method of using bus and bus interface | |
US6748505B1 (en) | Efficient system bus architecture for memory and register transfers | |
US20060179172A1 (en) | Method and system for reducing power consumption of a direct memory access controller | |
US6735677B1 (en) | Parameterizable queued memory access system | |
JP2006268753A (ja) | Dma回路及びコンピュータシステム | |
JP2006215621A (ja) | Dma制御装置 | |
US6269360B1 (en) | Optimization of ordered stores on a pipelined bus via self-initiated retry | |
JP2731768B2 (ja) | メモリ制御装置 | |
US20060101173A1 (en) | Pin sharing system | |
JPH11175464A (ja) | 調停装置および方法 | |
JP4314230B2 (ja) | 高速シフトタイプバッファ用システム及び方法 | |
US20050060475A1 (en) | Data transfer apparatus and data transfer method | |
JPH06243093A (ja) | バス制御システム | |
GB2341699A (en) | Inter-module data transfer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090813 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100421 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20100902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120111 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120404 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120411 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120509 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120516 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20120611 |
|
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: 20120711 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120731 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150810 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5058167 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |