JP2018132947A - 情報処理装置および温度設定プログラム - Google Patents

情報処理装置および温度設定プログラム Download PDF

Info

Publication number
JP2018132947A
JP2018132947A JP2017026164A JP2017026164A JP2018132947A JP 2018132947 A JP2018132947 A JP 2018132947A JP 2017026164 A JP2017026164 A JP 2017026164A JP 2017026164 A JP2017026164 A JP 2017026164A JP 2018132947 A JP2018132947 A JP 2018132947A
Authority
JP
Japan
Prior art keywords
temperature
processor
memory
upper limit
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017026164A
Other languages
English (en)
Inventor
智明 風間
Tomoaki Kazama
智明 風間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017026164A priority Critical patent/JP2018132947A/ja
Publication of JP2018132947A publication Critical patent/JP2018132947A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】メインメモリのエラーを予め防止することを課題とする。【解決手段】情報処理装置は、メモリのエラーが検出された場合に、プロセッサの温度を取得する。そして、情報処理装置は、取得されたプロセッサの温度が、プロセッサの動作周波数の制限が開始される上限温度以下か否かを判定する。その後、情報処理装置は、プロセッサの温度が上限温度以下である場合、取得されたプロセッサの温度より低い温度を上限温度に設定する。【選択図】図1

Description

本発明は、情報処理装置および温度設定プログラムに関する。
従来から、パーソナルコンピュータやサーバなどのコンピュータ業界では、メインメモリの容量増加、メインメモリの帯域幅増加、メインメモリの稼動電圧の低下についての技術開発が盛んに行われている。一方で、メインメモリのエラー率増加が懸念されていることから、高性能なサーバでは、各種フォールトトレランス機能を実装し、システム全体を正常稼働させている。近年では、ECC(誤り検出訂正:Error Check and Correction)機能付きのメインメモリが知られており、メインメモリでエラーが発生すると、CPU(Central Processing Unit)とメインメモリとの伝送用のクロック周波数を下げる技術も知られている。
特開2012−113466号公報
しかしながら、上記技術では、メインメモリのエラーを予め防止することが難しい。例えば、クロック周波数を下げる技術は、エラーの発生を契機に伝送路故障のリカバリを行うものであり、メインメモリのエラーを予め防止できない。また、安価な性能が高くないサーバでは、コスト面からフォールトトレランス機能を実装することができないので、メインメモリのエラーが発生すると、システム全体に与える影響が大きい。
一つの側面では、メインメモリのエラーを予防することができる情報処理装置および温度設定プログラムを提供することを目的とする。
第1の案では、情報処理装置は、メモリのエラーが検出された場合に、プロセッサの温度を取得する取得部と、取得された前記プロセッサの温度が、前記プロセッサの動作周波数の制限が開始される上限温度以下か否かを判定する判定部とを有する。情報処理装置は、前記プロセッサの温度が前記上限温度以下である場合、前記プロセッサの温度より低い温度を前記上限温度に設定する設定部を有する。
一実施形態によれば、メインメモリのエラーを予防することができる。
図1は、実施例1にかかる情報処理装置の機能構成を示す機能ブロック図である。 図2は、周辺機器の配置例を示す図である。 図3は、温度の測定範囲の例を示す図である。 図4は、相関DBに記憶される相関テーブルの例を示す図である。 図5は、処理の流れを示すフローチャートである。 図6は、ハードウェア構成例を示す図である。
以下に、本願の開示する情報処理装置および温度設定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[情報処理装置の説明]
実施例1にかかる情報処理装置は、一例として、フォールトトレランス機能が実装されておらず、メインメモリモジュール(以下では、単にメモリと記載する場合がある)においても温度センサを搭載していない、安価で低性能なコンピュータ装置である。なお、メインメモリモジュールには、一般的なモジュールを採用することもでき、メモリに誤った値が記録されていることを検出して正しい値に訂正することができるECCメモリを採用することもできる。
また、情報処理装置は、CPUなどのプロセッサの温度を検出する温度センサと、プロセッサとメモリの周辺の温度を検出する温度センサとを有する。なお、プロセッサは温度センサが内蔵されたものでもよく、プロセッサ付近に温度センサが別途備え付けられていてもよい。
このような情報処理装置は、メモリのエラーが検出された場合に、プロセッサの温度を取得し、取得されたプロセッサの温度が、プロセッサの動作周波数の制限が開始される上限温度以下か否かを判定する。そして、情報処理装置は、プロセッサの温度が上限温度以下である場合、プロセッサの温度より低い温度を上限温度に設定する。
つまり、実施例1にかかる情報処理装置は、メモリのECCエラーが検出されると、プロセッサの動作周波数であるコア周波数を意図的に下げ、この結果としてメインメモリの周辺温度を下げる。そして、情報処理装置は、メインメモリモジュールの交換等の修理が実施されるまで、可能な限り、メモリの動作環境のマージンを確保する。したがって、情報処理装置は、メモリのエラーを予防することができる。
[情報処理装置の機能構成]
図1は、実施例1にかかる情報処理装置10の機能構成を示す機能ブロック図である。図1に示すように、情報処理装置10は、イベントログDB11、上限値DB12、相関DB13、エラー検出部14、CPU温度測定部15、周辺温度測定部16、上限値変更部17を有する。本実施例は、プロセッサの一例としてCPUを用いて説明する。
イベントログDB11、上限値DB12、相関DB13は、メモリやハードディスクなどの記憶装置に記憶されるデータベースである。エラー検出部14は、メモリコントローラやCPUなどが有する電子回路の一例、メモリコントローラやCPUなどが実行するプロセスの一例である。CPU温度測定部15、周辺温度測定部16、上限値変更部17は、CPUなどが有する電子回路の一例、BIOS(Basic Input Output System)やCPUなどが実行するプロセスの一例である。
イベントログDB11は、情報処理装置10内で発生したエラーなどのイベントログを記憶するデータベースである。例えば、イベントログDB11は、ECCのエラー情報を記憶する。なお、エラー情報には、ECCエラーの発生メモリアドレス、発生時刻などが含まれる。また、イベントログDB11は、測定されたCPU温度や周辺温度の温度情報を記憶する。なお、温度情報には、対象部品、温度、測定時刻などが含まれる。
上限値DB12は、CPUの動作周波数の制限が開始される温度の上限値を記憶するデータベースである。すなわち、上限値DB12は、温度の閾値を記憶する。例えば、上限値DB12は、50度などを記憶する。CPUは、内蔵する温度センサを用いて温度を測定し、測定した温度がここで記憶される上限値に到達すると、プロセスの停止などを行って、処理量を制限する。
相関DB13は、CPU温度、周辺温度、メモリ温度の相関関係を記憶するデータベースである。具体的には、メモリそのものには、温度センサがつけられないので、CPU温度と周辺温度とから予測されるメモリ温度を記憶する。
ここで、各温度の測定領域について説明する。図2は、周辺機器の配置例を示す図である。図2に示すように、一般的なコンピュータでは、CPU10aとメモリ10bとは近接しており、メモリ10bの温度はCPU10aの温度の影響を受ける。また、メモリ10bの周辺には、CPU10a以外にも、通信モジュールやHDD(Hard Disk Drive)などのハードウェアが設置される。このため、メモリ10bの温度は、CPU10a以外の周辺機器の温度の影響も受ける。
そこで、実施例1では、メモリ10bの温度を、CPU10aの温度と周辺機器の温度とから推測する。図3は、温度の測定範囲の例を示す図である。図3に示すように、CPU10aは、メモリコントローラと温度センサを内蔵し、内蔵の温度センサを用いてCPU10aの温度を測定する。また、温度センサ10cは、予め指定された位置に設置されて、周辺機器すなわちメモリ10b周辺のハードウェアの温度を測定する。なお、温度センサ10cは、一般的なコンピュータが有する温度センサを用いることもできる。そして、図3に示すように、CPU10aの温度と温度センサ10cによる測定温度とから、メモリ10bの周辺温度が推定される。
次に、メモリ10bの推定温度について説明する。図4は、相関DB13に記憶される相関テーブルの例を示す図である。図4に示すように、相関テーブルは、CPUの温度(℃)とその他の温度センサ10cの温度(℃)とからメモリ10bの周辺温度が推定できるテーブル構成である。図4の一例では、CPUの温度が60℃かつ温度センサ10cの温度が20℃のとき、メモリ10bの周辺温度が45℃と推定されることを示す。
なお、図4において、メモリの周辺温度と記載するのは、メモリ10bそのものの温度は測定できず、CPU10aなどの周辺機器の温度等から推定される温度であり、この推定される温度にはメモリの周辺温度が含まれると予想されるためである。なお、本実施例では、単にメモリの温度やメモリ温度と記載する場合がある。また、テーブル構成は、CPU10aの温度だけでメモリ10bの温度を推定する構成であってもよい。
図1に戻り、エラー検出部14は、メモリ10bのエラーを検出する処理部である。具体的には、エラー検出部14は、メモリ10bのECCシングルビットエラーやECCのマルチビットエラーなどを検出して、CPU温度測定部15および周辺温度測定部16に通知する。なお、エラー検出部14は、ECCエラーを検出すると、エラー情報をイベントログDB11に書き込む。
CPU温度測定部15は、CPUに内蔵される温度センサが測定したCPUの温度を取得する処理部である。具体的には、CPU温度測定部15は、エラー検出部14からエラー発生を通知されると、温度センサから当該温度センサが計測した温度を取得する。そして、CPU温度測定部15は、取得した時刻とCPU温度とを対応付けてイベントログDB11に格納し、取得した温度を上限値変更部17に出力する。つまり、CPU温度測定部15は、メモリのECCエラーが発生したときの温度を特定する。
周辺温度測定部16は、温度センサ10cが測定した周辺温度を取得する処理部である。具体的には、周辺温度測定部16は、エラー検出部14からエラー発生を通知されると、温度センサ10cから当該温度センサが計測した周辺温度を取得する。そして、周辺温度測定部16は、取得した時刻と周辺温度とを対応付けてイベントログDB11に格納し、取得した周辺温度を上限値変更部17に出力する。つまり、周辺温度測定部16は、メモリのECCエラーが発生したときのメモリ10bやCPU10aの周辺温度を特定する。
上限値変更部17は、相関DB13に記憶される相関テーブルにしたがって、上限値DB12に記憶される上限値を更新する処理部である。具体的には、上限値変更部17は、相関テーブルを参照して、CPU温度と周辺温度とからメモリ周辺温度を特定する。そして、上限値変更部17は、特定したメモリ周辺温度が目標温度よりも高いか否かを判定する。ここで、上限値変更部17は、メモリ周辺温度が目標温度よりも低い場合は、上限値を変更せずに維持する。一方で、上限値変更部17は、メモリ周辺温度が目標温度よりも高い場合は、周辺温度と目標温度に対応するCPU温度を特定し、特定したCPU温度を上限値として上限値DB12に格納する。なお、上限値変更部17は、特定されたメモリ周辺温度と目標温度との比較を行うことなく、上限値を変更することもできる。
例えば、上限値変更部17は、ECCエラー発生時のCPU温度が80℃で周辺温度が40度のとき、図4の相関テーブルにしたがって、メモリ10bの温度を75℃と類推する。そして、上限値変更部17は、例として目標温度がマイナス10℃の65℃であるとき、周辺温度は変更できないことから、図4の相関テーブルにしたがってCPU温度70℃以下にする必要があると判定する。この結果、上限値変更部17は、上限値DB12の上限値を70℃に設定する。
ここで、目標温度とは、エラーの発生頻度に基づく温度の一例である。例えば、エラーが発生したときの温度を蓄積し、蓄積した結果からエラーの発生数が所定値以下となる温度を目標温度と事前に決めておくことができる。また、類推されたメモリ10bの温度からマイナス10℃を目標温度として毎回決定することもできる。なお、マイナス10℃は一例であり、任意に変更できる。
上限値変更の別例としては、CPUの温度だけで判定することもできる。例えば、上限値変更部17は、ECCエラーが発生したときのCPU温度と、上限値DB12に記憶される上限値とを比較し、測定したCPU温度が上限値以上であれば、上限値の変更を抑制する。一方で、上限値変更部17は、測定したCPU温度が上限値より低ければ、より低い温度を上限値に設定する。具体的には、上限値変更部17は、測定したCPU温度よりもマイナス10℃低い温度を上限値に設定する。
更なる別例としては、上限値変更部17は、ECCエラーが発生したときのCPU温度だけを用いて、図4の相関テーブルからメモリ周辺温度を特定する。その後は上述した処理と同様、上限値変更部17は、特定したメモリ周辺温度が目標値となるように、CPU温度の上限値を変更する。
[処理の流れ]
図5は、処理の流れを示すフローチャートである。ここでは、ECCシングルビットエラーを一例にして説明する。図5に示すように、エラー検出部14は、メモリエラーを検出すると(S101:Yes)、ECCシングルビットエラー発生のステータスビットを設定し、ECCエラーを検知したことを表す割り込み処理を発生させる(S102)。
続いて、エラー検出部14は、割り込み処理内で、ECCのエラー情報をイベントログDB11に追記する(S103)。
その後、割り込み処理内で、CPU温度測定部15は、CPUの温度を測定してイベントログDB11に追記し、周辺温度測定部16は、周辺温度を測定してイベントログDB11に追記する(S104)。
そして、割り込み処理内で、上限値変更部17は、相関テーブルを参照して、測定されたCPU温度と周辺温度とから、メモリ10bの温度を類推する(S105)。続いて、割り込み処理内で、上限値変更部17は、メモリ10bの温度を目標温度まで下げるためのCPU温度を、相関テーブルから特定し、特定したCPU温度を上限値に設定する(S106)。
その後、割り込み処理内で、上限値変更部17は、ECCシングルビットエラー発生のステータスビットをクリアする(S107)。
そして、ユーザによる再起動が行われると(S108:Yes)、上限値変更部17は、変更後の上限値を維持する(S109)。
その後、一定時間ECCエラーが再発しなかった場合(S110:Yes)、上限値変更部17は、元々設定されていた規定値を上限値に再変更する(S111)。一方、一定時間内にECCエラーが再発した場合(S110:No)、上限値変更部17は、S102以降を繰り返す。
[効果]
上述したように、情報処理装置10は、ECCエラーが発生したときに、再発防止のために、CPU温度を下げるように制御できるので、メインメモリのエラーを予め防止することができる。したがって、情報処理装置10は、安価なコンピュータであっても、メモリ10bのECCエラーが複数回以上発生時した以降で、ユーザ使用環境下でのメモリ周辺温度をコントロールすることで、ECCエラー再発を低減することができる。
また、情報処理装置10は、安価なコンピュータであって、メインメモリモジュール交換等の修理を実施するまで、可能な限り、メインメモリ動作環境のマージンを確保できる。さらに、情報処理装置10は、偶発的にメモリ10bのECCエラーが発生したのかどうかの状況監視をするため、CPUのコア周波数を意図的に下げ、即ちメインメモリ周辺温度を下げ、追加コストを掛けることなく、メモリ動作環境のマージンを確保することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
[ECCエラー]
上記例では、ECCシングルビットエラーを例にして説明したが、これに限定されるものではなく、ECCマルチビットエラーであっても同様に処理することができる。具体的には、ECCシングルビットエラーの場合はECCにてエラー訂正可能であるが、ECCマルチビットエラーの場合はECCにてエラー訂正ができないので、情報処理装置10が稼働しているか否か、すなわちBIOSが処理を継続できるか否かによって実行される処理がことなる。例えば、BIOSが処理を継続できる場合は、実施例1と同様の処理が実行される。一方で、BIOSが処理を継続できない場合は、情報処理装置10の初期化処理内で、上記処理が実行される。
[システム]
記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア構成]
図6は、情報処理装置10のハードウェア構成例を示す図である。図6に示すように、情報処理装置10は、CPU10a、メモリ10b、温度センサ10c、通信インタフェース10d、HDD10eを有する。
通信インタフェース10dは、他の装置の通信を制御するネットワークインタフェースカードなどである。HDD10eは、プログラムやデータなどを記憶する記憶装置の一例である。温度センサ10cは、周辺温度を測定する温度センサである。
メモリ10bの一例としては、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。CPU10a以外のプロセッサの一例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等が挙げられる。
また、情報処理装置10は、プログラムを読み出して実行することで温度変更方法を実行する情報処理装置として動作する。つまり、情報処理装置10は、エラー検出部14、CPU温度測定部15、周辺温度測定部16、上限値変更部17と同様の機能を実行するプログラムを実行する。この結果、情報処理装置10は、エラー検出部14、CPU温度測定部15、周辺温度測定部16、上限値変更部17と同様の機能を実行するプロセスを実行することができる。なお、この他の実施例でいうプログラムは、情報処理装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
10 情報処理装置
11 イベントログDB
12 上限値DB
13 相関DB
14 エラー検出部
15 CPU温度測定部
16 周辺温度測定部
17 上限値変更部

Claims (4)

  1. メモリのエラーが検出された場合に、プロセッサの温度を取得する取得部と、
    取得された前記プロセッサの温度が、前記プロセッサの動作周波数の制限が開始される上限温度以下か否かを判定する判定部と、
    前記プロセッサの温度が前記上限温度以下である場合、前記プロセッサの温度より低い温度を前記上限温度に設定する設定部と
    を有することを特徴とする情報処理装置。
  2. 前記プロセッサの温度と前記メモリの温度との対応関係を記憶する記憶部と、
    前記対応関係を参照して、取得された前記プロセッサの温度から前記エラーが検出されたときの前記メモリの温度を推定する推定部とをさらに有し、
    前記判定部は、推定された前記メモリの温度が、前記エラーの発生頻度に基づく目標温度より高いか否かを判定し、
    前記設定部は、前記メモリの温度が前記目標温度よりも高い場合、前記目標温度に対応付けられる前記プロセッサの温度を前記対応関係から特定し、特定した前記プロセッサの温度を前記上限温度に設定することを特徴とする請求項1に記載の情報処理装置。
  3. 前記記憶部は、前記プロセッサの温度と前記プロセッサおよび前記メモリの周辺に設置される周辺機器の温度とから推定される前記メモリの温度を記憶し、
    前記取得部は、前記メモリのエラーが検出された場合に、前記プロセッサの温度および前記周辺機器の温度を取得し、
    前記推定部は、前記記憶部を参照して、取得された前記プロセッサの温度および前記周辺機器の温度から前記エラーが検出されたときの前記メモリの温度を推定し、
    前記判定部は、推定された前記メモリの温度が、前記目標温度より高いか否かを判定することを特徴とする請求項2に記載の情報処理装置。
  4. コンピュータに、
    メモリのエラーが検出された場合に、プロセッサの温度を取得し、
    取得された前記プロセッサの温度が、前記プロセッサの動作周波数の制限が開始される上限温度以下か否かを判定し、
    前記プロセッサの温度が前記上限温度以下である場合、前記プロセッサの温度より低い温度を前記上限温度に設定する
    処理を実行させることを特徴とする温度設定プログラム。
JP2017026164A 2017-02-15 2017-02-15 情報処理装置および温度設定プログラム Pending JP2018132947A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017026164A JP2018132947A (ja) 2017-02-15 2017-02-15 情報処理装置および温度設定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017026164A JP2018132947A (ja) 2017-02-15 2017-02-15 情報処理装置および温度設定プログラム

Publications (1)

Publication Number Publication Date
JP2018132947A true JP2018132947A (ja) 2018-08-23

Family

ID=63249002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017026164A Pending JP2018132947A (ja) 2017-02-15 2017-02-15 情報処理装置および温度設定プログラム

Country Status (1)

Country Link
JP (1) JP2018132947A (ja)

Similar Documents

Publication Publication Date Title
Meza et al. Revisiting memory errors in large-scale production data centers: Analysis and modeling of new trends from the field
US10223224B1 (en) Method and system for automatic disk failure isolation, diagnosis, and remediation
US9786356B2 (en) Memory device with adaptive voltage scaling based on error information
US9535774B2 (en) Methods, apparatus and system for notification of predictable memory failure
EP3132449B1 (en) Method, apparatus and system for handling data error events with memory controller
US10558518B2 (en) Dynamic adjustments within memory systems
US7650527B2 (en) MIPS recovery technique
US9727413B2 (en) Flash memory scrub management
US20160301428A1 (en) Method and apparatus for selective and power-aware memory error protection and memory management
CN110543280A (zh) 基于温度的存储器管理的装置和方法
JP2005221413A (ja) 電子装置、故障予測方法ならびに故障予測プログラムおよびその記録媒体
CN111736765B (zh) 一种数据块状态的监管方法、设备以及介质
WO2017041249A1 (zh) 一种提高触摸屏容错性的方法及触屏终端
Nikolaou et al. Modeling the implications of DRAM failures and protection techniques on datacenter TCO
US9230687B2 (en) Implementing ECC redundancy using reconfigurable logic blocks
US20050081112A1 (en) System and method for processor thread acting as a system service processor
US10642342B2 (en) Predicting voltage guardband and operating at a safe limit
US10761919B2 (en) System and method to control memory failure handling on double-data rate dual in-line memory modules
JP2006092070A (ja) ディスクアレイ装置及びその制御方法並びに制御プログラム
US8661298B2 (en) Controlling nanostore operation based on monitored performance
Li et al. From correctable memory errors to uncorrectable memory errors: What error bits tell
JP2018132947A (ja) 情報処理装置および温度設定プログラム
US9459943B2 (en) Fault isolation by counting abnormalities
US20140304557A1 (en) Primary memory module with record of usage history
US11016835B2 (en) System and method for improved handling of memory failures

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180912