(57)【要約】      （修正有）【課題】簡易な仕組みによりエラー情報の圧縮および登録を高速に行なう。【解決手段】エラーデータ取得部１１がエラー収集対象ハードウェアからエラーレコードを取得すると取得したエラーレコードを圧縮処理部１２に渡し、このエラーレコードを受け取った圧縮処理部１２は、記憶部２０に記憶させておいた比較基準エラーデータ２１と、かかるエラーレコードとの差分をとることによりエラーレコードを圧縮し、圧縮後のエラーレコードのサイズが圧縮前のエラーレコードのサイズよりも大きい場合には、比較基準エラーデータを圧縮前のエラーレコードで置換したうえで圧縮前のエラーレコードを不揮発性メモリに登録し、それ以外の場合には、圧縮後のエラーレコードを不揮発性メモリに登録する。【選択図】図５
2006201969.tif 000002
【特許請求の範囲】
【請求項１】
取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮装置であって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを記憶する記憶手段と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手段と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手段と
を備えたことを特徴とするエラー情報圧縮装置。
【請求項２】
前記圧縮手段は、前記新規エラーデータと前記比較基準エラーデータとの所定単位ごとの差分をとり、差分値が０である該所定単位が連続した場合に、該当する所定単位を、０が連続する個数を含んだデータに置換することを特徴とする請求項１に記載のエラー情報圧縮装置。
【請求項３】
前記圧縮手段は、圧縮処理後の前記新規エラーデータのサイズが、圧縮処理前の前記新規エラーデータのサイズよりも大きくなった場合に、前記比較基準エラーデータを圧縮処理前の前記新規エラーデータで置換することを特徴とする請求項１または２に記載のエラー情報圧縮装置。
【請求項４】
取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮方法であって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶工程と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮工程と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録工程と
を含んだことを特徴とするエラー情報圧縮方法。
【請求項５】
取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮プログラムであって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶手順と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手順と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手順と
をコンピュータに実行させることを特徴とするエラー情報圧縮プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラムに関し、特に、簡易な仕組みによりエラー情報の圧縮および登録を高速におこなうことができるエラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラムに関する。
【背景技術】
【０００２】
従来、サーバ装置を構成するプロセッサやメモリなどのハードウェアエラーを収集して記憶装置に記録するエラー情報収集ファームウェア（以下、単に「ファームウェア」と言う）が知られている。このファームウェアは、オペレーティングシステムを介すことなくハードウェアエラーを記録することができるので、サーバ装置の起動時のようにオペレーティングシステムが未だ起動していない状態であっても、発生したハードウェアエラーを記録することが可能である。
【０００３】
なお、特許文献１には既に取得したデータと、新規に取得したデータとを対比することにより重複データの取得を防止することができる通信端末装置が開示されている。
【０００４】
【特許文献１】特開平１０−２３２８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ハードウェアエラーを記録するための記憶装置には、事後的なエラー解析をおこなうために不揮発性メモリを用いることが通常であり、記憶装置の容量には制限があることが通常である。したがって、従来のエラー情報収集ファームウェアを用いた場合には、多数のハードウェアエラーが発生した際に、記録容量の制限から収集したハードウェアエラーを記録することができない場合があるという問題があった。
【０００６】
このため、エラー情報収集ファームウェアが取得したエラーデータをオペレーティングシステム上で動作するアプリケーションプログラムに渡して圧縮し、圧縮したエラーデータを記憶装置に記録することも考えられる。しかし、オペレーティングシステムを介して圧縮処理をおこなうと処理が重くなるのでエラーデータの収集を円滑におこなうことができない恐れがある。また、サーバ装置の起動時のようにオペレーティングシステムが未だ起動していない状態では、かかる圧縮処理自体をおこなうことができない。
【０００７】
また、特許文献１に開示されている技術は、オペレーティングシステム上で動作するアプリケーションに関するものであり、オペレーティングシステムの起動前にもおこなう必要のあるエラー情報収集処理に用いることはできない。たとえ、特許文献１に開示されている技術を応用したとしても、ハードウェアエラー収集ファームウェアが使用可能なリソースには制限があるため、特許文献１に開示されている技術のような複雑なデータ処理をおこなうことは困難である。
【０００８】
本発明は、上記に鑑みてなされたものであって、簡易な仕組みによりエラー情報の圧縮および登録を高速におこなうことができるエラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮装置であって、新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを記憶する記憶手段と、前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手段と圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手段とを備えたことを特徴とする。
【００１０】
また、本発明は、取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮方法であって、新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶工程と、前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮工程と圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録工程とを含んだことを特徴とする。
【００１１】
また、本発明は、取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮プログラムであって、新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶手順と、前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手順と圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを記憶し、新規エラーデータと比較基準エラーデータとを比較することにより該新規エラーデータを圧縮し、圧縮後の新規エラーデータを記憶装置に記憶させるよう構成したので、簡易な仕組みによりエラー情報の圧縮および登録を高速におこなうことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に添付図面を参照して、本発明に係るエラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラムの好適な実施の形態を詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１４】
図１は、本発明にかかるエラー情報圧縮処理の概念を示す図である。同図に示すファームウェアは、サーバ装置などのＲＯＭ（Read Only Memory）にあらかじめ記憶されているプログラムであり、サーバ装置が起動するとＣＰＵ（Central Processing Unit）にロードされサーバ装置を構成する各種ハードウェアのエラーチェックをおこなって取得したエラーデータを記録する。そして、記録されたエラーデータは、障害発生箇所の特定などに用いられることになる。
【００１５】
従来のファームウェアは、ハードウェアエラーデータを取得するとＲＡＭ（Random Access Memory）などのバッファ上で検出したエラーデータの書式を整えてエラー情報を生成し、生成したエラー情報をＮＶＲＡＭ（Non Volatile Random Access Memory）などの不揮発性メモリに順次書き込んでいた。
【００１６】
このように、従来のファームウェアでは、ハードウェアエラーデータを取得すると取得したデータを圧縮することなくＮＶＲＡＭに書き込む処理をおこなっていた。しかし、近年のサーバ装置は、多数のＣＰＵや、多数のメモリを備えることも多く、いったん障害が発生するとファームウェアが取得するエラーデータも多数となる傾向がある。一方で、エラーデータの記録先であるＮＶＲＡＭの容量には制限があることが通常であるため、ファームウェアが多数のエラーデータを取得した場合には、すべてのデータを記録することができずに、障害原因の特定に支障をきたすという問題があった。
【００１７】
かかる問題の背景には、ファームウェアが使用することができるメモリなどのリソースが制限される点がある。すなわち、ファームウェアは、サーバ装置が本来おこなうべき業務処理などのバックグラウンドで動作するプログラムであるため、サーバ装置のリソースをできるだけ消費せず、かつ、処理が軽いことが求められる。このように、ファームウェアの動作には制限があるので、かかる制限の範囲内で効率的にエラーデータの記録処理をおこなう必要がある。
【００１８】
ところで、一般的に、データの記録先の容量に制限がある場合には、個々のデータサイズを小さくすればよいことから、種々の圧縮アルゴリズムが用いられることが多い。たとえば、この圧縮アルゴリズムにはＲｕｎ−Ｌｅｎｇｔｈ（ランレングス）法やＨｕｆｆｍａｎ（ハフマン）法などがある。しかし、上述したようにファームウェアが使用することができるリソースには制限があるので、ファームウェアがこのような複雑な圧縮処理をおこなうことは困難である。
【００１９】
このため、ファームウェアが、オペレーティングシステム上で動作する圧縮処理用のアプリケーションにエラーデータの圧縮を依頼することも考えられるが、オペレーティングシステムを介して圧縮処理をおこなうと処理が重くなり好ましくない。また、サーバ立ち上げ時のように未だオペレーティングシステムが起動していない状態では、圧縮処理の依頼さえおこなうことができない。
【００２０】
そこで、本発明にかかるエラー情報圧縮処理では、ファームウェアが、簡易な手法によるエラーデータの圧縮処理をおこなうこととし、圧縮済のエラーデータをＮＶＲＡＭなどの不揮発性メモリに書き込むこととした。具体的には、最初に取得したエラーデータを既存エラーとして保持しておき、新規にエラーデータを取得するごとに、保持しておいた既存エラーとの差分をとることにより、新規に取得したエラーデータを圧縮してＮＶＲＡＭに書き込むこととした。このような簡便な圧縮処理であっても、サーバ装置などで発生するハードウェアエラーには、その性質上ある程度の定型性があるので、十分な圧縮効率をあげることができる。
【００２１】
ここで、サーバ装置上で発生するハードウェアエラーの定型性について図２〜図４を用いて説明しておくこととする。図２は、エラー発生の様子を示す図である。なお、図２では、サーバ装置の立ち上げ直後におけるハードウェアエラー発生の様子を示している。
【００２２】
図２に示すように、ファームウェアは、複数のエラー情報を含んだエラーレコード５０という単位でハードウェアエラーを取得する。このエラーレコード５０は、エラーレコードヘッダ５１をその先頭に含んでおり、つづいて、エラーヘッダ（０）５２とエラー取得情報（０）５３との組からはじまり、エラーヘッダ（ｎ）５４とエラー取得情報（ｎ）５５との組でおわる総計ｎ＋１個の各エラー情報を含んでいる。そして、このエラーレコード５０は、ハードウェアエラーが発生するごとにファームウェアによって取得されることになる。図２に示した場合では、サーバ装置の立ち上げから５ｓｅｃ後にエラーレコード＃０が、６ｓｅｃ後にエラーレコード＃１が、７ｓｅｃ後にエラーレコード＃２がそれぞれファームウェアによって取得される。
【００２３】
次に、このエラーレコード５０の詳細な内容の一例について図３を用いて説明する。図３は、ファームウェアにより、ＲＡＭなどのバッファに格納されるエラーレコードの一例を示す図である。なお、図３に示す、エラーレコードヘッダ６１、エラーヘッダ（０）６２、エラー取得情報（０）６３、エラーヘッダ（ｎ）６４およびエラー取得情報（ｎ）６５は、図２に示した、エラーレコードヘッダ５１、エラーヘッダ（０）５２、エラー取得情報（０）５３、エラーヘッダ（ｎ）５４およびエラー取得情報（ｎ）５５にそれぞれ対応している。
【００２４】
図３に示したように、エラーレコードヘッダ６１は、エラー認証コード６１ａ、ＴｉｍｅＳｔａｍｐ値６１ｂおよび全エラー長を含んでいる。エラー認証コード６１ａは、各エラーを識別するためのコードであり、ＴｉｍｅＳｔａｍｐ値６１ｂは、エラーが発生した時間をあらわす値であり、全エラー長は、エラーレコード６０全体のサイズをあらわす値である。
【００２５】
また、エラーヘッダ（ｎ）６４は、エラーが発生したハードウェアをあらわすエラー発生部コード６４ａと、キャッシュエラーやバスエラーなどのエラー種別をあらわすエラー種別コード６４ｂと、エラーヘッダ（ｎ）６４とエラー取得情報（ｎ）６５とを足し合わせた長さをあらわすエラー長６４ｃとを含んでいる。そして、エラー取得情報（ｎ）６５は、エラーの詳細な発生箇所をあらわすエラーマップ６５ａと、エラーが発生したプロセッサをあらわすプロセッサの認証番号６５ｂと、エラー情報の本文である収集した各種エラー情報６５ｃとを含んでいる。
【００２６】
このように、エラーレコード６０は複数のハードウェアエラーを含んでいるが、各ハードウェアエラーの内容は詳細に分類されているわけではない。たとえば、バスのパリティエラーが発生した場合には、発生したパリティエラーのビット位置ではなく、どのハードウェアへのアクセスでかかるパリティエラーが発生したかをあらわす程度の位置情報が含まれているのみである。したがって、少々のエラー発生位置の差異があったとしても同一のハードウェアエラーとなる。
【００２７】
ここで、エラーレコード６０の実データ例について図４を用いて説明する。図４は、エラーレコード６０の実データ例を示す図である。同図に示したのは、キャッシュエラーのみが発生し、その他のエラーが発生しなかった場合における実データである。このような場合には、エラーレコード６０のほとんどの部分は０となる。なお、同図に示した０は、１６進数の０（０ｘ０）である。
【００２８】
たとえ、このエラーレコード６０が、発生したエラーデータを多く含んだ場合であっても、連続して取得されるエラーレコード６０同士を対比させた場合、エラーレコードヘッダ６１のＴｉｍｅＳｔａｍｐ値６１ｂ以外の部分は、同一値をとることが多い。なぜなら、ハードウェア障害が発生した箇所へアクセスするごとに同一のハードウェアエラーが発生するからであり、また、上記したように、各ハードウェアエラーの内容は詳細に分類されているわけではなく、少々のエラー発生位置の差異があったとしても同一のハードウェアエラーとなるからである。
【００２９】
このように、サーバ装置上で発生するハードウェアエラーには定型性があるので、エラーレコード６０同士の差分をとることによりエラーデータの圧縮処理をおこなう本発明の手法は有効である。なお、本実施例においては、エラーレコード６０同士の差分をとることとしたが、これに限らず、演算結果が０になりやすい簡易な計算をおこなうこととしてもよく、たとえば、エラーレコード６０同士の排他的論理和をとることとすることもできる。
【００３０】
次に、本発明に係るエラー情報圧縮処理をおこなうエラー情報圧縮装置１の構成について図５を用いて説明する。図５は、エラー情報圧縮装置１の構成を示す機能ブロック図である。同図に示すように、エラー情報圧縮装置１は、制御部１０と、記憶部２０とを備えており、この制御部１０は、エラーデータ取得部１１と、圧縮処理部１２と、登録部１３とをさらに備えており、記憶部２０は、比較基準エラーデータ２１をさらに備えている。
【００３１】
制御部１０は、エラー収集対象ハードウェアからエラーデータを取得し、記憶部２０に記憶しておいた比較基準エラーデータ２１との差分をとることにより圧縮し、圧縮済のエラーデータを、登録部１３を介して不揮発性メモリに書き込む処理部である。また、この制御部１０は、所定の条件を満たした場合に、比較基準エラーデータ２１を、新規に取得したエラーデータで置換する処理部でもある。
【００３２】
エラーデータ取得部１１は、エラー収集対象ハードウェアにアクセスしてハードウェアエラーを検出するとともに、ハードウェアエラーを検出すると上記したエラーレコード５０を取得して圧縮処理部１２に渡す処理をおこなう処理部である。
【００３３】
圧縮処理部１２は、エラーデータ取得部１１から渡されたエラーレコード５０を圧縮処理して登録部１３に渡す処理をおこなう処理部である。具体的には、この圧縮処理部１２は、受け取ったエラーレコード５０と、記憶部２０の比較基準エラーデータ２１との差分をとり、１バイト（８ビット）や８バイト（６４ビット）といった所定単位の部位が０である場合には、０である部位を「０の連続数」を含むデータに置換することにより、かかるエラーレコード５０を圧縮する。なお、かかる圧縮処理の結果が、圧縮前のデータサイズよりも大きくなった場合、および、圧縮処理部１２が最初のエラーレコード５０を受け取った場合には、圧縮前のエラーレコード５０を登録部１３に渡すことになる。
【００３４】
また、圧縮処理部１２は、比較基準エラーデータ２１の初期登録および入替をおこなう処理部でもある。具体的には、最初のエラーレコード５０を受け取ると、このデータを比較基準エラーデータ２１として記憶部２０に記憶させる。その後は、エラーレコード５０を受け取るごとに、比較基準エラーデータ２１と対比させ上記した圧縮処理をおこなう。そして、圧縮処理後のエラーレコード５０のサイズが、圧縮処理前のエラーレコード５０のサイズよりも大きくなった場合には、圧縮処理前のエラーレコード５０で、記憶部２０の比較基準エラーデータ２１を置換する。
【００３５】
このように、圧縮処理後のエラーレコード５０のサイズが、圧縮処理前のエラーレコード５０のサイズよりも大きくなる場合とは、異なるハードウェアエラーを検出した場合のようにハードウェアエラーの傾向が変わった場合である。このように、検出したハードウェアエラーの傾向が変わった後には、同様の傾向のハードウェアエラーを検出することが多いため、圧縮前後のサイズ比較により比較基準エラーデータ２１を入れ替える手法は、簡便でありながら、効率的な圧縮処理をおこなううえで有効である。
【００３６】
ここで、かかる圧縮処理について図６を用いてさらに詳細に説明しておく。図６は、圧縮処理の概要を示す図である。同図に示すように、圧縮処理部１２が、最初のエラーレコードとして「エラーレコード＃０」をエラーデータ取得部１１から受け取ると、この「エラーレコード＃０」を比較基準エラーデータ２１として記憶部２０に記憶させる。つづいて、圧縮処理部１２が「エラーレコード＃１」を受け取ると、この圧縮処理部１２は、比較基準エラーデータ２１（エラーレコード＃０）から、新規に受け取った「エラーレコード＃１」を所定単位ごとに差し引く処理をおこなう。なお、同図では、差分処理の単位が１バイト（８ビット）であり、ヘッダを除く部分が２５６バイトであるエラーレコードについて示している。
【００３７】
このようにして生成された差分データ７０は、０ｘ００（８ビットとも０）が連続するデータとなっている。同図に示した場合では、０ｘ００が２５５（０ｘＦＦ）個連続しているので、生成される圧縮データ７１は同図に示したようになる。すなわち、２５５バイト連続していた０は、１バイトの０および１バイトの数値に置換される。また、エラーレコードヘッダの差分の前には圧縮したデータであることを示す所定の圧縮フラグが付加される。
【００３８】
図５の説明に戻り、登録部１３について説明する。この登録部１３は、圧縮処理部１２から圧縮済または圧縮前のエラーレコード５０を受け取り、受け取ったデータをＮＶＲＡＭなどの不揮発性メモリに書き込む（登録する）処理をおこなう処理部である。ここで、かかる不揮発性メモリに登録されるデータについて図７を用いて説明しておく。図７は、不揮発性メモリに格納されるエラーレコード５０を示す図である。
【００３９】
同図に示すように、従来では、取得したエラーレコード（＃０〜＃２）を圧縮することなく不揮発性メモリに格納していた。本発明に係るエラー情報圧縮処理では、エラーレコード＃０を比較基準エラーデータ２１とした場合に、このエラーレコード＃０はそのまま不揮発性メモリに登録する。そして、エラーレコード＃１およびエラーレコード＃２は圧縮された後に不揮発性メモリに登録される。したがって、一般的に容量制限が厳しい不揮発性メモリへの登録データ量を削減することができる。また、登録するのは圧縮後のデータであるので、登録に要する時間やバスなどの処理負荷を抑制することができる。なお、図７に示した「Ｔｏｐ  Ａｄｄｒｅｓｓ」〜「Ｂｏｔｔｏｍ  Ａｄｄｒｅｓｓ」の範囲が、不揮発性メモリの記憶領域をあらわしている。
【００４０】
図５の説明に戻って、記憶部２０について説明する。この記憶部２０は、ＲＡＭなどのメモリから構成されバッファとして使用される記憶部であり、サーバ装置のメインメモリの一部が用いられる。また、比較基準エラーデータ２１は、差分取得による圧縮処理の基準となるエラーレコード５０であり、上記したように圧縮処理部１２により初期登録および入替処理がおこなわれる。なお、図３に示したエラーレコード６０は、記憶部２０に格納された状態のエラーレコード５０をあらわしており、図３に示した「Ｔｏｐ  Ａｄｄｒｅｓｓ」〜「Ｂｏｔｔｏｍ  Ａｄｄｒｅｓｓ」の範囲が、ファームウェアがバッファとして使用する記憶領域である。
【００４１】
次に、本実施例に係るエラー情報圧縮処理の処理手順について図８を用いて説明する。図８は、エラー情報圧縮処理の処理手順を示すフローチャートである。エラーデータ取得部１１がエラー収集対象ハードウェアからエラーレコード５０を取得し、取得したエラーレコード５０が圧縮処理部１２に渡されると、この圧縮処理部１２は、受け取ったエラーレコード５０が最初のエラー情報であるか否かを判定する（ステップＳ１０１）。
【００４２】
そして、受け取ったエラーレコード５０が最初のエラー情報である場合には（ステップＳ１０１肯定）、このエラーレコード５０を比較基準エラーデータ２１として記憶部２０（バッファ）に記憶させるとともに（ステップＳ１０８）、受け取ったエラーレコード５０を、登録部１３を介してＮＶＲＡＭなどの不揮発性メモリに登録し（ステップＳ１０９）、処理を終了する。
【００４３】
一方、圧縮処理部１２が受け取ったエラーレコード５０が最初のエラー情報ではない場合には（ステップＳ１０１否定）、記憶部２０の比較基準エラーデータ２１と、このエラーレコード５０との差分をとり（ステップＳ１０２）、所定単位（たとえば、１バイト）のデータが０となっている数を数えることにより、連続した０の部分のデータを、０の連続数をあらわす値に置換する（ステップＳ１０３）ことにより圧縮する。たとえば、１バイトごとに差分データを区切った場合に、０ｘ００（８ビット連続して０）が２５５バイト連続しているのであれば、この２５５バイトのデータを、０ｘ００および０ｘＦＦ（１０進数に変換すると２５５）の２バイトのデータで置換する。
【００４４】
つづいて、圧縮処理後のエラーレコード５０のサイズが、圧縮処理前のエラーレコード５０のサイズよりも大きいか否かを判定する（ステップＳ１０４）。そして、圧縮処理後のエラーレコード５０のサイズが、圧縮処理前のエラーレコード５０のサイズよりも大きい場合には（ステップＳ１０４肯定）、記憶部２０の比較基準エラーデータ２１を圧縮処理前のエラーレコード５０で置換し（ステップＳ１０７）、登録部１３を介して圧縮処理前のエラーレコード５０をＮＶＲＡＭなどの不揮発性メモリに登録して（ステップＳ１０８）処理を終了する。
【００４５】
一方、圧縮処理後のエラーレコード５０のサイズが、圧縮処理前のエラーレコード５０のサイズよりも大きくない場合には（ステップＳ１０４否定）、圧縮処理後のエラーレコード５０に所定の圧縮フラグを添付する（ステップＳ１０５）。そして、登録部１３を介し、圧縮フラグを添付した圧縮処理後のエラーレコード５０をＮＶＲＡＭなどの不揮発性メモリに登録して（ステップＳ１０６）処理を終了する。
【００４６】
上述してきたように、本実施例では、エラーデータ取得部がエラー収集対象ハードウェアからエラーレコードを取得すると取得したエラーレコードを圧縮処理部に渡し、このエラーレコードを受け取った圧縮処理部は、記憶部に記憶させておいた比較基準エラーデータと、かかるエラーレコードとの差分をとることによりエラーレコードを圧縮し、圧縮後のエラーレコードのサイズが圧縮前のエラーレコードのサイズよりも大きい場合には、比較基準エラーデータを圧縮前のエラーレコードで置換したうえで圧縮前のエラーレコードを不揮発性メモリに登録し、それ以外の場合には、圧縮後のエラーレコードを不揮発性メモリに登録するよう構成したので、簡易な仕組みによりエラー情報の圧縮および登録を高速におこなうことができる。
【００４７】
なお、本実施例においては、エラー情報圧縮装置に本発明を適用した場合について説明したが、本発明はこれに限定されるものではなく、たとえば、サーバ装置などのコンピュータにおいてエラー情報を収集・記録する場合にも適用することができる。
【００４８】
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図９を用いて、上記の実施例と同様の機能を有するエラー情報圧縮プログラムを実行するコンピュータの一例を説明する。図９は、エラー情報圧縮プログラムを実行するコンピュータを示す図である。
【００４９】
同図に示すようにコンピュータ８０は、ＲＯＭ８１、ＨｏｓｔＣＰＵ８２、ＲＡＭ８３およびＮｏｒｔｈＢｒｉｄｇｅ８５をＨｏｓｔＢｕｓ９０により接続し、このＮｏｒｔｈＢｒｉｄｇｅ８５にはＮＶＲＡＭ８４およびＳｏｕｔｈＢｒｉｄｇｅ８６が接続され、このＳｏｕｔｈＢｒｉｄｇｅ８６には、ＰＣＩ−ＸＢｒｉｄｇｅ８７およびＰＣＩＢｒｉｄｇｅ８８が接続されることにより構成されている。さらに、ＰＣＩ−ＸＢｒｉｄｇｅ８７およびＰＣＩ−Ｂｒｉｄｇｅ８８には、それぞれ、ＰＣＩ−Ｘｂｕｓ９１およびＰＣＩｂｕｓ９２を介してＤｅｖｉｃｅ（８９ａ〜８９ｄ）が接続されている。
【００５０】
ここで、ＲＡＭ８３は、図５に示した記憶部２０に対応し、ＮＶＲＡＭ８４は、図５に示したエラー情報圧縮装置１外の不揮発性メモリに対応している。また、図９に示した各種バスやデバイスなどは、図５に示したエラー情報圧縮装置１外のエラー収集対象ハードウェアに対応している。
【００５１】
ＲＯＭ８１には、エラー情報圧縮プログラム８１ａがあらかじめ記憶されており、コンピュータが起動する際に、ＨｏｓｔＣＰＵ８２が、ＲＯＭ８１のエラー情報圧縮プログラム８１ａを読み出して実行することで、エラー情報圧縮プログラム８１ａはエラー情報圧縮プロセス８２ａとして機能するようになる。そして、エラー情報圧縮プロセス８２ａが動作を開始すると、ＲＡＭ８３に比較基準エラーデータ８３ａが記憶されるとともに、圧縮処理済のエラーデータがＮＶＲＡＭ８４に登録され、エラー情報８４ａとして蓄積されることになる。
【００５２】
（付記１）取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮装置であって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを記憶する記憶手段と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手段と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手段と
を備えたことを特徴とするエラー情報圧縮装置。
【００５３】
（付記２）前記圧縮手段は、前記新規エラーデータと前記比較基準エラーデータとの所定単位ごとの差分をとり、差分値が０である該所定単位が連続した場合に、該当する所定単位を、０が連続する個数を含んだデータに置換することを特徴とする付記１に記載のエラー情報圧縮装置。
【００５４】
（付記３）前記記憶手段は、最初の前記比較基準エラーデータとして最初に取得した前記新規エラーデータを記憶することを特徴とする付記１または２に記載のエラー情報圧縮装置。
【００５５】
（付記４）前記圧縮手段は、圧縮処理後の前記新規エラーデータのサイズが、圧縮処理前の前記新規エラーデータのサイズよりも大きくなった場合に、前記比較基準エラーデータを圧縮処理前の前記新規エラーデータで置換することを特徴とする付記１、２または３に記載のエラー情報圧縮装置。
【００５６】
（付記５）前記新規エラーデータは、複数の前記ハードウェアエラーを含んだことを特徴とする付記１〜４のいずれか一つに記載のエラー情報圧縮装置。
【００５７】
（付記６）取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮方法であって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶工程と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮工程と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録工程と
を含んだことを特徴とするエラー情報圧縮方法。
【００５８】
（付記７）前記圧縮工程は、前記新規エラーデータと前記比較基準エラーデータとの所定単位ごとの差分をとり、差分値が０である該所定単位が連続した場合に、該当する所定単位を、０が連続する個数を含んだデータに置換することを特徴とする付記６に記載のエラー情報圧縮方法。
【００５９】
（付記８）前記記憶工程は、最初の前記比較基準エラーデータとして最初に取得した前記新規エラーデータを前記記憶装置に記憶させることを特徴とする付記６または７に記載のエラー情報圧縮方法。
【００６０】
（付記９）取得したハードウェアエラーを圧縮して記憶装置に記憶させるエラー情報圧縮プログラムであって、
新規に取得した新規エラーデータの比較基準となる比較基準エラーデータを前記記憶装置に記憶させる記憶手順と、
前記新規エラーデータと前記比較基準エラーデータとを比較することにより該新規エラーデータを圧縮する圧縮手順と
圧縮後の前記新規エラーデータを前記記憶装置に記憶させる登録手順と
をコンピュータに実行させることを特徴とするエラー情報圧縮プログラム。
【００６１】
（付記１０）前記圧縮手順は、前記新規エラーデータと前記比較基準エラーデータとの所定単位ごとの差分をとり、差分値が０である該所定単位が連続した場合に、該当する所定単位を、０が連続する個数を含んだデータに置換することを特徴とする付記９に記載のエラー情報圧縮プログラム。
【００６２】
（付記１１）前記記憶手順は、最初の前記比較基準エラーデータとして最初に取得した前記新規エラーデータを前記記憶装置に記憶させることを特徴とする付記９または１０に記載のエラー情報圧縮プログラム。
【産業上の利用可能性】
【００６３】
以上のように、本発明にかかるエラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラムは、エラー情報の記録処理に有用であり、特に、サーバ装置のハードウェアエラーの記録処理に適している。
【図面の簡単な説明】
【００６４】
【図１】本発明にかかるエラー情報圧縮処理の概念を示す図である。
【図２】エラー発生の様子を示す図である。
【図３】バッファに格納されるエラーレコードの一例を示す図である。
【図４】エラーレコードの実データ例を示す図である。
【図５】エラー情報圧縮装置の構成を示す機能ブロック図である。
【図６】圧縮処理の概要を示す図である。
【図７】不揮発性メモリに格納されるエラーレコードを示す図である。
【図８】エラー情報圧縮処理の処理手順を示すフローチャートである。
【図９】エラー情報圧縮プログラムとハードウェアとの関係を示す図である。
【符号の説明】
【００６５】
１  エラー情報圧縮装置
１０  制御部
１１  エラーデータ取得部
１２  圧縮処理部
１３  登録部
２０  記憶部
２１  比較基準エラーデータ
５０  エラーデータ
５１、６１  エラーレコードヘッダ
５２、６２  エラーヘッダ（０）
５３、６３  エラー取得情報（０）
５４、６４  エラーヘッダ（ｎ）
５５、６５  エラー取得情報（ｎ）
６０  バッファ
６１ａ  エラー認証コード
６１ｂ  ＴｉｍｅＳｔａｍｐ値
６１ｃ  全エラー長
６４ａ  エラー発生部コード
６４ｂ  エラー種別コード
６４ｃ  エラー長
６５ａ  エラーマップ
６５ｂ  プロセッサの認証番号
６５ｃ  収集した各種エラー情報
７０  差分データ
７１  圧縮データ
８０  コンピュータ
８１  ＲＯＭ
８２  ＨｏｓｔＣＰＵ
８３  ＲＡＭ
８４  ＮＶＲＡＭ
８４  エラー情報
８５  ＮｏｒｔｈＢｒｉｄｇｅ
８６  ＳｏｕｔｈＢｒｉｄｇｅ
８７  ＰＣＩ−ＸＢｒｉｄｇｅ
８８  ＰＣＩＢｒｉｄｇｅ
８９ａ〜８９ｄ  Ｄｅｖｉｃｅ
９０  ＨｏｓｔＢｕｓ
９１  ＰＣＩ−ＸＢｕｓ
９２  ＰＣＩＢｕｓ
【図１】
2006201969.tif 000003
【図２】
2006201969.tif 000004
【図３】
2006201969.tif 000005
【図４】
2006201969.tif 000006
【図５】
2006201969.tif 000007
【図６】
2006201969.tif 000008
【図７】
2006201969.tif 000009
【図８】
2006201969.tif 000010
【図９】
2006201969.tif 000011