(57)【要約】  メモリ２２５は、各コア１１６〜１１８のログ情報を記憶している。いずれかのコアに異常が発生した場合に、各コアは、メモリ２２５に記憶されている、自コアのログ情報をバックアップ記憶装置１２６に書き込む。これにより、異常が発生したコア以外のコアのログ情報をバックアップ記憶装置１１６に保存することができる。
2013121502.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
前記第１の記憶装置とは異なる第２の記憶装置とを有し、
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とするプロセッサシステム。
【請求項２】
各プロセッサユニットは、
自プロセッサユニットに異常が発生していなくても、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項１に記載のプロセッサシステム。
【請求項３】
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項１に記載のプロセッサシステム。
【請求項４】
前記プロセッサシステムは、更に、
いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
前記異常発生通知装置により異常の発生が通知された際に、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項１に記載のプロセッサシステム。
【請求項５】
前記プロセッサシステムは、更に、
いずれかのプロセッサユニットにおいて異常が発生した場合に、マルチキャストにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
前記複数のプロセッサユニットの中で最初に前記異常発生通知装置からの通知を取得した場合に、異常の発生を他のプロセッサユニットに通知し、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項１に記載のプロセッサシステム。
【請求項６】
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生したことを他のプロセッサユニットから通知された際に、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項５に記載のプロセッサシステム。
【請求項７】
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されているログ情報が書き込まれる第２の記憶装置とを有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とするプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサユニットが含まれるプロセッサシステムに関する。【０００２】
本明細書では、以降、１つのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）パッケージ内に複数の処理系（ＣＰＵコア、以下、単にコアという）が配置されているマルチコアＣＰＵを中心にして説明を進めるが、複数のＣＰＵ（シングルコアＣＰＵ又はマルチコアＣＰＵ）が配置されているマルチＣＰＵシステム、マルチプロセッサシステムにも本明細書に記載の説明は適用される。
つまり、以下で示すマルチコアＣＰＵの「コア」は、マルチＣＰＵシステム、マルチプロセッサシステムにおける個々の「ＣＰＵ」、「プロセッサ」と読み替えることができる。
また、「プロセッサユニット」との語は、マルチコアＣＰＵにおける「コア」と、マルチＣＰＵシステム、マルチプロセッサシステムにおける「ＣＰＵ」及び「プロセッサ」のいずれも含む概念として用いている。
【背景技術】
【０００３】
ＲＡＳ方式（ＲＡＳ：  Ｒｅｌｉａｂｉｌｉｔｙ，  Ａｖａｉｌａｂｉｌｉｔｙ，  Ｓｅｒｖｉｃｅａｂｉｌｉｔｙ））は、マルチコアＣＰＵの１つのコアの異常をｗａｔｃｈｄｏｇ  ｔｉｍｅｒ（以下、「ＷＤＴ」と略記とする）で検知して、メモリ上のログ情報（以下、単に「ログ」ともいう）をバックアップ記憶装置に保存する異常対処方式である。
ＷＤＴはコンピュータのハードウェア時間計測器である。
ＲＡＳ方式では、メインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作（ＷＤＴのリセット操作）が行なわれなかった（ＷＤＴタイムアウト）場合に、例外処理（ＷＤＴ例外）が実行される。
例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合に実行させることが多いが、システムを強制停止させる場合や電源を切断した後の再投入時に実行されることもある。
障害を引き起こした問題のデバッグに役立つ情報などを媒体に保存する機能を持つＲＡＳ方式の場合、ＷＤＴはより複雑な処理を行う。
たとえば、ＷＤＴのタイムアウトによって開始されたログ情報の保存処理がある時間内に完了しなかった場合に、ログ情報が保存されていてもいなくても、ＷＤＴは、一定のディレイ時間経過後にシステムを確実にリセットさせる。【０００４】
ＷＤＴが最も多く使われているのは組み込みシステムで、マイクロコントローラにＷＤＴが内蔵されることもある。
単体のＣＰＵだけでなく、マルチコアＣＰＵ、マルチプロセッサなど複数のＣＰＵを持つシステムに対してＷＤＴを適用する方法も提案されている。【０００５】
また、特許文献１では、マルチプロセッサシステムにおいて、あるプロセッサが、自プロセッサが動作異常状態であることを別のプロセッサにＷＤＴ例外で通知し、その別のプロセッサが動作異常状態のプロセッサへ異常回復動作のトリガとなる割込みを通知し、動作異常状態のプロセッサが割込みを受付けない場合には、その別のプロセッサが動作異常状態のプロセッサをリセットする方式が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−３１１１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
あるプロセッサに異常が発生した場合に、異常が発生したプロセッサのログ情報に加え、異常が発生していない他のプロセッサのログ情報も障害解析やシステム復旧のための重要な手掛かりとなる。
特許文献１の技術では、異常が発生したプロセッサのログ情報はバックアップ記憶装置に保存されるが、異常が発生していない他のプロセッサのログ情報は保存されない。【０００８】
この発明は、このような点に鑑みたものであり、いずれかのプロセッサユニットに異常が発生した場合に、異常が発生していない他のプロセッサユニットのログ情報を保存できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るプロセッサシステムは、
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
前記第１の記憶装置とは異なる第２の記憶装置とを有し、
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、各プロセッサユニットは、いずれかのプロセッサユニットにおいて異常が発生した場合に、第１の記憶装置の自プロセッサユニットのログ情報を第２の記憶装置に書き込む。
このため、異常が発生していないプロセッサユニットのログ情報を保存することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係るＣＰＵボードの構成例を示す図。
【図２】実施の形態１に係る正常時の動作例を説明する図。
【図３】実施の形態１に係る異常発生時の動作例を説明する図。
【図４】実施の形態１に係る異常発生時の動作例を示すフローチャート図。
【図５】実施の形態１に係る異常発生時の動作例を示すフローチャート図。
【図６】実施の形態１に係る異常発生時の動作例を示すフローチャート図。
【図７】実施の形態２に係るＣＰＵボードの構成例を示す図。
【図８】実施の形態２に係る正常時の動作例を説明する図。
【図９】実施の形態２に係る異常発生時の動作例を説明する図。
【図１０】実施の形態２に係る異常発生時の動作例を示すフローチャート図。
【図１１】実施の形態２に係る異常発生時の動作例を示すフローチャート図。
【図１２】実施の形態２に係る異常発生時の動作例を示すフローチャート図。
【図１３】実施の形態２に係る異常発生時の動作例を示すフローチャート図。
【図１４】実施の形態２に係るハイパーバイザとＯＳ、コア、アプリケーションとの関係を示す図。
【発明を実施するための形態】
【００１２】
以下に示す実施の形態１及び実施の形態２では、いずれかのコアに異常が発生した場合に、異常が発生していない他のコアのログ情報をバックアップ記憶装置に保存できる構成を説明する。
また、実施の形態１及び実施の形態２では、異常発生が発生した異常発生コアの異常対処機能（ＲＡＳ機能）が正常に動作しない場合でも、異常発生コアのログ情報を、バックアップ記憶装置に保存できる構成を説明する。
従来の技術では、マルチコアＣＰＵの一つのコアの異常をＷＤＴで検知してメモリ上のログをバックアップ記憶装置に保存して最終的にボードリセットするような異常対処方式（ＲＡＳ方式）において、異常発生コア上のＲＡＳ機能が正常に動作しない場合、異常発生コアの異常発生時のログを保存することができないという課題がある。
例えば、特許文献１の技術では、ＷＤＴで検知した１つのプロセッサの異常を他のプロセッサに通知して、他のプロセッサ経由で異常発生プロセッサに対して異常回復動作のトリガをかけるが、この異常回復動作は異常発生プロセッサ自身が行うため、この異常回復動作が正常に動作しない場合、異常発生プロセッサのログをバックアップ記憶装置に保存することはできない。
実施の形態１及び実施の形態２では、このような点に鑑み、異常発生コアのログを、異常発生コアのＲＡＳ機能が正常に動作しない場合でも、バックアップ記憶装置に保存できるようにする構成、及び、異常が発生していない他のコアのログをバックアップ記憶装置に保存できる構成を説明する。
【００１３】
実施の形態１．
［実施の形態１：構成の説明］
図１は、本実施の形態に係るＣＰＵボード１００の構成例を示すブロック図である。
ＣＰＵボード１００のハードウェア構成要素は、Ｎ個のコア１１６〜１１８と、各コアに対応するＮ個のＷＤＴ１２０〜１２２と、メモリ１２５と、バックアップ記憶装置１２６と、割込みコントローラ１１９と、ディレイ装置１２３と、ボードリセット装置１２４である。
コア１１６〜１１８は、それぞれ、プロセッサユニットの例に相当する。
また、メモリ１２５は、第１の記憶装置の例に相当する。
また、バックアップ記憶装置１２６は、第２の記憶装置の例に相当する。
また、割込みコントローラ１１９は、異常通知装置の例に相当する。
【００１４】
コア１１６〜１１８のソフトウェア構成要素は、ＷＤＴを周期的にリセットするアプリケーション（周期処理ＡＰＰ）１０１〜１０３と、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０４〜１０６と、ＲＡＳ処理部１０７〜１０９と、ＷＤＴドライバ１１０〜１１２と、ＷＤＴ例外ハンドラ１１３〜１１５である。
【００１５】
なお、ＷＤＴ１２０〜１２２に代えて、タイマ動作をして、ＣＰＵの異常発生を通知する仕組みをもつ外部ＷＤＴを用いてもよい。
また、後述では、「各ＷＤＴは、ＷＤＴタイムアウトが発生すると全コア数分のＷＤＴ例外を割込みコントローラ１１９に通知するよう設定される」旨を説明しているが、ＷＤＴ１２０〜１２２に代えて、同じ動作を行うハードウェアを用いてもよい。
【００１６】
［実施の形態１：設定の説明］
実施の形態１における、ＷＤＴ１２０〜１２２と割込みコントローラ１１９のハードウェア設定について説明する。
各ＷＤＴは、ＷＤＴタイムアウトが発生すると全コア数分のＷＤＴ例外を割込みコントローラ１１９に通知するよう設定される。
割込みコントローラ１１９は、ＷＤＴ例外を受付けると、ラウンドロビンで全コアに対してＷＤＴ例外を通知するよう設定される。
【００１７】
［実施の形態１：動作の概要説明］
次に動作について説明する。
実施の形態１では、ＷＤＴ例外発生時に全コアのＲＡＳ処理部に順番に異常発生が通知され、各コアのＲＡＳ処理部は、自コアのログをバックアップ記憶装置１２６に保存する。
また、異常発生コアのＲＡＳ処理部が正常に動作しない場合は、正常動作する他コアのＲＡＳ処理部が代替して異常発生コアのログの保存を行う。
本実施の形態に係る動作の概要は以下の通りである。
【００１８】
ｉ）前述の［実施の形態１：設定の説明］の通り、ＷＤＴは、ＷＤＴタイムアウトが発生すると全コア数分のＷＤＴ例外を割込みコントローラ１１９に通知する。
つまり、ＷＤＴは、１回のＷＤＴタイムアウト発生に対して、コア数分のＷＤＴ例外発生通知（Ｎ個のＷＤＴ例外発生通知）を割込みコントローラ１１９に出力する。
割込みコントローラ１１９は、ＷＤＴからのＷＤＴ例外発生通知を入力すると、各コアへラウンドロビンで順番に異常発生の通知を行う。
これらにより、１回のＷＤＴのタイムアウト発生に対して、全てのコアへ順番に異常の発生が通知される。
ｉｉ）異常発生通知を受けた各コアのＲＡＳ処理部では、各自のコアのログをバックアップ記憶装置１２６に保存する。
ｉｉｉ）異常発生通知を受けた各コアのＲＡＳ処理部は、どのコアのＷＤＴがＷＤＴ例外発生通知を出力したかをＷＤＴ例外の種類で知ることができる。
異常発生コア以外のコアのＲＡＳ処理部は、異常発生コアのログのバックアップ記憶装置１２６への保存が開始されているかどうかを判定する。
そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのＲＡＳ処理部は、異常発生コアのログのバックアップ記憶装置１２６への保存を行う。
【００１９】
［実施の形態１：動作の詳細説明］
次に、本実施の形態に係る動作の詳細について説明する。
【００２０】
（動作の詳細説明：正常時の動作）
まず正常時の動作を、図２を用いて説明する。
コア１（１１６）の周期処理ＡＰＰ−１（１０１）は周期的にＷＤＴリセットを行う。
周期処理ＡＰＰ−１（１０１）は、ＷＤＴドライバ１１０を経由してＷＤＴ−１（１２０）をリセットする。
正常時はＷＤＴタイムアウトが発生する前にＷＤＴリセットが行われるため、ＷＤＴ例外は発生しない。
コア２（１１７）、コアＮ（１１８）においても同様の処理（１０２→１１１→１２１、１０３→１１２→１２２の矢印）が行われる。
【００２１】
（動作の詳細説明：異常発生時の動作）
次に、異常発生時の動作を、図４、図５及び図６のフローチャートを用いて説明する。
この時のブロック図上での処理の流れは図３を使って補足する。
ここでは、コア１（１１６）に異常が発生し、ＷＤＴ−１（１２０）でＷＤＴ例外が発生した例で説明する。
【００２２】
Ｓ１１１において、ＷＤＴタイムアウトが発生する。
Ｓ１１２において、ＷＤＴ−１（１２０）は一定時間ディレイ後にボードリセットを行う処理を呼出す（図３の１２０から１２３への矢印）。
Ｓ１０１において一定時間ディレイした後に、ボードリセット処理Ｓ１０２が呼出される（図３の１２３から１２４への矢印）。
このディレイ時間はＲＡＳ処理部が全てのコアのログをバックアップ記憶装置１２６に保存を終える時間に比べて十分大きい時間とする。
Ｓ１１３において、ＷＤＴ−１（１２０）はコア数分のＷＤＴ例外を割込みコントローラ１１９に通知する（図３の１２０から１１９への矢印）。
Ｓ１７１において、割込みコントローラ１１９はＷＤＴ−１（１２０）より全コア数分のＷＤＴ例外通知を入力し、ラウンドロビンで各コアのＷＤＴ例外ハンドラにＷＤＴ−１（１２０）の例外を通知する（図３の１１９から１１３，１１４，１１５への矢印）。
【００２３】
次に、コア１（１１６）への例外通知後の動作（Ｓ１２０：ログバックアップ処理）を、図５を参照して説明する。
【００２４】
Ｓ１２１において異常発生コア（コア１）のＷＤＴ例外ハンドラ１１３が正常に動作せず、異常発生コアのＲＡＳ処理部１（１０７）が実行されなかった場合には、異常発生コアのＲＡＳ処理部１（１０７）による異常発生コアのログのバックアップ記憶装置１２６への保存はできない（Ｓ１２２）。
Ｓ１２１において異常発生コアのＷＤＴ例外ハンドラ１１３が正常に動作した場合、Ｓ１２３において、ＷＤＴ例外ハンドラ１１３は、自コアのＲＡＳ処理部１（１０７）に異常を通知する（図３の１１３から１０７への矢印）。
Ｓ１２４において、ＲＡＳ処理部１（１０７）は、異常発生コアのログのバックアップ記憶装置１２６へのコピーが開始されているかどうかを判断し、コピーが開始されていない場合には、Ｓ１２５で異常発生コアのログをバックアップ記憶装置へコピーする（図３の１０７から１２７，１３０への矢印）。
ここで各コアのログのバックアップ記憶装置１２６へのコピーが開始されたかどうかは、メモリ１２５上のフラグやセマフォなどの共有資源を使って確認できるものとする。
【００２５】
前述したように、割込みコントローラ１１９はラウンドロビンにより各コアのＷＤＴ例外ハンドラにＷＤＴ例外の発生を通知するため、異常発生コア（コア１）のＲＡＳ処理部１（１０７）よりも先に、他のコアのＲＡＳ処理が、異常発生コアのログのコピーを開始している場合がある（図６のＳ１３５）。
このため、ＲＡＳ処理部１（１０７）は、Ｓ１２４で他のコアのＲＡＳ処理部によりログのコピーが開始されているか否かを確認する。
【００２６】
次に、ＲＡＳ処理部１（１０７）は、Ｓ１２６において、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、ＲＡＳ処理部１（１０７）の処理が完了する。
一方、Ｓ１２５において全てのコアのログコピーが完了していた場合には、ＲＡＳ処理部１（１０７）は、Ｓ１０２のボードリセット処理を呼出す（図３ではコアＮのＲＡＳ処理部が全てのコピー完了したことを確認した例であり、１０９から１２４への矢印となる）。
ここで、全てのコアのログコピーが完了したかどうかは、メモリ１２５上のフラグやセマフォなどの共有資源を使って確認できるものとする。
また、図３のボードリセット装置１２４のボードリセット処理は、ディレイ装置１２３のディレイ後にも呼出されるが、全てのＲＡＳ処理の完了を確認した時点でボードリセットを行う方が、ディレイを待たずにその分だけ早くボードリセットできる効果がある。
【００２７】
次に、コア２（１１７）及びコアＮ（１１８）への例外通知後の動作（Ｓ１３０：ログバックアップ処理）を、図６を参照して説明する。
以下では、コア２（１１７）の処理として説明するが、コアＮ（１１８）でも同様の処理が行われる。
【００２８】
Ｓ１３１において、コア２（１１７）のＲＡＳ処理部２（１０８）がＷＤＴドライバ１１１を経由してＷＤＴ−２（１２１）をリセットする（図３の１０８から１１１経由で１２１への矢印）。
これは、ＷＤＴ−１（１２０）の例外発生通知の受信によるＲＡＳ処理を行っている間に、異常発生コア以外のＷＤＴタイムアウトが発生しないようにするための処理である。
次に、Ｓ１３２において、コア２（１１７）のＷＤＴ例外ハンドラ１１４がコア２（１１７）のＲＡＳ処理部２（１０８）に異常を通知する（図３の１１４から１０８への矢印）。
次に、ＲＡＳ処理部２（１０８）は、Ｓ１３３において、コア２（１１７）のログをバックアップ記憶装置１２６へコピーする（図３の１０８から１２８，１３１への矢印）。
次に、ＲＡＳ処理部２（１０８）は、Ｓ１３４において異常発生コア（コア１）のログのバックアップ記憶装置１２６へのコピーが開始されているか確認し、開始されていなければ、Ｓ１３５で異常発生コアのログをバックアップ記憶装置１２６へコピーする（図３の１２７から１３０への矢印をコア２のＲＡＳ処理部２（１０８）が代替して実施）。
これにより、異常発生コア以外のＲＡＳ処理部が代替して異常発生コアのログをバックアップ記憶装置１２６へコピーすることができる。
次に、Ｓ１３６において、ＲＡＳ処理部２（１０８）は、全てのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、ＲＡＳ処理部２（１０８）の処理が完了する。
一方、Ｓ１３６において全てのコアのログコピーが完了していた場合には、ＲＡＳ処理部２（１０８）は、Ｓ１０２のボードリセット処理を呼出す。
【００２９】
［実施の形態１：効果］
以上のように、全コアのＲＡＳ処理部に順番に異常発生を通知し、各コアのＲＡＳ処理部が、自コアのログ情報をバックアップ記憶装置に保存する。
このため、異常発生コア以外の他のコアのログ情報も、バックアップ記憶装置に保存することができ、ボード全体の障害解析に役立てることができる。
また、異常発生コアのＲＡＳ処理部が正常に動作しない場合でも、異常発生コアのログ情報の保存を正常動作する他のコアが代替することにより、異常発生コアのログ情報をバックアップ記憶装置に保存することができる。
また、本実施の形態では、ＷＤＴの設定や割込みコントローラの設定は既存の技術を利用しているため、本実施の形態に係る仕組みを簡易かつ安価に実現することが可能である。
【００３０】
実施の形態２．
以上の実施の形態１では、１回のＷＤＴ例外を全コア数分発生させたが、本実施の形態では、ハイパーバイザが存在し、１つのコアが受取ったＷＤＴ例外をハイパーバイザ経由で他のコアへ通知することにより、全コアへＷＤＴ異常通知を行う例を説明する。
なお、本実施の形態におけるハイパーバイザは、組込み機器向けハイパーバイザを指し、マルチコア上で複数のＯＳを同時実行し、かつＯＳ間の連携と実行環境保護を実現するソフトウェアである。
図１４に、２コアＣＰＵにおける組込みハイパーバイザの簡単なブロック図を示す。
図１４に示すように、ハイパーバイザ１は、コア１で動作し、コア１とＯＳ１との連携を行い、ハイパーバイザ２は、コア２で動作し、コア２とＯＳ２との連携を行う。
また、ハイパーバイザ１とハイパーバイザ２との間でも連携が図られる。
【００３１】
［実施の形態２：構成の説明］
図７は、本実施の形態に係るＣＰＵボード２００の構成例を示すブロック図である。
ＣＰＵボード２００のハードウェア構成要素は、実施の形態１で説明したものと同じであるため、説明を割愛する。
コア２１６〜２１８のソフトウェア構成要素については、実施の形態１と同じ名称の要素は実施の形態１で説明したものと同様であるため、説明を割愛し、実施の形態１と異なる要素だけを説明する。
各コアとＯＳの間にはハイパーバイザ（ハイパーバイザ全体は２５０，ハイパーバイザ全体を構成する各コア上のハイパーバイザは２５１〜２５３）が存在する。
各ハイパーバイザにはＷＤＴ例外ハンドラより受取った異常通知を他のハイパーバイザに通知するための異常通知授受部２５４〜２５６が含まれている。
【００３２】
また、実施の形態１において説明したように、ＷＤＴ２２０〜２２２に代えて、タイマ動作をして、ＣＰＵの異常発生を通知する仕組みをもつ外部ＷＤＴを用いてもよい。
また、ハイパーバイザも、各ＣＰＵ間で異常通知を授受する仕組みを持つ他の手段に代えてもよい。
【００３３】
［実施の形態２：設定の説明］
実施の形態２における、割込みコントローラ２１９のハードウェア設定について説明する。
割込みコントローラ２１９は、ＷＤＴ例外発生通知を入力すると、マルチキャストで全コアに対してＷＤＴ例外を通知するよう設定される。
【００３４】
［実施の形態２：動作の概要説明］
次に動作について説明する。
本実施の形態では、マルチキャストにより、ハイパーバイザ経由で全コアのＲＡＳ処理部に異常発生が通知され、各コアのＲＡＳ処理部は、自コアのログをバックアップ記憶装置２２６に保存する。
また、異常発生コアのＲＡＳ処理部が正常に動作しない場合は、正常動作する他コアのＲＡＳ処理部が代替して異常発生コアのログの保存を行う。
本実施の形態に係る動作の概要は以下の通りである。
【００３５】
ｉ）前述の［実施の形態２：構成の説明］の通り、割込みコントローラ２１９は、ＷＤＴ例外の発生が通知されると、各コアへマルチキャストで一斉に異常通知する。
ｉｉ）コアの上位にはハイパーバイザが存在する。
上記の割込みコントローラ２１９から各コアへの異常通知は、各コアのＷＤＴ例外ハンドラに対して行われる。
ＷＤＴ例外ハンドラは早いもの勝ちでその異常通知を受取る。
最初に異常通知を受取ったＷＤＴ例外ハンドラは、自分のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
異常通知授受部は、他のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
各コアのハイパーバイザ内の異常通知授受部は、そのコアのＲＡＳ処理部に異常を通知し、各コアのＲＡＳ処理部は同時並行に処理実行を開始する。
ｉｉｉ）異常通知を受けた各コアのＲＡＳ処理部は、各自のコアのログをバックアップ記憶装置２２６に保存する。
ｉｖ）異常通知を受けた各コアのＲＡＳ処理部は、どのコアのＷＤＴが異常通知を行ったかをＷＤＴ例外の種類で知ることができる。
異常発生コア以外のコアのＲＡＳ処理部は、異常発生コアのログのバックアップ記憶装置への保存が開始されているかどうかを判定する。
そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのＲＡＳ処理部は、異常発生コアのログのバックアップ記憶装置への保存を行う。
【００３６】
［実施の形態２：動作の詳細説明］
次に、本実施の形態に係る動作の詳細について説明する。
【００３７】
（動作の詳細説明：正常時の動作）
まず正常時の動作を、図８を用いて説明する。
コア１（２１６）の周期処理ＡＰＰ−１（２０１）は周期的にＷＤＴリセットを行う。
周期処理ＡＰＰ−１（２０１）は、ＷＤＴドライバ２１０を経由してＷＤＴ−１（２２０）をリセットする。
正常時はＷＤＴタイムアウトが発生する前にＷＤＴリセットが行われるため、ＷＤＴ例外は発生しない。
コア２（２１７）、コアＮ（２１８）においても同様の処理（２０２→２１１→２２１、２０３→２１２→２２２の矢印）が行われる。
【００３８】
（動作の詳細説明：異常発生時の動作）
次に、異常発生時の動作を、図１０〜図１３のフローチャートを用いて説明する。
この時のブロック図上での処理の流れは図９を使って補足する。
ここでは、コア１（２１６）に異常が発生し、ＷＤＴ−１（２２０）でＷＤＴ例外が発生し、割込みコントローラ２１９からのＷＤＴ例外を最初に受取るのはコア２（２１７）である例で説明する。
【００３９】
Ｓ２１１において、ＷＤＴタイムアウトが発生する。
Ｓ２１２において、ＷＤＴ−１（２２０）は一定時間ディレイ後にボードリセットを行う処理を呼出す（図９の２２０から２２３への矢印）。
Ｓ２０１において一定時間ディレイした後に、ボードリセット処理Ｓ２０２が呼出される（図９の２２３から２２４への矢印）。
このディレイ時間はＲＡＳ処理部が全てのコアのログをバックアップ記憶装置２２６に保存を終える時間に比べて十分大きい時間とする。
Ｓ２１３において、ＷＤＴ−１（２２０）はＷＤＴ例外を割込みコントローラ２１９に通知する（図９の２２０から２１９への矢印）。
Ｓ２７１において、割込みコントローラ２１９はＷＤＴ−１（２２０）よりＷＤＴ例外を受け、マルチキャストで各コアのＷＤＴ例外ハンドラにＷＤＴ−１（２２０）の例外を通知する（図９の２１９から２１３，２１４，２１５への矢印）。
【００４０】
本実施の形態では、コア２（２１７）が最初にＷＤＴ例外を受取った場合について説明する（このため図９の２１９から２１３への矢印は実線、２１９から２１３の矢印と２１９から２１５の矢印は点線としている）。
次に、コア１（１１６）の動作（Ｓ２２０：ログバックアップ処理）を、図１１を参照して説明する。
【００４１】
Ｓ２２１において異常発生コア（コア１）のＷＤＴ例外ハンドラ２１３が正常に動作せず、異常発生コアのＲＡＳ処理部１（２０７）が実行されなかった場合には、異常発生コアのＲＡＳ処理部１（２０７）による異常発生コアのログのバックアップ記憶装置１２６への保存はできない（Ｓ２２２）。
Ｓ２２１において異常発生コアのＷＤＴ例外ハンドラ２１３が正常に動作した場合、本例では、Ｓ２２３及びＳ２２４において、ＲＡＳ処理部１（２０７）は何もしない。
本例では、コア２（２１７）が最初にＷＤＴ例外を受け取るので、ＲＡＳ処理部１（２０７）は何もしない。
以降、コア１（２１６）は、最初にＷＤＴ例外を受取ったハイパーバイザ（本例ではコア２のハイパーバイザ）からの異常通知を受けてから動作する（後述）。
【００４２】
次に、コアＮ（２１８）の動作（Ｓ２５０：ログバックアップ処理）を、図１３を参照して説明する。
【００４３】
Ｓ２５１において、本例ではコア２が最初にＷＤＴ例外を受け取るので、ＲＡＳ処理部Ｎ（２０９）は何もしない（Ｓ２５２）。
以降、コアＮ（２１８）は、最初にＷＤＴ例外を受取ったハイパーバイザ（本例ではコア２のハイパーバイザ）からの異常通知を受けてから動作する（後述）。
【００４４】
次に、ＷＤＴ例外を最初に受取ったコア２（２１７）の動作（Ｓ２３０：ログバックアップ処理）を、図１２を参照して説明する。
【００４５】
Ｓ２３１において、本例ではコア２（２１７）のＷＤＴ例外ハンドラ２１４がＷＤＴ例外を最初に受取るので、Ｓ２３３へ進み、ＷＤＴ例外ハンドラ２１４は自コアの異常通知授受部２５５にＷＤＴ−１（２２０）の異常を通知する（図９の２１４から２５５への矢印）。
Ｓ２３４において、異常通知授受部２５５は他コアの異常通知授受部２５４、２５６にＷＤＴ−１（２２０）の例外発生を伝える（図９の２５５から２５４，２５６への２つの矢印）。
なお、例外発生を受取った後の、コア１とコアＮの動作は後述する。
Ｓ２３５において、ＲＡＳ処理部２（２０８）は、自コアのＷＤＴ−２（２２１）をリセットする（図９の２０８から２１１経由で２２１への矢印）。
これは、ＷＤＴ−１（２２０）の例外発生通知の受信によるＲＡＳ処理を行っている間に、異常発生コア以外のＷＤＴタイムアウトが発生しないようにするための処理である。
次に、Ｓ２３６において、異常通知授受部２５５は自コアのＲＡＳ処理部２（２０８）に異常を通知する（図９の２５５から２０８への矢印）。
次に、Ｓ２３７において、ＲＡＳ処理部２（２０８）は自コアのログをバックアップ記憶装置２２６にコピーする（図９の２０８から２２７，２３０への矢印）。
次に、ＲＡＳ処理部２（２０８）は、Ｓ２３８において異常発生コアのログのコピーが開始されているか確認し、開始されていなければ、Ｓ２３９で異常発生コアのログをバックアップ記憶装置２２６へコピーする（図９の２２６から２２９への矢印をコア２のＲＡＳ処理部２（２０８）が代替して実施）。
これにより、異常発生コア以外のＲＡＳ処理部が代替して異常発生コアのログをバックアップ記憶装置２２６へコピーすることができる。
次に、Ｓ２４０において、ＲＡＳ処理部２（２０８）は、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、ＲＡＳ処理部２（２０８）の処理が完了する。
一方、Ｓ２４０において全てのコアのログコピーが完了していた場合には、ＲＡＳ処理部２（１０８）は、Ｓ１０２のボードリセット処理を呼出す（図９はコアＮがこの処理を呼出している例で２０９から２２４への矢印）。
【００４６】
次に、図１２のＳ２３４の処理によりＷＤＴ−１（２２０）の異常を通知されたコア１（２１６）の処理を、図１１を参照して説明する。
【００４７】
Ｓ２２６においてコア１の異常通知授受部２５４が正常に動作しなければ、異常発生コア（コア１）のＲＡＳ処理部１（２０７）は動作しない。
一方、異常通知授受部２５４が正常に動作すれば、Ｓ２２７〜Ｓ２２９及びＳ２８０の処理が行われる。
Ｓ２２７はＳ２３６と同じであり、Ｓ２２８はＳ２３８と同じであり、Ｓ２２９はＳ２３７と同じであり、Ｓ２８０はＳ２４０と同じである。
このため、各ステップの説明を割愛する。
なお、コア１（２１６）のＷＤＴ例外ハンドラ２１３がＷＤＴ例外を最初に取得した場合は、Ｓ２２３でＹＥＳとなり、Ｓ２２５に示すように、図１２のＳ２３３及びＳ２３４の処理が行われる。
その後、Ｓ２２７以降の処理が行われる。
【００４８】
次に、図１２のＳ２３４の処理によりＷＤＴ−１（２２０）の異常を通知されたコアＮ（２１８）の処理を、図１３を参照して説明する。
Ｓ２５４において、異常通知授受部２５６はＷＤＴ−１（２２０）の異常通知を受取る。
以降は、Ｓ２５５〜Ｓ２６０の処理が行われる。
なお、Ｓ２５５〜Ｓ２６０は、図１２のＳ２３５〜Ｓ２４０と同じである。
このため、各ステップの説明を割愛する。
なお、コアＮ（２１８）のＷＤＴ例外ハンドラ２１５がＷＤＴ例外を最初に取得した場合は、Ｓ２５１でＹＥＳとなり、Ｓ２５３に示すように、図１２のＳ２３３及びＳ２３４の処理が行われる。
その後、Ｓ２５５以降の処理が行われる。
【００４９】
［実施の形態２：効果］
実施の形態１の方式では各コアへ順番に異常通知するためのに例外通知の遅延が発生するのに対し、実施の形態２の方式では各コアへの異常通知は一斉に行われるため、この遅延が発生せず、ＲＡＳ処理部の同時並行処理を早く完了することができる効果がある。
それ以外の効果は実施の形態１の効果と同様である。
【符号の説明】
【００５０】
１００  ＣＰＵボード、１０１  周期処理ＡＰＰ−１、１０２  周期処理ＡＰＰ−２、１０３  周期処理ＡＰＰ−Ｎ、１０４  ＯＳ−１、１０５  ＯＳ−２、１０６  ＯＳ−Ｎ、１０７  ＲＡＳ処理部１、１０８  ＲＡＳ処理部２、１０９  ＲＡＳ処理部Ｎ、１１０  ＷＤＴドライバ、１１１  ＷＤＴドライバ、１１２  ＷＤＴドライバ、１１３  ＷＤＴ例外ハンドラ、１１４  ＷＤＴ例外ハンドラ、１１５  ＷＤＴ例外ハンドラ、１１６  コア１、１１７  コア２、１１８  コアＮ、１１９  割込みコントローラ、１２０  ＷＤＴ−１、１２１  ＷＤＴ−２、１２２  ＷＤＴ−Ｎ、１２３  ディレイ装置、１２４  ボードリセット装置、１２５  メモリ、１２６  バックアップ記憶装置、２００  ＣＰＵボード、２０１  周期処理ＡＰＰ−１、２０２  周期処理ＡＰＰ−２、２０３  周期処理ＡＰＰ−Ｎ、２０４  ＯＳ−１、２０５  ＯＳ−２、２０６  ＯＳ−Ｎ、２０７  ＲＡＳ処理部１、２０８  ＲＡＳ処理部２、２０９  ＲＡＳ処理部Ｎ、２１０  ＷＤＴドライバ、２１１  ＷＤＴドライバ、２１２  ＷＤＴドライバ、２１３  ＷＤＴ例外ハンドラ、２１４  ＷＤＴ例外ハンドラ、２１５  ＷＤＴ例外ハンドラ、２１６  コア１、２１７  コア２、２１８  コアＮ、２１９  割込みコントローラ、２２０  ＷＤＴ−１、２２１  ＷＤＴ−２、２２２  ＷＤＴ−Ｎ、２２３  ディレイ装置、２２４  ボードリセット装置、２２５  メモリ、２２６  バックアップ記憶装置、２５０  ハイパーバイザ、２５１  ハイパーバイザ１、２５２  ハイパーバイザ２、２５３  ハイパーバイザＮ、２５４  異常通知授受部、２５５  異常通知授受部、２５６  異常通知授受部。
【図１】
2013121502.tif 000003
【図２】
2013121502.tif 000004
【図３】
2013121502.tif 000005
【図４】
2013121502.tif 000006
【図５】
2013121502.tif 000007
【図６】
2013121502.tif 000008
【図７】
2013121502.tif 000009
【図８】
2013121502.tif 000010
【図９】
2013121502.tif 000011
【図１０】
2013121502.tif 000012
【図１１】
2013121502.tif 000013
【図１２】
2013121502.tif 000014
【図１３】
2013121502.tif 000015
【図１４】
2013121502.tif 000016
【手続補正書】
【提出日】平成26年3月27日(2014.3.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されているログ情報が書き込まれる第２の記憶装置とを有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とするプロセッサシステム。
【請求項２】
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項１に記載のプロセッサシステム。
【請求項３】
各プロセッサユニットは、
自プロセッサユニットに異常が発生していなくても、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項２に記載のプロセッサシステム。
【請求項４】
前記プロセッサシステムは、更に、
いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
前記異常発生通知装置により異常の発生が通知された際に、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項２に記載のプロセッサシステム。
【請求項５】
前記プロセッサシステムは、更に、
いずれかのプロセッサユニットにおいて異常が発生した場合に、マルチキャストにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
前記複数のプロセッサユニットの中で最初に前記異常発生通知装置からの通知を取得した場合に、異常の発生を他のプロセッサユニットに通知し、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項２に記載のプロセッサシステム。
【請求項６】
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生したことを他のプロセッサユニットから通知された際に、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項５に記載のプロセッサシステム。
【手続補正書】
【提出日】平成26年6月4日(2014.6.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
ＲＡＳ方式（ＲＡＳ：  Ｒｅｌｉａｂｉｌｉｔｙ，  Ａｖａｉｌａｂｉｌｉｔｙ，  Ｓｅｒｖｉｃｅａｂｉｌｉｔｙ）は、マルチコアＣＰＵの１つのコアの異常をｗａｔｃｈｄｏｇ  ｔｉｍｅｒ（以下、「ＷＤＴ」と略記とする）で検知して、メモリ上のログ情報（以下、単に「ログ」ともいう）をバックアップ記憶装置に保存する異常対処方式である。
ＷＤＴはコンピュータのハードウェア時間計測器である。
ＲＡＳ方式では、メインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作（ＷＤＴのリセット操作）が行なわれなかった（ＷＤＴタイムアウト）場合に、例外処理（ＷＤＴ例外）が実行される。
例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合に実行させることが多いが、システムを強制停止させる場合や電源を切断した後の再投入時に実行されることもある。
障害を引き起こした問題のデバッグに役立つ情報などを媒体に保存する機能を持つＲＡＳ方式の場合、ＷＤＴはより複雑な処理を行う。
たとえば、ＷＤＴのタイムアウトによって開始されたログ情報の保存処理がある時間内に完了しなかった場合に、ログ情報が保存されていてもいなくても、ＷＤＴは、一定のディレイ時間経過後にシステムを確実にリセットさせる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
次に、ＲＡＳ処理部１（１０７）は、Ｓ１２６において、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、ＲＡＳ処理部１（１０７）の処理が完了する。
一方、Ｓ１２６において全てのコアのログコピーが完了していた場合には、ＲＡＳ処理部１（１０７）は、Ｓ１０２のボードリセット処理を呼出す（図３ではコアＮのＲＡＳ処理部が全てのコピー完了したことを確認した例であり、１０９から１２４への矢印となる）。
ここで、全てのコアのログコピーが完了したかどうかは、メモリ１２５上のフラグやセマフォなどの共有資源を使って確認できるものとする。
また、図３のボードリセット装置１２４のボードリセット処理は、ディレイ装置１２３のディレイ後にも呼出されるが、全てのＲＡＳ処理の完了を確認した時点でボードリセットを行う方が、ディレイを待たずにその分だけ早くボードリセットできる効果がある。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
本実施の形態では、コア２（２１７）が最初にＷＤＴ例外を受取った場合について説明する（このため図９の２１９から２１４への矢印は実線、２１９から２１３の矢印と２１９から２１５の矢印は点線としている）。
次に、コア１（２１６）の動作（Ｓ２２０：ログバックアップ処理）を、図１１を参照して説明する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
Ｓ２２１において異常発生コア（コア１）のＷＤＴ例外ハンドラ２１３が正常に動作せず、異常発生コアのＲＡＳ処理部１（２０７）が実行されなかった場合には、異常発生コアのＲＡＳ処理部１（２０７）による異常発生コアのログのバックアップ記憶装置２２６への保存はできない（Ｓ２２２）。
Ｓ２２１において異常発生コアのＷＤＴ例外ハンドラ２１３が正常に動作した場合、本例では、Ｓ２２３及びＳ２２４において、ＲＡＳ処理部１（２０７）は何もしない。
本例では、コア２（２１７）が最初にＷＤＴ例外を受け取るので、ＲＡＳ処理部１（２０７）は何もしない。
以降、コア１（２１６）は、最初にＷＤＴ例外を受取ったハイパーバイザ（本例ではコア２のハイパーバイザ）からの異常通知を受けてから動作する（後述）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
Ｓ２３１において、本例ではコア２（２１７）のＷＤＴ例外ハンドラ２１４がＷＤＴ例外を最初に受取るので、Ｓ２３３へ進み、ＷＤＴ例外ハンドラ２１４は自コアの異常通知授受部２５５にＷＤＴ−１（２２０）の異常を通知する（図９の２１４から２５５への矢印）。
Ｓ２３４において、異常通知授受部２５５は他コアの異常通知授受部２５４、２５６にＷＤＴ−１（２２０）の例外発生を伝える（図９の２５５から２５４，２５６への２つの矢印）。
なお、例外発生を受取った後の、コア１とコアＮの動作は後述する。
Ｓ２３５において、ＲＡＳ処理部２（２０８）は、自コアのＷＤＴ−２（２２１）をリセットする（図９の２０８から２１１経由で２２１への矢印）。
これは、ＷＤＴ−１（２２０）の例外発生通知の受信によるＲＡＳ処理を行っている間に、異常発生コア以外のＷＤＴタイムアウトが発生しないようにするための処理である。
次に、Ｓ２３６において、異常通知授受部２５５は自コアのＲＡＳ処理部２（２０８）に異常を通知する（図９の２５５から２０８への矢印）。
次に、Ｓ２３７において、ＲＡＳ処理部２（２０８）は自コアのログをバックアップ記憶装置２２６にコピーする（図９の２０８から２２７，２３０への矢印）。
次に、ＲＡＳ処理部２（２０８）は、Ｓ２３８において異常発生コアのログのコピーが開始されているか確認し、開始されていなければ、Ｓ２３９で異常発生コアのログをバックアップ記憶装置２２６へコピーする（図９の２２６から２２９への矢印をコア２のＲＡＳ処理部２（２０８）が代替して実施）。
これにより、異常発生コア以外のＲＡＳ処理部が代替して異常発生コアのログをバックアップ記憶装置２２６へコピーすることができる。
次に、Ｓ２４０において、ＲＡＳ処理部２（２０８）は、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、ＲＡＳ処理部２（２０８）の処理が完了する。
一方、Ｓ２４０において全てのコアのログコピーが完了していた場合には、ＲＡＳ処理部２（２０８）は、Ｓ２０２のボードリセット処理を呼出す（図９はコアＮがこの処理を呼出している例で２０９から２２４への矢印）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
［実施の形態２：効果］
実施の形態１の方式では各コアへ順番に異常通知するために例外通知の遅延が発生するのに対し、実施の形態２の方式では各コアへの異常通知は一斉に行われるため、この遅延が発生せず、ＲＡＳ処理部の同時並行処理を早く完了することができる効果がある。
それ以外の効果は実施の形態１の効果と同様である。
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2013121502.tif 000017
【手続補正書】
【提出日】平成27年2月6日(2015.2.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されているログ情報が書き込まれる第２の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込み、
前記異常発生通知装置により異常の発生が通知された際に、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とするプロセッサシステム。
【請求項２】
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されているログ情報が書き込まれる第２の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、マルチキャストにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込み、
前記複数のプロセッサユニットの中で最初に前記異常発生通知装置からの通知を取得した場合に異常の発生を他のプロセッサユニットに通知し、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とするプロセッサシステム。
【請求項３】
各プロセッサユニットは、
いずれかのプロセッサユニットにおいて異常が発生したことを他のプロセッサユニットから通知された際に、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする請求項２に記載のプロセッサシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明に係るプロセッサシステムは、
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第１の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されているログ情報が書き込まれる第２の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第１の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第２の記憶装置への書き込みが開始していない場合に、前記第１の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第２の記憶装置に書き込み、
前記異常発生通知装置により異常の発生が通知された際に、前記第１の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第２の記憶装置に書き込むことを特徴とする。
【国際調査報告】
2013121502.tif 000018
2013121502.tif 000019
2013121502.tif 000020
2013121502.tif 000021
2013121502.tif 000022
2013121502.tif 000023