IP Library Granted Patent US 7,330,942
Granted Patent B2
US 7,330,942 · App. 11/027,553 · Granted Feb 12, 2008

Method for efficient virtualization of physical memory in a virtual-machine monitor

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,330,942
App. No.
11/027,553
Granted
Feb 12, 2008
Kind
B2
Abstract

Various embodiments of the present invention are directed to efficient provision, by a virtual-machine monitor, of a virtual, physical memory interface to guest operating systems and other programs and routines interfacing to a computer system through a virtual-machine interface. In one embodiment of the present invention, a virtual-machine monitor maintains control over a translation lookaside buffer (“TLB”), machine registers which control virtual memory translations, and a processor page table, providing each concurrently executing guest operating system with a guest-processor-page table and guest-physical memory-to-physical memory translations. In one embodiment, a virtual-machine monitor can rely on hardware virtual-address-translation mechanisms for the bulk of virtual-address translations needed during guest-operating-system execution, thus providing a guest-physical memory interface without introducing excessive overhead and inefficiency.

Claims (24)

1. A method for virtualizing physical memory and virtual-address translation by a virtual-machine monitor, the method comprising:

providing a guest-processor-page table employed by a guest operating system; and

resolving a translation-lookaside-buffer-miss fault by

first seeking a virtual-address translation in a virtual-monitor-maintained host virtual-hash-page table, and

when a virtual-address translation cannot be found in the host virtual-hash-page table,

seeking a virtual-address translation in the guest-processor-page table to find the virtual-address translation, and, if a virtual-address translation cannot be found in the guest-processor-page table, passing the translation-lookaside-buffer-miss fault to the guest operating system.

2. The method of claim 1 wherein virtual-address translations stored in the translation-lookaside-buffer and virtual-monitor-maintained virtual-hash-page table both contain host physical memory addresses.

3. The method of claim 1 wherein virtual-address translations stored in the guest-processor-page table contain guest-physical memory addresses.

4. The method of claim 1 further including, following passing of the translation-lookaside-buffer-miss fault to the guest operating system:

resolving the translation-lookaside-buffer-miss fault by the guest operating system to produce a guest-physical memory address;

inserting a virtual-address translation into the guest-processor-page table by the guest operating system that includes a guest-physical memory address; and

intercepting insertion of the virtual-address translation into the translation-lookaside buffer by the virtual-machine monitor, which replaces the guest-physical address in the virtual-address translation with a physical memory address and placing the virtual-address translation into the virtual-monitor-maintained virtual-hash-page table and the translation-lookaside-buffer.

5. Computer-readable instructions encoded in a computer-readable memory or stored on a computer-readable data-storage device that implement a method, for virtualizing physical memory and virtual-address translation by a virtual-machine monitor, by:

providing a guest-processor-page table employed by a guest operating system; and

resolving a translation-lookaside-buffer-miss fault by

first seeking a virtual-address translation in a virtual-monitor-maintained host virtual-hash-page table, and

when a virtual-address translation cannot be found in the host virtual-hash-page table,

seeking a virtual-address translation in the guest-processor-page table to find the virtual-address translation, and, if a virtual-address translation cannot be found in the guest-processor-page table, passing the translation-lookaside-buffer-miss fault to the guest operating system.

6. A virtual-machine monitor that virtualizes physical memory and virtual-address translation by:

providing a guest-processor-page table employed by a guest operating system; and

resolving a translation-lookaside-buffer-miss fault by

first seeking a virtual-address translation in a virtual-monitor-maintained host virtual-hash-page table, and

when a virtual-address translation cannot be found in the host virtual-hash-page table,

seeking a virtual-address translation in the guest-processor-page table to find the virtual-address translation, and, if a virtual-address translation cannot be found in the guest-processor-page table, passing the translation-lookaside-buffer-miss fault to the guest operating system.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 055403/0001 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2005
From: DINECHIN, CHRISTOPHE DE; KJOS, TODD; ROSS, JONATHAN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY L.P.
Reel/Frame 016558/0614 →