複数の試験項目のうち、現在実行されている試験項目の試験を識別する識別情報を記憶する識別情報記憶部と、試験対象に前記複数の試験項目の試験をそれぞれ実行し、1つの試験項目の試験の終了に伴い前記識別情報記憶部に記憶されている識別情報を、次に実行する試験項目の試験の識別情報に変更する試験実行部と、所定時間以内に前記識別情報記憶部に記憶されている識別情報が変更されたか否かを判断する判断部とを備える制御部と、前記判断部が、前記識別情報が前記所定時間以内に変更されなかったと判断した場合、前記制御部の再起動を前記制御部に電圧を供給する回路に指示する指示部と、を有することを特徴とする情報処理装置。前記指示部は、カウンタを有し、前記制御部は、前記所定時間以内に前記識別情報が更新された場合は、前記カウンタのカウンタ値を所定のタイミングで第1のカウンタ値に設定する処理を実行し、前記指示部は、前記カウンタのカウンタ値が第2のカウンタ値になる前に前記制御部により前記第1のカウンタ値に設定されなければ、前記制御部の再起動を指示することを特徴とする請求項1記載の情報処理装置。前記制御部のBIOSの起動に伴い実行されるプログラムのコードの生成を監視し、前記BIOSの起動が完了する前に所定時間前記プログラムのコードが生成されなくなった場合、前記制御部の再起動を前記制御部に電力を供給する回路に指示する監視部をさらに有することを特徴とする請求項1記載の情報処理装置。情報処理装置が、試験対象に複数の試験項目の試験をそれぞれ実行し、1つの試験項目の試験の終了に伴い識別情報記憶部に記憶されている現在実行されている試験項目の試験を識別する識別情報を、次に実行する試験項目の試験の識別情報に変更し、所定時間以内に前記識別情報記憶部に記憶されている識別情報が変更されたか否かを判断し、前記識別情報が前記所定時間以内に変更されなかったと判断した場合、前記複数の試験項目の試験をそれぞれ実行する制御部の再起動を前記制御部に電圧を供給する回路に指示する、ことを特徴とする情報処理装置の試験方法。例えば、製品の電圧やクロック周波数を一定時間毎に変更するマージン試験を、試験項目を変えて連続して実行する場合、製品のCPUやメモリがハングアップhangupする等の理由により、試験項目が変更されなくなる場合がある。この場合、マージン試験自体は停止せずに実行されるため、ウォッチドッグタイマ回路ではエラーが検出できないという問題がある。本発明はこのような点に鑑みてなされたものであり、試験時にハングアップから復旧する情報処理装置および情報処理装置の試験方法を提供することを目的とする。上記目的を達成するために、開示の情報処理装置が提供される。この情報処理装置は、識別情報記憶部と、制御部と、指示部とを有している。識別情報記憶部は、複数の試験項目のうち、現在実行されている試験項目の試験を識別する識別情報を記憶する。制御部は、試験対象に複数の試験項目の試験をそれぞれ実行し、1つの試験項目の試験の終了に伴い識別情報記憶部に記憶されている識別情報を、次に実行する試験項目の試験の識別情報に変更する試験実行部と、所定時間以内に識別情報記憶部に記憶されている識別情報が変更されたか否かを判断する判断部とを備える。指示部は、判断部が、識別情報が所定時間以内に変更されなかったと判断した場合、制御部の再起動を制御部に電圧を供給する回路に指示する。試験時にハングアップから復旧することができる。以下、実施の形態の情報処理装置を、図面を参照して詳細に説明する。<第1の実施の形態>図1は、第1の実施の形態の情報処理装置を示す図である。第1の実施の形態の情報処理装置コンピュータ1は、制御部1aと、記憶部1bと、指示部1cと、制御部1aに伝送路3を介して接続された接続機器2と、制御部1aおよび接続機器2に電圧を供給する電圧供給回路4とを有している。制御部1aは、CPUCentralProcessingUnitが備える機能により実現することができる。記憶部1bは、例えば不揮発性のメモリデバイスが備えるデータ記憶領域により実現することができる。指示部1cは、例えばFPGAFieldProgrammableGateArrayが備える機能により実現することができる。接続機器2としては、例えば、PCIePCIExpressスイッチや、SASSerialAttachedSCSIエクスパンダ等のSASデバイスが挙げられる。制御部1aは、試験実行部1a1と、判断部1a2とを有している。試験実行部1a1は、試験対象である制御部1a自身および接続機器2の電圧、クロック周波数を設計値から±1、±2と順に変化させながら、試験項目に従って制御部1a、接続機器2に負荷をかけるマージン試験を実行する。本実施の形態のマージン試験をより具体的に説明すると、マージン試験では情報処理装置1を一定時間例えば1時間連続して運転する。運転中に、最初の試験項目である接続機器2のマージン試験を30分間行い、その後、2番目の試験項目である制御部1aのマージン試験を30分行う。そして、情報処理装置1の運転中に制御部1aおよび接続機器2に発生した異常の種別に基づいて、情報処理装置1が電源電圧、クロック周波数の変化に対してどこまでマージンを持っているのかを検証する。記憶部1bは、マージン試験の実行状態を示すフラグを記憶するフラグ記憶部1b1と、現在実行されているマージン試験の試験項目を識別する識別情報を記憶する識別情報記憶部1b2を有する。フラグ記憶部1b1のフラグは、試験実行部1a1がマージン試験を実行しているときに1有効にセットされ、マージン試験を実行していないときに0無効にセットされる。また、最初の試験項目である接続機器2のマージン試験を行っている場合の識別情報はTP1であり、2番目の試験項目である制御部1aのマージン試験を行っている場合の識別情報はTP2である。試験実行部1a1は、マージン試験を開始する際に、フラグ記憶部1b1のフラグを1に設定する。また、試験実行部1a1は、接続機器2のマージン試験を行う際に、識別情報としてTP1を識別情報記憶部1b2に設定する。そして、試験実行部1a1は、接続機器2のマージン試験の終了に伴い識別情報記憶部1b2に記憶されているTP1を、次に実行する制御部1aのマージン試験の識別情報であるTP2に変更する。判断部1a2は、フラグ記憶部1b1に記憶されているフラグが1であるとき、すなわち、試験実行部1a1がマージン試験を実行しているときに識別情報記憶部1b2に記憶されている識別情報を監視し、識別情報が35分以内にTP1からTP2に変更されたか否かを判断する。なお、35分は、接続機器2のマージン試験が30分行われることに基づき、識別情報の変更の判断に用いる時間の一例であり、情報処理装置1の管理者が任意の時間に設定することができる。識別情報が35分以内にTP1からTP2に変更されなかった場合は、制御部1aがハングアップし、接続機器2のマージン試験から制御部1aのマージン試験に移行していないと管理者が判断することができる。また、判断部1a2は、接続機器2のマージン試験の開始に伴い、指示部1cが備えるカウンタ1c1のカウンタ値を所定値以下、第1のカウンタ値と言うにセットする。なお、カウンタ1c1は、アップカウンタでもよいし、ダウンカウンタでもよいが、本実施の形態ではダウンカウンタであるものとして説明する。指示部1cは、カウンタ1c1が第1のカウンタ値にセットされると、カウンタ1c1のカウントを開始する。指示部1cは、カウンタ1c1のカウンタ値が0に達すると、判断部1a2によるカウンタ1c1へのカウンタ値のセットが停止されたと判断する。なお、0は、第2のカウンタ値の一例である。判断部1a2は、接続機器2のマージン試験が開始されてから識別情報がTP1である間は、カウンタ値が0に達しないように、カウンタ1c1を第1のカウンタ値にセットする動作を定期的に繰り返し行う。判断部1a2は、識別情報が35分以内にTP1からTP2に変更されなかったと判断した場合、カウンタ1c1への第1のカウンタ値のセットを停止する。第1のカウンタ値のセットが停止されることにより、カウンタ1c1のカウンタ値が、0に達する。指示部1cは、カウンタ1c1のカウンタ値が0に達すると、制御部1aの再起動を電圧供給回路4に指示する。このように、カウンタ1c1を用いて識別情報の変更を確認することにより、指示部1cは、制御部1aの動作状態にかかわらず、制御部1aのハングアップを認識することができる。電圧供給回路4は、指示部1cから制御部1aを再起動する指示を受け付けると、制御部1aを再起動する。すなわち、制御部1aの電源をON状態からOFF状態にし、再度ON状態にする処理を行う。情報処理装置1によれば、マージン試験の試験項目を識別する識別情報の変更の有無を判断し、識別情報が所定時間以内に更新されなかった場合、制御部1aの再起動を行うことにより、ハングアップから復旧する。従って、例えば、制御部1aが再起動された場合、再起動前の試験項目の次の試験項目でマージン試験を続行するよう設定しておけば、マージン試験を継続して行うことができる。なお、本実施の形態では、試験項目が35分以内に更新されなかった場合、制御部1aの再起動を行うようにしたが、制御部1aの再起動を行う前に制御部1aをリセットし、リセット後も試験項目が所定時間以内に更新されなかった場合、制御部1aの再起動を実行するようにしてもよい。以下、第2の実施の形態において、開示の情報処理装置をストレージ装置に適用した場合について説明する。<第2の実施の形態>図2は、第2の実施の形態のストレージ装置の全体構成図を示す図である。図2に示すストレージ装置100は、複数のHDDを備える。ストレージ装置100内のDEDriveEnclosure210、220のそれぞれには、ストレージ装置を構成する複数のHDDが格納されている。また、ストレージ装置100は、DE210、220内のHDDに対するアクセスを制御する2つの制御モジュールCMControllerModule10a、10bを備えている。なお、DE210、220は、例えば、ストレージ装置100の外部に設けられていてもよい。また、ストレージ装置としては、HDDに限らず、例えばSSDSolidStateDrive等の他の種類のストレージ装置が使用されてもよい。ストレージ装置100には、ホスト装置110と管理端末装置120とが接続されている。ホスト装置110は、ユーザの操作に応じてストレージ装置100内の制御モジュール10aまたは制御モジュール10bに対して、DE210内のHDDまたはDE220内のHDDへのアクセスを要求する。なお、ホスト装置110と制御モジュール10a、10bとは、例えば、光ファイバを介して接続されている。管理端末装置120は、管理者の操作に応じてストレージ装置100の動作を管理する。例えば、管理端末装置120は、管理者の操作に応じてストレージ装置100内の制御モジュール10a、10bのそれぞれの電源をON状態にしたり、OFF状態にしたりすることを要求することができる。なお、管理端末装置120と制御モジュール10a、10bとは、例えば、LANLocalAreaNetworkケーブルを介して接続されている。また、管理端末装置120は、ストレージ装置100に対し後述するマージン試験を行った結果を示すログファイルを管理端末装置120が備える図示しない記憶部に記憶する。制御モジュール10a、10bは、それぞれ、ホスト装置110からのアクセス要求に応じてDE210、220内のHDDへのアクセスを制御する。例えば、制御モジュール10a、10bは、それぞれ、HDDに記憶されたデータの読み出し要求をホスト装置110から受け付けると、読み出しを要求されたデータをHDDから読み出し、ホスト装置110に送信する。あるいは、制御モジュール10a、10bは、それぞれ、HDDへのデータの書き込み要求をホスト装置110から受け付けると、書き込みを要求されたデータをHDDに書き込む。また、制御モジュール10a、10bは、DE210、220内のHDDに記憶されたデータをキャッシュする機能を備える。また、制御モジュール10aと制御モジュール10bとは互いにデータを送受信でき、制御モジュール10a、10bは、例えば、他方のCMが保持するキャッシュデータのバックアップを互いに保持する。また、制御モジュール10a、10bの一方は、制御モジュール10a、10bの他方の電源を制御することも可能になっている。なお、制御モジュール10a、10bは、例えば、DE210、220内のHDDに記憶されたデータをRAIDRedundantArraysofInexpensiveDisksによって管理してもよい。図3は、ストレージシステム内の制御モジュールのハードウェア構成例を示す図である。制御モジュール10a、10bは、マージン試験を行う機能を有している。本実施の形態で実行するマージン試験は、制御モジュール10a、10bに電力やクロック信号を供給するデバイスの個体差や、ストレージ装置100の使用環境等によって発生する電源電圧、クロック周波数の設計値からのずれを考慮しても、ストレージ装置100が正常に動作することを確認する試験である。より具体的には、本実施の形態のマージン試験は、ストレージ装置100の制御モジュール10a、10bおよびDE210、220内で使用されている各デバイスの電源電圧、クロック周波数を設計値から±1、±2と順に変化させながら、試験対象のデバイスに負荷をかける。負荷をかける試験対象のデバイスおよび負荷をかける箇所は、用意された試験項目により予め決定されている。マージン試験では、ストレージ装置100を一定時間例えば4時間連続して運転する。そして運転中に、ストレージ装置100が備える各デバイスに発生した異常の種別に基づいてストレージ装置100が、電源電圧、クロック周波数に対してどこまでマージンを持っているのかを検証する。制御モジュール10aは、制御部10と、監視部20と、リセット回路30と、電源回路40と、クロック回路50と、MRAMMagnetoresistiveRandomAccessMemory60とを有している。制御部10は、CPU11、RAMRandomAccessMemory12、PCIePeripheralComponentInterconnectExpressスイッチ13、SASコントローラ14a、14b、SASエクスパンダ15a、15b、PCHPlatformControllerHub16、SSD17、トランシーバ18を有している。また、制御モジュール10bは、制御モジュール10aと同じハードウェア構成によって実現される。そこで、ここでは基本的に、制御モジュール10aのハードウェア構成について説明し、制御モジュール10bのハードウェア構成の説明については省略する。CPU11は、制御モジュール10a全体を統括的に制御する。RAM12は、制御モジュール10aの主記憶装置として使用され、CPU11に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。また、RAM12は、DE210、220内のHDDに記憶されたデータのキャッシュ領域としても使用される。RAM12の一例として、DDR3SDRAMDoubleDataRate3SynchronousDynamicRandomAccessMemory等が挙げられる。PCIeスイッチ13は、CPU11およびSASコントローラ14a、14bとの間で、PCIeバスを介してデータを送受信する。また、PCIeスイッチ13は、ホスト装置110や、制御モジュール10bが備えるPCIスイッチと接続されている。以下、PCIeスイッチ13と制御モジュール10bが備えるPCIeスイッチとの間の通信経路を通信経路P1と呼ぶ。CPU11と、制御モジュール10bが備えるCPUとは、通信経路P1を通じて通信できるようになっている。例えば、CPU11は、制御モジュール10bにおいて発生した異常の内容を示す異常検出情報を、制御モジュール10bが備えるCPUから通信経路P1を通じて取得することができる。また、例えば、CPU11および制御モジュール10bが備えるCPUは、RAM12、制御モジュール10bが備えるRAMにそれぞれ記憶されたHDDのキャッシュデータを、通信経路P1を通じて他方の制御モジュールが備えるCPUに送信し、他方の制御モジュール内のRAMにキャッシュデータをバックアップするように依頼することもできる。SASコントローラ14a、14bは、SASデバイスであるDE210、220内のHDDとの間のインタフェース処理を実行する制御回路である。SASコントローラ14aは、制御モジュール10bのSASコントローラに接続されている。また、SASコントローラ14aは、SASエクスパンダ15aを通じてDE210、220に接続されている。また、SASコントローラ14aは、SASエクスパンダ15aを通じてクロック回路50および電源回路40に接続されている。SASコントローラ14bは、制御モジュール10bのSASコントローラに接続されている。また、SASコントローラ14bは、SASエクスパンダ15bを通じてDE210、220に接続されている。また、SASコントローラ14bは、制御モジュール10b内のSASエクスパンダを通じてDE210、220と接続されている。このように、SASコントローラ14bとDE210、220とが2つのSASエクスパンダを通じて接続されることで、SASコントローラ14bからDE210、220へのアクセス経路が冗長化されている。SASエクスパンダ15aは、SASコントローラ14aとDE210、220との中継デバイスの機能に加え、制御部10の動作を監視する監視部20側の機能を備えている。なお、SASエクスパンダ15aの監視部20側の機能については後述する。SASエクスパンダ15bは、SASコントローラとSASデバイスとの間でデータを中継する。なお、SASエクスパンダ15bは、内部にメモリを備え、制御モジュール10aの電源状態を示す情報を内部のメモリに保持する。PCH16は、CPU11と、SSD17、トランシーバ18およびFPGA22との間で、データを送受信する。SSD17は、制御モジュール10aの二次記憶装置として使用され、CPU11により実行されるプログラムやその実行に必要な各種のデータ等を記憶する。なお、二次記憶装置としては、例えば、HDD等の他の種類の不揮発性記憶装置が使用されてもよい。SSD17には、マージン記憶領域171が設けられている。マージン記憶領域171には、マージン試験に使用する電圧の初期値電圧初期値およびクロックの初期値クロック初期値が予め記憶されている。また、マージン記憶領域171には、マージン試験に使用する電圧の設定値電圧マージン設定値およびクロックの設定値クロックマージン設定値が予め複数記憶されている。図3に示す電圧/クロックマージン設定値1、電圧/クロックマージン設定値2、、電圧/クロックマージン設定値Xは、それぞれ電圧マージン設定値およびクロックマージン設定値の異なる組み合わせを示している。また、SSD17には、第1カタログ172、第2カタログ173、OSOperatingSystem174が記憶されている。第1カタログ172および第2カタログ173には、マージン試験中にCPU11に実行させるプログラムが記憶されている。OS174には、CPU11に実行させるプログラムが記憶されている。トランシーバ18は、RS-232Cケーブルや、LANケーブルを介して管理端末装置120に接続されており、管理端末装置120との間でデータを送受信する。監視部20は、SASエクスパンダ15aと、FPGA22とを備えている。SASエクスパンダ15aとFPGA22との間はローカルバスで接続されている。SASエクスパンダ15aは、監視部20側の機能としてPostPhase監視部211と、電圧マージン制御部212と、クロックマージン制御部213とを備えている。PostPhase監視部211は、制御部10への電源投入後に起動するBIOSの起動中に、BIOSの各プログラムの実行結果を識別するPostPhaseコードが生成されていることを監視する。PostPhase監視部211は、PostPhaseコードの生成を監視することで、BIOSの起動処理が実行されていることを把握することができる。電圧マージン制御部212は、I2Cバスを介して電源回路40に接続されている。電圧マージン制御部212は、MRAM60に記憶されている電圧マージン設定値を電源回路40に設定する。クロックマージン制御部213は、I2Cバスを介してクロック回路50に接続されている。クロックマージン制御部213は、MRAM60に記憶されているクロックマージン設定値をクロック回路50に設定する。FPGA22は、制御モジュール10a内のハードウェアの状態を監視する機能を備える。FPGA22は、制御モジュール10a内のハードウェアの異常を検出すると、検出した異常の内容を示す異常検出情報をCPU11に通知する。また、FPGA22は、異常検出情報をMRAM60に保存する。さらに、FPGA22は、CPU11によってプログラム実行時の異常が検出された場合、検出された異常の内容を示す異常検出情報をCPU11から受信し、受信した異常検出情報をMRAM60に保存する。また、FPGA22は、CPU11からの要求、または制御モジュール10bが備えるFPGAからの要求に応じて、MRAM60に保存した異常検出情報を制御モジュール10bが備えるFPGAに送信することもできる。また、FPGA22は、制御モジュール10aの電源状態を制御する機能を備える。FPGA22は、CPU11からの要求、または制御モジュール10bが備えるFPGAからの要求に応じて電源回路40を制御し、制御モジュール10aの電源をON状態にしたり、OFF状態にしたりする。さらに、FPGA22は、制御モジュール10bが備えるFPGAと通信する機能を備える。以下、FPGA22と制御モジュール10bが備えるFPGAとの間の通信経路を、通信経路P2と呼ぶ。FPGA22は、例えば、CPU11からの要求に応じて、制御モジュール10bの電源を所定の状態に遷移させるように、通信経路P2を通じて制御モジュール10bが備えるFPGAに要求する。なお、FPGA22が実行する処理は、例えば、マイクロコンピュータ等の他の種類の制御回路によって実行されてもよい。FPGA22は、WDT監視処理部221と、リセット制御部222と、電源制御部223とを有している。WDT監視処理部221は、制御部10のハングアップを検出し、制御部10を再起動する機能を有する。このWDT監視処理部221は、WDT0カウンタ221a、WDT2カウンタ221b、およびWDT3カウンタ221cを有する。WDT0カウンタ221a、WDT2カウンタ221b、およびWDT3カウンタ221cは、いずれもダウンカウンタである。WDT0カウンタ221a、WDT2カウンタ221b、およびWDT3カウンタ221cのカウンタ値の更新は、CPU11が行う。CPU11によってWDT0カウンタ221a、WDT2カウンタ221b、およびWDT3カウンタ221cのカウンタ値が更新されるとWDT監視処理部221は、WDT0カウンタ221aのダウンカウントを開始する。WDT0カウンタ221aのカウンタ値が0になると、WDT監視処理部221は、WDT0カウンタ221aのタイムアウトを制御部10に通知する。その後、WDT監視処理部221は、WDT2カウンタ221bのダウンカウントを開始する。WDT2カウンタ221bのカウンタ値が0になると、WDT監視処理部221は、リセット制御部222に制御部10のリセットを指示する。その後、WDT監視処理部221は、WDT3カウンタ221cのダウンカウントを開始する。WDT3カウンタ221cのカウンタ値が0になり、かつ、後述するマージン試験フラグ記憶領域67のフラグが1にセットされている場合、WDT監視処理部221は、制御部10の再起動を電源制御部223に指示する。リセット制御部222は、WDT監視処理部221の指示に基づきリセット回路30を制御し、制御部10をリセットするリセット信号を制御部10に供給する。電源制御部223は、WDT監視処理部221の指示に基づき電源回路40を制御し、制御部10を再起動する。リセット回路30は、リセット制御部222の制御の下で、制御モジュール10aが備える各デバイスにリセット信号を供給する。電源回路40は、電源制御部223の制御の下で、制御モジュール10aの電源をON状態にしたり、OFF状態にしたりする。また、電源回路40は、電圧マージン制御部212の制御により、制御部10に供給する電圧を変更する。クロック回路50は、クロック信号を生成し、ストレージ装置100が備える各デバイスに供給する。また、クロック回路50は、クロックマージン制御部213の制御により、制御部10に供給するクロック周波数を変更する。MRAM60は、FPGA22での処理に用いる各種のデータや、制御モジュール10aにおいて検出された異常の内容を示す異常検出情報を記憶する不揮発性メモリである。このMRAM60は、リセットフラグ記憶領域61、PostPhaseフラグ記憶領域62、PostPhaseカウンタ63、第1起動カウンタ64、第2起動カウンタ65、実行状態チェックフラグ記憶領域66、マージン試験フラグ記憶領域67、TP種別記憶領域68、電圧マージン設定値記憶領域69、クロックマージン設定値記憶領域70、およびPostPhaseコード記憶領域71を有している。リセットフラグ記憶領域61は、監視部20の指示により制御部10の再起動が実行されたか否かを示すフラグを記憶する領域である。PostPhaseフラグ記憶領域62は、PostPhase監視部211にPostPhaseコードの生成を監視させるか否かを示すフラグを記憶する領域である。本実施の形態の当該フラグは、PostPhase監視部211にPostPhaseコードの生成を監視させることを示す1にセットされている。PostPhaseカウンタ63は、PostPhaseコードの生成を判断するのに用いるカウンタ値を記憶するダウンカウンタである。PostPhaseカウンタ63のカウンタ値は、制御部10により定期的に所定の値にセットされる。このカウンタ値が0になっても、新たなPostPhaseコードが生成されない場合、PostPhase監視部211は、PostPhaseコードが生成されていないと判断する。第1起動カウンタ64は、ある電圧/クロックマージン設定値を用いて試験を実行した後に、電圧/クロックマージン設定値を変えて次の試験に遷移させるか否かを判断するのに用いるカウンタ値を記憶するカウンタである。第2起動カウンタ65は、マージン試験において変更する電圧/クロックマージン設定値の残数を示すカウンタ値を記憶するカウンタである。実行状態チェックフラグ記憶領域66は、ある試験項目の試験の実行中であることを示すフラグを記憶する領域である。マージン試験フラグ記憶領域67は、マージン試験の実行中であることを示すフラグを記憶する領域である。マージン試験フラグ記憶領域67のフラグが1にセットされており、かつ、WDT3カウンタ221cのカウントが満了した場合は、監視部20より制御部10の再起動が実行される。マージン試験フラグ記憶領域67のフラグは、電圧マージンおよびクロックマージンを設定する直前にCPU11によって1にセットされる。TP種別記憶領域68は、試験項目を示す情報を記憶する領域である。試験項目を示す情報としては、例えば、SASコントローラ14a、14bおよびSASエクスパンダ15a、15bに対する負荷試験項目を示すTPaや、CPU11の負荷試験項目を示すTPb等が挙げられる。電圧マージン設定値記憶領域69には、マージン試験に用いる電圧マージン設定値が記憶される。クロックマージン設定値記憶領域70には、マージン試験に用いるクロックマージン設定値が記憶される。PostPhaseコード記憶領域71には、BIOSの各プログラムの実行結果を識別するPostPhaseコードが記憶される。BIOSの起動が停止した場合、管理者は、PostPhaseコード記憶領域71に記憶されているPostPhaseコードを参照することで、BIOSのプログラムがどこまで実行されたのかを知ることができる。次に、CPU11が備える機能を説明する。図4は、CPUが備える機能を示すブロック図である。CPU11は、WDT処理部111と、フラグ制御部112と、マージン試験部113と、マージン設定部114とを有している。WDT処理部111は、実行状態チェックフラグ記憶領域66のフラグが0にセットされている場合、WDT0カウンタ221a、WDT2カウンタ221bおよびWDT3カウンタ221cのカウンタ値を4秒で0になるカウンタ値に定期的例えば4秒以内に設定する。WDT処理部111は、実行状態チェックフラグ記憶領域66のフラグが1にセットされている場合、WDT0カウンタ221a、WDT2カウンタ221bおよびWDT3カウンタ221cの設定に加えて、TP種別記憶領域68のTP種別が35分以内に更新されたかどうかをチェックする。WDT処理部111は、35分以内にTP種別の更新がなかった場合は、マージン試験により制御部10がハングアップしたと判断し、WDT処理を停止する。WDT処理が停止すると、WDT監視処理部221が、WDT3カウンタ221cのカウント満了カウンタ値0を検出し、マージン試験フラグ記憶領域67のフラグが1の場合は監視部20より制御部10が再起動される。制御部10の再起動により、制御部10は、ハングアップ状態から復旧する。フラグ制御部112は、MRAM60に設定されている各種フラグを所定の条件下で1または0にセットする。マージン試験部113は、前述したマージン試験を実行する。マージン試験対象のデバイスは、例えばCPU11自身、制御モジュール10a、10b間の通信を行うPCIeスイッチ13並びに、制御モジュール10a、10bとDE210、220とを接続するSASコントローラ14a、14bおよびSASエクスパンダ15a、15bである。マージン設定部114は、SSD17のマージン記憶領域171に記憶されている各種設定値をMRAM60の電圧マージン設定値記憶領域69およびクロックマージン設定値記憶領域70に記憶する。次に、制御モジュール10aの処理を説明する。図5および図6は、制御モジュールの処理を説明するフローチャートである。[ステップS1]制御モジュール10aの電源がON状態になると、監視部20が起動する。なお、制御部10の電源はOFF状態のままである。監視部20が起動すると、ステップS2に遷移する。[ステップS2]FPGA22は、第2起動カウンタ65のカウンタ値に、マージン記憶領域171に記憶されている電圧/クロックマージン設定値の個数Xを代入する。その後、ステップS3に遷移する。[ステップS3]電圧マージン制御部212は、MRAM60の電圧マージン設定値記憶領域69に記憶されている電圧マージン設定値を電源回路40に設定する。その後、ステップS4に遷移する。[ステップS4]電源制御部223は、電源回路40を制御して制御部10の電源をON状態にする。電源がON状態になることにより、制御部10には、電圧マージン設定値の電圧が供給される。その後、ステップS5に遷移する。[ステップS5]クロックマージン制御部213は、MRAM60のクロックマージン設定値記憶領域70に記憶されているクロックマージン設定値をクロック回路50に設定する。その後、ステップS6に遷移する。[ステップS6]リセット制御部222は、制御部10のリセット信号を解除する。その後、ステップS7に遷移する。[ステップS7]リセット制御部222は、リセットフラグ記憶領域61のフラグ図5ではリセットフラグと表記。以下同じを0に設定する。その後、ステップS8に遷移する。[ステップS8]CPU11は、BIOSの起動を開始する。その後、ステップS9に遷移する。BIOSは、PostPhaseカウンタ63に所定のカウンタ値を設定し、設定したカウンタ値が0になる前にPostPhaseコードを生成する。PostPhase監視部211は、PostPhaseの監視処理を開始する。なお、PostPhase監視処理については、後に詳述する。[ステップS9]フラグ制御部112は、リセットフラグ記憶領域61のフラグが0か否かを判断する。フラグが1である場合ステップS9のNo、ステップS10に遷移する。フラグが0である場合ステップS9のYes、ステップS12に遷移する。[ステップS10]CPU11は、BIOSの起動を停止する。BIOSの起動が停止することにより、PostPhaseコードの生成も停止する。その後、ステップS11に遷移する。[ステップS11]PostPhase監視部211は、制御部10の再起動を電源制御部223に指示する。その後、制御部10が再起動されると、処理がステップS6に遷移する。[ステップS12]フラグ制御部112は、リセットフラグ記憶領域61のフラグを1に設定する。その後、ステップS13に遷移する。[ステップS13]監視部20は、BIOSの起動の完了を確認するとPostPhaseの監視を終了する。また、CPU11によるBIOSの起動が完了すると、OS174が起動する。その後、ステップS14に遷移する。[ステップS14]マージン設定部114は、電圧マージン設定値記憶領域69の電圧マージン設定値をマージン記憶領域171に記憶されている電圧初期値に書き換える。また、マージン設定部114は、クロックマージン設定値記憶領域70のクロックマージン設定値をマージン記憶領域171に記憶されているクロック初期値に書き換える。その後、ステップS15に遷移する。[ステップS15]マージン試験部113は、監視部20によるWDT監視の設定を有効にする。この処理により、WDT監視処理部221がWDT監視処理を開始する。また、WDT処理部111は、WDT処理を開始する。その後、ステップS16に遷移する。なお、WDT監視処理およびWDT処理は、後に詳述する。[ステップS16]マージン試験部113は、第1起動カウンタ64のカウンタ値をインクリメントする。その後、ステップS17に遷移する。[ステップS17]マージン試験部113は、第1起動カウンタ64のカウンタ値が1であるか否かを判断する。第1起動カウンタ64のカウンタ値が1である場合ステップS17のYes、ステップS18に遷移する。第1起動カウンタ64のカウンタ値が1以外の値である場合ステップS17のNo、ステップS28に遷移する。[ステップS18]制御部10は、OS174の起動完了時に自動で第2カタログ173が実行される設定を有効にする。その後、ステップS19に遷移する。[ステップS19]制御部10は、第2起動カウンタ65のカウンタ値をデクリメントする。その後、ステップS20に遷移する。[ステップS20]CPU11は、OS174の起動が完了するとステップS21に遷移する。[ステップS21]フラグ制御部112は、実行状態チェックフラグ記憶領域66のフラグ図5では実行状態チェックフラグと表記。以下同じを1に設定する。その後、ステップS22に遷移する。[ステップS22]フラグ制御部112は、TP種別記憶領域68のTP種別をTPaに設定する。その後、ステップS23に遷移する。[ステップS23]マージン試験部113は、ステップS3にて設定された電圧マージン設定値およびステップS5にて設定されたクロックマージン設定値を用いてSASコントローラ14a、14bおよびSASエクスパンダ15a、15bの負荷試験を実行する。SASコントローラ14a、14bおよびSASエクスパンダ15a、15bの負荷試験が終了すると、ステップS24に遷移する。なお、マージン試験部113は、高速伝送路の負荷試験中に何らかのエラーが発生すると、エラーが発生したことを示すメッセージ以下、第1のメッセージと言うを作成し、CPU11内のキャッシュに一時記憶する。[ステップS24]マージン試験部113は、TP種別記憶領域68のTP種別をTPbに設定する。その後、ステップS25に遷移する。[ステップS25]マージン試験部113は、CPU11の負荷試験を実行する。マージン試験部113は、CPU11の負荷試験中に何らかのエラーが発生すると、第1のメッセージを作成し、CPU11内のキャッシュに一時記憶する。CPU負荷試験が終了すると、マージン試験部113は、マージン試験の結果を示すログファイルを作成する。ログファイルの作成の際、マージン試験部113は、CPU11内のキャッシュを参照し、第1のメッセージが作成されているか否かを確認する。第1のメッセージが作成されていれば、マージン試験部113は、第1のメッセージを含むログファイルを作成する。第1のメッセージが作成されていなければ、マージン試験部113は、マージン試験中にエラーが発生しなかったことを示すメッセージ以下、第2のメッセージと言うを含むログファイルを作成する。そして、マージン試験部113は、作成したログファイルを管理端末装置120に転送する。その後、ステップS26に遷移する。[ステップS26]フラグ制御部112は、実行状態チェックフラグ記憶領域66のフラグを0に設定する。その後、ステップS27に遷移する。[ステップS27]CPU11は、制御部10の再起動指示をFPGA22に送る。これにより、電源制御部223が電源回路40を制御して制御部10を再起動する。CPU11が再起動されると、ステップS5以降の処理が引き続き実行される。[ステップS28]CPU11は、OS174起動完了時に自動で第1カタログ172が実行される設定を有効にする。その後、ステップS29に遷移する。[ステップS29]CPU11は、OS174の起動が完了するとステップS30に遷移する。[ステップS30]フラグ制御部112は、実行状態チェックフラグ記憶領域66のフラグを1に設定し、マージン試験フラグ記憶領域67のフラグを1に設定し、TP種別記憶領域68の値を0に設定し、第1起動カウンタ64のカウンタ値を0に設定する。その後、ステップS31に遷移する。[ステップS31]CPU11は、第2起動カウンタ65のカウンタ値を確認する。具体的には、第2起動カウンタ65のカウンタ値がXか否かを判断する。第2起動カウンタ65のカウンタ値がXではなければ第2起動カウンタ65のカウンタ値がX-1か否かを判断する。このように、第2起動カウンタ65のカウンタ値と対比する値をデクリメントして、第2起動カウンタ65のカウンタ値と一致する値を確認する。そして、値が一致すれば、ステップS32に遷移する。以下、一致した値をnとする。また、一致した値が0であればステップS34に遷移する。[ステップS32]マージン設定部114は、次回起動時の電圧マージン設定値およびクロックマージン設定値をマージン記憶領域171から読み出し、電圧マージン設定値記憶領域69およびクロックマージン設定値記憶領域70に設定する。例えば、n=2であれば、電圧/クロックマージン設定値2に設定されている電圧マージン設定値およびクロックマージン設定値を読み出す。その後、ステップS33に遷移する。[ステップS33]CPU11は、制御部10の再起動をFPGA22に指示する。この処理により、電源制御部223は、電源回路40を制御して制御部10を再起動する。制御部10が再起動すると、CPU11は、ステップS4以降の処理を実行する。[ステップS34]CPU11は、制御部10の電源をOFF状態にする指示をFPGA22に送る。この指示により、電源制御部223は、電源回路40を制御して制御部10の電源をOFF状態にする。これにより、図5および図6の処理が終了する。次に、図5のステップS8にてPostPhase監視部211が開始するPostPhase監視処理を説明する。図7は、PostPhase監視処理を説明するフローチャートである。[ステップS41]PostPhase監視部211は、PostPhaseカウンタ63のカウント値が0になる前にBIOSがPostPhaseコードを生成したか否かを判断する。PostPhaseカウンタが0になる前にBIOSがPostPhaseコードを生成した場合ステップS41のYes、ステップS42に遷移する。PostPhaseカウンタが0になる前にBIOSがPostPhaseコードを生成しなかった場合ステップS41のNo、ステップS43に遷移する。[ステップS42]PostPhase監視部211は、例えばOS174の起動を検出することで、CPU11がBIOSの起動を完了したか否かを判断する。BIOSの起動が完了した場合ステップS42のYes、図7の処理を終了する。BIOSの起動が完了していない場合ステップS42のNo、ステップS41に遷移する。[ステップS43]PostPhase監視部211は、マージン試験フラグ記憶領域67のフラグが1か否かを判断する。フラグが1ではない場合、すなわち、フラグが0である場合ステップS43のNo、フラグが1になるまで待機する。フラグが1である場合ステップS43のYes、ステップS44に遷移する。[ステップS44]PostPhase監視部211は、制御部10の再起動を電源制御部223に指示する。その後、図7の処理を終了する。次に、図5のステップS15にてWDT処理部111が開始するWDT処理を説明する。図8は、WDT処理を説明するフローチャートである。[ステップS51]WDT処理部111は、TP種別記憶領域68のTP種別を変数Aに格納する。その後、ステップS52に遷移する。[ステップS52]WDT処理部111は、現在時刻を変数T1に設定する。その後、ステップS53に遷移する。[ステップS53]WDT処理部111は、WDT0カウンタ221a、WDT2カウンタ221b、WDT3カウンタ221cそれぞれのカウンタ値を4秒に更新する。その後、ステップS54に遷移する。[ステップS54]WDT処理部111は、実行状態チェックフラグ記憶領域66のフラグが1か否かを判断する。フラグが1である場合ステップS54のYes、ステップS55に遷移する。フラグが1ではない場合、すなわち、フラグが0である場合ステップS54のNo、ステップS53に遷移する。[ステップS55]WDT処理部111は、TP種別記憶領域68のTP種別が変数Aに等しいか否かを判断する。TP種別が変数Aに等しい場合ステップS55のYes、ステップS56に遷移する。TP種別が変数Aに等しくない場合ステップS55のNo、ステップS57に遷移する。[ステップS56]WDT処理部111は、現在時刻を変数T2に設定する。その後、ステップS58に遷移する。[ステップS57]WDT処理部111は、現在時刻を変数T1に設定する。その後、ステップS58に遷移する。[ステップS58]WDT処理部111は、変数T2から変数T1を引いた時間が35分以上か否かを判断する。変数T2から変数T1を引いた時間が35分以上である場合ステップS58のYes、図8の処理を終了する。図8の処理が終了すると、WDT0カウンタ221a、WDT2カウンタ221b、WDT3カウンタ221cそれぞれのカウンタ値の更新が停止する。一方、変数T2から変数T1を引いた時間が35分未満である場合ステップS58のNo、ステップS53に遷移する。以上で図8の処理の説明を終了する。なお、ステップS58にて判断基準とした35分は、一例であり、判断基準とする時間は、試験項目に合わせて任意の時間に設定することができる。次に、図5のステップS15にてWDT監視処理部221が開始するWDT監視処理を説明する。図9は、WDT監視処理を説明するフローチャートである。[ステップS61]WDT監視処理部221は、WDT0カウンタ221aのカウント満了前にWDT0カウンタ221aのカウンタ値の更新があったか否かを判断する。WDT0カウンタ221aのカウント満了前にWDT0カウンタ221aのカウンタ値の更新があった場合ステップS61のYes、WDT監視処理部221は、再度、ステップS61以降の処理を行う。WDT0カウンタ221aのカウント満了前にWDT0カウンタ221aのカウンタ値の更新がなかった場合ステップS61のNo、ステップS62に遷移する。[ステップS62]WDT監視処理部221は、WDT0カウンタ221aのカウント満了によるタイムアウトをCPU11に通知する。CPU11は、タイムアウトの通知を受け取ると、WDT0カウンタ221aのタイムアウトがあった旨のログファイルを作成し、管理端末装置120に転送する。その後、ステップS63に遷移する。[ステップS63]WDT監視処理部221は、WDT2カウンタ221bのカウント満了前にWDT2カウンタ221bのカウンタ値の更新があったか否かを判断する。WDT2カウンタ221bのカウント満了前にWDT2カウンタ221bのカウンタ値の更新があった場合ステップS63のYes、WDT監視処理部221は、再度、ステップS61以降の処理を行う。WDT0カウンタ221aのカウント満了前にWDT0カウンタ221aのカウンタ値の更新がなかった場合ステップS63のNo、ステップS64に遷移する。[ステップS64]WDT監視処理部221は、制御部10のリセットをリセット制御部222に指示する。その後、ステップS65に遷移する。[ステップS65]WDT監視処理部221は、WDT3カウンタ221cのカウント満了前にWDT3カウンタ221cのカウンタ値の更新があったか否かを判断する。なお、WDT3カウンタ221cのカウント満了は、第2のカウンタ値になることの一例を示している。また、WDT3カウンタ221cのカウンタ値の更新は、第1のカウンタ値に設定されることの一例を示している。WDT3カウンタ221cのカウント満了前にWDT3カウンタ221cのカウンタ値の更新があった場合ステップS65のYes、WDT監視処理部221は、再度、ステップS61以降の処理を行う。WDT3カウンタ221cのカウント満了前にWDT3カウンタ221cのカウンタ値の更新がなかった場合ステップS65のNo、ステップS66に遷移する。[ステップS66]WDT監視処理部221は、マージン試験フラグ記憶領域67のフラグが1にセットされているか否かを判断する。フラグが1にセットされている場合ステップS66のYes、ステップS67に遷移する。フラグが1にセットされていない場合ステップS66のNo、フラグが1にセットされるまで待機する。[ステップS67]WDT監視処理部221は、制御部10の再起動を電源制御部223に指示する。その後、図9の処理を終了する。図10は、試験結果を説明する図である。図10に示す画面121は、管理端末装置120に接続されたモニタ120aに表示された画面を示している。マージン記憶領域171に記憶されている全ての電圧/クロックマージン設定値についてのログファイルが生成されていれば、管理者は、全ての電圧/クロックマージン設定値についてマージン試験が終了したと判断することができる。画面121には、各マージン設定値についてマージン試験を行った結果得られたログファイル121a~121fが表示されている。例えば、ログファイル121aのファイル名2011127_043828V0C0CM11txtは、先頭から2011年1月27日の4時38分28秒に試験を開始し、電圧マージンをV0に設定し、クロックマージンをC0に設定し、制御モジュール10bでマージン試験を行ったことを示している。管理者は、マージン試験が正常に終了したか否かを例えば以下の方法により確認することができる。ログファイル121a~121fのうち、第1のメッセージを示すERRORMESSAGEの文言が含まれているログファイルが存在すれば、そのログファイルが作成されたマージン試験中に何らかのエラーが発生していることが分かる。よって、管理者は、第1のメッセージを含むログファイルを用いてエラー解析を実施することができる。また、ログファイル121a~121fのうち、第1のメッセージが含まれておらず、第2のメッセージが含まれているログファイルについては、管理者は、マージン試験中にエラーが発生しなかったと判断することができる。第2のメッセージの一例としては、第2カタログ173の試験項目が、2011年1月27日の0時51分18秒に正常に完了したことを示すcatalogcatalog2_1catnormalend20110127005118等が挙げられる。また、ログファイル121a~121f内に第2のメッセージが含まれていないログファイルが存在すれば、管理者は、そのログファイルが作成されたマージン試験中にエラーが発生し、制御部10がハングアップまたは制御部10の異常リセット等が発生し、制御部10が再起動されたと判断することができる。以上述べたように、ストレージ装置100によれば、CPU11および監視部20のどちらからもアクセスできるMRAM60にTP種別記憶領域68を用意した。そして、WDT監視処理部221は、マージン試験の実行中にTP種別記憶領域68のTP種別を定期的にチェックし、35分以内にTP種別が更新されなければ、制御部10がハングアップしたと判断し、制御部10を再起動するようにした。これによってストレージ装置100は、ハングアップ状態から復旧され、次のマージン設定での連続運転が実施される。また、MRAM60にリセットフラグ記憶領域61を用意し、リセット制御部222は、CPU11のリセット信号を解除する前にこのリセットフラグ記憶領域61のフラグを0に設定するステップS9の処理。またCPU11はBIOSの起動が完了したときにリセットフラグを1に設定するステップS14の処理。さらにCPU11はBIOS起動直後にリセットフラグが1であった場合BIOSの起動を停止するステップS15の処理。また、BIOSの起動中にPostPhase監視部211が定期的にPostPhaseフラグ記憶領域62のフラグを更新し、PostPhase監視部211は、PostPhaseコードが指定時間内に生成されなければ制御部10を再起動する。これにより、PostPhase監視部211からのCPU11のリセット解除以外の、異常なCPU11のリセットによってBIOSが起動された場合は、CPU11が再起動する。従って、マージン試験中に何らかの異常が発生し、CPU11に対し予期せぬリセットがかかった場合においてもマージン試験を継続して行うことができる。以上、本発明の情報処理装置および情報処理装置の試験方法を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成特徴を組み合わせたものであってもよい。なお、本実施の形態では、マージン試験を行う場合を例に制御モジュール10aの処理を説明したが、制御モジュール10aを用いて実行できる試験の種類はマージン試験に限定されない。なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1および制御モジュール10a、10bが有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスクFD、磁気テープ等が挙げられる。光ディスクには、DVD、DVD-RAM、CD-ROMCompactDiscReadOnlyMemory/RW等が挙げられる。光磁気記録媒体には、MOMagnetoOpticaldisk等が挙げられる。プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSPDigitalSignalProcessor、ASICApplicationSpecificIntegratedCircuit、PLDProgrammableLogicDevice等の電子回路で実現することもできる。