(57)【特許請求の範囲】
【請求項１】
情報処理装置のハードウェアの診断を実行し、前記診断において検出される故障を表す、３以上の重要度に分類される故障情報を生成する処理部と、
前記処理部により生成される故障情報が重要度ごとに連続して書き込まれる記憶部と、を備え、
新たに生成された新規故障情報を記憶するための記憶領域が前記記憶部に存在しない場合、前記処理部は、前記新規故障情報よりも重要度の低い故障情報のための記憶領域をそれぞれシフトさせ、前記新規故障情報と同じ重要度の故障情報に連続させて前記新規故障情報を前記記憶部に記憶させる
ことを特徴とする情報処理装置。
【請求項２】
前記処理部は、新たに発生した第１の重要度に分類される新規故障情報を記憶する第１の領域が前記記憶部にない場合、前記第１の重要度よりも重要度が低い第２の重要度に分類される故障情報を記憶する第２の領域の先頭に記憶されている故障情報を、重要度が最も低い第３の重要度に分類される故障情報を記憶する第３の領域の先頭に上書きさせ、
前記新規故障情報を、前記第２の領域の先頭に記憶させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理部は情報処理装置のＣＰＵであり、前記記憶部は、情報処理装置が電源を投入した際に利用可能な記憶装置である
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
情報処理装置のハードウェアを診断し、前記診断において検出される故障を記憶部に記憶させるプログラムであって、
前記診断において新たに生成された３以上の重要度に分類される新規故障情報を、重要度ごとに連続して書き込むための記憶領域が前記記憶部に存在しない場合、前記記憶部に記憶されている故障情報で最も重要度の低い故障情報のための記憶領域が削減されるように、前記新規故障情報よりも重要度の低い故障情報のための記憶領域をそれぞれシフトさせ、前記新規故障情報と同じ重要度の故障情報に連続させて前記新規故障情報を前記記憶部に記憶させる、処理を前記情報処理装置に実行させる
ことを特徴とする故障情報記憶プログラム。
【請求項５】
新たに発生した第１の重要度に分類される新規故障情報を記憶する第１の領域が前記記憶部にない場合、前記第１の重要度よりも重要度が低い第２の重要度に分類される故障情報を記憶する第２の領域の先頭に記憶されている故障情報を、重要度が最も低い第３の重要度に分類される故障情報を記憶する第３の領域の先頭に上書きさせ、
前記新規故障情報を、前記第２の領域の先頭に記憶させる、処理を前記情報処理装置に実行させる
ことを特徴とする請求項４に記載の故障情報記憶プログラム。
【請求項６】
情報処理装置のハードウェアを診断し、前記診断において検出される故障を記憶部に記憶させる記憶方法であって、
前記診断において新たに生成された３以上の重要度に分類される新規故障情報を、重要度ごとに連続して書き込むための記憶領域が前記記憶部に存在しない場合、前記新規故障情報よりも重要度の低い故障情報のための記憶領域をそれぞれシフトさせ、前記新規故障情報と同じ重要度の故障情報に連続させて前記新規故障情報を前記記憶部に記憶させる、
処理を前記情報処理装置が実行することを特徴とする故障情報記憶方法。
【請求項７】
新たに発生した第１の重要度に分類される新規故障情報を記憶する第１の領域が前記記憶部にない場合、前記第１の重要度よりも重要度が低い第２の重要度に分類される故障情報を記憶する第２の領域の先頭に記憶されている故障情報を、重要度が最も低い第３の重要度に分類される故障情報を記憶する第３の領域の先頭に上書きさせ、
前記新規故障情報を、前記第２の領域の先頭に記憶させる、処理を前記情報処理装置が実行する
ことを特徴とする請求項６に記載の故障情報記憶方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障情報の管理に関する。
【背景技術】
【０００２】
情報処理装置のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、電源投入時やリセット実行時に、ＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  ＳｅｌｆＴｅｓｔ）と呼ばれる自己診断プログラムを実行する。ＰＯＳＴは、情報処理装置に搭載されているハードウェアの故障を検出し、検出した故障情報をサービスプロセッサ（ＳＶＰ）に通知する。
【０００３】
ＰＯＳＴが実行される際、主記憶装置は未だ初期化されていない。このため、サービスプロセッサは、初期化せずに使用可能なＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＣＰＵキャッシュなどの記憶装置に、ＰＯＳＴにより生成される故障情報を記憶する。
【０００４】
アドレステーブルを格納するメモリへのデータの格納方法として、アドレス情報の参照頻度が高い領域と低い領域の境界を動的に変化させることで、メモリを有効に利用する方法が知られている（例えば、特許文献１を参照）。
【０００５】
記憶装置へのログの記憶方法として、第１の格納領域の空きがなくなると確保される第２の格納領域が確保できない場合、優先度が最も低いログを削除することで、新しいログ情報を格納する方法がしられている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許公開２０００−２７８３０８号公報
【特許文献２】特許公開２００８−２２５５９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
故障情報を記憶するＳＲＡＭやＣＰＵキャッシュなどの記憶装置は、初期化せずに使用可能である一方、容量は小さい。
【０００８】
１つの側面において、本発明は、限られた容量の記憶装置に重要度の高い故障情報を効率よく記憶させることを目的とする。
【課題を解決するための手段】
【０００９】
情報処理装置は、処理部と記憶部を備える。処理部は、情報処理装置のハードウェアの診断を実行し、前記診断において検出される故障を表す、３以上の重要度に分類される故障情報を生成する。記憶部は、前記処理部により生成される故障情報が重要度ごとに連続して書き込まれる。処理部は、新たに生成された新規故障情報を記憶するための記憶領域が前記記憶部に存在しない場合、前記新規故障情報よりも重要度の低い故障情報のための記憶領域をそれぞれシフトさせる。次に、処理部は、前記新規故障情報と同じ重要度の故障情報に連続させて前記新規故障情報を前記記憶部に記憶させる。
【発明の効果】
【００１０】
限られた容量の記憶装置に重要度の高い故障情報を効率よく記憶させる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る情報処理装置のハードウェア構成の例を説明する図である。
【図２】新規故障情報を記憶装置に格納する格納方法の例（その１）を説明する図である。
【図３】新規故障情報を記憶装置に格納する格納方法の例（その２）を説明する図である。
【図４】新規故障情報を記憶装置に格納する格納方法の例（その３）を説明する図である。
【図５】新規故障情報を記憶装置に格納する格納方法の例（その４）を説明する図である。
【図６】新規故障情報を記憶装置に格納する格納方法の例（その５）を説明する図である。
【図７】新規故障情報を記憶装置に格納する格納方法の例（その６）を説明する図である。
【図８】新規故障情報を記憶装置に格納する格納方法の例（その７）を説明する図である。
【図９】新規故障情報を記憶装置に格納する格納方法の例（その８）を説明する図である。
【図１０】新規故障情報を記憶装置に格納する格納方法の例（その９）を説明する図である。
【図１１】ＴＡＩＬ側への故障情報の格納方法（その１）の例を説明するフローチャートである。
【図１２】ＨＥＡＤ側への故障情報の格納方法（その１）の例を説明するフローチャートである。
【図１３】ＴＡＩＬ側への故障情報の格納方法（その２）の例を説明するフローチャートである。
【図１４】ＨＥＡＤ側への故障情報の格納方法（その２）の例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、実施形態を詳細に説明する。
図１は、本実施形態に係る情報処理装置のハードウェア構成の例を説明する図である。情報処理装置２００は、ＣＰＵ２０１、ＲＯＭ２０２、ＳＲＡＭ２０３、ＳＤＲＡＭ２０４、ＭＡＣ２０５、ＳＶＰ２０６、Ｄｉｓｋコントローラ２０７、Ｄｉｓｋ２０８、ＮＩＣ２０９を備える。ＣＰＵ２０１、ＲＯＭ２０２、ＳＲＡＭ２０３、ＭＡＣ２０５、ＳＶＰ２０６、Ｄｉｓｋコントローラ２０７、ＮＩＣ２０９は、夫々結線されている。ＣＰＵ２０１は、情報処理装置に搭載されているハードウェアを診断するプログラムであるＰＯＳＴを実行する。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２は、ＣＰＵ２０１によって実行されるＰＯＳＴプログラムを記憶している。ＳＲＡＭ２０３は、ＰＯＳＴにより検出されたハードウェアの故障情報を格納する。ＳＲＡＭ２０３は、情報処理装置２００の電源が投入された後に、初期化なしで使用可能な記憶装置である。以下、ＳＲＡＭ２０３内の故障情報を格納するための記憶領域を、「記憶装置１００」と称す。
【００１３】
ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４は、ＣＰＵ２０１で使用されるデータを記憶する主記憶装置である。なお、ＳＤＲＡＭ２０４は、情報処理装置２００の電源が投入された後に、初期化が完了するまで使用できないため、ＰＯＳＴにより検出されたハードウェアの故障情報を格納しない。ＭＡＣ（Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）２０５は、ＳＤＲＡＭ２０４へのアクセスを制御する。ＭＡＣ２０５は、ＳＤＲＡＭ２０４と結線されている。Ｄｉｓｋ２０８は、外部記憶装置である。Ｄｉｓｋコントローラ２０７は、Ｄｉｓｋ２０８へのアクセスを制御する。
【００１４】
ＳＶＰ２０６は、情報処理装置２００の電源が投入された後、ＣＰＵ２０１が起動したことを確認すると、ＰＯＳＴプログラムの実行をＣＰＵ２０１に命令する。また、ＳＶＰ２０６は、診断結果として検出された故障情報を取得し、記憶装置１００に格納する。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０９は、情報処理装置２００と外部のネットワークとを接続するために用いられる。情報処理装置２００は、例えば、コンピュータなどで実現されることがある。なお、ＣＰＵ２０１自身もＰＯＳＴによるハードウェア診断の対象である。以下において、ＰＯＳＴを実行するＣＰＵ２０１を「処理部２１０」と称す。
【００１５】
図２は、新規故障情報を記憶装置に格納する格納方法の例（その１）を説明する図である。ＳＶＰ２０６は、情報処理装置２００の電源を投入した際に実行されるＰＯＳＴの結果、情報処理装置２００が搭載するハードウェアに故障がある場合に検出される故障情報を記憶装置１００に記憶する。電源を投入した際に利用可能な記憶装置１００は、初期化をせずに使用可能なＳＲＡＭ２０３やＣＰＵキャッシュなどに備えられる。記憶装置１００は、故障情報を記憶するための記憶領域ＥＩ（Ｅｒｒｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ）を複数備える。記憶装置１００の記憶領域ＥＩは、例えば、１次元配列としてＥＩ[０]〜ＥＩ［８]の記憶領域として表される。ＥＩ［０］〜ＥＩ［８］の０〜８の数は、１次元配列で表される各記憶領域を示す要素番号である。ＥＩ［０］〜ＥＩ［８］の各々の記憶領域は、同じ容量を持つ記憶領域である。
【００１６】
本実施形態に係る故障情報は、複数の重要度iに分類される。より多くの重要度iに故障情報を分類することで、保守者は、故障情報の重要さを容易に把握することが可能となる。記憶装置１００の例において、故障情報は３つの重要度ｉを持つ。３つの重要度ｉは、重要度ｉ＝０〜２で表される。重要度ｉが０の故障情報は、最も重要な故障情報である。重要度ｉが０の故障情報は、重要が低い故障情報である。重要度ｉが１の故障情報は、重要度０の故障情報よりも重要度が低く、重要度２の故障情報よりも重要度が高い故障情報である。
【００１７】
記憶装置１００は、記憶装置１００の初期状態の例である。初期状態の記憶装置１００の例では、ＥＩ［０］〜ＥＩ［２］の連続した記憶領域が、重要度ｉ＝０の故障情報を格納するために予め確保されている。初期状態の記憶装置１００の例では、ＥＩ［３］〜ＥＩ［５］の連続した記憶領域が、重要度ｉ＝１の故障情報を格納するために予め確保されている。初期状態の記憶装置１００の例では、ＥＩ［６］〜ＥＩ［８］の連続した記憶領域が、重要度ｉ＝２の故障情報を格納するために予め確保されている。
【００１８】
重要度ｉの故障情報のために確保される記憶領域は、確保された記憶領域の先頭の記憶領域ＥＩの要素番号が設定されるＨＥＡＤ［ｉ］と、確保された記憶領域の最後尾の記憶領域ＥＩの要素番号に１を加算した要素番号が設定されるＴＡＩＬ［ｉ］とで管理される。言い換えると、ＴＡＩＬ［ｉ］には、新しい重要度ｉの故障情報が次に格納される記憶領域ＥＩの要素番号が設定される。なお、ＨＥＡＤ［ｉ］とＴＡＩＬ［ｉ］の番号が同じ要素番号である場合、重要度ｉの故障情報が１つも記憶されていないことを示す。本実施形態の例では、ＨＥＡＤ［ｉ］とＴＡＩＬ［ｉ］には、ＥＩ［０］〜ＥＩ［９］の何れかが設定される。ＥＩ［９］は、記憶装置１００のＥＩ［０］〜ＥＩ［８］とは異なり、記憶装置１００外を示す要素番号である。ＥＩ［９］は、例えば、ＥＩ［８］まで故障情報が格納されてしまっている場合に設定される。
【００１９】
記憶装置１００では、重要度ｉ＝０の故障情報が何も格納されていない。そのため、ＨＥＡＤ［０］とＴＡＩＬ［０］には、ＥＩ［０］が設定される。次に、記憶装置１００では、重要度ｉ＝１の故障情報が何も格納されていない。そのため、ＨＥＡＤ［１］とＴＡＩＬ［１］には、共にＥＩ［３］が設定される。記憶装置１００では、重要度ｉ＝２の故障情報が何も格納されていない。そのため、ＨＥＡＤ［２］とＴＡＩＬ［２］には、共にＥＩ［６］が設定される。
【００２０】
図２の記憶装置１００ａは、記憶装置１００の初期状態に、重要度ｉ＝０の故障情報＃１を格納した後の例である。以下に、記憶装置１００の状態から新たに重要度ｉ＝０の故障情報＃１を格納する処理を順に説明する。
【００２１】
（Ａ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００２２】
（Ａ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。図２の記憶装置１００において、ＴＡＩＬ［０］にはＥＩ［０］が設定されている。ＥＩ［０］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００２３】
（Ａ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ａでは、重要度ｉ＝０の故障情報＃１を格納するため、重要度が最も高い故障情報であると判定される。
【００２４】
（Ａ４）処理部２１０は、検出された重要度ｉの故障情報を次に格納する記憶領域ＥＩを示すＴＡＩＬ［ｉ］と、重要度ｉ＋１の故障情報の先頭の記憶領域ＥＩを示すＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ記憶領域ＥＩが設定されていない場合、重要度ｉの故障情報を格納するために予め確保されていた記憶領域に空きがあることを表す。図２の記憶装置１００におけるＴＡＩＬ［０］にはＥＩ［０］、ＨＥＡＤ［１］にはＥＩ［３］が設定されている。
【００２５】
（Ａ５）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。なお、記憶装置１００ａでは、ＥＩ［０］に新しい重要度ｉ＝０の故障情報＃１が格納される。
【００２６】
（Ａ６）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ａでは、ＴＡＩＬ［０］にはＥＩ［１］が設定される。
【００２７】
このように、重要度ｉの故障情報のために予め確保されている記憶領域に空きがある場合、処理部２１０は、新しい故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。
【００２８】
図３は、新規故障情報を記憶装置に格納する格納方法の例（その２）を説明する図である。記憶装置１００ｂは、図２の記憶装置１００の初期状態に重要度ｉ＝２の故障情報＃１を格納した後の例である。以下に、記憶装置１００の状態から新たに重要度ｉ＝２の故障情報＃１を格納する処理を順に説明する。
【００２９】
（Ｂ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００３０】
（Ｂ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。図２の記憶装置１００において、ＴＡＩＬ［２］にはＥＩ［６］が設定されている。ＥＩ［６］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００３１】
（Ｂ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ｂでは、重要度ｉ＝２の故障情報＃１を格納する。重要度ｉ＝２は、重要度が最も低い故障情報であると判定される。検出された故障情報の重要度が最も低い場合、ＨＥＡＤ［ｉ＋１］は存在しないため、（Ａ４）の処理は行われない。
【００３２】
（Ｂ４）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。記憶装置１００ｂでは、ＥＩ［６］に新しい重要度ｉ＝２の故障情報＃１が格納される。
【００３３】
（Ｂ５）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｂでは、ＴＡＩＬ［２］にはＥＩ［７］が設定される。
【００３４】
このように、重要度が最も低い故障情報を検出した場合は、ＨＥＡＤ［ｉ＋１］を確認する処理（Ａ４）が省かれる。重要度ｉの故障情報のために予め確保されている記憶領域に空きがある場合、処理部２１０は、新しい故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。
【００３５】
図４は、新規故障情報を記憶装置に格納する格納方法の例（その３）を説明する図である。図４の記憶装置１００ｃは、図２の記憶装置１００の初期状態に、重要度ｉ＝０の故障情報＃１〜３を格納した後の例である。言い換えると、記憶装置１００ｃは、記憶装置１００の初期状態から処理（Ａ１）〜（Ａ６）の処理を３回繰り返した後の例である。そのため、ＴＡＩＬ［０］には、ＥＩ［０］から３が加算されたＥＩ［３］が設定されている。
【００３６】
記憶装置１００ｄは、記憶装置１００ｃに重要度ｉ＝０の故障情報＃４を格納した後の例である。以下に、記憶装置１００ｄの状態から新たに重要度ｉ＝０の故障情報＃４を格納する処理を順に説明する。
【００３７】
（Ｃ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００３８】
（Ｃ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｃにおいて、ＴＡＩＬ［０］にはＥＩ［３］が設定されている。ＥＩ［３］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００３９】
（Ｃ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ｄでは、重要度ｉ＝０の故障情報＃４を格納するため、重要度が最も高い故障情報であると判定される。
【００４０】
（Ｃ４）処理部２１０は、検出された重要度ｉの故障情報を次に格納する記憶領域ＥＩを示すＴＡＩＬ［ｉ］と、重要度ｉ＋１の故障情報の先頭の記憶領域ＥＩを示すＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ記憶領域ＥＩが設定されている場合、重要度ｉの故障情報のために予め確保された記憶領域が一杯であることを表す。記憶装置１００ｃでは、ＴＡＩＬ［０］とＨＥＡＤ［１］にＥＩ［３］が設定されている。
【００４１】
（Ｃ５）処理部２１０は、重要度ｉよりも重要度が１つ低い重要度ｉ＋１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【００４２】
（Ｃ５．１）処理部２１０は、重要度ｉから重要度が１つ下がった重要度ｉ＋１のＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｃでは、ＨＥＡＤ［１］とＴＡＩＬ［１］にＥＩ［３］が設定されている。そのため、処理部２１０は、重要度ｉ＝１の故障情報が格納されていないと判定する。
【００４３】
（Ｃ５．２）処理部２１０は、重要度ｉ＋１の重要度が最も低い重要度でないかを判定する。併せて、処理部２１０は、ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに同じ要素番号が設定されているかを判定する。処理部２１０は、重要度ｉ＋１が最も低い重要度ではないと判定する。記憶装置１００ｃでは、ＴＡＩＬ［１］にＥＩ［３］が、ＨＥＡＤ［２］にはＥＩ［６］が設定されている。そのため、処理部２１０は、ＥＩ［３］〜ＥＩ［６］の間の記憶領域には、重要度ｉ＝１の故障情報が格納されていないと判定できる。
【００４４】
（Ｃ５．３）処理部２１０は、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置１００ｄのように、ＨＥＡＤ［ｉ＋１］にＥＩ［４］、ＴＡＩＬ［ｉ＋１］にＥＩ［４］が設定される。
【００４５】
（Ｃ６）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。記憶装置１００ｄでは、ＥＩ［３］に新しい重要度ｉ＝２の故障情報＃４が格納される。
【００４６】
（Ｃ７）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｄでは、ＴＡＩＬ［０］にはＥＩ［４］が設定される。
【００４７】
このように、重要度ｉ＝０の故障情報のために予め確保されたＥＩ［０］〜ＥＩ［３］が一杯になり、重要度が低い重要度ｉ＝１の故障情報のために予め確保されたＥＩ［４］に空きがある場合、ＥＩ［４］は、重要度ｉ＝０の故障情報のために割り当てられる。これにより、処理部２１０は、新しい重要度ｉ＝０の故障情報をＥＩ［４］に格納できる。
【００４８】
図５は、新規故障情報を記憶装置に格納する格納方法の例（その４）を説明する図である。図５の記憶装置１００ｅは、図４の記憶装置１００ｃの状態から、重要度ｉ＝０の故障情報＃４〜６を格納した後の例である。言い換えると、記憶装置１００ｅでは、記憶装置１００ｃの状態から処理（Ｃ１）〜（Ｃ７）の処理を３回繰り返した後の例である。そのため、ＴＡＩＬ［０］、ＨＥＡＤ［１］、ＴＡＩＬ［１］には、ＥＩ［６］が設定されている。
【００４９】
記憶装置１００ｆは、記憶装置１００ｅに重要度ｉ＝０の故障情報＃７を格納した後の例である。以下に、記憶装置１００ｅの状態から新たに重要度ｉ＝０の故障情報＃７を格納する処理を順に説明する。
【００５０】
（Ｄ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００５１】
（Ｄ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｅにおいて、ＴＡＩＬ［０］にはＥＩ［６］が設定されている。ＥＩ［６］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００５２】
（Ｄ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ｆでは、重要度ｉ＝０の故障情報＃７を格納するため、重要度が最も高い故障情報であると判定される。
【００５３】
（Ｄ４）処理部２１０は、検出された重要度ｉの故障情報を次に格納する記憶領域ＥＩを示すＴＡＩＬ［ｉ］と、重要度ｉ＋１の故障情報の先頭の記憶領域ＥＩを示すＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ記憶領域ＥＩが設定されている場合、重要度ｉの故障情報のために予め確保された記憶領域が一杯であることを表す。記憶装置１００ｅでは、ＴＡＩＬ［０］とＨＥＡＤ［１］にＥＩ［６］が設定されている。
【００５４】
（Ｄ５）処理部２１０は、重要度ｉよりも重要度が１つ低い重要度ｉ＋１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【００５５】
（Ｄ５．１）処理部２１０は、重要度ｉから重要度が１つ下がった重要度ｉ＋１のＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｅでは、ＨＥＡＤ［１］とＴＡＩＬ［１］にＥＩ［６］が設定されている。そのため、処理部２１０は、重要度ｉ＝１の故障情報が格納されていないと判定する。
【００５６】
（Ｄ５．２）処理部２１０は、重要度ｉ＋１の重要度が最も低い重要度ではないかを判定する。併せて、処理部２１０は、ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに同じ要素番号が設定されているかを判定する。処理部２１０は、重要度ｉ＋１が最も低い重要度ではないと判定する。ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに同じ記憶領域ＥＩが設定されている場合、重要度ｉ＋１の故障情報のために予め確保された領域が一杯、又は無くなったことを表す。記憶装置１００ｅでは、ＴＡＩＬ［１］とＨＥＡＤ［２］にＥＩ［６］が設定されている。
【００５７】
（Ｄ６）処理部２１０は、重要度ｉ＋１よりも重要度が１つ低い重要度ｉ＋２の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【００５８】
（Ｄ６．１）処理部２１０は、重要度ｉ＋１から重要度が１つ下がった重要度ｉ＋２のＨＥＡＤ［ｉ＋２］とＴＡＩＬ［ｉ＋２］の位置を確認する。記憶装置１００ｅでは、ＨＥＡＤ［２］とＴＡＩＬ［２］にＥＩ［６］が設定されている。そのため、処理部２１０は、重要度ｉ＝２の故障情報が格納されていないと判定する。
【００５９】
（Ｄ６．２）処理部２１０は、重要度ｉ＋２の重要度が最も低い重要度ではないかを判定する。重要度ｉ＋２は、最も低い重要度である。そのため、各重要度のＨＥＡＤ及びＴＡＩＬの確認処理を終了する。
【００６０】
（Ｄ６．３）処理部２１０は、ＨＥＡＤ［ｉ＋２］とＴＡＩＬ［ｉ＋２］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置ｆのように、ＨＥＡＤ［ｉ＋２］とＴＡＩＬ［ｉ＋２］にＥＩ［７］が設定される。
【００６１】
（Ｄ７）処理部２１０は、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置ｆのように、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］にＥＩ［７］が設定される。
【００６２】
（Ｄ８）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。記憶装置１００ｆでは、ＥＩ［６］に新しい重要度ｉ＝０の故障情報＃７が格納される。
【００６３】
（Ｄ９）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｆでは、ＴＡＩＬ［０］にはＥＩ［７］が設定される。
【００６４】
図６は、新規故障情報を記憶装置に格納する格納方法の例（その５）を説明する図である。図６の記憶装置１００ｇは、図２の記憶装置１００の状態から、重要度ｉ＝０の故障情報＃１〜＃３と、重要度ｉ＝１の故障情報＃１を格納した後の状態である。重要度ｉ＝０の故障情報＃１〜＃３は、ＥＩ［０］〜ＥＩ［２］に順に格納される。重要度ｉ＝１の故障情報＃１は、ＥＩ［３］に格納される。その結果、ＨＥＡＤ［０］には、ＥＩ［０］が設定される。ＴＡＩＬ［０］とＨＥＡＤ［１］には、ＥＩ［３］が設定される。ＴＡＩＬ［１］には、ＥＩ［４］が設定される。ＨＥＡＤ［２］、ＴＡＩＬ［２］には、ＥＩ［６］が設定される。
【００６５】
記憶装置１００ｈは、記憶装置１００ｇに重要度ｉ＝０の故障情報＃４を格納した後の例である。以下に、記憶装置１００ｇの状態から新たに重要度ｉ＝０の故障情報＃４を格納する処理を順に説明する。
【００６６】
（Ｅ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００６７】
（Ｅ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｇにおいてＴＡＩＬ［０］にはＥＩ［３］が設定されている。ＥＩ［３］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００６８】
（Ｅ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ｈでは、重要度ｉ＝０の故障情報＃４を格納するため、重要度が最も高い故障情報であると判定される。
【００６９】
（Ｅ４）処理部２１０は、検出された重要度ｉの故障情報を次に格納する記憶領域ＥＩを示すＴＡＩＬ［ｉ］と、重要度ｉ＋１の故障情報の先頭の記憶領域ＥＩを示すＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ記憶領域ＥＩが設定されている場合、重要度ｉの故障情報のために予め確保された記憶領域が一杯であることを表す。記憶装置１００ｇでは、ＴＡＩＬ［０］とＨＥＡＤ［１］にＥＩ［３］が設定されている。
【００７０】
（Ｅ５）処理部２１０は、重要度ｉよりも重要度が１つ低い重要度ｉ＋１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【００７１】
（Ｅ５．１）処理部２１０は、重要度ｉから重要度が１つ下がった重要度ｉ＋１のＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｇでは、ＨＥＡＤ［１］にはＥＩ［３］が設定されており、ＴＡＩＬ［１］にはＥＩ［４］が設定されている。ＨＥＡＤ［１］とＴＡＩＬ［１］に設定されている記憶領域ＥＩの要素番号により、記憶装置１００ｇには、重要度ｉ＝１の故障情報が１つ格納されていることがわかる。
【００７２】
（Ｅ６）処理部２１０は、ＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩに重要度ｉ＋１の故障情報を移動させる処理を開始する。
【００７３】
（Ｅ６．１）処理部２１０は、ＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｇにおいてＴＡＩＬ［１］にはＥＩ［４］が設定されている。ＥＩ［４］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【００７４】
（Ｅ６．２）処理部２１０は、重要度ｉ＋１の重要度を判定する。処理部２１０は、重要度ｉ＋１は、最も低い重要度ではないと判定する。
【００７５】
（Ｅ６．３）処理部２１０は、処理部２１０は、ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに異なる記憶領域ＥＩが設定されているため、重要度ｉ＋１の故障情報のために予め確保された領域に空きがあることを表す。
【００７６】
（Ｅ６．４）処理部２１０は、重要度ｉ＋１のＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩに格納されている故障情報をＴＡＩＬ［ｉ＋１］に移動させる。記憶装置１００ｈでは、ＥＩ［３］に記憶されている重要度ｉ＝１の故障情報＃１が、ＥＩ［４］に移動させられる。
【００７７】
（Ｅ６．５）処理部２１０は、ＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置１００ｈのように、ＴＡＩＬ［ｉ＋１］にＥＩ［５］が設定される。
【００７８】
（Ｅ７）処理部２１０は、ＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置１００ｈのように、ＨＥＡＤ［ｉ＋１］にＥＩ［４］が設定される。
【００７９】
（Ｅ８）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。記憶装置１００ｈでは、ＥＩ［３］に新しい重要度ｉ＝０の故障情報＃４が格納される。
【００８０】
（Ｅ９）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｈでは、ＴＡＩＬ［０］にはＥＩ［４］が設定される。
【００８１】
このように、重要度ｉ＝０の故障情報のために予め確保されたＥＩ［０］〜ＥＩ［２］が一杯になり、重要度が低い重要度ｉ＝１の故障情報のために予め確保されたＥＩ［３］に空きがある場合、ＥＩ［３］は、重要度ｉ＝０の故障情報のために割り当てられる。これにより、処理部２１０は、新しい重要度ｉ＝０の故障情報をＥＩ［３］に格納できる。
【００８２】
図７は、新規故障情報を記憶装置に格納する格納方法の例（その６）を説明する図である。図７の記憶装置１００ｉは、記憶装置１００の状態から、重要度ｉ＝０の故障情報＃１〜＃９を格納した後の状態である。重要度ｉ＝０の故障情報＃１〜＃９は、ＥＩ［０］〜ＥＩ［８］に順に格納される。その結果、ＨＥＡＤ［０］には、ＥＩ［０］が設定される。ＴＡＩＬ［０］、ＨＥＡＤ［１］、ＴＡＩＬ［１］、ＨＥＡＤ［２］、ＴＡＩＬ［２］には、記憶装置１００ｉのＥＩ［８］まで使用済みであることを示すＥＩ［９］が設定される。
【００８３】
以下に、記憶装置１００ｉに新たに重要度ｉ＝０の故障情報＃１０を格納する処理を順に説明する。
【００８４】
（Ｆ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００８５】
（Ｆ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｉにおいてＴＡＩＬ［０］にはＥＩ［９］が設定されている。ＥＩ［９］がＥＩ［８］より要素番号が大きい記憶領域であるため、処理部２１０は、ＴＡＩＬ［ｉ］側にこれ以上故障情報を格納できないと判定する。
【００８６】
（Ｆ３）処理部２１０は、ＨＥＡＤ［ｉ］側に故障情報を追加する処理を開始する。
【００８７】
（Ｆ４）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｉにおいて、ＨＥＡＤ［ｉ］にＥＩ［０］が設定されているため、処理部２１０は、ＨＥＡＤ［ｉ］側にも故障情報を格納できないと判定する。
【００８８】
（Ｆ１）〜（Ｆ４）の結果、重要度ｉの新しい故障情報＃１０が検出されたとしても、最も重要度の高い重要度ｉ＝０の故障情報で記憶装置１００が一杯である場合、新しい故障情報は記憶されない。複数の故障情報が記憶装置１００に書き込まれる場合、古い故障情報のほうが、故障原因と関係性が高いことが多いため、本実施形態では、古い故障情報を優先して残す処理をしている。
【００８９】
次に、記憶装置１００ｉに新たに重要度ｉ＝１の故障情報＃１を格納する処理を順に説明する。
【００９０】
（Ｇ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【００９１】
（Ｇ２）処理部２１０は、重要度ｉ＋１の故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｉにおいてＴＡＩＬ［１］にはＥＩ［９］が設定されている。ＥＩ［９］がＥＩ［８］より要素番号が大きい記憶領域であるため、処理部２１０は、ＴＡＩＬ［ｉ］側にこれ以上故障情報を格納できないと判定する。
【００９２】
（Ｇ３）処理部２１０は、ＨＥＡＤ［ｉ］側に故障情報を追加する処理を開始する。
【００９３】
（Ｇ４）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｉにおいて、ＨＥＡＤ［ｉ］にＥＩ［９］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［８］の記憶領域側に未だ故障情報を格納する領域があるとし、ＨＥＡＤ［ｉ−１］側に故障情報を格納する処理を継続する。
【００９４】
（Ｇ５）処理部２１０は、重要度ｉが最も高い重要度であるかを判定する。処理部２１０は、重要度ｉが最も高い重要度でないと判定する。
【００９５】
（Ｇ６）処理部２１０は、ＨＥＡＤ［ｉ］とＴＡＩＬ［ｉ−１］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｉにおいて、ＨＥＡＤ［１］とＴＡＩＬ［０］のどちらにもＥＩ［９］が設定されているため、ＴＡＩＬ［ｉ−１］に設定されている記憶領域ＥＩまで故障情報が格納されていると判定できる。
【００９６】
（Ｇ７）処理部２１０は、重要度ｉよりも重要度が１つ上の重要度ｉ−１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【００９７】
（Ｇ７．１）処理部２１０は、ＨＥＡＤ［ｉ−１］に設定されている記憶領域ＥＩの要素番号が０であるかを判定する。処理部２１０は、ＨＥＡＤ［ｉ−１］にＥＩ［０］が設定されている場合、ＨＥＡＤ［ｉ−１］側に故障情報を格納できないと判定する。
【００９８】
（Ｇ１）〜（Ｆ７）の結果、重要度ｉ＋１の新しい故障情報＃１が検出されたとしても、最も重要度の高い重要度ｉ＝０の故障情報で記憶装置１００が一杯である場合、新しい故障情報は記憶されない。本実施形態の記憶装置１００では、重要度が最も高い故障情報が優先して記憶され残される。
【００９９】
図８は、新規故障情報を記憶装置に格納する格納方法の例（その７）を説明する図である。図８の記憶装置１００ｊは、記憶装置１００の状態から、重要度ｉ＝２の故障情報＃１〜＃３を格納した後の状態である。重要度ｉ＝２の故障情報＃１〜＃３は、ＥＩ［６］〜ＥＩ［８］に順に格納される。なお、重要度ｉ＝０の故障情報は何も格納されていないため、ＨＥＡＤ［０］とＴＡＩＬ［０］には、ＥＩ［０］が設定される。重要度ｉ＝１の故障情報は何も格納されていないため、ＨＥＡＤ［１］とＴＡＩＬ［１］には、ＥＩ［３］が設定される。重要度ｉ＝２の故障情報＃１〜＃３が格納されているため、ＨＥＡＤ［２］にはＥＩ［６］、ＴＡＩＬ［２］にはＥＩ［８］まで使用済みであることを示すＥＩ［９］が設定される。
【０１００】
記憶装置１００ｋは、記憶装置１００ｊの状態から新たに重要度ｉ＝２の故障情報＃４を格納した後の例である。以下に、記憶装置１００ｊの状態から新たに重要度ｉ＝２の故障情報＃４を格納する処理を順に説明する。
【０１０１】
（Ｈ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【０１０２】
（Ｈ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｊにおいてＴＡＩＬ［２］にはＥＩ［９］が設定されている。ＥＩ［９］がＥＩ［８］より要素番号が大きい記憶領域であるため、処理部２１０は、ＴＡＩＬ［ｉ］側にこれ以上故障情報を格納できないと判定する。
【０１０３】
（Ｈ３）処理部２１０は、ＨＥＡＤ［ｉ］側に故障情報を追加する処理を開始する。
【０１０４】
（Ｈ４）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｊにおいて、ＨＥＡＤ［ｉ］にＥＩ［６］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［５］の記憶領域側に未だ故障情報を格納する領域があるとし、処理を継続する。
【０１０５】
（Ｈ５）処理部２１０は、重要度ｉが最も高い重要度であるかを判定する。処理部２１０は、重要度ｉが最も高い重要度でないと判定する。
【０１０６】
（Ｈ６）処理部２１０は、ＨＥＡＤ［ｉ］とＴＡＩＬ［ｉ―１］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｊにおいて、ＨＥＡＤ［２］にはＥＩ［６］、ＴＡＩＬ［１］にはＥＩ［３］が設定されている。そのため、処理部２１０は、ＥＩ［３］〜ＥＩ［５］に空き領域があると判定できる。
【０１０７】
（Ｈ７）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩを示す要素番号から１を減算した要素番号が示す記憶領域ＥＩに、新しい故障情報を格納する。記憶装置１００ｋに示すように、処理部２１０は、ＨＥＡＤ［２］に設定されているＥＩ［６］の１つ前の記憶領域であるＥＩ［５］に、検出した重要度ｉ＝２の故障情報＃４を格納する。
【０１０８】
（Ｈ８）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を減算する。記憶装置１００ｋでは、ＨＥＡＤ［ｉ］にはＥＩ［５］が設定される。
【０１０９】
このように、記憶装置１００内に空きがある場合には重要度が低い故障情報であっても、該故障情報は削除されずに格納される。
【０１１０】
図９は、新規故障情報を記憶装置に格納する格納方法の例（その８）を説明する図である。記憶装置１００ｍは、記憶装置１００の状態から、重要度ｉ＝２の故障情報＃１〜＃６を格納した後の状態である。重要度ｉ＝２の故障情報＃１〜＃３は、ＥＩ［６］〜ＥＩ［８］に順に格納される。次に、重要度ｉ＝２の故障情報＃４〜＃６は、ＥＩ［５］〜ＥＩ［３］に順に格納される。なお、重要度ｉ＝０の故障情報は何も格納されていないため、ＨＥＡＤ［０］とＴＡＩＬ［０］には、ＥＩ［０］が設定される。重要度ｉ＝１の故障情報は何も格納されていないため、ＨＥＡＤ［１］とＴＡＩＬ［１］には、ＥＩ［３］が設定される。重要度ｉ＝２の故障情報＃１〜＃６が格納されているため、ＨＥＡＤ［２］にはＥＩ［３］、ＴＡＩＬ［２］にはＥＩ［８］まで使用済みであることを示すＥＩ［９］が設定される。
【０１１１】
記憶装置１００ｎは、記憶装置１００ｍの状態から、新たに重要度ｉ＝２の故障情報＃７を格納した後の例である。以下に、記憶装置１００ｍの状態から、新たに重要度ｉ＝２の故障情報＃７を格納する処理を順に説明する。
【０１１２】
（Ｉ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【０１１３】
（Ｉ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｍにおいてＴＡＩＬ［２］にはＥＩ［９］が設定されている。ＥＩ［９］がＥＩ［８］より要素番号が大きい記憶領域であるため、処理部２１０は、ＴＡＩＬ［ｉ］側にこれ以上故障情報を格納できないと判定する。
【０１１４】
（Ｉ３）処理部２１０は、ＨＥＡＤ［ｉ］側に故障情報を追加する処理を開始する。
【０１１５】
（Ｉ４）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｍにおいて、ＨＥＡＤ［ｉ］にＥＩ［３］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［２］の記憶領域側に未だ故障情報を格納する領域があるとし、処理を継続する。
【０１１６】
（Ｉ５）処理部２１０は、重要度ｉが最も高い重要度であるかを判定する。処理部２１０は、重要度ｉが最も高い重要度でないと判定する。
【０１１７】
（Ｉ６）処理部２１０は、ＨＥＡＤ［ｉ］とＴＡＩＬ［ｉ―１］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｍにおいて、ＨＥＡＤ［２］とＴＡＩＬ［１］にはＥＩ［３］が設定されている。そのため、処理部２１０は、重要度ｉ＝１の故障情報を格納するために予め確保されていた記憶領域ＥＩに、空きがないと判定できる。
【０１１８】
（Ｉ７）処理部２１０は、重要度ｉよりも重要度が１つ上の重要度ｉ―１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【０１１９】
（Ｉ７．１）処理部２１０は、ＨＥＡＤ［ｉ―１］に設定されている記憶領域ＥＩの要素番号が０であるかを判定する。記憶装置１００ｍにおいて、ＨＥＡＤ［ｉ―１］にＥＩ［３］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［２］の記憶領域側に未だ故障情報を格納する領域があるとし、処理を継続する。
【０１２０】
（Ｉ７．２）処理部２１０は、ＨＥＡＤ［ｉ―１］とＴＡＩＬ［ｉ―１］とに同じ要素番号が設定されているかを確認する。記憶装置１００ｍにおけるＨＥＡＤ［ｉ―１］とＴＡＩＬ［ｉ―１］には、ＥＩ［３］が設定されている。そのため、処理部２１０は、重要度ｉ＋１の故障情報が何も格納されていないと判定できる。
【０１２１】
（Ｉ７．３）処理部２１０は、重要度ｉ―１の重要度が最も高い重要度であるかを判定する。併せて、処理部２１０は、ＨＥＡＤ［ｉ―１］とＴＡＩＬ［ｉ−２］とに同じ要素番号が設定されているかを判定する。処理部２１０は、重要度ｉ―１が最も高い重要度ではないと判定する。併せて、処理部２１０は、記憶装置１００ｍにおいてＨＥＡＤ［ｉ―１］にＥＩ［３］が設定されており、ＴＡＩＬ［ｉ−２］にはＥＩ［０］が設定されている。そのため、処理部２１０は、ＥＩ［０］〜ＥＩ［２］の記憶領域に空きがあると判定できる。
【０１２２】
（Ｉ７．４）処理部２１０は、ＴＡＩＬ［ｉ―１］とＨＥＡＤ［ｉ―１］に設定されている記憶領域ＥＩの要素番号に１を減算する。記憶装置１００ｎでは、ＴＡＩＬ［ｉ―１］にはＥＩ［２］、ＨＥＡＤ［ｉ―１］にはＥＩ［２］が設定される。
【０１２３】
（Ｉ８）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号から１を減算した要素番号が示す記憶領域ＥＩに、新しい重要度ｉの故障情報＃７を格納する。記憶装置１００ｎにおいて、処理部２１０は、ＨＥＡＤ［２］に設定されているＥＩ［３］から１を減算したＥＩ［２］に新しい重要度ｉの故障情報＃７を格納する。
【０１２４】
（Ｉ９）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を減算する。記憶装置１００ｎでは、ＨＥＡＤ［ｉ］にはＥＩ［２］が設定される。
【０１２５】
図１０は、新規故障情報を記憶装置に格納する格納方法の例（その９）を説明する図である。記憶装置１００ｐは、記憶装置１００の初期状態から、重要度ｉ＝０、１、２の故障情報を夫々３つずつ記憶した場合の記憶装置の例である。
【０１２６】
ＥＩ［０］〜ＥＩ［８］に何も故障情報を記憶していない記憶装置１００に、重要度ｉ＝２の故障情報＃１〜＃３が格納される場合、故障情報＃１〜＃３は、ＥＩ［６］〜ＥＩ［８］の連続した記憶領域に記憶される。また、ＥＩ［０］〜ＥＩ［５］の何れかに既に故障情報が格納されている場合でも、重要度ｉ＝２の故障情報＃１〜＃３は、ＥＩ［６］〜ＥＩ［８］の連続した記憶領域に記憶される。これは、記憶装置１００の重要度ｉ＝２のＨＥＡＤ［２］とＴＡＩＬ［２］に、ＥＩ［６］が設定されているためである。重要度ｉ＝２の故障情報＃１〜＃３を格納する場合、ＨＥＡＤ［２］に設定されているＥＩ［６］の記憶領域から順に故障情報が格納される。ＥＩ［８］まで重要度ｉ＝２の故障情報が格納されると、ＴＡＩＬ［２］には、記憶装置１００ａのＥＩ［８］まで使用したことを示すＥＩ［９］が設定される。
【０１２７】
重要度ｉ＝１の故障情報＃１〜＃３が格納される場合、故障情報＃１〜＃３は、ＥＩ［３］〜ＥＩ［５］の連続した記憶領域に記憶される。より具体的には、記憶装置１００の重要度ｉ＝１のＨＥＡＤ［１］にＥＩ［３］が設定されているため、故障情報はＥＩ［３］から順に格納される。ＥＩ［５］まで重要度ｉ＝１の故障情報が格納されると、ＴＡＩＬ［１］には、ＥＩ［６］が設定される。
【０１２８】
重要度ｉ＝０の故障情報＃１〜＃３が格納される場合、故障情報＃１〜＃３は、ＥＩ［０］〜ＥＩ［２］の連続した記憶領域に記憶される。より具体的には、記憶装置１００の重要度ｉ＝１のＨＥＡＤ［０］にＥＩ［０］が設定されているため、故障情報はＥＩ［０］から順に格納される。ＥＩ［２］まで重要度ｉ＝０の故障情報が格納されると、ＴＡＩＬ［０］には、ＥＩ［３］が設定される。
【０１２９】
このように、記憶装置１００には、各重要度ｉに対する故障情報が３つずつ格納できるようにするための領域が予め確保されている。そのため、処理部２１０は、各重要度ｉに対する故障情報が３つ検出されるまでは、故障情報をＴＡＩＬ［ｉ〜ｉ＋２］を指定して記憶装置１００に記憶させることができる。
【０１３０】
記憶装置１００ｒは、記憶装置１００ｐの状態から、新たに重要度ｉ＝０の故障情報＃４を格納した後の記憶装置の例である。記憶装置１００ｐの状態では、既にＥＩ［０］〜ＥＩ［８］の領域に故障情報が格納されている。そのため、新たに重要度ｉ＝０の故障情報＃４を記憶装置に記憶させるためには、何れかの故障情報を上書きしなければならない。以下に、記憶装置１００ｐの状態から新たに重要度ｉ＝０の故障情報＃４を格納する処理を順に説明する。
【０１３１】
（Ｊ１）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する。
【０１３２】
（Ｊ２）処理部２１０は、重要度ｉの故障情報を検出すると、ＴＡＩＬ［ｉ］の位置を確認する。記憶装置１００ｐにおいてＴＡＩＬ［０］にはＥＩ［３］が設定されている。ＥＩ［３］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【０１３３】
（Ｊ３）処理部２１０は、検出された重要度ｉの故障情報の重要度を判定する。記憶装置１００ｒでは、重要度ｉ＝０の故障情報＃４を格納するため、重要度が最も高い故障情報であると判定される。
【０１３４】
（Ｊ４）処理部２１０は、検出された重要度ｉの故障情報を次に格納する記憶領域ＥＩを示すＴＡＩＬ［ｉ］と、重要度ｉ＋１の故障情報の先頭の記憶領域ＥＩを示すＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ記憶領域ＥＩが設定されている場合、重要度ｉの故障情報のために予め確保された記憶領域が一杯であることを表す。記憶装置１００ｐでは、ＴＡＩＬ［０］とＨＥＡＤ［１］にＥＩ［３］が設定されている。
【０１３５】
（Ｊ５）処理部２１０は、重要度ｉよりも重要度が１つ低い重要度ｉ＋１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【０１３６】
（Ｊ６）処理部２１０は、重要度ｉから重要度が１つ下がった重要度ｉ＋１のＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｐでは、ＨＥＡＤ［１］にはＥＩ［３］が設定されており、ＴＡＩＬ［１］にはＥＩ［６］が設定されている。処理部２１０は、ＨＥＡＤ［１］とＴＡＩＬ［１］に設定されている記憶領域ＥＩの要素番号により、ＥＩ［３］〜ＥＩ［５］には重要度ｉ＋１の故障情報が格納されていると判定する。
【０１３７】
（Ｊ７）処理部２１０は、ＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩに重要度ｉ＋１の故障情報を移動させる処理を開始する。
【０１３８】
（Ｊ７．１）処理部２１０は、ＴＡＩＬ［ｉ＋１］の位置を確認する。記憶装置１００ｐにおいてＴＡＩＬ［１］にはＥＩ［６］が設定されている。ＥＩ［４］は、ＥＩ［８］より要素番号が大きい記憶領域ではないため、故障情報を格納可能である。
【０１３９】
（Ｊ７．２）処理部２１０は、重要度ｉ＋１の重要度を判定する。処理部２１０は、重要度ｉ＋１は、最も低い重要度ではないと判定する。
【０１４０】
（Ｊ７．３）処理部２１０は、ＴＡＩＬ［ｉ＋１］とＨＥＡＤ［ｉ＋２］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｐでは、ＴＡＩＬ［１］とＨＥＡＤ［２］とにＥＩ［６］が設定されている。そのため、重要度ｉ＋１の故障情報を格納するために確保された記憶領域が既に一杯であると判定できる。
【０１４１】
（Ｊ８）処理部２１０は、重要度ｉ＋１よりも重要度が１つ低い重要度ｉ＋２の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【０１４２】
（Ｊ９）処理部２１０は、重要度ｉ＋１から重要度が１つ下がった重要度ｉ＋２のＨＥＡＤ［ｉ＋２］とＴＡＩＬ［ｉ＋２］の位置を確認する。記憶装置１００ｐでは、ＨＥＡＤ［３］にはＥＩ［６］が設定されており、ＴＡＩＬ［２］にはＥＩ［９］が設定されている。処理部２１０は、ＨＥＡＤ［２］とＴＡＩＬ［２］に設定されている記憶領域ＥＩの要素番号により、ＥＩ［６］〜ＥＩ［８］には重要度ｉ＋２の故障情報が格納されていると判定する。
【０１４３】
（Ｊ１０）処理部２１０は、ＴＡＩＬ［ｉ＋２］に設定されている記憶領域ＥＩに重要度ｉ＋２の故障情報を移動させる処理を開始する。
【０１４４】
（Ｊ１０．１）処理部２１０は、ＴＡＩＬ［ｉ＋２］の位置を確認する。記憶装置１００ｐにおいてＴＡＩＬ［２］にはＥＩ［９］が設定されている。ＥＩ［９］がＥＩ［８］より要素番号が大きい記憶領域であるため、処理部２１０は、ＴＡＩＬ［ｉ＋２］側にこれ以上故障情報を格納できないと判定する。
【０１４５】
（Ｊ１１）処理部２１０は、ＨＥＡＤ［ｉ＋２］側に重要度ｉ＋２の故障情報を移動させる処理を開始する。
【０１４６】
（Ｊ１２）処理部２１０は、処理部２１０は、ＨＥＡＤ［ｉ＋２］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｐにおいて、ＨＥＡＤ［ｉ＋２］にＥＩ［６］が設定されているため、ＥＩ［０］〜ＥＩ［５］の記憶領域側に未だ故障情報を格納する領域があるとし、処理部２１０は、ＨＥＡＤ［ｉ］側に故障情報を格納する処理を継続する。
【０１４７】
（Ｊ１３）処理部２１０は、重要度ｉ＋２が最も高い重要度であるかを判定する。処理部２１０は、重要度ｉ＋２が最も高い重要度でないと判定する。
【０１４８】
（Ｊ１４）処理部２１０は、ＨＥＡＤ［ｉ＋２］とＴＡＩＬ［ｉ＋１］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｐにおいて、ＨＥＡＤ［２］とＴＡＩＬ［１］のどちらにもＥＩ［６］が設定されている。処理部２１０は、ＴＡＩＬ［１］に設定されているＥＩ［６］まで故障情報が既に格納されていると判定できる。
【０１４９】
（Ｊ１５）処理部２１０は、重要度ｉ＋２よりも重要度が１つ上の重要度ｉ＋１の記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【０１５０】
（Ｊ１６）処理部２１０は、ＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号が０であるかを判定する。記憶装置１００ｐにおいて、ＨＥＡＤ［ｉ＋１］ににＥＩ［３］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［２］の記憶領域側に未だ故障情報を格納する領域があるとし、処理を継続する。
【０１５１】
（Ｊ１７）処理部２１０は、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］とに同じ要素番号が設定されているかを確認する。記憶装置１００ｐでは、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ＋１］とは異なる要素番号が設定されているため、重要度ｉ＋１の故障情報を格納するために確保された記憶領域は既に一杯であると判定される。
【０１５２】
（Ｊ１８）処理部２１０は、ＨＥＡＤ［ｉ＋１］側に重要度ｉ＋１の故障情報を移動させる処理を開始する。
【０１５３】
（Ｊ１８．１）処理部２１０は、ＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号がＥＩ［０］であるかを判定する。記憶装置１００ｐにおいて、ＨＥＡＤ［ｉ＋１］にＥＩ［３］が設定されているため、処理部２１０は、ＥＩ［０］〜ＥＩ［２］の記憶領域側に未だ故障情報を格納する領域があるとし、ＨＥＡＤ［ｉ］側に故障情報を格納する処理を継続する。
【０１５４】
（Ｊ１８．２）処理部２１０は、重要度ｉ＋１が最も高い重要度であるかを判定する。処理部２１０は、重要度ｉ＋１が最も高い重要度でないと判定する。
【０１５５】
（Ｊ１８．３）処理部２１０は、ＨＥＡＤ［ｉ＋１］とＴＡＩＬ［ｉ］とに同じ要素番号が設定されているかを判定する。記憶装置１００ｐにおいて、ＨＥＡＤ［１］とＴＡＩＬ［０］のどちらにもＥＩ［３］が設定されているため、処理部２１０は、重要度ｉの故障情報がＥＩ［３］まで格納されていると判定できる。
【０１５６】
（Ｊ１９）処理部２１０は、重要度ｉ＋１よりも重要度が１つ上の重要度ｉの記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する。
【０１５７】
（Ｊ２０）処理部２１０は、ＨＥＡＤ［ｉ］に設定されている記憶領域ＥＩの要素番号が０であるかを判定する。処理部２１０は、ＨＥＡＤ［ｉ］にＥＩ［０］が設定されている場合、ＨＥＡＤ［ｉ］側に故障情報を格納できないと判定する。
【０１５８】
（Ｊ２１）処理部２１０は、ＨＥＡＤ［ｉ＋２］に設定されている記憶領域ＥＩの要素番号に１を加算する。その結果、記憶装置１００ｒのように、ＨＥＡＤ［ｉ＋２］にＥＩ［７］が設定される。
【０１５９】
（Ｊ２２）処理部２１０は、重要度ｉ＋１のＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩに格納されている故障情報をＴＡＩＬ［ｉ＋１］に移動させる。記憶装置１００ｐでは、ＥＩ［３］に記憶されている重要度ｉ＝１の故障情報＃１が、ＥＩ［６］に書き込む。ＥＩ［６］に格納されている重要度ｉ＝０の故障情報＃１は、上書きされる。
【０１６０】
（Ｊ２３）処理部２１０は、ＴＡＩＬ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｒでは、ＴＡＩＬ［ｉ＋１］にＥＩ［７］が設定される。
【０１６１】
（Ｊ２４）処理部２１０は、ＨＥＡＤ［ｉ＋１］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｒでは、ＨＥＡＤ［ｉ＋１］にＥＩ［４］が設定される。
【０１６２】
（Ｊ２５）処理部２１０は、検出された重要度ｉの故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する。記憶装置１００ｒでは、ＥＩ［３］に新しい重要度ｉ＝０の故障情報＃４が格納される。
【０１６３】
（Ｊ２６）処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩの要素番号に１を加算する。記憶装置１００ｒでは、ＴＡＩＬ［ｉ］にＥＩ［４］が設定される。
【０１６４】
重要度ｉよりも重要度が１つ低いＨＥＡＤ［ｉ＋１］（ＥＩ［３］）に格納済みの重要度ｉ＝１の故障情報＃１をＴＡＩＬ［ｉ＋１］（ＥＩ［６］）に書き込むことで、ＥＩ［３］の記憶領域は空になる。そして、最も重要度が低い重要度ｉ＋２の故障情報は上書きされる。これにより、重要度が高い故障情報は優先的に記憶装置１００に記憶され、重要度が低い故障情報は上書きされてゆく。これにより、重要度が高い故障情報を残すために、記憶装置１００を効率よく使用することができる。
【０１６５】
図１１は、ＴＡＩＬ側への故障情報の格納方法（その１）の例を説明するフローチャートである。処理部２１０は、ＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに新しい故障情報を格納する処理を開始する（ステップＳ１００）。重要度ｉの故障情報が検出された場合、処理部２１０は、ＴＡＩＬ［ｉ］に設定されている要素番号がＭ−１よりも大きいかを判定する（ステップＳ１０１）。ここで、Ｍは、記憶領域の数である。具体的には、ＥＩ［０］〜ＥＩ［８］の９個が、Ｍで示す記憶領域の数である。ＴＡＩＬ［ｉ］に設定されている要素番号がＭ−１よりも大きい場合（ステップＳ１０１でＹＥＳ）、ＨＥＡＤ側に故障情報を格納する処理を実行する（図１２で後述するステップＳ２００から開始される処理）。図１２で後述する処理が終了すると、処理部２１０は、故障情報の記憶装置１００への格納処理を終了する。
【０１６６】
処理部２１０は、検出された故障情報の重要度ｉがＮ−１よりも大きいかを判定する（ステップＳ１０２）。ここで、Ｎは、重要度の数を示す。本実施形態では、重要度の数Ｎは３個である。検出された故障情報の重要度ｉがＮ−１よりも小さい場合（最も低い重要度でない場合）、処理部２１０は、ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されているかを判定する（ステップＳ１０３）。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されている場合（ステップＳ１０３でＹＥＳ）、処理部２１０は、重要度ｉ＋１に関する故障情報の格納方法処理（図１３で後述するステップＳ３００から開始される処理）を実行する。ＴＡＩＬ［ｉ］とＨＥＡＤ［ｉ＋１］とに同じ要素番号が設定されていない場合（ステップＳ１０３でＮＯ）、処理部２１０は、故障情報をＴＡＩＬ［ｉ］に設定されている記憶領域ＥＩに格納する（ステップＳ１０４）。なお、ステップＳ１０４は、図１３の処理の後、ステップＳ１０２でＹＥＳの場合にも実行される。処理部２１０は、ＴＡＩＬ［ｉ］に設定されている要素番号に１を加算した要素番号を設定する（ステップＳ１０５）。ステップＳ１０５の処理が終了すると、処理部２１０は、故障情報を格納する処理を終了する。
【０１６７】
図１２は、ＨＥＡＤ側への故障情報の格納方法（その１）の例を説明するフローチャートである。図１２において、重要度ｊは重要度ｉ〜重要度ｉ＋２の何れかである。ここで、重要度ｊは、図１１のステップＳ１０１の重要度、又は、後述する図１４のステップＳ４０３の重要度が代入される。処理部２１０は、ＨＥＡＤ［ｊ］側に故障情報を追加する処理を開始する（ステップＳ２００）。
処理部２１０は、ＨＥＡＤ［ｊ］にＥＩ［０］が設定されているかを判定する（ステップＳ２０１）。ＨＥＡＤ［ｊ］にＥＩ［０］が設定されている場合（ステップＳ２０１でＹＥＳ）、処理部２１０は、空きの記憶領域ＥＩがないと判定し、新しい故障情報の格納ができないことを示す「ＦＡＩＬ」と判定する（ステップＳ２０８）。ＨＥＡＤ［ｊ］にＥＩ［０］が設定されていない場合（ステップＳ２０１でＮＯ）、処理部２１０は、重要度ｊが最も高い重要度であるかを判定する（ステップＳ２０２）。重要度ｊが最も高い重要度でない場合（ステップＳ２０２でＮＯ）、処理部２１０は、ＨＥＡＤ［ｊ］とＴＡＩＬ［ｊ−１］に同じ要素番号が設定されているかを判定する（ステップＳ２０３）。ＨＥＡＤ［ｊ］とＴＡＩＬ［ｊ−１］に同じ要素番号が設定されていない場合（ステップＳ２０３でＮＯ）、処理部２１０は、ＨＥＡＤ［ｊ］の１つ前の記憶領域ＥＩに故障情報を格納する（ステップＳ２０５）。重要度ｊが最も高い重要度である場合（ステップＳ２０２でＹＥＳ）、処理部２１０は、ステップＳ２０５を実行する。処理部２１０は、ＨＥＡＤ［ｊ］に設定されている要素番号に１を減算する（ステップＳ２０６）。ステップＳ２０６が終了すると、処理部２１０は、故障情報の格納が成功したことを示す「ＳＵＣＥＳＳ」とする（ステップＳ２０７）。
【０１６８】
ＨＥＡＤ［ｊ］とＴＡＩＬ［ｊ−１］に同じ要素番号が設定されている場合（ステップＳ２０３でＹＥＳ）、処理部２１０は、ＨＥＡＤ側への故障情報の格納処理（その２）を実行する（図１４で後述するステップＳ４００から開始される処理）。処理部２１０は、図１４の処理の結果として「ＳＵＣＣＥＳＳ」と判定されたかを判定する（ステップＳ２０４）。「ＳＵＣＣＥＳＳ」と判定されている場合（ステップＳ２０４でＹＥＳ）、ステップＳ２０５の処理が実行される。新しい故障情報の格納ができなかった場合、処理部２１０は、ステップＳ２０８のように故障情報に失敗したことを示す「ＦＡＩＬ」と判定する。
【０１６９】
図１３は、ＴＡＩＬ側への故障情報の格納方法（その２）の例を説明するフローチャートである。図１３において、重要度ｐは重要度ｉ〜重要度ｉ＋２の何れかである。ここで、重要度ｐは、図１１のステップＳ１０３の重要度i＋１、又は、後述する図１３のステップＳ３０６の重要度が代入される。処理部２１０は、重要度ｐの記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する（ステップＳ３００）。処理部２１０は、ＨＥＡＤ［ｐ］に設定されている要素番号がＭ−１よりも大きいかを判定する（ステップＳ３０１）。ＨＥＡＤ［ｐ］に設定されている要素番号がＭ−１よりも大きい場合（ステップＳ３０１でＹＥＳ）、処理部２１０は、処理をステップＳ１０４に移す（ステップＳ３０８）。ＨＥＡＤ［ｐ］に設定されている要素番号がＭ−１よりも小さい場合（ステップＳ３０１でＮＯ）、処理部２１０は、ＨＥＡＤ［ｐ］とＴＡＩＬ［ｐ］とに同じ要素番号が設定されているかを判定する（ステップＳ３０２）。ＨＥＡＤ［ｐ］とＴＡＩＬ［ｐ］とに同じ要素番号が設定されていない場合（ステップＳ３０２でＮＯ）、処理部２１０は、ＨＥＡＤ［ｐ］に格納されている故障情報をＴＡＩＬ［ｐ］に書き込む（ステップＳ３０３）。処理部２１０は、ＨＥＡＤ［ｐ］に設定されている要素番号に１を加算する（ステップＳ３０４）。
【０１７０】
ＨＥＡＤ［ｐ］とＴＡＩＬ［ｐ］に同じ要素番号が設定されている場合（ステップＳ３０２でＹＥＳ）、処理部２１０は、重要度ｐがＮ−１よりも小さく、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ＋１］に同じ要素番号が設定されているかを判定する（ステップＳ３０５）。重要度ｐがＮ−１よりも小さい、且つ、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ＋１］に同じ要素番号が設定されている場合（ステップＳ３０５でＹＥＳ）、処理部２１０は、重要度ｐ＋１についてステップＳ３０１から処理を繰り返す（ステップＳ３０６）。ステップＳ３０６の処理の後、処理部２１０は、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ］に設定されている要素番号に１を加算する（ステップＳ３０７）。ステップＳ３０７の処理は、重要度ｐがＮ−１よりも大きい、又は、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ＋１］に同じ要素番号が設定されていない場合に実行される。ステップＳ３０４又はステップＳ３０７が終了すると、処理部２１０は、処理をステップＳ１０４に移す（ステップＳ３０８）。
【０１７１】
図１４は、ＨＥＡＤ側への故障情報の格納方法（その２）の例を説明するフローチャートである。図１４において、重要度ｐは重要度ｉ〜重要度ｉ＋２の何れかである。ここで、重要度ｐは、図１２のステップＳ２０３の重要度ｊ−１、又は、後述する図１４のステップＳ４０７の重要度が代入される。
処理部２１０は、重要度ｐの記憶領域に関するＨＥＡＤやＴＡＩＬの確認処理を開始する（ステップＳ４００）。処理部２１０は、ＨＥＡＤ［ｐ］にＥＩ［０］が設定されているかを判定する（ステップＳ４０１）。ＨＥＡＤ［ｐ］にＥＩ［０］が設定されている場合（ステップＳ４０１でＹＥＳ）、処理部２１０は、新しい故障情報の格納できないと判定する（ステップＳ４１１）。ＨＥＡＤ［ｐ］にＥＩ［０］が設定されていない場合（ステップＳ４０１でＮＯ）、処理部２１０は、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ］とに同じ要素番号が設定されているかを判定する（ステップＳ４０２）。ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ］とに同じ要素番号が設定されていない場合（ステップＳ４０２でＮＯ）、処理部２１０は、ステップＳ２０１〜２０８の処理を実行する（ステップＳ４０３）。処理部２１０は、ＨＥＡＤ［ｐ］側への故障情報の書き込みに成功したかを判定する（ステップＳ４０４）。ＨＥＡＤ［ｐ］側への故障情報の書き込みに失敗した場合、新しい故障情報の格納できない「ＦＡＩＬ」と判定される（ステップＳ４１１）。ＨＥＡＤ［ｐ］側への故障情報の書き込みが成功している場合（ステップＳ４０４でＹＥＳ）、処理部２１０は、ＴＡＩＬ［ｐ］に設定されている要素番号に１を減算する（ステップＳ４０５）。処理部２１０は、故障情報の書き込みに成功したことを示す「ＳＵＣＣＥＳＳ」となる（ステップＳ４１０）。
【０１７２】
ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ］とに同じ要素番号が設定されている場合（ステップＳ４０２でＹＥＳ）、処理部２１０は、重要度ｐ＝２で、且つ、ＨＥＡＤ［ｐ］とＴＡＩＬ［ｐ−１］とに同じ要素番号が設定されているかを判定する（ステップＳ４０６）。重要度ｐ＝２で、且つ、ＨＥＡＤ［ｐ］とＴＡＩＬ［ｐ−１］とに同じ要素番号が設定されている場合（ステップＳ４０６でＹＥＳ）、処理部２１０は、重要度ｐ−１に関してステップＳ４０１から処理を実行する（ステップＳ４０７）。処理部２１０は、ステップＳ４０７の結果、故障情報の書き込みに成功したかを判定する（ステップＳ４０８）。故障情報の書き込みに成功している場合（ステップＳ４０８でＹＥＳ）、処理部２１０は、ＴＡＩＬ［ｐ］とＨＥＡＤ［ｐ］に設定されている要素番号に１を減算する（ステップＳ４０９）。ステップＳ４０９が終了すると、処理部２１０は、故障情報の書き込みに成功したことを示す「ＳＵＣＣＥＳＳ」となる（ステップＳ４１０）。ステップＳ４０７の結果故障情報の書き込みに失敗している場合、処理部２１０は、新しい故障情報の書き込みができないことを示す「ＦＡＩＬ」となる（ステップＳ４１１）。
【０１７３】
重要度ｉよりも重要度が１つ低いＨＥＡＤ［ｉ＋１］（ＥＩ［３］）に格納済みの重要度ｉ＝１の故障情報＃１をＴＡＩＬ［ｉ＋１］（ＥＩ［６］）に書き込むことで、ＥＩ［３］の記憶領域は空になる。そして、最も重要度が低い重要度ｉ＋２の故障情報は上書きされる。これにより、重要度が高い故障情報は優先的に記憶装置１００に記憶され、重要度が低い故障情報は上書きされてゆく。これにより、重要度が高い故障情報を残すために、記憶装置１００を効率よく使用することができる。
【符号の説明】
【０１７４】
１００  記憶装置
２００  情報処理装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＳＲＡＭ
２０４  ＳＤＲＡＭ
２０５  ＭＡＣ
２０６  ＳＶＰ
２０７  Ｄｉｓｋコントローラ
２０８  Ｄｉｓｋ
２０９  ＮＩＣ
【図１】
0006578982.tif 000002
【図２】
0006578982.tif 000003
【図３】
0006578982.tif 000004
【図４】
0006578982.tif 000005
【図５】
0006578982.tif 000006
【図６】
0006578982.tif 000007
【図７】
0006578982.tif 000008
【図８】
0006578982.tif 000009
【図９】
0006578982.tif 000010
【図１０】
0006578982.tif 000011
【図１１】
0006578982.tif 000012
【図１２】
0006578982.tif 000013
【図１３】
0006578982.tif 000014
【図１４】
0006578982.tif 000015