IP Library Granted Patent US 8,751,753
Granted Patent B1
US 8,751,753 · App. 11/102,171 · Granted Jun 10, 2014

Coherence de-coupling buffer

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 8,751,753
App. No.
11/102,171
Granted
Jun 10, 2014
Kind
B1
Abstract

A coherence decoupling buffer. In accordance with a first embodiment of the present invention, a coherence decoupling buffer is for storing tag information of cache lines evicted from a plurality of cache memories. A coherence decoupling buffer may be free of value information of the plurality of cache memories. A coherence decoupling buffer may also be combined with a coherence memory.

Claims (18)

1. A cache system comprising:

a cache memory including a plurality of cache lines, wherein the cache memory is configured to receive a local access; and

a coherence decoupling buffer configured to store at least a portion of a cache line evicted from the cache memory and configured to receive a snoop, wherein if the snoop causes a miss, the snoop is propagated to the cache memory, wherein if the local access causes a cache miss in the cache memory, the local access is propagated to the coherence decoupling buffer, wherein responsive to the local access being propagated from the cache memory to the coherence decoupling buffer, if the local access causes a hit in the coherence decoupling buffer, an entry of the coherence decoupling buffer is re-inserted from the coherence decoupling buffer into the cache memory and removed from the coherence decoupling buffer.

2. The system of claim 1 wherein the coherence decoupling buffer comprises a capacity that is of substantially less capacity than a total capacity of the cache memory.

3. The system of claim 1 wherein the coherence decoupling buffer is configured to be free of value information of the cache memory.

4. The system of claim 1 wherein the cache memory is within a single caching agent.

5. A method comprising:

determining if a tag of a snooped cache line is present in a coherence decoupling buffer coupled to a cache, wherein the cache includes a plurality of cache lines, wherein the cache is configured to receive a local access, wherein the coherence decoupling buffer is configured to store at least a portion of a cache line evicted from the cache and is configured to receive a snoop, wherein if the snoop causes a miss, the snoop is propagated to the cache, wherein if the local access causes a cache miss in the cache, the local access is propagated to the coherence decoupling buffer, wherein responsive to the local access being propagated from the cache to the coherence decoupling buffer, if the local access causes a hit in the coherence decoupling buffer, an entry of the coherence decoupling buffer is re-inserted from the coherence decoupling buffer into the cache and removed from the coherence decoupling buffer; and

granting, by the coherence decoupling buffer, access to the cache line responsive to a presence of the tag.

6. The method of claim 5 further comprising propagating the snoop to the cache responsive to an absence of the tag.

7. The method of claim 6 further comprising inserting permissions of an evicted cache line into the coherence decoupling buffer.

8. The method of claim 7 further comprising granting access to the evicted cache line.

9. A computer system comprising:

a main memory;

a cache memory including a plurality of cache lines, wherein the cache memory is configured to receive a local access; and

a coherence decoupling buffer coupled to the main memory and to the cache memory, wherein the coherence decoupling buffer is configured to store at least a portion of a cache line evicted from the cache memory and is configured to receive a snoop, wherein if the snoop causes a miss, the snoop is propagated to the cache memory, wherein if the local access causes a cache miss in the cache memory, the local access is propagated to the coherence decoupling buffer, wherein responsive to the local access being propagated from the cache memory to the coherence decoupling buffer, if the local access causes a hit in the coherence decoupling buffer, an entry of the coherence decoupling buffer is re-inserted from the coherence decoupling buffer into the cache memory and removed from the coherence decoupling buffer.

10. The computer system of claim 9 wherein the coherence decoupling buffer has a capacity that is of substantially less capacity than a total capacity of the cache memory.

11. The computer system of claim 9 wherein the coherence decoupling buffer comprises a FIFO buffer.

Assignments (8)
CHANGE OF NAME Recorded Jan 27, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058871/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2019
From: INTELLECTUAL VENTURES ASSETS 88 LLC
To: FACEBOOK, INC.
Reel/Frame 048136/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2018
From: INTELLECTUAL VENTURES HOLDING 81 LLC
To: INTELLECTUAL VENTURES ASSETS 88 LLC
Reel/Frame 047014/0629 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 036711 FRAME: 0160. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 6, 2015
From: INTELLECTUAL VENTURES FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036797/0356 →
MERGER Recorded Sep 29, 2015
From: INTELLECTUAL VENTURE FUNDING LLC
To: INTELLECTUAL VENTURES HOLDING 81 LLC
Reel/Frame 036711/0160 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: TRANSMETA LLC
To: INTELLECTUAL VENTURE FUNDING LLC
Reel/Frame 023268/0771 →
MERGER Recorded Mar 26, 2009
From: TRANSMETA CORPORATION
To: TRANSMETA LLC
Reel/Frame 022454/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2005
From: ROZAS, GUILLERMO J.
To: TRANSMETA CORPORATION
Reel/Frame 016471/0107 →