JP6821989B2 - 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法 - Google Patents

情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法 Download PDF

Info

Publication number
JP6821989B2
JP6821989B2 JP2016145810A JP2016145810A JP6821989B2 JP 6821989 B2 JP6821989 B2 JP 6821989B2 JP 2016145810 A JP2016145810 A JP 2016145810A JP 2016145810 A JP2016145810 A JP 2016145810A JP 6821989 B2 JP6821989 B2 JP 6821989B2
Authority
JP
Japan
Prior art keywords
test
mounting
memory
unit
information
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.)
Active
Application number
JP2016145810A
Other languages
English (en)
Other versions
JP2018018177A (ja
Inventor
文彦 青野
文彦 青野
亮大 田中
亮大 田中
真紀子 井上
真紀子 井上
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 JP2016145810A priority Critical patent/JP6821989B2/ja
Publication of JP2018018177A publication Critical patent/JP2018018177A/ja
Application granted granted Critical
Publication of JP6821989B2 publication Critical patent/JP6821989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法に関する。
情報処理装置の主記憶装置として用いられるDIMM(Dual Inline Memory Module)の試験には、以下の2つの試験がある。1つは、各メモリモードにおけるシステムとしての動作検証である。この試験は、具体的には、メモリモードを変更して、各メモリモードにおけるBIOS(Basic Input Output System)ファームウェアの動作の検証を行う試験である。以下では、この試験を「動作モードの試験」という。また、他の1つは、搭載条件に応じた動作周波数の安定動作検証である。この試験は、具体的には、メモリの搭載条件を変更して、各搭載条件におけるBIOSファームウェア及びハードウェアの動作の検証を行う試験である。以下では、この試験を「動作周波数の試験」という。これらいずれの試験においても、複数のDIMM搭載パターンを構築した上で試験が行われる。
DIMMの動作モードには、例えば、ノーマル、ミラー、スペアの3種類がある。そして、各動作モードに応じて、DIMMの搭載パターンが決められている。そこで、動作モードの試験の場合、それぞれのパターンでOS(Operating System)を起動させた際に、期待通りのメモリ容量が認識されているかの確認の検証がDIMMの構成毎に行われる。
また、DIMMの動作周波数は、DIMMの搭載パターン、容量の違いによるDIMMの種類及びメモリ動作モードによって異なる。そこで、動作周波数の違いでメモリのトレーニング論理が異なるため、動作周波数の試験では、各メモリ構成に応じた動作周波数においてメモリのトレーニングが成功し、OSの起動後に安定動作するかどうかのテストが行われる。
特に、DIMMの種類や搭載パターンとメモリ動作モードとの組み合わせにより、複数の異なるメモリのトレーニング論理が存在するため、トレーニング論理にバグが内在するケースが多く、検証の後の工程で問題になることが多い。構成に依存した潜在的なバグを事前に検出し、開発側にフィードバックするために、搭載バターンを構成変更して試験を網羅的に実施することが好ましい。また、個体のバラつきも考慮に含めた安定度確認のための繰り返し試験を行うことが好ましい。
例えば、DIMMで発生する障害としては、メモリトレーニングすなわちメモリの初期化中にトレーニングエラーが発生し、OSを起動できないことが考えられる。また、メモリトレーニング完了後のOSの運用中に、動作が不安定になる修復可能エラー又は修復不可能なエラーが頻発することが考えられる。
従来は、動作モードの試験及び動作周波数の試験を行う際に、以下のような流れでDIMMの組み合わせを変更して繰り返し試験が行われていた。まず、試験を行うオペレータが手動で、試験項目に応じたDIMMの種類及び搭載パターンとなるようにDIMMを情報処理装置に実装する。次に、オペレータがメモリモードを設定する。次に、試験装置から被試験装置に対し指示を出し試験を開始する。この時、試験内容は、例えば、電源のオンオフの繰り替えし及びOS起動状態でのテストプログラムの走行である。そして、障害発生時には、装置ログにエラーが記録される。試験終了後、オペレータは、装置ログを確認して良否判定を行う。
なお、情報処理装置の試験方法として、BMC(Baseboard Management Controller)に検証用のパラメータを格納しておき、試験対象の情報処理装置は起動後BMCに格納されたパラメータを読み出して試験を行う従来技術がある。また、BIOSの立ち上げ処理中にマルチCPU(Central Processing Unit)間のインタフェース回路のエラー情報をBMCに通知して故障部位を判定する従来技術がある。
特開2014−96032号公報 特開2012−79266号公報
しかしながら、大容量のDIMMを搭載可能な情報処理装置においては、搭載パターンが多数存在する。例えば、1枚のシステムボードあたり、最大48枚のDIMMが搭載可能である場合、動作モードを加味して、DIMMの搭載パターンが41パターンとなる場合がある。この場合にDIMMの種類が4種類とすると、動作モードとDIMMの種類の組み合わせでDIMMの搭載パターンは164パターンとなる。さらに、DIMM容量の混在、複数システムボードの構成を考慮すると、搭載パターンは膨大な数となる。
このような膨大な搭載パターンに応じた試験を行う場合、試験項目に応じた搭載パターンの物理位置にDIMMを搭載することは、オペレータが手作業で行う場合、非常に煩雑な作業となる。また、DIMMの載せ替え作業を行うには情報処理装置の電源を落とすことになり、その都度試験装置からの指示を完了させ、DIMMの載せ替え作業後に再度試験指示を行うことになる。このため、全ての搭載パターンの試験を完了するためには、情報処理装置の電源のオンオフが非常に多くの回数行われることになる。このようなことから、従来は、情報処理装置に搭載されたメモリの試験を行うことに多くの手間がかかっていた。
また、BMCから検証用のパラメータを読み出す従来技術では、メモリの搭載パターンを変更することは考慮されておらず、メモリの試験を容易に実行することは困難である。また、マルチCPU間のインタフェース回路のエラー情報をBMCに通知する従来技術を用いても、メモリの試験を容易に実行することは困難である。
開示の技術は、上記に鑑みてなされたものであって、情報処理装置に搭載されたメモリの試験を容易に実行する情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法を提供することを目的とする。
本願の開示する情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法の一つの態様において、複数のメモリスロットを備える。さらに、状態取得部は、前記メモリスロットに搭載されたメモリの物理的な搭載状態を示す実装情報を取得する。試験制御部は、前記状態取得部により取得された前記実装情報を基に、前記メモリの前記メモリスロットへの試験用の搭載パターンに応じた搭載情報を生成する。試験部は、前記試験制御部により生成された前記搭載情報を基に前記メモリの試験を実行する。
本願の開示する情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法の一つの態様によれば、情報処理装置に搭載されたメモリの試験を容易に実行することができるという効果を奏する。
図1は、サーバの構成図である。 図2は、システムボード上に搭載されるDIMMの搭載図である。 図3は、DIMMの搭載規則を表す図である。 図4は、実施例1に係るメモリ試験を行うサーバ及び試験サーバのブロック図である。 図5は、試験管理テーブルの一例の図である。 図6は、搭載パターン規則フォーマットの一例の図である。 図7は、実搭載情報テーブルの一例の図である。 図8は、DIMM容量及び搭載枚数と動作周波数との関係を表す図である。 図9は、BMC及びCPUとDIMMとの接続状態を模式的に表す図である。 図10は、実施例1に係るサーバによるメモリ試験の流れを説明するための図である。 図11は、実施例1に係るサーバによるメモリ検証のフローチャートである。 図12は、実施例1に係るサーバによるメモリ試験のフローチャートである。 図13は、仮想搭載情報テーブルの一例の図である。 図14は、容量情報テーブルの一例の図である。 図15は、他の搭載パターンにおける仮想搭載情報テーブルの一例の図である。 図16は、他の搭載パターンにおける容量情報テーブルの一例の図である。 図17は、BIOS実行部によるメモリ試験の詳細を表すフローチャートである。 図18は、試験管理テーブルの一例を表す図である。 図19は、試験テーブルの一例を表す図である。 図20は、イベントIDテーブルの一例を表す図である。 図21は、メモリ試験における作業時間の比較を表す図である。 図22は、混載数を基準とした優先順位テーブルの一例の図である。 図23は、出荷実績及びエラー発生実績を基準とした優先順位テーブルの一例の図である。
以下に、本願の開示する情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法が限定されるものではない。
図1は、サーバの構成図である。情報処理装置であるサーバ1は、図1に示すように、システムボード10、ファン11、管理ボード12、フレキシブルI/Oスイッチ13、I/Oユニット14及び電源15を有する。
ファン11は、本実施例ではサーバ1内に複数配置される。ただし、ファン11は、1つであってもよい。また、ファン11は、システムボード10、管理ボード12、フレキシブルI/Oスイッチ13及びI/Oユニット14を冷却する。
電源15は、本実施例ではサーバ1内に複数配置される。ただし、電源15は、1つであってもよい。電源15は、システムボード10、ファン11、管理ボード12、フレキシブルI/Oスイッチ13及びI/Oユニット14に電源を供給する。
システムボード10は、サーバ1内に複数配置される。ただし、システムボード10は、1つであってもよい。システムボード10は、BMC101、CPU102、メモリコントローラ103及びDIMM104を有する。
DIMM104は、主記憶装置である。DIMM104は、メモリコントローラ103からの制御を受けて、データの格納及び出力を行う。DIMM104は、システムボード10上に設けられたメモリスロットに挿入されることでシステムボード10に実装される。ここで、図1では、DIMM104は1つしか図示していないが、実際には、DIMM104は、システムボード10上に複数搭載されてもよい。
BMC101は、電圧・温度等のエラーの監視、エラー情報の通報、電源制御等のシステム固有の制御等、システムの状態を監視するシステム制御装置である。また、BMC101は、DIMM104の実際の物理的な搭載情報を取得する。そして、メモリ試験の実行の指示を試験サーバから受けると、BMC101は、DIMM104の試験用の搭載パターンを表すメモリの仮想的な搭載情報を生成しCPU102へ通知する。
CPU102は、演算処理装置である。CPU102は、DIMM104及びI/Oユニット14などを用いて演算処理を行う。また、CPU102は、BMC101から入力されたDIMM104の仮想的な搭載情報を用いてDIMM104の試験を行う。BMC101及びCPU102によるメモリ試験の機能については後で詳細に説明する。CPU102は、DIMM104に対するデータの読み出し及び書き込みを行う場合、メモリコントローラ103を介して処理を行う。ここで、図1では、CPU102は1つしか図示していないが、実際には、CPU102は、システムボード10上に複数搭載されてもよい。
メモリコントローラ103は、DIMM104に対してデータの書き込み及び読み出しを行う。メモリコントローラ103は、CPU102からの指示を受けて、受けた指示にしたがいDIMM104に対するデータの書き込み及び読み出しを行う。ここで、図1では、メモリコントローラ103は1つしか図示していないが、実際には、メモリコントローラ103は、システムボード10上に複数搭載されてもよい。
図2は、システムボード上に搭載されるDIMMの搭載図である。図2は、システムボード10上のメモリスロット105にDIMM104が搭載された状態を示す。本実施例では、図2に示すように、システムボード10上にメモリスロット105が48個配置されている場合で説明する。図2では、48個全てのメモリスロット105にDIMM104が搭載されている状態を表す。そして、図2においてメモリスロット105の中に記載されたDIMMを表す情報における「#」を含む#から後の3つの符号が、各メモリスロット105のスロット番号に対応する。例えば、「DIMM#1D5」は、スロット番号#1D5のメモリスロット105に搭載されたDIMM104を表す。
図2に示すように、1つのメモリコントローラ103が6つのDIMM104を管理する。そして、1つのCPU102が、4つのメモリコントローラ103に接続され、合計24個のDIMM104を使用する。
さらに、DIMM104は、図3に示す搭載規則テーブル150で示される順序にしたがってシステムボード10に搭載される。図3は、DIMMの搭載規則を表す図である。本実施例では、DIMM104の動作モードとして、ノーマルモード、ミラーモード及びスペアモードの3つのモードがある。搭載規則テーブル150では、動作モード毎に、メモリを搭載するスロットの順番が記載してある。DIMMスロットの行に記載された符号が、図2の各メモリスロット105のスロット番号に対応する。搭載規則テーブル150では、#を抜いてメモリスロット105の番号を表す。またここでは、搭載規則テーブル150において、スロット番号#0A0〜#0D5までのメモリスロット105を用いるCPU102をCPU#0とし、スロット番号#1A0〜#1D5までのメモリスロット105を用いるCPU102をCPU#1とする。
例えば、ノーマルモードの場合、DIMM104は、スロット番号#0A0,#0A3,#1A0及び#1A3のメモリスロット105に搭載された状態が最小の搭載状態である。この状態からDIMM104を増設する場合、番号が2,3,4・・・の順に対応する各メモリスロット105にDIMM104が搭載される。これは、動作モードが、ミラーモードの場合もスペアモードの場合も同様である。
フレキシブルI/Oスイッチ13は、システムボード10とI/Oユニット14との接続経路を切り替えるクロスバスイッチである。フレキシブルI/Oスイッチ13は、あるシステムボード10に対していずれかのI/Oユニット14を接続する。フレキシブルI/Oスイッチ13は、サーバ1内に複数搭載されてもよい。
I/Oユニット14は、本実施例では、サーバ1内に複数配置される。ただし、I/Oユニット14は、1つであってもよい。I/Oユニット14は、例えば、ハードディスク、CD、DVD及びUSBメモリなどの入出力装置である。I/Oユニット14は、フレキシブルI/Oスイッチ13を介してシステムボード10と接続される。I/Oユニット14は、例えばCPU102からの指示を受けて、データの入出力を実施する。
次に、図4を参照して、本実施例に係るサーバによるメモリ試験の機能の詳細について説明する。図4は、実施例1に係るメモリ試験を行うサーバ及び試験サーバのブロック図である。以下では、DIMMの動作モードの試験及び動作周波数の試験をまとめて、「メモリ試験」という。また、メモリ試験以外の、DIMM104チェック及び単体試験とメモリ試験とを合わせた試験の全体を「メモリ検証」という。
図4に示すように、メモリ検証を行うサーバ1は、ネットワーク3を介して試験サーバ2に接続されている。試験サーバ2は、試験に用いる情報の入力及び試験結果の収集を行うためのサーバである。この試験サーバ2が、「試験装置」の一例にあたる。
試験サーバ2は、単体試験実行部21、搭載パターン規則フォーマット入力部22、動作モード指定部23及び試験管理部24を有する。ここで、単体試験実行部21、搭載パターン規則フォーマット入力部22、動作モード指定部23及び試験管理部24は、いずれもメモリにそれらを実現するプログラムが格納され、CPUがメモリに格納されたプログラムを実行することによって実現される。
試験サーバ2の試験管理部24は、メモリ検証を開始させるための試験開始指示をサーバ装置制御部200を介してシステムボード制御部110の統括制御部113へ送信する。その後、試験管理部24は、サーバ装置制御部200を介して統括制御部113から構成チェックの結果を受信する。そして、試験管理部24は、通知された構成チェックの結果からDIMM104の構成の良否を判定する。試験管理部24は、DIMM104の構成に問題が無ければその旨を単体試験実行部21に通知する。
その後、試験管理部24は、単体試験のログをサーバ装置制御部200を介して統括制御部113から受信する。そして、試験管理部24は、通知された単体試験のログから、ハード的な故障の有無によりDIMM104の交換を行うか否かを判定する。DIMM104の交換を行う場合、試験管理部24は、DIMM104の交換をオペレータに報知した後、メモリ検証を終了する。
DIMM104のハード的な故障が発生していない場合、試験管理部24は、単体試験の終了を搭載パターン規則フォーマット入力部22及び動作モード指定部23へ通知する。その後、試験管理部24は、サーバ装置制御部200を介して統括制御部113からメモリ試験のログを取得し蓄積する。この試験管理部24が、「結果取得部」の一例にあたる。
単体試験実行部21は、試験サーバ2においてオペレータが試験項目を選択することで生成された図5に示すような試験管理テーブル210を記憶する。図5は、試験管理テーブルの一例の図である。試験管理テーブル210には、試験項目毎に、オペレータが選択した試験番号、試験回数及び試験オプションが登録される。試験番号は、異なる内容の試験ごとに割り当てられた番号である。
単体試験実行部21は、DIMM104の構成に問題が無い旨の通知を試験管理部24から受ける。そして、単体試験実行部21は、単体試験の実行の指示をサーバ装置制御部200を介してシステムボード制御部110の統括制御部113へ送信する。この時、単体試験実行部21は、試験管理テーブル210にしたがって、試験項目の順番に単体試験を実行するように統括制御部113に指示する。
搭載パターン規則フォーマット入力部22は、試験サーバ2においてオペレータが試験項目を選択することで生成された図6に示すような搭載パターン規則フォーマット220を記憶する。図6は、搭載パターン規則フォーマットの一例の図である。搭載パターン規則フォーマット220には、メモリスロット105に搭載されたDIMM104の種類毎に、試験パターンが登録される。ここでのDIMM104の種類とは、メモリ容量の違いによる種類分けである。搭載パターン規則フォーマット220の左端に記載した試験パターン番号(P)の値が試験パターンの識別番号にあたる。さらに、試験パターンには、複数種類の試験を含む場合がある。試験パターンに含まれる試験は、試験番号(x)がふられる。例えば、図6の試験パターン番号(P)が「4」の試験パターンには、試験番号(x)が1〜mの試験が含まれる。そして、試験番号(x)毎に、搭載パターンが登録される。さらに、搭載パターン規則フォーマット220では、搭載パターンが無くなった後の試験パターン番号(P)の欄には、終了値を設定する。
この搭載パターン規則フォーマット220における試験パターン番号(P)及び試験番号(x)に応じた搭載パターンは、オペレータが自由に設定することが可能である。搭載パターンには、エラーが発生しやすいパターンを設定されることが好ましい。
搭載パターン規則フォーマット入力部22は、単体試験の終了の通知を試験管理部24から受ける。そして、搭載パターン規則フォーマット入力部22は、搭載パターン規則フォーマット220をサーバ装置制御部200を介してシステムボード制御部110へ送信する。この搭載パターン規則フォーマット入力部22が、「情報入力部」の一例にあたる。
動作モード指定部23は、単体試験の終了の通知を試験管理部24から受ける。そして、動作モード指定部23は、予めオペレータから指定されたメモリ試験で用いる動作モードをサーバ装置制御部200を介してシステムボード制御部110へ送信する。
次に、サーバ1について説明する。サーバ1は、図4に示すように、サーバ装置制御部200を有する。さらに、サーバ1に搭載されたシステムボード10は、システムボード制御部110、BIOS実行部120及びDIMM104を有する。
サーバ装置制御部200は、図1における管理ボード12によって実現される。サーバ装置制御部200は、システムボード10と試験サーバ2との間の通信を中継する。以下の説明では、説明の都合上、システムボード10と試験サーバ2とが直接通信を行うように説明するが、実際には、サーバ装置制御部200が通信を仲介する。
システムボード制御部110は、試験用搭載情報テーブル作成部111、SPD(Serial Presence Detect)読出部112及び統括制御部113を有する。
統括制御部113は、試験開始の指示を試験管理部24から受信する。そして、統括制御部113は、メモリ検証を開始する。
統括制御部113は、DIMM104の構成をチェックする。具体的には、システムボード10のメモリスロット105にDIMM104が搭載されているか、不良なDIMM104が無いか、搭載されているDIMM104がサポートされているメモリかなどをチェックする。さらに、統括制御部113は、メモリの容量をチェックする。そして、統括制御部113は、チェック結果を試験サーバ2の試験管理部24に通知する。
その後、統括制御部113は、DIMM104の単体試験を行う。具体的には、統括制御部113は、サーバ1のオンオフなどを行いDIMM104のハード的な確認を行う。この場合、統括制御部113は、CPU102とともに単体試験を行ってもよい。そして、統括制御部113は、単体試験のログを収集する。その後、統括制御部113は、収集した単体試験のログを試験サーバ2の試験管理部24に通知する。
その後、BIOS実行部120によるある項目の1回のメモリ試験が終了すると、統括制御部113は、メモリ試験のログをBIOS実行部120から取得する。次に、統括制御部113は、試験サーバ2の試験管理部24から試験終了の指示を受けたか否かを判定する。試験終了の指示を受けた場合、統括制御部113は、メモリ試験を終了する。
これに対して、試験終了の指示を受けていない場合、統括制御部113は、試験サーバ2から繰り返し指示を受けたか否かを判定する。ここで、繰り返し指示は、この段階で統括制御部113が、繰り返しを実行するか否かの問い合わせを試験管理部24に行い、試験管理部24からの応答により判定してもよい。また、統括制御部113は、例えば試験情報を取得後ログ採取までの間に試験管理部24から繰り返し指示の入力を受けたか否かによりこの判定を行ってもよい。
繰り返し指示を受けていれば、統括制御部113は、試験用搭載情報テーブル作成部111に前回と同様の試験を行わせる。これに対して、繰り返し指示を受けていなければ、統括制御部113は、試験の次段階への進行を試験用搭載情報テーブル作成部111に通知する。
その後、統括制御部113は、メモリ試験の完了の通知を試験用搭載情報テーブル作成部111から受ける。そして、統括制御部113は、採取した全てのログを試験サーバ2の試験管理部24へ送信する。
SPD読出部112は、SPDの読み出し指示を試験用搭載情報テーブル作成部111から受信する。そして、SPD読出部112は、システムボード10に搭載された全てのDIMM104のSPDを読み出す。SPDの情報には、DIMM104の容量、ベンダID(Identifier)、シリアルナンバー及び種類などが含まれる。次に、SPD読出部112は、読み出した全てのDIMM104のSPDを試験用搭載情報テーブル作成部111に送信する。このSPD読出部112が、「状態取得部」の一例にあたる。
試験用搭載情報テーブル作成部111は、搭載パターン規則フォーマット220を試験サーバ2の搭載パターン規則フォーマット入力部22から受信する。次に、試験用搭載情報テーブル作成部111は、SPDの読み出し指示をSPD読出部112へ送信する。その後、試験用搭載情報テーブル作成部111は、システムボード10に搭載された全てのDIMM104のSPDをSPD読出部112から取得する。そして、試験用搭載情報テーブル作成部111は、システムボード10に搭載された全てのDIMM104のSPD情報を含んだ図7に示す実搭載情報テーブル301を作成する。この実搭載情報テーブル301が、「実装情報」の一例にあたる。
図7は、実搭載情報テーブルの一例の図である。図7の実搭載情報テーブル301には、上部に記載された符号が、図2の各メモリスロット105のスロット番号に対応する。図7の実搭載情報テーブル301では、#を抜いてメモリスロット105の番号を表す。
図7では、全てのメモリスロット105にDIMM104が搭載された状態を表す。また、図7では一例として搭載位置を記載しているが、実際には、DIMM104毎にDIMM104の容量、ベンダID(Identifier)、シリアルナンバー及び種類などが登録される。
次に、試験用搭載情報テーブル作成部111は、試験に用いるメモリの動作モードの指定を試験サーバ2の動作モード指定部23から受信する。例えば、試験用搭載情報テーブル作成部111は、ノーマルモード、ミラーモード及びスペアモードの3種類の動作モードの指定を受ける。そして、試験用搭載情報テーブル作成部111は、受信した動作モードの中から1つの動作モードを選択する。
そして、試験用搭載情報テーブル作成部111は、搭載パターン規則フォーマット220にしたがって、選択した動作モードにおいて指定された搭載パターンを順次取得する。ここで、試験用搭載情報テーブル作成部111は、実搭載情報テーブル301においてメモリスロット105に搭載されているDIMM104を用いた搭載パターンを取得する。例えば、基本構成が同じDIMM104であれば、試験用搭載情報テーブル作成部111は、DIMM104のランク数などの情報を変更することで、大きい容量のDIMMを実際よりも小さい容量のDIMMとして動作させる搭載パターンを用いることができる。すなわち、試験用搭載情報テーブル作成部111は、DIMM104の搭載枚数及び容量以下の搭載枚数及び容量を条件とする搭載パターンを用いる。そのため、より多くの搭載パターンで試験を行うためには、できるだけ容量の大きいDIMM104をできるだけ多く搭載しておくことが好ましい。
次に、試験用搭載情報テーブル作成部111は、取得した搭載パターンにしたがって、仮想的なDIMM104の搭載状態を表す試験用搭載情報テーブルを作成する。この試験用搭載情報テーブルが、「搭載情報」の一例にあたる。そして、試験用搭載情報テーブル作成部111は、作成した試験用搭載情報テーブルをBIOS実行部120へ送信し、試験用搭載情報テーブルで表されるDIMM104の搭載状態に対してメモリ試験を実行させる。試験用搭載情報テーブル作成部111は、選択した動作モードに対して搭載パターン規則フォーマット220で指定された全種類の搭載パターンでメモリ試験をBIOS実行部120に実行させる。
さらに、試験用搭載情報テーブル作成部111は、指定された動作モードの全てに対して、搭載パターン規則フォーマット220で指定された全種類の搭載パターンでのメモリ試験をBIOS実行部120に実行させる。その後、全ての試験が終了すると、試験用搭載情報テーブル作成部111は、メモリ試験の完了を統括制御部113へ通知する。この試験用搭載情報テーブル作成部111による全動作モード毎の全搭載パターンの選択方法については後で詳細に説明する。この試験用搭載情報テーブル作成部111が、「試験制御部」の一例にあたる。
BIOS実行部120は、CPU102によって実現される。BIOS実行部120は、メモリ初期化部121を有する。メモリ初期化部121が行うメモリ試験の処理は、CPU102によって実行されるBIOSによって実行される処理の一部にあたる。
BIOS実行部120は、試験情報とともに試験用搭載情報テーブルを試験用搭載情報テーブル作成部111から受信する。そして、BIOS実行部120のメモリ初期化部121は、サーバ1を起動しDIMM104の初期化、メモリ空間の割り当て及びメモリアクセスなどを行ってメモリ試験を実施する。このメモリ初期化部121が、「試験部」の一例にあたる。また、BIOS実行部120を実現するCPU102が、「試験装置」の一例にあたる。
ここで、DIMM104の動作周波数は、DIMM104の搭載パターン、DIMM104の種類及び動作モードによって異なる。ただし、DIMM104の動作周波数は、システムボード制御部110によってBIOS実行部120に明示的に設定されるものではない。試験用搭載情報テーブル作成部111が、DIMM104の搭載パターンとして搭載位置を含む搭載枚数及びDIMM104の容量を設定することで、BIOS実行部120が自動的に動作周波数を決定する。
例えば、図8は、DIMM容量及び搭載枚数と動作周波数との関係を表す図である。図8の1DPC(DIMM Per Channel)構成とは、1つのメモリコントローラ103が制御する3つのメモリスロット105の中に1枚のDIMM104が搭載されている状態を表す。図8に示すように、DIMM104の搭載枚数とDIMM104の容量に応じてDIMM104の動作周波数が決定される。BIOS実行部120は、この動作周波数に応じてDIMM104のメモリ試験を行う。
このように、DIMM104の搭載パターンを決定することで、BIOS実行部120は、自動的に動作周波数を変更したメモリ試験を実施することができる。
図9は、BMC及びCPUとDIMMとの接続状態を模式的に表す図である。実際には、BMC101及びCPU102は、メモリコントローラ103を介してDIMM104に接続するが、ここでは説明の都合上、メモリコントローラ103を省略して表す。BMC101及びCPU102はスイッチ106を介してDIMM104と接続される経路を有する。スイッチ106が切り替わることで、DIMM104は、BMC101又はCPU102の何れかに接続される。
本実施例に係るサーバ1では、メモリ試験の場合でなければ、BMC101及びCPU102は以下の動作を行う。BMC101は、サーバ1の電源オン前に、DIMM104のSPDにアクセスし、搭載されているDIMM104が搭載条件に違反していないかをチェックする。違反している場合は、BMC101は、エラーを表示し電源オンを抑止する。一方、CPU102は、サーバ1の電源オン時に、DIMM104のSPDを読んで搭載されているDIMM104の構成を認識して初期化を実行する。
このように、電源オン時にスイッチ106がCPU102側に切り替わり、CPU102がDIMM104に接続されると、CPU102はDIMM104の実際の物理的な搭載状態を読み込んでしまう。これでは、仮想的搭載状態を形成しメモリ試験を行うことが困難となる。
そこで、図10に示す方法で本実施例に係るサーバ1はメモリ試験を実行する。図10は、実施例1に係るサーバによるメモリ試験の流れを説明するための図である。本実施例に係るサーバ1では、メモリ試験時に、BMC101が、DIMM104から読み込んだSPDから実際の物理的なDIMM104の搭載状態を表す実搭載情報テーブル301を生成する。さらに、サーバ1の電源オン時にCPU102側にスイッチ106を切り替えることなく、BMC101に動作モードと搭載規則フォーマットを入力し、BMC101に、仮想搭載情報テーブル302及び容量情報テーブル303を生成させる。その後、BMC101は、仮想搭載情報テーブル302及び容量情報テーブル303から試験用搭載情報テーブルを作成し、CPU102に試験用搭載情報テーブルを送信することで、CPU102に仮想の搭載状態にDIMM104があると把握させる。これにより、CPU102は、実際の物理的な搭載状態とは異なる仮想の搭載状態のDIMM104についてメモリ試験を行う。
次に、図11を参照して、本実施例に係るサーバ1によるメモリ検証の全体的な流れについて説明する。図11は、実施例1に係るサーバによるメモリ検証のフローチャートである。
試験サーバ2の試験管理部24は、試験開始指示をサーバ装置制御部200を介してシステムボード制御部110の統括制御部113へ送信する。統括制御部113は、試験開始の指示を受信し、メモリ検証を開始する(ステップS1)。
統括制御部113は、DIMM104の構成をチェックする(ステップS2)。そして、統括制御部113は、チェック結果をサーバ装置制御部200を介して試験サーバ2の試験管理部24に通知する。試験管理部24は、通知された構成チェックの結果からDIMM104の構成の良否を判定し、構成に問題が無ければその旨を単体試験実行部21に通知する。
単体試験実行部21は、試験管理部24からDIMM104の構成に問題が無い旨の通知を受けると、単体試験の実行の指示をサーバ装置制御部200を介してシステムボード制御部110の統括制御部113へ送信する。統括制御部113は、DIMM104の単体試験を行う(ステップS3)。具体的には、統括制御部113は、サーバ1のオンオフなどを行いDIMM104のハード的な確認を行う。この場合、統括制御部113は、CPU102とともに単体試験を行ってもよい。
そして、統括制御部113は、単体試験のログを収集する(ステップS4)。その後、統括制御部113は、収集した単体試験のログをサーバ装置制御部200を介して試験サーバ2の試験管理部24に通知する。
試験管理部24は、単体試験のログをサーバ装置制御部200を介して統括制御部113から受信する。そして、試験管理部24は、通知された単体試験のログから、ハード的な故障の有無によりDIMM104の交換を行うか否かを判定する(ステップS5)。
DIMM104の交換を行う場合(ステップS5:肯定)、試験管理部24は、メモリ検証を終了する。これにより、サーバ1もメモリ検証を終了する。
これに対して、DIMM104の交換を行わない場合(ステップS5:否定)、試験管理部24は、単体試験の終了を搭載パターン規則フォーマット入力部22及び動作モード指定部23へ通知する。搭載パターン規則フォーマット入力部22は、単体試験の終了の通知を試験管理部24から受ける。そして、搭載パターン規則フォーマット入力部22は、搭載パターン規則フォーマット220をサーバ装置制御部200を介してシステムボード制御部110へ送信する。また、動作モード指定部23は、単体試験の終了の通知を試験管理部24から受ける。そして、動作モード指定部23は、メモリ試験で用いる動作モードをサーバ装置制御部200を介してシステムボード制御部110へ送信する。システムボード制御部110は、搭載パターン規則フォーマット220及び動作モードを受信する。そして、システムボード制御部110は、搭載パターン規則フォーマット220で指定された全ての搭載パターンでのメモリ試験を実施する(ステップS6)。
次に、図12を参照して、本実施例に係るサーバ1によるメモリ試験の流れについて説明する。図12は、実施例1に係るサーバによるメモリ試験のフローチャートである。図12のフローチャートは、図11におけるステップS6で実行される処理の一例にあたる。図12のフローチャートで示す処理は、試験用搭載情報テーブル作成部111による全動作モード毎の全搭載パターンの選択方法の一例にあたる。
試験用搭載情報テーブル作成部111は、搭載パターン規則フォーマット220を試験サーバ2の搭載パターン規則フォーマット入力部22から受信する(ステップS101)。
SPD読出部112は、システムボード10に搭載された全てのDIMM104のSPDを読み出す。試験用搭載情報テーブル作成部111は、システムボード10に搭載された全てのDIMM104のSPDをSPD読出部112から取得する。そして、試験用搭載情報テーブル作成部111は、システムボード10に搭載された全てのDIMM104のSPD情報を含んだ実搭載情報テーブル301を作成する(ステップS102)。
次に、試験用搭載情報テーブル作成部111は、試験に用いるメモリの動作モードの指定をサーバ装置100を介して試験サーバ2の動作モード指定部23から受信する。そして、試験用搭載情報テーブル作成部111は、受信した動作モードの中から1つの動作モードを選択する(ステップS103)。
次に、試験用搭載情報テーブル作成部111は、実搭載情報テーブル301に記載されたDIMM104の搭載数及び動作モードから、選択した動作モードにおける最大搭載番号(A)を算出する(ステップS104)。ここで、最大搭載番号(A)とは、図3に示したDIMM104の搭載順を表す番号の最も大きい番号にあたる。すなわち、最大搭載番号(A)は、選択した動作モードにおいて、DIMM104がどの順番の番号まで搭載されているかを表す値である。試験用搭載情報テーブル作成部111は、後述する仮想搭載情報テーブル302を作成する際に、最大搭載番号(A)以下の順番のメモリスロット105であれば、DIMM104が搭載されているとして扱うことができる。
例えば、動作モードがノーマルモードの場合、試験用搭載情報テーブル作成部111は、DIMM104の搭載数を2で除算した値を最大搭載番号(A)とする。また、動作モードがミラーモードの場合、試験用搭載情報テーブル作成部111は、DIMM104の搭載数を4で除算した値から1を減算した値を最大搭載番号(A)とする。また、動作モードがスペアモードの場合、試験用搭載情報テーブル作成部111は、DIMM104の搭載数を6で除算した値を最大搭載番号(A)とする。
次に、試験用搭載情報テーブル作成部111は、試験用搭載番号(B)を初期値に設定する(ステップS105)。具体的には、試験用搭載情報テーブル作成部111は、試験用搭載番号(B)の初期値を最大搭載番号(A)から1を減算した値とする。試験用搭載番号(B)とは、仮想搭載情報テーブル302を作成する際に、仮想的にどの順番のメモリスロット105までメモリが搭載されているとするかを表す番号である。試験用搭載情報テーブル作成部111は、試験用搭載番号(B)以下の順番の番号を有するメモリスロット105にDIMM104が搭載されているものとして取り扱う。さらに、試験用搭載情報テーブル作成部111は、試験パターン番号(P)を初期値である「1」に設定する。
次に、試験用搭載情報テーブル作成部111は、試験パターン番号(P)を初期値である「1」に設定する(ステップS106)。
次に、試験用搭載情報テーブル作成部111は、仮想搭載情報テーブル302を作成する(ステップS107)。具体的には、試験用搭載情報テーブル作成部111は、試験用搭載番号(B)より順番が大きいメモリスロット105にDIMM104が搭載されていないことを仮想的に表す非搭載フラグを設定して、図13に示すような仮想搭載情報テーブル302を作成する。図13は、仮想搭載情報テーブルの一例の図である。ここでは、試験用搭載番号(B)が3の場合であり、試験用搭載情報テーブル作成部111は、順番が4以上のメモリスロット105に非搭載フラグである「−」を設定する。
次に、試験用搭載情報テーブル作成部111は、搭載パターン規則フォーマット220における試験パターン番号(P)における最大の番号に試験番号(x)を設定する(ステップS108)。例えば、図6の搭載パターン規則フォーマット220における16GBのDIMM104が搭載されている場合の試験パターン番号(P)が4の場合であれば、試験用搭載情報テーブル作成部111は、試験番号(x)を「m」と設定する。
次に、試験用搭載情報テーブル作成部111は、実搭載情報テーブル301に登録された搭載されているDIMM104の種類に応じた試験パターン番号(P)の試験番号(x)に該当する搭載パターンを、搭載パターン規則フォーマット220から取得する。そして、試験用搭載情報テーブル作成部111は、取得した搭載パターンの条件にその時点の条件が適合しているか否かを判定する(ステップS109)。例えば、その時点の試験用搭載番号(B)が3である場合、試験用搭載番号(B)が2であるという搭載パターンの条件であれば、試験用搭載情報テーブル作成部111は、搭載パターンの条件に不適合と判定する。搭載パターンの条件に不適合の場合(ステップS109:否定)、試験用搭載情報テーブル作成部111は、搭載パターン不適合を統括制御部113へ通知する。そして、処理はステップS116に進む。
一方、搭載パターンの条件に適合する場合(ステップS109:肯定)、試験用搭載情報テーブル作成部111は、取得した搭載パターンにしたがい容量情報テーブル303を作成する(ステップS110)。具体的には、試験用搭載情報テーブル作成部111は、取得した搭載パターンにしたがい各メモリスロット105毎の搭載するDIMM104の容量を設定して図14に示すような容量情報テーブル303を作成する。図14は、容量情報テーブルの一例の図である。試験用搭載情報テーブル作成部111は、例えば、図13に示す仮想搭載情報テーブル302を用いる場合であって、全てのDIMM104の容量を16GBとする搭載パターンを用いる場合、図14に示す容量情報テーブル303を生成する。
ここで、例えば、DIMM104を8枚搭載し全て16GBとする搭載パターンから、DIMM104を20枚搭載し全て8GBとする搭載パターンへと変更する場合を考える。この場合、仮想搭載情報テーブル302は、図13の状態から図15の状態へ変化する。また、容量情報テーブル303は、図14の状態から図16の状態へ変化する。このように、試験用搭載情報テーブル作成部111は、DIMM104の物理的な搭載状態を変更することなく、搭載パターンを変化させることができる。図15は、他の搭載パターンにおける仮想搭載情報テーブルの一例の図である。また、図16は、他の搭載パターンにおける容量情報テーブルの一例の図である。
次に、試験用搭載情報テーブル作成部111は、作成した仮想搭載情報テーブル302及び容量情報テーブル303を用いて試験用搭載情報テーブルを生成する(ステップS111)。ここで、試験用搭載情報テーブルは、メモリスロット105毎に仮想的な搭載状態及び容量の設定を定義し、BIOSに移入することのできるコードで表したテーブルである。具体的には、試験用搭載情報テーブルには、DIMM104の実装状態又は未実装を表す値、パッケージランク情報及びデバイス幅情報などがメモリスロット105毎に登録される。
次に、試験用搭載情報テーブル作成部111は、実行する試験を表す試験情報を試験サーバ2の試験管理部24から受信する(ステップS112)。
次に、試験用搭載情報テーブル作成部111は、試験情報とともに試験用搭載情報テーブルをBIOS実行部120へ送信する(ステップS113)。
BIOS実行部120は、試験情報とともに試験用搭載情報テーブルを試験用搭載情報テーブル作成部111から受信する。そして、BIOS実行部120のメモリ初期化部121は、メモリ試験を実行する(ステップS114)。BIOS実行部120は、非搭載フラグが設定されたメモリスロット105に搭載されているDIMM104に対しては、初期化を行わず、また、メモリ領域としても使用しない。
BIOS実行部120によるメモリ試験が終了すると、統括制御部113は、メモリ試験のログを採取する(ステップS115)。
次に、統括制御部113は、試験サーバ2の試験管理部24から試験終了の指示を受けたか否かを判定する(ステップS116)。試験終了の指示を受けた場合(ステップS116:肯定)、統括制御部113は、ステップS125へ進む。
これに対して、試験終了の指示を受けていない場合(ステップS116:否定)、統括制御部113は、試験サーバ2から繰り返し指示を受けたか否かを判定する(ステップS117)。繰り返し指示を受けた場合(ステップS117:肯定)、統括制御部113は、ステップS113へ戻る。
これに対して、繰り返し指示を受けていない場合(ステップS117:否定)、統括制御部113は、試験の次段階への進行を試験用搭載情報テーブル作成部111に通知する。試験用搭載情報テーブル作成部111は、試験の次段階への進行の通知を受けて、試験番号(x)が0か否かを判定する(ステップS118)。
試験番号(x)が0以外の場合(ステップS118:否定)、試験用搭載情報テーブル作成部111は、試験番号(x)を1つデクリメントする(ステップS119)。すなわち、試験用搭載情報テーブル作成部111は、x=x−1とする。その後、試験用搭載情報テーブル作成部111は、ステップS109へ戻る。
これに対して、試験番号(x)が0の場合(ステップS118:肯定)、試験用搭載情報テーブル作成部111は、搭載パターン規則フォーマット220において試験パターン番号(P)が終了値であるか否かを判定する(ステップS120)。これにより、試験用搭載情報テーブル作成部111は、選択したモードにおける試験パターン番号(P)の搭載パターンを全て実行したか否かを判定する。
試験パターン番号(P)が終了値でない場合(ステップS120:否定)、試験用搭載情報テーブル作成部111は、試験パターン番号(P)を1つインクリメントする(ステップS121)。すなわち、試験用搭載情報テーブル作成部111は、P=P+1とする。その後、試験用搭載情報テーブル作成部111は、ステップS108へ戻る。
これに対して、試験パターン番号(P)が終了値の場合(ステップS120:肯定)、試験用搭載情報テーブル作成部111は、試験用搭載番号(B)が1か否かを判定する(ステップS122)。
試験用搭載番号(B)が1でない場合(ステップ122:否定)、試験用搭載情報テーブル作成部111は、試験用搭載番号(B)を1つデクリメントする(ステップS123)。すなわち、試験用搭載情報テーブル作成部111は、B=B−1とする。その後、試験用搭載情報テーブル作成部111は、ステップS106へ戻る。
これに対して、試験用搭載番号(B)が1の場合(ステップ122:肯定)、試験用搭載情報テーブル作成部111は、全動作モードの試験が完了したか否かを判定する(ステップS124)。試験が終わっていない動作モードがある場合(ステップS124:否定)、試験用搭載情報テーブル作成部111は、ステップS103へ戻る。
これに対して、全動作モードの試験が完了した場合(ステップS124:肯定)、試験用搭載情報テーブル作成部111は、メモリ試験の完了を統括制御部113へ通知する。統括制御部113は、メモリ試験の完了の通知を試験用搭載情報テーブル作成部111から受けると、採取した全てのログを試験サーバ2の試験管理部24へ送信する(ステップS125)。
次に、図17を参照して、BIOS実行部120によるメモリ試験の詳細について説明する。図17は、BIOS実行部によるメモリ試験の詳細を表すフローチャートである。図17のフローチャートで表される一連の処理は、図12におけるステップS114で実行される処理の一例にあたる。
BIOS実行部120は、図18に示す試験管理テーブル401、図19に示す試験テーブル402及び図20に示すイベントIDテーブル403を予め有する。
図18は、試験管理テーブルの一例を表す図である。試験管理テーブル401は、試験の実施状態及び結果などを登録するテーブルである。BIOS実行部120は、試験管理テーブル401を用いて試験の実行状態を管理する。
図19は、試験テーブルの一例を表す図である。試験テーブル402は、実行する試験の内容が登録されたテーブルである。BIOS実行部120は、この試験テーブル402に記載された試験内容の試験を行う。
図20は、イベントIDテーブルの一例を表す図である。イベントIDテーブル403は、メモリ試験において発生したイベントの内容などを表すテーブルである。BIOS実行部120は、イベントが発生した場合にイベントIDテーブル403を用いて処理を進める。
BIOS実行部120は、試験項目を1に設定する(ステップS201)。また、BIOS実行部120は、試験管理テーブル401の現在の試験項目の試験回数カウンタに試験回数を設定する。さらに、BIOS実行部120は、試験管理テーブル401の現在の試験項目の再テストの値を「0」に設定する。
次に、BIOS実行部120のメモリ初期化部121は、サーバ1を起動しDIMM104の初期化、メモリ空間の割り当て及びメモリアクセスなどを行ってメモリ試験を実施する(ステップS202)。
次に、BIOS実行部120は、試験管理テーブル401の現在の試験項目の試験回数カウンタを確認し、試験回数カウンタが0か否かを判定する(ステップS203)。試験回数カウンタが0でない場合(ステップS203:否定)、試験回数カウンタを1つデクリメントする(ステップS204)。その後、BIOS実行部120は、ステップS202に戻る。
これに対して、試験回数カウンタが0の場合(ステップS203:肯定)、BIOS実行部120は、実行したメモリ試験のログを採取し、イベントIDを試験管理テーブル401の結果の欄に登録する(ステップS205)。ここで、試験管理テーブル401の再テストの値が「0」であれば、BIOS実行部120は、第1結果にイベントIDを登録する。また、試験管理テーブル401の再テストの値が「1」であれば、BIOS実行部120は、第2結果にイベントIDを登録する。ここで、イベントIDの記録優先順位はイベントIDテーブル403の重要度がError、Warning、Info(Information)の順となる。その中でも、重要度がError又はWarningの場合、タイムスタンプの最も早いイベントIDが登録される。また、Infoの場合、タイムスタンプの最も遅いイベントIDが登録される。
次に、BIOS実行部120は、登録したイベントIDが試験管理テーブル401の現在の試験項目の期待値か否かを判定する(ステップS206)。登録したイベントIDが期待値に一致した場合(ステップS206:肯定)、BIOS実行部120は、試験管理テーブル401のステータスクリアを行いステップS213へ進む。
これに対して、登録したイベントIDが期待値に一致しない場合(ステップS206:否定)、BIOS実行部120は、イベントIDテーブル403の繰り返しの値から再試行を実施するか否かを判定する(ステップS207)。具体的には、BIOS実行部120は、イベントIDテーブル403における繰り返しの値が「1」であれば再試行を実施すると判定する。再試行を実施しない場合(ステップS207:否定)、BIOS実行部120は、試験管理テーブル401のステータスクリアを行いステップS213へ進む。
これに対して、再試行を実施する場合(ステップS207:肯定)、BIOS実行部120は、試験管理テーブル401の現在の試験項目の再テストの値を確認し、再テストが実行済みか否かを判定する(ステップS208)。具体的には、再テストの値が「0」の場合、BIOS実行部120は、再テストが行われていないと判定する。
再テストが行われていない場合(ステップS208:否定)、BIOS実行部120は、試験管理テーブル401の現在の試験項目の再テストの値に「1」を設定する(ステップS209)。そして、BIOS実行部120は、ステップS202へ戻る。
これに対して、再テストが実行済みの場合(ステップS208:肯定)、BIOS実行部120は、試験管理テーブル401の現在の試験項目の第1結果と第2結果とが一致しているか否かを判定する(ステップS210)。第1結果と第2結果とが一致しない場合(ステップS210:否定)、間欠的なファームウェアエラーや単なる警告である可能性が高いため、BIOS実行部120は、ファームウェアバグと判定する。そこで、BIOS実行部120は、試験管理テーブル401のステータスクリアを行いステップS213へ進む。
これに対して、第1結果と第2結果とが一致する場合(ステップS210:肯定)、BIOS実行部120は、イベントIDテーブル403を確認し、登録したイベントIDに対応するハードウェア故障フラグが「1」であるか否かを判定する(ステップS211)。ここで、イベントIDテーブル403におけるハードウェア故障の欄には、ハードウェアに起因するイベントIDであれば、ハードウェア故障フラグとして「1」が設定される。それ以外の場合、イベントIDテーブル403におけるハードウェア故障の欄には、「0」が設定される。
ハードウェア故障フラグが「1」の場合(ステップS211:肯定)、BIOS実行部120は、ハードウェア故障と判定し(ステップS212)、メモリテストを終了する。
これに対して、ハードウェア故障フラグが「0」の場合(ステップS211:否定)、BIOS実行部120は、試験管理テーブル401のステータスクリアを行いステップS213へ進む。
BIOS実行部120は、登録したイベントIDを有するイベントのイベントIDテーブル403に登録された対処を実施する(ステップS213)。
次に、BIOS実行部120は、試験管理テーブル401に登録された試験項目の実施が全て完了したか否かを判定する(ステップS214)。実施していない試験項目がある場合(ステップS214:否定)、BIOS実行部120は、試験項目の値を1つインクリメントする(ステップS215)。その後、BIOS実行部120は、ステップS202へ戻る。
これに対して、全ての試験項目の実施が完了している場合(ステップS214:肯定)、BIOS実行部120は、メモリ試験処理を終了する。
以上に説明したように、本実施例に係る情報処理装置は、BMCがDIMMの物理的な搭載状態を確認し、その情報を基に試験用の搭載パターンを生成し、生成した搭載パターンにしたがってメモリ試験をCPUに行わせる。すなわち、BMCは、実際の物理的な搭載状態とは異なった仮想の搭載状態をDIMMの搭載状態としてCPUに認識させテストを行わせる。これにより、DIMMの試験項目に合わせてDIMMの載せ替えを行わなくて済み、DIMMの挿抜を行わずに様々な搭載パターンでDIMMの試験を行うことができる。したがって、DIMMの載せ替えのオペレータの手間を削減することができる。さらに、挿抜のための情報処理装置の電源のオンオフを行わないため、連続して複数の搭載パターンのDIMMの試験を行うことができる。すなわち、情報処理装置に搭載されたメモリの試験を容易に実行することができ、メモリ試験の試験時間の効率化を図ることができる。
図21は、メモリ試験における作業時間の比較を表す図である。オペレータが搭載パターン毎にDIMM104を載せ替える従来の方式では、搭載パターン数を50とした場合、搭載パターンの切り替えに1.0時間かかる。これに対して、本実施例に係るサーバ1では、仮想的にDIMM104の搭載パターンを自動で変更するため、搭載パターンの切り替え時間は、0.2時間しかかからない。この搭載パターンの切り替え時間には、DIMM104の取り付け及び取り外し時間にサーバ1の起動時間を加えたものである。そして、メモリ試験の総時間としては、従来方式の場合には50時間かかるのに対して、本実施例に係るサーバ1を用いた場合、10時間しかかからない。このように、本実施例に係る情報処理装置を用いることで、メモリ試験の試験時間を大幅に短縮することができる。
さらに、本実施例に係る情報処理装置は、試験サーバと連携するためのインタフェースを有する。そして、搭載パターン規則フォーマット、メモリ試験の詳細な設定及び繰り返し指示などを試験サーバから受信することで、本実施例に係る情報処理装置及び試験サーバは、エラー発生時における再試験や切り分け試験を柔軟且つ自動的に行うことが可能である。
次に、実施例2について説明する。本実施例に係るサーバは、障害が発生しやすい搭載パターンについて自動で優先的にメモリ試験を行うことが実施例1と異なる。本実施例に係るサーバ1も図4のブロック図で表される。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
メモリ試験を行うDIMM104の搭載パターンは、試験目的によって優先させる順番が異なる。そこで、オペレータが試験目的を指定し、情報を試験サーバ2に入力することで、試験サーバ2が自動的に試験に用いる搭載パターンを選択して搭載パターン規則フォーマット220を生成する。以下に詳細を説明する。
搭載パターン規則フォーマット入力部22は、試験目的に対応させて優先させる搭載パターンの条件を予め記憶する。例えば、搭載パターン規則フォーマット入力部22は、試験目的がファーム障害の検出であれば、より多くの種類のDIMM104が混載した搭載パターンを優先させる。また、搭載パターン規則フォーマット入力部22は、試験目的がハードの伝送問題の検出であれば、DIMM104の動作周波数が高い搭載パターンを優先させる。また、サーバ1を実際に使用する構成での早期問題検出が試験目的であれば、出荷したサーバの搭載パターンの中で障害実績が高い搭載パターンを優先させる。
例えば、搭載パターン規則フォーマット入力部22は、試験目的としてファーム障害の検出の指定を受ける。この場合、搭載パターン規則フォーマット入力部22は、混載数が多いほどエラー確率が高いことから混載数の多いDIMM104の搭載パターンを優先させる。例えば、搭載パターン規則フォーマット入力部22は、図22に示す優先順位テーブル501を生成する。
図22は、混載数を基準とした優先順位テーブルの一例の図である。図22では、動作モードがノーマルであり、DIMM104を8枚搭載した場合の搭載パターンを示す。図22における動作モードの欄の「normal」はノーマルモードを表す。図22における各メモリスロット105のスロット番号に対応する各項の値が、そのメモリスロット105に搭載されたDIMM106の容量を表す。例えば、項5の搭載パターンでは、スロット番号#0A0及び#0A1のメモリスロット105に16GBのDIMM104が搭載される。また、スロット番号#0C0及び#0C1のメモリスロット105に8GBのDIMM104が搭載される。また、スロット番号#1A0,#1A1,#1C0及び#1C1のメモリスロット105に4GBのDIMM104が搭載される。
搭載パターン規則フォーマット入力部22は、混載数の高い搭載パターンにより高い優先順位を割り振る。そして、より高い優先順位を有する項の搭載パターンに搭載パターン規則フォーマット220における試験番号(x)のより大きい値を割り当てる。これにより、実施例1で説明した試験パターン番号(P)の中で試験番号(x)の大きい順にメモリ試験を行う場合、混載数の高い搭載パターンが優先される。また、ここでは、抽出したすべての搭載パターンに試験番号(x)を割り当てたが、搭載パターン規則フォーマット入力部22は、優先順位の低い搭載パターンは除外して試験番号(x)を割り当ててもよい。そして、搭載パターン規則フォーマット入力部22は、優先順位テーブル501を用いて生成した搭載パターン規則フォーマット220を試験用搭載情報テーブル作成部111へ送信して、混載数の高い搭載パターンのメモリ試験を優先的に行わせる。
また、例えば、搭載パターン規則フォーマット入力部22は、試験目的としてハードの伝送問題の検出の指定を受ける。この場合、搭載パターン規則フォーマット入力部22は、DIMM104の動作周波数が高くなるほどエラー確率が高いことから動作周波数の高いDIMM104の搭載パターンを優先させる。この場合、搭載パターン規則フォーマット入力部22は、例えば、図8に示したDIMM104の搭載数及び容量と動作周波数との関係を表すテーブルを記憶しておき、より動作周波数が高くなる搭載パターンを優先させて搭載パターン規則フォーマット220を生成する。そして、搭載パターン規則フォーマット入力部22は、動作周波数が高い搭載パターンを優先させるように生成した搭載パターン規則フォーマット220を試験用搭載情報テーブル作成部111へ送信して、動作周波数が高い搭載パターンのメモリ試験を優先的に行わせる。
また、例えば、搭載パターン規則フォーマット入力部22は、試験目的としてサーバ1を実際に使用する構成での早期問題検出の指定を受ける。この場合、搭載パターン規則フォーマット入力部22は、出荷実績及びエラー発生実績の大きい搭載パターンを優先させる。例えば、搭載パターン規則フォーマット入力部22は、予め搭載パターン毎の出荷実績及びエラー発生実績をテーブルなどで有する。そして、搭載パターン規則フォーマット入力部22は、搭載パターン毎の出荷実績及びエラー発生実績を用いて、図23に示す優先順位テーブル502を生成する。
図23は、出荷実績及びエラー発生実績を基準とした優先順位テーブルの一例の図である。優先順位テーブル502の各項それぞれが異なる搭載パターンにあたる。そして、搭載パターン規則フォーマット入力部22は、項毎に出荷実績、エラー発生実績及びその合計を登録する。搭載パターン規則フォーマット入力部22は、出荷実績及びエラー発生実績の合計が高い順に高い優先順位を割り振る。ここで、合計が同じ場合、搭載パターン規則フォーマット入力部22は、エラー発生率が高い搭載パターンの優先順位を高くする。そして、より高い優先順位を有する項の搭載パターンに搭載パターン規則フォーマット220における試験番号(x)のより大きい値を割り当てる。これにより、実施例1で説明した試験パターン番号(P)の中で試験番号(x)の大きい順にメモリ試験を行う場合、出荷実績とエラー発生実績との合計の高い搭載パターンが優先される。そして、搭載パターン規則フォーマット入力部22は、優先順位テーブル502を用いて生成した搭載パターン規則フォーマット220を試験用搭載情報テーブル作成部111へ送信して、出荷実績とエラー発生実績との合計が高い搭載パターンのメモリ試験を優先的に行わせる。
以上に説明したように、本実施例に係る試験サーバは、試験目的に応じてメモリ試験に採用する搭載パターンの優先度を変更する。これにより、試験目的に応じて障害が発生しやすいパターンについて優先的にメモリ試験を行うことができ、試験目的に応じた適切な試験が容易に行える。
1 サーバ
2 試験サーバ
3 ネットワーク
10 システムボード
11 ファン
12 管理ボード
13 フレキシブルI/Oスイッチ
14 I/Oユニット
15 電源
21 単体試験実行部
22 搭載パターン規則フォーマット入力部
23 動作モード指定部
24 試験管理部
101 BMC
102 CPU
103 メモリコントローラ
104 DIMM
105 メモリスロット
111 試験用搭載情報テーブル作成部
112 SPD読出部
113 統括制御部
120 BIOS実行部
121 メモリ初期化部
220 搭載パターン規則フォーマット
301 実搭載情報テーブル
302 仮想搭載情報テーブル
303 容量情報テーブル

Claims (8)

  1. 複数のメモリスロットと、
    前記メモリスロットに搭載されたメモリの物理的な搭載状態を示す実装情報を取得する状態取得部と、
    前記状態取得部により取得された前記実装情報を基に、前記メモリの前記メモリスロットへの試験用の搭載パターンに応じた搭載情報を生成する試験制御部と、
    前記試験制御部により生成された前記搭載情報を基に前記メモリの試験を実行する試験部と
    を備えたことを特徴とする情報処理装置。
  2. 前記試験制御部は、前記搭載パターンを基に、前記実装情報で示される前記メモリが搭載された前記メモリスロットの中から前記試験に用いるメモリスロットを選択し、選択したメモリスロットに搭載されているメモリ容量を決定することで前記搭載情報を生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記試験制御部は、予め前記実装情報に応じた前記メモリの前記搭載パターンを複数記憶しており、前記搭載パターン毎に、前記実装情報を基に前記搭載パターンにしたがって前記メモリスロットの中から前記試験に用いるメモリスロットを選択し、選択したメモリスロットに搭載されるメモリ容量を決定して前記搭載情報を生成する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記試験部は、前記搭載情報で前記メモリが搭載されているとされたメモリスロット以外のメモリスロットには前記メモリが搭載されていないものとして前記試験を実施することを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
  5. 演算処理装置、複数のメモリスロット及びシステム制御装置を有する情報処理装置、並びに、試験装置を有する情報処理システムであって、
    前記システム制御装置は、
    前記メモリスロットに搭載されたメモリの物理的な搭載状態を示す実装情報を取得する状態取得部と、
    前記メモリの前記メモリスロットへの前記メモリの搭載パターンを前記試験装置から取得し、前記実装情報を基に、前記搭載パターンに応じた搭載情報を生成する試験制御部とを備え、
    前記演算処理装置は、
    前記試験制御部により生成された前記搭載情報を基に前記メモリの試験を実行する試験部を備え、
    前記試験装置は、
    前記搭載パターンを前記試験制御部に入力する情報入力部と、
    前記試験部により実行された試験結果を取得する結果取得部を備えた
    ことを特徴とする情報処理システム。
  6. 前記情報入力部は、指定された試験目的に応じて、前記搭載パターンの優先順位を決定し、前記優先順位に応じて前記試験を行うことを前記試験制御部に指示することを特徴とする請求項5に記載の情報処理システム。
  7. 複数のメモリスロットの全て又はいくつかに搭載されたメモリの物理的な搭載状態を示す実装情報を取得し、
    取得した前記実装情報を基に、前記メモリの前記メモリスロットへの試験用の搭載パターンに応じた搭載情報を生成し、
    生成した前記搭載情報を基に前記メモリの試験を実行する
    ことを特徴とする情報処理装置制御方法。
  8. 複数のメモリスロットの全て又はいくつかに搭載されたメモリの物理的な搭載状態を示す実装情報を取得し、
    取得した前記実装情報を基に、前記メモリの前記メモリスロットへの試験用の搭載パターンに応じた搭載情報を生成し、
    生成した前記搭載情報を基に前記メモリの試験を実行する
    処理をコンピュータに実行させることを特徴とする情報処理装置制御プログラム。
JP2016145810A 2016-07-25 2016-07-25 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法 Active JP6821989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016145810A JP6821989B2 (ja) 2016-07-25 2016-07-25 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016145810A JP6821989B2 (ja) 2016-07-25 2016-07-25 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法

Publications (2)

Publication Number Publication Date
JP2018018177A JP2018018177A (ja) 2018-02-01
JP6821989B2 true JP6821989B2 (ja) 2021-01-27

Family

ID=61075181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016145810A Active JP6821989B2 (ja) 2016-07-25 2016-07-25 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法

Country Status (1)

Country Link
JP (1) JP6821989B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11906584B2 (en) 2021-09-29 2024-02-20 Samsung Electronics Co., Ltd. Simulation method and system of verifying operation of semiconductor memory device of memory module at design level

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7090428B2 (ja) 2018-02-05 2022-06-24 デクセリアルズ株式会社 接着剤組成物、熱硬化性接着シート及びプリント配線板
JP6583942B1 (ja) * 2018-09-28 2019-10-02 Necプラットフォームズ株式会社 Bmc、判定方法及びbmcファームウェア

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11906584B2 (en) 2021-09-29 2024-02-20 Samsung Electronics Co., Ltd. Simulation method and system of verifying operation of semiconductor memory device of memory module at design level

Also Published As

Publication number Publication date
JP2018018177A (ja) 2018-02-01

Similar Documents

Publication Publication Date Title
CN107526665B (zh) 机箱管理系统及机箱管理方法
US8713350B2 (en) Handling errors in a data processing system
JP6821989B2 (ja) 情報処理装置、情報処理システム、情報処理装置制御プログラム及び情報処理装置制御方法
CN111324192A (zh) 一种系统板卡电源检测方法、装置、设备及存储介质
EP2510439A1 (en) Managing errors in a data processing system
CN109189627B (zh) 一种硬盘故障监控检测方法、装置、终端及存储介质
US20140122931A1 (en) Performing diagnostic tests in a data center
US20180300202A1 (en) System and Method for Information Handling System Boot Status and Error Data Capture and Analysis
CN109284207A (zh) 硬盘故障处理方法、装置、服务器和计算机可读介质
US10275330B2 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
TW201502771A (zh) 基於基板管理控制器的主板管理系統及方法
US20150100299A1 (en) Techniques for programming and verifying backplane controller chip firmware
US9886335B2 (en) Techniques for validating functionality of backplane controller chips
US11256521B2 (en) Systems and methods for evaluating and updating deprecated products
TWI620120B (zh) 資料載入方法及主機板
JP2012022614A (ja) 計算機システムの管理方法、及び管理システム
US20220019561A1 (en) Event-based generation of context-aware telemetry reports
TW202238383A (zh) 電腦系統、電腦伺服器及其啟動方法
US20110154115A1 (en) Analysis result stored on a field replaceable unit
JP5689783B2 (ja) コンピュータ、コンピュータシステム、および障害情報管理方法
US7039743B2 (en) System and method of retiring events upon device replacement
JP6094685B2 (ja) 情報処理装置及び情報処理装置制御プログラム
CN111190781A (zh) 服务器系统的测试自检方法
JP2021140284A (ja) 情報処理装置、情報処理方法及びプログラム
CN113626275A (zh) 资讯的建立方法及分析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190409

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R150 Certificate of patent or registration of utility model

Ref document number: 6821989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150