IP Library Granted Patent US 7,111,146
Granted Patent B1
US 7,111,146 · App. 10/607,934 · Granted Sep 19, 2006

Method and system for providing hardware support for memory protection and virtual memory address translation for a virtual machine

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,111,146
App. No.
10/607,934
Granted
Sep 19, 2006
Kind
B1
Abstract

A method for providing hardware support for memory protection and virtual memory address translation for a virtual machine. The method includes executing a host machine application within a host machine context and executing a virtual machine application within a virtual machine context. A plurality of TLB (translation look aside buffer) entries for the virtual machine context and the host machine context are stored within a TLB. Memory protection bits for the plurality of TLB entries are logically combined to enforce memory protection on the virtual machine application.

Claims (32)

1. A method for providing hardware support for memory protection and virtual memory address translation for a virtual machine, comprising:

executing a host machine application within a host machine context;

executing a virtual machine application within a virtual machine context;

storing a plurality of TLB (translation look aside buffer) entries for the virtual machine context and the host machine context within a TLB; and

using a logical AND to combine a plurality of memory protection bits, wherein at least one of the memory protection bits is a dirty bit, for the plurality of TLB entries to enforce memory protection the virtual machine application.

2. The method of claim 1 wherein at least one of the memory protection bits is a read/write bit.

3. The method of claim 1 wherein the host machine application is a host machine operating system that executes within the host machine context and the virtual machine application is a virtual machine operating system that executes within the virtual machine context.

4. The method of claim 1 wherein the TLB entries include respective context identifiers enabling the TLB entries to provide physical address translation for virtual addresses from both the host machine context and the virtual machine context.

5. The method of claim 1 further comprising:

updating the TLB with new entries when a virtual machine TLB miss occurs or a host machine TLB miss occurs.

6. A system for providing hardware support for memory protection and virtual memory address translation for a virtual machine, comprising:

a processor architecture including micro architecture code configured to execute natively on a CPU hardware unit of the processor architecture; and

an address translation cache for implementing a translation look aside buffer, with the address translation cache in conjunction with the processor architecture implementing a method comprising:

executing a host machine application within a host machine context;

executing a virtual machine application within a virtual machine context;

storing a plurality of TLB (translation look aside buffer) entries for the virtual machine context and the host machine context within a TLB; and

using a logical AND to combine a plurality of memory protection bits, wherein at least one of the memory protection bits is a dirty bit, for the plurality of TLB entries to enforce memory protection on the virtual machine application.

7. The system of claim 6 wherein at least one of the memory protection bits is a read/write bit.

8. The system of claim 6 wherein the host machine application is a host machine operating system that executes within the host machine context and the virtual machine application is a virtual machine operating system that executes within the virtual machine context.

9. The system of claim 6 wherein the TLB entries include respective context identifiers enabling the TLB entries to provide physical address translation for virtual addresses from both the host machine context and the virtual machine context.

10. The system of claim 6 further comprising:

updating the TLB with new entries when a virtual machine TLB miss occurs or a host machine TLB miss occurs.

11. A computer readable media for providing hardware support for memory protection and virtual memory address translation for a virtual machine, the media storing computer readable code which when executed by a processor causes the processor to implement a method comprising:

executing a host machine application within a host machine context;

executing a virtual machine application within a virtual machine context;

storing a plurality of TLB (translation look aside buffer) entries for the virtual machine context and the host machine context within a TLB; and

using a logical AND to combine a plurality of memory protection bits, wherein at least one of the memory protection bits is a read/write bit, for the plurality of TLB entries to enforce memory protection on the virtual machine application.

12. The computer readable media of claim 11 wherein at least one of the memory protection bits is a dirty bit.

13. The computer readable media of claim 11 wherein the host machine application is a host machine operating system that executes within the host machine context and the virtual machine application is a virtual machine operating system that executes within the virtual machine context.

14. The computer readable media of claim 11 wherein the TLB entries include respective context identifiers enabling the TLB entries to provide physical address translation for virtual addresses from both the host machine context and the virtual machine context.

15. The computer readable media of claim 11 further comprising:

updating the TLB with new entries when a virtual machine TLB miss occurs or a host machine TLB miss occurs.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2024
From: INTELLECTUAL VENTURES ASSETS 194 LLC
To: INTEGRAL WIRELESS TECHNOLOGIES LLC
Reel/Frame 068920/0104 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2024
From: INTELLECTUAL VENTURES HOLDING 81 LLC
To: INTELLECTUAL VENTURES ASSETS 194 LLC
Reel/Frame 068867/0990 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: TRANSMETA LLC
To: INTELLECTUAL VENTURE FUNDING LLC
Reel/Frame 023268/0771 →
MERGER Recorded Mar 26, 2009
From: TRANSMETA CORPORATION
To: TRANSMETA LLC
Reel/Frame 022454/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2003
From: ANVIN, H. PETER
To: TRANSMETA CORPORATION
Reel/Frame 014231/0444 →