JP6963534B2 - メモリ保護回路及びメモリ保護方法 - Google Patents
メモリ保護回路及びメモリ保護方法 Download PDFInfo
- Publication number
- JP6963534B2 JP6963534B2 JP2018100185A JP2018100185A JP6963534B2 JP 6963534 B2 JP6963534 B2 JP 6963534B2 JP 2018100185 A JP2018100185 A JP 2018100185A JP 2018100185 A JP2018100185 A JP 2018100185A JP 6963534 B2 JP6963534 B2 JP 6963534B2
- Authority
- JP
- Japan
- Prior art keywords
- stored
- storage register
- virtual machine
- memory
- virtual machines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/1016—Performance improvement
-
- 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/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Description
実施の形態1にかかるメモリ保護システムの説明をする前に、発明者らが事前検討した内容について説明する。
図1は、実施の形態1に係るメモリ保護回路が設けられたメモリ保護システムSYS1の構成例を示すブロック図である。
続いて、メモリ保護回路1の動作について説明する。本例では、仮想マシンVM1,VM2との間で共通のメモリM1を介してデータの受け渡しが行われる場合について説明する。
本実施の形態では、メモリ保護回路1が、2つの仮想マシンVM1,VM2間で共通のメモリM1を介してデータの受け渡しが行われる場合を例に説明したが、これに限られない。メモリ保護回路1は、3つ以上の仮想マシン間で共通のメモリM1を介してデータの受け渡しが行われてもよい。以下、メモリ保護回路1の変形例をメモリ保護回路1aとして簡単に説明する。
図5は、実施の形態2にかかるメモリ保護システムSYS2の構成例を示すブロック図である。メモリ保護システムSYS2は、メモリ保護システムSYS1と比較して、メモリ保護回路1の代わりにメモリ保護回路2を備える。メモリ保護回路2は、メモリ保護回路1と比較して、カウンタ21と、比較回路22と、閾値格納レジスタ117と、をさらに有する。
続いて、図6を用いて、メモリ保護回路2の動作について説明する。
図6は、メモリ保護回路2の動作を示すフローチャートである。
1 メモリ保護回路
1a メモリ保護回路
2 メモリ保護回路
11 レジスタ群
12 アクセス判定回路
14 アクセス判定回路
15 ID更新制御回路
21 カウンタ
22 比較回路
111 保護領域設定レジスタ
112 第1ID格納レジスタ
113 第2ID格納レジスタ
114 トリガ発生レジスタ
115 IDロックレジスタ
116 モード設定レジスタ
117 閾値格納レジスタ
121 アドレス比較回路
122 ID比較回路
M1 メモリ
VM1〜VMn 仮想マシン
HV1 ハイパーバイザ
Claims (10)
- ハイパーバイザによって管理される複数の仮想マシンのうち何れかの仮想マシンのID(Identification)が格納された第1ID格納レジスタと、
前記複数の仮想マシンのうち、前記第1ID格納レジスタに格納されたIDの仮想マシンに対して、メモリへのアクセスを許可するアクセス判定回路と、
前記複数の仮想マシンのうち何れかの仮想マシンのIDが格納された第2ID格納レジスタと、
前記複数の仮想マシンのうち、前記第2ID格納レジスタに格納されたIDの仮想マシンに対して、前記第1ID格納レジスタに格納されたIDの書き換えを許可するID更新制御回路と、
を備えた、メモリ保護回路。 - 前記第2ID格納レジスタには、前記複数の仮想マシンのうち2つの仮想マシンである第1及び第2仮想マシンのそれぞれのIDが格納され、
前記ID更新制御回路は、前記第1及び前記第2仮想マシンの何れかから前記第1ID格納レジスタに格納されたIDの書き換え要求があった場合、前記第1ID格納レジスタに格納されたIDを前記第1及び前記第2仮想マシンの一方のIDから他方のIDに書き換えるように構成されている、
請求項1に記載のメモリ保護回路。 - 前記第2ID格納レジスタには、前記複数の仮想マシンのうち3つ以上の仮想マシンのそれぞれのIDが格納され、
前記ID更新制御回路は、前記3つ以上の仮想マシンの何れかの仮想マシンから前記第1ID格納レジスタに格納されたIDの書き換え要求があった場合、前記第1ID格納レジスタに格納されたIDを前記3つ以上の仮想マシンの何れかの仮想マシンのIDに書き換えるように構成されている、
請求項1に記載のメモリ保護回路。 - 前記第1ID格納レジスタに格納されたIDの前記仮想マシンからアクセスがあった場合に、ロック信号をアクティブにするIDロックレジスタをさらに備え、
前記ID更新制御回路は、前記ロック信号がアクティブの場合には、前記第2ID格納レジスタに格納されたIDの前記仮想マシンから前記第1ID格納レジスタに格納されたIDの書き換え要求があった場合でも、前記第1ID格納レジスタに格納されたIDの書き換えを行わないように構成されている、
請求項1に記載のメモリ保護回路。 - 前記IDロックレジスタは、前記ロック信号がアクティブの期間中において、前記第1ID格納レジスタに格納されたIDの前記仮想マシンから前記第1ID格納レジスタに格納されたIDの書き換え要求があった場合、前記ロック信号をインアクティブにするように構成されている、
請求項4に記載のメモリ保護回路。 - 前記ロック信号がアクティブになったことに同期してカウントアップ動作を開始するカウンタと、
前記カウンタによるカウント値と、所定閾値と、を比較する比較回路と、をさらに備え、
前記比較回路から前記カウント値が前記所定閾値に達したことを示す比較結果が出力された場合、前記IDロックレジスタは、前記ロック信号を強制的にアクティブからインアクティブに切り替えるように構成されている、
請求項4に記載のメモリ保護回路。 - 前記第1ID格納レジスタに格納されたIDは、前記第2ID格納レジスタに格納されたIDの前記仮想マシンからの要求に関わらず、ハイパーバイザからの要求に応じて書き換えられる、
請求項1に記載のメモリ保護回路。 - 前記ハイパーバイザ及び前記複数の仮想マシンの処理を実現する演算処理回路と、
請求項1に記載のメモリ保護回路と、
前記メモリと、
を備えた、メモリ保護システム。 - メモリ保護回路によって制御されるメモリ保護方法であって、
ハイパーバイザによって管理される複数の仮想マシンのうち何れかの仮想マシンのID(Identification)を第1ID格納レジスタに格納し、
前記複数の仮想マシンのうち何れかの仮想マシンのIDを第2ID格納レジスタに格納し、
前記複数の仮想マシンのうち、前記第2ID格納レジスタに格納されたIDの仮想マシンに対して、前記第1ID格納レジスタに格納されたIDの書き換えを許可し、
前記複数の仮想マシンのうち、前記第1ID格納レジスタに格納されたIDの仮想マシンに対して、メモリへのアクセスを許可する、
メモリ保護方法。 - 前記第2ID格納レジスタには、前記複数の仮想マシンのうち2つの仮想マシンである第1及び第2仮想マシンのそれぞれのIDが格納され、
前記第1及び前記第2仮想マシンの何れかから前記第1ID格納レジスタに格納されたIDの書き換え要求があった場合、前記第1ID格納レジスタに格納されたIDを前記第1及び前記第2仮想マシンの一方のIDから他方のIDに書き換える、
請求項9に記載のメモリ保護方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018100185A JP6963534B2 (ja) | 2018-05-25 | 2018-05-25 | メモリ保護回路及びメモリ保護方法 |
US16/405,585 US11119948B2 (en) | 2018-05-25 | 2019-05-07 | Memory protection circuit and memory protection method |
EP19175067.8A EP3572967B1 (en) | 2018-05-25 | 2019-05-17 | Memory protection circuit and memory protection method |
CN201910434757.4A CN110532816B (zh) | 2018-05-25 | 2019-05-23 | 存储器保护电路和存储器保护方法 |
US17/400,918 US11526452B2 (en) | 2018-05-25 | 2021-08-12 | Memory protection circuit and memory protection method |
US18/055,607 US11775450B2 (en) | 2018-05-25 | 2022-11-15 | Memory protection circuit and memory protection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018100185A JP6963534B2 (ja) | 2018-05-25 | 2018-05-25 | メモリ保護回路及びメモリ保護方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019204382A JP2019204382A (ja) | 2019-11-28 |
JP6963534B2 true JP6963534B2 (ja) | 2021-11-10 |
Family
ID=66589417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018100185A Active JP6963534B2 (ja) | 2018-05-25 | 2018-05-25 | メモリ保護回路及びメモリ保護方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11119948B2 (ja) |
EP (1) | EP3572967B1 (ja) |
JP (1) | JP6963534B2 (ja) |
CN (1) | CN110532816B (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10904330B2 (en) * | 2018-07-10 | 2021-01-26 | Vmware, Inc. | Systems, methods and apparatus to manage services in distributed systems |
CN112749397A (zh) * | 2019-10-29 | 2021-05-04 | 阿里巴巴集团控股有限公司 | 一种系统和方法 |
KR20210066288A (ko) * | 2019-11-28 | 2021-06-07 | 한국전자통신연구원 | 전자 장치, 인터럽트 설정 제어 방법 및 저장 매체 |
CN116126477B (zh) * | 2023-04-04 | 2023-07-25 | 支付宝(杭州)信息技术有限公司 | 计算设备中访问tpm的方法和计算设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131729A1 (en) * | 2004-12-21 | 2010-05-27 | Koninklijke Philips Electronics N.V. | Integrated circuit with improved device security |
US20060271557A1 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database Caching and Invalidation Based on Detected Database Updates |
JP4756603B2 (ja) * | 2006-10-10 | 2011-08-24 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
WO2009001153A1 (en) * | 2007-06-28 | 2008-12-31 | Nokia Corporation | Memory protection unit in a virtual processing environment |
JP2009251967A (ja) * | 2008-04-07 | 2009-10-29 | Toyota Motor Corp | マルチコアシステム |
US8769206B2 (en) * | 2009-01-20 | 2014-07-01 | Oracle International Corporation | Methods and systems for implementing transcendent page caching |
US9529615B2 (en) * | 2010-11-24 | 2016-12-27 | International Business Machines Corporation | Virtual device emulation via hypervisor shared memory |
JP5914145B2 (ja) | 2012-05-01 | 2016-05-11 | ルネサスエレクトロニクス株式会社 | メモリ保護回路、処理装置、およびメモリ保護方法 |
CN103235760B (zh) * | 2013-01-31 | 2016-05-04 | 苏州国芯科技有限公司 | 基于CLB总线的高利用率NorFLASH存储接口芯片 |
CN105210037B (zh) * | 2013-05-10 | 2019-05-21 | 英派尔科技开发有限公司 | 存储器访问的加快 |
JP6179369B2 (ja) * | 2013-11-22 | 2017-08-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US20150277949A1 (en) * | 2014-03-27 | 2015-10-01 | Thiam Wah Loh | Securing shared interconnect for virtual machine |
US10397053B2 (en) * | 2014-08-14 | 2019-08-27 | Netapp Inc. | Methods for managing storage virtual machine configuration changes in a distributed storage system and devices thereof |
US9390028B2 (en) * | 2014-10-19 | 2016-07-12 | Strato Scale Ltd. | Coordination between memory-saving mechanisms in computers that run virtual machines |
US20160210069A1 (en) * | 2015-01-21 | 2016-07-21 | Bitdefender IPR Management Ltd. | Systems and Methods For Overriding Memory Access Permissions In A Virtual Machine |
US20170031699A1 (en) * | 2015-07-29 | 2017-02-02 | Netapp, Inc. | Multiprocessing Within a Storage Array System Executing Controller Firmware Designed for a Uniprocessor Environment |
CN106445628A (zh) * | 2015-08-11 | 2017-02-22 | 华为技术有限公司 | 一种虚拟化方法、装置和系统 |
JP6476098B2 (ja) * | 2015-09-15 | 2019-02-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
DE102016220639A1 (de) * | 2016-10-20 | 2018-04-26 | Infineon Technologies Ag | Speicherschutzeinheit und Verfahren zum Schützen eines Speicheradressraumes |
US10733003B2 (en) * | 2016-11-03 | 2020-08-04 | Salesforce.Com, Inc. | Cost efficient and on-demand pool of running instances in a virtual machine environment |
US10243746B2 (en) * | 2017-02-27 | 2019-03-26 | Red Hat, Inc. | Systems and methods for providing I/O state protections in a virtualized environment |
US10554663B2 (en) * | 2017-03-23 | 2020-02-04 | Ca, Inc. | Self-destructing smart data container |
-
2018
- 2018-05-25 JP JP2018100185A patent/JP6963534B2/ja active Active
-
2019
- 2019-05-07 US US16/405,585 patent/US11119948B2/en active Active
- 2019-05-17 EP EP19175067.8A patent/EP3572967B1/en active Active
- 2019-05-23 CN CN201910434757.4A patent/CN110532816B/zh active Active
-
2021
- 2021-08-12 US US17/400,918 patent/US11526452B2/en active Active
-
2022
- 2022-11-15 US US18/055,607 patent/US11775450B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11775450B2 (en) | 2023-10-03 |
CN110532816A (zh) | 2019-12-03 |
EP3572967A1 (en) | 2019-11-27 |
US11526452B2 (en) | 2022-12-13 |
US20210374075A1 (en) | 2021-12-02 |
US20230084922A1 (en) | 2023-03-16 |
US20190361818A1 (en) | 2019-11-28 |
JP2019204382A (ja) | 2019-11-28 |
EP3572967B1 (en) | 2021-08-25 |
US11119948B2 (en) | 2021-09-14 |
CN110532816B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6963534B2 (ja) | メモリ保護回路及びメモリ保護方法 | |
TWI482084B (zh) | 提供平台獨立記憶體邏輯之裝置、方法及系統 | |
JP6067449B2 (ja) | 情報処理装置、情報処理プログラム | |
KR100668000B1 (ko) | 인증된 코드 방법 및 장치 | |
JP6373888B2 (ja) | 情報処理装置及び制御方法 | |
US20150244559A1 (en) | Migration of full-disk encrypted virtualized storage between blade servers | |
US20110022832A1 (en) | Multi-operating system (os) booting apparatus, multi-os booting program, recording medium, and multi-os booting method | |
TW200825904A (en) | Virtualizing performance counters | |
US10565130B2 (en) | Technologies for a memory encryption engine for multiple processor usages | |
TW201617957A (zh) | 鑑別變數之管理技術 | |
WO2012039971A2 (en) | Platform firmware armoring technology | |
TW201447903A (zh) | 修復非依電性記憶體中受危害之系統資料之技術 | |
JP2022550697A (ja) | プログラマブルデバイスのステータスの追跡 | |
US20190205560A1 (en) | Remote provisioning and authenticated writes to secure storage devices | |
JP4724640B2 (ja) | ストレージ仮想化スイッチ | |
JP7332083B2 (ja) | マルチモード保護メモリ | |
JP6622360B2 (ja) | 情報処理装置 | |
US20150269092A1 (en) | Information processing device and shared memory management method | |
JP6462540B2 (ja) | ドライバ装置、情報処理システム、プログラムおよび方法 | |
US10628056B2 (en) | Information processing apparatus and shared memory management method | |
CN112579481B (zh) | 数据处理方法、数据处理装置和计算装置 | |
JP2019074797A (ja) | 不揮発性メモリのデータ書換方法及び半導体装置 | |
JP2018526720A (ja) | 仮想マシンの状態情報の保護 | |
JP2021149417A (ja) | 記憶装置および制御方法 | |
CN116501237A (zh) | 一种固态存储ai协处理器和固态存储系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201015 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210903 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211015 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6963534 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |