JP2019040302A - 回路基板、電子装置およびデータ更新方法 - Google Patents

回路基板、電子装置およびデータ更新方法 Download PDF

Info

Publication number
JP2019040302A
JP2019040302A JP2017160307A JP2017160307A JP2019040302A JP 2019040302 A JP2019040302 A JP 2019040302A JP 2017160307 A JP2017160307 A JP 2017160307A JP 2017160307 A JP2017160307 A JP 2017160307A JP 2019040302 A JP2019040302 A JP 2019040302A
Authority
JP
Japan
Prior art keywords
circuit board
circuit
data
memory
gate array
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.)
Granted
Application number
JP2017160307A
Other languages
English (en)
Other versions
JP6933050B2 (ja
Inventor
猛 北村
Takeshi Kitamura
猛 北村
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 JP2017160307A priority Critical patent/JP6933050B2/ja
Publication of JP2019040302A publication Critical patent/JP2019040302A/ja
Application granted granted Critical
Publication of JP6933050B2 publication Critical patent/JP6933050B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】フラッシュROMに保存されたプログラムにエラーが生じたときに、正常なデータを用いて確実に復旧させることができる回路基板を提供する。【解決手段】回路基板を、第1のメモリ11と、プロセッサ12と、ゲートアレイ13と、スイッチ回路14と、第2のメモリ15を備える構成とする。プロセッサ12は、第1のメモリ11に保持されているプログラムを実行する。ゲートアレイ13は、第2のメモリ15のデータを基に、外部からデータを受信するコントローラを形成する。ゲートアレイ13は、第1のメモリ11に保持されているデータの異常が検知されたときに、外部から入力されるコンフィギュレーションデータに基づいて、第1のメモリ11とゲートアレイ13を接続する制御信号をスイッチ回路14に出力する回路と、外部から入力される正常なデータに基づいて第1のメモリ11に保持されているプログラムを更新する回路と形成する。【選択図】 図1

Description

本発明は、回路基板上の半導体装置に保持されているデータを更新する技術に関するものであり、特に、回路基板の外部から取得するデータを基に更新を行う技術に関するものである。
組み込み型機器の制御用コントローラのプログラムおよびデータの格納デバイスとして、フラッシュROM(Read Only Memory)が広く用いられている。また、組み込み型装置は、高い信頼性が要求されることも多く、制御用のプログラムのデータがフラッシュROMに正常に保存されていることが必要となる。
フラッシュROMでは、プロセスの微細化によってデバイスの大容量化や高集積化が進んでいる、一方で、大容量化や高集積化によって、フラッシュROMではデータ保持時間の短縮化の問題が生じている。例えば、NAND型フラッシュROMでは、時間経過に伴ってデータ保持用の酸化膜から電荷が漏れだすことによるデータの消失や、データの書き換えによって生じる酸化膜の劣化による書き換え回数の制限やデータ保持寿命の短期化が生じうる。
フラッシュROMにおけるデータエラーや短寿命化への対応としては、ECC(Error correcting Code)機能によるエラー訂正やウェアレベリングによるメモリ素子ごとの利用回数の平準化などの技術が用いられることが多い。しかし、組み込み型装置においてフラッシュROMに格納した制御用コントローラのプログラムにデータ化けが発生し、エラー訂正等では対応しきれずにプログラムの実行が行えないような場合には、プログラムを実行することができなくなる。そのような場合には、フラッシュROMに保存されたデータを正常なデータに書き換える作業等を行わないと、組み込み型装置が正常に動作しない恐れがある。そのため、フラッシュROMに保存されたプログラムを実行する装置において、フラッシュROMに保存されたデータのエラー等が生じたときに、プログラムを正常なデータで更新する技術の開発が行われている。そのような、フラッシュROMに保存されたデータのエラー等が生じたときに、正常なデータによってデータを更新する技術としては、例えば、特許文献1のような技術が開示されている。
特許文献1は、制御用のプログラムが保存されたフラッシュROMのデータを、メモリカード上に保存されたデータを用いて更新する制御装置に関するものである。特許文献1の制御装置は、CPU(Central Processing Unit)がFPGA(Field Programmable Gate Array)に形成された回路を用いてメモリカードのデータを基にフラッシュROMのデータを更新している。特許文献1では、フラッシュROMのデータの更新は、メモリカードが接続された状態で、更新用のボタンが押されることで開始される。また、データ更新後は、FPGA上に周辺機器の制御回路等を形成して、CPUがフラッシュROM上のプログラムを実行している。
特開2004−210506号公報
しかしながら、特許文献1の技術は次のような点で十分ではない。特許文献1の制御装置では、メモリカードを装着した状態でデータ更新の開始ボタンを押すことでフラッシュROMのデータの更新を行っている。そのような構成では、作業者等が異常をすぐに検知できない環境やメモリカードの装着やボタンの押し下げを行えないような環境では、更新を行うことができない。よって、組み込み型装置の制御用プログラムを実行できないような状態から正常な状態に戻すために長い時間を要し、組み込み型装置の動作の信頼性が低下する恐れがある。そのため、特許文献1の技術は、組み込み型装置の動作の信頼性を維持するために、フラッシュROMに保存された制御用のプログラムにエラーが生じたときに、正常なデータに復旧させる技術としては十分ではない。
本発明は、上記の課題を解決するため、フラッシュROMに保存されたプログラムにエラーが生じたときに、正常なデータを用いて確実に復旧させることができる回路基板を提供することを目的としている。
上記の課題を解決するため、本発明の回路基板は、第1のメモリと、プロセッサと、ゲートアレイと、スイッチ回路と、第2のメモリを備えている。第1のメモリは、保持しているプログラムのデータを書き換える手段を有する。プロセッサは、第1のメモリに保持されているプログラムを実行する。ゲートアレイは、コンフィギュレーションデータに基づいた回路パターンを形成する。スイッチ回路は、ゲートアレイから入力される制御信号に基づいて、第1のメモリと、プロセッサまたはゲートアレイのいずれかとを接続する。第2のメモリは、外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成するコンフィギュレーションデータを初期コンフィギュレーションデータとして保持している。また、ゲートアレイは、起動時に、第2のメモリから読み出す初期コンフィギュレーションデータに基づいて第1の回路パターンを形成する。ゲートアレイは、第1のメモリに保持されているデータの異常が検知されたときに、コントローラを介して外部から入力されるコンフィギュレーションデータに基づいて、第2の回路パターンを形成する。第2の回路パターンは、第1のメモリとゲートアレイを接続する制御信号をスイッチ回路に出力する回路と、外部から入力される正常なデータに基づいて第1のメモリに保持されているプログラムを更新する回路とを有する。
本発明のデータ復旧方法は、第1のメモリと、プロセッサと、スイッチ回路と、第2のメモリを備える回路基板におけるデータ復旧方法である。プロセッサは、第1のメモリに保持されているプログラムを実行する。ゲートアレイは、コンフィギュレーションデータに基づいた回路パターンを形成する。スイッチ回路は、ゲートアレイから入力される制御信号に基づいて、第1のメモリと、プロセッサまたはゲートアレイのいずれかとを接続する。第2のメモリは、外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成するコンフィギュレーションデータを初期コンフィギュレーションデータとして保持している。本発明のデータ復旧方法は、起動時に、第2のメモリから読み出す初期コンフィギュレーションデータに基づいて第1の回路パターンをゲートアレイに形成する。本発明のデータ復旧方法は、第1のメモリに保持されているデータの異常が検知されたときに、コントローラを介して外部から入力されるコンフィギュレーションデータに基づいて、第2の回路パターンを形成する。第2の回路パターンは、第1のメモリ1とゲートアレイを接続する制御信号をスイッチ回路に出力する回路と、外部から入力される正常なデータに基づいて第1のメモリに保持されているプログラムを更新する回路とを有する。
本発明によると、保存されたプログラムにエラーが生じたときに、正常なデータを用いて確実にデータを復旧させることができる。
本発明の第1の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の構成の概要を示す図である。 本発明の第2の実施形態において回路基板をバックプレーンに挿入する動作を模式的に示した図である。 本発明の第2の実施形態において回路基板をバックプレーンに装着した状態を模式的に示した図である。 本発明の第2の実施形態の監視装置用の回路基板の構成の例を示す図である。 本発明の第2の実施形態におけるバックプレーンに形成された信号線の構成の例を示した図である。 本発明の第2の実施形態の動作フローを示すシーケンス図である。 本発明の第2の実施形態の動作フローを示すシーケンス図である。 本発明の第2の実施形態においてFPGAに形成される回路を模式的に示した図である。 本発明の第2の実施形態においてFPGAに形成される回路を模式的に示した図である。
(第1の実施形態)
本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態の回路基板の構成の概要を示したものである。本実施形態の回路基板は、第1のメモリ11と、プロセッサ12と、ゲートアレイ13と、スイッチ回路14と、第2のメモリ15を備えている。
第1のメモリ11は、保持しているプログラムのデータを書き換える手段を有する。プロセッサ12は、第1のメモリ11に保持されているプログラムを実行する。ゲートアレイ13は、コンフィギュレーションデータに基づいた回路パターンを形成する。スイッチ回路14は、ゲートアレイ13から入力される制御信号に基づいて、第1のメモリ11と、プロセッサ12またはゲートアレイ13のいずれかとを接続する。第2のメモリ15は、外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成するコンフィギュレーションデータを初期コンフィギュレーションデータとして保持している。また、ゲートアレイ13は、起動時に、第2のメモリ15から読み出す初期コンフィギュレーションデータに基づいて第1の回路パターンを形成する。ゲートアレイ13は、第1のメモリ11に保持されているデータの異常が検知されたときに、コントローラを介して外部から入力されるコンフィギュレーションデータに基づいて、第2の回路パターンを形成する。第2の回路パターンは、第1のメモリ11とゲートアレイ13を接続する制御信号をスイッチ回路14に出力する回路と、外部から入力される正常なデータに基づいて第1のメモリ11に保持されているプログラムを更新する回路とを有する。
本実施形態の回路基板のゲートアレイ13は、第2のメモリ15から読み出した初期コンフィギュレーションデータを基に外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成している。また、異常を検知したときには、ゲートアレイ13は、第1の回路パターンとして形成したコントローラを介して、回路基板の外部の装置からコンフィギュレーションデータを取得している。ゲートアレイ13は、取得したコンフィギュレーションデータを基に回路を形成し、第1のメモリ11とゲートアレイ13を接続する制御信号をスイッチ回路14に出力する。また、ゲートアレイ13は、外部の装置から入力される正常なデータに基づいて第1のメモリ11に保持されているプログラムを更新する回路を内部に形成することで、第1のメモリ11のプログラムのデータを更新する。ゲートアレイ13が第1のメモリ11のプログラムのデータを更新することで、プロセッサ12は、正常なデータのプログラムを実行することができるようになる。すなわち、本実施形態の回路基板は、外部の装置から取得したコンフィギュレーションデータに基づいてゲートアレイ13に回路パターンを形成することで、自動でプログラムのデータを正常なデータに更新することが可能に成りうる。そのため、本実施形態の回路基板を用いることで保存されたプログラムにエラーが生じたときに、正常なデータを用いて確実に復旧させることができる。
(第2の実施形態)
本発明の第2の実施形態について図を参照して詳細に説明する。図2は、本実施形態の組み込み型装置用の回路基板100の構成の概要を示したものである。
本実施形態の回路基板100は、CPU(Central Processing Unit)101と、フラッシュROM(Read Only Memory)102と、RAM(Random Access Memory)103と、スイッチIC(Integrated Circuit)104を備えている。また、本実施形態の回路基板100は、FPGA(Field Programmable Gate Array)105と、EEPROM(Electrically Erasable Programmable Read Only Memory)106をさらに備えている。また、本実施形態の回路基板100は、PCIe(PCI(Peripheral Component Interconnect) Express)スイッチ107と、PCIe−Etherブリッジ108をさらに備えている。また、本実施形態の回路基板100は、ネットワークインタフェース109と、L2スイッチ110と、LAN(Local Area Network)ポート111と、電源制御回路112をさらに備えている。
本実施形態の組み込み型装置用の回路基板100の各部位について説明する。CPU101は、プログラムを実行し回路基板100の用途に応じた動作を行う機能を有する。CPU101は、フラッシュROM102に保存されたプログラムを読み出して実行する。フラッシュROM102には、回路基板100に割り当てられた機能に応じたプログラムが保存されている。CPU101は、フラッシュROM102に保存されたプログラムを実行することで、回路基板100は、用途に応じた機能を発現する。また、本実施形態のCPU101は、第1の実施形態のプロセッサ12に相当する。
フラッシュROM102は、CPU101が実行するプログラムの実行コードを保存している。フラッシュROM102は、例えば、NAND型フラッシュメモリによって形成されている。フラッシュROM102は、データの書き換えが可能な不揮発性の半導体記憶素子を用いたものであれば、NAND型フラッシュメモリの半導体記憶素子を用いて形成されていてもよい。また、本実施形態のフラッシュROM102は、第1の実施形態の第1のメモリ11に相当する。
RAM103は、CPU101がプログラムを実行する際の主記憶装置としての機能を有する。RAM103は、揮発性の半導体記憶素子を用いて形成されている。
スイッチIC104は、フラッシュROM102がCPU101またはFPGA105のいずれに接続するかを切り替えるスイッチICである。スイッチIC104は、FPGA105から制御線128を介して送られてくる制御信号に基づいて動作する。スイッチIC104は、スイッチ素子を切り替えることでCPU101とフラッシュROM102の間、または、FPGA105とフラッシュROM102の間のいずれかを電気的に接続する。初期状態、すなわち、回路基板100の起動直後には、スイッチIC104は、CPU101と、フラッシュROM102の間を電気的に接続している。また、本実施形態のスイッチIC104は、第1の実施形態のスイッチ回路14に相当する。
FPGA105は、スイッチIC104の制御と、フラッシュROM102のデータの更新を行う機能を有する。FPGA105は、コンフィギュレーションデータを基に回路パターンを形成し、回路パターンに基づいて動作するゲートアレイである。FPGA105は、EEPROM106および外部からコンフィギュレーションデータを取得し、回路パターンを形成する。FPGA105は、最小限の動作を行うために必要な回路パターンを形成するためのコンフィギュレーションデータをEEPROM106から初期コンフィギュレーションデータと取得する。また、FPGA105は、初期コンフィギュレーションデータによって形成される回路パターン以外の回路パターンのコンフィギュレーションデータを回路基板100の外部から取得する。また、本実施形態のFPGA105は、第1の実施形態のゲートアレイ13に相当する。
EEPROM106は、FPGA105の初期コンフィギュレーションデータを保存している。初期コンフィギュレーションデータとは、FPGA105が起動直後に呼び出し、FPGA105が最小限の動作をするために必要な回路パターンを形成する際に必要なコンフィギュレーションデータのことをいう。最小限の動作とは、バスのコントロールおよびバス経由でFPGA105のリコンフィギュレーションを行う動作のことをいう。
EEPROM106には、一部の回路パターンのコンフィギュレーションデータを保存すればよいため比較的、容量が小さい不揮発性の半導体記憶素子であっても用いることができる。そのため、EEPROMのような大容量化は難しいが、データ保持時間の長い半導体記憶素子を用いることができるのでデータ保持の信頼性を向上することができる。また、EEPROM106には多くのデータを保存する必要がないため回路を小型化することができる。また、本実施形態のEEPROM106は、第1の実施形態の第2のメモリ15に相当する。
PCIeスイッチ107は、PCIeバスの接続先を切り替えるスイッチである。PCIeスイッチ107は、CPU101から制御線125を介して送られてくる制御信号に基づいてスイッチの切り替えを行う。PCIeスイッチ107は、CPU101とFPGA105の間、または、PCIeスイッチ107とFPGA105の間のいずれかを電気的に接続するように動作する。PCIeスイッチ107は、初期状態では、FPGA105とPCIe−Etherブリッジ108の間を接続している。
PCIe−Etherブリッジ108は、データ変換用のブリッジICである。PCIe−Etherブリッジ108は、PCIeバスと、Ethernet(登録商標) LANの間でデータの送受信ができるようにデータ変換を行う。PCIe−Etherブリッジ108を備えることで、LANポート111に接続される外部機器と組み込み型装置内のPCIeバスの間でデータの送受信を行うことができる。
ネットワークインタフェース109は、Ethernet LAN経由で通信を行う際のインタフェースである。
L2スイッチ110は、Ethernet LAN上で伝送されるデータをデータの転送先に振り分ける機能を有する。L2スイッチ110は、Ethernet LAN上に流れるPCIe−Etherブリッジ108とネットワークインタフェース109宛のデータを対応するバスに出力する。
LANポート111は、Ethernet LANと接続するポートである。
電源制御回路112は、回路基板100の電源回路を制御する回路である。電源制御回路112は、FPGA105から制御線133を介して入力される信号に基づいて、回路基板100における給電の制御を行う。
バス121は、CPU101とペリフェラレルを接続するシステムバスである。CPU101は、バス121を介してペリフェラレルであるフラッシュROM102およびRAM103等と接続されている。また、CPU101は、バス121を介してスイッチIC104およびネットワークインタフェース109とも接続されている。
バス122、バス123およびバス124は、PCIeバスである。バス122、バス123およびバス124は、PCIeスイッチ107によるバス間の接続の切り替えにより、バス122とバス124、バス122とバス124またはバス123とバス124のいずれかが接続される。バス122とバス123が接続されたとき、FPGA105とPCIe−Etherブリッジ108の間でデータの転送を行うことができる。バス123とバス124が接続されたとき、CPU101とPCIe−Etherブリッジ108の間でデータ転送を行うことができる。また、バス122とバス124が接続されたとき、CPU101とFPGA105の間でデータ転送を行うことができる。
本実施形態の回路基板100内のバスにおける通信は、PCI Express規格に基づいているが、データ転送が行えるものであれば他の規格に基づいたバスが用いられてもよい。また、回路基板100の外部との通信もEthernet以外の方式で行われてもよい。
制御線125は、PCIeスイッチ107のバス間の接続の切り替えをCPU101が制御するための配線である。初期状態では、PCIeスイッチ107は、FPGA105とPCIe−Etherブリッジ108を接続する設定状態となっている。すなわち、初期状態では、PCIeスイッチ107は、バス122とバス123を接続している。
バス126は、FPGA105とEEPROM106を接続するバスである。FPGA105は、回路基板100の起動時に、バス126を介して、EEPROM106から初期コンフィギュレーションデータの読み出しを行う。
バス127は、フラッシュROM102とスイッチIC104を接続するバスである。フラッシュROM102は、バス127およびスイッチIC104と、バス121またはバス127を介して、CPU101およびFPGA105とデータ転送を行う。
制御線128は、FPGA105からスイッチIC104の設定、すなわち、スイッチIC104における信号方向を制御するための配線である。フラッシュROM102のデータの更新を行うとき、FPGA105は、バス129とバス127を接続するようにスイッチ素子を切り替える制御信号を制御線128を介してスイッチIC104に送る。
バス129は、フラッシュROM102とスイッチIC104を接続するバスである。
バス130、バス131およびバス132は、Ethernet LAN用の信号線である。バス130、バス131およびバス132を介してデータの転送を行うことで、回路基板100は、外部機器とEthernet通信を行うことができる。
制御線133は、FPGA105が電源制御回路112に電源の制御用の制御信号を送る制御線である。
次に本実施形態の回路基板100を用いて組み込み型装置を構成する場合の例について説明する。図3は、コネクタ201から206が形成されたバックプレーン200に回路基板100を回路基板207として挿入する動作を模式的に示した図である。また、図4は、バックプレーン200上のコネクタ201から206に、6枚の回路基板208から213が挿入されている装置の構成を模式的に示した図である。回路基板208から212には、本実施形態の回路基板100が用いられる。同一のバックプレーン200に複数の回路基板100を装着する場合には、回路基板100ごとに異なる機能が割り当てられるためフラッシュROM102に保存されているプログラムはそれぞれ異なる。冗長化を行う場合や複数の回路基板100によって並列処理を行う場合などには、回路基板100のフラッシュROM102にそれぞれ保存されているプログラムは、同一のものであってもよい。
それぞれのコネクタに挿入された回路基板は、バックプレーン200上の回路により相互接続される。図4の回路基板208から212は、本実施形態の回路基板100である。また、回路基板213は、バックプレーン200のコネクタに1枚だけ挿入される監視装置と呼ばれる回路基板である。
図5は、監視装置として用いられる回路基板213の構成の例を示すブロック図である。図5の回路基板213は、基板監視部301と、データ記憶部302と、通信部303を備えている。
基板監視部301は、バックプレーン200への各回路基板の装着の有無および回路基板の動作を監視する機能を有する。基板監視部301は、回路基板100がバックプレーン200に挿入されたことを検知すると、あらかじめ設定された時間内に回路基板100の起動が完了するかを監視する。基板監視部301は、回路基板100がバックプレーン200に挿入されてから設定時間内に、起動が完了したことを示す起動完了通知を受け取れないとき、回路基板100に異常が生じていると判断する。
基板監視部301は、回路基板100に異常が生じていると判断すると、回路基板100のFPGA105にコンフィギュレーションデータを送り、FPGA105に形成された回路を介してフラッシュROM102のデータの異常の有無を確認する。フラッシュROM102のデータの異常を検出すると、基板監視部301は、フラッシュROM102に正常なデータを、FPGA105を介して送信し、フラッシュROM102のデータを更新する。基板監視部301は、CPUやFPGAなどの半導体装置によって形成されている。
データ記憶部302は、回路基板100のFPGA105のコンフィギュレーションデータおよびフラッシュROM102のイメージデータを保存している。FPGA105のコンフィギュレーションデータおよびフラッシュROM102のイメージデータは、外部から取得したデータを一時的に保存しているものであってもよい。データ記憶部302は、不揮発性の半導体記憶装置によって構成されている。
通信部303は、各回路基板と通信を行う機能を有する。通信部303は、回路基板100と同様にネットワークインタフェース、L2スイッチおよびLANポート等によって構成されている。
回路基板213は、コネクタ201から205に挿入される回路基板208から212の状態を監視する。回路基板208から213は、バックプレーン200からコネクタ201から206を介し電源の供給を受ける。また、図4では、全てのコネクタに回路基板が挿入されているが、監視装置用のコネクタ206以外には、回路基板が挿入されていないコネクタが存在してもよい。
図6は、コネクタ201から206の端子のバックプレーン200上での電気的接続の状態を模式的に示した図である。コネクタ201から206上に示している●印、○印はコネクタの端子である。●印は、コネクタと信号線が電気的に接続されていること示している。また、○印は、コネクタと信号線が電気的に未接続であることを示している。図6において、端子と端子をつなぐ線は、電気回路の信号線を示している。図6では、コネクタの端子間を接続する信号線400から406が示されている。信号線のうち、信号線400および信号線401は、Ethernet LANの通信用の信号線である。信号線400および信号線401は、コネクタ201から206の全てのコネクタと接続している。そのため、各コネクタに接続された回路基板208から213は、Ethernet LANで通信可能な状態である。
信号線402から406は、コネクタ206とコネクタ201から205を接続している。信号線401から406により、コネクタ206に接続されている監視装置の回路基板213は、コネクタ201から205への回路基板208から212の挿入有無を確認することができる。また、図6では、コネクタ間を信号線7本で接続している例を示しているが、信号線の数は、7本以外であってもよい。コネクタ間を接続する信号線の数は、回路基板間の接続に必要な信号線の数に基づいて設定される。
本実施形態の回路基板100を用いた組み込み型装置の動作について説明する。図4のように、バックプレーン200のコネクタ206に監視装置である回路基板213が挿入された状態で、コネクタ201に回路基板208が挿入された場合を例に説明する。図7および図8は、本実施形態の回路基板100を回路基板208として用いた場合における組み込み型装置の動作フローを示すシーケンス図である。
バックプレーン200のコネクタ206に回路基板208が挿入されると、回路基板208にはバックプレーン200を介してバックプレーン200から電源が供給される。
コネクタ206に回路基板208が挿入されると、監視装置である回路基板213は、コネクタ201に回路基板が挿入されたことを検出する。回路基板213は、回路基板208から信号線402を介して送られてくる挿入通知信号を検出することで、コネクタ201に回路基板が挿入されたことを検出する(ステップS11)。回路基板213は、電源供給を受けた回路基板208が信号線402に印加した電圧を検出することでコネクタ201に回路基板が挿入されたことを検出してもよい。
電源が供給されると、回路基板208のFPGA105は、初期コンフィギュレーションを開始する。初期コンフィギュレーションを開始すると、FPGA105は、EEPROM106に初期コンフィギュレーションのデータを要求する(ステップS12)。初期コンフィギュレーションデータの要求を受け取ると、EEPROM106は、初期コンフィギュレーションデータをFPGA105にバス126を介して転送する(ステップS13)。
初期コンフィギュレーションデータを読み出すと、FPGA105は、初期コンフィギュレーションデータを基にコンフィギュレーションを行って回路パターンを形成する。図9は、初期コンフィギュレーション後にFPGA105に形成される回路を模式的に示した図である。
図10のFPGA105には、PCIeコントローラ141と、バス142が形成されている。PCIeコントローラ141は、外部とPCI Express規格に基づいたデータの送受信を行うコントローラである。また、バス142は、PCIeバス122とPCIeコントローラ141を接続する信号線である。FPGA105は、PCIeコントローラ141によってバス142とPCIeバス122を介して、外部からコンフィギュレーションデータを取得する。FPGA105は、外部から取得したコンフィギュレーションデータを基に、内部にさらに回路パターンを形成する。
初期コンフィギュレーションが完了すると、CPU101は、フラッシュROM102に起動プログラムの読み出し要求を送る(ステップS13)。読み出し要求を受け取ると、フラッシュROM102は、内部のメモリ素子に保存しているデータをCPU101に送信する。
フラッシュROM102は、データを送る際にデータの正常性を監視する。フラッシュROM102は、例えば、CRC(Cyclic Redundancy Check)によってデータの正常性を監視する。データの正常性を監視する方法は、データのエラーを検出できる方法であれば他の方法であってもよい。
このとき、データを送信する際に、保持寿命等によってデータ化けを起こしているとする。フラッシュROM102は、データの異常を検出すると、CPU101にNG応答を送る(ステップS15)。
NG応答を受け取ると、CPU101は、フラッシュROM102からの起動プログラムが失敗したと判断する。起動プログラムの読み出しが失敗したと判断すると、CPU101は、起動が出来ないと判断して動作を停止する。
ステップS11において回路基板208の挿入を検出した監視装置としての回路基板213は、挿入を検出したときからの時間を計測する。挿入通知を検出してから、あらかじめ設定された時間内に起動完了の通知が回路基板208から送られてこないとき、回路基板213は、回路基板208の起動が失敗したと判断する。
起動が失敗したと判断すると、監視装置である回路基板213は、回路基板208のFPGA105に対してデータ復旧のためのコンフィギュレーションを行う。回路基板213は、Ethernet LANを介して回路基板208にデータ復旧のためのコンフィギュレーションデータを送る(ステップS16)。
回路基板208に送られたデータ復旧のためのコンフィギュレーションデータは、LANポート111、L2スイッチ110、PCIe−Etherブリッジ108およびPCIeスイッチ107を介してFPGA105に送られる。
データ復旧用のコンフィギュレーションデータを受け取ると、FPGA105は、コンフィギュレーションを行ってデータ復旧用の回路パターンを形成する。
図10は、データ復旧用の回路パターンが形成された際のFPGA105の構成を示すブロック図である。図10では、PCIeコントローラ141とバス142に加え、GPIO(General Purpose Input / Output)制御部151と、フラッシュROMコントローラ152が形成されている。また、GPIO制御部151およびフラッシュROMコントローラ152と、制御線128を接続する信号線153が形成されている。また、フラッシュROMコントローラ152とバス127、および、フラッシュROMコントローラ152とPCIeコントローラ141をそれぞれ接続するバス154およびバス155が形成されている。
GPIO制御部151は、スイッチIC104の制御を行う回路である。GPIO制御部151は、スイッチIC104のスイッチを切り替えることで、フラッシュROMコントローラ152とフラッシュROM102の間を電気的に接続状態とする。フラッシュROMコントローラ152は、回路基板213から送られてくるフラッシュROM102の制御内容に基づいてフラッシュROM102の制御を行うことで、回路基板213がフラッシュROM102にアクセスできるようにする。
コンフィギュレーションが完了すると、FPGA105は、コンフィギュレーションが完了したことを示す完了通知を回路基板213に送る(ステップS17)。
完了通知を受け取ると、回路基板213は、回路基板208のFPGA105を介してフラッシュROM102のデータにデータ化け等の異常の有無の確認を開始する。フラッシュROM102のデータの異常の有無の確認を開始すると、回路基板213は、回路基板208のFPGA105にフラッシュROM102のデータの読み出しを要求する(ステップS18)。
データの読み出しの要求を受けると、フラッシュROM102にデータの読み出しを要求する(ステップS19)。フラッシュROM102は、データの読み出し要求を受け取ると、保持しているデータのエラーの有無を確認する。
フラッシュROM102は、保持しているデータにエラーが生じていることを検出すると、NG応答をFPGA105に送る(ステップS20)。FPGA105は、NG応答を受け取ると、NG応答を回路基板213に送る(ステップS21)。
NG応答を受け取ると、回路基板213は、回路基板208のフラッシュROM102のデータにデータ化け等の異常が生じたと判断する。異常が生じたと判断すると、回路基板213は、回路基板208のフラッシュROM102にデータを書き込むことで復旧を行う。
回路基板213は、回路基板208のフラッシュROM102のイメージデータと、イメージデータの書き込み要求を、FPGA105に送る(ステップS22)。イメージデータを受け取ると、FPGA105のフラッシュROMコントローラ152は、フラッシュROM102にイメージデータの書き込みを行う(ステップS23)。データの書き込みを完了すると、フラッシュROM102は、データの書き込みが終わったことを示す完了通知を、FPGA105に送る(ステップS24)。完了通知を受け取ると、FPGA105は、データの書き込みが完了したことを示す完了通知を回路基板213に送る(ステップS25)。
完了通知を受け取ると、回路基板213は、フラッシュROM102へのイメージデータの書き込みが完了したと判断する。イメージデータの書き込みが完了したと判断すると、回路基板213は、回路基板208のFPGA105に再起動の要求をリセット要求として送る(ステップS26)。
リセット要求を受け取ると、FPGA105は、回路基板208のリセットを行う信号をリセット要求として回路基板208の各部位に送る(ステップS27)。回路基板208のリセットが行われると、FPGA105は、初期コンフィギュレーションの動作を開始する。初期コンフィギュレーションが終わると、CPU101は、フラッシュROM102からプログラムを読み出して、プログラムの実行を行う。フラッシュROM102のプログラムのデータは正常なデータに更新されているので、CPU101は、正常にプログラムを実行することができる。
本実施形態の回路基板100を用いた組み込み型装置では、回路基板100が正常に起動できないとき、監視装置から回路基板100のFPGA105にコンフィギュレーションデータを送信し、フラッシュROMコントローラ152等を形成している。フラッシュROMコントローラ152等は、起動時にEEPROM106から読み出させる初期コンフィギュレーションデータを基にFPGA105に形成されるPCIeコントローラによって外部から取得されるコンフィギュレーションデータを基に形成される。監視装置は、FPGAに形成されたフラッシュROMコントローラ152等を介して、フラッシュROM102のデータの異常の有無を確認し、データに異常を検出したときにフラッシュROM102のデータを正常なデータとなるように更新している。このように、本実施形態の回路基板100を用いた組み込み型装置では、フラッシュROM102のデータの異常を検出し、正常なデータへの更新を自動で行うので、フラッシュROM102のデータ更新を短時間で確実に行うことができる。また、FPGA105のコンフィギュレーションデータは、回路基板100の外部から送られるので、回路基板100において、異常が生じたときのみ必要となるフラッシュROM102の更新の動作に必要な回路の面積を抑制することができる。以上より、本実施形態の回路基板100を用いた組み込み型装置は、保存されたプログラムにエラーが生じたときに、より確実に正常なデータを復旧させることができる。
第2の実施形態では、回路基板は、同一のバックプレーン200上に監視装置の回路基板213とともに装着されているが、回路基板100と監視装置は、同一のバックプレーン200上に無くてもよい。例えば、監視装置に相当する機能が主基板に搭載され、回路基板100が主基板に装着されていてもよい。また、第2の実施形態では、回路基板100のフラッシュROM102の更新用のイメージデータは、監視装置に保存されていたが、監視装置による異常の検知を基に、監視装置以外からイメージデータが回路基板100に送れる構成であってもよい。また、初期コンフィギュレーションデータ以外のコンフィギュレーションデータも同様に監視装置以外から回路基板100に送れる構成であってもよい。そのような構成とすることで、回路基板100を用いる組み込み型装置の信頼性を高めつつ、より柔軟に装置を設計することが可能になる。
11 第1のメモリ
12 プロセッサ
13 ゲートアレイ
14 スイッチ回路
15 第2のメモリ
100 回路基板
101 CPU
102 フラッシュROM
103 RAM
104 スイッチIC
105 FPGA
106 EEPROM
107 PCIeスイッチ
108 PCIe−Etherブリッジ
109 ネットワークインタフェース
110 L2スイッチ
111 LANポート
112 電源制御回路
121−124 バス
125 制御線
126 バス
127 バス
128 制御線
129−132 バス
133 制御線
141 PCIeコントローラ
142 バス
151 GPIO制御部
152 フラッシュROMコントローラ
153 信号線
154 バス
155 バス
200 バックプレーン
201−206 コネクタ
207 回路基板
208−212 回路基板
213 回路基板
301 基板監視部
302 データ記憶部
303 通信部
400−406 信号線

Claims (10)

  1. 保持しているプログラムのデータを書き換える手段を有する第1のメモリと、
    前記第1のメモリに保持されている前記プログラムを実行するプロセッサと、
    コンフィギュレーションデータに基づいた回路パターンを形成するゲートアレイと、
    前記ゲートアレイから入力される制御信号に基づいて、前記第1のメモリと、前記プロセッサまたは前記ゲートアレイのいずれかとを接続するスイッチ回路と
    外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成するコンフィギュレーションデータを初期コンフィギュレーションデータとして保持している第2のメモリと
    を備え、
    前記ゲートアレイは、起動時に、前記第2のメモリから読み出す前記初期コンフィギュレーションデータに基づいて前記第1の回路パターンを形成し、
    前記第1のメモリに保持されている前記データの異常が検知されたときに、前記コントローラを介して外部から入力されるコンフィギュレーションデータに基づいて、前記第1のメモリと前記ゲートアレイを接続する前記制御信号を前記スイッチ回路に出力する回路と、外部から入力される正常なデータに基づいて前記第1のメモリに保持されている前記プログラムを更新する回路とを有する第2の回路パターンを形成することを特徴とする回路基板。
  2. 前記ゲートアレイは、前記第1のメモリに保持されている前記プログラムを更新した後の、再起動が行われた際に、前記スイッチ回路は、前記第1のメモリと前記プロセッサとを接続し、
    前記プロセッサは、更新された前記プログラムを実行することを特徴とする請求項1に記載の回路基板。
  3. 前記ゲートアレイは、前記第1のメモリに保持されている前記データの異常が検知されたときに、前記第1の回路パターンに加えて、前記第2の回路パターンを形成することを特徴とする請求項1に記載の回路基板。
  4. 前記プロセッサが前記プログラムを実行する際の処理結果の送信および処理に使用するデータの受信と、前記プログラムの更新用のデータの受信とを行う通信回路をさらに備えることを特徴とする請求項1から3いずれかに記載の回路基板。
  5. 請求項1から4いずれかに記載の前記回路基板と、
    前記回路基板の前記コンフィギュレーションデータと、前記プログラムのデータとを記憶する記憶手段と、前記回路基板の異常の有無を監視する手段とを有する監視装置と
    を備え、
    前記監視装置は、前記回路基板の異常を検知した際に、前記第2の回路パターンを形成する前記コンフィギュレーションデータを前記回路基板に送信し、前記回路基板に形成された前記第2の回路パターンの回路を介して前記第1のメモリの前記プログラムを更新することを特徴とする電子装置。
  6. 前記監視装置は、前記回路基板の前記プログラムの更新を完了したときに、前記回路基板に再起動を要求し、
    前記回路基板は、前記監視装置からの再起動の要求に基づいて再起動し、前記プロセッサによって更新後の前記プログラムを実行することを特徴とする請求項5に記載の電子装置。
  7. 前記回路基板および前記監視装置は、同一のバックプレーンに挿入されていることを特徴とする請求項5または6に記載の電子装置。
  8. 前記監視装置は、前記回路基板が前記バックプレーンに挿入されたことを検知してから所定の時間経過するまでに起動の完了を検知できなかったとき、前記回路基板に異常が生じていると判断することを特徴とする請求項7に記載の電子装置。
  9. 前記バックプレーンに挿入された複数の前記回路基板を備え、
    前記監視装置は、前記回路基板それぞれを監視することを特徴とする請求項8に記載の電子装置。
  10. 第1のメモリと、
    前記第1のメモリに保持されているプログラムを実行するプロセッサと、
    コンフィギュレーションデータに基づいた回路パターンを形成するゲートアレイと、
    前記ゲートアレイから入力される制御信号に基づいて、前記第1のメモリと、前記プロセッサまたは前記ゲートアレイのいずれかとを接続するスイッチ回路と、
    外部とデータの送受信を行うコントローラとして動作する第1の回路パターンを形成するコンフィギュレーションデータを初期コンフィギュレーションデータとして保持している第2のメモリと
    を備える回路基板において
    起動時に、前記第2のメモリから読み出す前記初期コンフィギュレーションデータに基づいて前記第1の回路パターンを前記ゲートアレイに形成し、
    前記第1のメモリに保持されている前記データの異常が検知されたときに、前記コントローラを介して外部から入力されるコンフィギュレーションデータに基づいて、前記第1のメモリと前記ゲートアレイを接続する前記制御信号を前記スイッチ回路に出力する回路と、外部から入力される正常なデータに基づいて前記第1のメモリに保持されている前記データを更新する回路とを有する第2の回路パターンを前記ゲートアレイに形成することを特徴とするデータ復旧方法。
JP2017160307A 2017-08-23 2017-08-23 回路基板、電子装置およびデータ更新方法 Active JP6933050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017160307A JP6933050B2 (ja) 2017-08-23 2017-08-23 回路基板、電子装置およびデータ更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017160307A JP6933050B2 (ja) 2017-08-23 2017-08-23 回路基板、電子装置およびデータ更新方法

Publications (2)

Publication Number Publication Date
JP2019040302A true JP2019040302A (ja) 2019-03-14
JP6933050B2 JP6933050B2 (ja) 2021-09-08

Family

ID=65727411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017160307A Active JP6933050B2 (ja) 2017-08-23 2017-08-23 回路基板、電子装置およびデータ更新方法

Country Status (1)

Country Link
JP (1) JP6933050B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876974A (ja) * 1994-09-09 1996-03-22 Fujitsu Ltd データ処理装置
JPH10254693A (ja) * 1997-03-14 1998-09-25 Brother Ind Ltd 電子機器
JP2001243061A (ja) * 2000-02-29 2001-09-07 Matsushita Electric Works Ltd 不揮発メモリの書き換え方法
JP2001290758A (ja) * 2000-04-10 2001-10-19 Nec Corp コンピュータシステム
JP2004326143A (ja) * 2003-04-21 2004-11-18 Nec Saitama Ltd Fpgaを具備するcpu装置とその初期化方法
JP2005258996A (ja) * 2004-03-15 2005-09-22 Meidensha Corp Fpgaのリモートメンテナンス方式
JP2007174555A (ja) * 2005-12-26 2007-07-05 Sharp Corp 画像処理装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0876974A (ja) * 1994-09-09 1996-03-22 Fujitsu Ltd データ処理装置
JPH10254693A (ja) * 1997-03-14 1998-09-25 Brother Ind Ltd 電子機器
JP2001243061A (ja) * 2000-02-29 2001-09-07 Matsushita Electric Works Ltd 不揮発メモリの書き換え方法
JP2001290758A (ja) * 2000-04-10 2001-10-19 Nec Corp コンピュータシステム
JP2004326143A (ja) * 2003-04-21 2004-11-18 Nec Saitama Ltd Fpgaを具備するcpu装置とその初期化方法
JP2005258996A (ja) * 2004-03-15 2005-09-22 Meidensha Corp Fpgaのリモートメンテナンス方式
JP2007174555A (ja) * 2005-12-26 2007-07-05 Sharp Corp 画像処理装置

Also Published As

Publication number Publication date
JP6933050B2 (ja) 2021-09-08

Similar Documents

Publication Publication Date Title
CN108228374B (zh) 一种设备的故障处理方法、装置及系统
US20120079260A1 (en) Basic input-output system circuit and method for using the same
US20110283274A1 (en) Firmware image update and management
RU2614569C2 (ru) Стойка с функцией автоматического восстановления и способ автоматического восстановления для этой стойки
CN101714108B (zh) 同步控制设备、信息处理设备以及同步管理方法
CN106463179A (zh) 利用存储器控制器处理数据错误事件的方法、装置和系统
JP2016004510A (ja) 原因特定方法、原因特定プログラム、情報処理システム
US20130205129A1 (en) Baseboard management controller system
JP2013164842A (ja) Bmcファームウェアの修復機能を持つ電子装置及びその修復方法
WO2012001780A1 (ja) システム制御装置、情報処理システム及び情報処理システムのデータ退避及び復元方法
JP2011253408A (ja) サーバシステム及びそのbios復旧方法
WO2022155919A1 (zh) 一种故障处理方法、装置及系统
CN102081526A (zh) 基本输入/输出系统架构
CN103150224A (zh) 用于提高启动可靠性的电子设备及方法
JP6933050B2 (ja) 回路基板、電子装置およびデータ更新方法
US20210253047A1 (en) Communication device and control method
EP3848807A1 (en) Data processing system and method for configuring and operating a data processing system
JP2013200616A (ja) 情報処理装置及び情報処理装置の復旧回路
JP2015225522A (ja) システムおよび障害処理方法
CN111176902A (zh) 一种使用BMC Flash备份Controller Device韧体的装置和方法
US20120047397A1 (en) Controlling apparatus, method for controlling apparatus and information processing apparatus
JP6554801B2 (ja) 冗長通信装置及びその制御方法
TWI738627B (zh) 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法
JP4593135B2 (ja) コンピュータシステムおよび周辺装置並びに周辺装置の試験方法
JP2011188272A (ja) スイッチ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210629

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: 20210720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210802

R150 Certificate of patent or registration of utility model

Ref document number: 6933050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150