JP2017004522A - メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ - Google Patents
メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ Download PDFInfo
- Publication number
- JP2017004522A JP2017004522A JP2016114279A JP2016114279A JP2017004522A JP 2017004522 A JP2017004522 A JP 2017004522A JP 2016114279 A JP2016114279 A JP 2016114279A JP 2016114279 A JP2016114279 A JP 2016114279A JP 2017004522 A JP2017004522 A JP 2017004522A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memory protection
- protection unit
- unit
- hardware
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 188
- 239000011159 matrix material Substances 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】マイクロコントローラ15は、アドレステーブルを登録するためのハードウェアレジスタと、アドレステーブルを格納するための設定メモリ28と、設定メモリ28を管理するための事前設定されたメモリ保護ユニット29l、29gに含まれるハードウェアロジック部29eと、ハードウェアレジスタをロードするための、設定メモリ28とメモリ保護ユニット29l、29gとの間のデータ接続と、演算コア23、24によりロードを制御するための第1のインタフェースと、演算コア23、24により設定メモリ28に書き込むための第2のインタフェースとを有する。
【選択図】図2
Description
本発明の根底には、仮想化のためのμCの特別なハードウェア機能に頻繁にアクセスされるほど、その効率が、実行速度に関してより重要になるという認識がある。最悪の場合にはVMMの利用によって、全計算能力ががくんと落ちるほど実行時間の追加コストが大きくなる。従って、本発明の一実施形態は、仮想化のためのハードウェアサポートであって、頻繁に利用しても当該ハードウェアサポートに必要な性能が最小限である上記ハードウェアサポートを提供する。
Claims (10)
- メモリ保護ユニット(29l、29g)であって、以下の特徴、即ち、
−アドレステーブルを登録するためのハードウェアレジスタと、
−前記アドレステーブルを格納するための設定メモリ(28)と、
−前記設定メモリ(28)を管理するための事前設定されたハードウェアロジック部(29l、29g)と、
−前記ハードウェアレジスタをロードするための、前記設定メモリ(28)と前記ハードウェアロジック部(29l、29g)との間のデータ接続と、
−演算コア(23、24)により前記ロードを制御するための第1のインタフェースと、
−前記演算コア(23、24)により前記設定メモリ(28)に書き込むための第2のインタフェースと、
いう特徴を有することを特徴とする、メモリ保護ユニット(29l、29g)。 - 前記ハードウェアロジック部(29l、29g)は、前記ハードウェアレジスタの前記ロードの際のアクセスを監視するよう構成されることを特徴とする、請求項1に記載のメモリ保護ユニット(29l、29g)。
- 前記ハードウェアロジック部(29l、29g)は、前記ロードがアクセス階層の実行レベルに従って行われるよう構成されることを特徴とする、請求項2に記載のメモリ保護ユニット(29l、29g)。
- 前記ハードウェアロジック部(29l、29g)は、前記実行レベルがソフトウェア識別子に従って決定されるよう構成されることを特徴とする、請求項3に記載のメモリ保護ユニット(29l、29g)。
- 前記ハードウェアロジック部(29l、29g)は、前記ソフトウェア識別子が選択的に、VMM(14)、VM(12)、又はSWE(13)を示すよう構成されることを特徴とする、請求項4に記載のメモリ保護ユニット(29l、29g)。
- 前記ハードウェアロジック部(29l、29g)は、前記ソフトウェア識別子を用いて、同じ実行レベル及び様々な実行レベルのVM(12)、及び、同じ実行レベル及び様々な実行レベルのSWE(13)を区別できるよう構成されることを特徴とする、請求項4又は5に記載のメモリ保護ユニット(29l、29g)。
- 前記ハードウェアロジック部(29l、29g)は、前記ハードウェアレジスタの自動的又は部分的に自動的なロードが、各アクティブなソフトウェア(12、13、14)に基づいて、当該ソフトウェア(12、13、14)を示す前記ソフトウェア識別子を用いて行われるよう構成されることを特徴とする、請求項6に記載のメモリ保護ユニット(29l、29g)。
- 請求項1〜7のいずれか1項に記載のメモリ保護ユニット(29l、29g)を備えたメモリ管理ユニット。
- 請求項1〜7のいずれか1項に記載のメモリ保護ユニット(29l、29g)を備えたマイクロコントローラ(15)。
- 前記マイクロコントローラ(15)は、以下の特徴、即ち、
−グローバルアドレス空間(22)と作業ファイルを交換するための、好適にスイッチングマトリクスを備えたバス(21)と、
−前記作業ファイルを処理するための、前記バス(21)と間接的に接続された演算コア(23、24)と、
−前記グローバルアドレス空間(22)を保護するための、前記演算コア(23、24)のうちの1つと前記バス(21)との間に接続されたメモリ保護ユニット(29l、29g)と、
を有することを特徴とする、請求項9に記載のマイクロコントローラ(15)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015210539.3 | 2015-06-09 | ||
DE102015210539.3A DE102015210539A1 (de) | 2015-06-09 | 2015-06-09 | Speicherschutzeinheit, Speicherverwaltungseinheit und Mikrocontroller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017004522A true JP2017004522A (ja) | 2017-01-05 |
JP6679419B2 JP6679419B2 (ja) | 2020-04-15 |
Family
ID=57394834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016114279A Active JP6679419B2 (ja) | 2015-06-09 | 2016-06-08 | メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ |
Country Status (4)
Country | Link |
---|---|
US (1) | US10031862B2 (ja) |
JP (1) | JP6679419B2 (ja) |
CN (1) | CN106250328B (ja) |
DE (1) | DE102015210539A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7498181B2 (ja) | 2019-02-01 | 2024-06-11 | アーム・リミテッド | セキュア及びノンセキュア・ストレージのためのルックアップ回路 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6990150B2 (ja) * | 2018-06-18 | 2022-01-12 | ルネサスエレクトロニクス株式会社 | データ処理装置及びメモリ保護方法 |
EP3792800A1 (en) | 2019-09-12 | 2021-03-17 | Nxp B.V. | Managing equally sized virtual memory regions and physical memory regions in an electronic device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009523280A (ja) * | 2006-01-13 | 2009-06-18 | フリースケール セミコンダクター インコーポレイテッド | プロテクションシステム及びその動作方法 |
WO2012117465A1 (ja) * | 2011-03-02 | 2012-09-07 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路 |
JP2013232151A (ja) * | 2012-05-01 | 2013-11-14 | Renesas Electronics Corp | メモリ保護回路、処理装置、およびメモリ保護方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1065346C (zh) * | 1994-10-20 | 2001-05-02 | 联华电子股份有限公司 | 软件保护方法及装置 |
DE19828056A1 (de) | 1998-06-24 | 1999-12-30 | Bosch Gmbh Robert | Speicherüberwachungssystem |
US6820177B2 (en) * | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7475209B2 (en) * | 2004-05-13 | 2009-01-06 | International Business Machines Corporation | Moving hardware context structures in memory while maintaining system operation |
CN1306357C (zh) * | 2004-12-15 | 2007-03-21 | 中国长城计算机深圳股份有限公司 | 一种保证信息安全的计算机系统 |
JP4818793B2 (ja) * | 2006-04-20 | 2011-11-16 | ルネサスエレクトロニクス株式会社 | マイクロコンピュータ及びメモリアクセスの制御方法 |
US7817799B2 (en) * | 2006-09-07 | 2010-10-19 | International Business Machines Corporation | Maintaining encryption key integrity |
KR101724590B1 (ko) * | 2011-01-31 | 2017-04-11 | 삼성전자주식회사 | 멀티 프로세서 시스템에서의 메모리 보호 장치 및 방법 |
WO2013101248A1 (en) * | 2011-12-31 | 2013-07-04 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
JP2014081819A (ja) * | 2012-10-17 | 2014-05-08 | Renesas Electronics Corp | 情報処理装置 |
US9836318B2 (en) * | 2014-02-21 | 2017-12-05 | Infineon Technologies Ag | Safety hypervisor function |
US9389793B2 (en) * | 2014-03-06 | 2016-07-12 | Freescale Semiconductor, Inc. | Trusted execution and access protection for embedded memory |
FR3020160B1 (fr) * | 2014-04-16 | 2017-08-11 | Commissariat Energie Atomique | Systeme d'execution de code avec mecanisme d'hypervision en aveugle |
GB2525596B (en) * | 2014-04-28 | 2021-05-26 | Arm Ip Ltd | Access control and code scheduling |
-
2015
- 2015-06-09 DE DE102015210539.3A patent/DE102015210539A1/de active Pending
-
2016
- 2016-06-08 US US15/176,696 patent/US10031862B2/en active Active
- 2016-06-08 CN CN201610400184.XA patent/CN106250328B/zh active Active
- 2016-06-08 JP JP2016114279A patent/JP6679419B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009523280A (ja) * | 2006-01-13 | 2009-06-18 | フリースケール セミコンダクター インコーポレイテッド | プロテクションシステム及びその動作方法 |
WO2012117465A1 (ja) * | 2011-03-02 | 2012-09-07 | パナソニック株式会社 | 仮想計算機システム、仮想計算機制御方法、仮想計算機制御プログラム、及び半導体集積回路 |
JP2013232151A (ja) * | 2012-05-01 | 2013-11-14 | Renesas Electronics Corp | メモリ保護回路、処理装置、およびメモリ保護方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7498181B2 (ja) | 2019-02-01 | 2024-06-11 | アーム・リミテッド | セキュア及びノンセキュア・ストレージのためのルックアップ回路 |
Also Published As
Publication number | Publication date |
---|---|
US20160364342A1 (en) | 2016-12-15 |
JP6679419B2 (ja) | 2020-04-15 |
DE102015210539A1 (de) | 2016-12-15 |
CN106250328B (zh) | 2022-01-18 |
US10031862B2 (en) | 2018-07-24 |
CN106250328A (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10901772B2 (en) | Virtualization exceptions | |
US10409597B2 (en) | Memory management in secure enclaves | |
EP2889777B1 (en) | Modifying memory permissions in a secure processing environment | |
US10318407B2 (en) | Allocating a debug instruction set based on the current operating state in a multi-instruction-set data processing apparatus | |
JP5969550B2 (ja) | パフォーマンスカウンタの仮想化 | |
US9298639B2 (en) | Controlling access to groups of memory pages in a virtualized environment | |
JP4668166B2 (ja) | ゲストがメモリ変換されたデバイスにアクセスする方法及び装置 | |
EP2955634B1 (en) | Paravirtualization-based interface for memory management in virtual machines | |
JP2013232151A (ja) | メモリ保護回路、処理装置、およびメモリ保護方法 | |
US20140068792A1 (en) | Information processing apparatus and control method | |
US20160188354A1 (en) | Efficient enabling of extended page tables | |
CN103778099B (zh) | 信息处理设备 | |
WO2017105758A1 (en) | Monitoring the operation of a processor | |
US9436495B2 (en) | Protection against interrupts in virtual machine functions | |
JP6679419B2 (ja) | メモリ保護ユニット、メモリ管理ユニット、及びマイクロコントローラ | |
US9558364B2 (en) | Computing machine, access management method, and access management program | |
EP1901171A1 (en) | Apparatus and method for handling interrupt disabled section and page pinning apparatus and method | |
JP2019535093A (ja) | ワーキングメモリを保護する方法および装置 | |
GB2536005A (en) | Initialising control data for a device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160608 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190208 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20190214 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190222 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20190318 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190319 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190529 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200219 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200225 |
|
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: 20200311 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200318 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6679419 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |