JP6497746B2 - 情報処理システム、トランジスタ回路の診断方法及びプログラム - Google Patents

情報処理システム、トランジスタ回路の診断方法及びプログラム Download PDF

Info

Publication number
JP6497746B2
JP6497746B2 JP2016072577A JP2016072577A JP6497746B2 JP 6497746 B2 JP6497746 B2 JP 6497746B2 JP 2016072577 A JP2016072577 A JP 2016072577A JP 2016072577 A JP2016072577 A JP 2016072577A JP 6497746 B2 JP6497746 B2 JP 6497746B2
Authority
JP
Japan
Prior art keywords
logic
value
writing
logical
unit
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.)
Active
Application number
JP2016072577A
Other languages
English (en)
Other versions
JP2017182670A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2016072577A priority Critical patent/JP6497746B2/ja
Publication of JP2017182670A publication Critical patent/JP2017182670A/ja
Application granted granted Critical
Publication of JP6497746B2 publication Critical patent/JP6497746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、情報処理システム、トランジスタ回路の診断方法及びプログラムに関する。
中性子線やアルファ線などに起因して、論理回路やメモリなどのハードウェアにおいてソフトエラーと呼ばれる不具合が発生することが知られている。ソフトエラーとは、ハードウェアが保存している論理値が反転したり、読み出しができなくなったりする不具合のことである。ソフトエラーではハードウェアは壊れないため、ソフトエラーが発生したハードウェアは、リセットが掛けられたりデータが読み込み直して、制御レジスタにおける論理値を更新することにより、再び正常に動作する。
特許文献1には、関連する技術として、FPGA(Field Programmable Gate Array)における制御レジスタにエラーが発生した場合に、制御レジスタのエラーを修復する技術が開示されている。
特開2015−216507号公報
ところで、特許文献1に記載されている技術は、制御レジスタにおける論理値を更新する時にFPGAはメモリに論理値を書き込む必要がある。そのため、制御レジスタにおける論理値を更新する際に時間がかかる可能性がある。
そのため、論理回路における制御レジスタにおいて論理値を短時間で更新することのできる技術が求められていた。
本発明は、上記の課題を解決することのできる情報処理システム、トランジスタ回路の診断方法及びプログラムを提供することを目的としている。
上記目的を達成するために、本発明は、トランジスタ回路とプロセッサとを備え、前記トランジスタ回路は、同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部と、を備え、前記プロセッサは、前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませ、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させ、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定する情報処理システムである。
また、本発明は、同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部とを備えるトランジスタ回路の診断方法であって、前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませることと、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させることと、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定することとを含むトランジスタ回路の診断方法である。
また、本発明は、同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部とを備えるトランジスタ回路を診断するコンピュータに、前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませることと、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させることと、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定することとを実行させるプログラムである。
本発明によれば、トランジスタ回路は、論理回路における制御レジスタにおいて論理値を短時間で更新することができる。
本発明の第一の実施形態による情報処理システムを示す図である。 本発明の第二の実施形態による情報処理システムの処理フローを示す図である。 本発明の第二の実施形態によるトランジスタ回路の最小構成を示す図である。
<第一の実施形態>
本発明の第一の実施形態による情報処理システムについて説明する。
本発明の第一の実施形態による情報処理システム100は、図1に示すように、プロセッサ1と、FPGA(Field Programmable Gate Array)3と、を備える。
プロセッサ1は、記憶部2を備える。
記憶部2は、ソフトウェア20を記憶する。
ソフトウェア20は、診断試験実行命令21と、診断試験結果判定22と、を含む。
プロセッサ1は、ソフトウェア20の命令に基づいて動作する。
具体的には、プロセッサ1は、ソフトウェア20が含む診断試験実行命令21に応じて、論理に誤りが発生したと判定した多数決回路604を備える論理ブロックに対応する診断部に診断試験の実行を指示する。
また、具体的には、プロセッサ1は、ソフトウェア20が含む診断試験結果判定22に応じて、多数決回路604が出力する論理値が正しいか否かを判定する。
FPGA3は、記憶部4と、トランジスタ回路5と、回路構成情報修復装置30と、を備える。
記憶部4は、回路構成情報40を記憶する。回路構成情報40は、例えば、Verilog HDL(Verilog Hardware description language)やVHDLなどのハードウェア記述言語に基づいて生成された回路構成を示す情報である。
トランジスタ回路5は、記憶部4が記憶する回路構成情報40に基づいて、所望のトランジスタ回路を実現する複数のトランジスタの集合体である。
トランジスタ回路5は、記憶部4が記憶する回路構成情報40に基づいて、第1診断部51、第2診断部52、・・・、第n診断部5n、第1論理ブロック61、第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれを構成する。
第1診断部51は、状態管理部500、第1書込部511、第2書込部512、・・・、第n書込部51n、第1多数決読出部521、第2多数決読出522、・・・、第n多数決読出部52nを備える。
状態管理部500は、後述する第1モジュール601のステータスを管理する。第1モジュール601のステータスとは、アイドル状態または処理状態である。アイドル状態は、処理を行わない状態を示す。処理状態は、割り込みやオーバーフローなどの処理を行う状態を示す。
状態管理部500は、第1モジュール601の場合と同様に、第2モジュール602、第3モジュール603のそれぞれのステータスを管理する。
また、状態管理部500は、第1モジュール601、第2モジュール602、第3モジュール603のそれぞれが出力する論理値に基づいて、後述する多数決回路604が判定する回路構成についての3つの状態(正常状態、異常状態、故障状態)を管理する。
第1書込部511は、ソフトウェア20によるプロセッサ1からの命令に応じて、後述する第1多数決読出部521が行う多数決の結果に基づく論理値を、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631それぞれに書き込む。
第2書込部512は、第1書込部511と同様に、ソフトウェア20によるプロセッサ1からの命令に応じて、後述する第2多数決読出部522が行う多数決の結果に基づく論理値を、第1−2内部制御レジスタ612、第2−2内部制御レジスタ622、第3−2内部制御レジスタ632それぞれに書き込む。
第n書込部51nは、第1書込部511と同様に、ソフトウェア20によるプロセッサ1からの命令に応じて、後述する第n多数決読出部52nが行う多数決の結果に基づく論理値を、第1−n内部制御レジスタ61n、第2−n内部制御レジスタ62n、第3−n内部制御レジスタ63nそれぞれに書き込む。
第1多数決読出部521は、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631のそれぞれからそれぞれが保持している論理値を取得する。
第1多数決読出部521は、取得した論理値に対して多数決を行う。
第2多数決読出部522は、第1多数決読出部521と同様に、第1−2内部制御レジスタ612、第2−2内部制御レジスタ622、第3−2内部制御レジスタ632のそれぞれからそれぞれが保持している値を取得する。
第2多数決読出部522は、取得した論理値に対して多数決を行う。
第n多数決読出部52nは、第1多数決読出部521と同様に、第1−n内部制御レジスタ61n、第2−n内部制御レジスタ62n、第3−n内部制御レジスタ63nのそれぞれからそれぞれが保持している値を取得する。
第n多数決読出部52nは、取得した論理値に対して多数決を行う。
第2診断部52、・・・、第n診断部5nのそれぞれは、第1診断部51と同様に、状態管理部500、第1書込部511、第2書込部512、・・・、第n書込部51n、第1診断部51、第2診断部52、・・・、第n診断部5nのそれぞれを備える。
第2診断部52、・・・、第n診断部5nのそれぞれは、第1診断部51と同様に動作する。
第1論理ブロック61は、第1モジュール601、第2モジュール602、第3モジュール603、多数決回路604を備える。
また、第1論理ブロック61は、さらに、図示しない論理回路を備える。
第1モジュール601は、第1ステータスレジスタ610、第1−1内部制御レジスタ611、第1−2内部制御レジスタ612、・・・、第1−n内部制御レジスタ61nを備える。
第1ステータスレジスタ610は、第1モジュール601のステータスを保持する。第1モジュール601のステータスは、アイドル状態、または、処理状態である。
第1−1内部制御レジスタ611は、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第1ノードにおける論理状態を保持する。論理状態は、“1”と“0”(High電圧とLow電圧、または、Low電圧とHigh電圧)を示す情報である。
第1−2内部制御レジスタ612は、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第2ノードにおける論理状態を保持する。
第1−n内部制御レジスタ61nは、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第nノードにおける論理状態を保持する。
第2モジュール602は、第1モジュール601と同様に、第2ステータスレジスタ620、第2−1内部制御レジスタ621、第2−2内部制御レジスタ622、・・・、第2−n内部制御レジスタ62nを備える。
第3モジュール603は、第1モジュール601と同様に、第3ステータスレジスタ630、第3−1内部制御レジスタ631、第3−2内部制御レジスタ632、・・・、第3−n内部制御レジスタ63nを備える。
第2モジュール602、第3モジュール603のそれぞれは、第1モジュール601と同様に動作する。
多数決回路604は、第1モジュール601、第2モジュール602、第3モジュール603のそれぞれが出力する論理値を取得する。
多数決回路604は、取得した3つの論理値に基づいて、回路構成情報に異常が発生したか否かを判定する。
多数決回路604は、取得した3つの論理値が一致すると判定した場合、回路構成情報に異常は発生していないと判定し、その論理値を、後段の論理ブロック(第1論理ブロック61の多数決回路604の場合、第2論理ブロック62)に送信する。
多数決回路604は、取得した3つの論理値が一致しない(3つの論理値のうち1つの論理値が異なる)と判定した場合、回路構成情報に異常が発生したと判定し、回路構成情報に異常が発生したことを示す異常発生信号SGerrを第1診断部51に送信する。
第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれは、第1論理ブロック61と同様に、第1モジュール601、第2モジュール602、第3モジュール603、多数決回路604を備える。
第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれは、第1論理ブロック61と同様に動作する。
回路構成情報修復装置30は、回路構成情報異常検知部31と、回路構成情報修復部32と、を備える。
回路構成情報異常検知部31は、例えば、特許文献“特許第4856848号公報”に記載されている巡回冗長検査(Cyclic Redundancy Check)符号を回路構成情報に付加し、定期的に回路構成情報を検査することで回路構成情報の異常を検出する技術を用いて、FPGA3の回路構成情報が正常であるか否かを確認する。
回路構成情報修復部32は、例えば、ザイリンクス株式会社のパーシャル・リコンフィギュレーションなどの技術を用いて、回路構成情報の異常を修復する。
次に、本発明の第一の実施形態による情報処理システム100の処理について説明する。
ここでは、図2に示す本発明の第一の実施形態による情報処理システム100の処理フローについて説明する。
なお、情報処理システム100は、図1で示した構成であるものとする。また、ここでは、第1論理ブロック61における第1−1内部制御レジスタ611の論理値に異常が発生した場合について情報処理システム100の処理を説明する。
多数決回路604は、第1モジュール601の第1出力が示す論理値、第2モジュール602の第2出力が示す論理値、第3モジュール603の第3出力が示す論理値のそれぞれを取得する。
多数決回路604は、取得した3つの論理値が不一致であるか否かを判定する(ステップS1)。
多数決回路604は、取得した3つの論理値が不一致である(3つの論理値のうち1つの論理値が異なる)と判定した場合(ステップS1においてYES)、異常が発生したと判定する(ステップS2)。
多数決回路604は、異常発生信号SGerrを状態管理部500に送信する。
例えば、多数決回路604は、受信した3つの論理値を比較し、第1出力の論理値が第2出力の論理値及び第3出力の論理値と異なると判定した場合、第1モジュール601の回路構成情報に異常が発生したことを示す異常発生信号SGerrを状態管理部500に送信する。
状態管理部500は、多数決回路604から異常発生信号SGerrを受信する。
状態管理部500は、受信した異常発生信号SGerrに基づいて第1モジュール601の回路構成情報に異常が発生したことを特定し、第1モジュール601の動作を停止させ、アイドル状態にさせる(ステップS3)。
このとき、回路構成情報異常検知部31は、例えば、特許文献“特許第4856848号公報”に記載されている技術を用いて、第1モジュール601の回路構成情報に異常が発生したことを検出する(ステップS4)。
回路構成情報異常検知部31は、第1モジュール601の回路構成情報に異常が発生したことを回路構成情報修復部32に報知する。
回路構成情報修復部32は、第1モジュール601がアイドル状態となることを待ち合わせる(ステップS5)。
例えば、回路構成情報修復部32は、予め定められた所定時間の経過をもって第1モジュール601がアイドル状態となったと判定する。
回路構成情報修復部32は、第1モジュール601がアイドル状態となったと判定すると、異常が発生した第1モジュール601の回路構成情報を修復する(ステップS6)。
回路構成情報修復部32が第1モジュール601の回路構成情報を修復した後、状態管理部500は、第1論理ブロック61がアイドル状態で停止することを指示するアイドル指示信号SGidlを第1論理ブロック61に送信して、回路構成情報修復部32が第1モジュール601の回路構成情報の修復を完了することを待ち合わせる(ステップS7)。
例えば、状態管理部500は、回路構成情報修復部32が第1モジュール601の回路構成情報の修復を完了したことを示す情報をFPGA3から取得することを待ち合わせる。
また、例えば、状態管理部500は、FPGAの製造メーカーがFPGA3ごとに定めた回路構成情報の修復に掛かる最大時間の経過を待ち合わせる。
状態管理部500は、第1モジュール601の回路構成情報の修復が完了することを待ち合わせている間、異常が発生していない(正常状態である)第2モジュール602と、第3モジュール603とがアイドル状態となることを待ち合わせる。
具体的には、状態管理部500は、第1モジュール601の回路構成情報の修復が完了することを待ち合わせている間、第2ステータスレジスタ620、第3ステータスレジスタ630の両方から取得するステータスがアイドル状態になるまでの間、第2ステータスレジスタ620、第3ステータスレジスタ630のそれぞれのステータスが同一であるか否かを判定する。
状態管理部500は、第2モジュール602、第3モジュール603の両方がアイドル状態になるまでの間に、第2モジュール602、第3モジュール603のそれぞれのステータスが同一ではないと判定した場合、故障が発生したと判定する。状態管理部500は、故障が発生したことを示す故障発生信号SGbrをプロセッサ1に送信する。
プロセッサ1は、状態管理部500から故障発生信号SGbrを受信する。
プロセッサ1は、故障が発生したことを図示していない上位システムに報知する。
状態管理部500は、第2モジュール602、第3モジュール603の両方がアイドル状態になるまでの間、第2モジュール602、第3モジュール603のそれぞれのステータスが同一であると判定した場合、第1モジュール601、第2モジュール602、第3モジュール603のそれぞれの通常動作を停止し、回路構成情報が修復され正常に動作するか否かを判定する診断試験を実行することを要求する要求信号SGrqをプロセッサ1に送信する(ステップS8)。
プロセッサ1は、状態管理部500から要求信号SGrqを受信する(ステップS9)。
プロセッサ1は、記憶部2が記憶するソフトウェア20が含む診断試験実行命令21に基づいて、回路構成情報が修復され正常に動作するか否かを判定する診断試験を実行する(ステップS10)。
具体的には、プロセッサ1は、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631のそれぞれに対して読み込み及び書き込みを行う。
より具体的には、プロセッサ1は、第1多数決読出部521を介して、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631のそれぞれが保持している論理値を読み出す。このとき、第1−1内部制御レジスタ611が保持している論理値は、第2−1内部制御レジスタ621及び第3−1内部制御レジスタ631のそれぞれが保持している論理値と異なる。しかしながら、プロセッサ1は、第2−1内部制御レジスタ621及び第3−1内部制御レジスタ631に基づく正しい論理値を第1多数決読出部521から取得する。プロセッサ1は、第1書込部511を介して、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631のそれぞれに取得した正しい論理値を書き込む。
同様に、プロセッサ1は、他の内部制御レジスタに対しても読み込み及び書き込みを行う。
プロセッサ1は、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、状態管理部500に対して、正常動作している2つのモジュールのそれぞれが出力する論理値どうしが不一致であるか否かを判定させる。
例えば、状態管理部500は、第1モジュール601に異常が発生している場合、第2モジュール602から第2出力を取得し、第3モジュール603から第3出力を取得する。
状態管理部500は、取得した2つの論理値が不一致であるか否かを判定する。
状態管理部500は、2つの論理値が不一致であるか否かを示す判定結果をプロセッサ1に送信する。
プロセッサ1は、受信した判定結果に基づいて、診断試験結果が正常であるか否かを判定する(ステップS11)。
具体的には、プロセッサ1は、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、受信した判定結果が2つの論理値が一致することを示す場合、診断試験結果が正常であると判定する。
また、プロセッサ1は、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、受信した判定結果が2つの論理値が不一致であることを示す場合、診断試験結果が異常であると判定する。
プロセッサ1は、診断試験結果が異常であると判定した場合、故障が発生したと判定し、故障が発生したことを示す故障発生信号SGbrを外部に送信する(ステップS12)。
プロセッサ1は、診断試験結果が正常であると判定した場合、正常状態となったことを示す正常状態信号SGnoを第1診断部51を介して第1論理ブロックに送信する(ステップS13)。
第1論理ブロック61は、プロセッサ1から正常状態信号SGnoを受信する(ステップS14)。
多数決回路604は、第1モジュール601の第1出力が示す論理値、第2モジュール602の第2出力が示す論理値、第3モジュール603の第3出力が示す論理値のそれぞれを取得する。
多数決回路604は、取得した3つの論理値が不一致であるか否かを判定する(ステップS15)。
多数決回路604は、3つの論理値が不一致であると判定した場合(ステップS15においてYES)、3つの論理値が不一致であることを示す情報を第1診断部51に送信する。
第1診断部51は、多数決回路604から3つの論理値が不一致であることを示す情報を受信する。
第1診断部51は、受信した情報により3つの論理値が不一致であると判定し、回路構成情報が故障していると判定する(ステップS16)。
第1診断部51は、回路構成情報が故障していることを示す情報をプロセッサ1に送信する。
プロセッサ1は、第1診断部51から回路構成情報が故障していることを示す情報を受信する。
プロセッサ1は、受信した情報により回路構成情報が故障していると判定する。
プロセッサ1は、ステップS12の処理に進める。
多数決回路604は、3つの論理値が一致していると判定した場合(ステップS15においてNO)、回路構成情報が正常であると判定する(ステップS17)。
多数決回路604は、3つの論理値が一致していることを示す情報を第1診断部51に送信する。
第1診断部51は、多数決回路604から3つの論理値が一致していることを示す情報を受信する。
第1診断部51は、受信した情報により3つの論理値が一致していると判定し、第1モジュール61をアイドル状態から処理状態に変更し、通常動作を再開させる(ステップS18)。
第1診断部51は、ステップS1の処理に戻す。
また、第1論理ブロック61がステップS14の処理により、プロセッサ1から正常状態信号SGnoを受信すると、多数決回路604は、第1モジュール601の第1出力が示す論理値、第2モジュール602の第2出力が示す論理値、第3モジュール603の第3出力が示す論理値のそれぞれを取得する。
多数決回路604は、取得した3つの論理値が不一致であるか否かに基づいて、回路構成情報が正常であるか否かを判定する(ステップS19)。
多数決回路604は、3つの論理値が一致していると判定した場合(ステップS19においてNO)、回路構成情報が正常であると判定し、ステップS19の処理に戻す。
多数決回路604は、3つの論理値が不一致であると判定した場合(ステップS19においてYES)、回路構成情報に異常が発生したと判定する。
多数決回路604が回路構成情報に異常が発生したと判定した場合、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、状態管理部500は、正常動作している2つのモジュールのそれぞれが出力する論理値どうしが不一致であるか否かを判定させる。
例えば、状態管理部500は、第1モジュール601に異常が発生している場合、第2モジュール602から第2出力を取得し、第3モジュール603から第3出力を取得する。
状態管理部500は、取得した2つの論理値が不一致であるか否かを判定する(ステップS20)。
状態管理部500は、2つの論理値が不一致であるか否かを示す判定結果をプロセッサ1に送信する。
プロセッサ1は、受信した判定結果に基づいて、診断試験結果が正常であるか否かを判定する。
具体的には、プロセッサ1は、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、受信した判定結果が2つの論理値が一致することを示す場合、診断試験結果が正常であると判定する。
また、プロセッサ1は、内部制御レジスタに対しての読み込み及び書き込みが完了するまでの間、受信した判定結果が2つの論理値が不一致であることを示す場合、診断試験結果が異常であると判定する。
プロセッサ1は、ステップS12の処理に進める。
以上、本発明の第一の実施形態による情報処理システムについて説明した。情報処理システム100は、プロセッサ1と、FPGA3と、を備える。FPGA3は、記憶部4と、トランジスタ回路5と、回路構成情報修復装置30と、を備える。記憶部4は、回路構成情報40を記憶する。トランジスタ回路5は、記憶部4が記憶する回路構成情報40に基づいて、第1診断部51、第2診断部52、・・・、第n診断部5n、第1論理ブロック61、第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれを構成する。第1診断部51は、状態管理部500、第1書込部511、第2書込部512、・・・、第n書込部51n、第1多数決読出部521、第2多数決読出522、・・・、第n多数決読出部52nを備える。状態管理部500は、第1モジュール601の状態を管理する。状態管理部500は、第1モジュール601の場合と同様に、第2モジュール602、第3モジュール603のそれぞれの状態を管理する。第1書込部511は、ソフトウェア20によるプロセッサ1からの命令に応じて、第1多数決読出部521が行う多数決の結果に基づく論理値を、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631それぞれに書き込む。第2書込部512は、第1書込部511と同様に、ソフトウェア20によるプロセッサ1からの命令に応じて、第2多数決読出部522が行う多数決の結果に基づく論理値を、第1−2内部制御レジスタ612、第2−2内部制御レジスタ622、第3−2内部制御レジスタ632それぞれに書き込む。第n書込部51nは、第1書込部511と同様に、ソフトウェア20によるプロセッサ1からの命令に応じて、第n多数決読出部52nが行う多数決の結果に基づく論理値を、第1−n内部制御レジスタ61n、第2−n内部制御レジスタ62n、第3−n内部制御レジスタ63nそれぞれに書き込む。第1多数決読出部521は、第1−1内部制御レジスタ611、第2−1内部制御レジスタ621、第3−1内部制御レジスタ631のそれぞれからそれぞれが保持している論理値を取得する。第1多数決読出部521は、取得した論理値に対して多数決を行う。第2多数決読出部522は、第1多数決読出部521と同様に、第1−2内部制御レジスタ612、第2−2内部制御レジスタ622、第3−2内部制御レジスタ632のそれぞれからそれぞれが保持している値を取得する。第2多数決読出部522は、取得した論理値に対して多数決を行う。第n多数決読出部52nは、第1多数決読出部521と同様に、第1−n内部制御レジスタ61n、第2−n内部制御レジスタ62n、第3−n内部制御レジスタ63nのそれぞれからそれぞれが保持している値を取得する。第n多数決読出部52nは、取得した論理値に対して多数決を行う。第2診断部52、・・・、第n診断部5nのそれぞれは、第1診断部51と同様に、状態管理部500、第1書込部511、第2書込部512、・・・、第n書込部51n、第1診断部51、第2診断部52、・・・、第n診断部5nのそれぞれを備える。第2診断部52、・・・、第n診断部5nのそれぞれは、第1診断部51と同様に動作する。第1論理ブロック61は、第1モジュール601、第2モジュール602、第3モジュール603、多数決回路604を備える。また、第1論理ブロック61は、さらに、図示しない論理回路を備える。第1モジュール601は、第1ステータスレジスタ610、第1−1内部制御レジスタ611、第1−2内部制御レジスタ612、・・・、第1−n内部制御レジスタ61nを備える。第1ステータスレジスタ610は、第1モジュール601のステータスを保持する。第1−1内部制御レジスタ611は、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第1ノードにおける論理状態を保持する。論理状態は、“1”と“0”(High電圧とLow電圧、または、Low電圧とHigh電圧)を示す情報である。第1−2内部制御レジスタ612は、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第2ノードにおける論理状態を保持する。第1−n内部制御レジスタ61nは、プロセッサ1からの命令に応じて、ステータスの遷移に影響を与える第nノードにおける論理状態を保持する。第2モジュール602は、第1モジュール601と同様に、第2ステータスレジスタ620、第2−1内部制御レジスタ621、第2−2内部制御レジスタ622、・・・、第2−n内部制御レジスタ62nを備える。第3モジュール603は、第1モジュール601と同様に、第3ステータスレジスタ630、第3−1内部制御レジスタ631、第3−2内部制御レジスタ632、・・・、第3−n内部制御レジスタ63nを備える。第2モジュール602、第3モジュール603のそれぞれは、第1モジュール601と同様に動作する。多数決回路604は、第1モジュール601、第2モジュール602、第3モジュール603のそれぞれが出力する論理値を取得する。多数決回路604は、取得した3つの論理値に基づいて、回路構成情報に異常が発生したか否かを判定する。多数決回路604は、取得した3つの論理値が一致すると判定した場合、回路構成情報に異常は発生していないと判定し、その論理値を、後段の論理ブロック(第1論理ブロック61の多数決回路604の場合、第2論理ブロック62)に送信する。多数決回路604は、取得した3つの論理値が一致しない(3つの論理値のうち1つの論理値が異なる)と判定した場合、回路構成情報に異常が発生したと判定し、回路構成情報に異常が発生したことを示す異常発生信号SGerrを第1診断部51に送信する。第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれは、第1論理ブロック61と同様に、第1モジュール601、第2モジュール602、第3モジュール603、多数決回路604を備える。第2論理ブロック62、・・・、第n論理ブロック6nのそれぞれは、第1論理ブロック61と同様に動作する。回路構成情報修復装置30は、回路構成情報異常検知部31と、回路構成情報修復部32と、を備える。回路構成情報異常検知部31は、例えば、特許文献“特許第4856848号公報”に記載されている巡回冗長検査符号を回路構成情報に付加し、定期的に回路構成情報を検査することで回路構成情報の異常を検出する技術を用いて、FPGA3の回路構成情報が正常であるか否かを確認する。回路構成情報修復部32は、例えば、パーシャル・リコンフィギュレーションなどの技術を用いて、回路構成情報の異常を修復する。
このようにすれば、トランジスタ回路5は、論理回路における制御レジスタにおいて三重化された制御レジスタにおける論理値を用いて制御レジスタにおける論理値を更新するため、特許文献1に記載されている技術を用いた場合のように、そのときの論理値をアドレスを指定してメモリに記憶させる必要はない。その結果、トランジスタ回路5は、短時間で制御レジスタにおける論理値を更新することができる。
<第二の実施形態>
本発明の第二の実施形態によるトランジスタ回路について説明する。
本発明の第二の実施形態によるトランジスタ回路は、本発明の最小構成のトランジスタ回路である。
本発明の第二の実施形態によるトランジスタ回路5は、図3に示すように、多数決読出部5aと、書込部5bと、を備える。
多数決読出部5aは、同一構成の3つの論理回路のそれぞれに対応する3つのレジスタから論理値を取得し、多数決を行う。
書込部5bは、多数決読出部5aが行った多数決の結果に基づいて、同一構成の3つのレジスタに多数決読出部5aが行った多数決の結果が示す論理値を書き込む。
このようにすれば、トランジスタ回路5は、短時間で制御レジスタにおける論理値を更新することができる。
なお、本発明の実施形態における処理フローは、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
本発明の実施形態における記憶部2、4、その他の記憶部のそれぞれは、適切な情報の送受信が行われる範囲においてどこに備えられていてもよい。また、記憶部2、4、その他の記憶部のそれぞれは、適切な情報の送受信が行われる範囲において複数存在しデータを分散して記憶していてもよい。
本発明の実施形態について説明したが、上述のプロセッサ1、FPGA3(トランジスタ回路5、回路構成情報修復装置30を含む)のそれぞれは内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータがそのプログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、追加、種々の省略、置き換え、変更を行ってよい。
1・・・プロセッサ
2、4・・・記憶部
3・・・FPGA(Field Programmable Gate Array)
5・・・トランジスタ回路
5a・・・多数決読出部
5b・・・書込部
20・・・ソフトウェア
21・・・診断試験実行命令
22・・・診断試験結果判定
30・・・回路構成情報修復装置
31・・・回路構成情報異常検知部
32・・・回路構成情報修復部
40・・・回路構成情報
51・・・第1診断部
52・・・第2診断部
5n・・・第n診断部
61・・・第1論理ブロック
62・・・第2論理ブロック
6n・・・第n論理ブロック
100・・・情報処理システム
500・・・状態管理部
511・・・第1書込部
512・・・第2書込部
51n・・・第n書込部
521・・・第1多数決読出部
522・・・第2多数決読出部
52n・・・第n多数決読出部
601・・・第1モジュール
602・・・第2モジュール
603・・・第3モジュール
604・・・多数決回路
611・・・第1−1内部制御レジスタ
612・・・第1−2内部制御レジスタ
61n・・・第1−n内部制御レジスタ
621・・・第2−1内部制御レジスタ
622・・・第2−2内部制御レジスタ
62n・・・第2−n内部制御レジスタ
631・・・第3−1内部制御レジスタ
632・・・第3−2内部制御レジスタ
63n・・・第3−n内部制御レジスタ

Claims (3)

  1. トランジスタ回路とプロセッサとを備え、
    前記トランジスタ回路は、
    同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、
    前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、
    前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部と、
    を備え、
    前記プロセッサは、
    前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませ、
    前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させ、
    前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定する
    情報処理システム。
  2. 同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部とを備えるトランジスタ回路の診断方法であって、
    前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませることと、
    前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させることと、
    前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定することと
    を含むトランジスタ回路の診断方法。
  3. 同一構成の3つの論理回路のそれぞれに対応する3つのレジスタが出力する第1の論理値または第2の論理値を取得し、取得した前記論理値について前記第1の論理値と前記第2の論理値の何れの数量が多いか多数決を行う多数決読出部と、前記多数決読出部が行った多数決の結果に基づいて、前記第1の論理値と前記第2の論理値の何れかを前記3つのレジスタに書き込む書込部と、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記3つの論理回路のうち前記数量の多い方の論理値を出力した2つの論理回路の論理値どうしが一致しているか否かを繰り返し判定する状態管理部とを備えるトランジスタ回路を診断するコンピュータに、
    前記多数決読出部が行った多数決の結果、前記3つのレジスタが出力する前記論理値が不一致である場合に、前記書込部に、前記第1の論理値と第2の論理値のうち数量の多い方の論理値を前記3つのレジスタに書き込ませることと、
    前記書込部による前記第1の論理値または前記第2の論理値の書き込みが完了するまでの間、前記状態管理部に2つの論理回路の論理値どうしが一致しているか否かを判定させることと、
    前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致していると判定した場合に、前記トランジスタ回路の出力する論理値が正常であると判定し、前記書込部による前記第1の論理値と前記第2の論理値の何れかの書き込みが完了するまでの間、前記状態管理部が2つの論理回路の論理値どうしが一致しないと判定した場合に、前記トランジスタ回路の出力する論理値が異常であると判定することと
    を実行させるプログラム。
JP2016072577A 2016-03-31 2016-03-31 情報処理システム、トランジスタ回路の診断方法及びプログラム Active JP6497746B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016072577A JP6497746B2 (ja) 2016-03-31 2016-03-31 情報処理システム、トランジスタ回路の診断方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016072577A JP6497746B2 (ja) 2016-03-31 2016-03-31 情報処理システム、トランジスタ回路の診断方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017182670A JP2017182670A (ja) 2017-10-05
JP6497746B2 true JP6497746B2 (ja) 2019-04-10

Family

ID=60006224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016072577A Active JP6497746B2 (ja) 2016-03-31 2016-03-31 情報処理システム、トランジスタ回路の診断方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6497746B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7268826B1 (ja) 2022-02-21 2023-05-08 Necプラットフォームズ株式会社 三重化冗長回路における復元装置及び復元方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5739465A (en) * 1980-08-15 1982-03-04 Nippon Signal Co Ltd:The Multisystem computer device
JP2010008881A (ja) * 2008-06-30 2010-01-14 Casio Comput Co Ltd データ処理装置及びデータ処理方法
JP5660798B2 (ja) * 2010-04-01 2015-01-28 三菱電機株式会社 情報処理装置

Also Published As

Publication number Publication date
JP2017182670A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
KR101374455B1 (ko) 메모리 에러와 리던던시
JP2015184799A (ja) キャッシュメモリおよびプロセッサシステム
US8750059B2 (en) Self-repairing memory
US11557365B2 (en) Combined ECC and transparent memory test for memory fault detection
US9734921B2 (en) Memory repair using external tags
JP2006309700A (ja) 動的代替機能を持つ論理集積回路、これを用いた情報処理装置及び論理集積回路の動的代替方法
WO2015111176A1 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
US9773570B2 (en) Built-in-self-test (BIST) test time reduction
JP5421152B2 (ja) 半導体集積回路
JP5611916B2 (ja) 半導体集積回路
TWI655637B (zh) 記憶體裝置
CN116580746A (zh) 用于存储阵列的熔断器单元及其处理方法、存储阵列
JP6497746B2 (ja) 情報処理システム、トランジスタ回路の診断方法及びプログラム
CN107807902B (zh) 一种抗单粒子效应的fpga动态重构控制器
TW201346529A (zh) 訊號處理電路以及使用該訊號處理電路的測試裝置
US9904611B1 (en) Data buffer spare architectures for dual channel serial interface memories
JP2014186772A (ja) 半導体記憶装置、コントローラ、及びメモリシステム
US10733049B2 (en) Semiconductor device and error management method
US9824780B2 (en) Memory device with redundant IO circuit
US20140169113A1 (en) Enhancing Memory Yield Through Memory Subsystem Repair
JP2015005315A (ja) 半導体記憶装置
US20140372837A1 (en) Semiconductor integrated circuit and method of processing in semiconductor integrated circuit
JP2022142201A (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
JP6966092B2 (ja) 制御装置、制御システム、制御方法及びプログラム
JP7332204B1 (ja) 情報処理システム、情報処理システムが実行する処理方法、およびプログラム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170815

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171121

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180112

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181009

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R150 Certificate of patent or registration of utility model

Ref document number: 6497746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150