JP5340658B2 - コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 - Google Patents
コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 Download PDFInfo
- Publication number
- JP5340658B2 JP5340658B2 JP2008176616A JP2008176616A JP5340658B2 JP 5340658 B2 JP5340658 B2 JP 5340658B2 JP 2008176616 A JP2008176616 A JP 2008176616A JP 2008176616 A JP2008176616 A JP 2008176616A JP 5340658 B2 JP5340658 B2 JP 5340658B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- requests
- request
- read
- read queue
- 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
Images
Description
00 13 14 15 - 01 10 11 12 - 02 07 08 09 - 03 04 05 06
00 01 02 03 - 10 11 12 13 - 20 21 22 23 - 30 31 32 33
00 - 01 - 02 - 03 04 05 06 - 07 08 09 - 10 11 12 -13 14 15
00 - 10 - 20 - 30 31 32 33 - 21 22 23 - 11 12 13- 01 02 03
Claims (16)
- データについての要求を発行するプロセッサと、
メモリ・バスに結合された、各々が複数のバンクを有する第1のメモリ・チップおよび第2のメモリ・チップであって、前記メモリ・バス上で前記第1のメモリ・チップにより駆動される第1のサイクルと前記第2のメモリ・チップにより駆動される第2のサイクルとの間にデッド・サイクルが必要とされる、第1のメモリ・チップおよび第2のメモリ・チップと、
前記メモリ・バスに結合されたメモリ・コントローラとを含み、
前記メモリ・コントローラは、
前記プロセッサにより発行された要求を格納するように構成された読み取りキューをさらに含み、前記読み取りキュー中の待ち状態要求の数が上限しきい値を超える場合、前記メモリ・バス上の要求されるデッド・サイクルを最小限にする順序で前記読み取りキューの要求にサービスし、前記読み取りキュー中の待ち状態要求の前記数が下限しきい値未満になる場合、最も古い要求の待ち時間に影響することなくより新しい要求がサービスされ得ることを条件に、該より新しい要求をサービスするように構成されている、
コンピュータ・システム。 - 前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の数が上限しきい値を超える場合、
特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にあることを条件に、前記一連の要求にサービスし、
前記特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にないことを条件に、前記読み取りキュー中の前記最も古い要求にサービスする、請求項1に記載のコンピュータ・システム。 - 前記上限しきい値がプログラム可能となるように構成され、または前記下限しきい値がプログラム可能となるように構成され、あるいはその両方である、請求項2に記載のコンピュータ・システム。
- 前記上限しきい値または前記下限しきい値あるいはその両方が、実配線により設定される、請求項2に記載のコンピュータ・システム。
- 前記メモリ・コントローラは、データをプロセッサに、前記プロセッサが前記データについての要求を発行した順序で返すように構成されている、請求項1に記載のコンピュータ・システム。
- コンピュータ・システムにおいて読み取り要求にサービスする方法であって、
プロセッサにより発行された読み取り要求を読み取りキュー中に受信するステップと
前記読み取りキュー中の待ち状態の要求の数に基づいてメモリ・アクセス・モードを決定するステップとを含み、
前記メモリ・アクセス・モードを決定するステップは、
待ち状態の要求の前記数が上限しきい値を超えれば、前記メモリ・アクセス・モードを高帯域幅モードに設定し、
待ち状態の要求の前記数が下限しきい値未満であれば、前記メモリ・アクセス・モードを低待ち時間モードに設定するステップを含み、
前記高帯域幅モードでは、前記メモリ・バス上の要求されるデッド・サイクルを最小限にする順序で前記読み取りキューの要求にサービスし、
前記低待ち時間モードでは、前記最も古い要求がより新しい要求によって決して遅延されないようにメモリ・チップへの読み取りを発行することにより、前記読み取りキュー中の要求にサービスする、
前記方法。 - 前記高帯域幅モードでは、
特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にある時にはいつも、前記一連の要求にサービスし、前記特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にない時にはいつも、前記読み取りキュー中の前記最も古い要求にサービスする、請求項6に記載の方法。 - 前記メモリ・アクセス・モードが前記低待ち時間モードにあり、前記最も古い要求が遅延されないことを条件に、より新しい要求にサービスするステップをさらに含む、請求項7に記載の方法。
- 前記メモリ・アクセス・モードが高帯域幅モードにあれば、前記読み取りキュー中に非推測的要求が全くない場合に限り、推測的要求にサービスするステップをさらに含む、請求項6に記載の方法。
- データについての要求を発行するプロセッサと、
メモリ・バスに結合された、各々が複数のバンクを有する第1のメモリ・チップおよび第2のメモリ・チップであって、前記メモリ・バス上で前記第1のメモリ・チップにより駆動される第1のサイクルと前記第2のメモリ・チップにより駆動される第2のサイクルとの間にデッド・サイクルが必要とされる、第1のメモリ・チップおよび第2のメモリ・チップと、
前記メモリ・バスに結合されたメモリ・コントローラとを含み、
前記メモリ・コントローラが、
前記プロセッサにより発行された要求を格納するように構成された読み取りキューをさらに含み、
前記読み取りキュー中の待ち状態要求の前記数が第1のしきい値の値より小さければ、最も古い要求の待ち時間を増大することなくより新しい要求がサービスされ得るのでない限り、前記最も古い要求にサービスする第1のメモリ・アクセス・モードを用い、前記読み取りキュー中の待ち状態要求の前記数が前記第1のしきい値の値以上かつ第2のしきい値の値未満であれば、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求の待ち時間を第1の量だけ延長させる第2のメモリ・アクセス・モードを用い、前記読み取りキュー中の待ち状態要求の前記数が前記第2のしきい値よりも大きい第3のしきい値の値以上であれば、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求の待ち時間を前記第1の量より大きい第2の量だけ延長させる第3のメモリ・アクセス・モードを用いる、
コンピュータ・システム。 - 前記第3のメモリ・アクセス・モードにおける前記メモリ・コントローラは、推測的要求にサービスすることにより非推測的要求の待ち時間が増大させられるのであれば、推的要求にサービスしないように構成されている、請求項10に記載のコンピュータ・システム。
- 前記第1、第2および第3のしきい値が、プログラム可能となるように構成される、請求項10に記載のコンピュータ・システム。
- 前記第1、第2および第3のしきい値が、実配線値により設定される、請求項10に記載のコンピュータ・システム。
- 前記メモリ・コントローラは、前記プロセッサがデータについての要求を発行した前記順序で、前記データを前記プロセッサに返すように構成される、請求項10に記載のコンピュータ・システム。
- コンピュータ・システムにおいて読み取り要求にサービスする方法であって、
プロセッサにより発行された読み取り要求を読み取りキュー中に受信するステップと
メモリ・アクセス・モードを、3つ以上のメモリ・アクセス・モードを有するメモリ・アクセス・モードのセットから、前記読み取りキュー中の待ち状態の要求の数の関数として決定するステップとを含み、
前記メモリ・アクセス・モードを決定する前記ステップが、
待ち状態の要求の前記数が第1のしきい値未満であれば、前記メモリ・アクセス・モードを第1のメモリ・アクセス・モードに設定するステップと、
待ち状態の要求の前記数が前記第1のしきい値以上かつ第2のしきい値未満であれば、前記メモリ・アクセス・モードを第2のメモリ・アクセス・モードに設定するステップ
、 待ち状態の要求の前記数が前記第2のしきい値以上であれば、前記メモリ・アクセス・モードを第3のメモリ・アクセス・モードに設定するステップとをさらに含み、
前記第1のメモリ・アクセス・モードでは、最も古い要求がより新しい要求によって決して遅延されないようにメモリ・チップへの読み取りを発行することにより、前記読み取りキュー中の要求がサービスされ、
第2のメモリ・アクセス・モードでは、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求が第1の量だけ遅延され、
第3のメモリ・アクセス・モードでは、1つ以上のより新しい要求にサービスすることにより前記メモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求が前記第1の量より大きい第2の量だけ遅延される、
前記方法。 - 前記第3のメモリ・アクセス・モードでは、推測的要求にサービスすることにより非推測的要求の待ち時間を遅延させるのであれば、推測的要求はサービスされない、請求項15に記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/775,411 US20090019238A1 (en) | 2007-07-10 | 2007-07-10 | Memory Controller Read Queue Dynamic Optimization of Command Selection |
US11/775,459 US7761669B2 (en) | 2007-07-10 | 2007-07-10 | Memory controller granular read queue dynamic optimization of command selection |
US11/775411 | 2007-07-10 | ||
US11/775459 | 2007-07-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009020883A JP2009020883A (ja) | 2009-01-29 |
JP5340658B2 true JP5340658B2 (ja) | 2013-11-13 |
Family
ID=40360427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008176616A Expired - Fee Related JP5340658B2 (ja) | 2007-07-10 | 2008-07-07 | コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5340658B2 (ja) |
TW (1) | TW200912733A (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347020B2 (en) * | 2009-03-20 | 2013-01-01 | Qualcomm Incorporated | Memory access controller, systems, and methods for optimizing memory access times |
US8055816B2 (en) | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8688880B2 (en) * | 2010-06-23 | 2014-04-01 | International Business Machines Corporation | Centralized serialization of requests in a multiprocessor system |
JP6210743B2 (ja) | 2013-06-10 | 2017-10-11 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
JP6210742B2 (ja) | 2013-06-10 | 2017-10-11 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
CN113590563A (zh) * | 2021-07-28 | 2021-11-02 | 深圳Tcl新技术有限公司 | 一种数据请求方法、系统及存储介质和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6799257B2 (en) * | 2002-02-21 | 2004-09-28 | Intel Corporation | Method and apparatus to control memory accesses |
US7650481B2 (en) * | 2004-11-24 | 2010-01-19 | Qualcomm Incorporated | Dynamic control of memory access speed |
-
2008
- 2008-07-07 JP JP2008176616A patent/JP5340658B2/ja not_active Expired - Fee Related
- 2008-07-08 TW TW97125769A patent/TW200912733A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JP2009020883A (ja) | 2009-01-29 |
TW200912733A (en) | 2009-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761669B2 (en) | Memory controller granular read queue dynamic optimization of command selection | |
US7617368B2 (en) | Memory interface with independent arbitration of precharge, activate, and read/write | |
US7051172B2 (en) | Memory arbiter with intelligent page gathering logic | |
US7281110B1 (en) | Random access memory controller with out of order execution | |
US7467277B2 (en) | Memory controller operating in a system with a variable system clock | |
US8560796B2 (en) | Scheduling memory access requests using predicted memory timing and state information | |
US6182177B1 (en) | Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues | |
US6799257B2 (en) | Method and apparatus to control memory accesses | |
US11755507B2 (en) | Memory module threading with staggered data transfers | |
JP5340658B2 (ja) | コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 | |
US10114560B2 (en) | Hybrid memory controller with command buffer for arbitrating access to volatile and non-volatile memories in a hybrid memory group | |
US8356143B1 (en) | Prefetch mechanism for bus master memory access | |
US6182192B1 (en) | Memory interface device and method for accessing memories | |
TW200416535A (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
US20090019238A1 (en) | Memory Controller Read Queue Dynamic Optimization of Command Selection | |
US6836831B2 (en) | Independent sequencers in a DRAM control structure | |
US20070186071A1 (en) | Optimizing data bandwidth across a variable asynchronous clock domain | |
JP2016085515A (ja) | 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム | |
US7035984B2 (en) | Memory arbiter with grace and ceiling periods and intelligent page gathering logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130313 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130529 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130807 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |