JP2022129555A - 回路装置及び電子機器 - Google Patents
回路装置及び電子機器 Download PDFInfo
- Publication number
- JP2022129555A JP2022129555A JP2021028266A JP2021028266A JP2022129555A JP 2022129555 A JP2022129555 A JP 2022129555A JP 2021028266 A JP2021028266 A JP 2021028266A JP 2021028266 A JP2021028266 A JP 2021028266A JP 2022129555 A JP2022129555 A JP 2022129555A
- Authority
- JP
- Japan
- Prior art keywords
- access
- circuit
- bus
- master
- circuit device
- 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
Links
- 230000015654 memory Effects 0.000 claims description 151
- 230000002093 peripheral effect Effects 0.000 claims description 46
- 238000012545 processing Methods 0.000 description 31
- 238000000034 method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 20
- 238000012546 transfer Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000005055 memory storage Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 230000005764 inhibitory process Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- LPQOADBMXVRBNX-UHFFFAOYSA-N ac1ldcw0 Chemical compound Cl.C1CN(C)CCN1C1=C(F)C=C2C(=O)C(C(O)=O)=CN3CCSC1=C32 LPQOADBMXVRBNX-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- XUFQPHANEAPEMJ-UHFFFAOYSA-N famotidine Chemical compound NC(N)=NC1=NC(CSCCC(N)=NS(N)(=O)=O)=CS1 XUFQPHANEAPEMJ-UHFFFAOYSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】高度なプロテクト設定を実現できる回路装置等の提供。【解決手段】回路装置10は、バス12と、バス12に接続され、バス12におけるバスマスターである複数のマスター回路20-1~20-nと、バス12を介して複数のマスター回路20-1~20-nに接続され、バス12におけるバススレーブである複数のスレーブ回路30-1~30-mを含む。複数のマスター回路20-1~20-nは、バススレーブに対するアクセス権限が設定されており、複数のスレーブ回路30-1~30-mは、バスマスターからのリードアクセス又はライトアクセスに対する許可設定がされており、複数のマスター回路20-1~20-nの各マスター回路は、アクセス権限と許可設定に基づいて、複数のスレーブ回路30-1~30-mの各スレーブ回路へのアクセスの可否が決定される。【選択図】図1
Description
本発明は、回路装置及び電子機器等に関する。
マイクロコンピューター等の回路装置では、回路装置が有するメモリーに機密情報等の重要な情報が記憶されている場合がある。このような機密情報等が、外部デバイスからのアクセスにより回路装置から読み出されてしまうことは望ましくない。例えば機密情報等を保護する従来技術としては例えば特許文献1に開示される技術がある。特許文献1では、記憶部が、特定のデータを所定のデータ領域に記憶する。そして実行部は、特定のデータにアクセスする所定のコマンドを受け付けた場合に、所定のデータ領域に対するセキュリティー状態に基づいて、受け付けた所定のコマンドが実行可能か否かを判定し、実行可能であると判定された場合に、所定のコマンドの処理を実行する。
特許文献1では外部装置からの所定のコマンドを判断して特定のデータへのアクセスの可否を判断しているため、アクセス権の設定が煩雑となり、且つ、セキュリティー上、間違ったアクセスが発生し易くなるため、重要な情報に対するセキュリティーが低下するおそれがある。
本開示の一態様は、バスと、前記バスに接続され、前記バスにおけるバスマスターである複数のマスター回路と、前記バスを介して前記複数のマスター回路に接続され、前記バスにおけるバススレーブである複数のスレーブ回路と、を含み、前記複数のマスター回路は、前記バススレーブに対するアクセス権限が設定されており、前記複数のスレーブ回路は、前記バスマスターからのリードアクセス又はライトアクセスに対する許可設定がされており、前記複数のマスター回路の各マスター回路は、前記アクセス権限と前記許可設定に基づいて、前記複数のスレーブ回路の各スレーブ回路へのアクセスの可否が決定される回路装置に関係する。
また本開示の他の態様は、上記に記載の回路装置を含む電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.回路装置
図1に本実施形態の回路装置10の構成例を示す。本実施形態の回路装置10は、バス12と、バス12に接続され、バス12におけるバスマスターである複数のマスター回路20-1~20-nと、バス12を介して複数のマスター回路20-1~20-nに接続され、バス12におけるバススレーブである複数のスレーブ回路30-1~30-mを含む。ここでn、mは2以上の整数である。また回路装置10はメモリーコントローラー40と不揮発性メモリー50を含むことができる。
図1に本実施形態の回路装置10の構成例を示す。本実施形態の回路装置10は、バス12と、バス12に接続され、バス12におけるバスマスターである複数のマスター回路20-1~20-nと、バス12を介して複数のマスター回路20-1~20-nに接続され、バス12におけるバススレーブである複数のスレーブ回路30-1~30-mを含む。ここでn、mは2以上の整数である。また回路装置10はメモリーコントローラー40と不揮発性メモリー50を含むことができる。
バスマスターは、バス12の転送制御を行うものである。マスター/スレーブ方式では、バスマスターがバスの使用権を得て、ターゲットとなるデバイスを指定することでデータ転送が行われる。バス12でのデータの衝突等を防ぐために、例えばデバイスをバスマスターとバススレーブに分け、バススレーブはバスマスターから指示されたときにだけデータの入出力を行えるようにする。そして図1ではマスター回路20-1~20-nは、バスマスターとして動作する回路であり、スレーブ回路30-1~30-mは、バススレーブとして動作する回路である。
メモリーコントローラー40は不揮発性メモリー50の制御を行う。例えばメモリーコントローラー40は不揮発性メモリー50の読み出し制御や書き込み制御を行う。このメモリーコントローラー40も例えばスレーブ回路の1つであり、バススレーブとして動作する。
不揮発性メモリー50は、電源を供給しなくても情報の記憶を保持するメモリーである。例えば不揮発性メモリー50は、電源を供給しなくても情報の記憶を保持できると共に情報の書き換えが可能なメモリーである。不揮発性メモリー50は、回路装置10の動作等に必要な種々の情報を記憶する。
例えば不揮発性メモリー50は、FAMOSメモリー(Floating gate Avalanche injection MOS memory)又はMONOSメモリー(Metal-Oxide-Nitride-Oxide-Silicon memory)などにより実現されるEEPROM(Electrically Erasable Programmable Read-Only Memory)である。具体的には不揮発性メモリー50は、一括消去動作等が可能なフラッシュメモリーである。フラッシュメモリーは例えばフラッシュROMである。不揮発性メモリー50は、例えば、機密情報等のユーザー情報を記憶するユーザー記憶領域52や、プロテクト設定情報を記憶する設定記憶領域54などの記憶領域を有する。プロテクト設定情報は例えばアクセス権限及び許可設定の情報である。
そして本実施形態では、複数のマスター回路20-1~20-nは、バススレーブに対するアクセス権限が設定されている。例えば複数のマスター回路20-1~20-nは、バススレーブである複数のスレーブ回路30-1~30-mに対するアクセス権限が設定されている。例えば周辺回路やメモリー等のアクセス対象回路へのアクセスを指示するバスマスター毎に、アクセス権限が設定されている。即ち複数のマスター回路20-1~20-nの各マスター回路に、アクセス権限の有無が設定されている。また複数のスレーブ回路30-1~30-mは、バスマスターからのリードアクセス又はライトアクセスに対する許可設定がされている。例えばアクセス権限があるバスマスターがリードアクセス又はライトアクセスを行って来た場合に、当該リードアクセス又はライトアクセスを許可するか否かの許可設定が、複数のスレーブ回路30-1~30-mの各スレーブ回路に設定されている。そして複数のマスター回路20-1~20-nの各マスター回路は、アクセス権限と許可設定に基づいて、複数のスレーブ回路30-1~30-mの各スレーブ回路へのアクセスの可否が決定される。例えば複数のマスター回路20-1~20-nの各マスター回路は、各マスター回路に設定されたアクセス権限と、複数のスレーブ回路30-1~30-mの各スレーブ回路に設定された許可設定に基づいて、各スレーブ回路へのアクセスの可否が決定される。例えばアクセス権限があるマスター回路が、スレーブ回路にリードアクセスをして来た場合に、当該スレーブ回路に対してリードアクセスの許可設定がされていれば、当該リードアクセスは許可される。またアクセス権限があるマスター回路が、スレーブ回路にライトアクセスをして来た場合に、当該スレーブ回路に対してライトアクセスの許可設定がされていれば、当該ライトアクセスは許可される。またスレーブ回路に対してリードアクセス及びライトアクセスの両方の許可設定がされていた場合には、アクセス権限のあるマスター回路のリードアクセス及びライトアクセスの両方が許可される。
例えば不揮発性メモリー50のユーザー記憶領域52には、ユーザーの機密情報等の重要な情報が記憶されている。機密情報は、例えば回路装置10がマイクロコンピューターである場合には、マイクロコンピューターにおいて実行されるユーザーのアプリケーションプログラムの情報や各種のデータである。また機密情報は、例えば暗号化処理に使用される鍵情報などである。この場合に、例えば外部デバイスが回路装置10にアクセスして、このような機密情報等の重要な情報が外部に読み出されてしまう事態が発生するおそれがある。本実施形態では、このような事態の発生を防止して、機密情報等の情報を保護するために、マスター回路に設定されたアクセス権限とスレーブ回路に設定されたアクセスの許可設定に基づいて、マスター回路からスレーブ回路へのアクセスの可否を決定する手法を採用している。なお保護対象となる情報は、不揮発性メモリー50に記憶されている情報には限定されず、回路装置10の他のメモリー等に記憶されている情報であってもよい。
具体的には本実施形態では、バスマスターとなる各マスター回路に対してアクセス権限の有無を設定する。またバススレーブとなる各スレーブ回路に対して、バスマスターからのリードアクセス又はライトアクセスに対する許可設定を行う。そして各マスター回路が各スレーブ回路にリードアクセス又はライトアクセスを行った場合に、各マスター回路のアクセス権限と各スレーブ回路の許可設定に基づいて、当該リードアクセス又はライトアクセスの可否が決定される。このようにすれば、周辺回路やメモリーなどの回路へのアクセス可否を細かく設定できるようになり、ユーザーの要望に応じて利便性とセキュリティーの堅牢性のバランスを自由に設定することが可能になる。例えばセキュリティーの堅牢性を重視するユーザーは、アクセス権限やアクセスの許可設定について厳しいプロテクト設定を行うことで、当該ユーザーの要望に応えることができる。一方、利便性を重視するユーザーは、アクセス権限やアクセスの許可設定について緩やかなプロテクト設定を行うことで、当該ユーザーの要望に応えることができる。これにより、高度なプロテクト機能を持つ回路装置10を実現できるようになる。
例えば前述の特許文献1の従来技術では、外部から受けたコマンドに応じてセキュリティーの状態が変化して、当該状態に応じてコマンドの実行の可否判断が行われる。これに対して本実施形態では、回路装置10内のマスター回路へのアクセス権限の設定及びスレーブ回路へのアクセスの許可設定によりプロテクト設定が行われている。従って、コマンドに依存せずに、アクセス権限やアクセスの許可設定とマスター回路とスレーブ回路の組み合わせだけで、アクセスの可否を決定できるため、簡潔な設定で柔軟なプロテクト設定が可能になる。
例えば本実施形態では複数のマスター回路20-1~20-nは、バススレーブに対するアクセス権限が設定される第1マスター回路と、バススレーブに対するアクセス権限が非設定である第2マスター回路を含む。一例としては、アクセス権限が設定されている第1マスター回路は、例えば後述の図2、図3のプロセッサー22又はDMAコントローラー26などである。またアクセス権限が非設定の第2マスター回路は、例えば外部バスインターフェース28又はデバッグ回路24などである。また複数のスレーブ回路30-1~30-mは、第1許可設定がされている第1スレーブ回路を含む。そして、第1マスター回路は、第1許可設定に依存せずに第1スレーブ回路に対するリードアクセス又はライトアクセスが許可される。即ち、バススレーブに対するアクセス権限が設定されている第1マスター回路は、第1スレーブ回路の第1許可設定においてリードアクセス又はライトアクセスが許可されているか否かに依らずに、第1スレーブ回路に対するリードアクセス又はライトアクセスが許可される。一方、第2マスター回路は、第1許可設定に基づいて第1スレーブ回路に対するリードアクセス又はライトアクセスが許可される。即ちバススレーブに対するアクセス権限が非設定である第2マスター回路は、第1スレーブ回路の第1許可設定に基づいて、第1スレーブ回路に対するリードアクセス又はライトアクセスが許可される。例えば第1許可設定においてリードアクセスが許可されていれば、第2マスター回路は第1スレーブ回路へのリードアクセスが可能になり、第1許可設定においてライトアクセスが許可されていれば、第2マスター回路は第1スレーブ回路へのライトアクセスが可能になる。このようにすればアクセス権限を設定することで、第1マスター回路による第1スレーブ回路に対するリードアクセスやライトアクセスを一括で許可設定できるようになると共に、アクセス権限が設定されていない第2マスター回路については、第1スレーブ回路への第1許可設定により、リードアクセスやライトアクセスの可否が決定されるようになる。従って、簡潔な設定だけで柔軟なプロテクト設定が可能になり、ユーザーの要望に応じて利便性とセキュリティーの堅牢性のバランスを適切に設定できるようになる。
また本実施形態の回路装置10は図1に示すように、アクセス権限及び許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリー50を含む。例えば不揮発性メモリー50の設定記憶領域54に、アクセス権限及び許可設定の情報であるプロテクト設定情報が記憶される。このようにすれば、アクセス権限及び許可設定の情報であるプロテクト設定情報が、電源を供給しなくても情報の記憶を保持するメモリーである不揮発性メモリー50に記憶されるようになる。従って、回路装置10への電源の投入後、不揮発性メモリー50に記憶されたプロテクト設定情報に基づいて、マスター回路へのアクセス権限の設定やスレーブ回路へのリードアクセス又はライトアクセスの許可設定を行うことが可能になる。従って、ユーザーの機密情報等の情報が外部デバイスに読み出されてしまう事態が発生するのを、より確実に防止することが可能になる。
また本実施形態の回路装置10は図1に示すように、不揮発性メモリー50から読み出したプロテクト設定情報に基づいて、アクセス権限の設定及び許可設定を行うメモリーコントローラー40を含む。例えば電源の投入後等の初期化処理において、メモリーコントローラー40が、不揮発性メモリー50からプロテクト設定情報を読み出して、読み出されたプロテクト設定情報に基づいて、マスター回路へのアクセス権限の設定やスレーブ回路へのアクセスの許可設定を行う。このようにすれば、プロテクト設定情報を記憶する不揮発性メモリー50の制御を行うメモリーコントローラー40を有効利用して、マスター回路のアクセス権限の設定やスレーブ回路へのアクセスの許可設定を行うことが可能になる。即ちメモリーコントローラー40が、自身が読み出し制御を行う不揮発性メモリー50からアクセス権限及び許可設定の情報であるプロテクト設定情報を読み出して、アクセス権限及び許可設定の情報に基づいて、マスター回路のアクセス権限の設定やスレーブ回路へのアクセスの許可設定を実行できるようになる。なおアクセス権限及び許可設定の情報であるプロテクト設定情報を不揮発性メモリー50に記憶せずに、固定でアクセス権限をマスター回路に付与する、及び/又は、アクセスの許可設定をスレーブ回路に付与するようにしてもよい。例えば固定のハードウェア回路によりアクセス権限の設定やアクセスの許可設定を行ってもよい。或いはEEPROMではないマスクROMにアクセス権限の設定やアクセスの許可設定の情報を記憶してもよい。
また許可設定の情報は、複数のスレーブ回路30-1~30-mの各スレーブ回路に設けられるレジスター31-1~31-mに書き込まれる。例えばスレーブ回路30-1のリードアクセス又はライトアクセスの許可設定は、スレーブ回路30-1のレジスター31-1に書き込まれる。同様にスレーブ回路30-2~30-mの各スレーブ回路のリードアクセス又はライトアクセスの許可設定は、スレーブ回路30-2~30-mのレジスター31-2~31-mの各レジスターに書き込まれる。例えば電源投入後等の初期化処理において、メモリーコントローラー40が、不揮発性メモリー50からプロテクト設定情報を読み出して、プロテクト設定情報に含まれる許可設定の情報を、レジスター31-1~31-mに書き込む。このようにすれば、複数のスレーブ回路30-1~30-mは、自身のレジスター31-1~31-mに書き込まれた許可設定の情報と、マスター回路のアクセス権限とに基づいて、マスター回路のリードアクセス又はライトアクセスを許可するか否かを決定できるようになる。なおレジスター31-1~31-mは例えばフリップフロップ回路やメモリー素子などにより実現できる。
またアクセス権限の情報は、バス12に対するバスアクセスの情報に含まれる。例えばマスター回路がバス12を介してスレーブ回路にアクセスする際のバスアクセスの情報に、アクセス権限の情報が含まれる。例えばマスター回路のバスアクセスが、アクセス権限のあるバスアクセスか否かの情報であるアクセス権限の情報が、バスアクセスの情報に含まれる。このようにすればスレーブ回路は、マスター回路からリードアクセス又はライトアクセスが来た場合に、リードアクセス又はライトアクセスのバスアクセスの情報に含まれるアクセス権限の情報と、自身に設定されたアクセスの許可設定の情報に基づいて、当該リードアクセス又はライトアクセスを許可するか否かを決定できるようになる。
2.詳細な構成例
図2に本実施形態の回路装置10の詳細な第1構成例を示す。図2は本実施形態の回路装置10が例えばマイクロコンピューターである場合の構成例である。図2では図1のマスター回路20-1~20-nとして、プロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28が設けられている。そしてこれらのプロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28に対して、アクセス権限の設定が行われる。また図1のスレーブ回路30-1~30-mとして、SRAMコントローラー32、バスブリッジ回路34、メモリーコントローラー40が設けられている。そして、これらのSRAMコントローラー32、バスブリッジ回路34、メモリーコントローラー40に対してアクセスの許可設定が行われる。
図2に本実施形態の回路装置10の詳細な第1構成例を示す。図2は本実施形態の回路装置10が例えばマイクロコンピューターである場合の構成例である。図2では図1のマスター回路20-1~20-nとして、プロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28が設けられている。そしてこれらのプロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28に対して、アクセス権限の設定が行われる。また図1のスレーブ回路30-1~30-mとして、SRAMコントローラー32、バスブリッジ回路34、メモリーコントローラー40が設けられている。そして、これらのSRAMコントローラー32、バスブリッジ回路34、メモリーコントローラー40に対してアクセスの許可設定が行われる。
プロセッサー22は例えばCPU(Central Processing Unit)であり、例えば命令をフェッチして、当該命令を実行する回路である。なおプロセッサー22はCPUには限定されず、例えばプログラム等の命令を実行する種々の処理回路を想定できる。
デバッグ回路24は、マイクロコンピューターである回路装置10のデバッグ処理を行う回路である。例えばデバッグ回路24は、プロセッサー22が実行するプログラムが所望の動作を実行するものであるかなどを確認するためのデバッグ処理を行う。デバッグ回路24には、例えばJTAG(Joint Test Action Group)、SWD(Serial Wire Debug Port)、又はETM(Embedded Trace Macrocell)などの形式があり、例えばICE(In-Circuit Emulator)を通して外部のパーソナルコンピューター等と接続することにより、各種動作や設定を行うことが可能になっている。
DMAコントローラー26は、DMA(Direct Memory Access)転送を行うためのコントローラーである。例えばDMAコントローラー26は、CPUであるプロセッサー22の処理を介在することなく、例えばメモリーとメモリー又は周辺回路との間で直接データを転送するDMA転送を行うためのコントローラーである。例えばDMAコントローラー26は、所定のアルゴリズム等にしたがってバス12にアクセスして、DMA転送を実行する。
外部バスインターフェース28は、回路装置10の外部バスとのインターフェース処理を行う回路である。外部バスインターフェース28を設けることで、外部バスに接続される外部デバイスとの間でのデータ転送が可能になる。例えば外部バスインターフェース28を設けることで、外部バスに接続されるROM又はRAMなどのメモリーやI/Oデバイス等の外部デバイスとの間での、DMA転送等のデータ転送が可能になる。外部バスインターフェース28は、例えばイーサネットコントローラーであってもよい。例えば外部バスインターフェース28であるイーサネットコントローラーは、メディアアクセス制御層(MAC)や物理層(PHY)の回路を内蔵しており、TCP/IPの通信を可能にする。
SRAMコントローラー32はSRAM33の制御を行うコントローラーである。例えばSRAMコントローラー32は、SRAM33の読み出し制御や書き込み制御を行う。SRAM33は、回路装置10のプロセッサー22等の各回路の一時記憶領域などとして機能するメモリーである。
バスブリッジ回路34は、メインバスであるバス12と、複数の周辺回路36、37、38、39が接続されるペリフェラルバス14との間に設けられる回路である。例えばバスブリッジ回路34は、プロトコルが異なる2つのバスの間で、それぞれのバスアクセスを変換し、通信を行うための回路である。即ちバスブリッジ回路34は、第1プロトコルのバス12と第2プロトコルのペリフェラルバス14との間に設けられ、データ転送に必要なプロトコル変換等を行う。例えばバス12がAHB(Advanced High-performance Bus)であり、ペリフェラルバス14がAPB(Advanced Peripheral Bus)である場合に、バスブリッジ回路34はAHBとAPBの間のプロトコル変換等を行う。
ペリフェラルバス14には周辺回路36、37、38、39が接続されている。周辺回路36、37、38、39としては、例えばタイマー回路、UART(Universal Asynchronous Receiver/Transmitter)やSPI(Serial Peripheral Interface)などのシリアルインターフェース、液晶表示ドライバーなどの表示ドライバー、A/D変換回路、D/A変換回路、デジタルフィルター又はデジタルカメラインターフェースなどがある。
そして図2ではメモリーコントローラー40は、バス12とは別に設けられた第1信号線16を用いて、複数のスレーブ回路であるSRAMコントローラー32、バスブリッジ回路34への許可設定を行っている。即ち、メモリーコントローラー40は、専用の第1信号線16への信号出力により、SRAMコントローラー32、バスブリッジ回路34へのリードアクセスやライトアクセスの許可設定を行う。第1信号線16は、1又は複数の信号線により構成され、許可設定用の第1信号線群と言うこともできる。例えばメモリーコントローラー40は、初期化処理等において、第1信号線16に対して許可設定用の信号を出力することで、スレーブ回路であるSRAMコントローラー32、バスブリッジ回路34の各々に対する許可設定を行う。具体的には許可設定の情報を各スレーブ回路のレジスターに書き込む。このようにすれば、例えば回路装置10が実動作の処理を行う前の期間において、メモリーコントローラー40が専用の第1信号線16を用いてスレーブ回路の許可設定を行うことが可能になる。これにより例えば回路装置10の実動作時において、外部デバイスからの悪意のあるアクセスにより機密情報等の情報が読み出されたり書き換えられたりするなどの事態を防止できるようになる。
また図2ではメモリーコントローラー40は、バス12とは別に設けられた第2信号線18を用いて、複数のマスター回路であるプロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28に対してアクセス権限の設定を行っている。即ち、メモリーコントローラー40は、専用の第2信号線18への信号出力により、プロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28に対してアクセス権限の有無を設定する。例えばメモリーコントローラー40は、初期化処理等において、第2信号線18に対してアクセス権限設定用の信号を出力することで、マスター回路であるプロセッサー22、デバッグ回路24、DMAコントローラー26、外部バスインターフェース28の各々に対する権限設定を行う。このようにすれば、例えば回路装置10が実動作の処理を行う前の期間において、メモリーコントローラー40が専用の第2信号線18を用いてマスター回路のアクセス権限の設定を行うことが可能になる。これにより例えば回路装置10の実動作時において、外部デバイスからの悪意のあるアクセスにより機密情報等の情報が読み出されたり書き換えられたりするなどの事態を防止できるようになる。
また図2に示すように回路装置10は、バス12と、複数の周辺回路36~39が接続されるペリフェラルバス14との間に設けられるバスブリッジ回路34を含み、複数の周辺回路36~39の各周辺回路に対する許可設定の情報が、バスブリッジ回路34に設けられるレジスター35に書き込まれる。例えばメモリーコントローラー40が、初期化処理時等において、第1信号線16に許可設定用の信号を出力することで、バスブリッジ回路34のレジスター35に対して許可設定の情報を書き込む。このようにすればペリフェラルバス14に接続される周辺回路36~39に対するアクセスの許可設定については、バスブリッジ回路34のレジスター35を用いて一括に設定できるようになり、アクセスの許可設定の処理の簡素化や処理負荷の軽減等を図れるようになる。即ち、ペリフェラルバス14に接続される複数の周辺回路36~39の各周辺回路に対して、個別にアクセスの許可設定を行うと、メモリーコントローラー40等による許可設定の処理が煩雑化する、処理負荷が重くなるなどの問題が発生するおそれがある。この点、バスブリッジ回路34のレジスター35への許可設定の情報の書き込みにより、周辺回路36~39への許可設定を行うようにすれば、このような問題の発生を防止できる。そしてバスブリッジ回路34は、マスター回路からアクセスがあったときに、レジスター35に書き込まれた許可設定の情報に基づいて、複数の周辺回路36~39の各周辺回路への許可設定を一括して判断して処理できるようになる。これにより、セキュリティー性能も向上でき、高度なプロテクト機能を有する回路装置10を実現できる。また不揮発性メモリー50やSRAM33などのメモリーに記憶される情報を、周辺回路36~39に転送して、外部に出力するような不適切なアクセスについても防止できるようになる。
図3に本実施形態の回路装置10の詳細な第2構成例を示す。図3も本実施形態の回路装置10が例えばマイクロコンピューターである場合の構成例である。ここでは図2と異なる部分について説明する。
図3では回路装置10は、複数のマスター回路であるプロセッサー22、デバッグ回路24、DMAコントローラー26とバス12との間に設けられる権限制御回路70を含む。ここでは例えばプロセッサー22とデバッグ回路24がコアブロック21に含まれる構成になっている。そして権限制御回路70とコアブロック21は第1バスにより接続され、権限制御回路70とDMAコントローラー26は第2バスにより接続されている。そして権限制御回路70は、複数のマスター回路であるプロセッサー22、デバッグ回路24、DMAコントローラー26からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えることで、アクセス権限を設定する。例えばCPU等のアーキテクチャーによっては、命令等の発行により、アクセス権限を動的に切り替えることができるものがある。例えばOS(Operating System)の処理を実行する際に与えていたアクセス権限を、アプリケーションプログラムの実行の際には付与されないように、アクセス権限を動的に切り替える。このためマスター回路が自身でアクセス権限を設定して、バス12に対してアクセスして来る場合があり、この場合には、バスアクセスの情報に含まれるアクセス権限の情報に、プロテクト設定情報に含まれるアクセス権限の情報を上書き等することにより書き換える。このようにすれば、マスター回路に対して不適切にアクセス権限が設定された場合にも、権限制御回路70が、マスター回路からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えることで、適正なアクセス権限に設定できるようになる。これにより、外部デバイスからの悪意のあるアクセスにより機密情報等の情報が読み出されたり書き換えられたりするなどの事態を防止できるようになる。
また図3では、回路装置10が、アクセス権限及び許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリー50と、不揮発性メモリーを制御するメモリーコントローラー40を含み、メモリーコントローラー40が、権限制御回路70に対してアクセス権限の設定を行う。例えばメモリーコントローラー40が、不揮発性メモリー50からプロテクト設定情報を読み出し、プロテクト設定情報に含まれるアクセス権限の情報を、例えば第2信号線18を介して権限制御回路70に転送する。そして権限制御回路70は、プロテクト設定情報に含まれるアクセス権限の情報に基づいて、マスター回路自身が設定したアクセス権限の設定を書き換える。このようにすれば、マスター回路に対して不適切にアクセス権限が設定された場合にも、メモリーコントローラー40が不揮発性メモリー50からプロテクト設定情報を読み出して、権限制御回路70に対してアクセス権限の設定を行うことが可能になる。これにより、権限制御回路70が、マスター回路からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えて、適正なアクセス権限に設定できるようになる。
なお図3においてもメモリーコントローラー40が、第1信号線16を用いて、スレーブ回路であるSRAMコントローラー32やバスブリッジ回路34に対するアクセスの許可設定を行っている。
次にアクセス権限やアクセス許可の具体的な設定例について図4、図5、図6を用いて説明する。例えば図4はアクセス権限の設定例であり、プロセッサー22とDMAコントローラー26については、アクセス権限が「あり」と設定されている。一方、デバッグ回路24と外部バスインターフェース28については、アクセス権限が「なし」と設定されており、アクセス権限が非設定になっている。
図4はアクセスの許可設定の例である。例えば不揮発性メモリー50については、各メモリー記憶領域AR1~AR128に対して個別にリードアクセスやライトアドレスの許可設定が可能になっている。例えばメモリー記憶領域AR1、AR2では、リードアクセス及びライトアクセスの両方が許可に設定されており、メモリー記憶領域AR3では、リードアクセス及びライトアクセスの両方が禁止に設定されている。またメモリー記憶領域AR128では、リードアクセスは禁止に設定されているが、ライトアクセスは許可に設定されている。例えば機密情報等の重要な情報が記憶されるメモリー記憶領域については、リードアクセスやライトアクセスを禁止に設定することが望ましい。またSRAMコントローラー32に接続されるSRAM33については、リードアクセスが許可に設定されている一方、ライトアクセスは禁止に設定されている。このようにすれば、アクセス権限のないマスター回路が、機密情報等の情報をSRAM33に書き込んで、外部に転送して出力してしまうような事態を防止できる。なおSRAM33についてもメモリー記憶領域毎に個別にリードアクセスやライトアクセスの許可、禁止の設定ができるようにしてもよい。またバスブリッジ回路34に接続される周辺回路PA~PZについても、各周辺回路に応じたリードアクセス、ライトアクセスの許可、禁止の設定が行われている。
図6は、図4、図5のようなアクセス権限の設定、アクセスの許可設定が行われた場合のリードアクセス又はライトアクセスの可否を示す図である。例えばプロセッサー22、DMAコントローラー26は、図4に示すようにアクセス権限が設定されているため、図6に示すようにSRAM33、周辺回路PA~PZのいずれに対してもリードアクセス及びライトアクセスが可能になっている。
一方、デバッグ回路24と外部バスインターフェース28はアクセス権限が非設定となっており、アクセス権限がないとされている。従って、デバッグ回路24、外部バスインターフェース28のアクセスの可否は、アクセスしたスレーブ回路の許可設定に基づき判断される。例えばSRAM33に対しては、リードアクセスは許可で、ライトアクセスは禁止というアクセスの許可設定が行われている。従って、アクセス権限のないデバッグ回路24、外部バスインターフェース28は、SRAM33に対するリードアクセスは許可されるが、ライトアクセスは禁止される。これにより例えばデバッグ回路24が、機密情報等の情報をSRAM33に書き込んで、外部のパーソナルコンピューター等に転送して読み出してしまうような事態を防止できる。また外部バスインターフェース28が、機密情報等の情報をSRAM33に書き込んで、外部バスに転送して読み出してしまうような事態を防止できる。
また周辺回路PAに対しては、リードアクセス及びライトアクセスの両方が許可というアクセスの許可設定が行われている。従って、アクセス権限のないデバッグ回路24、外部バスインターフェース28は、周辺回路PAに対するリードアクセス及びライトアクセスの両方が許可される。例えば外部に機密情報等の情報を出力できない周辺回路については、リードアクセス及びライトアクセスの両方を許可しても、あまり問題は生じないと考えられる。また周辺回路PBに対しては、リードアクセスは禁止で、ライトアクセスは許可というアクセスの許可設定が行われている。従って、アクセス権限のないデバッグ回路24、外部バスインターフェース28は、周辺回路PBに対するライトアクセスは許可されるが、リードアクセスは禁止される。周辺回路PCに対しては、リードアクセス及びライトアクセスの両方が禁止というアクセスの許可設定が行われている。従って、アクセス権限のないデバッグ回路24、外部バスインターフェース28は、周辺回路PCに対するリードアクセス及びライトアクセスの両方が禁止される。例えばマイクロコンピューターなどの適用例では、ユーザーが使用しない周辺回路が回路装置10に設けられている場合がある。このような周辺回路については、リードアクセス及びライトアクセスの両方を禁止することで、使用されていない周辺回路が原因でセキュリティホールが生じるような事態を防止できる。
このように図4~図6では、バススレーブに対するアクセス権限が設定される第1マスター回路は、プロセッサー22やDMAコントローラー26である。従って、例えば第1スレーブ回路に対してアクセスの第1許可設定が行われている場合に、第1マスター回路であるプロセッサー22、DMAコントローラー26は、第1スレーブ回路の第1許可設定に依存せずに、第1スレーブ回路に対するリードアクセスやライトアクセスが許可される。従って、プロセッサー22、DMAコントローラー26は、第1スレーブ回路にアクセスしてデータをリードし、データをライトすることが可能になる。これにより、プロセッサー22は命令の実行処理等を適正に行うことが可能になり、DMAコントローラー26のデータの転送処理を適正に実行できるようになる。
また図4~図6では、バススレーブに対するアクセス権限が非設定である第2マスター回路は、デバッグ回路24や外部バスインターフェース28である。従って、例えば第1スレーブ回路に対してアクセスの第1許可設定が行われている場合に、第2マスター回路であるデバッグ回路24、外部バスインターフェース28は、第1許可設定に基づいて第1スレーブ回路に対するリードアクセス又はライトアクセスが許可される。従って、デバッグ回路24、外部バスインターフェース28については、第1スレーブ回路の第1許可設定に応じてリードアクセス又はライトアクセスを許可する、或いは禁止できるようになる。従って、例えばデバッグ回路24、外部バスインターフェース28を介した悪意のあるアクセスにより、機密情報等の情報が読み出されたり書き換えられたりするなどの事態を防止できるようになる。
このように本実施形態によれば、図4~図6に示すように、リードアクセスやライトアクセスの可否を細かく設定可能となり,ユーザーの要望に応じて利便性とセキュリティーの堅牢性のバランスを自由に設定することが可能になる。
図7にバスアクセスの情報の一例を示す。バスマスターであるマスター回路がバス12に対するバスアクセスを行う際には、図7に示すような構成のパケットであるバスアクセスの情報が送出される。バスアクセスの情報は、例えばアクセス種別、アクセスアドレス、ライト/リードの指示、書き込みデータ、アクセスサイズ、アクセス権限などの情報を含む。そしてマスター回路が、図7のバスアクセスの情報を送出してリードアクセス又はライトアクセスをして来た場合に、バススレーブであるスレーブ回路は、図7のバスアクセスの情報に含まれるアクセス権限の情報と、自身のアクセスの許可設定とに基づいて、当該リードアクセス又はライトアクセスを処理するか否かを決定する。
この場合に、CPUであるプロセッサー22には命令バスとデータバスがあり、図7に示すように、命令バスからのバスアクセスか、それ以外のバスアクセスかの区別は、バスアクセスの情報に含まれるアクセス権限の情報により区別可能になっている。ここで、それ以外のバスアクセスとは、データバスや他のバスマスターによるバスアクセスである。そしてプロセッサー22の命令バスによるアクセスに対しては、常にアクセス権限が設定されており、たとえデータバスからのリードが禁止された領域であっても。命令として実行するために読み出すことは可能になっている。従って、プロセッサー22は、命令バスを用いてプログラムの命令を適切に実行して処理することが可能になる。このように命令バスからのバスアクセスか、それ以外のバスアクセスかを区別可能にすることで、機密のアルゴリズムを含む命令のコードの保護と、当該命令の実行とを両立して実現できるようになる。
3.処理の詳細
次に本実施形態の処理の詳細について説明する。本実施形態では、外部からの悪意あるアクセスから不揮発性メモリー50の内部の機密情報等の情報を保護するために、以下に説明するような処理を行う。まず図8のフローチャートに示すように、パワーオンリセットを含む回路装置10の初期化処理時に、メモリーコントローラー40は、不揮発性メモリー50内の設定記憶領域54に書き込まれたプロテクト設定情報を読み出し、マスター回路にはアクセス権限の設定を行い、スレーブ回路にはアクセスの許可設定を行う。また図9のフローチャートを示すように、設定記憶領域54が全消去状態、即ちプロテクト設定がされていない状態の場合にのみ、設定記憶領域54へのプロテクト設定情報の書き込みを可能にする。例えばプロテクト設定がされている場合には、プロテクト設定の内容を変えることはできないようにする。また図10のフローチャートに示すように、プロテクト設定を解除するには、不揮発性メモリー50の全領域一括消去により,機密情報等の情報の消去も同時に行わなくてはならないようにする。そして設定記憶領域54にのみ部分消去を行って、機密情報等の情報だけを残すということは許可しないようにする。但し、ライトアクセスが許可された領域であれば、プロテクト設定の変更は伴わないため、部分消去を行うことが可能になっている。
次に本実施形態の処理の詳細について説明する。本実施形態では、外部からの悪意あるアクセスから不揮発性メモリー50の内部の機密情報等の情報を保護するために、以下に説明するような処理を行う。まず図8のフローチャートに示すように、パワーオンリセットを含む回路装置10の初期化処理時に、メモリーコントローラー40は、不揮発性メモリー50内の設定記憶領域54に書き込まれたプロテクト設定情報を読み出し、マスター回路にはアクセス権限の設定を行い、スレーブ回路にはアクセスの許可設定を行う。また図9のフローチャートを示すように、設定記憶領域54が全消去状態、即ちプロテクト設定がされていない状態の場合にのみ、設定記憶領域54へのプロテクト設定情報の書き込みを可能にする。例えばプロテクト設定がされている場合には、プロテクト設定の内容を変えることはできないようにする。また図10のフローチャートに示すように、プロテクト設定を解除するには、不揮発性メモリー50の全領域一括消去により,機密情報等の情報の消去も同時に行わなくてはならないようにする。そして設定記憶領域54にのみ部分消去を行って、機密情報等の情報だけを残すということは許可しないようにする。但し、ライトアクセスが許可された領域であれば、プロテクト設定の変更は伴わないため、部分消去を行うことが可能になっている。
具体的には図8の初期化処理では、まずバスマスターからのアクセスの受け付けが停止される(ステップS1)。そしてメモリーコントローラー40は、不揮発性メモリー50の設定記憶領域54からプロテクト設定情報を読み出して(ステップS2)、バスマスターに対するアクセス権限の設定と、バススレーブに対するアクセスの許可設定を行う(ステップS3)。そしてその後に、バスマスターからのアクセスの受け付けが開始される(ステップS4)。このように図8では、初期化処理において、メモリーコントローラー40が、不揮発性メモリー50からプロテクト設定情報を読み出し、読み出されたプロテクト設定情報に基づいて、バスマスターに対するアクセス権限の設定及びバススレーブに対するアクセスの許可設定が行われる。そして、このようなアクセス権限の設定及びアクセスの許可設定が行われた後に、バスマスターによるバスアクセスが開始されるようになり、アクセス権限の設定とアクセスの許可設定による高度なプロテクト設定が行われた状態で、回路装置10に種々の処理を行わせることが可能になる。
また図9のプロテクト設定情報の書き込み処理では、不揮発性メモリー50の設定記憶領域54にプロテクト設定情報を書き込むコマンドが発行されると(ステップS11)、メモリーコントローラー40は、設定記憶領域54が全消去状態か否かを判断する(ステップS12)。そして設定記憶領域54が全消去状態である場合には、メモリーコントローラー40は、発行されたコマンドを実行し、設定記憶領域54にプロテクト設定情報を書き込んで(ステップS13)、プロテクト設定情報の書き込みを完了する。一方、設定記憶領域54が全消去状態ではない場合には、メモリーコントローラー40は、コマンドを実行せずにプロテクト設定を非変更にして(ステップS14)、プロテクト設定情報の書き込みを完了する。
図10の不揮発性メモリー50の消去処理時には、不揮発性メモリー50の消去コマンドが発行されると(ステップS21)と、メモリーコントローラー40は、不揮発性メモリー50の全領域一括消去か否かを判断する(ステップS22)。そして全領域一括消去である場合には、メモリーコントローラー40は、プロテクト設定情報の設定記憶領域54を含む全領域を消去して(ステップS23)、初期化処理に移行し(ステップS24)、不揮発性メモリー50の消去処理を完了する。一方、全領域一括消去ではない場合には、メモリーコントローラー40は、消去処理の指定記憶領域は設定記憶領域54か否かを判断し(ステップS25)、指定記憶領域が設定記憶領域54である場合には消去コマンドを実行せずに(ステップS26)、不揮発性メモリー50の消去処理を完了する。一方、指定記憶領域が設定記憶領域54ではない場合には、メモリーコントローラー40は、指定記憶領域がライト禁止か否かを判断する(ステップS27)。そしてメモリーコントローラー40は、ライト禁止の場合には消去コマンドを実行せずに(ステップS26)、不揮発性メモリー50の消去処理を完了し、ライト禁止ではない場合には、指定記憶領域の消去を行って、不揮発性メモリー50の消去処理を完了する。
以上のように本実施形態では、メモリーコントローラー40は、プロテクト設定情報の設定記憶領域54が全消去状態において、不揮発性メモリー50へのプロテクト設定情報の書き込みを許可する。即ち図9のステップS11に示すように、不揮発性メモリー50の設定記憶領域54にプロテクト設定情報を書き込むコマンドが発行された場合に、ステップS12に示すように、メモリーコントローラー40は、設定記憶領域54が全消去状態であるか否かを判断する。例えば消去状態のメモリーセルのビットが「1」である場合には、設定記憶領域54の全てのビットが「1」か否かが判断される。そしてステップS14に示すように、設定記憶領域54が全消去状態でない場合には、メモリーコントローラー40は、不揮発性メモリー50の設定記憶領域54に対するプロテクト設定情報の書き込みコマンドを実行せず、プロテクト設定情報の書き込みを禁止する。このようにすれば、例えば外部からの悪意のあるアクセスクにより、プロテクト設定情報のアクセス権限の設定やアクセスの許可設定が書き換えられてしまう事態を防止できるようになり、高度なプロテクト機能を有する回路装置10の実現が可能になる。
また本実施形態では、メモリーコントローラー40は、設定記憶領域54にプロテクト設定情報が記憶されている場合には、設定記憶領域54の部分消去を不許可にする。そしてプロテクト設定を解錠するには、不揮発性メモリー50の全領域一括消去により、機密情報等の情報の消去も同時に行わなくてはならないようにする。例えば図10のステップS21で不揮発性メモリー50の消去コマンドが発行された場合に、メモリーコントローラー40は、発行されたコマンドが不揮発性メモリー50の全領域一括消去のコマンドか否かを判断する。そしてメモリーコントローラー40は、全領域一括消去のコマンドである場合には、プロテクト設定情報の設定記憶領域54を含む全領域を消去する。これにより、ユーザー記憶領域52に記憶される機密情報等の情報も消去されるようになる。一方、消去コマンドが全領域一括消去のコマンドではない場合には、ステップS25に示すようにメモリーコントローラー40は、当該消去コマンドの指定記憶領域がプロテクト設定情報の設定記憶領域54か否かを判断する。即ち設定記憶領域54の部分消去か否かを判断する。そしてメモリーコントローラー40は、当該消去コマンドの指定記憶領域が設定記憶領域54であり、設定記憶領域54の部分消去である場合には、ステップS26に示すように当該消去コマンドを実行しないようにする。即ちメモリーコントローラー40は、設定記憶領域54にプロテクト設定情報が記憶されている場合には、設定記憶領域54の部分消去を不許可にする。このようにすれば、不揮発性メモリー50の設定記憶領域54の部分消去が行われて、プロテクト設定が解除されてしまうような事態の発生を防止できるようになる。そして設定記憶領域54のプロテクト設定情報を消去して、プロテクト設定を解除するには、不揮発性メモリー50の全領域一括消去を行わなければならず、全領域一括消去が行われることで、プロテクト設定情報のみならず機密情報等の情報も消去されるようになる。従って、外部からの悪意のあるアクセスによりプロテクト設定を解除して、機密情報等の情報が読み出されてしまう事態を防止できる。
4.電子機器
図11に本実施形態の回路装置10を含む電子機器300の構成例を示す。電子機器300は、本実施形態の回路装置10と、表示部310と、メモリー320と、操作インターフェース330と、通信インターフェース340を含むことができる。電子機器300の具体例としては、例えばメーターパネルなどのパネル機器やカーナビゲーションシステム等の車載機器、ジャイロセンサーや加速度センサーなどのセンサーを有するセンサー機器、プロジェクター、ヘッドマウントディスプレイ、印刷装置、携帯情報端末、携帯型ゲーム端末、ロボット、或いは情報処理装置などの種々の電子機器がある。
図11に本実施形態の回路装置10を含む電子機器300の構成例を示す。電子機器300は、本実施形態の回路装置10と、表示部310と、メモリー320と、操作インターフェース330と、通信インターフェース340を含むことができる。電子機器300の具体例としては、例えばメーターパネルなどのパネル機器やカーナビゲーションシステム等の車載機器、ジャイロセンサーや加速度センサーなどのセンサーを有するセンサー機器、プロジェクター、ヘッドマウントディスプレイ、印刷装置、携帯情報端末、携帯型ゲーム端末、ロボット、或いは情報処理装置などの種々の電子機器がある。
処理装置である回路装置10は、電子機器300の制御処理や、種々の信号処理等を行う。表示部310は、例えば液晶パネルや有機ELパネルなどにより実現できる。表示部310はタッチパネルであってもよい。メモリー320は、例えば操作インターフェース330や通信インターフェース340からのデータを記憶する、或いは、回路装置10のワークメモリーとして機能する。メモリー320は、例えばRAMやROM等の半導体メモリー、或いはハードディスクドライブ等の磁気記憶装置により実現できる。操作インターフェース330は、ユーザーからの種々の操作を受け付けるユーザーインターフェースである。例えば操作インターフェース330は、ボタンやマウスやキーボード、或いはタッチパネル等により実現できる。通信インターフェース340は、画像データや制御データの通信を行うインターフェースである。通信インターフェース340の通信処理は、有線の通信処理であってもよいし、無線の通信処理であってもよい。
以上のように本実施形態の回路装置は、バスと、バスに接続され、バスにおけるバスマスターである複数のマスター回路と、バスを介して複数のマスター回路に接続され、バスにおけるバススレーブである複数のスレーブ回路と、を含む。そして複数のマスター回路は、バススレーブに対するアクセス権限が設定されており、複数のスレーブ回路は、バスマスターからのリードアクセス又はライトアクセスに対する許可設定がされている。そして複数のマスター回路の各マスター回路は、アクセス権限と許可設定に基づいて、複数のスレーブ回路の各スレーブ回路へのアクセスの可否が決定される。
本実施形態によれば、バスマスターとなる各マスター回路に対してアクセス権限が設定される。またバススレーブとなる各スレーブ回路に対して、バスマスターからのリードアクセス又はライトアクセスに対する許可設定が行われる。そして各マスター回路が各スレーブ回路にリードアクセス又はライトアクセスを行った場合に、各マスター回路のアクセス権限と各スレーブ回路の許可設定に基づいて、当該リードアクセス又はライトアクセスの可否が決定される。このようにすれば、回路装置の各回路へのアクセス可否を細かく設定できるようになり、ユーザーの要望に応じて利便性とセキュリティーの堅牢性のバランスを自由に設定することが可能になる。これにより、高度なプロテクト機能を持つ回路装置を実現できるようになる。
また本実施形態では、複数のマスター回路は、バススレーブに対するアクセス権限が設定される第1マスター回路と、バススレーブに対するアクセス権限が非設定である第2マスター回路と、を含み、複数のスレーブ回路は、第1許可設定がされている第1スレーブ回路を含んでもよい。そして第1マスター回路は、第1許可設定に依存せずに第1スレーブ回路に対するリードアクセス又はライトアクセスが許可され、第2マスター回路は、第1許可設定に基づいて第1スレーブ回路に対するリードアクセス又はライトアクセスが許可されてもよい。
このようにすればアクセス権限を設定することで、第1マスター回路による第1スレーブ回路に対するリードアクセスやライトアクセスを一括で許可設定できるようになると共に、アクセス権限が設定されていない第2マスター回路については、第1スレーブ回路への第1許可設定により、リードアクセスやライトアクセスの可否を決定できるようになる。
また本実施形態では、第1マスター回路は、プロセッサー又はDMAコントローラーであってもよい。
このようにすれば、第1スレーブ回路に対してアクセスの第1許可設定が行われている場合に、第1マスター回路であるプロセッサー又はDMAコントローラーは、第1スレーブ回路の第1許可設定に依存せずに、第1スレーブ回路に対するリードアクセスやライトアクセスが許可されるようになる。
また本実施形態では、第2マスター回路は、外部バスインターフェース又はデバッグ回路であってもよい。
このようにすれば、第1スレーブ回路に対してアクセスの第1許可設定が行われている場合に、第2マスター回路であるデバッグ回路又は外部バスインターフェースは、第1許可設定に基づいて第1スレーブ回路に対するリードアクセス又はライトアクセスが許可されるようになる。
また本実施形態では、アクセス権限及び許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリーを含んでもよい。
このようにすれば、アクセス権限及び許可設定の情報であるプロテクト設定情報を、電源を供給しなくても情報の記憶を保持するメモリーである不揮発性メモリーに記憶できるようになる。
また本実施形態では、不揮発性メモリーから読み出したプロテクト設定情報に基づいて、アクセス権限の設定及び許可設定を行うメモリーコントローラーを含んでもよい。
このようにすれば、プロテクト設定情報を記憶する不揮発性メモリーの制御を行うメモリーコントローラーを有効利用して、マスター回路のアクセス権限の設定やスレーブ回路へのアクセスの許可設定を行うことが可能になる。
また本実施形態では、メモリーコントローラーは、バスとは別に設けられた第1信号線を用いて複数のスレーブ回路に対して許可設定を行ってもよい。
このようにすれば、例えば初期化処理後に回路装置が実動作を行う前の期間において、メモリーコントローラーが専用の第1信号線を用いてスレーブ回路の許可設定を行うことが可能になる。
また本実施形態では、メモリーコントローラーは、バスとは別に設けられた第2信号線を用いて複数のマスター回路に対してアクセス権限の設定を行ってもよい。
このようにすれば、例えば初期化処理後に回路装置が実動作を行う前の期間において、メモリーコントローラーが専用の第2信号線を用いてマスター回路のアクセス権限の設定を行うことが可能になる。
また本実施形態では、複数のマスター回路とバスとの間に設けられる権限制御回路を含み、権限制御回路は、複数のマスター回路の各マスター回路からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えることで、アクセス権限を設定してもよい。
このようにすれば、マスター回路に対して不適切にアクセス権限が設定された場合にも、権限制御回路が、マスター回路からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えることで、適正なアクセス権限に設定できるようになる。
また本実施形態では、アクセス権限及び許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリーと、不揮発性メモリーを制御するメモリーコントローラーと、を含み、メモリーコントローラーは、権限制御回路に対してアクセス権限の設定を行ってもよい。
このようにすれば、マスター回路に対して不適切にアクセス権限が設定された場合にも、メモリーコントローラーが不揮発性メモリーからプロテクト設定情報を読み出して、権限制御回路に対してアクセス権限の設定を行うことで、権限制御回路が、マスター回路からのバスアクセスの情報に含まれるアクセス権限の情報を書き換えて、適正なアクセス権限に設定できるようになる。
また本実施形態では、メモリーコントローラーは、プロテクト設定情報の設定記憶領域が全消去状態において、不揮発性メモリーへのプロテクト設定情報の書き込みを許可してもよい。
このようにすれば、設定記憶領域が全消去状態でない場合には、設定記憶領域に対するプロテクト設定情報の書き込みが禁止されるようになり、例えば外部からの悪意のあるアクセスにより、プロテクト設定情報のアクセス権限の設定やアクセスの許可設定が書き換えられてしまう事態を防止できるようになる。
また本実施形態では、メモリーコントローラーは、設定記憶領域にプロテクト設定情報が記憶されている場合には、設定記憶領域の部分消去を不許可にしてもよい。
このようにすれば、設定記憶領域の部分消去が行われて、プロテクト設定が解除されてしまうような事態の発生を防止できるようになる。
また本実施形態では、許可設定の情報は、複数のスレーブ回路の各スレーブ回路に設けられるレジスターに書き込まれてもよい。
このようにすれば、各スレーブ回路は、自身のレジスターに書き込まれた許可設定の情報と、マスター回路のアクセス権限とに基づいて、マスター回路のリードアクセス又はライトアクセスを許可するか否かを決定できるようになる。
また本実施形態では、アクセス権限の情報は、バスに対するバスアクセスの情報に含んでもよい。
このようにすれば各スレーブ回路は、マスター回路からリードアクセス又はライトアクセスが来た場合に、リードアクセス又はライトアクセスのバスアクセスの情報に含まれるアクセス権限の情報と、自身に設定されたアクセスの許可設定の情報に基づいて、当該リードアクセス又はライトアクセスを許可するか否かを決定できるようになる。
また本実施形態では、バスと、複数の周辺回路が接続されるペリフェラルバスとの間に設けられるバスブリッジ回路を含み、複数の周辺回路の各周辺回路に対する許可設定の情報が、バスブリッジ回路に設けられるレジスターに書き込まれてもよい。
このようにすればペリフェラルバスに接続される周辺回路に対するアクセスの許可設定については、バスブリッジ回路のレジスターを用いて一括に設定できるようになり、アクセスの許可設定の処理の簡素化や処理負荷の軽減等を図れるようになる。
また本実施形態は、上記に記載された回路装置を含む電子機器に関係する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また回路装置、電子機器の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10…回路装置、12…バス、14…ペリフェラルバス、16…第1信号線、18…第2信号線、20-1~20-n…マスター回路、21…コアブロック、22…プロセッサー、24…デバッグ回路、26…DMAコントローラー、28…外部バスインターフェース、30-1~30-m…スレーブ回路、31-1~31-m…レジスター、32…SRAMコントローラー、34…バスブリッジ回路、35…レジスター、36、37、38、39…周辺回路、40…メモリーコントローラー、50…不揮発性メモリー、52…ユーザー記憶領域、54…設定記憶領域、70…権限制御回路、300…電子機器、310…表示部、320…メモリー、330…操作インターフェース、340…通信インターフェース、AR1~AR128…メモリー記憶領域、PA~PZ…周辺回路
Claims (16)
- バスと、
前記バスに接続され、前記バスにおけるバスマスターである複数のマスター回路と、
前記バスを介して前記複数のマスター回路に接続され、前記バスにおけるバススレーブである複数のスレーブ回路と、
を含み、
前記複数のマスター回路は、前記バススレーブに対するアクセス権限が設定されており、
前記複数のスレーブ回路は、前記バスマスターからのリードアクセス又はライトアクセスに対する許可設定がされており、
前記複数のマスター回路の各マスター回路は、前記アクセス権限と前記許可設定に基づいて、前記複数のスレーブ回路の各スレーブ回路へのアクセスの可否が決定されることを特徴とする回路装置。 - 請求項1に記載された回路装置において、
前記複数のマスター回路は、
前記バススレーブに対する前記アクセス権限が設定される第1マスター回路と、
前記バススレーブに対する前記アクセス権限が非設定である第2マスター回路と、
を含み、
前記複数のスレーブ回路は、第1許可設定がされている第1スレーブ回路を含み、
前記第1マスター回路は、前記第1許可設定に依存せずに前記第1スレーブ回路に対する前記リードアクセス又は前記ライトアクセスが許可され、
前記第2マスター回路は、前記第1許可設定に基づいて前記第1スレーブ回路に対する前記リードアクセス又は前記ライトアクセスが許可されることを特徴とする回路装置。 - 請求項2に記載された回路装置において、
前記第1マスター回路は、プロセッサー又はDMAコントローラーであることを特徴とする回路装置。 - 請求項2又は3に記載された回路装置において、
前記第2マスター回路は、外部バスインターフェース又はデバッグ回路であることを特徴とする回路装置。 - 請求項1乃至4のいずれか一項に記載された回路装置において、
前記アクセス権限及び前記許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリーを含むことを特徴とする回路装置。 - 請求項5に記載された回路装置において、
前記不揮発性メモリーから読み出した前記プロテクト設定情報に基づいて、前記アクセス権限の設定及び前記許可設定を行うメモリーコントローラーを含むことを特徴とする回路装置。 - 請求項6に記載された回路装置において、
前記メモリーコントローラーは、
前記バスとは別に設けられた第1信号線を用いて前記複数のスレーブ回路に対して前記許可設定を行うことを特徴とする回路装置。 - 請求項6又は7に記載された回路装置において、
前記メモリーコントローラーは、
前記バスとは別に設けられた第2信号線を用いて前記複数のマスター回路に対して前記アクセス権限の設定を行うことを特徴とする回路装置。 - 請求項1乃至4のいずれか一項に記載された回路装置において、
前記複数のマスター回路と前記バスとの間に設けられる権限制御回路を含み、
前記権限制御回路は、
前記複数のマスター回路の前記各マスター回路からのバスアクセスの情報に含まれる前記アクセス権限の情報を書き換えることで、前記アクセス権限を設定することを特徴とする回路装置。 - 請求項9に記載された回路装置において、
前記アクセス権限及び前記許可設定の情報であるプロテクト設定情報を記憶する不揮発性メモリーと、
前記不揮発性メモリーを制御するメモリーコントローラーと、
を含み、
前記メモリーコントローラーは、
前記権限制御回路に対して前記アクセス権限の設定を行うことを特徴とする回路装置。 - 請求項6、7、8又は10に記載された回路装置において、
前記メモリーコントローラーは、
前記プロテクト設定情報の設定記憶領域が全消去状態において、前記不揮発性メモリーへの前記プロテクト設定情報の書き込みを許可することを特徴とする回路装置。 - 請求項11に記載された回路装置において、
前記メモリーコントローラーは、
前記設定記憶領域に前記プロテクト設定情報が記憶されている場合には、前記設定記憶領域の部分消去を不許可にすることを特徴とする回路装置。 - 請求項1乃至12のいずれか一項に記載された回路装置において、
前記許可設定の情報は、前記複数のスレーブ回路の前記各スレーブ回路に設けられるレジスターに書き込まれることを特徴とする回路装置。 - 請求項1乃至13のいずれか一項に記載された回路装置において、
前記アクセス権限の情報は、前記バスに対するバスアクセスの情報に含まれることを特徴とする回路装置。 - 請求項1乃至14のいずれか一項に記載された回路装置において、
前記バスと、複数の周辺回路が接続されるペリフェラルバスとの間に設けられるバスブリッジ回路を含み、
前記複数の周辺回路の各周辺回路に対する前記許可設定の情報が、前記バスブリッジ回路に設けられるレジスターに書き込まれることを特徴とする回路装置。 - 請求項1乃至15のいずれか一項に記載された回路装置を含むことを特徴とする電子機器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028266A JP2022129555A (ja) | 2021-02-25 | 2021-02-25 | 回路装置及び電子機器 |
CN202210167357.3A CN114968881B (zh) | 2021-02-25 | 2022-02-23 | 电路装置和电子设备 |
US17/679,286 US11741035B2 (en) | 2021-02-25 | 2022-02-24 | Circuit device and electronic apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021028266A JP2022129555A (ja) | 2021-02-25 | 2021-02-25 | 回路装置及び電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022129555A true JP2022129555A (ja) | 2022-09-06 |
Family
ID=82899566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021028266A Pending JP2022129555A (ja) | 2021-02-25 | 2021-02-25 | 回路装置及び電子機器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11741035B2 (ja) |
JP (1) | JP2022129555A (ja) |
CN (1) | CN114968881B (ja) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277972B2 (en) | 2002-03-08 | 2007-10-02 | Freescale Semiconductor, Inc. | Data processing system with peripheral access protection and method therefor |
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
JP2007264679A (ja) * | 2004-06-14 | 2007-10-11 | Matsushita Electric Ind Co Ltd | アクセス制御装置及びアクセス制御方法 |
JP2007219678A (ja) * | 2006-02-15 | 2007-08-30 | Oki Electric Ind Co Ltd | マルチレイヤバス・システム |
JP5148236B2 (ja) * | 2007-10-01 | 2013-02-20 | ルネサスエレクトロニクス株式会社 | 半導体集積回路及び半導体集積回路の制御方法 |
US8209509B2 (en) * | 2008-05-13 | 2012-06-26 | Atmel Corporation | Accessing memory in a system with memory protection |
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
DE102013016114B3 (de) * | 2013-09-26 | 2015-02-05 | Infineon Technologies Ag | Bussystem und Verfahren für geschützte Speicherzugriffe |
JP2016173798A (ja) * | 2015-03-18 | 2016-09-29 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP6395647B2 (ja) * | 2015-03-18 | 2018-09-26 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP2017156789A (ja) * | 2016-02-29 | 2017-09-07 | キヤノン株式会社 | 情報処理装置 |
JP2019113917A (ja) * | 2017-12-21 | 2019-07-11 | ルネサスエレクトロニクス株式会社 | データ処理装置、及びデータ処理装置の制御方法 |
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP7020969B2 (ja) | 2018-03-16 | 2022-02-16 | 株式会社東芝 | 携帯可能電子装置、及びicカード |
US10972449B1 (en) * | 2018-06-28 | 2021-04-06 | Amazon Technologies, Inc. | Communication with components of secure environment |
-
2021
- 2021-02-25 JP JP2021028266A patent/JP2022129555A/ja active Pending
-
2022
- 2022-02-23 CN CN202210167357.3A patent/CN114968881B/zh active Active
- 2022-02-24 US US17/679,286 patent/US11741035B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN114968881A (zh) | 2022-08-30 |
US11741035B2 (en) | 2023-08-29 |
US20220269628A1 (en) | 2022-08-25 |
CN114968881B (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6306578B2 (ja) | メモリ保護装置及び保護方法 | |
US7979630B2 (en) | Data protection for non-volatile semiconductor memory block using block protection flags | |
US8316200B2 (en) | Microcomputer, electronic instrument, and flash memory protection method | |
JP4939387B2 (ja) | データ処理装置及びアドレス空間保護方法 | |
JP3891539B2 (ja) | 半導体装置およびその制御装置 | |
US20090106543A1 (en) | Boot block features in synchronous serial interface nand | |
US9304943B2 (en) | Processor system and control method thereof | |
US20060090053A1 (en) | Program-controlled unit | |
US20060112246A1 (en) | Program-controlled unit | |
JP2000181898A (ja) | フラッシュメモリ搭載型シングルチップマイクロコンピュータ | |
EP3084593B1 (en) | Updatable integrated-circuit radio | |
CN111191214B (zh) | 一种嵌入式处理器及数据保护方法 | |
TW201821998A (zh) | 記憶體保護邏輯 | |
US20040186947A1 (en) | Access control system for nonvolatile memory | |
JP2022129555A (ja) | 回路装置及び電子機器 | |
JP2010009454A (ja) | 情報処理装置 | |
JP4865064B2 (ja) | 半導体装置 | |
US20060080519A1 (en) | Program-controlled unit | |
JP2007172062A (ja) | 情報処理装置およびアクセス制御方法 | |
JP2011150457A (ja) | 情報処理装置およびメモリアクセス制御方法 | |
US8924672B2 (en) | Device with processing unit and information storage | |
JP4903606B2 (ja) | データ保護機能付き集積回路およびデータ保護機能付き集積回路用のデータ保護プログラム | |
JPH04106622A (ja) | データ処理装置とそれを用いたデータ処理システム及びそのデータ処理システムの動作制御方法ならびにワンチップマイクロコンピュータ設定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20210915 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20211104 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231211 |