(58)【調査した分野】(Int.Cl.,DB名)
2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定する合計値判定部と、
前記2つの異なる電圧系のうち第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定する規定値判定部と、
前記第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えていると前記規定値判定部が判定した場合、前記2つの異なる電圧系のうち第2の電圧系の電圧から生成した前記第1の電圧系の電圧が入力されるスイッチを、前記拡張アダプタの前記第1の電圧系に接続させるスイッチ制御部と、
を備えるデバイス。
前記合計値判定部が前記許容される最大消費電力の合計値と、対応する前記拡張アダプタの最大消費電力の合計値とが一致しないと判定した場合、前記SCRの記憶する前記許容される最大消費電力の合計値を対応する前記拡張アダプタの最大消費電力の合計値に書き換えるSCR書換部、
を備える請求項2に記載のデバイス。
2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定することと、
前記2つの異なる電圧系のうち第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定することと、
前記第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えていると判定した場合、前記2つの異なる電圧系のうち第2の電圧系の電圧から生成した前記第1の電圧系の電圧が入力されるスイッチを、前記拡張アダプタの前記第1の電圧系に接続させることと、
を含む制御方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、PCIEの拡張スロットへ供給される電力は、
図2に示すように、3.3ボルト系と12ボルト系のそれぞれで最大値が規定されている。
そのため、特許文献1に記載の技術を用いた情報処理装置において、規定された値を超える電力を必要とする拡張アダプタが拡張スロットに接続された場合、電源が供給可能な全体の電力としては余裕があっても、電源は、その拡張アダプタに、必要な電力を供給することができない。その結果、拡張アダプタは、規定の電力の範囲内とするために、動作を制限するまたは動作を停止する必要がある。例えば、第1拡張スロットの最大消費電力が40ワット、第2拡張スロットの最大消費電力が25ワット、第3拡張スロットの最大消費電力が15ワット、第4拡張スロットの最大消費電力が10ワットに制限されており、第1拡張スロットに第1拡張アダプタが接続され、第2拡張スロットに第2拡張アダプタが接続され、第3拡張スロットに第3拡張アダプタが接続され、第1〜第3拡張アダプタのそれぞれの最大消費電力が30ワットである場合、第2拡張アダプタ及び第3拡張アダプタそれぞれは、動作を制限するまたは動作を停止する必要がある。
そこで、特許文献2に記載の技術を用いて、各拡張アダプタに必要な電力に基づいて、拡張スロットに供給しなければならない3.3ボルト系と12ボルト系の合計電力を算出し、拡張アダプタが規定された値を超える電力を必要とする場合に、他のアダプタの接続された拡張スロットのうちの規定された電力に対して余裕のある電力を、規定された値を超える電力を必要とする拡張スロットに供給することが考えられる。しかしながら、特許文献2に記載の技術では、スロットに供給しなければならない電力は3.3ボルト系と12ボルト系の合計電力として算出している。そして、他の拡張アダプタが接続された拡張スロットのうちの規定された電力に対して余裕のある電力も3.3ボルト系と12ボルト系の合計電力として算出し、その余剰の電力を電力の必要な拡張スロットに供給する技術である。したがって、特許文献2に記載の技術を用いた情報処理装置では、他のアダプタが接続された拡張スロットから電力が必要な拡張スロットに電力が供給された場合であっても、拡張アダプタの3.3ボルト系の回路に12ボルトの電圧が印加され、また、拡張アダプタの12ボルト系の回路に3.3ボルトの電圧が印加される可能性がある。このように、拡張アダプタに不適切な電圧が印加された場合、拡張アダプタに不具合が発生し、情報処理装置に不具合が発生する可能性がある。
【0005】
本発明の各態様は、上記の課題を解決することのできるデバイス、情報処理装置、制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様によれば、デバイスは、2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定する合計値判定部と、前記2つの異なる電圧系のうち第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定する規定値判定部と、前記第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えていると前記規定値判定部が判定した場合、前記2つの異なる電圧系のうち第2の電圧系の電圧から生成した前記第1の電圧系の電圧が入力されるスイッチを、前記拡張アダプタの前記第1の電圧系に接続させるスイッチ制御部と、を備える。
【0007】
本発明の別の態様によれば、情報処理装置は、上記のデバイスと、前記デバイスから最大消費電力の値を含むメッセージを受ける前記拡張アダプタと、を備える。
【0008】
本発明の別の態様によれば、制御方法は、2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定することと、前記2つの異なる電圧系のうち第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定することと、前記第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えていると判定した場合、前記2つの異なる電圧系のうち第2の電圧系の電圧から生成した前記第1の電圧系の電圧が入力されるスイッチを、前記拡張アダプタの前記第1の電圧系に接続させることと、を含む。
【0009】
本発明の別の態様によれば、プログラムは、コンピュータに、2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定することと、前記2つの異なる電圧系のうち第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定することと、前記第1の電圧系の最大消費電力の値が最大消費電力の規定値を超えていると判定した場合、前記2つの異なる電圧系のうち第2の電圧系の電圧から生成した前記第1の電圧系の電圧が入力されるスイッチを、前記拡張アダプタの前記第1の電圧系に接続させることと、を実行させる。
【発明の効果】
【0010】
本発明の各態様によれば、不具合を発生させずに、拡張アダプタの動作の制限及び停止を抑制することができる。
【発明を実施するための形態】
【0012】
<実施形態>
以下、図面を参照しながら実施形態について詳しく説明する。
本発明の一実施形態による情報処理装置1は、各拡張スロットに配分されている最大消費電力が、その拡張スロットに接続されている拡張アダプタの最大消費電力と同一でない場合、電源からの供給可能な電力の範囲内で拡張アダプタの最大消費電力と同一になるように各拡張スロットの最大消費電力を再配分し、3.3ボルト系の最大消費電力が不足している場合、12ボルトの電圧から3.3ボルトの電圧を生成し、3.3ボルト系の拡張アダプタに電力を供給する装置である。情報処理装置1は、例えば、サーバである。
【0013】
情報処理装置1は、
図1に示すように、ルートコンプレックス10(デバイスの一例)、拡張スロット20a、20b、20c、20d、拡張アダプタ30a、30b、30c、電源40、リセット回路50、DC−DCコンバータ60、スイッチ70を備える。拡張スロット20a、20b、20c、20dを総称して、拡張スロット20と呼ぶ。拡張アダプタ30a、30b、30cを総称して拡張アダプタ30と呼ぶ。
なお、
図1では、情報処理装置をSRV、ルートコンプレックスをRCP、拡張スロットをPSL、拡張アダプタをPADP、電源をPWR、リセット回路をRST、DC−DCコンバータをDCNV、スイッチをSWと示している。また、
図1には、I2C(Inter−Integrated Circuit)バス31、PCIエクスプレスバス21、22、23、24を示している。
【0014】
ルートコンプレックス10は、SCR(Slot Power Limit Value and Scale fields of the Slot Capabilities register)101a、101b、101c、101d(レジスタの一例)、SLPC102(合計値判定部の一例、規定値判定部の一例、スイッチ制御部の一例、SCR書換部の一例)を備える。SCR101a、101b、101c、101dを総称してSCR101と呼ぶ。ルートコンプレックス10は、ファームウェアまたはハードウェアによって実現される。
【0015】
SCR101のそれぞれは、対応する拡張スロット20に許容される最大消費電力の値を保持する。SCR101のそれぞれは、最大消費電力の値として、3.3ボルト系の最大消費電力の値、12ボルト系の最大消費電力の値、及び、それらの合計の消費電力の合計値を保持する。SCR101のそれぞれは、ダウンストリームポートに設けられる。SCR101のそれぞれは、ファームウェアまたはハードウェアによって実現される。
SLPC102は、電源40から各拡張スロット20へ供給される電力を制御する。また、SLPC102は、SCR101の保持する電力の値を読み取る。また、SLPC102は、各拡張アダプタ30の消費電量の値を読み取る。SLPC102は、読み取った拡張アダプタ30の消費電力の値に基づいて、SCRの値を変更する。また、SLPC102は、読み取った拡張アダプタ30の最大消費電力の値を含むPLM(Set_Slot_Power_Limit Message、メッセージの一例)を拡張アダプタ30に出力する。また、SLPC102は、スイッチ70の入出力間の接続を制御して、12ボルトの電圧から生成した3.3ボルトの電圧を、3.3ボルト系の電力が不足している拡張スロット20へ供給させる。
【0016】
拡張スロット20のそれぞれは、拡張アダプタ30を増設するためのスロットである。拡張アダプタ30が拡張スロット20に接続され、所定の電力が供給されることにより、拡張スロット20に接続された拡張アダプタ30の機能が情報処理装置1に追加される。
【0017】
各拡張アダプタ30は、その拡張アダプタ30の有する機能を情報処理装置1に追加する。各拡張アダプタ30は、ルートコンプレックス10からPLMを受ける。拡張アダプタ30aは、DCR(Captured Slot Power Limit Value and Scale fields of the Device Capabilities register)301aを備える。拡張アダプタ30bは、DCR301bを備える。拡張アダプタ30cは、DCR301cを備える。拡張アダプタ30dは、DCR301dを備える。DCR301a、301b、301c、301dを総称してDCR301と呼ぶ。
DCR301のそれぞれは、対応する拡張アダプタ30が受けたPLMに含まれる最大消費電力の値を保持する。DCR301のそれぞれは、最大消費電力の値として、3.3ボルト系の最大消費電力の値、12ボルト系の最大消費電力の値、及び、それらの合計の消費電力の合計値を保持する。
【0018】
電源40は、各拡張スロット20に3.3ボルト及び12ボルトの電圧を供給する。
リセット回路50は、SLPC102から情報処理装置1の初期化を指示するリセット指示信号を受けた場合に、情報処理装置1を初期化する。
DC−DCコンバータ60は、12ボルトの電圧から3.3ボルトの電圧を生成する。DC−DCコンバータ60は、生成した電圧をスイッチ70の第1端子に出力する。
スイッチ70の第2端子は、SLPC102の制御により、開状態または3.3ボルト系の電力の不足している拡張スロット20に接続される。スイッチ70の第2端子が開状態となった場合、DC−DCコンバータ60は、拡張スロット20の3.3ボルト系へ電力を供給しない。また、スイッチ70の第2端子が3.3ボルト系の電力の不足している拡張スロット20に接続された場合、DC−DCコンバータ60は、接続先の3.3ボルト系の電力が不足している拡張スロット20へ12ボルトから3.3ボルトへ変換した電力を供給する。
【0019】
次に、本発明の一実施形態による情報処理装置1の処理について説明する。ここでは、
図3に示す情報処理装置1の処理フローについて説明する。なお、DCR301a、301b、301cのそれぞれが保持する対応する拡張アダプタ30の最大消費電力を30ワットとする。また、拡張スロット20aに対応するSCR101aが保持する消費電力の値を40ワットとする。また、拡張スロット20bに対応するSCR101bが保持する消費電力の値を25ワットとする。また、拡張スロット20cに対応するSCR101cが保持する消費電力の値を15ワットとする。また、拡張スロット20dに対応するSCR101dが保持する消費電力の値を10ワットとする。この状態では、拡張スロット20b、20cのそれぞれは、対応する拡張アダプタ30a、30bの機能を制限または動作を停止させる。
【0020】
SLPC102は、各SCR101の保持する最大消費電力の値を読み取る。SLPC102は、読み取った最大消費電力の値が示す3.3ボルト系の最大消費電力の値と12ボルト系の最大消費電力の合計値を特定する(ステップS1)。
SLPC102は、各拡張アダプタ30の保持する最大消費電力の値を対応するDCR301から読み取る。SLPC102は、読み取った最大消費電力の値が示す3.3ボルト系の最大消費電力の値と12ボルト系の最大消費電力の合計値を特定する(ステップS2)。
【0021】
SLPC102は、SCR101の保持する最大消費電力の合計値と対応する拡張アダプタ30の保持する最大消費電力の合計値とを比較する。SLPC102は、SCR101の保持する最大消費電力の合計値と対応する拡張アダプタ30の保持する最大消費電力の合計値とが一致するか否かを判定する(ステップS3)。例えば、SLPC102は、SCR301aが保持する40ワットと、対応するDCR301aの保持する30ワットとを比較する。この場合、SLPC102は、一致しないと判定する。
【0022】
SLPC102は、合計値が一致しないと判定した場合(ステップS3においてNO)、SCR101の合計値を対応するDCR301の合計値に書き換える(ステップS4)。この合計値は、3.3ボルト系の最大消費電力の値、及び、12ボルト系の最大消費電力の値の和である。SLPC102は、ステップS4の処理を行ったSCR101と対応するDCR301を記憶する。
SLPC102は、この記憶に基づいて、すべてのSCR101とそれに対応するDCR301について、ステップS4の処理を行ったか否かを判定する(ステップS5)。
また、SLPC102は、合計値が一致すると判定した場合(ステップS3においてYES)、ステップS5の処理に進める。
【0023】
SLPC102は、すべてのSCR101とそれに対応するDCR301について、ステップS4の処理を行っていないと判定した場合(ステップS5においてNO)、ステップS3の処理に戻す。
また、SLPC102は、すべてのSCR101とそれに対応するDCR301についてステップS4の処理を行ったと判定した場合(ステップS5においてYES)、すべてのSCR101について、SCR101の合計値のうちの3.3ボルト系の最大消費電力の値が規定されている3.3ボルトの最大消費電力の値を超えているか否かを判定する(ステップS6)。
【0024】
SLPC102は、SCR101の合計値のうちの3.3ボルト系の最大消費電力の値が規定されている3.3ボルトの最大消費電力の値を超えていると判定した場合(ステップS6においてYES)、スイッチ70を3.3ボルト系の電力が不足している拡張スロット20に接続させる(ステップS7)。そして、SLPC102は、処理を完了する。
また、SLPC102は、SCR101の合計値のうちの3.3ボルト系の最大消費電力の値が規定されている3.3ボルトの最大消費電力の値を超えていないと判定した場合(ステップS6においてNO)、スイッチ70を開状態にする(ステップS8)。そして、SLPC102は、処理を完了する。
【0025】
以上、本発明の一実施形態による情報処理装置1について説明した。本発明の一実施形態による情報処理装置1において、SLPC102は、SCR101の保持する最大消費電力の合計値と対応する拡張アダプタ30の保持する最大消費電力の合計値とが一致するか否かを判定する。SLPC102は、すべてのSCR101について、SCR101の合計値のうちの3.3ボルト系の最大消費電力の値が規定されている3.3ボルトの最大消費電力の値を超えているか否かを判定する。SLPC102は、SCR101の合計値のうちの3.3ボルト系の最大消費電力の値が規定されている3.3ボルトの最大消費電力の値を超えていると判定した場合、スイッチ70を3.3ボルト系の電力が不足している拡張スロット20に接続させる(すなわち、同一の拡張スロット20における12ボルト系の余剰電力を3.3ボルト系の電力として利用する)。
このようにすれば、3.3ボルト系の最大消費電力の規定を満たしつつ、3.3ボルト系に規定されている最大消費電力を超える電力を必要とする拡張アダプタ30を動作させることができる。その結果、情報処理装置1に不具合を生じさせずに拡張アダプタ30の動作の制限や動作の停止を抑制することができる。
【0026】
なお、本発明の一実施形態による情報処理装置1のステップS4の処理として、SLPC102は、合計値が一致しないと判定した場合、SCR101の合計値を対応するDCR301の合計値に書き換えるものとして説明した。しかしながら、SLPC102は、電源40が供給可能な最大電力を超えてSCR101の合計値を書き換えることはできない。このような場合には、例えば、拡張アダプタ30の機能などに基づいて、書き換えを行うSCR101の優先順位を予め決定し記憶し、SLPC102は、その優先順位の順番に可能な範囲でSCR101の合計値を書き換えるものであってもよい。また、例えば、電源40が供給可能な最大電力と拡張アダプタ30に必要な最大消費電力との組み合わせに対する消費電力の拡張スロット20への分配を示すデータテーブルを予め作成して記憶し、SLPC102は、そのデータテーブルの示す電源40が供給可能な最大電力と拡張アダプタ30に必要な最大消費電力との組み合わせに対応する電力を拡張スロット20へ分配すればよい。
【0027】
なお、
図2からわかるように、拡張スロット20の最大消費電力の値が大きくなるにつれて、12ボルト系の最大消費電力の値は上昇するが、3.3ボルト系の最大消費電力の値は変化しない。そのため、12ボルト系に余剰電力が発生し、3.3ボルト系に電力の不足が発生することが考えられる。本発明の一実施形態では、このような理由により、3.3ボルト系に電力の不足が発生し、その場合に12ボルト系の余剰電力を3.3ボルト系に供給する例を示した。しかしながら、本発明の別の実施形態では、例えば、
図4に示すように、DC−DCコンバータ60の代わりに3.3ボルトの電圧から12ボルトの電圧を生成する昇圧回路80(
図4ではBSTR(Booster circuit))を備え、SLPC102は、スイッチ90を制御して、12ボルト系に電力の不足が発生し、その場合に3.3ボルト系の余剰電力を12ボルト系に供給するものであってもよい。また、本発明の別の実施形態では、例えば、
図5に示すように、DC−DCコンバータ60に加えて昇圧回路80(
図5ではBSTR)を備え、SLPC102は、スイッチ70、90を制御して、3.3ボルト系に電力の不足が発生した場合に12ボルト系の余剰電力を3.3ボルト系に供給し、12ボルト系に電力の不足が発生した場合に3.3ボルト系の余剰電力を12ボルト系に供給するものであってもよい。
【0028】
図6は、本発明の実施形態によるデバイス10aの最小構成を示す図である。
デバイス10aは、
図6に示すように、合計値判定部102a、規定値判定部102b、スイッチ制御部102cを備える。
合計値判定部102aは、2つの異なる電圧系それぞれの最大消費電力の値によって示される、許容される最大消費電力の合計値と、対応する拡張アダプタの最大消費電力の合計値とが一致するか否かを判定する。
規定値判定部102bは、前記2つの異なる電圧系のうちの一方の最大消費電力の値が最大消費電力の規定値を超えているか否かを判定する。
スイッチ制御部102cは、前記2つの異なる電圧系のうちの一方の最大消費電力の値が最大消費電力の規定値を超えていると規定値判定部102bが判定した場合、前記2つの異なる電圧系のうちの他方の電圧から生成した前記一方に適した電圧が入力されるスイッチを、前記拡張アダプタの前記一方の電圧系に接続させる。
【0029】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0030】
本発明の実施形態におけるSCR101、DCR301、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、SCR101、DCR301、その他の記憶装置のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
【0031】
本発明の実施形態について説明したが、上述のデバイス10a、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、
図7に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のデバイス10a、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
また、情報処理装置は、上述のコンピュータシステム、すなわち、
図7に示すコンピュータ5を備えるものであってもよい。
【0032】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0033】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0034】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。