IP Library Granted Patent US 7,865,683
Granted Patent B2
US 7,865,683 · App. 12/824,074 · Granted Jan 4, 2011

Identifier associated with memory locations for managing memory accesses

Assignee: Intel Corporation
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,865,683
App. No.
12/824,074
Granted
Jan 4, 2011
Kind
B2
Abstract

Embodiments of apparatuses, articles, methods, and systems for associating identifiers with memory locations for controlling memory accesses are generally described herein. Other embodiments may be described and claimed.

Claims (49)

1. An apparatus comprising:

one or more computer processors;

a first memory coupled to the one or more computer processors;

a second memory coupled to the one or more computer processors;

a code location component, of a first execution environment, configured, responsive to execution by the one or more computer processors, to locate a first group of memory locations in a first memory having first content corresponding to a first component of a second execution environment securely partitioned from the first execution environment; and

a memory manager, of the first execution environment, coupled to the code location component and configured, responsive to execution by the one or more computer processors, to:

associate a first identifier with the first group of memory locations in the first memory to regulate access to the content from the second execution environment; and

store the first identifier in a second memory such that the first identifier is accessible from the second execution environment as read-only; wherein the second execution environment is under the control of an operating system that does not control the first execution environment.

2. The apparatus of claim 1 , wherein the identifier comprises data selected from the group consisting of access permissions, relational access data, entry point data, and stack-state data.

3. The apparatus of claim 1 , wherein:

the code location component is further configured, responsive to execution by the one or more computer processors, to locate a second group of memory locations in the first memory having second content; and

the memory manager is further configured, responsive to execution by the one or more computer processors, to:

associate a second identifier with the second group of memory locations in the first memory to regulate access to the second content from the second execution environment; and

store the second identifier in the second memory such that the second identifier is accessible from the second execution environment as read-only.

4. The apparatus of claim 1 , further comprising a system management mode component configured, responsive to execution by the one or more computer processors, to issue a system management interrupt.

5. The apparatus of claim 4 , wherein the code location component is configured, responsive to execution by the one or more computer processors, to locate the first group of memory locations based at least in part on said system management interrupt.

6. The apparatus of claim 1 , wherein the content comprises a code page and the memory manager is further configured, responsive to execution by the one or more computer processors, to:

receive a request, from the first component, to associate the first identifier with a data page; and

associate the data page with the first identifier based at least in part on an existence of another identifier associated with the data page.

7. An article comprising:

a storage medium; and

a set of instructions stored in the storage medium, which when executed by a processor of a first execution environment, cause the processor to:

locate a first group of memory locations in a first memory having first content corresponding to a first component of a second execution environment securely partitioned from the first execution environment;

associate a first identifier with the first group of memory locations in the first memory to regulate access to the first content from the second execution environment; and

store the first identifier in a second memory such that the first identifier is accessible from the second execution environment as read-only;

wherein the second execution environment is under the control of an operating system that does not control the first execution environment.

8. The article of claim 7 , wherein the set of instructions, which, when executed by the processor, further cause the processor to identify operation of the first component in the second execution environment.

9. The article of claim 7 , wherein the identifier comprises data selected from the group consisting of access permissions, relational access data, entry point data, and stack-state data.

10. The article of claim 7 , wherein the set of instructions comprise instructions, which when executed by a processor of the first execution environment, cause the processor of the first execution environment to:

locate a second group of memory locations in the first memory having second content;

associate a second identifier with the second group of memory locations in the first memory to regulate access to the second content from the second execution environment; and

store the second identifier in the second memory such that the second identifier is accessible from the second execution environment as read-only.

11. The article of claim 7 , wherein the set of instructions comprise instructions, which when executed by a processor of the first execution environment, cause the processor of the first execution environment to:

receive a request, from the first component, to associate the first identifier with a data page; and

associate the data page with the first identifier based at least in part on an existence of another identifier associated with the data page.

12. An method comprising:

locating, by a computer processor in a first execution environment, a first group of memory locations in a first memory having first content corresponding to a first component of a second execution environment securely partitioned from a first execution environment;

associating, by the computer processor in the first execution environment, a first identifier with the first group of memory locations in the first memory to regulate access to the first content from the second execution environment; and

storing, by the computer processor in the first execution environment, the first identifier in a second memory such that the first identifier is accessible from the second execution environment as read-only;

wherein the second execution environment is under the control of an operating system that does not control the first execution environment.

13. The method of claim 12 , further comprising identifying, by the computer processor, operation of the first component in the second execution environment.

14. The method of claim 12 , wherein the identifier comprises data selected from the group consisting of access permissions, relational access data, entry point data, and stack-state data.

15. The method of claim 12 , further comprising:

locating, by the computer processor in the first execution environment, a second group of memory locations in the first memory having second content;

associating, by the computer processor in the first execution environment, a second identifier with the second group of memory locations in the first memory to regulate access to the second content from the second execution environment; and

storing, by the computer processor in the first execution environment, the second identifier in the second memory such that the second identifier is accessible from the second execution environment as read-only.

16. The method of claim 12 , further comprising:

receiving, by the computer processor in the first execution environment, a request from the first component to associate the first identifier with a data page; and

associating, by the computer processor in the first execution environment, the data page with the first identifier based at least in part on an existence of another identifier associated with the data page.

Continuity (2)
Division 1132266900 · Dec 30, 2005
Related Publication 20100262739A1 · Oct 14, 2010