JP4237190B2 - 仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム - Google Patents
仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム Download PDFInfo
- Publication number
- JP4237190B2 JP4237190B2 JP2006063129A JP2006063129A JP4237190B2 JP 4237190 B2 JP4237190 B2 JP 4237190B2 JP 2006063129 A JP2006063129 A JP 2006063129A JP 2006063129 A JP2006063129 A JP 2006063129A JP 4237190 B2 JP4237190 B2 JP 4237190B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- page
- access
- physical address
- dma
- 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
-
- 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]
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
本発明の一態様では、GPA空間の過渡領域または一時領域が作成され、ゲスト物理アドレス空間の高速削除または改変を考慮に入れるためにGPA空間のどのセクションがゲスト物理アドレスをゲスト仮想アドレスにマップする追加のデータ構造を必要としているかが判断される。この特徴は、仮想マシン環境内でのパーティション間または仮想マシン間のI/Oトランザクションをサポートするのに必要なGPA空間の高速挿入および削除を行う上で有用である。一例として、仮想マシン間のDMAトランザクションのサポートは、一時GPA空間を使用することで促進される。一実施形態では、GPA空間の過渡領域または一時領域は、ゲストまたは仮想化ソフトウェアにより、GPA空間内の、ゲストマシンのオペレーティングシステムによって通常のアプリケーション操作に割り振られている空間の外に存在する空間として定義される。通常のゲストオペレーティングシステムによる使用の外というこの配置により、ゲストオペレーティングシステムまたはゲストアプリケーションがゲスト仮想マシンの通常の動作時に誤って過渡領域または一時領域を利用してしまうという問題が回避される。
図6および以下の説明は、本発明の諸実施形態を実施することができる適切なコンピューティング環境の概要を提供することを意図している。以下では汎用コンピュータについて記載されているが、これは1つの単一プロセッサの例に過ぎず、複数のプロセッサによる本発明の諸実施形態は、たとえばネットワーク/バスの相互運用性および対話を有するクライアントのような、他のコンピューティングデバイスで実施することができる。したがって、本発明の諸実施形態は、たとえば、電気器具内に配置されたオブジェクトのようなクライアントデバイスが単にネットワーク/バスへのインターフェースの役目を果たすネットワーク環境、または他のコンピューティングデバイスおよびオブジェクトなど、非常に少ない、または最小限のクライアントリソースしか関与しないネットワークホストサービス(networked hosted service)の環境内で実施することができる。本質的に、どんな場所であっても、データの記憶または検索ができさえすれば、動作に望ましい、または適した環境となる。
120 仮想化ソフトウェア
125 仮想マシン1のアプリケーション
130 オペレーティングシステム1
135 仮想マシン2のアプリケーション
140 オペレーティングシステム2
145 データベース
150 ドライバ
155 仮想ドライバ
600 コンピューティング環境
620 処理装置
621 システムバス
630 システムメモリ
634 オペレーティングシステム
635 アプリケーションプログラム
636 その他のプログラムモジュール
637 プログラムデータ
640 非リムーバブル不揮発性メモリインターフェース
644 オペレーティングシステム
645 アプリケーションプログラム
646 その他のプログラムモジュール
647 プログラムデータ
650 リムーバブル不揮発性メモリインターフェース
660 ユーザ入力インターフェース
661 マウス
662 キーボード
670 ネットワークインターフェース
671 ローカルエリアネットワーク
672 モデム
673 ワイドエリアネットワーク
680 リモートコンピュータ
685 リモートアプリケーションプログラム
690 ビデオインターフェース
691 モニタ
695 出力周辺インターフェース
696 プリンタ
697 スピーカ
Claims (11)
- ホストコンピュータからのリソースを使用して動作する仮想マシン間でページを共有する方法であって、
仮想マシン間でページを共有するために第1の仮想マシンの一時ゲスト物理アドレスレンジを割り振るステップと、
前記ホストコンピュータ上の仮想化ソフトウェアが、前記第1の仮想マシンによって利用可能なページへのアクセス要求を第2の仮想マシンから受信するステップと、
保留中のDMA(直接メモリアクセス)転送を表示するために、保留アクセスの数を示す参照カウンタをインクリメントし、かつ、前記ページに関するゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、DMA排他ベクタが前記ページへのアクセスを認めることを検証するステップと、
前記ページを前記第1の仮想マシンの前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第2の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにDMAコントローラをセットアップすることにより、前記第1の仮想マシンによって利用可能な前記ページを、前記第2の仮想マシンがアクセスできるようにするステップと、
前記第2の仮想マシンによるページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対してDMAコントローラが動作することを除外するようにDMA排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含むことを特徴とする方法。 - 前記第1の仮想マシンによって利用可能なページへのアクセス要求を第2の仮想マシンから受信するステップは、第1の仮想マシンにマップされているページをアクセスするための直接メモリアクセス(DMA)要求を第2の仮想マシンから受信するステップを含むことを特徴とする請求項1に記載の方法。
- 前記第2の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップは、DMA操作が完了したという表示をホストハードウェアから受信し、完了メッセージを前記第1の仮想マシンから前記第2の仮想マシンに送信するステップを含み、
前記第2の仮想マシンは前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項1に記載の方法。 - 前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップは、1つまたは複数のシャドウページテーブルおよび変換索引テーブルから前記ページのエントリをアンマップするステップをさらに含むことを特徴とする請求項1に記載の方法。
- 仮想マシン間でページを共有するためのコンピュータシステムであって、
複数の仮想マシンが利用可能なハードウェアリソースを有するホストコンピュータと、
前記ホストコンピュータと、前記複数の仮想マシンの任意のものとの間のインターフェースを備える仮想化ソフトウェアと、
少なくとも1つのページリソースにアクセスを有する第1の仮想マシン、および第2の仮想マシンと、
仮想マシン間でページを共有するための、前記第1の仮想マシンの一時ゲスト物理アドレスレンジと、
ホストコンピュータメモリにアクセスできるホストプロセッサと
を備え、前記ホストコンピュータメモリは、実行されたときに、
前記仮想化ソフトウェアが、前記第1の仮想マシンによって利用可能なページへのアクセス要求を第2の仮想マシンから受信するステップと、
保留中のDMA(直接メモリアクセス)転送を表示ために保留アクセスの参照カウンタをインクリメントし、かつ、前記ページについてのゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、DMA排他ベクタが前記ページへのアクセスを認めることを検証するステップと、
前記ページを前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第2の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにDMAコントローラをセットアップすることにより、前記第1の仮想マシンによって利用可能な前記ページを、前記第2の仮想マシンがアクセスできるようにするステップと、
アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対して前記DMAコントローラが動作することを除外するようにDMA排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含む方法を実行することを特徴とするシステム。 - 変換索引バッファおよびシャドウページテーブルのうちの少なくとも1つをさらに備え、
前記変換索引バッファおよび前記シャドウページテーブルのうちの前記少なくとも1つが、前記ページのマッピングを削除するステップの結果、更新されることを特徴とする請求項5に記載のシステム。 - 前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップは、1つまたは複数の前記シャドウページテーブルおよび前記変換索引バッファから前記ページのエントリをアンマップするステップをさらに含むことを特徴とする請求項6に記載のシステム。
- 前記第2の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップは、前記情報の転送が完了したという表示を前記DMAコントローラから受信し、完了メッセージを前記第1の仮想マシンから前記第2の仮想マシンに送信するステップを含み、
前記第2の仮想マシンが前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項5に記載のシステム。 - ホストコンピュータからのリソースを使用して動作する仮想マシン間でページを共有する方法を実行するためのコンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記方法は、
仮想マシン間でページを共有するために第1の仮想マシンの一時ゲスト物理アドレスレンジを割り振るステップと、
前記ホストコンピュータ上の仮想化ソフトウェアが、前記第1の仮想マシンによって利用可能なページへのアクセス要求を第2の仮想マシンから受信するステップと、
保留中のDMA(直接メモリアクセス)転送を表示ために保留アクセスの参照カウンタをインクリメントし、かつ、前記ページについてのゲスト物理アドレスからホスト物理アドレスへのマッピングが有効であり、DMA排他ベクタが前記ページへのアクセスを認めることを検証するステップであって、前記参照カウンタは前記ページに対する他のアクセスのロックアウトするように働くものであるステップと、
前記ページを前記第1の仮想マシンの前記一時ゲスト物理アドレスレンジの一部分にマップするステップと、
前記第2の仮想マシンとホスト物理アドレスのあるレンジとの間で情報を転送するようにDMAコントローラをセットアップすることにより、前記第1の仮想マシンによって利用可能な前記ページを、前記第2の仮想マシンがアクセスできるようにするステップと、
前記第2の仮想マシンによる前記ページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知するステップと、
前記参照カウンタがゼロにデクリメントされた場合に前記ページに対して前記DMAコントローラが動作することを除外するようにDMA排他ベクタを設定することにより、前記ページに対する保留アクセスの前記参照カウンタをデクリメントするステップと、
前記参照カウンタがゼロである場合に前記一時ゲスト物理アドレスレンジから前記ページのマッピングを削除するステップと
を含む方法であることを特徴とするコンピュータ可読記憶媒体。 - 第2の仮想マシンから、前記第1の仮想マシンによって利用可能なページへのアクセス要求を受信する前記ステップは、前記第1の仮想マシンにマップされている前記ページをアクセスするための直接メモリアクセス(DMA)要求を前記第2の仮想マシンから受信するステップを含むことを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
- 前記第2の仮想マシンによるページのアクセスを完了し、アクセス完了を前記仮想化ソフトウェアに通知する前記ステップは、DMA操作が完了したという表示をホストハードウェアから受信し、完了メッセージを前記第1の仮想マシンから前記第2の仮想マシンに送信するステップを含み、
前記第2の仮想マシンが前記仮想化ソフトウェアに完了したことを通知することを特徴とする請求項9に記載のコンピュータ可読記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/075,219 US7334076B2 (en) | 2005-03-08 | 2005-03-08 | Method and system for a guest physical address virtualization in a virtual machine environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006252554A JP2006252554A (ja) | 2006-09-21 |
JP2006252554A5 JP2006252554A5 (ja) | 2008-11-20 |
JP4237190B2 true JP4237190B2 (ja) | 2009-03-11 |
Family
ID=36579174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006063129A Expired - Fee Related JP4237190B2 (ja) | 2005-03-08 | 2006-03-08 | 仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム |
Country Status (13)
Country | Link |
---|---|
US (1) | US7334076B2 (ja) |
EP (1) | EP1701268B1 (ja) |
JP (1) | JP4237190B2 (ja) |
KR (1) | KR20060099404A (ja) |
CN (1) | CN100578471C (ja) |
AT (1) | ATE521036T1 (ja) |
AU (1) | AU2006200312A1 (ja) |
BR (1) | BRPI0600347A (ja) |
CA (1) | CA2535484A1 (ja) |
MX (1) | MXPA06001608A (ja) |
RU (1) | RU2393534C2 (ja) |
TW (1) | TW200634551A (ja) |
ZA (1) | ZA200601080B (ja) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2864398A1 (fr) * | 2003-12-23 | 2005-06-24 | France Telecom | Terminal de telecommunication a deux espaces d'execution |
US7299337B2 (en) * | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US7774514B2 (en) * | 2005-05-16 | 2010-08-10 | Infortrend Technology, Inc. | Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method |
US7467292B2 (en) * | 2005-05-19 | 2008-12-16 | Dell Products L.P. | Method and system for migrating information between information handling systems |
US7370137B2 (en) * | 2005-06-06 | 2008-05-06 | Intel Corporation | Inter-domain data mover for a memory-to-memory copy engine |
US20060288130A1 (en) * | 2005-06-21 | 2006-12-21 | Rajesh Madukkarumukumana | Address window support for direct memory access translation |
US8423747B2 (en) | 2008-06-30 | 2013-04-16 | Intel Corporation | Copy equivalent protection using secure page flipping for software components within an execution environment |
US7426627B2 (en) * | 2006-03-10 | 2008-09-16 | Microsoft Corporation | Selective address translation for a resource such as a hardware device |
US20070220217A1 (en) * | 2006-03-17 | 2007-09-20 | Udaya Shankara | Communication Between Virtual Machines |
US7636831B1 (en) * | 2006-03-31 | 2009-12-22 | Vmware, Inc. | Optimization of reverse mappings for immutable guest physical pages of virtual memories in a virtualized computer system |
DE102006032832A1 (de) * | 2006-07-14 | 2008-01-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Netzwerksystem und Verfahren zur Steuerung verteilter Speicher |
US7490191B2 (en) * | 2006-09-22 | 2009-02-10 | Intel Corporation | Sharing information between guests in a virtual machine environment |
US7657659B1 (en) * | 2006-11-30 | 2010-02-02 | Vmware, Inc. | Partial copying of data to transmit buffer for virtual network device |
US7685401B2 (en) * | 2006-12-27 | 2010-03-23 | Intel Corporation | Guest to host address translation for devices to access memory in a partitioned system |
JP4952308B2 (ja) | 2007-03-09 | 2012-06-13 | 日本電気株式会社 | メモリ共有システム、方法、及び、プログラム |
EP2137629A4 (en) * | 2007-03-20 | 2010-12-29 | Sanggyu Lee | MOBILE VIRTUAL MACHINE IMAGE |
US7984483B2 (en) | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
US8799620B2 (en) * | 2007-06-01 | 2014-08-05 | Intel Corporation | Linear to physical address translation with support for page attributes |
US8078827B2 (en) * | 2007-07-05 | 2011-12-13 | International Business Machines Corporation | Method and apparatus for caching of page translations for virtual machines |
WO2009034760A1 (ja) * | 2007-09-12 | 2009-03-19 | Mitsubishi Electric Corporation | 情報処理装置 |
US7890472B2 (en) | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US8117418B1 (en) * | 2007-11-16 | 2012-02-14 | Tilera Corporation | Method and system for managing virtual addresses of a plurality of processes corresponding to an application |
US9418220B1 (en) * | 2008-01-28 | 2016-08-16 | Hewlett Packard Enterprise Development Lp | Controlling access to memory using a controller that performs cryptographic functions |
US8104083B1 (en) * | 2008-03-31 | 2012-01-24 | Symantec Corporation | Virtual machine file system content protection system and method |
US8230155B2 (en) * | 2008-06-26 | 2012-07-24 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
US8151032B2 (en) * | 2008-06-26 | 2012-04-03 | Microsoft Corporation | Direct memory access filter for virtualized operating systems |
JP5146174B2 (ja) * | 2008-07-28 | 2013-02-20 | 富士通株式会社 | 仮想マシンモニタ装置およびプログラム,ならびに仮想マシン間メモリ共有管理方法 |
US8028113B2 (en) * | 2008-08-15 | 2011-09-27 | International Business Machines Corporation | Methods and systems for deadlock-free allocation of memory |
US9450960B1 (en) | 2008-11-05 | 2016-09-20 | Symantec Corporation | Virtual machine file system restriction system and method |
US8135937B2 (en) | 2008-11-17 | 2012-03-13 | International Business Machines Corporation | Logical partition memory |
US8301863B2 (en) * | 2008-11-17 | 2012-10-30 | International Business Machines Corporation | Recursive logical partition real memory map |
US10255463B2 (en) | 2008-11-17 | 2019-04-09 | International Business Machines Corporation | Secure computer architecture |
CN101800730B (zh) * | 2009-02-09 | 2013-02-27 | 国际商业机器公司 | 安全增强的虚拟机通信方法和虚拟机系统 |
KR101144346B1 (ko) * | 2009-02-20 | 2012-05-11 | 에스케이플래닛 주식회사 | 자바 애플리케이션 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체 |
CN101819564B (zh) | 2009-02-26 | 2013-04-17 | 国际商业机器公司 | 协助在虚拟机之间进行通信的方法和装置 |
US9535767B2 (en) | 2009-03-26 | 2017-01-03 | Microsoft Technology Licensing, Llc | Instantiating a virtual machine with a virtual non-uniform memory architecture |
US9529636B2 (en) | 2009-03-26 | 2016-12-27 | Microsoft Technology Licensing, Llc | System and method for adjusting guest memory allocation based on memory pressure in virtual NUMA nodes of a virtual machine |
US8225069B2 (en) | 2009-03-31 | 2012-07-17 | Intel Corporation | Control of on-die system fabric blocks |
JP5246014B2 (ja) * | 2009-04-22 | 2013-07-24 | 富士通株式会社 | 仮想化プログラム、仮想化処理方法及び装置 |
US8458368B2 (en) * | 2009-05-26 | 2013-06-04 | Oracle America, Inc. | System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device |
US8799879B2 (en) * | 2009-06-30 | 2014-08-05 | Oracle America, Inc. | Method and apparatus for protecting translated code in a virtual machine |
US8270405B2 (en) | 2009-06-30 | 2012-09-18 | Intel Corporation | Multicast support on a switch for PCIe endpoint devices |
US8521919B2 (en) * | 2009-06-30 | 2013-08-27 | International Business Machines Corporation | Direct memory access in a computing environment |
US9389895B2 (en) | 2009-12-17 | 2016-07-12 | Microsoft Technology Licensing, Llc | Virtual storage target offload techniques |
KR101145144B1 (ko) * | 2010-11-23 | 2012-05-14 | 한국과학기술정보연구원 | 가상머신 스케줄링 방법 및 시스템 |
US9606936B2 (en) * | 2010-12-16 | 2017-03-28 | Advanced Micro Devices, Inc. | Generalized control registers |
JP5573649B2 (ja) | 2010-12-17 | 2014-08-20 | 富士通株式会社 | 情報処理装置 |
US8755283B2 (en) | 2010-12-17 | 2014-06-17 | Microsoft Corporation | Synchronizing state among load balancer components |
US8612550B2 (en) | 2011-02-07 | 2013-12-17 | Microsoft Corporation | Proxy-based cache content distribution and affinity |
US9792136B2 (en) * | 2011-04-28 | 2017-10-17 | Microsoft Technology Licensing, Llc | Hardware assisted inter hypervisor partition data transfers |
KR101303079B1 (ko) * | 2011-05-04 | 2013-09-03 | 한국과학기술원 | 멀티-코어 기반의 가상화 환경에서 캐쉬 일관성을 제어하는 장치 및 방법 |
US8527544B1 (en) * | 2011-08-11 | 2013-09-03 | Pure Storage Inc. | Garbage collection in a storage system |
BR112014003390A2 (pt) | 2011-08-30 | 2017-02-21 | Hewlett Packard Development Co Lp | sistema de computação, método para lidar com pedidos de gerenciamento de sistema em um sistema de computação e meio lido por computador |
WO2013032495A1 (en) * | 2011-08-30 | 2013-03-07 | Hewlett-Packard Development Company , L.P. | Communication with a virtual trusted runtime bios |
US8656137B2 (en) * | 2011-09-01 | 2014-02-18 | Qualcomm Incorporated | Computer system with processor local coherency for virtualized input/output |
US9146785B2 (en) | 2011-09-14 | 2015-09-29 | Microsoft Technology Licensing, Llc | Application acceleration in a virtualized environment |
JP5922898B2 (ja) | 2011-09-15 | 2016-05-24 | キヤノン株式会社 | 情報処理装置、通信方法およびプログラム |
WO2013048943A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Active state power management (aspm) to reduce power consumption by pci express components |
US9817733B2 (en) | 2011-10-05 | 2017-11-14 | International Business Machines Corporation | Resource recovery for checkpoint-based high-availability in a virtualized environment |
IN2014DN03053A (ja) | 2011-10-21 | 2015-05-08 | Hewlett Packard Development Co | |
GB2510281B (en) | 2011-10-21 | 2020-08-12 | Hewlett Packard Development Co | Providing a function of a basic input/output system (bios) in a privileged domain |
CN103136059A (zh) * | 2011-11-24 | 2013-06-05 | 中兴通讯股份有限公司 | 一种内存区间相互隔离的程序之间的通讯方法及处理单元 |
US8832411B2 (en) * | 2011-12-14 | 2014-09-09 | Microsoft Corporation | Working set swapping using a sequentially ordered swap file |
US8805990B2 (en) * | 2012-07-12 | 2014-08-12 | Microsoft Corporation | Load balancing for single-address tenants |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
US9246998B2 (en) | 2012-10-16 | 2016-01-26 | Microsoft Technology Licensing, Llc | Load balancer bypass |
US9841927B2 (en) * | 2013-09-23 | 2017-12-12 | Red Hat Israel, Ltd | Remote direct memory access with copy-on-write support |
CN104408222B (zh) * | 2014-10-13 | 2017-05-24 | 中国电子科技集团公司第十研究所 | 实时分布式仿真平台可重构方法 |
US9619401B2 (en) * | 2015-02-20 | 2017-04-11 | Wisconsin Alumni Research Foundation | Efficient memory management system for computers supporting virtual machines |
US20160246715A1 (en) * | 2015-02-23 | 2016-08-25 | Advanced Micro Devices, Inc. | Memory module with volatile and non-volatile storage arrays |
RU2681358C1 (ru) * | 2015-04-09 | 2019-03-06 | Хуавэй Текнолоджиз Ко., Лтд. | Способ и устройство для обработки ошибок на основе виртуализации сетевых функций |
GB2539435B8 (en) | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level |
GB2539433B8 (en) | 2015-06-16 | 2018-02-21 | Advanced Risc Mach Ltd | Protected exception handling |
GB2539429B (en) * | 2015-06-16 | 2017-09-06 | Advanced Risc Mach Ltd | Address translation |
GB2539428B (en) | 2015-06-16 | 2020-09-09 | Advanced Risc Mach Ltd | Data processing apparatus and method with ownership table |
US10521354B2 (en) * | 2015-06-17 | 2019-12-31 | Intel Corporation | Computing apparatus and method with persistent memory |
US10152612B2 (en) * | 2015-09-25 | 2018-12-11 | Intel Corporation | Cryptographic operations for secure page mapping in a virtual machine environment |
EP3338194B1 (en) | 2016-05-31 | 2022-12-07 | Avago Technologies International Sales Pte. Limited | Multichannel input/output virtualization |
US10241931B2 (en) * | 2016-07-29 | 2019-03-26 | Advanced Micro Devices, Inc. | Controlling access to pages in a memory in a computing device |
CN109643277B (zh) | 2016-09-26 | 2024-02-20 | 英特尔公司 | 用于中介传递和共享存储器页合并的装置和方法 |
US10180854B2 (en) * | 2016-09-28 | 2019-01-15 | Intel Corporation | Processor extensions to identify and avoid tracking conflicts between virtual machine monitor and guest virtual machine |
US11086632B2 (en) * | 2017-02-10 | 2021-08-10 | Alibaba Group Holding Limited | Method and apparatus for providing accelerated access to a memory system |
US10394585B2 (en) * | 2017-03-07 | 2019-08-27 | Microsoft Technology Licensing, Llc | Managing guest partition access to physical devices |
US10521273B2 (en) * | 2017-06-08 | 2019-12-31 | Cisco Technology, Inc. | Physical partitioning of computing resources for server virtualization |
US10733112B2 (en) * | 2017-06-16 | 2020-08-04 | Alibaba Group Holding Limited | Method and apparatus for hardware virtualization |
US10733096B2 (en) | 2017-11-22 | 2020-08-04 | Samsung Electronics Co., Ltd. | System and method for frame buffer |
US11416395B2 (en) * | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10880401B2 (en) | 2018-02-12 | 2020-12-29 | Micron Technology, Inc. | Optimization of data access and communication in memory systems |
US11321249B2 (en) | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
US10877892B2 (en) | 2018-07-11 | 2020-12-29 | Micron Technology, Inc. | Predictive paging to accelerate memory access |
CN112740180B (zh) * | 2018-08-03 | 2024-06-25 | 辉达公司 | 适用于人工智能辅助的汽车应用的虚拟机存储器的安全访问 |
US10833949B2 (en) * | 2018-11-20 | 2020-11-10 | Amazon Technologies, Inc | Extension resource groups of provider network services |
US10769076B2 (en) | 2018-11-21 | 2020-09-08 | Nvidia Corporation | Distributed address translation in a multi-node interconnect fabric |
KR20200093168A (ko) * | 2019-01-28 | 2020-08-05 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제어 방법 |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
CN110456994B (zh) * | 2019-07-19 | 2023-03-10 | 南京芯驰半导体科技有限公司 | 一种远程显示系统及方法 |
US11520530B2 (en) | 2019-09-24 | 2022-12-06 | Amazon Technologies, Inc. | Peripheral device for configuring compute instances at client-selected servers |
US11064017B2 (en) | 2019-09-24 | 2021-07-13 | Amazon Technologies, Inc. | Peripheral device enabling virtualized computing service extensions |
US11569997B1 (en) | 2020-03-09 | 2023-01-31 | Amazon Technologies, Inc. | Security mechanisms for data plane extensions of provider network services |
CN113577757B (zh) * | 2021-08-02 | 2024-05-28 | 西安万像电子科技有限公司 | 一种游戏数据的处理方法、电子设备及存储介质 |
CN113613182B (zh) * | 2021-08-10 | 2023-03-21 | 中国平安财产保险股份有限公司 | 短信发送方法、计算机设备及可读存储介质 |
CN114201444B (zh) * | 2021-12-06 | 2023-11-14 | 海飞科(南京)信息技术有限公司 | 用于存储管理的方法、介质、程序产品、系统和装置 |
CN114218153B (zh) * | 2021-12-06 | 2023-11-14 | 海飞科(南京)信息技术有限公司 | 用于存储管理的方法、介质、程序产品、系统和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742450A (en) * | 1986-01-16 | 1988-05-03 | International Business Machines Corporation | Method to share copy on write segment for mapped files |
US6075938A (en) * | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US6738977B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
GB2369694B (en) * | 2000-11-29 | 2002-10-16 | Sun Microsystems Inc | Efficient memory modification tracking |
US6789156B1 (en) * | 2001-05-22 | 2004-09-07 | Vmware, Inc. | Content-based, transparent sharing of memory units |
US7603551B2 (en) * | 2003-04-18 | 2009-10-13 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
US7181744B2 (en) * | 2002-10-24 | 2007-02-20 | International Business Machines Corporation | System and method for transferring data between virtual machines or other computer entities |
-
2005
- 2005-03-08 US US11/075,219 patent/US7334076B2/en not_active Expired - Fee Related
-
2006
- 2006-01-23 TW TW095102516A patent/TW200634551A/zh unknown
- 2006-01-24 AU AU2006200312A patent/AU2006200312A1/en not_active Abandoned
- 2006-02-07 CA CA002535484A patent/CA2535484A1/en not_active Abandoned
- 2006-02-07 ZA ZA2006/01080A patent/ZA200601080B/en unknown
- 2006-02-07 RU RU2006103559/09A patent/RU2393534C2/ru not_active IP Right Cessation
- 2006-02-08 BR BRPI0600347-8A patent/BRPI0600347A/pt not_active IP Right Cessation
- 2006-02-09 MX MXPA06001608A patent/MXPA06001608A/es active IP Right Grant
- 2006-02-10 CN CN200610003798A patent/CN100578471C/zh not_active Expired - Fee Related
- 2006-02-22 KR KR1020060017164A patent/KR20060099404A/ko not_active Application Discontinuation
- 2006-03-06 AT AT06110722T patent/ATE521036T1/de not_active IP Right Cessation
- 2006-03-06 EP EP06110722A patent/EP1701268B1/en not_active Not-in-force
- 2006-03-08 JP JP2006063129A patent/JP4237190B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BRPI0600347A (pt) | 2006-10-31 |
ZA200601080B (en) | 2008-04-30 |
CN100578471C (zh) | 2010-01-06 |
US20060206658A1 (en) | 2006-09-14 |
TW200634551A (en) | 2006-10-01 |
CN1831790A (zh) | 2006-09-13 |
JP2006252554A (ja) | 2006-09-21 |
RU2393534C2 (ru) | 2010-06-27 |
KR20060099404A (ko) | 2006-09-19 |
CA2535484A1 (en) | 2006-09-08 |
EP1701268B1 (en) | 2011-08-17 |
RU2006103559A (ru) | 2007-08-20 |
ATE521036T1 (de) | 2011-09-15 |
EP1701268A3 (en) | 2006-10-11 |
US7334076B2 (en) | 2008-02-19 |
EP1701268A2 (en) | 2006-09-13 |
MXPA06001608A (es) | 2006-09-20 |
AU2006200312A1 (en) | 2006-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4237190B2 (ja) | 仮想マシン環境内でのゲスト物理アドレスの仮想化の方法およびシステム | |
US7814287B2 (en) | Using writeable page tables for memory address translation in a hypervisor environment | |
EP3491520B1 (en) | Controlling access to pages in a memory in a computing device | |
US8661181B2 (en) | Memory protection unit in a virtual processing environment | |
US7428626B2 (en) | Method and system for a second level address translation in a virtual machine environment | |
US7490191B2 (en) | Sharing information between guests in a virtual machine environment | |
US7475183B2 (en) | Large page optimizations in a virtual machine environment | |
JP5038907B2 (ja) | 仮想マシン環境のアドレス変換をサポートするための方法と装置 | |
US7383374B2 (en) | Method and apparatus for managing virtual addresses | |
US7739466B2 (en) | Method and apparatus for supporting immutable memory | |
US20140108701A1 (en) | Memory protection unit in a virtual processing environment | |
US10169244B2 (en) | Controlling access to pages in a memory in a computing device | |
US20120036334A1 (en) | Access to shared memory segments by multiple application processes | |
US9740625B2 (en) | Selectable address translation mechanisms within a partition | |
US10365825B2 (en) | Invalidation of shared memory in a virtual environment | |
US20230029331A1 (en) | Dynamically allocatable physically addressed metadata storage | |
US20220318040A1 (en) | System and method for providing page migration | |
US20120110297A1 (en) | Secure partitioning with shared input/output |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081003 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081003 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20081003 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20081028 |
|
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: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4237190 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131226 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |