JP2012518229A - メモリプリフェッチシステムおよび方法 - Google Patents

メモリプリフェッチシステムおよび方法 Download PDF

Info

Publication number
JP2012518229A
JP2012518229A JP2011550273A JP2011550273A JP2012518229A JP 2012518229 A JP2012518229 A JP 2012518229A JP 2011550273 A JP2011550273 A JP 2011550273A JP 2011550273 A JP2011550273 A JP 2011550273A JP 2012518229 A JP2012518229 A JP 2012518229A
Authority
JP
Japan
Prior art keywords
prefetch
memory
vault
memory vault
controller
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.)
Pending
Application number
JP2011550273A
Other languages
English (en)
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 JP2012518229A publication Critical patent/JP2012518229A/ja
Pending legal-status Critical Current

Links

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
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)

Abstract

選択されたメモリヴォールトと関連付けられるパイプラインが空の時に、積層ダイのメモリシステム中の選択されたメモリヴォールトから、プログラム可能ないくつかのデータワードをプリフェッチするように動作するものを含む、システムおよび方法が、本明細書にて開示される。
【選択図】なし

Description

(関連出願)
本特許出願は、2009年2月13日に出願された、米国特許第12/371,389号の優先権の利益を主張し、本出願は、参照することによって本明細書に組み込まれる。
本明細書に記載する種々の実施形態は、半導体メモリと関連付けられるシステムおよび方法、ならびにメモリプリフェッチと関連付けられるシステムおよび方法に関する。
マイクロプロセッサ技術は、半導体メモリ技術よりも早い速度で進化している。結果として、現代のホストプロセッサと、そのプロセッサが命令およびデータを受信するように結合された半導体メモリのサブシステムとの間に、性能のミスマッチがしばしば存在する。例えば、一部の高性能サーバは、メモリ要求に対する応答待ちで4分の3クロックがアイドル状態であることが推定される。
加えて、プロセッサコアおよびスレッドの数が増加し続けるにつれて、ソフトウェアアプリケーションおよびオペレーティングシステム技術の進化によって、より高密度メモリのサブシステムに対する需要が増大している。しかしながら、現在技術のメモリサブシステムには、しばしば性能と密度との間に妥協が示される。帯域幅が高いと、JEDECの電気仕様を超えていなくても、システムの中で接続することができるメモリカードまたはモジュールの数が制限される場合がある。
JEDECインターフェースへの拡張が提案されているが、概して、将来予測されるメモリ帯域幅および密度に関しては不足していると見られる場合がある。弱点には、メモリ電力の最適化の欠如、およびホストプロセッサとメモリサブシステムとの間のインターフェースの独自性が挙げられる。プロセッサおよび/またはメモリ技術が変化するにつれ、後者の弱点によって、インターフェースを再設計する必要性がもたらされる場合がある。
本発明の種々の例示的実施形態に従う、メモリシステムのブロック図である。 種々の例示的実施形態に従い、論理ダイとともに積層される、積層ダイの3Dメモリアレイの断面概念図である。 種々の例示的実施形態に従い、例示的パケットと関連付けられるフィールドを示す、パケット図である。 種々の例示的実施形態に従い、例示的パケットと関連付けられるフ@0003ィールドを示す、パケット図である。 種々の例示的実施形態に従う、メモリヴォールトコントローラおよび関連モジュールのブロック図である。 種々の例示的実施形態に従う、メモリシステムのブロック図である。 種々の例示的実施形態に従う方法を図示する、フロー図である。 種々の例示的実施形態に従う方法を図示する、フロー図である。
図1は、本発明の種々の例示的実施形態に従う、メモリシステム100のブロック図である。1つ以上の実施形態は、1つ以上の発信デバイス(例えば、1つ以上のプロセッサ)と1セットの積層されたアレイメモリ「ヴォールト(vault)」との間のコマンド、アドレス、および/またはデータの複数のアウトバウンドのストリームを、実質的に同時に転送するように動作する。メモリシステムの密度、帯域幅、平行性、および拡張性を増加させることができる。
本明細書の複数ダイのメモリアレイの実施形態では、以前の設計では通常各個別のメモリアレイ上に設置される、制御論理が統合される。本明細書で「メモリヴォールト」と呼ぶ、ダイの積層されたグループのサブセクションは、共通の制御論理を共有する。メモリヴォールトのアーキテクチャは、電源が入ったメモリバンクのより精緻な粒度を提供する一方で、エネルギー効率を増加するように、メモリ制御論理を戦略的に分割する。また、本明細書の実施形態によれば、メモリシステムインターフェースにホストプロセッサを標準化させることができる。メモリ技術が進化すると、標準化されたインターフェースによって、再設計サイクルの期間を減少することができる。
図2は、種々の例示的な実施形態に従い、論理ダイ202ともに積層された、積層ダイの3Dメモリアレイ200の断面概念図である。メモリシステム100は、積層ダイの3Dメモリアレイ200など、1つ以上のタイル状のメモリアレイの積層を包含する。複数のメモリアレイ(例えば、メモリアレイ203)は、複数の積層ダイ(例えば、積層ダイ204)のそれぞれの上に設置される。
積層ダイのそれぞれは、複数の「タイル」(例えば、積層ダイ204と関連付けられる、タイル205A、205B、および205C)に論理的に分割される。各タイル(例えば、タイル205C)は、1つ以上のメモリアレイ203を含むことができる。いくつかの実施形態では、各メモリアレイ203は、メモリシステム100に1つ以上の独立したメモリバンクとして構成することができる。メモリアレイ203は、いかなる特定の技術にも限定されず、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリなどを含むことができる。
積層されたメモリアレイタイルのセット208は、積層ダイのそれぞれ(例えば、図1でベースのタイルが図から隠れている212B、212C、および212D)からの単一タイルを含むことができる。電力、アドレス、および/またはデータ、ならびに類似の共通信号は、スルーウェハ相互接続(TWI)などの導電性パス(例えば、導電性パス224)上の「Z」次元220の積層されたタイルのセット208を横断することができる。したがって、積層ダイの3Dメモリアレイ200は、メモリ「ヴォールト」のセット(例えば、メモリヴォールト230)に分割される。各メモリヴォールトは積層されたタイルのセットを含み、1つのタイルは複数の積層ダイのそれぞれから来ている。ヴォールトの各タイルは、1つ以上のメモリアレイ(例えば、メモリアレイ240)を含む。
得られたメモリヴォールトのセット102が、図1に示されている。本明細書で以下に記載する制御、切り替え、および通信論理は、論理ダイ202上に組み上げられる。メモリシステム100は、複数のメモリヴォールトコントローラ(MVC)104(例えば、MVC106)を含む。各MVCは、1対1の関係にある、対応するメモリヴォールト(例えば、メモリヴォールト110)に通信可能に連結される。したがって、各MVCは、他のMVCとそれらそれぞれのメモリヴォールトとの間の通信から独立して、対応するメモリヴォールトと通信することができる。
メモリシステム100はまた、構成可能な直列化された複数の通信リンクインターフェース(SCLI)112を含む。SCLI112は、SCLIのアウトバウンドグループ113(例えば、アウトバウンドSCLI114)およびSCLIのインバウンドグループ115に分割される。複数のSCLI112のそれぞれは、他のSCLI112とともに同時に動作することができる。同時に、SCLI112は、複数のMVC104を1つ以上のホストプロセッサ114に通信可能に連結させる。メモリシステム100は、ホストプロセッサ114に、高度に概念化された複数リンクの高スループットを提示する。
また、メモリシステム100は、マトリクススイッチ116も含むことができる。マトリクススイッチ116は、複数のSCLI112および複数のMVC104に通信可能に連結される。マトリクススイッチ116は、各SCLIを選択されたMVCに交差接続することができる。したがって、ホストプロセッサ114は、実質的に同時に、複数のSCLI112にわたって複数のメモリヴォールト102にアクセスすることができる。このアーキテクチャは、マルチコア技術を含む現代のプロセッサ技術が必要とする、プロセッサからメモリへの帯域幅を提供することができる。
メモリシステム100はまた、マトリクススイッチ116に通信可能に連結される、メモリ構造制御レジスタ117も含むことができる。メモリ構造制御レジスタ117は、構成資源からメモリ構造構成パラメータを受容し、選択可能なモードに従って動作するように、メモリシステム100の1つ以上の構成要素を構成する。例えば、マトリクススイッチ116、ならびに複数のメモリヴォールト102および複数のMVC104のそれぞれは、通常、互いに独立して、別々のメモリ要求に応じて動作するように構成することができる。このような構成によって、SCLI112とメモリヴォールト102との間の平行性という結果として、メモリシステムの帯域幅を強化することができる。
代替として、メモリシステム100は、複数のメモリヴォールト102のうちの2つ以上のサブセット、および対応するMVCのサブセットを、単一の要求に応じて同調して動作させるように、メモリ構造制御レジスタ117を介して再構成することもできる。後者の構成は、以下にさらに記載する通り、待ち時間を減少するように、通常より幅の広いデータワードにアクセスするのに使用することができる。他の構成は、選択されたビットパターンをメモリ構造制御レジスタ117にロードすることによって、有効化することができる。
図3および4は、種々の例示的実施形態に従い、それぞれ、例示的パケット300および400と関連付けられるフィールドを示す、パケット図である。図3および4を考慮して、図1を参照すると、メモリシステム100はまた、マトリクススイッチ116に通信可能に連結される、複数のパケットデコーダ118(例えば、パケットデコーダ120)を含むことができる。ホストプロセッサ114は、いくつかの実施形態では、例示的パケット300または400に構造上類似させることができる、アウトバウンドパケット122を組み立てる。すなわち、アウトバウンドパケット122は、コマンドフィールド310、アドレスフィールド320、および/またはデータフィールド410を含有することができる。また、アウトバウンドパケット122は、メモリヴォールトでプリフェッチ動作と関連付けられるプリフェッチ情報を保持するように、プリフェッチ情報フィールド412を含有することもできる。プリフェッチ動作については、図5、図5A、図6A、および図6Bを参照の上、以下に記載する。図1を参照すると、ホストプロセッサ114は、アウトバウンドパケット122を組み立てた後、さらに以下に説明する方式で、アウトバウンドSCLI(例えば、アウトバウンドSCLI114)にわたって、アウトバウンドパケット122をパケットデコーダ120に送信する。
また、アウトバウンドSCLI114は、複数のアウトバウンドの差動ペアシリアルパス(DPSP)128を含むことができる。DPSP128は、ホストプロセッサ114に通信可能に連結され、アウトバウンドパケット122をまとめて輸送することができる。すなわち、複数のアウトバウンドDPSP128の各DPSPは、第1のデータ速度で、アウトバウンドパケット122の第1のデータ速度のアウトバウンドサブパケット部分を輸送することができる。
また、アウトバウンドSCLI114は、複数のアウトバウンドDPSP128に通信可能に連結される、デシリアライザ130も含むことができる。デシリアライザ130は、アウトバウンドパケット122の各第1のデータ速度のアウトバウンドサブパケット部分を、複数の第2のデータ速度のアウトバウンドサブパケットに変換する。複数の第2のデータ速度のアウトバウンドサブパケットは、第2のデータ速度で、第1の複数のアウトバウンドのシングルエンドデータパス(SEDP)134にわたって送信される。第2のデータ速度は、第1のデータ速度よりも遅い。
また、アウトバウンドSCLI114は、デシリアライザ130に通信可能に連結される、デマルチプレクサ138も含むことができる。デマルチプレクサ138は、複数の第2のデータ速度のアウトバウンドサブパケットの各々を、複数の第3のデータ速度のアウトバウンドサブパケットへ変換する。複数の第3のデータ速度のアウトバウンドサブパケットは、第3のデータ速度で、第2の複数のアウトバウンドSEDP142にわたって、パケットデコーダ120へ送信される。第3のデータ速度は、第2のデータ速度よりも遅い。
パケットデコーダ120はアウトバウンドパケット122を受信し、コマンドフィールド310(例えば、例示的パケット300のコマンドフィールド)、アドレスフィールド320(例えば、例示的パケット300のアドレスフィールド)、および/またはデータフィールド(例えば、例示的パケット400のデータフィールド)を抽出する。いくつかの実施形態では、パケットデコーダ120は、メモリヴォールト選択信号の対応するセットを判定するように、アドレスフィールド320を復号する。パケットデコーダ120は、メモリヴォールト選択信号のセットを、インターフェース146のマトリクススイッチ116に提示する。ヴォールト選択信号によって、入力データパス148が、アウトバウンドパケット122に対応するMVC106に切り替えられる。
ここでインバウンドデータパスに関する説明に変わって、メモリシステム100は、マトリクススイッチ116に通信可能に連結される、複数のパケットエンコーダ154(例えば、パケットエンコーダ158)を含むことができる。パケットエンコーダ158は、複数のMVC104のうちの1つから、マトリクススイッチ116を介して、インバウンドメモリコマンド、インバウンドメモリアドレス、および/またはインバウンドメモリデータを受信することができる。パケットエンコーダ158は、インバウンドSCLI164にわたってホストプロセッサ114へ伝送するために、インバウンドメモリコマンド、アドレス、および/またはデータを、インバウンドパケット160に符号化する。
いくつかの実施形態では、パケットエンコーダ158は、インバウンドパケット160を複数の第3のデータ速度のインバウンドサブパケットに分割することができる。パケットエンコーダ158は、第3のデータ速度で、第1の複数のインバウンドのシングルエンドデータパス(SEDP)166にわたって、複数の第3のデータ速度のインバウンドサブパケットを送信することができる。また、メモリシステム100は、パケットエンコーダ158に通信可能に連結される、マルチプレクサ168を含むこともできる。マルチプレクサ168は、第3のデータ速度のインバウンドサブパケットの複数のサブセットのそれぞれを、第2のデータ速度のインバウンドサブパケットに多重化することができる。マルチプレクサ168は、第3のデータ速度よりも速い第2のデータ速度で、第2の複数のインバウンドSEDP170にわたって、第2のデータ速度のインバウンドサブパケットを送信する。
メモリシステム100は、マルチプレクサ168に通信可能に連結される、シリアライザ172をさらに含むことができる。シリアライザ172は、第2のデータ速度のインバウンドサブパケットの複数のサブセットのそれぞれを、第1のデータ速度のインバウンドサブパケットに統合する。第1のデータ速度のインバウンドサブパケットは、第2のデータ速度より速い第1のデータ速度で、複数のインバウンドの差動ペアシリアルパス(DPSP)174にわたって、ホストプロセッサ114に送信される。したがって、コマンド、アドレス、およびデータ情報は、SCLI112にわたって、マトリクススイッチ116を介して、ホストプロセッサ114とMVC104との間を行き来して転送される。
図5は、種々の例示的実施形態に従う、MVC(例えば、MVC106)および関連モジュールのブロック図である。MVC106は、プログラム可能なヴォールト制御論理(PVCL)構成要素(例えば、PVCL510)を含むことができる。PVCL510は、MVC106を対応するメモリヴォールト(例えば、メモリヴォールト110)に結び付ける。PVCL510は、対応するメモリヴォールト110と関連付けられる、1つ以上のバンク制御信号および/またはタイミング信号を生成する。
PVCL510は、選択された構成または選択された技術のメモリヴォールト110に、MVC106を適合させるように構成することができる。したがって、例えば、メモリシステム100は、最初に、現在利用可能なDDR2DRAMを使用して構成することができる。続いて、メモリシステム100は、DDR3のバンク制御およびタイミング論理を含むように、PVCL510を再構成することによって、DDR3をベースとするメモリヴォールト技術を収容するように適合することができる。
また、MVC106は、PVCL510に通信可能に連結される、メモリシーケンサ514を含むこともできる。メモリシーケンサ514は、関連するメモリヴォールト110を実装するために使用される技術に基づき、メモリ技術に依存する動作のセットを行う。メモリシーケンサ514は、例えば、対応するメモリヴォールト110と関連付けられる、コマンド復号操作、メモリアドレス多重化操作、メモリアドレス多重分離操作、メモリリフレッシュ操作、メモリヴォールト訓練操作、および/またはメモリヴォールトプリフェッチ動作を行うことができる。いくつかの実施形態では、メモリシーケンサ514はDRAMシーケンサを備えることができる。いくつかの実施形態では、メモリリフレッシュ操作は、リフレッシュコントローラ515で始めることができる。
メモリシーケンサ514は、選択された構成または技術のメモリヴォールト110に、メモリシステム100を適合させるように構成することができる。例えば、メモリシーケンサ514は、メモリシステム100と関連付けられる、他のメモリシーケンサと同調して動作するように構成することができる。このような構成は、単一のキャッシュライン要求に応じて、複数のメモリヴォールトから、ホストプロセッサ114と関連付けられるキャッシュライン(図示せず)へ、幅の広いデータワードを伝達するのに使用することができる。
また、MVC106は書き込みバッファ516を含むこともできる。書き込みバッファ516は、ホストプロセッサ114からMVC106に到着するデータをバッファに格納するように、PVCL510に通信可能に連結することができる。MVC106はさらに、読み取りバッファ517を含むことができる。読み取りバッファ517は、対応するメモリヴォールト110からMVC106に到着するデータをバッファに格納するように、PVCL510に通信可能に連結することができる。
また、MVC106は、順序がバラバラの要求キュー518も含むことができる。順序がバラバラの要求キュー518は、読み取りおよび/または書き込み操作の順序付けられたシーケンスを、メモリヴォールト110に含まれる複数のメモリバンクに確立する。順序付けられたシーケンスは、バンクの競合を減少させ、読み取りから書き込みの所要時間を低減するために、いかなる単一のメモリバンクへの連続操作も避けるように選択される。
また、MVC106は、メモリヴォールト修復論理(MVRL)構成要素524を含むこともできる。MVRL524は、アレイ修復論理526を使用して、欠陥のあるメモリアレイアドレスの再マッピング操作を行うように、メモリヴォールト110に通信可能に連結することができる。また、MVRL524は、TWI修復論理528を使用して、メモリヴォールト110と関連付けられるTWI修復操作を行うこともできる。
図5Aは、種々の例示的実施形態に従う、メモリシステム5000のブロック図である。メモリシステム5000は、メモリヴォールト(例えば、メモリヴォールト110)のセット102、およびMVC(例えば、MVC106)の対応するセット104を含むことができる。MVCは、前で説明した通り、メモリアレイのダイ(例えば、図2のメモリアレイのダイ204)とともに積層される、論理ダイ(例えば、図2の論理ダイ202)上に組み上げられる。
図5Aに関する以下の説明では、例示的メモリヴォールト110と、例示的MVC106と、メモリヴォールトのプリフェッチ動作と関連付けられる種々の構造要素との間の接続に言及している。なお、しかしながら、以下に記載し、図5Aに図示する接続および機能性は、メモリヴォールトのセット102の各1つ、および対応するMVCのセット104の各1つに適用される。
メモリシステム5000のいくつかの実施形態では、メモリヴォールト102の帯域幅は、メモリヴォールト102を、メモリ要求を発信するデバイス(例えば、ホストコンピュータ)にリンクさせる、通信チャネルの帯域を超えることができる。加えて、発信デバイスからの要求ストリームは、継続的ではない場合がある。これらの要素によって、メモリヴォールト102に余剰帯域幅をもたらすことができる。余剰帯域幅は、プリフェッチ動作を行うために使用することができる。プリフェッチ動作は、メモリヴォールトが使用されていない時、例えば、メモリヴォールトへの読み取り要求がメモリヴォールトで処理されていない時に行うことができる。代替として、プリフェッチ動作は、メモリヴォールトが使用されている時に行うこともできる。
メモリシステム5000は、プリフェッチコントローラ5006を含むことができる。プリフェッチコントローラ5006は、メモリヴォールト110と関連付けられるプリフェッチ動作を行う。また、メモリシステム5000は、プリフェッチキャッシュ5014に含まれる、1つ以上のプリフェッチバッファ5010を含むこともできる。プリフェッチバッファ5010は、プリフェッチコントローラ5006に通信可能に連結することができる。プリフェッチバッファのセット5010(例えば、プリフェッチバッファのセット5018)は、読み取りデータの1つ以上のキャッシュライン(例えば、キャッシュライン5020)を記憶するようにグループ化することができる。プリフェッチコントローラ5006は、1つ以上のキャッシュライン5020を選択的に有効化するように構成することができる。
プリフェッチコントローラ5006は、メモリヴォールト110が使用されていない時、またはメモリヴォールト110が使用されている時に、プリフェッチ読み取り要求を発行することができるように、プリフェッチ読み取り要求をメモリヴォールト110に発行するように構成することができる。いくつかの実施形態では、プリフェッチデータワードは、以前の読み取り要求に応じて読み取られたデータワードに対応する、メモリヴォールトのアドレスから読み取ることができる。代替として(または加えて)、プリフェッチデータワードは、MVC106にコマンドを発行する発信デバイスによって提供されるアドレスの範囲より選択される、メモリヴォールトのアドレスから読み取ることができる。例えば、ホストコンピュータは、プリフェッチバッファ5010でプリフェッチまたはキャッシュされるように、アドレスの範囲を規定することができる。
また、メモリシステム5000は、プリフェッチコントローラ5006に通信可能に連結される、プリフェッチ書き込み論理5021を含むこともできる。プリフェッチ書き込み論理5021によって、書き込みデータでメモリヴォールト110およびプリフェッチバッファ5010を追跡し更新する。
メモリシステム5000によるプリフェッチの使用は、いくつかの動作条件下では他よりも望ましい場合がある。「局所性」は、電子メモリ技術に関するため、次のメモリ要求が以前の要求と同一のメモリの空間領域からデータを参照する可能性を示す。より大きな局所性を伴うメモリヴォールトのデータ要求ストリームは、より少ない局所性を伴うデータ要求ストリームより、プリフェッチ動作からより多くの恩恵を受けることができる。そして、プリフェッチ動作は、メモリヴォールト110で電力を消費することに留意すべきである。その結果、プリフェッチコントローラ5006は、プリフェッチ動作を選択的に有効化および/または無効化するように構成することができる。いくつかの実施形態は、データストリームの予測される局所性にしたがって、および/またはメモリヴォールト110と関連付けられる選択された電力量を標的にするように、プリフェッチ動作を有効化/無効化することができる。
メモリシステム5000は、プリフェッチコントローラ5006に通信可能に連結される、プリフェッチ利用論理5022を含むことができる。プリフェッチ利用論理5022は、ヒット測定期間中、キャッシュラインのヒット数を追跡する。本明細書との関連における「キャッシュラインのヒット」は、データワードが記憶され、データワードがキャッシュの中で見つけられるメモリヴォールトのアドレスを、読み取り要求が参照する時に発生する。プリフェッチコントローラ5006は、プリフェッチキャッシュ5014と関連付けられるヒット率が、ヒット率の測定期間中、選択された閾値を下回る場合に、プリフェッチ動作を無効化するように構成することができる。プリフェッチ動作は、選択された期間中、またはプリフェッチ動作を再開するコマンドが、ホストコンピュータなどの発信デバイスから受信されるまで、無効化することができる。いくつかの実施形態では、プリフェッチは個々のキャッシュラインごとにオンおよびオフにすることができる。
また、メモリシステム5000は、それぞれメモリヴォールト110に設置される、1つ以上の電圧および/または温度センサ5026ならびに5028を含むこともできる。電力モニタ5032は、電圧センサ5026および/または温度センサ5028に連結することができる。電力モニタ5032は、プリフェッチコントローラ5006に、メモリヴォールト110の電力消費レベルの表示を提供することができる。プリフェッチコントローラ5006は、メモリヴォールト110の電力消費レベルが第1の選択された閾値を上回る場合に、プリフェッチ動作を無効にするように構成することができる。プリフェッチ動作は、選択された期間の終了に続いて、再度有効化することができる。代替として、プリフェッチは、電力消費レベルが第2の選択された閾値よりも下がる時、またはプリフェッチを再開するように発信デバイスからコマンドを受信する時に、再度有効化することができる。
メモリシステム5000は、プリフェッチコントローラ5006に通信可能に連結される、プリフェッチ読み取り論理5036をさらに含むことができる。プリフェッチ読み取り論理5036は、MVC106で受信された読み取り要求が、プリフェッチワードのうちの1つ以上を参照する場合に、プリフェッチバッファ5010のうちの1つ以上から、1つ以上のプリフェッチワードを読み取ることができる。
したがって、メモリシステム100、メモリアレイ200、203、240、527、ダイ202、204、タイル205A、205B、205C、208、212B、212C、212D、「Z」次元220、パス224、148、メモリヴォールト230、102、110、MVC104、106、SCLI112、113、114、115、164、プロセッサ114、マトリクススイッチ116、レジスタ117、パケット300、400、122、160、パケットデコーダ118、120、フィールド310、320、410、DPSP128、174、デシリアライザ130、SEDP134、142、166、170、デマルチプレクサ138、インターフェース146、パケットエンコーダ154、158、マルチプレクサ168、シリアライザ172、PVCL510、メモリシーケンサ514、リフレッシュコントローラ515、バッファ516、517、順序がバラバラの要求キュー518、MVRL524、アレイ修復論理526、TWI修復論理528、メモリシステム5000、プリフェッチコントローラ5006、プリフェッチバッファ5010、5018、プリフェッチキャッシュ5014、キャッシュライン5020、プリフェッチ書き込み論理5021、プリフェッチ利用論理5022、センサ5026、5028、電力モニタ5032、およびプリフェッチ読み取り論理5036はすべて、本明細書では「モジュール」として特徴付けることができる。
モジュールは、メモリシステム100の設計者が望むような、かつ種々の実施形態の特定の実装に適するような、ハードウェア回路、光学的構成要素、単一または複数のプロセッサ回路、メモリ回路、コンピュータで読み取り可能な媒体で符号化される、ソフトウェアプログラムモジュールおよびオブジェクト(だが、ソフトウェアリストではない)、ファームウェア、ならびにそれらの組み合わせを含むことができる。
種々の実施形態の装置およびシステムは、高密度で、マルチリンク、高スループットの半導体メモリサブシステム5000以外の適用においても有用であることができる。したがって、本発明の種々の実施形態は、それほど制限されない。メモリシステム5000の図解は、種々の実施形態の構造の一般的な理解を提供することを意図している。本明細書に記載する構造を利用する場合がある、装置およびシステムの要素ならびに特徴すべての完全な記述として機能することを意図してはいない。
種々の実施形態の新規装置およびシステムは、コンピュータに使用される電子回路、通信および信号処理回路、単一プロセッサまたは複数プロセッサモジュール、単一または複数の埋め込み式プロセッサ、マルチコアプロセッサ、データスイッチ、ならびに多層マルチチップモジュールを含むアプリケーション特有のモジュールを備えるか、あるいはそれらに組み込むことができる。このような装置およびシステムは、さらに、テレビ、携帯電話、個人用コンピュータ(例えば、ノートパソコン、デスクトップパソコン、携帯用パソコン、タブレットコンピュータなど)、ワークステーション、ラジオ、ビデオプレーヤー、オーディオプレーヤー(例えば、MP3(Motion Picture Experts Group, Audio Layer 3)プレーヤー)、車両、医療デバイス(例えば、心臓モニタ、血圧モニタなど)、セットトップボックスなど、種々の電子システム内に、サブコンポーネントとして含むことができる。いくつかの実施形態は、いくつかの方法を含むことができる。
図6Aおよび6Bは、種々の例示的実施形態に従う方法6000を図示する、フロー図である。方法6000は、積層ダイのメモリシステムの中の1つ以上のメモリヴォールト(例えば、図5Aの積層ダイのメモリシステム5000の中のメモリヴォールト110)と関連付けられるプリフェッチ動作を行うことを含む。プリフェッチ動作は選択的に有効化または無効化することができ、プリフェッチパラメータは各個々のメモリヴォールトに対して別々に構成される。いくつかの実施形態では、メモリヴォールトのパイプラインが空の時に、プログラム可能ないくつかのデータワードを時々プリフェッチすることができる。
方法6000は、ブロック6002から開始することができ、発信デバイスから(例えば、ホストコンピュータから)MVC(例えば、図5AのMVC106)でプリフェッチ構成パラメータを受信する。プロフェッチ構成パラメータは、プリフェッチアドレス様式を含むことができる。このような文脈における「プロフェッチアドレス様式」は、メモリヴォールトからプリフェッチされるアドレスが、以前にアクセスしたアドレス、または発信デバイスによって規定される範囲からのアドレスに対応するかどうかを意味する。他の構成パラメータは、キャッシュヒットが発生する時に戻るキャッシュラインの数などの、キャッシュラインのアクセスパラメータを含むことができる。また、方法6000は、ブロック6004にて、プリフェッチ構成パラメータを使用して、メモリシステムを構成することを含むこともできる。
方法6000は、ブロック6010にて、メモリヴォールトへの1つ以上のプリフェッチ読み取り要求を発行して続けることができる。方法6000は、プリフェッチ読み取り要求を発行する前に、メモリヴォールトが使用されていないかどうかを確認することができる。メモリヴォールトが使用されていない場合、例えば、メモリヴォールトへの他の読み取り要求が、メモリヴォールトで処理されていない時に、方法6000によって、プリフェッチ読み取り要求を発行し、プリフェッチ動作を開始することができる。代替として、方法6000は、メモリヴォールトへの1つ以上の他の読み取り要求が、メモリヴォールトで処理されている場合でさえ、読み取り要求を受信すると、プリフェッチ動作を自動的に開始することができるように、メモリヴォールトが使用されている時に、プリフェッチ読み取り要求を発行することができる。
また、方法600は、メモリヴォールトが発信デバイスから(例えば、ホストコンピュータから)プリフェッチ動作を行わないように示すプリフェッチ情報を受信する場合、メモリヴォールトへのプリフェッチ読み取り要求の発行(ボックス6010)を省略することができる。例えば、方法600が図1のメモリシステム100で使用されるとき、図1のホストプロセッサ114は、プリフェッチ動作を行わないように示すプリフェッチ情報とともに、アウトバウンドパケット112を送信することができる。プリフェッチ情報は、図4のプリフェッチ情報フィールド412など、アウトバウンドパケット122のフィールドに含有することができる。メモリヴォールトは、プリフェッチ動作が行われる(または再開される)べきであると示すプリフェッチ情報を発信デバイスから受信する場合に、プリフェッチ動作を行うことを再開することができる。プリフェッチ情報は、プリフェッチ動作が行われる(または再開される)べきか、または行われない(例えば、省略されるか、または延期される)べきかを示す値を有する、複数のビットまたは単一のビットのみを含むことができる。例えば、プリフェッチ情報が単一のビットのみを有する場合、または単一のビットが「0」の値を有する場合、プリフェッチ動作は省略または延期することができる。単一のビットが「1」の値を有する場合には、プリフェッチ動作を行う(または再開する)ことができる。
図6を参照すると、方法6000はまた、ブロック6014にて、メモリヴォールトに対応するMVCで、メモリヴォールトから1つ以上のプリフェッチデータワードを受信することを含むことができる。方法6000は、さらにブロック6016にて、プリフェッチキャッシュの1つ以上のプリフェッチバッファに、プリフェッチデータワードを記憶することを含むことができる。
方法6000は、ブロック6020にて、MVCで読み取り要求を受信して続けることができる。方法6000は、ブロック6024にて、読み取り要求によって参照されるデータが、プリフェッチキャッシュで続行中であるかどうかを判定することを含むことができる。続行中である場合、方法6000は、ブロック6028にて、プリフェッチキャッシュからの読み取り要求を提供し、キャッシュヒットをもたらして、続けることができる。読み取り要求によって参照されるデータが、プリフェッチキャッシュ(キャッシュヒットなし)で継続中でない場合、方法6000は、ブロック6032にて、選択されたメモリヴォールトからの読み取り要求を提供して、続けることができる。
また、方法6000は、ブロック6036にて、第1の期間にわたって、プリフェッチキャッシュと関連付けられるヒット率を計測することを含むこともできる。方法6000は、さらにブロック6040にて、キャッシュヒット率が選択された閾値を下回るかどうかを判定することを含むことができる。下回る場合、方法6000は、ブロック6044にて、プリフェッチ動作の無効化を含むことができる。プリフェッチ動作は、選択された期間中、またはプリフェッチが発信デバイスから受信されたコマンドを介して再度有効化されるまで、無効化することができる。
いくつかの実施形態では、方法6000は、ブロック6050にて、選択されたメモリヴォールトの電力消費と関連付けられる、1つ以上の操作パラメータを監視することを含むことができる。例えば、1つ以上の電圧測定値および/または気温測定値は、メモリヴォールト内のセンサから受信することができる。また、方法6000は、ブロック6054にて、操作パラメータの測定値に基づき、メモリヴォールトの電力消費を計算することを含むこともできる。方法6000は、さらにブロック6058にて、電力消費が第1の選択された閾値を上回るかどうかを判定することを含むことができる。上回る場合には、方法6000はまた、ブロック6062にて、プリフェッチ動作の無効化を含むこともできる。プリフェッチ動作は、選択された期間中、電力消費レベルが第2の選択された閾値を下回るまで、またはプリフェッチが発信デバイスから受信されたコマンドを介して再度有効化されるまで、無効にすることができる。
なお、本明細書に記載するアクティビティは、記載する順序以外の順序で実行することができる。また、本明細書で識別する方法に関して記載する種々のアクティビティは、繰り返して、連続して、および/または並列して実行することもできる。
ソフトウェアプログラムは、ソフトウェアプログラムに定義される機能を実行するように、コンピュータをベースとするシステムで、コンピュータで読み取り可能な媒体から起動することができる。本明細書に開示する方法を実装し行うために設計される、ソフトウェアプログラムを作成するために、種々のプログラム言語を採用することができる。プログラムは、JavaまたはC++などのオブジェクト指向言語を使用して、オブジェクト指向フォーマットに構築することができる。代替として、プログラムは、アセンブリまたはCなどの手続き型言語を使用して、手続き指向フォーマットに構築することができる。ソフトウェア構成要素は、数ある中でも、応用プログラムインターフェース、プロセス間通信技術、および遠隔手続き呼び出しを含む、よく知られたメカニズムを使用して通信することができる。種々の実施形態の教授は、いかなる特定のプログラム言語または環境にも限定されない。
本明細書に記載する装置、システム、および方法は、選択されたメモリヴォールトと関連付けられるパイプラインが空の場合に、積層ダイのメモリシステムで、選択されたメモリヴォールトから、プログラム可能ないくつかのデータワードをプリフェッチするように動作することができる。メモリシステムの性能レベルの増加をもたらすことができる。
例証として、かつ限定ではなく、添付の図面は、主題を実施することができる、特定の実施形態を示す。図示する実施形態は、当業者が本明細書に開示する教示を実施することができるほどに、十分詳細に記載されている。他の実施形態が、本開示の範囲から逸脱することなく、構造上および論理上の代用ならびに変更を行うことができるように、使用されそこから派生することができる。それゆえ、この発明を実施するための形態は、限定の意味で取られるべきではない。種々の実施形態の範囲は、添付の特許請求の範囲、およびかかる特許請求の範囲が権利を有する均等物の全範囲によって定義される。
本発明主題のこのような実施形態は、単に便宜上、かつ実際には2つ以上が開示される場合でも、本出願をいかなる単一の発明または発明概念に任意に限定することを意図することなく、本明細書で個々にまたはまとめて、用語「発明」で称すことができる。したがって、特定の実施形態が本明細書に説明され記載されているが、同一の目的を達成するために計算されるいずれの配置も、示す特定の実施形態に代替することができる。本開示は、種々の実施形態のすべての適応または変形物を含めることを意図している。上記の実施形態と、本明細書に具体的に記載していない他の実施形態との組み合わせは、上記説明を検討する時、当業者には明らかである。
本開示の要約書は、読者が技術の開示の本質を迅速に解明することを可能にする要約を必要とする、37 C.F.R. §1.72(b)に準拠して提供されている。要約書は、特許請求の範囲または意味を解釈あるいは制限するために用いられないという理解とともに、提出される。前述の発明を実施するための形態では、種々の特徴は、本開示を能率的にするために、単一の実施形態にともにまとめられている。本開示の方法は、各請求項に明示的に列挙される特徴より、多くの特徴を必要とするように解釈されるべきではない。むしろ、発明の主題は、単一の開示される実施形態の全特徴より少ない特徴の中に見つけることができる。したがって、以下の特許請求の範囲は、本明細書によって、発明を実施するための形態に組み込まれ、各請求項は別々の実施形態として自立している。

