JP6059399B2 - メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法 - Google Patents

メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法 Download PDF

Info

Publication number
JP6059399B2
JP6059399B2 JP2016501494A JP2016501494A JP6059399B2 JP 6059399 B2 JP6059399 B2 JP 6059399B2 JP 2016501494 A JP2016501494 A JP 2016501494A JP 2016501494 A JP2016501494 A JP 2016501494A JP 6059399 B2 JP6059399 B2 JP 6059399B2
Authority
JP
Japan
Prior art keywords
memory
value
timing
access request
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.)
Expired - Fee Related
Application number
JP2016501494A
Other languages
English (en)
Other versions
JP2016515269A5 (ja
JP2016515269A (ja
Inventor
シアンユ・ドン
ジュンウォン・スー
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2016515269A publication Critical patent/JP2016515269A/ja
Publication of JP2016515269A5 publication Critical patent/JP2016515269A5/ja
Application granted granted Critical
Publication of JP6059399B2 publication Critical patent/JP6059399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Executing Machine-Instructions (AREA)

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に明確に組み込まれる、2013年3月15日に出願された同一出願人が所有する米国非仮特許出願第13/842,410号の優先権を主張する。
本開示は、一般に、メモリデバイスのタイミングパラメータを決定することに関する。
技術の進歩は、より小型でより高性能なコンピューティングデバイスをもたらした。たとえば、現在、小型で、軽量で、ユーザが簡単に持ち運べる、ポータブルワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々なポータブルパーソナルコンピューティングデバイスが存在する。より具体的には、携帯電話およびインターネットプロトコル(IP)電話などのポータブルワイヤレス電話は、ワイヤレスネットワークを通じて音声およびデータパケットを通信することができる。さらに、多くのそのようなワイヤレス電話には、内部に他のタイプのデバイスが組み込まれている。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤをも含み得る。また、そのようなワイヤレス電話は、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用され得るソフトウェアアプリケーションを含む実行可能な命令を処理することができる。したがって、これらのワイヤレス電話は、かなりのコンピューティング能力を含むことができる。
コンピューティングデバイスは、メモリデバイス(たとえば、ダイナミックランダムアクセスメモリ(DRAM))を含むことができる。メモリデバイスは、複数の行および複数の列に配置される複数の記憶要素を含み得る。メモリデバイスは、タイミングパラメータ(たとえば、read-to-dataレイテンシ(RL))に基づいてプロセッサから受信されたメモリアクセス要求を処理することができる。RLタイミングパラメータは、READコマンドを受信することと、READコマンドに関連したデータをデータバスに提供することとの間のタイミングサイクルの数に対応する。メモリデバイスのタイミングパラメータは、固定値(たとえば、メモリデバイスの製造業者によって設定される)を有し得る。たとえば、固定のRLタイミングパラメータは、行アクセスレイテンシ(たとえば、行アクセスストロボ(RAS)レイテンシ)、および列アクセスレイテンシ(たとえば、列アクセスストロボ(CAS)レイテンシ)を含み得る。いくつかのメモリアクセス動作に固定のRLタイミングパラメータを使用することによって、いくつかのタイミングサイクルの間、データバスがアイドルになる、すなわち、前のメモリアクセスにサービスした後、アイドルであるデータバスとなり得る。
メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法を開示する。有利には、動的に決定されたタイミングパラメータは、データバスのスループットを増加させ得る。たとえば、メモリデバイスによって複数のメモリアクセス要求が受信され得る。特定のメモリアクセス要求は、前のメモリアクセス要求と同じメモリの行からのデータを要求し得る。固定のタイミングパラメータは、異なる行および列が連続してアクセスされるときに起こる行アクセスレイテンシおよび列アクセスレイテンシに基づいて定義される。しかしながら、行が変わらないとき(すなわち、同じ行からのデータが再びアクセスされるとき)、行アクセスレイテンシはゼロである。したがって、固定のレイテンシタイミングパラメータの使用は、同じ行における連続したデータ要求についての行アクセスレイテンシに関連したデータバスアイドル時間をもたらす。
記載されている技法によれば、動的タイミングパラメータは、列アクセスレイテンシに基づいて決定され得る。動的タイミングパラメータは、同じ行における連続したデータ要求に関連したデータを提供し始めるべきときを決定するために使用され得、データバスがアイドルである持続時間を低減することができる。それによって、同じ行に対する連続したデータ要求のために、データバススループットが増加する。
特定の実施形態では、方法は、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップを含む。この方法は、メモリデバイスのタイミングパラメータに基づいて第1のメモリアクセス要求を処理するステップも含む。この方法は、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するステップをさらに含む。この方法は、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するステップを含む。この方法は、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するステップをさらに含む。
別の特定の実施形態では、メモリデバイスは、複数の記憶要素と、メモリ制御論理とを含む。このメモリ制御論理は、複数の記憶要素とプロセッサとに結合される。メモリ制御論理は、プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成される。タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する。
別の特定の実施形態では、装置は、プロセッサと、メモリコントローラとを含む。メモリコントローラは、プロセッサと、メモリデバイスとに結合される。メモリコントローラは、メモリデバイスに対する複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するように構成される。タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する。
別の特定の実施形態では、方法は、メモリコントローラからメモリデバイスに第1のメモリアクセス要求を送信するステップを含む。この方法は、タイミングパラメータの第1の値に基づいてメモリデバイスからメモリコントローラへの第1のデータ送信の第1の時間を予測するステップも含む。データ送信は、第1のメモリアクセス要求に関連する。この方法は、第2のメモリアクセス要求をメモリデバイスに送信するステップをさらに含む。この方法は、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値を決定するステップも含む。この方法は、第2の値に基づいてメモリデバイスからメモリコントローラへの第2のデータ送信の第2の時間を予測するステップをさらに含む。第2のデータ送信は、第2のメモリアクセス要求に関連する。
別の特定の実施形態では、コンピュータ可読ストレージデバイスは、プロセッサによって実行されると、プロセッサに、第1のメモリアクセス要求を受信させ、タイミングパラメータの第1の値に基づいて第1のメモリアクセス要求を処理させる命令を記憶する。命令はまた、プロセッサによって実行されると、プロセッサに、第2のメモリアクセス要求を受信させる。命令はさらに、プロセッサによって実行されると、プロセッサに、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに少なくとも部分的に基づいて、タイミングパラメータを変更させる。変更されたタイミングパラメータは、第2の値を有する。命令はまた、プロセッサによって実行されると、プロセッサに、第2の値に基づいて第2のメモリアクセス要求を処理させる。
別の特定の実施形態では、方法は、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するための第1のステップを含む。この方法は、メモリデバイスのタイミングパラメータの第1の値に基づいて第1のメモリアクセス要求を処理するための第2のステップも含む。この方法は、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するための第3のステップをさらに含む。この方法は、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するための第4のステップも含む。この方法は、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するための第5のステップをさらに含む。
開示された実施形態のうちの少なくとも1つによって提供される1つの特定の利点は、タイミングパラメータを動的に更新することによって、メモリデバイスのデータバスがより効率的に使用され得ることである。たとえば、いくつかの状況では、動的RLタイミングパラメータは、固定のRLタイミングパラメータよりも低くてもよい。動的RLタイミングパラメータは、メモリアクセスが前のメモリアクセスと同じメモリの行に向けられるとき、メモリアクセスのRAS遅延の欠如を利用することができる。動的RLタイミングパラメータを使用することによって、メモリのデータバスがアイドルである持続時間は、より短くなり得る。
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態のブロック図である。 図1のシステムの動的タイミングパラメータを決定することに関連したタイミング図である。 図1のシステムの動的タイミングパラメータを決定することに関連した別のタイミング図である。 図1のシステムのメモリコントローラの一実施形態の図である。 図1のシステムのメモリ制御論理の一実施形態の図である。 メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの別の特定の例示的な実施形態の図である。 メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。 図7の動作708に対応し得る、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。 図8の動作804に対応し得る、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートである。 メモリデバイスのタイミングパラメータを動的に決定する方法の別の特定の例示的な実施形態のフローチャートである。 メモリデバイスのタイミングパラメータを動的に決定するように構成された構成要素を含むワイヤレス通信デバイスのブロック図である。 メモリデバイスのタイミングパラメータを動的に決定するように構成された構成要素を含む電子デバイスを製造するための製造プロセスの特定の例示的な実施形態のデータフロー図である。
図1を参照すると、メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態が開示されており、全体が100と表される。システム100は、データバス140およびコマンドバス150を介してメモリ120に結合されたプロセッサ102を含む。メモリ120の例には、限定はしないが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、およびダイナミックランダムアクセスメモリ(DRAM)がある。
プロセッサ102は、メモリコントローラ106に結合された中央処理装置(CPU)104を含む。メモリコントローラ106は、動的タイミングパラメータ108を含み得、タイミングパラメータの値を動的に決定するための命令110を含み得る。メモリ120は、複数の記憶要素124に結合されたメモリ制御論理122を含む。メモリ制御論理122は、動的タイミングパラメータ126を含み得、タイミングパラメータの値を動的に決定するための命令128を含み得る。たとえば、命令128は、メモリ制御論理122によって実行されると、メモリ制御論理122に、プロセッサ102から第1のメモリアクセス要求を受信させ得る。例示のために、複数の記憶要素124は、複数の行および複数の列に配置され得る。行の数は、列の数と異なっていてもよい。たとえば、行の数は、列の数よりも多くてもよい。記憶要素124は、複数の行のうちの第1の行に第1の記憶要素および第2の記憶要素を含み得る。第1の記憶要素は、複数の列のうちの第1の列に含まれ、第2の記憶要素は、複数の列のうちの第2の列に含まれる。プロセッサ102は、第1の記憶要素にアクセスするために、コマンドバス150を介して第1のメモリアクセス要求を発行することができる。第1のメモリアクセス要求は、第1のREADコマンドまたは第1のWRITEコマンドに対応し得る。
第1のメモリアクセス要求は、行アクティブ化コマンド(たとえば、ACTコマンド)、および列アクティブ化コマンド(たとえば、第1のREADコマンド)を含み得る。ACTコマンドは、第1の行の行アドレスの第1の部分を含み、第1のREADコマンドは、第1の行の行アドレスの第2の部分、および第1の列の完全な列アドレスを含み得る。ACTコマンドは行アドレスの第1の部分のみを含むので、第1の行は、行アドレスの第2の部分を含む第1のREADコマンドが受信されるまで、アクティブ化されない可能性があり、メモリ120における処理遅延が生じる可能性がある。処理遅延を低減するために、プロセッサ102は、行アクセスストロボ(RAS)-列アクセスストロボ(CAS)遅延(tRCD)の値(たとえば、1つのタイミングサイクル)に基づいて第1のREADコマンドを送信することができる。tRCDタイミングパラメータは、行アクティブ化コマンド(たとえば、ACTコマンド)を受信することと、行アクティブ化コマンドに関連した行をアクティブ化することとの間の遅延に対応する。
メモリ120がACTコマンドと第1のREADコマンドの両方を受信するとき、メモリ120は、行アドレスの第1の部分および行アドレスの第2の部分を使用して第1の行をアクティブ化することができる。メモリ120が第1の行のアクティブ化をひとたび開始すると、行のアクティブ化が終了する前に、いくつかのタイミングサイクルが経過し得る。第1の行のアクティブ化を終了するためのタイミングサイクルの数は、RASレイテンシ(たとえば、5つのタイミングサイクル)に対応し得る。
第1の行がアクティブ化された後、メモリ120は、第1のREADコマンドに含まれる完全な列アドレスに基づいて、第1の列をアクティブ化することができる。第1の行のアクティブ化のように、列のアクティブ化が終了する前に、いくつかのタイミングサイクルが経過し得る。第1の列のアクティブ化を終了するためのタイミングサイクルの数は、CASレイテンシ(たとえば、5つのタイミングサイクル)に対応し得る。
メモリ120は、RL(read-to-dataレイテンシ)タイミングパラメータの値に基づいて、第1のデータ(たとえば、第1のREADコマンドに関連した第1の記憶要素に記憶された値に対応するデータ)を提供することができる。RLタイミングパラメータの値は、RASレイテンシとCASレイテンシの合計に対応し得、たとえば、第1のREADコマンドの受信の後、10のタイミングサイクルが経過した後、第1のデータがデータバス140に提供されることを示す。
メモリ制御論理122は、RLタイミングパラメータに基づいて第1のメモリアクセス要求を処理することができる。たとえば、タイミングサイクルtCK1(たとえば、タイミングサイクル1)の間にメモリ120でACTコマンドが受信されるとき、およびtRCDタイミングパラメータの値が1つのタイミングサイクルであるとき、メモリ120は、タイミングサイクルtCK2(たとえば、タイミングサイクル2)の間に第1のREADコマンドを受信することができる。タイミングサイクルtCK2の間にメモリ120で第1のREADコマンドが受信されるとき、およびRLタイミングパラメータの値が10のタイミングサイクルであるとき、第1のデータは、タイミングサイクルtCK12(たとえば、タイミングサイクル12)の間にデータバス140に提供され始め得る。第1のデータ112は、タイミングサイクルtCK15(たとえば、タイミングサイクル15)まで、メモリ120からデータバス140に提供され続け得る。タイミングサイクルtCK15の後(すなわち、tCK16の間および後)、データバス140は、ビジーではなく、追加のデータをプロセッサ102から受信する、または追加のデータをプロセッサ102に提供するために、メモリ120によって使用され得る。
メモリ制御論理122は、プロセッサ102から第2のメモリアクセス要求を受信することができる。プロセッサ102は、第2の記憶要素にアクセスするために、第2のメモリアクセス要求を発行することができる。第2のメモリアクセス要求は、第2のREADコマンド、第2のWRITEコマンド、またはプリチャージコマンドに対応し得る。第2のメモリアクセス要求は、第2の列アクティブ化コマンド(たとえば、第2のREADコマンド)を含み得る。第2のREADコマンドは、第1の行の行アドレスの第2の部分、および第2の列の完全な列アドレスを含み得る。たとえば、メモリ120は、第1のメモリアクセス要求の受信以降、少なくともある閾値数のタイミングサイクルが経過した後、第2のメモリアクセス要求を受信することができる。タイミングサイクルの閾値数は、列間遅延(tCCD)タイミングパラメータ(たとえば、4つのタイミングサイクル)の値に対応する。その後のREADコマンドに含まれる行アドレスがACTコマンドに含まれる同じ行アドレスを識別し、その後のREADコマンドがtCCDタイミングサイクルの間隔(たとえば、4つのタイミングサイクルごと)でメモリ120で受信されると仮定すると、メモリ120は、ACTコマンドが受信されると、メモリアクセス要求の各々を処理し、タイミングパラメータtRCDによってもたらされる遅延以外のどんな追加の遅延もなく、データバス140にデータを提供することができる。
しかしながら、その後のREADコマンドがtCCDタイミングサイクルの間隔(たとえば、4つのタイミングサイクルごと)で受信されないとき、データバス140のスループットは、その後のREADコマンドに含まれる行アドレスが、固定のRLタイミングパラメータ(すなわち、RASレイテンシおよびCASレイテンシを含む)でACTコマンドに含まれる行アドレスと同じであるときでさえ、14%まで低減し得る。例示のために、タイミングサイクルtCK13(たとえば、タイミングサイクル13)の間に第2のメモリアクセス要求に対応する第2のREADコマンドが受信され得る。第1のREADコマンドと第2のREADコマンドとの間の経過したタイミングサイクル(すなわち、11のタイミングサイクル)は、tCCDタイミングサイクル(すなわち、4つのタイミングサイクル)よりも高い場合がある。メモリ制御論理122は、RLタイミングパラメータ(すなわち、10サイクル)に基づいて、タイミングサイクルtCK23(たとえば、タイミングサイクル23)の間に第2のデータをデータバス140に配置することができる。データバス140は、第1のREADコマンド(すなわち、tCK16の間)にサービスした後、および第2のデータ(すなわち、tCK23の間)をデータバス140に配置する前、アイドル(すなわち、7つのタイミングサイクルの間アイドル)であり得る。したがって、タイミングサイクルtCK16で、データバス140は、プロセッサ102からデータを受信する、またはプロセッサ102にデータを提供する用意ができているが、第2のデータは、tCK23までデータバス140に配置されない。
データバス140のアイドル時間を減らすために、メモリ制御論理122は、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、動的タイミングパラメータ126の1つまたは複数を変更することができる。たとえば、メモリ120は、タイミングサイクルtCK13の間にプロセッサ102から第2のメモリアクセス要求(すなわち、第2のREADコマンド)を受信することができる。第2のREADコマンドは、メモリ120の第2の記憶要素を読み取る旨の要求に対応し得る。第2の記憶要素は、第1のメモリアクセス要求(たとえば、ACTコマンドおよび第1のREADコマンド)に関連した第1の記憶要素と同じ行(すなわち、第1の行)に含まれ得、第1のREADコマンドに関連した列とは異なる列に含まれ得る。第2のREADコマンドが受信されると、メモリ120は、RLタイミングパラメータの値を動的に決定することができる。RLタイミングパラメータの動的に決定された値は、データバス140がアイドルであるタイミングサイクルの数を低減することができる。
例示のために、タイミングサイクルtCK13の間に第2のREADコマンドが受信される。RLの値を動的に決定するために、メモリ120は、以下の式に従って第1の差(x)を決定することができる。
x=(tCKR2)-(tCKR1)-(tCCD) (式1)
式1において、tCKR2は、第2のREADコマンドが受信されるときのタイミングサイクルに対応し、tCKR1は、第1のREADコマンドが受信されるときのタイミングサイクルに対応する。記載された例では、タイミングサイクルtCK13(たとえば、tCKR2=13)の間に第2のREADコマンドが受信され、タイミングサイクルtCK2(たとえば、tCKR1=2)の間に第1のREADコマンドが受信され、tCCDタイミングパラメータは、固定である(すなわち、4つのタイミングサイクル)。したがって、x=7(たとえば、x=13-2-4)である。第1の差を決定した後、メモリ120は、以下の式に従って、前の読取り(たとえば、第1のREADコマンド)に使用されたRLタイミングパラメータの値とxとの間の第2の差を決定することができる。
potential_RL_value=RL(previous_read)-x (式2)
式2において、potential_RL_valueは、RLタイミングパラメータの潜在的な新しい値を表し、RL(previous_read)は、前のREADに使用されたRLの値(たとえば、メモリ120が第1のREADコマンドを処理したときのRLタイミングパラメータ)に対応し、xは、式1の結果(たとえば、第1の差)に対応する。例示のために、RL(previous_read)は、RAS遅延とCAS遅延との合計に対応し、10の値を有する。上記で説明したように、xは、7の値を有する。したがって、potential_RL_value=3(たとえば、potential_RL_value=10-7)である。メモリ120は、タイミングパラメータtCCDの値(たとえば、連続するREAD動作間のタイミングサイクルの閾値数)に基づいてpotential_RL_valueを制約するように構成され得る。したがって、potential_RL_valueがCAS遅延よりも小さいとき、メモリデバイスは、式2の結果をCAS遅延(たとえば、5つのタイミングサイクル)に制約することができる。次いで、メモリデバイスは、以下の式に従って、RL'タイミングパラメータの値を動的に決定することができる。
RL'=max(potential_RL_value, RL0) (式3)
式3において、RL'は、第2のREADコマンドを処理するために、メモリ120によって使用されるべきRLタイミングパラメータの値(たとえば、第2のREADコマンドを受信することとデータバス140に第2のREADコマンドに関連した第2のデータを提供すること間のタイミングサイクルの数)に対応する。式3において、RL0は、CASレイテンシ(たとえば、5つのタイミングサイクル)に対応する。メモリデバイスは、potential_RL_valueとRL0の値(たとえば、5つのタイミングサイクルの遅延)とを比較することによって、RLタイミングパラメータのRL'値を動的に決定することができる。RL0の値がpotential_RL_valueよりも大きいとき、RL'は、RL0の値に設定される。RL0の値がpotential_RL_value未満であるとき、RL'は、potential_RL_valueに設定される。上記で説明したように、potential_RL_valueは、4つのタイミングサイクルである。したがって、RL'=5(たとえば、RL'=max(4,5))である。第2のデータは、RLタイミングパラメータ(すなわち、RL'=5)の動的に決定された値に基づいて、データバス140に提供され得る。RLタイミングパラメータの動的に決定された値は、RL0の値(たとえば、CASレイテンシ)に対応する。
メモリ制御論理122は、変更されたタイミングパラメータ(すなわち、動的タイミングパラメータ126)に基づいて第2のメモリアクセス要求を処理することができる。タイミングパラメータRLがRL'の値に設定されているとき、タイミングサイクルtCK18(すなわち、第2のREADコマンドを受信した後の5つのタイミングサイクル)の間に第2のREADコマンドに関連した第2のデータが提供され得る。固定のRL値と比較されると、動的に決定されたRL値(たとえば、RL')では、データバス140がアイドルであるタイミングサイクル数が低減する。たとえば、タイミングパラメータRLの固定値(すなわち、10のタイミングサイクル)を使用するとき、データバス140は、7つのタイミングサイクルの間、アイドルである。RLの動的に決定された値(すなわち、5つのタイミングサイクル)を使用するとき、データバス140は、2つのタイミングサイクルの間、アイドルである。したがって、メモリ120は、RLタイミングパラメータの動的に決定された値を使用するとき、5つのタイミングサイクル早く、第2のデータをデータバス140に提供することができる。
プロセッサ102は、メモリ120からのデータ送信の受信時間を予測するために、動的に決定されたタイミングパラメータ(たとえば、動的タイミングパラメータ108)を使用することができる。たとえば、プロセッサ102は、RLタイミングパラメータの値(たとえば、10のタイミングサイクル)に基づいて、タイミングサイクルtCK12の間に第1のデータの受信を予測することができ、RLの動的に決定された値(たとえば、RL'=5タイミングサイクル)に基づいて、タイミングサイクルtCK18(たとえば、タイミングサイクル18)の間にメモリ120からの第2のデータの受信を予測することができる。
特定の実施形態では、命令110は、メモリコントローラ106によって実行されると、メモリコントローラ106に、メモリ120に送信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、RLの値(すなわち、RL')を動的に決定させ得る。特定の実施形態では、メモリ120は、動的タイミングパラメータ126をメモリコントローラ106に提供することができ、メモリコントローラ106は、受信された動的タイミングパラメータ126に基づいて動的タイミングパラメータ108を更新することができる。たとえば、メモリ120は、RLタイミングパラメータ(すなわち、RL'=5)の動的に決定された値をプロセッサ102に送信することができ、プロセッサ102は、メモリ120から受信されたRL'値に基づいて、メモリデバイスからのデータ送信の受信の時間を予測することができる。特定の実施形態では、メモリ120は、他の値(たとえば、potential_RL_valueおよびRL0)をメモリコントローラ106に提供することができ、メモリコントローラ106は、他の値に基づいてRL'を決定することができる。
例示的な例として本明細書でRLタイミングパラメータが使用されることに留意されたい。特定の実施形態では、RLタイミングパラメータ、write-to-dataレイテンシ(WL)タイミングパラメータ、read-to-prechargeレイテンシ(tRTP)タイミングパラメータ、write-to-prechargeレイテンシ(tWTP)タイミングパラメータ、他のタイミングパラメータ、またはそれらの組合せは、メモリ制御論理122、メモリコントローラ106、またはその両方によって動的に決定され得る。WLタイミングパラメータは、WRITEコマンドを受信することと、WRITEコマンドに関連したデータをデータバスが受信できるようにすることとの間のタイミングサイクルの数に対応する。tRTPタイミングパラメータは、READコマンドを受信することと、行プリチャージコマンドとの間のタイミングサイクルの数に対応する。tWTPタイミングパラメータは、WRITEコマンドを受信することと、行プリチャージコマンドとの間のタイミングサイクルの数に対応する。
たとえば、WLタイミングパラメータの値は、式4および式5に基づいて動的に決定され得る。
potential_WL_value=WL(previous_write)-x (式4)
WL(previous_write)は、前のWRITEコマンドに使用されるWLタイミングパラメータの値に対応し得る。特定の実施形態では、WL(previous_write)は、RAS遅延およびCAS遅延に対応し得る。
WL'=max(potential_WL_value, WL0) (式5)
メモリ制御論理122は、potential_WL_valueとWL0との比較に基づいて、WLタイミングパラメータの動的な値(すなわち、WL')を決定することができる。特定の実施形態では、WL0は、CAS遅延に対応し得る。次のwriteコマンドに対応するWL値は、potential_WL_valueおよびWL0のうちの高い方とすることができる。
したがって、1つまたは複数のタイミングパラメータの値(たとえば、RLタイミングパラメータ、WLタイミングパラメータなど)は、動的に決定され得、記憶要素124の同じ行に対するその後のメモリアクセス要求のサービスの間、データバス140がアイドルである、タイミングサイクルの数を低減するために使用され得る。たとえば、メモリ制御論理122は、tCCD(たとえば、5以上)よりも多い数の経過したタイミングサイクルの後、次のメモリアクセス要求を受信すると、RAS遅延の欠如を利用し、完全なRAS遅延を待つ必要なく、データバス140に次のメモリアクセス要求に対応するデータを配置することができる。たとえば、メモリ制御論理122は、前のメモリアクセス要求に関連した第1のデータのデータバス140を空にするために、CAS遅延および任意のタイミングサイクルを待つことができる。データバス140を空にするタイミングサイクルは、RAS遅延未満でもよい。
図2を参照すると、図1のシステムの動的タイミングパラメータを決定することに関連したタイミング図が開示されており、全体が200と表される。タイミング図200は、tCK1の間にメモリ制御論理122によって受信されるACTコマンド242(たとえば、第1のメモリアクセス要求に対応するACTコマンド)を含む。タイミング図200は、tCK2の間にメモリ制御論理122によって受信される第1のREADコマンド244(たとえば、第1のメモリアクセス要求に対応する第1のREADコマンド)を含む。タイミング図200は、tRCDタイミングパラメータ(たとえば、1つのタイミングサイクル)に対応する遅延260を示す。タイミング図200は、RAS遅延(たとえば、5つのタイミングサイクルのRAS遅延)に対応する遅延248、およびCAS遅延(たとえば、5つのタイミングサイクルのCAS遅延)に対応する遅延250を含む。遅延262は、RLタイミングパラメータの値(たとえば、10のタイミングサイクル)に対応する。
タイミング図200は、図1のメモリ制御論理122が、たとえば、(すなわち、tCK2の間)第1のREADコマンド244が受信された後、10のタイミングサイクルなど、RLタイミングパラメータを使用して、tCK12に、第1のREADコマンド244に対応するデータ212(たとえば、第1のデータ)をデータバス140に配置することを示す。タイミング図200は、tCK13の間に第2のREADコマンド246(たとえば、第2のREADコマンド)がメモリ制御論理122によって受信されることを示す。
固定のRLタイミングパラメータ(すなわち、10のタイミングサイクル)を使用して、メモリ制御論理122は、tCK23の間に第2のREADコマンド246に対応する第2のデータ256を図1のデータバス140に配置し得る。データバス140は、tCK16の間に利用可能になり得、7つのタイミングサイクルの間、アイドルのままであり得る。遅延272は、動的タイミングパラメータが使用されていないとき、データバス140がアイドルであるタイミングサイクルに対応する。
メモリ制御論理122は、図1に関して記載されているように、RLタイミングパラメータの値(RL')を動的に決定することができる。たとえば、tCCDタイミングパラメータは、遅延264(たとえば、4つのタイミングサイクル)に対応し得、第1の差(x)は、遅延266(たとえば、7つのタイミングサイクル)に対応し得る。第2の差(すなわち、potential_RL_value)は、遅延262と遅延266との間の差(すなわち、RL(previous_read)-x=10-7=3)に対応し得る。第2の差が遅延250(すなわち、CAS遅延)よりも小さいので、RL'は、CAS遅延に対応する(すなわち、RL'=max(potential_RL_value, RL0))。遅延222は、RL'の値のRLタイミングパラメータを示す。
RLタイミングパラメータの動的に決定された値(たとえば、RL')を使用して、メモリ制御論理122は、tCK18の間に第2のデータ216を図1のデータバス140に配置し得る。データバス140は、2つのタイミングサイクルの間、アイドルのままであり得る。遅延232は、RL'を使用しているとき、データバス140がアイドルであるタイミングサイクルに対応する。遅延232(すなわち、2つのタイミングサイクル)は、遅延272(すなわち、7つのタイミングサイクル)よりも短い。
したがって、図1のデータバス140は、RLタイミングパラメータの動的に決定された値を使用して、図1のメモリ制御論理122が第2のデータ216をデータバスに配置する前に、より少ない数のタイミングサイクル(すなわち、2つのタイミングサイクル)の間アイドルであり得る。
図3を参照すると、図1のシステムの動的タイミングパラメータを決定することに関連した別のタイミング図が開示されており、全体が300と表される。タイミング図300は、タイミングサイクルtCK1の間に図1のメモリ制御論理122によって受信されたACTコマンド302、およびタイミングサイクルtCK2の間に図1のメモリ制御論理122によって受信された第1のREADコマンド304を示す。タイミング図300は、タイミングサイクルtCK8の間、図1のメモリ制御論理122によって受信された第2のREADコマンド306を示す。固定のRLタイミングパラメータを使用して、図1のメモリ制御論理122は、tCK18の間に第2のREADコマンド306に対応するデータを図1のデータバス140に配置する。データバス140は、tCK16の間に利用可能になり得、2つのタイミングサイクルの間、アイドルのままであり得る。
メモリ制御論理122は、図1に関して記載されているように、RLタイミングパラメータの値(RL')を動的に決定することができる。たとえば、tCCDタイミングパラメータは、遅延264(たとえば、4つのタイミングサイクル)に対応し得、第1の差(x)は、遅延366(たとえば、2つのタイミングサイクル)に対応し得る。第2の差(すなわち、potential_RL_value)は、遅延262と遅延366との間の差(すなわち、RL(previous_read)-x=10-2=8)に対応し得る。第2の差が遅延250(すなわち、CAS遅延)よりも大きいので、RL'は、potential_RL_valueに対応する(すなわち、RL'=max(potential_RL_value, RL0)=max(8,5)=8)。RL'の値を有するRLタイミングパラメータは、遅延322としてタイミング図300に示される。
RLタイミングパラメータの動的に決定された値(たとえば、RL')を使用して、メモリ制御論理(すなわち、メモリ制御論理122)は、tCK16の間に第2のデータ316をデータバス(すなわち、図1のデータバス140)に配置し得る。
したがって、データバス(すなわち、図1のデータバス140)は、RLタイミングパラメータの動的に決定された値を使用して、メモリ制御論理(すなわち、図1のメモリ制御論理122)が第2のデータ316をデータバスに配置する前に、より少ない数のタイミングサイクル(すなわち、0のタイミングサイクル)の間アイドルであり得る。
図4を参照すると、図1のシステム100のメモリコントローラの特定の例示的な実施形態が開示される。メモリコントローラ106の動的タイミングパラメータ126は、RLタイミングパラメータ402、WLタイミングパラメータ404、tRTPタイミングパラメータ406、tWTPタイミングパラメータ408、tRCDタイミングパラメータ410、tCCDタイミングパラメータ412、RASタイミングパラメータ414(たとえば、RAS遅延)、CASタイミングパラメータ416(たとえば、CAS遅延)、またはそれらの組合せを含み得る。
メモリコントローラ106の命令110は、430で、メモリコントローラ106によって実行されると、メモリコントローラ106に、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することを含む動作を実行させ得る。動作は、432で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定することも含み得る。動作は、434で、第1の値と第1の差との間の第2の差を決定することをさらに含み得る。436で、動作は、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定することも含み得る。
図5を参照すると、図1のシステム100のメモリ制御論理122の特定の例示的な実施形態が開示されている。メモリ制御論理122の動的タイミングパラメータ126は、RLタイミングパラメータ502、WLタイミングパラメータ504、tRTPタイミングパラメータ506、tWTPタイミングパラメータ508、tRCDタイミングパラメータ510、tCCDタイミングパラメータ512、RASタイミングパラメータ514、CASタイミングパラメータ516、またはそれらの組合せを含み得る。
メモリ制御論理122の命令128は、530で、メモリ制御論理122によって実行されると、メモリ制御論理122に、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定することを含む動作を実行させ得る。動作は、532で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定することも含み得る。動作は、534で、第1の値と第1の差との間の第2の差を決定することをさらに含み得る。動作は、536で、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定することも含み得る。
図6を参照すると、メモリデバイスのタイミングパラメータを動的に決定するように動作可能なシステムの特定の例示的な実施形態が開示されており、全体が600と表される。
システム600は、図1のシステム100の代替実施形態に対応し得る。図1において、メモリコントローラ106は、タイミングパラメータ(たとえば、RLタイミングパラメータ)の値を動的に決定する旨の命令110を含むのに対して、図6のメモリコントローラ106は、そのような命令を含まない。システム600において、メモリ制御論理122は、タイミングパラメータの値(たとえば、タイミングパラメータ値660)を動的に決定し、プロセッサ102に送信することができる。プロセッサ102は、タイミングパラメータ値660に基づいて、動的タイミングパラメータ108を更新することができる。
図7を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が700と表される。
方法700は、702で、プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するステップを含む。たとえば、図1のメモリ制御論理122は、プロセッサ102から第1のメモリアクセス要求を受信することができる。第1のメモリアクセス要求は、複数の記憶要素124の第1の記憶要素のアクセスに対応し得る。第1の記憶要素は、複数の記憶要素124の第1の行および第1の列に含まれ得る。
方法700は、704で、メモリデバイスのタイミングパラメータに基づいて第1のメモリアクセス要求を処理するステップも含み得る。たとえば、メモリ制御論理122は、RLタイミングパラメータに基づいて第1のメモリアクセス要求を処理することができる。RLタイミングパラメータ(たとえば、10のタイミングサイクル)は、RAS遅延(たとえば、5つのタイミングサイクル)およびCAS遅延(たとえば、5つのタイミングサイクル)に対応し得る。
方法700は、706で、プロセッサから、メモリデバイスで第2のメモリアクセス要求を受信するステップをさらに含み得る。たとえば、メモリ制御論理122は、プロセッサ102から第2のメモリアクセス要求を受信することができる。第2のメモリアクセス要求は、複数の記憶要素124の第2の記憶要素のアクセスに対応し得る。第1の記憶要素は、複数の記憶要素124の第1の行および第2の列に含まれ得る。
方法700は、708で、変更されたタイミングパラメータを生成するために、第1のメモリアクセス要求および第2のメモリアクセス要求によって識別されるアドレスに基づいて、メモリデバイスのタイミングパラメータを変更するステップも含み得る。たとえば、メモリ制御論理122は、複数の記憶要素124の同じ行(すなわち、第1の行)上のアドレスを識別する第1のメモリアクセス要求および第2のメモリアクセス要求に基づいて、RLタイミングパラメータを(たとえば、値RL'に)変更することができる。
方法700は、710で、変更されたタイミングパラメータに基づいて第2のメモリアクセス要求を処理するステップをさらに含み得る。たとえば、メモリ制御論理122は、RLタイミングパラメータの動的に変更された値(すなわちRL')に基づいて第2のメモリアクセス要求を処理することができる。
したがって、メモリ制御論理122は、第1のメモリアクセス要求および第2のメモリアクセス要求によって示されるアドレスに基づいて、タイミングパラメータ(たとえば、RLタイミングパラメータ)を動的に変更することができる。動的に変更されたタイミングパラメータは、データバスのアイドルのタイミングサイクルを低減することができる。
図7の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図7の方法700は、図1、図4〜図6および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
図8を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が800と表される。特定の実施形態において、方法800は、図7の動作708に対応してもよい。
方法800は、802で、第1のメモリアクセス要求を処理するために使用されるタイミングパラメータの第1の値を決定するステップを含み得る。たとえば、メモリ制御論理122は、RAS遅延(たとえば、5つのタイミングサイクル)およびCAS遅延(たとえば、5つのタイミングサイクル)に基づいてタイミングパラメータ(たとえば、RLタイミングパラメータ)の第1の値(たとえば、10のタイミングサイクル)を決定することができる。
方法800は、804で、第1の値に少なくとも部分的に基づいて、タイミングパラメータの第2の値を決定するステップも含み得る。たとえば、メモリ制御論理122は、第1の値に少なくとも部分的に基づいて、タイミングパラメータの第2の値(たとえば、RL')を決定することができる。例示のために、メモリ制御論理122は、第1の値と第1の差との間の第2の差に基づいてRL'を決定することができる。第1の差は、第1のメモリアクセス要求と第2のメモリアクセス要求との間に経過したタイミングサイクルの数と、タイミングサイクルの閾値数との間の差に対応し得る。
図8の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図8の方法900は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
図9を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が900と表される。特定の実施形態において、方法900は、図8の動作804に対応してもよい。
方法900は、902で、第2のタイミングサイクルと第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップを含み得る。たとえば、メモリ制御論理122は、第2のメモリアクセス要求が受信される第2のタイミングサイクル(たとえば、tCK13)と第1のメモリアクセス要求が受信される第1のタイミングサイクル(たとえば、tCK2)との間に経過したタイミングサイクルの数(たとえば、11のタイミングサイクル)を決定することができる。
方法900は、904で、経過したタイミングサイクルの数とタイミングサイクルの閾値数との間の第1の差を決定するステップも含み得る。たとえば、メモリ制御論理122は、経過したタイミングサイクルの数(すなわち、11)とタイミングサイクルの閾値数(たとえば、tCCDタイミングパラメータ=4タイミングサイクル)との間の第1の差(x=7)を決定することができる。
方法900は、906で、第1の値と第1の差との間の第2の差を決定するステップをさらに含み得る。たとえば、メモリ制御論理122は、第1の値(たとえば、10のタイミングサイクル)と第1の差(すなわち、7)との間の第2の差(たとえば、3)を決定することができる。
方法900は、908で、第2の差と閾値タイミングパラメータ値との比較に基づいて、第2の値を決定するステップも含み得る。たとえば、メモリ制御論理122は、第2の差(すなわち、3)とCAS遅延(たとえば、5つのタイミングサイクル)との比較に基づいて、第2の値(すなわち、RL')を決定することができる。例示のために、メモリ制御論理122は、第2の差およびCAS遅延のより高い方を第2の値(たとえば、5つのタイミングサイクル)として使用することができる。
図9の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図9の方法900は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
図10を参照すると、メモリデバイスのタイミングパラメータを動的に決定する方法の特定の例示的な実施形態のフローチャートが示され、全体が1000と表される。
方法1000は、1002で、メモリデバイスにメモリコントローラからの第1のメモリアクセス要求を送信するステップを含み得る。たとえば、図1のメモリコントローラ106は、タイミングサイクルtCK2の間に第1のメモリアクセス要求をメモリ120に送信することができる。
方法1000は、1004で、タイミングパラメータの第1の値に基づいて、メモリデバイスからメモリコントローラへの第1のデータ送信の第1の時間を予測するステップをさらに含み得、データ送信は、第1のメモリアクセス要求に関連する。たとえば、図1のメモリコントローラ106は、RLタイミングパラメータの第1の値に基づいてメモリ120からメモリコントローラ106への第1のデータ送信の第1の時間を予測し得る。例示のために、メモリコントローラ106は、第1のメモリアクセス要求がメモリ120に送信されるタイミングサイクルtCK2(すなわち、タイミングサイクル2)と、10のタイミングサイクルのRLタイミングパラメータの第1の値との合計に基づいて、タイミングサイクルtCK12(すなわち、タイミングサイクル12)の間に開始するべきメモリ120からメモリコントローラ106への第1のデータの送信を予測することができる。
方法1000は、1006で、第2のメモリアクセス要求をメモリデバイスに送信するステップをさらに含み得る。たとえば、メモリコントローラ106は、tCK13の間に第2のメモリアクセス要求をメモリ120に送信することができる。
方法1000は、1008で、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値を決定するステップも含み得る。たとえば、メモリコントローラ106は、第1のメモリアクセス要求および第2のメモリアクセス要求に基づいてタイミングパラメータの第2の値(たとえば、RL'=5)を決定し得る。
方法1000は、1010で、第2の値に基づいて、メモリデバイスからメモリコントローラへの第2のデータ送信の第2の時間を予測するステップをさらに含み得、第2のデータ送信は、第2のメモリアクセス要求に関連する。たとえば、メモリコントローラ106は、第2のメモリアクセス要求がメモリ120に送信されるタイミングサイクルtCK13(すなわち、タイミングサイクル13)と、5つのタイミングサイクルのRLタイミングパラメータの第2の値(すなわち、RL'=5)との合計に基づいて、タイミングサイクルtCK18(すなわち、タイミングサイクル18)の間に開始するべきメモリ120からメモリコントローラ106への第2のデータの送信を予測することができる。
図10の方法は、フィールドプログラマブルゲートアレイ(FPGA)デバイス、特定用途向け集積回路(ASIC)、処理ユニット、たとえば中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、コントローラ、別のハードウェアデバイス、ファームウェアデバイス、またはそれらの任意の組合せによって実施され得る。ある例として、図10の方法1000は、図1、図4〜図6、および図11に関して説明されるように、命令を実行するプロセッサによって実行され得る。
図11を参照すると、ワイヤレス通信デバイスのある特定の例示的な実施形態のブロック図が示され、全般に1100と称される。デバイス1100は、メモリ1132(たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体)に結合されたデジタル信号プロセッサ(DSP)などのプロセッサ1110を含む。例示的な一実施形態では、プロセッサ1110は、図1のプロセッサ102に対応し得、メモリ1132は、図1のメモリ120に対応し得、またはその両方であり得る。
プロセッサ1110は、メモリコントローラ1160を含む。メモリコントローラ1160は、メモリコントローラ1160、プロセッサ1110、またはその両方によって実行可能な命令1164を記憶することができる。メモリコントローラ1160は、動的タイミングパラメータ1168を記憶し得る。例示的な実施形態では、メモリコントローラ1160は、図1のメモリコントローラ106に対応し得、動的タイミングパラメータ1168は、図1の動的タイミングパラメータ108に対応し得、命令1164は、図1の命令110に対応し得、またはそれらの組合せであり得る。
メモリ1132は、メモリ制御論理1150を含み得る、またはメモリ制御論理1150に結合され得る。メモリ制御論理1150は、メモリ制御論理1150によって実行可能な命令1162を含み得る。メモリ制御論理1150は、プロセッサ1110にアクセス可能な動的タイミングパラメータ1152を含み得る。例示的な実施形態では、メモリ制御論理1150は、図1のメモリ制御論理122に対応し得、動的タイミングパラメータ1152は、図1の動的タイミングパラメータ126に対応し得、命令1162は、図1の命令128に対応し得、またはそれらの組合せであり得る。
図11はまた、プロセッサ1110およびディスプレイ1128に結合されたディスプレイコントローラ1126を示す。コーダ/デコーダ(コーデック)1134も、プロセッサ1110に結合することができる。スピーカー1136およびマイクロフォン1138は、コーデック1134に結合され得る。図11は、ワイヤレスコントローラ1140が、プロセッサ1110に結合され得、さらにワイヤレスアンテナ1142に結合され得ることも示している。
特定の実施形態では、プロセッサ1110、ディスプレイコントローラ1126、メモリ1132、コーデック1134、およびワイヤレスコントローラ1140は、システムインパッケージデバイスまたはシステムオンチップデバイス1122に含まれる。特定の実施形態では、入力デバイス1130および電源1144はシステムオンチップデバイス1122に結合される。その上、特定の実施形態では、図11に示されるように、ディスプレイ1128、入力デバイス1130、スピーカー1136、マイクロフォン1138、ワイヤレスアンテナ1142、および電源1144は、システムオンチップデバイス1122の外部にある。ただし、ディスプレイ1128、入力デバイス1130、スピーカー1136、マイクロフォン1138、ワイヤレスアンテナ1142、および電源1144の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス1122の構成要素に結合され得る。
前述の開示されたデバイスおよび機能は、コンピュータ可読媒体に記憶されたコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)の中に設計および構成することができる。そのようなファイルの一部またはすべてが、そのようなファイルに基づいてデバイスを製作する製作担当者に提供され得る。得られた製品は半導体ウエハを含み、次いで、半導体ウエハは半導体ダイに切り分けられ、半導体チップにパッケージ化される。図12をさらに参照しながら説明するように、半導体チップは、次いで電子デバイスに一体化される。
図12を参照すると、電子デバイス製造プロセスの特定の例示的な実施形態が示され、全体が1200と表される。図12で、物理デバイス情報1202が、製造プロセス1200において、研究用コンピュータ1206などにおいて受け取られる。物理デバイス情報1202は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)など半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を含むことが可能である。たとえば、物理デバイス情報1202は、物理的パラメータ、材料特性、および研究用コンピュータ1206に結合されたユーザインターフェース1204を介して入力される構造情報を含み得る。研究用コンピュータ1206は、メモリ1210などのコンピュータ可読媒体に結合された、1つまたは複数の処理コアなどのプロセッサ1208を含む。メモリ1210は、プロセッサ1208に、ファイルフォーマットに適合するように物理デバイス情報1202を変換させ、ライブラリファイル1212を生成させるように実行可能であるコンピュータ可読命令を記憶することができる。
ある特定の実施形態では、ライブラリファイル1212は、変換された設計情報を含む、少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル1212は、(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)タイミングパラメータを動的に決定するように構成された回路を含む回路のライブラリを含んでもよく、このライブラリは、電子設計自動化(EDA)ツール1220とともに用いるために提供される。
ライブラリファイル1212は、メモリ1218に結合された、1つまたは複数の処理コアなどのプロセッサ1216を含む設計用コンピュータ1214において、EDAツール1220とともに使用され得る。EDAツール1220は、メモリ1218においてプロセッサ実行可能命令として記憶され、設計用コンピュータ1214のユーザが、ライブラリファイル1212を使用して、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を設計できるようにし得る。たとえば、設計用コンピュータ1214のユーザは、設計用コンピュータ1214に結合されるユーザインターフェース1224を介して、回路設計情報1222を入力し得る。回路設計情報1222は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)の少なくとも1つの物理的特性を表す設計情報を含み得る。例示すると、回路設計の特性は、回路設計における特定の回路の識別および他の要素との関係、位置情報、形状サイズ情報、相互接続情報、または半導体デバイスの物理的特性を表す他の情報を含み得る。
設計用コンピュータ1214は、回路設計情報1222を含む設計情報をファイルフォーマットに準拠するように変換するように構成することができる。例示のために、ファイル情報は、グラフィックデータシステム(GDSII)ファイルフォーマットなど、平面的な幾何形状、テキストラベル、および階層型フォーマットでの回路レイアウトについての他の情報を表す、データベースバイナリファイルフォーマットを含むことが可能である。設計用コンピュータ1214は、他の回路または情報に加えて、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を説明する情報を含む、GDSIIファイル1226など、変換された設計情報を含むデータファイルを生成するように構成され得る。例示のために、データファイルには、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含み、内部に追加の電子回路および構成要素をさらに含むシステムオンチップ(SOC)に対応する情報が含まれ得る。
GDSIIファイル1226は、GDSIIファイル1226中の変換された情報に従って、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を製造するために、製造プロセス1228において受け取られ得る。たとえば、デバイス製造プロセスは、GDSIIファイル1226をマスク製造業者1230に提供して、代表的なマスク1232として示される、フォトリソグラフィプロセスで使用されるマスクなどの、1つまたは複数のマスクを作成するステップを含み得る。マスク1232は、テストされ、代表的なダイ1236などのダイに分割され得る1つまたは複数のウエハ1234を生成するために、製作プロセス中に使用され得る。ダイ1236は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含む。
ダイ1236は、パッケージングプロセス1238に供給することができ、そこでダイ1236は、代表的なパッケージ1240に組み込まれる。たとえば、パッケージ1240は、システムインパッケージ(SiP)構成などの単一のダイ1236または複数のダイを含むことができる。パッケージ1240は、電子機器技術評議会(JEDEC)規格などの1つもしくは複数の規格または仕様に準拠するように構成され得る。
パッケージ1240に関する情報は、コンピュータ1246に記憶された構成要素ライブラリを介してなど、様々な製品設計者に配布され得る。コンピュータ1246は、メモリ1250に結合された、1つまたは複数の処理コアなどのプロセッサ1248を含み得る。プリント回路基板(PCB)ツールをメモリ1250にプロセッサ実行可能命令として記憶して、ユーザインターフェース1244を介してコンピュータ1246のユーザから受け取られたPCB設計情報1242を処理することができる。PCB設計情報1242は、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含む、パッケージ1240に対応するパッケージングされた半導体デバイスの、回路基板上での物理的な位置情報を含み得る。
コンピュータ1246は、PCB設計情報1242を変換して、パッケージングされた半導体デバイスの回路基板上での物理的な位置情報、ならびに、配線およびビアなど、電気的な接続のレイアウトを含むデータを有する、GERBERファイル1252などのデータファイルを生成するように構成されてよく、この場合、パッケージングされた半導体デバイスは、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含むパッケージ1240に対応する。他の実施形態では、変換されたPCB設計情報によって生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有することができる。
GERBERファイル1252は、基板組立てプロセス1254において受け取られ、GERBERファイル1252内に保存される設計情報に従って製造される、代表的なPCB1256のようなPCBを作成するために、用いられ得る。たとえば、GERBERファイル1252は、PCB製造プロセスの様々なステップを実施するために、1つまたは複数の機械にアップロードされ得る。PCB1256は、パッケージ1240を含む電子部品が装着されて、代表的なプリント回路アセンブリ(PCA)1258を形成することができる。
PCA1258は、製品製造プロセス1260において受け取られ、第1の代表的な電子デバイス1262および第2の代表的な電子デバイス1264のような、1つまたは複数の電子デバイスとなるように統合され得る。例示的かつ非限定的な例として、第1の代表的な電子デバイス1262、第2の代表的な電子デバイス1264、またはこれらの両方は、セルラーフォン、ワイヤレスローカルエリアネットワーク(LAN)デバイス、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、およびコンピュータの群から選択されてよく、これらに、タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)が組み込まれる。別の例示的かつ非限定的な例として、電子デバイス1262および1264のうちの1つまたは複数は、モバイル電話、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、メータ読取り機器などの固定位置データユニット、または、データもしくはコンピュータ命令を記憶するかまたは取り出す任意の他のデバイス、あるいはこれらの任意の組合せなどの遠隔ユニットであり得る。図12は、本開示の教示に従った遠隔ユニットを例示するが、本開示は、これらの例示されたユニットに限定されない。本開示の実施形態は、メモリおよびオンチップ回路を含む能動的な集積回路を含む、任意のデバイスにおいて適切に利用され得る。
タイミングパラメータを動的に決定するように構成された回路(たとえば、図1のメモリコントローラ106、図1のメモリ制御論理122、図11のメモリコントローラ1160、および/または図11のメモリ制御論理1150など)を含むデバイスは、例示的なプロセス1200において説明されたように、製造され、加工され、電子デバイスに組み込まれることが可能である。図1〜図12に関して開示された実施形態の1つまたは複数の態様は、ライブラリファイル1212、GDSIIファイル1226、およびGERBERファイル1252の内部など、様々な処理段階で含めることができると同様に、研究用コンピュータ1206のメモリ1210、設計用コンピュータ1214のメモリ1218、コンピュータ1246のメモリ1250、基板組立てプロセス1254などの様々な段階で使用される1つもしくは複数の他のコンピュータまたはプロセッサ(図示せず)のメモリに記憶することができ、マスク1232、ダイ1236、パッケージ1240、PCA1258、プロトタイプの回路もしくはデバイス(図示せず)などの他の製品、またはそれらの任意の組合せなど、1つもしくは複数の他の物理的な実施形態に組み込まれることも可能である。図1〜図12に関して様々な代表的な段階が描写されたが、他の実施形態では、より少ない段階が使用されるか、またはさらなる段階が含まれる場合がある。同様に、図12のプロセス1200は、プロセス1200の様々な段階を実行する、単一のエンティティによって、または1つもしくは複数のエンティティによって実行され得る。
記載した実施形態とともに、データを記憶するための手段を含む装置が開示されている。たとえば、データを記憶するための手段は、図1のメモリ120、図11のメモリ1132、またはその両方を含み得る。装置は、プロセッサから受信される複数のメモリアクセス要求によって識別されるメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段を含み、タイミングパラメータは、複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの第1の数に対応する。たとえば、タイミングパラメータの値を動的に決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
装置は、タイミングパラメータの値をプロセッサに送信するための手段をさらに含み得る。たとえば、送信するための手段は、図1のデータバス140を含み得る。装置は、1つまたは複数のメモリアクセス要求を受信するための手段も含むことができる。たとえば、受信するための手段は、図1のデータバス140を含み得る。装置は、1つまたは複数のメモリアクセス要求を処理するための手段をさらに含み得る。たとえば、処理するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
特定の実施形態では、タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求に基づいてタイミングパラメータの第1の値を決定するための手段を含み得る。1つまたは複数のメモリアクセス要求を処理するための手段は、第1の値に基づいて第1のメモリアクセス要求を処理する。たとえば、タイミングパラメータの第1の値を決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求および第2のメモリアクセス要求に少なくとも部分的に基づいてタイミングパラメータの第2の値を決定するための手段も含み得る。1つまたは複数のメモリアクセス要求を処理するための手段は、第2の値に基づいて第2のメモリアクセス要求を処理する。たとえば、タイミングパラメータの第2の値を決定するための手段は、図1のメモリ制御論理122、図11のメモリ制御論理1150、またはその両方を含み得る。
記載した実施形態とともに、データを処理するための手段を含む別の装置が開示される。たとえば、データを処理するための手段は、図1のCPU104、図11のプロセッサ1110、またはその両方を含み得る。装置は、複数の送信されたメモリアクセス要求によって識別されたメモリアドレスに少なくとも部分的に基づいて、タイミングパラメータの値を動的に決定するための手段も含み、タイミングパラメータは、複数の送信されたメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスから受信される前のタイミングサイクルの第1の数に対応する。たとえば、タイミングパラメータの値を動的に決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
特定の実施形態では、タイミングパラメータの値を動的に決定するための手段は、第1のメモリアクセス要求に基づいてタイミングパラメータの第1の値を決定するための手段を含み得る。たとえば、タイミングパラメータの第1の値を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
タイミングパラメータの値を動的に決定するための手段は、第2のタイミングサイクルと第1のタイミングサイクルとの間に経過したタイミングサイクルの第2の数を決定するための手段をさらに含み得る。たとえば、第2のタイミングサイクルと第1のタイミングサイクルとの間に経過したタイミングサイクルの第2の数を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
タイミングパラメータの値を動的に決定するための手段は、経過したタイミングサイクルの第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段も含み得る。たとえば、経過したタイミングサイクルの第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
タイミングパラメータの値を動的に決定するための手段は、第1の値と第1の差との間の第2の差を決定するための手段をさらに含み得る。たとえば、第1の値と第1の差との間の第2の差を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
タイミングパラメータの値を動的に決定するための手段は、第2の差と閾値タイミングパラメータ値との比較に基づいてタイミングパラメータの第2の値を決定するための手段も含み得る。たとえば、第2の差と閾値タイミングパラメータ値との比較に基づいて第2の値を決定するための手段は、図1のメモリコントローラ106、図11のメモリコントローラ1160、またはその両方を含み得る。
装置は、第1のメモリアクセス要求および第2のメモリアクセス要求をメモリデバイスに送信するための手段をさらに含み得る。たとえば、送信するための手段は、図1のデータバス140を含み得る。
本明細書で開示された実施形態とともに説明された様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップは、電子的なハードウェア、プロセッサによって実行されるコンピュータソフトウェア、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップが、概してそれらの機能に関して、上記で説明されてきた。そのような機能がハードウェアとして実装されるか、プロセッサ実行可能命令として実装されるかは、特定の用途およびシステム全体に課された設計制約に依存する。当業者は、説明された機能を各々の具体的な用途に対して様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈されるべきではない。
本明細書で開示する実施形態に関して説明する方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の非一時的記憶媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)の中に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末の中に存在し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に個別コンポーネントとして存在し得る。
開示された実施形態のこれまでの説明は、当業者が開示された実施形態を作成または使用することが可能になるように提供される。これらの実施形態に対する様々な修正形態は、当業者には容易に明らかであり、本明細書で定義された原理は、本開示の範囲から逸脱することなく他の実施形態に適用することができる。したがって、本開示は、本明細書に示す実施形態に限定されることは意図されず、以下の特許請求の範囲によって定義されるような、原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。
100 システム
102 プロセッサ
104 中央処理装置(CPU)
106 メモリコントローラ
108 動的タイミングパラメータ
110 命令
112 第1のデータ
120 メモリ
122 メモリ制御論理
124 記憶要素
126 動的タイミングパラメータ
128 命令
140 データバス
150 コマンドバス
200 タイミング図
212 データ
216 第2のデータ
222 遅延
232 遅延
242 ACTコマンド
244 第1のREADコマンド
246 第2のREADコマンド
248 遅延
250 遅延
256 第2のデータ
260 遅延
262 遅延
264 遅延
266 遅延
272 遅延
300 タイミング図
302 ACTコマンド
304 第1のREADコマンド
322 遅延
402 RLタイミングパラメータ
404 WLタイミングパラメータ
406 tRTPタイミングパラメータ
408 tWTPタイミングパラメータ
410 tRCDタイミングパラメータ
412 tCCDタイミングパラメータ
414 RASタイミングパラメータ
416 CASタイミングパラメータ
600 システム
660 タイミングパラメータ値
708 動作
804 動作
1100 デバイス
1110 プロセッサ
1122 システムオンチップデバイス
1126 ディスプレイコントローラ
1128 ディスプレイ
1130 入力デバイス
1132 メモリ
1134 コーダ/デコーダ(コーデック)
1136 スピーカー
1138 マイクロフォン
1140 ワイヤレスコントローラ
1142 ワイヤレスアンテナ
1144 電源
1150 メモリ制御論理
1152 動的タイミングパラメータ
1160 メモリコントローラ
1162 命令
1164 命令
1168 動的タイミングパラメータ
1200 製造プロセス
1202 物理デバイス情報
1204 ユーザインターフェース
1206 研究用コンピュータ
1208 プロセッサ
1210 メモリ
1212 ライブラリファイル
1214 設計用コンピュータ
1216 プロセッサ
1218 メモリ
1220 電子設計自動化(EDA)ツール
1222 回路設計情報
1224 ユーザインターフェース
1226 GDSIIファイル
1228 製造プロセス
1230 マスク製造業者
1232 マスク
1234 ウエハ
1236 ダイ
1238 パッケージングプロセス
1240 パッケージ
1242 PCB設計情報
1244 ユーザインターフェース
1246 コンピュータ
1248 プロセッサ
1250 メモリ
1252 GERBERファイル
1254 基板組立てプロセス
1256 PCB
1258 プリント回路アセンブリ(PCA)
1260 製品製造プロセス
1262 電子デバイス
1264 電子デバイス

Claims (49)

  1. プロセッサから、メモリデバイスによって、前記メモリデバイスの複数の記憶要素のうちの第1の行を識別するための第1のメモリアクセス要求を受信するステップと、
    前記メモリデバイスのタイミングパラメータに基づいて前記第1のメモリアクセス要求を処理するステップと、
    前記プロセッサから、前記メモリデバイスによって、前記複数の記憶要素のうちの第1の行を識別するための第2のメモリアクセス要求を受信するステップと、
    前記第1のメモリアクセス要求および前記第2のメモリアクセス要求がそれぞれ前記複数の記憶要素の前記第1の行を識別したと判定したことに応答して、前記メモリデバイスの前記タイミングパラメータを変更して、変更されたタイミングパラメータを生成するステップと、
    前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するステップと
    を含む方法。
  2. 前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つであり、前記第1のメモリアクセス要求と前記第2のメモリアクセス要求はそれぞれ、前記複数の記憶要素の前記第1の行を識別する対応する行アドレスを含む、請求項1に記載の方法。
  3. 前記タイミングパラメータを変更するステップが、
    前記第1のメモリアクセス要求を処理するために使用される前記タイミングパラメータの第1の値を決定するステップと、
    前記第1の値に少なくとも部分的に基づいて、前記タイミングパラメータの第2の値を決定するステップと
    を含む、請求項1に記載の方法。
  4. 前記第1の値が、行アクセスレイテンシと列アクセスレイテンシとの合計に対応し、前記第2の値が、行アドレスが変更されないときの前記列アクセスレイテンシに対応する、請求項3に記載の方法。
  5. 前記複数の記憶要素が複数の行および複数の列に配置され、前記第1のメモリアクセス要求が、前記メモリデバイスの第1の記憶要素にアクセスする旨の要求に対応し、前記第1の記憶要素が、前記複数の行のうちの第1の行、および前記複数の列のうちの第1の列に含まれ、前記第2のメモリアクセス要求が、前記メモリデバイスの第2の記憶要素にアクセスする旨の要求に対応し、前記第2の記憶要素が、前記第1の行、および前記第1の列とは異なる第2の列に含まれる、請求項4に記載の方法。
  6. 前記メモリデバイスの前記複数の行に含まれる行の数が、前記メモリデバイスの前記複数の列に含まれる列の数と異なる、請求項5に記載の方法。
  7. 前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の行の行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の列の列アドレスを含む、請求項5に記載の方法。
  8. 前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記行アドレスの前記第2の部分、および前記第2の列の列アドレスを含む、請求項7に記載の方法。
  9. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するステップが、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
    経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
    前記第1の値と前記第1の差との間の第2の差を決定するステップと、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップと
    を含む、請求項3に記載の方法。
  10. タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項9に記載の方法。
  11. 前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する、請求項9に記載の方法。
  12. 前記第1のメモリアクセス要求が、第1のreadコマンドまたは第1のwriteコマンドのうちの一方に対応し、前記第2のメモリアクセス要求が、第2のreadコマンド、第2のwriteコマンド、またはプリチャージコマンドのうちの1つに対応する、請求項1に記載の方法。
  13. 複数の記憶要素と、
    前記複数の記憶要素に結合され、プロセッサに結合されるように構成されたメモリ制御論理とを含み、前記メモリ制御論理が、前記プロセッサから受信される複数のメモリアクセス要求が前記複数の記憶要素の第1の行を識別するとの判定に応答して、タイミングパラメータの値を変更するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
    メモリデバイス。
  14. 前記タイミングパラメータの前記値を変更するために、前記メモリ制御論理が、
    前記プロセッサから、前記メモリデバイスで第1のメモリアクセス要求を受信し、
    前記メモリデバイスの前記タイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理し、
    前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信し、
    前記第1のメモリアクセス要求によって識別された第1のメモリアドレス、および前記第2のメモリアクセス要求によって識別された第2のメモリアドレスに少なくとも部分的に基づいて、前記メモリデバイスの前記タイミングパラメータの第2の値を決定し、
    前記第2の値に基づいて前記第2のメモリアクセス要求を処理する
    ように構成される、請求項13に記載のメモリデバイス。
  15. 前記第1の値が、行アクセスレイテンシおよび列アクセスレイテンシに対応し、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記第2の値が、前記列アクセスレイテンシに対応する、請求項14に記載のメモリデバイス。
  16. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するために、前記メモリ制御論理が、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定し、
    経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定し、
    前記第1の値と前記第1の差との間の第2の差を決定し、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定する
    ように構成され、
    前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項14に記載のメモリデバイス。
  17. タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項16に記載のメモリデバイス。
  18. 前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項13に記載のメモリデバイス。
  19. 前記メモリ制御論理はさらに、前記タイミングパラメータの前記値を前記プロセッサに提供するように構成される、請求項13に記載のメモリデバイス。
  20. 複数の記憶要素を含むメモリデバイスと、
    プロセッサと、
    前記プロセッサと前記メモリデバイスとに結合されるメモリコントローラとを含み、前記メモリコントローラが、前記メモリデバイスに対する複数のメモリアクセス要求が前記複数の記憶要素の第1の行を識別すると判定したことに応答して、タイミングパラメータの値を変更するように構成され、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する
    装置。
  21. 前記タイミングパラメータの前記値を変更するために、前記メモリコントローラが、
    第1のメモリアクセス要求の前記メモリデバイスへの送信を開始し、
    前記タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測し、
    第2のメモリアクセス要求の前記メモリデバイスへの送信を開始し、
    前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの第2の値を決定し、
    前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測する
    ように構成され、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連し、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、請求項20に記載の装置。
  22. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記第1のメモリアクセス要求および前記第2のメモリアクセス要求に基づいて前記タイミングパラメータの前記第2の値を決定するために、前記メモリコントローラが、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定し、
    経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定し、
    前記第1の値と前記第1の差との間の第2の差を決定し、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定する
    ように構成され、
    前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項21に記載の装置。
  23. 前記複数の記憶要素が複数の行および複数の列に配置され、前記複数の記憶要素のうちの特定の記憶要素が、特定の行アドレスおよび特定の列アドレスを使用してアドレス指定可能であり、前記特定の行アドレスが、前記特定の記憶要素を含む前記複数の行のうちの特定の行を識別し、前記特定の列アドレスが、前記特定の記憶要素を含む前記複数の列のうちの特定の列を識別する、請求項21に記載の装置。
  24. 前記第1のメモリアクセス要求が、前記複数の記憶要素のうちの第1の記憶要素に関連し、前記第1のメモリアクセス要求が、行コマンドおよび列コマンドを含み、前記行コマンドが、前記第1の記憶要素を含む前記複数の行のうちの第1の行に対応する行アドレスの第1の部分を含み、前記列コマンドが、前記第1の行の前記行アドレスの第2の部分、および前記第1の記憶要素を含む前記複数の列のうちの第1の列に対応する列アドレスを含み、前記第2のメモリアクセス要求が、前記複数の記憶要素のうちの第2の記憶要素に関連し、前記第2のメモリアクセス要求が、第2の列コマンドを含み、前記第2の列コマンドが、前記第1の行の前記行アドレスの前記第2の部分、および前記第2の記憶要素を含む前記複数の列のうちの第2の列に対応する第2の列アドレスを含む、請求項23に記載の装置。
  25. 前記タイミングパラメータの前記値を変更するために、前記メモリコントローラが、
    前記メモリデバイスから第1の値を受信し、
    前記メモリデバイスから第2の値を受信し、
    前記第1の値と前記第2の値との比較に基づいて、前記タイミングパラメータの前記値を決定する
    ように構成され、
    前記第1の値が前記第2の値未満であるとき、前記タイミングパラメータの前記値が前記第2の値に対応し、前記第1の値が、第1のメモリアクセス要求に基づいて前記メモリデバイスで生成される
    請求項20に記載の装置。
  26. メモリコントローラから複数の記憶要素を含むメモリデバイスに第1のメモリアクセス要求を送信するステップと、
    タイミングパラメータの第1の値に基づいて前記メモリデバイスから前記メモリコントローラへの第1のデータ送信の第1の時間を予測するステップであり、前記第1のデータ送信が、前記第1のメモリアクセス要求に関連する、ステップと、
    第2のメモリアクセス要求を前記メモリデバイスに送信するステップと、
    前記第1のメモリアクセス要求および前記第2のメモリアクセス要求がそれぞれ前記複数の記憶要素の第1の行を識別したと判定したことに応答して、前記タイミングパラメータの第2の値を決定することによって、前記タイミングパラメータを変更するステップと、
    前記第2の値に基づいて、前記メモリデバイスから前記メモリコントローラへの第2のデータ送信の第2の時間を予測するステップであり、前記第2のデータ送信が、前記第2のメモリアクセス要求に関連する、ステップと
    を含む方法。
  27. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記タイミングパラメータの前記第2の値を決定するステップが、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定するステップと、
    経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定するステップと、
    前記第1の値と前記第1の差との間の第2の差を決定するステップと、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するステップとを含み、
    前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項26に記載の方法。
  28. 前記メモリデバイスから前記タイミングパラメータの前記第1の値および前記タイミングパラメータの前記第2の値を受信するステップをさらに含む請求項26に記載の方法。
  29. 命令を記憶するコンピュータ可読ストレージデバイスであって、前記命令が、プロセッサによって実行されると、前記プロセッサに、
    タイミングパラメータの第1の値に基づいて第1のメモリアクセス要求を処理することと、
    変更されたタイミングパラメータを生成するために、前記第1のメモリアクセス要求および第2のメモリアクセス要求が複数の記憶要素の第1の行を識別すると判定したことに応答して、前記タイミングパラメータを変更することであり、前記変更されたタイミングパラメータが第2の値を有する、変更することと、
    前記第2の値に基づいて前記第2のメモリアクセス要求を処理することとを行わせる
    コンピュータ可読ストレージデバイス。
  30. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記タイミングパラメータを修正するための前記命令が、前記プロセッサに、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの数を決定させ、
    経過したタイミングサイクルの前記数とタイミングサイクルの閾値数との間の第1の差を決定させ、
    前記第1の値と前記第1の差との間の第2の差を決定させ、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定させ、
    前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項29に記載のコンピュータ可読ストレージデバイス。
  31. タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項30に記載のコンピュータ可読ストレージデバイス。
  32. 前記第1のメモリアクセス要求および前記第2のメモリアクセス要求が、メモリデバイスのメモリ制御論理で受信され、前記命令が、前記プロセッサによって実行されると、前記プロセッサに、前記第1の値および前記第2の値の少なくとも一方の第2のプロセッサへの送信を開始する命令をさらに含む、請求項29に記載のコンピュータ可読ストレージデバイス。
  33. 前記メモリデバイスが、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つである、請求項32に記載のコンピュータ可読ストレージデバイス。
  34. データを記憶するための手段と、
    プロセッサから受信される複数のメモリアクセス要求がデータを記憶するための前記手段の第1の行を識別するとの判定に応答して、タイミングパラメータの値を変更するための手段であり、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの第1の数に対応する、手段と
    を含む装置。
  35. 前記タイミングパラメータの前記値を前記プロセッサに送信するための手段と、
    1つまたは複数のメモリアクセス要求を受信するための手段と、
    前記1つまたは複数のメモリアクセス要求を処理するための手段と
    をさらに含む請求項34に記載の装置。
  36. 前記タイミングパラメータの前記値を変更するための前記手段が、
    第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第1の値に基づいて前記第1のメモリアクセス要求を処理する、手段と、
    前記第1のメモリアクセス要求および第2のメモリアクセス要求に少なくとも部分的に基づいて前記タイミングパラメータの第2の値を決定するための手段であり、前記1つまたは複数のメモリアクセス要求を処理するための前記手段が、前記第2の値に基づいて前記第2のメモリアクセス要求を処理する、手段と
    を含む請求項35に記載の装置。
  37. 前記第1の値が、行アクセスレイテンシと列アクセスレイテンシとの合計に対応し、前記第2の値が、前記第2のメモリアクセス要求に含まれる行アドレスが前記第1のメモリアクセス要求に含まれる行アドレスに対応するとき、前記列アクセスレイテンシに対応する、請求項36に記載の装置。
  38. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に受信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に受信され、前記第2の値を決定するための前記手段が、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
    経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
    前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記第2の値を決定するための手段とを含み、
    前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項36に記載の装置。
  39. タイミングサイクルの前記閾値数が、列間遅延に対応する、請求項38に記載の装置。
  40. データを記憶するための前記手段が、ダブルデータレート(DDR)同期型ダイナミックランダムアクセスメモリ(SDRAM)、不揮発性ランダムアクセスメモリ(NVRAM)、またはダイナミックランダムアクセスメモリ(DRAM)のうちの1つを含む、請求項34に記載の装置。
  41. データを処理するための手段と、
    複数の送信されたメモリアクセス要求が複数の記憶要素の第1の行を識別するとの判定に応答して、タイミングパラメータの値を変更するための手段であり、前記タイミングパラメータが、前記複数の送信されたメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスから受信される前のタイミングサイクルの第1の数に対応する、手段と
    を含む装置。
  42. 第1のメモリアクセス要求および第2のメモリアクセス要求をメモリデバイスに送信するための手段をさらに含む請求項41に記載の装置。
  43. 前記第1のメモリアクセス要求が、第1のタイミングサイクルの間に送信され、前記第2のメモリアクセス要求が、第2のタイミングサイクルの間に送信され、前記タイミングパラメータの前記値を変更するための前記手段が、
    前記第1のメモリアクセス要求に基づいて前記タイミングパラメータの第1の値を決定するための手段と、
    前記第2のタイミングサイクルと前記第1のタイミングサイクルとの間の経過したタイミングサイクルの第2の数を決定するための手段と、
    経過したタイミングサイクルの前記第2の数とタイミングサイクルの閾値数との間の第1の差を決定するための手段と、
    前記第1の値と前記第1の差との間の第2の差を決定するための手段と、
    前記第2の差と閾値タイミングパラメータ値との比較に基づいて、前記タイミングパラメータの第2の値を決定するための手段と
    を含み、前記第2の値が、前記第2の差および前記閾値タイミングパラメータ値の大きい方に対応し、
    前記閾値タイミングパラメータ値が、列アクセスレイテンシに対応する
    請求項42に記載の装置。
  44. 少なくとも1つの半導体ダイに統合された、請求項41に記載の装置。
  45. セットトップボックスと、音楽プレーヤと、ビデオプレーヤと、エンターテインメントユニットと、ナビゲーションデバイスと、通信デバイスと、携帯情報端末(PDA)と、固定ロケーションデータユニットと、コンピュータとからなるグループから選択されたデバイスであって、前記少なくとも1つの半導体ダイが組み込まれた、デバイスをさらに含む、
    請求項44に記載の装置。
  46. プロセッサから、メモリデバイスで第1のメモリアクセス要求を受信するための第1のステップであり、前記メモリデバイスが複数の記憶要素を含む、第1のステップと、
    前記メモリデバイスのタイミングパラメータの第1の値に基づいて前記第1のメモリアクセス要求を処理するための第2のステップと、
    前記プロセッサから、前記メモリデバイスで第2のメモリアクセス要求を受信するための第3のステップと、
    前記第1のメモリアクセス要求および前記第2のメモリアクセス要求が前記複数の記憶要素の第1の行を識別するとの判定に応答して、前記メモリデバイスの前記タイミングパラメータを変更するための第4のステップと、
    前記変更されたタイミングパラメータに基づいて前記第2のメモリアクセス要求を処理するための第5のステップと
    を含む方法。
  47. 半導体デバイスに対応する設計情報を含むデータファイルを受け取るステップと、
    前記設計情報に従って、前記半導体デバイスを作製するステップであって、前記半導体デバイスは、複数のメモリアクセス要求が複数の記憶要素の第1の行のアドレスを識別すると判定したことに応答して、タイミングパラメータの値を変更するように構成された論理を含み、前記タイミングパラメータが、前記複数のメモリアクセス要求のうちの少なくとも1つに関連したデータがデータバスに提供される前のタイミングサイクルの数に対応する、ステップと、
    を含む方法。
  48. 前記データファイルがGDSIIフォーマットを含む、請求項47に記載の方法。
  49. 前記データファイルがGERBERフォーマットを有する、請求項47に記載の方法。
JP2016501494A 2013-03-15 2014-03-12 メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法 Expired - Fee Related JP6059399B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/842,410 2013-03-15
US13/842,410 US9224442B2 (en) 2013-03-15 2013-03-15 System and method to dynamically determine a timing parameter of a memory device
PCT/US2014/024311 WO2014150815A2 (en) 2013-03-15 2014-03-12 System and method to dynamically determine a timing parameter of a memory device

Publications (3)

Publication Number Publication Date
JP2016515269A JP2016515269A (ja) 2016-05-26
JP2016515269A5 JP2016515269A5 (ja) 2016-07-07
JP6059399B2 true JP6059399B2 (ja) 2017-01-11

Family

ID=50543671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016501494A Expired - Fee Related JP6059399B2 (ja) 2013-03-15 2014-03-12 メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法

Country Status (6)

Country Link
US (1) US9224442B2 (ja)
EP (1) EP2973576B1 (ja)
JP (1) JP6059399B2 (ja)
KR (1) KR101650042B1 (ja)
CN (1) CN105190757B (ja)
WO (1) WO2014150815A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11168465B2 (en) 2017-09-29 2021-11-09 Komatsu Ltd. Work vehicle, display device, and fault determination method

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530468B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method, apparatus and system to manage implicit pre-charge command signaling
CN108139994B (zh) * 2016-05-28 2020-03-20 华为技术有限公司 内存访问方法及内存控制器
KR20170141298A (ko) * 2016-06-14 2017-12-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10877547B2 (en) 2016-11-18 2020-12-29 Ati Technologies Ulc Application profiling for power-performance management
US10394456B2 (en) 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
US11210019B2 (en) 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
US11079945B2 (en) * 2018-09-20 2021-08-03 Ati Technologies Ulc Dynamic configuration of memory timing parameters
CN111026258B (zh) * 2019-12-10 2020-12-15 深圳云天励飞技术有限公司 处理器及降低电源纹波的方法
US11183248B1 (en) 2020-07-29 2021-11-23 Micron Technology, Inc. Timing parameter adjustment mechanisms

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8807849D0 (en) * 1988-04-05 1988-05-05 Int Computers Ltd Data processing apparatus with page mode memory
US5159676A (en) * 1988-12-05 1992-10-27 Micron Technology, Inc. Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws
JPH08314795A (ja) * 1994-05-19 1996-11-29 Hitachi Ltd 記憶装置の読み出し回路及び記憶システム
US5848025A (en) * 1997-06-30 1998-12-08 Motorola, Inc. Method and apparatus for controlling a memory device in a page mode
KR100304705B1 (ko) 1999-03-03 2001-10-29 윤종용 포스티드 카스 레이턴시 기능을 가지는 동기식 반도체 메모리 장치 및 카스 레이턴시 제어 방법
KR100374637B1 (ko) 2000-10-24 2003-03-04 삼성전자주식회사 Jedec 규격의 포스티드 카스 기능을 가지는 동기식반도체 메모리 장치
US6963516B2 (en) 2002-11-27 2005-11-08 International Business Machines Corporation Dynamic optimization of latency and bandwidth on DRAM interfaces
JP4085983B2 (ja) * 2004-01-27 2008-05-14 セイコーエプソン株式会社 情報処理装置およびメモリアクセス方法
US7650481B2 (en) 2004-11-24 2010-01-19 Qualcomm Incorporated Dynamic control of memory access speed
KR100671747B1 (ko) * 2006-01-04 2007-01-19 삼성전자주식회사 개선된 애디티브 레이턴시를 가진 메모리 시스템 및제어방법
US8195907B2 (en) 2007-12-21 2012-06-05 Rambus Inc. Timing adjustment in a reconfigurable system
US8463987B2 (en) 2008-09-23 2013-06-11 Intel Corporation Scalable schedulers for memory controllers
US8683164B2 (en) 2009-02-04 2014-03-25 Micron Technology, Inc. Stacked-die memory systems and methods for training stacked-die memory systems
US9245881B2 (en) 2009-03-17 2016-01-26 Qualcomm Incorporated Selective fabrication of high-capacitance insulator for a metal-oxide-metal capacitor
US20120284576A1 (en) 2011-05-06 2012-11-08 Housty Oswin E Hardware stimulus engine for memory receive and transmit signals
US8693269B2 (en) 2011-08-08 2014-04-08 Samsung Electronics Co., Ltd. Memory device for managing timing parameters
US9003256B2 (en) 2011-09-06 2015-04-07 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuits by determining the solid timing window

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11168465B2 (en) 2017-09-29 2021-11-09 Komatsu Ltd. Work vehicle, display device, and fault determination method

Also Published As

Publication number Publication date
US9224442B2 (en) 2015-12-29
US20140281327A1 (en) 2014-09-18
WO2014150815A2 (en) 2014-09-25
CN105190757B (zh) 2017-08-22
EP2973576A2 (en) 2016-01-20
KR101650042B1 (ko) 2016-08-22
WO2014150815A3 (en) 2014-11-27
KR20150131186A (ko) 2015-11-24
CN105190757A (zh) 2015-12-23
EP2973576B1 (en) 2017-11-08
JP2016515269A (ja) 2016-05-26

Similar Documents

Publication Publication Date Title
JP6059399B2 (ja) メモリデバイスのタイミングパラメータを動的に決定するためのシステムおよび方法
JP5493000B2 (ja) 不均一ページサイズを有する多チャンネルメモリシステムへのアクセス
EP3069346B1 (en) Volatile memory sending refresh request signal to memory controller
US8266409B2 (en) Configurable cache and method to configure same
JP5646055B2 (ja) マルチチャネルマルチポートメモリ
US10503435B2 (en) Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems
US20110035529A1 (en) Partitioning a Crossbar Interconnect in a Multi-Channel Memory System
CN106463165B (zh) 双写字线sram单元
US11893398B2 (en) Methods, systems, and apparatuses to perform a compute operation according to a configuration packet and comparing the result to data in local memory
JP6131394B1 (ja) 可変読出し遅延システム
JP6162902B2 (ja) 低電力メモリ動作を実行するためのシステムおよび方法
US10705912B2 (en) Energy efficient storage of error-correction-detection information
US20160093345A1 (en) Dynamic random access memory timing adjustments

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160418

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160418

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160418

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161208

R150 Certificate of patent or registration of utility model

Ref document number: 6059399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees