(57)【要約】【課題】  ＯＳが切り離したページにおけるメモリパトロールで検出された障害による障害通報／通知を抑止する。【解決手段】  訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する検出手段と、該ページが、ＯＳにより切り離されたものであるか否かの判定を、検出手段による検出結果にもとづいて行う切り離し判定手段と、障害が発生したことを保守部門における情報処理装置へ通報し、及び／又は、ＯＳへ通知する報知手段とを有し、切り離し判定手段が、該障害が発生したときに、該ページがＯＳにより既に切り離されたページであるか否かの第一の判定を行い、該障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、該ページがＯＳにより既に切り離されたページであり、かつ、該障害がメモリパトロールにより検出された障害の場合、報知手段が、障害が発生したことの通報及び通知を抑止する。【選択図】      図１
2010044701.tif 000002
【特許請求の範囲】
【請求項１】
訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する検出手段と、
訂正可能障害が発生したページが、オペレーションシステムにより切り離されたものであるか否かの判定を、前記検出手段による検出結果にもとづいて行う切り離し判定手段と、
障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する報知手段と、を有し、
前記切り離し判定手段が、訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、
前記報知手段が、障害が発生したことの前記通報及び前記通知を抑止する
ことを特徴とするメモリパトロール障害検出システム。
【請求項２】
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページではなかった場合、
前記検出手段が、前記切り離し判定手段の指示にもとづいて、訂正可能障害が発生したページに対する通常アクセスがあったか否かを検出し、
前記切り離し判定手段が、
前記検出手段により、通常アクセスが検出されなかった場合、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定し、
前記検出手段により、通常アクセスが検出された場合、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていないと判定する
ことを特徴とする請求項１記載のメモリパトロール障害検出システム。
【請求項３】
前記切り離し判定手段が、
前記検出手段による検出結果にもとづいて、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定した場合、当該訂正可能障害が発生したページを、切り離されたページとして所定の記憶手段に記憶させ、
新たに訂正可能障害が発生したページと前記切り離されたページとを比較することにより、新たに訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されているページであるか否かの前記第一の判定を行う
ことを特徴とする請求項１又は２記載のメモリパトロール障害検出システム。
【請求項４】
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害でない場合、
前記切り離し判定手段が、前記切り離されたページを所定の記憶手段から削除し、
前記報知手段が、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する
ことを特徴とする請求項１〜３のいずれかに記載のメモリパトロール障害検出システム。
【請求項５】
前記検出手段が、
訂正可能障害が発生したページのアドレスを格納する検出対象ページ指定レジスタと、
通常アクセスによりアクセスされたページのアドレスを入力するとともに、訂正可能障害が発生したページのアドレスを前記検出対象ページ指定レジスタから入力して比較し、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する比較回路と、を備えた
ことを特徴とする請求項１〜４のいずれかに記載のメモリパトロール障害検出システム。
【請求項６】
前記検出手段が、チップセットにおけるメモリコントローラに備えられ、又は、プロセッサにおけるメモリコントローラに備えられ、かつ、
前記切り離し判定手段、及び前記報知手段が、ベースボードマネジメントコントローラに備えられた
ことを特徴とする請求項１〜５のいずれかに記載のメモリパトロール障害検出システム。
【請求項７】
訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害でない場合に、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知し、
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、障害が発生したことの、保守部門における情報処理装置への通報及びオペレーションシステムへの通知を抑止する
ことを特徴とするメモリパトロール検出障害抑止方法。
【請求項８】
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページではなかった場合、
訂正可能障害が発生したページに対する通常アクセスがあったか否かを検出し、
通常アクセスが検出されなかった場合に、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定し、
通常アクセスが検出された場合に、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていないと判定する
ことを特徴とする請求項７記載のメモリパトロール検出障害抑止方法。
【請求項９】
訂正可能障害が発生したページに対する通常アクセスがあったか否かの検出結果にもとづいて、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定された場合、当該訂正可能障害が発生したページを、切り離されたページとして記憶し、
新たに訂正可能障害が発生したページと前記切り離されたページとを比較することにより、新たに訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されているページであるか否かの前記第一の判定を行う
ことを特徴とする請求項７又は８記載のメモリパトロール検出障害抑止方法。
【請求項１０】
訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する検出手段を備えた集積回路からの前記検出手段による検出結果にもとづいて、訂正可能障害が発生したページが、オペレーションシステムにより切り離されたものであるか否かの判定を行う切り離し判定手段と、
障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する報知手段と、を有し、
前記切り離し判定手段が、訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、
前記報知手段が、障害が発生したことの前記通報及び前記通知を抑止する
ことを特徴とするベースボードマネジメントコントローラ。
【請求項１１】
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページではなかった場合、
前記検出手段に、前記切り離し判定手段の指示にもとづき訂正可能障害が発生したページに対する通常アクセスがあったか否かを検出させ、
前記切り離し判定手段が、
前記検出手段により、通常アクセスが検出されなかった場合、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定し、
前記検出手段により、通常アクセスが検出された場合、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていないと判定する
ことを特徴とする請求項１０記載のベースボードマネジメントコントローラ。
【請求項１２】
前記切り離し判定手段が、
前記検出手段による検出結果にもとづいて、訂正可能障害が発生したページが、オペレーションシステムにより切り離されていると判定した場合、当該訂正可能障害が発生したページを、切り離されたページとして所定の記憶手段に記憶させ、
新たに訂正可能障害が発生したページと前記切り離されたページとを比較することにより、新たに訂正可能障害が発生したページが、オペレーションシステムにより、既に切り離されているページであるか否かの前記第一の判定を行う
ことを特徴とする請求項１０又は１１記載のベースボードマネジメントコントローラ。
【請求項１３】
前記第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、前記第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害でない場合、
前記切り離し判定手段が、前記切り離されたページを前記所定の記憶手段から削除し、
前記報知手段が、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する
ことを特徴とする請求項１０〜１２のいずれかに記載のベースボードマネジメントコントローラ。
【請求項１４】
主記憶で発生した訂正可能障害を検出し、障害が発生したことをベースボードマネジメントコントローラへ出力する障害検出・訂正手段と、
訂正可能障害が発生したページのアドレスを格納する検出対象ページ指定レジスタ、及び、通常アクセスによりアクセスされたページのアドレスを入力するとともに、訂正可能障害が発生したページのアドレスを前記検出対象ページ指定レジスタから入力して比較し、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する比較回路を有する検出手段と、を備え、
前記ベースボードマネジメントコントローラにおいて、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであると判定され、かつ、訂正可能障害がメモリパトロールにより検出された障害であると判定された場合に、前記ベースボードマネジメントコントローラからの指示にもとづいて、前記検出手段が、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出し、検出結果を前記ベースボードマネジメントコントローラへ出力する
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主記憶に対するメモリパトロールを実施することにより、訂正可能障害又は訂正不可能障害が主記憶で発生していないかどうかをチェックするコンピュータシステムに関する。
【背景技術】
【０００２】
従来、主記憶に対するメモリパトロールを実施するコンピュータシステムにおいて、主記憶の特定のアドレスで訂正可能障害が多発した場合、ＯＳ（オペレーションシステム）が該アドレスを含むページを使用しないようにすることがある。このようなＯＳによる処理は、一般にページ切り離しと呼ばれている。
【０００３】
ページ切り離しを行ったとき、ＯＳは、ハードウェアやＢＭＣ（ベースボードマネジメントコントローラ）などからなるプラットフォームにページ切り離しを実施したことを通知しない。
このため、ハードウェアやＢＭＣは、切り離されたページに対してもメモリパトロールを実施し、該ページで障害が検出された場合に、保守員への障害報告やＯＳに対する障害通知を行っていた。
しかし、このような切り離されたページは既にＯＳからは使用されていない領域であり、本来障害報告等を行う必要がないにもかかわらず、無駄な障害報告等を抑止することができないという問題があった。
【０００４】
図６は、このような従来のメモリパトロール障害検出システムの構成を示すブロック図であり、図７は、従来のメモリパトロール障害検出システムにおける処理手順を示すフローチャートである。
図６に示すように、従来のメモリパトロール障害検出システムは、一又は二以上のＬＳＩ（大規模集積回路）で構成されたチップセット１００、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｔｒｏｌｌｅｒ）２００、主記憶３００、一又は二以上のプロセッサ４００（４００ａ，・・・，４００ｎ）、一又は二以上のＩ／Ｏカード６００（６００ａ，・・・，６００ｎ）を有している。
【０００５】
チップセット１００とプロセッサ４００の間はプロセッサバス５００で接続され、チップセット１００とＩ／Ｏカード６００の間はＩ／Ｏバス７００で接続され、チップセット１００とＢＭＣ２００の間は診断Ｉ／Ｆ２０１で接続されている。
【０００６】
チップセット１００の内部には、主記憶へのアクセスを制御するメモリコントローラ１０１が備えられており、このメモリコントローラ１０１にはメモリパトロール実行指示回路１０１ａ、メモリパトロールアドレスレジスタ１０１ｂ、通常アドレスレジスタ１０１ｃ、アドレスセレクタ１０１ｄ、メモリアクセス制御回路１０１ｅ、ライトデータレジスタ１０１ｆ、障害検出・訂正回路１０１ｇ、リードデータレジスタ１０１ｈ、及び障害情報保持回路１０１ｉが備えられている。
【０００７】
この従来のメモリパトロール障害検出システムでは、主記憶３００で訂正可能障害が発生すると、図７に示すように、チップセット１００におけるメモリコントローラ１０１がこれを検出し（ステップ１００）、主記憶３００で何らかの障害が発生したことをＢＭＣ２００に通知する（ステップ１０１）。
【０００８】
ＢＭＣ２００は、メモリコントローラ１０１から障害検出情報を入力し（ステップ１０２）、保守部門へ障害が発生したことを通報する（ステップ１０３）。これにより、保守部門では、障害が発生したことを認識することができる（ステップ１０４）。
また、ＢＭＣ２０は障害発生をＯＳに通知し（ステップ１０５）、通知を受けたＯＳは、ＯＳ自身のアルゴリズムに基づいて、障害が発生したページを切り離すかどうか判断する（ステップ１０６）。
【０００９】
そして、切り離さない場合は、通常動作を継続し（ステップ１０７）、切り離す場合はページ切り離し処理を実施して（ステップ１０８）、通常動作を継続する（ステップ１０９）。これによって、以降、切り離したページへのアクセスは行われない。
このように、従来のメモリパトロール障害検出システムでは、主記憶における障害がメモリパトロールにより検出されると、一律に保守部門への障害報告やＯＳに対する障害通知が行われるため、既に切り離されたページに障害が発生した場合には、無駄な障害報告が行われてしまうという問題があった。
【００１０】
ここで、メモリパトロールによる障害検出に関連する従来技術としては、例えば、特許文献１に記載のパトロール方式を採用した記憶装置や、特許文献２に記載のサービスプロセッサ、特許文献３に記載のデータ障害処理装置を挙げることができる。
【００１１】
特許文献１に記載のパトロール方式を採用した記憶装置によれば、訂正可能誤りが発生したアドレスを、メモリパトロールがメモリの全アドレスに対して実行される間に複数回、特定の周期でメモリパトロールのアドレスとして使用することで、訂正書き込みをより早く実行し、装置の信頼性を向上させることが可能となっている。
【００１２】
また、特許文献２に記載のサービスプロセッサによれば、メモリ装置に１ビットの固定エラーが発生した場合、そのページの切り離しをオペレーティングシステムに行なわせることで、訂正不可能エラーの発生を防止することが可能となっている。また、１ビットの固定エラーが発生した場合にのみ、保守センタに故障情報を通報する構成にすることで、保守センタとの間の通信量を減少させることが可能となっている。
【００１３】
さらに、特許文献３に記載のデータ障害処理装置は、メインメモリやシステムキャッシュ等のそれぞれに、ＥＣＣ（Error  Correcting  Code）による誤り訂正・エラー検出機能を有し、訂正不可のデータエラーが発生した場合に、障害が最初に検出された場所からのみ障害報告を実行し、複数個所からの障害報告を抑止することが可能とされている。
【００１４】
【特許文献１】特許第３２７１６８５号公報
【特許文献２】特開平５−８８９９１号公報
【特許文献３】特開平８−２６３４５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、これらのいずれの先行技術によっても、ＯＳにより切り離されたページにおいて障害が発生し、メモリパトロールによりこれが検出された場合に、保守部門への障害報告等を抑止することはできない。また、このような課題を解決可能な先行技術は、その他の先行技術文献にも見あたらなかった。
【００１６】
本発明は、上記の事情にかんがみなされたものであり、ＯＳにより切り離されたページに障害が発生し、メモリパトロールによりこれが検出された場合における保守部門への障害報告及びＯＳへの障害通知を抑止したメモリパトロール障害検出システム、メモリパトロール検出障害報告抑止方法、ＢＭＣ、及び集積回路の提供を目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明のメモリパトロール障害検出システムは、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する検出手段と、訂正可能障害が発生したページが、オペレーションシステムにより切り離されたものであるか否かの判定を、検出手段による検出結果にもとづいて行う切り離し判定手段と、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する報知手段とを有し、切り離し判定手段が、訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、報知手段が、障害が発生したことの通報及び通知を抑止する構成としてある。
【００１８】
また、本発明のメモリパトロール検出障害報告抑止方法は、訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害でない場合に、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知し、第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、障害が発生したことの、保守部門における情報処理装置への通報及びオペレーションシステムへの通知を抑止する方法としてある。
【００１９】
また、本発明のベースボードマネジメントコントローラは、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する検出手段を備えた集積回路からの検出手段による検出結果にもとづいて、訂正可能障害が発生したページが、オペレーションシステムにより切り離されたものであるか否かの判定を行う切り離し判定手段と、障害が発生したことを、保守部門における情報処理装置へ通報し、及び／又は、オペレーションシステムへ通知する報知手段とを有し、切り離し判定手段が、訂正可能障害が発生したときに、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの第一の判定を行うとともに、訂正可能障害がメモリパトロールにより検出された障害であるか否かの第二の判定を行い、第一の判定の結果、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであり、かつ、第二の判定の結果、訂正可能障害がメモリパトロールにより検出された障害である場合に、報知手段が、障害が発生したことの通報及び通知を抑止する構成としてある。
【００２０】
また、本発明の集積回路は、主記憶で発生した訂正可能障害を検出し、障害が発生したことをベースボードマネジメントコントローラへ出力する障害検出・訂正手段と、訂正可能障害が発生したページのアドレスを格納する検出対象ページ指定レジスタ、及び、通常アクセスによりアクセスされたページのアドレスを入力するとともに、訂正可能障害が発生したページのアドレスを検出対象ページ指定レジスタから入力して比較し、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出する比較回路を有する検出手段と、を備え、ベースボードマネジメントコントローラにおいて、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであると判定され、かつ、訂正可能障害がメモリパトロールにより検出された障害であると判定された場合に、ベースボードマネジメントコントローラからの指示にもとづいて、検出手段が、訂正可能障害が発生したページに対するアクセスが、通常アクセスであるか否かを検出し、検出結果をベースボードマネジメントコントローラへ出力する構成としてある。
【発明の効果】
【００２１】
本発明によれば、ＯＳが使用していないページで発生した障害に関する保守部門やＯＳへの障害報告等を、ＯＳを修正することなく抑止することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明のメモリパトロール障害検出システム、メモリパトロール検出障害報告抑止方法、ベースボードマネジメントコントローラ、及び集積回路の好ましい実施形態について、図面を参照しつつ説明する。
【００２３】
［第一実施形態］
まず、本発明の第一実施形態の構成について、図１を参照して説明する。同図は、本実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
【００２４】
図１に示すように、本実施形態のメモリパトロール障害検出システムは、一又は二以上のＬＳＩ（大規模集積回路）で構成されたチップセット１０、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  ｍａｎａｇｅｍｅｎｔ  ｃｏｎｔｒｏｌｌｅｒ）２０、主記憶３０、一又は二以上のプロセッサ４０（４０ａ，・・・，４０ｎ）、一又は二以上のＩ／Ｏカード６０（６０ａ，・・・，６０ｎ）を有している。
【００２５】
チップセット１０とプロセッサ４０の間はプロセッサバス５０で接続され、チップセット１０とＩ／Ｏカード６０の間はＩ／Ｏバス７０で接続され、チップセット１０とＢＭＣ２０の間は診断Ｉ／Ｆ２４で接続されている。
【００２６】
チップセット１０の内部には、主記憶へのアクセスを制御するメモリコントローラ１１が備えられており、このメモリコントローラ１１には同図に示すように、メモリパトロール実行指示回路１１ａ、メモリパトロールアドレスレジスタ１１ｂ、通常アドレスレジスタ１１ｃ、アドレスセレクタ１１ｄ、ページ切り離し検出制御部１１ｅ、メモリアクセス制御回路１１ｆ、ライトデータレジスタ１１ｇ、障害検出・訂正回路１１ｈ、リードデータレジスタ１１ｉ、及び障害情報保持回路１１ｊが備えられている。
【００２７】
メモリパトロール実行指示回路１１ａは、定期的にメモリパトロールの実行を指示する。
信号線１１ａ−１〜１１ａ−４における信号は、いずれも通常アクセス動作時には「０」、メモリパトロール動作時には「１」となる。
この結果、信号線１１ａ−１における信号が「０」の場合、メモリパトロールアドレスレジスタ１１ｂはそのまま値をホールドし、「１」の場合は、メモリパトロールアドレスレジスタ１１ｂの値に１を加える。
なお、通常アクセスとは、メモリパトロールによるアクセス以外のアクセスを意味し、本実施形態では、プロセッサ４０からのアクセスを意味している。
【００２８】
また、信号線１１ａ−２における信号が「０」の場合、アドレスセレクタ１１ｄは通常アドレスレジスタ１１ｃの値を出力し、「１」の場合は、メモリパトロールアドレスレジスタ１１ｂの値を出力する。
また、信号線１１ａ−３における信号が「０」の場合、メモリアクセス制御回路１１ｆは、プロセッサ４０やＩ／Ｏバス７０からの主記憶３０へのアクセスがメモリコントローラ１１に来たことを契機として、メモリアクセスを制御し、「１」の場合は、当該信号の入力を契機として、メモリアクセスを制御する。
さらに、信号線１１ａ−４における信号が「０」の場合、通常アクセスでの障害を意味し、「１」の場合は、メモリパトロールでの障害を意味する。
【００２９】
メモリパトロールアドレスレジスタ１１ｂは、メモリパトロール実行指示回路１１ａからの指示に従って、アドレスに１を加える。
通常アドレスレジスタ１１ｃは、通常処理動作で使用するアドレスを格納するレジスタであり、本実施形態ではプロセッサ４０からアクセスされるアドレスを格納する。
アドレスセレクタ１１ｄは、メモリパトロール実行指示回路１１ａからの指示に従って、メモリパトロールアドレスレジスタ１１ｂの値又は通常アドレスレジスタ１１ｃの値を主記憶３０へ出力する。
【００３０】
ページ切り離し検出制御部１１ｅは、訂正可能障害が発生したページに対するアクセスが、通常処理動作によるアクセス（通常アクセス）であるか否かを検出する。本実施形態では、プロセッサ４０からのアクセスであるか否かを検出する。なお、ページとは、ＯＳが主記憶空間を管理する分割の単位を意味している。
【００３１】
また、訂正可能障害とは、ＯＳにより自動的に訂正して正常な状態に戻すことが可能な障害をいう。この訂正可能障害は、誤り訂正に用いられるＥＣＣ（Error  Correcting  Code）の種類により異なる。最も基本的なＥＣＣでは、いわゆる１ビットエラーが訂正可能障害、２ビット以上のエラーが訂正不可能障害となっている。
また、複数ビットのエラーを訂正可能なものとして、S4EC-D4ED  (Single  4bits  block  Error  Correction  -  Double  4bits  block  Error  Detection)を挙げることができる。この手法によれば、４ビットまでのエラーを訂正可能障害とすることができる。すなわち、４bitを１つの単位（Block）とし、１Block内の４bitまでのErrorが訂正可能であり、かつ任意の２Blockにまたがる８bitまでのErrorの検出が可能である。
【００３２】
ページ切り離し検出制御部１１ｅは、検出対象ページ指定レジスタ１１ｅ１、及び比較回路１１ｅ２を備えている。
ページ切り離し検出制御部１１ｅは、検出対象ページ指定レジスタ１１ｅ１の値と通常アドレスレジスタ１１ｃの値を比較回路１１ｅ２で比較することにより、検出対象ページ指定レジスタ１１ｅ１で指定されたページへの通常アクセスを検出する。
【００３３】
メモリアクセス制御回路１１ｆは、メモリパトロール実行指示回路１１ａからの信号にもとづいて、主記憶３０に対するアクセスを制御する。
すなわち、前述したように、メモリアクセス制御回路１１ｆは、信号線１１ａ−３における信号が「０」の場合、プロセッサ４０やＩ／Ｏバス７０からの主記憶３０へのアクセスがメモリコントローラ１１に来たことを契機として、メモリアクセスを制御し、信号線１１ａ−３における信号が「１」の場合は、当該信号の入力を契機として、メモリアクセスを制御する。
【００３４】
ライトデータレジスタ１１ｇは、主記憶３０へのライト時に、ライトデータを格納する。
障害検出・訂正回路１１ｈは、主記憶３０からのリード時にリードした値について、障害検出および訂正を実施する。障害を検出した時、信号線１１ａ−４における信号が「０」なら通常アクセスでの障害を意味し、「１」ならメモリパトロールでの障害を意味する。
また、障害検出・訂正回路１１ｈは、障害を検出すると、主記憶３０で何らかの障害が発生したことをＢＭＣ２０に通知する。
【００３５】
リードデータレジスタ１１ｉは、主記憶からのリード時に、リードデータを格納する。
障害情報保持回路１１ｊは、障害検出・訂正回路１１ｈにより訂正可能障害が検出された場合に、検出された障害に関する情報（以下、障害検出情報と称する場合がある。）を格納する。この障害検出情報には、障害を検出した箇所を示す情報、障害の内容、障害が発生したのが通常アクセスかメモリパトロールによるアクセスかの判別情報、障害の種類（訂正可能障害か等）、障害を検出したアクセスの情報（アドレスやリードデータ等）を含めることができる。
【００３６】
ＢＭＣ２０は、重大なハードウェアエラーを常時監視し、監視結果をＯＳ等に通知する。このハードウェアエラーとしては、例えば電源ユニットからの供給電圧、プロセッサ等の温度などのエラーを挙げることができる。
図１に示すように、本実施形態のＢＭＣ２０は、障害発生ページ記憶手段２１、切り離し判定手段２２、通報／通知手段（報知手段）２３を備えている。
【００３７】
障害発生ページ記憶手段２１は、切り離し判定手段２２により、障害が発生したと判定されたページ（以降、障害発生ページと称する場合がある）を記憶する記憶手段である。
【００３８】
切り離し判定手段２２は、次の２種類の切り離し判定を実行する。
まず、切り離し判定手段２２は、訂正可能障害が発生したページが、オペレーションシステムにより既に切り離されたページであるか否かの判定を、訂正可能障害が発生したページと障害発生ページ記憶手段２１に記憶されている障害発生ページとを比較することにより行う。
【００３９】
また、切り離し判定手段２２は、訂正可能障害が発生したページが、ＯＳにより切り離されたものであるか否かの判定を、ページ切り離し検出制御部１１ｅにより行われた当該ページに対する通常アクセスが検出されたか否かの検出結果にもとづいて行う。
すなわち、切り離し判定手段２２は、メモリコントローラ１１におけるページ切り離し検出制御部１１ｅに対してページ切り離し検出設定を行い、規定時間後に、メモリコントローラ１１から通常アクセスがあったか否かの情報を採取して、障害発生ページがＯＳにより切り離されているか否かを判定する。
【００４０】
このとき、切り離し判定手段２２は、通常アクセスがなかった場合、障害発生ページがＯＳにより切り離されていると判定し、通常アクセスがあった場合、障害発生ページがＯＳにより切り離されていないと判定する。
そして、切り離されていると判定した場合、切り離し判定手段２２は、障害が発生したと判定したページを障害発生ページ記憶手段２１に記憶させる。
【００４１】
通報／通知手段２３は、切り離し判定手段２２によって、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであると判定され、かつ、訂正可能障害がメモリパトロールにより検出された障害でないと判定された場合、障害発生を保守部門に通報し及び／又はＯＳに通知する。
また、通報／通知手段２３は、切り離し判定手段２２によって、訂正可能障害が発生したページがオペレーションシステムにより既に切り離されたページであると判定され、かつ、訂正可能障害がメモリパトロールにより検出された障害であると判定された場合、保守部門に対する障害発生の通報及びＯＳに対する障害発生の通知を行わない。
なお、保守部門への通報とは、保守部門におけるコンピュータなどの情報処理装置へ障害発生報告を送信したり、保守員の携帯電話機へ障害発生報告を発信することを意味する。
【００４２】
主記憶３０は、本実施形態のメモリパトロール障害検出システムにおける一次記憶装置であり、チップセット１０からアドレス、制御信号、データを入力する。
プロセッサ４０（４０ａ，・・・，４０ｎ）としては、ＣＰＵ（central  processing  unit）や、ＦＰＵ（floating  point  number  processing  unit）、ＧＰＵ（graphics  processing  unit）など各種処理装置を用いることができる。
【００４３】
Ｉ／Ｏカード６０（６０ａ，・・・，６０ｎ）としては、シリアルインターフェース、パラレルインターフェース、フレキシブルディスクコントローラ、ＩＤＥハードディスクコントローラ、ＧＰＩＢインターフェースカードなどの各種Ｉ／Ｏカードを用いることができる。
【００４４】
次に、本実施形態のメモリパトロール障害検出システムにおける処理手順について、図２及び図３を参照して説明する。これらは、本実施形態のメモリパトロール障害検出システムにおける処理手順を示すフローチャートである。
まず、主記憶３０で訂正可能障害が発生すると、図２に示すように、チップセット１０におけるメモリコントローラ１１がこれを検出し（ステップ１０）、主記憶３０で何らかの障害が発生したことをＢＭＣ２０に通知する（ステップ１１）。
【００４５】
ＢＭＣ２０は、メモリコントローラ１１における障害情報保持回路１１ｊから障害検出情報を入力して（ステップ１２）、訂正可能障害が発生したページ（障害発生ページ）を判別する。また、この障害発生ページがＯＳにより既に切り離されているものであるか否かを判定する（ステップ１３）。
このとき、ＢＭＣ２０における切り離し判定手段２２は、障害発生ページが、ＢＭＣ２０における障害発生ページ記憶手段２１に切り離されたページとして記憶されているか否かを確認して、記憶されている場合には、既に切り離されているページであると判定し、記憶されていない場合には、まだ切り離されていないと判定する。
【００４６】
そして、既に切り離されていると判定された場合、ＢＭＣ２０における通報／通知手段２３は、障害検出情報にもとづき通常アクセスでの障害であるか否かを確認し（ステップ１４）、通常アクセスでの障害でなければ、保守部門への通報やＯＳへの通知を行わない（ステップ１５）。
【００４７】
すなわち、通常アクセスでの障害でない場合、当該障害はメモリパトロールによって検出された障害であり、切り離されたページは既にＯＳからは使用されていない領域であるため、本来障害報告等を行う必要はない。
したがって、この場合には、通報／通知を行わず、無駄な障害報告等を抑止することを可能としている。
【００４８】
また、後述するように、本実施形態では、ＯＳにより訂正可能障害が発生したページが切り離されたか否かについて、ＯＳからの通知を受けることなく、メモリコントローラ１１及びＢＭＣ２０により検出することを可能としている。
このため、ＯＳの変更や修正等を行うことなく、ＯＳが切り離したページにおいてメモリパトロールにより検出された障害の障害報告を、抑止することが可能となっている。
【００４９】
次に、ＢＭＣ２０における切り離し判定手段２２は、訂正可能障害が発生したページが既に切り離されていると判定し、かつ、通常アクセスでの障害であると判定した場合、障害発生ページ記憶手段２１に記憶されている既に切り離されたページの情報から、当該障害発生ページを削除する（ステップ１６）。
【００５０】
すなわち、この場合、以前に実施された障害発生ページはＯＳにより切り離されたとの判定が間違ってなされた結果、障害発生ページの情報がＢＭＣ２０に記憶されていたことを意味する。これは、後述するページ切り離し検出設定の実施中に、たまたま障害発生ページへのアクセスがなかった時に、発生する。
【００５１】
このため、上記ステップ１６において、ＢＭＣ２０は、障害発生ページの情報を、障害発生ページ記憶手段２１から削除することにより、障害発生ページが切り離されたとの判定を解除している。
そして、ＢＭＣ２０における通報／通知手段２３は、保守部門への通報（ステップ１７）やＯＳへの通知（ステップ１９）を実施し、保守部門では、障害が発生したことを認識することが可能となっている（ステップ１８）。
【００５２】
また、通知を受けたＯＳは、ＯＳ自身のアルゴリズムに基づいて、障害発生ページを切り離すかどうか判断する（ステップ２０）。
そして、切り離さない場合は、通常動作を継続し（ステップ２１）、切り離す場合はページ切り離し処理を実施して（ステップ２２）、通常動作を継続する（ステップ２３）。これによって、以降、切り離されたページへのアクセスは行われない。
【００５３】
次に、ステップ１３において、ＢＭＣ２０における切り離し判定手段２２により、障害発生ページがまだ切り離されていないと判定された場合、ＢＭＣ２０における通報／通知手段２３は、保守部門への通報やＯＳへの通知を実施する（ステップ２４，２５）。
そして、ＢＭＣ２０における切り離し判定手段２２が、図３に示すように、ページ切り離し判定処理を実施する。このページ切り離し判定処理により、障害発生後に、障害発生ページがＯＳにより切り離されたか否かを、ＯＳからの通知によらず、またＯＳに変更を加えることなく、判定することが可能になっている。
【００５４】
まず、ＢＭＣ２０における切り離し判定手段２２は、規定時間待った後（ステップ２６）、メモリコントローラ１１におけるページ切り離し検出制御部１１ｅに対して、ページ切り離し検出設定の実施を指示する（ステップ２７）。この規定時間は、ＯＳにより行われるページ切り離し処理が適切に完了するまでに十分な時間であり、その時間は処理を行うコンピュータの処理速度等により変動するため、コンピュータごとに個別に適切な時間を設定する。
【００５５】
このとき、メモリコントローラ１１のページ切り離し検出制御部１１ｅにおいて、検出対象のページ（障害発生ページ）のアドレス情報が、検出対象ページ指定レジスタ１１ｅ１に設定され、当該指定ページに対する通常アクセスの検出が開始される。
また、検出対象ページ指定レジスタ１１ｅ１へのアドレス設定がなされると、所定のタイミングで、比較回路１１ｅ２により、この設定値と通常アドレスレジスタ１１ｃの値の比較が行われる（ステップ２８）。
【００５６】
比較回路１１ｅ２による比較の結果、設定値と通常アドレスレジスタ１１ｃの値が一致した場合、検出対象のページに対し、通常アクセスがあったと判断できる。このとき、ページ切り離し検出制御部１１ｅは、通常アクセスがあったことを示す情報を保持する。
【００５７】
メモリコントローラ１１に対するページ切り離し検出設定の実施指示後、ＢＭＣ２０は、規定時間待った後に（ステップ２９）、ページ切り離し検出制御部１１ｅに設定させた検出対象のページに対し、通常アクセスがあったどうかの情報を採取する（ステップ３０）。この規定時間は、通常アクセスがないということにもとづいて、検出対象のページがＯＳによって切り離されたとほぼ判断し得るのに十分な時間であり、その時間の長さは当該判断の精度に依存し、処理を行うコンピュータの処理速度等により変動するため、コンピュータごとに個別に適切な時間を設定する。
【００５８】
そして、ＢＭＣ２０における切り離し判定手段２２は、メモリコントローラ１１から通常アクセスがあったことを示す情報が採取できたか否かにもとづいて、ＯＳにより検出対象のページが切り離されたか否かを判定する（ステップ３１）。
すなわち、通常アクセスがあった場合、切り離し判定手段２２は、ＯＳによる障害発生ページの切り離しは行われていないと判定する。
【００５９】
そして、切り離し判定手段２２は、メモリコントローラ１１におけるページ切り離し検出制御部１１ｅに対して、ページ切り離し検出設定の解除を指示し（ステップ３２）、ページ切り離し検出設定を終了する（ステップ３３）。
メモリコントローラ１１におけるページ切り離し検出制御部１１ｅは検出対象ページ指定レジスタ１１ｅ１から障害発生ページを削除することにより、ページ切り離し検出設定を解除し、当該指定ページへの通常アクセスの検出を終了する（ステップ３４）。
【００６０】
一方、ステップ３０において、通常アクセスがなかった場合、ＢＭＣ２０における切り離し判定手段２２は、ＯＳにより障害発生ページが切り離されたと判定する。
そして、切り離し判定手段２２は、この障害発生ページを障害発生ページ記憶手段２１に記憶する（ステップ３５）。
【００６１】
また、切り離し判定手段２２は、メモリコントローラ１１におけるページ切り離し検出制御部１１ｅに対して、ページ切り離し検出設定の解除を指示し（ステップ３６）、ページ切り離し検出設定を終了する（ステップ３７）。
メモリコントローラ１１におけるページ切り離し検出制御部１１ｅは検出対象ページ指定レジスタ１１ｅ１から障害発生ページを削除することにより、ページ切り離し検出設定を解除し、指定ページへの通常アクセスの検出を終了する（ステップ３４）。
【００６２】
以上説明したように、本実施形態のメモリパトロール障害検出システム、メモリパトロール検出障害報告抑止方法、ＢＭＣ、及び集積回路によれば、ＯＳが切り離したページにおいて発生した障害がメモリパトロールにより検出された場合に、保守部門への障害通報やＯＳへの障害通知が行われることを、ＯＳの修正を行うことなく、抑止することが可能となっている。
【００６３】
［第二実施形態］
次に、本発明の第二実施形態について、図４を参照して説明する。同図は、本実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
本実施形態は、チップセット１０とプロセッサ４０の間、及びチップセット１０とＩ／Ｏカード６０の間をバス接続ではなく、１対１の接続により構成した点で第一実施形態と異なる。
【００６４】
すなわち、図４に示すように、本実施形態のメモリパトロール障害検出システムでは、各プロセッサ４０（４０ａ，・・・，４０ｎ）が、それぞれプロセッサインタフェース８０（８０ａ，・・・，８０ｎ）によりチップセット１０に接続されている。また、各Ｉ／Ｏカード６０（６０ａ，・・・，６０ｎ）が、それぞれ、例えばＰＣＩ  Ｅｘｐｒｅｓｓ  Ｉ／ＦなどのＩ／Ｏインタフェース９０（９０ａ，・・・，９０ｎ）によりチップセット１０に接続されている。
【００６５】
その他の点については、第一実施形態と同様であり、本実施形態のメモリパトロール障害検出システムにおけるチップセット１０、ＢＭＣ２０、及びこれらによるメモリパトロール検出障害報告抑止方法は、第一実施形態におけるものと同様のものとすることができる。
なお、図４では、チップセット１０とプロセッサ４０の間、及びチップセット１０とＩ／Ｏカード６０の間の双方を１対１の接続により構成しているが、いずれか一方のみを１対１の接続により構成し、他方をバス接続により構成することも可能である。
【００６６】
［第三実施形態］
次に、本発明の第三実施形態について、図５を参照して説明する。同図は、本実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
本実施形態は、メモリコントローラ１１がチップセット１０内ではなく、プロセッサ４０内に備えられている点で第一実施形態と異なる。
【００６７】
すなわち、本実施形態のメモリパトロール障害検出システムは、図５に示すように、一又は二以上のＬＳＩで構成されたチップセット１０、ＢＭＣ２０、一又は二以上のプロセッサ４０（４０ａ，・・・，４０ｎ）、各プロセッサ４０に対応する主記憶３０（３０ａ，・・・，３０ｎ）、一又は二以上のＩ／Ｏカード６０（６０ａ，・・・，６０ｎ）を有している。
【００６８】
チップセット１０とプロセッサ４０の間はプロセッサバス５０で接続され、チップセット１０とＩ／Ｏカード６０の間はＩ／Ｏバス７０で接続され、チップセット１０とＢＭＣ２０及びプロセッサ４０とＢＭＣ２０のそれぞれの間は診断Ｉ／Ｆ２４で接続されている。
また、プロセッサ４０の内部には、演算を実施する一又は二以上のプロセッサコア４１（４１−１，・・・，４１−ｎ）、プロセッサバス５０を制御するバスコントローラ４２、主記憶へのアクセスを制御するメモリコントローラ１１が含まれている。
【００６９】
本実施形態のメモリパトロール障害検出システムでは、ＢＭＣ２０と、各プロセッサ４０におけるメモリコントローラ１１ごとに、図２及び３に示したものと同様の処理が行われる。すなわち、本実施形態では、これらの図に示す処理において、障害発生ページ記憶手段２１がメモリコントローラ１１ごとに障害発生ページを記憶し、切り離し判定手段２２がメモリコントローラ１１ごとに切り離し判定を行い、通報／通知手段２３が、メモリコントローラ１１ごとに通報／通知を実行する。
【００７０】
その他の点については、第一実施形態と同様であり、本実施形態のメモリパトロール障害検出システムにおけるメモリコントローラ１１、ＢＭＣ２０、及びこれらによるメモリパトロール検出障害報告抑止方法は、第一実施形態におけるものと同様のものとすることができる。
なお、図５では、チップセット１０とプロセッサ４０の間、及びチップセット１０とＩ／Ｏカード６０の間をバス接続により構成しているが、いずれか一方、又は双方の接続を１対１の接続により構成することも可能である。
【００７１】
本発明は、以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、上記実施形態におけるＩ／Ｏカード６０を省略したり、メモリコントローラ１１において、複数の機能を一の回路により構成し、あるいは一の回路を機能ごとに複数の回路に分割するなど適宜変更することが可能である。
【産業上の利用可能性】
【００７２】
本発明は、主記憶に対するメモリパトロールを実施することにより、訂正可能障害又は訂正不可能障害が主記憶で発生していないかどうかをチェックするコンピュータシステムにおいて好適に利用することが可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の第一実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
【図２】本発明の第一実施形態のメモリパトロール障害検出システムにおける処理手順を示すフローチャート１である。
【図３】本発明の第一実施形態のメモリパトロール障害検出システムにおける処理手順を示すフローチャート２である。
【図４】本発明の第二実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
【図５】本発明の第三実施形態のメモリパトロール障害検出システムの構成を示すブロック図である。
【図６】従来のメモリパトロール障害検出システムの構成を示すブロック図である。
【図７】従来のメモリパトロール障害検出システムにおける処理手順を示すフローチャートである。
【符号の説明】
【００７４】
１０  チップセット
１１  メモリコントローラ
１１ａ  メモリパトロール実行指示回路
１１ａ−１，１１ａ−２，１１ａ−３，１１ａ−４  信号線
１１ｂ  メモリパトロールアドレスレジスタ
１１ｃ  通常アドレスレジスタ
１１ｄ  アドレスセレクタ
１１ｅ  ページ切り離し検出制御部
１１ｅ１  検出対象ページ指定レジスタ
１１ｅ２  比較回路
１１ｆ  メモリアクセス制御回路
１１ｇ  ライトデータレジスタ
１１ｈ  障害検出・訂正回路
１１ｉ  リードデータレジスタ
１１ｊ  障害情報保持回路
２０  ＢＭＣ（ベースボードマネジメントコントローラ）
２１  障害発生ページ記憶手段
２２  切り離し判定手段
２３  通報／通知手段
２４  診断Ｉ／Ｆ
３０  主記憶
４０（４０ａ，・・・，４０ｎ）  プロセッサ
５０  プロセッサバス
６０（６０ａ，・・・，６０ｎ）  Ｉ／Ｏカード
７０  Ｉ／Ｏバス
８０（８０ａ，・・・，８０ｎ）  プロセッサインタフェース
９０（９０ａ，・・・，９０ｎ）  Ｉ／Ｏインタフェース
１００  チップセット
１０１  メモリコントローラ
１０１ａ  メモリパトロール実行指示回路
１０１ａ−１，１０１ａ−２，１０１ａ−３，１０１ａ−４  信号線
１０１ｂ  メモリパトロールアドレスレジスタ
１０１ｃ  通常アドレスレジスタ
１０１ｄ  アドレスセレクタ
１０１ｅ  メモリアクセス制御回路
１０１ｆ  ライトデータレジスタ
１０１ｇ  障害検出・訂正回路
１０１ｈ  リードデータレジスタ
１０１ｉ  障害情報保持回路
２００  ＢＭＣ
２０１  診断Ｉ／Ｆ
３００  主記憶
４００（４００ａ，・・・，４００ｎ）  プロセッサ
５００  プロセッサバス
６００（６００ａ，・・・，６００ｎ）  Ｉ／Ｏカード
７００  Ｉ／Ｏバス
【図１】
2010044701.tif 000003
【図２】
2010044701.tif 000004
【図３】
2010044701.tif 000005
【図４】
2010044701.tif 000006
【図５】
2010044701.tif 000007
【図６】
2010044701.tif 000008
【図７】
2010044701.tif 000009