JP2009020883A - コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 - Google Patents
コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 Download PDFInfo
- Publication number
- JP2009020883A JP2009020883A JP2008176616A JP2008176616A JP2009020883A JP 2009020883 A JP2009020883 A JP 2009020883A JP 2008176616 A JP2008176616 A JP 2008176616A JP 2008176616 A JP2008176616 A JP 2008176616A JP 2009020883 A JP2009020883 A JP 2009020883A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- requests
- request
- access mode
- memory access
- 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
Abstract
【解決手段】メモリ・コントローラは、プロセッサからの読み取り要求を読み取りキュー中に受信する。メモリ・コントローラは、読み取りキュー中に待ち状態の要求がいくつあるかに基づいて、要求にサービスする順序を動的に修正する。読み取りキューが比較的空いている場合、要求は、待ち時間を最小にするために最も古いものが最初にサービスされる。読み取りキューがより満たされると、要求は、または、読み取りキューが徐々に満たされると、3つ以上のメモリ・アクセス・モードを用いて、徐々に要求は、読み取りキューが満杯になりプロセッサからのさらなる要求が停止されなければならなくなる可能性を低減するためにメモリ・バス上のスループットを最大化する仕方でサービスされる。
【選択図】図1
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 (29)
- データについての要求を発行するプロセッサと、
メモリ・バスに結合された、各々が複数のバンクを有する第1のメモリ・チップおよび第2のメモリ・チップであって、前記メモリ・バス上で前記第1のメモリ・チップにより駆動される第1のサイクルと前記第2のメモリ・チップにより駆動される第2のサイクルとの間にデッド・サイクルが必要とされる、第1のメモリ・チップおよび第2のメモリ・チップと、
前記メモリ・バスに結合されたメモリ・コントローラと、
を含み、前記メモリ・コントローラが、前記プロセッサにより発行された要求を格納するように構成された読み取りキューをさらに含んでおり、前記メモリ・コントローラが、特定のバンクを開き、該特定のバンクを読み取り、該バンクを閉じることによってデータについての前記要求にサービスするように構成されており、前記メモリ・コントローラが、前記読み取りキュー中の待ち状態の要求の数の関数として前記メモリ・バス上のデッド・サイクルを制御するように構成されている、
コンピュータ・システム。 - 前記メモリ・コントローラが、
前記読み取りキュー中の前記待ち状態の要求の数の現在値を含む要求カウントと、
下限しきい値の値を含む下限しきい値と、
上限しきい値の値を含む上限しきい値であって、前記上限しきい値の値が前記下限しきい値の値より大きい、前記上限しきい値と、
をさらに含み、
前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の前記数が前記上限しきい値を超えた時に第1のメモリ・アクセス・モードに切り替わるように構成されており、該第1のメモリ・アクセス・モードにおいて、前記メモリ・コントローラは、前記メモリ・バス上のデッド・サイクルの数を最小化するように構成されており、
前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の前記数が前記下限しきい値未満になった時に第2のメモリ・アクセス・モードに切り替わるように構成されており、該第2のメモリ・アクセス・モードにおいて、前記メモリ・コントローラは、要求の待ち時間を最小化するように構成されている、
請求項1に記載のコンピュータ・システム。 - 前記第1のメモリ・アクセス・モードにおける前記メモリ・コントローラは、最も古い要求にサービスする前に、1つ以上のより新しい要求にサービスすることが前記メモリ・バス上の1つ以上のデッド・サイクルを排除する時はいつも、前記第1のメモリ・チップ中の異なるバンクに連続的にアクセスすることにより前記1つ以上のより新しい要求にサービスするように構成されている、請求項2に記載のコンピュータ・システム。
- 前記上限しきい値がプログラム可能となるように構成され、または前記下限しきい値がプログラム可能となるように構成され、あるいはその両方である、請求項2に記載のコンピュータ・システム。
- 前記上限しきい値または前記下限しきい値あるいはその両方が、実配線された値を有する、請求項2に記載のコンピュータ・システム。
- 前記メモリ・コントローラは、前記第2のメモリ・アクセス・モードにおいて、最も古い要求の待ち時間に影響することなくより新しい要求がサービスされ得るのであれば、該より新しい要求をサービスするように構成されている、請求項2に記載のコンピュータ・システム。
- 前記メモリ・コントローラは、データをプロセッサに、前記プロセッサが前記データについての要求を発行した順序で返すように構成されている、請求項1に記載のコンピュータ・システム。
- コンピュータ・システムにおいて読み取り要求にサービスする方法であって、
プロセッサにより発行された読み取り要求を読み取りキュー中に受信するステップと、
前記読み取りキュー中の待ち状態の要求の数に基づいてメモリ・アクセス・モードを決定するステップと、
を含む、前記方法。 - 前記メモリ・アクセス・モードを決定する前記ステップが、
待ち状態の要求の前記数が上限しきい値を超えれば、前記メモリ・アクセス・モードを高帯域幅モードに設定するステップと、
待ち状態の要求の前記数が下限しきい値未満であれば、前記メモリ・アクセス・モードを低待ち時間モードに設定するステップと、
をさらに含む、
請求項8に記載の方法。 - もし前記メモリ・アクセス・モードが前記低待ち時間モードにあれば、前記最も古い要求がより新しい要求によって決して遅延されないようにメモリ・チップへの読み取りを発行することにより、前記読み取りキュー中の要求にサービスするステップをさらに含む、請求項9に記載の方法。
- もし前記メモリ・アクセス・モードが前記低待ち時間モードにあり、もし前記最も古い要求が遅延されないのであれば、より新しい要求にサービスするステップをさらに含む、請求項9に記載の方法。
- もし前記メモリ・アクセス・モードが前記高帯域幅モードにあれば、前記メモリ・バス上の要求されるデッド・サイクルを最小限にする順序で前記読み取りキューの要求にサービスするステップをさらに含む、請求項9に記載の方法。
- もし前記メモリ・アクセス・モードが高帯域幅モードにあれば、
特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にある時にはいつも、前記一連の要求にサービスするステップと、
前記特定のメモリ・チップ中の異なるバンクから連続的に読み取られ得る一連の要求が前記読み取りキュー中にない時にはいつも、前記読み取りキュー中の前記最も古い要求にサービスするステップと、
をさらに含む、
請求項12に記載の方法。 - もし前記メモリ・アクセス・モードが高帯域幅モードにあれば、前記読み取りキュー中に非推測的要求が全くない場合に限り、推測的要求にサービスするステップをさらに含む、請求項12に記載の方法。
- データについての要求を発行するプロセッサと、
メモリ・バスに結合された、各々が複数のバンクを有する第1のメモリ・チップおよび第2のメモリ・チップであって、前記メモリ・バス上で前記第1のメモリ・チップにより駆動される第1のサイクルと前記第2のメモリ・チップにより駆動される第2のサイクルとの間にデッド・サイクルが必要とされる、第1のメモリ・チップおよび第2のメモリ・チップと、
前記メモリ・バスに結合されたメモリ・コントローラと、
を含み、前記メモリ・コントローラが、前記プロセッサにより発行された要求を格納するように構成された読み取りキューをさらに含んでおり、前記メモリ・コントローラが、特定のバンクを開き、該特定のバンクを読み取り、該バンクを閉じることによってデータについての前記要求にサービスするように構成されており、前記メモリ・コントローラが、前記読み取りキュー中の待ち状態の要求の数の関数として前記メモリ・バス上のデッド・サイクルを制御するように構成されており、前記メモリ・コントローラが、3つ以上のメモリ・アクセス・モードを提供するように構成されている、
コンピュータ・システム。 - 前記メモリ・コントローラが、
前記読み取りキュー中の前記待ち状態の要求の数の現在値を含む要求カウントと、
第1のしきい値の値を含む第1のしきい値と、
第2のしきい値の値を含む第2のしきい値であって、前記第2のしきい値の値が前記第1のしきい値の値より大きい、前記第2のしきい値と、
第3のしきい値の値を含む第3のしきい値であって、前記第3のしきい値の値が前記第2のしきい値の値より大きい、前記第3のしきい値と、
をさらに含み、
前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の前記数が前記第1のしきい値の値より小さければ、第1のメモリ・アクセス・モードを用いるように構成されており、
前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の前記数が前記第1のしきい値の値以上かつ前記第2のしきい値の値未満であれば、第2のメモリ・アクセス・モードを用いるように構成されており、
前記メモリ・コントローラは、前記読み取りキュー中の待ち状態要求の前記数が前記第3のしきい値の値以上であれば、第3のメモリ・アクセス・モードを用いるように構成されている、
請求項15に記載のコンピュータ・システム。 - 前記第1のメモリ・アクセス・モードにおける前記メモリ・コントローラは、最も古い要求の待ち時間を増大することなくより新しい要求がサービスされ得るのでない限り、前記最も古い要求にサービスするように構成されている、請求項16に記載のコンピュータ・システム。
- 前記第2のメモリ・アクセス・モードにおける前記メモリ・コントローラは、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求の待ち時間を第1の量だけ低下させるように構成されている、請求項17に記載のコンピュータ・システム。
- 前記第3のメモリ・アクセス・モードにおける前記メモリ・コントローラは、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求の待ち時間を第2の量だけ低下させるように構成されており、前記第2の量は、前記第1の量より大きい、請求項18に記載のコンピュータ・システム。
- 前記第3のメモリ・アクセス・モードにおける前記メモリ・コントローラは、推測的要求にサービスすることにより非推測的要求の待ち時間が増大させられるのであれば、推測的要求にサービスしないように構成されている、請求項19に記載のコンピュータ・システム。
- 前記第1、第2および第3のしきい値が、プログラム可能となるように構成される、請求項16に記載のコンピュータ・システム。
- 前記第1、第2および第3のしきい値が、実配線値を有する、請求項16に記載のコンピュータ・システム。
- 前記メモリ・コントローラは、前記プロセッサがデータについての要求を発行した前記順序で、前記データを前記プロセッサに返すように構成される、請求項15に記載のコンピュータ・システム。
- コンピュータ・システムにおいて読み取り要求にサービスする方法であって、
プロセッサにより発行された読み取り要求を読み取りキュー中に受信するステップと、
メモリ・アクセス・モードを、3つ以上のメモリ・アクセス・モードを有するメモリ・アクセス・モードのセットから、前記読み取りキュー中の待ち状態の要求の数の関数として決定するステップと、
を含む、前記方法。 - 前記メモリ・アクセス・モードを決定する前記ステップが、
待ち状態の要求の前記数が第1のしきい値未満であれば、前記メモリ・アクセス・モードを第1のメモリ・アクセス・モードに設定するステップと、
待ち状態の要求の前記数が前記第1のしきい値以上かつ第2のしきい値未満であれば、前記メモリ・アクセス・モードを第2のメモリ・アクセス・モードに設定するステップと、
待ち状態の要求の前記数が前記第2のしきい値以上であれば、前記メモリ・アクセス・モードを第3のメモリ・アクセス・モードに設定するステップと、
をさらに含む、
請求項24に記載の方法。 - もし前記メモリ・アクセス・モードが前記第1のメモリ・アクセス・モードにあれば、最も古い要求がより新しい要求によって決して遅延されないようにメモリ・チップへの読み取りを発行することにより、前記読み取りキュー中の要求にサービスするステップをさらに含む、請求項25に記載の方法。
- もし前記メモリ・アクセス・モードが前記第2のメモリ・アクセス・モードにあれば、1つ以上のより新しい要求にサービスすることによりメモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求が第1の量だけ遅延されるようにするステップをさらに含む、請求項26に記載の方法。
- もし前記メモリ・アクセス・モードが前記第3のメモリ・アクセス・モードにあれば、1つ以上のより新しい要求にサービスすることにより前記メモリ・バス上の1つ以上のデッド・サイクルが除去されるときはいつも、前記最も古い要求にサービスする前に、前記1つ以上のより新しい要求にサービスすることにより、前記最も古い要求が第2の量だけ遅延されるようにし、前記第2の量は、前記第1の量大きい、ステップをさらに含む、請求項27に記載の方法。
- もし前記メモリ・アクセス・モードが前記第3のメモリ・アクセス・モードにあれば、推測的要求にサービスすることにより非推測的要求の待ち時間を遅延させるのであれば、推測的要求にサービスしないステップをさらに含む、請求項28に記載の方法。
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 true JP2009020883A (ja) | 2009-01-29 |
JP5340658B2 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110320778A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Centralized serialization of requests in a multiprocessor system |
CN102439576A (zh) * | 2009-04-09 | 2012-05-02 | 美光科技公司 | 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法 |
JP2014238768A (ja) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
JP2014238769A (ja) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
CN113590563A (zh) * | 2021-07-28 | 2021-11-02 | 深圳Tcl新技术有限公司 | 一种数据请求方法、系统及存储介质和服务器 |
Families Citing this family (1)
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005518606A (ja) * | 2002-02-21 | 2005-06-23 | インテル コーポレイション | メモリアクセスを制御する方法及び装置 |
WO2006058115A1 (en) * | 2004-11-24 | 2006-06-01 | 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
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005518606A (ja) * | 2002-02-21 | 2005-06-23 | インテル コーポレイション | メモリアクセスを制御する方法及び装置 |
WO2006058115A1 (en) * | 2004-11-24 | 2006-06-01 | Qualcomm Incorporated | Dynamic control of memory access speed |
JP2008522287A (ja) * | 2004-11-24 | 2008-06-26 | クゥアルコム・インコーポレイテッド | メモリ・アクセス速度のダイナミックな制御 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331351B2 (en) | 2009-04-09 | 2019-06-25 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
CN102439576A (zh) * | 2009-04-09 | 2012-05-02 | 美光科技公司 | 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法 |
JP2012523612A (ja) * | 2009-04-09 | 2012-10-04 | マイクロン テクノロジー, インク. | いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 |
US8751700B2 (en) | 2009-04-09 | 2014-06-10 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US10949091B2 (en) | 2009-04-09 | 2021-03-16 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US9015356B2 (en) | 2009-04-09 | 2015-04-21 | Micron Technology | 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 |
US20110320778A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Centralized serialization of requests in a multiprocessor system |
JP2014238769A (ja) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
US9672174B2 (en) | 2013-06-10 | 2017-06-06 | Olympus Corporation | Data-processing apparatus and data transfer control device |
US9645957B2 (en) | 2013-06-10 | 2017-05-09 | Olympus Corporation | Data processing device and data transfer control device |
JP2014238768A (ja) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | データ処理装置およびデータ転送制御装置 |
CN113590563A (zh) * | 2021-07-28 | 2021-11-02 | 深圳Tcl新技术有限公司 | 一种数据请求方法、系统及存储介质和服务器 |
Also Published As
Publication number | Publication date |
---|---|
JP5340658B2 (ja) | 2013-11-13 |
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 | |
US7281110B1 (en) | Random access memory controller with out of order execution | |
US7051172B2 (en) | Memory arbiter with intelligent page gathering logic | |
US6092158A (en) | Method and apparatus for arbitrating between command streams | |
US8560796B2 (en) | Scheduling memory access requests using predicted memory timing and state information | |
US7467277B2 (en) | Memory controller operating in a system with a variable system clock | |
US6799257B2 (en) | Method and apparatus to control memory accesses | |
US6182177B1 (en) | Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues | |
US7127574B2 (en) | Method and apparatus for out of order memory scheduling | |
US8572322B2 (en) | Asynchronously scheduling memory access requests | |
JP5340658B2 (ja) | コマンド選択のメモリ・コントローラ読み取りキュー動的最適化 | |
US10114560B2 (en) | Hybrid memory controller with command buffer for arbitrating access to volatile and non-volatile memories in a hybrid memory group | |
US9569393B2 (en) | Memory module threading with staggered data transfers | |
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 | |
US7669028B2 (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 | |
US8533368B2 (en) | Buffering device and buffering method |
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 |