Memory management in secure enclaves

US9747102B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9747102-B2
Application numberUS-201213729371-A
CountryUS
Kind codeB2
Filing dateDec 28, 2012
Priority dateDec 28, 2012
Publication dateAug 29, 2017
Grant dateAug 29, 2017

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.

Embodiments of an invention for memory management in secure enclaves are disclosed. In one embodiment, a processor includes an instruction unit and an execution unit. The instruction unit is to receive a first instruction and a second instruction. The execution unit is to execute the first instruction, wherein execution of the first instruction includes allocating a page in an enclave page cache to a secure enclave. The execution unit is also to execute the second instruction, wherein execution of the second instruction includes confirming the allocation of the page.

First claim

Opening claim text (preview).

What is claimed is: 1. A processor comprising: an instruction unit to receive a first instruction, a second instruction, and a third instruction; and an execution unit to execute the first instruction, wherein execution of the first instruction includes allocating a first page in an enclave page cache to a secure enclave, execution of the second instruction in connection with execution of the first instruction includes confirming the allocating of the first page, execution of the third instruction includes de-allocating the first page in the enclave page cache from the secure enclave and setting a modified indicator in an entry for the first page in the enclave page cache map, wherein the first page is not modifiable while the modified indicator is set, and execution of the second instruction in connection with execution of the third instruction includes confirming the de-allocating of the first page and clearing the modified indicator. 2. The processor of claim 1 , wherein execution of the first instruction also includes setting a pending indicator in an entry for the first page in an enclave page cache map. 3. The processor of claim 2 , wherein execution of the second instruction also includes clearing the pending indicator. 4. The processor of claim 2 , wherein the first page is not accessible by the secure enclave while the pending indicator is set. 5. A method comprising: receiving a first request from a secure enclave for more memory space in an enclave page cache; receiving a first instruction from an operating system; in response to receiving the first instruction, allocating a first page in the enclave page cache to the secure enclave; receiving a second instruction from the secure enclave in connection with executing the first instruction; in response to receiving the second instruction, confirming the allocating of the first page; receiving a second request from the secure enclave to de-allocate the first page in the enclave page cache; receiving a third instruction from the operating system; in response to receiving the third instruction, de-allocating the first page and setting a modified indicator in an entry for the second page in an enclave page cache map wherein the first page is not modifiable while the modified indicator is set; receiving the second instruction from the secure enclave in connection with executing the third instruction; and in response to receiving the second instruction, confirming the de-allocating of the first page and clearing the modified indicator. 6. The method of claim 5 , further comprising, in response to receiving the first instruction, setting a pending indicator in an entry for the first page in an enclave page cache map. 7. The method of claim 6 , further comprising, in response to receiving the second instruction, clearing the pending indicator. 8. The method of claim 7 , wherein the first page is not accessible by the secure enclave while the pending indicator is set. 9. A system comprising: a memory; and a processor including an instruction unit to receive a first instruction, a second instruction, and a third instruction; and an execution unit to execute the first instruction, wherein execution of the first instruction includes allocating a first page in an enclave page cache to a secure enclave, execution of the second instruction in connection with execution of the first instruction includes confirming the allocating of the first page, execution of the third instruction includes de-allocating the first page in the enclave page cache from the secure enclave and setting a modified indicator in an entry for the first page in the enclave page cache map, wherein the first page is not modifiable while the modified indicator is set, and execution of the second instruction in connection with execution of the third instruction includes confirming the de-allocating of the first page and clearing the modified indicator.

Assignees

Inventors

Classifications

  • Arrangements for executing specific programs · CPC title

  • Prefetch instructions; cache control instructions · CPC title

  • to perform miscellaneous control operations, e.g. NOP · CPC title

  • Instruction code · CPC title

  • using an access-table, e.g. matrix or list · 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 US9747102B2 cover?
Embodiments of an invention for memory management in secure enclaves are disclosed. In one embodiment, a processor includes an instruction unit and an execution unit. The instruction unit is to receive a first instruction and a second instruction. The execution unit is to execute the first instruction, wherein execution of the first instruction includes allocating a page in an enclave page cach…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/30047. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 29 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).