IP Library Granted Patent US 10,915,465
Granted Patent B2
US 10,915,465 · App. 16/520,298 · Granted Feb 9, 2021

Memory configured to store predefined set of domain registers for instructions being executed in computer processors

Inventor: Steven Jeffrey Wallach (Dallas, TX)
Assignee: Micron Technology, Inc.
G06F12/1458G06F12/10G06F21/53G06F2212/1052G06F2221/034
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 10,915,465
App. No.
16/520,298
Granted
Feb 9, 2021
Kind
B2
Abstract

Systems, apparatuses, and methods related to a domain register of a processor in a computer system are described. The computer system has a memory configured to at least store instructions of routines that are classified in multiple predefined, non-hierarchical domains. The processor stores in the domain register an identifier of a current domain of a routine that is being executed in the processor. The processor is configured to perform security operations based on the content of the domain register and the security settings specified respectively for the predefined, non-hierarchical domains.

Claims (33)

1. A computer system, comprising:

a memory configured to at least store instructions of routines of a predefined set of domains;

a processor coupled with the memory, the processor comprising a domain register configured to store an identifier of a current domain of a routine that is being executed in the processor; and

a memory management unit coupled between the processor and the memory, wherein the memory management unit is configured to manage a page table containing a page table entry that includes a security configuration for a memory region that is identified by the page table entry;

wherein the memory management unit is configured to map a virtual memory address to a physical memory address using the page table entry during an execution of an instruction of the routine.

2. The computer system of claim 1 , wherein the processor is further configured to apply security measures in execution of an instruction of the routine based at least on the current domain identified by the domain register.

3. The computer system of claim 2 , wherein the security measures include controlling access to the memory region based on a permission specified for the current domain and a type of memory access.

4. The computer system of claim 3 , wherein the type of memory access includes at least one of reading data from the memory region, writing data into the memory region, or loading an instruction from the memory region for execution in the processor, or any combination thereof.

5. The computer system of claim 2 , wherein the processor further comprises a privileged register; and the security measures include controlling access to the privileged register based on a permission specified for the current domain.

6. The computer system of claim 2 , wherein the security measures include selectively deploying a sandboxing operation to isolate resources of a calling routine and a called routine based on a permission specified for the current domain.

7. The computer system of claim 2 , wherein the security measures are based on the security configuration specified for the current domain and for the memory region.

8. The computer system of claim 1 , wherein the processor is configured to select the security configuration for the memory region and for the current domain using the domain register.

9. The computer system of claim 1 , wherein the page table entry includes a base for a page of physical memory addresses; and the memory region corresponds to the base.

10. The computer system of claim 9 , wherein the memory management unit is configured to combine the base and an offset specified in the virtual memory address to generate the physical memory address.

11. The computer system of claim 10 , wherein the predefined set of domains comprises at least one of a domain for hypervisor, a domain for operating system, or a domain for application, or any combination thereof.

12. A method, comprising:

receiving a request to execute a first routine in a computer system having routines of a plurality of domains;

determining an execution domain of the routine;

storing an identification of the execution domain in a domain register of a processor of the computer system for a duration of the execution of the routine in the processor; and

controlling a security operation applied to instructions executed in the processor based at least in part on the identification stored in the domain register;

wherein the security operation includes determining whether a call to a second routine stored at a virtual memory address is to be executed while isolating the first routine from the second routine.

13. The method of claim 12 , further comprising:

storing a security configuration in a page table entry;

extracting a setting bit from the security configuration in the page table entry using the domain register during translating the virtual memory address to a physical memory address; and

performing the security operation based on the setting bit.

14. The method of claim 13 , wherein the security operation includes determining whether a request to access a memory unit identified by the virtual memory address is to be allowed or rejected.

15. A computer processor, comprising:

a plurality of registers, including a domain register configured to store an identifier of a current domain of a first routine that is being executed in the processor; and

at least one execution unit configured to execute instructions;

wherein the computer processor is configured to perform a security operation based at least in part on a plurality of security settings specified for a plurality of domains respectively and the identifier of the current domain stored in the domain register; and

wherein the security operation includes determining whether a call to a second routine stored at a virtual memory address is to be executed while isolating the first routine from the second routine.

16. The computer processor of claim 15 , wherein the plurality of registers include a privileged register; and the computer processor is configured to determine whether to reject a request to access the privileged register in executing an instruction of the routine based on a setting selected by the domain register.

17. The computer processor of claim 16 , wherein the plurality of registers includes a plurality of permission registers for the plurality of domains respectively, each of the permission registers storing a permission bit for accessing the privileged register from a respective domain in the plurality of domains.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2019
From: WALLACH, STEVEN JEFFREY
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050081/0242 →
Continuity (5)
Provisional Application 62724999 · Aug 30, 2018
Provisional Application 62724896 · Aug 30, 2018
Provisional Application 62724913 · Aug 30, 2018
Provisional Application 62724929 · Aug 30, 2018
Related Publication 20200073827A1 · Mar 5, 2020
Cited By (2)
US 12,242,653 US 12,578,984