JP5459006B2 - メモリ管理装置、メモリ管理方法及びメモリ管理プログラム - Google Patents
メモリ管理装置、メモリ管理方法及びメモリ管理プログラム Download PDFInfo
- Publication number
- JP5459006B2 JP5459006B2 JP2010068704A JP2010068704A JP5459006B2 JP 5459006 B2 JP5459006 B2 JP 5459006B2 JP 2010068704 A JP2010068704 A JP 2010068704A JP 2010068704 A JP2010068704 A JP 2010068704A JP 5459006 B2 JP5459006 B2 JP 5459006B2
- Authority
- JP
- Japan
- Prior art keywords
- asid
- virtual
- domain
- identification information
- real
- 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.)
- Expired - Fee Related
Links
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/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定部と、
前記重複判定部によって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を管理する重複領域管理部と、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御部と
を有することを特徴とするメモリ管理装置。
前記TLB制御部は、
前記仮想環境動作時にドメインの対応付けからドメインアクセス設定を行い、このドメインアクセス設定に基づき、他の仮想環境と重複して使用しているドメインに対してアクセス可能である場合に、TLB処理の対象としてTLBフラッシュが必要であることを保持するドメイン制御部と、
前記仮想環境の切替時にTLBフラッシュが必要であるか否かを判断するTLBフラッシュ制御部と、
例外発生時に他の仮想環境と重複して使用しているドメインに対してアクセス可能である場合にTLBフラッシュを実行すると共に、例外発生時に他の仮想環境と重複して使用しているドメインに対してアクセス可能でない場合にTLBフラッシュを遅延させる例外処理部と
を有することを特徴とする付記1記載のメモリ管理装置。
前記TLB制御部は、
前記仮想環境動作時に使用するASIDが他の仮想環境と重複している場合にはTLBフラッシュが必要であることを保持するASID制御部を有することを特徴とする付記2記載のメモリ管理装置。
前記仮想環境の仮想ASIDを新規に実ASIDに対応付ける際に、既に対応付けられているASIDの対応付けを変更することを特徴とする付記3記載のメモリ管理装置。
前記TLBフラッシュを実行すると判断したASIDの対応付けを変更するように前記ASID管理部に指示することを特徴とする付記3又は4記載のメモリ管理装置。
前記TLBフラッシュ実行時のASID及びドメインを保持し、この保持内容をTLBフラッシュの判断に使用することを特徴とする付記3〜5の何れか一つに記載のメモリ管理装置。
前記ASIDを重複使用しなくなった場合に当該ASIDを前記TLBフラッシュ制御部に通知すると共に、
前記ドメイン管理部は、
前記ドメインが使用されなくなった場合に当該ドメインを前記TLBフラッシュ制御部に通知することを特徴とする付記6記載のメモリ管理装置。
前記例外発生時に、当該例外を仮想環境に通知可能な例外に変換することを特徴とする付記2〜7の何れか一つに記載のメモリ管理装置。
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定ステップと、
前記重複判定ステップによって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を重複領域管理部に管理する管理ステップと、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御ステップと
を含むことを特徴とするメモリ管理方法。
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定手順と、
前記重複判定手順によって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を重複領域管理部に管理する管理手順と、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御手順と
を含むプログラムをコンピュータ装置に実行させることを特徴とするメモリ管理プログラム。
11 メモリ
12 MMU
13 TLB
14 CPU
21 VM
22 ハイパーバイザ
41 ASID管理部
42 ASID制御部
43 ASID変換表
44 実ASID使用表
45 ドメイン管理部
46 ドメイン制御部
47 ドメイン変換表
48 実ドメイン使用表
50 TLBフラッシュ制御部
51 例外処理部
Claims (3)
- 仮想環境において実行されるプログラムに対して割り当てられるメモリ上の領域を識別するための仮想領域識別情報と前記プログラムを実行する仮想環境に対して割り当てられるメモリ上の領域を識別する実領域識別情報とを前記仮想環境毎に対応付けて管理する領域識別情報管理部と、
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定部と、
前記重複判定部によって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を管理する重複領域管理部と、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御部と
を有することを特徴とするメモリ管理装置。 - 仮想環境において実行されるプログラムに対して割り当てられるメモリ上の領域を識別するための仮想領域識別情報と前記プログラムを実行する仮想環境に対して割り当てられるメモリ上の領域を識別する実領域識別情報とを前記仮想環境毎に対応付けて領域識別情報管理部に管理する管理ステップと、
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定ステップと、
前記重複判定ステップによって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を重複領域管理部に管理する管理ステップと、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御ステップと
を含むことを特徴とするメモリ管理方法。 - 仮想環境において実行されるプログラムに対して割り当てられるメモリ上の領域を識別するための仮想領域識別情報と前記プログラムを実行する仮想環境に対して割り当てられるメモリ上の領域を識別する実領域識別情報とを前記仮想環境毎に対応付けて領域識別情報管理部に管理する管理手順と、
前記実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを判定する重複判定手順と、
前記重複判定手順によって前記実領域識別情報が複数の仮想環境に対して重複して割り当てられている場合に、当該実領域識別情報に対応付けて、重複している旨を示す重複情報を重複領域管理部に管理する管理手順と、
実行時間が割り当てられている切替元の仮想環境から切替先の仮想環境へ切り替える際に、前記切替先の仮想環境に対して割り当てられている前記実領域識別情報を前記領域識別情報管理部から読み出し、読み出した実領域識別情報が複数の仮想環境に対して重複して割り当てられているか否かを前記重複情報を参照して判定し、この読み出した実領域識別情報の内、重複して割り当てられていると判定された実領域識別情報をTLB処理の対象とするTLB制御手順と
を含むプログラムをコンピュータ装置に実行させることを特徴とするメモリ管理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010068704A JP5459006B2 (ja) | 2010-03-24 | 2010-03-24 | メモリ管理装置、メモリ管理方法及びメモリ管理プログラム |
US12/929,943 US8954709B2 (en) | 2010-03-24 | 2011-02-25 | Memory management apparatus, memory management method and non-transitory computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010068704A JP5459006B2 (ja) | 2010-03-24 | 2010-03-24 | メモリ管理装置、メモリ管理方法及びメモリ管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011203854A JP2011203854A (ja) | 2011-10-13 |
JP5459006B2 true JP5459006B2 (ja) | 2014-04-02 |
Family
ID=44657671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010068704A Expired - Fee Related JP5459006B2 (ja) | 2010-03-24 | 2010-03-24 | メモリ管理装置、メモリ管理方法及びメモリ管理プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8954709B2 (ja) |
JP (1) | JP5459006B2 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562179B2 (en) | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
JP5541036B2 (ja) * | 2010-09-21 | 2014-07-09 | 富士通株式会社 | メモリアクセス制御プログラム、メモリアクセス制御方法、及び情報処理装置 |
US9465748B2 (en) * | 2011-12-30 | 2016-10-11 | Advanced Micro Devices, Inc. | Instruction fetch translation lookaside buffer management to support host and guest O/S translations |
JP5821723B2 (ja) * | 2012-03-15 | 2015-11-24 | 富士通株式会社 | 情報処理装置及び制御プログラム |
US9092341B2 (en) | 2012-07-10 | 2015-07-28 | International Business Machines Corporation | Methods of cache preloading on a partition or a context switch |
US10310973B2 (en) * | 2012-10-25 | 2019-06-04 | Nvidia Corporation | Efficient memory virtualization in multi-threaded processing units |
US9208102B2 (en) | 2013-01-15 | 2015-12-08 | Qualcomm Incorporated | Overlap checking for a translation lookaside buffer (TLB) |
US20140208034A1 (en) * | 2013-01-18 | 2014-07-24 | Wind River Systems, Inc. | System And Method for Efficient Paravirtualized OS Process Switching |
US9684606B2 (en) * | 2014-11-14 | 2017-06-20 | Cavium, Inc. | Translation lookaside buffer invalidation suppression |
US9697137B2 (en) | 2014-11-14 | 2017-07-04 | Cavium, Inc. | Filtering translation lookaside buffer invalidations |
JP6550308B2 (ja) * | 2015-09-14 | 2019-07-24 | 株式会社ターボデータラボラトリー | 情報処理システム及びコンピュータプログラム |
US10162764B2 (en) | 2016-07-18 | 2018-12-25 | International Business Machines Corporation | Marking page table/page status table entries to indicate memory used to back address translation structures |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10241924B2 (en) | 2016-07-18 | 2019-03-26 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation using an array of tags |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10248573B2 (en) | 2016-07-18 | 2019-04-02 | International Business Machines Corporation | Managing memory used to back address translation structures |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10169233B2 (en) * | 2017-06-05 | 2019-01-01 | International Business Machines Corporation | Translation lookaside buffer purging with concurrent cache updates |
US10915404B2 (en) * | 2018-11-02 | 2021-02-09 | Arm Limited | Persistent memory cleaning |
CN112463657B (zh) * | 2019-09-09 | 2024-06-18 | 阿里巴巴集团控股有限公司 | 一种地址转换缓存清除指令的处理方法和处理装置 |
CN112099907B (zh) * | 2020-08-26 | 2024-01-26 | 海光信息技术股份有限公司 | 一种虚拟机运行方法、装置及服务器 |
CN114064518A (zh) * | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥辨识码进行转译后备缓冲区清除的处理器和方法 |
CN114064517A (zh) | 2021-11-19 | 2022-02-18 | 上海兆芯集成电路有限公司 | 指定密钥进行高速缓存写回且无效的计算机***及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60238954A (ja) * | 1984-05-11 | 1985-11-27 | Fujitsu Ltd | テ−ブルバツフアのパ−ジ方式 |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
JPH0535597A (ja) | 1991-08-01 | 1993-02-12 | Nec Corp | 仮想空間識別子管理方式 |
DE19516949A1 (de) * | 1994-05-11 | 1996-02-15 | Gmd Gmbh | Speichervorrichtung zum Speichern von Daten |
US7089377B1 (en) * | 2002-09-06 | 2006-08-08 | Vmware, Inc. | Virtualization system for computers with a region-based memory architecture |
US7409487B1 (en) * | 2003-06-30 | 2008-08-05 | Vmware, Inc. | Virtualization system for computers that use address space indentifiers |
US7562179B2 (en) * | 2004-07-30 | 2009-07-14 | Intel Corporation | Maintaining processor resources during architectural events |
US7823151B2 (en) * | 2005-06-15 | 2010-10-26 | Intel Corporation | Method of ensuring the integrity of TLB entries after changing the translation mode of a virtualized operating system without requiring a flush of the TLB |
JP5091655B2 (ja) * | 2007-12-21 | 2012-12-05 | 株式会社日立製作所 | 計算機仮想化装置、そのプログラム、及びその方法 |
US8031634B1 (en) * | 2008-03-31 | 2011-10-04 | Emc Corporation | System and method for managing a virtual domain environment to enable root cause and impact analysis |
-
2010
- 2010-03-24 JP JP2010068704A patent/JP5459006B2/ja not_active Expired - Fee Related
-
2011
- 2011-02-25 US US12/929,943 patent/US8954709B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8954709B2 (en) | 2015-02-10 |
US20110238947A1 (en) | 2011-09-29 |
JP2011203854A (ja) | 2011-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5459006B2 (ja) | メモリ管理装置、メモリ管理方法及びメモリ管理プログラム | |
US9547600B2 (en) | Method and system for restoring consumed memory after memory consolidation | |
US9405476B2 (en) | Systems and methods for a file-level cache | |
US8555028B2 (en) | Computer-readable, non-transitory medium storing memory access control program, memory access control method, and information processing apparatus | |
US7631147B2 (en) | Efficient flushing of translation lookaside buffers in a multiprocessor environment | |
US8782639B2 (en) | Computer scheduling product and apparatus therefor | |
US8365167B2 (en) | Provisioning storage-optimized virtual machines within a virtual desktop environment | |
US8996807B2 (en) | Systems and methods for a multi-level cache | |
US9336035B2 (en) | Method and system for VM-granular I/O caching | |
US10534720B2 (en) | Application aware memory resource management | |
JP5091655B2 (ja) | 計算機仮想化装置、そのプログラム、及びその方法 | |
US10162657B2 (en) | Device and method for address translation setting in nested virtualization environment | |
KR20070100367A (ko) | 하나의 가상 머신에서 다른 가상 머신으로 메모리를동적으로 재할당하기 위한 방법, 장치 및 시스템 | |
JP2008077144A (ja) | 仮想化システム、メモリ管理方法及び制御プログラム | |
Min et al. | Vmmb: Virtual machine memory balancing for unmodified operating systems | |
WO2013023090A2 (en) | Systems and methods for a file-level cache | |
JP6198858B2 (ja) | 計算機、及び、ハイパバイザによる資源スケジューリング方法 | |
JP4862770B2 (ja) | 仮想計算機システムにおけるメモリ管理方式及びその方法、およびプログラム | |
EP4377805A1 (en) | Dynamically allocatable physically addressed metadata storage | |
Kim et al. | I/O access frequency-aware cache method on KVM/QEMU | |
US11586371B2 (en) | Prepopulating page tables for memory of workloads during live migrations | |
US20240028361A1 (en) | Virtualized cache allocation in a virtualized computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131128 |
|
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: 20131217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131230 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |