JP2008165789A - パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 - Google Patents
パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 Download PDFInfo
- Publication number
- JP2008165789A JP2008165789A JP2007332036A JP2007332036A JP2008165789A JP 2008165789 A JP2008165789 A JP 2008165789A JP 2007332036 A JP2007332036 A JP 2007332036A JP 2007332036 A JP2007332036 A JP 2007332036A JP 2008165789 A JP2008165789 A JP 2008165789A
- Authority
- JP
- Japan
- Prior art keywords
- partition
- memory
- address translation
- logic
- address
- 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.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 68
- 238000005192 partition Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000000638 solvent extraction Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims 5
- 230000014616 translation Effects 0.000 abstract 5
- 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
- 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
- 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
- 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
-
- 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/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
- 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/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)
Abstract
【解決手段】ある実施形態では、装置がインターフェース、パーティション分割論理、第一のアドレス変換論理および第二のアドレス変換論理を含む。インターフェースがパーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受け取る。パーティション分割論理は、前記デバイスが第一のパーティションに割り当てられているか、第二のパーティションに割り当てられているかを判別する。第一のアドレス変換論理は、第一のパーティション内の第一のゲスト・アドレスを第一のホスト・アドレスに変換する。第二のアドレス変換論理は、第二のパーティション内の第二のゲスト・アドレスを第二のホスト・アドレスに変換する。
【選択図】図1
Description
本発明は、のちに述べるようなパーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲストからホストへのアドレス変換のための装置、方法およびシステムにおいて具現されうる。本記載においては、本発明のより包括的な理解を与えるために、コンポーネントおよびシステム構成といった数多くの個別的な詳細が述べられることがあるが、当業者は、本発明がそうした個別的な詳細なしでも実施されうることを認識するであろう。さらに、いくつかのよく知られた構造、回路などは、本発明を無用にかすませるのを避けるために詳細に示しはしなかった。
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 (20)
- パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信するインターフェースと;
前記パーティション分割されたシステムにおいて前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別するパーティション分割論理と;
第一のゲスト・アドレスを前記第一のパーティション中の第一のホスト・アドレスに変換する第一のアドレス変換論理と;
第二のゲスト・アドレスを前記第二のパーティション中の第二のホスト・アドレスに変換する第二のアドレス変換論理とを有する装置。 - 前記パーティション分割論理が、前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して、前記要求を前記第一のアドレス変換論理に転送し、前記デバイスが前記第二のパーティションに割り当てられていると判別するのに応答して、前記要求を前記第二のアドレス変換論理に転送することもする、請求項1記載の装置。
- 前記パーティション分割論理が、前記要求に含まれているデバイス識別子を使ってパーティション識別子を決定する探索モジュールを含んでいる、請求項1記載の装置。
- 前記探索モジュールが前記デバイス識別子を、あるデータ構造中で項目をみつけるために使う、請求項3記載の装置。
- 前記項目が、前記デバイスがアクセスを有するメモリ範囲を示す、請求項3記載の装置。
- 前記項目がパーティション識別子を示す、請求項3記載の装置。
- 前記パーティション分割論理が、前記判別の結果を保存するキャッシュを含む、請求項1記載の装置。
- 前記デバイスが、前記要求に含まれているパーティション識別子に基づいて、前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別する、請求項2記載の装置。
- 前記パーティション分割論理が、前記第一のアドレス変換論理および前記第二のアドレス変換論理をサポートする変換サポート論理をも含む、請求項2記載の装置。
- パーティション分割されたシステムにおいてメモリにアクセスする要求をデバイスから受信する段階と;
前記パーティション分割されたシステムにおいて前記デバイスが第一のパーティションに割り当てられているか第二のパーティションに割り当てられているかを判別する段階と;
前記デバイスが前記第一のパーティションに割り当てられていると判別するのに応答して、前記要求を第一のアドレス変換論理に転送する段階と、
前記デバイスが前記第二のパーティションに割り当てられていると判別するのに応答して、前記要求を第二のアドレス変換論理に転送する段階とを有する方法。 - 前記要求に含まれているデバイス識別子を使ってパーティション識別子を決定する段階をさらに有する、請求項10記載の方法。
- 前記デバイス識別子を、あるデータ構造中で項目をみつけるために使う段階をさらに有する、請求項11記載の方法。
- 前記項目が、前記デバイスがアクセスを有するメモリ範囲を示す、請求項12記載の方法。
- 前記項目がパーティション識別子を示す、請求項12記載の方法。
- 前記判別の結果をキャッシュに保存する段階をさらに有する、請求項10記載の方法。
- 前記判別する段階が、前記デバイスが前記第一のパーティションに割り当てられているか前記第二のパーティションに割り当てられているかの以前の判別の結果を保存しているキャッシュ項目を読むことを含む、請求項10記載の方法。
- 前記デバイスがシステムから除去されるのに応答して、前記キャッシュ項目を無効にする段階をさらに有する、請求項16記載の方法。
- メモリの第一の部分;
第一のデバイス;および
前記メモリの第一の部分における第一のゲスト・アドレスを第一のホスト・アドレスに変換する第一のアドレス変換論理を含む第一のパーティションと;
メモリの第二の部分;
第二のデバイス;および
前記メモリの第二の部分における第二のゲスト・アドレスを第二のホスト・アドレスに変換する第二のアドレス変換論理を含む第二のパーティションと;
前記第一のデバイスからの第一の要求を前記第一のアドレス変換論理に転送し、前記第二のデバイスからの第二の要求を前記第二のアドレス変換論理に転送するパーティション分割論理とを有するシステム。 - 前記パーティション分割論理が前記第一の要求を転送するのが、第一のデバイス識別子を使って、前記第一のデバイスが前記第一のパーティションに割り当てられていることを示す項目をデータ構造中でみつけるのに応答してである、請求項19記載のシステム。
- 前記メモリが動的ランダム・アクセス・メモリである、請求項18記載のシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011176569A Division JP2012022694A (ja) | 2006-12-27 | 2011-08-12 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008165789A true JP2008165789A (ja) | 2008-07-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 After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011176569A Pending JP2012022694A (ja) | 2006-12-27 | 2011-08-12 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
JP2013199633A Active JP5735070B2 (ja) | 2006-12-27 | 2013-09-26 | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 |
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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048616A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
WO2014174580A1 (ja) * | 2013-04-22 | 2014-10-30 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
JP2017505941A (ja) * | 2013-12-20 | 2017-02-23 | クアルコム,インコーポレイテッド | 仮想環境においてペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)デバイスを使用する方法 |
Families Citing this family (45)
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 |
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 |
US8838850B2 (en) * | 2008-11-17 | 2014-09-16 | Violin Memory, Inc. | Cluster control protocol |
US8442059B1 (en) | 2008-09-30 | 2013-05-14 | Gridiron Systems, Inc. | Storage proxy with virtual ports configuration |
US8788758B1 (en) | 2008-11-04 | 2014-07-22 | Violin Memory Inc | Least profitability used caching scheme |
US8443150B1 (en) | 2008-11-04 | 2013-05-14 | Violin Memory Inc. | Efficient reloading of data into cache resource |
US8775741B1 (en) | 2009-01-13 | 2014-07-08 | Violin Memory Inc. | Using temporal access patterns for determining prefetch suitability |
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 |
US8402246B1 (en) | 2009-08-28 | 2013-03-19 | Violin Memory, Inc. | Alignment adjustment in a tiered storage system |
CN102576333B (zh) * | 2009-10-05 | 2016-01-13 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
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 |
US8959288B1 (en) | 2010-07-29 | 2015-02-17 | Violin Memory, Inc. | Identifying invalid cache data |
US8832384B1 (en) | 2010-07-29 | 2014-09-09 | Violin Memory, Inc. | Reassembling abstracted memory accesses for prefetching |
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 |
US20140007098A1 (en) * | 2011-12-28 | 2014-01-02 | Paul M. Stillwell, Jr. | Processor accelerator interface virtualization |
US9355032B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Supporting multiple types of guests by a hypervisor |
US9348757B2 (en) * | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
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 |
US9740624B2 (en) * | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
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 |
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 | 核芯互联(北京)科技有限公司 | 一种工作模式选择方法、装置、系统及存储介质 |
CN114840305A (zh) * | 2020-12-30 | 2022-08-02 | 上海壁仞智能科技有限公司 | 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001051900A (ja) * | 1999-08-17 | 2001-02-23 | Hitachi Ltd | 仮想計算機方式の情報処理装置及びプロセッサ |
JP2003271402A (ja) * | 2002-03-01 | 2003-09-26 | Internatl Business Mach Corp <Ibm> | 分割されたコンピュータ・システムの1つの区画から他の区画にデータを転送する装置と方法 |
JP2005327279A (ja) * | 2004-05-11 | 2005-11-24 | Internatl Business Mach Corp <Ibm> | 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム |
WO2006039177A1 (en) * | 2004-09-30 | 2006-04-13 | Intel Corporation | Fault processing for direct memory access address translation |
US20060139360A1 (en) * | 2004-12-29 | 2006-06-29 | Panesar Kiran S | System and method for one step address translation of graphics addresses in virtualization |
Family Cites Families (28)
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 |
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 |
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 |
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 |
US7302547B2 (en) * | 2004-09-30 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Method and system for supporting virtual mappings for shared firmware |
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 CN CN2007103073964A patent/CN101236529B/zh active Active
- 2007-12-27 FR FR0760408A patent/FR2910985B1/fr not_active Expired - Fee Related
- 2007-12-27 DE DE102007062744.2A patent/DE102007062744B4/de active Active
- 2007-12-27 DE DE102007063946.7A patent/DE102007063946B4/de active Active
-
2011
- 2011-08-12 JP JP2011176569A patent/JP2012022694A/ja active Pending
-
2013
- 2013-09-26 JP JP2013199633A patent/JP5735070B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001051900A (ja) * | 1999-08-17 | 2001-02-23 | Hitachi Ltd | 仮想計算機方式の情報処理装置及びプロセッサ |
JP2003271402A (ja) * | 2002-03-01 | 2003-09-26 | Internatl Business Mach Corp <Ibm> | 分割されたコンピュータ・システムの1つの区画から他の区画にデータを転送する装置と方法 |
JP2005327279A (ja) * | 2004-05-11 | 2005-11-24 | Internatl Business Mach Corp <Ibm> | 仮想計算機をマイグレーションするためのシステム、方法、およびプログラム |
WO2006039177A1 (en) * | 2004-09-30 | 2006-04-13 | Intel Corporation | Fault processing for direct memory access address translation |
US20060139360A1 (en) * | 2004-12-29 | 2006-06-29 | Panesar Kiran S | System and method for one step address translation of graphics addresses in virtualization |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011048616A (ja) * | 2009-08-27 | 2011-03-10 | Renesas Electronics Corp | データプロセッサ |
WO2014174580A1 (ja) * | 2013-04-22 | 2014-10-30 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
JP5962853B2 (ja) * | 2013-04-22 | 2016-08-03 | 富士通株式会社 | 情報処理装置、方法、及びプログラム |
US10162657B2 (en) | 2013-04-22 | 2018-12-25 | Fujitsu Limited | Device and method for address translation setting in nested virtualization environment |
JP2017505941A (ja) * | 2013-12-20 | 2017-02-23 | クアルコム,インコーポレイテッド | 仮想環境においてペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)デバイスを使用する方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1959348A3 (en) | 2009-07-22 |
GB2445831B (en) | 2010-03-31 |
KR20080063125A (ko) | 2008-07-03 |
JP5735070B2 (ja) | 2015-06-17 |
DE102007063946B4 (de) | 2024-04-25 |
US7685401B2 (en) | 2010-03-23 |
JP2012022694A (ja) | 2012-02-02 |
DE102007062744A1 (de) | 2008-08-14 |
US20080162864A1 (en) | 2008-07-03 |
JP2014017012A (ja) | 2014-01-30 |
EP1959348B1 (en) | 2018-05-16 |
CN101236529A (zh) | 2008-08-06 |
FR2910985A1 (fr) | 2008-07-04 |
FR2910985B1 (fr) | 2015-09-04 |
DE102007062744B4 (de) | 2018-09-06 |
EP1959348A2 (en) | 2008-08-20 |
CN101236529B (zh) | 2013-02-06 |
GB0724597D0 (en) | 2008-01-30 |
KR100914081B1 (ko) | 2009-08-27 |
GB2445831A (en) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5735070B2 (ja) | パーティション分割されたシステムにおいて、デバイスがメモリにアクセスするための、ゲスト・アドレスからホスト・アドレスへの変換 | |
US7490191B2 (en) | Sharing information between guests in a virtual machine environment | |
US7467381B2 (en) | Resource partitioning and direct access utilizing hardware support for virtualization | |
US8041920B2 (en) | Partitioning memory mapped device configuration space | |
JP4668166B2 (ja) | ゲストがメモリ変換されたデバイスにアクセスする方法及び装置 | |
KR101179341B1 (ko) | 메모리 액세스 데이터 구조에 기초하는 직접 캐시 액세스트랜잭션의 수행 | |
US7278030B1 (en) | Virtualization system for computers having multiple protection mechanisms | |
US8225071B2 (en) | Accessing multiple page tables in a computer system | |
CN109074316B (zh) | 页面错误解决方案 | |
US8560806B2 (en) | Using a multiple stage memory address translation structure to manage protected micro-contexts | |
US8473565B2 (en) | Abstracting special file interfaces to concurrently support multiple operating system levels | |
US7290112B2 (en) | System and method for virtualization of processor resources | |
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 | |
US20100169884A1 (en) | Injecting transactions to support the virtualization of a physical device controller | |
US20070220231A1 (en) | Virtual address translation by a processor for a peripheral device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101117 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20101214 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20101217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110114 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110412 |