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).

  • Patent number: 10635325
    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: Grant
    Filed: November 22, 2016
    Date of Patent: April 28, 2020
    Assignee: ARM Limited
    Inventors: Kshitij Sudan, Stephan Diestelhorst, Michael Andrew Campbell
  • Patent number: 10628318
    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. Sector use prediction circuitry is provided which stores a set of sector use pattern entries. In response to a data access request received from a system component specifying one or more data items, a pattern entry is selected and a sector use prediction is generated in dependence on a sector use pattern in the selected pattern entry. Further data items may then be retrieved which are not specified in the data access request but are indicated by the sector use prediction.
    Type: Grant
    Filed: January 29, 2018
    Date of Patent: April 21, 2020
    Assignee: ARM LIMITED
    Inventors: Nikos Nikoleris, Andreas Lars Sandberg, Jonas S̆vedas, Stephan Diestelhorst
  • Patent number: 10592424
    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: Grant
    Filed: November 21, 2017
    Date of Patent: March 17, 2020
    Assignee: Arm Limited
    Inventors: Jonathan Curtis Beard, Stephan Diestelhorst
  • Patent number: 10572299
    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: Grant
    Filed: November 24, 2015
    Date of Patent: February 25, 2020
    Assignee: ARM Limited
    Inventors: Stephan Diestelhorst, Matthew James Horsnell, Guy Larri
  • Publication number: 20200050541
    Abstract: Broadly speaking, embodiments of the present technique provide apparatus and methods for improved wear-levelling in (volatile and non-volatile) memories. In particular, the present wear-levelling techniques comprise moving static memory states within a memory, in order to substantially balance writes across all locations within the memory.
    Type: Application
    Filed: January 9, 2018
    Publication date: February 13, 2020
    Inventors: Ireneus Johannes de Jong, Andres Amaya Garcia, Stephan Diestelhorst
  • Patent number: 10552152
    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: Grant
    Filed: May 27, 2016
    Date of Patent: February 4, 2020
    Assignee: Arm Limited
    Inventors: Jonathan Curtis Beard, Wendy Elsasser, Eric Van Hensbergen, Stephan Diestelhorst
  • Publication number: 20200034303
    Abstract: Aspects of the present disclosure relate to an apparatus comprising a data array having locality-dependent latency characteristics such that an access to an open unit of the data array has a lower latency than an access to a closed unit of the data array. Set associative cache indexing circuitry determines, in response to a request for data associated with a target address, a cache set index. Mapping circuitry identifies, in response to the index, a set of data array locations corresponding to the index, according to a mapping in which a given unit of the data array comprises locations corresponding to a plurality of consecutive indices, and at least two locations of the set of locations corresponding to the same index are in different units of the data array. Cache access circuitry accesses said data from one of the set of data array locations.
    Type: Application
    Filed: September 26, 2018
    Publication date: January 30, 2020
    Inventors: Radhika Sanjeev JAGTAP, Nikos NIKOLERIS, Andreas Lars SANDBERG, Stephan DIESTELHORST
  • Publication number: 20190361706
    Abstract: A branch predictor is provided with a branch state buffer, branch prediction save circuitry responsive to a branch prediction save event associated with a given execution context to save at least a portion of the active branch prediction state associated with the given execution context to a branch state buffer; and branch prediction restore circuitry responsive to a branch prediction restore event associated with the given execution context to restore active branch prediction state based on previously saved branch prediction state stored in the branch state buffer for the given execution context. This is useful for reducing the performance impact of mitigating against speculative side-channel attacks.
    Type: Application
    Filed: June 26, 2018
    Publication date: November 28, 2019
    Inventors: Ilias VOUGIOUKAS, Andreas Lars SANDBERG, Stephan DIESTELHORST, Matthew James HORSNELL
  • Publication number: 20190361707
    Abstract: A TAGE branch predictor has, as its fallback predictor, a perceptron predictor. This provides a branch predictor which reduces the penalty of context switches and branch prediction state flushes.
    Type: Application
    Filed: June 26, 2018
    Publication date: November 28, 2019
    Inventors: Ilias VOUGIOUKAS, Stephan DIESTELHORST, Andreas Lars SANDBERG, Nikos NIKOLERIS
  • Publication number: 20190324908
    Abstract: Methods and apparatus are provided for executing a transaction in a data processing system, responsive to each memory access of the transaction, a transaction log is updated in a persistent memory. After execution of the transaction and when the transaction log is complete, the transaction log is marked as ‘pending’. When all values modified in the transaction have been written back to the persistent memory, the transaction log is marked as ‘free’. When, following a reboot, a transaction log is marked as ‘pending’, data stored in the transaction log is copied to the persistent memory at addresses indicated in the transaction log. After the copying is complete, the transaction log is marked as ‘free’. Cache values modified in the transaction may be written back to persistent memory when evicted, and values read in the transaction may be read from the cache rather than from the transaction log.
    Type: Application
    Filed: April 24, 2018
    Publication date: October 24, 2019
    Applicant: Arm Limited
    Inventors: Stephan DIESTELHORST, Wei WANG
  • Patent number: 10445238
    Abstract: Methods and apparatus are provided for executing a transaction in a data processing system, responsive to each memory access of the transaction, a transaction log is updated in a persistent memory. After execution of the transaction and when the transaction log is complete, the transaction log is marked as ‘pending’. When all values modified in the transaction have been written back to the persistent memory, the transaction log is marked as ‘free’. When, following a reboot, a transaction log is marked as ‘pending’, data stored in the transaction log is copied to the persistent memory at addresses indicated in the transaction log. After the copying is complete, the transaction log is marked as ‘free’. Cache values modified in the transaction may be written back to persistent memory when evicted, and values read in the transaction may be read from the cache rather than from the transaction log.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: October 15, 2019
    Assignee: Arm Limited
    Inventors: Stephan Diestelhorst, Wei Wang
  • Patent number: 10409738
    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: Grant
    Filed: August 23, 2016
    Date of Patent: September 10, 2019
    Assignee: ARM Limited
    Inventors: Syed Ali Raza Jafri, Stephan Diestelhorst
  • Patent number: 10394557
    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: Grant
    Filed: November 23, 2015
    Date of Patent: August 27, 2019
    Assignee: ARM Limited
    Inventors: Stephan Diestelhorst, Michael John Williams, Richard Roy Grisenthwaite, Matthew James Horsnell
  • Publication number: 20190243778
    Abstract: Memory address translation apparatus comprises page table access circuitry to access a page table to retrieve translation data defining an address translation between an initial memory address in an initial memory address space, and a corresponding output memory address in an output address space; a translation data buffer to store, for a subset of the initial address space, one or more instances of the translation data; the translation data buffer comprising: an array of storage locations arranged in rows and columns; a row buffer comprising a plurality of entries each to store information from a respective portion of a row of the array; and comparison circuitry responsive to a key value dependent upon at least the initial memory address, to compare the key value with information stored in each of at least one key entry of the row buffer, each key entry having an associated value entry for storing at least a representation of a corresponding output memory address, and to identify which of the at least one ke
    Type: Application
    Filed: November 29, 2017
    Publication date: August 8, 2019
    Inventors: Nikos NIKOLERIS, Andreas Lars SANDBERG, Prakash S. RAMRAKHYANI, Stephan DIESTELHORST
  • Publication number: 20190155742
    Abstract: There is provided an apparatus that includes an input address port to receive an input address from processor circuitry. Address storage stores a translation between the input address and an output address in an output address space. An output address port outputs the output address. An input data port receives data. Data storage stores the data. An output data port outputs the data stored in the data storage and control circuitry causes the data storage to store the translation between the input address and the output address. The control circuitry issues a signal to cause a page walk to occur in response to the input address being absent from the address storage and the data storage.
    Type: Application
    Filed: October 24, 2018
    Publication date: May 23, 2019
    Inventors: Prakash S. RAMRAKHYANI, Andreas Lars SANDBERG, Nikos NIKOLERIS, Stephan DIESTELHORST
  • Publication number: 20190155747
    Abstract: There is provided an apparatus that includes an input port to receive, from a requester, any one of: a lookup operation comprising an input address, and a maintenance operation. Maintenance queue circuitry stores a maintenance queue of at least one maintenance operation and address storage stores a translation between the input address and an output address in an output address space. In response to receiving the input address, the output address is provided in dependence on the maintenance queue. In response to storing the maintenance operation, the maintenance queue circuitry causes an acknowledgement to be sent to the requester. By providing a separate maintenance queue for performing the maintenance operation, there is no need for a requester to be blocked while maintenance is performed.
    Type: Application
    Filed: October 24, 2018
    Publication date: May 23, 2019
    Inventors: Andreas Lars SANDBERG, Nikos NIKOLERIS, Prakash S. RAMRAKHYANI, Stephan DIESTELHORST
  • Publication number: 20190129633
    Abstract: Disclosed are devices, method and/or systems for responding to a request for accessing a portion of a memory prior to completion of a requested operation to place the portion of the memory in an initialized state. In one example implementation, a memory controller may delay initiation of a write operation addressed to a particular portion of the memory until completion of a pending request to initialize the particular portion of the memory. In another example implementation, a memory controller may return values to service a request for a read operation comprising values representing an initialized state without accessing the particular portion of the memory responsive to a presence of a pending request to initialize the particular portion of the memory.
    Type: Application
    Filed: October 30, 2017
    Publication date: May 2, 2019
    Inventors: Wei Wang, Wendy Arnott Elsasser, Stephan Diestelhorst
  • Publication number: 20190129871
    Abstract: A method and apparatus are provided for assigning transport priorities to messages in a data processing system. An incoming message at an input/output (I/O) interface of the data processing system includes a message identifier and payload data. Match information, including an indicator or whether the message identifier of the incoming message matches an identifier of a request in a receive queue (RQ), is used to assign a transport priority value to the incoming message. The incoming message is transported to the destination node through an interconnect structure dependent upon the assigned transport priority value.
    Type: Application
    Filed: January 29, 2018
    Publication date: May 2, 2019
    Applicant: Arm Limited
    Inventors: Alejandro Rico Carro, Pavel Shamis, Stephan Diestelhorst
  • Patent number: 10228942
    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: Grant
    Filed: November 23, 2015
    Date of Patent: March 12, 2019
    Assignee: ARM Limited
    Inventors: Michael John Williams, John Michael Horley, Stephan Diestelhorst
  • Patent number: 10231067
    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 digital audio parameters converted from an electrical audio signal or on one or more characteristics of a particular environment, or a combination thereof.
    Type: Grant
    Filed: October 18, 2016
    Date of Patent: March 12, 2019
    Assignee: ARM Ltd.
    Inventors: Sang-Hun Kang, Stephan Diestelhorst