(57)【要約】【課題】ＣＰＵの要求するメモリアクセスを処理すること。【解決手段】複数のメモリモジュール１１０のページのうち、過熱状態にあるメモリモジュール１１０のページを、過熱状態にないメモリモジュール１１０のページへ移動させるべく、過熱状態にあるメモリモジュール１１０のページの仮想アドレスと、過熱状態にないメモリモジュール１１０のページの仮想アドレスとを入れ替えるメモリ管理部１５０を備える。【選択図】図１
2012185764.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システムであって、
複数のメモリモジュールのページのうち、過熱状態にあるメモリモジュールのページを、過熱状態にないメモリモジュールのページへ移動させるべく、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部
を備えるメモリアクセス処理システム。
【請求項２】
過熱状態にあるメモリモジュールのページを移動させるべき移動先のメモリモジュールのページを選定するページ移動先選定部
を更に備え、
前記メモリ管理部は、複数のメモリモジュールのページのうち、過熱状態にあるメモリモジュールのページを、過熱状態にないメモリモジュールのページへ移動させるべく、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記ページ移動先選定部が選定したメモリモジュールのページとを入れ替える
請求項１に記載のメモリアクセス処理システム。
【請求項３】
過熱状態にあるメモリモジュールのページを移動させるべきか否かを判定するページ移動判定部
を更に備え、
前記ページ移動先選定部は、過熱状態にあるメモリモジュールのページを移動させるべきと前記ページ移動判定部が判定した場合に、当該過熱状態にあるメモリモジュールのページを移動させるべき移動先のメモリモジュールのページを選定する
請求項２に記載のメモリアクセス処理システム。
【請求項４】
前記メモリモジュールの温度を測定する温度測定部
を更に備え、
前記ページ移動判定部は、前記温度測定部が測定した前記メモリモジュールの温度が所定のしきい値を超えた場合に、当該メモリモジュールのページを移動させるべきと判定する
請求項３に記載のメモリアクセス処理システム。
【請求項５】
前記メモリ管理部は、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるにあたり、前記過熱状態にあるメモリモジュールのページへの書き込みを禁止する
請求項１から４のいずれか一項に記載のメモリアクセス処理システム。
【請求項６】
前記メモリ管理部は、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるにあたり、前記過熱状態にあるメモリモジュールのページに書き込まれているデータを、前記過熱状態にないメモリモジュールのページへ複製する
請求項１から５のいずれか一項に記載のメモリアクセス処理システム。
【請求項７】
前記メモリ管理部は、書き込みを禁止した前記過熱状態にあるメモリモジュールのページに対する前記ＣＰＵからの書き込み要求があった場合、当該書き込み要求の内容をログに残す
請求項５又は６に記載のメモリアクセス処理システム。
【請求項８】
前記メモリ管理部は、書き込みを禁止した前記過熱状態にあるメモリモジュールのページに対する前記ＣＰＵからの読み込み要求があった場合、前記ログを走査する
請求項７に記載のメモリアクセス処理システム。
【請求項９】
ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システムを制御する制御方法であって、
複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、前記高温のメモリモジュールのページの仮想アドレスと、前記低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理段階
を備える制御方法。
【請求項１０】
ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システム用のプログラムであって、前記メモリアクセス処理システムを、
複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、前記高温のメモリモジュールのページの仮想アドレスと、前記低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリアクセス処理システム、制御方法、及びプログラムに関する。特に、本発明は、ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システム、当該メモリアクセス処理システムを制御する制御方法、並びに当該メモリアクセス処理システム用のプログラムに関する。
【背景技術】
【０００２】
Ｗｅｂサービスや証券取引等においては、多数のクライアントによる低遅延なデータ入出力において、多数のノードをネットワークを介して繋ぎ、主記憶装置をより高速なメモリストレージとして活用している。このような技術の場合、メモリストレージの容量は、各ノードに搭載し得るメモリモジュールの量に依存する。しかしノードが搭載できるメモリモジュールの量は筐体の廃熱性能に依存するため、廃熱性能が低いコンピュータ群で大容量のメモリストレージを実現するためには、より多数のノードを必要とするという問題があった。
【０００３】
また、メモリモジュールの発熱状況に応じてアプリケーションのメモリアクセスパターンを変える方式も考えられるが、この方式では既存の資産を活かすことができないという問題があった。
【０００４】
ところで、特許文献１には、メモリの十分に利用されていない部分を識別し、アクセスすることによって、そのようなスロットリング又は低電力モードの有害な影響を減らす新規の形で電力消費の削減を達成することが可能な技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１３３８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術は、ある種のメモリの「スロットリング」又は低電力モードから復帰する遅延の影響を緩和するために、適度に通電するという内容である。したがって、特許文献１に記載の技術によっては、上述したような問題を解決することはできない。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の形態によると、ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システムであって、複数のメモリモジュールのページのうち、過熱状態にあるメモリモジュールのページを、過熱状態にないメモリモジュールのページへ移動させるべく、過熱状態にあるメモリモジュールのページの仮想アドレスと、過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部を備える。
【０００８】
本発明の第２の形態によると、ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システムを制御する制御方法であって、複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、高温のメモリモジュールのページの仮想アドレスと、低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理段階を備える。
【０００９】
本発明の第３の形態によると、ＣＰＵの要求するメモリアクセスを処理するメモリアクセス処理システム用のプログラムであって、メモリアクセス処理システムを、複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、高温のメモリモジュールのページの仮想アドレスと、低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部として機能させる。
【００１０】
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１１】
以上の説明から明らかなように、この発明によっては、コンピュータが正常稼働できるように各コンポーネントの動作許容温度と排熱のバランスを決定するに際し、同等の冷却設備を持つノードと比較して、より多くのメモリモジュールを搭載させることができるようになる。また、この発明によっては、コンピュータにおけるメモリアクセスのスループットを向上させることができる。また、この発明によっては、オペレーティングシステムに組み込んだ場合に、既存のアプリケーションの変更を必要とせずに上記効果を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るメモリアクセス処理システム１００の利用環境の一例を示す図である。
【図２】メモリモジュール１１０のページ毎の熱の分散方法の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、一実施形態に係るメモリアクセス処理システム１００の利用環境の一例を示す。メモリアクセス処理システム１００は、ＣＰＵ２００の要求するメモリアクセスを処理するシステムである。
【００１５】
メモリアクセス処理システム１００は、複数のメモリモジュール１１０ａ、ｂ（以下、メモリモジュール１１０と総称する。）、複数の温度センサー１２０ａ、ｂ（以下、温度センサー１２０と総称する。）、ページ移動判定装置１３０、ページ移動先選定装置１４０、及びメモリ管理ユニット１５０を備える。なおまた、温度センサー１２０は、この発明における「温度測定部」の一例であってよい。また、ページ移動判定装置１３０は、この発明における「ページ移動判定部」の一例であってよい。また、ページ移動先選定装置１４０は、この発明における「ページ移動先選定部」の一例であってよい。また、メモリ管理ユニット１５０は、この発明における「メモリ管理部」の一例であってよい。
【００１６】
メモリモジュール１１０は、複数の半導体メモリチップを基板に装着して配線し、コンピュータに接続するための接続端子を設けたものである。メモリモジュール１１０ａは、温度センサー１２０ａ、及びメモリ管理ユニット１５０とそれぞれ電気的に接続されている。同様に、メモリモジュール１１０ｂは、温度センサー１２０ｂ、及びメモリ管理ユニット１５０とそれぞれ電気的に接続されている。
【００１７】
温度センサー１２０ａは、メモリモジュール１１０ａの温度を測定する。同様に、温度センサー１２０ｂは、メモリモジュール１１０ｂの温度を測定する。
【００１８】
ページ移動判定装置１３０は、過熱状態にあるメモリモジュール１１０のページを、過熱状態にないメモリモジュール１１０に移動するべきか否かを判定する。
【００１９】
ページ移動先選定装置１４０は、過熱状態にあるメモリモジュール１１０のページを、どのメモリモジュールの、どのページに移動するべきかを選定する。
【００２０】
メモリ管理ユニット１５０は、メモリモジュール１１０ａとメモリモジュール１１０ｂのページの物理アドレスと仮想アドレスをマッピングする。
【００２１】
ここではメモリモジュール１１０及びそれに付随する温度センサー１２０を２組としたが、メモリモジュール１１０毎ではなく複数のメモリモジュール１１０で温度センサー１２０を共有したり、メモリモジュール１１０毎ではなくメモリチップ毎に温度センサー１２０を設置しても同様に適用可能である。また、ページ移動判定装置１３０やページ移動先選定装置１４０で取り扱うメモリの移動単位は便宜上ページ単位としているが、メモリ管理ユニット１５０で取り扱えるものであればメモリチップ単位やメモリモジュール１１０単位等、任意のサイズで適用可能である。
【００２２】
ページ移動判定装置１３０は、メモリモジュール１１０ａの温度を測定している温度センサー１２０ａと、メモリモジュール１１０ｂの温度を測定している温度センサー１２０ｂを通して、メモリモジュール１１０ａとメモリモジュール１１０ｂが予め定められた正常動作温度以下で動作しているかどうかを監視している。ここでメモリモジュール１１０は２つとしているが、これは任意の数で構わない。また温度センサー１２０ａと１０１ｂについてもメモリモジュール１１０と１対多の関係で構わない。
【００２３】
次に、ページ移動判定装置１３０が正常動作温度に近い又は正常動作温度以上で動作しているメモリモジュール１１０を検出したものとする。ここでは例としてメモリモジュール１１０ａが正常動作温度を超えたものとする。ページ移動判定装置１３０はメモリモジュール１１０ａが正常動作温度を超えて動作していることをページ移動先選定装置１４０に通知する。このときメモリモジュール１１０ａ上のどのページにあたる部分が発熱の主たる原因かを通知することもできる。発熱の主たる原因を特定する方法としては、単位時間あたりのメモリアクセス回数が多いページを発熱の主たる原因であると推定したり、メモリチップ毎に取り付けられた温度センサーを用いて発熱の大きいメモリチップに該当するページを発熱の主たる原因であると推定することができる。
【００２４】
ページ移動先選定装置１４０はページ移動判定装置１３０から受信したメモリモジュール１１０ａの発熱の分散先を選定する。選定の方法の例としては、各メモリモジュール１１０の物理アドレス空間にマッピングされているメモリチップの発熱状況を数値化し、発熱状況を各メモリチップで均等化するように再配置する方法等が考えられる。
【００２５】
ページ移動先選定装置１４０により発熱の分散先が決定した後、ページ移動判定装置１３０で過熱状態にあると判定されたページを、メモリ管理ユニット１５０により書き込み禁止にし、ページ移動判定装置１３０で過熱状態にあると判定されたページの内容を、ページ移動先選定装置１４０により決定した発熱の分散先のページに複製する。
【００２６】
このとき、メモリ管理ユニット１５０により書き込み禁止とされた領域に対して書き込みが発生したとき、書き込まれた論理アドレスを特定できる情報と、その内容をログ領域に記録する。メモリ管理ユニット１５０により書き込み禁止とされた領域に対して読み込み処理が発生した場合、まずログ領域を走査し、読み込んだ領域に対応するデータがあればそれを返し、なければ指定されたメモリアドレスの内容を返す。
【００２７】
ページ移動判定装置１３０で過熱状態にあると判定されたページの内容をページ移動先選定装置１４０により決定した発熱の分散先のページに複製し終わったら、ページ移動先選定装置１４０により決定した発熱の分散先のページの仮想アドレス空間に、ページ移動判定装置１３０で過熱状態にあると判定されたページの仮想アドレス空間が割り当たるものとして、前述のログ領域に記録された変更箇所に、その変更内容を書き込む。なおまた、この操作の間もメモリ管理ユニット１５０により書き込み禁止とされた領域に対して読み込み処理が発生した場合は、新しい変更としてログ領域に書き込まれた論理アドレスを特定できる情報と、その内容を記録する。
【００２８】
ログ領域の内容を全てページ移動先選定装置１４０により決定した発熱の分散先のページに反映し終わったら、ページ移動判定装置１３０で過熱状態にあると判定されたページに割り当てられていた仮想アドレス空間を、ページ移動先選定装置１４０により決定した発熱の分散先のページに割り当て直し、前述のページ移動判定装置１３０で過熱状態にあると判定されたページの書き込み禁止を解除する。
【００２９】
図２は、メモリモジュール１１０のページ毎の熱の分散方法の一例を示す。図２においてはメモリチップの温度の絶対値であるケルビン値を定数で割った熱値という概念を導入している。
【００３０】
ページ移動判定装置１３０によりメモリモジュール１〜４の温度を監視する。それぞれのメモリモジュールを構成するメモリチップの温度を数値化し、温度が高いほど大きな値として表現する。ここでは１〜４の値として表現し、熱値としている。各メモリモジュールを構成する全メモリチップの熱値の合計をそのメモリモジュールの熱値とする。
【００３１】
熱値が１０を超えるメモリモジュールは過熱状態にあると設定しているものとしたとき、メモリモジュール３が過熱状態にあると判定できるので、ページ移動先選定装置１４０により発熱の分散先を選定する。ページ移動先選定装置１４０により発熱の分散先の決定方法として、過熱状態にあるメモリモジュール３を除いたメモリモジュールで、メモリモジュール全体の熱値が低いものを分散先のメモリモジュールとして選択した。さらに、メモリモジュールを構成するメモリチップのうち、そのメモリモジュールにおいて熱値が中間のものを分散先のメモリチップとして選択した。ここではメモリモジュール１の左から１番目のメモリチップと、メモリモジュール２の中央のメモリチップを選択した。
【００３２】
次にメモリモジュール３の左側のメモリチップと中央のメモリチップを書込み禁止にし、メモリモジュール３の左側のメモリチップの内容をメモリモジュール１の左側のメモリチップに、メモリモジュール３の中央のメモリチップの内容をメモリモジュール２の中央のメモリチップにコピーする。
【００３３】
コピーが完了したら、メモリモジュール３の左側のメモリチップに割り当てていた仮想アドレス空間を、メモリモジュール１の左側のメモリチップに割り当て、メモリモジュール３の中央のメモリチップに割り当てていた仮想アドレス空間を、メモリモジュール２の中央のメモリチップに割り当てる。
【００３４】
最後にメモリモジュール３の左側のメモリチップと中央のチップの書込み禁止を解除し、処理を終了する。
【００３５】
第１の効果は、同等相当の冷却設備を持つノードと比べて、熱設計面において、より多くのメモリモジュールを搭載できることである。その理由は、過熱状態にあるページを熱設計的に余裕のあるメモリモジュールに移動することで熱源を均一にすることで、過熱状態にあるメモリモジュールを正常稼動する温度に冷やすために筐体全体の温度を下げる必要なく、当該メモリモジュールを正常稼動範囲内の温度で動作させることができ、熱設計面での余裕ができるためである。
【００３６】
第２の効果は、コンピュータにおけるメモリアクセスのスループット向上に寄与することである。その理由はメモリモジュールが過熱状態にあるときは、当該メモリモジュールに対するアクセスが非常に多い状態にあることが多いため、過熱状態にあるページをアクセスの少ないメモリモジュールに分散して冷却を図ることは、結果的にメモリアクセスを分散させることに繋がり、システムのメモリアクセスのスループット向上に寄与するためである。
【００３７】
第３の効果は、本装置をオペレーティングシステムに組み込むことで、既存のアプリケーションの変更を必要とせずに上記第１の効果と第２の効果を得ることができることである。その理由は、一般的なアプリケーションが利用するメモリアドレス空間はＭＭＵによって仮想化された仮想アドレスであり、本装置は過熱状態にあるメモリの内容を他のメモリにコピーした後、コピー元の物理アドレスに紐付けられていた仮想アドレスを、コピー先の物理アドレスに割り当て直すため、アプリケーションから観測されるアドレス空間及びその内容は変わらないためである。
【００３８】
なおまた、本発明に係るメモリアクセス処理システムは、大容量のメモリを搭載するコンピュータにおいて、特に冷却装置あたりにおけるメモリモジュールの集積度を高める用途に適用できる。
【００３９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００４０】
１００  メモリアクセス処理システム
１１０  メモリモジュール
１２０  温度センサー
１３０  ページ移動判定装置
１４０  ページ移動先選定装置
１５０  メモリ管理ユニット
２００  ＣＰＵ
３００  外部記憶装置
【図１】
2012185764.tif 000003
【図２】
2012185764.tif 000004