Hardware apparatuses and methods for memory corruption detection

US10776190B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10776190-B2
Application numberUS-201816224579-A
CountryUS
Kind codeB2
Filing dateDec 18, 2018
Priority dateDec 21, 2015
Publication dateSep 15, 2020
Grant dateSep 15, 2020

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.

Methods and apparatuses relating to memory corruption detection are described. In one embodiment, a hardware processor includes an execution unit to execute an instruction to request access to a block of a memory through a pointer to the block of the memory, and a memory management unit to allow access to the block of the memory when a memory corruption detection value in the pointer is validated with a memory corruption detection value in the memory for the block, wherein a position of the memory corruption detection value in the pointer is selectable between a first location and a second, different location.

First claim

Opening claim text (preview).

What is claimed is: 1. A hardware processor comprising: an execution unit to execute an instruction to request access to a block of a memory through a pointer to the block of the memory; and a memory management unit to allow access to the block of the memory when a memory corruption detection value in the pointer is validated with a memory corruption detection value in the memory for the block, wherein a position of the memory corruption detection value in the pointer is in a location that does not include a most significant bit of the pointer. 2. The hardware processor of claim 1 , further comprising a control register to set the position to the location. 3. The hardware processor of claim 1 , further comprising a control register to set a memory corruption detection protected space for a subset of the memory. 4. The hardware processor of claim 3 , wherein the pointer further comprises a memory corruption detection protected space value, and the memory management unit is to allow access to the block of the memory without a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is not within the memory corruption detection protected space for the subset of the memory. 5. The hardware processor of claim 3 , wherein the pointer further comprises a memory corruption detection protected space value, and the memory management unit is to perform a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is within the memory corruption detection protected space for the subset of the memory. 6. The hardware processor of claim 1 , further comprising a register to store a base address of a memory corruption detection table in the memory comprising the memory corruption detection value for the block. 7. The hardware processor of claim 1 , wherein the position of the memory corruption detection value in the pointer in the location does not include a least significant bit of the pointer. 8. The hardware processor of claim 1 , wherein the pointer comprises a linear address of the block of the memory. 9. A method comprising: receiving a request to access a block of a memory through a pointer to the block of the memory; and allowing access to the block of the memory when a memory corruption detection value in the pointer is validated with a memory corruption detection value in the memory for the block, wherein a position of the memory corruption detection value in the pointer is in a location that does not include a most significant bit of the pointer. 10. The method of claim 9 , further comprising writing to a register to set the position to the location. 11. The method of claim 9 , further comprising setting a memory corruption detection protected space for a subset of the memory. 12. The method of claim 11 , wherein the pointer further comprises a memory corruption detection protected space value, and further comprising allowing access to the block of the memory without a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is not within the memory corruption detection protected space for the subset of the memory. 13. The method of claim 11 , wherein the pointer further comprises a memory corruption detection protected space value, and further comprising perform a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is within the memory corruption detection protected space for the subset of the memory. 14. The method of claim 9 , further comprising storing a base address of a memory corruption detection table in the memory comprising the memory corruption detection value for the block. 15. The method of claim 9 , wherein the position of the memory corruption detection value in the pointer in the location does not include a least significant bit of the pointer. 16. The method of claim 9 , wherein the pointer comprises a linear address of the block of the memory. 17. A system comprising: a memory; a hardware processor comprising an execution unit to execute an instruction to request access to a block of the memory through a pointer to the block of the memory; and a memory management unit to allow access to the block of the memory when a memory corruption detection value in the pointer is validated with a memory corruption detection value in the memory for the block, wherein a position of the memory corruption detection value in the pointer is a location that does not include a most significant bit of the pointer. 18. The system of claim 17 , further comprising a control register to set the position to the location. 19. The system of claim 17 , further comprising a control register to set a memory corruption detection protected space for a subset of the memory. 20. The system of claim 19 , wherein the pointer further comprises a memory corruption detection protected space value, and the memory management unit is to allow access to the block of the memory without a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is not within the memory corruption detection protected space for the subset of the memory. 21. The system of claim 19 , wherein the pointer further comprises a memory corruption detection protected space value, and the memory management unit is to perform a validation check of the memory corruption detection value in the pointer with the memory corruption detection value in the memory for the block when the memory corruption detection protected space value is within the memory corruption detection protected space for the subset of the memory. 22. The system of claim 17 , further comprising a register to store a base address of a memory corruption detection table in the memory comprising the memory corruption detection value for the block. 23. The system of claim 17 , wherein the position of the memory corruption detection value in the pointer in the location does not include a least significant bit of the pointer. 24. The system of claim 17 , wherein the pointer comprises a linear address of the block of the memory.

Assignees

Inventors

Classifications

  • Concurrent instruction execution, e.g. pipeline or look ahead · CPC title

  • Address space sharing · CPC title

  • Security improvement · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • to assure secure storage of data (address-based protection against unauthorised use of memory G06F12/14; record carriers for use with machines and with at least a part designed to carry digital markings G06K19/00) · 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 US10776190B2 cover?
Methods and apparatuses relating to memory corruption detection are described. In one embodiment, a hardware processor includes an execution unit to execute an instruction to request access to a block of a memory through a pointer to the block of the memory, and a memory management unit to allow access to the block of the memory when a memory corruption detection value in the pointer is validat…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F11/0751. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 15 2020 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).