(57)【要約】【課題】オンボード上でハードウェアの各種エラー通知の手段として、ハードウェアの新規追加部分を最小限にすることでコストの増加を押さえ、ハードウェアの警告情報をリアルタイムでユーザに通知すること、及びそのデータのロギング、致命的なエラーの場合のロギングを可能としたコンピュータ管理システムを提供する。【解決手段】本発明のハードウェアの特徴としては図２に示すＳｕｐｅｒＩ／Ｏ１２のＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）２２をオープンドレイン出力に設定しＰＣＩＢＵＳ６のＩＮＴｘ＃に接続している。ＧＰＩＯ２２は汎用の目的で使用するためにあるもので、ＳｕｐｅｒＩ／Ｏ１２の機能でなくとも、ＧＰＩＯ機能が他のコントローラにあればそちらを使用してもかまわない。出力をオープンドレインに設定するのは、他のＰＣＩデバイスとＩＮＴｘ＃を共用できるようにするためである。【選択図】      図２
2004234263.tif 000002
【特許請求の範囲】
【請求項１】
装置の状態検出又はエラー検出機能を備えたコンピュータ管理システムにおいて、
前記装置の状態検出又はエラー検出機能が一定の条件を満たした場合にＳＭＩを発生するＳＭＩ発生手段と、該ＳＭＩ発生手段により発生した割り込み情報を格納するＳＭＩ格納手段と、ＰＣＩ用の割り込み信号に接続された少なくとも一本の専用または汎用のＩ／Ｏコントロール信号を備え、
前記ＳＭＩ発生手段から割り込み信号が発生した場合ＢＩＯＳにより制御され、前記ＳＭＩのサービスルーチン内で検出内容を前記ＳＭＩ格納手段に格納し、前記Ｉ／Ｏコントロール信号を割り込み発生側に制御した後、前記ＳＭＩのサービスルーチンを抜けるように制御して、前記Ｉ／Ｏコントロール信号による割り込みに応答し、ＯＳに組み込まれたデバイスドライバソフトが、前記Ｉ／Ｏコントロール信号による割り込み応答のルーチンにより前記ＳＭＩ格納手段に格納されている内容を読み込んで設定された動作を実行すると共に、前記Ｉ／Ｏコントロール信号を割り込み解除側に制御することを特徴とするコンピュータ管理システム。
【請求項２】
各種パラメータを保存するパラメータテーブル内に各種状態検出時に前記ＰＣＩ用の割り込み信号の許可若しくは不許可を制御するフラグと、リセット後、前記フラグが不許可に初期化されているようプログラムされたＢＩＯＳとを備え、
前記ＢＩＯＳは、デバイスドライバ側から前記ＢＩＯＳを呼び出すことにより前記フラグを許可若しくは不許可に制御するようにプログラムされていることを特徴とする請求項１に記載のコンピュータ管理システム。
【請求項３】
予め設定されたエラー検出に関するパラメータを保持するロギング用テーブル内に、前記デバイスドライバから設定されたことを示すフラグを備え、
システムが起動したとき前記ＢＩＯＳが前記デバイスドライバ経由で設定された前記ロギング用テーブル内のフラグを読み取り、前記デバイスドライバ経由で設定されている時は前記ロギング用テーブルの値によりエラー検出の各種設定を行い、前記デバイスドライバ経由で設定されていない時は、前記ＢＩＯＳのデフォルト値で設定することを特徴とする請求項１又は２に記載のコンピュータ管理システム。
【請求項４】
エラーの発生時にエラーが発生したことを表示するエラー表示手段と、ＯＳが起動していない時でもＢＩＯＳの機能としてロギングされたデータを外部メディアに記録するロギング記録手段とを備えたことを特徴とする請求項１、２又は３に記載のコンピュータ管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ管理システムに関し、さらに詳しくは、オンボード上でハードウェアの各種エラーを通知するエラー通知方法に関するものである。
【０００２】
【従来の技術】
近年パーソナルコンピュータ（ＰＣ）の普及と機能の向上に伴って、ＰＣに用いられる技術やソフトウェアが、組み込み機器等のコントローラに用いられるようになってきた。そのため、専用のコントローラボードとソフトウェアで構成されていたこれまでの場合に比べて、汎用のＯＳ、汎用のＰＣボードでシステムを開発することが可能となり、それにより開発期間の短縮、開発費用の削減が可能になってきている。しかしながら、この場合、専用で開発したシステムに比較して、パーソナル向けに開発された装置、ＯＳを用いるため、装置の管理システムを新規に開発する必要性に迫られている場合が多い。
そのため特開２００２−０５５８９１公報に記載されているように、ＰＣＩバスデバイスとして監視装置を付け、状態の監視や遠離地からのキーボード操作を可能にしたコンピュータを管理する装置が開示されている。また特開平０９−０５０３８６号公報に記載されているように、管理対象機器に独立した制御基板を取り付け、システムの状態監視や電源制御を可能にした装置等が知られている。また、特開平０８−０１６４２０号公報に記載されているように、コンピュータのエラー処理機能の一つであるＮＭＩ（Ｎｏｎ−Ｍａｓｋａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ）割り込みをＳＭＩ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）にて変換し、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）制御のもとでエラー内容のロギングをする装置等が知られている。
また、近年のパーソナルコンピュータにおいては電源電圧、温度、ファンの回転数の監視機構が備わった各種コントローラが使用され、ＯＳ上のアプリケーションからそれらを監視することができるが、その場合は、アプリケーションから直説ハードウェアをポーリングするか、或いはＢＩＯＳが収集した検出データをアプリケーションからポーリングする方法が採られている。
【特許文献１】特開２００２−０５５８９１公報
【特許文献２】特開平０９−０５０３８６号公報
【特許文献３】特開平０８−０１６４２０号公報
【０００３】
【発明が解決しようとする課題】
しかし、特許文献１、及び２の従来技術に示したシステムは、管理用のボードを追加してロギングしたり遠離地からコントロールするシステムであり、遠離地で一括してシステムを管理する場合は有効であるが、管理用のボードが別途必要になるため高価になる。また、拡張バスに接続されるため、システム側に対する管理情報の収集のために、拡張バスの割り込み信号を用いた場合、割り込みの優先順位がＮＭＩやＳＭＩに比較して低いためリアルタイム性が低くなり、リアルタイム性を向上させるために管理情報を収集するための専用Ｉ／Ｆが別途必要になる。つまり、管理用ボードと被管理側のシステムに専用のＩ／Ｆを設ける必要がでてくる。従って、管理用、被管理側ともに専用になるため、コストが更に高価になってしまうといった問題がある。
また特許文献３のシステムは、ＮＭＩの要因をＳＭＩ経由でロギングできるため、致命的なエラーの場合のリアルタイム性は高くなるが、管理情報の収集がＮＭＩの要因のみに限定されている。つまりＮＭＩはメモリやバスのパリティーエラーを要因とすることが多く、ＣＰＵや装置内部の温度が高くなってきているとか、ファンの回転数が低くなって交換を促すような、パリティーエラー以外のエラーの場合、ユーザに警告をリアルタイムに通知する手段が無い。
また、従来技術で示すようなアプリケーションからのポーリング手段は、致命的なエラーに対応できないことと、ポーリングのためシステムのパフォーマンスを落とすこと、リアルタイム性が無いことが問題となる。この問題は、通常のＰＣのシステムにおいては、リアルタイムにＢＩＯＳ側の制御プログラムからアプリケーション／デバイスドライバソフトを呼び出せないことが原因となっている。
また従来技術の説明中に述べたように、各種エラー検出の装置がオンボード上に実装されるようになってきたが、それらは検出する項目によってＣＰＵとメモリコントローラ間に実装されたり、キーボードマイコンに実装されたり、専用デバイスに実装されたりしている。このため、各デバイス毎に専用のデバイスドライバをＯＳ上に実装することでエラー検出をすることは可能であるが、デバイスの数だけ、デバイスドライバの開発が必要となり、開発コストが大きくなったり、エラー検出が重複した場合、一括で処理していないため処理が複雑になり、更にコストアップの要因となる。
【０００４】
本発明は、かかる課題に鑑み、オンボード上でハードウェアの各種エラー通知の手段として、ハードウェアの新規追加部分を最小限にすることでコストの増加を押さえ、ハードウェアの警告情報をリアルタイムでユーザに通知すること、及びそのデータのロギング、致命的なエラーの場合のロギングを可能としたコンピュータ管理システムを提供することを目的とする。
また他の目的は、ＢＩＯＳ側の制御プログラムからデバイスドライバソフトを呼び出すシステムを提案することにより、システムのパフォーマンスとリアルタイム性の両立を図ったシステムの構築、及び各種検出デバイスを一括して管理するシステムを構築し、開発コストの低減を図ることである。
【０００５】
【課題を解決するための手段】
本発明はかかる課題を解決するために、請求項１は、装置の状態検出又はエラー検出機能を備えたコンピュータ管理システムにおいて、前記装置の状態検出又はエラー検出機能が一定の条件を満たした場合にＳＭＩを発生するＳＭＩ発生手段と、該ＳＭＩ発生手段により発生した割り込み情報を格納するＳＭＩ格納手段と、ＰＣＩ用の割り込み信号に接続された少なくとも一本の専用または汎用のＩ／Ｏコントロール信号を備え、前記ＳＭＩ発生手段から割り込み信号が発生した場合ＢＩＯＳにより制御され、前記ＳＭＩのサービスルーチン内で検出内容を前記ＳＭＩ格納手段に格納し、前記Ｉ／Ｏコントロール信号を割り込み発生側に制御した後、前記ＳＭＩのサービスルーチンを抜けるように制御して、前記Ｉ／Ｏコントロール信号による割り込みに応答し、ＯＳに組み込まれたデバイスドライバソフトが、前記Ｉ／Ｏコントロール信号による割り込み応答のルーチンにより前記ＳＭＩ格納手段に格納されている内容を読み込んで設定された動作を実行すると共に、前記Ｉ／Ｏコントロール信号を割り込み解除側に制御することを特徴とする。
一般的なコンピュータ装置において、状態検出又はエラー検出機能（例えば温度検出や電圧検出、ファン回転数検出、メモリエラー検出等）を持ち、その検出機能から一定の条件を満たしたとき（エラー発生、設定値に達した等）ＳＭＩ割り込みを発生させる機能と、情報を格納する他の不揮発性メモリをもち、専用または汎用のＩ／Ｏコントロール信号の少なくとも一本がＰＣＩ用の割り込み信号に接続された構成にする。そして何らかの状態検出でＳＭＩが発生したとき、ＢＩＯＳよって制御され、ＳＭＩのサービスルーチン内でエラー検出内容を不揮発性メモリに記憶し、前記Ｉ／Ｏコントロール信号をＬＯＷ側（割り込み発生側）に制御した後、ＳＭＩのサービスルーチンを抜けるようにする。また、Ｉ／Ｏコントロール信号ピンによる割り込みに応答して、ＯＳに組み込まれたデバイスドライバソフトが割り込み応答のルーチンで不揮発性メモリに記憶された内容を読み込んで、設定された動作を実行してＩ／Ｏコントロール信号をＨＩＧＨ側（割り込み解除側）に制御するようプログラムされたデバイスドライバソフトを持つことを特徴とする。
【０００６】
かかる発明によれば、汎用のＩ／Ｏコントロール信号ピンをＰＣＩの割り込み信号に接続することにより信号一本ですむため、設計上のコストインパクトを最小限に抑えることができる。また、致命的なエラーの場合もＳＭＩによる割り込みはシステムの優先順位が最高位であるので、ＳＭＩサービスルーチンでロギングすることができ、致命的なエラー発生時においてもエラー内容のロギングができる可能性が大きい。また、ＯＳ上で動作するデバイスドライバに通知する割り込みベースのシステムとなるため、リアルタイム性が確保され、またシステムへの負荷を少なくすることができる。また、ＢＩＯＳによるＰＣＩ割り込み発生とそのデバイスドライバによる疑似デバイスの中に各種検出デバイスが入ることにより、デバイスドライバは１つでよく、アプリケーション側で利用する場合、そのデバイスドライバソフトを呼び出すのみで利用できるため、複数のデバイスドライバソフトを開発するのに比較して、ソフトウェアの開発効率を向上することができる。
【０００７】
請求項２は、各種パラメータを保存するパラメータテーブル内に各種状態検出時に前記ＰＣＩ用の割り込み信号の許可若しくは不許可を制御するフラグと、リセット後、前記フラグが不許可に初期化されているようプログラムされたＢＩＯＳとを備え、前記ＢＩＯＳは、デバイスドライバ側から前記ＢＩＯＳを呼び出すことにより前記フラグを許可若しくは不許可に制御するようにプログラムされていることを特徴とする。
請求項１の装置においてはＳＭＩの割り込みからＰＣＩの割り込み信号を発生してＰＣＩの割り込み信号の解除をデバイスドライバ側でコントロールしている。この場合デバイスドライバがＯＳにロードされるまでの間ＰＣＩの割り込みが発生してもデバイスドライバ側がロードされないため、不正な割り込みが発生してしまう虞がある。そこで本発明では、この不正な割り込みが発生しないようにする。それには、請求項１の装置において、ＢＩＯＳのもつ各種パラメータを保存するテーブル内部に、各種状態検出時に発生するＰＣＩ割り込み信号のＥｎａｂｌｅ／Ｄｉｓａｂｌｅをコントロールするフラグをもち、リセット後、そのフラグがＤｉｓａｂｌｅに初期化されているようプログラムされたＢＩＯＳをもち、デバイスドライバ側から、ＢＩＯＳを呼び出すことでそのフラグをＥｎａｂｌｅ／Ｄｉｓａｂｌｅするようプラグラムされたものである。
かかる発明によれば、リセット後は、エラー検出でのＰＣＩ割り込みはＤｉｓａｂｌｅにされるため、ＯＳからデバイスドライバソフトがロードされた時にｅｎａｂｌｅできることで不正な割り込みを発生させないようにすることができる。また、デバイスドライバ側からｄｉｓａｂｌｅにする機能があるため、ＯＳの再起動等でデバイスドライバソフトがアンロードされる時にｄｉｓａｂｌｅできるため、再起動のためのＯＳシャットダウン時にも不正な割り込みを発生させないようにすることが可能となる。
【０００８】
請求項３は、予め設定されたエラー検出に関するパラメータを保持するロギング用テーブル内に、前記デバイスドライバから設定されたことを示すフラグを備え、システムが起動したとき前記ＢＩＯＳが前記デバイスドライバ経由で設定された前記ロギング用テーブル内のフラグを読み取り、前記デバイスドライバ経由で設定されている時は前記ロギング用テーブルの値によりエラー検出の各種設定を行い、前記デバイスドライバ経由で設定されていない時は、前記ＢＩＯＳのデフォルト値で設定することを特徴とする。
請求項１、２の装置において、エラー検出の各項目毎の設定が必要になる。その理由はシステム構成に合った設定をしないと、システム起動時に不必要なエラー検出をしてしまうことが発生するからである。例えばファンの回転数のエラーを検出する場合、システムによってファンが付いている場合と、付いていない場合は多々あるが、これをシステム毎にＢＩＯＳの初期設定値を変更していたのでは、開発コスト、管理コストからみても合理的でない。すべて検出しない設定にして、デバイスドライバから設定を行った場合、デバイスドライバがＯＳにロードされるまで、エラーの検出ができなくなるという不具合がでる。そこで本発明では、システムの構成に依存してＢＩＯＳの設定値を変更することなく、このような各種設定を設定できる方法について提案する。
かかる発明によれば、デバイスドライバ経由とＢＩＯＳ経由の２つのテーブルを持つので、システム起動時のエラー検出ができ、またシステムの構成に依存したＢＩＯＳの初期設定を必要としなくなる。
【０００９】
請求項４は、エラーの発生時にエラーが発生したことを表示するエラー表示手段と、ＯＳが起動していない時でもＢＩＯＳの機能としてロギングされたデータを外部メディアに記録するロギング記録手段とを備えたことを特徴とする。
請求項１〜３の装置において各種エラーが発生した場合、ＯＳ上で動作するアプリケーションからエラーの内容を確認する方法、またはアプリケーションからＬＡＮ経由で遠距離から確認する方法が採られる。しかしながら、ハードウェアの故障に依存しないＯＳが起動しなくなるといった不具合が発生することが現実問題としてあり、またＢＩＯＳのセットアップ画面内でエラーログを確認するようにした場合でも、組み込み向け機器等においてはモニタ等が無い場合が考えられる。そこで本発明においては、このような場合でもエラー発生のロギングされた内容を確認できるようにする。
かかる発明によれば、デバイスドライバ経由とＢＩＯＳ経由の２つのテーブルを持つので、システム起動時のエラー検出ができ、またシステムの構成に依存したＢＩＯＳの初期設定を必要としなくなる。
【００１０】
【発明の実施の形態】
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
図１は一般的なパーソナルコンピュータ（以下、ＰＣと記す）のハードウェアのブロック図である。ＣＰＵ１はＣＰＵ／メモリコントローラ２に接続され、メインメモリ３はこのＣＰＵ／メモリコントローラ２に接続される。メインメモリ３のエラー検出機能は、このＣＰＵ／メモリコントローラ２に内蔵されメモリエラーが発生した時はＮＭＩを発生させてＯＳに通知するのが一般的である。近年のコントローラはこのＮＭＩの代わりにＳＭＩを発生させることができる機能を持ったものがある。ＣＰＵ／メモリコントローラ２とシステムコントローラ４は専用バス５またはＰＣＩバス６で接続され、主に割り込み制御はＨＤＤ７のコントローラ、ＢＩＯＳＲＯＭ８のＩ／Ｆ、ＰＣＩバス６のＩ／Ｆ等を受け持つ。図にある、ＬＰＣＢＵＳ９とは（Ｌｏｗ  Ｐｉｎ  Ｃｏｎｔａｃｔ）と呼ばれるバスで、ＰＣＩのように拡張ではなく、オンボードデバイスを接続するために使用されるバスＩ／Ｆであり、ＬＰＣバス９の代わりにＩＳＡバスといわれるバスも使用される。このバスにはＢＩＯＳＲＯＭ８やＳｕｐｅｒＩ／Ｏ１２と呼ばれるＦＤＤ１０のコントローラ、キーボードコントーラ１１といったコントローラを一括して内蔵するデバイスがよく使用される。このＳｕｐｅｒＩ／Ｏ１２にファン１３の回転数検出や温度検出、電源１４の電圧の検出機能を持たせたデバイスもよく使用されている。また図のＳＭＢＵＳ１５とは（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  ＢＵＳ）の略でシリアルＩ／Ｆ方式のバスで温度センサ１６や電圧検出器、メモリの構成情報を格納したＲＯＭの読み込み用Ｉ／Ｆとして利用されることが多い。この図からもわかるように、一般的なシステムには装置のシステム管理のための検出機能をもったデバイスはあるが、それぞれ異なるコントローラに機能を持たせていることが多い。
【００１１】
図２に本発明のコンピュータ管理システムのハードウェアの構成案を示すブロック図である。同じ構成要素には同じ参照番号が付されているので、重複する説明は省略する。従来技術を使用した機能として、ＣＰＵ／メモリコントローラ２からのエラー検出時のＳＭＩ＃要因１示す信号をシステムコントローラ４に接続する。これは直接信号でなくても専用バス５の特殊データとしてシステムコントローラ４に通知できるようにすることもできる。  同じ様に温度検出機能１６のエラー検出時の要因をＳＭＩ＃要因２を示す信号、ＳｕｐｅｒＩ／Ｏ１２に内蔵されたファン１検出１９、ファン２検出２０、電圧検出２１の要因をそれぞれＳＭＩ＃要因４、５、６としＳｕｐｅｒＩ／Ｏ１２内部でＳＭＩ＃要因３としてＯＲをとりシステムコントローラ４に接続されている。本発明のハードウェアの特徴としては図２に示すＳｕｐｅｒＩ／Ｏ１２のＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）２２をオープンドレイン出力に設定しＰＣＩＢＵＳ６のＩＮＴｘ＃に接続している。ＧＰＩＯ２２は汎用の目的で使用するためにあるもので、ＳｕｐｅｒＩ／Ｏ１２の機能でなくとも、ＧＰＩＯ機能が他のコントローラにあればそちらを使用してもかまわない。出力をオープンドレインに設定するのは、他のＰＣＩデバイスとＩＮＴｘ＃を共用できるようにするためである。
【００１２】
図３に発明のソフトウェアのモデルを示す図である。発明の範囲としては、ＢＩＯＳ３４の部分、ハードウェア３５の部分、管理用デバイスドライバ３２の部分となる。管理用デバイスドライバ３２はＳＭＩ＃発生によるＢＩＯＳ３４の呼び出しにより、ＢＩＯＳ３４のプログラムがＧＰＩＯを制御する命令を出すことによりＩＮＴｘ＃を発生させるという機能の疑似デバイス（コントローラ）のデバイスドライバ３３としてＯＳに登録されることになる。通常は何ならかの実際のデバイス（例えばＬＡＮコントローラ、ＳＣＳＩコントローラ等）に対してデバイスドライバ３３はＯＳに登録されるわけであるが、本発明では、ＢＩＯＳ３４側から、デバイスドライバ３３を呼び出す手段として、この疑似デバイスをＢＩＯＳ３４とハードウェア３５の組み合わせで実現している。ＯＳによっては実デバイスがないとデバイスドライバ３３の登録が困難である場合は、ＯＳ起動後は使用しないデバイス、例えばＳＭＢＵＳコントローラ等のデバイスドライバとして登録する方法や、ＰＣＩ  Ｉ／Ｆのフロントエンド部のコンフィグレーション空間のみをサポートした簡易コントローラを追加することが考えられる。
実際の動作を図４を用いて説明する。通常状態でＯＳが動作している時、何らかのシステムの検出要因が発生するとＳＭＩ＃が発生する（ポイントＡ）。ここから制御はＢＩＯＳによって動作するＳＭＩサービスルーチンに入る。ＳＭＩサービスルーチンでは、まず発生要因の検索が行われて各デバイスの状況が確認され、電圧異状や、温度異状等を調べる。その後発生要因が確定したあと、エラーの内容を不揮発性メモリへログとして書き込む（ポイントＢ）（図５に不揮発性メモリへ書かれるデータの構築例を示す）。次にＧＰＩＯを制御しＩＮＴｘ＃をアサートする（ポイントＣ）。この時点では、ＩＮＴｘ＃の割り込みはマスクされているため、ＩＮＴｘ＃サービスルーチンには入らない。ＩＮＴｘ＃のサービスルーチンに入るのは、ＳＭＩサービスルーチンを終了した時点でアサートしていたＩＮＴｘ＃によりサービスルーチンが発生する（ポイントＤ）。このサービスルーチンによりデバイスドライバが呼び出される（ポイントＥ）。デバイスドライバは発生要因を不揮発性メモリから読み出す（ポイントＦ）。デバイスドライバは必要に応じて、ログをＨＤＤに残したり、アプリケーションを呼び出したりする。また、ＧＰＩＯのディアサートはデバイスドライバが呼び出された後、デバイスドライバによってＧＰＩＯを制御しディアサートされる（ポイントＧ）。デバイスドライバはＢＩＯＳが呼び出されたことを認識できることが重要になるため、このＧＰＩＯのディアサートは不揮発性メモリのＲｅａｄの前でもよい。不揮発性メモリを読み込むだけでなく、直接検出デバイスにアクセスして、障害情報の収集や補正をすることは可能である。
デバイスドライバまで、情報が収集できているため、ユーザＩ／Ｆの部分のアプリケーションは従来技術のデバイスドライバとアプリケーション間のＩ／Ｆになるため簡易にアプリケーションプログラムは構築できる。
【００１３】
図５は本発明のメモリマップのイメージとＢＩＯＳパラメータのテーブルの構築例を示す図である。図に示すテーブルの内容をもとに構成と動作の例を説明する。
‘Ｔｈｒｅｓｈ＝’（４０）は各検出内容のＴｈｒｅｓｈの値を決めるためので、デバイスドライバによって指定される。例えば、ＦＡＮの回転数が２５００ｐｐｍを下回ったらＳＭＩを出すように該当する検出デバイスに設定をＢＩＯＳが初期化する。
‘Ｄｅｆ＝’（４１）の設定はデバイスドライバから設定された値なのか否かというフラグで、図では‘Ｄｅｆ＝１’の時はＢＩＯＳの初期設定値である‘ＳｅｔＤｅｆ＝’（４２）で指定される値に設定される。‘Ｄｅｆ＝’（４１）場合はデバイスドライバからの設定値として‘Ｔｈｒｅｓｈ＝’（４０）の値で設定される。この‘Ｄｅｆ＝’（４１）は各デバイス毎になくともテーブル全体で１つでもかまわない。
‘Ｅｎａｂｌｅ＝’（４３）はＥｎａｂｌｅ／Ｄｉｓａｂｌｅのフラグで、これがＥｎａｂｌｅに設定されている場合が該当検出デバイスからエラー要因のＳＭＩが発生した時にＩＮＴｘ＃をＢＩＯＳが発生しデバイスドライバを読み出す。Ｄｉｓａｂｌｅの場合は要因が発生した場合‘Ｓｅｔｄｅｆ＝’（４２）の値にしたがって動作し‘Ｓｅｔｄｅｆ＝‘（４２）の値が設定されている場合はログを不揮性メモリに書き出しＳＭＩルーチンを終了する。
‘Ｄｅｆ＝’（４１）‘Ｓｅｔｄｅｆ＝‘（４２）‘Ｅｎａｂｌｅ＝’（４３）の関係をまとめると以下のようになる。
（１）Ｄｅｆ＝１  Ｓｅｔｄｅｆ＝０（ＯＦＦ）  Ｅｎａｂｌｅ＝０ｏｒ１
Ｄｅｆａｕｌｔ設定ＯＦＦモード：該当する項目のエラー検出を実施しない。‘Ｅｎａｂｌｅ＝‘は無効
（２）Ｄｅｆ＝１  Ｓｅｔｄｅｆ＝ＸＸＸ（ＯＮ）  Ｅｎａｂｌｅ＝０ｏｒ１
Ｄｅｆａｕｌｔ設定ＯＮモード１：ＴｈｒｅｓｈをＸＸＸに設定し該当する項目のエラー検出が発生したときは、ログを不揮発性メモリに書き出しのみで終了。‘Ｅｎａｂｌｅ＝’は無効
（３）Ｄｅｆ＝０  Ｓｅｔｄｅｆ＝ＸＸＸ（ＯＮ）ｏｒ０（ＯＦＦ）Ｅｎａｂｌｅ＝０
ドライバ設定ＯＮモード１：Ｔｈｒｅｓｈを‘Ｔｈｒｅｓｈ＝’の値で設定し該当する項目のエラーが発生したときは、ログを不揮発性メモリに書き出しのみで終了。
（３）Ｄｅｆ＝０  Ｓｅｔｄｅｆ＝ＸＸＸ（ＯＮ）ｏｒ０（ＯＦＦ）  Ｅｎａｂｌｅ＝１
ドライバ設定ＯＮモード２：Ｔｈｒｅｓｈを‘Ｔｈｒｅｓｈ＝’の値で設定し該当する項目のエラーが発生したときは、ログを不揮発性メモリに書き出し後、ＩＮＴｘ＃を発生させ、デバイスドライバを呼び出す。‘Ｅｎａｂｌｅ＝‘はシステムのリセット毎にＤｉｓａｂｌｅ側にクリアされ、ドライバがロードされるまでＥｎａｂｌｅにはならない。‘Ｄｅｆ＝’や‘Ｔｈｒｅｓｈ＝’の値は一度設定されたあとは保持したり、パワーＯＮリセット時はクリアするといった方法が用いられる。
【００１４】
上記のパラメータをドライバ側から設定するためには、一般的にあるＣＰＵ内部のレジスタに必要とされるパラメータの情報を書き込んでから、ある特定のアドレスをＣＡＬＬすることでＢＩＯＳを呼び出し、ＢＩＯＳがＣＰＵのレジスタに書かれた値をもとにパラメータを設定後にドライバ側に制御を戻すことで実現する方法が良く用いられる。
本発明の構成の具体例としては、図２に示すようにＧＰＩＯ２２を用いた警告用のＬＥＤ２３、外部メディアの記録装置としてＦＤＤ１０を示す。警告用のＬＥＤ２３はＬＥＤの代わりにＳｏｕｎｄ機能での警告音や、ランプ等も考えられる。外部メディアとしてはＦＤＤ以外にも各種メモリーカードＩ／Ｆ、ＣＤ−Ｒ・ＲＷ、ＭＯといった各種の構成が考えられる。
【００１５】
次に動作例を説明する。エラーが発生し、ＳＭＩ＃割り込みでＢＩＯＳが呼び出されたとき、ＢＩＯＳは処理の一つとして、警告ＬＥＤ２３が点燈するようＧＰＩＯ２２を制御する。エラーのログはログの書き出しＳＷやコンビネーションキーの押下、ＢＩＯＳセットアップ画面での指示等何らかの指示手段をトリガーとし、ＢＩＯＳは指定された外部記憶メディアに対して、不揮発性メモリ８に蓄えられたログの内容を書き出す。
【００１６】
【発明の効果】
以上記載のごとく請求項１の発明によれば、汎用のＩ／Ｏコントロール信号ピンをＰＣＩの割り込み信号に接続することにより信号一本ですむため、設計上のコストインパクトを最小限に抑えることができる。また、致命的なエラーの場合もＳＭＩによる割り込みはシステムの優先順位が最高位であるので、ＳＭＩサービスルーチンでロギングすることができ、致命的なエラー発生時においてもエラー内容のロギングができる可能性が大きい。また、ＯＳ上で動作するデバイスドライバに通知する割り込みベースのシステムとなるため、リアルタイム性が確保され、またシステムへの負荷を少なくすることができる。また、ＢＩＯＳによるＰＣＩ割り込み発生とそのデバイスドライバによる疑似デバイスの中に各種検出デバイスが入ることにより、デバイスドライバは１つでよく、アプリケーション側で利用する場合、そのデバイスドライバソフトを呼び出すのみで利用できるため、複数のデバイスドライバソフトを開発するのに比較して、ソフトウェアの開発効率を向上することができる。
また請求項２では、リセット後は、エラー検出でのＰＣＩ割り込みはＤｉｓａｂｌｅにされるため、ＯＳからデバイスドライバソフトがロードされた時にｅｎａｂｌｅできることで不正な割り込みを発生させないようにすることができる。また、デバイスドライバ側からｄｉｓａｂｌｅにする機能があるため、ＯＳの再起動等でデバイスドライバソフトがアンロードされる時にｄｉｓａｂｌｅできるため、再起動のためのＯＳシャットダウン時にも不正な割り込みを発生させないようにすることが可能となる。
また請求項３では、デバイスドライバ経由とＢＩＯＳ経由の２つのテーブルを持つので、システム起動時のエラー検出ができ、またシステムの構成に依存したＢＩＯＳの初期設定を必要としなくなる。
また請求項４では、デバイスドライバ経由とＢＩＯＳ経由の２つのテーブルを持つので、システム起動時のエラー検出ができ、またシステムの構成に依存したＢＩＯＳの初期設定を必要としなくなる。
【図面の簡単な説明】
【図１】一般的なパーソナルコンピュータのハードウェアのブロック図である。
【図２】本発明のコンピュータ管理システムのハードウェアの構成案を示すブロック図である。
【図３】本発明のコンピュータ管理システムのソフトウェアのモデルを示す図である。
【図４】本発明の実際の動作を説明する図である。
【図５】本発明のメモリマップのイメージとＢＩＯＳパラメータのテーブルの構築例を示す図である。
【符号の説明】
１  ＣＰＵ、２  ＣＰＵ／メモリコントローラ、３  メインメモリ、４  システムコントローラ、８  ＢＩＯＳ  ＲＯＭ、１２  ＳｕｐｅｒＩＯ、１３  ファン、１４  電源、１６  温度センサ
【図１】
2004234263.tif 000003
【図２】
2004234263.tif 000004
【図３】
2004234263.tif 000005
【図４】
2004234263.tif 000006
【図５】
2004234263.tif 000007