(57)【要約】メモリ領域の温度データに基づいてメモリ領域を処理にマッピングする方法が開示される。ある実施形態では、メモリコントローラはメモリ割当て要求を受信し得る。メモリ割当て要求は論理メモリアドレスを含み得る。方法は、論理メモリアドレスを、メモリシステムのメモリ領域についての温度データに基づいてメモリシステムのメモリ領域におけるアドレスにマッピングすることを更に含み得る。追加の方法及びシステムも開示される。【選択図】図１
2016510930.tif 000002
【特許請求の範囲】
【請求項１】
メモリコントローラによって実行される、第１の論理メモリアドレスをメモリシステムにおけるアドレスにマッピングする方法であって、
前記第１の論理メモリアドレスを含むメモリ割当て要求を受信すること、及び
前記第１の論理メモリアドレスを、前記メモリシステムのメモリ領域についての温度データに基づいて前記メモリシステムの第１のメモリ領域における前記アドレスにマッピングすること
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記温度データをテーブルに記憶すること
を更に含み、前記第１のメモリ領域が、前記メモリシステムの前記メモリ領域のうち最低温度を有する、前記方法。
【請求項３】
請求項２に記載の方法であって、
前記メモリ領域の各々についての温度データのデフォルト値を記憶することであって、該デフォルト値が前記メモリ領域の各々の特性に基づく、前記記憶すること
を更に含む前記方法。
【請求項４】
請求項３に記載の方法であって、
前記メモリ領域の動作中の検知温度に基づいて前記テーブルにおける温度データを更新すること、及び
更新された前記温度データに基づいて前記第１の論理メモリアドレスを第２のメモリ領域におけるアドレスに再マッピングすること
を更に含む前記方法。
【請求項５】
請求項４に記載の方法において、前記再マッピングすることが、前記第１のメモリ領域から前記第２のメモリ領域にデータを複製することを含む、前記方法。
【請求項６】
請求項１に記載の方法であって、
前記第１の論理メモリアドレスをマッピングすることに続いて第２の論理メモリアドレスを第２のメモリ領域にマッピングすることであって、該第２のメモリ領域が前記第１のメモリ領域よりも高い温度を有する、前記マッピングすること
を更に含む前記方法。
【請求項７】
請求項１に記載の方法であって、
前記第１の論理メモリアドレスに対応する物理データを前記メモリシステムの２以上のメモリ領域にマッピングすること、及び
前記２以上のメモリ領域の各々における物理データにアクセスすること
を更に含む前記方法。
【請求項８】
ホストプロセッサによって実行される、メモリシステムにおけるメモリを前記ホストプロセッサ上で実行される処理に割り当てる方法であって、
前記メモリシステムの領域の温度についてテーブルを照会すること、
前記メモリシステムの領域についての順序付けされたリストを前記温度に基づいて作成すること、及び
前記順序付けされたリストにおける前記領域の位置に基づいて領域への割当てを要求すること
を備える方法。
【請求項９】
請求項８に記載の方法において、前記要求することが更に前記処理の特性に基づく、前記方法。
【請求項１０】
請求項８に記載の方法であって、
前記領域の前記温度が変化したことの表示を受信すること、及び
前記順序付けされたリストを、更新された前記温度に基づいて再順序付けすること
を更に含む前記方法。
【請求項１１】
請求項１０に記載の方法であって、
第１のメモリ領域から第２のメモリ領域への割当てに対応する論理アドレスを、更新された温度情報の受信に基づいて再マッピングすることであって、前記第１のメモリ領域から前記第２のメモリ領域にデータを複製することを含む前記再マッピングすること
を更に含む前記方法。
【請求項１２】
請求項１０に記載の方法であって、
前記処理を、更新された温度情報の受信に基づいて前記ホストプロセッサの第１の処理部から前記ホストプロセッサの第２の処理部に再マッピングすること
を更に含む前記方法。
【請求項１３】
請求項８に記載の方法において、前記順序付けされたリストが、前記メモリシステムの前記領域の物理位置に基づいて更に順序付けされる、前記方法。
【請求項１４】
コンピュータ可読媒体であって、機械で実行されるときに、
メモリシステムの利用可能領域のリストを保持することであって、該リストが前記利用可能領域の温度に基づく順序となっている、前記保持すること、及び
前記リスト内の第１の利用可能領域における第１のアドレスの、前記機械上で稼働している処理への割当てを、前記リスト内の前記第１の利用可能領域の順序に基づいて、更に前記処理の特性に基づいて、要求すること
を前記機械に実行させるインストラクションを備えるコンピュータ可読媒体。
【請求項１５】
請求項１４に記載のコンピュータ可読媒体であって、前記機械で実行されるときに、
更新された温度データを受信すること、
前記更新された温度データに基づいて前記リストを再順序付けすること、及び
マッピングされる第２の処理を、前記再順序付けされたリストに基づいて第２の利用可能領域における第２のアドレスに割り当てること
を前記機械に実行させるインストラクションを更に備える前記コンピュータ可読媒体。
【請求項１６】
請求項１４に記載のコンピュータ可読媒体において、前記温度が、対応する前記利用可能領域の予測温度に基づくデフォルト温度であり、前記予測温度が、前記対応する利用可能領域の物理的特性に基づく、前記コンピュータ可読媒体。
【請求項１７】
メモリ装置であって、
複数のメモリセルの領域を含むメモリダイであって、前記複数のメモリセルの領域の２以上の各々が、メモリセルの対応する領域の温度を検知するための温度センサを含む、前記メモリダイ
を備えた装置。
【請求項１８】
請求項１７に記載の装置であって、
前記温度センサを読み取り、
前記読取りに基づく温度値を温度値のテーブルに与える
熱制御ロジック（ＴＣＬ）
を更に備えた前記装置。
【請求項１９】
請求項１８に記載の装置において、前記ＴＣＬが前記温度センサを連続的に読み取る、前記装置。
【請求項２０】
請求項１８に記載の装置において、前記ＴＣＬが前記温度センサを周期的に読み取る、前記装置。
【請求項２１】
請求項１８に記載の装置において、前記メモリシステムのステータスが第１のステータスである場合に前記ＴＣＬが前記温度センサを連続的に読み取り、前記メモリシステムの前記ステータスが前記第１のステータスとは異なる第２のステータスである場合に前記ＴＣＬが前記温度センサを連続的に読み取る、前記装置。
【請求項２２】
請求項１８に記載の装置において、前記ＴＣＬが複数の温度センサを読み取り、前記複数の温度センサの少なくとも２つが、メモリセルの異なる領域に対応している、前記装置。
【請求項２３】
請求項２２に記載の装置において、前記ＴＣＬが温度情報をホストプロセッサに送信する、前記装置。
【請求項２４】
請求項２２に記載の装置において、前記ＴＣＬが温度情報をホストプロセッサから受信する、前記装置。
【請求項２５】
請求項１７に記載の装置であって、前記メモリダイに結合されたロジックチップを更に備えた前記装置。
【請求項２６】
請求項２５に記載の装置において、前記ロジックチップが、該ロジックチップの温度を測定するための温度センサを更に含む、前記装置。
【請求項２７】
請求項２６に記載の装置において、縦型スタック状に配置された複数のメモリダイを備える前記装置。
【請求項２８】
請求項２７に記載の装置において、
前記複数のメモリダイの各々が温度センサを含み、該温度センサの各々が情報を、
前記複数のメモリダイの相互間で、及び
熱制御ロジックに
送信する、前記装置。
【請求項２９】
システムであって、
メモリダイを有するメモリシステムであって、前記メモリダイが複数のメモリセルの領域を含み、該複数の領域の少なくとも２つが温度センサを含む、前記メモリシステム、
前記メモリシステムにおけるメモリの割当てを要求するプロセッサ、
前記複数のメモリセルの領域の温度データを記憶するように構成されたメモリ、及び
前記プロセッサからの割当て要求に基づいて論理アドレスを前記メモリシステムの物理アドレスにマッピングするメモリコントローラ
を備えたシステム。
【請求項３０】
請求項２９に記載のシステムにおいて、前記メモリシステムがロジックダイを更に備え、前記メモリシステムが積層状に配置された複数のメモリダイを含む、前記システム。
【請求項３１】
請求項３０に記載のシステムにおいて、前記ロジックダイが、前記メモリシステムの領域のリフレッシュレートを前記領域の温度に基づいて調整するための熱制御ロジックを更に含む、前記システム。
【請求項３２】
請求項２９に記載のシステムにおいて、前記メモリダイが、前記メモリダイの領域のリフレッシュレートを前記領域の温度に基づいて調整するための熱制御ロジックを更に含む、前記システム。
【請求項３３】
請求項２９に記載のシステムであって、
前記プロセッサと前記メモリコントローラとの間の論理アドレス変換を提供する変換ルックアサイドバッファ（ＴＬＢ）
を更に備えた前記システム。
【請求項３４】
メモリシステムを動作させる方法であって、
前記メモリシステムの複数の領域の温度値を温度センサから周期的に読み取ること、及び
前記温度に基づいて前記メモリシステムの前記複数の領域の各々についてのリフレッシュレートを設定すること
を備える方法。
【請求項３５】
請求項３４に記載の方法であって、
前記温度値に基づいて読取りの時間間隔を調整すること
を更に含む前記方法。
【請求項３６】
請求項３５に記載の方法であって、
温度の大きな変化の読取りに応じて読取りの前記時間間隔を減少させること
を更に含む前記方法。
【請求項３７】
請求項３５に記載の方法であって、
多数の読取りにわたって前記温度が変化しない場合に読取りの前記時間間隔を増加させること
を更に含む前記方法。
【請求項３８】
請求項３５に記載の方法であって、
第１のメモリ領域から第２のメモリ領域に、及び該第２のメモリ領域から該第１のメモリ領域に読取り値を送信すること
を更に含む前記方法。
【請求項３９】
請求項３８に記載の方法であって、
前記送信された読取り値に基づいて割当て及び退避決定を実行すること
を更に含む前記方法。
【請求項４０】
メモリシステムのためのメモリコントローラであって、前記メモリシステムが、メモリセルの領域を有するメモリダイを含み、前記メモリコントローラが、
前記メモリセルの領域の温度を記憶するように構成されたメモリ、及び
記憶された前記温度に基づいて、割当て要求においてプロセッサから受信された論理メモリアドレスを領域のアドレスにマッピングするロジック
を備えたメモリコントローラ。
【請求項４１】
メモリトランザクションの調整方法であって、
物理メモリ領域内の位置にアクセスするメモリトランザクションのための要求を受信すること、
前記要求の優先レベルを取得すること、及び
前記メモリトランザクションのための帯域幅を、前記要求の前記優先レベルに基づいて、及び前記物理メモリ領域の温度に基づいて予約すること
を備える方法。
【請求項４２】
請求項４１に記載の方法であって、
前記物理メモリ領域が第１の温度状態にあることを特定すること、
前記特定することに基づいて、前記要求が前記位置にアクセスすることを禁止すること、及び
エラーメッセージをホストプロセッサに送信して前記禁止することを通知すること
を更に含む前記方法。
【請求項４３】
請求項４１に記載の方法において、前記メモリトランザクションが送出されるプロセッサを含むネットワークのアイデンティティに基づいて帯域幅が前記メモリトランザクションのために予約される、前記方法。
【請求項４４】
請求項４３に記載の方法において、前記プロセッサが、仮想化プロトコルに基づくネットワーク識別子を受信する、前記方法。
【請求項４５】
請求項４４に記載の方法において、前記仮想化プロトコルが、ＡＲＭ  Ａｄｖａｎｃｅｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ（ＡＸＩ）バス仮想化プロトコルである、前記方法。
【請求項４６】
メモリシステムにおいて該メモリシステムの温度情報に基づいてデータをマッピングし、またはデータを再配置する、ここに記載される動作のあらゆる組合せを備える方法。
【請求項４７】
システムであって、該システムのメモリ領域の温度情報に基づいてデータをマッピングし、またはデータを再配置する、ここに記載される構成要素のあらゆる組合せを備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１３年３月１５日出願のＵ．Ｓ．６１／７９１，６７３の優先権の利益を主張する２０１３年１０月１６日出願のＵ．Ｓ．１４／０５５，６７２の優先権の利益を主張し、それらはその全体において参照としてここに取り込まれる。
【背景技術】
【０００２】
メモリシステムは、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ、携帯電話及びデジタルカメラといった多くの電子装置で使用されている。最近のメモリチップ設計、特に３Ｄ積層構造体を用いるものは、高いデータ密度及び電力密度を示す可能性がある。チャネルにわたる負荷の区分けと同様にマルチチャネル及びサブランクメモリを用いる場合、メモリシステム内に熱的ホットスポットが発生する可能性がある。
【発明の概要】
【０００３】
したがって、エネルギー管理及びリソース共有または負荷平準化法などによって熱管理を実行してホットスポットを減少または消滅させることへの一般的な要求が存在する。また、エネルギー管理及びリソース共有または負荷平準化法のための要求ストリーム優先度付け及びトランザクション調整のメカニズムに対する一般的な要求も存在する。
【０００４】
開示の技術のいくつかの実施形態が、添付図面の各図において限定ではなく例として示される。
【図面の簡単な説明】
【０００５】
【図１】図１は、種々の実施形態によるシステムの図である。
【図２】図２は、種々の実施形態によるハイブリッドチップ積層体の図である。
【図３】図３は、種々の実施形態による、リフレッシュレートを設定する方法を示すフロー図である。
【図４】図４は、種々の実施形態による論理システム構造の図である。
【図５】図５は、種々の実施形態によるメモリ調整方法を示すフロー図である。
【図６】図６は、種々の実施形態による静的及び動的温度情報共有の一実施例である。
【図７Ａ】図７Ａ−７Ｂは、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの実施例である。
【図７Ｂ】図７Ａ−図７Ｂは、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの実施例である。
【図８】図８は、種々の実施形態による協働的なホストメモリのデータアクティビティマッピングの一実施例である。
【図９Ａ】図９Ａ−９Ｂは、種々の実施形態による、静的及び動的温度データを用いるホストまたはメモリコントローラによって開始されるデータ割当ての図である。
【図９Ｂ】図９Ａ−図９Ｂは、種々の実施形態による、静的及び動的温度データを用いるホストまたはメモリコントローラによって開始されるデータ割当ての図である。
【図１０】図１０は、種々の実施形態による、メモリをマッピングする方法を示すフロー図である。
【図１１】図１１は、種々の実施形態による、メモリを割り当てる方法を示すフロー図である。
【発明を実施するための形態】
【０００６】
図１は、例示の実施形態を実施可能なシステム１００を示す図である。システム１００は、メモリコントローラ１２０に第１のバス１２１を介して結合されるプロセッサ１１０を含み得る。メモリコントローラ１２０は、メモリシステム１２５に第２のバス１２２を介して結合され得る。メモリコントローラ１２０は、プロセッサ１１０からのメモリトランザクション要求を実行することができる。メモリコントローラ１２０は、プロセッサ１１０とメモリシステム１２５の間で第１及び第２のバス１２１及び１２２を介してデータを転送できる。第１のバス１２１及び第２のバス１２２は、既知のプロトコルを採用できプロセッサ１１０をメモリコントローラ１２０に接続し、メモリコントローラ１２０をメモリシステム１３０に接続する。システム１００の実施例は、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルカメラ、電子ゲーム、デジタルメディアプレーヤ／レコーダなどを含み得る。
【０００７】
メモリシステム１３０は、各々が１以上の物理チャネル（不図示）で構成された１以上の物理装置（不図示）を備えることができ、１以上の物理チャネルは、メモリコントローラ１２０のマップＲＡＭ１４０に記憶された、以降において例えば「テーブル」といわれるデータ構造体に従って領域にマッピングされる。領域は、チャネル、バンク、ヴォールト、グループ、またはメモリシステムにおける他の何らかのグルーピングであればよい。マップＲＡＭ１４０は、図２に関して以下に説明するように、メモリセルの領域の温度を記憶できる。メモリコントローラ１２０は、メモリ割当て要求においてプロセッサ１１０から受信された論理メモリアドレスを、マップＲＡＭ１４０に記憶された温度に基づいて、領域のブロックアドレスにマッピングするロジックを含み得る。メモリシステム１３０は、積層メモリダイで構成されたハイブリッドメモリキューブ（ＨＭＣ）システムを含み得る。ただし、例示の実施形態はこれに限定されない。
【０００８】
インストラクション１４５は、プロセッサ１１０上でオペレーティングシステム（ＯＳ）及び１以上のアプリケーションを実行できる。ＯＳは、１以上のアプリケーションに代わってメモリシステム１３０におけるメモリを要求することができる。メモリコントローラ１２０は、アプリケーションをメモリシステム１３０における物理位置にマッピングできる。
【０００９】
現行のアドレスマッピング及びメモリ構成システムは、性能または電力要件の観点で設計されることができる。これらまたは他のシステムは、メモリシステム１３０がホストプロセッサ１１０のデータ割当ての選択に影響を与えることができ、ホストプロセッサ１１０に熱的な緊急事態などの事象を通知したりでき、または熱的に接続された他の要素に熱的プロファイルを提供したりするメカニズムを与えることができない。
【００１０】
ダイ上センサ及び熱モデル
ある実施形態では、プロセッサ１１０またはメモリコントローラ１２０は、ダイ上温度センサ及び熱モデルを用いて、どのようにデータがマッピング及び再配置されるかを指示することができる。ある例示の実施形態では、プロセッサ１１０またはメモリコントローラ１２０は、ダイ上温度センサ及び熱モデルを用いて、領域にわたるメモリセルのリフレッシュをそれらの温度に基づいて個々に調整することができる。
【００１１】
図２は、種々の実施形態によるメモリシステム２００の図である。メモリシステム２００は、メモリシステム１３０（図１）の機能を担うことができる。メモリシステム２００は、メモリダイ２１０及び２２０を備え得る。２段のメモリダイが図示されているが、メモリシステム２００は２段よりも少ない、または２段よりも多いメモリダイを含み得る。メモリダイ２１０及び２２０は、メモリセルの２以上の領域を含み得る。メモリセルの複数の領域の２以上が、メモリセルの対応する領域の温度を検知するための温度センサ（ＴＳ）を各々含み得る。
【００１２】
メモリシステム２００は、独立したロジックダイ及びメモリダイ、シリコンインタポーザを介して積層されたダイ若しくは直接積層されたダイ（「３Ｄ積層」）、またはロジックダイ及びストレージダイの他の何らかの構成を含み得る。例示の実施形態では、温度センサ（ＴＳ）は、ロジックダイ２３０、１以上のメモリダイ、またはロジックダイ２３０並びにメモリダイ２１０及び２２０の双方に含まれ得る。複数のメモリダイの各々は少なくとも１つのＴＳを含み得る。複数のメモリダイの各々は、メモリダイの各領域内に位置する１つのＴＳを含み得る。ＴＳの各々は、複数のメモリダイの相互間で情報を伝送し、ＴＳの各々は熱制御ロジック（ＴＣＬ）に情報を送信し得る。ＴＳの個数は、ダイのサイズ、熱勾配、及び温度検知に必要な解像度に基づいて決定されればよい。より高い解像度が求められる場合には、より多くのＴＳが用いられる。より低い解像度で充分な場合には、より少ないＴＳが用いられ得る。
【００１３】
熱制御ロジック（ＴＣＬ）は、ファームウェアまたはハードウェアにおいて展開される。ＴＣＬは、温度センサの状態を読み取り、その領域の温度に基づいて各領域のリフレッシュレートを調整するのに使用され得る。ＴＣＬは、複数の温度センサを読み取り、メモリセルの異なる領域に対応する複数の温度センサの少なくとも２つを読み取ることができる。異なる装置の組合せに対応するために、ＴＳは、外部インターフェイスを介して外部ロジックによって読み取られてもよい。各種のメモリまたはストレージは、個別のＴＣＬまたは他の制御ロジックによって個別に管理されることができる。
【００１４】
ある実施形態では、ＴＣＬは、ホストプロセッサ１１０（図１）上で稼働するホストオペレーティングシステムに温度情報を送信することによってホットスポットを示すことができる。ＴＣＬは更に、メモリコントローラ１２０がホットスポットにマッピングすることを回避するように、ホットスポットをメモリコントローラ１２０のマッピングロジックに示すことができる。ＴＣＬは更に、ホストプロセッサ１１０またはメモリコントローラ１２０の一方または両方から温度情報を受信することができる。
【００１５】
ロジックレイヤがメモリダイに緊密には結合されていないようなメモリシステム１３０では、ＴＣＬブロックは、メモリダイ２１０または２２０の１以上に存在していてもよい。少なくともこれらの実施形態では、メモリコントローラ１２０または他のブロックがＴＣＬからデータを読み取り、または必要な変化をＴＣＬがプロセッサ１１０に送信できる。この送信は、割込み信号、または簡単なシリアルインターフェイスなど、必要な情報の遷移を可能とするようにメモリシステム１３０に付加された特別なＩＯを用いて、メモリにおけるレジスタを読み取る標準プロトコルを用いて実現される。ＴＣＬは、メモリシステム１３０の個別のロジックまたはメモリダイを含む任意の場所に存在することができる。
【００１６】
熱制御ロジックの動作
ＴＣＬはＴＳを連続的にモニタし、またはＴＣＬはＴＳの状態を周期的にサンプリングする。例えば、ＴＣＬは、ＴＳの状態を数マイクロ秒（μｓ）毎にサンプリングすることができる。例示の実施形態は、２以上または多数のＴＳサンプリングアルゴリズムを提供することができる。例えば、メモリシステム１３０が比較的低温である場合、温度センサを周期的に、例えば、１秒あたり８回だけサンプリングすることによって節電することができる。温度センサが高温の評価を示す場合、そのセンサをより頻繁にサンプリングするようにアルゴリズムが更新されればよい。サンプリングレートは、装置１３０がどれだけ速く温度を変化させ得るかによって決定されてもよい。常に速く変化し得る装置及びシステムはより速いサンプリングを必要とする一方、より遅く温度が変化する装置及びシステムはより遅くサンプリングされればよい。
【００１７】
ＴＣＬロジックは各ＴＳの状態を追跡できる。状態は、それぞれの例示の実施形態において、設計毎に、及びシステム毎に変わり得る。
【００１８】
リフレッシュ
例示の実施形態は、メモリセルのリフレッシュレートを温度に基づいて制御できる。例示の実施形態では、メモリシステム１３０全体が、リフレッシュレートの制御に関して同じには扱われない。これに対して、各領域は、装置における任意の所与の位置での最悪の場合の温度ではなく、当該領域の温度に基づいて個々にリフレッシュされ得る。
【００１９】
表１は、リフレッシュを制御するのに温度勾配分類がどのように用いられるのかについての一実施例である。
【表１】
2016510930.tif 000003
【００２０】
表１から分かるように、リフレッシュレートは、局所温度センサから取得されるサンプルに基づいて、メモリの各チャネルまたは領域について独立して変化し得る。表１の例示では、「やや高温」及び「高温１ｘ」は同じリフレッシュレートを受け、レートは装置仕様において指定される。装置が「低温」領域にあることをサンプルが示す場合、低温では装置の保持率が高いので、装置またはチャネルは、通常のリフレッシュ命令の１／８しか受けない。温度が「高温２ｘ」領域にあることをＴＳからのサンプルが特定する場合、装置すなわちチャネルは、指定の２倍の速さでリフレッシュされる。温度が上昇するにつれて保持率が熱によって悪化するため、ＤＲＡＭはより多くのリフレッシュサイクルを必要とすることになる。それでもなお、表１は一実施例であり、リフレッシュレートの変化は、メモリのタイプ及びシステムの実装に依存できる。
【００２１】
図３は、種々の実施形態による、リフレッシュレートを設定する方法３００を示すフロー図である。
【００２２】
工程３１０において、熱制御ロジック（ＴＣＬ）（図２）は、温度センサからメモリシステム１３０の複数の領域の温度値を周期的に読み取りできる。
【００２３】
工程３２０において、熱制御ロジック（ＴＣＬ）は、メモリシステムの複数の領域の各々についてのリフレッシュレートを温度に基づいて設定できる。ＴＣＬは、温度値に基づいて読取りの時間間隔を調整できる。ＴＣＬは、温度の大きな変化を読み取ると、読取りの時間間隔を減少させ、多数の読取りにわたって温度が変化しない場合、読取りの時間間隔を増加させることができる。ＴＣＬは、第１のメモリ領域から第２のメモリ領域に、及び第２のメモリ領域から第１のメモリ領域に読取り値を送信できる。ＴＣＬは、送信された読取り値に基づいて割当て及び退避の決定を実行するのを補助できる。
【００２４】
熱調整されたアドレスマッピング
例示の実施形態は、性能若しくは電力使用を改善し、またはシステムの他の制約を満足するように、データをメモリに物理的に配置する方法を提供できる。例示の実施形態に関して述べるメカニズムは、アドレスデコーダレベル（例えば、ハードウェア）マッピングの変化を、ホストオペレーティングシステム（例えば、ソフトウェア）メモリ割当てポリシーと同様に含む。
【００２５】
例示の実施形態では、システムの「静的」熱的ホットスポットが、システムの実際の使用の前に特徴付けられ得る。ホットスポットは、高いスループット演算の領域、インターフェイス、または大量の電流を引き出すアナログブロック周辺に位置し得る。これらのホットスポットは、システムにおいてどのアプリケーションまたは機能が実行されているのかに応じて、常に「高温」であるわけではなく、装置が実行しようとしている機能に基づいて発熱することが把握されている領域である。これらのホットスポットは、一般に、隣接ダイに熱を伝達する。本実施例では、他方のダイがＤＲＡＭであるものとして検討されているが、他の任意のメモリまたはロジックタイプであってもよい。
【００２６】
ソフトウェア及びファームウェア設計者によっては、メモリマップにおいて穴または不連続性を有することなく特定のアプリケーションについて大きな領域を後に小分けできるように、ブロックに配置される類似メモリの領域が大きいことを好む可能性がある。仮想メモリ対応のプロセッサ１１０は、要求されたメモリ位置とその物理アドレスとの間に、あるレベルの間接指定を導入し得る。一方で、対象物理アドレスは、熱的または他の物理的に不均一な領域に関することなく、メモリチャネル、ランク、バンク、行及び列制御信号に再マッピングされる。メモリコントローラ１２０は、より高い性能または電力特性を実現するように、通常は物理アドレスマッピングに対するロジックをスクランブルする。例示の実施形態は、熱的マップの知識をマッピング処理に付加し得る。
【００２７】
例示の実施形態では、メモリコントローラ１２０に実装されたハードウェアは、ホットスポットがマップの既知の領域内となるように、予め特徴付けられたランタイム（動的）温度データを利用して物理位置を再マッピングできる。例示の実施形態では、この既知の高温領域が、最後まで割り当てられないメモリとなり、したがって、より低温なマップを持つ利用可能なメモリがある場合、それらの領域が最初に用いられることになる。例示の実施形態によって高温領域がマッピングされると、その高温領域は、最も稀にしかアクセスされない論理アドレスとして割り当てられ得る。更に、ランタイム条件（ソフトウェア稼働率またはハードウェア）が変化するのに従って、例示の実施形態のモニタ及び再マッピングする機能は、データを当初割り当てられたものとは異なる領域に退避させる。
【００２８】
例示の実施形態のマッピング手段は、ハードウェアまたはソフトウェアで実行されることができる。ソフトウェア手段について、ホストプロセッサ１１０上（図１）で稼働するオペレーティングシステムは、選択可能な物理フリーページのリストを保持して、新たに割り当てられたデータを保持し得る。強化されたオペレーティングシステムは、最低温度から最高温度の順でフリーページリストを連続的に更新することができる。更新は、ハードウェアに補助されるものであってもよく、それによってメモリコントローラ１２０または他のハードウェアは、それ自身の予約記憶領域（例えば、ＳＲＡＭ、フラッシュ、ＰＣＭまたは予約ＤＲＡＭ領域）、例えばマップＲＡＭ１４０（図１）に、高温／低温フリーリストを保持する。アドレスマップは、メモリ管理システム、例えば、領域温度についてのリアルタイムのフィードバックに基づいて割当て決定（及び周期的に再マッピング決定）を行うメモリ管理コードを介して、仮想化システムにおいて操作されることができる。
【００２９】
ハードウェア手段について、例示の実施形態は、中間アドレスマップ（ＩＡＭ）を用いることができる。ＩＡＭは、メモリコントローラ１２０に入る物理アドレスと、実際に使用される主メモリ（例えば、ＤＲＡＭ）アドレスとの間に他のレベルの間接指定を与えることができる。
【００３０】
あるメモリシステム、例えば、ハイブリッド積層メモリは、積層されたコントローラダイ（例えば、Ｉ／Ｏインターフェイスまたはチャネルコントローラ）において高温の構成部品を有し得る。高温の構成部品があるため、例示の実施形態による動的アドレスマッピングを適用することは、ランタイムにおける全ての物理Ｉ／Ｏリンクにわたってトランザクションのバランスを採り、ホットスポットを除去することになる。
【００３１】
図４は、種々の実施形態による物理的なダイナミックランダムアクセスメモリ（ＤＲＡＭ）フロアプランの図である。図４は、物理アドレス空間がどのようにして均一な領域の物理配置に関する大きな「均一領域」に小分けされるのかを示す。このアドレス変換は、静的なランタイム温度情報によって強化されたメモリコントローラ１２０（図１）内で行われ得る。同じ技術が、異なる呼出し時間及び帯域幅の領域といった不均一なメモリ領域間のマッピングのために使用されることができる。例示の実施形態によるあるシステムでは、メモリダイは異なる呼出し時間で動作するアドレスのバンクを含むので、例示の実施形態による温度情報は、最もよく使用されるデータを割り当てるための永久に「低温な」領域としてホストプロセッサ１１０に示される。
【００３２】
図４に示すように、ホストプロセッサ１１０は、仮想アドレスを変換ルックアサイドバッファ（ＴＬＢ）に供給できる。ＴＬＢは、ホストプロセッサ１１０上で稼働する処理のアドレスである仮想アドレスと、メモリシステムにおける自然物理位置である物理アドレスとの間のマッピングを記憶できる。ホストプロセッサ１１０の処理がメモリシステム１３０内のメモリにアクセスする毎に、ホストプロセッサ１１０は、ＴＬＢによって物理アドレスに変換される仮想アドレスを供給する。物理アドレスはＴＬＢによってメモリコントローラ１２０に供給される可能性があり、メモリコントローラ１２０は、更なるレベルの再マッピングを行って物理アドレスをメモリシステム１３０内部の構造体、例えば、メモリシステム行、列、バンク、チャネルなどにマッピングし得る。
【００３３】
図４は、メモリコントローラ１２０がＴＬＢからの物理アドレスをメモリシステム１３０内の位置にマッピングする場合にメモリコントローラ１２０によって実施され得る２つのマッピング手法を示す。図４に示す実施例では、単一ランク及びダブルランク領域デプスマッピングモードのための粗い粒度の物理領域マッピングが、いくつかの実施形態に従って実施され得る。
【００３４】
メモリシステム１３０の温度領域の最上行において実施される第１のマッピング手法では、メモリ位置は、メモリ内で相互に物理的に隣接するようにマッピングされる。最初のセットのアドレスは領域Ｍｅｍ［０］にマッピングされ、次のセットの物理アドレスは領域Ｍｅｍ［１］にマッピングされ、同様にＭｅｍ［Ｎ／４−１］までマッピングされる。領域Ｍｅｍ［Ｎ／４−１］が使用された後、第１のマッピング手法に従って、隣接する温度領域における領域Ｍｅｍ［Ｎ／４］が次のセットの物理アドレスにマッピングされる。
【００３５】
メモリシステム１３０の温度領域の最下行において実施される第２のメモリマッピング手法では、物理アドレスは、まず領域Ｍｅｍ［Ｎ／２］に、そしてメモリ領域Ｍｅｍ［Ｎ／２＋１］に、そしてＭｅｍ［Ｎ／２＋２］に戻り、その後、左側温度領域のメモリ領域と右側温度領域のメモリ領域との間で交互にマッピングされる。第２のメモリマッピング手法は性能上の利点を有し得るが、データ退避がより難しくなり得るので、データ退避の必要性が例示の実施形態において好適に最小化される。
【００３６】
データ退避の必要性は、図６−９に関して以下に述べるように、２つの温度領域が同様の温度、面積及び熱容量を有する場合に最小化されることができる。
【００３７】
メモリコントローラ１２０は第１及び第２のマッピング手法をともに実施することができ、またはメモリコントローラ１２０は第１のマッピング手法及び第２のマッピング手法の一方または他方を実施することができる。
【００３８】
トランザクション調整メカニズム
ある実施形態では、メモリコントローラ１２０がデータ再マッピングを実行しつつ、プロセッサ１１０またはメモリコントローラ１２０がメモリ要求調整メカニズムを用いてメモリ使用率を絞り、熱的ホットスポットを一時的に除去できる。これら及び他の実施形態は、急激な熱的事象がデータ退避のための充分な時間を残さない場合、すなわち熱的事象がデータ退避及び再マッピングの実施のためには短すぎる場合に、メモリ故障または劣化の発生を抑制または排除できる。ある実施形態は、メモリコントローラ１２０は、所定のチャネル、バンク、またはメモリの領域へのデータアクセスをオフ（すなわち、無効化）できる。メモリコントローラ１２０は、データをそれらのメモリセルから他のメモリセルに退避させて、それらのメモリセルをリフレッシュする必要性をなくし、それらのメモリセルを含む領域における電力消費を最小化または低減できる。
【００３９】
ある実施形態では、メモリコントローラ１２０は、トランザクション調整を実行できる。現行のシステムでは、要求優先度付けによって、異なるソースからのより多くのメモリトランザクション要求が可能となり得る。ある実施形態におけるトランザクション調整は、対象とされているロジックまたはメモリにおける切換アクティビティを減少させることによってメモリ及びロジックの熱的ホットスポットが制御または移動されることを可能とする。例えば、ある実施形態では、３Ｄ積層メモリコントローラ及びＭｉｃｒｏｎ  ＨＭＣなどのＤＲＡＭダイの高温領域への要求が低減される。更なる実施例として、ホットコアのアクティビティが、その要求帯域幅を制限することによって、３Ｄ積層演算及びＤＲＡＭダイにおいて間接的に調整される。この間接的な調整は、コアの直上のメモリ構成部品の温度を低下させ、構成部品が頻繁にはリフレッシュされないようにする。ある実施形態では、調整されているメモリアドレスが、ＤＲＡＭダイ内の完全に異なる物理位置にあってもよい。
【００４０】
調整は、メモリ装置内で異なる粒度で実行されてもよい。調整は、増加する複雑さの順序で、メモリ装置におけるチャネル若しくはヴォールトレベル、ランクレベル、バンクレベル、サブバンクレベルまたは行若しくは列レベルで行われることができる。
【００４１】
ある実施形態では、メモリコントローラ１２０が調整を実行できる。ある実施形態では、（対象メモリ１３０（図１）がバックプレッシャーまたは否定要求をアサートすることを可能とする）適切な命令プロトコルがある場合に、調整は、メモリコントローラ１２０の外部で実行できる。対象メモリ１３０は、ＪＥＤＥＣなどのプロトコルによって、エラー検出メカニズムを用いて調整を実行することができる。メモリ１３０は、要求を無視したい場合には、偽のメモリエラー（例えば、ＣＲＣまたはＥＣＣエラー）を生成することができる。そして、ホストプロセッサ１１０は、後の時間に要求を再試行できる。
【００４２】
命令インターフェイスを持つ現行のダイ積層メモリシステムは、高度な要求優先機能に現在のところ対応していない。ある例示の実施形態では、ダイ上またはダイ外のメモリコントローラ１２０を含むメモリシステム１３０に対する命令プロトコルは、優先レベルを含む。優先レベルは、あるレベルの間接命令を扱い、それによりメモリ要求に関連付けられた識別子がテーブル参照を開始する（表２参照）。テーブルは特別な命令によってプログラム可能である。参照は、最大呼出し時間値とともに最小及び最大の帯域幅限度を示す。読出し及び書込みのために個別の限度が指定され得、ハード限度及びソフト（「好ましい」）限度のセットがあり得る。ハード限度は、性能臨界またはリアルタイム負荷を扱うのに使用され得る。
【表２】
2016510930.tif 000004
【００４３】
これらの限度が侵された場合、外部メッセージまたは信号がホストプロセッサ１１０に供給され得、優先ＩＤ毎のランタイム帯域幅及び呼出し時間の現在のステータスがいつでも照会され得る。以下に限定されないが、メモリコントローラ１２０がトランザクション優先特性を実施するメカニズムは、要求帯域幅及び呼出し時間を監視する優先度毎のモードカウンタを含む。上記メカニズムは、目標限度に近づけるためのノブの周期的な増分調整を含み、ノブは、各優先ＩＤに割り当てられたメモリコントローラバッファ入力数、または相対優先度を変えるための命令アービタ及び選択部におけるカウンタを含む。上記メカニズムは、それらの限度に近い優先ＩＤグループのノブを調整しつつそれらの限度内で優先ＩＤグループを無視することを含む。そして、上記メカニズムは、ホストプロセッサ１１０のスレッド、専用マイクロコントローラまたはカスタムロジックを用いたメモリコントローラ１２０設定のランタイム調整を含む。
【００４４】
「高温」領域へのメモリトラフィックアクセスを調整するメモリ装置１３０に加えて、既存のバスインターフェイス標準を用いるトランザクション調整の例示の一実施形態では、メモリコントローラ１２０は、「高温」領域に対して発生するトランザクションの数を、その領域へのアクセスを制限または低速化することによって更に調整する。
【００４５】
トランザクション調整はまた、ＡＲＭ  Ａｄｖａｎｃｅｄ  Ｅｘｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ（ＡＸＩ）バス仮想化プロトコルの各バージョンで使用され得る。仮想化プロトコルは、各プロセッサ１１０またはプロセッサ１１０の組にそれ自身のネットワークＩＤを与える。したがって、システム１００におけるいくつかのプロセッサ１１０は、１または複数の同じ物理的バス及びキューを共有するが、プロセッサ１１０が属する仮想ネットワークに基づいて異なる調停結果及びスレーブ的な応答を有し続けることになる。ある実施形態では、プロセッサ１１０が仮想ネットワーク上にあり、かつ高温メモリ領域を対象としている場合、メモリコントローラ１２０は、ソフトウェアの介入を用いる必要なしに、またはサイドバンド信号をプロセッサ１１０に追加し戻すことなく、そのネットワークに関連付けられたキュー入力を減少させてリクエストレートを低下させる。このように、メモリコントローラ１２０は、より低温の領域または低温領域を対象とするトラフィックに影響を与えることなく、それらの領域をそれらの予め決定された動作点で動作させたまま、ホットスポットのみを対象とするトラフィックを絞ることができる。
【００４６】
図５は、少なくとも１つの実施形態による、メモリトランザクションを調整する方法５００のフロー図である。
【００４７】
工程５１０において、メモリコントローラ１２０（図１）が、物理メモリ領域内の位置にアクセスするメモリトランザクションのための要求を受信し得る。要求は、例えば、ホストプロセッサ１１０（図１）から受信され得る。
【００４８】
工程５２０において、メモリコントローラ１２０が、ある優先レベルの要求を取得する。メモリコントローラ１２０は、前述した表２と同様のテーブルから優先レベルを取得できる。上述したように、テーブルは特別な命令によってプログラム可能であり、最大呼出し時間値とともに最小及び最大帯域限度を示すことができる。読出し及び書込みについて個別の限度が指定され、ハード限度及びソフト（「好ましい」）限度のセットがあり得る。ハード限度は、性能臨界またはリアルタイム負荷に対応するのに使用される。
【００４９】
工程５３０において、メモリコントローラ１２０が、要求の優先レベルに基づいて、及び物理メモリ領域の温度に基づいてメモリトランザクションのための帯域幅を予約する。
【００５０】
方法５００は、物理メモリ領域が第１の温度状態にあることを特定すること、その特定に基づいて、要求がその位置にアクセスすることを禁止すること、及びエラーメッセージをホストプロセッサ１１０に送信して上記禁止を通知することを更に含む。上述したように、調整は、ＡＲＭ  ＡＸＩバス仮想化プロトコルなどの現行のバスインターフェイス標準を用いて実施され得る。
【００５１】
ある実施形態では、ホストプロセッサ１１０は、外部（３Ｄ積層またはその他）装置、例えばメモリシステム１３０（図１）の熱的物理特性を取得し得る。ホストプロセッサ１１０は、メモリコントローラ１２０またはメモリコントローラのマップＲＡＭ１４０から温度情報を取得する。温度情報は、グラフ、例えば材料領域のデータ構造を、空間におけるその領域の位置並びにその領域の熱容量及び抵抗（ＲＣ）特性とともに含む。温度情報はまた、例えば、温度情報を収集及び分配するための個別のソフトウェアアプリケーションによって、より高いレベルで指定される。例えば、装置の静的な熱特性は、ハードウェアテーブルではなくソフトウェアから読み込まれる。
【００５２】
ある実施形態では、メモリコントローラ１２０は、暗号化を介して、または特権化されたメモリ要求の必要性を通じて、アドレスの予約領域からの読取りを通じて、若しくは個別のデータチャネル（例えば、簡単なシリアルインターフェイス）を介した読取りを通じて、温度情報を保護する。
【００５３】
ある実施形態では、ホストプロセッサ１１０は、メモリコントローラ１２０によってホストプロセッサ１１０に伝送される温度情報を用いて、優先度順でメモリページを割り当てる（及び温度が変化するにつれて再度割り当てる）ことができる。ホストプロセッサ１１０は、少なくとも２つの選択肢の一方に従って優先度順を実行する。第１の選択肢では、最も頻繁にアクセスされるページが最冷領域に割り当てられ得る。少なくともこれらの実施形態では、熱はＩ／Ｏ、検知アンプ及び他のアクセスロジックから、より熱的余裕のある領域に拡散され得る。
【００５４】
第２の選択肢では、最も頻繁にアクセスされるページが最熱領域に割り当てられる。ＤＲＡＭなどの何らかの揮発メモリ内の高温領域は低温領域よりも頻繁なリフレッシュ動作を必要とするため、ホストプロセッサ１１０はこの選択肢を実施できる。メモリアクティビティをそれらの領域に押し出すことによって、ページ開閉アクティビティがリフレッシュとして作用するので、それらの領域に送られる必要があり得る明示的なリフレッシュ命令が減少する。
【００５５】
ある実施形態は、（遠隔メモリコントローラ１２０についての）熱的限度、またはホストプロセッサ１１０ダイ（または他の任意の付近にあるダイ）の熱特性若しくは動的温度測定値といった情報がホストプロセッサ１１０によってメモリシステム１３０の各部、ダイまたは領域に送られるような追加の「アップロード」メカニズムを実施できる。例えば、ホストプロセッサ１１０は設定を記憶し、または測定値がホストプロセッサ１１０のメモリに記憶され、ホストプロセッサ１１０が設定または測定値をメモリコントローラ１２０に送る。メモリコントローラ１２０は、この情報を用いてトランザクション調整またはデータ移動動作を指示することができる。送られているデータに加えて、熱制御ポリシー、調整ポリシー若しくは他のメモリコントローラ１２０の挙動を実施するためのマイクロコードまたは他の実行可能なインストラクションがメモリシステム１３０に送られる。
【００５６】
ある実施形態では、ホストプロセッサ１１０、メモリコントローラ１２０及びメモリシステム１３０は、電力増加中または周期的共有中に温度データを共有できる。少なくともこれらの実施形態では、付近のダイ同士が、それらの静的熱特性及び動的温度センサデータを相互に伝達できる。この共有は、データ及びスレッド配置（割当て）並びに退避（移動）の判断を扱うことができる。共有は、単に演算ダイとメモリダイの間ではなく、システム１００における任意のタイプの構成部品間で行われ得る。
【００５７】
ある実施形態では、メモリコントローラ１２０は、オペレーティングシステムページ割当て及び退避メカニズムのためのハードウェア支援を提供する。少なくともこれらの実施形態では、外部バスリソースを用いることなく温度情報の内部転送を実行するように、メモリ内コピー命令がメモリコントローラ１２０に与えられる。マップＲＡＭ１４０（ＳＲＡＭ／ＤＲＡＭなど）は、メモリコントローラ１２０によって制御され、次に割り当てられるべき最冷ページアドレスの「フリーリスト」を提供することができる。マップＲＡＭ１４０は、例えば、熱制御ロジック（ＴＣＬ）、ホストプロセッサ１１０またはソフトウェアアプリケーションによって代替的または追加的に制御される。
【００５８】
マップＲＡＭ１４０は、１または複数のホストプロセッサ１１０によって（適切な相互排他またはロックメカニズムを介して）アドレス指定可能である。既に割り当てられたフリーリスト入力をホストプロセッサ１１０に与えることを回避するために、メモリコントローラ１２０は、ホストプロセッサ１１０によって保持されるホストページテーブル構造体へのアクセスを有していてもよい。メモリコントローラ１２０は、ホストページテーブル構造体を照会して、ホストプロセッサ１１０がページをマッピングしたかを確かめることができる。
【００５９】
例示の実施形態は、メモリシステム１３０または外部メモリコントローラ１２０がホストプロセッサ１１０または熱的に接続された装置に熱的事象を通知することを可能とする「メモリ割込み」信号またはメッセージを更に提供することができる。例えば、メモリ領域のエラーが多すぎる場合、メモリ領域のリフレッシュ頻度が高すぎる場合、またはメモリ領域が熱的ホットスポットとなった場合に、付近の装置または制御ホストプロセッサ１１０は、回避的アクション（データを再マッピングすること、周波数／電圧を調整すること、コードを他のコードに退避させることなど）を採るように通知される。
【００６０】
装置特性照会、マッピング及び退避支援メカニズム
例示の実施形態は、メモリ装置をそれらの温度について照会し、メモリ装置についての熱的限度を設定し、熱的マップ並びにステータス及び熱的緊急事態の通知を被接続制御または処理ロジックに伝達する制御ロジックのためのメカニズムを含む。メモリ装置、例えば、メモリシステム１３０は、それらの物理的熱特性を外部処理部、例えば、メモリコントローラ１２０またはホストプロセッサ１１０に伝達することができる。このようにして、プロセッサ１１０に既に実装されている熱管理メカニズムは、実際にそれに接続されたメモリ装置のタイプとは独立して、温度予測についての熱モデルを構築することができる。同様に、メモリ装置は、あるコントローラのアクションにおけるエネルギー及び電力の関与を示す静的な情報をプロセッサ１１０またはメモリコントローラ１２０に供給することができる。静的な情報は、絶対的または相対的なエネルギー、電力または電力密度のテーブルを、要求帯域幅、サイズ、ページヒット率または他の測定可能なトラフィックの特徴の関数として含むことができる。
【００６１】
図６に、いくつかの実施形態による協働的なホストメモリのデータアクティビティマッピングを示す。図６において、ホストプロセッサ６１０は、ホストプロセッサ１１０（図１）の機能を担うように動作可能である。メモリシステム６３０は、メモリシステム１３０（図１）の機能を担うことができる。メモリシステム６３０は３Ｄ積層メモリダイを含むが、例示の実施形態はこれに限られない。メモリシステム６３０は、例えばロジックダイについてのコントローラロジックレイヤを含むことができる。ロジックダイは、メモリチップの直下に積層され得る。メモリコントローラ１２０のロジックの全部または一部がロジックダイにおいて実装され得る。領域６５０及び６５５などの領域は、発熱することが予想される静的に画定された１または複数の高温領域である。領域６６０及び６６５は、温度センサ（図２）によってリアルタイムで高温であると測定される領域であり得る。その領域についての温度情報は、マップＲＡＭ１４０（図１）に記憶される。双方向の矢印６７０は、ホストプロセッサ６１０が、メモリシステム６３０から温度情報を読み取ることも、メモリシステム６３０にホストプロセッサ６１０の温度情報を供給することもできることを示す。
【００６２】
ランタイム中、ホストプロセッサ６１０はホットスポットを生成し、この情報を熱的に接続された他の装置に伝達することができる。メモリシステム６３０も同様に、ホストプロセッサ６１０に、マップＲＡＭ１４０（図１）に記憶された静的なマップ及び温度センサ（図２）によって測定された動的な温度情報を含む温度条件を通知することができる。
【００６３】
図７Ａは図６と同様のシステムを示し、ここではホストプロセッサ７１０が、メモリシステム７３０におけるホットスポット７５１と重なるホットスポット７５０を生成している。したがって、図７Ｂにおいて、ホストプロセッサ７１０またはメモリコントローラ１２０（図１）は、ホットスポット７５１がホットスポット７５０と重ならなくなるようにホットスポット７５１を移動させることができる。ホストプロセッサ７１０またはメモリコントローラ１２０は、その当初の位置からデータを複製し、ホットスポット７５１の新たにマッピングされた領域を反映するようにマップＲＡＭ１４０（図１）を更新する。
【００６４】
図８に、図６−７に関して上述したものと同様のシステムを示す。図８では、ホストプロセッサ１１０は、図７に関して上述したようなデータではなく、コードを（マルチプロセッサシステムにおいて）他のホストプロセッサ１１０に退避させる。
【００６５】
図９に、図６−８に関して上述したのと同様のシステムを示す。図９では、メモリアドレス領域９５５がホットスポット９６０から離れるように退避される。
【００６６】
図１０は、いくつかの実施形態による、メモリをマッピングする方法１０００を示すフロー図である。
【００６７】
工程１０１０において、メモリコントローラ１２０（図１）がホストプロセッサ１１０からメモリ割当て要求を受信する。メモリ割当て要求は、第１の論理メモリアドレスを含む。
【００６８】
工程１０２０において、メモリコントローラ１２０は、第１の論理メモリアドレスを、メモリシステムのメモリ領域についての温度データに基づいてメモリシステムの第１のメモリ領域におけるブロックアドレスにマッピングする。第１のメモリ領域は、メモリシステム１３０のメモリ領域のうちの最低温度を有する。温度データは、図２に関して上述した温度センサから受信される。方法１０００は、第２の論理メモリアドレスを第２のメモリ領域にマッピングすることを更に含んでいてもよい。第２のメモリ領域は、第１のメモリ領域よりも高い温度を有する。
【００６９】
方法１０００は、温度データを、例えばマップＲＡＭ１４０（図１）におけるテーブルに記憶することを更に含んでいてもよい。方法１０００は、メモリシステム１３０のメモリ領域の各々についての温度データのデフォルト値を記憶することを更に含んでいてもよい。デフォルト値は、メモリ領域の各々の特性に基づいていてもよい。方法１０００は、メモリ領域の動作中に検知温度に基づいて、マップＲＡＭ１４０におけるテーブル内の温度データを更新することを更に含んでいてもよい。方法は、更新された温度データに基づいて、第１の論理メモリアドレスを第２のメモリ領域内のブロックアドレスに再マッピングすることを更に含んでいてもよい。再マッピングは、図６に関して上述したように、第１のメモリ領域から第２のメモリ領域にデータを複製することを含んでいてもよい。
【００７０】
方法１０００は、第１の論理メモリアドレスに対応する物理データをメモリシステムの２以上のメモリ領域にわたってマッピングすること、及びその２以上のメモリ領域の各々における物理データにアクセスすることを更に含んでいてもよい。図４に関して上述したように、メモリコントローラ１２０は、図４に関して上述した第２のマッピング手法において示したように、アドレスを領域にわたってインタリーブすることができる。しかし、下側の２つの領域をインタリーブすることは、その２つの領域のいずれかが高温となる場合にデータを他の領域に退避させることに損失を伴い得る。図４の下側の２つの領域に示すタイプのインタリーブは、両領域が等しい温度となり易いことを静的な熱マップが示す場合に安全に実行される。
【００７１】
図１１は、種々の実施形態による、メモリを割り当てる方法１１００を示すフロー図である。
【００７２】
工程１１１０において、ホストプロセッサ１１０（図１）が、メモリシステム１３０の領域の温度についてテーブルを照会できる。一実施例では、テーブルは、図１−２に関して上述したようにマップＲＡＭ１４０に記憶される。
【００７３】
工程１１２０において、ホストプロセッサ１１０は、例えば、マップＲＡＭ１４０内のテーブルから取得された領域の温度に基づいて、メモリシステムの領域についての順序付けられたリストを作成できる。順序付けられたリストは、メモリシステム１３０の領域の物理位置に基づいて更に順序付けられてもよい。
【００７４】
工程１１３０において、ホストプロセッサ１１０は、順序付けられたリストにおける領域の位置に基づいて領域への割当てを要求する。例えば、ホストプロセッサ１１０は、まずリスト上の最冷領域に割り当てる。要求は、処理の特性に更に基づいていてもよい。例えば、いくつかの処理は、データ処理のためにある量の帯域幅または特定のエネルギー要件を必要としてもよい。他の例示の実施例として、いくつかの処理は、その処理に対してリフレッシュ動作がより頻繁に発生すると予想される場合に、より高温の領域に割り当てられてもよい。
【００７５】
動作１１００は、領域の温度が変化したことの表示を受信することを更に含んでいてもよい。例えば、プロセッサ１１０またはメモリコントローラ１２０は、図６−９に関して上述したような温度に関する表示を受信してもよい。プロセッサ１１０は、更新された温度に基づいて、順序付けられたリストを再順序付けしてもよい。プロセッサ１１０は、更新された温度情報の受信に基づいて、割当てに対応する論理アドレスを第１のメモリ領域から第２のメモリ領域に再マッピングする。再マッピングは、第１のメモリ領域から第２のメモリ領域にデータを複製することを含む。プロセッサ１１０は、図６−９に関して上述したように、コードまたはデータの再マッピングを実行する。
【００７６】
種々の実施形態の装置は、高速コンピュータ、通信及び信号処理回路、メモリモジュール、可搬メモリ記憶デバイス（例えば、サム（ｔｈｕｍｂ）ドライブ）、単一またはマルチプロセッサモジュール、単一または複数の組込みプロセッサ、マルチコアプロセッサ、データスイッチ、及びマルチレイヤを含むアプリケーション専用モジュール、マルチチップモジュールを含み、またはそれに含まれ得る。そのような装置は、テレビ、メモリ携帯電話、パーソナルコンピュータ（例えば、ラップトップコンピュータ、デスクトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータなど）、ワークステーション、ラジオ、ビデオプレーヤ、オーディオプレーヤ（例えば、ＭＰ３（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ，  Ａｕｄｉｏ  Ｌａｙｅｒ  ３）プレーヤ）、乗物、医療装置（例えば、心臓モニタ、血圧モニタなど）、セットトップボックス及びその他、といった様々な電子システム内の一構成部品として含まれることができる。
【００７７】
いくつかの実施形態は、ここに開示される方法または機能のいずれか１以上を具現する１以上のセットのインストラクション（例えば、ソフトウェア）が記憶された機械可読媒体を含む。インストラクションは、システム１００によるその実行中にプロセッサ１１０またはメモリコントローラ１２０（図１）内で、プロセッサ１１０またはメモリコントローラ１２０も機械可読媒体を構成する状態で、完全にまたは少なくとも部分的に常駐することができる。
【００７８】
例えば、機械可読媒体は、プロセッサ１１０で実行されるときに、プロセッサ１１０にメモリシステム１３０の利用可能領域のリストを保持させる。リストは、利用可能領域の温度に基づく順序となる。その温度は、対応する利用可能領域の予測温度に基づくデフォルトの温度であればよい。予測温度は、対応する利用可能領域の物理的特性に基づく。
【００７９】
コンピュータ可読媒体は更に、リスト内の第１の利用可能領域における第１のブロックアドレスの、プロセッサ１１０上で稼働している処理への割当てを、リスト内の第１の利用可能領域の順序に基づいて、更に処理の特性に基づいてプロセッサ１１０に要求させることができる。機械可読媒体は、プロセッサ１１０に、例えば、マップＲＡＭ１４０（図１）から、メモリコントローラ１３０から、またはメモリシステム１３０における温度センサからの更新温度データを受信させることができる。機械可読媒体は、プロセッサ１１０に、更新された温度データに基づいてリストを再順序付けさせ、再順序付けされたリストに基づいて、マッピングされる第２の処理をメモリシステム１３０の第２の利用可能領域における第２のブロックアドレスに割り当てさせることができる。
【００８０】
ここに記載される例示の実施形態は、アクティビティホットスポットの存在下でのメモリリフレッシュレートの制御を提供してもよい。例示の実施形態は、ほとんどの演算部がアイドル状態である場合にデータをホットコアから離隔移動させることによって、またはそのメモリ帯域幅を調整することによって、クロック周波数が上昇される性能増強技術のための熱的余裕を増加させてもよい。いくつかの既存システムとは対照的に、例示の実施形態に関して説明したメモリ帯域幅調整及び高温メモリ領域からのデータ再マッピングは、完全にメモリロジックの制御下にある。したがって、例示の実施形態によって、メモリのベンダが、メモリに組み込まれた独自のセンサを用いて熱的な危険を回避することが可能となる。例示の実施形態は、ハイブリッドメモリキューブ（ＨＭＣ）、またはホスト処理装置に積層されていない他のメモリのメモリコントローラ積層レイヤを用いて熱的制御を提供することができる。
【００８１】
機械可読媒体は、１以上のセットのインストラクションを記憶する単一の媒体であってもよいし、複数の媒体（例えば、中央化または分散データベース、並びに／または関連するキャッシュ及びサーバ）であってもよい。「機械可読媒体」は、機械による実行の一組のインストラクションを記憶、符号化または保持することができるあらゆる非一時的媒体を含み得る。例示として、そして限定ではなく、「機械可読媒体」は半導体メモリ、光学媒体または磁気媒体を含み得る。
【００８２】
上記説明及び図面は、当業者が実施形態を実施可能とするように実施形態を示すものである。他の実施形態は、構造的な、論理的な、電気的な、処理上の及び他の変更を取り入れることができる。図面において、同様の構成または同様の符号は、いくつかの図を通じて実質的に同様の構成を示す。いくつかの実施形態の部分及び構成は、他の実施形態のものに含まれていてもよく、またはそれらに代替されてもよい。上記説明を読み、理解すれば、多くの他の実施形態が当業者には明らかなものとなる。
【００８３】
開示の要約は、読者が直ちに技術的開示の性質を確認することを可能とする要約を要件とする３７Ｃ．Ｆ．Ｒ．§１．７２（ｂ）に準拠するように提供されている。要約は、それが特許請求の範囲を解釈または限定するのに使用されないとの理解のもとに提出される。
【図１】
2016510930.tif 000005
【図２】
2016510930.tif 000006
【図３】
2016510930.tif 000007
【図４】
2016510930.tif 000008
【図５】
2016510930.tif 000009
【図６】
2016510930.tif 000010
【図７Ａ】
2016510930.tif 000011
【図７Ｂ】
2016510930.tif 000012
【図８】
2016510930.tif 000013
【図９Ａ】
2016510930.tif 000014
【図９Ｂ】
2016510930.tif 000015
【図１０】
2016510930.tif 000016
【図１１】
2016510930.tif 000017
【手続補正書】
【提出日】平成27年11月11日(2015.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
互いに積層され、それぞれが、少なくとも２つのチャネル領域を含み、前記少なくとも２つのチャネル領域は、温度データを生成するために、各チャネル領域の温度を検知するように構成された各熱センサを備える、複数のメモリチップと、
前記各熱センサから読取られた温度データを格納するように構成された格納部と、
を備える装置。
【請求項２】
前記装置は、更に、前記各熱センサから前記温度データを読み取り、前記温度データを提供するように構成された熱制御ロジック（TCL）を含む、ことを特徴とする請求項１に記載の装置。
【請求項３】
前記格納部は、温度値の順番で、温度データが格納されるテーブルを含む、ことを特徴とする請求項１に記載の装置。
【請求項４】
前記TCLは、前記各温度センサから周期的に、前記温度データを読み取るように構成されている、ことを特徴とする請求項２に記載の装置。
【請求項５】
前記装置は、更に、ホストプロセッサを含み、前記TCLは、前記ホストプロセッサに、前記温度データに対応する熱情報を送信する、ことを特徴とする請求項２に記載の装置。
【請求項６】
前記装置は、更に、前記複数のメモリチップに結合される論理チップを含む、ことを特徴とする請求項２に記載の装置。
【請求項７】
前記論理チップは、前記論理チップの温度を測定するように構成された熱センサを含む、ことを特徴とする請求項６に記載の装置。
【請求項８】
論理アドレスを含むメモリ割り当て要求を発行するように構成されたプロセッサと、
前記プロセッサからの前記メモリ割り当て要求に基づいて、前記複数のメモリチップの物理アドレスをマッピングするように構成されたメモリコントローラと、
を備えることを特徴とする請求項１に記載の装置。
【請求項９】
前記格納部は、温度値の順番に、前記温度データが格納されるテーブルを含む、ことを特徴とする請求項８に記載の装置。
【請求項１０】
前記温度データに応答して、前記複数のメモリチップのそれぞれの前記少なくとも２つのチャネル領域のそれぞれのリフレッショレートを調整するように構成された熱制御ロジックを更に含む、ことを特徴とする請求項８に記載の装置。
【請求項１１】
前記メモリコントローラは、前記格納部に格納された前記温度データに応答して、前記複数のメモリチップの前記物理アドレスをマッピングするように構成されていることを特徴とする請求項８に記載の装置。
【請求項１２】
前記物理アドレスは、前記格納部に格納された前記温度中の最低温度を表し、前記複数のメモリチップの一つの前記少なくとも２つのチャネル領域の一つに割り当てられる、ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記装置は、更に、前記複数のメモリチップのそれぞれの、前記少なくとも２つのチャネル領域のそれぞれの温度の変化に基づいて、前記格納部に格納される前記温度データを更新するように構成された熱制御ロジックを含み、前記メモリコントローラは、前記更新された温度データに基づいて、前記複数のメモリチップの前記物理アドレスを再マッピングするように構成されている、ことを特徴とする請求項１１に記載の装置。
【請求項１４】
前記メモリコントローラは、再マッピングのとき、前記少なくとも２つのチャネル領域の一つのデータを、前記少なくとも２つのチャネル領域の他方へコピーするように構成されている、ことを特徴とする請求項１３に記載の装置。
【請求項１５】
前記メモリコントローラは、前記プロセッサから発行された前記メモリ割り当て要求に応答して、２以上のチャネル領域が、１以上のメモリチップから、並列に割り当てられるように、前記複数のメモリチップの前記物理アドレスをマッピングするように構成される、ことを特徴とする請求項１１に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
図１は、例示の実施形態を実施可能なシステム１００を示す図である。システム１００は、メモリコントローラ１２０に第１のバス１２１を介して結合されるプロセッサ１１０を含み得る。メモリコントローラ１２０は、メモリシステム１３０に第２のバス１２２を介して結合され得る。メモリコントローラ１２０は、プロセッサ１１０からのメモリトランザクション要求を実行することができる。メモリコントローラ１２０は、プロセッサ１１０とメモリシステム１２５の間で第１及び第２のバス１２１及び１２２を介してデータを転送できる。第１のバス１２１及び第２のバス１２２は、既知のプロトコルを採用できプロセッサ１１０をメモリコントローラ１２０に接続し、メモリコントローラ１２０をメモリシステム１３０に接続する。システム１００の実施例は、パーソナルコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、デジタルカメラ、電子ゲーム、デジタルメディアプレーヤ／レコーダなどを含み得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
インストラクション１２５は、プロセッサ１１０上でオペレーティングシステム（ＯＳ）及び１以上のアプリケーションを実行できる。ＯＳは、１以上のアプリケーションに代わってメモリシステム１３０におけるメモリを要求することができる。メモリコントローラ１２０は、アプリケーションをメモリシステム１３０における物理位置にマッピングできる。
【国際調査報告】
2016510930.tif 000018
2016510930.tif 000019
2016510930.tif 000020