JP2020071797A - 半導体装置、半導体システムおよびプログラム - Google Patents

半導体装置、半導体システムおよびプログラム Download PDF

Info

Publication number
JP2020071797A
JP2020071797A JP2018207093A JP2018207093A JP2020071797A JP 2020071797 A JP2020071797 A JP 2020071797A JP 2018207093 A JP2018207093 A JP 2018207093A JP 2018207093 A JP2018207093 A JP 2018207093A JP 2020071797 A JP2020071797 A JP 2020071797A
Authority
JP
Japan
Prior art keywords
control device
sub
program
semiconductor device
main
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.)
Pending
Application number
JP2018207093A
Other languages
English (en)
Inventor
一生 恩田
Kazuki Onda
一生 恩田
政充 村谷
Masamitsu Muratani
政充 村谷
浩司 八木
Hiroshi Yagi
浩司 八木
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2018207093A priority Critical patent/JP2020071797A/ja
Priority to CN201910832760.1A priority patent/CN111143248A/zh
Priority to US16/577,508 priority patent/US11599631B2/en
Publication of JP2020071797A publication Critical patent/JP2020071797A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供する。【解決手段】半導体装置100は、主制御装置110と副制御装置120とを有する。主制御装置110は、外部信号を受け付けるメインプログラムを格納する主メモリ112と、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路115と、を含む。副制御装置120は、主制御装置110に接続し、トリガ信号を取得するトリガ信号取得回路121と、取得したトリガ信号に基づいてサブプログラムを主制御装置110に出力するサブプログラム出力回路123とを含む。【選択図】図2

Description

本発明は半導体装置、半導体システムおよびプログラムに関する。
近年、インターネット接続など外部との通信機能を様々な機器が有するようになってきた。外部との通信機能を有することにより、ソフトウェアの更新やデータの共有などが容易に行われる反面、第三者等からの不正なアクセスによる危険が問題となっている。そのため、外部との通信機能を有する装置やシステムは、不正アクセスにより生じる危険を回避する手段が求められている。
例えば、半導体装置には、メモリプロテクション(またはエリアプロテクション)と呼ばれる機能が実装されている。メモリプロテクションは、予め設定されたアドレス空間に対するアクセスとは異なるアクセス、すなわち不正アクセスを検出する機能を有する。半導体装置のユーザは不正アクセスの検出をトリガとして半導体装置が搭載されているシステム等を保護する手段を採ることができる。
より具体的には、例えば特許文献1に記載のプログラム切替え装置は、マイコンに格納されている制御プログラムの整合性が検証されなかった場合に、保持された別の制御プログラムを実行する。また特許文献2に記載の装置は、不正アクセス監視用のサブマイコンが不揮発メモリに異常を検出するとメインマイコンの動作を禁止する機能を有する。
特開2004−348546号公報 特開平11−338783号公報
半導体装置が不正アクセスを受けた場合には、不正アクセスによってソフトウェアが改ざんされている可能性がある。すなわち、その半導体装置自体に格納しているソフトウェアの信頼性を担保することができない。しかしながら特許文献2に記載の装置は、制御プログラムが保持されている保持手段に不正アクセスがあった場合、別の制御プログラムにも不正アクセスがあった可能性があるため信頼性が担保されているとはいえない。また特許文献1に記載の装置は、不正アクセス後にメインマイコンの動作を禁止するためそれ以降の装置の機能を継続させることができない。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、主制御装置と副制御装置とを有する。主制御装置は、外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を含む。副制御装置は、上記主制御装置に接続し、上記トリガ信号を取得するトリガ信号取得回路と、取得した上記トリガ信号に基づいてサブプログラムを上記主制御装置に出力するサブプログラム出力回路と、を含む。
一実施の形態によれば、半導体システムは、主制御装置と副制御装置とを有する複数の半導体装置が互いに通信可能に接続されており、上記複数の半導体装置の内、一の半導体装置は、トリガ信号に基づく通知を他の半導体装置に送信する。
一実施の形態によれば、プログラムは、半導体装置保護方法を、コンピュータに実行させる。上記半導体装置保護方法は、主制御装置において予め設定された信号処理とは異なる信号処理が行われた場合に副制御装置にトリガ信号を出力するトリガ信号出力ステップを有する。また、上記半導体装置保護方法は、副制御装置において、上記トリガ信号に基づいてサブプログラムを主制御装置に出力するサブプログラム出力ステップを有する。
前記一実施の形態によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
実施の形態1にかかる呼吸補助システムの概略構成図である。 実施の形態1にかかる半導体装置の概略構成図である。 実施の形態1にかかる異常検出回路の具体例を示す図である。 主制御装置における異常検出回路の構成例を示す図である。 実施の形態1にかかる半導体装置の処理を示すフローチャートである。 実施の形態1にかかる呼吸補助システムのプログラム書換え後の状態を示す図である。 実施の形態1にかかる半導体装置と書換え装置とが接続された状態を示す図である。 実施の形態1の変形例にかかる半導体装置の概略構成図である。 実施の形態2にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。 実施の形態2の変形例にかかる半導体システムの概略構成図である。 実施の形態2の変形例にかかる半導体装置の処理を示すフローチャートである。 実施の形態3にかかる半導体装置の概略構成図である。 実施の形態3にかかる半導体装置の処理を示すフローチャートである。
説明の明確化のため、以下の記載および図面は、適宜、省略、および簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによって様々な形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
<実施の形態1>
以下に図面を参照しながら実施の形態1について説明する。図1は、実施の形態1にかかる呼吸補助システムの概略構成図である。図に示す呼吸補助システム1は、自力で呼吸をすることが困難な状態にある患者に対して呼吸動作を補助するために用いられる装置である。呼吸補助システム1は通信機能を有しており、ネットワーク900を介してサーバ800と通信可能に接続されている。呼吸補助システム1を管理する管理者は、サーバ800が取得する呼吸補助システム1の状態に関する情報を管理することができる。また、管理者は、サーバ800を用いて、呼吸補助システム1のプログラムを更新することもできる。
呼吸補助システム1は、主な構成として、呼吸補助装置10、センサ12、ポンプ13、表示装置15および入力装置16を有している。以下に、まず、センサ12、ポンプ13、表示装置15および入力装置16について説明する。
センサ12は、呼吸補助システム1を動作させるために必要な情報を取得し、取得した情報を呼吸補助装置10に供給する。センサ12が取得する情報には、例えばポンプ13の回転数などの動作状態または患者の呼吸強度など複数の情報が含まれる。
ポンプ13は、患者が行う呼吸を補助するためのポンプ装置である。ポンプ13は、吸気口、排気口およびモータ14を有している。モータ14は、吸気口と排気口との間に介在し、吸気口から吸引した空気を排気口に送り出す。モータ14は、呼吸補助装置10に接続し、呼吸補助装置10から指示を受けて動作する。
表示装置15は、例えば表示部と表示部を駆動させるための表示駆動回路などを有するディスプレイ装置である。表示装置15は、例えば呼吸補助システム1の動作状態やセンサ12を介して取得した患者の状態等を表示する。入力装置16は、例えばキーボード、タッチパネルまたはスイッチなどにより構成され、呼吸補助装置10を使用するユーザから指示を受け付ける。
次に、呼吸補助装置10について説明する。呼吸補助装置10は、主な構成として、通信装置11および半導体装置100を有している。呼吸補助装置10は、システムを構成するセンサ12、ポンプ13、表示装置15および入力装置16と有線または無線によりそれぞれと通信可能に接続されている。
通信装置11は、呼吸補助システム1の外部と外部通信を行う装置である。外部通信とは、通信装置11が含まれる装置または基板の外と決められた手順に従って情報の送信、受信またはその両方を行う行為であり、その装置を構成する入出力装置の通信は含まない。すなわち、通信装置11は、ネットワーク900にアクセスし、所定のデータの送信および受信を行う。通信装置11は、半導体装置100と連携して外部通信を行う。ネットワーク900は、例えば公衆ネットワーク回線である電話回線や、インターネット回線である。通信装置11とネットワーク900との接続は有線、無線を問わない。
半導体装置100は、呼吸補助システム1が有する各構成の動作や機能を制御する。半導体装置100は、主な構成として、主制御装置110および副制御装置120を有している。主制御装置110は、CPU(Central Processing Unit)を含む演算装置である。主制御装置110はメインプログラムを格納し、メインプログラムの処理に従って各構成に指示を送ったりデータを受け取ったりする。副制御装置120は、MCU(Micro Controller Unit)と呼ばれる演算装置である。副制御装置120は、予備のプログラムであるサブプログラムを格納し、主制御装置110に接続し、予め設定された条件になった場合に、サブプログラムを主制御装置110に供給する。
半導体装置100は、例えば、主制御装置110と副制御装置120とがそれぞれ独立した集積回路のチップであって、1個の基板上に実装された構成である。また、半導体装置100は、例えば、主制御装置110と副制御装置120とがそれぞれ独立した集積回路のチップであって、それぞれをさらに1個のチップとして積層したPoP(Package on Package)であってもよい。主制御装置110は外部通信を実現する機能を有しているため、上述のように不正アクセスを受ける可能性がある。一方、副制御装置120は、外部通信を司る配線を有していないことが好ましい。また、副制御装置120は主制御装置110との通信においても不正アクセスの影響を受ける配線を有していないことが好ましい。
次に、図2を参照しながら、呼吸補助装置10が有する半導体装置100の詳細について説明する。図2は、実施の形態1にかかる半導体装置の概略構成図である。主制御装置110は、通信装置11に接続し、通信装置11が行う外部通信を制御する。また、主制御装置110はセンサ12、モータ14、表示装置15および入力装置16に接続し、適宜信号の送受信を行う。
主制御装置110は、主な構成として、外部通信インタフェース111、主メモリ112、異常検出回路114、トリガ信号出力回路115および応答回路116を有している。外部通信インタフェース111は、通信装置11と信号の送受信を行うためのインタフェースである。
主メモリ112はフラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)またはEPROM(Erasable Programmable Read Only Memory)などの書換え可能な不揮発性の記憶装置である。主メモリ112はプログラム記憶領域113にメインプログラムを格納している。メインプログラムは、半導体装置100が搭載されている呼吸補助システム1の動作を実行するための機能を実現するためのプログラムである。メインプログラムには、外部通信インタフェース111を介して信号を送受信する外部通信を利用した機能も含まれる。
異常検出回路114は、主制御装置110内で行われる信号処理から不正アクセスなどの異常処理を検出し、かかる検出に基づくトリガ信号を生成する。異常検出回路114が生成するトリガ信号はソフトウェアにより生成されるものではなく、主制御装置110内のハードウェアの設定により生成される。
ここで図3を参照しながら異常検出回路の具体例について説明する。図3は、実施の形態1にかかる異常検出回路の具体例を示す図である。異常検出回路114は、処理実行されている領域から処理実行アドレスに関する信号を取得し、処理実行されているアドレスがアクセス許可を受けていない場合に異常処理が実行されていることを示すトリガ信号を出力する。
異常検出回路114は、主な構成として、アドレス空間情報レジスタ114A、アクセス許可情報レジスタ114Bおよび比較器114Cを有している。アドレス空間情報レジスタ114Aは、処理実行アドレスに関する信号を取得し、取得した信号に対応するアドレス空間に関する信号を比較器114Cに出力する。アクセス許可情報レジスタ114Bは、主制御装置110のアドレス空間毎にアクセスが許可されているか否かが登録されている。比較器114Cは、処理が実行されたアドレスに対応するアドレス空間に関する情報と、アドレス空間に対するアクセス許可に関する情報とを比較して、アクセスされたアドレス空間がアクセス許可されていない場合には、トリガ信号を出力する。
図に示した異常検出回路114は、例えばメモリプロテクションユニットまたはエリアプロテクションユニットとも称される。異常検出回路114は、主制御装置110の内部における命令実行、読取りまたは書出しなどの信号処理においてアクセスされる各アドレスを監視する。このような構成により、異常検出回路114は、処理が実行されているアドレスの信号からトリガ信号を出力するため、ソフトウェアを介在させずにハードウェア(回路配線)により異常信号処理を検出することができる。
次に、図4を参照しながら、主制御装置110における異常検出回路114の構成例について説明する。図4は、主制御装置における異常検出回路の構成例を示す図である。図において、主制御装置110は、異常検出回路114、CPU117、出力設定レジスタ118、論理回路119および端子T1を有している。
異常検出回路114は、図3を参照して説明したように、異常信号処理を検出した場合に、トリガ信号を論理回路119に供給する。CPU117は、主制御装置110の演算回路であり、出力設定レジスタ118に対して所定の信号を供給する。ここで、所定の信号とは、CPU117がアクセスの異常を検出した場合である。出力設定レジスタ118は、CPU117から所定の信号を受け取ると、それに応じてトリガ信号を生成し、生成したトリガ信号を論理回路119に供給する。
論理回路119は、異常検出回路114および出力設定レジスタ118からそれぞれトリガ信号を受け取り、受け取ったトリガ信号の論理和を端子T1に伝達する。このような構成により、主制御装置110は、異常検出回路114からのトリガ信号を直接に端子T1に伝達し、これを出力することもできるし、CPU117で生成した信号によりトリガ信号を出力することもできる。なお、当然ながら、異常検出回路114が出力するトリガ信号は、増幅器により増幅されてもよいし、ノイズフィルタやダイオードによる保護回路を経由してもよい。
図2に戻り主制御装置110の構成について説明を続ける。
トリガ信号出力回路115は、副制御装置120に対してトリガ信号を出力する。すなわち、トリガ信号出力回路115は、主制御装置110から副制御装置120にトリガ信号を供給するためのインタフェースである端子を含む。
応答回路116は、副制御装置120の要求回路122からの要求信号を受け付けた後に、副制御装置120に対して要求信号に対する応答信号を出力する。また、応答回路116は、応答信号を出力した後に副制御装置120から供給されるサブプログラムを取得する。
次に副制御装置120について説明する。副制御装置120は、主制御装置110に接続し、予め設定された条件に従い主制御装置110が異常信号処理を検出した場合に、主制御装置110に対してサブプログラムを供給する。副制御装置120は、主な構成として、トリガ信号取得回路121、要求回路122、サブプログラム出力回路123および副メモリ124を有している。
トリガ信号取得回路121は、主制御装置110のトリガ信号出力回路115から出力されたトリガ信号を取得する。トリガ信号取得回路121は、トリガ信号を受け取るためのインタフェースである端子を含む。また、トリガ信号取得回路121は、トリガ信号を受け取ることにより割り込み処理を行い要求回路の処理を開始させる機能を併せ持つ。要求回路122は、トリガ信号取得回路121が主制御装置110からトリガ信号を取得した場合に、主制御装置110に対してサブプログラムを転送することを要求する要求信号を出力する。サブプログラム出力回路123は、主制御装置110から応答信号を受け取った場合に、サブプログラムを主制御装置110に転送する。
副メモリ124は、フラッシュメモリなどの書換え可能な不揮発性の記憶装置またはマスクROM(Read-Only Memory)などの書換え不可能な不揮発性の記憶装置である。副メモリ124はプログラム記憶領域125にサブプログラムを格納している。サブプログラムはメインプログラムから少なくとも外部通信の機能を削除したプログラムである。すなわち、呼吸補助システム1がサブプログラムを実行した場合は、外部通信を行わない。
次に、図5を参照しながら半導体装置100が異常信号処理を検出した場合の処理について説明する。図5は、実施の形態1にかかる半導体装置の処理を示すフローチャートである。図に示す処理を、メインプログラム書換えルーチンS10と称する。メインプログラム書換えルーチンS10は、まず半導体装置100が異常信号処理を検出することにより開始される。換言すると、例えばネットワーク900を介して主制御装置110が不正アクセスを受け、異常検出回路114が不正アクセスによる異常信号処理を検出することにより図に示す処理が開始される。
まず、異常検出回路114がアクセス異常を検出すると、主制御装置110が副制御装置120に対してトリガ信号を供給する(ステップS11)。副制御装置120は、トリガ信号を受け取ると、割り込み処理を開始する。
次に、副制御装置120は、主制御装置110に対してリセット信号を供給する。主制御装置110は、副制御装置120からリセット信号を受け取ると、主制御装置110のメインプログラムの実行を停止するとともに主制御装置110をリセット状態にする(ステップS12)。
次に、副制御装置120は、主制御装置110を書換えモードにセットする(ステップS13)。具体的には、副制御装置120は主制御装置110の所定のプログラム書換え用の端子に対して例えばLoからHi(またはHiからLo)になるように信号を供給する。これにより主制御装置110は、プログラム書換えモードに遷移する。
次に、副制御装置120は主制御装置110のリセットを解除する(ステップS14)。副制御装置120がリセットを解除する処理を行うことにより、主制御装置110が書換えモードで起動する(ステップS15)。
次に、副制御装置120は、主制御装置110に対して書換え要求信号を送信する(ステップS16)。さらに、副制御装置120は、主制御装置110に対してサブプログラムを送信する(ステップS17)。なお、この場合、副制御装置120は、主制御装置110が要求信号に対する応答信号を返信してくるのを待ち、主制御装置110から応答信号を受け取ってから次のステップに移行する。
次に、副制御装置120は、主制御装置110に対してサブプログラムを送信する(ステップS17)。主制御装置110は、副制御装置120からサブプログラムを受け取ると、サブプログラムを主メモリ112のプログラム記憶領域113に格納する。この際、主制御装置110は、メインプログラムを消去するとともにサブプログラムを格納する。すなわちプログラム記憶領域のプログラムをメインプログラムからサブプログラムに書換える。これにより、半導体装置100は、不正アクセスにより改ざんされている可能性があるプログラムに代えて、安全性が担保されているサブプログラムを主メモリに格納する状態にする。
次に、主メモリ112にサブプログラムが格納された後に、副制御装置120は主制御装置110をリセットする(ステップS18)。そして、副制御装置120はプログラム書換えモードを解除するとともに、主制御装置110のリセットを解除する(ステップS19)。主制御装置110はリセットが解除されると書換えられたサブプログラムによる動作を開始する。
以上、半導体装置100におけるプログラムの書換え処理について説明した。なお、ステップS17において、応答信号を受け取ることなく、予め設定された時間が経過した後にサブプログラムを送信する処理を行ってもよい。
次に、図6を参照しながら、上述のプログラム書換え処理を行った後のシステムについて説明する。図6は、実施の形態1にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。
図6に示す呼吸補助システム1は、主制御装置110が有するプログラムがメインプログラムからサブプログラムに書換えられている。またこれに伴い呼吸補助システム1は通信装置11の動作が停止している。そのため、呼吸補助システム1はネットワーク900を介した外部通信を行うことができない状態である。また呼吸補助システム1は、外部通信を除く機能についてはプログラムが書換えられる前と同等の機能を発揮することができる。したがって、外部から何らかの不正アクセスを受けた後であっても、呼吸補助システム1は、ソフトウェア改ざんなどの危険を削除するとともに、呼吸補助装置としての機能を維持することができる。
次に、図7を参照しながら、主制御装置110のプログラムを外部から書換える場合の構成について説明する。図7は、実施の形態1にかかる半導体装置と書換え装置とが接続された状態を示す図である。図において、半導体装置100は、コネクタ100Nを有しており、コネクタ100Nは、書換え装置700と接続されている。また、半導体装置100の各構成は内部配線L10〜L16により接続されている。
以下に、半導体装置100の内部配線について説明する。
内部配線L10は主制御装置110がトリガ信号を副制御装置120に供給するための配線である。内部配線L11は、主制御装置110が受信側(Rx)であって副制御装置120が送信側(Tx)となる通信を行うための配線である。内部配線L12は、主制御装置110が送信側(Tx)であって副制御装置120が受信側(Rx)となる通信を行うための配線である。主制御装置110は内部配線L10〜L12を介して副制御装置120からサブプログラムを受け取ることができる。
内部配線L13は内部配線L11とコネクタ100Nとを結ぶ配線である。書換え装置700から主制御装置110に対してプログラムを供給する場合、送信側(Tx)である書換え装置700から、内部配線L13およびL11を介して、受信側(Rx)である主制御装置110に対してプログラム等が伝達される。
内部配線L14は内部配線L12とコネクタ100Nとを結ぶ配線である。書換え装置700から主制御装置110に対してプログラムを供給する場合、送信側(Tx)である主制御装置110から、内部配線L14およびL12を介して、受信側(Rx)である書換え装置700に応答信号等が伝達される。
内部配線L15は副制御装置120のGND端子とコネクタ100Nとを結ぶ配線である。内部配線L16は副制御装置120のリセット端子とコネクタ100Nとを結ぶ配線である。
次に、書換え装置700について説明する。書換え装置700は半導体装置100に接続して主制御装置110に対してプログラムの書換えを行うための装置である。書換え装置700は半導体装置100が有するコネクタ100Nに対して着脱可能なコネクタ700Nを有しており、配線L13〜L16と通電可能に接続される。
書換え装置700は、配線L15と配線L16とを接続する配線L70を有している。そのため、書換え装置700が半導体装置100に接続されると、副制御装置のリセット端子はGND端子の電位に固定される。これにより副制御装置120はリセット状態となり主制御装置110との信号の送受信を行わない状態となる。なお、GND端子の電位に固定するのは一例であり、少なくとも副制御装置120のRx端子とTx端子がハイインピーダンス状態となるよう配線L15の電位を決定すればよい。
書換え装置700は副制御装置120がリセット状態となった後に、配線L13およびL14を介して主制御装置110と所定の信号を送受信するとともに書換え装置700が格納しているプログラムを主制御装置110に送信する。書換え装置700からプログラムを受け取った主制御装置110は、受け取ったプログラムを主メモリに格納する。以上の構成により、半導体装置100は、主制御装置110のプログラムがサブプログラムに書換えられ、外部通信をしない状態になった後であっても、書換え装置700により主制御装置110が格納するプログラムを書換えることが可能である。
以上、実施の形態1について説明したが、実施の形態1にかかる呼吸補助システム1および呼吸補助システム1が有する半導体装置100の構成は上述の内容に限られない。例えば、通信装置11の機能は半導体装置100に含まれていてもよい。また、呼吸補助装置10は、通信装置11に代えて、外部信号を受け付ける外部信号受付装置を有していてもよい。外部信号受付装置は呼吸補助装置10に入力される信号を受け付け、受付けた信号を半導体装置100に供給する装置であって、例えばメモリカードリーダやバス通信コネクタ等である。呼吸補助装置10がこのような構成の場合、半導体装置100が有する外部通信インタフェース111は、外部信号受信装置に対応した信号を受け付ける機能を有する。また、呼吸補助装置がこのような構成の場合、副制御装置が記憶しているサブプログラムは外部通信を受け付けない機能に代えて、外部信号を受け付けない機能を有する。
また、実施の形態1で説明した半導体装置100は、呼吸補助システム1に限らず、通信機能を利用するあらゆる装置、システムに適用可能である。例えば、実施の形態1にかかる半導体装置100は、IoT(Internet of Things)と呼ばれる様々な機器に適用可能である。また、実施の形態1にかかる半導体装置100は、通信機能を有する移動体、家電、業務用機器、医療用機器などに適用可能である。
なお、副制御装置120は、主制御装置110と同じ構成を有する演算装置であってもよいが、副制御装置120は主制御装置110よりも比較的回路規模の小さな集積回路を選択してもよい。そのような構成とすることにより、コストの増加を抑えつつ、不正アクセスによる異常処理から半導体装置を保護するとともに必要な機能を維持する半導体装置等を提供できる。また、外部通信は、上記の例に限られず、公衆ネットワーク回線を介さないブルートゥース(登録商標)、USB(Universal Serial Bus)またはWi−Fiダイレクト等の規格に則った通信であってもよい。
実施の形態1にかかる呼吸補助システム1は、主制御装置110が外部通信を通じて不正アクセスによる攻撃を受けた場合、主制御装置110の内部で動作しているソフトウェアの信頼性が保証されなくなる。そのため、異常検出回路114が異常信号処理を検出した後はソフトウェアを介在させずハードウェアによりトリガ信号を出力する処理を行う。このような構成とすることで、実施の形態1は、システム外部からの攻撃による異常を確実に副制御装置に通知することができる。異常信号処理を検出した後にメインプログラムに代えて主制御装置110に格納されるサブプログラムは、メインプログラムから通信機能を削除したものである。そのため、呼吸補助システム1は通信経由の攻撃を受ける可能性を排除することができる一方で、本来機能すべき機能を確実に維持および継続することができる。したがって、実施の形態1によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
<実施の形態1の変形例>
次に、図8を参照しながら実施の形態1の変形例について説明する。図8は、実施の形態1の変形例にかかる半導体装置の概略構成図である。図に示す呼吸補助システム1は半導体装置101の構成が図2に示した半導体装置100と異なる。
半導体装置101は主制御装置110、副制御装置220および記憶装置130を有している。副制御装置220は、副メモリ124に代えてメモリ制御回路126を有している点において実施の形態1の副制御装置120と異なる。メモリ制御回路126は副制御装置120に接続されている記憶装置130から所定の情報を読取り、読取った情報をサブプログラム出力回路123に供給する。
記憶装置130は、プログラム記憶領域131を有する記憶装置であって、書換え不可能な不揮発性メモリである。書換え不可能な不揮発性メモリとは、例えばPROM(Programmable Read Only Memory)やマスクROMである。記憶装置130は副制御装置220に接続し、メモリ制御回路126の要求に応じて所定の情報を副制御装置220に供給する。
記憶装置130が書換え不可能な不揮発性メモリにより構成されることにより、半導体装置100が不正アクセスを受けた場合に、主制御装置110のメインプログラムを確実に予め用意されたサブプログラムに書換えることが可能となる。
また、実施の形態1の変形例によれば、副制御装置220はメインプログラムを格納する副メモリを含まないため、比較的に安価な構成とすることができる。よって、実施の形態1の変形例によれば、不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
<実施の形態2>
次に、図9を参照しながら実施の形態2について説明する。図9は、実施の形態2にかかる呼吸補助装置のプログラム書換え後の状態を示す図である。実施の形態2にかかる呼吸補助システム2は、不正アクセスを受けた後のサブプログラムによって実現される機能が実施の形態1にかかる呼吸補助システム1と異なる。より具体的には、呼吸補助システム2は、サブプログラムに書換えられた主制御装置110により、通信装置が予め設定された機能に限定される。
呼吸補助システム2は、主制御装置110が不正アクセスによる異常信号処理を検出した後に、副制御装置120からサブプログラムを受け取り、受け取ったサブプログラムを主制御装置110に格納し、主制御装置110を再起動する。サブプログラムは、メインプログラムが実行していた通信装置11を制御する機能に代えて、通信装置11の動作を予め設定された以下の動作に固定する制御コマンドを有している。
まず、主制御装置110は、異常信号処理を検出したことを明示する情報を予め設定された外部機器(例えば管理装置)に送信することを通信装置11に指示する。なお、ここで呼吸補助システム2行う明示の態様は受信する側との間で予め設定されたものであれば任意の態様で構わない。
一方で、主制御装置110は、ネットワーク900を介して到来する任意の信号を主制御装置110に送信しないことを通信装置11に指示する。これにより、サブプログラムに書換えられた主制御装置110は、外部からの信号を受け付けない。そのため、呼吸補助システム2は、外部からの攻撃を回避することができる。
また、呼吸補助システム2は、異常信号処理を検出した後に実行されるサブプログラムにより、異常が発生したことをユーザに対しても明示する。例えば、呼吸補助システム2は、表示装置15に異常信号処理を検出したために外部から受信する信号を受け付けない状態になったことをユーザに知らせるための表示を行う。
以上の構成により、実施の形態2にかかる呼吸補助システム2は、外部からの不正アクセスを回避しつつ、適宜外部システム(例えば管理者が利用するサーバ800)およびユーザに対して、システムの異常を通知することができる。
なお、通信装置11は、外部に対して異常が発生したことを上述のようにサブプログラムが生成するコマンドから指示を受けて行うことができるが、他の構成によっても実現することができる。例えば、通信装置11は、主制御装置110からトリガ信号を受け取り、受け取ったトリガ信号に応じて上述の機能を実現するように構成されていてもよい。このような構成により、呼吸補助システム2は、不正アクセスを受けた後に、プログラムの書換えを行う前に外部からの通信を受け付けない機能を発揮できるため、迅速に外部からの攻撃を回避することができる。また、通信装置11は、半導体装置100に含まれていてもよいし、通信装置11の機能を主制御装置110が有していてもよい。
<実施の形態2の変形例>
次に、実施の形態2の変形例について説明する。図10は、実施の形態2の変形例にかかる半導体システムの概略構成図である。実施の形態2の変形例は、複数の半導体装置がネットワーク900を介して互いに通信可能に接続された状態を構成している。
図において、半導体システム20は、半導体装置100A、100Bおよび100Cを有している。半導体装置100A〜100Cは、ネットワーク900に接続しており、互いに通信可能に接続されている。
半導体装置100Aは主な構成として通信装置11A、主制御装置110Aおよび副制御装置120Aを有しており、各構成は図9を参照して説明した呼吸補助システム2が有する半導体装置100と同等の構成および機能を有している。ただし、通信装置11Aは、不正アクセスを受けて異常信号処理を検出した場合に、他の半導体装置100Bおよび100Cに対して異常信号処理を検出したことを通知する機能を有している。
また、半導体装置100Aは、他の半導体装置100B(または100C)から他の半導体装置100B(または100C)が異常信号処理を検出したことを通知された場合に、かかる通知を受け取ることによっても主制御装置110Aのプログラムを書換える機能を有する。つまり、主制御装置110Aは、他の半導体装置から異常信号処理を検出したことについて明示される信号を受け取ることによっても、副制御装置120Aにトリガ信号を出力する。かかる機能は、例えば、図4に示した例のように、CPU117が所定の条件の下でトリガ信号を生成する構成とすることにより実現することができる。半導体装置100Bおよび100Cにおいてもそれぞれ半導体装置100Aと同等の構成および機能を有している。
例えば、図に示すように、半導体装置100Aがネットワーク900を介して不正アクセス99Aを受けた場合に、この不正アクセスによって主制御装置110が異常信号処理を検出すると、半導体装置100Aは通信99Bにより半導体装置100Bに対して異常信号処理を検出したことを通知する。同時に、半導体装置100Aは通信99Cにより半導体装置100Cに対して異常信号処理を検出したことを通知する。半導体装置100Aから異常信号処理を検出したことの通知を受けた半導体装置100Bは、主制御装置110Bがトリガ信号を副制御装置120Bに出力する。これにより、半導体装置100Bは、主制御装置110Bのプログラムをサブプログラムに書換える処理を実行する。同様に、半導体装置100Cは、主制御装置110Cがトリガ信号を副制御装置120Cに出力し、主制御装置110Cのプログラムをサブプログラムに書換える処理を実行する。
次に、図11を参照しながら実施の形態2の変形例の処理について説明する。図11は、実施の形態2の変形例にかかる半導体装置の処理を示すフローチャートである。半導体システム20を構成する半導体装置はそれぞれ図に示す処理を行う。以下の説明は便宜上、半導体装置100Aが行う処理として説明をするが、半導体装置100Bおよび100Cも同等の処理を行う。
まず、半導体装置100Aは、異常信号処理を検出した後に、副制御装置120Aに出力する異常信号処理が、半導体装置100A自身が有する主制御装置110Aで検出された異常信号処理によるものか否か、すなわち自己の異常か否かを判定する(ステップS20)。
自己の異常と判定した場合(ステップS20:Yes)、半導体装置100Aは、他の半導体装置へ異常を通知する処理を実行する(ステップS21)。そして、自己のメインプログラムを書換えるため、図5で説明したメインプログラム書換えルーチンS10を実行する(ルーチンS10)。
一方、異常信号処理を他の半導体装置から受け取った場合、半導体装置100Aは、自己の異常と判定しない(ステップS20:No)。この場合、半導体装置100Aは、他の装置への通知をすることなく、自己のメインプログラムを書換えるためのメインプログラム書換えルーチンを実行する(ルーチンS10)。
このように、半導体システム20は、半導体システム20を構成するいずれかの半導体装置が不正アクセスを受けて異常信号処理を検出した場合に、他の半導体装置にこれを通知し、各半導体装置のプログラムを書換える。これにより、不正アクセスを受けた半導体装置はもとより、不正アクセスを受けていない半導体装置も、予め、外部からの不正な攻撃を回避することができる。すなわち、実施の形態2の変形例によれば、システム全体の不正アクセスを抑制しつつ必要な機能を維持する半導体装置等を提供できる。
<実施の形態3>
次に、実施の形態3について説明する。実施の形態3にかかる呼吸補助システム3は、呼吸補助システム3を構成する半導体装置103の構成が、実施の形態1にかかる呼吸補助システムは1が有する半導体装置100と異なる。図12は、実施の形態3にかかる半導体装置の概略構成図である。
本実施の形態にかかる半導体装置103は、主制御装置110と副制御装置120との間にスイッチ17を有する点において、実施の形態1にかかる半導体装置100と異なる。
スイッチ17は、主制御装置110が出力するトリガ信号を副制御装置120に伝達することを許可するまたは伝達することを許可しないことを切り換えるスイッチである。
主制御装置110が不正アクセスによりメインプログラムを改ざんされている可能性があることを考慮すると、スイッチ17は主制御装置110のソフトウェア動作に影響を受けない構成であることが好ましい。すなわち、スイッチ17は、例えば、機構部品の組合せにより構成されるメカニカルスイッチやトランジスタ等の電気部品の組合せにより構成されるスイッチである。半導体装置103において、スイッチ17は、初期設定としてオフの状態すなわち主制御装置110が出力するトリガ信号を副制御装置120に伝達しない状態となっている。そしてスイッチ17は、ユーザがスイッチの状態をオフからオンに切り替える操作を受け付けることにより、トリガ信号を副制御装置120に伝達する状態となる。つまり、半導体装置103は、異常信号処理を検出した場合であっても、ユーザがスイッチの切替え操作を行うまでは、主メモリ112のプログラムを書換える処理を行わない。
次に、図13を参照しながら実施の形態3にかかる半導体装置の処理について説明する。図13は、実施の形態3にかかる半導体装置の処理を示すフローチャートである。
まず、半導体装置103は、異常信号処理を検出すると、異常を明示する処理を行う(ステップS30)。具体的には、例えば、半導体装置103は、異常信号処理を検出した場合に、表示装置15に異常信号処理を検出したことを表示する。あるいは、半導体装置103は、通信装置11を介して、ユーザまたは管理者に異常信号処理を検出したことを通知する。これにより、主制御装置110が実行するプログラムをサブプログラムに書換える処理とは異なる処理をユーザ等が選択することができる。
次に、半導体装置103は、スイッチ17の操作を受け付け、スイッチ17の状態がオンか否かにより処理を決定する(ステップS31)。すなわちユーザがスイッチをオン状態に操作した場合(ステップS31:Yes)、半導体装置103のトリガ信号は主制御装置110から副制御装置120に伝達される。これにより、半導体装置103は、上述したメインプログラム書換えルーチンを実行する(ルーチンS10)。半導体装置103は、メインプログラム書換えルーチンS10を終えると、処理を終了する。
一方、ユーザがスイッチをオン状態に操作しない場合(ステップS31:No)、半導体装置103は、別の処理を受け付けたか否かを判定する(ステップS32)。ここで、別の処理とは、主制御装置110が格納しているメインプログラムを副制御装置120が格納するサブプログラムに書換える処理とは異なる処理をいう。例えば、半導体装置103は、図7を参照して説明した書換え装置700により主メモリのプログラムを書換えることができる。すなわち、ユーザは、スイッチ17を操作する代わりに、書換え装置700を半導体装置103に接続することができる。あるいは、ユーザは、スイッチ17を操作する代わりに、半導体装置103のシステムに改ざん等が行われているか否かを診断する処理を行うことができる。あるいは、ユーザは、スイッチ17を操作する代わりに、呼吸補助システム3をシャットダウンする操作を行うことができる。半導体装置103は、このような別の処理を受け付けた場合(ステップS32:Yes)、図に示す処理を終了し、別の処理へ移行する。一方、半導体装置103は、別の処理を受け付けない場合(ステップS32:No)、ステップS31に戻り、スイッチ17の操作を受け付ける。
以上、実施の形態3にかかる処理によれば、半導体装置103は、主制御装置110が実行するプログラムをサブプログラムに書換える処理とは異なる処理を選択する機会をユーザに提供することができる。これにより、半導体装置103は、主制御装置110のメインプログラムをサブプログラムに書換えずにメインプログラムのチェックや修復等を行うことができる。つまり、半導体装置103は、通信機能の削除を行うことなく、修復処理等を受けることができる。
以上、実施の形態3について説明した。実施の形態3によれば、不正アクセス等の異常信号処理を検出した後の処理を固定することなく、且つ、不正アクセス等によるシステムの不具合発生を抑制しつつ必要な機能を維持する半導体装置等を提供できる。
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、および電磁波を含む。一時的なコンピュータ可読媒体は、電線および光ファイバ等の有線通信路、または無線通信路を介して、プログラムをコンピュータに供給できる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。すなわち、上述した半導体装置は、通信機能を有する様々な機器に適用可能である。
1、2、3 呼吸補助システム
10 呼吸補助装置
11 通信装置
12 センサ
13 ポンプ
14 モータ
15 表示装置
16 入力装置
17 スイッチ
20 半導体システム
100、101、103 半導体装置
110 主制御装置
111 外部通信インタフェース
112 主メモリ
114 異常検出回路
115 トリガ信号出力回路
116 応答回路
117 CPU
118 出力設定レジスタ
119 論理回路
120、220 副制御装置
121 トリガ信号取得回路
122 要求回路
123 サブプログラム出力回路
124 副メモリ
126 メモリ制御回路
130 記憶装置
700 書換え装置
800 サーバ
900 ネットワーク

Claims (20)

  1. 外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる異常信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を有する主制御装置と、
    前記主制御装置に接続し、前記トリガ信号を取得するトリガ信号取得回路と、取得した前記トリガ信号に基づいてサブプログラムを前記主制御装置に出力するサブプログラム出力回路と、を有する副制御装置と
    を備える半導体装置。
  2. 外部との通信である外部通信により到来する前記外部信号を取得する外部信号取得回路をさらに有する
    請求項1に記載の半導体装置。
  3. 前記外部信号取得回路は、公衆通信網を利用した外部通信により到来する前記外部信号を取得する請求項2に記載の半導体装置。
  4. 前記外部信号取得回路は、予め定められた標準規格にしたがった外部通信により到来する前記外部信号を取得する請求項2に記載の半導体装置。
  5. 前記副制御装置が有するサブプログラム出力回路は、取得した前記トリガ信号に基づいて前記外部信号を受け付けないサブプログラムを前記主制御装置に出力する
    請求項1に記載の半導体装置。
  6. 前記副制御装置は、前記トリガ信号を取得した場合に、前記主制御装置に対して前記サブプログラムを転送することを要求する要求信号を出力する要求回路をさらに有する
    請求項1に記載の半導体装置。
  7. 前記主制御装置は、前記副制御装置からの前記要求信号を受け付けた後に前記副制御装置に対して前記要求信号に対する応答信号を出力し、前記応答信号を出力した後に前記サブプログラムを取得する応答回路をさらに有する
    請求項6に記載の半導体装置。
  8. 前記サブプログラム出力回路は、前記主制御装置から前記応答信号を受け取った場合に、前記サブプログラムを前記主制御装置に出力する
    請求項7に記載の半導体装置。
  9. 前記半導体装置は前記サブプログラムを記憶する副記憶装置をさらに備え、
    前記副制御装置は前記副記憶装置を制御するメモリ制御回路をさらに有し、
    前記メモリ制御回路は、前記副記憶装置が記憶する前記サブプログラムを前記サブプログラム出力回路に供給する
    請求項8に記載の半導体装置。
  10. 前記主制御装置は、前記異常信号処理が行われた場合に出力電圧が変化する異常検出回路を有し、
    前記トリガ信号出力回路は、前記異常検出回路の電圧変化に基づいて前記トリガ信号を出力する
    請求項1に記載の半導体装置。
  11. 前記主制御装置は、前記サブプログラムを取得した場合に、前記主メモリに格納する前記メインプログラムを前記サブプログラムに書換える
    請求項1に記載の半導体装置。
  12. 前記主制御装置は、前記トリガ信号を出力した場合に、前記トリガ信号を出力したことを明示する明示信号を出力する明示回路をさらに有する請求項11に記載の半導体装置。
  13. 前記明示回路は、通信手段を介して前記明示信号を外部へ送信する請求項12に記載の半導体装置。
  14. 前記主制御装置は、他の半導体装置から前記明示信号を受け取ることによっても前記副制御装置に前記トリガ信号を出力する請求項12に記載の半導体装置。
  15. 前記トリガ信号を前記副制御装置に伝達することを許可するための伝達スイッチをさらに備える請求項12に記載の半導体装置。
  16. 前記副制御装置は、前記副制御装置を非動作状態に保持することを受け付けるリセット端子をさらに有し、
    前記主制御装置は、前記副制御装置が非動作状態の場合に前記主メモリに格納するプログラムの更新を受け付けるプログラム更新回路をさらに有する
    請求項1に記載の半導体装置。
  17. 外部通信を行い前記主制御装置に前記外部信号を供給する通信装置をさらに有し、
    前記主制御装置は、前記主メモリの前記メインプログラムを前記サブプログラムに書換えた場合に、前記通信装置に対して前記外部信号を前記主制御装置に供給しないことを指示する
    請求項1に記載の半導体装置。
  18. 前記主制御装置は、前記主メモリの前記メインプログラムを前記サブプログラムに書換えた場合に、前記通信装置に対して予め設定された送信先に前記書換えしたことを明示する明示信号を送信することを指示する
    請求項17に記載の半導体装置。
  19. 外部信号を受け付けるメインプログラムを格納する主メモリと、予め設定された信号処理とは異なる信号処理が行われた場合にトリガ信号を出力するトリガ信号出力回路と、を有する主制御装置と、
    前記主制御装置に接続し、前記トリガ信号を取得するトリガ信号取得回路と、取得した前記トリガ信号に基づいてサブプログラムを前記主制御装置に出力するサブプログラム出力回路と、を有する副制御装置と
    を備える複数の半導体装置が互いに通信可能に接続されており、
    前記複数の半導体装置の内、一の半導体装置は、前記トリガ信号に基づく通知を他の半導体装置に送信する
    半導体システム。
  20. 主制御装置に外部信号を受け付けるメインプログラムを格納するメインプログラム記憶ステップと、
    前記主制御装置に接続されている副制御装置にサブプログラムを格納するサブプログラム記憶ステップと、
    前記主制御装置において予め設定された信号処理とは異なる信号処理が行われた場合に前記副制御装置にトリガ信号を出力するトリガ信号出力ステップと、
    前記副制御装置において、前記トリガ信号に基づいて前記サブプログラムを前記主制御装置に出力するサブプログラム出力ステップと、を備える半導体装置保護方法を、コンピュータに実行させるプログラム。
JP2018207093A 2018-11-02 2018-11-02 半導体装置、半導体システムおよびプログラム Pending JP2020071797A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018207093A JP2020071797A (ja) 2018-11-02 2018-11-02 半導体装置、半導体システムおよびプログラム
CN201910832760.1A CN111143248A (zh) 2018-11-02 2019-09-04 半导体装置、半导体系统和程序
US16/577,508 US11599631B2 (en) 2018-11-02 2019-09-20 Semiconductor device, semiconductor system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018207093A JP2020071797A (ja) 2018-11-02 2018-11-02 半導体装置、半導体システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2020071797A true JP2020071797A (ja) 2020-05-07

Family

ID=70458116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018207093A Pending JP2020071797A (ja) 2018-11-02 2018-11-02 半導体装置、半導体システムおよびプログラム

Country Status (3)

Country Link
US (1) US11599631B2 (ja)
JP (1) JP2020071797A (ja)
CN (1) CN111143248A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7411467B2 (ja) * 2020-03-19 2024-01-11 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11338783A (ja) 1998-05-21 1999-12-10 Canon Inc マイクロコンピュータ装置およびマイクロコンピュータ装置を備えた光学機器
JP2004348546A (ja) 2003-05-23 2004-12-09 Canon Finetech Inc 制御プログラム切替え装置及びその方法
JP5609810B2 (ja) * 2011-07-29 2014-10-22 ブラザー工業株式会社 電子機器、画像形成装置
JP2017071187A (ja) * 2015-10-09 2017-04-13 キヤノン株式会社 節電モードを有する装置、該装置の制御方法及びプログラム。

Also Published As

Publication number Publication date
US20200143048A1 (en) 2020-05-07
US11599631B2 (en) 2023-03-07
CN111143248A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
JP5515766B2 (ja) 情報処理装置、情報処理装置のハードウェア設定方法及びそのプログラム
US10853474B2 (en) System shipment lock
US10387260B2 (en) Reboot system and reboot method
TWI625672B (zh) 可更新積體電路無線電
US20060150255A1 (en) Manipulation-protected microcontroller system
JP4947239B2 (ja) 構成変更の検証機能を有した情報処理装置及びその制御方法
CN107567629A (zh) 在可信执行环境容器中的动态固件模块加载器
JP2016219944A (ja) 通信装置及び通信制限プログラム
CN114329496A (zh) 操作系统的可信启动方法和电子设备
JP2020042341A (ja) プロセッシングデバイス及びソフトウェア実行制御方法
CN115314416A (zh) 网卡状态自动检测方法、装置、电子设备及存储介质
JP6520759B2 (ja) プログラマブルコントローラ、プログラマブルコントローラの制御プログラム
JP2020071797A (ja) 半導体装置、半導体システムおよびプログラム
US11461479B2 (en) Computing device and method for operating same
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2014149729A (ja) 盗難自己検知システム、利用者端末、盗難自己検知方法、及びプログラム
JP7383589B2 (ja) 情報処理装置
US11714696B2 (en) Custom baseboard management controller (BMC) firmware stack watchdog system and method
CN111797442B (zh) 安全装置及方法
TWI698769B (zh) 透過匯流排安全存取周邊裝置之裝置及方法
JP7287115B2 (ja) 集積回路及び集積回路の制御方法
JP6992975B2 (ja) 情報転送装置、情報転送方法及び情報転送プログラム
CN113051576A (zh) 控制方法和电子设备
EP3667533A1 (en) Method for securing a system in case of an undesired power-loss
WO2023042426A1 (ja) 車載装置及びプログラム更新システム