US2022269607A1PendingUtilityA1

Multi-processor, multi-domain, multi-protocol, cache coherent, speculation aware shared memory and interconnect

Assignee: TEXAS INSTRUMENTS INCPriority: Oct 15, 2018Filed: May 10, 2022Published: Aug 25, 2022
Est. expiryOct 15, 2038(~12.2 yrs left)· nominal 20-yr term from priority
G06F 12/084G06F 3/0604G06F 11/1004G06F 12/10G06F 2212/452G06F 2212/1008G06F 3/0658G06F 3/0659G06F 2212/1048G06F 12/0846G06F 12/0811H03M 13/276G06F 12/0862G06F 3/0679G06F 12/0607G06F 13/124G06F 2212/1024G06F 9/5016G06F 12/0831G06F 9/30101G06F 13/1663H03M 13/1575G06F 9/30123G06F 3/064G06F 12/0833G06F 12/0855G06F 9/4881G06F 12/1009G06F 13/4027G06F 3/0632G06F 3/0673G06F 2212/304G06F 12/0828G06F 2212/6024G06F 13/1668G06F 13/1642G06F 12/0815H03M 13/098G06F 2212/657G06F 12/0851G06F 12/0875G06F 2212/1016G06F 9/3897G06F 12/0857H03M 13/015G06F 12/0891H03M 13/2785G06F 3/0607
82
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A device includes an interconnect and a plurality of devices connected to the interconnect. The plurality of devices includes a first interface connected to the interconnect and a second interface connected to the interconnect. The plurality of devices further includes a first memory bank connected to the interconnect and a second memory bank connected to the interconnect. The plurality of devices further includes an external memory interface connected to the interconnect and a controller configured to establish virtual channels among the plurality of devices connected to the interconnect.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving, at a controller, a memory request associated with an address of a data element;   determining, by the controller, a physical memory address associated with the address;   determining, by the controller, a tag associated with the physical memory address;   applying, by the controller, the tag to a cache tag bank to determine a cache tag result and a memory bank result; and   determining, by the controller, based on the cache tag result and the memory bank result whether to access a cached value of the data element or access the data element at the physical memory address of the data element.   
     
     
         2 . The method of  claim 1 , wherein:
 the memory request is received by an arbitration and data path manager of the controller.   
     
     
         3 . The method of  claim 1 , wherein:
 the address is a virtual address; and   the controller is configured to determine the physical memory address from the virtual address.   
     
     
         4 . The method of  claim 1 , wherein:
 the controller determines the tag by masking out one or more least significant bits of the physical memory address.   
     
     
         5 . The method of  claim 1 , wherein:
 an entry in the cache tag bank corresponds to an entry in a filter bank and an entry in a memory bank.   
     
     
         6 . The method of  claim 1 , wherein:
 the cache tag result includes a stored first value for the tag; and   the memory bank result includes a stored second value for the tag.   
     
     
         7 . The method of  claim 6 , wherein:
 the controller determines whether to issue snoop requests based on the cache tag result.   
     
     
         8 . The method of  claim 6 , wherein:
 the cache tag result includes a first status indicator associated with the stored first value for the tag; and   the memory bank result includes a second status indicator associated with the stored second value for the tag.   
     
     
         9 . A controller comprising:
 a cache tag bank;   a memory bank; and   a snoop filter coupled to the cache tag bank and the memory bank by a cache line,
 wherein the cache line includes: 
 a cache tag address associated with a data element; 
 a state of the cache tag address; and 
 a value of the memory bank associated with the cache tag address. 
   
     
     
         10 . The controller of  claim 9 , wherein:
 an entry in the snoop filter corresponds to an entry in the cache tag bank and an entry in the memory bank.   
     
     
         11 . The controller of  claim 9 , wherein:
 the state of the cache tag address indicates a cache of a master peripheral stores a value associated with cache tag address.   
     
     
         12 . The controller of  claim 9 , wherein:
 the state of the cache tag address includes one of shared, unique, invalid, modified, owned, and exclusive.   
     
     
         13 . A device comprising:
 memory;   a controller coupled to the memory, wherein the controller is configured to:
 receive a memory request associated with an address of a data element; 
 determine a physical memory address associated with the address; 
 determine a tag associated with the physical memory address; 
 apply the tag to a cache tag bank to determine a cache tag result and a memory bank result; and 
 determine, based on the cache tag result and the memory bank result, whether to access a cached value of the data element or access the data element at the physical memory address in the memory of the data element. 
   
     
     
         14 . The device of  claim 13 , wherein:
 the memory request is received by an arbitration and data path manager of the controller.   
     
     
         15 . The device of  claim 13 , wherein:
 the address is a virtual address; and   the controller is configured to determine the physical memory address from the virtual address.   
     
     
         16 . The device of  claim 13 , wherein:
 the controller determines the tag by masking out one or more least significant bits of the physical memory address.   
     
     
         17 . The device of  claim 13 , wherein:
 an entry in the cache tag bank corresponds to an entry in a filter bank and an entry in a memory bank.   
     
     
         18 . The device of  claim 13 , wherein:
 the cache tag result includes a stored first value for the tag; and   the memory bank result includes a stored second value for the tag.   
     
     
         19 . The device of  claim 18 , wherein:
 the controller determines whether to issue snoop requests based on the cache tag result.   
     
     
         20 . The device of  claim 18 , wherein:
 the cache tag result includes a first status indicator associated with the stored first value for the tag; and   the memory bank result includes a second status indicator associated with the stored second value for the tag.

Join the waitlist — get patent alerts

Track US2022269607A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.