Patents by Inventor Matthias Lothar Böttcher

Matthias Lothar Böttcher 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: 20210058237
    Abstract: An apparatus and method are described, the apparatus comprising memory control circuitry configured to control access to data stored in memory, and memory security circuitry configured to generate encrypted data to be stored in the memory, the encrypted data being based on target data and a first one-time-pad (OTP). In response to an OTP update event indicating that the first OTP is to be updated to a second OTP different to the first OTP, the memory security circuitry is configured to generate a re-encryption value based on the first OTP and the second OTP, and the memory security circuitry is configured to issue a re-encryption request to cause updated encrypted data to be generated in a downstream component based on the encrypted data and the re-encryption value and to cause the encrypted data to be replaced in the memory by the updated encrypted data.
    Type: Application
    Filed: August 21, 2019
    Publication date: February 25, 2021
    Inventors: Andreas Lars SANDBERG, Matthias Lothar BOETTCHER, Prakash S. RAMRAKHYANI
  • Publication number: 20200233742
    Abstract: An apparatus comprising data processing circuitry for processing data in one of a plurality of operating states, an instruction decoder for decoding instructions and error checking circuitry for performing error checking operations. In response to a touch instruction being decoded by the instruction decoder, error checking operation is performed on selected architectural state. The architectural state is architecturally inaccessible to the operating state. As a result of the touch instruction, the architectural state remains unchanged, at least when no error is detected.
    Type: Application
    Filed: January 18, 2019
    Publication date: July 23, 2020
    Inventors: Matthias Lothar BOETTCHER, François Christopher Jacques BOTMAN, Jacob EAPEN
  • Publication number: 20200192742
    Abstract: An apparatus has a processing pipeline (2) comprising an execute stage (30) and at least one front end stage (10), (20), for controlling which micro operations are issued to the execute stage. The pipeline has an intra-core lockstep mode of operation in which the at least one front end stage (10), (20), (25) issues micro operations for controlling the execute stage (30) to perform main processing and checker processing. The checker processing comprises redundant operations corresponding to associated main operations of at least part of the main processing. Error handling circuitry (200), (210) is responsive to the detection of a mismatch between information associated with given checker and main operations to trigger a recovery operation to correct an error and continue forward progress of the main processing.
    Type: Application
    Filed: August 30, 2018
    Publication date: June 18, 2020
    Inventors: Matthias Lothar BOETTCHER, Mbou EYOLE, Balaji VENU
  • Publication number: 20200192775
    Abstract: A buffer (72), (74), (76), (60), (78), (20), (82-90) has a number of entries for buffering items associated with data processing operations. Buffer control circuitry (100) has a redundant allocation mode in which, on allocating a given item to the buffer, the item is allocated to two or more redundant entries of the buffer. On reading or draining an item from the buffer, the redundant entries are compared and an error handling response is triggered if a mismatch is detected. By effectively reducing the buffer capacity, this simplifies testing for faults in buffer entries.
    Type: Application
    Filed: August 30, 2018
    Publication date: June 18, 2020
    Inventors: Balaji VENU, Matthias Lothar BOETTCHER, Mbou EYOLE
  • Publication number: 20190340054
    Abstract: A data processing apparatus (2) has scalar processing circuitry (32-42) and vector processing circuitry (38, 40, 42). When executing main scalar processing on the scalar processing circuitry (32-42), or main vector processing using a subset of said plurality of lanes on the vector processing circuitry (38, 40, 42), checker processing is executed using at least one lane of the plurality of lanes on the vector processing circuitry (38, 40, 42), the checker processing comprising operations corresponding to at least part of the main scalar/vector processing. Errors can then be detected based on a comparison of an outcome of the main processing and an outcome of the checker processing. This provides a technique for achieving functional safety in a high end processor with better performance and reduced hardware cost compared to a dual/triple core lockstep approach.
    Type: Application
    Filed: December 12, 2017
    Publication date: November 7, 2019
    Inventors: Matthias Lothar BOETTCHER, Mbou EYOLE, Nathanael PREMILLIEU
  • Patent number: 10445093
    Abstract: Data processing apparatus comprises vector processing circuitry to apply a vector processing instruction to data vectors having a data vector length, each data vector comprising a plurality of data items equal in number to the data vector length, the vector processing circuitry having circuitry defining a plurality of processing lanes, there being at least as many processing lanes as a maximum data vector length; and control circuitry to selectively vary the data vector length used by the vector processing circuitry amongst a plurality of possible data vector length values up to the maximum data vector length and to disable operation of a subset of the processing lanes so that the disabled subset of processing lanes are unavailable for use by the vector processing circuitry and there remain at least as many enabled processing lanes as the data vector length set by the control circuitry.
    Type: Grant
    Filed: December 7, 2016
    Date of Patent: October 15, 2019
    Assignee: ARM Limited
    Inventors: Mbou Eyole, Matthias Lothar Boettcher
  • Patent number: 10437594
    Abstract: An apparatus and method are provided for transferring a plurality of data structures from memory into one or more vectors of data elements stored in a register bank. The apparatus has first interface circuitry to receive data structures retrieved from memory, where each data structure has an associated identifier and comprises N data elements. Multi-axial buffer circuitry is provided having an array of storage elements, where along a first axis the array is organized as N sets of storage elements, each set containing a plurality VL of storage elements, and where along a second axis the array is organized as groups of N storage elements, with each group containing a storage element from each of the N sets. Access control circuitry then stores the N data elements of a received data structure in one of the groups selected in dependence on the associated identifier.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: October 8, 2019
    Assignee: ARM Limited
    Inventors: Mbou Eyole, Matthias Lothar Boettcher
  • Publication number: 20190163902
    Abstract: A data processing apparatus comprises branch prediction circuitry adapted to store at least one branch prediction state entry in relation to a stream of instructions, input circuitry to receive at least one input to generate a new branch prediction state entry, wherein the at least one input comprises a plurality of bits; and coding circuitry adapted to perform an encoding operation to encode at least some of the plurality of bits based on a value associated with a current execution environment in which the stream of instructions is being executed. This guards against potential attacks which exploit the ability for branch prediction entries trained by one execution environment to be used by another execution environment as a basis for branch predictions.
    Type: Application
    Filed: October 2, 2018
    Publication date: May 30, 2019
    Inventors: Alastair David REID, Dominic Phillip MULLIGAN, Milosch MERIAC, Matthias Lothar BOETTCHER, Nathan Yong Seng CHONG, Ian Michael CAULFIELD, Peter Richard GREENHALGH, Frederic Claude Marie PIRY, Albin Pierrick TONNERRE, Thomas Christopher GROCUTT, Yasuo ISHII
  • Publication number: 20180217840
    Abstract: An apparatus and method are provided for transferring a plurality of data structures from memory into one or more vectors of data elements stored in a register bank. The apparatus has first interface circuitry to receive data structures retrieved from memory, where each data structure has an associated identifier and comprises N data elements. Multi-axial buffer circuitry is provided having an array of storage elements, where along a first axis the array is organised as N sets of storage elements, each set containing a plurality VL of storage elements, and where along a second axis the array is organised as groups of N storage elements, with each group containing a storage element from each of the N sets. Access control circuitry then stores the N data elements of a received data structure in one of the groups selected in dependence on the associated identifier.
    Type: Application
    Filed: June 15, 2016
    Publication date: August 2, 2018
    Inventors: Mbou EYOLE, Matthias Lothar BOETTCHER
  • Patent number: 9684601
    Abstract: A data processing apparatus has a cache and a translation look aside buffer (TLB). A way table is provided for identifying which of a plurality of cache ways stores require data. Each way table entry corresponds to one of the TLB entries of the TLB and identifies, for each memory location of the page associated with the corresponding TLB entry, which cache way stores the data associated with that memory location. Also, the cache may be capable of servicing M access requests in the same processing cycle. An arbiter may select pending access requests for servicing by the cache in a way that ensures that the selected pending access requests specify a maximum of N different virtual page addresses, where N<M.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: June 20, 2017
    Assignee: ARM Limited
    Inventors: Matthias Lothar Böttcher, Daniel Kershaw
  • Publication number: 20170168820
    Abstract: Data processing apparatus comprises vector processing circuitry to apply a vector processing instruction to data vectors having a data vector length, each data vector comprising a plurality of data items equal in number to the data vector length, the vector processing circuitry having circuitry defining a plurality of processing lanes, there being at least as many processing lanes as a maximum data vector length; and control circuitry to selectively vary the data vector length used by the vector processing circuitry amongst a plurality of possible data vector length values up to the maximum data vector length and to disable operation of a subset of the processing lanes so that the disabled subset of processing lanes are unavailable for use by the vector processing circuitry and there remain at least as many enabled processing lanes as the data vector length set by the control circuitry.
    Type: Application
    Filed: December 7, 2016
    Publication date: June 15, 2017
    Inventors: Mbou EYOLE, Matthias Lothar BOETTCHER
  • Patent number: 9557995
    Abstract: A data processing apparatus and method are provided for performing segmented operations. The data processing apparatus comprises a vector register store for storing vector operands, and vector processing circuitry providing N lanes of parallel processing, and arranged to perform a segmented operation on up to N data elements provided by a specified vector operand, each data element being allocated to one of the N lanes. The up to N data elements forms a plurality of segments, and performance of the segmented operation comprises performing a separate operation on the data elements of each segment, the separate operation involving interaction between the lanes containing the data elements of the associated segment.
    Type: Grant
    Filed: February 7, 2014
    Date of Patent: January 31, 2017
    Assignee: ARM Limited
    Inventors: Mbou Eyole-Monono, Alastair David Reid, Matthias Lothar Böttcher, Giacomo Gabrielli
  • Patent number: 9355061
    Abstract: A data processing apparatus and method are provided for executing a vector scan instruction. The data processing apparatus comprises a vector register store configured to store vector operands, and processing circuitry configured to perform operations on vector operands retrieved from said vector register store. Further, control circuitry is configured to control the processing circuitry to perform the operations required by one or more instructions, said one or more instructions including a vector scan instruction specifying a vector operand comprising N vector elements and defining a scan operation to be performed on a sequence of vector elements within the vector operand.
    Type: Grant
    Filed: January 28, 2014
    Date of Patent: May 31, 2016
    Assignee: ARM Limited
    Inventors: Matthias Lothar Boettcher, Mbou Eyole-Monono, Giacomo Gabrielli
  • Publication number: 20150227367
    Abstract: A data processing apparatus and method are provided for performing segmented operations. The data processing apparatus comprises a vector register store for storing vector operands, and vector processing circuitry providing N lanes of parallel processing, and arranged to perform a segmented operation on up to N data elements provided by a specified vector operand, each data element being allocated to one of the N lanes. The up to N data elements forms a plurality of segments, and performance of the segmented operation comprises performing a separate operation on the data elements of each segment, the separate operation involving interaction between the lanes containing the data elements of the associated segment.
    Type: Application
    Filed: February 7, 2014
    Publication date: August 13, 2015
    Applicant: ARM LIMITED
    Inventors: Mbou EYOLE-MONONO, Alastair David REID, Matthias Lothar BÖTTCHER, Giacomo GABRIELLI
  • Publication number: 20150212972
    Abstract: A data processing apparatus and method are provided for executing a vector scan instruction. The data processing apparatus comprises a vector register store configured to store vector operands, and processing circuitry configured to perform operations on vector operands retrieved from said vector register store. Further, control circuitry is configured to control the processing circuitry to perform the operations required by one or more instructions, said one or more instructions including a vector scan instruction specifying a vector operand comprising N vector elements and defining a scan operation to be performed on a sequence of vector elements within the vector operand.
    Type: Application
    Filed: January 28, 2014
    Publication date: July 30, 2015
    Applicant: ARM LIMITED
    Inventors: Matthias Lothar BOETTCHER, Mbou EYOLE-MONONO, Giacomo GABRIELLI
  • Publication number: 20130304991
    Abstract: A data processing apparatus has a cache and a translation look aside buffer (TLB). A way table is provided for identifying which of a plurality of cache ways stores require data. Each way table entry corresponds to one of the TLB entries of the TLB and identifies, for each memory location of the page associated with the corresponding TLB entry, which cache way stores the data associated with that memory location. Also, the cache may be capable of servicing M access requests in the same processing cycle. An arbiter may select pending access requests for servicing by the cache in a way that ensures that the selected pending access requests specify a maximum of N different virtual page addresses, where N<M.
    Type: Application
    Filed: May 10, 2012
    Publication date: November 14, 2013
    Applicant: ARM LIMITED
    Inventors: Matthias Lothar Böttcher, Daniel Kershaw