Supporting secure memory intent

US10922241B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10922241-B2
Application numberUS-201916402442-A
CountryUS
Kind codeB2
Filing dateMay 3, 2019
Priority dateJun 12, 2015
Publication dateFeb 16, 2021
Grant dateFeb 16, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A processor for supporting secure memory intent is disclosed. The processor of the disclosure includes a memory execution unit to access memory and a processor core coupled to the memory execution unit. The processor core is to receive a request to access a convertible page of the memory. In response to the request, the processor core to determine an intent for the convertible page in view of a page table entry (PTE) corresponding to the convertible page. The intent indicates whether the convertible page is to be accessed as at least one of a secure page or a non-secure page.

First claim

Opening claim text (preview).

What is claimed is: 1. A system on a chip (SoC) comprising: an interconnect; a processor coupled with the interconnect, the processor including: a shared cache; and a plurality of cores, including a first core, coupled to the shared cache, the first core including a decode unit to decode instructions, including a given instruction received from a guest virtual machine and indicating a given virtual address; at least one translation lookaside buffer (TLB) to store translations of virtual addresses to physical addresses; a page miss handler to perform a page table walk in page tables to identify a page table entry to map the given virtual address to a corresponding physical address and having a security indicator bit corresponding to the physical address, the security indicator bit to either be set to one to indicate a page of a memory at the physical address is an encrypted page, or cleared to zero to indicate the page is an unencrypted page; a plurality of memory controllers, including a first memory controller, coupled with the interconnect, the first memory controller to control access to the page of the memory; a memory encryption engine to encrypt data stored to the page, and decrypt data read from the page, if the security indicator bit is set to one; a register to indicate which bit of the page table entry is the security indicator bit, wherein the register is readable by software; a plurality of bus controller units coupled with the interconnect, the plurality of bus controller units to control access to a bus; and a system agent unit coupled with the interconnect, the system agent unit to regulate a power state of the plurality of cores. 2. The SoC of claim 1 , wherein the register is a read-only register. 3. The SoC of claim 1 , wherein which bit of the page table entry is the security indicator bit is model specific. 4. The SoC of claim 1 , wherein the register is a model specific register (MSR). 5. The SoC of claim 1 , wherein the security indicator bit is to be determined based on a combination of a bit in a guest page table and a bit in an extended page table. 6. The SoC of claim 1 , wherein the memory is to include a portion that is not allowed to be converted between being either one of an encrypted portion and an unencrypted portion. 7. The SoC of claim 1 , wherein the secure indicator bit is capable of being set to one and cleared to zero by a guest operating system of the guest virtual machine, which is to be managed by a virtual machine manager. 8. The SoC of claim 1 , wherein the memory encryption engine is not to encrypt data stored to the page, and is not to decrypt data read from the page, if the security indicator bit is cleared to zero. 9. The SoC of claim 1 , wherein the at least one TLB is to store security indicator bits corresponding to the physical addresses, the translations to be searched for a translation of the given virtual address to the physical address and the security indicator bit corresponding to the physical address. 10. The SoC of claim 1 , wherein the memory encryption engine is included in the first memory controller. 11. The SoC of claim 1 , further comprising an audio processor coupled with the interconnect. 12. The SoC of claim 1 , wherein the first core comprises a plurality of XMM registers. 13. A system comprising: a system on a chip (SoC) comprising: an interconnect; a processor coupled with the interconnect, the processor including: a shared cache; and a plurality of cores, including a first core, coupled to the shared cache, the first core including a decode unit to decode instructions, including a given instruction received from a guest virtual machine and indicating a given virtual address; at least one translation lookaside buffer (TLB) to store translations of virtual addresses to physical addresses; a page miss handler to perform a page table walk in page tables to identify a page table entry to map the given virtual address to a corresponding physical address and having a security indicator bit corresponding to the physical address, the security indicator bit to either be set to one to indicate a page of a memory at the physical address is an encrypted page, or cleared to zero to indicate the page is an unencrypted page; a plurality of memory controllers, including a first memory controller, coupled with the interconnect, the first memory controller to control access to the page of the memory; a memory encryption engine to encrypt data stored to the page, and decrypt data read from the page, if the security indicator bit is set to one; a register to indicate which bit of the page table entry is the security indicator bit, wherein the register is readable by software; a plurality of bus controller units coupled with the interconnect, the plurality of bus controller units to control access to a bus; and a system agent unit coupled with the interconnect, the system agent unit to regulate a power state of the plurality of cores; and a system memory coupled with the SoC. 14. The system of claim 13 , wherein the register is a read-only register. 15. The system of claim 13 , wherein which bit of the page table entry is the security indicator bit is model specific. 16. The system of claim 13 , wherein the register is a model specific register (MSR). 17. The system of claim 13 , wherein the security indicator bit is to be determined based on a combination of a bit in a guest page table and a bit in an extended page table. 18. The system of claim 13 , wherein the memory is to include a portion that is not allowed to be converted between being either one of an encrypted portion and an unencrypted portion, wherein the secure indicator bit is capable of being set to one and cleared to zero by a guest operating system of the guest virtual machine, which is to be managed by a virtual machine manager, and wherein the memory encryption engine is not to encrypt data stored to the page, and is not to decrypt data read from the page, if the security indicator bit is cleared to zero. 19. The system of claim 13 , wherein the system memory comprises a dynamic random access memory (DRAM). 20. A method performed by a system on a chip (SoC), the method comprising: transmitting data on an interconnect; receiving data from the interconnect at a processor; storing data in a shared cache of the processor; accessing data from the shared cache with a plurality of cores of the processor that share the shared cache; decoding instructions, including a given instruction received from a guest virtual machine and indicating a given virtual address, with a decode unit of a first core of the plurality of cores; storing translations of virtual addresses to physical addresses in at least one translation lookaside buffer (TLB) of the first core; performing a page table walk in page tables to identify a page table entry to map the given virtual address to a corresponding physical address and having a security indicator bit corresponding to the physical address, the security indicator bit to either be set to one to indicate a page of a memory at the physical address is an encrypted page, or cleared to zero to indicate the page is an unencrypted page; controlling access to the page of the memory with a memory controller; encrypting data stored to the page, and decrypting data read from the page, if the security indicator bit is set to one; reading an indication of which bit of the page table entry is the security indicator bit from a register; controlling acc

Assignees

Inventors

Classifications

  • for multiple virtual address spaces, e.g. segmentation (G06F12/1036 takes precedence) · CPC title

  • Performance improvement · CPC title

  • using page tables, e.g. page table structures · CPC title

  • Virtual address space management · CPC title

  • for a range · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10922241B2 cover?
A processor for supporting secure memory intent is disclosed. The processor of the disclosure includes a memory execution unit to access memory and a processor core coupled to the memory execution unit. The processor core is to receive a request to access a convertible page of the memory. In response to the request, the processor core to determine an intent for the convertible page in view of a…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/1009. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 16 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).