Apparatus and method for managing capability metadata

US11119925B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11119925-B2
Application numberUS-201816609298-A
CountryUS
Kind codeB2
Filing dateApr 19, 2018
Priority dateMay 2, 2017
Publication dateSep 14, 2021
Grant dateSep 14, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus comprising: cache storage to store data blocks, each data block having capability metadata stored in association therewith identifying whether each said data block specifies a capability or a data value, wherein at least one type of capability is a bounded pointer; and cache control circuitry responsive to a write to a data block stored in the cache storage to set a capability metadata modification marker in association with the data block, wherein a value of the capability metadata modification marker is indicative of whether the capability metadata associated with the data block has changed since the data block was stored in the cache storage. 2. The apparatus as claimed in claim 1 , wherein the capability metadata modification marker set in association with the data block corresponds to a plurality of data blocks comprising said data block. 3. The apparatus as claimed in claim 2 , wherein the capability metadata modification marker set in association with the data block is a single bit for each cache line in the cache storage. 4. The apparatus as claimed in claim 1 , wherein the capability metadata modification marker set in association with the data block has a one-to-one correspondence with said data block. 5. The apparatus as claimed in claim 1 , further comprising: a memory controller responsive to a received write transaction for a specified data block and associated capability metadata from the cache storage to a further storage level to suppress a write transaction with respect to the associated capability metadata and the further storage level, when the value of the capability metadata modification marker is indicative that the capability metadata has not changed since the specified data block was stored in the cache storage. 6. The apparatus as claimed in claim 5 , wherein the further storage level is memory storage. 7. The apparatus as claimed in claim 5 , wherein the further storage level is a further cache storage level. 8. The apparatus as claimed in claim 6 , wherein the write transaction is a read-modify-write transaction with respect to the associated capability metadata in the memory storage. 9. The apparatus as claimed in claim 5 , further comprising capability metadata cache storage to store capability metadata at a higher memory hierarchy level than the cache storage, and wherein the memory controller is responsive to a memory access transaction for at least one data block to return required capability metadata associated with the at least one data block, and wherein the memory controller is responsive to the memory access transaction for the at least one data block, when the required capability metadata is not stored in the capability metadata cache storage, to initiate eviction of currently stored capability metadata from the capability metadata cache storage and retrieval of the required capability metadata into the capability metadata cache storage, unless the value of the capability metadata modification marker associated with the at least one data block is indicative that the required capability metadata has not changed since the at least one data block was stored in the cache storage. 10. The apparatus as claimed in claim 9 , wherein each bit stored in the capability metadata cache storage is indicative of whether any of a plurality of bits of capability metadata are set or not. 11. The apparatus as claimed in claim 10 , wherein the capability metadata cache storage comprises at least two hierarchical levels of storage, and each bit stored in a higher hierarchical level is indicative of whether any of a plurality of bits in a next lower hierarchical level are set or not. 12. The apparatus as claimed in claim 1 , wherein the cache storage is capable of storing the data blocks in cache lines, and the capability metadata modification marker set by the cache control circuitry in association with the data block is one of plural bits for each cache line in the cache storage, and wherein each bit of the plural bits for each cache line is indicative of whether the capability metadata for a respective portion of said cache line has changed since the respective portion of said cache line was stored in the cache storage. 13. The apparatus as claimed in claim 12 , wherein the cache control circuitry is responsive to the write to the data block stored in the cache storage to store a data modification marker in association with a data block portion, wherein a value of the data modification marker is indicative of whether the data block portion has been written to since the data block was stored in the cache storage, and wherein the respective portion of said cache line corresponding to the capability metadata modification marker is at least as large as the data block portion. 14. The apparatus as claimed in claim 1 , further comprising: a memory controller responsive to a received write transaction for a specified data block and associated capability metadata from the cache storage to a further storage level, when the capability metadata stored in association with the specified data block is indicative that it is a data value and the value of the capability metadata modification marker is indicative that the capability metadata stored in association with the specified data block has not changed since the specified data block was stored in the cache storage, to issue a memory write transaction to cause the capability metadata stored in memory actively to be set to indicate that the specified data block is a data value. 15. The apparatus as claimed in claim 1 , further comprising: a memory controller responsive to a received write transaction for a specified data block and associated capability metadata from the cache storage to a further storage level, when the capability metadata stored in association with the specified data block is indicative that it is a data value, and when the memory controller has received a signal indicating that another agent has performed a write action to at least one of the specified data block and the associated capability metadata in memory since the specified data block was stored in the cache storage, to issue a memory write transaction to cause the capability metadata stored in memory actively to be set to indicate that the specified data block is a data value. 16. The apparatus as claimed in claim 1 , wherein the apparatus is responsive to transfer of the data block into or out of the cache storage, and when the value of the capability metadata modification marker indicates that the capability metadata associated with the data block has changed, to cause the data block to be treated as modified. 17. The apparatus as claimed in claim 1 , wherein the apparatus is responsive to transfer of the data block into or out of the cache storage, and when a data modification marker is not transferred, to cause the data block and capability metadata modification marker to be treated as clean when the transfer is to a lower cache layer, to cause the data block and capability metadata modification marker to be treated as modified when the transfer is not to a lower cache layer. 18. The apparatus as claimed in claim 1 , wherein the apparatus is responsive to transfer of the data block into or out of the cache storage, and when the capability metadata modification marker is not transferred, to cause the value of the capability metadata modification marker to be inferred from a data modification marker. 19. The apparatus as claimed in claim 1 , wherein the apparat

Assignees

Inventors

Classifications

  • Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually · CPC title

  • for a range · CPC title

  • the protection being physical, e.g. cell, word, block · CPC title

  • with two or more cache hierarchy levels (with multilevel cache hierarchies G06F12/0811) · CPC title

  • with dedicated cache, e.g. instruction or stack · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11119925B2 cover?
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 m…
Who is the assignee on this patent?
Advanced Risc Mach Ltd
What technology area does this patent fall under?
Primary CPC classification G06F12/1441. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 14 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).