KR101017451B1 - 그래픽 데이터의 메모리 어드레스 리맵핑을 위한 장치 및 방법 - Google Patents
그래픽 데이터의 메모리 어드레스 리맵핑을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR101017451B1 KR101017451B1 KR1020087030723A KR20087030723A KR101017451B1 KR 101017451 B1 KR101017451 B1 KR 101017451B1 KR 1020087030723 A KR1020087030723 A KR 1020087030723A KR 20087030723 A KR20087030723 A KR 20087030723A KR 101017451 B1 KR101017451 B1 KR 101017451B1
- Authority
- KR
- South Korea
- Prior art keywords
- graphics
- memory
- vmm
- data
- virtual machine
- Prior art date
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/1009—Address translation using page tables, e.g. page table structures
-
- 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
- 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/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/4401—Bootstrapping
-
- 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/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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/45579—I/O management, e.g. providing access to device drivers or storage
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
Abstract
Description
Claims (21)
- 그래픽 데이터의 게스트 물리적 어드레스들(guest physical addresses; GPA)을 직접 메모리 액세스(direct memory access; DMA) 요청의 호스트 물리적 어드레스들(host physical addresses; HPA)로 변환하기 위한 단일 레벨 룩업 테이블(single level lookup table)을 생성하기 위한, 가상 기계 모니터(virtual machine monitor; VMM)를 갖는 가상화된 환경 내의 메모리 컨트롤러 회로를 포함하며,상기 단일 레벨 룩업 테이블은 상기 회로에는 보여지며, 그래픽 가상 기계에는 보여지지 않는 장치.
- 제1항에 있어서,상기 단일 레벨 룩업 테이블은, 컴퓨팅 시스템의 렌더 경로에서 그래픽 데이터를 리맵핑(remapping)하기 위한 복수의 엔트리들을 포함하며, 상기 컴퓨팅 시스템은, 직접 메모리 액세스(DMA) 요청들을 상기 렌더 경로에 전송하기 위한 애플리케이션을 가상 기계 상에서 실행시키는 장치.
- 제1항에 있어서,상기 단일 레벨 룩업 테이블은, 컴퓨팅 시스템의 디스플레이 경로에서 그래픽 데이터를 리맵핑하기 위한 복수의 엔트리들을 포함하며, 상기 컴퓨팅 시스템은, 직접 메모리 액세스(DMA) 요청들을 상기 디스플레이 경로에 전송하기 위한 애플리케이션을 가상 기계 상에서 실행시키는 장치.
- 제1항에 있어서,상기 단일 레벨 룩업 테이블은 상기 회로에는 보여지며 상기 VMM에는 보여지지 않으며, 상기 단일 레벨 룩업 테이블은, 디스플레이 경로의 글로벌(global) 게스트 트랜슬레이션 테이블(guest tranlation table; GTT)의 새도우 테이블(shadow table)과, 렌더 경로의 퍼 프로세스 페이지 디스플레이(per process page display; PPPD) 트랜슬레이션 테이블의 새도우 테이블 중 하나이며, 상기 메모리 컨트롤러 회로는, 메모리 내에 상기 단일 레벨 룩업 테이블을 기입하기 위한 회로를 더 포함하는 장치.
- 제1항에 있어서,상기 회로는, 상기 단일 레벨 룩업 테이블을 생성하고 인접하는 메모리 내에 상기 단일 레벨 룩업 테이블을 저장하고 상기 단일 레벨 룩업 테이블을 이용하기 위한 그래픽 회로, 그래픽 칩 셋, 혹은 메모리 컨트롤러(memory controller; MC)를 포함하는 장치.
- 제5항에 있어서,상기 인접하는 메모리를 상기 VMM에 보고하지 않고, 상기 인접하는 메모리를 사전할당(pre-allocate)하기 위한 기본 입출력 시스템(BIOS)을 더 포함하는 장치.
- 제1항에 있어서,상기 단일 레벨 룩업 테이블은, 컴퓨팅 시스템의 부팅 동안, 혹은 상기 VMM 상의 제2 가상 기계에서 론칭되는 애플리케이션의 론칭 동안 생성되는 장치.
- 제1항에 있어서,상기 메모리 컨트롤러 회로는, 제1 메모리 어드레스 트랜슬레이션을 제2 메모리 어드레스 트랜슬레이션과 결합시킴으로써 상기 단일 레벨 룩업 테이블의 엔트리를 생성하는 회로를 더 포함하는 장치.
- 제8항에 있어서,상기 제1 메모리 어드레스 트랜슬레이션은, 상기 VMM 상의 제2 가상 기계 상에서 론칭되는 애플리케이션에 의해 전송될 제1 가상 메모리 어드레스를, 상기 VMM에 의해 이용되는 GPA로 트랜슬레이팅하기 위한 것이며, 상기 제2 메모리 어드레스 트랜슬레이션은, 상기 VMM에 의해 이용되는 상기 GPA를 상기 HPA로 트랜슬레이팅하기 위한 것인 장치.
- 제9항에 있어서,상기 제1 가상 메모리 어드레스는, 메인 메모리 내에 저장된 그래픽 데이터에 액세스하기 위해, 상기 VMM 상의 제2 가상 기계에서 론칭되는 애플리케이션에 의해 생성될 어드레스를 포함하는 장치.
- 제8항에 있어서,상기 VMM 상의 제2 가상 기계에서 론칭되는 애플리케이션에 의해 생성될 엔트리를 검출하기 위한 검출 회로를 더 포함하는 장치.
- 제11항에 있어서,상기 생성될 엔트리는, 디스플레이 경로의 글로벌 트랜슬레이션 테이블(GTT), 렌더 경로의 퍼 페이지 디렉토리(PPD) 트랜슬레이션 테이블, 및 상기 렌더 경로의 퍼 프로세스 글로벌 트랜슬레이션 테이블(per process global translation table; PPGTT) 중 하나를 생성하거나 업데이트하기 위한 엔트리를 포함하는 장치.
- 제8항에 있어서,상기 메모리 컨트롤러 회로는, 생성되는 상기 엔트리의 데이터 또는 오프셋과, GPA를 HPA로 리맵핑하기 위한 룩업 테이블로부터의 데이터 또는 오프셋을 결합시켜서 상기 단일 레벨 룩업 테이블의 엔트리를 생성하기 위한 회로를 더 포함하는 장치.
- 제1항에 있어서,상기 메모리 컨트롤러 회로는, 인접한 메모리 내에 상기 단일 레벨 룩업 테이블을 저장하기 위한 회로를 더 포함하며,상기 단일 레벨 룩업 테이블을 이용하여, 상기 VMM 상의 가상 기계에서 실행되는 애플리케이션의 그래픽 데이터의 GPA 어드레스들을 HPA 어드레스들로 변환하는 그래픽 칩 셋을 더 포함하는 장치.
- 컴퓨터 서버로서,가상 기계 모니터(VMM) 상의 제1 가상 기계에서 론칭되는 애플리케이션에 의해 생성될 엔트리를 검출하기 위한 검출 회로;상기 생성될 엔트리로부터의 데이터 또는 오프셋과, 상기 VMM에 의해 생성될 엔트리로부터의 데이터 또는 오프셋을 결합시켜, 게스트 어드레스를 호스트 어드레스로 변환하기 위한 단일 레벨 룩업 테이블의 엔트리를 생성하는 룩업 회로; 및제1 메모리 어드레스 트랜슬레이션 테이블 내의 애플리케이션에 의해 생성될 엔트리를 메인 메모리에 저장하고, 제2 메모리 어드레스 트랜슬레이션 테이블 내에 저장된 상기 VMM에 의해 생성될 엔트리를 상기 메인 메모리에 저장하고, 상기 단일 레벨 룩업 테이블의 엔트리를 상기 메인 메모리에 저장하기 위한 메모리 컨트롤러 회로를 포함하는 컴퓨터 서버.
- 제15항에 있어서,그래픽 디스플레이 엔진과 그래픽 렌더 엔진 중 하나의 DMA 요청의 게스트 어드레스를, 상기 요청을 상기 VMM에 전송하지 않고, 상기 단일 레벨 룩업 테이블을 이용하여 호스트 물리적 어드레스(HPA)로 트랜슬레이팅하기 위한 그래픽 디바이스 회로 또는 그래픽 컨트롤러 회로를 더 포함하는 컴퓨터 서버.
- 제15항에 있어서,상기 단일 레벨 룩업 테이블이 그래픽 가상 기계, 상기 VMM, 혹은 상기 제1 가상 기계에서 론칭되는 애플리케이션에 보여지지 않게 하고, 상기 단일 레벨 룩업 테이블이 개별적 그래픽 카드 및 통합된 그래픽 칩 셋 중 하나에게 보여지게 하는 메모리 컨트롤러 회로를 더 포함하는 컴퓨터 서버.
- 컴퓨팅 시스템으로서,메인 메모리에 결합된 프로세서; 및상기 프로세서 및 상기 메모리에 결합된 그래픽 가상 기계 및 가상 기계 모니터(VMM)를 갖는 가상화된 환경 내의 그래픽 칩셋 ― 상기 칩셋은, 그래픽 데이터의 게스트 물리적 어드레스들(GPA)을 직접 메모리 액세스(DMA) 요청의 호스트 물리적 어드레스들(HPA)로 변환하기 위한 단일 레벨 룩업 테이블을 생성하기 위한 메모리 컨트롤러를 포함하며, 상기 그래픽 가상 기계는 상기 메모리 컨트롤러에게는 보여지지만, 상기 VMM에게는 보여지지 않으며, 상기 단일 레벨 룩업 테이블은 상기 메모리 컨트롤러에게는 보여지며, 상기 그래픽 가상 기계 혹은 상기 VMM에게는 보여지지 않음 ―을 포함하는 컴퓨팅 시스템.
- 제18항에 있어서,상기 그래픽 칩셋은, 상기 VMM에 액세스하지 않고, 상기 VMM 상에서 실행되는 그래픽 가상 기계와 통신하기 위한 통합된 그래픽 디바이스와 개별적 그래픽 컨트롤러 중 하나인 컴퓨팅 시스템.
- 제19항에 있어서,상기 그래픽 가상 기계는 소프트웨어 애플리케이션이며, 상기 통합된 그래픽 디바이스 또는 상기 개별적 그래픽 컨트롤러는 그래픽 가상 기계 실행 동안 상기 VMM에 액세스하지 않는 컴퓨팅 시스템.
- 제20항에 있어서,상기 그래픽 가상 기계는, 가상 애플리케이션으로부터 상기 DMA 요청을 수신하며, 상기 테이블을 이용하여 GPA로부터 HPA로 트랜슬레이팅될 상기 요청을 상기 칩셋으로 전송하는 컴퓨팅 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/480,663 US7868897B2 (en) | 2006-06-30 | 2006-06-30 | Apparatus and method for memory address re-mapping of graphics data |
US11/480,663 | 2006-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090026286A KR20090026286A (ko) | 2009-03-12 |
KR101017451B1 true KR101017451B1 (ko) | 2011-02-25 |
Family
ID=38876129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087030723A KR101017451B1 (ko) | 2006-06-30 | 2007-06-22 | 그래픽 데이터의 메모리 어드레스 리맵핑을 위한 장치 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (5) | US7868897B2 (ko) |
EP (1) | EP2035936B1 (ko) |
KR (1) | KR101017451B1 (ko) |
CN (1) | CN101484883B (ko) |
AT (1) | ATE549680T1 (ko) |
WO (1) | WO2008005722A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101716715B1 (ko) | 2016-12-27 | 2017-03-15 | 주식회사 티맥스클라우드 | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 |
Families Citing this family (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006052384A1 (de) * | 2006-11-07 | 2008-05-08 | BÖGRA Technologie GmbH | Lagerschalenpaar und Verfahren zu seiner Herstellung |
US8527673B2 (en) * | 2007-05-23 | 2013-09-03 | Vmware, Inc. | Direct access to a hardware device for virtual machines of a virtualized computer system |
US8140781B2 (en) * | 2007-12-31 | 2012-03-20 | Intel Corporation | Multi-level page-walk apparatus for out-of-order memory controllers supporting virtualization technology |
US20100235386A1 (en) * | 2009-03-13 | 2010-09-16 | Cox Communications, Inc. | Multi-user file system for multi-room digital video recording |
US8806144B2 (en) | 2009-05-12 | 2014-08-12 | Stec, Inc. | Flash storage device with read cache |
US9723319B1 (en) * | 2009-06-01 | 2017-08-01 | Sony Interactive Entertainment America Llc | Differentiation for achieving buffered decoding and bufferless decoding |
US8566511B2 (en) * | 2009-07-23 | 2013-10-22 | Stec, Inc. | Solid-state storage device with multi-level addressing |
WO2011011016A1 (en) * | 2009-07-24 | 2011-01-27 | Hewlett-Packard Development Company, L.P. | Virtual-machine-based application-service provision |
US8572610B2 (en) * | 2009-12-09 | 2013-10-29 | General Electric Company | Patient monitoring system and method of safe operation with third party parameter applications |
US9558051B1 (en) | 2010-05-28 | 2017-01-31 | Bormium, Inc. | Inter-process communication router within a virtualized environment |
US9104837B1 (en) | 2012-06-18 | 2015-08-11 | Bromium, Inc. | Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files |
US9767274B2 (en) | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9116733B2 (en) | 2010-05-28 | 2015-08-25 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US8752047B2 (en) | 2010-05-28 | 2014-06-10 | Bromium, Inc. | Automated management of virtual machines to process untrusted data based on client policy information |
US10310696B1 (en) | 2010-05-28 | 2019-06-04 | Bromium, Inc. | Supporting a consistent user interface within a virtualized environment |
US9386021B1 (en) | 2011-05-25 | 2016-07-05 | Bromium, Inc. | Restricting network access to untrusted virtual machines |
US9239909B2 (en) | 2012-01-25 | 2016-01-19 | Bromium, Inc. | Approaches for protecting sensitive data within a guest operating system |
US8972980B2 (en) * | 2010-05-28 | 2015-03-03 | Bromium, Inc. | Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity |
US9148428B1 (en) | 2011-05-25 | 2015-09-29 | Bromium, Inc. | Seamless management of untrusted data using virtual machines |
US9135038B1 (en) | 2010-05-28 | 2015-09-15 | Bromium, Inc. | Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame |
US10095530B1 (en) | 2010-05-28 | 2018-10-09 | Bromium, Inc. | Transferring control of potentially malicious bit sets to secure micro-virtual machine |
US9269122B2 (en) * | 2010-10-11 | 2016-02-23 | Hewlett-Packard Development Company, L.P. | First and second software stacks and discrete and integrated graphics processing units |
US9921860B1 (en) | 2011-05-25 | 2018-03-20 | Bromium, Inc. | Isolation of applications within a virtual machine |
US10546118B1 (en) | 2011-05-25 | 2020-01-28 | Hewlett-Packard Development Company, L.P. | Using a profile to provide selective access to resources in performing file operations |
US8839245B1 (en) | 2012-06-18 | 2014-09-16 | Bromium, Inc. | Transferring files using a virtualized application |
US10846396B1 (en) | 2011-05-25 | 2020-11-24 | Hewlett-Packard Development Company, L.P. | Downloading data in a dedicated virtual machine |
WO2013009300A1 (en) * | 2011-07-12 | 2013-01-17 | Hewlett-Packard Development Company, L.P. | Tracing operations in a cloud system |
CN102999393B (zh) * | 2011-09-13 | 2016-03-02 | 联想(北京)有限公司 | 一种数据传输的方法、装置及电子设备 |
US9245108B1 (en) | 2012-03-13 | 2016-01-26 | Bromium, Inc. | Dynamic adjustment of the file format to identify untrusted files |
US11023088B2 (en) | 2012-06-18 | 2021-06-01 | Hewlett-Packard Development Company, L.P. | Composing the display of a virtualized web browser |
US9384026B1 (en) | 2012-06-18 | 2016-07-05 | Bromium, Inc. | Sharing and injecting cookies into virtual machines for retrieving requested web pages |
US9201850B1 (en) | 2012-06-18 | 2015-12-01 | Bromium, Inc. | Composing the display of a virtualized web browser |
US9727534B1 (en) | 2012-06-18 | 2017-08-08 | Bromium, Inc. | Synchronizing cookie data using a virtualized browser |
US10095662B1 (en) | 2012-06-18 | 2018-10-09 | Bromium, Inc. | Synchronizing resources of a virtualized browser |
US9734131B1 (en) | 2012-06-18 | 2017-08-15 | Bromium, Inc. | Synchronizing history data across a virtualized web browser |
TWI479422B (zh) * | 2013-01-25 | 2015-04-01 | Wistron Corp | 電腦系統及其繪圖處理方法 |
US9405642B2 (en) | 2013-01-29 | 2016-08-02 | Red Hat Israel, Ltd. | Providing virtual machine migration reliability using an intermediary storage device |
US10241814B2 (en) * | 2013-01-29 | 2019-03-26 | Red Hat Israel, Ltd. | Virtual machine memory migration by storage |
KR101821633B1 (ko) | 2013-03-14 | 2018-03-08 | 삼성전자주식회사 | 메모리 시스템 |
US9292328B2 (en) | 2013-05-24 | 2016-03-22 | Bromium, Inc. | Management of supervisor mode execution protection (SMEP) by a hypervisor |
US20150058519A1 (en) * | 2013-08-22 | 2015-02-26 | International Business Machines Corporation | Detection of hot pages for partition hibernation |
US9104600B2 (en) * | 2013-08-22 | 2015-08-11 | International Business Machines Corporation | Merging direct memory access windows |
US8719374B1 (en) | 2013-09-19 | 2014-05-06 | Farelogix, Inc. | Accessing large data stores over a communications network |
US9679143B2 (en) * | 2013-11-06 | 2017-06-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Updated IO memory management unit identity settings for DMA remapping |
US9390033B2 (en) | 2013-11-13 | 2016-07-12 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory via multiple data paths |
US9430411B2 (en) | 2013-11-13 | 2016-08-30 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory |
US9377968B2 (en) | 2013-11-13 | 2016-06-28 | Sandisk Technologies Llc | Method and system for using templates to communicate with non-volatile memory |
US10599565B2 (en) | 2013-12-24 | 2020-03-24 | Hewlett-Packard Development Company, L.P. | Hypervisor managing memory addressed above four gigabytes |
US10430614B2 (en) | 2014-01-31 | 2019-10-01 | Bromium, Inc. | Automatic initiation of execution analysis |
US10412046B2 (en) * | 2014-06-17 | 2019-09-10 | Nxp Usa, Inc. | Method of, and a device for updating a multiple-processing entity packet management system, and associated computer program product |
WO2016003646A1 (en) * | 2014-06-30 | 2016-01-07 | Unisys Corporation | Enterprise management for secure network communications over ipsec |
US9680873B1 (en) | 2014-06-30 | 2017-06-13 | Bromium, Inc. | Trusted network detection |
WO2016003434A1 (en) * | 2014-06-30 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Virtual machine device access |
US10311122B1 (en) | 2014-08-22 | 2019-06-04 | Bromium, Inc. | On-demand unprotected mode access |
US9690928B2 (en) * | 2014-10-25 | 2017-06-27 | Mcafee, Inc. | Computing platform security methods and apparatus |
GB2535823B (en) * | 2014-12-24 | 2021-08-04 | Intel Corp | Hybrid on-demand graphics translation table shadowing |
US9495303B2 (en) * | 2015-02-03 | 2016-11-15 | Intel Corporation | Fine grained address remapping for virtualization |
US10242422B2 (en) | 2015-03-26 | 2019-03-26 | Intel Corporation | Computing methods and apparatuses with graphics and system memory conflict check |
US10116519B2 (en) | 2015-03-27 | 2018-10-30 | Yodiwo Ab | Programmable distributed management system of interconnected things and applications |
WO2016205975A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Apparatus and method to improve scalability of graphics processor unit (gpu) virtualization |
KR20170020012A (ko) * | 2015-08-13 | 2017-02-22 | 삼성전자주식회사 | 콘텐츠 보안 처리 방법 및 이를 지원하는 전자 장치 |
WO2017166205A1 (en) * | 2016-03-31 | 2017-10-05 | Intel Corporation | High density virtual machine container with copy-on-dma-write |
US9798597B1 (en) | 2016-09-26 | 2017-10-24 | International Business Machines Corporation | Verifying selective purging of entries from translation look-aside buffers |
CN108255569B (zh) * | 2016-12-28 | 2021-12-31 | 华为技术有限公司 | 一种虚拟机调用定制化硬件的方法及装置 |
US10367639B2 (en) | 2016-12-29 | 2019-07-30 | Intel Corporation | Graphics processor with encrypted kernels |
US10908939B2 (en) * | 2017-01-31 | 2021-02-02 | Intel Corporation | Efficient fine grained processing of graphics workloads in a virtualized environment |
EP3355188B1 (en) | 2017-01-31 | 2021-08-25 | OpenSynergy GmbH | Instrument display on a car dashboard by checking frames of a gui by a realtime os |
CN106998365B (zh) * | 2017-04-20 | 2021-02-12 | 阔地教育科技有限公司 | 音视频处理器、智能教学装置、智能教学系统及方法 |
US10417733B2 (en) * | 2017-05-24 | 2019-09-17 | Samsung Electronics Co., Ltd. | System and method for machine learning with NVMe-of ethernet SSD chassis with embedded GPU in SSD form factor |
CN107341115B (zh) * | 2017-06-30 | 2021-07-16 | 联想(北京)有限公司 | 虚拟机内存访问方法、系统和电子设备 |
CN109509139B (zh) * | 2017-09-14 | 2023-06-27 | 龙芯中科技术股份有限公司 | 顶点数据处理方法、装置及设备 |
CN107741863A (zh) * | 2017-10-08 | 2018-02-27 | 深圳市星策网络科技有限公司 | 一种显卡的驱动方法和装置 |
US11372787B2 (en) * | 2017-12-09 | 2022-06-28 | Intel Corporation | Unified address space for multiple links |
US10706493B2 (en) * | 2017-12-29 | 2020-07-07 | Intel Corporation | Apparatus and method for display virtualization using mapping between virtual and physical display planes |
US11809888B2 (en) | 2019-04-29 | 2023-11-07 | Red Hat, Inc. | Virtual machine memory migration facilitated by persistent memory devices |
JP7238178B2 (ja) * | 2020-02-04 | 2023-03-13 | キオクシア株式会社 | メモリ装置及びメモリ装置を制御する方法 |
CN114201269B (zh) * | 2022-02-18 | 2022-08-26 | 阿里云计算有限公司 | 内存换页方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077654A (en) | 1987-12-11 | 1991-12-31 | Hitachi, Ltd. | Virtual machine system which translates virtual address from a selected virtual machine into real address of main storage |
US5088031A (en) | 1985-02-20 | 1992-02-11 | Hitachi, Ltd. | Virtual machine file control system which translates block numbers into virtual addresses then into real addresses for accessing main storage |
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 |
US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4456954A (en) | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
JP2839201B2 (ja) * | 1990-07-30 | 1998-12-16 | 株式会社日立製作所 | 仮想計算機システム |
US5426748A (en) * | 1992-01-03 | 1995-06-20 | International Business Machines Corporation | Guest/host extended addressing method and means with contiguous access list entries |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US7111145B1 (en) * | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
US7467381B2 (en) * | 2003-12-16 | 2008-12-16 | Intel Corporation | Resource partitioning and direct access utilizing hardware support for virtualization |
US8274518B2 (en) * | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
US7428626B2 (en) * | 2005-03-08 | 2008-09-23 | Microsoft Corporation | Method and system for a second level address translation in a virtual machine environment |
US7363463B2 (en) * | 2005-05-13 | 2008-04-22 | Microsoft Corporation | Method and system for caching address translations from multiple address spaces in virtual machines |
CN1313927C (zh) * | 2005-06-16 | 2007-05-02 | 北京航空航天大学 | 智能卡运行环境的控制方法 |
US7499057B2 (en) * | 2005-09-09 | 2009-03-03 | Microsoft Corporation | Address translation in an integrated graphics environment |
-
2006
- 2006-06-30 US US11/480,663 patent/US7868897B2/en active Active
-
2007
- 2007-06-22 KR KR1020087030723A patent/KR101017451B1/ko active IP Right Grant
- 2007-06-22 CN CN2007800248109A patent/CN101484883B/zh active Active
- 2007-06-22 WO PCT/US2007/071953 patent/WO2008005722A1/en active Application Filing
- 2007-06-22 AT AT07784526T patent/ATE549680T1/de active
- 2007-06-22 EP EP07784526A patent/EP2035936B1/en active Active
-
2010
- 2010-10-26 US US12/912,630 patent/US8154555B2/en active Active
-
2012
- 2012-02-09 US US13/369,720 patent/US8477145B2/en active Active
-
2013
- 2013-07-01 US US13/932,963 patent/US9223603B2/en active Active
-
2015
- 2015-12-09 US US14/963,518 patent/US9817770B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5088031A (en) | 1985-02-20 | 1992-02-11 | Hitachi, Ltd. | Virtual machine file control system which translates block numbers into virtual addresses then into real addresses for accessing main storage |
US5077654A (en) | 1987-12-11 | 1991-12-31 | Hitachi, Ltd. | Virtual machine system which translates virtual address from a selected virtual machine into real address of main storage |
US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101716715B1 (ko) | 2016-12-27 | 2017-03-15 | 주식회사 티맥스클라우드 | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US8477145B2 (en) | 2013-07-02 |
US20120139927A1 (en) | 2012-06-07 |
EP2035936A4 (en) | 2009-07-08 |
KR20090026286A (ko) | 2009-03-12 |
CN101484883B (zh) | 2013-01-30 |
US7868897B2 (en) | 2011-01-11 |
US9817770B2 (en) | 2017-11-14 |
US8154555B2 (en) | 2012-04-10 |
US20080001958A1 (en) | 2008-01-03 |
EP2035936A1 (en) | 2009-03-18 |
ATE549680T1 (de) | 2012-03-15 |
US20160147668A1 (en) | 2016-05-26 |
US20110037770A1 (en) | 2011-02-17 |
EP2035936B1 (en) | 2012-03-14 |
CN101484883A (zh) | 2009-07-15 |
US20130298124A1 (en) | 2013-11-07 |
US9223603B2 (en) | 2015-12-29 |
WO2008005722A1 (en) | 2008-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101017451B1 (ko) | 그래픽 데이터의 메모리 어드레스 리맵핑을 위한 장치 및 방법 | |
US11023385B2 (en) | System and method for one step address translation of graphics addresses in virtualization | |
US7499057B2 (en) | Address translation in an integrated graphics environment | |
CA3116380A1 (en) | Faster access of virtual machine memory backed by a host computing device's virtual memory | |
US7120778B2 (en) | Option ROM virtualization | |
US20180336158A1 (en) | Systems and methods for data transfer with coherent and non-coherent bus topologies and attached external memory | |
US8135899B1 (en) | Expansion of virtualized physical memory of virtual machine | |
CN109582435B (zh) | 用于灵活的虚拟功能队列分配的方法以及设备 | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
JP2013546111A (ja) | 仮想化によるスマートデバイスの直接的共有 | |
US20170277632A1 (en) | Virtual computer system control method and virtual computer system | |
EP2874066B1 (en) | Method in a memory management unit and a memory management unit, for managing address translations in two stages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140203 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170201 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180201 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 10 |