以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の電子装置を示す図である。
電子装置10は、ファン11,12,13、部品14,15,16、記憶部17および処理部18を有する。
ファン11,12,13は、電子装置10の筐体の内部の温度が過剰に高まらないように電子装置10の筐体内の複数のエリアを冷却する。例えば、冷却用の媒体(冷媒)は空気である。ファン11,12,13は冷却対象エリアへの送風を行う。ファン11,12,13は、電子装置10の筐体内に一列に並べて配置される。具体的には、図1の下側から上側に向かう方向をY軸の正方向とし、同左側から右側に向かう方向をX軸の正方向とする。また、Z軸はXY軸に直交する軸である。
X軸の正方向をファン11,12,13の正面方向とする。ファン11,12,13による風向の初期設定は、X軸の正方向(正面方向)である。すなわち、ファン11,12,13は、当初、X軸の正方向を向いている。ファン11,12,13は、Y軸方向に、一列に並べて配置される。ファン11はファン12の隣に配置されている。ファン12は、ファン11,13の隣に配置されている。ファン13はファン12の隣に配置されている。
ファン11の向き(ファン11による風向)は、ファン11の向きを変更することで、変更可能である。例えば、ファン11は、風を所定方向へと導くフィンを有する。フィンは、Z軸に沿った回転軸をもつ。ファン11は、フィンの回転角度を設定することで、当該フィンの回転角度に応じた風向を実現できる。ファン12,13も、ファン11と同様にして、向きを変えることができる。また、ファン11,12,13の回転数は、個別に変更可能である。例えば、ファン11,12,13は、当初、電子装置10に備えられた温度センサによる温度の検出結果に応じて、所定の回転数で動作するよう処理部18により制御される。また、ファン11,12,13の向き、および、回転数は、処理部18により制御される。
ここで、電子装置10の筐体の内部の空間は、複数のエリアに分割されている。複数のエリアは、第1のエリア20、第2のエリア30および第3のエリア40を含む。第1のエリア20は、第2のエリア30に隣接する。第2のエリア30は、第1のエリア20および第3のエリア40に隣接する。第3のエリア40は、第2のエリア30に隣接する。例えば、第1のエリア20は、ファン11の排気側の面(正面)に臨むエリア(ファン11に隣接するエリア)である。第2のエリア30は、ファン12の排気側の面(正面)に臨むエリア(ファン12に隣接するエリア)である。第3のエリア40は、ファン13の排気側の面(正面)に臨むエリア(ファン13に隣接するエリア)である。
部品14,15,16は、電子装置10の電子部品である。例えば、部品14,15,16としては、CPU(Central Processing Unit)などのプロセッサやRAM(Random Access Memory)やその他の機能を実現する電子回路などが考えられる。部品14は、第1のエリア20に搭載されている。部品15は、第2のエリア30に搭載されている。部品16は、第3のエリア40に搭載されている。各エリアには、2以上の部品が搭載されてもよい。
記憶部17は、RAMなどの揮発性記憶装置でもよいし、フラッシュメモリなどの不揮発性記憶装置でもよい。処理部18は、CPU、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部18はプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)でもよい。記憶部17および処理部18は、第1のエリア20、第2のエリア30および第3のエリア40の何れかに搭載されてもよい。
記憶部17は、部品情報D1を記憶する。部品情報D1は、複数のエリアそれぞれに搭載された部品および部品の単位時間当たりの発熱量(単位はワット(W))を示す。例えば、部品情報D1は、第1のエリア20に搭載された部品14、および、部品14の単位時間当たりの最大発熱量(単位はW)を示す情報を含む。また、部品情報D1は、第2のエリア30に搭載された部品15、および、部品15の単位時間当たりの最大発熱量を示す情報を含む。更に、部品情報D1は、第3のエリア40に搭載された部品16、および、部品16の単位時間当たりの最大発熱量を示す情報を含む。部品情報D1は、各エリアにおける部品の搭載状況の変化に応じて、処理部18により変更される。各部品の単位時間当たりの発熱量(最大発熱量)の情報として、例えば、各部品や電子装置10のベンダによって提供される情報が、記憶部17に予め格納される。
処理部18は、記憶部17に記憶された部品情報D1と、部品の負荷を示す負荷情報D2とを取得する。処理部18は、部品14,15,16それぞれから負荷情報D2を取得する。例えば、処理部18は、部品の搭載状況に変化があった場合や部品の負荷に一定量以上の変化があった場合に、下記の処理を実行する。
処理部18は、部品情報D1および負荷情報D2に基づいて、現在の向きでのファンの第1の冷却効果と当該ファンが向けられたエリアとは異なる他のエリアにファンを向けた場合の当該ファンの第2の冷却効果とをファン毎に評価する。あるファンに対する他のエリアとは、例えば、当該ファンに隣接するエリアに更に隣接する隣接エリア(例えば、第1のエリア20に対する隣接エリアは第2のエリア30)である。
ここで、冷却効果は、該当のファンが筐体内の冷却への寄与度を表す指標である。例えば、冷却効果は、該当のファンから送られた冷媒が、当該ファンに対応する冷却エリアから奪う単位時間当たりの熱量(単位はワット(W))によって表される。この場合、該当のファンが冷却エリアから奪う単位時間当たりの熱量が大きいほど冷却効果が高く、当該熱量が小さいほど冷却効果が低いことになる。以下、単に熱量(発熱量)という場合、単位時間当たりの熱量(発熱量)を示すものとする。
また、冷却エリアは、複数のエリアのうち、該当のファンに隣接するエリアと、当該エリアに隣接する他のエリア(隣接エリア)とを合わせたエリアである。例えば、ファン11の冷却エリアA1は、第1のエリア20と第2のエリア30とを合わせたエリアである。図1では、冷却エリアA1を図示している。ファン12の冷却エリアは、第1のエリア20と第2のエリア30と第3のエリア40とを合わせたエリアである。ファン13の冷却エリアは、第2のエリア30と第3のエリア40とを合わせたエリアである。
ただし、ファン11,12,13それぞれに対する冷却エリアは、複数のエリアの全体(すなわち、第1のエリア20と第2のエリア30と第3のエリア40とを合わせたエリア)でもよい。一方、ファン11については、第3のエリア40への冷却の寄与が第1のエリア20および第2のエリア30への冷却の寄与に比較して小さい。このため、上記のように、ファン11による冷却の寄与が比較的小さいと推定される第3のエリア40をファン11の冷却エリアから除外してもよい。また、ファン13については、第1のエリア20への冷却の寄与が第2のエリア30および第3のエリア40への冷却の寄与に比較して小さいため、第1のエリア20をファン13の冷却エリアから除外してもよい。
例えば、処理部18は、ファン11,12,13それぞれに対して、第1の冷却効果と、第2の冷却効果とを評価する(ステップS1)。
例えば、各ファンによる風向を正面(S)、右向き(R)、および、左向き(L)の3段階に変更可能であるとする。右向き(R)とは、正面方向からY軸のマイナス方向へ45度傾けた向きである。左向き(L)とは、正面方向からY軸のプラス方向へ45度傾けた向きである。あるファンが正面向きの場合、当該ファンを他のエリアに向けることは、当該ファンの向きを右向きまたは左向きに変更することを意味する。また、あるファンが右向きの場合、当該ファンを他のエリアに向けることは、当該ファンの向きを正面向きまたは左向きに変更することを意味する。更に、あるファンが左向きの場合、当該ファンを他のエリアに向けることは、当該ファンの向きを正面向きまたは右向きに変更することを意味する。
あるファンを正面方向に向けた場合の冷却効果C(S)は、式(1)で表される。
ここで、aは、該当のファンの冷却エリアに属するエリア(図1の例では、第1のエリア20、第2のエリア30または第3のエリア40)を示す。Aは、該当のファンの冷却エリアに属するエリアの全体集合である。Haは、エリアaにおける発熱量である。処理部18は、Haをエリアaに搭載された部品の最大発熱量Hと負荷f(許容される最大負荷に対する現在の負荷の割合)とに基づいて算出する。例えば、Ha=H×fである。また、エリアaに複数の部品を搭載可能である場合、処理部18は、エリアaの部品の搭載率rによってHaを補正してもよい(例えば、Ha=H×f×rとしてもよい)。Ca(S)は、エリアaの発熱量Haに比例する必要換気風量Q(m3/min)に対する、ファンの風向(この場合、正面方向)および回転数により決まる換気風量q(S)(m3/min)の比率(Ca(S)=q(S)/Q)である。
また、あるファンを右向き方向に向けた場合の冷却効果C(R)は、式(2)で表される。
Ca(R)は、エリアaの発熱量Haに比例する必要換気風量Q(m3/min)に対する、ファンの風向(この場合、右向き方向)および回転数により決まる換気風量q(R)(m3/min)の比率(Ca(R)=q(R)/Q)である。
更に、あるファンを左向き方向に向けた場合の冷却効果C(L)は、式(3)で表される。
Ca(L)は、エリアaの発熱量Haに比例する必要換気風量Q(m3/min)に対する、ファンの風向(この場合、左向き方向)および回転数により決まる換気風量q(L)(m3/min)の比率(Ca(L)=q(L)/Q)である。
ただし、第1のエリア20には、プラスY方向に隣接エリアが存在しない。このため、処理部18は、ファン11に対して冷却効果C(L)を評価しなくてよい。また、第3のエリア40には、マイナスY方向に隣接エリアが存在しない。このため、処理部18は、ファン13に対して冷却効果C(R)を評価しなくてよい。
このように、処理部18は、部品の発熱量から部品が搭載されたエリアの発熱量を計算し、当該エリアの発熱量を当該エリアに搭載された部品の負荷により補正する。そして、処理部18は、当該エリアの補正後の発熱量に基づいて、第1の冷却効果と第2の冷却効果とを評価する。また、処理部18は、エリアaの部品の搭載率rによりHaを更に補正してもよい。これにより、エリア毎の発熱量を適切に算出し、冷却効果の評価の精度を向上できる。
前述のように、第1の冷却効果および第2の冷却効果は、該当のファンに対応する一群のエリア(冷却エリア)において当該ファンから送られた冷媒が奪う熱量である。処理部18は、エリア毎の補正後の発熱量に基づいて当該熱量を計算する。
図1では、一例として、ファン11の冷却効果の評価を示している。ファン11に対する第1の冷却効果を冷却効果C1とする。処理部18は、冷却効果C1(=C(S))を、式(1)により求める。ファン11に対する第2の冷却効果を冷却効果C2とする。処理部18は、冷却効果C2(=C(R))を、式(2)により求める。
処理部18は、同様にして、ファン12に対する第1の冷却効果(C(S))および第2の冷却効果を求める。ここで、処理部18は、ファン12については、第2の冷却効果として、C(R)、C(L)の両方を求める。更に、処理部18は、ファン13に対する第1の冷却効果(C(S))および第2の冷却効果(C(L))を求める。
処理部18は、第2の冷却効果が第1の冷却効果よりも高い第1のファンを選択する(ステップS2)。例えば、処理部18は、ファン11に対して求めた冷却効果C2が、冷却効果C1よりも高いと判定する。すると、処理部18は、ファン11を第1のファンとして選択する。
処理部18は、第1のファンを他のエリアに向け、複数のファンのうち当該他のエリアに向けられた第2のファンの回転数を下げる(ステップS3)。例えば、ファン11に対する他のエリアは、当該ファンに隣接する第1のエリア20に更に隣接する第2のエリア30である。処理部18は、ファン11による風向を、右向き(R)に変更することで、ファン11を第2のエリア30に向ける。
そして、処理部18は、第2のエリア30に向けられたファン12(第2のファン)の回転数を下げる。例えば、処理部18は、第2のエリア30に搭載された部品15の温度センサにより計測される温度を監視し、部品15の温度が所定温度よりも低い場合に、第2のエリア30の風量が過剰であると判定し、当該判定に応じて、ファン12の回転数を下げてもよい。
電子装置10によれば、一列に並べて配置された複数のファンにより、筐体内の複数のエリアが冷却される。複数のエリアそれぞれに搭載された部品および部品の発熱量を示す部品情報と、部品の負荷を示す負荷情報とが取得される。部品情報および負荷情報に基づいて、現在の向きでのファンの第1の冷却効果とファンが向けられたエリアとは異なる他のエリアにファンを向けた場合のファンの第2の冷却効果とがファン毎に評価される。第2の冷却効果が第1の冷却効果よりも高い第1のファンが選択される。第1のファンを他のエリアに向け、複数のファンのうち他のエリアに向けられた第2のファンの回転数が下げられる。
これにより、冷却のための消費電力を低減できる。
例えば、各ファンの回転数を一律にして、ファンによる風向きを変えることで、複数のファン全体として、所定の冷却性能を実現する方法が考えられる。しかし、この方法では、筐体内の電子部品の負荷の偏りによっては、各ファンによる冷却のための消費電力を十分に低減できない可能性がある。
図1のファン11,12,13が正面を向いている例において、第2のエリア30が比較的高負荷で、第1のエリア20および第3のエリア40が比較的低負荷であり、これら高負荷エリアの負荷と低負荷エリアの負荷との差が大きい場合を考える。この場合、高負荷である第2のエリア30を十分に冷却できるようにファン11,12,13の回転数を一律に設定すると、低負荷である第1のエリア20や第3のエリア40を主に冷却するファン11,13の回転数が過剰になり得る。このため、ファン11,12,13により電力が過剰に消費され得る。
また、ファン11,12,13の回転数を一律に設定した上で、ファン11,13の両方、または、何れか一方を、高負荷である第2のエリア30に向けることも考えられる。この場合、第2のエリア30が過剰に冷却される可能性があり、ファン11,12,13により電力が過剰に消費され得る。
そこで、電子装置10は、例示したように、ファン11,12,13の回転数を個別に制御し、現在向けられたエリアとは異なる他のエリアに向けた方が、冷却効果が高まるファン11を選択して、当該ファンを当該他のエリアに向ける。このとき、電子装置10は、各ファンの冷却効果の評価に、各エリアにおける部品の搭載状況や部品の負荷に応じた発熱量を用いることで、各ファンの冷却効果を適切に評価することができ、風向の変更対象とするファン11を適切に選択可能になる。
例えば、ファン11を第2のエリア30に向けることで、第2のエリア30に対するファン11からの風量が増し、第2のエリア30に流入する全体の風量が増す。すると、第2のエリア30の風量が過剰になる。このため、処理部18は、ファン12の回転数を下げることができる。こうして、電子装置10は、ファン11,12,13の全体としての消費電力を低減することができる。
すなわち、電子装置10は、高負荷である第2のエリア30の冷却に合わせて、ファン11,12,13の回転数を一律に上昇させなくてよく、低負荷エリアの過冷却を抑えられる。また、電子装置10は、第2のエリア30に複数のファンを向けることで、第2のエリア30が過剰に冷却されている場合に、第2のエリア30に向けられたファン12の回転数を下げるので、第2のエリア30の過冷却を抑えられる。電子装置10は、各エリアの過冷却を抑えることで、各ファンによる消費電力を低減できる。
なお、図1では、ファン11,12,13の排気側に冷却エリアが存在する構成例を示したが他の構成でもよい。例えば、ファン11,12,13の吸気側に冷却エリアが存在してもよい(この場合、例えば、ファン11,12,13の吸気側のフィンの角度変更によりファン11,12,13の向きを変更してもよい)。あるいは、ファン11,12,13の排気側および吸気側の両方に冷却エリアが存在してもよい。
また、ファンによる風向を3段階に変更する例を示したが、2段階または4段階以上に変更可能でもよい。4段階以上に変更可能にする場合、「ファンを他のエリアに向ける」ことは、「ファンの向きを現在とは異なる向きに変更する」ことに相当する。この場合、向き変更後のファンの送風先のエリアへ送風するファンの回転数を下げることができる。
また、処理部18は、例えば、電子装置10の筐体内の部品構成の変更または部品の負荷の変化を検出したときに、複数のファンそれぞれに対する第1の冷却効果および第2の冷却効果の評価を行い、評価に応じて第1のファンの選択を行うことが考えられる。これにより、筐体内の発熱状況の変化に追随して、適切な冷却を行える。
更に、電子装置10としては、複数のファンを搭載し得る種々の装置が考えられる。例えば、電子装置10は、HPC(High Performance Computing)計算機、複数のブレードが搭載されたブレードサーバ、シャーシ型スイッチ、あるいは、ストレージ装置などである。以下では、電子装置10としてストレージ装置を例示して、冷却制御の機能を更に詳細に説明する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態のストレージ装置を示す図である。
ストレージ装置100は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの記憶デバイス(ドライブと言う)を複数搭載可能であり、大容量の記憶領域を提供する。ストレージ装置100は、コントローラモジュール(CM:Controller Module)110,130、ファン部150、ドライブ部170および外気温センサ190を有する。
CM110,130は、サーバコンピュータ(図示を省略している)などによるデータアクセスを受け付け、ドライブ部170に格納されたデータにアクセスするストレージ制御装置である。CM110,130は、ドライブ部170に収納されたドライブに対するデータの書き込みや読み出しのアクセス制御を行う。CM110,130には識別番号が付与されている。CM110の識別番号は「#0」である。CM110を、「CM#0」と表記することがある。CM130の識別番号は「#1」である。CM130を、「CM#1」と表記することがある。
ファン部150は、一列に並べて配置された複数のファンの搭載部である。複数のファンは、ファン151,152,153,・・・を含む。複数のファンは、ストレージ装置100の筐体内を空冷により冷却する。複数のファンそれぞれは、個別に、風向および回転数を制御可能である。各ファンの風向および回転数は、CM110,130により制御される。例えば、ファンの風向は、予め定められた複数の向きに変更可能である。また、例えば、ファンの回転数は、予め定められた複数段階の回転数に変更可能である。
ドライブ部170は、複数のドライブを搭載可能な搭載部である。複数のドライブは、ドライブ171,172,173,・・・を含む。ドライブ171,172,173,・・・は、例えば、HDDである。ただし、ドライブ171,172,173,・・・は、SSDでもよいし、HDDとSSDとの組み合わせでもよい。ドライブ部170は、ドライブを搭載するためのスロットを複数有する。各スロットに対し、運用に応じて、ドライブを取り付けたり、取り外したりすることができる。
外気温センサ190は、ストレージ装置100の周囲の温度(外気温)を計測する温度センサである。外気温センサ190により計測された外気温は、CM110,130に提供される。
図3は、CMのハードウェア例を示すブロック図である。
CM110は、CPU111、RAM112、SSD113、CA(Channel Adapter)114、NA(Network Adapter)115、媒体リーダ116、CPU温度センサ117、監視部118、DI(Drive Interface)119、CM-IF(InterFace)120を有する。CM130もCM110と同様のハードウェアによって実現される。
CPU111は、プログラムの命令を実行するプロセッサである。CPU111は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM112にロードし、プログラムを実行する。なお、CPU111は複数のプロセッサコアを含んでもよい。また、CM110は複数のプロセッサを有してもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
RAM112は、CM110の主記憶装置である。RAM112は、CPU111が実行するプログラムやCPU111が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、CM110は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
SSD113は、CM110の補助記憶装置である。SSD113は、不揮発性の半導体メモリであり、CM110のファームウェアを含むプログラムや各種データなどを記憶する。
CA114は、SAN(Storage Area Network)101に接続され、SAN101を介してサーバコンピュータとの通信を行う通信インタフェースである。CA114として、例えばFC(Fibre Channel)のインタフェースを用いることができる。CM110は、CA114を複数備えてもよい。
NA115は、LAN(Local Area Network)102に接続され、LAN102を介してサーバコンピュータとの通信を行う通信インタフェースである。NA115として、例えばイーサネット(登録商標)のインタフェースを用いることができる。
媒体リーダ116は、記録媒体103に記憶されたプログラムやデータを読み取る装置である。記録媒体103として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することができる。媒体リーダ116は、例えば、CPU111からの命令に従って、記録媒体103から読み取ったプログラムやデータを、RAM112やSSD113などの記憶装置に格納することもできる。
CPU温度センサ117は、CPU111の温度を計測する温度センサである。
監視部118は、ストレージ装置100の動作に応じて、ファン部150における各ファンの動作を制御するプロセッサである。監視部118は、CPU、DSP、ASIC、FPGAなどにより実現されてもよい。監視部118は、外気温センサ190やCPU温度センサ117により計測された温度を監視し、温度の監視に応じて、ファン部150における各ファンの動作を制御する。また、監視部118は、CM110における各電子部品の搭載状況や負荷を監視し、電子部品の搭載状況や負荷の監視に応じて、ファン部150における各ファンの動作を制御する。
監視部118は、メモリ118aを有する。メモリ118aは、監視部118によるファンの制御に用いられる各種の情報を記憶する。メモリ118aは、揮発性のメモリおよび不揮発性のメモリを含んでもよい。監視部118は、第1の実施の形態の処理部18の一例である。メモリ118aは、第1の実施の形態の記憶部17の一例である。
ただし、監視部118の機能は、CPU111がRAM112に記憶されたプログラムを実行することで実現されてもよい。この場合、CPU111を、第1の実施の形態の処理部18の一例と考えることもできる。また、RAM112またはSSD113を、第1の実施の形態の記憶部17の一例と考えることもできる。
また、監視部118は、CM130が有する監視部と連携して、ファンの制御を行う。例えば、監視部118をマスタ、CM130の監視部をスレーブとし、監視部118により各ファンの制御を統括してもよい。
DI119は、ドライブ部170と接続するインタフェースである。例えば、DI119として、SAS(Serial Attached SCSI)(SCSIは、Small Computer System Interfaceの略)などのインタフェースを用いることができる。
CM-IF120は、CM130と接続するためのインタフェースである。CM130は、CM-IF120を用いて、CM130と連携してデータアクセスを行える。例えば、CM110を運用系、CM130を待機系としてもよい。あるいは、CM110,130の両方を運用系として、データアクセスを分散して行ってもよい。何れの場合も、一方の故障時に他方でデータアクセスを引き継ぐことができ、ユーザの業務が停止されることを防げる。
図4は、ストレージ装置の構造例を示す図である。
図4(A)は、ストレージ装置100の平面図である。図4(B)は、ストレージ装置100の側面図である。
ストレージ装置100の前面側には、ドライブ部170が配置される。ストレージ装置100の背面側には、CM110,130および(図2,3では図示を省略していた)電源部104が配置される。CM130は、電源部104の上側に配置される。ファン部150は、ドライブ部170およびCM110,130の間に配置される。ファン部150は、主に、CM110,130およびドライブ部170の冷却に用いられる。電源部104は、ファン部150以外に個別のファンを備え、当該ファンにより空冷される。本例では、電源部104は、ファン部150による冷却の対象外であるとする(ただし、電源部104をファン部150の冷却対象としてもよい)。
ここで、ストレージ装置100の奥行きを表す軸をX軸とする。X軸の正方向は、X軸に沿ってストレージ装置100の前面側から背面側へ向かう方向である。また、ドライブ部170に含まれる複数のドライブ、ファン部150に含まれる複数のファン、および、CM110,130は、各々、ストレージ装置100の幅方向に一列に並べられて配置される。ストレージ装置100の幅を表す軸をY軸とする。各ドライブ、各ファンおよびCM110,130には、識別番号が付与されている。Y軸の正方向は、当該識別番号の降順方向である。ドライブ部170の各ドライブは、Y軸方向に一列に並べて配置される。ファン部150の各ファンは、Y軸方向に一列に並べて配置される。CM110,130は、Y軸方向に並べて配置される。更に、ストレージ装置100の高さを表す軸をZ軸とする。Z軸の正方向は、Z軸に沿って低い方から高い方へ向かう方向である。
例えば、ドライブ部170は、24個のドライブを有する。各ドライブは、「#00」~「#23」の識別番号により識別される。また、ファン部150は、10個のファンを有する。各ファンは、「#0」~「#9」の識別番号により識別される。図4(B)の側面図では、ストレージ装置100を、ドライブ#23、ファン#9およびCM130の側から眺めた例を示している。
CM110の内部には、図3で例示したCPU111、RAM112、SSD113および各種通信用のインタフェースなどのハードウェア(電子部品)が配置される。同様に、CM130の内部には、CM130を構成するCPU、RAM、SSDおよび各種インタフェースなどのハードウェア(電子部品)が配置される。
図5は、ストレージ装置の筐体内の空気の流れの例を示す図である。
ファン#0~#9は、ストレージ装置100の前面側から吸気し、ストレージ装置100の背面側へ排気する。ストレージ装置100の筐体は、前面側に吸気口を有し、背面側に排気口を有する。ストレージ装置100の吸気口および排気口以外は、筐体ケースで覆われる。このため、ファン#0~#9の送風による空気の流れは、ストレージ装置100の前面側から背面側へ向かう方向(+X方向)となる。ファン#0~#9の向きは、当初、+X方向であるとする。+X方向は、ファン#0~#9の正面方向である。
図6は、ファンに対する冷却エリアの例を示す図である。
ストレージ装置100の筐体内においてファン部150による冷却対象の全空間(すなわち、ドライブ部170とCM110,130とが占める空間)は、幅方向の長さが同じである複数の部分空間に分割される。当該部分空間を、「分割エリア」と言う。例えば、監視部118は、ファンの数10個に対して、ファン部150による冷却対象の全空間の幅(Y方向の長さ)を10個に分割し、吸気側(ドライブ部170側)と排気側(CM110,130側)とを区別して各分割エリアを管理する。各分割エリアは、何れかのファンに隣接する。
吸気側の分割エリアは、「#N-0」(Nは0~9の整数)の識別子により識別される。「#N-0」の最後部の「0」は、吸気側であることを示す。また、排気側の分割エリアは、「#N-1」の識別子により識別される。「#N-1」の最後部の「1」は、排気側であることを示す。「N」は、Y軸の正方向に向かって降順に付される。
監視部118は、1つのファンに対して、分割エリアの組み合わせを、当該ファンの冷却エリアとする。具体的には、あるファンに隣接する吸気側の分割エリアと当該分割エリアに隣接する他の分割エリアとを合わせたエリアを、吸気側冷却エリアとする。また、当該ファンに隣接する排気側の分割エリアと当該分割エリアに隣接する他の分割エリアとを合わせたエリアを、排気側冷却エリアとする。そして、吸気側冷却エリアおよび排気側冷却エリアを合わせたエリアを、当該ファンの冷却エリアとする。
図6では、ファン152(識別番号「#1」のファン)に対する冷却エリアを例示している。ファン152は、吸気側の分割エリア#1-0と排気側の分割エリア#1-1との間に配置されている。ファン152は、分割エリア#1-0および分割エリア#1-1に隣接していると言える。ファン152に対する吸気側冷却エリア201は、分割エリア#0-0と分割エリア#1-0と分割エリア#2-0とを合わせたエリアである。ファン152に対する排気側冷却エリア202は、分割エリア#0-1と分割エリア#1-1と分割エリア#2-1とを合わせたエリアである。吸気側冷却エリア201と排気側冷却エリア202とを合わせたエリア(計6つの分割エリアを合わせたエリア)が、ファン152の冷却エリアである。
他のファンの冷却エリアも、ファン152と同様にして定められる。ただし、ファン#0については、ファン#0よりも+Y方向側に分割エリアが存在しないため、吸気側と排気側とでそれぞれ2つずつ、計4つの分割エリアを合わせたエリアが、ファン#0の冷却エリアとなる。また、ファン#9については、ファン#9よりも-Y方向側に分割エリアが存在しないため、吸気側と排気側とでそれぞれ2つずつ、計4つの分割エリアを合わせたエリアが、ファン#9の冷却エリアとなる。
なお、本例では、ファン1つ分の領域に隣接する分割エリアを組み合わせて冷却エリアとする場合を示すが、ファン2つ分の領域に隣接する分割エリアを組み合わせて冷却エリアとしてもよい。例えば、ファン#0,#1の第1の組、ファン#2,#3の第2の組というように、2つのファンをまとめて制御対象とすることも考えられる。その場合、例えば、ファンの第1の組に隣接する合計8個の分割エリア#0-0~#3-0、および、分割エリア#0-1~#3-1を合わせたエリアを、当該第1の組に対する冷却エリアとする。同様に、ファンの第2の組に隣接する合計12個の分割エリア#0-0~#5-0、および、分割エリア#0-1~#5-1を合わせたエリアを、当該第2の組に対する冷却エリアとする。このように、複数個のファンをまとめて1つのファンとみなして、下記で説明する方法と同様の制御を行うこともできる。
図7は、風向とファンの向きとの関係の例を示す図である。
監視部118は、ファン152が備えるフィン152aの角度を変更することでファン152の向きを変更する。フィン152aは、Z軸方向に回転軸をもち、Z軸周りに回転可能である。ファン152の向きは、ファン152による風向を定める。ファン152が正面(すなわち、+X方向)を向いているとき、フィン152aの角度は0度である。ファン152が正面を向いているときの風向210は、X軸に沿って+X方向へ向かう。ファン152の正面向きを、文字「S」で表す。
ファン152が正面に対して右を向いているとき、フィン152aの回転角度を-の符号を用いて-θと表す。ここで、θは、0度<θ<90度である。ファン152が右向きのときの風向211は、風向210に対して-θ回転した方向となる。ファン152の右向きを、文字「R」で表す。
ファン152が正面に対して左を向いているとき、フィン152aの回転角度を+の符号を用いて+θと表す。ファン152が左向きのときの風向212は、風向210に対して+θ回転した方向となる。ファン152の左向きを、文字「L」で表す。
ここで、一例として、ファン152の向きを正面向き(S)、右向き(R)、左向き(L)の3段階に設定可能であるとする。ファン152が右向きのとき、フィン152aの回転角度は-θ=-45度であるとする。ファン152が左向きのとき、フィン152aの回転角度は+θ=+45度であるとする。
図8は、部品管理テーブルの例を示す図である。
部品管理テーブル121は、分割エリアに配置された部品および当該部品の単位時間当たりの最大発熱量を管理するための部品情報である。部品管理テーブル121は、メモリ118aに格納される。部品管理テーブル121は、分割エリア、搭載部品名、部品搭載率および全搭載時最大発熱量の項目を含む。
分割エリアの項目には、分割エリアの識別子が登録される。搭載部品名の項目には、該当の分割エリアに搭載される部品名または部品の識別情報が登録される。部品搭載率の項目には、該当の分割エリアにおける部品の搭載率が登録される。全搭載時最大発熱量の項目には、該当の分割エリアにおける部品の搭載率が100%の場合の、当該分割エリアに存在する全部品の単位時間当たりの最大発熱量(当該分割エリアに配置された各部品の最大発熱量の合計)が登録される。単位時間当たりの熱量(発熱量)の単位は、ワット(W)である。以下、単に熱量(発熱量)という場合、単位時間当たりの熱量(発熱量)を示す。
ここで、部品の搭載率は、主に、ドライブ部170に対して用いられる。吸気側において分割エリア毎に搭載されるドライブの最大数は、例えば、分割エリアの幅(Y軸方向の長さ)と、ドライブの幅(Y軸方向の長さ)によって予め定まる。分割エリアに搭載されるドライブの最大数は、正の実数で表される。ドライブ部170には、運用に応じてドライブが搭載されない箇所も存在し得る。このため、監視部118は、ドライブの有無に応じて、吸気側の分割エリアの部品搭載率を変更する。
一方、本例では、CM110,130の両方が搭載されて運用され、CM110,130内部の電子部品が個別に取り外されたり取り付けられたりすることもないと考えてよい。このため、排気側の分割エリアの部品搭載率は、100%と考えてよい。ただし、RAM112などの除去や増設など、排気側の電子部品の搭載状況が変化し得る場合には、監視部118は、当該搭載状況の変化に応じて、排気側の分割エリアの部品搭載率を変更してもよい。
例えば、部品管理テーブル121には、分割エリアが「#0-0」、搭載部品名が「HDD」、部品搭載率が「100%」、全搭載時最大発熱量が「Q1」というレコードが登録される。このレコードは、分割エリア#0-0にはドライブとしてHDDが搭載され、現在の部品搭載率が100%であり、分割エリア#0-0での電子部品(HDD)の全搭載時(部品搭載率100%の時)の最大発熱量がQ1(W)であることを示す。
また、部品管理テーブル121には、分割エリアが「#7-0」、搭載部品名が「HDD」、部品搭載率が「80%」、全搭載時最大発熱量が「Q2」というレコードが登録される。このレコードは、分割エリア#7-0にはドライブとしてHDDが搭載され、現在の部品搭載率が80%であり、分割エリア#7-0での電子部品(HDD)の全搭載時の最大発熱量がQ2(W)であることを示す。
また、部品管理テーブル121は、分割エリアが「#8-0」、搭載部品名が「HDD」、部品搭載率が「0%」、全搭載時最大発熱量が「Q3」というレコードが登録される。このレコードは、分割エリア#8-0にはドライブとしてHDDが搭載され、現在の部品搭載率が0%であり、分割エリア#8-0での電子部品(HDD)の全搭載時の最大発熱量がQ3(W)であることを示す。
また、部品管理テーブル121には、分割エリアが「#0-1」、搭載部品名が「RAM,・・・」、部品搭載率が「100%」、全搭載時最大発熱量が「Q4」というレコードが登録される。このレコードは、分割エリア#0-1にはRAM112などの電子部品が搭載され、現在の部品搭載率が100%であり、分割エリア#1-0での電子部品の全搭載時の最大発熱量がQ4(W)であることを示す。
更に、部品管理テーブル121には、分割エリアが「#2-1」、搭載部品名が「CPU,・・・」、部品搭載率が「100%」、全搭載時最大発熱量が「Q5」というレコードが登録される。このレコードは、分割エリア#2-1にはCPU111などの電子部品が搭載され、現在の部品搭載率が100%であり、分割エリア#2-1での電子部品の全搭載時の最大発熱量がQ5(W)であることを示す。
部品管理テーブル121には、例示した以外の分割エリアについても同様に、搭載部品名、部品搭載率および全搭載時最大発熱量を示すレコードが登録される。
なお、監視部118は、CM130内の分割エリアにおける搭載部品名、部品搭載率および全搭載時最大発熱量の情報を、CM130の監視部から取得し、部品管理テーブル121に登録する。
図9は、負荷管理テーブルの例を示す図である。
負荷管理テーブル122は、分割エリアに配置された部品の現在の負荷を管理するための負荷情報である。負荷管理テーブル122は、メモリ118aに格納される。負荷管理テーブル122は、分割エリアおよび負荷率の項目を含む。
分割エリアの項目には、分割エリアの識別子が登録される。負荷率の項目には、当該分割エリアに配置された各部品の現在の負荷率の平均値が登録される。ここで、電子部品の負荷率は、CPU111などの演算用の電子部品であれば、例えば、単位時間当たりの最大演算実行量に対する現在の単位時間当たりの演算実行量の割合で表される。また、ドライブ、メモリおよびインタフェースなどの電子部品であれば、例えば、CPU111などからの最大許容アクセス頻度に対する現在のアクセス頻度の割合で表される。
例えば、負荷管理テーブル122には、分割エリアが「#0-0」、負荷率が「75%」というレコードが登録される。このレコードは、分割エリア#0-0に配置された各電子部品(HDD)の負荷率の平均が75%であることを示す。
また、負荷管理テーブル122には、分割エリアが「#2-1」、負荷率が「10%」というレコードが登録される。このレコードは、分割エリア#2-1に配置された各電子部品(CPU111など)の負荷率の平均が10%であることを示す。
更に、負荷管理テーブル122には、分割エリアが「#7-1」、負荷率が「100%」というレコードが登録される。このレコードは、分割エリア#7-1に配置された各電子部品の負荷率の平均が100%であることを示す。
負荷管理テーブル122には、例示した以外の分割エリアについても同様に、負荷率を示すレコードが登録される。
なお、監視部118は、各電子部品の負荷を収集し、部品管理テーブル121により、各電子部品が何れの分割エリアに属するかを判定する。そして、監視部118は、各分割エリアに属する電子部品の負荷率の平均を求めることで、負荷管理テーブル122を更新する。なお、監視部118は、CM130内の分割エリアにおける負荷率を、CM130の監視部から取得し、部品管理テーブル121に登録する。
図10は、冷却効果管理テーブルの例を示す図である。
冷却効果管理テーブル123は、監視部118により評価されたファン毎の冷却効果を管理するための情報である。冷却効果管理テーブル123は、メモリ118aに格納される。冷却効果管理テーブル123は、ファン、冷却効果C(S)、冷却効果C(R)、冷却効果C(L)の項目を含む。
ファンの項目には、ファンの識別番号が登録される。冷却効果C(S)の項目には、該当のファンが正面向きの場合の冷却効果が登録される。冷却効果C(R)の項目には、該当のファンが右向きの場合の冷却効果が登録される。冷却効果C(L)の項目には、該当のファンが左向きの場合の冷却効果が登録される。冷却効果の単位は、ワット(W)である。
ここで、冷却効果C(S)は、前述の式(1)で表される。また、冷却効果C(R)は、式(2)で表される。冷却効果C(L)は、式(3)で表される。第2の実施の形態では、各式におけるaは、該当のファンの冷却エリアに属する分割エリアを示す。また、各式におけるAは、該当のファンの冷却エリアに属する分割エリアの全体集合である。
更に、各式におけるHaは、部品管理テーブル121および負荷管理テーブル122に基づいて、Ha=(全搭載時最大発熱量)×(負荷率)×(部品搭載率)によって求められる。例えば、ファン152に対する冷却効果C(S),C(R),C(L)は、ファン152の冷却エリアに属する分割エリア毎のファン152の冷却効果の和であり、次の式(4)~(6)で表される(aに代入された内容を“<>”の記号で括って示す)。
C(S)=H<エリア#0-0>×C<エリア#0-0>(S)+・・・+H<エリア#2-1>×C<エリア#2-1>(S)・・・(4)
C(R)=H<エリア#0-0>×C<エリア#0-0>(R)+・・・+H<エリア#2-1>×C<エリア#2-1>(R)・・・(5)
C(L)=H<エリア#0-0>×C<エリア#0-0>(L)+・・・+H<エリア#2-1>×C<エリア#2-1>(L)・・・(6)
Ca(S)、Ca(R)、Ca(L)は前述のように、発熱量Haに比例する各分割エリアの必要換気風量Q(m3/min)に対する、該当のファンの風向および回転数により決まる換気風量q(S)、q(R)、q(L)の比率である。Ca(S)、Ca(R)、Ca(L)は次の式(7)~(9)で表される。
Ca(S)=q(S)/Q・・・(7)
Ca(R)=q(R)/Q・・・(8)
Ca(L)=q(L)/Q・・・(9)
各分割エリアの必要換気風量Q=Q(Ha)やファンの風向に応じた分割エリア毎の換気風量q(S)、q(R)、q(L)を示す情報は、メモリ118aに予め格納される。
例えば、冷却効果管理テーブル123には、ファンが「#0」、冷却効果C(S)が「a」、冷却効果C(R)が「b」、冷却効果C(L)が「c」というレコードが登録される。このレコードは、ファン#0が正面向きのときの冷却効果がa(W)であり、右向きのときの冷却効果がb(W)であり、左向きのときの冷却効果がc(W)であることを示す。冷却効果管理テーブル123には、他のファンについても同様に、冷却効果C(S),C(R),C(L)が登録される。
図11は、風向制御の例(その1)を示す図である。
前述のように、CM130は、CM110と同様のハードウェアを有する。図11では、CM130が備えるCPU131、CPU温度センサ137および監視部138を例示する。CPU131は、CM130の演算装置である。CPU温度センサ137は、CPU131の温度を計測するセンサである。図中、CPU111を「CPU#0」、CPU131を「CPU#1」と表記している。監視部138は、CPU温度センサ137や外気温センサ190により計測される温度、および、CPU131の負荷を監視する。監視部138は、CPU温度センサ137やCPU131の負荷を監視部118に提供する。
監視部118は、CPU温度センサ117や外気温センサ190により計測される温度、および、CPU111の負荷を監視する。また、監視部118は、CPU温度センサ137により計測された温度やCPU131の負荷を監視部138から取得する。
監視部118は、収集した各情報に基づいて、ファン#0~#9の向き、および、回転数を決定する。監視部118は、ファン#0~#4の向きや回転数を変更する。また、監視部118は、ファン#5~#9の向きや回転数の変更を監視部138に指示する。監視部138は、監視部118からの指示を受け付け、当該指示に応じて、ファン#5~#9の向きや回転数を変更する。
なお、制御対象のファンを、監視部118,138で分担する例を示したが、監視部118が、ファン#0~#9の向きを制御してもよい。例えば、監視部138は、CM110がダウンした場合に、ファン#0~#9の制御を、監視部118に代わって行ってもよい。
風向制御の第1の例として、ドライブ#21~#23が搭載されておらず、ファン#0~#9が正面向きの場合を考える。この場合、例えば、ファン#8,#9の冷却エリアのうち、ファン#8,#9に隣接する吸気側の分割エリアの発熱量が、当該冷却エリアの他の分割エリアよりも低くなる。すると、式(1)~(3)によれば、ファン#8の向きを正面向き(+X方向)とするよりも、左向きとする方が、ファン#8の冷却効果は向上する。また、式(1)~(3)によれば、ファン#9の向きを正面向きとするよりも、左向きとする方が、ファン#9の冷却効果は向上する。
このため、監視部118は、ファン#8,#9の向きを正面向きから左向きへ変更するように監視部138に、指示する。監視部138は、当該指示に応じて、ファン#8,#9の向きを正面向きから左向きへ変更するよう、ファン#8,9に指示する。ファン#8,#9は、当該指示に応じて、正面向きから左向きに変更する。すると、他のファン#0~#7(特に、ファン#5~#7など)の冷却エリアに対する風量が増す。このため、監視部118,138は、他のファンの回転数を低減し得る。監視部118,138は、CPU温度センサ117,137により計測される温度に基づいて、当該温度が規定温度範囲になるように、ファンの回転数をフィードバック制御する。
図12は、風向制御の例(その2)を示す図である。
風向制御の第2の例として、ドライブ#0~#23が搭載されており、ファン#0~#9が正面向きで、CPU111の負荷が10%であり、CPU131の負荷が100%である場合を考える。この場合、例えば、ファン#3,#4の冷却エリアのうち、CPU131に近い方の分割エリアの発熱量が、当該冷却エリアの他の分割エリアよりも高くなる。すると、式(1)~(3)によれば、ファン#3の向きを正面向き(+X方向)とするよりも、右向きとする方が、ファン#3の冷却効果は向上する。また、式(1)~(3)によれば、ファン#4の向きを正面向きとするよりも、右向きとする方が、ファン#4の冷却効果は向上する。
このため、監視部118は、ファン#3,#4の向きを正面向きから右向きへ変更するようにファン#3,#4に指示する。ファン#3,#4は、当該指示に応じて、正面向きから右向きに変更する。すると、他のファン#5~#9の冷却エリアに対する風量が増す。このため、監視部118,138は、他のファンの回転数を低減し得る。監視部118,138は、CPU温度センサ117,137により計測される温度に基づいて、当該温度が規定温度範囲になるように、ファンの回転数をフィードバック制御する。
次に、監視部118による監視処理の手順を説明する。
図13は、監視処理の例を示すフローチャートである。
ストレージ装置100が起動されると監視部118,138は以下の手順を実行する。
(S10)監視部118は、ストレージ装置100の装置構成を取得する。具体的には、監視部118は、ドライブ部170におけるドライブの搭載状況やCM110,130における各種の電子部品の搭載状況を取得する。監視部118は、取得した装置構成を分割エリアに対応付けて部品管理テーブル121に登録する。また、監視部118は、各分割エリアの部品搭載率を計算し、部品管理テーブル121に登録する。各電子部品の全搭載時最大発熱量は、電子部品のベンダにより提供される情報が、メモリ118aに予め格納される。なお、ファン部150には、ファン#0~#9が予め搭載されている。例えば、ファン#0~#9は、初期段階(ストレージ装置100の起動直後)では、一律に定められた所定の回転数で回転し送風する。また、監視部118は、負荷管理テーブル122に、各分割エリアの負荷率として、例えば、100%を設定する。
(S11)監視部118は、外気温センサ190により計測された外気温を取得し、外気温に基づいて、装置構成に応じた風向を各ファンに指示する。前述のように、ファンの制御をCM130の監視部138と分担して行う場合、監視部118は、一部のファンの制御を、監視部138を介して行ってもよい(以降のステップでも同様)。監視部118は、式(1)~(3)を用いて、ファン毎の冷却効果C(S),C(R),C(L)を計算し、冷却効果C(S),C(R),C(L)のうち最大の冷却効果に対応する向きに当該ファンを設定する。この段階では、監視部118は、負荷管理テーブル122に基づき、例えば、各分割エリアの負荷率を100%として、ファン毎の冷却効果C(S),C(R),C(L)を計算する。
(S12)監視部118は、装置構成の変更があるか否かを判定する。装置構成の変更がある場合、ステップS13に処理が進む。装置構成の変更がない場合、ステップS14に処理が進む。例えば、監視部118は、ドライブ部170に対するドライブの追加や除去の有無を定期的に確認し、ステップS12の判定を行う。
(S13)監視部118は、装置構成に応じた風向を各ファンに指示する。監視部118は、式(1)~(3)を用いて、ファン毎の冷却効果C(S),C(R),C(L)を計算し、冷却効果C(S),C(R),C(L)のうち最大の冷却効果に対応する向きに当該ファンを設定する。この段階では、監視部118は、負荷管理テーブル122に基づき、例えば、各分割エリアについて現在得られている負荷率に基づいて、ファン毎の冷却効果C(S),C(R),C(L)を計算する。そして、ステップS15に処理が進む。
(S14)監視部118は、各ファンの現在の風向を維持する。そして、ステップS15に処理が進む。
(S15)監視部118は、各分割エリアの負荷率について、負荷状態の変化があるか否かを判定する。負荷状態の変化がある場合、ステップS16に処理が進む。負荷状態の変化がない場合、ステップS17に処理が進む。例えば、監視部118は、各電子部品の負荷を定期的に取得し、部品管理テーブル121に基づいて、分割エリア毎の負荷率を計算して、負荷管理テーブル122に登録する。監視部118は、負荷管理テーブル122において、少なくとも1つの分割エリアで前回の負荷率から所定幅(例えば、負荷率差で20%)以上の負荷率の変動があった場合に、負荷状態の変化があると判定してもよい。一方、監視部118は、何れの分割エリアでも前回の負荷率から所定幅以上の負荷率の変動がなかった場合に、負荷状態の変化がないと判定してもよい。
(S16)監視部118は、負荷状態に応じた風向を各ファンに指示する。監視部118は、式(1)~(3)を用いて、ファン毎の冷却効果C(S),C(R),C(L)を計算し、冷却効果C(S),C(R),C(L)のうち最大の冷却効果に対応する向きに当該ファンを設定する。この段階では、監視部118は、負荷管理テーブル122に基づき、例えば、各分割エリアについて現在得られている負荷率に基づいて、ファン毎の冷却効果C(S),C(R),C(L)を計算する。そして、ステップS18に処理が進む。
(S17)監視部118は、各ファンの現在の風向を維持する。そして、ステップS18に処理が進む。
(S18)監視部118は、CPU温度センサ117またはCPU温度センサ137により計測された温度(監視温度)が第1規定値未満であるか否かを判定する。CPU温度センサ117またはCPU温度センサ137により計測された監視温度が第1規定値未満の場合、ステップS19に処理が進む。CPU温度センサ117およびCPU温度センサ137により計測された監視温度が第1規定値以上の場合、ステップS20に処理が進む。
(S19)監視部118は、監視温度が第1規定値未満であるCPU温度センサが属する分割エリアを部品管理テーブル121から特定する。監視部118は、当該分割エリアを冷却エリアとして含むファンの回転数を1段階下げる。あるいは、監視部118は、当該分割エリアを冷却エリアとして含むファンのうちの一部のファンの回転数を1段階下げる。ここで、前述のように、ファンの回転数は、予め定められた複数段階の回転数に変更可能である。そして、ステップS23に処理が進む。なお、監視部118は、風向を正面向きから別の向きに変更したファンの回転数を下げることもある。
(S20)監視部118は、CPU温度センサ117またはCPU温度センサ137により計測された監視温度が第2規定値を超過しているか否か(第2規定値よりも大きいか否か)を判定する。ここで、第2規定値>第1規定値である。CPU温度センサ117またはCPU温度センサ137により計測された監視温度が第2規定値を超過している場合、ステップS21に処理が進む。CPU温度センサ117およびCPU温度センサ137により計測された監視温度が第2規定値以下の場合、ステップS22に処理が進む。
(S21)監視部118は、監視温度が第2規定値を超過しているCPU温度センサが属する分割エリアを部品管理テーブル121から特定する。監視部118は、当該分割エリアを冷却エリアとして含むファンの回転数を1段階上げる。あるいは、監視部118は、当該分割エリアを冷却エリアとして含むファンのうちの一部のファンの回転数を1段階上げる。そして、ステップS23に処理が進む。なお、監視部118は、風向を正面向きから別の向きに変更したファンの回転数を上げることもある。
(S22)監視部118は、各ファンの現在の回転数を維持する。そして、ステップS23に処理が進む。
(S23)監視部118は、ストレージ装置100の装置停止指示を受け付けたか否かを判定する。装置停止指示を受け付けた場合、監視処理が終了する。装置停止指示を受け付けていない場合、所定時間(監視処理を行う周期として定められた時間)が経過すると、ステップS12に処理が進む。
図14は、冷却のための消費電力の例を示す図である。
テーブル300は、冷却のための消費電力を2つのパターンについて例示している。1つ目の例は、比較例であり、監視部118,138による風向制御を行わない場合(すなわち、各ファンが全て正面向きの場合)である。2つ目の例は、監視部118,138による風向制御を行う場合(すなわち、幾つかのファンの風向が正面向きから別の向きに変更される場合)である。
まず、あるタイミングにおいて、ファン#0~#9が全てに正面向きで動作している場合(風向制御なしの場合)を考える。この場合、ファン#0~#4の設定風量が0.18(m3/min)であり、ファン#5~#9の設定風量が0.54(m3/min)である。また、ファン#0~#9が風向制御なし(すなわち、全て正面向き)である。ここで、ファンの設定風量が0.18(m3/min)のときの当該ファンの消費電力を1.0に正規化する。ファン#0~#4それぞれの消費電力は、1.0である。ファン#5~#9それぞれの消費電力は27.0である。したがって、1つ目の例では、ファン#0~#9の合計の風量は3.6(m3/min)であり、ファン#0~#9の合計の消費電力は140である。なお、一般に、ファンの消費電力は、風量の3乗に比例することが知られている。
次に、比較例と同じ状況において、監視部118,138による風向制御を行う場合を考える。例えば、監視部118は、ファン#3,#4の向きを、-45度傾けることで、右向きとする。それ以外のファン#0~#2およびファン#5~#9については、風向制御なし(すなわち、正面向き)とする。
すると、監視部118は、例えば、CPU温度センサ137により計測された監視温度が第1規定値未満となったために、ファン#5~#9の回転数を下げることで、ファン#5~#9の風量を下げる。具体的には、監視部118は、ファン#5~#9の風量を、前述の0.54(m3/min)から0.47(m3/min)に下げる。なお、ファン#3,#4の向きを変更することで、CPU温度センサ137により計測された監視温度が一時的に第1規定値未満となることも考えられる。監視部118は、引き続き、CPU温度センサ117,137により計測された監視温度の監視を行う。
その後、監視部118は、装置構成および負荷状態の変動がなく、CPU温度センサ137により計測された監視温度が第2規定値よりも高くなったために、ファン#3,#4の回転数を上げることで、ファン#3,#4の風量を上げる。このようにして、監視部118は、CPU温度センサ137により計測された監視温度を、第1規定値以上、かつ、第2規定値以下の範囲に収まるように、ファンの回転数をフィードバック制御する。
なお、監視部118は、風向を変更したファン#3,#4、または、CPU温度センサ137を含む分割エリアおよび当該分割エリアに隣接する分割エリアを冷却するファン#5~#9のうちの何れのファンの風量を上げるかを任意の方法で選択することができる。
例えば、監視部118は、ファン#3,#4,・・・と順番に1段階ずつ回転数(風量)を上げていき、CPU温度センサ137の監視温度が上記範囲に収まった段階で、ファンの回転数の調節を完了してもよい。また、複数個(例えば、2個)のファンをまとめて1回の回転数の調節対象としてもよい。例えば、監視部118は、ファン#3,#4の組、ファン#5,#6の組、・・・というように、ファンの組毎に順番に1段階ずつ回転数を上げていき、CPU温度センサ137の監視温度が上記範囲に収まった段階で、ファンの回転数の調節を完了してもよい。
また、監視部118は、各ファンの回転数を上げる場合、各ファンについて低減した風量wの3乗の和(=Σw3=F1)に対し、各ファンについて上昇させる風量vの3乗の和(=Σv3=F2)がF2<F1を満たすように、各ファンの回転数を上げてもよい。
こうして、監視部118により各ファンが制御されることで、監視温度が規定範囲に収まった状態が定常的に継続するようになる(定常状態となる)。このとき、ファン#3,#4の風量は、前述の0.18(m3/min)から0.36(m3/min)に上げられているものとする。この状態でのファン#0~#2それぞれの消費電力は1.0である。ファン#3,#4それぞれの消費電力は8.0である。ファン#5~#9それぞれの消費電力は17.6である。したがって、2つ目の例では、ファン#0~#9の合計の風量は3.6(m3/min)であり、ファン#0~#9の合計の消費電力は106.9である。
ここで、1つ目の風向制御なしの例(比較例)と、2つ目の風向制御ありの例とでは、ファン#0~#9の総風量が同程度である。一方、消費電力は、2つ目の風向制御ありの例の方が、1つ目の風向制御なしの例(比較例)よりも、約20%程度、消費電力が小さい。このように、監視部118は、ファンの風向制御および回転数の制御を行うことで、要請される冷却性能を満たしながら、各ファンによる冷却のための消費電力を低減できる。
なお、上記の例では、ファン#3,#4の向きを変更し、ファン#5~#9の回転数を下げた後に、CPU温度センサ137により計測された監視温度が第2規定値よりも高くなることを示した。一方、各ファンの回転数、装置構成および負荷によっては、ファン#3,#4の向きを変更し、ファン#5~#9の回転数を下げた後に、CPU温度センサ137により計測された監視温度が第1規定値よりも低くなることもあり得る。この場合、監視部118は、ファン#3~#9のうちの何れかのファン(例えば、ファン#3,#4)の回転数を下げてもよい。こうして、更に省電力化を図ることもできる。
ここで、テーブル300で示される風向制御ありの場合のストレージ装置100の筐体内の風速の分布は、例えば次のようになる。
図15は、筐体内の風速の例を示す図である。
図15では、ハッチングの色の濃さによりストレージ装置100の筐体内の風速を表し、色が濃いほど、風速が速いことを表す。図15(A)は、風向制御なしの場合を示している。ファン#0~#9は、正面向きである。図14で例示したように、ファン#0~#4の設定風量は、0.18(m3/min)である。ファン#5~#9の設定風量は、0.54(m3/min)である。この場合、領域410における風速は、2.84(m/s)程度である。また、領域420における風速は、5.64(m/s)程度である。
図15(B)は、風向制御ありの場合を示している。ファン#0~#2,#5~#9は正面向きである。ファン#3,#4は、右向き(-45度傾いた状態)である。図14で例示したように、ファン#0~#2の設定風量は、0.18(m3/min)である。ファン#3,#4の設定風量は、0.36(m3/min)である。ファン#5~#9の設定風量は、0.47(m3/min)である。この場合、領域430における風速は、2.80(m/s)程度である。また、領域440における風速は、5.60(m/s)程度である。
図15(A)および図15(B)を比較すると、ファン#3,#4の向きを右向きにすることで、ファン#5~#9の回転数を下げても、領域420に対応する領域440における各ファンからの風による風速を維持できることが分かる。
図16は、風向制御の影響の例を示す図である。
図16でも、図15と同様に、ハッチングの色の濃さによりストレージ装置100の筐体内の風速を表し、色が濃いほど、風速が速いことを表す。図16(A)は、風向制御なしの場合を示している。図16(B)は、風向制御ありの場合を示している。
図16(A)と図16(B)とを比較すると、図16(B)の領域441は、図16(A)の同領域よりも風速が速く、ファン#3,#4を右向きとした風向制御の影響が表れている。こうして、ファン#3,#4から送られた風が、ファン#5~#9の冷却エリアに吹き込むことで、当該冷却エリアの総風量が増し、ファン#5~#9の回転数を下げることができる。ファン#5~#9の回転数を下げることで、ストレージ装置100における冷却のための消費電力を低減することができる。
なお、上記の例では、監視部118は、ストレージ装置100の部品構成や負荷の変動に応じて、式(1)~(3)の冷却効果の計算を行い、計算結果に基づいて各ファンの向きや回転数を制御するものとした。一方、監視部118は、ストレージ装置100の部品構成およびCPU111,131の負荷のパターン毎に、ファンの向きを予め計算し、当該計算結果を示す風向テーブルをメモリ118aに予め格納しておいてもよい。あるいは、監視部118は、他のコンピュータなどにより生成された風向テーブルを予め取得しておき、メモリ118aに格納しておいてもよい。そこで、風向テーブルの例を説明する。
図17は、風向テーブルの例を示す図である。
風向テーブル124は、メモリ118aに格納される。風向テーブル124は、ドライブ搭載状態、CPU負荷率およびファン風向の項目を含む。
ドライブ搭載状態は、ドライブ部170におけるドライブ#00~#23それぞれの有無が登録される。「有」は、該当のドライブありを示す。「無」は、該当のドライブなしを示す。CPU負荷率の項目には、CPU111(CPU#0)およびCPU131(CPU#1)の負荷率(%)が登録される。ファン風向の項目には、ファン#0~#9それぞれの向きが登録される。前述のように、正面向きを「S」、右向きを「R」、左向きを「L」とする。
例えば、風向テーブル124には、ドライブ搭載状態が、ドライブ#00~#23について全て「有」、CPU111のCPU負荷率が「100%」、CPU131のCPU負荷率が「100%」、ファン風向が、ファン#0~#9について全て「S」というレコードが登録される。このレコードは、ドライブ部170にドライブ#00~#23が全て搭載されており、かつ、CPU111,131のCPU負荷率が共に「100%」である場合に、ファン#0~#9の向きを全て正面向きにすることを示す。
風向テーブル124には、ドライブ搭載状態およびCPU負荷率の他の組み合わせに対しても、同様に、ファン#0~#9に対するファン風向が登録される。
例えば、監視部118は、図13のステップS13およびステップS16において、風向テーブル124を参照し、該当のステップの実行時点における装置構成や負荷状態に合致するパターンに対応する各ファンの向きを特定する。そして、監視部118は、各ファンについて特定した向きとなるように各ファンに指示する。
なお、図17の例では、CPU負荷率を用いるものとしたが、各分割エリアの負荷率(該当の分割エリアに配置された各電子部品の平均の負荷率)を用いてもよい。
また、上記以外の制御方法として、監視部118は、図13で例示した監視処理の手順を行いながら、部品構成、各分割エリアの負荷率および外気温のパターンに応じた定常状態の風向および回転数をファン毎に記録することも考えられる。例えば、監視部118は、メモリ118aに格納された所定のテーブルを用いて当該記録を行ってもよい。こうして、監視部118は、各パターンに適したファン毎の風向および回転数を学習することで、フィードバック制御を省略して、ファンに対する適切な回転数を迅速に設定可能になる。
ところで、これまでの説明では、ファン部150の吸気側および排気側の両方の側に電子部品が搭載される例を示したが、吸気側および排気側の何れか一方のみに電子部品が搭載されてもよい。そこで、以下では、ストレージ装置100の装置構成の他の例を説明する。
図18は、装置構成の他の例(その1)を示す図である。
ストレージ装置100aは、各ファンの吸気側にドライブ部170が存在していない点がストレージ装置100と異なる。この場合、各ファンの冷却エリアは、各ファンの排気側の分割エリアの組み合わせとなる。すなわち、監視部118は、冷却エリアの全体集合Aを排気側の分割エリアのみとすることで式(1)、(2)、(3)を適用し、ストレージ装置100と同様に、各ファンの風向制御および回転数の制御を行うことができる。
例えば、当初、各ファンが正面向きであるとする。そして、CPU111の負荷が比較的小さく、CPU131の負荷が比較的大きい場合に、監視部118は、ファン#0~#9のうち、ファン#3,#4の向きを右向きに変更し、ファン#5~#9の回転数を低減する。その結果、ストレージ装置100aにおける冷却のための消費電力を低減することができる。
図19は、装置構成の他の例(その2)を示す図である。
ストレージ装置100bは、各ファンの吸気側にCM110,130を備え、各ファンの排気側に他の電子部品が存在していない点がストレージ装置100と異なる。この場合、各ファンの冷却エリアは、各ファンの吸気側の分割エリアの組み合わせとなる。すなわち、監視部118は、冷却エリアの全体集合Aを吸気側の分割エリアのみとすることで式(1)、(2)、(3)を適用し、ストレージ装置100と同様に、各ファンの風向制御および回転数の制御を行うことができる。
なお、ファンの吸気側の向きを変更するため、例えば、ファン#0~#9それぞれは、吸気側にZ軸を回転軸とするフィンを備え、当該フィンの回転により、ファンの向きを変更してもよい。この場合、例えば、正面とは逆向きの方向(-X方向)に対して、時計回りに45度(-45度)だけフィンを回転させた場合を当該ファンの右向き(R)とする。また、正面とは逆向きの方向(-X方向)に対して、反時計回りに45度(+45度)だけフィンを回転させた場合を、当該ファンの左向き(L)とする。
例えば、当初、各ファンが正面向きであるとする。そして、CPU111の負荷が比較的小さく、CPU131の負荷が比較的大きい場合に、監視部118は、ファン#0~#9のうち、ファン#3,#4の向きを左向きに変更し、ファン#5~#9の回転数を低減する。その結果、ストレージ装置100bにおける冷却のための消費電力を低減できる。
ところで、近年、ストレージ装置100,100a,100bでは、高集積化により、複数のCM、および、複数のドライブが1つの筐体に内蔵されることが多い。その結果、使用用途に応じて、筐体内に実装されるユニット(ドライブなどの部品)の数量の偏りが大きくなることもある。また、ストレージ装置100,100a,100bの機能の多様化が進んだ結果、CM毎に、動作(アプリケーション、ワークロード)が異なるケースも多くなっている。このようなケースでは、アプリケーション毎のQoS(Quality of Service)が重要となるため、CM毎に、一律に負荷分散させることが難しいこともある。
そして、筐体内の電子部品の負荷の偏りによっては、各ファンによる冷却のための消費電力を十分に低減できないことがある。例えば、筐体内において高負荷の箇所と低負荷の箇所との負荷の差が比較的大きい場合がある。この場合、高負荷の箇所を十分に冷却できるように各ファンの回転数を一律に設定すると、低負荷の箇所の付近を冷却するファンの回転数が過剰になり、当該ファンにより電力が過剰に消費されることがある。また、高負荷の箇所に各ファンが向けられることで、高負荷の箇所が過剰に冷却され、各ファンにより電力が過剰に消費されることもある。
そこで、CM110,130は、例示したように、各ファンの回転数を個別に制御し、現在向けられた分割エリアとは異なる他の分割エリアに向けた方が、冷却効果が高まるファンを選択して、当該ファンを当該他の分割エリアに向ける。そして、CM110,130は、当該他の分割エリアに向けられた別のファンの回転数を下げる。これにより、ストレージ装置100(または、ストレージ装置100a,100b)の冷却のための消費電力を低減できる。
なお、第1の実施の形態の情報処理は、処理部18にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、監視部118に含まれるプロセッサ、または、CPU111に、プログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体103に記録できる。
例えば、プログラムを記録した記録媒体103を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体103に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM112、SSD113およびメモリ118aなどの記憶装置に格納(インストール)してもよい。そして、コンピュータは、当該記憶装置からプログラムを読み込んで実行してもよい。