IP Library Granted Patent US 8,549,211
Granted Patent B2
US 8,549,211 · App. 13/714,356 · Granted Oct 1, 2013

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 8,549,211
App. No.
13/714,356
Granted
Oct 1, 2013
Kind
B2
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 (34)

1. A method comprising:

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

using a logical operation to combine a plurality of memory protection bits for the plurality of TLB entries to enforce memory protection on the virtual machine context, wherein the memory protection bits include at least one bit stored in at least one of the TLB entries and at least one bit to be stored in at least one of the TLB entries.

2. The method of claim 1 , wherein the at least one bit stored in at least one of the TLB entries is a read/write bit or a dirty bit.

3. The method of claim 1 , wherein the at least one bit to be stored in at least one of the TLB entries is a dirty bit.

4. The method of claim 1 , wherein the logical operation is a logical AND operation.

5. The method of claim 1 , further comprising:

executing a host machine application within the host machine context; and

executing a virtual machine application within the virtual machine context.

6. The method of claim 5 , wherein the using a logical operation comprises:

enforcing memory protection on the virtual machine application.

7. The method of claim 5 , wherein the host machine application comprises a host machine operating system that executes within the host machine context, and wherein the virtual machine application comprises a virtual machine operating system that executes within the virtual machine context.

8. The method of claim 1 , wherein the TLB entries include at least one context identifier to enable the TLB entries to provide physical address translation for a plurality of virtual addresses received from the host machine context and the virtual machine context.

9. A system comprising:

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

an address translation cache configured to implement a translation look aside buffer, wherein the micro architecture code comprises:

instructions to store a plurality of TLB (translation look aside buffer) entries for a virtual machine context and a host machine context, and

instructions to use a logical operation to combine a plurality of memory protection bits for the plurality of TLB entries to enforce memory protection on the virtual machine context, wherein the memory protection bits include at least one bit stored in at least one of the TLB entries and at least one bit to be stored in at least one of the TLB entries.

10. The system of claim 9 , wherein the at least one bit stored in at least one of the TLB entries is a read/write bit or a dirty bit.

11. The system of claim 9 , wherein the at least one bit to be stored in at least one of the TLB entries is a dirty bit.

12. The system of claim 9 , wherein the logical operation is a logical AND operation.

13. The system of claim 9 , wherein the TLB entries include at least one context identifier to enable the TLB entries to provide physical address translation for a plurality of virtual addresses received from the host machine context and the virtual machine context.

14. A storage device comprising computer-executable instructions stored therein, the computer-executable instructions comprising:

instructions to store a plurality of TLB (translation look aside buffer) entries for a virtual machine context and a host machine context; and

instructions to use a logical operation to combine a plurality of memory protection bits for the plurality of TLB entries to enforce memory protection on the virtual machine context, wherein the memory protection bits include at least one bit stored in at least one of the TLB entries and at least one bit to be stored in at least one of the TLB entries.

15. The storage device of claim 14 , wherein the at least one bit stored in at least one of the TLB entries is a read/write bit or a dirty bit.

16. The storage device of claim 14 , wherein the at least one bit to be stored in at least one of the TLB entries is a dirty bit.

17. The storage device of claim 14 , wherein the logical operation is a logical AND operation.

18. The storage device of claim 14 , wherein the TLB entries include at least one context identifier to enable the TLB entries to provide physical address translation for a plurality of virtual addresses received from the host machine context and the virtual machine context.

19. The storage device of claim 14 , wherein the computer-executable instructions further comprise:

instructions to execute a host machine application within the host machine context; and

instructions to execute a virtual machine application within the virtual machine context.

20. The storage device of claim 19 , wherein the instructions to use a logical operation comprise:

instructions to enforce memory protection on the virtual machine application.

Assignments (4)
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 →