Patents by Inventor John H. Kelm

John H. Kelm 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: 20220270664
    Abstract: A method and apparatus for selective reference voltage calibration in a memory subsystem is disclosed. A memory subsystem includes a memory coupled to a memory controller. The memory controller may operate in one of a number of different performance states. The memory controller further includes a calibration circuit configured to perform reference voltage calibrations for the various ones of the performance states to determine corresponding reference voltages. For a performance state change from an initial performance state to a final performance state, via an intermediate performance state, the memory controller is configured to transition to the intermediate performance state without causing the calibration circuit to perform a reference voltage calibration in that state. Thereafter, the memory controller transitions to the final performance state.
    Type: Application
    Filed: February 22, 2021
    Publication date: August 25, 2022
    Inventors: Robert E. Jeter, Kai Lun Hsiung, Rakesh L. Notani, Venkata Ramana Malladi, John H. Kelm, Taehyun Kim
  • Publication number: 20220083338
    Abstract: Techniques are disclosed relating to data synchronization barrier operations. A system includes a first processor that may receive a data barrier operation request from a second processor include in the system. Based on receiving that data barrier operation request from the second processor, the first processor may ensure that outstanding load/store operations executed by the first processor that are directed to addresses outside of an exclusion region have been completed. The first processor may respond to the second processor that the data barrier operation request is complete at the first processor, even in the case that one or more load/store operations that are directed to addresses within the exclusion region are outstanding and not complete when the first processor responds that the data barrier operation request is complete.
    Type: Application
    Filed: September 8, 2021
    Publication date: March 17, 2022
    Inventors: Jeff Gonion, John H. Kelm, James Vash, Pradeep Kanapathipillai, Mridul Agarwal, Gideon N. Levinsky, Richard F. Russo, Christopher M. Tsay
  • Publication number: 20220084474
    Abstract: Throttling circuitry may throttle the backlight reconstruction via backlight reconstruction and compensation circuitry in a display pipeline when power may be limited. This throttling of the display pipeline may limit a number of cycles that may be used for performing backlight reconstruction and compensation.
    Type: Application
    Filed: July 6, 2021
    Publication date: March 17, 2022
    Inventors: Prabhu Rajamani, Liang Deng, Oren Kerem, Meir Harar, Ido Yaacov Soffair, Assaf Menachem, John H. Kelm, Rohit K. Gupta
  • Patent number: 11226752
    Abstract: Systems, methods and mechanisms for efficiently calibrating memory signals. In various embodiments, a computing system includes at least one processor, a memory and a power manager. The power manager generates and sends updated power-performance states (p-states) to the processor and the memory. Logic within a memory controller for the memory initializes a first timer corresponding to a first p-state of the multiple p-states to indicate a duration for skipping memory calibration. The logic continues to update the first timer while transferring data with the memory using operating parameters of the first p-state. When the memory is not using operating parameters of the first p-state, the logic prevents updates of the first timer. When the power manager determines to transition the memory from the first p-state to a second p-state, and the second timer for the second e-state has not expired, the logic prevents calibration of the memory.
    Type: Grant
    Filed: March 5, 2019
    Date of Patent: January 18, 2022
    Assignee: Apple Inc.
    Inventors: Rakesh L. Notani, Robert E. Jeter, Suhas Kumar Suvarna Ramesh, Naveen Kumar Korada, Mohammad Rizwan, Alma L. Juarez Dominguez, John H. Kelm, Matthew R. Johnson
  • Patent number: 11169585
    Abstract: Systems, methods and mechanisms for efficiently reporting sensor data of multiple processing units. In various embodiments, a computing system includes processing units and a power management unit. The processing units include multiple sensors for measuring a variety of types of sensor data. If the sensor values exceed corresponding thresholds, then a processing unit sends the sensor values to the power management unit. Logic in the power management unit stores received sensor values. When the logic determines behavior of a processing unit changes, the logic updates one or more sensor thresholds for the processing unit for changing a frequency of reporting one or more sensor values of the processing unit. The logic sends the updated one or more sensor thresholds to the processing unit. The logic updates more operating modes and operating states for the processing units based on the received sensor values.
    Type: Grant
    Filed: August 16, 2019
    Date of Patent: November 9, 2021
    Assignee: Apple Inc.
    Inventors: Achmed R. Zahir, Inder M. Sodhi, John H. Kelm
  • Publication number: 20210048865
    Abstract: Systems, methods and mechanisms for efficiently reporting sensor data of multiple processing units. In various embodiments, a computing system includes processing units and a power management unit. The processing units include multiple sensors for measuring a variety of types of sensor data. If the sensor values exceed corresponding thresholds, then a processing unit sends the sensor values to the power management unit. Logic in the power management unit stores received sensor values. When the logic determines behavior of a processing unit changes, the logic updates one or more sensor thresholds for the processing unit for changing a frequency of reporting one or more sensor values of the processing unit. The logic sends the updated one or more sensor thresholds to the processing unit. The logic updates more operating modes and operating states for the processing units based on the received sensor values.
    Type: Application
    Filed: August 16, 2019
    Publication date: February 18, 2021
    Inventors: Achmed R. Zahir, Inder M. Sodhi, John H. Kelm
  • Publication number: 20200285406
    Abstract: Systems, methods and mechanisms for efficiently calibrating memory signals. In various embodiments, a computing system includes at least one processor, a memory and a power manager. The power manager generates and sends updated power-performance states (p-states) to the processor and the memory. Logic within a memory controller for the memory initializes a first timer corresponding to a first p-state of the multiple p-states to indicate a duration for skipping memory calibration. The logic continues to update the first timer while transferring data with the memory using operating parameters of the first p-state. When the memory is not using operating parameters of the first p-state, the logic prevents updates of the first timer. When the power manager determines to transition the memory from the first p-state to a second p-state, and the second timer for the second e-state has not expired, the logic prevents calibration of the memory.
    Type: Application
    Filed: March 5, 2019
    Publication date: September 10, 2020
    Inventors: Rakesh L. Notani, Robert E. Jeter, Suhas Kumar Suvarna Ramesh, Naveen Kumar Korada, Mohammad Rizwan, Alma L. Juarez Dominguez, John H. Kelm, Matthew R. Johnson
  • Patent number: 10496572
    Abstract: In an embodiment, processors may have associated special purpose registers (SPRs) such as model specific registers (MSRs), used to communicate IPIs between the processors. In an embodiment, several types of IPIs may be defined, such as one or more of an immediate type, a deferred type, a retract type, and/or a non-waking type. The immediate IPI may be delivered and may cause the target processor to interrupt in response to receipt of the IPI. The deferred IPI may be delivered within a defined time limit, and not necessarily on receipt by the target processor. The retract IPI may cause a previously transmitted IPI to be cancelled (if it has not already caused the target processor to interrupt). A non-waking IPI may not cause the target processor to wake if it is asleep, but may be delivered when the target processor is awakened for another reason.
    Type: Grant
    Filed: March 6, 2017
    Date of Patent: December 3, 2019
    Assignee: Apple Inc.
    Inventors: John H. Kelm, Bernard J. Semeria, Joshua P. de Cesare, Shih-Chieh Wen
  • Patent number: 10409763
    Abstract: Various different embodiments of the invention are described including: (1) a method and apparatus for intelligently allocating threads within a binary translation system; (2) data cache way prediction guided by binary translation code morphing software; (3) fast interpreter hardware support on the data-side; (4) out-of-order retirement; (5) decoupled load retirement in an atomic OOO processor; (6) handling transactional and atomic memory in an out-of-order binary translation based processor; and (7) speculative memory management in a binary translation based out of order processor.
    Type: Grant
    Filed: June 30, 2014
    Date of Patent: September 10, 2019
    Assignee: INTEL CORPORATION
    Inventors: Patrick P. Lai, Ethan Schuchman, David Keppel, Denis M. Khartikov, Polychronis Xekalakis, Joshua B. Fryman, Allan D. Knies, Naveen Neelakantam, Gregor Stellpflug, John H. Kelm, Mirem Hyuseinova Seidahmedova, Demos Pavlou, Jaroslaw Topp
  • Patent number: 10338927
    Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.
    Type: Grant
    Filed: April 3, 2017
    Date of Patent: July 2, 2019
    Assignee: Intel Corporation
    Inventors: Denis M. Khartikov, Naveen Neelakantam, John H. Kelm, Polychronis Xekalakis
  • Patent number: 10055369
    Abstract: Systems, apparatuses, and methods for coalescing interrupts temporally for later processing are described. An interrupt controller in a computing system maintains a timer for tracking an amount of time remaining after receiving an interrupt before a processor is awakened to service the interrupt. For a received interrupt with a latency tolerance greater than a threshold, the interrupt controller compares a value currently stored in the timer and the latency tolerance selected based on class. The smaller value is retained in the timer. When the timer expires, the interrupt controller sends wakeup indications to one or more processors and indications of the waiting interrupts.
    Type: Grant
    Filed: March 27, 2017
    Date of Patent: August 21, 2018
    Assignee: Apple Inc.
    Inventors: Charles E. Tucker, Erik P. Machnicki, Fan Wu, John H. Kelm
  • Patent number: 9971599
    Abstract: A processor includes support for executing binary-translated code including code modifications. The processor includes a processor core that includes a cache to store translation indicators from a physical map, each translation indicator to indicate whether a corresponding memory location includes translated code to be protected. The processor core also includes logic to execute a translated instruction. The translated instruction is translated from an instruction stored in a memory location. The processor core further includes logic to set a translation indicator in the cache corresponding to the memory location to indicate that it includes translated code to be protected. The processor core also includes logic to request senior store buffer drains of other processor cores of the processor based upon the execution of the translated instruction.
    Type: Grant
    Filed: May 8, 2017
    Date of Patent: May 15, 2018
    Assignee: Intel Corporation
    Inventors: John H. Kelm, David P. Keppel, David N. Mackintosh
  • Patent number: 9870209
    Abstract: A processor includes a resource scheduler, a dispatcher, and a memory execution unit. The memory execution unit includes logic to identify an executed, unretired store operation in a memory ordered buffer, determine that the store operation is speculative, determine whether an associated cache line in a data cache is non-speculative, and determine whether to block a write of the store operation results to the data cache based upon the determination that the store operation is speculative and a determination that the associated cache line is non-speculative.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: January 16, 2018
    Assignee: Intel Corporation
    Inventors: John H. Kelm, Demos Pavlou, Mirem Hyuseinova
  • Publication number: 20170300334
    Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.
    Type: Application
    Filed: April 3, 2017
    Publication date: October 19, 2017
    Inventors: DENIS M. KHARTIKOV, NAVEEN NEELAKANTAM, JOHN H. KELM, POLYCHRONIS XEKALAKIS
  • Publication number: 20170242705
    Abstract: A processor includes support for executing binary-translated code including code modifications. The processor includes a processor core that includes a cache to store translation indicators from a physical map, each translation indicator to indicate whether a corresponding memory location includes translated code to be protected. The processor core also includes logic to execute a translated instruction. The translated instruction is translated from an instruction stored in a memory location. The processor core further includes logic to set a translation indicator in the cache corresponding to the memory location to indicate that it includes translated code to be protected. The processor core also includes logic to request senior store buffer drains of other processor cores of the processor based upon the execution of the translated instruction.
    Type: Application
    Filed: May 8, 2017
    Publication date: August 24, 2017
    Inventors: John H. Kelm, David P. Keppel, David N. Mackintosh
  • Patent number: 9652268
    Abstract: A processor includes support for executing binary-translated code including code modifications. The processor includes a processor core that includes a cache to store translation indicators from a physical map, each translation indicator to indicate whether a corresponding memory location includes translated code to be protected. The processor core also includes logic to execute a translated instruction. The translated instruction is translated from an instruction stored in a memory location. The processor core further includes logic to set a translation indicator in the cache corresponding to the memory location to indicate that it includes translated code to be protected. The processor core also includes logic to request senior store buffer drains of other processor cores of the processor based upon the execution of the translated instruction.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: May 16, 2017
    Assignee: Intel Corporation
    Inventors: John H. Kelm, David P. Keppel, David N. Mackintosh
  • Patent number: 9612840
    Abstract: A hardware/software co-design for an optimized dynamic out-of-order Very Long Instruction Word (VLIW) pipeline.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: April 4, 2017
    Assignee: INTEL CORPORATION
    Inventors: Denis M. Khartikov, Naveen Neelakantam, John H. Kelm, Polychronis Xekalakis
  • Patent number: 9569212
    Abstract: A processor includes an allocator with logic assigning alias hardware resources to instructions within an atomic region of instructions. The atomic region includes reordered instructions. The processor also includes a dispatcher with logic to dispatch instructions from the atomic region of instructions for execution. Furthermore, the processor includes a memory execution unit with logic to populate the memory execution unit with the instructions from the atomic region of instructions including reordered instructions, receive snoop requests and determine whether the snoop request matches memory address data of elements within the memory execution unit, and prevent reassignment of alias hardware resources for any load instructions that are eligible to match the snoop requests.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: February 14, 2017
    Assignee: Intel Corporation
    Inventors: John H. Kelm, Denis M. Khartikov, Naveen Neelakantam
  • Patent number: 9471292
    Abstract: Generally, this disclosure provides systems, methods and computer readable media for binary translation (BT) reuse. The system may include a (BT) module to translate a region of code from a first instruction set architecture (ISA) to a second ISA, for execution associated with a first process. The BT module may also be configured to store a first physical page number associated with the translated code and the first process. The system may also include a processor to execute the translated code and to update a virtual address instruction pointer associated with the execution. The system may further include a translation reuse module to validate the translated code for reuse by a second process. The validation may include generating a second physical page number based on a page table mapping of the updated virtual address instruction pointer and matching the second physical page number to the stored first physical page number.
    Type: Grant
    Filed: April 18, 2014
    Date of Patent: October 18, 2016
    Assignee: Intel Corporation
    Inventors: David N. Mackintosh, John H. Kelm, Neil A. Campbell
  • Publication number: 20160179662
    Abstract: A processor includes a binary translator, a memory management unit, and a monitor unit. The binary translator includes logic to translate a region of code and to reorder translated instructions within the region to produce a transaction. The memory management unit includes logic to receive a memory instruction from the transaction to access an address in memory, determine whether the address is associated with a previous page table walk during execution of the transaction based on bits set for addresses during the previous page table walk, and allow execution of the memory instruction based upon the determination whether the address is associated with the previous page table walk. The monitor unit includes logic to specify whether a given address is associated with the previous page table walk during execution of the transaction.
    Type: Application
    Filed: December 23, 2014
    Publication date: June 23, 2016
    Inventors: David Pardo Keppel, John H. Kelm