JP2008522287A - メモリ・アクセス速度のダイナミックな制御 - Google Patents

メモリ・アクセス速度のダイナミックな制御 Download PDF

Info

Publication number
JP2008522287A
JP2008522287A JP2007543466A JP2007543466A JP2008522287A JP 2008522287 A JP2008522287 A JP 2008522287A JP 2007543466 A JP2007543466 A JP 2007543466A JP 2007543466 A JP2007543466 A JP 2007543466A JP 2008522287 A JP2008522287 A JP 2008522287A
Authority
JP
Japan
Prior art keywords
memory
access
command queue
commands
memory system
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
Application number
JP2007543466A
Other languages
English (en)
Other versions
JP4805943B2 (ja
Inventor
ウォーカー、ロバート・マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008522287A publication Critical patent/JP2008522287A/ja
Application granted granted Critical
Publication of JP4805943B2 publication Critical patent/JP4805943B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

【課題】メモリ・アクセス速度のダイナミックな制御
【解決手段】アクセス速度が調節されることができるメモリ・システムが開示される。本メモリ・システムは、メモリ及びメモリ・コントローラを含むことができる。メモリ・コントローラは、メモリをアクセスするために複数の制御信号を発生させるため、そして、メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために複数の制御信号間のタイミングを調節するために構成されることができる。
【選択図】図4

Description

本明細書は、一般的にメモリに係り、そしてより具体的に、メモリ・アクセス速度のダイナミックな制御に関する。
メモリ・システムは、様々な処理エンティティによって必要とされるデータを記憶するためにディジタル・システムにおいて今日広く使用されている。メモリ・システムは、一般にメモリへのアクセスを管理するメモリ・コントローラを含む。一般的なメモリは、メモリ・セルの行及び列によって形成され、各メモリ・セルがデータを記憶することができる行列構造を有する。メモリ・セルは、メモリ・コントローラに適切な行アドレス及び列アドレスを与えることによって、処理エンティティ又は別のソースによってアクセスされることができる。行アドレス及び列アドレスは、バス上で低い次数のビットを占める行アドレス及び高い次数を占める列アドレスを用いてバスを経由して送られることができる。行アドレス及び列アドレスは、“アドレス”として本明細書中では包括的に呼ばれる。
メモリ・コントローラは、アドレスからメモリに対する適切な制御信号を発生させるために使用することができる。より具体的に、メモリ・コントローラは、内部ポインタを適切な行に移動させるためにメモリに“行アクセス・ストローブ”を与えることができる。これは、メモリ中の“ページ”を開くことと一般的に考えられる。一旦、ページが開かれると、メモリ・コントローラは、選択された行の中の1つのメモリ・セルをアクセスするためにメモリに“列アクセス・ストローブ”を与えることができる。そのようにして、いずれかのメモリ動作に関係する遅延が、処理エンティティがメモリ中の開かれたページをアクセスするか開かれていないページをアクセスしようと試みるかどうかに依存することを、容易に知ることができる。処理エンティティがメモリ中の開かれていないページをアクセスしようと試みる場合に、メモリ・コントローラは、列アクセス・ストローブを与える前にポインタを移動させるために行アクセス・ストローブを与える必要がある。一方で、処理エンティティがメモリ中の開かれたページをアクセスしようと試みる場合に、メモリ・コントローラは、メモリに列アクセス・ストローブを与えることだけが必要である。
ソフトウェア・プログラムに基づくより効果的なプロセッサの出現で、メモリについてのデマンドは、増加してきてきる。その結果、高速アクセスの高性能メモリ・システムは、市場においてさらにありふれたものになってきている。これらの高性能メモリ・システムは、より低い性能のメモリ・システムよりもより多くの電力を消費する傾向がある。これは、セルラ電話機及び無線電話機、ラップトップ、個人ディジタル補助装置(PDA:personal digital assistant)及びその他のような、バッテリー動作のデバイスにおいて重要である。これらのデバイスでは、他のアプリケーションと同様に、省電力の懸念が、メモリ・アクセス速度の低下に関してより低い性能の設計に影響することがある。これらのより低い性能の設計は、バッテリー寿命を長くする傾向があるが、多くの場合に結果として1又はそれより多くの処理エンティティがメモリをアクセスするために待たなければならなくなる。
[サマリー]
本発明の1態様では、メモリ・システムは、メモリ、及び該メモリをアクセスするために複数の制御信号を発生させるために構成されたメモリ・コントローラを含む、ここにおいて、該メモリ・コントローラは該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節するためにさらに構成される。
本発明の別の1つの態様では、メモリ・システムにおいてメモリをアクセスする方法は、該メモリをアクセスするために複数の制御信号を発生すること、及び該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節することを含む。
本発明のさらに別の1つの態様では、メモリ・システムは、メモリ、及び該メモリをアクセスするために複数の制御信号を発生させるための手段と、該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節するための手段とを備えるメモリ・コントローラを含む。
本発明の別の実施形態が、以下の詳細な説明から当業者に容易に明らかになるであろうことが理解され、ここにおいて、本発明の様々な実施形態は、例示として示されそして説明される。理解されるように、本発明は、他の実施形態及び異なる実施形態を受け入れることができ、そしてそのいくつかの詳細は、本発明の精神及び範囲から全てが逸脱することなく、様々な別の関係において変形できる。したがって、図面及び詳細な説明は、限定的であるとしてではなく、本質において例示として見なされるべきである。
[詳細な説明]
添付された図面とともに以下に述べられる詳細な説明は、本発明の様々な実施形態の説明として意図され、そして本発明がその中で実行されることができる実施形態だけを示すように意図されていない。詳細な説明は、本発明の完全な理解を提供する目的のために具体的な詳細を含む。しかしながら、本発明がこれらの具体的な詳細なしに実行され得ることが、当業者に明白になるであろう。ある例において、周知の構造及びコンポーネントは、本発明の概念を不明確にすることを回避するためにブロック図の形式で示される。
メモリ・システムの1つの実施形態では、アクセス速度は、メモリについての現在のデマンド(demand)のような、1又はそれより多くのパラメータに基づいてダイナミックに調節されることができる。この例では、メモリについてのデマンドが高いときにメモリへの様々な制御信号のタイミングを調節することによって、メモリ・コントローラは、アクセス速度を増加させることができる。これは、メモリ・コントローラからの行アクセス・ストローブ及び列アクセス・ストローブをできる限り早くメモリがそれらを取り扱えるように発行することによって実現されることができる。より具体的に、2つの連続する列アクセス・ストローブ間の遅延(tCCD)は、メモリ内の開かれたページをアクセスするために必要とされる最小の時間に設定されることができ、行アクセス・ストローブと列アクセス・ストローブとの間の遅延(tRCD)は、メモリ内の新しいページをアクセスするために必要とされる最小の時間に設定されることができ、そして2つの連続する行アクセス・ストローブ間の遅延(tRRD)は、新しいページが開かれることができるまでページが開かれたままでいる必要がある最小の時間に設定されることができる。メモリについてのデマンドが減少すると、行アクセス・ストローブと列アクセス・ストローブとの間の遅延は、電力消費を削減させるためにダイナミックに増加されることがある。
図1は、メモリ・システムの一例を説明する概念的なブロック図である。メモリ・システム100は、メモリ102を含み、それはシンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM:Synchronous Dynamic Random Access Memory)、又はいずれかの別のタイプの記憶媒体であり得る。メモリ・コントローラ104は、各種の処理エンティティ(図示されず)によるメモリ102へのアクセスを管理するために使用されることができる。メモリ・システム100は、同様に、様々な処理エンティティとメモリ102との間で伝送されたデータに対する2方向バッファリングを提供するためのデータ・キュー(data queue)106、及びデータに関係するメモリ・アクセス・コマンドをバッファするためのコマンド・キュー(command queue)108を含むことができる。各コマンドは、メモリ102中の特定のアドレスへのリード動作要請又はライト動作要請を含むことができる。メモリ・コントローラ104は、メモリ102へ制御信号を与えることによってコマンド・キュー108中のコマンドを実行するために使用されることができる。制御信号は、行アクセス・ストローブ及び列アクセス・ストローブ、同様にリード/ライト・イネーブル信号を含むことができる。
図2は、メモリ・コントローラによって発生される種々の制御信号の一例を示すタイミング図である。クロック214は、メモリへのアクセスを同期させるために使用させることができる。最初のクロック・サイクル201において、メモリ・コントローラは、メモリの新しいページへのライト動作を要請しているコマンドをコマンド・キューから検索することができる。応答で、メモリ・コントローラは、メモリに行アクセス・ストローブ216を与える。この例では、メモリは、その内部ポインタを選択された行へ移動させるために最小2クロック・サイクルを必要とし、そしてそれゆえ、tRCDは、メモリ・コントローラによって2に設定される。
3番目のクロック・サイクルにおいて、メモリ・コントローラは、メモリに列アクセス・ストローブ218を与えて、選択された行の適切な列を起動させる。列アクセス・ストローブ218の間に、メモリは、ライト動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。ライト動作要請に応答して、メモリ・コントローラは、データ・キューからメモリへデータをリリースする。
メモリ・コントローラは、メモリの新しいページへのリード動作を要請している別の1つのコマンドをコマンド・キューから検索できる。この例では、しかしながら、メモリ中のページは、適正な動作を確実にするために最低4クロック・サイクルのあいだ開かれたままである必要があり、そしてそれゆえ、tRRDは、メモリ・コントローラによって4に設定される。その結果、メモリ・コントローラは、4番目のクロック・サイクル204においてメモリに行アクセス・ストローブ216を与える。応答で、メモリ・コントローラは、メモリ中の新しいページに対応する行にその内部ポインタを移動させる。
メモリ・コントローラは、メモリに列アクセス・ストローブ218を与える前に、6番目のクロック・サイクル206まで、さらに2クロック・サイクル待機する。列アクセス・ストローブ218の間に、メモリは、リード動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。リード動作要請に応答して、メモリは、データ222をデータ・キューに転送し始めることができる。
メモリ・コントローラは、メモリ中の同じページにリード動作を要請している別の1つのコマンドをコマンド・キューから検索することができる。この例では、2つの連続する列アクセス・ストローブの間の最小の遅延は、2であり、そしてそれゆえ、tCCDは、メモリ・コントローラによって2に設定される。その結果、メモリ・コントローラは、8番目のクロック・サイクル208においてメモリに列アクセス・ストローブ218を与える。列アクセス・ストローブ218の間に、メモリは、リード動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。リード動作要請に応答して、メモリは、データ・キューにデータ222を転送し始めることができる。
図2に図示された例では、制御信号は、メモリへの最大アクセス速度にメモリ・コントローラによって設定された。これらの制御信号及び/又は他の制御信号は、ある動作条件が変わる場合に、メモリへのアクセス速度を低下させるようにメモリ・コントローラによって調節されることができる。一例として、メモリ・コントローラは、メモリに対するデマンドが低いときに、電力を節約するために行アクセス・ストローブと列アクセス・ストローブとの間の遅延を増加させることができる。メモリ・コントローラがメモリについてのデマンドをその中で決定する方法は、様々な形式を取ることができる。1つの実施形態では、メモリ・コントローラは、コマンド・キュー中のコマンドの数に基づいて1又はそれより多くの制御信号を調節することができる。メモリ・コントローラは、コマンド・キュー中のコマンドの数が第1のしきい値を超えるときに、行アクセス・ストローブと列アクセス・ストローブとの間の遅延を減少させることによって高速アクセスのためにメモリを設定することができる。メモリ・コントローラは、コマンド・キュー中のコマンドの数が第2のしきい値を下回るときに、低速アクセスのためにメモリを設定することができる。第1のしきい値及び第2のしきい値は、同じであり得る、又は異なることがあり得る。後者のケースでは、ヒステリシスは、メモリ・コントローラが高アクセス速度と低アクセス速度との間でメモリを中間的に遷移させることを防止することができる。一例として、第1のしきい値は、結果としてコマンド・キューが最大数の30%になるコマンドの数に設定されることができ、そして第2のしきい値は、結果としてコマンド・キューが最大数の20%になるコマンドの数に設定されることができ、結果として20%と30%との間の10%のヒステリシス幅になる。あるいは、ヒステリシス幅は、メモリへの中間アクセス速度に対して1又はそれより多くの制御信号を設定するために使用されることができる。いずれかの特定のアプリケーションのために使用する実際のしきい値レベルは、システム性能要請及び全体の設計制約を含む様々な要因に依存することがある。
メモリ・システムのある複数の実施形態では、メモリ・コントローラは、メモリについてのデマンド以外の考察に基づいて1又はそれより多くの制御信号のタイミングを調節するために構成されることができる。一例として、メモリ・コントローラは、温度に基づいて1又はそれより多くの制御信号のタイミングを調節することができる。もし温度が高すぎるのであれば、メモリについてのデマンドが高い期間の間でさえも、メモリ・コントローラは、メモリへの高速アクセスを禁止することができる。これは、温度が高くなるにつれて行アクセス・ストローブと列アクセス・ストローブとの間の遅延を長くすることによって実現されることができる。
メモリ・システムの同じ実施形態及び/又は代わりの実施形態では、メモリ・コントローラは、コマンド・キュー中のコマンドの古さに基づいて1又はそれより多くの制御信号のタイミングを調節するために構成されることができる。このアプローチは、各バンクに対して別々のコマンド・キューを有するマルチ・メモリ・バンクを採用するメモリ・システムに対してよく適していることがある。この構成では、メモリ・コントローラが別のメモリ・バンクに対するコマンドを実行するので、1つのメモリ・バンクに対するコマンドのブロックが古くなり始めることがあることは、可能性がある。これが生じるとき、メモリについての及び/又はメモリ・バンクについての全体のデマンドが低い場合でさえも、メモリ・コントローラは、そのコマンド・キュー内に古いコマンドを有するメモリ・バンクへの高速アクセスのためにメモリを調節することができる。
図3は、メモリへの低速アクセスのためにメモリ・コントローラによって発生される種々の制御信号の別の一例を示すタイミング図である。この例では、行アクセス・ストローブと列アクセス・ストローブとの間の遅延tRCDは、2クロック・サイクルから3クロック・サイクルに増加されてきており、2つの連続する行アクセス・ストローブ間の遅延tRRDは、4クロック・サイクルから6クロック・サイクルに増加してきていて、そして2つの連続する列アクセス・ストローブ間の遅延tCCDは、2クロック・サイクルから3クロック・サイクルに増加してきている。
図3を参照して、メモリ・コントローラは、メモリ中の新しいページにライト動作を要請しているコマンドをコマンド・キューから検索することができる。応答して、メモリ・コントローラは、最初のクロック・サイクル201においてメモリに行アクセス・ストローブ216を与え、そして選択された行中の適切な列を起動させるために4番目のクロック・サイクル204においてメモリへ列アクセス・ストローブ218を与える。列アクセス・ストローブ218の間に、メモリは、ライト動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。ライト動作要請に応答して、メモリ・コントローラは、データ・キューからメモリへデータをリリースする。
メモリ・コントローラは、メモリの新しいページにリード動作を要請している別の1つのコマンドをコマンド・キューから検索することができる。この例では、メモリ・コントローラは、6番目のクロック・サイクル206においてメモリへの行アクセス・ストローブ216を与え、そして9番目のクロック・サイクル209においてメモリへの列アクセス・ストローブ218を与える。列アクセス・ストローブ218の間に、メモリは、リード動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。リード動作要請に応答して、メモリは、データ・キューにデータ222を転送し始めることができる。
メモリ・コントローラは、メモリの同じページにリード動作を要請している別の1つのコマンドをコマンド・キューから検索することができる。この例では、メモリ・コントローラは、12番目のクロック・サイクル212においてメモリへの列アクセス・ストローブ218を与える。列アクセス・ストローブ218の間に、メモリは、リード動作が要請されようとしていることを決定するためにリード/ライト・イネーブル信号220をサンプリングする。リード動作要請に応答して、メモリは、データ・キューにデータ222の新しいブロックを転送し始めることができる。
複数の制御信号間のタイミングは、様々な様式でメモリ・コントローラによって調節されることができる。図4は、制御信号がどのように調節されることができるかの一例を説明する機能ブロック図である。タイミング・パラメータ・レジスタ402は、メモリへの高速アクセスのためのタイミング・パラメータ値を記憶するために使用されることができる。一例として、タイミング・パラメータ値は、メモリの開かれているページをアクセスするために必要な最小の時間(tCCD)、メモリ中の新しいページをアクセスするために必要な最小の時間((tRCD)、又は新しいページが開かれることがあるまでページが開かれたままである必要がある最小の時間(tRRD)であり得る。
加算器404は、現在の動作状態に基づいてタイミング・パラメータ値を増加させるために使用されることができる。タイミング・パラメータが増加される量は、マルチプレクサ406によって決定されることができ、それは、この例では、メモリについてのデマンド及び動作温度の両方に基づいてタイミング・パラメータ値に加算する遅延値を選択する。メモリについてのデマンドは、それがどの程度満たされているかを示すコマンド・キューによって発生される信号から決定されることができ、そして動作温度は、1又はそれより多くの温度センサによって発生される信号から決定されることができる。タイミング・パラメータ値と遅延値との合計は、適切な時刻にカウンタ408へとロードされることができ、そして各クロック・サイクルでカウント・ダウンされることができる。カウンタ408がゼロになるときに、制御信号は、メモリに与えられることができる。
一例が、行アクセス・ストローブと列アクセス・ストローブとの間のタイミングtRCDに関係して述べられる。このケースでは、遅延値は、コマンド・キュー中のコマンドの数及び動作温度に基づいてマルチプレクサ408によって選択される。一例として、コマンド・キューが高いレベルまで満たされているときに、もし動作温度が低ければ“0”の遅延値が選択されることができ、そしてもし動作温度が高ければ“1”の遅延値が選択されることができる。これは、結果としてメモリ・アクセス速度に関して最大の性能になるが、同様に、動作温度が高くなったときに、メモリのアクセス速度が減速されるようにすることを可能にする。コマンド・キュー中のコマンドが低いレベルに低下するとき、もし動作温度が低ければ“2”の遅延値が選択されることができ、そしてもし動作温度が高ければ“3”の遅延値が選択されることができる。いずれにせよ、選択された遅延値は、タイミング・パラメータ値に加算されることができ、そして結果の合計は、カウンタ408の入力に与えられる。メモリ・コントローラによって発生された行アクセス・ストローブは、カウンタをロードするために使用されることができる。カウンタ408は、それから、ゼロになるまで各クロック・サイクルごとにカウント・ダウンされる。カウンタ408からのゼロの出力は、列アクセス・ストローブとしてメモリに与えられることができる。
本明細書中に開示された実施形態に関連して述べられた、各種の例示の論理ブロック、モジュール、回路、素子及び/又はコンポーネントは、汎用プロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)若しくはその他のプログラマブル論理コンポーネント、ディスクリート・ゲート論理素子又はトランジスタ論理素子、ディスクリート・ハードウェア・コンポーネント、若しくは本明細書中に説明された機能を実行するために設計されたこれらのいずれかの組み合わせを用いて、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステート・マシンであり得る。プロセッサは、演算コンポーネントの組み合わせとして与えられることができる。例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれより多くのマイクロプロセッサの組み合わせ、若しくはいずれかの他のそのような構成の組み合わせであることができる。
本明細書中に開示された実施形態に関連して説明された方法又はアルゴリズムは、ハードウェアにおいて、プロセッサにより実行されるソフトウェア・モジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、脱着可能なディスク、CD−ROM、若しくは、この技術において公知の他のいずれかの記憶媒体の中に存在することができる。記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そしてそこに情報を書き込めるようにプロセッサに接続されることができる。あるいは、記憶媒体は、プロセッサに集積されることができる。
開示された実施形態のこれまでの説明は、本技術に知識のあるいかなる者でも、本発明を作成する又は使用することを可能にするために提供される。これらの実施形態への様々な変形は、当業者に容易に明白にされるであろう。そして、ここで規定された一般的な原理は、本発明の精神又は範囲から逸脱することなく、その他の実施形態に適用されることができる。それゆえ、本発明は、本明細書中に示された実施形態に限定することを意図したものではなく、特許請求の範囲と矛盾のない範囲全体に適用され、ここにおいて、単数形のエレメントに対する引用は、具体的にそのように述べられていない限り“1つ又は1つだけ”を意味するように意図されるのではなく、むしろ“1又はそれより多く”を意味するように意図される。当業者に公知の又は後で公知になる本明細書中で全体を通して記載された種々の実施形態のエレメントに構造的に及び機能的に等価な全てのものは、引用により本明細書中に広く組み込まれ、そして特許請求の範囲によって包含されるように意図されている。その上、本明細書中に開示された何ものも、そのような開示が特許請求の範囲に明示的に列挙されているかどうかに拘わらず、公共に与えられるようになると意図されたものではない。要素が、“ための手段”の文節を使用して広く列挙される、又は方法の請求項の場合には、要素が、“ためのステップ”の文節を使用して列挙されていない限り、どの特許要素も、米国特許法35§112、6段落の規定のもとで解釈されるべきではない。
図1は、メモリ・システムの一例を説明する概念的なブロック図である。 図2は、高速メモリ・アクセスのためにメモリ・コントローラによって発生される種々の制御信号の一例を示すタイミング図である。 図3は、低速メモリ・アクセスのためにメモリ・コントローラによって発生される種々の制御信号の一例を示すタイミング図である。 図4は、メモリのための制御信号がどのように調節されることができるかの一例を説明する機能ブロック図である。
符号の説明
100…メモリ・システム,201〜212…クロック・サイクル,406…マルチプレクサ。

Claims (23)

  1. メモリ、及び
    該メモリをアクセスするために複数の制御信号を発生させるために構成されたメモリ・コントローラを具備し、ここにおいて、該メモリ・コントローラは該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節するためにさらに構成される、
    ことを特徴とするメモリ・システム。
  2. 該パラメータは、該メモリについてのデマンドに関係することを特徴とする請求項1のメモリ・システム。
  3. 1又はそれより多くのソースから複数のメモリ・アクセス・コマンドを受け取るために構成されたコマンド・キューをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中のコマンドの数に関係することを特徴とする請求項1のメモリ・システム。
  4. 該メモリ・コントローラは、該コマンド・キュー中の該コマンドの数が第1のしきい値を超える場合に、該メモリ・アクセス速度を第1のアクセス速度に変更するように、そして該コマンド・キュー中の該コマンドの数が第2のしきい値を下回る場合に、該メモリ・アクセス速度を第2のアクセス速度に変更するように該複数の制御信号間の該タイミングを調節するためにさらに構成される、ここにおいて、該第1のアクセス速度は該第2のアクセス速度よりも速いことを特徴とする請求項3のメモリ・システム。
  5. 該第1のしきい値及び該第2のしきい値は、同じであることを特徴とする請求項4のメモリ・システム。
  6. 該第1のしきい値及び該第2のしきい値は、異なることを特徴とする請求項4のメモリ・システム。
  7. 該制御信号は、行アクセス・ストローブ及び列アクセス・ストローブを具備することを特徴とする請求項1のメモリ・システム。
  8. 該メモリ・コントローラは、複数の該行アクセス・ストローブのうちの2つの間の遅延、複数の該列アクセス・ストローブのうちの2つの間の遅延、又は複数の該行アクセス・ストローブのうちの1つと複数の該列アクセス・ストローブのうちの1つとの間の遅延を変えることによって複数の該制御信号間のタイミングを調節するためにさらに構成されることを特徴とする請求項7のメモリ・システム。
  9. 該パラメータは、該メモリ・システムの温度にさらに関係することを特徴とする請求項1のメモリ・システム。
  10. 1又はそれより多くのソースから複数のメモリ・アクセス・コマンドを受け取るために構成されたコマンド・キューをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中の1又はそれより多くのコマンドの古さに関係することを特徴とする請求項1のメモリ・システム。
  11. 1又はそれより多くのソースから複数のメモリ・アクセス・コマンドを受け取るために構成されたコマンド・キューをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中のコマンドの数及び該メモリ・システムの温度に関係し、そしてここにおいて、該制御信号は、行アクセス・ストローブ及び列アクセス・ストローブを備えることを特徴とする請求項1のメモリ・システム。
  12. メモリをアクセスするために複数の制御信号を発生すること、及び
    該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節すること、
    を具備することを特徴とする、メモリ・システムにおいてメモリをアクセスする方法。
  13. 該パラメータは、該メモリについてのデマンドに関係することを特徴とする請求項12の方法。
  14. 1又はそれより多くのソースからコマンド・キューの中へと複数のメモリ・アクセス・コマンドを受け取ることをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中のコマンドの数に関係することを特徴とする請求項12の方法。
  15. 該複数の制御信号間の該タイミングは、第1のしきい値を超える該コマンド・キュー中の該コマンドの数に応じて第1のアクセス速度に該メモリ・アクセス速度を変更するように、そして第2のしきい値を下回る該コマンド・キュー中の該コマンドの数に応じて第2のアクセス速度に該メモリ・アクセス速度を変更するように調節される、ここにおいて、該第1のアクセス速度は該第2のアクセス速度よりも速いことを特徴とする請求項14の方法。
  16. 該第1のしきい値及び該第2のしきい値は、同じであることを特徴とする請求項15の方法。
  17. 該第1のしきい値及び該第2のしきい値は、異なることを特徴とする請求項15の方法。
  18. 該制御信号は、行アクセス・ストローブ及び列アクセス・ストローブを備えることを特徴とする請求項12の方法。
  19. 該複数の制御信号間の該タイミングは、複数の該行アクセス・ストローブのうちの2つの間の遅延、複数の該列アクセス・ストローブのうちの2つの間の遅延、又は複数の該行アクセス・ストローブのうちの1つと複数の該列アクセス・ストローブのうちの1つとの間の遅延を変えることによって調節されることを特徴とする請求項18の方法。
  20. 該パラメータは、該メモリ・システムの温度にさらに関係することを特徴とする請求項12の方法。
  21. 1又はそれより多くのソースからコマンド・キューの中へと複数のメモリ・アクセス・コマンドを受け取ることをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中の1又はそれより多くのコマンドの古さに関係することを特徴とする請求項12の方法。
  22. 1又はそれより多くのソースからコマンド・キューの中へと複数のメモリ・アクセス・コマンドを受け取ること、及び該メモリ・システムの温度をモニタすることをさらに具備し、そしてここにおいて、該パラメータは、該コマンド・キュー中のコマンドの数及び該モニタされた温度に関係し、そしてここにおいて、該制御信号は、行アクセス・ストローブ及び列アクセス・ストローブを備えることを特徴とする請求項12の方法。
  23. メモリ、及び
    該メモリをアクセスするために複数の制御信号を発生させるための手段と、該メモリ・システムの動作に関係するパラメータの関数としてメモリ・アクセス速度を変更するために該複数の制御信号間のタイミングを調節するための手段とを備えるメモリ・コントローラ、
    を具備することを特徴とするメモリ・システム。
JP2007543466A 2004-11-24 2005-11-22 メモリ・アクセス速度のダイナミックな制御 Active JP4805943B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/997,140 2004-11-24
US10/997,140 US7650481B2 (en) 2004-11-24 2004-11-24 Dynamic control of memory access speed
PCT/US2005/042532 WO2006058115A1 (en) 2004-11-24 2005-11-22 Dynamic control of memory access speed

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011136843A Division JP5389865B2 (ja) 2004-11-24 2011-06-21 メモリ・アクセス速度のダイナミックな制御

Publications (2)

Publication Number Publication Date
JP2008522287A true JP2008522287A (ja) 2008-06-26
JP4805943B2 JP4805943B2 (ja) 2011-11-02

Family

ID=36129981

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007543466A Active JP4805943B2 (ja) 2004-11-24 2005-11-22 メモリ・アクセス速度のダイナミックな制御
JP2011136843A Active JP5389865B2 (ja) 2004-11-24 2011-06-21 メモリ・アクセス速度のダイナミックな制御

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011136843A Active JP5389865B2 (ja) 2004-11-24 2011-06-21 メモリ・アクセス速度のダイナミックな制御

Country Status (8)

Country Link
US (1) US7650481B2 (ja)
EP (1) EP1836583B1 (ja)
JP (2) JP4805943B2 (ja)
KR (1) KR100953257B1 (ja)
CN (1) CN101103344B (ja)
BR (1) BRPI0518265A2 (ja)
IL (1) IL183411A0 (ja)
WO (1) WO2006058115A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020883A (ja) * 2007-07-10 2009-01-29 Internatl Business Mach Corp <Ibm> コマンド選択のメモリ・コントローラ読み取りキュー動的最適化

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7164289B1 (en) * 2005-01-21 2007-01-16 Altera Corporation Real time feedback compensation of programmable logic memory
WO2008079910A2 (en) * 2006-12-20 2008-07-03 Rambus Inc. Strobe acquisition and tracking
US7837907B2 (en) * 2007-07-20 2010-11-23 Molecular Imprints, Inc. Alignment system and method for a substrate in a nano-imprint process
US20100274933A1 (en) * 2009-04-24 2010-10-28 Mediatek Inc. Method and apparatus for reducing memory size and bandwidth
US8996836B2 (en) * 2009-12-18 2015-03-31 Micron Technology, Inc. Stacked device detection and identification
US8694812B2 (en) * 2010-03-29 2014-04-08 Dot Hill Systems Corporation Memory calibration method and apparatus for power reduction during flash operation
US8972818B2 (en) * 2012-10-05 2015-03-03 Qualcomm Incorporated Algorithm for optimal usage of external memory tuning sequence
US9224442B2 (en) * 2013-03-15 2015-12-29 Qualcomm Incorporated System and method to dynamically determine a timing parameter of a memory device
WO2014183287A1 (en) * 2013-05-16 2014-11-20 Advanced Micro Devices, Inc. Memory system with region-specific memory access scheduling
KR102108839B1 (ko) 2013-06-12 2020-05-29 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 사용자 장치 및 그것의 데이터 쓰기 방법
TWI493568B (zh) 2013-08-19 2015-07-21 Ind Tech Res Inst 記憶體裝置
KR102193468B1 (ko) 2014-04-04 2020-12-21 삼성전자주식회사 타이밍 마진을 적응적으로 보정하는 메모리 장치 및 이를 포함하는 집적 회로
US20150363116A1 (en) * 2014-06-12 2015-12-17 Advanced Micro Devices, Inc. Memory controller power management based on latency
US10592122B2 (en) * 2015-03-31 2020-03-17 Sandisk Technologies Llc Inherent adaptive trimming
KR101725691B1 (ko) * 2015-12-28 2017-04-12 성균관대학교산학협력단 발열을 고려한 비휘발성 데이터 저장 장치 및 액세스 제어 방법
US10756816B1 (en) * 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
KR20180085605A (ko) 2017-01-19 2018-07-27 삼성전자주식회사 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법
US10691345B2 (en) * 2017-09-29 2020-06-23 Intel Corporation Systems, methods and apparatus for memory access and scheduling
US10593409B2 (en) 2017-10-12 2020-03-17 Distech Controls Inc. Memory device comprising flash memory and method for controlling a write speed of a bus transmitting data for storage on the flash memory
US10642746B2 (en) * 2018-03-22 2020-05-05 Western Digital Technologies, Inc. Controlling cached/non-cached memory access decisions based on memory access queue fill levels
US11169583B2 (en) * 2018-08-07 2021-11-09 Western Digital Technologies, Inc. Methods and apparatus for mitigating temperature increases in a solid state device (SSD)
US11119665B2 (en) * 2018-12-06 2021-09-14 Advanced Micro Devices, Inc. Dynamic voltage and frequency scaling based on memory channel slack
CN111913651B (zh) * 2019-05-10 2024-03-01 技嘉科技股份有限公司 固态硬盘以及固态硬盘的效能优化方法
US11151043B2 (en) 2019-08-12 2021-10-19 Micron Technology, Inc. Demand delay and data value correlated memory pre-fetching systems and methods
CN110927562B (zh) * 2019-12-19 2022-08-05 西安紫光国芯半导体有限公司 一种兼容老化测试的方法及其芯片
TWI801106B (zh) * 2022-01-24 2023-05-01 宜鼎國際股份有限公司 記憶體存取速度調整方法、控制裝置以及記憶體模組
WO2023158136A1 (ko) * 2022-02-18 2023-08-24 삼성전자주식회사 메모리 제어 방법 및 상기 방법을 수행하는 전자 장치

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282042A (ja) * 1996-04-15 1997-10-31 Sony Corp データ処理装置
JP2000105587A (ja) * 1998-08-20 2000-04-11 Seiko Epson Corp メモリ制御装置、情報プロセッサ装置、メモリ制御方法及び記録媒体
JP2000137470A (ja) * 1998-07-17 2000-05-16 Seiko Epson Corp メモリ制御装置、メモリ制御方法、情報プロセッサシステム及び記録媒体
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
JP2002189628A (ja) * 2000-09-29 2002-07-05 Intel Corp メモリー素子の電力管理方法および装置
US20030137519A1 (en) * 2002-01-22 2003-07-24 Nazanda Rima M. Method and apparatus to handle multiple requests to different memory agents
US6636909B1 (en) * 2000-07-05 2003-10-21 Sun Microsystems, Inc. Adaptive throttling for fiber channel disks
US20040019738A1 (en) * 2000-09-22 2004-01-29 Opher Kahn Adaptive throttling of memory accesses, such as throttling RDRAM accesses in a real-time system
JP2006099569A (ja) * 2004-09-30 2006-04-13 Kyocera Mita Corp メモリインタフェース回路及びクロック制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US137519A (en) * 1873-04-01 Improvement in buckle attachments to harness-saddles
US19738A (en) * 1858-03-23 mihan
AU5368696A (en) 1995-03-22 1996-10-08 Ast Research, Inc. Rule-based dram controller
US5956289A (en) * 1997-06-17 1999-09-21 Micron Technology, Inc. Clock signal from an adjustable oscillator for an integrated circuit
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering
US6049882A (en) * 1997-12-23 2000-04-11 Lg Semicon Co., Ltd. Apparatus and method for reducing power consumption in a self-timed system
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
US6542416B1 (en) * 2001-11-02 2003-04-01 Rambus Inc. Methods and arrangements for conditionally enforcing CAS latencies in memory devices
US6680874B1 (en) * 2002-08-29 2004-01-20 Micron Technology, Inc. Delay lock loop circuit useful in a synchronous system and associated methods
US6963516B2 (en) * 2002-11-27 2005-11-08 International Business Machines Corporation Dynamic optimization of latency and bandwidth on DRAM interfaces
US6940768B2 (en) * 2003-11-04 2005-09-06 Agere Systems Inc. Programmable data strobe offset with DLL for double data rate (DDR) RAM memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282042A (ja) * 1996-04-15 1997-10-31 Sony Corp データ処理装置
JP2000137470A (ja) * 1998-07-17 2000-05-16 Seiko Epson Corp メモリ制御装置、メモリ制御方法、情報プロセッサシステム及び記録媒体
JP2000105587A (ja) * 1998-08-20 2000-04-11 Seiko Epson Corp メモリ制御装置、情報プロセッサ装置、メモリ制御方法及び記録媒体
JP2001290697A (ja) * 2000-04-06 2001-10-19 Hitachi Ltd 情報処理システム
US6636909B1 (en) * 2000-07-05 2003-10-21 Sun Microsystems, Inc. Adaptive throttling for fiber channel disks
US20040019738A1 (en) * 2000-09-22 2004-01-29 Opher Kahn Adaptive throttling of memory accesses, such as throttling RDRAM accesses in a real-time system
JP2002189628A (ja) * 2000-09-29 2002-07-05 Intel Corp メモリー素子の電力管理方法および装置
US20030137519A1 (en) * 2002-01-22 2003-07-24 Nazanda Rima M. Method and apparatus to handle multiple requests to different memory agents
JP2006099569A (ja) * 2004-09-30 2006-04-13 Kyocera Mita Corp メモリインタフェース回路及びクロック制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020883A (ja) * 2007-07-10 2009-01-29 Internatl Business Mach Corp <Ibm> コマンド選択のメモリ・コントローラ読み取りキュー動的最適化

Also Published As

Publication number Publication date
EP1836583B1 (en) 2018-05-30
EP1836583A1 (en) 2007-09-26
US20060112250A1 (en) 2006-05-25
JP2011238256A (ja) 2011-11-24
CN101103344A (zh) 2008-01-09
JP4805943B2 (ja) 2011-11-02
IL183411A0 (en) 2007-09-20
BRPI0518265A2 (pt) 2008-11-11
KR100953257B1 (ko) 2010-04-16
US7650481B2 (en) 2010-01-19
CN101103344B (zh) 2011-12-14
KR20070086503A (ko) 2007-08-27
JP5389865B2 (ja) 2014-01-15
WO2006058115A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
JP4805943B2 (ja) メモリ・アクセス速度のダイナミックな制御
Zheng et al. Mini-rank: Adaptive DRAM architecture for improving memory power efficiency
Bhati et al. DRAM refresh mechanisms, penalties, and trade-offs
US10268382B2 (en) Processor memory architecture
JP6211186B2 (ja) Dramサブアレイレベル自律リフレッシュメモリコントローラの最適化
US7099215B1 (en) Systems, methods and devices for providing variable-latency write operations in memory devices
JP3715714B2 (ja) 低電力メモリシステム
JP5893632B2 (ja) ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
US8127153B2 (en) Memory power profiling
US20040184324A1 (en) Reduced power registered memory module and method
CA2588703A1 (en) Priority scheme for executing commands in memories
WO2014209891A1 (en) Hybrid memory device
WO2014059613A1 (zh) 降低内存系统功耗的方法和内存控制器
WO2018188085A1 (zh) 内存刷新技术及计算机系统
CN104460941B (zh) 一种降低主存存储器满负荷运行功耗的方法
US10175893B2 (en) Predictive scheduler for memory rank switching
Quan et al. Prediction table based management policy for STT-RAM and SRAM hybrid cache
US20090249097A1 (en) Optimizing performance and power consumption during memory power down state
US20070016807A1 (en) Method for reducing memory power consumption
Wang et al. Building and optimizing MRAM-based commodity memories
US20220179797A1 (en) Memory transaction queue bypass based on configurable address and bandwidth conditions
Liu et al. An approach for adaptive DRAM temperature and power management
EP1379954B1 (en) Dynamically configurable page table
Chang et al. Reducing DRAM Refresh Overheads with Refresh-Access Parallelism
Lee et al. Tiered-Latency DRAM: Enabling Low-Latency Main Memory at Low Cost

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110428

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110511

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110531

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110621

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: 20110712

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: 20110811

R150 Certificate of patent or registration of utility model

Ref document number: 4805943

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: 20140819

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250