Patents by Inventor Michael LeMay

Michael LeMay has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20220197993
    Abstract: A method comprises receiving, in a store buffer, at least a portion of a store instruction, the at least a portion of the store instruction comprising a data operand, receiving, a load instruction for execution; and determining whether the store instruction and the load instruction are in different compartments.
    Type: Application
    Filed: March 11, 2022
    Publication date: June 23, 2022
    Applicant: Intel Corporation
    Inventor: Michael LeMay
  • Publication number: 20220197638
    Abstract: Techniques for generating an encrypted capability in computing hardware are described. The technology includes generating an encrypted capability with access only to specified bounds of a source capability when the specified bounds are within bounds of the source capability and generating an exception when the specified bounds are not within bounds of the source capability.
    Type: Application
    Filed: March 14, 2022
    Publication date: June 23, 2022
    Applicant: Intel Corporation
    Inventor: Michael LeMay
  • Patent number: 11360876
    Abstract: Processor trace systems and methods are described. For example, one embodiment comprises executing instrumented code by a compiler, the instrumented code including at least one call to un-instrumented code. The compiler can determine the at least one call to un-instrumented code is a next call to be executed. A resume tracing instruction can be inserted into the instrumented code prior to the at least one call to the un-instrumented code. The resume tracing instruction can be executed to selectively add processor tracing to the at least one call to the un-instrumented code, and the at least one call to the un-instrumented code can be executed.
    Type: Grant
    Filed: April 10, 2020
    Date of Patent: June 14, 2022
    Assignee: INTEL CORPORATION
    Inventors: Michael Lemay, Beeman Strong
  • Publication number: 20220179949
    Abstract: Techniques for capability-based access control and selection of memory objects for capability protection in a compiler are disclosed. The compiler includes an analyzer to analyze a request to allocate a memory object, identify all accesses to the memory object; and for an access to the memory object, determine whether the access is potentially unsafe; and a code generator to generate code to invoke a capability-enabled allocation routine when the access is potentially unsafe and to generate code to invoke an unchecked allocation routine when the assess is not potentially unsafe.
    Type: Application
    Filed: February 28, 2022
    Publication date: June 9, 2022
    Applicant: Intel Corporation
    Inventor: Michael LeMay
  • Patent number: 11354423
    Abstract: Technologies disclosed herein provide cryptographic computing. An example method comprises executing a first instruction of a first software entity to receive a first input operand indicating a first key associated with a first memory compartment of a plurality of memory compartments stored in a first memory unit, and execute a cryptographic algorithm in a core of a processor to compute first encrypted contents based at least in part on the first key. Subsequent to computing the first encrypted contents in the core, the first encrypted contents are stored at a memory location in the first memory compartment of the first memory unit. More specific embodiments include, prior to storing the first encrypted contents at the memory location in the first memory compartment and subsequent to computing the first encrypted contents in the core, moving the first encrypted contents into a level one (L1) cache outside a boundary of the core.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: June 7, 2022
    Assignee: Intel Corporation
    Inventors: Michael E. Kounavis, Santosh Ghosh, Sergej Deutsch, Michael LeMay, David M. Durham
  • Publication number: 20220156180
    Abstract: A memory controller is to store a unique tag at the mid-point address within each of allocated memory portions. In addition to the tag data, additional metadata may be stored at the mid-point address of the memory allocation. For each memory access operation, an encoded pointer contains information indicative of a size of the memory allocation as well as its own tag data. The processor circuitry compares the tag data included in the encoded pointer with the tag data stored in the memory allocation. If the tag data included in the encoded pointer matches the tag data stored in the memory allocation, the memory operation proceeds. If the tag data included in the encoded pointer fails to match the tag data stored in the memory allocation, an error or exception is generated.
    Type: Application
    Filed: December 1, 2021
    Publication date: May 19, 2022
    Applicant: Intel Corporation
    Inventors: David M. Durham, Michael LeMay
  • Patent number: 11321469
    Abstract: In one embodiment, a processor of a cryptographic computing system includes data cache units storing encrypted data and circuitry coupled to the data cache units. The circuitry accesses a sequence of cryptographic-based instructions to execute based on the encrypted data, decrypts the encrypted data based on a first pointer value, executes the cryptographic-based instruction using the decrypted data, encrypts a result of the execution of the cryptographic-based instruction based on a second pointer value, and stores the encrypted result in the data cache units. In some embodiments, the circuitry generates, for each cryptographic-based instruction, at least one encryption-based microoperation and at least one non-encryption-based microoperation. The circuitry also schedules the at least one encryption-based microoperation and the at least one non-encryption-based microoperation for execution based on timings of the encryption-based microoperation.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: May 3, 2022
    Assignee: Intel Corporation
    Inventors: Michael E. Kounavis, Santosh Ghosh, Sergej Deutsch, Michael LeMay, David M. Durham, Stanislav Shwartsman
  • Publication number: 20220123930
    Abstract: A method comprises detecting execution of a fork( ) operation in a cryptographic computing system that generates a parent process and a child process, assigning a parent kernel data structure to the parent process and a child kernel data structure to the child process, detecting, in the child process, a write operation comprising write data and a cryptographic target address, and in response to the write operation blocking access to a corresponding page in the parent process, allocating a new physical page in memory for the child process, encrypting the write data with a cryptographic key unique to the child process, and filling the new physical page in memory with magic marker data.
    Type: Application
    Filed: December 24, 2021
    Publication date: April 21, 2022
    Applicant: Intel Corporation
    Inventors: Salmin Sultana, David M. Durham, Michael LeMay, Karanvir Grewal, Sergej Deutsch
  • Publication number: 20220114104
    Abstract: A method comprises receiving, in a store buffer, at least a portion of a store instruction, the at least a portion of the store instruction comprising a data operand and a first object capability register operand which comprises a first object type identifier for a first object, obtaining, from a corresponding load instruction, a second object capability register operand which comprises a second object type identifier, and determining whether the first object type identifier matches the second object type identifier.
    Type: Application
    Filed: December 24, 2021
    Publication date: April 14, 2022
    Applicant: Intel Corporation
    Inventor: Michael LeMay
  • Publication number: 20220114285
    Abstract: A method comprises identifying a sensitive heap allocation for a sensitive data object in memory, and encrypting the data object using a first encryption key, different from a second encryption key used to encrypt one or more non-sensitive data objects in the memory, to provide cryptographic isolation between the sensitive data object and the one or more non-sensitive data objects.
    Type: Application
    Filed: December 22, 2021
    Publication date: April 14, 2022
    Applicant: Intel Corporation
    Inventors: Lauren Biernacki, Michael LeMay
  • Publication number: 20220083649
    Abstract: Technologies for memory management with memory protection extension include a computing device having a processor with one or more protection extensions. The processor may load a logical address including a segment base, effective limit, and effective address and generate a linear address as a function of the logical address with the effective limit as a mask. The processor may switch to a new task described by a task state segment extension. The task state extension may specify a low-latency segmentation mode. The processor may prohibit access to a descriptor in a local descriptor table with a descriptor privilege level lower than the current privilege level of the processor. The computing device may load a secure enclave using secure enclave support of the processor. The secure enclave may load an unsandbox and a sandboxed application in a user privilege level of the processor. Other embodiments are described and claimed.
    Type: Application
    Filed: November 29, 2021
    Publication date: March 17, 2022
    Applicant: Intel Corporation
    Inventors: Michael LeMay, Barry E. Huntley, Ravi Sahita
  • Publication number: 20220083648
    Abstract: Technologies for memory management with memory protection extension include a computing device having a processor with one or more protection extensions. The processor may load a logical address including a segment base, effective limit, and effective address and generate a linear address as a function of the logical address with the effective limit as a mask. The processor may switch to a new task described by a task state segment extension. The task state extension may specify a low-latency segmentation mode. The processor may prohibit access to a descriptor in a local descriptor table with a descriptor privilege level lower than the current privilege level of the processor. The computing device may load a secure enclave using secure enclave support of the processor. The secure enclave may load an unsandbox and a sandboxed application in a user privilege level of the processor. Other embodiments are described and claimed.
    Type: Application
    Filed: November 29, 2021
    Publication date: March 17, 2022
    Applicant: Intel Corporation
    Inventors: Michael LeMay, Barry E. Huntley, Ravi Sahita
  • Publication number: 20220083647
    Abstract: Technologies for memory management with memory protection extension include a computing device having a processor with one or more protection extensions. The processor may load a logical address including a segment base, effective limit, and effective address and generate a linear address as a function of the logical address with the effective limit as a mask. The processor may switch to a new task described by a task state segment extension. The task state extension may specify a low-latency segmentation mode. The processor may prohibit access to a descriptor in a local descriptor table with a descriptor privilege level lower than the current privilege level of the processor. The computing device may load a secure enclave using secure enclave support of the processor. The secure enclave may load an unsandbox and a sandboxed application in a user privilege level of the processor. Other embodiments are described and claimed.
    Type: Application
    Filed: November 29, 2021
    Publication date: March 17, 2022
    Applicant: Intel Corporation
    Inventors: Michael LeMay, Barry E. Huntley, Ravi Sahita
  • Publication number: 20220058023
    Abstract: Systems, methods, and apparatuses relating to circuitry to implement individually revocable capabilities for enforcing temporal memory safety are described. In one embodiment, a hardware processor comprises an execution unit to execute an instruction to request access to a block of memory through a pointer to the block of memory, and a memory controller circuit to allow access to the block of memory when an allocated object tag in the pointer is validated with an allocated object tag in an entry of a capability table in memory that is indexed by an index value in the pointer, wherein the memory controller circuit is to clear the allocated object tag in the capability table when a corresponding object is deallocated.
    Type: Application
    Filed: November 2, 2021
    Publication date: February 24, 2022
    Inventors: Michael LEMAY, Vedvyas SHANBHOGUE, Deepak GUPTA, Ravi SAHITA, David M. DURHAM, Willem PINCKAERS, Enrico PERLA
  • Patent number: 11250165
    Abstract: A processor comprising a first register to store a wrapping key, a second register to store a pointer to a handle stored in a memory coupled to the processor, the handle comprising a cryptographic key encrypted using the wrapping key, and a core to execute a decryption instruction. The core is to, responsive to the decryption instruction, identify, in the decryption instruction, a pointer to ciphertext stored in the memory, retrieve the ciphertext and the handle from the memory, decrypt the cryptographic key of the handle based on the wrapping key, and decrypt the ciphertext based on the decrypted cryptographic key.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: February 15, 2022
    Assignee: Intel Corporation
    Inventors: Michael LeMay, David M. Durham, Jason W. Brandt
  • Publication number: 20220027287
    Abstract: This disclosure is directed to a system for address mapping and translation protection. In one embodiment, processing circuitry may include a virtual machine manager (VMM) to control specific guest linear address (GLA) translations. Control may be implemented in a performance sensitive and secure manner, and may be capable of improving performance for critical linear address page walks over legacy operation by removing some or all of the cost of page walking extended page tables (EPTs) for critical mappings. Alone or in combination with the above, certain portions of a page table structure may be selectively made immutable by a VMM or early boot process using a sub-page policy (SPP). For example, SPP may enable non-volatile kernel and/or user space code and data virtual-to-physical memory mappings to be made immutable (e.g., non-writable) while allowing for modifications to non-protected portions of the OS paging structures and particularly the user space.
    Type: Application
    Filed: October 7, 2021
    Publication date: January 27, 2022
    Applicant: Intel Corporation
    Inventors: Ravi L. SAHITA, Gilbert NEIGER, Vedvyas SHANBHOGUE, David M. DURHAM, Andrew V. ANDERSON, David A. KOUFATY, Asit K. MALLICK, Arumugam THIYAGARAJAH, Barry E. HUNTLEY, Deepak K. GUPTA, Michael LEMAY, Joseph F. CIHULA, Baiju V. PATEL
  • Publication number: 20220012188
    Abstract: Technologies disclosed herein provide one example of a system that includes processor circuitry and integrity circuitry. The processor circuitry is to receive a first request associated with an application to perform a memory access operation for an address range in a memory allocation of memory circuitry. The integrity circuitry is to determine a location of a metadata region within a cacheline that includes at least some of the address range, identify a first portion of the cacheline based at least in part on a first data bounds value stored in the metadata region, generate a first integrity value based on the first portion of the cacheline, and prevent the memory access operation in response to determining that the first integrity value does not correspond to a second integrity value stored in the metadata region.
    Type: Application
    Filed: September 24, 2021
    Publication date: January 13, 2022
    Applicant: Intel Corporation
    Inventors: David M. Durham, Michael LeMay, Santosh Ghosh, Sergej Deutsch
  • Publication number: 20220012055
    Abstract: Methods, apparatus, systems, and articles of manufacture are disclosed that perform bounds checking on authorized memory allocations during pointer arithmetic. In some examples, instruction decode circuitry decodes an update pointer instruction for a pointer. In some examples, bounds checking circuitry determines an authorized allocation for the pointer, determines one or more exclusion zones and poison zones for the pointer. In some examples, bounds checking circuitry updates the pointer and generates a fault if the pointer points to one of the exclusion zones and poisons the pointer if the pointer points to one of the poison zones.
    Type: Application
    Filed: September 25, 2021
    Publication date: January 13, 2022
    Inventors: Michael Lemay, David M. Durham
  • Patent number: 11222127
    Abstract: A microcoded processor instruction may invoke a number of microinstructions to perform a round of a SHA3 operation using a circuit that includes a first stage circuit to perform a set of first bitwise XOR operations on a set of five input blocks to yield first intermediate output blocks; perform a set of second bitwise XOR operations on a first intermediate block and a rotation of another first intermediate block to yield second intermediate blocks; and perform a set of third bitwise XOR operations on a second intermediate block and an input block to yield third intermediate blocks. The circuit further includes a second stage circuit to rotate bits within each of the third intermediate blocks to yield a set of fourth intermediate blocks, and a third stage circuit to perform an affine mapping on bits within each of the fourth intermediate blocks to yield a set of output blocks.
    Type: Grant
    Filed: December 10, 2019
    Date of Patent: January 11, 2022
    Assignee: Intel Corporation
    Inventors: Santosh Ghosh, Michael LeMay, Manoj R. Sastry, David M. Durham
  • Patent number: 11216366
    Abstract: A memory controller is to store a unique tag at the mid-point address within each of allocated memory portions. In addition to the tag data, additional metadata may be stored at the mid-point address of the memory allocation. For each memory access operation, an encoded pointer contains information indicative of a size of the memory allocation as well as its own tag data. The processor circuitry compares the tag data included in the encoded pointer with the tag data stored in the memory allocation. If the tag data included in the encoded pointer matches the tag data stored in the memory allocation, the memory operation proceeds. If the tag data included in the encoded pointer fails to match the tag data stored in the memory allocation, an error or exception is generated.
    Type: Grant
    Filed: August 20, 2020
    Date of Patent: January 4, 2022
    Assignee: Intel Corporation
    Inventors: David M. Durham, Michael LeMay