説明

メモリアクセス処理システム、制御方法、及びプログラム

【課題】CPUの要求するメモリアクセスを処理すること。
【解決手段】複数のメモリモジュール110のページのうち、過熱状態にあるメモリモジュール110のページを、過熱状態にないメモリモジュール110のページへ移動させるべく、過熱状態にあるメモリモジュール110のページの仮想アドレスと、過熱状態にないメモリモジュール110のページの仮想アドレスとを入れ替えるメモリ管理部150を備える。

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

【特許請求の範囲】
【請求項1】
CPUの要求するメモリアクセスを処理するメモリアクセス処理システムであって、
複数のメモリモジュールのページのうち、過熱状態にあるメモリモジュールのページを、過熱状態にないメモリモジュールのページへ移動させるべく、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部
を備えるメモリアクセス処理システム。
【請求項2】
過熱状態にあるメモリモジュールのページを移動させるべき移動先のメモリモジュールのページを選定するページ移動先選定部
を更に備え、
前記メモリ管理部は、複数のメモリモジュールのページのうち、過熱状態にあるメモリモジュールのページを、過熱状態にないメモリモジュールのページへ移動させるべく、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記ページ移動先選定部が選定したメモリモジュールのページとを入れ替える
請求項1に記載のメモリアクセス処理システム。
【請求項3】
過熱状態にあるメモリモジュールのページを移動させるべきか否かを判定するページ移動判定部
を更に備え、
前記ページ移動先選定部は、過熱状態にあるメモリモジュールのページを移動させるべきと前記ページ移動判定部が判定した場合に、当該過熱状態にあるメモリモジュールのページを移動させるべき移動先のメモリモジュールのページを選定する
請求項2に記載のメモリアクセス処理システム。
【請求項4】
前記メモリモジュールの温度を測定する温度測定部
を更に備え、
前記ページ移動判定部は、前記温度測定部が測定した前記メモリモジュールの温度が所定のしきい値を超えた場合に、当該メモリモジュールのページを移動させるべきと判定する
請求項3に記載のメモリアクセス処理システム。
【請求項5】
前記メモリ管理部は、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるにあたり、前記過熱状態にあるメモリモジュールのページへの書き込みを禁止する
請求項1から4のいずれか一項に記載のメモリアクセス処理システム。
【請求項6】
前記メモリ管理部は、前記過熱状態にあるメモリモジュールのページの仮想アドレスと、前記過熱状態にないメモリモジュールのページの仮想アドレスとを入れ替えるにあたり、前記過熱状態にあるメモリモジュールのページに書き込まれているデータを、前記過熱状態にないメモリモジュールのページへ複製する
請求項1から5のいずれか一項に記載のメモリアクセス処理システム。
【請求項7】
前記メモリ管理部は、書き込みを禁止した前記過熱状態にあるメモリモジュールのページに対する前記CPUからの書き込み要求があった場合、当該書き込み要求の内容をログに残す
請求項5又は6に記載のメモリアクセス処理システム。
【請求項8】
前記メモリ管理部は、書き込みを禁止した前記過熱状態にあるメモリモジュールのページに対する前記CPUからの読み込み要求があった場合、前記ログを走査する
請求項7に記載のメモリアクセス処理システム。
【請求項9】
CPUの要求するメモリアクセスを処理するメモリアクセス処理システムを制御する制御方法であって、
複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、前記高温のメモリモジュールのページの仮想アドレスと、前記低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理段階
を備える制御方法。
【請求項10】
CPUの要求するメモリアクセスを処理するメモリアクセス処理システム用のプログラムであって、前記メモリアクセス処理システムを、
複数のメモリモジュールのページのうち、高温のメモリモジュールのページを低温のメモリモジュールのページへ移動させるべく、前記高温のメモリモジュールのページの仮想アドレスと、前記低温のメモリモジュールのページの仮想アドレスとを入れ替えるメモリ管理部
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2012−185764(P2012−185764A)
【公開日】平成24年9月27日(2012.9.27)
【国際特許分類】
【出願番号】特願2011−49943(P2011−49943)
【出願日】平成23年3月8日(2011.3.8)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年度 独立行政法人新エネルギー・産業技術総合開発機構「グリーンネットワーク・システム技術研究開発プロジェクト(グリーンITプロジェクト)/エネルギー利用最適化データセンタ基盤技術の研究開発/サーバの最適構成とクラウド・コンピューティング環境における進化するアーキテクチャーの開発/クラウド・コンピューティング技術」委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】