(57)【要約】【課題】メモリを構成する複数の格納領域毎に予め定められた故障情報を格納する場合に故障情報を確実に格納することができる故障情報監視装置を提供する。【解決手段】領域制御部５３は、故障分類部５２が判断した故障情報の種類に基づいて領域管理テーブル３の使用情報を参照し、データ取出部５１が取り出した故障情報を故障情報に対応する下位格納領域である対応格納領域へ格納できるか否かを判断し、対応格納領域へ格納できる場合、対応格納領域の中から故障情報の格納先を決定し、対応格納領域へ格納できない場合、領域管理テーブル３に基づいて、対応格納領域以外の上位格納領域の中から故障情報の格納先を決定する。【選択図】図１
2010092107.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた故障情報の種類と対応させられた複数の上位格納領域であって、予め定められた位置に予め定められたサイズを有する複数の下位格納領域を含む複数の上位格納領域を備えるメモリと、
前記下位格納領域毎に、サイズと、前記下位格納領域の使用状態を示す使用情報とを格納する領域管理テーブルと、
情報処理装置から前記故障情報を取り出すデータ取出部と、
前記データ取出部が取り出した前記故障情報について、前記故障情報の種類を判断する故障分類部と、
前記故障分類部が判断した前記故障情報の種類と、前記領域管理テーブルに基づいて、前記データ取出部が取り出した前記故障情報の前記下位格納領域を判断する領域制御部と、
前記領域制御部が判断した前記下位格納領域へ前記データ取出部が取り出した前記故障情報を前記メモリに格納するデータ格納部とを備え、
前記領域制御部が、前記故障分類部が判断した前記故障情報の種類に基づいて前記領域管理テーブルの前記使用情報を参照し、前記データ取出部が取り出した前記故障情報を前記故障情報に対応する前記下位格納領域である対応格納領域へ格納できるか否かを判断し、前記対応格納領域へ格納できる場合、前記対応格納領域の中から前記故障情報の格納先を決定し、前記対応格納領域へ格納できない場合、前記領域管理テーブルに基づいて、前記対応格納領域以外の前記上位格納領域の中から前記故障情報の格納先を決定し、
前記データ格納部が、前記データ取出部が取り出した前記故障情報を前記領域制御部が決定した格納先へ格納する
ことを特徴とする故障情報監視装置。
【請求項２】
前記領域制御部が、前記データ格納部が前記故障情報を前記対応格納領域へ格納できる場合、前記領域管理テーブルへ前記故障情報の対応格納領域の前記使用情報を反映し、前記対応格納領域へ格納できない場合、前記領域管理テーブルへ前記領域制御部が前記対応格納領域以外の前記上位格納領域の中から決定した下位格納領域の前記故障情報の種類、当該格納される位置、サイズと前記使用情報を反映する
ことを特徴とする請求項１記載の故障情報監視装置。
【請求項３】
当該故障情報監視装置が、更に、前記情報処理装置の対象部品毎に、故障の重要度を示す故障レベルを格納する故障レベルテーブルを備え、
前記領域制御部が、前記対応格納領域へ格納できない場合、前記故障レベルテーブルから前記データ取出部が取り出した前記故障情報の前記対象部品に対応した前記故障レベルを参照し、前記故障レベルが予め定めた故障レベル以上の場合、前記領域管理テーブルに基づいて、前記故障情報の前記対応格納領域以外の前記上位格納領域の中から前記故障情報の格納先を決定する
ことを特徴とする請求項１記載の故障情報監視装置。
【請求項４】
前記故障レベルテーブルが、前記情報処理装置の前記対象部品毎に、更に、前記故障情報の前記対応格納領域の前記割当ての変更の可否の情報を格納しており、
前記領域制御部は、前記対応格納領域へ格納できない場合、前記対応格納領域の前記割当ての変更に先立って、前記対応格納領域の前記割当て変更の可否の情報を参照する
ことを特徴とする請求項３記載の故障情報監視装置。
【請求項５】
予め定められた種類の故障情報と対応させられ、かつ、予め定められた位置に予め定められたサイズを有する複数の下位格納領域を含む複数の上位格納領域を備えるメモリと、
前記下位格納領域毎に、故障情報の種類、当該格納される位置、サイズと、前記下位格納領域の使用状態を示す使用情報とを格納する領域管理テーブルとを備える故障情報監視装置における故障情報監視方法であって、
情報処理装置から前記故障情報を取り出すデータ取出ステップと、
取り出した前記故障情報について、前記故障情報の種類を判断する故障分類ステップと、
前記故障分類ステップにおいて判断した前記故障情報の種類と、前記領域管理テーブルに基づいて、取り出した前記故障情報の前記下位格納領域を判断する領域制御ステップと、
前記領域制御ステップにおいて判断した前記下位格納領域へ取り出した前記故障情報を格納するデータ格納ステップとを備え、
前記領域制御ステップにおいて、前記故障分類ステップにおいて判断した前記故障情報の種類に基づいて前記領域管理テーブルの前記使用情報を参照し、取り出した前記故障情報を前記故障情報に対応する前記下位格納領域である対応格納領域へ格納できるか否かを判断し、前記対応格納領域へ格納できる場合、前記対応格納領域の中から前記故障情報の格納先を決定し、前記対応格納領域へ格納できない場合、前記領域管理テーブルに基づいて、前記対応格納領域以外の前記上位格納領域の中から前記故障情報の格納先を決定し、
前記データ格納ステップにおいて、取り出した前記故障情報を前記領域制御ステップで決定した格納先へ格納する
ことを特徴とする故障情報監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障情報監視装置及び故障情報監視方法に関する。
【背景技術】
【０００２】
コンピュータやサーバ等の故障状態を解析するために、故障情報がメモリに格納され、適宜読み出されて解析される。種々の故障情報の発生が想定されるため、どのような故障情報にも対応できるようにするために、故障情報をメモリに格納する方法は、できるだけ単純化することが望まれる。
【０００３】
そこで、故障情報をメモリに格納する方法を単純化するため、メモリにおける故障情報を格納する格納領域は、各々が同一のサイズの複数の領域に区分けされる。この場合、ある格納領域が故障情報であふれた場合、新たな故障情報は、他の格納領域へ格納される。このため、他の格納領域に格納されていた重要度の高い故障情報が、重要度の低い新たな故障情報により上書きされて、失われる恐れがある。
【０００４】
このように、重要度の高い故障情報が上書きされた場合、重要度の高い故障について、故障部品の特定等、故障を解析することが困難となる。この結果、コンピュータの処理能力の大幅な低下やシステムダウンに繋がる危険性のある故障に関係する部品のメンテナンスを早急に行うことができない場合がある。
【０００５】
なお、ＡＴＭスイッチシステムの入力バッファ制御装置及び論理バッファサイズ決定方法において、ＡＴＭスイッチにおけるセルの損失改善のための入力バッファ制御装置及び、論理バッファのサイズを決定するアルゴリズムが知られている。
【０００６】
また、メモリ管理装置及びメモリ管理方法において、要求したメモリ領域のサイズにかかわらずメモリの確保や開放処理を高速で行うことができるメモリ管理装置及びメモリ管理方法が知られている。
【０００７】
更に、動的メモリ管理方法及び装置、並びにこれを用いた電子機器において、メモリの断片化を効果的に抑制することができる動的メモリ管理方法及び装置、並びにこれを用いた電子機器が知られている。
【特許文献１】特開平１１−１７７０８号公報
【特許文献２】特開２００１−２３６２４９号公報
【特許文献３】特開２００７−３４５５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来技術によれば、情報処理装置を監視する故障情報監視装置において、故障情報の格納される格納領域は、単純な方法により同一のサイズの複数の区分で分けられており、故障情報はその種類に対応した格納領域毎に格納される。
【０００９】
しかし、本発明者の検討によれば、このような単純な方法により格納領域を区分しただけでは、一つの種類の故障情報の格納領域に空きの領域が無くなった場合、他の種類の重大な故障情報の格納領域に上書きすることがある。また、故障情報の種類に対応する格納領域に空きの領域が無くなった場合、その空きが無くなった故障情報の種類について書込みを行わないようにしただけでは、重大な故障原因を特定するための故障情報の記録が残らない場合がある。この場合、情報処理装置のメンテナンス時において、保守者が故障部品を特定することが困難となる。この結果、情報処理装置をメンテナンスできない恐れや、メンテナンスに多大な労力を費やさなければならなくなる恐れがある。
【００１０】
本発明は、メモリを構成する複数の格納領域毎に予め定められた故障情報を格納する場合に故障情報を確実に格納することができる故障情報監視装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施態様の故障情報監視装置は、メモリと、領域管理テーブルと、データ取出部と、故障分類部と、データ格納部とを備える。メモリは、予め定められた故障情報の種類と対応させられた複数の上位格納領域であって、予め定められた位置に予め定められたサイズを有する複数の下位格納領域を含む複数の上位格納領域を備える。領域管理テーブルは、下位格納領域毎に、サイズと、下位格納領域の使用状態を示す使用情報とを格納する。データ取出部は、情報処理装置から故障情報を取り出す。故障分類部は、データ取出部が取り出した故障情報について、故障情報の種類を判断する。領域制御部は、故障分類部が判断した故障情報の種類と、領域管理テーブルに基づいて、データ取出部が取り出した故障情報の下位格納領域を判断する。データ格納部は、領域制御部が判断した下位格納領域へデータ取出部が取り出した故障情報を格納する。領域制御部が、故障分類部が判断した故障情報の種類に基づいて領域管理テーブルの使用情報を参照し、データ取出部が取り出した故障情報を故障情報に対応する下位格納領域である対応格納領域へ格納できるか否かを判断し、対応格納領域へ格納できる場合、対応格納領域の中から故障情報の格納先を決定し、対応格納領域へ格納できない場合、領域管理テーブルに基づいて、対応格納領域以外の上位格納領域の中から故障情報の格納先を決定する。データ格納部が、データ取出部が取り出した故障情報を領域制御部が決定した格納先へ格納する。
【００１２】
本発明の一実施態様の故障情報監視方法は、前述の故障情報監視装置における故障情報監視の処理を実現する。
【発明の効果】
【００１３】
本発明の一実施態様の故障情報監視装置及び故障情報監視方法によれば、下位格納領域毎に、サイズと使用情報とを格納する領域管理テーブルを備える。従って、領域管理テーブルに基づいて、故障情報を下位格納領域へ格納できるか否かを判断することができる。即ち、故障情報を対応格納領域へ格納できない場合、領域管理テーブルに基づいて、対応格納領域の属する上位格納領域以外の上位格納領域の中から、当該故障情報の格納先を決定することができる。これにより、ある格納領域に空きが無くなった場合、他の上位格納領域の中から故障情報の格納先を決定することができる。この結果、新たな故障情報を格納することができると共に、他の故障情報を上書きすることを防止することができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明の一実施例である故障情報監視装置を備えるサーバシステムの構成を示す図である。
【００１５】
サーバシステムは、故障情報監視装置１と、サーバ６とを備える。これらの間は、例えばＬＡＮ等のネットワークにより接続される。サーバ６は、例えばコンピュータ等の情報処理装置であっても良い。図１の例では、故障情報監視装置１は、サーバ６とは独立のコンピュータであり、サーバ６を監視し、サーバ６の故障情報又はログ情報（以下、故障情報とログ情報とを合わせて「故障情報」という）を格納する。このために、故障情報監視装置１は、故障レベルテーブル２と、領域管理テーブル３と、メモリ４と、故障情報処理部５とを備える。故障情報処理部５は、故障レベルテーブル２と領域管理テーブル３とに記録された情報に基づいて、サーバ６の故障情報をメモリ４に格納する。なお、図１の例では、故障情報処理部５の外部に故障レベルテーブル２、領域管理テーブル３およびメモリ４が設けられているが、故障情報処理部５が故障レベルテーブル２と領域管理テーブル３とメモリ４とを備えると考えても良い。
【００１６】
メモリ４は、図５を参照して後述するように、複数の上位格納領域を備える。即ち、メモリ４は、複数の上位格納領域に論理的に分割される。上位格納領域は、各々、故障情報の種類と対応するようにメモリ４に割当てられる。上位格納領域は、各々、複数の下位格納領域を含む。下位格納領域は、各上記格納領域に対応した故障情報を格納する領域であり、各々、メモリ４の予め定められた位置に設けられ、予め定められたサイズを有する。
【００１７】
故障レベルテーブル２は、サーバ６において故障の監視の対象とされる部品（以下、対象部品という）毎に、故障の重要度（レベル）を示す故障レベルと、故障情報を格納するメモリの格納領域の割当ての変更の可否を示す情報とを格納する。故障レベルテーブル２については、図３を参照して後述する。対象部品については、図２を参照して後述する。
【００１８】
領域管理テーブル３は、上位格納領域毎に、言い換えれば故障情報毎に、当該上位格納領域に属する複数の下位格納領域についての情報を格納する。更に、領域管理テーブル３は、各々の上位格納領域において、下位格納領域毎に、下位格納領域のサイズと、下位格納領域の使用状態を示す使用情報とを格納する。領域管理テーブル３については、図４を参照して後述する。
【００１９】
故障情報処理部５は、データ取出部５１と、故障分類部５２と、領域制御部５３と、データ格納部５４とを備える。
【００２０】
データ取出部５１は、サーバ６に故障が発生した場合、サーバ６から故障情報を収集する。データ取出部５１は、図２を参照して後述するように、サーバ６の故障検知部６９から送信された故障情報を受信する。データ取出部５１は受信した故障情報を故障分類部５２へ送る。
【００２１】
故障分類部５２は、データ取出部５１が取り出した故障情報について、故障情報の種類とサイズを判定する。この時、故障分類部５２は、後述するように、故障情報の故障レベルについても判定する。故障分類部５２は、判定した故障情報の種類、サイズ、故障レベルを領域制御部５３へ通知する。
【００２２】
領域制御部５３は、故障分類部５２が判定した故障情報の故障レベルを用いて故障レベルテーブル２を参照する。故障レベルテーブル２の参照の結果に基づいて、領域制御部５３は、故障情報をメモリ４に格納するか否かを決定する。
【００２３】
故障情報をメモリ４に格納する場合、領域制御部５３は、故障分類部５２が判定した故障情報の種類とサイズを用いて領域管理テーブル３を参照する。領域管理テーブル３の参照の結果に基づいて、領域制御部５３は、データ取出部５１が取り出した故障情報を、メモリ４のいずれの格納領域に格納するかを決定する。領域制御部５３は、決定した格納先をデータ格納部５４に通知する。
【００２４】
データ格納部５４は、データ取出部５１が取り出した故障情報を、領域制御部５３が決定した格納先へ格納する。このために、データ取出部５１が取り出した故障情報が、データ取出部５１からデータ格納部５４に送られる。
【００２５】
図２は、図１のサーバシステムにおけるサーバ６の構成の一例を示す図である。
【００２６】
図２のサーバ６は、その構成部品として、ＣＭＵ６１と、ＩＯ（入出力）コントローラ６６と、送受信装置（クロスバ又はＸＢ）６７と、クロック制御部（ＣＬＫ）６８と、故障検知部６９とを備える。
【００２７】
ＣＭＵ６１には、ＭＢＣ（Maintenance-Bus Controller）部品６２、ＣＰＵ(Central Processing Unit)部品６３、ＭＡＣ（Memory Access Controller）部品６４、ＳＣ（System Controller）部品６５が設けられる。これらの部品６２〜６５は、故障監視の対象部品である。
【００２８】
ＩＯコントローラ６６等も、ＣＭＵ６１と同様に複数の故障監視の対象部品を含む。従って、ＩＯコントローラ６６等の故障情報も、ＣＭＵ６１の故障情報と同様に監視され、処理される。しかし、説明の簡単化のために、ＩＯコントローラ６６等の故障情報についての説明は省略する。
【００２９】
故障検知部６９は、ＣＭＵ６１、及びＩＯコントローラ６６、ＸＢ６７、ＣＬＫ６８におけるいずれかの対象部品が故障した場合、当該故障を検出する。故障検知部６９は、対象部品の故障を検出した場合、当該故障についての故障情報を生成して、これをデータ取出部５１へ通知する。故障情報には、故障の内容を示す情報に加えて、故障情報の種類とサイズ、故障レベルが含まれる。従って、データ取出部５１は、サーバ６から必要なデータを与えられる。
【００３０】
図３は、故障レベルテーブル２の構成の一例を示す図である。
【００３１】
故障レベルテーブル２は、予め用意され、対象部品毎に、故障レベルと、故障情報の対応格納領域の割当ての変更の可否の情報との対応を格納する。以下、対応格納領域の割当ての変更の可否を示す情報を「変更情報」という。故障レベルは故障の重要度を示す情報であり、図３の例では重大レベル５〜重大レベル１、軽傷レベル３〜１を含み、この順に重大な故障であることを示す。変更情報は、対象部品の故障レベル毎に、対象部品に発生した故障情報に対応する格納領域の割当ての変更を許可するか否かを示す。換言すれば、変更情報は、故障情報の対応格納領域の割当てが変更モードであるか否かを示すモード情報である。
【００３２】
故障レベルテーブル２は、例えば、対象部品であるＭＢＣ部品６２、ＣＰＵ部品６３、ＭＡＣ部品６４、ＳＣ部品６５について、その故障レベルと変更情報との対応を格納する。変更情報において、「○」は、格納領域の割当ての変更が可であることを示し、「×」は、格納領域の割当ての変更が不可であることを示す。
【００３３】
これにより、領域制御部５３は、故障レベルテーブル２に格納された情報に基づき、重大レベルの故障情報についての対応格納領域の割当ての変更（増加）は行うが、軽傷レベルの故障情報についての対応格納領域の割当ての変更は行わない。この結果、重大な故障情報については、すでにメモリに格納された故障情報が上書きされることなく、メモリに格納される。一方、重大でない故障情報については、すでにメモリに格納された故障情報が、新規に発生した故障情報により上書きされる場合がある。
【００３４】
なお、重大レベルと軽傷レベルとの間に、１又は複数の中間故障レベルを設け、中間故障レベル毎に、変更情報を定めるようにしても良い。
【００３５】
図４は、領域管理テーブルの実施例を示す図である。
【００３６】
領域管理テーブル３は、故障情報の種類毎に、各故障情報のサイズ（ｋｂｙｔｅ）の情報と、格納領域の残世代数の情報と、格納先（格納位置）情報を格納する。ここで、格納領域の残世代数の情報と格納先情報とを合わせて「使用情報」と言う。格納先情報は、故障情報が格納されるメモリの位置（アドレス）を示す情報である。なお、故障情報が格納される下位格納領域が定まると、これに応じて、その故障情報の種類と故障情報が格納されるメモリの位置も定まる。
【００３７】
図４の例では、故障情報の種類として、例えば、Major、Minor、Allscan、History、Config、Analyzeの種類があるものとする。これら各故障情報が、領域管理テーブル３の上位格納領域に対応付けられている。例えば、故障情報Majorつまり故障情報の種類Majorは、上位格納領域Majorに対応する。他についても同様である。
【００３８】
なお、故障情報Majorは、重大な故障情報又は重度故障の情報である。故障情報Minorは、軽症な故障情報又は軽度故障の情報である。故障情報Majorは、故障が発生した場合、当該故障に応じて変更され、サーバ１において当該故障が発生した場所を特定する情報を含む。故障情報Majorを参照することにより、当該故障が解析される。故障情報Minorも同様である。
【００３９】
また、故障情報Allscanは、サーバ１に含まれるハードウェア全体の情報である。故障情報Historyは、サーバ１に含まれるハードウェアの動作履歴情報である。故障情報Configは、サーバ１に含まれるハードウェアに設定されている情報である。故障情報Major又は故障情報Minorに基づいて故障を解析する場合、故障情報Major又は故障情報Minorのみでは故障解析のための情報が不足する場合がある。従って、故障情報Allscan、故障情報History及び故障情報Configが参照される。即ち、これらの３個の故障情報は、故障情報Major又は故障情報Minorの附帯情報である。故障情報History及び故障情報Configも同様である。故障情報Analyzeは、故障要因を解析するための附帯情報であり、前記３個の故障情報以外の情報である。
【００４０】
下位格納領域の欄には、それぞれの故障情報の故障情報サイズが設定される。ある故障情報が複数の故障情報サイズを取り得る場合には、それら複数の故障情報サイズが下位格納領域の欄に設定される。例えば、上位格納領域Majorの故障情報のサイズは、８ｋ、４ｋ、２ｋ、１ｋ、０．５ｋ（ｂｙｔｅ）の５つの種類があるものとする。そのため、図４の領域管理テーブル３にて、故障情報Majorに対応する下位格納領域には「８」、「４」、「２」、「１」、「０．５」が設定される。他の故障情報についても同様である。また、領域管理テーブル３には、各「下位格納領域」に対応した「格納領域の数」の欄が設定されている。例えば、故障情報Majorのうち、８ｋバイトのサイズをもつ故障情報に対応する格納領域の残世代数は、Ｎ１個である。他についても、図３に示すように、予め定められる。
【００４１】
なお、例えば、上位格納領域であるMajor領域において、サイズが２ｋバイトである故障情報に対応した下位格納領域をMajor2kと表す。また、下位格納領域Major2kを、単にMajor2kと表す。他についても、同様である。
【００４２】
格納領域の数の欄において、Ｎ１〜Ｎ５は、故障情報Majorの故障情報サイズ「８」、「４」、「２」、「１」、「０．５」のそれぞれに対応する格納領域に故障情報を格納できる残世代数で、０以上の整数である。なお、Ｎ６〜Ｎ１９についても同様である。ここで、残世代数とは、故障情報を格納できる、各故障情報に対応した下位格納領域の数を意味する。
【００４３】
例えば、Major2kの故障情報が格納されていないときの下位格納領域の残世代数はＮ３であり、この格納領域へ１世代分の故障情報が格納された場合、残世代数は（Ｎ３−１）となる。Ｎ３世代分の故障情報が全てMajor2kに対応する下位格納領域に格納された場合、Major2kに対応する下位格納領域の残世代数は（Ｎ３−Ｎ３）＝０である。即ち、Major２ｋに対応する空きの格納領域は０となる。
【００４４】
格納先情報の数の欄において、Ａ１〜Ａ５は、故障情報Majorの故障情報サイズ「８」、「４」、「２」、「１」、「０．５」のそれぞれに対応する格納領域の格納先情報である。なお、Ａ６〜Ａ１９についても同様である。換言すれば、例えばＡ３は、故障情報Majorの故障情報サイズ「８」の故障情報が格納されているアドレスである。
【００４５】
具体的には、前述したように、Major2kの故障情報が格納されていない場合、下位格納領域の残世代数はＮ３であるので、Ａ３は空である。この格納領域へ１世代分の故障情報が格納された場合、Ａ３は１個のアドレスを含む。Ｎ３世代分の故障情報が全てMajor2kに対応する下位格納領域に格納された場合、Ａ３はＮ３個のアドレスを含む。
【００４６】
図５は、メモリ上の格納領域の割当てとその変更の例を示す図である。
【００４７】
各故障情報に対する上位格納領域４０は、割当て初期設定時には、メモリ４内の予め定められた固定サイズの領域が割り当てられる。図５の例において、上位格納領域４０は、Major領域４０Ａ、Minor領域４０Ｂ、Allscan領域４０Ｃ、History領域４０Ｄ、Config領域４０ＥおよびAnalyze領域４０Ｆを含む。Major領域４０Ａは、複数の下位格納領域４１Ａと、下位格納領域４１Ｂとを含む。下位格納領域４１Ａは、元々、Major領域４０Ａに割り当てられた領域である。下位格納領域４１Ｂは、図５を参照して後述するように、他の上位格納領域、図５の例ではHistory領域４０Ｄから、新たにMajor領域４０Ａに割当てられた領域である。
【００４８】
下位格納領域４１Ａは、使用フラグ、故障情報の種類及びサイズ、故障情報部を有する故障情報格納部である。使用フラグは、当該格納領域が使用状態か空き状態かを示すフラグである。故障情報の種類及びサイズは、故障情報の種類及び故障情報の格納サイズを示す情報である。故障情報部は、故障情報を格納する領域である。下位格納領域４１Ｂも下位格納領域４１Ａと同様の構成を備える。
【００４９】
ここで、図５の例において、Major領域４０Ａの複数の下位格納領域４１Ａの数は、（ｐ−１）であるものとする。従って、Major領域４０Ａの下位格納領域４１Ａの残世代数の初期値は、（ｐ−１）である。複数の下位格納領域４１Ａの先頭には、１番目の故障情報＃１が格納される。故障情報＃１は、使用フラグ＃１を備え、そのサイズがサイズ＃１であり、故障情報部＃１に格納される。複数の下位格納領域４１Ａの最後には、（ｐ−１）番目の故障情報＃（ｐ−１）が格納される。故障情報＃（ｐ−１）は、故障情報＃１と同様の構成を備える。
【００５０】
このように、図５において、Major領域４０Ａに格納された故障情報が（ｐ−１）に達している。従って、Major領域４０Ａの下位格納領域４１Ａの残世代数が「０」である。この場合、以下の割当て変更処理により、Major領域４０Ａの新たな下位格納領域４１Ｂが獲得され、これにｐ番目の故障情報＃ｐが格納される。故障情報＃ｐは、使用フラグ＃ｐを備え、そのサイズがサイズ＃ｐであり、故障情報部＃ｐに格納される。新たな下位格納領域４１Ｂは、元は他の上位格納領域、例えばHistory領域４０Ｄの下位格納領域である。
【００５１】
領域制御部５３は、前述したように、領域管理テーブル３に基づいて、データ取出部５１が取り出した故障情報を格納すべきメモリ４の下位格納領域を特定する。例えば、故障情報の種類がMajorであり、そのサイズが８（キロバイト）である場合、Major8kが、当該故障情報を格納すべき下位格納領域である。このために、当該故障情報において、故障情報の種類及びサイズが与えられる。
【００５２】
更に、領域制御部５３は、領域管理テーブル３に基づいて、故障情報を、特定した下位格納領域、即ち対応格納領域へ格納できるか否かを判断する。具体的には、領域制御部５３は、特定した下位格納領域についての領域管理テーブル３における格納領域の数を参照する。格納領域の数は、前述したように、その時点における当該下位格納領域の残世代数を示す。従って、領域制御部５３は、特定した下位格納領域についての残世代数が「０」であるか否かを調べる。領域制御部５３は、０でない場合には故障情報を対応格納領域へ格納できると判断し、０である場合には故障情報を対応格納領域へ格納できないと判断する。図５の例では、Major領域４０Ａの下位格納領域４１Ａ（例えば、Major8k）の残世代数は「０」である。
【００５３】
領域制御部５３は、故障情報を対応格納領域へ格納できると判断した場合、対応格納領域の中から故障情報を実際に格納する格納先を決定する。これと共に、領域制御部５３は、決定した下位格納領域についての領域管理テーブル３における格納領域の数即ち残世代数から「１」を差し引く。データ格納部５４が故障情報を対応格納領域へ格納した場合、領域制御部５３は、格納された故障情報の種類に対する対応格納領域の使用情報を領域管理テーブル３に反映する。
【００５４】
一方、領域制御部５３は、故障情報を対応格納領域へ格納できないと判断した場合、領域管理テーブル３に基づいて、対応格納領域の属する上位格納領域以外の上位格納領域の中から、故障情報の格納先を決定する。一方、データ格納部５４が故障情報を対応格納領域が属する上位格納領域以外の上位格納領域の中から決定した格納領域へ格納した場合、領域制御部５３は、領域管理テーブル３へその格納領域の割当ての情報と使用情報を反映する。
【００５５】
具体的には、領域制御部５３は、対応格納領域へ故障情報を格納できない場合、故障レベルテーブル２を参照して、データ取出部５１が取り出した故障情報の対象部品に対応した故障レベルを読み取る。領域制御部５３は、故障レベルが予め定めた故障レベル以上と判断した場合、故障情報の格納先の変更が必要であるか否かを判別する。例えば、故障情報の種類がＳＣ部品ＣＰＵについての重大レベル１である（Majorである）場合、故障レベルが「○」であるので、故障情報の格納先の変更が必要であると判断する。
【００５６】
領域制御部５３は、格納先の変更が必要である場合、領域管理テーブル３に基づいて、故障情報の対応格納領域が属する上位格納領域以外の上位格納領域の中から、故障情報の格納先を決定する。つまり、領域制御部５３は、故障情報に対する対応格納領域の割当ての変更に先立って、故障レベルテーブル２の故障レベルに対応する対応格納領域の割当て変更の可否の情報を参照する。
【００５７】
下位格納領域の割当て変更が必要であると判断した場合、領域制御部５３は、領域管理テーブル３を参照し、例えば、空き領域が最大である他の故障情報の種類に対応した下位格納領域を選択し、割当て変更する故障情報の下位格納領域を決定する。
【００５８】
図５の例において、History領域４０Ｄの下位格納領域、例えばHistory340kの空き領域が最大であるものとする。この場合、領域制御部５３は、割当てを変更する下位格納領域としてHistory領域４０Ｄの下位格納領域を選択し、当該選択した下位格納領域を、故障情報＃ｐの格納先４２として決定する。
【００５９】
具体的には、領域制御部５３は、History領域４０Ｄの下位格納領域、例えばHistory340kの１世代の領域を、割当て先であるHistory領域４０Ｄの下位格納領域、例えばMajor8kのサイズと等しいサイズのｘ個の下位格納領域に分割する。そして、領域制御部５３は、領域管理テーブル３において、分割した後の数をMajor領域４０Ａの下位格納領域４１Ａ、例えばMajor8kの「格納領域の数」に値ｘを加算し、かつ、History領域４０Ｄの下位格納領域、例えばHistory340kの「格納領域の数」から１を差し引く（残世代数を１世代分減算する）。また、領域制御部５３は、領域管理テーブル３において、例えばHistory340kの１世代の格納先を、当該History340kの「格納先情報」から削除し、かつ、例えばMajor8kの「格納先情報」にｘ個の下位格納領域の格納先を記述する。なお、以上の処理の順序は特に制限されず、いずれの処理を先に行っても良い。
【００６０】
また、領域制御部５３は、例えばMajor8kのｘ個の下位格納領域の先頭の領域を、格納先４２として選択して、当該選択した下位格納領域の格納先を、データ格納部５４に通知する。データ格納部５４は、通知された格納先４２へ、Majorの故障情報＃ｐを格納する。格納先４２は、元はHistory領域４０Ｄの下位格納領域であるが、割当て変更により、Major領域４０Ａの下位格納領域とされたものである。データ格納部５４は、使用フラグ＃ｐに使用状態を設定し、「故障情報の種類、サイズ（＃ｐ）」にMajorの故障情報に対応する種類及びサイズ（例えば、「Major、2k」）を設定し、故障情報部＃ｐに故障情報＃ｐのデータを格納する。
【００６１】
この故障情報の格納の後、領域制御部５３は、格納された故障情報の種類に対する対応格納領域の使用情報を、領域管理テーブル３に反映する。具体的には、領域制御部５３は、当該格納領域の残世代数を変更する。例えば、History領域４０Ｄの下位格納領域、例えばMajor8kの残世代数から１を差し引く。
【００６２】
以上により、領域制御部５３の指示により、データ格納部５４は、Majorの故障情報＃ｐを、それまでのHistory領域４０Ｄ内の格納先４２に格納し、当該格納先４２をMajor領域４０Ａへ割当てられた領域４１Ｂへと割当て変更する。従って、結果として、Majorの故障情報＃ｐが、Major領域４０Ａに対応する下位格納領域４１Ｂに格納される。これにより、故障情報監視装置１は、Major領域４０Ａに対応する下位格納領域に格納できる故障情報を空き領域が無くなった場合においても、その故障情報を他の下位格納領域に格納することが可能となる。
【００６３】
図６及び図７は故障情報の格納時の処理を示す図である。図６及び図７を用いて、故障情報監視装置１が、例えば、ＳＣ部品６５の故障情報を、Major領域、Allscan領域、History領域、Config領域に格納する場合の処理について説明する。
【００６４】
図６（Ａ）は、下位格納領域であるMajor2kとAllscan2kに空きが無くなった状態を示す。
【００６５】
図６（Ａ）において、下位格納領域Major2k、Allscan2kは、各々、Ｎ３、Ｎ１３世代まで使用済みである。使用済みの下位格納領域を網掛けにより表す（他についても同じ）。従って、故障情報Major2kと故障情報Allscan2kに対応する下位格納領域が空いていない。即ち、領域管理テーブル３において、Major2kの格納領域の残世代の情報が（Ｎ３−Ｎ３）＝０であり、Allscan2kの格納領域の残世代の情報が（Ｎ１３−Ｎ１３）＝０である。領域制御部５３は、この領域管理テーブル３を参照することにより、Major2k、Allscan2kの双方の故障情報の格納領域に空きがないことを知る。また、下位格納領域History340kとConfig4.4kは、それぞれ１世代のみが使用済みである。即ち、領域管理テーブル３のHistory340k、Config4.4kの格納領域の残世代の情報は、それぞれ（Ｎ１６−１）、（Ｎ１７−１）の情報を格納する。
【００６６】
この状態で、領域制御部５３は、新たに発生した故障情報の格納制御を行う場合、前述したように、領域管理テーブル３を参照する。これにより、発生した故障情報を対応する下位格納領域に格納できるか否かを判断することができる。
【００６７】
図６（Ｂ）は、下位格納領域History340kの空き領域の一部を、Major2kとAllscan2kの故障情報を格納する下位格納領域に割当てた状態を示す。
【００６８】
図６（Ａ）において、領域制御部５３は、ＳＣ部品６５の故障情報として、Major2k、Allscan2k、の各故障情報を受け取る。この場合、前述したように、領域制御部５３は、故障情報の格納制御を行う。即ち、領域制御部５３は、領域管理テーブル３を参照することによって、History340k、Config4.4kの各下位格納領域に故障情報を格納する残領域があると判断し、またMajor2k、Allscan2kの各下位格納領域に故障情報を格納する残領域がないと判断する。
【００６９】
そこで、領域制御部５３は、故障分類部５２が判断したＳＣ部品６５の重大故障レベルに対応する情報により、故障レベルテーブル２を参照して発生した故障方法に対応する格納領域の割当て変更が可であると判断する。即ち、History340k、Config4.4kの各下位格納領域の残領域が、Major2k、Allscan2kの下位格納領域に変更が可能であると判断する。
【００７０】
以上の処理に基づいて、領域制御部５３は、Major2kとAllscan2kの格納領域の割当て変更を制御する。この場合、領域制御部５３は、MajorあるいはAllscan以外の上位格納領域に対応する下位格納領域の中から、空き領域サイズが最大である下位格納領域を選択し、その選択した下位格納領域へ故障情報格納できるように割当てを変更する。図６（Ｂ）では、領域制御部５３は、上位格納領域のHistory領域の中の下位格納領域History340kを選択する。
【００７１】
領域制御部５３は、下位格納領域のHistory340kの空きの1世代分＃Ｎ１６を２ｋバイト単位に分割して、１７０世代分の格納領域を生成する。そして、領域制御部５３は、Major2kに、＃（Ｎ３＋１）〜＃（Ｎ３＋８５）の格納領域を割当てる。これが下位格納領域４１Ｂである。即ち、下位格納領域４１Ｂの割当てが、History340kからMajor2kに変更（割当て変更）される。また、領域制御部５３は、Allscan2kに、＃（Ｎ１３＋１）〜＃（Ｎ１３＋８５）の格納領域を割当てる。これが下位格納領域４１Ｃである。即ち、下位格納領域４１Ｃの割当てが、History340kからAllscan2k に変更される。これにより、Major2kとAllscan2kの残世代数が、各々、８５世代になる。更に、領域制御部５３は、History340kの残世代数を、（Ｎ１６−１）から１を差し引いて、（Ｎ１６−２）とする。これを、図６（Ｂ）において、点線で示す。
【００７２】
なお、この例は、上位格納領域History領域の下位格納領域History340kの空きを割当てた例であるが、History領域以外のAllscan(8k、4k)、Config（4.4k）などの下位格納領域の空き領域が十分にある場合、その空き領域を割当てても良い。
【００７３】
図７は、領域制御部５３による図６（Ｂ）の領域割当ての後、データ格納部５４が、Major2k、Allscan2k、History340k、Config4.4kに対応する故障情報を、各々、第１世代ずつ下位格納領域に格納した状態を示す。
【００７４】
データ格納部５４は、領域制御部５３による割当て変更の後、Major2kの故障情報を＃（Ｎ３＋１）の格納先へ格納し、Allscan2kの故障情報を＃（Ｎ１３＋１）の格納先へ格納する。また、データ格納部５４は、History340kの故障情報をHistory340kの下位格納領域の＃２の格納先へ格納し、Config4.4kの故障情報をConfig4.4kの下位格納領域の＃２の格納先へ格納する。
【００７５】
次に、領域制御部５３は、故障情報の格納結果を、領域管理テーブル３に対応する各格納領域の残世代数の情報に反映する。即ち、領域制御部５３は、領域管理テーブル３のMajor2kの残世代数を８４（＝８５−１）とし、Allscan2kの残世代数を８４（＝８５−１）とし、各々の格納先の情報と使用情報を領域管理テーブル３に格納する。また、領域制御部５３は、History340kの残世代数を（Ｎ１６−３）とし、Config4.4kの残世代数を（Ｎ１７−２）とし、各々の使用情報を領域管理テーブル３に反映する。
【００７６】
図８は、故障情報の格納処理において領域制御部５３が実行する領域制御の処理フローを示す。
【００７７】
領域制御部５３は、故障分類部５２から故障情報の種類、サイズ、故障レベルを受取ると、故障レベルテーブル２を参照し、受け取った対象部品の故障レベルが予め定められた故障レベル以下か否か、例えば重大レベルか否かを判断する（ステップＳ１）。
【００７８】
故障レベルが重大レベルではない場合（Ｓ１  Ｎｏ）、領域制御部５３は、処理を終了する。これにより、格納領域に空きが有るか否かに拘らず、格納領域の変更は行われない。従って、先に格納領域に格納された故障情報は、上書きされて失われる可能性があるが、上書きされる故障情報は重大なものではないので、故障解析には影響は無い。
【００７９】
一方、故障レベルが重大レベルである場合（Ｓ１  Ｙｅｓ）、領域制御部５３は、当該故障情報の対応格納領域である下位格納領域（以下、自格納領域と言う）に空きがあるか否かを判断する（ステップＳ２）。
【００８０】
故障情報に対応した自格納領域に空きがある場合（Ｓ２  Ｙｅｓ）、領域制御部５３は、処理を終了する。これにより、故障情報に対応した下位格納領域に空きが有るので、先に下位格納領域に格納された故障情報を上書きすることなく、故障情報をメモリに格納することができる。
【００８１】
故障情報に対応する自格納領域に空きがない場合（Ｓ２  Ｎｏ）、領域制御部５３は、故障レベルテーブル２に記録された自格納領域の割当て変更可否を示す変更情報を参照し、格納領域の割当て変更が可能か否かを判断する（ステップＳ３）。格納領域の割当て変更が不可である、つまり変更モードでない場合（Ｓ３  Ｎｏ）、領域制御部５３は、処理を終了する。
【００８２】
格納領域の割当ての変更が可である、言い換えれば変更モードである場合（Ｓ３  Ｙｅｓ）、領域制御部５３は、故障情報に対応する自格納領域の属する上位格納領域以外の上位格納領域（以下、他の上位格納領域）に空きがあるか否かを、領域管理テーブル３を参照して判断する（ステップＳ４）。他の上位格納領域に空きがない場合（Ｓ４  Ｎｏ）、領域制御部５３は、処理を終了する。
【００８３】
他の上位格納領域に空きがある場合(Ｓ４  Ｙｅｓ）、領域制御部５３は、いずれかの上位格納領域から空いている下位格納領域のいずれかを選択して、これを自格納領域に割当て、選択した下位格納領域の使用情報を使用済みに設定する（ステップＳ５）。
【００８４】
なお、この時、複数の上位格納領域に空きがある、つまり空いている下位格納領域が複数存在する場合、例えば、最もサイズの大きな上位格納領域から、空いている下位格納領域が選択される。また、選択された上位格納領域に複数の空いている下位格納領域が存在する場合、例えば、下位格納領域のアドレスの順に割り当てる下位格納領域が選択される。例えば、History340kの１世代分（340kバイト）をMajor2kの格納領域に変更して、１７０世代分のMajor2kを生成したとする。この場合、１世代分のHistory340kの使用情報は使用済みに設定され、一方、１７０世代分のMajor2kの使用情報は空きに設定される。
【００８５】
領域制御部５３は、領域管理テーブル３へ下位格納領域の割当て内容、つまり割り当てられた下位格納領域の故障情報の種類、サイズ、位置などを反映する。即ち、領域制御部５３は、領域管理テーブル３において、その内容を反映するため、故障情報の種類、サイズ、位置を更新する（ステップＳ６）。
【００８６】
これにより、領域制御部５３は、領域管理テーブル３を参照することにより、故障情報に割当てた格納領域を、自格納領域として判断する。従って、この後、領域制御部５３は、更新された領域管理テーブル３に従って、故障情報の格納領域の格納先を決定して、これをデータ格納部５４へ通知する。
【００８７】
図９は、故障情報監視装置１における、メモリ４に格納された故障情報の読出し処理の一例の処理フローを示す。
【００８８】
故障情報監視装置１において、例えば、領域制御部５３は、メモリ４における故障情報を読出すべき格納領域、言い換えれば読出し処理の対象である格納領域を設定し、読出し処理を開始する格納領域を設定する（ステップＳ１０）。これらの設定のための情報は、例えば故障情報監視装置１の外部から図示しない入出力装置により入力される。次に、領域制御部５３は、領域管理テーブル３を参照し、設定された格納領域についての使用情報に基づいて、当該格納領域が使用済みであるか否かを判断する（ステップＳ１１）。
【００８９】
設定された格納領域が使用済みである場合（Ｓ１１  Ｙｅｓ）、領域制御部５３は、当該格納領域をデータ格納部５４へ通知する。この通知に応じて、データ格納部５４が、通知された格納領域位置に格納されているデータ、つまり故障情報を読み出して、故障情報監視装置１に接続された外部媒体に出力する。これにより、故障情報が外部媒体（例えば、ＣＤ−ＲＯＭ等）にコピーされる（ステップＳ１２）。次に、領域制御部５３は、領域管理テーブル３における当該格納領域の使用情報を「空き」に設定し、データ格納部５４が、当該格納領域の使用フラグを「空き」に設定する（ステップＳ１３）。
【００９０】
ステップＳ１１において、当該格納領域が使用済みでない、即ち「空き」である場合（Ｓ１１  Ｎｏ）、ステップＳ１２及びＳ１３の処理は省略される。
【００９１】
この後、領域制御部５３は、読出し処理の対象である格納領域の終了位置まで、故障情報の読出しが終了したか否かを判断する（ステップＳ１４）。読出しが終了していない場合、領域制御部５３は、その時点で処理している格納領域の次に位置する格納領域を、読出し処理の対象として設定し（ステップＳ１５）、ステップＳ１１以下を繰り返す。一方、読出しが終了した場合、領域制御部５３は処理を終了する。
【００９２】
以上により、メモリ４上の故障情報が、故障情報監視装置１から外部媒体にコピーされる。この後、例えば、領域制御部５３は、変更された格納領域の割当ての増減を解除する。即ち、格納領域の割当てが、割当変更前の状態に戻される。これにより、例えば、図６（Ｂ）に示すように変更された格納領域の割当てが、図６（Ａ）に示す変更前の状態に復旧される。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施例による故障情報監視装置の構成図である。
【図２】本実施例の故障情報監視装置の構成を示す図である。
【図３】故障レベルテーブルの構成を示す図である。
【図４】領域管理テーブルの実施例を示す図である。
【図５】格納領域の割当て変更の例を示す図である。
【図６】故障情報の格納時の第１及び第２の処理を示す図である。
【図７】故障情報の格納時の第３の処理を示す図である。
【図８】領域制御部の故障情報格納時の領域制御の処理フローを示す図である。
【図９】故障情報監視装置における故障情報の読出しの処理フローを示す。
【符号の説明】
【００９４】
１      故障情報監視装置
２      故障レベルテーブル
３      領域管理テーブル
４      メモリ
５      故障情報処理部
６      情報処理装置（サーバ）
５１    データ取出部
５２    故障分類部
５３    領域制御部
５４    データ格納部
【図１】
2010092107.tif 000003
【図２】
2010092107.tif 000004
【図３】
2010092107.tif 000005
【図４】
2010092107.tif 000006
【図５】
2010092107.tif 000007
【図６】
2010092107.tif 000008
【図７】
2010092107.tif 000009
【図８】
2010092107.tif 000010
【図９】
2010092107.tif 000011