Claims (39)

  1. 積層された複数のメモリアレイを備えるメモリヴォールトであって、各メモリアレイは、複数の積層されたメモリダイのうちの1つの上に設置される、メモリヴォールトと、
    前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも1つを提供するように、前記積層されたメモリダイとともに積層される論理ダイの上に設置され、前記メモリヴォールトに通信可能に連結される、メモリヴォールトコントローラ(MVC)と、
    前記メモリヴォールトと関連付けられるプリフェッチ動作を行うためのプリフェッチコントローラと、を備える、メモリシステム。
  2. 読み取りデータの少なくとも1つのキャッシュラインを記憶するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチキャッシュに、少なくとも1つのプリフェッチバッファをさらに備える、請求項1に記載のメモリシステム。
  3. 前記プリフェッチキャッシュは、プリフェッチバッファを複数セット備え、プリフェッチバッファの各セットは、キャッシュラインを備える、請求項2に記載のメモリシステム。
  4. 前記プリフェッチコントローラは、少なくとも1つのキャッシュラインを選択的に有効にするように構成される、請求項3に記載のメモリシステム。
  5. 前記プリフェッチコントローラは、前記メモリヴォールトが使われていない時に、前記メモリヴォールトにプリフェッチ読み取り要求を発行するように構成される、請求項1に記載のメモリシステム。
  6. 前記プリフェッチコントローラは、以前の読み取り要求に応じて、前記メモリヴォールトから読み取られたデータワードに対応するメモリヴォールトのアドレスから、少なくとも1つのプリフェッチデータワードを読み取るように構成される、請求項5に記載のメモリシステム。
  7. 前記プリフェッチコントローラは、前記MVCへコマンドを発行する発信デバイスによって提供される、アドレスの範囲より選択されるメモリヴォールトのアドレスから、前記少なくとも1つのプリフェッチデータワードを読み取るように構成される、請求項5に記載のメモリシステム。
  8. 前記プリフェッチコントローラは、選択的にプリフェッチ動作を有効にするように構成される、請求項1記載のメモリシステム。
  9. 選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項1に記載のメモリシステム。
  10. 前記プリフェッチコントローラは、プリフェッチキャッシュと関連付けられるヒット率が、第1の選択された期間中に選択された閾値を下回る場合、前記プリフェッチ動作を無効にするように構成される、請求項1に記載のメモリシステム。
  11. 前記プリフェッチコントローラは、第2の選択された期間の少なくとも1つの間、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、前記プリフェッチ動作を無効にするように構成される、請求項10に記載のメモリシステム。
  12. 前記メモリヴォールトおよび前記プリフェッチバッファを書き込みデータで更新するように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ書き込み論理をさらに備える、請求項1に記載のメモリシステム。
  13. 前記MVCで受信された読み取り要求が、少なくとも1つのプリフェッチワードを参照する場合、少なくとも1つのプリフェッチバッファから前記少なくとも1つのプリフェッチワードを読み取るように、前記プリフェッチコントローラに通信可能に連結される、プリフェッチ読み取り論理をさらに備える、請求項1に記載のメモリシステム。
  14. 前記メモリヴォールトの電圧センサまたは温度センサのうちの少なくとも1つと、
    前記メモリボルの電力消費レベルの表示を、前記プリフェッチコントローラに提供するように、前記電圧センサまたは温度センサに連結される電力モニタと、をさらに備える、請求項1に記載のメモリシステム。
  15. 前記プリフェッチコントローラは、前記メモリヴォールトの前記電力消費レベルが、第1の選択された閾値を上回る場合に、プリフェッチ動作を無効にするように構成される、請求項14に記載のメモリシステム。
  16. 前記プリフェッチコントローラは、選択された期間、第2の選択された閾値よりも下がる前記電力消費レベル、または発信デバイスからの前記プリフェッチ動作を再開するコマンドの受信のうちの少なくとも1つに続いて、前記プリフェッチ動作を再度有効にするように構成される、請求項15に記載のメモリシステム。
  17. 前記プリフェッチコントローラは、前記メモリシステムの中のデータストリームの局所性に従い、前記プリフェッチ動作の有効化および無効化のうちの少なくとも1つを行うように構成される、請求項1に記載のメモリシステム。
  18. 積層された複数のメモリアレイを備えるメモリヴォールトであって、各メモリアレイは、複数の積層されたメモリダイのうちの1つの上に設置される、メモリヴォールトと、
    前記メモリヴォールトと関連付けられる、制御、切り替え、または通信論理のうちの少なくとも1つを提供するように、前記積層されたメモリダイとともに積層される論理ダイの上に設置され、前記メモリヴォールトに通信可能に連結される、メモリヴォールトコントローラ(MVC)と、
    前記メモリヴォールトにプリフェッチ読み取り要求を発行するための、プリフェッチコントローラと、
    前記プリフェッチ読み取り要求と関連付けられる、少なくとも1つのプリフェッチデータワードを記憶するための、少なくとも1つのプリフェッチバッファと、を備える、メモリシステム。
  19. 選択された期間中、キャッシュラインのヒット数を追跡するように、前記プリフェッチコントローラに通信可能に連結されるプリフェッチ利用論理をさらに備える、請求項18に記載のメモリシステム。
  20. 前記プリフェッチコントローラは、キャッシュラインのヒット率が、選択された率よりも大きい時に、プリフェッチ動作を行うように構成される、請求項18に記載のメモリシステム。
  21. 前記プリフェッチコントローラは、前記メモリヴォールトが、使われていない時に、プリフェッチ動作を行うように構成される、請求項18に記載のメモリシステム。
  22. 前記プリフェッチコントローラは、前記メモリヴォールトの選択された電力量を標的にするように、前記メモリヴォールトと関連付けられるプリフェッチ動作の有効化および無効化のうちの少なくとも1つを行うように構成される、請求項17に記載のメモリシステム。
  23. 積層ダイのメモリシステムで、選択されたメモリヴォールトと関連付けられたプリフェッチ動作を行うことを含む、方法。
  24. 前記選択されたメモリヴォールトにプリフェッチ読み取り要求を発行することと、
    前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ(MVC)で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
    プリフェッチキャッシュのプリフェッチバッファに、前記プリフェッチデータワードを記憶することと、をさらに含む、請求項23に記載の方法。
  25. 前記プリフェッチ読み取り要求は、前記選択されたメモリヴォールトへの他の読み取り要求が、前記選択されたメモリヴォールトによって処理されていない時に発行される、請求項24に記載の方法。
  26. 前記MVCで読み取り要求を受信することと、
    利用可能な場合には、前記プリフェッチキャッシュから前記読み取り要求を提供し、キャッシュヒットをもたらすことと、
    キャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記読み取り要求を提供することと、をさらに含む、請求項24に記載の方法。
  27. 第1の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット率が、前記閾値のヒット率を下回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項24に記載の方法。
  28. 前記プリフェッチ動作は、選択された期間の少なくとも1つの間、または前記プリフェッチ操作を再開するコマンドが、発信デバイスから受信されるまで、無効化される、請求項27に記載の方法。
  29. 前記積層ダイのメモリシステムを、複数バルトのメモリシステムとして構成することと、
    各メモリヴォールトで、独立して前記プリフェッチ動作を行うことと、をさらに含む、請求項23に記載の方法。
  30. 前記選択されたメモリヴォールトが、使用されていないことを確認することをさらに含む、請求項23に記載の方法。
  31. 前記選択されたメモリヴォールトの電力消費と関連付けられる、少なくとも1つの操作パラメータを監視することと、
    前記少なくとも1つの操作パラメータの測定に基づき、前記選択されたメモリヴォールトの前記電力消費を計算することと、
    前記電力消費が、第1の選択された閾値を上回るかどうかを判定することと、
    前記選択されたメモリヴォールトの前記電力消費が、前記第1の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと、をさらに含む、請求項23に記載の方法。
  32. 前記プリフェッチ動作は、選択された期間の少なくとも1つの間、前記電力消費が、第2の選択された閾値を下回るまで、または前記プリフェッチ動作を再開するコマンドが、発信デバイスから受信されるまで、無効化にされる、請求項31に記載の方法。
  33. 前記少なくとも1つの操作パラメータを監視することは、前記メモリヴォールト内のセンサからの電圧レベル測定値または温度測定値のうちの少なくとも1つを受信することを含む、請求項31に記載の方法。
  34. 積層ダイのメモリシステムで、選択されたメモリヴォールトから、前記選択されたメモリヴォールトと関連付けられるパイプラインが空の時に、プログラム可能な数のデータワードをプリフェッチすることを含む、方法。
  35. 前記選択されたメモリヴォールトに、少なくとも1つのプリフェッチ読み取り要求を発行することと、
    各プリフェッチ読み取り要求に対して、前記選択されたメモリヴォールトに対応するメモリヴォールトコントローラ(MVC)で、前記選択されたメモリヴォールトからプリフェッチデータワードを受信することと、
    プリフェッチキャッシュの少なくとも1つのプリフェッチバッファに、前記少なくとも1つのプリフェッチデータワードを記憶することと、
    前記MVCで少なくとも1つの読み取り要求を受信することと、
    利用可能な場合には、前記プリフェッチキャッシュから前記少なくとも1つの読み取り要求を提供し、少なくとも1つのキャッシュヒットをもたらすことと、
    前記少なくとも1つのキャッシュヒットがなければ、前記選択されたメモリヴォールトから、前記少なくとも1つの読み取り要求を提供することと、をさらに含む、請求項34に記載の方法。
  36. 発信デバイスから前記MVCでプリフェッチ構成パラメータを受信することと、
    前記プリフェッチ構成パラメータに従い、前記積層ダイのメモリシステムを構成することと、をさらに含む、請求項35に記載の方法。
  37. 前記プリフェッチ構成パラメータは、読み取りデータ要求に応じて検索するように、プリフェッチアドレス様式またはキャッシュラインの数のうちの少なくとも1つを含む、請求項36に記載の方法。
  38. 第1の期間にわたって、前記プリフェッチキャッシュと関連付けられるヒット率を測定することと、前記ヒット率が、閾値のヒット率を下回るかどうかを判定することと、前記ヒット数が、前記閾値のヒット率を下回る場合に、第2の期間中、前記プリフェッチ動作を無効化することと、をさらに含む、請求項35に記載の方法。
  39. 前記選択されたメモリヴォールトの電圧レベルまたは温度のうちの少なくとも1つを監視することと、
    前記電圧および/または温度の測定値に基づき、前記選択されたメモリヴォールトの電力消費を判定することと、
    前記選択されたメモリヴォールトの前記電力消費が、第1の選択された閾値を上回る場合に、前記プリフェッチ動作を無効化することと
    前記電力消費が、第2の選択された閾値を下回る場合に、前記プリフェッチ動作を再度有効化することと、をさらに含む、請求項34に記載の方法。
JP2011550273A 2009-02-13 2010-02-12 メモリプリフェッチシステムおよび方法 Pending JP2012518229A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/371,389 2009-02-13
US12/371,389 US8364901B2 (en) 2009-02-13 2009-02-13 Memory prefetch systems and methods
PCT/US2010/024101 WO2010093921A2 (en) 2009-02-13 2010-02-12 Memory prefetch systems and methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014245766A Division JP6127038B2 (ja) 2009-02-13 2014-12-04 メモリシステムおよび方法

Publications (1)

Publication Number Publication Date
JP2012518229A true JP2012518229A (ja) 2012-08-09

Family

ID=42560878

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011550273A Pending JP2012518229A (ja) 2009-02-13 2010-02-12 メモリプリフェッチシステムおよび方法
JP2014245766A Active JP6127038B2 (ja) 2009-02-13 2014-12-04 メモリシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014245766A Active JP6127038B2 (ja) 2009-02-13 2014-12-04 メモリシステムおよび方法

Country Status (7)

Country Link
US (3) US8364901B2 (ja)
EP (1) EP2396790B1 (ja)
JP (2) JP2012518229A (ja)
KR (2) KR101865331B1 (ja)
CN (1) CN102349109B (ja)
TW (1) TWI494919B (ja)
WO (1) WO2010093921A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015198278A (ja) * 2014-03-31 2015-11-09 富士通株式会社 情報処理装置、転送装置、および制御方法

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7978721B2 (en) 2008-07-02 2011-07-12 Micron Technology Inc. Multi-serial interface stacked-die memory architecture
US8364901B2 (en) 2009-02-13 2013-01-29 Micron Technology, Inc. Memory prefetch systems and methods
US8018752B2 (en) 2009-03-23 2011-09-13 Micron Technology, Inc. Configurable bandwidth memory devices and methods
US9123552B2 (en) 2010-03-30 2015-09-01 Micron Technology, Inc. Apparatuses enabling concurrent communication between an interface die and a plurality of dice stacks, interleaved conductive paths in stacked devices, and methods for forming and operating the same
US8583894B2 (en) * 2010-09-09 2013-11-12 Advanced Micro Devices Hybrid prefetch method and apparatus
GB2493191A (en) * 2011-07-28 2013-01-30 St Microelectronics Res & Dev Cache arrangement with data pre-fetching requests having different quality of services
US20130262826A1 (en) * 2011-10-06 2013-10-03 Alexander Gendler Apparatus and method for dynamically managing memory access bandwidth in multi-core processor
KR20140065678A (ko) * 2012-11-20 2014-05-30 에스케이하이닉스 주식회사 반도체 장치 및 이를 이용한 반도체 장치의 동작 방법
US20140181415A1 (en) * 2012-12-21 2014-06-26 Advanced Micro Devices, Inc. Prefetching functionality on a logic die stacked with memory
CN103915111B (zh) * 2013-01-09 2016-08-10 华邦电子股份有限公司 存储器装置及其电源调整方法
US9183055B2 (en) * 2013-02-07 2015-11-10 Advanced Micro Devices, Inc. Selecting a resource from a set of resources for performing an operation
US9679615B2 (en) * 2013-03-15 2017-06-13 Micron Technology, Inc. Flexible memory system with a controller and a stack of memory
US10956044B2 (en) 2013-05-16 2021-03-23 Advanced Micro Devices, Inc. Memory system with region-specific memory access scheduling
US11074169B2 (en) * 2013-07-03 2021-07-27 Micron Technology, Inc. Programmed memory controlled data movement and timing within a main memory device
US11768689B2 (en) * 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US10824335B2 (en) * 2014-07-14 2020-11-03 Western Digital Technologies, Inc. Device and method to store predicted data at a host memory
KR102130578B1 (ko) 2014-12-02 2020-07-06 에스케이하이닉스 주식회사 반도체 장치
US10114981B2 (en) * 2016-12-31 2018-10-30 Intel Corporation Architecture for telemetry and adaptive lifetime control of integrated circuits
US10055384B2 (en) * 2016-12-31 2018-08-21 Entefy Inc. Advanced zero-knowledge document processing and synchronization
US9792958B1 (en) * 2017-02-16 2017-10-17 Micron Technology, Inc. Active boundary quilt architecture memory
US10831391B2 (en) * 2018-04-27 2020-11-10 EMC IP Holding Company LLC Method to serve restores from remote high-latency tiers by reading available data from a local low-latency tier in a deduplication appliance
US10929062B2 (en) * 2018-11-07 2021-02-23 International Business Machines Corporation Gradually throttling memory due to dynamic thermal conditions
KR20200114481A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
EP4081889A4 (en) * 2019-12-26 2023-05-31 Micron Technology, Inc. HOST TECHNIQUES FOR STACKED STORAGE SYSTEMS
US11422934B2 (en) 2020-07-14 2022-08-23 Micron Technology, Inc. Adaptive address tracking
US11409657B2 (en) 2020-07-14 2022-08-09 Micron Technology, Inc. Adaptive address tracking
KR20220117747A (ko) 2021-02-17 2022-08-24 삼성전자주식회사 데이터 프리페치 제어 기능을 갖는 스토리지 컨트롤러, 스토리지 컨트롤러의 동작 방법, 및 스토리지 장치의 동작 방법
US20230169008A1 (en) * 2021-11-30 2023-06-01 Red Hat, Inc. Managing prefetching operations for drives in distributed storage systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615357A (ja) * 1984-06-07 1986-01-11 Fujitsu Ltd デ−タ処理装置
JPH1196081A (ja) * 1997-09-22 1999-04-09 Chishiki Joho Kenkyusho:Kk 記憶装置の制御方法および記憶装置ならびに記憶装置の製造方法
US6594730B1 (en) * 1999-08-03 2003-07-15 Intel Corporation Prefetch system for memory controller
JP2004118305A (ja) * 2002-09-24 2004-04-15 Sharp Corp キャッシュメモリ制御装置
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP2007505406A (ja) * 2003-09-11 2007-03-08 インテル・コーポレーション 温度に敏感なメモリに適応可能なキャッシュアルゴリズム
JP2007537541A (ja) * 2004-05-14 2007-12-20 マイクロン テクノロジー,インコーポレイテッド メモリシーケンスのためのメモリハブおよび方法
JP2008140220A (ja) * 2006-12-04 2008-06-19 Nec Corp 半導体装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2631603B2 (ja) 1992-06-29 1997-07-16 川崎製鉄株式会社 金属ストリップの巻取装置
JP3548616B2 (ja) * 1995-01-20 2004-07-28 株式会社日立製作所 情報処理装置
US5809529A (en) * 1995-08-23 1998-09-15 International Business Machines Corporation Prefetching of committed instructions from a memory to an instruction cache
JP2001014840A (ja) 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
KR100449721B1 (ko) * 2002-05-20 2004-09-22 삼성전자주식회사 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법
US6957306B2 (en) * 2002-09-09 2005-10-18 Broadcom Corporation System and method for controlling prefetching
US6983356B2 (en) * 2002-12-19 2006-01-03 Intel Corporation High performance memory device-state aware chipset prefetcher
US7133324B2 (en) * 2003-12-24 2006-11-07 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory devices having dual data rate 1 (DDR1) and DDR2 modes of operation and methods of operating same
JP4444770B2 (ja) * 2004-09-14 2010-03-31 シャープ株式会社 メモリ装置
US20070005902A1 (en) * 2004-12-07 2007-01-04 Ocz Technology Group, Inc. Integrated sram cache for a memory module and method therefor
US7327600B2 (en) * 2004-12-23 2008-02-05 Unity Semiconductor Corporation Storage controller for multiple configurations of vertical memory
US20080126690A1 (en) * 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
US7283418B2 (en) * 2005-07-26 2007-10-16 Micron Technology, Inc. Memory device and method having multiple address, data and command buses
JP4600825B2 (ja) * 2005-09-16 2010-12-22 エルピーダメモリ株式会社 半導体記憶装置
WO2007095080A2 (en) * 2006-02-09 2007-08-23 Metaram, Inc. Memory circuit system and method
US20070204106A1 (en) * 2006-02-24 2007-08-30 James Donald Adjusting leakage power of caches
US20070220207A1 (en) * 2006-03-14 2007-09-20 Bryan Black Transferring data from stacked memory
US8032711B2 (en) * 2006-12-22 2011-10-04 Intel Corporation Prefetching from dynamic random access memory to a static random access memory
US7917702B2 (en) * 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
US20100121994A1 (en) * 2008-11-10 2010-05-13 International Business Machines Corporation Stacked memory array
US8364901B2 (en) 2009-02-13 2013-01-29 Micron Technology, Inc. Memory prefetch systems and methods

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615357A (ja) * 1984-06-07 1986-01-11 Fujitsu Ltd デ−タ処理装置
JPH1196081A (ja) * 1997-09-22 1999-04-09 Chishiki Joho Kenkyusho:Kk 記憶装置の制御方法および記憶装置ならびに記憶装置の製造方法
US6594730B1 (en) * 1999-08-03 2003-07-15 Intel Corporation Prefetch system for memory controller
JP2005529407A (ja) * 2002-06-07 2005-09-29 マイクロン テクノロジー,インコーポレイティド 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
JP2004118305A (ja) * 2002-09-24 2004-04-15 Sharp Corp キャッシュメモリ制御装置
JP2007505406A (ja) * 2003-09-11 2007-03-08 インテル・コーポレーション 温度に敏感なメモリに適応可能なキャッシュアルゴリズム
JP2007537541A (ja) * 2004-05-14 2007-12-20 マイクロン テクノロジー,インコーポレイテッド メモリシーケンスのためのメモリハブおよび方法
JP2008140220A (ja) * 2006-12-04 2008-06-19 Nec Corp 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015198278A (ja) * 2014-03-31 2015-11-09 富士通株式会社 情報処理装置、転送装置、および制御方法

Also Published As

Publication number Publication date
WO2010093921A3 (en) 2010-10-28
WO2010093921A2 (en) 2010-08-19
JP2015079524A (ja) 2015-04-23
US20100211745A1 (en) 2010-08-19
KR102030946B1 (ko) 2019-10-10
CN102349109B (zh) 2015-08-26
KR20180063372A (ko) 2018-06-11
KR101865331B1 (ko) 2018-06-08
EP2396790B1 (en) 2017-08-23
CN102349109A (zh) 2012-02-08
US20130145098A1 (en) 2013-06-06
EP2396790A4 (en) 2013-10-30
KR20110127193A (ko) 2011-11-24
US8364901B2 (en) 2013-01-29
JP6127038B2 (ja) 2017-05-10
TW201037704A (en) 2010-10-16
US8990508B2 (en) 2015-03-24
US20140156946A1 (en) 2014-06-05
TWI494919B (zh) 2015-08-01
EP2396790A2 (en) 2011-12-21
US8607002B2 (en) 2013-12-10

Similar Documents

Publication Publication Date Title
JP6127038B2 (ja) メモリシステムおよび方法
US9524254B2 (en) Multi-serial interface stacked-die memory architecture
US8601332B2 (en) Systems and methods for monitoring a memory system
US20180358111A1 (en) Switched interface stacked-die memory architecture
JP6050587B2 (ja) 可変式メモリリフレッシュ装置および方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140423

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140423

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140523

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140523

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140627

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140627

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140805