JP5735070B2 - パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 - Google Patents
パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 Download PDFInfo
- Publication number
- JP5735070B2 JP5735070B2 JP2013199633A JP2013199633A JP5735070B2 JP 5735070 B2 JP5735070 B2 JP 5735070B2 JP 2013199633 A JP2013199633 A JP 2013199633A JP 2013199633 A JP2013199633 A JP 2013199633A JP 5735070 B2 JP5735070 B2 JP 5735070B2
- Authority
- JP
- Japan
- Prior art keywords
- partition
- address translation
- address
- memory
- assigned
- 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
- 238000013519 translation Methods 0.000 title claims description 72
- 238000005192 partition Methods 0.000 claims description 93
- 238000000638 solvent extraction Methods 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 230000010365 information processing Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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/02—Addressing or allocation; Relocation
-
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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
- 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/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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/109—Address translation 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/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/45537—Provision of facilities of other operating environments, e.g. WINE
-
- 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
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、限定ではなく例として付属の図面において図解されている。
本発明の実施形態は、パーティション分割されたシステムの仮想化機能を向上させるのに使用されうる。
本発明の実施形態の要素は、ハードウェア、ソフトウェア、ファームウェアまたはハードウェア、ソフトウェアもしくはファームウェアの任意の組み合わせで実装できる。ハードウェアという用語は一般に、電子的部品、電磁的部品、工学的部品、電気光学的部品、機械的部品、電気機械部品などといった物理的な構造を有する要素を指す。ソフトウェアという用語は一般に、論理構造、方法、手順、プログラム、ルーチン、プロセス、アルゴリズム、公式、表式(expression)などを指す。ファームウェアという用語は一般に、論理構造、方法、手順、プログラム、ルーチン、プロセス、アルゴリズム、公式または表式がハードウェア構造(たとえば、フラッシュメモリまたは読み出し専用メモリ)の中に実装または具現されたものを指す。ファームウェアの例はマイクロコード、書き込み可能制御記憶(writable control store)およびマイクロプログラムされた構造である。
(態様1)
パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信するインターフェースと;
仮想機械から出て仮想機械モニタに移ることを引き起こすことなく前記パーティション分割されたシステムにおいて前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別するパーティション分割論理と;
第一のゲスト・アドレスを前記第一のパーティション中の第一のホスト・アドレスに変換する第一のアドレス変換論理と;
第二のゲスト・アドレスを前記第二のパーティション中の第二のホスト・アドレスに変換する第二のアドレス変換論理とを有する装置。
(態様2)
前記パーティション分割論理が、前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して、前記要求を前記第一のアドレス変換論理に転送し、前記デバイスが前記第二のパーティションに割り当てられていると判別するのに応答して、前記要求を前記第二のアドレス変換論理に転送することもする、態様1記載の装置。
(態様3)
前記パーティション分割論理が、前記要求に含まれているデバイス識別子を使ってパーティション識別子を決定する探索モジュールを含んでいる、態様1記載の装置。
(態様4)
前記探索モジュールが前記デバイス識別子を、あるデータ構造中で項目をみつけるために使う、態様3記載の装置。
(態様5)
前記項目が、前記デバイスがアクセスを有するメモリ範囲を示す、態様4記載の装置。
(態様6)
前記項目がパーティション識別子を示す、態様4記載の装置。
(態様7)
前記パーティション分割論理が、前記判別の結果を保存するキャッシュを含む、態様1記載の装置。
(態様8)
前記デバイスが、前記要求に含まれているパーティション識別子に基づいて、前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別する、態様2記載の装置。
(態様9)
前記パーティション分割論理がさらに、キャッシュ項目に対応するデバイスがシステムから除去されるのに応答して前記キャッシュ項目を無効にする、態様7記載の装置。
(態様10)
インターフェースによって、パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信する段階と;
パーティション分割論理によって、仮想機械から出て仮想機械モニタに移ることを引き起こすことなく前記パーティション分割されたシステムにおいて前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別する段階と;
前記パーティション分割論理によって、前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して、前記要求を第一のアドレス変換論理に転送する段階と、
前記パーティション分割論理によって、前記デバイスが前記第二のパーティションに割り当てられていると判別するのに応答して、前記要求を第二のアドレス変換論理に転送する段階とを有する方法。
(態様11)
前記パーティション分割論理に含まれる探索モジュールによって、前記要求に含まれているデバイス識別子を使ってパーティション識別子を決定する段階をさらに有する、態様10記載の方法。
(態様12)
前記探索モジュールによって、前記デバイス識別子を、あるデータ構造中で項目をみつけるために使う段階をさらに有する、態様11記載の方法。
(態様13)
前記項目が、前記デバイスがアクセスを有するメモリ範囲を示す、態様12記載の方法。
(態様14)
前記項目がパーティション識別子を示す、態様12記載の方法。
(態様15)
前記パーティション分割論理によって、前記判別の結果をキャッシュに保存する段階をさらに有する、態様10記載の方法。
(態様16)
前記パーティション分割論理によって、前記判別する段階が、前記デバイスが前記第一のパーティションに割り当てられているか前記第二のパーティションに割り当てられているかの以前の判別の結果を保存しているキャッシュ項目を読むことを含む、態様10記載の方法。
(態様17)
前記パーティション分割論理によって、前記デバイスがシステムから除去されるのに応答して、前記キャッシュ項目を無効にする段階をさらに有する、態様16記載の方法。
(態様18)
メモリの第一の部分;
第一のデバイス;および
前記メモリの第一の部分における第一のゲスト・アドレスを第一のホスト・アドレスに変換する第一のアドレス変換論理を含む第一のパーティションと;
メモリの第二の部分;
第二のデバイス;および
前記メモリの第二の部分における第二のゲスト・アドレスを第二のホスト・アドレスに変換する第二のアドレス変換論理を含む第二のパーティションと;
仮想機械から出て仮想機械モニタに移ることを引き起こすことなく前記第一のデバイスからの第一の要求を前記第一のアドレス変換論理に転送し、前記第二のデバイスからの第二の要求を前記第二のアドレス変換論理に転送するパーティション分割論理とを有するシステム。
(態様19)
前記パーティション分割論理が前記第一の要求を転送するのが、第一のデバイス識別子を使って、前記第一のデバイスが前記第一のパーティションに割り当てられていることを示す項目をデータ構造中でみつけるのに応答してである、態様18記載のシステム。
(態様20)
前記メモリが動的ランダム・アクセス・メモリである、態様18記載のシステム。
110 裸のプラットフォーム・ハードウェア
111 パーティション
112 パーティション
113 仮想化環境
114 仮想化環境
115 VMM
116 VMM
120 プロセッサ
121 コア
122 コア
130 チップセット
131 アドレス変換論理
132 アドレス変換論理
133 インターフェース
140 システム・メモリ
141 メモリ・アクセス・テーブル
141 メモリ部分
142 メモリ部分
151 デバイス
152 デバイス
153 デバイス
154 デバイス
161 VM
162 VM
163 VM
164 VM
171 ゲストOS
172 ゲストOS
173 ゲストOS
174 ゲストOS
181 ゲスト・アプリケーション
182 ゲスト・アプリケーション
183 ゲスト・アプリケーション
184 ゲスト・アプリケーション
185 デバイス・ドライバ
186 デバイス・ドライバ
187 デバイス・ドライバ
188 デバイス・ドライバ
190 パーティション分割論理
231 レジスタ・セット
232 再マッピング構造
233 論理回路
240 ドメイン
241 デバイス・ドライバ
341 セクション
343 セクション
345 セクション
347 セクション
350 ゲスト・ビュー
351 セクション
353 セクション
400 項目
410 GPA
420 HPA
430 メモリ・アクセス・属性
510 探索モジュール
520 経路制御モジュール
530 デバイス・アクセス・マップ
540 ルックアサイド・キャッシュ
550 ルックアサイド・キャッシュ・マネージャ
600 方法
610 システムのパーティション分割
620 DMA要求
622 パーティションを判別
624 キャッシュ項目を生成
630 要求をアドレス変換論理に経路制御
632 GPAをHPAに変換
634 DMA実行
640 別のDMA要求
642 キャッシュ項目を読む
644 要求をアドレス変換論理に経路制御
646 GPAをHPAに変換
648 DMA実行
650 デバイスを除去
652 キャッシュ項目を無効に
Claims (7)
- パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信するインターフェースと;
第一のパーティション中の第一のアドレス変換ハードウェアであって、ゲスト・アドレスを前記第一のパーティション中の第一のホスト・アドレスに変換する第一のアドレス変換ハードウェアと;
第二のパーティション中の第二のアドレス変換ハードウェアであって、前記ゲスト・アドレスを前記第二のパーティション中の第二のホスト・アドレスに変換する第二のアドレス変換ハードウェアと;
仮想機械から出て仮想機械モニタに移ることを引き起こすことなく前記デバイスが前記第一のパーティションに割り当てられているか前記第二のパーティションに割り当てられているかを判別し、前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して前記要求を前記第一のアドレス変換ハードウェアに転送し、前記デバイスが前記第二のパーティションに割り当てられていると判別するのに応答して前記要求を前記第二のアドレス変換ハードウェアに転送するパーティション分割ハードウェアとを有する装置であって、
前記パーティション分割ハードウェアが、デバイス対パーティション割り当てを決定する探索モジュールと、前記探索モジュールによる以前のデバイス対パーティション割り当てをそれぞれ記憶する複数のエントリーを含むキャッシュとを含む、
装置。 - 前記パーティション分割ハードウェアがさらに、前記探索モジュールによって使用される情報を記憶するデバイス・アクセス・マップを含む、請求項1記載の装置。
- 前記パーティション分割ハードウェアがさらに、前記探索モジュールによる決定に応答してトランザクションを前記第一のアドレス変換ハードウェアに経路制御する経路制御モジュールをさらに含む、請求項1記載の装置。
- 前記第一のアドレス変換ハードウェアが、変換を実行するためにデータ構造を参照し、前記データ構造は、メモリ・アクセス属性を記憶するメモリ・アクセス属性フィールドを含む、請求項1記載の装置。
- 前記メモリ・アクセス属性フィールドが、対応するアドレスへのDMAトランザクションが許可されるかどうかを示す値を記憶する、請求項4記載の装置。
- 前記メモリ・アクセス属性フィールドが、前記対応するアドレスへのDMAトランザクションに際してキャッシュが監視されるべきかどうかを示す第二の値を記憶する、請求項5記載の装置。
- パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信する段階と;
前記デバイスが前記パーティション分割されたシステムにおける第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別する段階と;
パーティション分割論理のキャッシュ中に記憶するキャッシュ・エントリーを生成する段階であって、各キャッシュ・エントリーはデバイスについてのデバイス識別子および判別されたパーティションに割り当てられたアドレス変換論理の識別子を含む、段階と;
前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して前記要求を前記第一のパーティションの第一のアドレス変換論理に転送する段階と;
メモリにアクセスする第二の要求を前記デバイスから受信する段階と;
前記キャッシュ中の前記キャッシュ・エントリーに基づいて前記第二の要求を前記第一のアドレス変換論理に経路制御する段階と;
前記デバイスの前記システムからの除去に応答して前記キャッシュ・エントリーを無効化する段階とを含む、
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/616,662 | 2006-12-27 | ||
US11/616,662 US7685401B2 (en) | 2006-12-27 | 2006-12-27 | Guest to host address translation for devices to access memory in a partitioned system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011176569A Division JP2012022694A (ja) | 2006-12-27 | 2011-08-12 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014017012A JP2014017012A (ja) | 2014-01-30 |
JP5735070B2 true JP5735070B2 (ja) | 2015-06-17 |
Family
ID=39048237
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007332036A Pending JP2008165789A (ja) | 2006-12-27 | 2007-12-25 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
JP2011176569A Pending JP2012022694A (ja) | 2006-12-27 | 2011-08-12 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
JP2013199633A Active JP5735070B2 (ja) | 2006-12-27 | 2013-09-26 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007332036A Pending JP2008165789A (ja) | 2006-12-27 | 2007-12-25 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
JP2011176569A Pending JP2012022694A (ja) | 2006-12-27 | 2011-08-12 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7685401B2 (ja) |
EP (1) | EP1959348B1 (ja) |
JP (3) | JP2008165789A (ja) |
KR (1) | KR100914081B1 (ja) |
CN (1) | CN101236529B (ja) |
DE (2) | DE102007062744B4 (ja) |
FR (1) | FR2910985B1 (ja) |
GB (1) | GB2445831B (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US9317309B2 (en) * | 2006-12-28 | 2016-04-19 | Hewlett-Packard Development Company, L.P. | Virtualized environment allocation system and method |
US7673113B2 (en) * | 2006-12-29 | 2010-03-02 | Intel Corporation | Method for dynamic load balancing on partitioned systems |
US20080229053A1 (en) * | 2007-03-13 | 2008-09-18 | Edoardo Campini | Expanding memory support for a processor using virtualization |
US7979869B2 (en) * | 2007-09-28 | 2011-07-12 | Oracle America, Inc. | Method and system for performing I/O operations using a hypervisor |
US20090217280A1 (en) * | 2008-02-21 | 2009-08-27 | Honeywell International Inc. | Shared-Resource Time Partitioning in a Multi-Core System |
US8442059B1 (en) | 2008-09-30 | 2013-05-14 | Gridiron Systems, Inc. | Storage proxy with virtual ports configuration |
US8838850B2 (en) * | 2008-11-17 | 2014-09-16 | Violin Memory, Inc. | Cluster control protocol |
US8417895B1 (en) * | 2008-09-30 | 2013-04-09 | Violin Memory Inc. | System for maintaining coherency during offline changes to storage media |
US8910169B2 (en) | 2008-09-30 | 2014-12-09 | Intel Corporation | Methods and systems to perform a computer task in a reduced power consumption state |
US8788758B1 (en) | 2008-11-04 | 2014-07-22 | Violin Memory Inc | Least profitability used caching scheme |
US8775741B1 (en) | 2009-01-13 | 2014-07-08 | Violin Memory Inc. | Using temporal access patterns for determining prefetch suitability |
US8443150B1 (en) | 2008-11-04 | 2013-05-14 | Violin Memory Inc. | Efficient reloading of data into cache resource |
US8285961B2 (en) * | 2008-11-13 | 2012-10-09 | Grid Iron Systems, Inc. | Dynamic performance virtualization for disk access |
US8667366B1 (en) | 2009-04-17 | 2014-03-04 | Violin Memory, Inc. | Efficient use of physical address space for data overflow and validation |
US8417871B1 (en) | 2009-04-17 | 2013-04-09 | Violin Memory Inc. | System for increasing storage media performance |
US8713252B1 (en) | 2009-05-06 | 2014-04-29 | Violin Memory, Inc. | Transactional consistency scheme |
US9069676B2 (en) | 2009-06-03 | 2015-06-30 | Violin Memory, Inc. | Mapping engine for a storage device |
US8402198B1 (en) | 2009-06-03 | 2013-03-19 | Violin Memory, Inc. | Mapping engine for a storage device |
JP5491102B2 (ja) * | 2009-08-27 | 2014-05-14 | ルネサスエレクトロニクス株式会社 | データプロセッサ |
US8402246B1 (en) | 2009-08-28 | 2013-03-19 | Violin Memory, Inc. | Alignment adjustment in a tiered storage system |
WO2011044154A1 (en) * | 2009-10-05 | 2011-04-14 | Marvell Semiconductor, Inc. | Data caching in non-volatile memory |
US8688897B2 (en) * | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
US8863117B2 (en) | 2010-07-19 | 2014-10-14 | International Business Machines Corporation | Optimizing a file system interface in a virtualized computing environment |
US9229757B2 (en) | 2010-07-19 | 2016-01-05 | International Business Machines Corporation | Optimizing a file system interface in a virtualized computing environment |
US8832384B1 (en) | 2010-07-29 | 2014-09-09 | Violin Memory, Inc. | Reassembling abstracted memory accesses for prefetching |
US8959288B1 (en) | 2010-07-29 | 2015-02-17 | Violin Memory, Inc. | Identifying invalid cache data |
US8954959B2 (en) * | 2010-09-16 | 2015-02-10 | Red Hat Israel, Ltd. | Memory overcommit by using an emulated IOMMU in a computer system without a host IOMMU |
US8972689B1 (en) | 2011-02-02 | 2015-03-03 | Violin Memory, Inc. | Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media |
US8635416B1 (en) | 2011-03-02 | 2014-01-21 | Violin Memory Inc. | Apparatus, method and system for using shadow drives for alternative drive commands |
WO2013100959A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Processor accelerator interface virtualization |
US9355032B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Supporting multiple types of guests by a hypervisor |
US9280488B2 (en) * | 2012-10-08 | 2016-03-08 | International Business Machines Corporation | Asymmetric co-existent address translation structure formats |
US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
US9740624B2 (en) * | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
US9348757B2 (en) * | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
GB2511794B (en) * | 2013-03-13 | 2020-12-02 | Advanced Risc Mach Ltd | A Protection Unit and Method for Controlling Access by Plural Processes to a Storage Unit |
WO2014174580A1 (ja) * | 2013-04-22 | 2014-10-30 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
US9411765B2 (en) * | 2013-12-20 | 2016-08-09 | Qualcomm Incorporated | Methods of using a peripheral component interconnect express (PCIE) device in a virtual environment |
US20170075816A1 (en) * | 2014-04-24 | 2017-03-16 | Hitachi, Ltd. | Storage system |
US10089238B2 (en) | 2014-07-17 | 2018-10-02 | Qualcomm Incorporated | Method and apparatus for a shared cache with dynamic partitioning |
US9612970B2 (en) | 2014-07-17 | 2017-04-04 | Qualcomm Incorporated | Method and apparatus for flexible cache partitioning by sets and ways into component caches |
US10180908B2 (en) | 2015-05-13 | 2019-01-15 | Qualcomm Incorporated | Method and apparatus for virtualized control of a shared system cache |
US11163682B2 (en) * | 2015-12-29 | 2021-11-02 | Intel Corporation | Systems, methods, and apparatuses for distributed consistency memory |
US20180203807A1 (en) * | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
CN110336563A (zh) * | 2019-05-09 | 2019-10-15 | 核芯互联(北京)科技有限公司 | 一种工作模式选择方法、装置、系统及存储介质 |
CN112667354B (zh) * | 2020-12-30 | 2022-05-06 | 上海壁仞智能科技有限公司 | 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619747B2 (ja) * | 1984-01-18 | 1994-03-16 | 株式会社日立製作所 | I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5426748A (en) * | 1992-01-03 | 1995-06-20 | International Business Machines Corporation | Guest/host extended addressing method and means with contiguous access list entries |
US6381682B2 (en) * | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
US6976083B1 (en) * | 1999-02-19 | 2005-12-13 | International Business Machines Corporation | Apparatus for providing direct data processing access using a queued direct input-output device |
US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
JP2001051900A (ja) * | 1999-08-17 | 2001-02-23 | Hitachi Ltd | 仮想計算機方式の情報処理装置及びプロセッサ |
US7003771B1 (en) * | 2000-06-08 | 2006-02-21 | International Business Machines Corporation | Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource |
JP2002132518A (ja) * | 2000-10-25 | 2002-05-10 | Fujitsu Ltd | 仮想計算機システムおよび仮想計算機間の入出力装置交換方法 |
JP4018900B2 (ja) * | 2001-11-22 | 2007-12-05 | 株式会社日立製作所 | 仮想計算機システム及びプログラム |
US20030110205A1 (en) * | 2001-12-07 | 2003-06-12 | Leith Johnson | Virtualized resources in a partitionable server |
US7124273B2 (en) * | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment |
US6834296B2 (en) * | 2002-03-01 | 2004-12-21 | International Business Machines Corporation | Apparatus and method of multicasting or broadcasting data from one partition of a partitioned computer system to a plurality of other partitions |
US7054985B2 (en) * | 2002-07-23 | 2006-05-30 | Hewlett-Packard Development Company, L.P. | Multiple hardware partitions under one input/output hub |
US6895491B2 (en) * | 2002-09-26 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching |
US20040098544A1 (en) * | 2002-11-15 | 2004-05-20 | Gaither Blaine D. | Method and apparatus for managing a memory system |
US7076634B2 (en) * | 2003-04-24 | 2006-07-11 | International Business Machines Corporation | Address translation manager and method for a logically partitioned computer system |
US7424709B2 (en) | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US7200687B2 (en) * | 2003-09-25 | 2007-04-03 | International Business Machines Coporation | Location-based non-uniform allocation of memory resources in memory mapped input/output fabric |
CN1253829C (zh) * | 2003-10-15 | 2006-04-26 | 大唐微电子技术有限公司 | 一种优化存储器逻辑分区结构的非cpu集成电路卡 |
US7467381B2 (en) * | 2003-12-16 | 2008-12-16 | Intel Corporation | Resource partitioning and direct access utilizing hardware support for virtualization |
US7426625B2 (en) * | 2004-03-31 | 2008-09-16 | International Business Machines Corporation | Data processing system and computer program product for support of system memory addresses with holes |
US7257811B2 (en) * | 2004-05-11 | 2007-08-14 | International Business Machines Corporation | System, method and program to migrate a virtual machine |
US8914606B2 (en) * | 2004-07-08 | 2014-12-16 | Hewlett-Packard Development Company, L.P. | System and method for soft partitioning a computer system |
JP4982971B2 (ja) * | 2004-09-29 | 2012-07-25 | ソニー株式会社 | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム |
US8843727B2 (en) * | 2004-09-30 | 2014-09-23 | Intel Corporation | Performance enhancement of address translation using translation tables covering large address spaces |
US7340582B2 (en) * | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
US7302547B2 (en) * | 2004-09-30 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Method and system for supporting virtual mappings for shared firmware |
US9058292B2 (en) * | 2004-12-29 | 2015-06-16 | Intel Corporation | System and method for one step address translation of graphics addresses in virtualization |
US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US7334076B2 (en) * | 2005-03-08 | 2008-02-19 | Microsoft Corporation | Method and system for a guest physical address virtualization in a virtual machine environment |
US20060288130A1 (en) | 2005-06-21 | 2006-12-21 | Rajesh Madukkarumukumana | Address window support for direct memory access translation |
US7987464B2 (en) * | 2006-07-25 | 2011-07-26 | International Business Machines Corporation | Logical partitioning and virtualization in a heterogeneous architecture |
-
2006
- 2006-12-27 US US11/616,662 patent/US7685401B2/en active Active
-
2007
- 2007-12-18 GB GB0724597A patent/GB2445831B/en active Active
- 2007-12-19 EP EP07254934.8A patent/EP1959348B1/en active Active
- 2007-12-25 JP JP2007332036A patent/JP2008165789A/ja active Pending
- 2007-12-26 KR KR1020070137832A patent/KR100914081B1/ko active IP Right Grant
- 2007-12-27 DE DE102007062744.2A patent/DE102007062744B4/de active Active
- 2007-12-27 DE DE102007063946.7A patent/DE102007063946B4/de active Active
- 2007-12-27 FR FR0760408A patent/FR2910985B1/fr not_active Expired - Fee Related
- 2007-12-27 CN CN2007103073964A patent/CN101236529B/zh active Active
-
2011
- 2011-08-12 JP JP2011176569A patent/JP2012022694A/ja active Pending
-
2013
- 2013-09-26 JP JP2013199633A patent/JP5735070B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
DE102007062744B4 (de) | 2018-09-06 |
FR2910985A1 (fr) | 2008-07-04 |
EP1959348B1 (en) | 2018-05-16 |
GB2445831A (en) | 2008-07-23 |
US20080162864A1 (en) | 2008-07-03 |
JP2012022694A (ja) | 2012-02-02 |
KR20080063125A (ko) | 2008-07-03 |
KR100914081B1 (ko) | 2009-08-27 |
JP2008165789A (ja) | 2008-07-17 |
DE102007063946B4 (de) | 2024-04-25 |
GB2445831B (en) | 2010-03-31 |
DE102007062744A1 (de) | 2008-08-14 |
EP1959348A2 (en) | 2008-08-20 |
CN101236529B (zh) | 2013-02-06 |
CN101236529A (zh) | 2008-08-06 |
US7685401B2 (en) | 2010-03-23 |
GB0724597D0 (en) | 2008-01-30 |
FR2910985B1 (fr) | 2015-09-04 |
EP1959348A3 (en) | 2009-07-22 |
JP2014017012A (ja) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5735070B2 (ja) | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 | |
JP5214611B2 (ja) | 仮想マシン環境におけるゲスト間での情報の共有 | |
US7467381B2 (en) | Resource partitioning and direct access utilizing hardware support for virtualization | |
JP4668166B2 (ja) | ゲストがメモリ変換されたデバイスにアクセスする方法及び装置 | |
US8041920B2 (en) | Partitioning memory mapped device configuration space | |
KR101179341B1 (ko) | 메모리 액세스 데이터 구조에 기초하는 직접 캐시 액세스트랜잭션의 수행 | |
US7376949B2 (en) | Resource allocation and protection in a multi-virtual environment | |
US8225071B2 (en) | Accessing multiple page tables in a computer system | |
CN109074316B (zh) | 页面错误解决方案 | |
US8473565B2 (en) | Abstracting special file interfaces to concurrently support multiple operating system levels | |
US9875132B2 (en) | Input output memory management unit based zero copy virtual machine to virtual machine communication | |
US10430221B2 (en) | Post-copy virtual machine migration with assigned devices | |
US20110264841A1 (en) | Sharing of class data among virtual machine applications running on guests in virtualized environment using memory management facility | |
US20200073691A1 (en) | Secure and efficient memory sharing for guests | |
US20070220231A1 (en) | Virtual address translation by a processor for a peripheral device | |
CN113626148A (zh) | 一种基于混合虚拟化的终端虚拟机生成系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140805 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141029 |
|
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: 20150317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150415 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5735070 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |