(57)【特許請求の範囲】
【請求項１】
運用システムのＣＰＵチェックを行ない、前記ＣＰＵが自ハードウェアリソースによる基本的動作能力を有すると判断したときマイクロプログラムにＣＰＵ制御を渡すサービスプロセッサと、システムリセットを契機に前記運用システムのＣＰＵを含むシステム構成ユニットの診断を行なうマイクロプログラムを備え、前記マイクロプログラムは、マイクロプログラムによる診断の終了直前までのエラーＣＰＵ情報を前記サービスプロセッサから取得し、前記エラーＣＰＵ情報に基づいて前記サービスプロセッサに不安定な動作をする予兆のあるＣＰＵの縮退を依頼することを特徴とするサービスプロセッサを用いたＣＰＵ縮退システム。
【請求項２】
前記サービスプロセッサは、前記運用システムのＣＰＵのエラー発生状況を監視し、前記マイクロプログラムによる診断処理の終了直前まで前記エラー発生状況をストアするエラーＣＰＵ情報蓄積部を有することを特徴とする請求項１記載のサービスプロセッサを用いたＣＰＵ縮退システム。
【請求項３】
前記サービスプロセッサは、前記マイクロプログラムからエラーＣＰＵ情報の送付依頼を受けたとき前記エラーＣＰＵ情報蓄積部にストアされたエラーＣＰＵ情報を前記マイクロプログラムに通知することを特徴とする請求項２記載のサービスプロセッサを用いたＣＰＵ縮退システム。
【請求項４】
前記マイクロプラグラムは、前記サービスプロセッサから通知されたエラーＣＰＵ情報に基づいて縮退すべきＣＰＵを決定し、前記サービスプロセッサに前記ＣＰＵの縮退依頼を行ない、依頼を受けた前記サービスプロセッサが前記ＣＰＵの縮退を実行することを特徴とする請求項３記載のサービスプロセッサを用いたＣＰＵ縮退システム。
【請求項５】
マイクロプログラムがシステムを構成する、ＣＰＵを内蔵するユニットの初期設定または診断を実行中におけるＣＰＵハードウェアエラーの発生をサービスプロセッサが認識するステップと、
前記サービスプロセッサが、システム側のエラーＣＰＵ情報を作成するステップと、
前記マイクロプログラムは前記サービスプロセッサに対してエラーが起きたＣＰＵ情報の通知をマイクロプログラムの終了直前に依頼し、前記サービスプロセッサは前記依頼を受けてエラーが起きたＣＰＵ情報を前記マイクロプログラムに通知するステップと、
前記マイクロプログラムは通知されたエラーＣＰＵ情報の内容を判断し前記サービスプロセッサに縮退依頼をするＣＰＵを決定し前記サービスプロセッサに対し縮退を依頼するステップと、
前記マイクロプログラムからの縮退依頼を受けて、前記サービスプロセッサは当該ＣＰＵの縮退を実行するステップと、
を含んで成るサービスプロセッサを用いたＣＰＵ縮退方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運用前に不安定な動作をする予兆のあるＣＰＵを検出してシステムに組み込まないようにするサービスプロセッサを用いたＣＰＵ縮退システム及び縮退方法に関する。
【背景技術】
【０００２】
図１は、従来のＣＰＵ縮退を実現するためのサービスプロセッサを用いたＣＰＵ縮退システムの構成を示す概略図である。図１のマイクロプログラム（Micro Program）１１は、システムの電源投入やリブート/リセット時などのシステムリセットを契機に、システムを構成するユニットの診断をおこなうモジュールとして機能するようにされている。図１に示したマイクロプログラム１１は、運用システム側のＣＰＵ、すなわち図１のＣＰＵ（Ａ）１０によって実行される。なお、運用システム側のＣＰＵ（Ａ）１０は図上では１つのＣＰＵのように描かれているが、実際は複数のＣＰＵによって運用システム側のＣＰＵが構成されていることはいうまでもない。【０００３】
図１に示したマイクロプログラム（Micro Program）１１に運用システム側のＣＰＵ制御が渡るときには、矢印(１)で示すサービスプロセッサ側によるＣＰＵの動作チェックがなされた後であるために、運用システム側のＣＰＵが自ハードウェアリソースを使って少なくとも基本的な動作ができる状態にある。サービスプロセッサＣＰＵ（Ｂ）２０による運用システム側のＣＰＵの動作チェックによってＮＧ（No Good）と判断された運用システム側のＣＰＵについては、サービスプロセッサＣＰＵ（Ｂ）２０がＣＰＵ停止処理を実行するため、マイクロプログラム１１に制御が渡らないようになっている。【０００４】
図１に示したマイクロプログラム１１は図１の矢印(２)、(３)、(４)で示すように、運用システムのＣＰＵ(Ａ)１０、メモリ(Memory)１２、そしてＩ/Ｏユニット(I/O Unit）１３といったシステム構成ユニットの初期設定および診断をおこない、サービスプロセッサ側と情報をやりとりする。【０００５】
図２はマイクロプログラム（Micro Program）、システムＣＰＵおよびサービスプロセッサ間における従来のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する処理シーケンスを示す概略図である。図２に示したシーケンスチャート中の番号は、図１に示した従来のサービスプロセッサを用いたＣＰＵ縮退システムの構成図における番号に対応させているので、図１および図２を用いて従来のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する。図２に示すようにまず、サービスプロセッサ側においてシステムパワーオンを行なう（Ａ１）。ついでシステムＣＰＵ１０の動作チェック（図１の(１)）を行なう（Ａ２）。ここで運用システム側のＣＰＵ１０が自ハードウェアリソースを使って少なくとも基本的な動作ができる状態にある場合には、ＣＰＵ制御をマイクロプログラム１１に渡す（Ａ４）が、運用システム側のＣＰＵの動作チェックによってＮＧ（No Good）と判断された場合には、サービスプロセッサによってＣＰＵ停止処理が行なわれて、マイクロプログラム１１には制御が渡らない（Ａ３）。【０００６】
サービスプロセッサ２０から制御が渡されたマイクロプログラム１１は、システム構成ユニットの初期設定および診断を開始し、まずＣＰＵ診断処理（図１の(２)）をおこなう（Ａ５）。システム構成ユニットの初期設定および診断中、サービスプロセッサ２０は、システムＣＰＵ１０のエラーの発生状況を常時監視するとともにマイクロプログラムが次の制御に移行する直前だけ、エラー発生状況をシステム側ＣＰＵに通知する（Ａ６）。マイクロプログラム(Micro Program）１１がシステムを構成するユニットの初期設定／診断
（図1の矢印(２)、(３)、(４)）を実行しているときから、ＯＳ起動後にわたるまで、ＣＰＵハードウェアエラーの発生をサービスプロセッサＣＰＵ(Ｂ)２０が認識（図１の矢印(５)）し、エラーの発生回数が予め設定されている閾値を超えると、「後に重大なエラーを招く可能性がある、不安定な動作をする予兆のあるＣＰＵである」とみなして、ＯＳによってウェイト状態にしていた。つまり従来では、物理的にＣＰＵを切り離すのではなく、対象のＣＰＵに対してプロセスの割り当てを行なわない状態にしてソフト的にＣＰＵを切り離して、次のリセットを契機にマイクロプログラム(Micro Program）１１が縮退を実行していた。そして、マイクロプログラム１１による診断の結果、ＯＫであれば正常ＣＰＵでプログラム処理を継続するようにして診断処理を終了する（Ａ８）。一方、マイクロプログラムによるＣＰＵ診断処理の結果、システム側ＣＰＵ自身でＮＧの状況を呈すれば、マイクロプログラム１１自身よって当該ＣＰＵを縮退するようにし（Ａ７）、ＣＰＵ縮退した場合でも残された正常ＣＰＵでプログラム処理の継続が可能であれば処理継続してマイクロプログラム１１による診断処理を終了する（Ａ８）。つまり、システムから不安定な動作をする予兆のあるＣＰＵに対してプロセスの割り当てを行なわない状態にしているが、それは既にＯＳ（システム）が起動された後であり、そのようなＣＰＵを切り離すためには、次にマイクロプログラムが動作するリブートなどのタイミングであった。（特許文献１参照）
【特許文献１】特開平08-087341号公報
【発明の開示】
【０００７】
このように従来のサービスプロセッサを用いたＣＰＵ縮退システムは、不安定な動作をする予兆のあるＣＰＵをＯＳ起動後に認識して、次のシステムリセットを契機にＣＰＵ縮退を実行していたので、ＯＳ起動前に不安定な動作をする予兆のあるＣＰＵの縮退を実行することができないという課題があった。
【０００８】
ところでコンピュータ分野においてはＣＰＵの生産過程によって生ずる品質のばらつきは不可避である。この品質のばらつきにより、不安定な動作をする予兆のあるＣＰＵの特定と、不安定動作がどのレベルかの認識、そして、システムの運用前にこれらを構成ユニットから切り離すことによるシステムの安定運用は重要な課題である。
【０００９】
運用前に不安定な動作をする予兆のあるＣＰＵを認識・縮退してシステム構成ユニットに組み込まないことは、運用システムにおける堅牢性の向上、運用後に故障が起こったときの故障保守作業時間・保守にかかるコストの節減のためには重要なことである。しかし、それらをハードウェア機能により実現した場合、実装すべきハードウェアの増大によるシステムのコストアップおよびシステムのサイズの増大が課題克服の阻害要因となっていた。
【００１０】
上記課題を解決するために本発明は、マイクロプログラムによって不安定な動作をする予兆のあるＣＰＵを認識し縮退すべきＣＰＵを決定し、ＯＳ起動前に運用システムに組み入れないようにしたサービスプロセッサを用いたＣＰＵ縮退システム及び縮退方法を提供することを目的とする。
【００１１】
本発明は、サービスプロセッサが取得しているエラーＣＰＵ情報（マイクロプログラムでは直接認識することができない）を、マイクロプログラムの終了直前にサービスプロセッサからマイクロプログラムが取得し、取得したエラーＣＰＵ情報に基づいてサービスプロセッサに不安定な動作をする予兆のあるＣＰＵの縮退を依頼し、サービスプロセッサはＯＳ起動前に不安定な動作をする予兆のあるＣＰＵの縮退を実行することを特徴とする。
【００１２】
本発明によれば、ＯＳ起動前に不安定な動作をする予兆のあるＣＰＵの縮退を実行することで、運用システムにおける堅牢性の向上、運用後に故障が起こったときの故障保守作
業時間・保守にかかるコストの節減を図ることができる。
【図面の簡単な説明】
【００１３】
【図１】従来のＣＰＵ縮退を実現するためのサービスプロセッサを用いたＣＰＵ縮退システムの構成を示す概略図である。
【図２】マイクロプログラム（Micro Program）、システムＣＰＵおよびサービスプロセッサ間における従来のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する処理シーケンスを示す概略図である。
【図３】本発明のＣＰＵ縮退を実現するためのサービスプロセッサを用いたＣＰＵ縮退システムの構成を示す概略図である。
【図４】マイクロプログラム（Micro Program）、システムＣＰＵおよびサービスプロセッサ間における本発明のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する処理シーケンスを示す概略図である。
【発明を実施するための最良の形態】
【００１４】
図３は、本発明のＣＰＵ縮退を実現するためのサービスプロセッサを用いたＣＰＵ縮退システムの構成を示す概略図である。図３のマイクロプログラム（Micro Program）１１は、システムの電源投入やリブート/リセット時などのシステムリセットを契機に、システムを構成するユニットの診断をおこなうモジュールとして機能するようにされている。図３に示したマイクロプログラム１１は、運用システム側のＣＰＵ、すなわち図３のＣＰＵ（Ａ）１０によって実行される。なお、運用システム側のＣＰＵ（Ａ）１０は図上では１つのＣＰＵのように描かれているが、実際は複数のＣＰＵによって運用システム側のＣＰＵが構成されていることはいうまでもない。【００１５】
図３に示したマイクロプログラム（Micro Program）１１に運用システム側のＣＰＵ制御が渡るときには、矢印(１)で示すサービスプロセッサ側によるＣＰＵの動作チェックがなされた後であるために、運用システム側のＣＰＵが自ハードウェアリソースを使って少なくとも基本的な動作ができる状態にある。サービスプロセッサＣＰＵ（Ｂ）２０による運用システム側のＣＰＵの動作チェックによってＮＧ（No Good）と判断された運用システム側のＣＰＵについては、サービスプロセッサＣＰＵ（Ｂ）２０がＣＰＵ停止処理を実行するため、マイクロプログラム１１に制御が渡らないようになっている。【００１６】
図３に示したマイクロプログラム１１は図１の矢印(２)、(３)、(４)で示すように、運用システムのＣＰＵ(Ａ)１０、メモリ(Memory)１２、そしてＩ/Ｏユニット(I/O Unit）１３といったシステム構成ユニットの初期設定および診断をおこない、サービスプロセッサ側と情報をやりとりする。【００１７】
図４はマイクロプログラム（Micro Program）、システムＣＰＵおよびサービスプロセッサ間における本発明のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する処理シーケンスを示す概略図である。図４に示したシーケンスチャート中の番号は、図３に示した本発明のサービスプロセッサを用いたＣＰＵ縮退システムの構成図における番号に対応させているので、図３および図４を用いて本発明のサービスプロセッサを用いたＣＰＵ縮退システムの動作を説明する。図４に示すようにまず、サービスプロセッサ側においてシステムパワーオンを行なう（Ｂ１）。ついでシステムＣＰＵ１０の動作チェック（図３の(１)）を行なう（Ｂ２）。ここで運用システム側のＣＰＵ１０が自ハードウェアリソースを使って少なくとも基本的な動作ができる状態にある場合には、ＣＰＵ制御をマイクロプログラム１１に渡す（Ｂ４）が、運用システム側のＣＰＵの動作チェックによってＮＧ（No Good）と判断された場合には、ＣＰＵ停止処理が行なわれて、マイクロプログラム１１には制御が渡らない（Ｂ３）。【００１８】
サービスプロセッサ２０から制御が渡されたマイクロプログラム１１は、システム構成ユニットの初期設定および診断を開始しまずＣＰＵ診断処理（図３の(２)）をおこなう（Ｂ５）。ＣＰＵ診断処理中、サービスプロセッサ２０は、システムＣＰＵ１０のエラーの発生状況を常時監視するとともにマイクロプログラムが次の制御に移行する時だけエラー発生状況をシステム側ＣＰＵに通知する（Ｂ６）。すなわち、マイクロプログラム(Micro
Program）１１がシステムを構成するユニットの初期設定／診断（図３の矢印(２)、(３)、(４)）を実行中におけるＣＰＵハードウェアエラーの発生をサービスプロセッサＣＰＵ(Ｂ)２０が認識（図３の矢印(５)）し、エラーの発生回数が予め設定されている閾値を超えると、「後に重大なエラーを招く可能性がある、不安定な動作をする予兆のあるＣＰＵである」とみなして、サービスプロセッサ２０にＣＰＵ縮退をするよう依頼する（Ｂ１３）。そして、マイクロプログラム１１による診断の結果、ＯＫであれば正常ＣＰＵでプログラム処理を継続する（Ｂ９）。一方、マイクロプログラムによるＣＰＵ診断処理の結果、システム側ＣＰＵ自身でＮＧ（No Good）の状況を呈すれば、サービスプロセッサ２０にＣＰＵ縮退をするよう依頼する（Ｂ７）。サービスプロセッサ２０はマイクロプログラム１１に依頼されたＣＰＵ縮退を実行（Ｂ８）し、残された正常ＣＰＵでプログラム処理の継続が可能であれば処理継続する（Ｂ９）。【００１９】
ところでマイクロプログラム（Micro Program）は、システムを構成するユニットの初期設定/診断（図３の(２)、(３)、(４)）を実行中におけるＣＰＵハードウェアエラーの発生をサービスプロセッサＣＰＵ(Ｂ)２０が常時監視してその発生状況を認識（図３の(５)）（Ｂ６）し、マイクロプログラムの終了する直前までにシステム側のエラーＣＰＵ情報（これについては後述する）を蓄積し「Error Info」２１を作成（図３の[Error Info]）する（図３の(６)）（Ｂ１０）。したがって「Error Info」２１は、エラーＣＰＵ情報蓄積部を構成していることになる。【００２０】
マイクロプログラム１１は、マイクロプログラムの終了直前にサービスプロセッサ２０に対してエラーが起きたＣＰＵの通知を依頼し（図３の(７)）（Ｂ１１）、サービスプロセッサ２０はエラーが起きたＣＰＵを「Error Info」２１に基づいてマイクロプログラム１１に通知する（図３の(８)）（Ｂ１２）。【００２１】
マイクロプログラム１１はエラーが起きたＣＰＵの内容を判断して、サービスプロセッサ２０に縮退依頼をするＣＰＵを決定し、そのＣＰＵをサービスプロセッサ２０に対して縮退依頼する（図３の(９)）（Ｂ１３）。本発明ではマイクロプログラムの初期設定/診断処理のリソースとしてＣＰＵ資源は必要であるため、不安定な動作をする予兆のあるＣＰＵの縮退をマイクロプログラムの終了直前にて行なうことにしている。【００２２】
マイクロプログラム１１からの縮退依頼を受けて、サービスプロセッサ２０は当該ＣＰＵの縮退を実行する（Ｂ１４）。
なお、マイクロプログラムの動作中（システム構成ユニットの初期設定/診断中）に、ＣＰＵハードウェアエラーの発生がなかった場合は、通常通り、マイクロプログラムによる初期設定/診断処理を終了する。【００２３】
このように本発明によれば、マイクロプログラムが直接認識することができないエラーＣＰＵ情報を、サービスプロセッサ側から取得することにより、ＯＳ起動前に不安定な動作をする予兆のあるＣＰＵの縮退が実行可能となるので、運用システムにおける堅牢性の向上、運用後に故障が起こったときの故障保守作業時間・保守にかかるコストの節減を図ることができる。【００２４】
システム側のエラーＣＰＵ情報について説明すると、エラーＣＰＵ情報には、命令同期エラー（Synchronous Error）に属し、命令フェッチ中のメモリUE(Uncorrectable Error)
等に見られるIAE(Instruction Access Error)、キャッシュにLoad/StoreアクセスしているときのUE等に見られるDAE (Data Access Error)、命令実行を妨害するようなエラーで、上記IAEやDAEでない、例えばプログラムから見えるレジスタ(PC(Program Counter Register)、CCR(Condition Codes Register)など)内のUE等に見られるI_UGE(Instruction Urgent Error)のようにエラーレベルの高いもの、また、命令非同期エラー（Asynchronous Error）に属しRE(Restrainable Error)すなわち現在実行中のプログラムに有害な影響を与えないエラー、例えば、ハードによって修正されるCE(correctable error)のようにエラーレベルが低いもの、が含まれるが、本願発明においては、エラーレベルの高低に関係なく、「不安定な動作をする予兆のあるＣＰＵ」であると判断された場合にはサービスプロセッサにＣＰＵ縮退依頼を出すことにより、運用システムにおける堅牢性の向上、運用後に故障が起こったときの故障保守作業時間・保守にかかるコストの節減を図ることができる。
【産業上の利用可能性】
【００２５】
不安定な動作をする予兆のあるＣＰＵの検出・そのレベルの認識/縮退を行なうハードウェア機能を、コスト面などの理由によって完全には実装できないようなコンピュータシステムにおいて、マイクロプログラムによってそれらの機能を実装することにより、不安定動作をする予兆のあるＣＰＵの検出・そのレベルの認識機能を持つ安価かつ高品質なコンピュータシステムを構築することができる。
【図１】
0004313833.tif 000002
【図２】
0004313833.tif 000003
【図３】
0004313833.tif 000004
【図４】
0004313833.tif 000005