JP2006511886A - ダイナミックランダムアクセスメモリページ管理実現を決定する方法及び装置 - Google Patents
ダイナミックランダムアクセスメモリページ管理実現を決定する方法及び装置 Download PDFInfo
- Publication number
- JP2006511886A JP2006511886A JP2004565222A JP2004565222A JP2006511886A JP 2006511886 A JP2006511886 A JP 2006511886A JP 2004565222 A JP2004565222 A JP 2004565222A JP 2004565222 A JP2004565222 A JP 2004565222A JP 2006511886 A JP2006511886 A JP 2006511886A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- page
- bus
- memory access
- counter
- 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
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
-
- 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/0215—Addressing or allocation; Relocation with look ahead addressing means
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)
Abstract
Description
本開示は、一般にマイクロプロセッサに関し、より詳細には、システムバスを介しメモリコントローラと共に動作可能なマイクロプロセッサシステムに関する。
ダイナミックランダムアクセスメモリ(DRAM)は、メモリプリチャージ動作、起動動作、リード動作及びライト動作を有するかもしれない。特に、メモリバンクをアドレス指定するメモリコントローラは、まずメモリバンクをプリチャージし、その後、当該バンク内のアドレス指定されたページが、当該ページのアドレス指定されたカラムがアクセス(リードまたはライト)される前に起動される必要がある。「DRAMページオープン」や「ページヒット」は、アクセスされているメモリがすでにプリチャージ及び起動されていることを示し、各メモリアクセス中にメモリをプリチャージまたは起動する必要なく、データがページから読み出しまたは書き込みされるかもしれない。「ページミス」が発生すると(すなわち、オープンされているページ以外のメモリのページからデータがアクセスされる)、このオープンされているページは、センスアンプからDRAMチップに書き込みされる必要がある。次に、新たなメモリページがまずプリチャージされ、アクセスされる前に起動される必要がある。古いページのDRAMへの書き込みと、新しいDRAMページのプリチャージ及び起動は時間を要するものであり、メモリアクセスをスローダウンさせ、メモリバスの非効率な利用(帯域幅の減少)とDRAMを用いる装置(例えば、コンピュータなど)のパフォーマンスのロスを引き起こす。
以下の説明では、メモリコントローラのレジスタまたは回路への直接的なアクセスを有する必要なく、メモリコントローラにより利用されているメモリページ管理実現を決定するプロセッサのための技術が説明される。以下の説明では、本発明の完全なる理解を与えるため、論理実現、ソフトウェアモジュール割当て、バス信号処理技術などの多数の具体的詳細及び動作の詳細が提供される。しかしながら、本発明がこのような具体的詳細なく実現されうるということは、当業者には理解されるであろう。他の例では、制御構造、ゲートレベル回路および完全なソフトウェア命令シーケンスは、本発明を不明瞭にすることを避けるため、詳細には図示されていない。当業者は、含まれている説明により、過度な実験を行うことなく適切な機能を実現することができるであろう。本発明は、メモリコントローラに接続されたシステムメモリを有するマイクロプロセッサシステム内部のシステムバスにより接続されたメモリコントローラ及びプロセッサの形態により開示される。しかしながら、本発明は、他の構成のプロセッサ及びシステムメモリにより実現されてもよい。
Claims (26)
- メモリアクセスリクエストをキュー処理するバスアクセスキューと、
メモリアクセスリクエストを前記バスアクセスキューにスケジューリングするバススケジューラと、
ij個のカウンタ(ただし、iはバンクのメモリページ数、jは可能なページ管理実現に対応する)のマトリックスを有するページヒット予測データを前記バススケジューラに提供するページヒット予測器と、
から構成されることを特徴とするバスインタフェース。 - 請求項1記載のバスインタフェースであって、さらに、
観察された遅延を決定するタイマを有することを特徴とするバスインタフェース。 - 請求項2記載のバスインタフェースであって、さらに、
平均遅延を決定する平均遅延カウンタを有することを特徴とするバスインタフェース。 - 請求項3記載のバスインタフェースであって、
前記ページヒット予測器は、前記観察された遅延から前記平均遅延を引いた値が閾値より大きいか判断することを特徴とするバスインタフェース。 - 請求項4記載のバスインタフェースであって、
前記ページヒット予測器は、前記jに対応する可能なページ管理実現と前記iに対応するメモリページの個数とにより、現在のメモリアクセスが以前のメモリアクセスと比較して新しいメモリページ上にあると予測されると、論理信号を真に設定することを特徴とするバスインタフェース。 - 請求項5記載のバスインタフェースであって、
前記ijカウンタは、前記論理信号が真であるときインクリメントされることを特徴とするバスインタフェース。 - 請求項5記載のバスインタフェースであって、
前記ijカウンタは、前記論理信号が偽であるときデクリメントされることを特徴とするバスインタフェース。 - 各々が可能なページ管理実現とブロックのメモリページ数の組み合わせに対応するカウンタの集合を確立するステップと、
メモリアクセスに対する観察される遅延が平均遅延を超えるか判断するステップと、
前記メモリアクセスに対する観察される遅延が平均遅延を超える場合、前記対応する可能なページ管理実現とメモリページ数の組み合わせにより、前記メモリアクセスが以前のメモリアクセスとは異なるページに対するものであると予測されると、前記カウンタの1つをインクリメントするステップと、
から構成されることを特徴とする方法。 - 請求項8記載の方法であって、
前記判断するステップは、メモリアクセスに対する前記観察された遅延から前記平均遅延を引いた値が閾値を超えるか判断することを特徴とする方法。 - 請求項8記載の方法であって、さらに、
前記判断するステップが肯定される場合、前記対応する可能なページ管理実現とメモリページ数の組み合わせにより、前記メモリアクセスが以前のメモリアクセスとは異なるページに対するものでないと予測されると、前記カウンタの1つをデクリメントするステップを有することを特徴とする方法。 - 請求項8記載の方法であって、さらに、
前記平均遅延を更新するステップを有することを特徴とする方法。 - 請求項8記載の方法であって、さらに、
前記カウンタの集合の値の集合の最大値を決定するステップを有することを特徴とする方法。 - 請求項12記載の方法であって、さらに、
前記最大値を有するカウンタに対応する前記可能なページ管理実現とメモリページ数の組み合わせの1つをページヒット予測器に供給するステップを有することを特徴とする方法。 - プロセッサにより実行されるとき、
各々が可能なページ管理実現とブロックのメモリページ数の組み合わせに対応するカウンタの集合を確立するステップと、
メモリアクセスに対する観察される遅延が平均遅延を超えるか判断するステップと、
前記メモリアクセスに対する観察される遅延が平均遅延を超える場合、前記対応する可能なページ管理実現とメモリページ数の組み合わせにより、前記メモリアクセスが以前のメモリアクセスとは異なるページに対するものであると予測されると、前記カウンタの1つをインクリメントするステップと、
を実行するプログラム命令を有することを特徴とするコンピュータ可読媒体。 - 請求項14記載のコンピュータ可読媒体であって、
前記判断するステップは、メモリアクセスに対する前記観察された遅延から前記平均遅延を引いた値が閾値を超えるか判断することを特徴とする媒体。 - 請求項14記載のコンピュータ可読媒体であって、さらに、
前記判断するステップが肯定される場合、前記対応する可能なページ管理実現とメモリページ数の組み合わせにより、前記メモリアクセスが以前のメモリアクセスとは異なるページに対するものでないと予測されると、前記カウンタの1つをデクリメントするステップを有することを特徴とする媒体。 - 請求項14記載のコンピュータ可読媒体であって、さらに、
前記平均遅延を更新するステップを有することを特徴とする媒体。 - 請求項14記載のコンピュータ可読媒体であって、さらに、
前記カウンタの集合の値の集合の最大値を決定するステップを有することを特徴とする媒体。 - 請求項18記載のコンピュータ可読媒体であって、さらに、
前記最大値を有するカウンタに対応する前記可能なページ管理実現とメモリページ数の組み合わせの1つをページヒット予測器に供給するステップを有することを特徴とする媒体。 - メモリアクセスリクエストをキュー処理するバスアクセスキューと、メモリアクセスリクエストを前記バスアクセスキューにスケジューリングするバススケジューラと、ij個のカウンタ(ただし、iはバンクのメモリページ数、jは可能なページ管理実現に対応する)のマトリックスを有するページヒット予測データを前記バススケジューラに提供するページヒット予測器とを有するプロセッサと、
前記プロセッサに接続されるシステムバスと、
前記システムバスに接続され、前記メモリアクセスリクエストを受信するメモリコントローラと、
前記システムバスに接続される音声入出力装置と、
から構成されることを特徴とするシステム。 - 請求項20記載のシステムであって、
前記プロセッサは、観察された遅延を決定するタイマを有することを特徴とするシステム。 - 請求項21記載のシステムであって、
前記プロセッサは、平均遅延を決定する平均遅延カウンタを有することを特徴とするシステム。 - 請求項22記載のシステムであって、
前記ページヒット予測器は、前記観察された遅延から前記平均遅延を引いた値が閾値より大きいか判断することを特徴とするシステム。 - 請求項23記載のシステムであって、
前記ページヒット予測器は、前記jに対応する可能なページ管理実現と前記iに対応するメモリページの個数とにより、現在のメモリアクセスが以前のメモリアクセスと比較して新しいメモリページ上にあると予測されると、論理信号を真に設定することを特徴とするシステム。 - 請求項24記載のシステムであって、
前記ijカウンタは、前記論理信号が真であるときインクリメントされることを特徴とするシステム。 - 請求項25記載のシステムであって、
前記ijカウンタは、前記論理信号が偽であるときデクリメントされることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/328,576 US7020762B2 (en) | 2002-12-24 | 2002-12-24 | Method and apparatus for determining a dynamic random access memory page management implementation |
PCT/US2003/038727 WO2004061685A2 (en) | 2002-12-24 | 2003-12-04 | Method and apparatus for determining a dynamic random access memory page management implementation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006511886A true JP2006511886A (ja) | 2006-04-06 |
JP4203022B2 JP4203022B2 (ja) | 2008-12-24 |
Family
ID=32594518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004565222A Expired - Fee Related JP4203022B2 (ja) | 2002-12-24 | 2003-12-04 | ダイナミックランダムアクセスメモリページ管理実現を決定する方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7020762B2 (ja) |
JP (1) | JP4203022B2 (ja) |
CN (1) | CN100416529C (ja) |
AU (1) | AU2003298950A1 (ja) |
DE (1) | DE10393803T5 (ja) |
TW (1) | TWI236591B (ja) |
WO (1) | WO2004061685A2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
JP4250989B2 (ja) * | 2003-03-26 | 2009-04-08 | 日本電気株式会社 | メモリアクセス制御装置 |
US7404047B2 (en) * | 2003-05-27 | 2008-07-22 | Intel Corporation | Method and apparatus to improve multi-CPU system performance for accesses to memory |
US8028143B2 (en) * | 2004-08-27 | 2011-09-27 | Qualcomm Incorporated | Method and apparatus for transmitting memory pre-fetch commands on a bus |
US8443162B2 (en) | 2005-01-21 | 2013-05-14 | Qualcomm Incorporated | Methods and apparatus for dynamically managing banked memory |
US7587547B2 (en) * | 2006-03-30 | 2009-09-08 | Intel Corporation | Dynamic update adaptive idle timer |
US20090132769A1 (en) * | 2007-11-19 | 2009-05-21 | Microsoft Corporation | Statistical counting for memory hierarchy optimization |
CN101453361B (zh) * | 2007-12-07 | 2012-03-14 | 中国科学院声学研究所 | 一种网站请求队列管理方法 |
WO2011007599A1 (ja) | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
US8260991B2 (en) * | 2009-09-15 | 2012-09-04 | Arm Limited | Data processing apparatus and method for measuring a value of a predetermined property of transactions |
US8935489B2 (en) * | 2010-01-19 | 2015-01-13 | Rambus Inc. | Adaptively time-multiplexing memory references from multiple processor cores |
US9720859B1 (en) | 2010-04-30 | 2017-08-01 | Mentor Graphics Corporation | System, method, and computer program product for conditionally eliminating a memory read request |
US9418011B2 (en) * | 2010-06-23 | 2016-08-16 | Intel Corporation | Region based technique for accurately predicting memory accesses |
US9183041B2 (en) * | 2012-09-21 | 2015-11-10 | International Business Machines Corporation | Input/output traffic backpressure prediction |
US9336164B2 (en) * | 2012-10-04 | 2016-05-10 | Applied Micro Circuits Corporation | Scheduling memory banks based on memory access patterns |
GB2517195A (en) * | 2013-08-15 | 2015-02-18 | Ibm | Computer system productivity monitoring |
US10387046B2 (en) * | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
TWI595412B (zh) * | 2016-09-09 | 2017-08-11 | 大心電子(英屬維京群島)股份有限公司 | 資料傳輸方法、記憶體儲存裝置及記憶體控制電路單元 |
US20180150125A1 (en) * | 2016-11-28 | 2018-05-31 | Qualcomm Incorporated | Wifi memory power minimization |
US11029879B2 (en) * | 2018-01-29 | 2021-06-08 | Samsung Electronics Co., Ltd | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel |
US10846363B2 (en) | 2018-11-19 | 2020-11-24 | Microsoft Technology Licensing, Llc | Compression-encoding scheduled inputs for matrix computations |
US11493985B2 (en) * | 2019-03-15 | 2022-11-08 | Microsoft Technology Licensing, Llc | Selectively controlling memory power for scheduled computations |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US586106A (en) * | 1897-07-13 | Flour-sifter | ||
US5651130A (en) * | 1993-03-22 | 1997-07-22 | Compaq Computer Corporation | Memory controller that dynamically predicts page misses |
US5787267A (en) * | 1995-06-07 | 1998-07-28 | Monolithic System Technology, Inc. | Caching method and circuit for a memory system with circuit module architecture |
US5860106A (en) | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US6088772A (en) * | 1997-06-13 | 2000-07-11 | Intel Corporation | Method and apparatus for improving system performance when reordering commands |
US6035377A (en) * | 1997-12-17 | 2000-03-07 | Ncr Corporation | Method and apparatus for determining memory pages having greatest frequency of access in a non-uniform memory access computer system |
US6199145B1 (en) * | 1998-02-27 | 2001-03-06 | Intel Corporation | Configurable page closing method and apparatus for multi-port host bridges |
US6539440B1 (en) * | 1998-11-16 | 2003-03-25 | Infineon Ag | Methods and apparatus for prediction of the time between two consecutive memory accesses |
US6212598B1 (en) * | 1998-11-30 | 2001-04-03 | Micron Technology, Inc. | Controlling a paging policy based on a requestor characteristic |
US6684304B2 (en) * | 1999-01-29 | 2004-01-27 | Micron Technology, Inc. | Method to access memory based on a programmable page limit |
JP2004500667A (ja) * | 2000-04-03 | 2004-01-08 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 改良されたメモリリクエスト調停機構を有するメモリコントローラを含むバスブリッジ |
TW544575B (en) * | 2000-08-15 | 2003-08-01 | Silicon Integrated Sys Corp | Page organizer within memory controller |
US6799257B2 (en) | 2002-02-21 | 2004-09-28 | Intel Corporation | Method and apparatus to control memory accesses |
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
-
2002
- 2002-12-24 US US10/328,576 patent/US7020762B2/en not_active Expired - Fee Related
-
2003
- 2003-12-04 DE DE10393803T patent/DE10393803T5/de not_active Withdrawn
- 2003-12-04 JP JP2004565222A patent/JP4203022B2/ja not_active Expired - Fee Related
- 2003-12-04 AU AU2003298950A patent/AU2003298950A1/en not_active Abandoned
- 2003-12-04 WO PCT/US2003/038727 patent/WO2004061685A2/en active Application Filing
- 2003-12-04 CN CNB2003801070425A patent/CN100416529C/zh not_active Expired - Fee Related
- 2003-12-09 TW TW092134720A patent/TWI236591B/zh not_active IP Right Cessation
-
2005
- 2005-12-30 US US11/323,598 patent/US7536530B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7020762B2 (en) | 2006-03-28 |
JP4203022B2 (ja) | 2008-12-24 |
CN100416529C (zh) | 2008-09-03 |
US20060112255A1 (en) | 2006-05-25 |
AU2003298950A8 (en) | 2004-07-29 |
CN1729462A (zh) | 2006-02-01 |
WO2004061685A3 (en) | 2004-11-04 |
TWI236591B (en) | 2005-07-21 |
DE10393803T5 (de) | 2005-10-20 |
AU2003298950A1 (en) | 2004-07-29 |
US20040123067A1 (en) | 2004-06-24 |
TW200416535A (en) | 2004-09-01 |
WO2004061685A2 (en) | 2004-07-22 |
US7536530B2 (en) | 2009-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4203022B2 (ja) | ダイナミックランダムアクセスメモリページ管理実現を決定する方法及び装置 | |
US6799257B2 (en) | Method and apparatus to control memory accesses | |
JP5305542B2 (ja) | 投機的なプリチャージの検出 | |
KR100724557B1 (ko) | 아웃 오브 오더 dram 시퀀서 | |
US6298424B1 (en) | Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation | |
US6785793B2 (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
US8583894B2 (en) | Hybrid prefetch method and apparatus | |
JP4866646B2 (ja) | メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム | |
US20200285580A1 (en) | Speculative memory activation | |
US7587547B2 (en) | Dynamic update adaptive idle timer | |
US5784711A (en) | Data cache prefetching under control of instruction cache | |
US20040059854A1 (en) | Dynamic priority external transaction system | |
EP0812437A1 (en) | Performing speculative system memory reads | |
EP3570286B1 (en) | Apparatus for simultaneous read and precharge of a memory | |
US6553473B1 (en) | Byte-wise tracking on write allocate | |
US20070239955A1 (en) | Memory Scoreboard | |
US9047199B2 (en) | Reducing penalties for cache accessing operations | |
US9037806B2 (en) | Reducing store operation busy times | |
EP0482706B1 (en) | Method for intelligent data cache prefetching, and computer for implementing this method | |
JPH1131072A (ja) | メモリ先行ロード装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080507 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080807 |
|
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: 20080909 |
|
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: 20081009 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111017 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121017 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131017 Year of fee payment: 5 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |