JP2016510930A - メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法 - Google Patents

メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法 Download PDF

Info

Publication number
JP2016510930A
JP2016510930A JP2016500740A JP2016500740A JP2016510930A JP 2016510930 A JP2016510930 A JP 2016510930A JP 2016500740 A JP2016500740 A JP 2016500740A JP 2016500740 A JP2016500740 A JP 2016500740A JP 2016510930 A JP2016510930 A JP 2016510930A
Authority
JP
Japan
Prior art keywords
memory
temperature
area
address
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016500740A
Other languages
English (en)
Other versions
JP6097444B2 (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 JP2016510930A publication Critical patent/JP2016510930A/ja
Application granted granted Critical
Publication of JP6097444B2 publication Critical patent/JP6097444B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space 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/10Address translation
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • 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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)

Abstract

メモリ領域の温度データに基づいてメモリ領域を処理にマッピングする方法が開示される。ある実施形態では、メモリコントローラはメモリ割当て要求を受信し得る。メモリ割当て要求は論理メモリアドレスを含み得る。方法は、論理メモリアドレスを、メモリシステムのメモリ領域についての温度データに基づいてメモリシステムのメモリ領域におけるアドレスにマッピングすることを更に含み得る。追加の方法及びシステムも開示される。【選択図】図1

Description

本願は、2013年3月15日出願のU.S.61/791,673の優先権の利益を主張する2013年10月16日出願のU.S.14/055,672の優先権の利益を主張し、それらはその全体において参照としてここに取り込まれる。
メモリシステムは、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ、携帯電話及びデジタルカメラといった多くの電子装置で使用されている。最近のメモリチップ設計、特に3D積層構造体を用いるものは、高いデータ密度及び電力密度を示す可能性がある。チャネルにわたる負荷の区分けと同様にマルチチャネル及びサブランクメモリを用いる場合、メモリシステム内に熱的ホットスポットが発生する可能性がある。
したがって、エネルギー管理及びリソース共有または負荷平準化法などによって熱管理を実行してホットスポットを減少または消滅させることへの一般的な要求が存在する。また、エネルギー管理及びリソース共有または負荷平準化法のための要求ストリーム優先度付け及びトランザクション調整のメカニズムに対する一般的な要求も存在する。
開示の技術のいくつかの実施形態が、添付図面の各図において限定ではなく例として示される。
図1は、種々の実施形態によるシステムの図である。 図2は、種々の実施形態によるハイブリッドチップ積層体の図である。 図3は、種々の実施形態による、リフレッシュレートを設定する方法を示すフロー図である。 図4は、種々の実施形態による論理システム構造の図である。 図5は、種々の実施形態によるメモリ調整方法を示すフロー図である。 図6は、種々の実施形態による静的及び動的温度情報共有の一実施例である。 図7A−7Bは、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの実施例である。 図7A−図7Bは、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの実施例である。 図8は、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの一実施例である。 図9A−9Bは、種々の実施形態による、静的及び動的温度データを用いるホストまたはメモリコントローラによって開始されるデータ割当ての図である。 図9A−図9Bは、種々の実施形態による、静的及び動的温度データを用いるホストまたはメモリコントローラによって開始されるデータ割当ての図である。 図10は、種々の実施形態による、メモリをマッピングする方法を示すフロー図である。 図11は、種々の実施形態による、メモリを割り当てる方法を示すフロー図である。
図1は、例示の実施形態を実施可能なシステム100を示す図である。システム100は、メモリコントローラ120に第1のバス121を介して結合されるプロセッサ110を含み得る。メモリコントローラ120は、メモリシステム125に第2のバス122を介して結合され得る。メモリコントローラ120は、プロセッサ110からのメモリトランザクション要求を実行することができる。メモリコントローラ120は、プロセッサ110とメモリシステム125の間で第1及び第2のバス121及び122を介してデータを転送できる。第1のバス121及び第2のバス122は、既知のプロトコルを採用できプロセッサ110をメモリコントローラ120に接続し、メモリコントローラ120をメモリシステム130に接続する。システム100の実施例は、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント(PDA)、デジタルカメラ、電子ゲーム、デジタルメディアプレーヤ/レコーダなどを含み得る。
メモリシステム130は、各々が1以上の物理チャネル(不図示)で構成された1以上の物理装置(不図示)を備えることができ、1以上の物理チャネルは、メモリコントローラ120のマップRAM140に記憶された、以降において例えば「テーブル」といわれるデータ構造体に従って領域にマッピングされる。領域は、チャネル、バンク、ヴォールト、グループ、またはメモリシステムにおける他の何らかのグルーピングであればよい。マップRAM140は、図2に関して以下に説明するように、メモリセルの領域の温度を記憶できる。メモリコントローラ120は、メモリ割当て要求においてプロセッサ110から受信された論理メモリアドレスを、マップRAM140に記憶された温度に基づいて、領域のブロックアドレスにマッピングするロジックを含み得る。メモリシステム130は、積層メモリダイで構成されたハイブリッドメモリキューブ(HMC)システムを含み得る。ただし、例示の実施形態はこれに限定されない。
インストラクション145は、プロセッサ110上でオペレーティングシステム(OS)及び1以上のアプリケーションを実行できる。OSは、1以上のアプリケーションに代わってメモリシステム130におけるメモリを要求することができる。メモリコントローラ120は、アプリケーションをメモリシステム130における物理位置にマッピングできる。
現行のアドレスマッピング及びメモリ構成システムは、性能または電力要件の観点で設計されることができる。これらまたは他のシステムは、メモリシステム130がホストプロセッサ110のデータ割当ての選択に影響を与えることができ、ホストプロセッサ110に熱的な緊急事態などの事象を通知したりでき、または熱的に接続された他の要素に熱的プロファイルを提供したりするメカニズムを与えることができない。
ダイ上センサ及び熱モデル
ある実施形態では、プロセッサ110またはメモリコントローラ120は、ダイ上温度センサ及び熱モデルを用いて、どのようにデータがマッピング及び再配置されるかを指示することができる。ある例示の実施形態では、プロセッサ110またはメモリコントローラ120は、ダイ上温度センサ及び熱モデルを用いて、領域にわたるメモリセルのリフレッシュをそれらの温度に基づいて個々に調整することができる。
図2は、種々の実施形態によるメモリシステム200の図である。メモリシステム200は、メモリシステム130(図1)の機能を担うことができる。メモリシステム200は、メモリダイ210及び220を備え得る。2段のメモリダイが図示されているが、メモリシステム200は2段よりも少ない、または2段よりも多いメモリダイを含み得る。メモリダイ210及び220は、メモリセルの2以上の領域を含み得る。メモリセルの複数の領域の2以上が、メモリセルの対応する領域の温度を検知するための温度センサ(TS)を各々含み得る。
メモリシステム200は、独立したロジックダイ及びメモリダイ、シリコンインタポーザを介して積層されたダイ若しくは直接積層されたダイ(「3D積層」)、またはロジックダイ及びストレージダイの他の何らかの構成を含み得る。例示の実施形態では、温度センサ(TS)は、ロジックダイ230、1以上のメモリダイ、またはロジックダイ230並びにメモリダイ210及び220の双方に含まれ得る。複数のメモリダイの各々は少なくとも1つのTSを含み得る。複数のメモリダイの各々は、メモリダイの各領域内に位置する1つのTSを含み得る。TSの各々は、複数のメモリダイの相互間で情報を伝送し、TSの各々は熱制御ロジック(TCL)に情報を送信し得る。TSの個数は、ダイのサイズ、熱勾配、及び温度検知に必要な解像度に基づいて決定されればよい。より高い解像度が求められる場合には、より多くのTSが用いられる。より低い解像度で充分な場合には、より少ないTSが用いられ得る。
熱制御ロジック(TCL)は、ファームウェアまたはハードウェアにおいて展開される。TCLは、温度センサの状態を読み取り、その領域の温度に基づいて各領域のリフレッシュレートを調整するのに使用され得る。TCLは、複数の温度センサを読み取り、メモリセルの異なる領域に対応する複数の温度センサの少なくとも2つを読み取ることができる。異なる装置の組合せに対応するために、TSは、外部インターフェイスを介して外部ロジックによって読み取られてもよい。各種のメモリまたはストレージは、個別のTCLまたは他の制御ロジックによって個別に管理されることができる。
ある実施形態では、TCLは、ホストプロセッサ110(図1)上で稼働するホストオペレーティングシステムに温度情報を送信することによってホットスポットを示すことができる。TCLは更に、メモリコントローラ120がホットスポットにマッピングすることを回避するように、ホットスポットをメモリコントローラ120のマッピングロジックに示すことができる。TCLは更に、ホストプロセッサ110またはメモリコントローラ120の一方または両方から温度情報を受信することができる。
ロジックレイヤがメモリダイに緊密には結合されていないようなメモリシステム130では、TCLブロックは、メモリダイ210または220の1以上に存在していてもよい。少なくともこれらの実施形態では、メモリコントローラ120または他のブロックがTCLからデータを読み取り、または必要な変化をTCLがプロセッサ110に送信できる。この送信は、割込み信号、または簡単なシリアルインターフェイスなど、必要な情報の遷移を可能とするようにメモリシステム130に付加された特別なIOを用いて、メモリにおけるレジスタを読み取る標準プロトコルを用いて実現される。TCLは、メモリシステム130の個別のロジックまたはメモリダイを含む任意の場所に存在することができる。
熱制御ロジックの動作
TCLはTSを連続的にモニタし、またはTCLはTSの状態を周期的にサンプリングする。例えば、TCLは、TSの状態を数マイクロ秒(μs)毎にサンプリングすることができる。例示の実施形態は、2以上または多数のTSサンプリングアルゴリズムを提供することができる。例えば、メモリシステム130が比較的低温である場合、温度センサを周期的に、例えば、1秒あたり8回だけサンプリングすることによって節電することができる。温度センサが高温の評価を示す場合、そのセンサをより頻繁にサンプリングするようにアルゴリズムが更新されればよい。サンプリングレートは、装置130がどれだけ速く温度を変化させ得るかによって決定されてもよい。常に速く変化し得る装置及びシステムはより速いサンプリングを必要とする一方、より遅く温度が変化する装置及びシステムはより遅くサンプリングされればよい。
TCLロジックは各TSの状態を追跡できる。状態は、それぞれの例示の実施形態において、設計毎に、及びシステム毎に変わり得る。
リフレッシュ
例示の実施形態は、メモリセルのリフレッシュレートを温度に基づいて制御できる。例示の実施形態では、メモリシステム130全体が、リフレッシュレートの制御に関して同じには扱われない。これに対して、各領域は、装置における任意の所与の位置での最悪の場合の温度ではなく、当該領域の温度に基づいて個々にリフレッシュされ得る。
表1は、リフレッシュを制御するのに温度勾配分類がどのように用いられるのかについての一実施例である。
表1から分かるように、リフレッシュレートは、局所温度センサから取得されるサンプルに基づいて、メモリの各チャネルまたは領域について独立して変化し得る。表1の例示では、「やや高温」及び「高温1x」は同じリフレッシュレートを受け、レートは装置仕様において指定される。装置が「低温」領域にあることをサンプルが示す場合、低温では装置の保持率が高いので、装置またはチャネルは、通常のリフレッシュ命令の1/8しか受けない。温度が「高温2x」領域にあることをTSからのサンプルが特定する場合、装置すなわちチャネルは、指定の2倍の速さでリフレッシュされる。温度が上昇するにつれて保持率が熱によって悪化するため、DRAMはより多くのリフレッシュサイクルを必要とすることになる。それでもなお、表1は一実施例であり、リフレッシュレートの変化は、メモリのタイプ及びシステムの実装に依存できる。
図3は、種々の実施形態による、リフレッシュレートを設定する方法300を示すフロー図である。
工程310において、熱制御ロジック(TCL)(図2)は、温度センサからメモリシステム130の複数の領域の温度値を周期的に読み取りできる。
工程320において、熱制御ロジック(TCL)は、メモリシステムの複数の領域の各々についてのリフレッシュレートを温度に基づいて設定できる。TCLは、温度値に基づいて読取りの時間間隔を調整できる。TCLは、温度の大きな変化を読み取ると、読取りの時間間隔を減少させ、多数の読取りにわたって温度が変化しない場合、読取りの時間間隔を増加させることができる。TCLは、第1のメモリ領域から第2のメモリ領域に、及び第2のメモリ領域から第1のメモリ領域に読取り値を送信できる。TCLは、送信された読取り値に基づいて割当て及び退避の決定を実行するのを補助できる。
熱調整されたアドレスマッピング
例示の実施形態は、性能若しくは電力使用を改善し、またはシステムの他の制約を満足するように、データをメモリに物理的に配置する方法を提供できる。例示の実施形態に関して述べるメカニズムは、アドレスデコーダレベル(例えば、ハードウェア)マッピングの変化を、ホストオペレーティングシステム(例えば、ソフトウェア)メモリ割当てポリシーと同様に含む。
例示の実施形態では、システムの「静的」熱的ホットスポットが、システムの実際の使用の前に特徴付けられ得る。ホットスポットは、高いスループット演算の領域、インターフェイス、または大量の電流を引き出すアナログブロック周辺に位置し得る。これらのホットスポットは、システムにおいてどのアプリケーションまたは機能が実行されているのかに応じて、常に「高温」であるわけではなく、装置が実行しようとしている機能に基づいて発熱することが把握されている領域である。これらのホットスポットは、一般に、隣接ダイに熱を伝達する。本実施例では、他方のダイがDRAMであるものとして検討されているが、他の任意のメモリまたはロジックタイプであってもよい。
ソフトウェア及びファームウェア設計者によっては、メモリマップにおいて穴または不連続性を有することなく特定のアプリケーションについて大きな領域を後に小分けできるように、ブロックに配置される類似メモリの領域が大きいことを好む可能性がある。仮想メモリ対応のプロセッサ110は、要求されたメモリ位置とその物理アドレスとの間に、あるレベルの間接指定を導入し得る。一方で、対象物理アドレスは、熱的または他の物理的に不均一な領域に関することなく、メモリチャネル、ランク、バンク、行及び列制御信号に再マッピングされる。メモリコントローラ120は、より高い性能または電力特性を実現するように、通常は物理アドレスマッピングに対するロジックをスクランブルする。例示の実施形態は、熱的マップの知識をマッピング処理に付加し得る。
例示の実施形態では、メモリコントローラ120に実装されたハードウェアは、ホットスポットがマップの既知の領域内となるように、予め特徴付けられたランタイム(動的)温度データを利用して物理位置を再マッピングできる。例示の実施形態では、この既知の高温領域が、最後まで割り当てられないメモリとなり、したがって、より低温なマップを持つ利用可能なメモリがある場合、それらの領域が最初に用いられることになる。例示の実施形態によって高温領域がマッピングされると、その高温領域は、最も稀にしかアクセスされない論理アドレスとして割り当てられ得る。更に、ランタイム条件(ソフトウェア稼働率またはハードウェア)が変化するのに従って、例示の実施形態のモニタ及び再マッピングする機能は、データを当初割り当てられたものとは異なる領域に退避させる。
例示の実施形態のマッピング手段は、ハードウェアまたはソフトウェアで実行されることができる。ソフトウェア手段について、ホストプロセッサ110上(図1)で稼働するオペレーティングシステムは、選択可能な物理フリーページのリストを保持して、新たに割り当てられたデータを保持し得る。強化されたオペレーティングシステムは、最低温度から最高温度の順でフリーページリストを連続的に更新することができる。更新は、ハードウェアに補助されるものであってもよく、それによってメモリコントローラ120または他のハードウェアは、それ自身の予約記憶領域(例えば、SRAM、フラッシュ、PCMまたは予約DRAM領域)、例えばマップRAM140(図1)に、高温/低温フリーリストを保持する。アドレスマップは、メモリ管理システム、例えば、領域温度についてのリアルタイムのフィードバックに基づいて割当て決定(及び周期的に再マッピング決定)を行うメモリ管理コードを介して、仮想化システムにおいて操作されることができる。
ハードウェア手段について、例示の実施形態は、中間アドレスマップ(IAM)を用いることができる。IAMは、メモリコントローラ120に入る物理アドレスと、実際に使用される主メモリ(例えば、DRAM)アドレスとの間に他のレベルの間接指定を与えることができる。
あるメモリシステム、例えば、ハイブリッド積層メモリは、積層されたコントローラダイ(例えば、I/Oインターフェイスまたはチャネルコントローラ)において高温の構成部品を有し得る。高温の構成部品があるため、例示の実施形態による動的アドレスマッピングを適用することは、ランタイムにおける全ての物理I/Oリンクにわたってトランザクションのバランスを採り、ホットスポットを除去することになる。
図4は、種々の実施形態による物理的なダイナミックランダムアクセスメモリ(DRAM)フロアプランの図である。図4は、物理アドレス空間がどのようにして均一な領域の物理配置に関する大きな「均一領域」に小分けされるのかを示す。このアドレス変換は、静的なランタイム温度情報によって強化されたメモリコントローラ120(図1)内で行われ得る。同じ技術が、異なる呼出し時間及び帯域幅の領域といった不均一なメモリ領域間のマッピングのために使用されることができる。例示の実施形態によるあるシステムでは、メモリダイは異なる呼出し時間で動作するアドレスのバンクを含むので、例示の実施形態による温度情報は、最もよく使用されるデータを割り当てるための永久に「低温な」領域としてホストプロセッサ110に示される。
図4に示すように、ホストプロセッサ110は、仮想アドレスを変換ルックアサイドバッファ(TLB)に供給できる。TLBは、ホストプロセッサ110上で稼働する処理のアドレスである仮想アドレスと、メモリシステムにおける自然物理位置である物理アドレスとの間のマッピングを記憶できる。ホストプロセッサ110の処理がメモリシステム130内のメモリにアクセスする毎に、ホストプロセッサ110は、TLBによって物理アドレスに変換される仮想アドレスを供給する。物理アドレスはTLBによってメモリコントローラ120に供給される可能性があり、メモリコントローラ120は、更なるレベルの再マッピングを行って物理アドレスをメモリシステム130内部の構造体、例えば、メモリシステム行、列、バンク、チャネルなどにマッピングし得る。
図4は、メモリコントローラ120がTLBからの物理アドレスをメモリシステム130内の位置にマッピングする場合にメモリコントローラ120によって実施され得る2つのマッピング手法を示す。図4に示す実施例では、単一ランク及びダブルランク領域デプスマッピングモードのための粗い粒度の物理領域マッピングが、いくつかの実施形態に従って実施され得る。
メモリシステム130の温度領域の最上行において実施される第1のマッピング手法では、メモリ位置は、メモリ内で相互に物理的に隣接するようにマッピングされる。最初のセットのアドレスは領域Mem[0]にマッピングされ、次のセットの物理アドレスは領域Mem[1]にマッピングされ、同様にMem[N/4−1]までマッピングされる。領域Mem[N/4−1]が使用された後、第1のマッピング手法に従って、隣接する温度領域における領域Mem[N/4]が次のセットの物理アドレスにマッピングされる。
メモリシステム130の温度領域の最下行において実施される第2のメモリマッピング手法では、物理アドレスは、まず領域Mem[N/2]に、そしてメモリ領域Mem[N/2+1]に、そしてMem[N/2+2]に戻り、その後、左側温度領域のメモリ領域と右側温度領域のメモリ領域との間で交互にマッピングされる。第2のメモリマッピング手法は性能上の利点を有し得るが、データ退避がより難しくなり得るので、データ退避の必要性が例示の実施形態において好適に最小化される。
データ退避の必要性は、図6−9に関して以下に述べるように、2つの温度領域が同様の温度、面積及び熱容量を有する場合に最小化されることができる。
メモリコントローラ120は第1及び第2のマッピング手法をともに実施することができ、またはメモリコントローラ120は第1のマッピング手法及び第2のマッピング手法の一方または他方を実施することができる。
トランザクション調整メカニズム
ある実施形態では、メモリコントローラ120がデータ再マッピングを実行しつつ、プロセッサ110またはメモリコントローラ120がメモリ要求調整メカニズムを用いてメモリ使用率を絞り、熱的ホットスポットを一時的に除去できる。これら及び他の実施形態は、急激な熱的事象がデータ退避のための充分な時間を残さない場合、すなわち熱的事象がデータ退避及び再マッピングの実施のためには短すぎる場合に、メモリ故障または劣化の発生を抑制または排除できる。ある実施形態は、メモリコントローラ120は、所定のチャネル、バンク、またはメモリの領域へのデータアクセスをオフ(すなわち、無効化)できる。メモリコントローラ120は、データをそれらのメモリセルから他のメモリセルに退避させて、それらのメモリセルをリフレッシュする必要性をなくし、それらのメモリセルを含む領域における電力消費を最小化または低減できる。
ある実施形態では、メモリコントローラ120は、トランザクション調整を実行できる。現行のシステムでは、要求優先度付けによって、異なるソースからのより多くのメモリトランザクション要求が可能となり得る。ある実施形態におけるトランザクション調整は、対象とされているロジックまたはメモリにおける切換アクティビティを減少させることによってメモリ及びロジックの熱的ホットスポットが制御または移動されることを可能とする。例えば、ある実施形態では、3D積層メモリコントローラ及びMicron HMCなどのDRAMダイの高温領域への要求が低減される。更なる実施例として、ホットコアのアクティビティが、その要求帯域幅を制限することによって、3D積層演算及びDRAMダイにおいて間接的に調整される。この間接的な調整は、コアの直上のメモリ構成部品の温度を低下させ、構成部品が頻繁にはリフレッシュされないようにする。ある実施形態では、調整されているメモリアドレスが、DRAMダイ内の完全に異なる物理位置にあってもよい。
調整は、メモリ装置内で異なる粒度で実行されてもよい。調整は、増加する複雑さの順序で、メモリ装置におけるチャネル若しくはヴォールトレベル、ランクレベル、バンクレベル、サブバンクレベルまたは行若しくは列レベルで行われることができる。
ある実施形態では、メモリコントローラ120が調整を実行できる。ある実施形態では、(対象メモリ130(図1)がバックプレッシャーまたは否定要求をアサートすることを可能とする)適切な命令プロトコルがある場合に、調整は、メモリコントローラ120の外部で実行できる。対象メモリ130は、JEDECなどのプロトコルによって、エラー検出メカニズムを用いて調整を実行することができる。メモリ130は、要求を無視したい場合には、偽のメモリエラー(例えば、CRCまたはECCエラー)を生成することができる。そして、ホストプロセッサ110は、後の時間に要求を再試行できる。
命令インターフェイスを持つ現行のダイ積層メモリシステムは、高度な要求優先機能に現在のところ対応していない。ある例示の実施形態では、ダイ上またはダイ外のメモリコントローラ120を含むメモリシステム130に対する命令プロトコルは、優先レベルを含む。優先レベルは、あるレベルの間接命令を扱い、それによりメモリ要求に関連付けられた識別子がテーブル参照を開始する(表2参照)。テーブルは特別な命令によってプログラム可能である。参照は、最大呼出し時間値とともに最小及び最大の帯域幅限度を示す。読出し及び書込みのために個別の限度が指定され得、ハード限度及びソフト(「好ましい」)限度のセットがあり得る。ハード限度は、性能臨界またはリアルタイム負荷を扱うのに使用され得る。
これらの限度が侵された場合、外部メッセージまたは信号がホストプロセッサ110に供給され得、優先ID毎のランタイム帯域幅及び呼出し時間の現在のステータスがいつでも照会され得る。以下に限定されないが、メモリコントローラ120がトランザクション優先特性を実施するメカニズムは、要求帯域幅及び呼出し時間を監視する優先度毎のモードカウンタを含む。上記メカニズムは、目標限度に近づけるためのノブの周期的な増分調整を含み、ノブは、各優先IDに割り当てられたメモリコントローラバッファ入力数、または相対優先度を変えるための命令アービタ及び選択部におけるカウンタを含む。上記メカニズムは、それらの限度に近い優先IDグループのノブを調整しつつそれらの限度内で優先IDグループを無視することを含む。そして、上記メカニズムは、ホストプロセッサ110のスレッド、専用マイクロコントローラまたはカスタムロジックを用いたメモリコントローラ120設定のランタイム調整を含む。
「高温」領域へのメモリトラフィックアクセスを調整するメモリ装置130に加えて、既存のバスインターフェイス標準を用いるトランザクション調整の例示の一実施形態では、メモリコントローラ120は、「高温」領域に対して発生するトランザクションの数を、その領域へのアクセスを制限または低速化することによって更に調整する。
トランザクション調整はまた、ARM Advanced Extensible Interface(AXI)バス仮想化プロトコルの各バージョンで使用され得る。仮想化プロトコルは、各プロセッサ110またはプロセッサ110の組にそれ自身のネットワークIDを与える。したがって、システム100におけるいくつかのプロセッサ110は、1または複数の同じ物理的バス及びキューを共有するが、プロセッサ110が属する仮想ネットワークに基づいて異なる調停結果及びスレーブ的な応答を有し続けることになる。ある実施形態では、プロセッサ110が仮想ネットワーク上にあり、かつ高温メモリ領域を対象としている場合、メモリコントローラ120は、ソフトウェアの介入を用いる必要なしに、またはサイドバンド信号をプロセッサ110に追加し戻すことなく、そのネットワークに関連付けられたキュー入力を減少させてリクエストレートを低下させる。このように、メモリコントローラ120は、より低温の領域または低温領域を対象とするトラフィックに影響を与えることなく、それらの領域をそれらの予め決定された動作点で動作させたまま、ホットスポットのみを対象とするトラフィックを絞ることができる。
図5は、少なくとも1つの実施形態による、メモリトランザクションを調整する方法500のフロー図である。
工程510において、メモリコントローラ120(図1)が、物理メモリ領域内の位置にアクセスするメモリトランザクションのための要求を受信し得る。要求は、例えば、ホストプロセッサ110(図1)から受信され得る。
工程520において、メモリコントローラ120が、ある優先レベルの要求を取得する。メモリコントローラ120は、前述した表2と同様のテーブルから優先レベルを取得できる。上述したように、テーブルは特別な命令によってプログラム可能であり、最大呼出し時間値とともに最小及び最大帯域限度を示すことができる。読出し及び書込みについて個別の限度が指定され、ハード限度及びソフト(「好ましい」)限度のセットがあり得る。ハード限度は、性能臨界またはリアルタイム負荷に対応するのに使用される。
工程530において、メモリコントローラ120が、要求の優先レベルに基づいて、及び物理メモリ領域の温度に基づいてメモリトランザクションのための帯域幅を予約する。
方法500は、物理メモリ領域が第1の温度状態にあることを特定すること、その特定に基づいて、要求がその位置にアクセスすることを禁止すること、及びエラーメッセージをホストプロセッサ110に送信して上記禁止を通知することを更に含む。上述したように、調整は、ARM AXIバス仮想化プロトコルなどの現行のバスインターフェイス標準を用いて実施され得る。
ある実施形態では、ホストプロセッサ110は、外部(3D積層またはその他)装置、例えばメモリシステム130(図1)の熱的物理特性を取得し得る。ホストプロセッサ110は、メモリコントローラ120またはメモリコントローラのマップRAM140から温度情報を取得する。温度情報は、グラフ、例えば材料領域のデータ構造を、空間におけるその領域の位置並びにその領域の熱容量及び抵抗(RC)特性とともに含む。温度情報はまた、例えば、温度情報を収集及び分配するための個別のソフトウェアアプリケーションによって、より高いレベルで指定される。例えば、装置の静的な熱特性は、ハードウェアテーブルではなくソフトウェアから読み込まれる。
ある実施形態では、メモリコントローラ120は、暗号化を介して、または特権化されたメモリ要求の必要性を通じて、アドレスの予約領域からの読取りを通じて、若しくは個別のデータチャネル(例えば、簡単なシリアルインターフェイス)を介した読取りを通じて、温度情報を保護する。
ある実施形態では、ホストプロセッサ110は、メモリコントローラ120によってホストプロセッサ110に伝送される温度情報を用いて、優先度順でメモリページを割り当てる(及び温度が変化するにつれて再度割り当てる)ことができる。ホストプロセッサ110は、少なくとも2つの選択肢の一方に従って優先度順を実行する。第1の選択肢では、最も頻繁にアクセスされるページが最冷領域に割り当てられ得る。少なくともこれらの実施形態では、熱はI/O、検知アンプ及び他のアクセスロジックから、より熱的余裕のある領域に拡散され得る。
第2の選択肢では、最も頻繁にアクセスされるページが最熱領域に割り当てられる。DRAMなどの何らかの揮発メモリ内の高温領域は低温領域よりも頻繁なリフレッシュ動作を必要とするため、ホストプロセッサ110はこの選択肢を実施できる。メモリアクティビティをそれらの領域に押し出すことによって、ページ開閉アクティビティがリフレッシュとして作用するので、それらの領域に送られる必要があり得る明示的なリフレッシュ命令が減少する。
ある実施形態は、(遠隔メモリコントローラ120についての)熱的限度、またはホストプロセッサ110ダイ(または他の任意の付近にあるダイ)の熱特性若しくは動的温度測定値といった情報がホストプロセッサ110によってメモリシステム130の各部、ダイまたは領域に送られるような追加の「アップロード」メカニズムを実施できる。例えば、ホストプロセッサ110は設定を記憶し、または測定値がホストプロセッサ110のメモリに記憶され、ホストプロセッサ110が設定または測定値をメモリコントローラ120に送る。メモリコントローラ120は、この情報を用いてトランザクション調整またはデータ移動動作を指示することができる。送られているデータに加えて、熱制御ポリシー、調整ポリシー若しくは他のメモリコントローラ120の挙動を実施するためのマイクロコードまたは他の実行可能なインストラクションがメモリシステム130に送られる。
ある実施形態では、ホストプロセッサ110、メモリコントローラ120及びメモリシステム130は、電力増加中または周期的共有中に温度データを共有できる。少なくともこれらの実施形態では、付近のダイ同士が、それらの静的熱特性及び動的温度センサデータを相互に伝達できる。この共有は、データ及びスレッド配置(割当て)並びに退避(移動)の判断を扱うことができる。共有は、単に演算ダイとメモリダイの間ではなく、システム100における任意のタイプの構成部品間で行われ得る。
ある実施形態では、メモリコントローラ120は、オペレーティングシステムページ割当て及び退避メカニズムのためのハードウェア支援を提供する。少なくともこれらの実施形態では、外部バスリソースを用いることなく温度情報の内部転送を実行するように、メモリ内コピー命令がメモリコントローラ120に与えられる。マップRAM140(SRAM/DRAMなど)は、メモリコントローラ120によって制御され、次に割り当てられるべき最冷ページアドレスの「フリーリスト」を提供することができる。マップRAM140は、例えば、熱制御ロジック(TCL)、ホストプロセッサ110またはソフトウェアアプリケーションによって代替的または追加的に制御される。
マップRAM140は、1または複数のホストプロセッサ110によって(適切な相互排他またはロックメカニズムを介して)アドレス指定可能である。既に割り当てられたフリーリスト入力をホストプロセッサ110に与えることを回避するために、メモリコントローラ120は、ホストプロセッサ110によって保持されるホストページテーブル構造体へのアクセスを有していてもよい。メモリコントローラ120は、ホストページテーブル構造体を照会して、ホストプロセッサ110がページをマッピングしたかを確かめることができる。
例示の実施形態は、メモリシステム130または外部メモリコントローラ120がホストプロセッサ110または熱的に接続された装置に熱的事象を通知することを可能とする「メモリ割込み」信号またはメッセージを更に提供することができる。例えば、メモリ領域のエラーが多すぎる場合、メモリ領域のリフレッシュ頻度が高すぎる場合、またはメモリ領域が熱的ホットスポットとなった場合に、付近の装置または制御ホストプロセッサ110は、回避的アクション(データを再マッピングすること、周波数/電圧を調整すること、コードを他のコードに退避させることなど)を採るように通知される。
装置特性照会、マッピング及び退避支援メカニズム
例示の実施形態は、メモリ装置をそれらの温度について照会し、メモリ装置についての熱的限度を設定し、熱的マップ並びにステータス及び熱的緊急事態の通知を被接続制御または処理ロジックに伝達する制御ロジックのためのメカニズムを含む。メモリ装置、例えば、メモリシステム130は、それらの物理的熱特性を外部処理部、例えば、メモリコントローラ120またはホストプロセッサ110に伝達することができる。このようにして、プロセッサ110に既に実装されている熱管理メカニズムは、実際にそれに接続されたメモリ装置のタイプとは独立して、温度予測についての熱モデルを構築することができる。同様に、メモリ装置は、あるコントローラのアクションにおけるエネルギー及び電力の関与を示す静的な情報をプロセッサ110またはメモリコントローラ120に供給することができる。静的な情報は、絶対的または相対的なエネルギー、電力または電力密度のテーブルを、要求帯域幅、サイズ、ページヒット率または他の測定可能なトラフィックの特徴の関数として含むことができる。
図6に、いくつかの実施形態による協働的なホストメモリのデータアクティビティマッピングを示す。図6において、ホストプロセッサ610は、ホストプロセッサ110(図1)の機能を担うように動作可能である。メモリシステム630は、メモリシステム130(図1)の機能を担うことができる。メモリシステム630は3D積層メモリダイを含むが、例示の実施形態はこれに限られない。メモリシステム630は、例えばロジックダイについてのコントローラロジックレイヤを含むことができる。ロジックダイは、メモリチップの直下に積層され得る。メモリコントローラ120のロジックの全部または一部がロジックダイにおいて実装され得る。領域650及び655などの領域は、発熱することが予想される静的に画定された1または複数の高温領域である。領域660及び665は、温度センサ(図2)によってリアルタイムで高温であると測定される領域であり得る。その領域についての温度情報は、マップRAM140(図1)に記憶される。双方向の矢印670は、ホストプロセッサ610が、メモリシステム630から温度情報を読み取ることも、メモリシステム630にホストプロセッサ610の温度情報を供給することもできることを示す。
ランタイム中、ホストプロセッサ610はホットスポットを生成し、この情報を熱的に接続された他の装置に伝達することができる。メモリシステム630も同様に、ホストプロセッサ610に、マップRAM140(図1)に記憶された静的なマップ及び温度センサ(図2)によって測定された動的な温度情報を含む温度条件を通知することができる。
図7Aは図6と同様のシステムを示し、ここではホストプロセッサ710が、メモリシステム730におけるホットスポット751と重なるホットスポット750を生成している。したがって、図7Bにおいて、ホストプロセッサ710またはメモリコントローラ120(図1)は、ホットスポット751がホットスポット750と重ならなくなるようにホットスポット751を移動させることができる。ホストプロセッサ710またはメモリコントローラ120は、その当初の位置からデータを複製し、ホットスポット751の新たにマッピングされた領域を反映するようにマップRAM140(図1)を更新する。
図8に、図6−7に関して上述したものと同様のシステムを示す。図8では、ホストプロセッサ110は、図7に関して上述したようなデータではなく、コードを(マルチプロセッサシステムにおいて)他のホストプロセッサ110に退避させる。
図9に、図6−8に関して上述したのと同様のシステムを示す。図9では、メモリアドレス領域955がホットスポット960から離れるように退避される。
図10は、いくつかの実施形態による、メモリをマッピングする方法1000を示すフロー図である。
工程1010において、メモリコントローラ120(図1)がホストプロセッサ110からメモリ割当て要求を受信する。メモリ割当て要求は、第1の論理メモリアドレスを含む。
工程1020において、メモリコントローラ120は、第1の論理メモリアドレスを、メモリシステムのメモリ領域についての温度データに基づいてメモリシステムの第1のメモリ領域におけるブロックアドレスにマッピングする。第1のメモリ領域は、メモリシステム130のメモリ領域のうちの最低温度を有する。温度データは、図2に関して上述した温度センサから受信される。方法1000は、第2の論理メモリアドレスを第2のメモリ領域にマッピングすることを更に含んでいてもよい。第2のメモリ領域は、第1のメモリ領域よりも高い温度を有する。
方法1000は、温度データを、例えばマップRAM140(図1)におけるテーブルに記憶することを更に含んでいてもよい。方法1000は、メモリシステム130のメモリ領域の各々についての温度データのデフォルト値を記憶することを更に含んでいてもよい。デフォルト値は、メモリ領域の各々の特性に基づいていてもよい。方法1000は、メモリ領域の動作中に検知温度に基づいて、マップRAM140におけるテーブル内の温度データを更新することを更に含んでいてもよい。方法は、更新された温度データに基づいて、第1の論理メモリアドレスを第2のメモリ領域内のブロックアドレスに再マッピングすることを更に含んでいてもよい。再マッピングは、図6に関して上述したように、第1のメモリ領域から第2のメモリ領域にデータを複製することを含んでいてもよい。
方法1000は、第1の論理メモリアドレスに対応する物理データをメモリシステムの2以上のメモリ領域にわたってマッピングすること、及びその2以上のメモリ領域の各々における物理データにアクセスすることを更に含んでいてもよい。図4に関して上述したように、メモリコントローラ120は、図4に関して上述した第2のマッピング手法において示したように、アドレスを領域にわたってインタリーブすることができる。しかし、下側の2つの領域をインタリーブすることは、その2つの領域のいずれかが高温となる場合にデータを他の領域に退避させることに損失を伴い得る。図4の下側の2つの領域に示すタイプのインタリーブは、両領域が等しい温度となり易いことを静的な熱マップが示す場合に安全に実行される。
図11は、種々の実施形態による、メモリを割り当てる方法1100を示すフロー図である。
工程1110において、ホストプロセッサ110(図1)が、メモリシステム130の領域の温度についてテーブルを照会できる。一実施例では、テーブルは、図1−2に関して上述したようにマップRAM140に記憶される。
工程1120において、ホストプロセッサ110は、例えば、マップRAM140内のテーブルから取得された領域の温度に基づいて、メモリシステムの領域についての順序付けられたリストを作成できる。順序付けられたリストは、メモリシステム130の領域の物理位置に基づいて更に順序付けられてもよい。
工程1130において、ホストプロセッサ110は、順序付けられたリストにおける領域の位置に基づいて領域への割当てを要求する。例えば、ホストプロセッサ110は、まずリスト上の最冷領域に割り当てる。要求は、処理の特性に更に基づいていてもよい。例えば、いくつかの処理は、データ処理のためにある量の帯域幅または特定のエネルギー要件を必要としてもよい。他の例示の実施例として、いくつかの処理は、その処理に対してリフレッシュ動作がより頻繁に発生すると予想される場合に、より高温の領域に割り当てられてもよい。
動作1100は、領域の温度が変化したことの表示を受信することを更に含んでいてもよい。例えば、プロセッサ110またはメモリコントローラ120は、図6−9に関して上述したような温度に関する表示を受信してもよい。プロセッサ110は、更新された温度に基づいて、順序付けられたリストを再順序付けしてもよい。プロセッサ110は、更新された温度情報の受信に基づいて、割当てに対応する論理アドレスを第1のメモリ領域から第2のメモリ領域に再マッピングする。再マッピングは、第1のメモリ領域から第2のメモリ領域にデータを複製することを含む。プロセッサ110は、図6−9に関して上述したように、コードまたはデータの再マッピングを実行する。
種々の実施形態の装置は、高速コンピュータ、通信及び信号処理回路、メモリモジュール、可搬メモリ記憶デバイス(例えば、サム(thumb)ドライブ)、単一またはマルチプロセッサモジュール、単一または複数の組込みプロセッサ、マルチコアプロセッサ、データスイッチ、及びマルチレイヤを含むアプリケーション専用モジュール、マルチチップモジュールを含み、またはそれに含まれ得る。そのような装置は、テレビ、メモリ携帯電話、パーソナルコンピュータ(例えば、ラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータなど)、ワークステーション、ラジオ、ビデオプレーヤ、オーディオプレーヤ(例えば、MP3(Motion Picture Experts Group, Audio Layer 3)プレーヤ)、乗物、医療装置(例えば、心臓モニタ、血圧モニタなど)、セットトップボックス及びその他、といった様々な電子システム内の一構成部品として含まれることができる。
いくつかの実施形態は、ここに開示される方法または機能のいずれか1以上を具現する1以上のセットのインストラクション(例えば、ソフトウェア)が記憶された機械可読媒体を含む。インストラクションは、システム100によるその実行中にプロセッサ110またはメモリコントローラ120(図1)内で、プロセッサ110またはメモリコントローラ120も機械可読媒体を構成する状態で、完全にまたは少なくとも部分的に常駐することができる。
例えば、機械可読媒体は、プロセッサ110で実行されるときに、プロセッサ110にメモリシステム130の利用可能領域のリストを保持させる。リストは、利用可能領域の温度に基づく順序となる。その温度は、対応する利用可能領域の予測温度に基づくデフォルトの温度であればよい。予測温度は、対応する利用可能領域の物理的特性に基づく。
コンピュータ可読媒体は更に、リスト内の第1の利用可能領域における第1のブロックアドレスの、プロセッサ110上で稼働している処理への割当てを、リスト内の第1の利用可能領域の順序に基づいて、更に処理の特性に基づいてプロセッサ110に要求させることができる。機械可読媒体は、プロセッサ110に、例えば、マップRAM140(図1)から、メモリコントローラ130から、またはメモリシステム130における温度センサからの更新温度データを受信させることができる。機械可読媒体は、プロセッサ110に、更新された温度データに基づいてリストを再順序付けさせ、再順序付けされたリストに基づいて、マッピングされる第2の処理をメモリシステム130の第2の利用可能領域における第2のブロックアドレスに割り当てさせることができる。
ここに記載される例示の実施形態は、アクティビティホットスポットの存在下でのメモリリフレッシュレートの制御を提供してもよい。例示の実施形態は、ほとんどの演算部がアイドル状態である場合にデータをホットコアから離隔移動させることによって、またはそのメモリ帯域幅を調整することによって、クロック周波数が上昇される性能増強技術のための熱的余裕を増加させてもよい。いくつかの既存システムとは対照的に、例示の実施形態に関して説明したメモリ帯域幅調整及び高温メモリ領域からのデータ再マッピングは、完全にメモリロジックの制御下にある。したがって、例示の実施形態によって、メモリのベンダが、メモリに組み込まれた独自のセンサを用いて熱的な危険を回避することが可能となる。例示の実施形態は、ハイブリッドメモリキューブ(HMC)、またはホスト処理装置に積層されていない他のメモリのメモリコントローラ積層レイヤを用いて熱的制御を提供することができる。
機械可読媒体は、1以上のセットのインストラクションを記憶する単一の媒体であってもよいし、複数の媒体(例えば、中央化または分散データベース、並びに/または関連するキャッシュ及びサーバ)であってもよい。「機械可読媒体」は、機械による実行の一組のインストラクションを記憶、符号化または保持することができるあらゆる非一時的媒体を含み得る。例示として、そして限定ではなく、「機械可読媒体」は半導体メモリ、光学媒体または磁気媒体を含み得る。
上記説明及び図面は、当業者が実施形態を実施可能とするように実施形態を示すものである。他の実施形態は、構造的な、論理的な、電気的な、処理上の及び他の変更を取り入れることができる。図面において、同様の構成または同様の符号は、いくつかの図を通じて実質的に同様の構成を示す。いくつかの実施形態の部分及び構成は、他の実施形態のものに含まれていてもよく、またはそれらに代替されてもよい。上記説明を読み、理解すれば、多くの他の実施形態が当業者には明らかなものとなる。
開示の要約は、読者が直ちに技術的開示の性質を確認することを可能とする要約を要件とする37C.F.R.§1.72(b)に準拠するように提供されている。要約は、それが特許請求の範囲を解釈または限定するのに使用されないとの理解のもとに提出される。
図1は、例示の実施形態を実施可能なシステム100を示す図である。システム100は、メモリコントローラ120に第1のバス121を介して結合されるプロセッサ110を含み得る。メモリコントローラ120は、メモリシステム130に第2のバス122を介して結合され得る。メモリコントローラ120は、プロセッサ110からのメモリトランザクション要求を実行することができる。メモリコントローラ120は、プロセッサ110とメモリシステム125の間で第1及び第2のバス121及び122を介してデータを転送できる。第1のバス121及び第2のバス122は、既知のプロトコルを採用できプロセッサ110をメモリコントローラ120に接続し、メモリコントローラ120をメモリシステム130に接続する。システム100の実施例は、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント(PDA)、デジタルカメラ、電子ゲーム、デジタルメディアプレーヤ/レコーダなどを含み得る。
インストラクション125は、プロセッサ110上でオペレーティングシステム(OS)及び1以上のアプリケーションを実行できる。OSは、1以上のアプリケーションに代わってメモリシステム130におけるメモリを要求することができる。メモリコントローラ120は、アプリケーションをメモリシステム130における物理位置にマッピングできる。

Claims (47)

  1. メモリコントローラによって実行される、第1の論理メモリアドレスをメモリシステムにおけるアドレスにマッピングする方法であって、
    前記第1の論理メモリアドレスを含むメモリ割当て要求を受信すること、及び
    前記第1の論理メモリアドレスを、前記メモリシステムのメモリ領域についての温度データに基づいて前記メモリシステムの第1のメモリ領域における前記アドレスにマッピングすること
    を備える方法。
  2. 請求項1に記載の方法であって、
    前記温度データをテーブルに記憶すること
    を更に含み、前記第1のメモリ領域が、前記メモリシステムの前記メモリ領域のうち最低温度を有する、前記方法。
  3. 請求項2に記載の方法であって、
    前記メモリ領域の各々についての温度データのデフォルト値を記憶することであって、該デフォルト値が前記メモリ領域の各々の特性に基づく、前記記憶すること
    を更に含む前記方法。
  4. 請求項3に記載の方法であって、
    前記メモリ領域の動作中の検知温度に基づいて前記テーブルにおける温度データを更新すること、及び
    更新された前記温度データに基づいて前記第1の論理メモリアドレスを第2のメモリ領域におけるアドレスに再マッピングすること
    を更に含む前記方法。
  5. 請求項4に記載の方法において、前記再マッピングすることが、前記第1のメモリ領域から前記第2のメモリ領域にデータを複製することを含む、前記方法。
  6. 請求項1に記載の方法であって、
    前記第1の論理メモリアドレスをマッピングすることに続いて第2の論理メモリアドレスを第2のメモリ領域にマッピングすることであって、該第2のメモリ領域が前記第1のメモリ領域よりも高い温度を有する、前記マッピングすること
    を更に含む前記方法。
  7. 請求項1に記載の方法であって、
    前記第1の論理メモリアドレスに対応する物理データを前記メモリシステムの2以上のメモリ領域にマッピングすること、及び
    前記2以上のメモリ領域の各々における物理データにアクセスすること
    を更に含む前記方法。
  8. ホストプロセッサによって実行される、メモリシステムにおけるメモリを前記ホストプロセッサ上で実行される処理に割り当てる方法であって、
    前記メモリシステムの領域の温度についてテーブルを照会すること、
    前記メモリシステムの領域についての順序付けされたリストを前記温度に基づいて作成すること、及び
    前記順序付けされたリストにおける前記領域の位置に基づいて領域への割当てを要求すること
    を備える方法。
  9. 請求項8に記載の方法において、前記要求することが更に前記処理の特性に基づく、前記方法。
  10. 請求項8に記載の方法であって、
    前記領域の前記温度が変化したことの表示を受信すること、及び
    前記順序付けされたリストを、更新された前記温度に基づいて再順序付けすること
    を更に含む前記方法。
  11. 請求項10に記載の方法であって、
    第1のメモリ領域から第2のメモリ領域への割当てに対応する論理アドレスを、更新された温度情報の受信に基づいて再マッピングすることであって、前記第1のメモリ領域から前記第2のメモリ領域にデータを複製することを含む前記再マッピングすること
    を更に含む前記方法。
  12. 請求項10に記載の方法であって、
    前記処理を、更新された温度情報の受信に基づいて前記ホストプロセッサの第1の処理部から前記ホストプロセッサの第2の処理部に再マッピングすること
    を更に含む前記方法。
  13. 請求項8に記載の方法において、前記順序付けされたリストが、前記メモリシステムの前記領域の物理位置に基づいて更に順序付けされる、前記方法。
  14. コンピュータ可読媒体であって、機械で実行されるときに、
    メモリシステムの利用可能領域のリストを保持することであって、該リストが前記利用可能領域の温度に基づく順序となっている、前記保持すること、及び
    前記リスト内の第1の利用可能領域における第1のアドレスの、前記機械上で稼働している処理への割当てを、前記リスト内の前記第1の利用可能領域の順序に基づいて、更に前記処理の特性に基づいて、要求すること
    を前記機械に実行させるインストラクションを備えるコンピュータ可読媒体。
  15. 請求項14に記載のコンピュータ可読媒体であって、前記機械で実行されるときに、
    更新された温度データを受信すること、
    前記更新された温度データに基づいて前記リストを再順序付けすること、及び
    マッピングされる第2の処理を、前記再順序付けされたリストに基づいて第2の利用可能領域における第2のアドレスに割り当てること
    を前記機械に実行させるインストラクションを更に備える前記コンピュータ可読媒体。
  16. 請求項14に記載のコンピュータ可読媒体において、前記温度が、対応する前記利用可能領域の予測温度に基づくデフォルト温度であり、前記予測温度が、前記対応する利用可能領域の物理的特性に基づく、前記コンピュータ可読媒体。
  17. メモリ装置であって、
    複数のメモリセルの領域を含むメモリダイであって、前記複数のメモリセルの領域の2以上の各々が、メモリセルの対応する領域の温度を検知するための温度センサを含む、前記メモリダイ
    を備えた装置。
  18. 請求項17に記載の装置であって、
    前記温度センサを読み取り、
    前記読取りに基づく温度値を温度値のテーブルに与える
    熱制御ロジック(TCL)
    を更に備えた前記装置。
  19. 請求項18に記載の装置において、前記TCLが前記温度センサを連続的に読み取る、前記装置。
  20. 請求項18に記載の装置において、前記TCLが前記温度センサを周期的に読み取る、前記装置。
  21. 請求項18に記載の装置において、前記メモリシステムのステータスが第1のステータスである場合に前記TCLが前記温度センサを連続的に読み取り、前記メモリシステムの前記ステータスが前記第1のステータスとは異なる第2のステータスである場合に前記TCLが前記温度センサを連続的に読み取る、前記装置。
  22. 請求項18に記載の装置において、前記TCLが複数の温度センサを読み取り、前記複数の温度センサの少なくとも2つが、メモリセルの異なる領域に対応している、前記装置。
  23. 請求項22に記載の装置において、前記TCLが温度情報をホストプロセッサに送信する、前記装置。
  24. 請求項22に記載の装置において、前記TCLが温度情報をホストプロセッサから受信する、前記装置。
  25. 請求項17に記載の装置であって、前記メモリダイに結合されたロジックチップを更に備えた前記装置。
  26. 請求項25に記載の装置において、前記ロジックチップが、該ロジックチップの温度を測定するための温度センサを更に含む、前記装置。
  27. 請求項26に記載の装置において、縦型スタック状に配置された複数のメモリダイを備える前記装置。
  28. 請求項27に記載の装置において、
    前記複数のメモリダイの各々が温度センサを含み、該温度センサの各々が情報を、
    前記複数のメモリダイの相互間で、及び
    熱制御ロジックに
    送信する、前記装置。
  29. システムであって、
    メモリダイを有するメモリシステムであって、前記メモリダイが複数のメモリセルの領域を含み、該複数の領域の少なくとも2つが温度センサを含む、前記メモリシステム、
    前記メモリシステムにおけるメモリの割当てを要求するプロセッサ、
    前記複数のメモリセルの領域の温度データを記憶するように構成されたメモリ、及び
    前記プロセッサからの割当て要求に基づいて論理アドレスを前記メモリシステムの物理アドレスにマッピングするメモリコントローラ
    を備えたシステム。
  30. 請求項29に記載のシステムにおいて、前記メモリシステムがロジックダイを更に備え、前記メモリシステムが積層状に配置された複数のメモリダイを含む、前記システム。
  31. 請求項30に記載のシステムにおいて、前記ロジックダイが、前記メモリシステムの領域のリフレッシュレートを前記領域の温度に基づいて調整するための熱制御ロジックを更に含む、前記システム。
  32. 請求項29に記載のシステムにおいて、前記メモリダイが、前記メモリダイの領域のリフレッシュレートを前記領域の温度に基づいて調整するための熱制御ロジックを更に含む、前記システム。
  33. 請求項29に記載のシステムであって、
    前記プロセッサと前記メモリコントローラとの間の論理アドレス変換を提供する変換ルックアサイドバッファ(TLB)
    を更に備えた前記システム。
  34. メモリシステムを動作させる方法であって、
    前記メモリシステムの複数の領域の温度値を温度センサから周期的に読み取ること、及び
    前記温度に基づいて前記メモリシステムの前記複数の領域の各々についてのリフレッシュレートを設定すること
    を備える方法。
  35. 請求項34に記載の方法であって、
    前記温度値に基づいて読取りの時間間隔を調整すること
    を更に含む前記方法。
  36. 請求項35に記載の方法であって、
    温度の大きな変化の読取りに応じて読取りの前記時間間隔を減少させること
    を更に含む前記方法。
  37. 請求項35に記載の方法であって、
    多数の読取りにわたって前記温度が変化しない場合に読取りの前記時間間隔を増加させること
    を更に含む前記方法。
  38. 請求項35に記載の方法であって、
    第1のメモリ領域から第2のメモリ領域に、及び該第2のメモリ領域から該第1のメモリ領域に読取り値を送信すること
    を更に含む前記方法。
  39. 請求項38に記載の方法であって、
    前記送信された読取り値に基づいて割当て及び退避決定を実行すること
    を更に含む前記方法。
  40. メモリシステムのためのメモリコントローラであって、前記メモリシステムが、メモリセルの領域を有するメモリダイを含み、前記メモリコントローラが、
    前記メモリセルの領域の温度を記憶するように構成されたメモリ、及び
    記憶された前記温度に基づいて、割当て要求においてプロセッサから受信された論理メモリアドレスを領域のアドレスにマッピングするロジック
    を備えたメモリコントローラ。
  41. メモリトランザクションの調整方法であって、
    物理メモリ領域内の位置にアクセスするメモリトランザクションのための要求を受信すること、
    前記要求の優先レベルを取得すること、及び
    前記メモリトランザクションのための帯域幅を、前記要求の前記優先レベルに基づいて、及び前記物理メモリ領域の温度に基づいて予約すること
    を備える方法。
  42. 請求項41に記載の方法であって、
    前記物理メモリ領域が第1の温度状態にあることを特定すること、
    前記特定することに基づいて、前記要求が前記位置にアクセスすることを禁止すること、及び
    エラーメッセージをホストプロセッサに送信して前記禁止することを通知すること
    を更に含む前記方法。
  43. 請求項41に記載の方法において、前記メモリトランザクションが送出されるプロセッサを含むネットワークのアイデンティティに基づいて帯域幅が前記メモリトランザクションのために予約される、前記方法。
  44. 請求項43に記載の方法において、前記プロセッサが、仮想化プロトコルに基づくネットワーク識別子を受信する、前記方法。
  45. 請求項44に記載の方法において、前記仮想化プロトコルが、ARM Advanced Extensible Interface(AXI)バス仮想化プロトコルである、前記方法。
  46. メモリシステムにおいて該メモリシステムの温度情報に基づいてデータをマッピングし、またはデータを再配置する、ここに記載される動作のあらゆる組合せを備える方法。
  47. システムであって、該システムのメモリ領域の温度情報に基づいてデータをマッピングし、またはデータを再配置する、ここに記載される構成要素のあらゆる組合せを備えたシステム。
JP2016500740A 2013-03-15 2014-03-06 メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法 Active JP6097444B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361791673P 2013-03-15 2013-03-15
US61/791,673 2013-03-15
US14/055,672 2013-10-16
US14/055,672 US9342443B2 (en) 2013-03-15 2013-10-16 Systems and methods for memory system management based on thermal information of a memory system
PCT/US2014/021241 WO2014149860A1 (en) 2013-03-15 2014-03-06 Systems and methods for memory system management based on thermal information of a memory system

Publications (2)

Publication Number Publication Date
JP2016510930A true JP2016510930A (ja) 2016-04-11
JP6097444B2 JP6097444B2 (ja) 2017-03-15

Family

ID=51533939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016500740A Active JP6097444B2 (ja) 2013-03-15 2014-03-06 メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法

Country Status (7)

Country Link
US (5) US9342443B2 (ja)
EP (3) EP3862844A1 (ja)
JP (1) JP6097444B2 (ja)
KR (1) KR101786572B1 (ja)
CN (1) CN105122226B (ja)
TW (1) TWI594183B (ja)
WO (1) WO2014149860A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212745A (ja) * 2015-05-12 2016-12-15 株式会社東芝 半導体装置
JP2018081488A (ja) * 2016-11-16 2018-05-24 キヤノン株式会社 画像処理装置およびその制御方法
JP2018097903A (ja) * 2016-12-09 2018-06-21 富士通株式会社 半導体装置及び半導体装置の制御方法
JP7425170B1 (ja) 2022-12-09 2024-01-30 Necプラットフォームズ株式会社 メモリリフレッシュ制御装置、メモリリフレッシュ制御方法、及び、メモリリフレッシュ制御プログラム

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342443B2 (en) 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
JP6098301B2 (ja) * 2013-03-29 2017-03-22 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
JP2015041395A (ja) * 2013-08-20 2015-03-02 キヤノン株式会社 情報処理装置及びその制御方法、並びに、そのプログラムと記憶媒体
US10241717B2 (en) * 2013-12-30 2019-03-26 Qualcomm Technologies International, Ltd. Memory boosting
US9959936B1 (en) * 2014-03-12 2018-05-01 Marvell International Ltd. Temperature-based memory access
US10289604B2 (en) * 2014-08-07 2019-05-14 Wisconsin Alumni Research Foundation Memory processing core architecture
JP6425462B2 (ja) * 2014-08-27 2018-11-21 ルネサスエレクトロニクス株式会社 半導体装置
US9947386B2 (en) * 2014-09-21 2018-04-17 Advanced Micro Devices, Inc. Thermal aware data placement and compute dispatch in a memory system
US20160093345A1 (en) * 2014-09-26 2016-03-31 Qualcomm Incorporated Dynamic random access memory timing adjustments
US9489146B2 (en) * 2014-12-09 2016-11-08 Sandisk Technologies Llc Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures
US9996276B2 (en) * 2015-03-04 2018-06-12 Toshiba Memory Corporation Memory system, memory controller and control device
KR102316441B1 (ko) * 2015-04-14 2021-10-25 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10007435B2 (en) 2015-05-21 2018-06-26 Micron Technology, Inc. Translation lookaside buffer in memory
US9563505B2 (en) * 2015-05-26 2017-02-07 Winbond Electronics Corp. Methods and systems for nonvolatile memory data management
US9836349B2 (en) 2015-05-29 2017-12-05 Winbond Electronics Corp. Methods and systems for detecting and correcting errors in nonvolatile memory
US9760402B2 (en) * 2015-07-23 2017-09-12 Dell Products L.P. Systems and methods for input/output traffic shaping for optimal performance under thermal constraints
US9846612B2 (en) 2015-08-11 2017-12-19 Qualcomm Incorporated Systems and methods of memory bit flip identification for debugging and power management
US20170109090A1 (en) * 2015-10-16 2017-04-20 Qualcomm Incorporated System and method for page-by-page memory channel interleaving
US9640242B1 (en) * 2015-12-02 2017-05-02 Qualcomm Incorporated System and method for temperature compensated refresh of dynamic random access memory
US20170162235A1 (en) * 2015-12-02 2017-06-08 Qualcomm Incorporated System and method for memory management using dynamic partial channel interleaving
US9934154B2 (en) * 2015-12-03 2018-04-03 Samsung Electronics Co., Ltd. Electronic system with memory management mechanism and method of operation thereof
KR102456118B1 (ko) * 2016-02-24 2022-10-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN107179877B (zh) * 2016-03-09 2019-12-24 群联电子股份有限公司 数据传输方法、存储器控制电路单元与存储器存储装置
US9734887B1 (en) * 2016-03-21 2017-08-15 International Business Machines Corporation Per-die based memory refresh control based on a master controller
US10331352B2 (en) 2016-06-06 2019-06-25 Toshiba Memory Corporation Dynamic processing of storage command based on internal operations of storage system
US10235085B2 (en) * 2016-06-27 2019-03-19 International Business Machines Corporation Relocating storage unit data in response to detecting hotspots in a dispersed storage network
US9653144B1 (en) 2016-06-28 2017-05-16 Intel Corporation Apparatuses, methods, and systems for package on package memory refresh and self-refresh rate management
US9871020B1 (en) * 2016-07-14 2018-01-16 Globalfoundries Inc. Through silicon via sharing in a 3D integrated circuit
US10372635B2 (en) 2016-08-26 2019-08-06 Qualcomm Incorporated Dynamically determining memory attributes in processor-based systems
US10318428B2 (en) 2016-09-12 2019-06-11 Microsoft Technology Licensing, Llc Power aware hash function for cache memory mapping
US10496482B1 (en) * 2016-09-30 2019-12-03 EMC IP Holding Company LLC Selective raid repair based on content mapping
KR20180038109A (ko) * 2016-10-05 2018-04-16 삼성전자주식회사 모니터링 회로를 포함하는 전자 장치 및 그것에 포함되는 스토리지 장치
KR102669687B1 (ko) 2016-12-05 2024-05-28 삼성전자주식회사 메모리의 온도에 따라 상이하게 동작하는 스토리지 장치
US20180210836A1 (en) * 2017-01-24 2018-07-26 Microsoft Technology Licensing, Llc Thermal and reliability based cache slice migration
TWI712925B (zh) * 2017-01-24 2020-12-11 瑞昱半導體股份有限公司 電子裝置與其控制方法
US10809780B2 (en) 2017-03-13 2020-10-20 Samsung Electronics Co., Ltd. Active disturbance rejection based thermal control
US10698460B2 (en) 2017-03-13 2020-06-30 Samsung Electronics Co., Ltd. Advanced thermal control for SSD
US11016545B2 (en) * 2017-03-29 2021-05-25 Western Digital Technologies, Inc. Thermal throttling for memory devices
US10241561B2 (en) 2017-06-13 2019-03-26 Microsoft Technology Licensing, Llc Adaptive power down of intra-chip interconnect
US10115437B1 (en) 2017-06-26 2018-10-30 Western Digital Technologies, Inc. Storage system and method for die-based data retention recycling
US10949361B1 (en) * 2017-08-04 2021-03-16 Nimbus Data, Inc. Multiprocessor software-defined solid-state storage drive
US11551990B2 (en) 2017-08-11 2023-01-10 Advanced Micro Devices, Inc. Method and apparatus for providing thermal wear leveling
US11742038B2 (en) * 2017-08-11 2023-08-29 Advanced Micro Devices, Inc. Method and apparatus for providing wear leveling
US10642727B1 (en) * 2017-09-27 2020-05-05 Amazon Technologies, Inc. Managing migration events performed by a memory controller
US11544168B2 (en) * 2017-10-30 2023-01-03 SK Hynix Inc. Memory system
KR102414047B1 (ko) * 2017-10-30 2022-06-29 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
KR102499255B1 (ko) 2018-02-19 2023-02-13 에스케이하이닉스 주식회사 통합 메모리 디바이스 및 그의 동작 방법
US10331377B2 (en) * 2017-11-01 2019-06-25 Micron Technology, Inc. NAND flash thermal alerting
US10515173B2 (en) * 2017-12-29 2019-12-24 Advanced Micro Devices, Inc. Input-output processing on a remote integrated circuit chip
US10880401B2 (en) * 2018-02-12 2020-12-29 Micron Technology, Inc. Optimization of data access and communication in memory systems
KR102583448B1 (ko) 2018-04-10 2023-09-27 에스케이하이닉스 주식회사 온도 관리를 위해 주소를 제어하는 반도체 메모리 장치
US10564861B2 (en) 2018-04-17 2020-02-18 Western Digital Technologies, Inc. Parity relocation for reducing temperature throttling
KR102684047B1 (ko) * 2018-07-13 2024-07-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US11516042B2 (en) * 2018-07-19 2022-11-29 Panasonic Intellectual Property Management Co., Ltd. In-vehicle detection system and control method thereof
CN108959153B (zh) * 2018-08-01 2021-04-06 广州视源电子科技股份有限公司 一种一体机、数据续传的方法、装置、设备和存储介质
KR102653147B1 (ko) 2018-08-21 2024-04-02 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 모듈 및 불휘발성 메모리를 액세스하는 방법
US10650875B2 (en) * 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US20190041928A1 (en) * 2018-09-12 2019-02-07 Intel Corporation Technologies for predictive feed forward multiple input multiple output ssd thermal throttling
US10901893B2 (en) * 2018-09-28 2021-01-26 International Business Machines Corporation Memory bandwidth management for performance-sensitive IaaS
US10852792B2 (en) * 2018-10-25 2020-12-01 Dell Products, L.P. System and method for recovery of sideband interfaces for controllers
US10929062B2 (en) * 2018-11-07 2021-02-23 International Business Machines Corporation Gradually throttling memory due to dynamic thermal conditions
US11321008B2 (en) 2018-11-15 2022-05-03 Micron Technology, Inc. Temperature-based memory management
US11017834B2 (en) * 2018-11-30 2021-05-25 Micron Technology, Inc. Refresh command management
US10831396B2 (en) * 2018-12-18 2020-11-10 Micron Technology, Inc. Data storage organization based on one or more stresses
US11036406B2 (en) 2019-05-21 2021-06-15 International Business Machines Corporation Thermally aware memory management
US11061819B2 (en) * 2019-05-28 2021-07-13 Micron Technology, Inc. Distributed computing based on memory as a service
US11269552B2 (en) * 2019-06-14 2022-03-08 Micron Technology, Inc. Multi-pass data programming in a memory sub-system having multiple dies and planes
US10942655B2 (en) * 2019-07-09 2021-03-09 Seagate Technology Llc Mitigating data errors in a storage device
US10978136B2 (en) * 2019-07-18 2021-04-13 Apple Inc. Dynamic refresh rate control
US11681909B2 (en) * 2019-10-14 2023-06-20 Micron Technology, Inc. Memory component with a bus to transmit data for a machine learning operation and another bus to transmit host data
US11755475B2 (en) * 2020-01-31 2023-09-12 Dell Products L.P. System and method for utilizing enhanced thermal telemetry for differential storage of data on a memory module
CN114902331A (zh) * 2020-02-24 2022-08-12 华为技术有限公司 一种存储装置、带宽调整方法及电子设备
US11309011B2 (en) * 2020-02-26 2022-04-19 Taiwan Semiconductor Manufacturing Co., Ltd. Method and system for refresh of memory devices
TWI725773B (zh) * 2020-03-13 2021-04-21 華邦電子股份有限公司 溫度感測電路及其感測方法
CN111443875B (zh) * 2020-04-13 2022-08-12 Oppo广东移动通信有限公司 基于地址关系表的数据处理方法、装置及设备
JP2022049531A (ja) * 2020-09-16 2022-03-29 キオクシア株式会社 メモリシステム
US11775185B2 (en) * 2020-09-17 2023-10-03 Micron Technology, Inc. Power budget arbitration for multiple concurrent access operations in a memory device
US11722138B2 (en) * 2020-10-20 2023-08-08 Micron Technology, Inc. Dynamic power and thermal loading in a chiplet-based system
KR20220061579A (ko) 2020-11-06 2022-05-13 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR20220091162A (ko) 2020-12-23 2022-06-30 삼성전자주식회사 온도에 대한 리프레쉬 레이트 승수와 상관없는 메모리 장치의 리프레쉬 방법
US20220206916A1 (en) * 2020-12-28 2022-06-30 Advanced Micro Devices, Inc. Methods and apparatus for managing data in stacked drams
US11687432B2 (en) * 2021-01-14 2023-06-27 Silicon Motion, Inc. Data accessing method using dynamic speed adjustment with aid of thermal control unit, and associated apparatus
US20220300049A1 (en) * 2021-03-16 2022-09-22 Intel Corporation Thermal management in horizontally or vertically stacked dies
US11935796B2 (en) 2021-03-23 2024-03-19 Cisco Technology, Inc. Temperature control for multiple die types in a common package
CN113220227B (zh) * 2021-04-27 2022-10-14 锐捷网络股份有限公司 信息存取任务的睡眠时长动态调整方法及装置
US11733902B2 (en) * 2021-04-30 2023-08-22 International Business Machines Corporation Integrating and increasing performance of disaggregated memory in operating systems
US11531485B1 (en) 2021-09-07 2022-12-20 International Business Machines Corporation Throttling access to high latency hybrid memory DIMMs
EP4390925A1 (en) * 2021-11-04 2024-06-26 Samsung Electronics Co., Ltd. Electronic device for controlling operation of volatile memory and operation method thereof
US11797190B2 (en) 2021-12-03 2023-10-24 Western Digital Technologies, Inc. Data storage device and method for providing a temperature-driven variable storage capacity point
US11915764B2 (en) 2022-03-25 2024-02-27 Micron Technology, Inc. Apparatus and methods for thermal management in a memory
US11886260B2 (en) 2022-05-19 2024-01-30 Western Digital Technologies, Inc. Thermal management of storage devices increasing host write performance
US12026108B1 (en) * 2022-08-02 2024-07-02 Apple Inc. Latency-based performance state control
US12050780B2 (en) * 2022-09-06 2024-07-30 Micron Technology, Inc. Adaptive temperature protection for a memory controller
US12093541B1 (en) * 2022-09-06 2024-09-17 Apple Inc. Temperature-based bandwidth compensation for memory traffic
CN117591304B (zh) * 2024-01-19 2024-03-26 深圳市众智空调设备有限公司 基于计算机视觉的机房高效能耗控制方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004095465A1 (ja) * 2003-04-23 2004-11-04 Fujitsu Limited 半導体記憶装置
JP2006040527A (ja) * 2004-07-29 2006-02-09 Samsung Electronics Co Ltd セルフリフレッシュ周期制御回路
JP2011154744A (ja) * 2010-01-26 2011-08-11 Sony Corp 記憶装置
JP2012185764A (ja) * 2011-03-08 2012-09-27 Nec Corp メモリアクセス処理システム、制御方法、及びプログラム
WO2013048518A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0462070A (ja) 1990-06-25 1992-02-27 Sanyo Electric Co Ltd 熱転写ビデオプリンタ
JP3177207B2 (ja) 1998-01-27 2001-06-18 インターナショナル・ビジネス・マシーンズ・コーポレ−ション リフレッシュ間隔制御装置及び方法、並びにコンピュータ
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP4569921B2 (ja) 2004-08-04 2010-10-27 パナソニック株式会社 省電力メモリアクセス制御装置
US7149645B2 (en) * 2004-12-30 2006-12-12 Intel Corporation Method and apparatus for accurate on-die temperature measurement
US7260007B2 (en) * 2005-03-30 2007-08-21 Intel Corporation Temperature determination and communication for multiple devices of a memory module
US20070005996A1 (en) * 2005-06-30 2007-01-04 Nalawadi Rajeev K Collecting thermal, acoustic or power data about a computing platform and deriving characterization data for use by a driver
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
US20070219747A1 (en) * 2006-03-07 2007-09-20 Hughes James E HDD throttle polling based on blade temperature
US8118483B2 (en) 2006-06-21 2012-02-21 Intel Corporation Thermal sensor having toggle control
US7500078B2 (en) * 2006-08-25 2009-03-03 Dell Products L.P. Thermal control of memory modules using proximity information
US7830690B2 (en) * 2006-10-30 2010-11-09 Intel Corporation Memory module thermal management
TWI434032B (zh) * 2007-01-11 2014-04-11 Marvell World Trade Ltd 溫度感測系統
US7705721B1 (en) * 2007-03-13 2010-04-27 Network Appliance, Inc. Apparatus and method for sensing and responding to environmental conditions of a computer system at non-uniform polling intervals
US7818499B2 (en) * 2007-09-18 2010-10-19 Hitachi, Ltd. Methods and apparatuses for heat management in storage systems
US20090138220A1 (en) * 2007-11-28 2009-05-28 Bell Jr Robert H Power-aware line intervention for a multiprocessor directory-based coherency protocol
US8200999B2 (en) * 2008-08-11 2012-06-12 International Business Machines Corporation Selective power reduction of memory hardware
US7929368B2 (en) * 2008-12-30 2011-04-19 Micron Technology, Inc. Variable memory refresh devices and methods
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8322154B2 (en) * 2009-09-09 2012-12-04 International Business Machines Corporation Control of system coolant to facilitate two-phase heat transfer in a multi-evaporator cooling system
US20110093132A1 (en) 2009-10-19 2011-04-21 Apple Inc. Platform-independent thermal management of components in electronic devices
US8639964B2 (en) * 2010-03-17 2014-01-28 Dell Products L.P. Systems and methods for improving reliability and availability of an information handling system
US8799553B2 (en) * 2010-04-13 2014-08-05 Apple Inc. Memory controller mapping on-the-fly
US8751056B2 (en) * 2010-05-25 2014-06-10 Motorola Mobility Llc User computer device with temperature sensing capabilities and method of operating same
US20140013129A1 (en) * 2012-07-09 2014-01-09 L. Pierre de Rochemont Hybrid computing module
US9658678B2 (en) * 2011-03-31 2017-05-23 Intel Corporation Induced thermal gradients
US8942857B2 (en) * 2011-04-22 2015-01-27 Qualcomm Incorporated Method and system for thermal load management in a portable computing device
US8750065B2 (en) * 2011-06-28 2014-06-10 Rochester Institute Of Technology Thermal management apparatuses with temperature sensing resistive random access memory devices and methods thereof
US8688289B2 (en) * 2011-07-07 2014-04-01 Qualcomm Incorporated Method and system for preempting thermal load by proactive load steering
US9164898B2 (en) * 2011-09-09 2015-10-20 International Business Machines Corporation Administering thermal distribution among memory modules of a computing system
US8595520B2 (en) * 2011-10-12 2013-11-26 Qualcomm Incorporated System and method for determining thermal management policy from leakage current measurement
US8985847B2 (en) * 2011-11-21 2015-03-24 International Business Machines Corporation Thermal resistance-based monitoring of cooling of an electronic component
US9442773B2 (en) * 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US9396787B2 (en) * 2011-12-23 2016-07-19 Intel Corporation Memory operations using system thermal sensor data
TW201344427A (zh) * 2012-04-27 2013-11-01 Hon Hai Prec Ind Co Ltd 伺服器的工作參數監控系統及方法
US9508607B2 (en) * 2012-07-20 2016-11-29 Qualcomm Incorporated Thermal management of tightly integrated semiconductor device, system and/or package
US9342443B2 (en) 2013-03-15 2016-05-17 Micron Technology, Inc. Systems and methods for memory system management based on thermal information of a memory system
US9760136B2 (en) * 2014-08-15 2017-09-12 Intel Corporation Controlling temperature of a system memory
KR102254098B1 (ko) * 2014-11-20 2021-05-20 삼성전자주식회사 온도를 센싱할 수 있는 반도체 칩, 및 상기 반도체 칩을 포함하는 반도체 시스템
KR102276374B1 (ko) * 2015-01-09 2021-07-14 삼성전자주식회사 PoP 구조의 반도체 패키지 및 그에 따른 리프레쉬 제어방법
US9658663B2 (en) * 2015-09-22 2017-05-23 Advanced Micro Devices, Inc. Thermally-aware throttling in a three-dimensional processor stack
US20190161341A1 (en) * 2017-11-28 2019-05-30 Micron Technology, Inc. Systems and methods for temperature sensor access in die stacks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004095465A1 (ja) * 2003-04-23 2004-11-04 Fujitsu Limited 半導体記憶装置
JP2006040527A (ja) * 2004-07-29 2006-02-09 Samsung Electronics Co Ltd セルフリフレッシュ周期制御回路
JP2011154744A (ja) * 2010-01-26 2011-08-11 Sony Corp 記憶装置
JP2012185764A (ja) * 2011-03-08 2012-09-27 Nec Corp メモリアクセス処理システム、制御方法、及びプログラム
WO2013048518A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016212745A (ja) * 2015-05-12 2016-12-15 株式会社東芝 半導体装置
JP2018081488A (ja) * 2016-11-16 2018-05-24 キヤノン株式会社 画像処理装置およびその制御方法
JP2018097903A (ja) * 2016-12-09 2018-06-21 富士通株式会社 半導体装置及び半導体装置の制御方法
JP7425170B1 (ja) 2022-12-09 2024-01-30 Necプラットフォームズ株式会社 メモリリフレッシュ制御装置、メモリリフレッシュ制御方法、及び、メモリリフレッシュ制御プログラム

Also Published As

Publication number Publication date
US20160259721A1 (en) 2016-09-08
EP2972915A1 (en) 2016-01-20
CN105122226B (zh) 2018-02-02
EP3588501B1 (en) 2021-05-05
KR20150132460A (ko) 2015-11-25
KR101786572B1 (ko) 2017-10-18
US10713156B2 (en) 2020-07-14
TW201506778A (zh) 2015-02-16
US20140304444A1 (en) 2014-10-09
EP2972915B1 (en) 2019-09-04
EP3862844A1 (en) 2021-08-11
CN105122226A (zh) 2015-12-02
TWI594183B (zh) 2017-08-01
US20140281311A1 (en) 2014-09-18
US9342443B2 (en) 2016-05-17
JP6097444B2 (ja) 2017-03-15
EP2972915A4 (en) 2016-09-07
US20200293438A1 (en) 2020-09-17
WO2014149860A1 (en) 2014-09-25
US20190121723A1 (en) 2019-04-25
US11119908B2 (en) 2021-09-14
US10089221B2 (en) 2018-10-02
EP3588501A1 (en) 2020-01-01
US9767012B2 (en) 2017-09-19

Similar Documents

Publication Publication Date Title
JP6097444B2 (ja) メモリシステムの温度情報に基づくメモリシステム管理のためのシステム及び方法
US11966581B2 (en) Data management scheme in virtualized hyperscale environments
US11036397B2 (en) Unified addressing and hierarchical heterogeneous storage and memory
US20180322039A1 (en) Apparatuses and methods for adaptive control of memory
US10282292B2 (en) Cluster-based migration in a multi-level memory hierarchy
US20210200667A1 (en) Memory thin provisioning using memory pools
US10503655B2 (en) Data block sizing for channels in a multi-channel high-bandwidth memory
US7793051B1 (en) Global shared memory subsystem
WO2020024113A1 (zh) 一种内存交织方法及装置
JP2021536643A (ja) ハイブリッドメモリシステムインタフェース
US20230315293A1 (en) Data management scheme in virtualized hyperscale environments
WO2024088150A1 (zh) 基于开放通道固态盘的数据存储方法、装置、设备、介质及产品

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161011

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170217

R150 Certificate of patent or registration of utility model

Ref document number: 6097444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250