(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022125567
(43)【公開日】2022-08-29
(54)【発明の名称】情報処理装置、情報処理システムおよびプログラム
(51)【国際特許分類】
G06F 13/10 20060101AFI20220822BHJP
G01K 1/14 20210101ALI20220822BHJP
G06F 13/38 20060101ALI20220822BHJP
【FI】
G06F13/10 330Z
G01K1/14 L
G06F13/38 340
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021023224
(22)【出願日】2021-02-17
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】特許業務法人扶桑国際特許事務所
(72)【発明者】
【氏名】中山 雄二
(72)【発明者】
【氏名】石田 智弘
【テーマコード(参考)】
2F056
5B077
【Fターム(参考)】
2F056CL06
5B077BA09
(57)【要約】
【課題】開発工程を削減して温度通知プロセスを実行する。
【解決手段】情報処理システム1-1は、情報処理装置1および対向装置2を備え、情報処理装置1と対向装置2は、通信インタフェースIF1で通信を行う。情報処理装置1は、制御部1aおよび温度センサ1bを含む。温度センサ1bは、情報処理装置1内の温度を検知して温度データを出力する。制御部1aは、対向装置2と通信を行う通信インタフェースIF1を有するデバイスにアクセス可能な既実装されているドライバd1をOS環境上で動作させる。制御部1aは、ドライバd1により温度データをバッファbf1に設定する。制御部1aは、ドライバd1により温度データをバッファbf1から読み出して通信インタフェースIF1を介して対向装置2に温度データを通知する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
温度を検知して温度データを出力する温度センサと、
対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、前記ドライバにより前記温度データをバッファに設定し、前記ドライバにより前記温度データを前記バッファから読み出して前記通信インタフェースを介して前記対向装置に前記温度データを通知する制御部と、
を有する情報処理装置。
【請求項2】
前記通信インタフェースは通信をマスタとスレーブとに分けて実行するシリアルバス通信インタフェースであり、前記デバイスはRAM(Random Access Memory)領域であって、
前記制御部は、
前記シリアルバス通信インタフェースの前記スレーブとなる前記RAM領域をEEPROM(Electrically Erasable Programmable Read-Only Memory)に見立ててデータ書き込み処理またはデータ読み出し処理を行う既実装されている前記ドライバを前記OS環境上で動作させ、
前記ドライバの前記データ書き込み処理によって前記温度データを前記バッファに設定し、
前記ドライバの前記データ読み出し処理によって前記温度データを前記バッファから読み出して前記シリアルバス通信インタフェースの前記マスタとなる前記対向装置に前記温度データを通知する、
請求項1記載の情報処理装置。
【請求項3】
前記制御部は、
第1の周期で前記ドライバにより前記温度データを前記バッファに設定し、
前記第1の周期よりも長い第2の周期で、前記対向装置から送信された、前記温度データの要求コマンドを受信する、
請求項1記載の情報処理装置。
【請求項4】
前記対向装置は、前記情報処理装置を冷却する冷却ファンの回転数と、前記制御部と同一基板上に搭載されている外付け温度センサで検知された冷却用温度データと、を紐づけて管理しており、
前記制御部は、
前記温度センサで検知された前記温度データの値を、変換式にもとづいて、前記外付け温度センサで検知された前記冷却用温度データの値に相当する補正温度データに変換し、
前記補正温度データを前記対向装置に通知して、前記対向装置に対して、前記外付け温度センサで検知された前記冷却用温度データの代わりに前記補正温度データによって前記冷却ファンの回転数を決定させる、
請求項1記載の情報処理装置。
【請求項5】
前記制御部は、
前記変換式と、前記補正温度データを前記バッファに設定する際の所定周期の値とを含むファイル情報を受信し、
前記温度センサから取得した前記温度データを前記変換式にもとづいて補正して前記補正温度データを生成し、
前記補正温度データを前記所定周期で前記バッファに設定する、
請求項4記載の情報処理装置。
【請求項6】
前記制御部は、プロセッサ負荷率を定期的に検出し、前記プロセッサ負荷率が閾値以上であることを判定した場合、前記温度センサから取得した前記温度データに所定値を加算して実測値よりも上昇させた上昇温度データを生成し、前記上昇温度データを前記バッファに設定する請求項1記載の情報処理装置。
【請求項7】
温度を検知して温度データを出力する温度センサと、対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、前記ドライバにより前記温度データをバッファに設定し、前記ドライバにより前記温度データを前記バッファから読み出して前記通信インタフェースを介して前記対向装置に前記温度データを通知する制御部と、を含む情報処理装置と、
前記温度データにもとづいて冷却ファンを駆動して前記情報処理装置の冷却を行う前記対向装置であって、拡張バスを介してホスト装置と前記情報処理装置との通信を中継する中継装置と、
を有する情報処理システム。
【請求項8】
コンピュータに、
対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、
前記コンピュータと同一モジュール内に搭載されている温度センサで検知された温度データを、前記ドライバによりバッファに設定し、
前記ドライバにより前記温度データを前記バッファから読み出して、前記通信インタフェースを介して前記対向装置に前記温度データを通知する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システムおよびプログラムに関する。
【背景技術】
【0002】
近年、ホストPC(Personal Computer)とコプロセッサ(co-processor)間の通信をPCIe(Peripheral Component Interconnect Express:登録商標)等の拡張バスを用いて行う情報処理システムが開発されている。このような情報処理システムでは、コプロセッサが搭載されているモジュールの温度を温度センサにより検知し、検知した温度データを対向側に通知することが行われている。
【0003】
関連技術としては、温度を電波信号に代えて、電波信号にもとづいて筐体内の冷却風発生手段の動作を制御する技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
温度センサから出力される温度データを取得して対向側に温度データを通知する温度通知プロセスでは、温度センサで検知される温度データを定期的に取得更新して、モジュールの動作状態の最新の温度データを対向側に通知することが求められる。
【0006】
しかし、このような温度通知プロセスを行う場合、従前では、温度データのデータ処理を行う専用ドライバを新たに開発することになり、ソフトウェアの開発工程が増加するという問題がある。
【0007】
1つの側面では、開発工程を削減して温度通知プロセスを実行可能とした情報処理装置、情報処理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、情報処理装置が提供される。情報処理装置は、温度を検知して温度データを出力する温度センサと、対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、ドライバにより温度データをバッファに設定し、ドライバにより温度データをバッファから読み出して通信インタフェースを介して対向装置に温度データを通知する制御部とを有する。
【0009】
また、上記課題を解決するために、上記情報処理装置と同様の制御を実行する情報処理システムが提供される。
さらに、コンピュータに上記情報処理装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【0010】
1側面によれば、開発工程を削減して温度通知プロセスを実行することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施の形態の情報処理装置の一例を説明するための図である。
【
図2】第2の実施の形態の情報処理システムの構成の一例を示す図である。
【
図3】SOMモジュールのハードウェア構成の一例を示す図である。
【
図4】SOMモジュールのソフトウェア・コンポーネントの一例を示す図である。
【
図5】温度取得・設定アプリケーションの動作の一例を示すフローチャートである。
【
図6】温度データの補正・設定時の動作の一例を示すフローチャートである。
【
図7】温度データがバッファに設定されるまでの流れの一例を示す図である。
【
図8】温度データの読み出しおよび冷却ファン回転制御の動作の一例を示す図である。
【
図9】温度データが電源制御部に送信されるまでの流れの一例を示す図である。
【
図10】CPU負荷率にもとづく温度補正の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
図1は第1の実施の形態の情報処理装置の一例を説明するための図である。情報処理システム1-1は、情報処理装置1および対向装置2を備え、情報処理装置1と対向装置2は、通信インタフェースIF1を介して通信を行う。情報処理装置1は、制御部1aおよび温度センサ1bを含む。
【0013】
〔ステップS1〕温度センサ1bは、情報処理装置1内の温度を検知して温度データを出力する。
〔ステップS2〕制御部1aは、対向装置2と通信を行う通信インタフェースIF1を有するデバイスにアクセス可能な既実装されているドライバd1をOS環境上で動作させる。
【0014】
なお、通信インタフェースIF1としては、例えば、シリアルバス通信インタフェースであるI2C(Inter-Integrated Circuit:I2Cは登録商標)が該当し、デバイスとしては、例えば、不揮発性メモリであるEEPROM(Electrically Erasable Programmable Read-Only Memory)が該当する。
【0015】
したがって、この場合、ドライバd1は、対向装置2に対してI2C通信インタフェースを有するEEPROMとしてアクセス可能な(データ書き込み/読み出し可能な)エミュレーションドライバである。
【0016】
〔ステップS3〕制御部1aは、ドライバd1により温度データを受信し、受信した温度データをバッファbf1に設定する。
〔ステップS4〕制御部1aは、ドライバd1により温度データをバッファbf1から読み出して通信インタフェースIF1を介して対向装置2に温度データを通知する。
【0017】
このように、情報処理装置1では、対向装置2と通信を行う通信インタフェースIF1を有するデバイスにアクセス可能な既実装されているドライバd1をOS環境上で動作させる。そして、既実装されているドライバd1により温度データをバッファbf1に設定し、ドライバd1により温度データをバッファbf1から読み出して通信インタフェースIF1を介して対向装置2に温度データを通知する。
【0018】
これにより、既存のドライバを利用して、温度データの定期的なバッファリングおよび対向側への通知を行うことができるので、温度データのデータ処理を行う専用ドライバを新たに開発してOS環境に組み込むといったソフトウェアの開発工程が不要になる。
【0019】
このため、開発工程を削減して温度通知プロセスを実行することが可能になり、また、既存のドライバを利用して、情報処理装置1の動作温度を最新の状態で管理することが可能になる。
【0020】
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態は、拡張バスの一例であるPCIeを用いた情報処理システムに情報処理装置1の機能を適用したものである。なお、以降の説明では、I2Cをi2cと表記し、EEPROMをeepromと表記する。
【0021】
<システム構成>
図2は第2の実施の形態の情報処理システムの構成の一例を示す図である。情報処理システム1-2は、メインボードB0、ブリッジボードB2およびコプロボード(キャリアボード)B1-1、・・・、B1-6を備える。
【0022】
コプロボードB1-1、・・・、B1-6は6台としているが、任意の台数がブリッジボードB2に接続可能である。また、メインボードB0とブリッジボードB2は、PCIeコネクタ4を介して互いに接続されている。
【0023】
メインボードB0は、システムの全体制御を担うホスト装置であるホストPC30を備える。ブリッジボードB2は、電源制御部21、PCIeブリッジコントローラ22、通信I/F(インタフェース)部23a、23bを備える。ブリッジボードB2は、ホストPC30とコプロボードB1-1、・・・、B1-6間の中継通信制御を行う中継装置である(ブリッジボードB2は、
図1の対向装置2に該当する)。
【0024】
コプロボードB1-1、・・・、B1-6(総称する場合はコプロボードB1)は、SOM(System On Module)モジュール10-1、・・・、10-6(総称する場合はSOMモジュール10)をそれぞれ含む。また、コプロボードB1は外付け温度センサ13-1、・・・、13-6(総称する場合は外付け温度センサ13)を含むこともできる。この場合、通信バスL1は電源制御部21と外付け温度センサ13間で通信を行う。外付け温度センサ13がない場合、通信バスL1は電源制御部21とSOMモジュール10間で通信を行う。
【0025】
また、SOMモジュール10-1、・・・、10-6は、制御部11-1、・・・、11-6(総称する場合は制御部11)および温度センサ12-1、・・・、12-6(総称する場合は温度センサ12)をそれぞれ含む。SOMモジュール10は、
図1の情報処理装置1に対応し、制御部11は
図1の制御部1aに対応し、温度センサ12は
図1の温度センサ1bに対応する。
【0026】
ブリッジボードB2において、電源制御部21は、システム内の各構成デバイスに対する電力供給または電力停止制御を行い、コプロボードB1-1、・・・、B1-6に対しては、起動をオンまたはオフさせるための起動オン/オフ信号を送信する。
【0027】
また、電源制御部21は、例えば、7セグメントLED(Light Emitting Diode)を使用して、電力供給状態やエラーコード等の表示を行う。さらに、電源制御部21は、コプロボードB1-1、・・・、B1-6から通知される温度データにもとづいて、冷却ファン(図示せず)の回転制御および動作チェックを行う。
【0028】
通信I/F部23aは、通信バスL1を介して、制御部11、電源制御部21および外付け温度センサ13に接続される。通信I/F部23aは、ホストPC30と電源制御部21との通信時には、通信インタフェース変換を行う。
【0029】
例えば、通信I/F部23aは、ホストPC30から送信されたUSB(Universal Serial Bus)インタフェースのデータをi2cインタフェースに変換して電源制御部21に送信する。または、電源制御部21から送信されたi2cインタフェースのデータをUSBインタフェースに変換してホストPC30に送信する。なお、電源制御部21は、i2c通信インタフェースでSOMモジュール10と通信を行う。
【0030】
PCIeブリッジコントローラ22は、ホストPC30とSOMモジュール10とのPCIeによる中継通信の制御を行う。通信I/F部23bは、通信バスL2を介して制御部11に接続され、ホストPC30とPCIeブリッジコントローラ22との通信時には、通信インタフェース変換を行う。
【0031】
コプロボードB1-1、・・・、B1-6において、SOMモジュール10は、電源制御部21からの起動オン/オフ信号にもとづいて起動する。制御部11は、例えば、Linux(登録商標)のOS上で動作する。また、制御部11は、AI(Artificial Intelligence)推論処理や画像処理等の並列演算処理を行う演算プロセッサ(コプロセッサ)であり、例えば、GPU(Graphics Processing Unit)やFPGA(Field Programmable Gate Array)等が採用される。
【0032】
さらに、制御部11は、コプロボードB1の運用制御を行う。温度センサ12は、SOMモジュール10の温度を検出する。外付け温度センサ13は、コプロボードB1上に設置されており、設置周囲の温度を検出する。
【0033】
<従前/本発明の情報処理システムにおける温度通知プロセスの差異>
情報処理システム1-2では、SOMモジュール10内の温度センサ12で検知された温度データをブリッジボードB2に実装されている電源制御部21に通知し、電源制御部21が温度データにもとづいてSOMモジュール10の冷却を行っている。
【0034】
一方、従前の情報処理システム(以下、従前システム)では、コプロボードB1上の外付け温度センサ13で検知された温度データを使用して、電源制御部21がSOMモジュールの冷却制御を行っている。
【0035】
従前システムおよび情報処理システム1-2では、コプロセッサが搭載されているSOMモジュールの動作温度を冷却するための冷却ファンが設けられている。従前システムでは、金属等の包覆物で覆われたSOMモジュールが外付け温度センサ13の近傍位置に実装可能な構成となっており、外付け温度センサ13は、包覆物を伝導する熱を介してSOMモジュールの動作温度を直接検知することができている。
【0036】
このため、従前システムでは、外付け温度センサ13を冷却ファン制御用の温度センサとすることができ、外付け温度センサ13によって検知されたセンサ値にもとづいて冷却ファンの回転数を調整してSOMモジュールを冷却していた(従前システムでは、SOMモジュール内の温度センサ12を冷却ファン制御用の温度センサとしていなかった)。
【0037】
一方、情報処理システム1-2では、包覆物で覆われないSOMモジュール10がコプロボードB1に実装される構成を有している。このような情報処理システム1-2では、外付け温度センサ13は包覆物を介して伝導する熱を検知することができず、また、SOMモジュール10から外部に向けて発生する熱は外気の影響を受けやすくなる。
【0038】
したがって、SOMモジュール10の動作温度を精度よく検知するために、情報処理システム1-2では、外付け温度センサ13からでなく、SOMモジュール10の内部に含まれている温度センサ12から温度データを取得して電源制御部21に通知することとしている。
【0039】
従前システムでは、電源制御部21は外付け温度センサ13からダイレクトに温度データを取得していたが、上記のような情報処理システム1-2では、温度センサ12で検知される温度データを制御部11のソフトウェア処理で保持して電源制御部21に通知することになる。
【0040】
ただし、情報処理システム1-2に対して、検知される温度データを定期的に取得更新して最新の温度データを電源制御部21に通知する温度通知プロセスを実行させる際に、温度データのデータ処理を行う専用ドライバのソフトウェアを新たに開発して実現しようとすると、ソフトウェアの開発工程が増加してしまう。
【0041】
したがって、情報処理システム1-2では、i2c通信インタフェースを有するeepromをエミュレーションする既実装のドライバを用いて、上記のような温度通知プロセスの実現を可能にするものである。
【0042】
なお、SOMモジュール10のRAM(Random Access Memory)領域をeepromに見立ててデータ書き込み/読み出しのアクセスを行うドライバはソフトウェアとして既実装されている。
【0043】
このような既存のドライバをベースにして機能追加を行うことにより、温度データのデータ処理を行う専用ドライバを新たに開発して、SOMモジュール10のOS環境上に新たに組み込むといったソフトウェア開発工程は不要となり、精度よく温度通知プロセスを行うことが可能になる。
【0044】
さらに、ハードウェア変更については、i2c通信インタフェースの通信バスをSOMモジュール10の制御部11に向けて追加する程度の回路変更で済むため、回路の変更工程についても抑制することができる。
【0045】
<ハードウェア>
図3はSOMモジュールのハードウェア構成の一例を示す図である。SOMモジュール10は、プロセッサ(コンピュータ)100によって全体制御されている。プロセッサ100は、SOMモジュール10内のコプロセッサに該当し、制御部11の機能を実現する。
【0046】
プロセッサ100には、バス103を介して、温度センサ12、メモリ101、入出力インタフェース102およびネットワークインタフェース104が接続されている。
プロセッサ100は、マルチプロセッサであってもよい。プロセッサ100は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、GPU、FPGAおよびGPGPU(General-purpose computing on GPU)である。またプロセッサ100は、CPU、MPU、DSP、ASIC、PLD、GPU、FPGAおよびGPGPUのうちの2以上の要素の組み合わせであってもよい。
【0047】
メモリ101は、SOMモジュール10の主記憶装置として使用される。メモリ101には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ101には、プロセッサ100による処理に要する各種データが格納される。
【0048】
また、メモリ101は、SOMモジュール10の補助記憶装置としても使用され、OSのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ101は、補助記憶装置として、フラッシュメモリやSSD(Solid State Drive)等の半導体記憶装置やHDD(Hard Disk Drive)等の磁気記録媒体を含んでもよい。
【0049】
バス103に接続されている周辺機器としては、入出力インタフェース102およびネットワークインタフェース104がある。入出力インタフェース102は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ100に送信する。
【0050】
さらにまた、入出力インタフェース102は、周辺機器を接続するための通信インタフェースとしても機能する。例えば、入出力インタフェース102は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクには、Blu-rayDisc(登録商標)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(Rewritable)等がある。
【0051】
また、入出力インタフェース102は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース102との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【0052】
ネットワークインタフェース104は、ネットワークに接続してネットワークインタフェース制御を行う。ネットワークインタフェース104には、例えば、NIC(Network Interface Card)、無線LAN(Local Area Network)カード等を使用することもできる。ネットワークインタフェース104で受信されたデータは、メモリ101やプロセッサ100に出力される。
【0053】
以上のようなハードウェア構成によって、SOMモジュール10の処理機能を実現することができる。例えば、SOMモジュール10は、プロセッサ100がそれぞれ所定のプログラムを実行することで本発明の処理を行うことができる。
【0054】
SOMモジュール10は、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。SOMモジュール10に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【0055】
例えば、SOMモジュール10に実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ100は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。
【0056】
また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ100からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。なお、メインボードB0およびブリッジボードB2もコンピュータを備えて、
図3に示したものと同様のハードウェアにより実現することができる。
【0057】
<ソフトウェア・コンポーネント>
図4はSOMモジュールのソフトウェア・コンポーネントの一例を示す図である。制御部11のソフトウェアは、Linux OS上で動作し、主に、カーネル層およびユーザ層に分けられる。
【0058】
カーネル層には、ソフトウェア・コンポーネントとして、i2cスレーブ通信ドライバ(i2c-tegra-slave)11a、i2cスレーブメモリドライバ(i2c-slave-eeprom)11b、プラットフォームドライバ11c、センサドライバ11dおよびバッファbfが含まれる。さらに、カーネル層には、温度ファイルシステム(sysfs-thermal zone)f1、通信ファイルシステム(sysfs-i2c)f2およびメモリファイルシステム(sysfs-eeprom)f3が含まれる。ユーザ層には、ソフトウェア・コンポーネントとして、温度取得・設定アプリケーション11pが含まれる。
【0059】
制御部11は、ブリッジボードB2に実装されている電源制御部21に対してi2c通信バス(通信バスL1)を通じて接続される。また、制御部11は、SOMモジュール10内に実装されている温度センサ12に接続される。
【0060】
各ソフトウェア・コンポーネントについて説明する。i2cスレーブ通信ドライバ11aは、電源制御部21に接続されるi2c通信バスの受け口となるドライバである。
なお、i2c通信は、マスタとスレーブ間で行われるシリアルバス通信である。情報処理システム1-2における電源制御部21と制御部11とによるi2c通信では、電源制御部21がマスタとなって温度データの取得要求を制御部11に送信する。
【0061】
また、制御部11がスレーブとなって該取得要求に対する温度データを電源制御部21に返信する。したがって、i2cスレーブ通信ドライバ11aは、i2c通信のスレーブ側の通信インタフェースを担うドライバになる。
【0062】
i2cスレーブメモリドライバ11bは、i2c通信のスレーブ側のデバイスに相当するバッファbfにアクセスするドライバであり、バッファbfに対して温度データの書き込み/読み出しを行う。
【0063】
また、i2cスレーブメモリドライバ11bは、i2c通信インタフェースを介して電源制御部21からの温度データ取得要求に対する返信を行う。なお、i2cスレーブメモリドライバ11bは、
図1のドライバd1の機能を実現する。
【0064】
ここで、情報処理システム1-2における、温度通知プロセスについて説明する。SOMモジュール10内の温度センサ12で検知された温度データを電源制御部21に通知する場合、1つの手法としては、制御部11内に新たな専用ドライバである温度センサドライバのソフトウェア・コンポーネントを開発することが考えられる。
【0065】
このような温度センサドライバで温度データを保持して取得要求元に通知する場合、温度センサドライバは、温度センサ12に対して、温度データが設定されている領域をオフセット位置にもとづいて指定して、温度センサ12から温度データを読み出す。そして、読み出された温度データを取得要求元に送信する。
【0066】
一方、SOMモジュール10内に既実装されている、i2c通信インタフェースを有するeepromから所定データを読み出して取得要求元に通知する場合、eepromにアクセス可能なi2cスレーブメモリドライバ11bが、eepromに対して、所定データが設定されている領域をオフセット位置にもとづいて指定して、eepromから所定データを読み出す。そして、読み出した所定データを取得要求元に送信する。
【0067】
このように、温度センサデバイスが温度センサ12から温度データを読み出して通知する機能と、i2cスレーブメモリドライバ11bがeepromから所定データを読み出して通知する機能とは、通信上の互換性がある。
【0068】
情報処理システム1-2では、このような通信上の互換性にもとづいて、i2cスレーブメモリドライバ11bを利用して、SOMモジュール10内の温度センサ12で検知された温度データをバッファbfに設定し、i2c通信バスを介して電源制御部21に送信する構成としている(以下、このような制御をeepromエミュレーションと呼ぶ場合がある)。
【0069】
上記のように、制御部11は、i2c通信インタフェースのスレーブとなるeepromに対してデータ書き込み処理またはデータ読み出し処理を行う既実装されているi2cスレーブメモリドライバ11bをOS環境上で動作させる。
【0070】
そして、制御部11は、i2cスレーブメモリドライバ11bのデータ書き込み処理によって温度データをバッファbfに設定し、i2cスレーブメモリドライバ11bのデータ読み出し処理によって温度データをバッファbfから読み出して、i2c通信インタフェースのマスタとなる電源制御部21に温度データを通知する。
【0071】
このような構成にすることにより、既存のソフトウェア・コンポーネントであるi2cスレーブメモリドライバ11bの機能をベースにして温度通知プロセスを実現することができる。よって、上記の温度センサドライバのようなソフトウェア・コンポーネントを新たに開発することが不要となり、ソフトウェアの開発工程を削減することができる。
【0072】
図4の説明に戻る。バッファbfは、温度センサ12によって検出された温度データを格納する。プラットフォームドライバ11cは、SOMモジュール10内にハードウェアとして実装されている温度センサ12と通信インタフェースを行うドライバである。センサドライバ11dは、プラットフォームドライバ11cを介して、温度センサ12から温度データを読み出すドライバである。
【0073】
温度ファイルシステムf1、通信ファイルシステムf2およびメモリファイルシステムf3は、Linux OS上で、ユーザ層とカーネル層とのインタフェースとして提供される仮想ファイルシステム(sysfs)である。仮想ファイルシステムは、カーネル層のデバイスやドライバをファイルのように扱うことができ、デバイスやドライバに対してデータの書き込みまたは読み出しを行う。
【0074】
温度ファイルシステムf1は、温度取得・設定アプリケーション11pとセンサドライバ11dとのインタフェースを行い、温度センサ12から読み出された温度データを温度取得・設定アプリケーション11pに送信する。
【0075】
通信ファイルシステムf2は、電源制御部21との通信の開始時、i2cスレーブ通信ドライバ11aをロードする。この場合、通信ファイルシステムf2は、温度取得・設定アプリケーション11pからの通信指示にもとづいて、SOMモジュール10が実装されているコプロボードB1のスロット位置を検出して、検出したスロット位置に対応するスレーブアドレス(コプロボードB1-1、・・・、B1-6ごとのアドレス)を決定する。
【0076】
このとき、i2cスレーブ通信ドライバ11aでは、スレーブアドレスを電源制御部21に通知し、電源制御部21は、通知されたスレーブアドレスに向けて温度データの要求コマンド(読み出しコマンド)を発行する。
【0077】
メモリファイルシステムf3は、温度取得・設定アプリケーション11pからの温度データ設定指示(温度データ書き込み指示)にもとづいて、温度取得・設定アプリケーション11pが取得した温度データをi2cスレーブメモリドライバ11bに送信する。i2cスレーブメモリドライバ11bは、メモリファイルシステムf3から送信された温度データを受信すると、バッファbfに温度データを設定する。
【0078】
一方、ユーザ層内の温度取得・設定アプリケーション11pは、温度ファイルシステムf1を介して温度データを定期的に取得し、取得した温度データを、メモリファイルシステムf3およびi2cスレーブメモリドライバ11bを介してバッファbfに設定する。また、温度取得・設定アプリケーション11pは、通信ファイルシステムf2を介して電源制御部21との通信インタフェースを起動する。
【0079】
<動作フローチャート>
図5は温度取得・設定アプリケーションの動作の一例を示すフローチャートである。
〔ステップS11〕制御部11のカーネル層が起動する。
【0080】
〔ステップS12〕温度取得・設定アプリケーション11pによるeepromエミュレーションが開始される。
〔ステップS13〕温度取得・設定アプリケーション11pは、通信ファイルシステムf2を経由して、自コプロボードB1のスロット位置を確定し、スレーブアドレスを決定する。なお、スロット位置が確定できない場合、制御部11から電源制御部21に向けてNACK応答が送信される。
【0081】
〔ステップS14〕温度取得・設定アプリケーション11pは、通信ファイルシステムf2を経由して、i2cスレーブ通信ドライバ11aおよびi2cスレーブメモリドライバ11bの組み込みを行う。
【0082】
また、i2cスレーブメモリドライバ11bは、温度取得・設定アプリケーション11pと通信を行うためのメモリファイルシステムf3と温度データを格納するための領域であるバッファbfを生成する。なお、ドライバの組み込みが失敗した場合、制御部11から電源制御部21に向けてNACK応答が送信される。
【0083】
〔ステップS15〕温度取得・設定アプリケーション11pは、温度データを補正するための設定ファイルの読み込みを行う。設定ファイルについては後述する。
〔ステップS16〕温度取得・設定アプリケーション11pは、SOMモジュール10内の温度センサ12から温度データを定期的に読み取って、バッファbfに温度データを設定する。このような温度通知プロセスによって、温度データの定期的な設定が行われるので、電源制御部21は、最新の温度データを認識することができる。
【0084】
なお、温度取得・設定アプリケーション11pによる温度通知プロセスが停止すると温度データの更新も行われなくなる。この場合、温度取得・設定アプリケーション11pは、プロセス終了時に異常温度データ(例えば、-25°C)をバッファbfに意図的に書き込む。電源制御部21は、異常温度データの値を認識すると、冷却ファンの回転数を最大回転数に設定し、またステータス表示としてエラー表示を行う。
【0085】
<温度データの補正>
情報処理システム1-2における、電源制御部21では、外付け温度センサ13で検知された温度データと、冷却ファンの回転数とを紐づけて管理している。また、外付け温度センサ13が検知する温度と、SOMモジュール10内の温度センサ12が検知する温度とは値が異なる。
【0086】
したがって、温度センサ12で検知された温度で冷却ファンを回転させる場合、温度データ補正処理を行って、温度センサ12で検知された温度データの値を、外付け温度センサ13で検知された温度データの値に変換する。
【0087】
一方、温度データの補正は、設定ファイル(ファイル情報)にもとづいて行われる。設定ファイルには、温度データ補正処理を行うための温度データ変換式が含まれている。例えば、センサドライバ11dが温度センサ12から取得した温度データをTH1とした場合、温度データ変換式Zは、Z=TH1×定数±所定温度値となる。
【0088】
このような温度データ変換式によって、SOMモジュール10内の温度センサ12で検知された温度データの値を、外付け温度センサ13で検知された温度データの値に変換することができる。なお、設定ファイルは、温度データ変換式だけでなく、温度通知プロセスの更新周期の情報も含まれている。また、設定ファイルに含まれるこれらの情報は任意に差し替え可能である。
【0089】
このように、電源制御部1は、SOMモジュール10を冷却する冷却ファンの回転数と、外付け温度センサ13で検知された冷却用温度データと、を紐づけて管理する。また、制御部11は、温度センサ12で検知された温度データの値を、温度データ変換式にもとづいて、外付け温度センサ13で検知された冷却用温度データの値に相当する補正温度データに変換する。
【0090】
そして、制御部11は、補正温度データを電源制御部21に通知して、電源制御部21に対して、外付け温度センサ13で検知された冷却用温度データの代わりに補正温度データによって冷却ファンの回転数を決定させる。
【0091】
これにより、電源制御部21側の機能変更(冷却ファンの回転数変更等)が不要になり、外付け温度センサ13で検知された温度データを用いずに、SOMモジュール10内の温度センサ12で検知された温度データにもとづいて冷却ファンを回転させることができる。
【0092】
また、制御部11は、温度データ変換式と、補正温度データをバッファbfに設定する際の所定周期の値とを含む設定ファイルを受信し、温度データを温度データ変換式にもとづいて補正して補正温度データを生成し、補正温度データを該所定周期でバッファbfに設定する。
【0093】
これにより、温度データ変換式と、補正温度データをバッファbfに設定する際の所定周期と、を設定ファイルを用いてユーザインタフェース等によって外部から任意に設定することができるので、システムの条件設定の柔軟性を高めることが可能になる。
【0094】
<温度データの補正・設定時の動作の流れ>
図6は温度データの補正・設定時の動作の一例を示すフローチャートである。
〔ステップS21〕温度取得・設定アプリケーション11pは、温度データ取得動作を第1の周期で開始する。なお、第1の周期は、上記の補正温度データをバッファbfに設定する際の所定周期と同じである。また、第1の周期は、電源制御部21からの温度データの要求コマンドが発行される周期よりも短く、第1の周期の値は、設定ファイルから任意に設定できる。
【0095】
〔ステップS22〕温度取得・設定アプリケーション11pは、温度ファイルシステムf1を経由してセンサドライバ11dから定期的に温度データを取得する。
〔ステップS23〕温度取得・設定アプリケーション11pは、設定ファイルに示される温度データ変換式にもとづいて温度データを補正する。
【0096】
〔ステップS24〕温度取得・設定アプリケーション11pは、補正後の温度データを、メモリファイルシステムf3を経由して、i2cスレーブメモリドライバ11bに送信し、i2cスレーブメモリドライバ11bは、補正温度データをバッファbfに設定する。ステップS22の処理に戻る。
【0097】
なお、温度取得・設定アプリケーション11pは、センサドライバ11dからの温度データの取得に失敗した場合、またはi2cスレーブメモリドライバ11bへの温度データの設定に失敗した場合、エラーメッセージをシステム関連のログ情報(syslog)に記録する。また、温度データの取得失敗から復帰した場合、およびi2cスレーブメモリドライバ11bへの温度データ設定失敗から復帰した場合、その旨のメッセージもsyslogに記録する。
【0098】
図7は温度データがバッファに設定されるまでの流れの一例を示す図である。温度センサ12で検知された温度データは、プラットフォームドライバ11c、センサドライバ11dおよび温度ファイルシステムf1を介して、温度取得・設定アプリケーション11pによって取得される。
【0099】
そして、温度データは、温度取得・設定アプリケーション11pからメモリファイルシステム、およびi2cスレーブメモリドライバ11bを介して、バッファbfに設定される。
【0100】
<温度データの読み出しおよび冷却ファン回転制御>
図8は温度データの読み出しおよび冷却ファン回転制御の動作の一例を示す図である。
〔ステップS31〕電源制御部21は、i2c通信バスを介して温度データの要求コマンドを発行する。
【0101】
〔ステップS32〕電源制御部21は、要求コマンドによって制御部11から返信された結果について判定する。結果がNACK応答の場合はステップS33の処理に進み、結果が温度異常の場合はステップS34の処理に進み、結果が温度データの正常値の場合はステップS35に処理が進む。
【0102】
〔ステップS33〕結果がNACK応答の場合、ドライバの未組み込み等が原因であり、電源制御部21は、予め取り決めた規定数の回転数で冷却ファンを駆動(回転)させる。
【0103】
〔ステップS34〕結果が温度異常の場合、電源制御部21は、最大回転数で冷却ファンを回転させる。
〔ステップS35〕結果が正常値の場合、電源制御部21は、温度データに紐づけて管理している回転数で冷却ファンを回転させる。
【0104】
〔ステップS36〕電源制御部21は、所定時間(例えば、1秒)ウエイトする。そして、ステップS31の処理に戻る。すなわち、電源制御部21は、温度データがバッファbfに設定される第1の周期よりも長い第2の周期で温度データの要求コマンドを発行することになる。
【0105】
図9は温度データが電源制御部に送信されるまでの流れの一例を示す図である。電源制御部21で発行された要求コマンドは、i2c通信バスに接続されるi2cスレーブ通信ドライバ11aを介して、i2cスレーブメモリドライバ11bで受信される。
【0106】
そして、i2cスレーブメモリドライバ11bによってバッファbfから最新の温度データ(補正されている場合は補正温度データ)が読み出され、読み出された温度データは、i2cスレーブ通信ドライバ11aを介して、i2c通信バスに接続される電源制御部21に送信される。
【0107】
上記のように、i2cスレーブメモリドライバ11bにより第1の周期で温度データがバッファbfに設定され、第1の周期よりも長い第2の周期で電源制御部21から温度データの要求コマンドが発行される。これにより、電源制御部21は、SOMモジュール10の最新の動作状態の温度データを取得することができる。
【0108】
<CPU負荷率にもとづく温度補正>
図10はCPU負荷率にもとづく温度補正の一例を示すフローチャートである。
〔ステップS41〕制御部11は、CPU負荷率を定期的に検出する。
【0109】
〔ステップS42〕制御部11は、検出したCPU負荷率と閾値とを比較する。CPU負荷率が閾値以上と判定した場合はステップS43に処理が進み、CPU負荷率が閾値未満と判定した場合はステップS41の処理に戻る。
【0110】
〔ステップS43〕制御部11は、温度センサ12で実測された温度データに所定値を加算して実測値よりも上昇させた上昇温度データを生成する。
〔ステップS44〕制御部11は、上昇温度データをバッファbfに設定する。なお、設定ファイルに温度データ変換式が含まれている場合は、上昇温度データを温度データ変換式で変換した値をバッファbfに設定する。
【0111】
〔ステップS45〕制御部11は、電源制御部21からの要求コマンドにもとづいて、バッファbfから上昇温度データを読み出して、電源制御部21に通知する。
このように、制御部11は、CPU負荷率を定期的に検出し、CPU負荷率が閾値以上であることを判定した場合、温度センサ12から取得した温度データに所定値を加算して実測値よりも上昇させた上昇温度データを生成する。そして、上昇温度データをバッファbfに設定して電源制御部21に通知する。
【0112】
これにより、SOMモジュール10が過熱状態に達する前に、電源制御部21によって回転数を強めにした冷却ファンを駆動することができるので、SOMモジュール10が過度な熱を持ってしまう状態を回避することができ、冷却効率を高めることが可能になる。
【0113】
上記で説明した本発明の情報処理装置1(SOMモジュール10)および情報処理システム1-1、1-2の処理機能は、コンピュータによって実現することができる。この場合、情報処理装置1および情報処理システム1-1、1-2が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0114】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD-ROM/RW等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
【0115】
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0116】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【0117】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
【0118】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0119】
1-1 情報処理システム
1 情報処理装置
2 対向装置
1a 制御部
1b 温度センサ
d1 ドライバ
bf1 バッファ
IF1 通信インタフェース
【手続補正書】
【提出日】2022-06-01
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
上記課題を解決するために、情報処理装置が提供される。情報処理装置は、温度を検知して温度データを出力する温度センサと、対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、ドライバにより温度データをバッファに設定し、ドライバにより温度データをバッファから読み出して通信インタフェースを介して対向装置に温度データを通知する制御部とを有する。また、制御部は、第1の周期でドライバにより温度データをバッファに設定し、第1の周期よりも長い第2の周期で、対向装置から送信された、温度データの要求コマンドを受信する。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
温度を検知して温度データを出力する温度センサと、
対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、前記ドライバにより前記温度データをバッファに設定し、前記ドライバにより前記温度データを前記バッファから読み出して前記通信インタフェースを介して前記対向装置に前記温度データを通知する制御部と、
を備え、
前記制御部は、
第1の周期で前記ドライバにより前記温度データを前記バッファに設定し、
前記第1の周期よりも長い第2の周期で、前記対向装置から送信された、前記温度データの要求コマンドを受信する、
情報処理装置。
【請求項2】
前記通信インタフェースは通信をマスタとスレーブとに分けて実行するシリアルバス通信インタフェースであり、前記デバイスはRAM(Random Access Memory)領域であって、
前記制御部は、
前記シリアルバス通信インタフェースの前記スレーブとなる前記RAM領域をEEPROM(Electrically Erasable Programmable Read-Only Memory)に見立ててデータ書き込み処理またはデータ読み出し処理を行う既実装されている前記ドライバを前記OS環境上で動作させ、
前記ドライバの前記データ書き込み処理によって前記温度データを前記バッファに設定し、
前記ドライバの前記データ読み出し処理によって前記温度データを前記バッファから読み出して前記シリアルバス通信インタフェースの前記マスタとなる前記対向装置に前記温度データを通知する、
請求項1記載の情報処理装置。
【請求項3】
前記対向装置は、前記情報処理装置を冷却する冷却ファンの回転数と、前記制御部と同一基板上に搭載されている外付け温度センサで検知された冷却用温度データと、を紐づけて管理しており、
前記制御部は、
前記温度センサで検知された前記温度データの値を、変換式にもとづいて、前記外付け温度センサで検知された前記冷却用温度データの値に相当する補正温度データに変換し、
前記補正温度データを前記対向装置に通知して、前記対向装置に対して、前記外付け温度センサで検知された前記冷却用温度データの代わりに前記補正温度データによって前記冷却ファンの回転数を決定させる、
請求項1記載の情報処理装置。
【請求項4】
前記制御部は、
前記変換式と、前記補正温度データを前記バッファに設定する際の所定周期の値とを含むファイル情報を受信し、
前記温度センサから取得した前記温度データを前記変換式にもとづいて補正して前記補正温度データを生成し、
前記補正温度データを前記所定周期で前記バッファに設定する、
請求項3記載の情報処理装置。
【請求項5】
前記制御部は、プロセッサ負荷率を定期的に検出し、前記プロセッサ負荷率が閾値以上であることを判定した場合、前記温度センサから取得した前記温度データに所定値を加算して実測値よりも上昇させた上昇温度データを生成し、前記上昇温度データを前記バッファに設定する請求項1記載の情報処理装置。
【請求項6】
温度を検知して温度データを出力する温度センサと、対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、前記ドライバにより前記温度データをバッファに設定し、前記ドライバにより前記温度データを前記バッファから読み出して前記通信インタフェースを介して前記対向装置に前記温度データを通知する制御部と、を含む情報処理装置と、
前記温度データにもとづいて冷却ファンを駆動して前記情報処理装置の冷却を行う前記対向装置であって、拡張バスを介してホスト装置と前記情報処理装置との通信を中継する中継装置と、
を備え、
前記制御部は、
第1の周期で前記ドライバにより前記温度データを前記バッファに設定し、
前記第1の周期よりも長い第2の周期で、前記対向装置から送信された、前記温度データの要求コマンドを受信する、
情報処理システム。
【請求項7】
コンピュータに、
対向装置と通信を行う通信インタフェースを有するデバイスにアクセス可能な既実装されているドライバをOS(Operating System)環境上で動作させ、
前記コンピュータと同一モジュール内に搭載されている温度センサで検知された温度データを、前記ドライバによりバッファに設定し、
前記ドライバにより前記温度データを前記バッファから読み出して、前記通信インタフェースを介して前記対向装置に前記温度データを通知し、
第1の周期で前記ドライバにより前記温度データを前記バッファに設定し、
前記第1の周期よりも長い第2の周期で、前記対向装置から送信された、前記温度データの要求コマンドを受信する、
処理を実行させるプログラム。