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: 10635325Abstract: 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: GrantFiled: November 22, 2016Date of Patent: April 28, 2020Assignee: ARM LimitedInventors: Kshitij Sudan, Stephan Diestelhorst, Michael Andrew Campbell
-
Patent number: 10628318Abstract: 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: GrantFiled: January 29, 2018Date of Patent: April 21, 2020Assignee: ARM LIMITEDInventors: Nikos Nikoleris, Andreas Lars Sandberg, Jonas S̆vedas, Stephan Diestelhorst
-
Patent number: 10592424Abstract: 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: GrantFiled: November 21, 2017Date of Patent: March 17, 2020Assignee: Arm LimitedInventors: Jonathan Curtis Beard, Stephan Diestelhorst
-
Patent number: 10572299Abstract: 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: GrantFiled: November 24, 2015Date of Patent: February 25, 2020Assignee: ARM LimitedInventors: Stephan Diestelhorst, Matthew James Horsnell, Guy Larri
-
Publication number: 20200050541Abstract: 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: ApplicationFiled: January 9, 2018Publication date: February 13, 2020Inventors: Ireneus Johannes de Jong, Andres Amaya Garcia, Stephan Diestelhorst
-
Patent number: 10552152Abstract: 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: GrantFiled: May 27, 2016Date of Patent: February 4, 2020Assignee: Arm LimitedInventors: Jonathan Curtis Beard, Wendy Elsasser, Eric Van Hensbergen, Stephan Diestelhorst
-
Publication number: 20200034303Abstract: 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: ApplicationFiled: September 26, 2018Publication date: January 30, 2020Inventors: Radhika Sanjeev JAGTAP, Nikos NIKOLERIS, Andreas Lars SANDBERG, Stephan DIESTELHORST
-
Publication number: 20190361706Abstract: 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: ApplicationFiled: June 26, 2018Publication date: November 28, 2019Inventors: Ilias VOUGIOUKAS, Andreas Lars SANDBERG, Stephan DIESTELHORST, Matthew James HORSNELL
-
Publication number: 20190361707Abstract: 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: ApplicationFiled: June 26, 2018Publication date: November 28, 2019Inventors: Ilias VOUGIOUKAS, Stephan DIESTELHORST, Andreas Lars SANDBERG, Nikos NIKOLERIS
-
Publication number: 20190324908Abstract: 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: ApplicationFiled: April 24, 2018Publication date: October 24, 2019Applicant: Arm LimitedInventors: Stephan DIESTELHORST, Wei WANG
-
Patent number: 10445238Abstract: 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: GrantFiled: April 24, 2018Date of Patent: October 15, 2019Assignee: Arm LimitedInventors: Stephan Diestelhorst, Wei Wang
-
Patent number: 10409738Abstract: 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: GrantFiled: August 23, 2016Date of Patent: September 10, 2019Assignee: ARM LimitedInventors: Syed Ali Raza Jafri, Stephan Diestelhorst
-
Patent number: 10394557Abstract: 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: GrantFiled: November 23, 2015Date of Patent: August 27, 2019Assignee: ARM LimitedInventors: Stephan Diestelhorst, Michael John Williams, Richard Roy Grisenthwaite, Matthew James Horsnell
-
Publication number: 20190243778Abstract: 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 keType: ApplicationFiled: November 29, 2017Publication date: August 8, 2019Inventors: Nikos NIKOLERIS, Andreas Lars SANDBERG, Prakash S. RAMRAKHYANI, Stephan DIESTELHORST
-
Publication number: 20190155742Abstract: 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: ApplicationFiled: October 24, 2018Publication date: May 23, 2019Inventors: Prakash S. RAMRAKHYANI, Andreas Lars SANDBERG, Nikos NIKOLERIS, Stephan DIESTELHORST
-
Publication number: 20190155747Abstract: 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: ApplicationFiled: October 24, 2018Publication date: May 23, 2019Inventors: Andreas Lars SANDBERG, Nikos NIKOLERIS, Prakash S. RAMRAKHYANI, Stephan DIESTELHORST
-
Publication number: 20190129633Abstract: 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: ApplicationFiled: October 30, 2017Publication date: May 2, 2019Inventors: Wei Wang, Wendy Arnott Elsasser, Stephan Diestelhorst
-
Publication number: 20190129871Abstract: 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: ApplicationFiled: January 29, 2018Publication date: May 2, 2019Applicant: Arm LimitedInventors: Alejandro Rico Carro, Pavel Shamis, Stephan Diestelhorst
-
Patent number: 10228942Abstract: 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: GrantFiled: November 23, 2015Date of Patent: March 12, 2019Assignee: ARM LimitedInventors: Michael John Williams, John Michael Horley, Stephan Diestelhorst
-
Patent number: 10231067Abstract: 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: GrantFiled: October 18, 2016Date of Patent: March 12, 2019Assignee: ARM Ltd.Inventors: Sang-Hun Kang, Stephan Diestelhorst