Patents by Inventor Stephan Diestelhorst

Stephan Diestelhorst 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: 20190018786
    Abstract: A mechanism is provided for efficient coherence state modification of cached data stored in a range of addresses in a coherent data processing system in which data coherency is maintained across multiple caches. A tag search structure is maintained that identifies address tags and coherence states of cached data indexed by address tags. In response to a request from a device internal to or external from the coherence network, the tag search structure is searched to identify address tags of cached data for which the coherence state is to be modified and requests are issued in the data processing system to modify a coherence state of cached lines with the identified address tags. The request from the external device may specify a range of addresses for which a coherence state change is sought. The tag search structure may be implemented as search tree, for example.
    Type: Application
    Filed: November 21, 2017
    Publication date: January 17, 2019
    Applicant: Arm Limited
    Inventors: Jonathan Curtis Beard, Stephan Diestelhorst
  • Publication number: 20190004960
    Abstract: An apparatus and method are provided for handling caching of persistent data. The apparatus comprises cache storage having a plurality of entries to cache data items associated with memory address in a non-volatile memory. The data items may comprise persistent data items and non-persistent data items. Write back control circuitry is used to control write back of the data items from the cache storage to the non-volatile memory. In addition, cache usage determination circuitry is used to determine, in dependence on information indicative of capacity of a backup energy source, a subset of the plurality of entries to be used to store persistent data items. In response to an event causing the backup energy source to be used, the write back control circuitry is then arranged to initiate write back to the non-volatile memory of the persistent data items cached in the subset of the plurality of entries.
    Type: Application
    Filed: June 12, 2018
    Publication date: January 3, 2019
    Inventors: Wei Wang, Stephan Diestelhorst, Wendy Arnott ELSASSER, Andreas Lars Sandberg, Nikos NIKOLERIS
  • Patent number: 10133675
    Abstract: A data processing apparatus and method are provided for performing address translation in response to a memory access request issued by processing circuitry of the data processing apparatus and specifying a virtual address for a data item. Address translation circuitry performs an address translation process with reference to at least one descriptor provided by at least one page table, in order to produce a modified memory access request specifying a physical address for the data item. The address translation circuitry includes page table walk circuitry configured to generate at least one page table walk request in order to retrieve the at least one descriptor required for the address translation process. In addition, walk ahead circuitry is located in a path between the address translation circuitry and a memory device containing the at least one page table.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: November 20, 2018
    Assignee: ARM Limited
    Inventors: Andreas Hansson, Ali Saidi, Aniruddha Nagendran Udipi, Stephan Diestelhorst
  • Publication number: 20180260227
    Abstract: There is provided an apparatus comprising processing circuitry to execute a transaction comprising a number of program instructions that execute to generate updates to state data, to commit the updates if the transaction completes without a conflict, and to generate trace control signals during execution of the number of program instructions. The processing circuitry uses at least one resource during execution of the program instructions. Transaction trace circuitry generates trace items in response to the trace control signals. In response to the trace control signals indicating that a change in a usage level of the at least one resource has occurred during execution of the program instructions, the transaction trace circuitry generates at least one trace item that indicates the usage level of the at least one resource.
    Type: Application
    Filed: February 11, 2016
    Publication date: September 13, 2018
    Inventors: Michael John WILLIAMS, John Michael HORLEY, Stephan DIESTELHORST, Richard Roy GRISENTHWAITE
  • Publication number: 20180232313
    Abstract: A system cache and method of operating a system cache are provided. The system cache provides data caching in response to data access requests from plural system components. The system cache has data caching storage with plural entries, each entry storing a block of data items and each block of data items comprising plural sectors of data items, and each block of data items being stored in an entry of the data caching storage with an associated address portion. Sector use prediction circuitry is provided which has a set of pattern entries to store a set of sector use patterns. In response to a data access request received from a system component specifying one or more data items a selected pattern entry is selected in dependence on a system component identifier in the data access request and a sector use prediction is generated in dependence on a sector use pattern in the selected pattern entry.
    Type: Application
    Filed: January 29, 2018
    Publication date: August 16, 2018
    Inventors: Nikos NIKOLERIS, Andreas Lars SANDBERG, Jonas SVEDAS, Stephan DIESTELHORST
  • Publication number: 20180210845
    Abstract: An information switch comprises a plurality of input circuits and a plurality of output circuits, the information switch being configured to communicate information units between the input circuits and the output circuits in successive transmission cycles; each input circuit being configured, in dependence upon a queue of one or more information units for transmission via that input circuit and in dependence upon hint data received in respect of a current transmission cycle, to send an information unit transmission request to one or more of the output circuits; and each output circuit being configured, in response to one or more information unit transmission requests received from respective input circuits, to select an input circuit for information unit transmission to that output circuit in a current transmission cycle and to provide hint data indicating a provisional selection, by that output circuit, of an input circuit at a next transmission cycle.
    Type: Application
    Filed: August 23, 2016
    Publication date: July 26, 2018
    Inventors: Syed Ali Raza JAFRI, Stephan DIESTELHORST
  • Patent number: 10002020
    Abstract: A data processing apparatus and method of data processing are provided, which relate to the operation of a processor which maintains a call stack in dependence on the data processing instructions executed. The processor is configured to operate in a transactional execution mode when the data processing instructions seek access to a stored data item which is shared with a further processor. When the processor enters its transactional execution mode it stores a copy of the current stack depth indication and thereafter, when operating in its transactional execution mode, further modifications to the call stack are compared to the copy of the stack depth indication stored. If the relative stacking position of the required modification is in a positive stack growth direction with respect to the copy stored, the modification to the call stack is labelled as non-speculative.
    Type: Grant
    Filed: June 9, 2015
    Date of Patent: June 19, 2018
    Assignee: ARM Limited
    Inventors: Matthew James Horsnell, Stephan Diestelhorst
  • Publication number: 20180143771
    Abstract: The apparatus operable to communicate with a memory comprises a persistent write tracker component operable to track frequency of persistent writes to at least one memory location during a time window; a threshold-exceeded detector component responsive to the tracker component and operable to detect excessive persistent writes to the at least one memory location during the time window; and a selective throttle component operable in response to a threshold-exceeded outcome from the detector component to cause selective throttling of persistent writes to the at least one memory location.
    Type: Application
    Filed: November 22, 2016
    Publication date: May 24, 2018
    Applicant: ARM Limited
    Inventors: Kshitij SUDAN, Stephan DIESTELHORST, Michael Andrew CAMPBELL
  • Publication number: 20180143679
    Abstract: There is provided an apparatus comprising a requirement determination unit to determine an energy requirement for a system component. A status determination unit determines status information relating to a plurality of heterogeneous energy stores and actuating system control unit controls an activity of the system component in dependence on the status information relating to the plurality of heterogeneous energy stores and the energy requirement.
    Type: Application
    Filed: March 10, 2016
    Publication date: May 24, 2018
    Inventors: Andreas HANSSON, Ashley John CRAWFORD, Stephan DIESTELHORST, James Edward MYERS
  • Publication number: 20180121204
    Abstract: A processing core of a plurality of processing cores is configured to execute a speculative region of code a single atomic memory transaction with respect one or more others of the plurality of processing cores. In response to determining an abort condition for issued one of the plurality of program instructions and in response to determining that the issued program instruction is not part of a mispredicted execution path, the processing core is configured to abort an attempt to execute the speculative region of code.
    Type: Application
    Filed: December 18, 2017
    Publication date: May 3, 2018
    Inventors: Jaewoong CHUNG, David S. CHRISTIE, Michael P. HOHMUTH, Stephan DIESTELHORST, Martin POHLACK, Luke YEN
  • Publication number: 20180109889
    Abstract: Subject matter disclosed herein may relate to hearing aids, and may relate more particularly to adjusting one or more parameters for one or more hearing aids based, at least in part, on one or more detected audio interactions between a user and one or more second parties.
    Type: Application
    Filed: October 18, 2016
    Publication date: April 19, 2018
    Inventors: Sang-Hun Kang, Stephan Diestelhorst
  • Patent number: 9946492
    Abstract: A data processing system 2 including non-volatile memory 22 manages the ordering of writes to the non-volatile memory and persist barrier instructions using a persist buffer storing persist buffer data. A write controller responds to the persist buffer data to prevent writing to the non-volatile memory for instructions following a given persist barrier instruction within a sequence of program instructions before the writes to the non-volatile memory which precede that given persist barrier instruction have at least been acknowledged as received by the memory system containing the non-volatile memory. In the case of a multi-core system, cache snooping mechanisms are used to pass persistency dependence data between cores such that strong persist atomicity may be tracked and managed between the cores.
    Type: Grant
    Filed: October 30, 2015
    Date of Patent: April 17, 2018
    Assignees: ARM Limited, The Regents of the University of Michigan
    Inventors: Stephan Diestelhorst, Aasheesh Kolli, Ali Ghassan Saidi, Peter Chen, Thomas Friedrich Wenisch
  • Patent number: 9916189
    Abstract: In the described embodiments, entities in a computing device selectively write specified values to a lock variable in a local cache and one or more lower levels of a memory hierarchy to enable multiple entities to enable the concurrent execution of corresponding critical sections of program code that are protected by a same lock.
    Type: Grant
    Filed: September 6, 2014
    Date of Patent: March 13, 2018
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventors: Martin T. Pohlack, Stephan Diestelhorst
  • Patent number: 9880848
    Abstract: A processing core of a plurality of processing cores is configured to execute a speculative region of code as a single atomic memory transaction with respect one or more others of the plurality of processing cores. In response to determining an abort condition for an issued one of the plurality of program instructions and in response to determining that the issued program instruction is not part of a mispredicted execution path, the processing core is configured to abort an attempt to execute the speculative region of code.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: January 30, 2018
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin T. Pohlack, Luke Yen
  • Publication number: 20170351517
    Abstract: A data processing system supporting execution of transactions comprising one or more program instructions that execute to generate speculative updates is provided. The speculative updates are committed in normal operation if the transaction completes without a conflict. Start of execution of a transaction may be detected and execution diverted to be performed by software emulation rather than direct execution by the processing hardware. The software emulation may store data representing one or more versions of the speculative updates generated during the emulation. The software emulation may also detect conflicts with the transaction being emulated. In order to facilitate modifying the behaviour of other parts of the system interacting with a transaction under investigation, a non-standard response signal may be returned in response to a detected memory access request to a transaction being emulated.
    Type: Application
    Filed: November 23, 2015
    Publication date: December 7, 2017
    Inventors: Stephan DIESTELHORST, Michael John WILLIAMS, Richard Roy GRISENTHWAITE, Matthew James HORSNELL
  • Publication number: 20170344480
    Abstract: A data processing apparatus includes one or more host processors with first processing units, one or more caches with second processing unit, a non-cache memory having a third processing unit and a reorder buffer operable to maintain data order during execution of a program of instructions. An instruction scheduler routes instructions to the processing units. Data coherence is maintained by control logic that blocks access to data locations in use by a selected processing unit other than the selected processing unit until data associated with the data locations are released from the reorder buffer. Data stored in the cache is written to the memory if it is already in a modified state, otherwise the state is set to the modified state. A memory controller may be used to restrict access to memory locations to be operated on.
    Type: Application
    Filed: May 27, 2016
    Publication date: November 30, 2017
    Applicant: ARM Limited
    Inventors: Jonathan Curtis BEARD, Wendy ELSASSER, Stephan DIESTELHORST
  • Publication number: 20170344366
    Abstract: A data processing apparatus, and method of operation thereof, for executing instructions. The apparatus includes one or more host processors, each having a first processing unit, and a multi-level memory system. One or more levels of the memory system are tightly coupled to a corresponding second processing unit. At least one of the host processors includes an instruction scheduler that routes instructions selectively to at least one of the first and second processing units, dependent upon the availability of the processing units and the location, within the memory system, of data to be used when executing the instructions.
    Type: Application
    Filed: May 27, 2016
    Publication date: November 30, 2017
    Applicant: ARM Limited
    Inventors: Jonathan Curtis BEARD, Wendy ELSASSER, Eric VAN HENSBERGEN, Stephan DIESTELHORST
  • Publication number: 20170337115
    Abstract: A data processing apparatus (4) includes processing circuitry (6) for executing program instructions that form part of a transaction which executes to generate speculative updates and to commit the speculative updates if the transaction completes without a conflict. Instruction sampling circuitry (44) captures instruction diagnostic data (IDD) relating to execution of a sampled instruction. Transaction tracking circuitry (46) detects if the sampled instruction is within a transaction and if so, tracks whether the speculative updates associated with the transaction are committed and captures transaction diagnostic data (TDD) indicative of whether or not the speculative updates were committed. Thus, both instruction diagnostic data relating to a sampled instruction and transaction diagnostic data relating to the fate of a transaction containing a sampled instruction are captured.
    Type: Application
    Filed: November 23, 2015
    Publication date: November 23, 2017
    Inventors: Michael John WILLIAMS, John Michael HORLEY, Stephan DIESTELHORST
  • Publication number: 20170329627
    Abstract: An apparatus (2) may have a processing element (4) for performing data access operations to access data from at least one storage device (10, 12, 14). The processing element may have at least one transactional processing resource (10, 18) supporting processing of a transaction in which data accesses are performed speculatively following a transaction start event and for which the speculative results are committed in response to a transaction end event. Monitoring circuitry (30) captures monitoring data indicating a degree of utilization of the transactional processing resource (10, 18) when processing the transaction.
    Type: Application
    Filed: November 24, 2015
    Publication date: November 16, 2017
    Inventors: Stephan DIESTELHORST, Matthew James HORSNELL
  • Publication number: 20170329626
    Abstract: An apparatus (2) has processing circuitry (6) having access to a first processing resource (20-0) and a second processing resource (20-3). A first thread can be processed using the first processing resource. In a thread mode the second processing resource (20-3) can be used to process a second thread while in a transaction mode the second processing resource (20-3) can be used to process a transaction of the first thread comprising a number of speculatively performed operations for which results are committed at the end of the transaction. By sharing resources for supporting additional threads and supporting transactions, circuit area and power consumption can be reduced.
    Type: Application
    Filed: November 24, 2015
    Publication date: November 16, 2017
    Inventors: Stephan DIESTELHORST, Matthew James HORSNELL, Guy LARRI