IP Library Granted Patent US 11,086,778
Granted Patent B2
US 11,086,778 · App. 16/601,813 · Granted Aug 10, 2021

Multicore shared cache operation engine

Inventors: Kai Chirca (Dallas, TX); Timothy David Anderson (University Park, TX); Joseph Zbiciak (San Jose, CA); David E. Smith (Allen, TX); Matthew David Pierson (Frisco, TX)
Assignee: TEXAS INSTRUMENTS INCORPORATED
G06F12/084G06F3/064G06F3/0604G06F3/0607G06F3/0632G06F3/0658G06F3/0659G06F3/0673G06F3/0679G06F9/30101G06F9/30123G06F9/3897G06F9/4881G06F9/5016G06F12/0607G06F12/0811G06F12/0815G06F12/0828G06F12/0831G06F12/0855G06F12/0857G06F12/0875G06F12/0891G06F12/10G06F12/1009G06F13/124G06F13/1642G06F13/1663G06F13/1668G06F13/4027H03M13/015H03M13/098H03M13/1575H03M13/276H03M13/2785G06F2212/1008G06F2212/1016G06F2212/1024G06F2212/304G06F2212/452G06F2212/657
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,086,778
App. No.
16/601,813
Granted
Aug 10, 2021
Kind
B2
Abstract

Techniques for accessing memory by a memory controller, comprising receiving, by the memory controller, a memory management command to perform a memory management operation at a virtual memory address, translating the virtual memory address to a physical memory address, wherein the physical memory address comprises an address within a cache memory, and outputting an instruction to the cache memory based on the memory management command and the physical memory address.

Claims (44)

1. A processing system comprising:

one or more processors;

a cache memory coupled to the one or more processors; and

a memory controller comprising:

circuitry configured to receive, on one of a plurality of interfaces, a memory management command to perform a memory management operation at a virtual memory address, wherein the memory controller is configured to determine a memory access command type based on the memory management command and the one of the plurality of interfaces that received the memory management command;

address translation circuity configured to translate the virtual memory address to a physical memory address, wherein the physical memory address comprises an address within the cache memory;

memory access circuitry configured to output an instruction to the cache memory based on the memory management command and the physical memory address; and

return messaging circuitry configured to:

receive a response to the instruction to the cache memory;

format the response based on the memory access command type into a formatted response; and

output the formatted response.

2. The processing system of claim 1 , wherein the processing system includes two or more processors and the cache memory is a level 2 cache shared between at least two of the two or more processors.

3. The processing system of claim 1 , wherein the cache memory comprises an internal cache memory of the memory controller.

4. The processing system of claim 1 , wherein the cache memory comprises a cache memory external to the memory controller and controlled by the memory controller.

5. The processing system of claim 1 , wherein the plurality of interfaces includes a memory mapped register of the memory controller.

6. The processing system of claim 1 , wherein the plurality of interfaces includes a shared messaging interface.

7. The processing system of claim 1 , wherein the memory access command type comprises a read command and wherein the response is formatted for output on a packet streaming interface link.

8. The processing system of claim 1 , wherein formatting the response comprises formatting a local event based on the response.

9. A memory controller device comprising:

a processor interface coupled to one or more processor cores;

circuitry configured to receive, on one of a plurality of interfaces, a memory management command to perform a memory management operation at a virtual memory address, wherein the memory controller is configured to determine a memory access command type based on the memory management command and the one of the plurality of interfaces that received the memory management command;

address translation circuity configured to translate the virtual memory address to a physical memory address of a cache memory of a processor core coupled to the processor interface;

memory access circuitry configured to output an instruction to the processor interface based on the memory management command and the physical memory address . and

return messaging circuitry configured to:

receive a response to the instruction to the cache memory;

format the response based on the memory access command type into a formatted response; and

output the formatted response.

10. The memory controller device of claim 9 , wherein the processor interface is coupled to two or more processor cores and the cache memory is a level 2 cache shared between at least two of the two or more processor cores.

11. The memory controller device of claim 9 , wherein the cache memory comprises an internal cache memory of the memory controller.

12. The memory controller device of claim 9 , wherein the cache memory comprises an external cache memory controlled by the memory controller.

13. The memory controller device of claim 9 , wherein the the plurality of interfaces includes a memory mapped register of the memory controller.

14. The memory controller device of claim 9 , wherein the plurality of interfaces includes a shared messaging interface.

15. The memory controller device of claim 9 , wherein the memory access command type comprises a read command and wherein the response is formatted for output on a packet streaming interface link shared messaging interface.

16. The memory controller device of 9 , wherein formatting the response comprises formatting a local event based on the response.

17. A method for accessing memory by a memory controller, comprising:

receiving, by the memory controller on one of a plurality of interfaces, a memory management command to perform a memory management operation at a virtual memory address, wherein the memory controller is configured to determine a memory access command type based on the memory management command and the one of the plurality of interfaces that received the memory management command;

translating the virtual memory address to a physical memory address, wherein the physical memory address comprises an address within a cache memory;

outputting an instruction to the cache memory based on the memory management command and the physical memory address;

receiving a response to the instruction to the cache memory;

format the response based on the memory access command type into a formatted response; and

outputting the formatted response.

18. The method of claim 17 , further comprising:

detecting a first one or more triggering events; and

triggering a first memory management command based on the detected first one or more triggering events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2019
From: CHIRCA, KAI; ANDERSON, TIMOTHY DAVID; ZBICIAK, JOSEPH; SMITH, DAVID E.; PIERSON, MATTHEW DAVID
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 050715/0069 →
Continuity (2)
Provisional Application 62745842 · Oct 15, 2018
Related Publication 20200117600A1 · Apr 16, 2020