Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6960453B2 - 再構成制御装置 - Google Patents
[go: Go Back, main page]

JP6960453B2 - 再構成制御装置 - Google Patents

再構成制御装置 Download PDF

Info

Publication number
JP6960453B2
JP6960453B2 JP2019514909A JP2019514909A JP6960453B2 JP 6960453 B2 JP6960453 B2 JP 6960453B2 JP 2019514909 A JP2019514909 A JP 2019514909A JP 2019514909 A JP2019514909 A JP 2019514909A JP 6960453 B2 JP6960453 B2 JP 6960453B2
Authority
JP
Japan
Prior art keywords
core
software
control output
reconstruction
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2019514909A
Other languages
English (en)
Other versions
JPWO2018198184A1 (ja
Inventor
輝昭 酒田
鉄平 広津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2018198184A1 publication Critical patent/JPWO2018198184A1/ja
Application granted granted Critical
Publication of JP6960453B2 publication Critical patent/JP6960453B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2205Multicore
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23146Programmable, reconfigurable via microprocessor or coding switches
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、再構成制御装置に関する。
半導体プロセスの微細化に伴って、一つのデバイス内に複数のCPU(Central Processing Unit、中央演算処理装置)コアを集積することが可能となっている。
産業用途や組込み用途では、複数のCPUコアをマルチプロセッシングさせることにより消費電力を抑えながら高い処理性能を得るマルチコア構成、また複数のCPUコア上で同一のソフトウェアプログラム(ソフト)を動作させて結果を照合することで高い信頼性を得るロックステップ(Lock−Step、LS)コア構成を採る場合がある。
産業用途や組込み用途では実装のための面積、消費電力、コストなどの制約が大きく、その制約の下で高性能や高信頼を実現するためにはマルチコアやロックステップコアを採用することが考えられ、例えば特許文献1には、複数のコアと少ない数のロックステップコアを有し、エラーを許容できないレベルのプログラムをロックステップコアに同期して実行させる情報処理装置の例が記載されている。また特許文献2の例では、電子制御ユニット(Electronic Control Unit、ECU)を分散させた再構成可能信号処理システムの例が記載されている。
特開2016−157247号公報 特許第4422596号公報
ところで、従来のマルチコアとロックステップコアで実行させる技術について検討した結果、以下のようなことが明らかとなった。
特許文献1の例では、エラーが起きたマルチコアのプログラムを実行するためのロックステップコアを冗長に用意する必要があり、またマルチコアが32ビットや64ビットなど高性能なCPUで実装される場合はロックステップコアも同様に高性能とする必要があるため、回路面積が増大しコストと消費電力が増大するという問題があった。
また特許文献2の例では、再構成するための冗長なECUが必要で、再構成のためのコンフィギュレーションデータを2つずつ保持するため高コストになり、再構成の制御も複雑になるため、リアルタイム性能が要求される組込み用途への適用が困難という問題があった。
そこで本発明では、産業用途や組込み用途にマルチコアやロックステップコアを適用する場合でも、高性能と高信頼を低コストに実現可能な仕組みを提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、マルチコアと、ロックステップコアと、前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、前記マルチコアでエラー発生時に前記システム制御部が前記ロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示することを特徴とする。
本発明によれば、産業用途や組込み用途にマルチコアやロックステップコアを適用する場合でも、高性能と高信頼を低コストに実現することが可能になる。
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
実施例1における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。 実施例1の再構成制御装置におけるシステム制御部の構成方法の一例である。 実施例1の再構成制御装置における再構成制御部の構成方法の一例である。 実施例1の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。 図4の構成においてソフトが動作しているタイミングチャートを示す一例である。 実施例2における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。 実施例2の再構成制御装置におけるシステム制御部の構成方法の一例である。 実施例2の再構成制御装置における再構成制御部の構成方法の一例である。 実施例2の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。 図9の構成においてソフトが動作しているタイミングチャートを示す一例である。 実施例3における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。 実施例3の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。 本発明の再構成制御装置を車載システムに適用した場合の一例を示す図である。 本発明の再構成制御装置を産業制御システムに適用した場合の一例を示す図である。
以下、本発明の実施例を、図面を用いて説明する。
図1から図5を用いて、本発明の実施形態の一例を示す。
図1は、本発明の再構成制御装置の一例を示したものである。
図1に示した再構成制御装置は、コア10、11、12、13の4つのコアがマルチコア構成を採っている。
コア10はメモリ50と接続しメモリ50にコア10のソフトを配置して処理を行う。同様にコア11はメモリ51と、コア12はメモリ52と、コア13はメモリ53とそれぞれ接続しそれぞれのソフトをメモリに配置して処理を行う。
図1の例では、ソフトA(30)はメモリ50、51に配置されてコア10、11でマルチコア動作する。一方、ソフトB(31)はメモリ52にのみ配置されてコア12で動作し、同様にソフトC(32)もメモリ53のみに配置されてコア13で動作する。
これらのコア10、11、12、13、メモリ50、51、52、53、ソフトA(30)、ソフトB(31)、ソフトC(32)を纏めてここではマルチコアシステム2とする。
コア20、21は、ロックステップ(LS)を構成している。すなわち、コア20、21はメモリ60を共有し、コア20でソフトP(33)を動作させ、コア21でソフトP(33)と同一のソフトP(34)を動作させ、動作中に照合することでエラーが起こったことを検出する。
これらのコア20、21、メモリ60、ソフトP(33)、ソフトP(34)を纏めてここではロックステップコアシステム3とする。
なお、コアのエラー検出手段としては、パリティ、ECC(Error Correction Code)、ウォッチドッグタイマなどの技術が知られている。また、ロックステップ動作中の照合手法としては特許第3175896号公報(特許文献3)に記載の技術などが知られている。
更に、図1に示したシステム制御部6は、コア10から制御出力100、コア11から制御出力101、コア12から制御出力102、コア13から制御出力103、コア20から制御出力111、コア21から制御出力110をそれぞれ入力とし、コア10に対しリセット信号70、コア11に対しリセット信号71、コア12に対しリセット信号72、コア13に対しリセット信号73、コア20に対し切り替え制御信号81、コア21に対し切り替え制御信号80をそれぞれ出力し、更に制御出力104、105、106、107、113を制御ユニット1外部へ出力する。
図2は、図1に示したシステム制御部6の詳細な構成方法の一例を示したものである。
システム制御部6の内部にある再構成制御部8には、制御信号100、101、102、103、110を入力とし、リセット信号70、71、72、73、および切り替え制御信号81、80を出力し、更に選択信号120を出力する構成となっている。
マルチプレクサ90は、制御出力100、101、102、103、111、110のうちいずれかの制御出力を選択信号120の値によって選択して制御出力104として出力する。マルチプレクサ91、92、93、94も同様である。
図3は、図2に示した再構成制御部8の詳細な構成方法の一例を示したものである。
図3に示す不揮発メモリ200には、マルチコアシステムとロックステップコアシステムで動作させるソフトが配置されている。
制御出力選択部201は、制御出力100、101、102、103および制御出力110を入力とし、不揮発メモリ200に対しメモリアクセス信号211を出力する。このメモリアクセス信号211は、不揮発メモリ200からソフトのバイナリデータ210を読み出すための信号である。例えば、図1においてコア13でエラーが発生したときは制御出力103によってコア13でのエラー情報が制御出力選択部201に入力され、制御出力選択部201はソフトC(32)に対応した縮退ソフトのバイナリデータ210を不揮発メモリ200から読み出すようにメモリアクセス信号211を出力する。
不揮発メモリ200から読み出されたバイナリデータ210は、信号結合回路202が制御出力選択部201から出力されるコアイネーブル信号212と結合し、切り替え制御信号81、80としてコア20、21に対し出力する。
また制御出力選択部201は選択信号120を出力する。この選択信号120は、図2に示したマルチプレクサ90、91、92、93、94がそれぞれ出力する制御出力104、105、106、107、113を選択する信号である。例えば、図1においてコア13でエラーが発生したときは、図3で説明した選択信号120により、図2に示した制御出力107へ制御出力111を選択して出力する。それ以外のマルチプレクサ90は制御出力100を選択して制御出力104として出力し、マルチプレクサ91は制御出力101を選択して制御出力105として出力し、マルチプレクサ92は制御出力102を選択して制御出力106として出力し、マルチプレクサ94は制御出力110を選択して制御出力113として出力する。
図4は、実施例1における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図1に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。
図4の制御ユニット1では、マルチコアシステム2内のコア13でエラーが発生しソフトC(32)が動作不可になった例を示している。
エラーが発生したコア13からの制御出力103により、図3で説明した再構成制御部8によってシステム制御部6からの切り替え制御信号81、80によりコア20、21はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトC(32)に対応した縮退ソフトC(35)がメモリ60に配置される。
このとき、エラーが発生したコア13からの制御出力103は制御ユニット1の外部に制御出力107として出力せず、縮退ソフトC(35)が動作中のコア20の制御出力111を制御出力107として出力するように、図2で説明した再構成制御部8から選択信号120を出力する。
図5は、図4に示した再構成制御装置において、マルチコアシステムとロックステップコアシステムで動作するソフトのタイミングチャートを示した一例である。
制御周期S1では、マルチコアシステム2のコア10、11でソフトA(30)が動作し、ソフトA(30)に続けてコア12でソフトB(31)が動作し、更に続けてコア13でソフトC(32)が動作する。
また同じ制御周期S1において、ロックステップコアシステム3のコア20でソフトP(33)が動作し、コア21でソフトP(34)が動作し、ソフトP(33)とソフトP(34)は動作中に照合処理を行う。
図5の制御周期S2は制御周期S1と同様の動作である。
図5の制御周期S3において、コア13でエラーが発生しソフトC(32)が動作不可になった場合、図4で説明した縮退動作によってコア20で縮退ソフトC(35)を動作させ、コア13はシステム制御部6からのリセット信号73により復帰処理を行う。
このようにコア13でエラーが発生しても、制御周期S3において、ソフトA(30)、ソフトB(31)、縮退ソフトC(35)、ソフトP(34)が動作可能なので、システム全体としては停止せずに縮退しながら処理を継続することができる。
図5では制御周期S4まで復帰処理を行って制御周期S5で復帰した例を示している。そのため制御周期S5では再びコア13でソフトC(32)が動作し、ロックステップコアシステム3のコア20で動作するソフトP(33)とコア21で動作するソフトP(34)が照合処理を行う。
このような構成を採ることで、マルチコアでエラーが発生した場合でも、既に実装されているロックステップコアをマルチコア動作に切り替えて縮退したソフトウェアを動作させることができるため、追加のハードウェアコストを必要とせずに制御システムの動作を継続することが可能になる。
また、実施例1ではマルチコアシステムのコア数を4として説明したが、4に限らず様々なコア数で実装しても良い。
次に、図6から図10を用いて、本発明の別の実施形態の一例を示す。
図6は、本発明の再構成制御装置における実施例1の図1と比較して、ロックステップコアシステムを1つ追加しデュアルロックステップコアシステム構成にした点が異なっている。
図6では、コア20、21、メモリ60、ソフトP(33)、ソフトP(34)を纏めたロックステップコアシステム3に加えて、コア22、23、メモリ61、ソフトP(36)、ソフトP(37)を纏めたロックステップコアシステム4がある。
ロックステップコアシステム4もロックステップコアシステム3と同様に、コア22、23はメモリ61を共有し、コア22でソフトP(36)を動作させ、コア23でソフトP(36)と同一のソフトP(37)を動作させ、動作中に照合することでエラーが起こったことを検出する。
更に、図6に示したシステム制御部7は、図1で説明したシステム制御部6と比較して、コア22から制御出力115、コア23から制御出力112をそれぞれ入力とし、コア22に対し切り替え制御信号83、コア23に対し切り替え制御信号82をそれぞれ出力し、更に制御出力114を制御ユニット5外部へ出力する部分を追加している。
図7は、図6に示したシステム制御部7の詳細な構成方法の一例を示したものであり、図2で説明したシステム制御部6と比較して、デュアルロックステップコアシステム構成に対応したマルチプレクサと制御信号を追加した部分が異なっている。
マルチプレクサ90は、制御出力100、101、102、103、111、110、115、112のうちいずれかの制御出力を選択信号120の値によって選択して制御出力104として出力する。マルチプレクサ91、92、93、94、及び新規に追加したマルチプレクサ95も同様である。
図8は、図7に示した再構成制御部9の詳細な構成方法の一例を示したものであり、図3で説明した再構成制御部8と比較して、デュアルロックステップコアシステム構成に対応した制御出力と切り替え制御信号を追加した部分が異なっている。
図8の制御出力選択部203は、制御出力100、101、102、103および制御出力110、112を入力とし、不揮発メモリ200に対しメモリアクセス信号211を出力するもので、図3で説明した制御出力選択部201と同様の動作をする。
不揮発メモリ200から読み出されたバイナリデータ210は、信号結合回路202によって制御出力選択部203が出力するコアイネーブル信号212と結合され、切り替え制御信号81、80をコア20、21に対して出力し、切り替え信号83、82をコア22、23に対し出力する。
図9は、実施例2における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図6に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。
図9の制御ユニット5ではマルチコアシステム2内のコア13でエラーが発生しソフトC(32)が動作不可になった例を示している。
エラーが発生したコア13からの制御出力103により、図3で説明した再構成制御部8によってシステム制御部7からの切り替え制御信号81、80によりコア20、21はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトC(32)に対応した縮退ソフトC(35)がメモリ60に配置される。
このとき、エラーが発生したコア13からの制御出力103は制御ユニット5の外部に制御出力107として出力せず、縮退ソフトC(35)が動作中のコア20の制御出力111を制御出力107として出力するよう、図7で説明した再構成制御部9から選択信号120を出力する。
図10は、図9に示した再構成制御装置において、マルチコアシステムとロックステップコアシステムで動作するソフトのタイミングチャートを示した一例であり、図5で説明したタイミングチャートと比較して、ロックステップコアシステム4を追加した部分が異なっている。
図10の制御周期S3において、コア13でエラーが発生しソフトC(32)が動作不可になった場合、図9で説明した縮退動作によってコア20で縮退ソフトC(35)を動作させ、コア13はシステム制御部7からのリセット信号73により復帰処理が行われる。
このようにコア13でエラーが発生しても、制御周期S3において、ソフトA(30)、ソフトB(31)、縮退ソフトC(35)、ソフトP(34)が動作可能なので、システム全体としては停止せずに縮退しながら処理を継続することができる。
更にこの図10では、ロックステップコアシステム4のコア22でソフトP(36)が動作し、コア23でソフトP(37)が動作し、ソフトP(36)とソフトP(37)は動作中に照合処理を行う。
このように、本発明の再構成制御装置をデュアルロックステップコアシステム構成とすることで、一方のロックステップコアシステムでエラーが発生してマルチコア動作に切り替わったとしても、もう一方のロックステップコアシステムがロックステップ動作を継続できるため、例えば機能安全規格への対応が要求されるような高い信頼性が必要となるシステムへ適用することが可能となる。
また、実施例2ではマルチコアシステムのコア数を4として説明したが、4に限らず様々なコア数で実装しても良い。
次に、図11から図12を用いて、本発明の別の実施形態の一例を示す。
図11は、本発明の再構成制御装置における実施例1の図1と比較して、マルチコアシステムとロックステップコアシステムを分離してバスで接続した構成にした点が異なっている。
図11のシステム制御部16はマルチコアシステム2に対応し、システム制御部17はロックステップコアシステム3に対応し、これらの間を制御バス301とメモリバス302で接続し、メモリバス300には不揮発メモリ300を接続している。
システム制御部16、17の内部構成は図2で説明したシステム制御部6の内部構成と同様にマルチプレクサと再構成制御部で構成される。
図12は、実施例3における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図11に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。
図12の制御ユニット14、15では、マルチコアシステム2内のコア13でエラーが発生しソフトC(32)が動作不可になった例を示している。
エラーが発生したコア13からの制御出力103により、再構成制御部16によってシステム制御部17からの切り替え制御信号81、80によりコア20、21はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトC(32)に対応した縮退ソフトC(35)が不揮発メモリ300からメモリバス302を介してメモリ60に配置される。
このとき、エラーが発生したコア13からの制御出力103は制御ユニット14の外部に制御出力107として出力されず、縮退ソフトC(35)が動作中のコア20の制御出力111が制御出力107として出力されるように、再構成制御部16、17が選択信号を出力する。
このような構成にすることで、複数の制御ユニットで構成しなければならない制御システムであった場合でも、マルチコア構成のみの制御ユニットとロックステップコア構成のみの制御ユニットとの間でロックステップコアをマルチコア動作に切り替えて縮退したソフトウェアを動作させることができるため、冗長な追加のハードウェアコストを必要とせずに制御システムの動作を継続することが可能になる。
また、実施例3の例ではマルチコアシステムのコア数を4として説明したが、4に限らず様々なコア数で実装しても良い。
次に、図13を用いて、本発明の別の実施形態の一例を示す。図13は、本発明の再構成制御装置を車載システムに適用した場合の一例を示したものである。
自動車500の内部は複数の電子制御ユニット(Electronic Control Unit、ECU)を接続した形で構成している。
この自動車500では、カメラ501がカメラECU(511)と接続し、ステア502がステアECU(512)と接続し、モーター503がモーターECU(513)と接続しており、さらにカメラECU(511)、ステアECU(512)、モーターECU(513)の各ECUはそれぞれ統合ECU(514)と接続し、協調動作することで自動車としての制御を行う。
この構成において、例えばステアECU(512)でエラーが発生した場合、本発明の再構成制御装置ではステアECU(512)で動作するソフト40を統合ECU(514)で縮退ソフト41として動作させることで、ステアECU(512)が担っていた最低限の動作を継続し、周囲の状況に応じて前輪504と後輪505の回転を継続もしくは停止させることで自動車500全体としては安全動作を担保する。
このように、本発明の再構成制御装置を適用することで、自動車を構成するECUの一部にエラーが発生した場合でも、自動車全体として縮退動作をしながら安全性を保つことが可能になる。
次に、図14を用いて、本発明の別の実施形態の一例を示す。図14は、本発明の再構成制御装置を産業制御システムに適用した場合の一例を示したものである。
この産業制御システムは、システムを統括制御するコンピュータ600、コンピュータ600によって制御する制御コントローラ601、制御機器604を制御するプログラマブルロジックコントローラ602、制御機器605を制御するプログラマブルロジックコントローラ603で構成し、制御コントローラ601、プログラマブルロジックコントローラ602、603はそれぞれ制御ネットワーク606を介して接続している。
この構成において、例えばプログラマブルロジックコントローラ602でエラーが発生した場合、本発明の再構成制御装置ではプログラマブルロジックコントローラ602で動作するソフト42を制御ネットワーク606を介して制御コントローラ601で縮退ソフト43として動作させることで、プログラマブルロジックコントローラ602が担っていた最低限の動作を継続し、制御機器604の動作を継続もしくは安全に停止させることで、産業制御システム全体としては安全動作を担保する。
以上のように、各実施例の再構成制御装置は、マルチコアと、ロックステップコアと、前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部と、を有し、前記マルチコアでエラー発生時に前記システム制御部が前記ロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示する。
また、前記システム制御部は、前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、前記選択信号の値に応じて前記マルチコアからの制御出力と前記ロックステップコアからの制御出力を選択するマルチプレクサと、を有する。
また、前記再構成制御部は、前記ソフトウェアを配置する不揮発メモリを有し、前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に前記不揮発メモリから縮退ソフトウェアのバイナリデータを読み出す。
また、前記システム制御部は、前記マルチコアでエラー発生時に前記マルチコアからの制御出力の代わりに前記第一のコアからの制御出力を選択して出力する。
また、マルチコアと、第一のロックステップコアと、第二のロックステップコアと、前記第一のロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、前記マルチコアでエラー発生時に前記システム制御部が前記第一のロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示する。
このように、各実施例の再構成制御装置を適用することで、産業制御システムを構成する一部のコントローラにエラーが発生した場合でも、システム全体として縮退動作をしながら安全性を保つことが可能になる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
1、5、14、15 … 制御ユニット
2 … マルチコアシステム
3、4 … ロックステップコアシステム
6、7、16、17 … システム制御部
8、9 … 再構成制御部
10、11、12、13、20、21、22、23 … コア
50、51、52、53、60、61 … メモリ
90、91、92、93、94、95 … マルチプレクサ
200、300 … 不揮発メモリ
200 … 信号結合回路
201、203 … 制御出力選択部
500 … 自動車
501 … カメラ
502 … ステア
503 … モーター
504 … 前輪
505 … 後輪
511 … カメラECU
512 … ステアECU
513 … モーターECU
514 … 統合ECU
600 … コンピュータ
601 … 制御コントローラ
602、603 … プログラマブルロジックコントローラ
604、605 … 制御機器

Claims (6)

  1. マルチコアと、
    ロックステップコアと、
    前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部と、を有し、
    前記マルチコアは、第1ソフトウェアが動作する第三のコアと、第2ソフトウェアが動作する第四のコアと、を含み、
    前記ロックステップコアは、ロックステップ動作において、前記第一のコアと前記第二のコアとに同一の第3ソフトウェアを動作させ、動作中に結果を照合することでエラーが起こったことを検出し、
    前記マルチコアの前記第四のコアでのエラー発生時に前記システム制御部が前記ロックステップコアの前記第一のコアと前記第二のコアとを、前記ロックステップ動作から、前記第一のコアに前記第2ソフトウェアに対応する縮退第2ソフトウェアを動作させ、かつ、前記第二のコアに前記第3ソフトウェアを動作させるようなマルチコア動作に動的に切り替え、
    前記マルチコアの前記第四のコアで動作していた前記第2ソフトウェアに対応する前記縮退第2ソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの前記第四のコアの再起動と診断を指示することを特徴とする再構成制御装置。
  2. 請求項1に記載の再構成制御装置において、
    前記システム制御部は、
    前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、
    前記選択信号の値に応じて前記マルチコアからの制御出力と前記ロックステップコアからの制御出力を選択するマルチプレクサと、
    を有し、
    前記再構成制御部は、
    前記マルチコアおよび前記ロックステップコアにエラーがない場合、前記第1ソフトウェアが動作する前記第三のコアからの制御出力、前記第2ソフトウェアが動作する前記第四のコアからの制御出力、および、前記第3ソフトウェアが動作する前記第二のコアからの制御出力が前記マルチプレクサにより選択されて、前記マルチプレクサから前記再構成制御装置の外部へ出力される様に前記選択信号を生成し、
    前記再構成制御部は、
    前記マルチコアの前記第四のコアでのエラー発生時、前記第四のコアの前記制御出力のエラー情報の値を元に、
    前記第四のコアの前記制御出力に代えて、前記縮退第2ソフトウェアが動作する前記第一のコアからの制御出力が前記マルチプレクサにより選択されて、
    かつ、
    前記第1ソフトウェアが動作する前記第三のコアからの前記制御出力、および、前記第3ソフトウェアが動作する前記第二のコアからの前記制御出力が前記マルチプレクサにより選択されて、
    前記マルチプレクサから前記再構成制御装置の前記外部へ出力される様に前記選択信号を生成することを特徴とする再構成制御装置。
  3. 請求項2に記載の再構成制御装置において、
    前記再構成制御部は、
    前記第2ソフトウェアに対応した前記縮退第2ソフトウェアを配置する不揮発メモリを有し、
    前記マルチコアの前記第四のコアでのエラー発生時、前記第一のコアに前記縮退第2ソフトウェアを動作させるように、前記第四のコアの前記制御出力のエラー情報の値を元に、前記不揮発メモリから前記縮退第2ソフトウェアのバイナリデータを読み出して前記第一のコアのメモリに配置させることを特徴とする再構成制御装置。
  4. マルチコアと、
    第一のロックステップコアと、
    第二のロックステップコアと、
    前記第一のロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、
    前記マルチコアは、第1ソフトウェアが動作する第三のコアと、第2ソフトウェアが動作する第四のコアと、を含み、
    前記第二のロックステップコアは、第五のコアと第六のコアとを含み、
    前記第一のロックステップコアは、ロックステップ動作において、前記第一のコアと前記第二のコアとに同一の第3ソフトウェアを動作させ、動作中に結果を照合することでエラーが起こったことを検出し、
    前記第二のロックステップコアは、ロックステップ動作において、前記第五のコアと前記第六のコアとに同一の第4ソフトウェアを動作させ、動作中に結果を照合することでエラーが起こったことを検出し、
    前記マルチコアの前記第四のコアでのエラー発生時に前記システム制御部が前記第一のロックステップコアの前記第一のコアと前記第二のコアとを、前記ロックステップ動作から、前記第一のコアに前記第2ソフトウェアに対応する縮退第2ソフトウェアを動作させ、かつ、前記第二のコアに前記第3ソフトウェアを動作させるようなマルチコア動作に動的に切り替え、
    前記マルチコアの前記第四のコアで動作していた前記第2ソフトウェアに対応する前記縮退第2ソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの前記第四のコアの再起動と診断を指示することを特徴とする再構成制御装置。
  5. 請求項4に記載の再構成制御装置において、
    前記システム制御部は、
    前記マルチコアからの制御出力と前記第一のロックステップコアからの制御出力と前記第二のロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、
    前記選択信号の値に応じて前記マルチコアからの制御出力と前記第一のロックステップコアからの制御出力と前記第二のロックステップコアからの制御出力とを選択するマルチプレクサと、
    を有し、
    前記再構成制御部は、
    前記マルチコアおよび前記第一のロックステップコアにエラーがない場合、前記第1ソフトウェアが動作する前記第三のコアからの制御出力、前記第2ソフトウェアが動作する前記第四のコアからの制御出力、前記第3ソフトウェアが動作する前記第二のコアからの制御出力、および、前記第4ソフトウェアが動作する前記第六のコアからの制御出力が前記マルチプレクサにより選択されて、前記マルチプレクサから前記再構成制御装置の外部へ出力される様に前記選択信号を生成し、
    前記再構成制御部は、
    前記マルチコアの前記第四のコアでのエラー発生時、前記第四のコアの前記制御出力のエラー情報の値を元に、
    前記第四のコアの前記制御出力に代えて、前記縮退第2ソフトウェアが動作する前記第一のコアからの制御出力が前記マルチプレクサにより選択されて、
    かつ、
    前記第1ソフトウェアが動作する前記第三のコアからの前記制御出力、前記第3ソフトウェアが動作する前記第二のコアからの前記制御出力、および、前記第4ソフトウェアが動作する前記第六のコアからの制御出力が前記マルチプレクサにより選択されて、
    前記マルチプレクサから前記再構成制御装置の前記外部へ出力される様に前記選択信号を生成することを特徴とする再構成制御装置。
  6. 請求項5に記載の再構成制御装置において、
    前記再構成制御部は、前記第2ソフトウェアに対応した前記縮退第2ソフトウェアを配置する不揮発メモリを有し、
    前記マルチコアの前記第四のコアでのエラー発生時、前記第一のコアに前記縮退第2ソフトウェアを動作させるように、前記第四のコアの前記制御出力のエラー情報の値を元に、前記不揮発メモリから前記縮退第2ソフトウェアのバイナリデータを読み出して前記第一のコアのメモリに配置させることを特徴とする再構成制御装置。
JP2019514909A 2017-04-25 2017-04-25 再構成制御装置 Expired - Fee Related JP6960453B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/016332 WO2018198184A1 (ja) 2017-04-25 2017-04-25 再構成制御装置

Publications (2)

Publication Number Publication Date
JPWO2018198184A1 JPWO2018198184A1 (ja) 2019-12-26
JP6960453B2 true JP6960453B2 (ja) 2021-11-05

Family

ID=63918098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514909A Expired - Fee Related JP6960453B2 (ja) 2017-04-25 2017-04-25 再構成制御装置

Country Status (3)

Country Link
US (1) US11385977B2 (ja)
JP (1) JP6960453B2 (ja)
WO (1) WO2018198184A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7537272B2 (ja) 2020-12-22 2024-08-21 トヨタ自動車株式会社 情報処理装置、制御方法、制御プログラム、及び車両

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3345626B2 (ja) * 1994-09-29 2002-11-18 富士通株式会社 マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法
US7366948B2 (en) * 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP4422596B2 (ja) 2004-11-29 2010-02-24 トヨタ自動車株式会社 再構成可能信号処理システム
US20060236168A1 (en) * 2005-04-01 2006-10-19 Honeywell International Inc. System and method for dynamically optimizing performance and reliability of redundant processing systems
US8826288B2 (en) * 2005-04-19 2014-09-02 Hewlett-Packard Development Company, L.P. Computing with both lock-step and free-step processor modes
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
CN102822807B (zh) * 2010-03-23 2015-09-02 大陆-特韦斯贸易合伙股份公司及两合公司 控制计算机系统及其控制方法和使用
US8635492B2 (en) * 2011-02-15 2014-01-21 International Business Machines Corporation State recovery and lockstep execution restart in a system with multiprocessor pairing
JP6277971B2 (ja) 2015-02-24 2018-02-14 トヨタ自動車株式会社 情報処理装置
US9734006B2 (en) * 2015-09-18 2017-08-15 Nxp Usa, Inc. System and method for error detection in a critical system

Also Published As

Publication number Publication date
WO2018198184A1 (ja) 2018-11-01
US20200050164A1 (en) 2020-02-13
US11385977B2 (en) 2022-07-12
JPWO2018198184A1 (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
US10576990B2 (en) Method and device for handling safety critical errors
US8935569B2 (en) Control computer system, method for controlling a control computer system, and use of a control computer system
JP6393628B2 (ja) 車両制御装置
EP2153328B1 (en) Data processing system, data processing method, and apparatus
JP6282482B2 (ja) プログラマブル回路装置、コンフィギュレーション情報修復方法
JP6266239B2 (ja) マイクロコンピュータ
KR20130119452A (ko) 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템
US11940866B2 (en) Verifying processing logic of a graphics processing unit
US8375256B2 (en) System with configurable functional units and method
JP6960453B2 (ja) 再構成制御装置
KR20060098372A (ko) 프로세서 유닛 내에서 피연산자를 처리하기 위한 방법 및장치
JP5295251B2 (ja) 給電電圧監視されるマイクロコントローラを有する車両制御ユニット、および関連の方法
JP6274947B2 (ja) 車載制御装置のマイクロプロセッサの異常診断方法
WO2015068207A1 (ja) プログラマブルデバイス
JP6588068B2 (ja) マイクロコンピュータ
JP4864056B2 (ja) 制御装置
JP2014229130A (ja) 高信頼プロセッサおよびそれを用いた高信頼制御装置
JP6714950B2 (ja) 車両用発電機の制御装置
JP6660902B2 (ja) 自動車用電子制御装置
JP2013164711A (ja) 演算装置及びその診断制御方法
JP6275098B2 (ja) 制御装置およびレジスタの故障復帰方法
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JP6501703B2 (ja) 車載制御装置
US20100268923A1 (en) Method and device for controlling a computer system having at least two groups of internal states
JPS6155699B2 (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211011

R150 Certificate of patent or registration of utility model

Ref document number: 6960453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees