(57)【要約】【課題】システムの制御継続性を向上させた情報処理装置を提供すること。【解決手段】複数のＣＰＵと、前記複数のＣＰＵの出力データの相違を検出する検出部と、前記検出部で検出された相違データの書き込み先が、前記複数のマイコンの外部に影響を及ぼすメモリ、レジスタであるか否かを判定する判定部と、前記相違データをそれぞれのＣＰＵに対応した規定のメモリ領域に書き込む書き込み回路と、を有し、前記書き込み先が、前記マイコンの外部に影響を及ぼさないメモリ、レジスタである場合、前記複数のＣＰＵに、前記指定メモリに書き込まれた相違データに基づいて処理を継続させ、前記書き込み先が、前記マイコンの外部に影響を及ぼすメモリ、レジスタである場合、エラー処理を行う、ことを特徴とする。【選択図】図１
2015114847.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵと、
前記複数のＣＰＵの出力データの相違を検出する検出部と、
前記検出部で検出された相違データの書き込み先が、前記複数のマイコンの外部に影響を及ぼすメモリ、レジスタであるか否かを判定する判定部と、
前記相違データをそれぞれのＣＰＵに対応した規定のメモリ領域に書き込む書き込み回路と、を有し、
前記書き込み先が、前記マイコンの外部に影響を及ぼさないメモリ、レジスタである場合、前記複数のＣＰＵに、前記指定メモリに書き込まれた相違データに基づいて処理を継続させ、
前記書き込み先が、前記マイコンの外部に影響を及ぼすメモリ、レジスタである場合、エラー処理を行う、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関するものである。
【背景技術】
【０００２】
要素領域に書き込まれた値が、期待値か否かを検査することによって、要素領域の異常を検出し、異常を検出した場合に、要素領域の修復を行うことで、容易且つ確実にＣＰＵの異常を検出して修復できる情報処理装置が開示されている（例えば、特許文献１参照）。
【０００３】
近年、ＣＰＵの故障検出方式として、ＬＳＤＣ（Lock Step Dual Core）方式が主流になりつつある。ＬＳＤＣ方式では、２つのＣＰＵ（Central Processing Unit）に同じ演算を実行させて各ＣＰＵの出力データを比較し、これらの出力データが相違する場合に、ＣＰＵの故障を検出する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−８６８２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
情報処理装置において、ＣＰＵの故障により出力データが異常となっても、故障検出後のソフトウェア処理時に、異常データがマスクされることで、システムの制御継続性に影響を及ぼさない場合が多数存在する。
【０００６】
しかし、ＬＳＤＣ方式による故障検出では、常時ＣＰＵの出力データが監視され、２つの出力データの相違が検出される度に、情報処理装置は、エラー処理を行う。本来故障検出の対象とならない（マスクされる）異常データも故障検出の対象となってしまうため、過剰なエラー処理により、情報処理装置におけるシステムの制御継続性が低下するという問題がある。
【０００７】
制御継続性を高めるためのＴＭＲ（Triple Modular Redundancy）は、３つのＣＰＵによる多数決論理を採用するため、大きなハードウェアオーバーヘッドを必要とする。
【０００８】
特許文献１には、過剰なエラー処理を抑制する技術について、開示されていない。
【０００９】
上記課題に鑑み、システムの制御継続性を向上させた情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、一実施形態において、情報処理装置は、
複数のＣＰＵと、
前記複数のＣＰＵの出力データの相違を検出する検出部と、
前記検出部で検出された相違データの書き込み先が、前記複数のマイコンの外部に影響を及ぼすメモリ、レジスタであるか否かを判定する判定部と、
前記相違データをそれぞれのＣＰＵに対応した規定のメモリ領域に書き込む書き込み回路と、を有し、
前記書き込み先が、前記マイコンの外部に影響を及ぼさないメモリ、レジスタである場合、前記複数のＣＰＵに、前記指定メモリに書き込まれた相違データに基づいて処理を継続させ、
前記書き込み先が、前記マイコンの外部に影響を及ぼすメモリ、レジスタである場合、エラー処理を行う、
ことを特徴とする。
【発明の効果】
【００１１】
本実施の形態によれば、システムの制御継続性を向上させた情報処理装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る情報処理装置の構成の一例を示す図である。
【図２】本実施形態に係る情報処理装置のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して発明を実施するための形態について説明する。各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
【００１４】
＜情報処理装置の構成＞
図１に、本実施の形態に係る情報処理装置１００の概略構成の一例を示す。
【００１５】
情報処理装置１００は、比較器（検出部）１１０、書き込み先監視回路（判定部）１２０、相違データ書き込み回路１３０、第１ＣＰＵ１４０（マスタ）、第２ＣＰＵ１５０（チェッカ）、データバス、アドレスバス、等を含む。第１ＣＰＵ１４０は、第１ローカルＲＡＭ１４１（内部メモリ）を含む。第２ＣＰＵ１５０は、第２ローカルＲＡＭ１５１（内部メモリ）を含む。
【００１６】
比較器１１０と、相違データ書き込み回路１３０と、複数のＣＰＵ（第１ＣＰＵ１４０、第２ＣＰＵ１５０）とにより、ＬＳＤＣ方式での故障検出が行われる。第１ＣＰＵ１４０から出力される出力データと第２ＣＰＵ１５０から出力される出力データとが、比較器１１０により比較され、これらの出力データが相違する場合に、エラー処理が行われる。
【００１７】
第１ローカルＲＡＭ１４１は、第１ＣＰＵ１４０内に設けられ、第２ローカルＲＡＭ１５１は、第２ＣＰＵ１５０内に設けられる。第１ローカルＲＡＭ１４１及び第２ローカルＲＡＭ１５１には、データが記憶される。
【００１８】
比較器１１０は、第１ＣＰＵ１４０から出力される出力データと、第２ＣＰＵ１５０から出力される出力データとを比較し、これらの出力データの相違を検出する。比較器１１０は、比較結果を、ＣＰＵ故障判定信号（ＯＫ信号／ＮＧ信号）として、書き込み先監視回路１２０へ出力する。例えば、両出力データが一致すれば、比較器１１０はＣＰＵ故障判定信号としてＯＫ信号を出力し、両出力データが一致しなければ、比較器１１０はＣＰＵ故障判定信号としてＮＧ信号を出力する。なお、本明細書において、両出力データが一致する場合の各ＣＰＵから出力される出力データを「一致データ」、両出力データが一致しない場合の各ＣＰＵから出力される出力データを「相違データ」と呼ぶ。
【００１９】
以下、出力データの相違が検出される場合について説明する。
【００２０】
書き込み先監視回路１２０は、アドレスバスを監視し、比較器１１０により検出された相違データの書き込み先が、各ＣＰＵの外部に影響を及ぼすメモリ領域（外部メモリ）であるか否か、を判定する。
【００２１】
書き込み先監視回路１２０は、判定結果を、外部影響判定信号（ＯＫ信号／ＮＧ信号）として、相違データ書き込み回路１３０へ出力し、又、判定結果を、ＣＰＵ故障外部通知信号（ＯＫ信号／ＮＧ信号）として、外部へ通知する。
【００２２】
例えば、外部影響のあるメモリ領域であれば、書き込み先監視回路１２０は外部影響判定信号として、ＮＧ信号を相違データ書き込み回路１３０へ出力し、ＣＰＵ故障外部通知信号として、ＮＧ信号を外部へ通知する。ＣＰＵ故障外部通知信号として、ＮＧ信号が外部へ通知される場合、情報処理装置１００は、エラー処理（フェールセーフ処理）を行う。
【００２３】
例えば、外部影響のないメモリ領域であれば、書き込み先監視回路１２０は外部影響判定信号として、ＯＫ信号を相違データ書き込み回路１３０へ出力し、ＣＰＵ故障外部通知信号として、ＯＫ信号を外部に通知する。
【００２４】
相違データ書き込み回路１３０は、相違データの書き込み先が、各ＣＰＵの外部に影響を及ぼさない領域である場合（外部影響判定信号として、ＯＫ信号が相違データ書き込み回路１３０へ出力される場合）、対応する書き込み先（内部メモリ）に相違データを書き込む。この場合、相違データ書き込み回路１３０は、第１ローカルＲＡＭ１４１の対応するメモリ領域と、第２ローカルＲＡＭ１５１の対応するメモリ領域とに、それぞれ異なるデータ（相違データ）を、書き込む。
【００２５】
第１ＣＰＵ１４０及び第２ＣＰＵ１５０は、各ローカルＲＡＭに書き込まれた相違データに基づいて、故障検出時（相違データ検出時）までに行っていた処理を、そのまま継続して行う。なお、各ローカルＲＡＭがオーバーフローしない場合、第１ＣＰＵ１４０及び第２ＣＰＵ１５０は、独立して動作し、該処理を継続するが、各ローカルＲＡＭがオーバーフローする場合、情報処理装置１００は、フェールセーフ処理を行う。
【００２６】
本実施の形態に係る情報処理装置１００によれば、ＣＰＵ故障（各ＣＰＵの出力データの不一致）が検出されても、故障検出時に行われている各ＣＰＵの処理が、該故障の影響を受けない処理（例えば、Ｉ／Ｏレジスタへの書き込み命令実行、ＲＡＭのＤＭＡ領域への書き込み命令実行、等）であれば、そのまま、各ＣＰＵに処理を継続させることができる。即ち、マイコンの外部に故障の影響が伝播する場合（システムの制御継続性に影響する場合）のみを、故障検出の対象とすることで、不必要な各ＣＰＵの処理停止を抑制し、過剰なエラー処理を減らすことができる。該情報処理装置１００を、車両（ＥＶ（Electric Vehicle）、ＨＶ（Hybrid Vehicle）、等）に搭載することで、車両の可用性等を高めることができる。
【００２７】
＜情報処理装置のフローチャート＞
次に、図２に示すフローチャートを用いて、各ＣＰＵの外部に故障の影響が伝播する場合のみを、故障検出の対象として、フェールセーフ処理を行う情報処理装置１００の処理の流れについて説明する。
【００２８】
ステップＳ８０１において、情報処理装置１００は、通常の、ＬＳＤＣモードで動作する。
【００２９】
ステップＳ８０２において、比較器１１０は、各ＣＰＵから出力される出力データを比較し、これらの出力データの相違を検出する。比較器１１０が出力データの相違を検出する（出力データが一致しない）場合（Ｙｅｓ）、ステップＳ８０３へ進む。比較器１１０が出力データの相違を検出しない（出力データが一致する）場合（Ｎｏ）、ステップＳ８０８へ進む。
【００３０】
ステップＳ８０３において、書き込み先監視回路１２０は、相違データの書き込み先が、各ＣＰＵの外部に影響を及ぼす領域であるか否かを判定する。
【００３１】
相違データの書き込み先が、マイコンの外部に影響を及ぼす書き込み先ではない場合（Ｎｏ）、ステップＳ８０４へ進む。この際、書き込み先監視回路１２０から出力される外部影響判定信号は、ＯＫ信号となる。
【００３２】
相違データの書き込み先が、各ＣＰＵの外部に影響を及ぼす書き込み先である場合（Ｙｅｓ）、ステップＳ８０７へ進む。この際、書き込み先監視回路１２０から出力されるＣＰＵ故障外部通知信号は、ＮＧ信号となる。
【００３３】
ステップＳ８０３における処理により、後のソフトウェア処理時に、マスクされる異常データ（相違データ）を、ＣＰＵ故障検出の対象としないことが可能になる。従って、最終的な処理結果に影響がない相違データを検出しても、エラー処理によって、故障検出時までに行われていた各ＣＰＵの処理を停止させなくて済むため、システムの制御継続性を向上させることができる。
【００３４】
ステップＳ８０４において、相違データ書き込み回路１３０は、独立動作用のメモリ（第１ローカルＲＡＭ１１１、第２ローカルＲＡＭ１２１）の対応する書き込み先に、相違データを書き込む。相違データ書き込み回路１３０は、各ローカルＲＡＭの対応するメモリ領域に、それぞれ異なる相違データを、書き込む。
【００３５】
例えば、相違データ書き込み回路１３０は、第１ローカルＲＡＭ１４１のメモリ領域に、相違データを、書き込み、相違データ書き込み回路１３０は、第２ローカルＲＡＭ１５１のメモリ領域に、相違データを、書き込む。
【００３６】
ステップＳ８０５において、情報処理装置１００は、独立動作用のメモリが、オーバーフローしているか否かを判定する。独立動作用のメモリが、オーバーフローしていない場合（Ｎｏ）、ステップＳ８０６へ進む。独立動作用のメモリが、オーバーフローしている場合（Ｙｅｓ）、ステップＳ８０７へ進む。
【００３７】
ステップＳ８０６において、情報処理装置１００は、独立動作モードで動作する。第１ＣＰＵ１４０は、第１ローカルＲＡＭ１４１に書き込まれた相違データに基づいて、そのまま処理を継続する（第１ＣＰＵ１４０の処理は停止しない）。又、第２ＣＰＵ１５０は、第２ローカルＲＡＭ１５１に書き込まれた相違データに基づいて、そのまま処理を継続する（第２ＣＰＵ１５０の処理は停止しない）。
【００３８】
つまり、相違データの書き込み先が、各ＣＰＵ（第１ＣＰＵ１４０、第２ＣＰＵ１５０）の外部に影響を及ぼす書き込み先ではない場合、各ＣＰＵは、フェールセーフ処理へ移行せず、故障検出時までに行われていた処理を、そのまま継続することができる。
【００３９】
各ＣＰＵは、再び該当する相違データへの書込み処理が実行されるまで、それぞれの処理を独立して継続する。比較器１１０により再びデータ相違が検出されると、ステップＳ８０２からの処理を繰り返す（例えば、再び独立動作モードとして動作する、再びＣＰＵ故障外部通知信号として、ＮＧ信号が外部に通知される場合、フェールセーフ処理へと移行する、等）。
【００４０】
ステップＳ８０７において、情報処理装置１００は、外部通知等（ＣＰＵ故障外部通知信号として、ＮＧ信号が外部に通知される、等）により、フェール処理へ移行する。
【００４１】
ステップＳ８０８において、比較器１１０により出力データの相違が検出されていないため、情報処理装置１００は、その時点で独立動作モードであるか否かを判定する。独立動作モードであった場合（Ｙｅｓ）、ステップＳ８０９へ進む。独立動作モードではなかった場合（Ｎｏ）、ステップＳ８０１へと戻り、情報処理装置１００は、ＬＳＤＣモードで動作を続ける。
【００４２】
ステップＳ８０９において、既知の相違データだった場合（Ｙｅｓ）、二つのＣＰＵは同じ状態に戻ったと判断でき、ステップＳ８１０へ進む。既知の相違データに対する書き込みではなかった場合（Ｎｏ）、ステップＳ８０６へ進み独立動作モードの処理を継続する。
【００４３】
ステップＳ８１０において、相違データ書き込み回路１３０は、既知の相違データに対し、書き込みデータが一致しているため、各ローカルＲＡＭ（第１ローカルＲＡＭ１４１、第２ローカルＲＡＭ１５１）を開放し、元のメモリ領域に、該当データを、書き込む。
【００４４】
ステップＳ８１１において、情報処理装置１００は、全データが、一致したか否かを判定する。つまり、全てのＣＰＵにおいて、各ローカルＲＡＭのメモリ領域に保持されていた既知の相違データに対し、各ＣＰＵの出力データが、一致したか否かを判定する。
【００４５】
全データが、一致したと判定する場合（Ｙｅｓ）、ステップＳ８０１へ進み、情報処理装置１００は、独立動作モードでの動作を停止し、ＬＳＤＣモードでの動作へ復帰する。全データが、一致していないと判定する場合（Ｎｏ）、ステップＳ８０６へ進み、情報処理装置１００は、独立動作モードで処理を継続する。
【００４６】
上述の処理によれば、ＣＰＵの出力データの相違を検出した時、そのデータの書き込み先がマイコンの外部に影響を及ぼすメモリ領域である場合のみ、故障検出の対象とすることができる。これにより、各ＣＰＵの故障検出時まで行われていた処理を停止させずに、過剰なエラー処理を低減させ、システムの制御継続性を向上させた情報処理装置を実現できる。
【００４７】
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４８】
１００                情報処理装置
１１０                比較器（検出部）
１２０                書き込み先監視回路（判定部）
１３０                相違データ書き込み回路
１４０，１５０        第１ＣＰＵ、第２ＣＰＵ（ＣＰＵ）
１４１，１５１        第１ローカルＲＡＭ、第２ローカルＲＡＭ（内部メモリ）
【図１】
2015114847.tif 000003
【図２】
2015114847.tif 000004