IP Library Granted Patent US 11,151,033
Granted Patent B1
US 11,151,033 · App. 14/208,405 · Granted Oct 19, 2021

Cache coherency in multiprocessor system

Inventors: David M. Wentzlaff (Cambridge, MA); Matthew Mattina (Boyleston, MA); Anant Agarwal (Weston, MA)
Assignee: Tilera Corporation
G06F12/0806G06F12/084G06F12/0815G06F12/0811G06F12/0897
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,151,033
App. No.
14/208,405
Granted
Oct 19, 2021
Kind
B1
Abstract

A processor includes a plurality of cache memories, and a plurality of processor cores, each associated with one of the cache memories. Each of at least some of the cache memories is associated with information indicating whether data stored in the cache memory is shared among multiple processor cores.

Claims (38)

1. A processor, comprising:

a plurality of processor cores;

a plurality of cache memories associated with the processor cores, with at least some of the cache memories configurable to associate information indicating whether data stored in the cache memory is shared among multiple ones of the processor cores, with the data in the cache memory being directly accessible to processor cores sharing the data; and with the processor cores further comprising:

cache coherency circuitry that replaces cache lines stored at one or more addresses in the cache memory, using the associated information that determines whether data stored at the addresses are shared among the multiple processor cores, wherein the cache coherence circuitry uses write through core caches and coalescing write buffers to achieve high performance, and with the cache coherency circuitry using existing L2 caches as a private L2 and a distributed shared L3 cache, with shared addresses and memory locations allocated using a memory allocation function.

2. The processor of claim 1 wherein the processor cores implement a directory aware replacement policy, and the associated information is a number of directory shared pointers of shown by a cache line.

3. The processor of claim 1 wherein the circuitry is configured to replace data that is shared by fewer processor cores than other data stored in the cache memory.

4. The processor of claim 1 wherein the cache coherency circuitry is configured to replace data that is not shared by multiple processor cores before replacing data that is shared by multiple processor cores.

5. The processor of claim 1 wherein the one or more addresses correspond to a cache line.

6. The processor of claim 1 wherein a first processor core directly accesses shared data stored in a second cache memory of a second processor core without first accessing a first cache memory of the first processor core.

7. The processor of claim 1 wherein the associated information includes the number of processor cores sharing the data.

8. The processor of claim 1 wherein the associated information indicates whether data stored in the cache memory is shared among multiple processor cores is stored in the associated cache memory.

9. The processor of claim 1 , wherein the processor is on a single integrated circuit.

10. The processor of claim 2 , wherein cache coherency circuitry uses the associated information that includes data about the directory state in the cache, and uses a replacement state in order choose a cache line in the cache to evict.

11. A method for replacing addresses in one of multiple cache memories associated with respective processor cores, comprising:

storing information associated with the one of the multiple cache memories, the information indicating whether data stored in the one cache memory is shared among multiple processor cores, the data in the one cache memory being directly accessible to processor cores sharing the data; and with the processor cores further comprising:

replacing data stored at one or more addresses in the one cache memory according to a cache coherency protocol that uses a process dependent on associated information indicating whether data stored at the addresses are shared among multiple processor cores, wherein the cache coherence protocol is implemented fully in hardware and uses write through core caches and coalescing write buffers to achieve high performance, and treats existing L2 caches simultaneously as both a private L2 and a distributed shared L3 cache, with shared addresses and memory locations allocated using a special memory allocation function.

12. The method of claim 11 , further comprising:

executing a directory aware replacement policy and the information is a number of directory shared pointers of shown by a cache line.

13. The method of claim 12 , further comprising:

replacing data that is shared by fewer processor cores than other data stored in the cache memory.

14. The method of claim 12 , further comprising:

replacing data that is not shared by multiple processor cores before replacing data that is shared by multiple processor cores.

15. The method of claim 12 , wherein the one or more addresses correspond to a cache line.

16. The method of claim 12 , further comprising:

directly accessing by a first processor core shared data stored in a second cache memory of a second processor core without first accessing a first cache memory of the first processor core.

17. The method of claim 12 , wherein the information indicates the number of processor cores sharing the data.

18. The method of claim 12 , further comprising:

storing the information indicating whether data stored in the cache memory is shared among multiple processor cores in the associated cache memory.

19. The method of claim 12 , further comprising:

providing the multiple processor cores are on a single integrated circuit.

20. The method of claim 12 , wherein replacing further comprises:

using information about the directory state in the cache and a replacement state in order choose a cache line in the cache to evict.

21. A processor comprising:

a plurality of processor cores; and

a plurality of cache memories that are associated with the plurality of processor cores, with at least some of the cache memories configured to associate information indicating whether data stored in the respective cache memory is shared among multiple ones of the processor cores, with the data in the cache memory being directly accessible to those processor cores that share the data; and

cache coherency circuitry that replaces cache lines stored at one or more addresses in the cache memory, using the associated information that is a number of directory shared pointers of a cache line, the cache coherency circuitry determining based on the associated information whether data stored at the addresses are shared among the multiple one of the processor cores, with the cache coherence circuitry further comprising:

write through core caches and coalescing write buffers, and with the cache coherency circuitry using existing L2 caches as private L2 and a distributed shared L3 caches, with shared addresses and memory locations allocated by execution on the processor of a memory allocation function instruction.

22. The processor of claim 21 wherein the processor cores implement a directory aware replacement policy and the processor is on a single integrated circuit.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 42962/0859 Recorded Jul 13, 2018
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
Reel/Frame 046551/0459 →
SECURITY INTEREST Recorded Jun 23, 2017
From: MELLANOX TECHNOLOGIES, LTD.; MELLANOX TECHNOLOGIES TLV LTD.; MELLANOX TECHNOLOGIES SILICON PHOTONICS INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042962/0859 →
DIVIDEND DECLARATION FROM EZCHIP SEMICONDUCTOR INC. TO THE STOCKHOLDER OF RECORD ON 6/2/2015 (EZCHIP INC., A DELAWARE CORPORATION) Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR INC.
To: EZCHIP, INC.
Reel/Frame 041736/0013 →
PURCHASE AGREEMENT Recorded Feb 16, 2017
From: EZCHIP, INC.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: EZCHIP TECHNOLOGIES, LTD.
Reel/Frame 041736/0253 →
MERGER Recorded Feb 16, 2017
From: EZCHIP TECHNOLOGIES LTD.
To: EZCHIP SEMICONDUCTOR LTD.
Reel/Frame 041736/0321 →
MERGER Recorded Feb 16, 2017
From: EZCHIP SEMICONDUCTOR LTD.
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 041870/0455 →
MERGER Recorded Feb 16, 2017
From: TILERA CORPORATION
To: EZCHIP SEMICONDUCTOR INC.
Reel/Frame 041735/0792 →