Memory protection key architecture with independent user and supervisor domains

US2016110298A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016110298-A1
Application numberUS-201414519648-A
CountryUS
Kind codeA1
Filing dateOct 21, 2014
Priority dateOct 21, 2014
Publication dateApr 21, 2016
Grant date

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 processing system includes a processing core to execute a task and a memory management unit, coupled to the core. The memory management unit includes a storage unit to store a page table entry including one or more identifiers of memory frames, a protection key, and an access mode bit indicating whether the one or more memory frames are accessible according to a user mode or according to a supervisor mode, a first permission register including a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the user mode, and a second permission register storing a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the supervisor mode.

First claim

Opening claim text (preview).

What is claimed is: 1 . A processing system comprising: a processing core to execute a task; and a memory management unit, coupled to the processing core, comprising: a storage unit to store a page table entry comprising one or more identifiers of memory frames, a protection key, and an access mode bit indicating whether the one or more memory frames are accessible according to a user mode or according to a supervisor mode; a first permission register comprising a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the user mode; and a second permission register storing a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the supervisor mode. 2 . The processing system of claim 1 , wherein the memory management unit further comprises a multiplexer comprising a first input coupled to the first permission register, a second input coupled to the second permission register, and a control pin coupled to the access mode bit. 3 . The processing system of claim 2 , wherein the multiplexer, responsive to the access mode bit indicating the user mode, is to provide a first set of bits stored in one of the plurality of fields of the first permission register to an output of the multiplexer, and the multiplexer, responsive to the access mode bit indicating the supervisor mode, is to provide a second set of bits stored in one of the plurality of fields of the second permission register to the output of the multiplexer. 4 . The processing system of claim 3 , wherein the one of the plurality of fields of the first permission register is selected according to the protection key of the page table entry, and the one of the plurality fields of the second permission register is selected according to the protection key of the page table entry. 5 . The processing system of claim 3 , wherein the first set of bits comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission, and wherein the second set of bits comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission. 6 . The processing system of claim 5 , wherein the page table entry comprises a plurality of status bits. 7 . The processing system of claim 6 , wherein the memory management unit comprises a controller to receive the plurality of status bits and determine a first set of memory access permissions based on the plurality of status bits, and wherein the first set of memory access permissions comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission. 8 . The processing system of claim 7 , wherein the memory management unit comprises an AND logic comprising a first input to receive the first of memory access permissions and a second input to receive a second set of memory access permissions from the output of the multiplexer, wherein the AND logic is to generate a set of final memory access permissions based on the first and the second sets of memory access permissions. 9 . The processing system of claim 8 , wherein the memory management unit provides the task access to the one or more memory frames based on the final memory access permission. 10 . The processing system of claim 1 , wherein the task has a privilege level of one of a user-mode access or a supervisor-mode access. 11 . The processing system of claim 10 , wherein the first permission register is accessible by the task having a privilege level of one of the user-mode access or the supervisor-mode access. 12 . The processing system of claim 11 , wherein the first permission register comprises multiple permissions bits that are settable by the task having the privilege level of one of the user-mode access or the supervisor-mode access. 13 . The processing system of claim 12 , wherein the task having the privilege level of one of the user-mode access or the supervisor-mode access is to identify a permission bit stored in the first permission register and set the permission bit to disable the permission. 14 . The processor of claim 1 , wherein the protection key comprises n bits, and each of the first and second permission registers comprises 2 n fields. 15 . A system-on-a chip (SoC) comprising: a memory; and a processor, communicatively coupled to the memory, comprising: a processing core to execute a task; and a memory management unit, coupled to the processing core, comprising: a storage unit to store a page table entry comprising one or more identifiers of memory frames, a protection key, and an access mode bit indicating whether the one or more memory frames are accessible according to a user mode or according to a supervisor mode; a first permission register comprising a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the user mode; and a second permission register storing a plurality of fields, each field comprising a set of bits reflecting a set of memory access permissions under the supervisor mode. 16 . The SoC of claim 15 , wherein the memory management unit further comprises a multiplexer comprising a first input coupled to the first permission register, a second input coupled to the second permission register, and a control pin coupled to the access mode bit. 17 . The SoC of claim 16 , wherein the multiplexer, responsive to the access mode bit indicating the user mode, is to provide a first set of bits stored in one of the plurality of fields of the first permission register to an output of the multiplexer, and the multiplexer, responsive to the access mode bit indicating the supervisor mode, is to provide a second set of bits stored in one of the plurality of fields of the second permission register to the output of the multiplexer. 18 . The SoC of claim 17 , wherein the one of the plurality of fields of the first permission register is selected according to the protection key of the page table entry, and the one of the plurality fields of the second permission register is selected according to the protection key of the page table entry. 19 . The SoC of claim 17 , wherein the first set of bits comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission, and wherein the second set of bits comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission. 20 . The SoC of claim 19 , wherein the page table entry comprises a plurality of status bits, wherein the memory management unit comprises a controller to receive the plurality of status bits and determine a first set of memory access permissions based on the plurality of status bits, and wherein the first set of memory access permissions comprises at least one of a first bit indicating a read permission, a second bit indicating a write permission, or a third bit indicating an execution permission, and wherein the memory management unit comprises an AND logic comprising a first input to receive the first of memory access permissions and a second input to receive a second set of memory access permissions from the output of the multiplexer, wherein the AN

Assignees

Inventors

Classifications

  • Security improvement · CPC title

  • Key-lock mechanism · CPC title

  • during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow} · CPC title

  • to a system of files or objects, e.g. local or distributed file system or database · 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 US2016110298A1 cover?
A processing system includes a processing core to execute a task and a memory management unit, coupled to the core. The memory management unit includes a storage unit to store a page table entry including one or more identifiers of memory frames, a protection key, and an access mode bit indicating whether the one or more memory frames are accessible according to a user mode or according to a su…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/1466. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Apr 21 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).