Apparatus and method for performing operations on capability metadata

    公开(公告)号:US11481384B2

    公开(公告)日:2022-10-25

    申请号:US16094224

    申请日:2017-03-29

    Applicant: ARM LIMITED

    Abstract: An apparatus is provided comprising storage elements to store data blocks, where each data block has capability metadata associated therewith identifying whether the data block specifies a capability, at least one capability type being a bounded pointer. Processing circuitry is then arranged to be responsive to a bulk capability metadata operation identifying a plurality of the storage elements, to perform an operation on the capability metadata associated with each data block stored in the plurality of storage elements. Via a single specified operation, this hence enables query and/or modification operations to be performed on multiple items of capability metadata, hence providing more efficient access to such capability metadata.

    Apparatus and method for managing capability metadata

    公开(公告)号:US11119925B2

    公开(公告)日:2021-09-14

    申请号:US16609298

    申请日:2018-04-19

    Applicant: Arm Limited

    Abstract: Apparatus comprising cache storage and a method of operating such a cache storage are provided. Data blocks in the cache storage have capability metadata stored in association therewith identifying whether the data block specifies a capability or a data value. At least one type of capability is a bounded pointer. Responsive to a write to a data block in the cache storage a capability metadata modification marker is set in association with the data block, indicative of whether the capability metadata associated with the data block has changed since the data block was stored in the cache storage. This supports the security of the system, such that modification of the use of a data block from a data value to a capability cannot take place unless intended. Efficiencies may also result when capability metadata is stored separately from other data in memory, as fewer accesses to memory can be made.

    Data processing apparatus and method for analysing transient faults occurring within storage elements of the data processing apparatus
    6.
    发明授权
    Data processing apparatus and method for analysing transient faults occurring within storage elements of the data processing apparatus 有权
    用于分析数据处理装置的存储元件内发生的瞬态故障的数据处理装置和方法

    公开(公告)号:US09116844B2

    公开(公告)日:2015-08-25

    申请号:US14246162

    申请日:2014-04-07

    Applicant: ARM Limited

    Abstract: A data processing apparatus has a plurality of storage elements residing at different physical locations within the apparatus, and fault history circuitry for detecting local transient faults occurring in each storage element, and for maintaining global transient fault history data based on the detected local transient faults. Analysis circuitry monitors the global transient fault history data to determine, based on predetermined criteria, whether the global transient fault history data is indicative of random transient faults occurring within the data processing apparatus, or is indicative of a coordinated transient fault attack. The analysis circuitry is then configured to initiate a countermeasure action on determination of a coordinated transient fault attack. This provides a simple and effective mechanism for distinguishing between random transient faults that may naturally occur, and a coordinated transient fault attack that may be initiated in an attempt to circumvent the security of the data processing apparatus.

    Abstract translation: 数据处理装置具有驻留在装置内的不同物理位置的多个存储元件,以及故障历史电路,用于检测每个存储元件中发生的局部瞬态故障,并且用于基于检测到的局部瞬态故障来维护全局瞬态故障历史数据。 分析电路监视全局瞬态故障历史数据,以基于预定标准确定全局瞬态故障历史数据是否表示在数据处理装置内发生的随机瞬态故障,或指示协调的瞬时故障攻击。 分析电路然后被配置为启动对协调的瞬态故障攻击的确定的对策动作。 这提供了一种用于区分可能自然发生的随机瞬态故障的简单和有效的机制,以及可以在试图绕过数据处理设备的安全性时发起的协调的瞬态故障攻击。

    Fault handling in address translation transactions
    8.
    发明授权
    Fault handling in address translation transactions 有权
    地址转换交易中的故障处理

    公开(公告)号:US08898430B2

    公开(公告)日:2014-11-25

    申请号:US13705316

    申请日:2012-12-05

    Applicant: ARM Limited

    CPC classification number: G06F12/0891 G06F11/073 G06F11/0793

    Abstract: A data processing apparatus having a memory configured to store tables having virtual to physical address translations, a cache configured to store a subset of the virtual to physical address translations and cache management circuitry configured to control transactions received from the processor requesting virtual address to physical address translations. The data processing apparatus identifies where a faulting transaction has occurred during execution of a context and whether the faulting transaction has a transaction stall or transaction terminate fault. The cache management circuitry is responsive to identification of the faulting transaction having a transaction terminate fault to invalidate all address translations in the cache that relate to the context of the faulting transaction such that a valid bit associated with each entry in the cache is set to invalid for the address translations.

    Abstract translation: 一种具有被配置为存储具有虚拟到物理地址转换的表的存储器的数据处理装置,被配置为存储虚拟到物理地址转换的子集的高速缓存以及被配置为控制从处理器接收到的处理器请求虚拟地址到物理地址的高速缓存管理电路 翻译。 数据处理装置识别在执行上下文期间发生故障事务的位置,以及故障事务是否具有事务处理或事务终止故障。 高速缓存管理电路响应于具有事务终止故障的故障事务的识别,以使与高速缓存中的上下文相关的高速缓存中的所有地址转换无效,使得与高速缓存中的每个条目相关联的有效位被设置为无效 为地址翻译。

    FAULT HANDLING IN ADDRESS TRANSLATION TRANSACTIONS
    9.
    发明申请
    FAULT HANDLING IN ADDRESS TRANSLATION TRANSACTIONS 有权
    处理翻译交易中的错误处理

    公开(公告)号:US20140156949A1

    公开(公告)日:2014-06-05

    申请号:US13705316

    申请日:2012-12-05

    Applicant: ARM LIMITED

    CPC classification number: G06F12/0891 G06F11/073 G06F11/0793

    Abstract: A data processing apparatus having a memory configured to store tables having virtual to physical address translations, a cache configured to store a subset of the virtual to physical address translations and cache management circuitry configured to control transactions received from the processor requesting virtual address to physical address translations. The data processing apparatus identifies where a faulting transaction has occurred during execution of a context and whether the faulting transaction has a transaction stall or transaction terminate fault. The cache management circuitry is responsive to identification of the faulting transaction having a transaction terminate fault to invalidate all address translations in the cache that relate to the context of the faulting transaction such that a valid bit associated with each entry in the cache is set to invalid for the address translations.

    Abstract translation: 一种具有被配置为存储具有虚拟到物理地址转换的表的存储器的数据处理装置,被配置为存储虚拟到物理地址转换的子集的高速缓存以及被配置为控制从处理器接收到的处理器请求虚拟地址到物理地址的高速缓存管理电路 翻译。 数据处理装置识别在执行上下文期间发生故障事务的位置,以及故障事务是否具有事务处理或事务终止故障。 高速缓存管理电路响应于具有事务终止故障的故障事务的识别,以使与高速缓存中的上下文相关的高速缓存中的所有地址转换无效,使得与高速缓存中的每个条目相关联的有效位被设置为无效 为地址翻译。

    Support apparatus and method for processing data and using hardware support for atomic memory transactions

    公开(公告)号:US10241933B2

    公开(公告)日:2019-03-26

    申请号:US15123805

    申请日:2015-03-04

    Applicant: ARM LIMITED

    Abstract: An asymmetric multiprocessor system includes a plurality of processor cores supporting transactional memory via controllers as well as one or more processor cores which do not support transactional memory via hardware. The controllers respond to receipt of a request for exclusive access to a lock address by determining whether or not their associated processors is currently executing a memory transaction guarded by a lock value stored at that lock address and if their processor is executing such a transaction, then delaying releasing the lock address for exclusive access until a predetermined condition is met. If the processor is not executing such a guarded memory transaction, then the lock address may be unconditionally released for exclusive access. The predetermined condition may be that a threshold delay has been exceeded since the request was received and/or that the request has previously been received and refused a threshold number of times. The request may arise through execution of a transaction start instruction which serves to read a lock address from an architectural register storing the lock address should the processor executing that transaction start instruction not already be executing a pending memory transaction. If the processor is already executing a memory transaction, then the transaction start instruction need not access the lock value stored at the lock address held within the lock address register as it may be assumed that the lock value has already been checked.

Patent Agency Ranking