Multi-level cache security

US11720495B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11720495-B2
Application numberUS-202016882380-A
CountryUS
Kind codeB2
Filing dateMay 22, 2020
Priority dateMay 24, 2019
Publication dateAug 8, 2023
Grant dateAug 8, 2023

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.

In described examples, a coherent memory system includes a central processing unit (CPU) and first and second level caches. The CPU is arranged to execute program instructions to manipulate data in at least a first or second secure context. Each of the first and second caches stores a secure code for indicating the at least first or second secure contexts by which data for a respective cache line is received. The first and second level caches maintain coherency in response to comparing the secure codes of respective lines of cache and executing a cache coherency operation in response.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a central processing unit (CPU) arranged to execute program instructions to manipulate data in at least a first or second secure context, wherein the first and second secure contexts indicate different levels of security; a first level cache coupled to the CPU to temporarily store data in cache lines for manipulation by the CPU, wherein the first level cache includes a first secure code memory for storing a first-level-cache secure code list of secure codes, wherein each secure code indicates one of the at least first or second secure contexts by which data for a respective cache line is received, and wherein the first level cache includes a first level cache controller; and a second level cache coupled to the first level cache to temporarily store data in cache lines for manipulation by the CPU, wherein the second level cache includes a second secure code memory for storing a second-level-cache secure code list of secure codes, wherein each secure code indicates one of the at least first or second secure contexts by which data for a respective cache line is received, and wherein the second level cache includes a second level cache controller; wherein the first level cache controller is configured to send an access request to the second level cache controller, the access request including an address of a selected cache line of data and a secure code indicating the one of the at least first or second secure contexts by which data for the selected cache line was received; and wherein the second level cache controller is configured to compare the address and the secure code of the access request against a secure code stored in the second level cache for a cache line of data indicated by the address of the access request, and in response to the comparison, execute a cache coherency operation. 2. The system of claim 1 , wherein the second level cache includes a shadow copy of the first-level-cache secure code list of secure codes. 3. The system of claim 2 , wherein the first level cache includes a first level local memory addressable by the CPU. 4. The system of claim 3 , wherein the second level cache includes a second level local memory addressable by the CPU. 5. The system of claim 4 , comprising a requestor coupled to the second level cache and arranged to send a coherence read transaction to the second level cache controller, wherein the coherence read transaction includes an address of a cache line of data addressable by the CPU and the secure code that indicates the one of the at least first or second secure contexts by which data for the cache line addressed by the coherence read transaction was received, wherein the second level cache controller compares the address and the secure code of the coherence read transaction against a secure code stored in the second level cache for a cache line of data indicated by the address of the coherence read transaction, and in response to the comparison being affirmative, the second level cache controller generating a snoop read transaction and sending the snoop read transaction to the first level cache. 6. The system of claim 5 , wherein the requestor is one of a memory management unit (MMU), a streaming engine (SE), and a direct memory access (DMA) controller. 7. The system of claim 4 , comprising a third level cache coupled to the second level cache and arranged to send a snoop transaction to the second level cache controller, wherein the snoop transaction includes an address of a cache line of data addressable by the CPU and the secure code that indicates the one of the at least first or second secure contexts by which data for the cache line addressed by the snoop transaction was received, wherein the second level cache controller compares the address and the secure code of the snoop transaction against a secure code stored in the second level cache for a cache line of data indicated by the address of the snoop transaction, and in response to the comparison being affirmative, the second level cache controller generating a snoop read transaction and sending the snoop read transaction to the first level cache. 8. The system of claim 4 , wherein the CPU is arranged to send a cache maintenance operation (CMO) transaction to the second level cache controller, wherein the CMO transaction includes an address of a cache line of data addressable by the CPU and the secure code that indicates the one of the at least first or second secure contexts by which data for the cache line addressed by the CMO transaction was received, wherein the second level cache controller compares the address and the secure code of the CMO transaction against a secure code stored in the second level cache for a cache line of data indicated by the address of the CMO transaction, and in response to the comparison being affirmative, the second level cache controller generating a snoop read transaction and sending the snoop read transaction to the first level cache. 9. The system of claim 4 , comprising a data memory controller (DMC) coupled to the second level cache and arranged to send a victim write transaction to the second level cache controller, wherein the victim write transaction includes a victim data, an address of a cache line of data addressable by the CPU, and the secure code that indicates the one of the at least first or second secure contexts by which data for the cache line addressed by the victim write transaction was received, wherein the second level cache controller compares the address and the secure code of the victim write transaction against a secure code stored in the second level cache for a cache line of data indicated by the address of the victim write transaction, and in response to the comparison being affirmative, the second level cache controller updating a shadow victim cache with the victim data. 10. The system of claim 4 , comprising a DMA controller coupled to the second level cache and arranged to send a coherence DMA write transaction to the second level cache controller, wherein the coherence DMA write transaction includes an address of a cache line of data addressable by the CPU and the secure code that indicates the one of the at least first or second secure contexts by which data for the cache line addressed by the coherence DMA write transaction was received, wherein the second level cache controller compares the address and the secure code of the coherence DMA write transaction against a secure code stored in the second level cache for a cache line of data indicated by the address of the coherence DMA write transaction, and in response to the comparison being affirmative, the second level cache controller generating a snoop read transaction and sending the snoop read transaction to the first level cache. 11. The system of claim 1 , wherein the secure code is a bit for indicating one of the first and second secure contexts. 12. A method, comprising: executing program instructions to manipulate data by a CPU in at least a first or second secure context, wherein the first and second secure contexts indicate different levels of security; temporarily storing data in cache lines of a first level cache for manipulation by the CPU, wherein the first level cache includes a first secure code memory and a first level cache controller; storing a secure code in a first-level-cache secure code list, wherein each secure code indicates one of the at least first or second secure contexts by which data for a respective cache line is received by the first level cache; temporarily storing data in cache lines of a second level cache for manipulation by the CPU, wherein the second level cache includes a second secur

Assignees

Inventors

Classifications

  • with multilevel cache hierarchies · CPC title

  • Transactional memory (G06F9/528 takes precedence) · CPC title

  • with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions · CPC title

  • using a bus scheme, e.g. with bus monitoring or watching means · CPC title

  • for peripheral access to main memory, e.g. direct memory access [DMA] · 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 US11720495B2 cover?
In described examples, a coherent memory system includes a central processing unit (CPU) and first and second level caches. The CPU is arranged to execute program instructions to manipulate data in at least a first or second secure context. Each of the first and second caches stores a secure code for indicating the at least first or second secure contexts by which data for a respective cache li…
Who is the assignee on this patent?
Texas Instruments Inc, Texas Instmments Incorporated
What technology area does this patent fall under?
Primary CPC classification G06F12/0811. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 08 2023 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).