IP Library › Granted Patent US 12,001,345
Granted Patent B2
US 12,001,345 · App. 18/340,944 · Granted Jun 4, 2024

Victim cache that supports draining write-miss entries

Inventors: Naveen Bhoria (Plano, TX); Timothy David Anderson (University Park, TX); Pete Hippleheuser (Murphy, TX)
Assignee: Texas Instruments Incorporated
G06F12/128G06F9/3001G06F9/30043G06F9/30047G06F9/546G06F11/1064G06F12/0215G06F12/0238G06F12/0292G06F12/0802G06F12/0804G06F12/0806G06F12/0811G06F12/0815G06F12/082G06F12/0853G06F12/0855G06F12/0864G06F12/0884G06F12/0888G06F12/0891G06F12/0895G06F12/0897G06F12/12G06F12/121G06F12/126G06F12/127G06F13/1605G06F13/1642G06F13/1673G06F13/1689G06F15/8069G11C5/066G11C7/10G11C7/1015G11C7/106G11C7/1075G11C7/1078G11C7/1087G11C7/222G11C29/42G11C29/44G06F2212/1016G06F2212/1021G06F2212/1024G06F2212/1041G06F2212/1044G06F2212/301G06F2212/454G06F2212/6032G06F2212/6042G06F2212/608G06F2212/62
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 12,001,345
App. No.
18/340,944
Granted
Jun 4, 2024
Kind
B2
Abstract

A caching system including a first sub-cache and a second sub-cache in parallel with the first sub-cache, wherein the second sub-cache includes a set of cache lines, line type bits configured to store an indication that a corresponding cache line of the set of cache lines is configured to store write-miss data, and an eviction controller configured to flush stored write-miss data based on the line type bits.

Claims (62)

1. A device comprising:

a processor; and

a cache that includes:

a processor interface coupled to the processor;

a cache memory that includes:

a set of cache lines that includes a first cache line configurable to store a first write-miss entry; and

a set of line type entries that are each configured to store a respective value that specifies whether a respective line of the set of cache lines is associated with a write-miss entry; and

a controller coupled to the processor interface and to the cache memory and configured to:

detect a state of the processor interface; and

based on the state:

select the first cache line to evict based on the set of line type entries; and

evict the first cache line by providing a packet based on the first write-miss entry stored in the first cache line.

2. The device of claim 1 , wherein:

the cache includes a tag RAM; and

the controller is configured to select the first cache line to evict by walking the tag RAM.

3. The device of claim 1 , wherein the controller is configured to select the first cache line based on a first-in-first-out policy.

4. The device of claim 1 , wherein the controller is configured to select the first cache line based on a least recently used policy.

5. The device of claim 1 , wherein the controller is configured to select the first cache line based on a random selection policy.

6. The device of claim 1 , wherein:

the cache includes a drain buffer; and

the controller is configured to evict the first cache line by storing the packet in the drain buffer until an acknowledgment is received.

7. The device of claim 6 , wherein:

the cache is a first cache;

the device further comprises a second cache coupled to the processor;

the controller is configured to provide the packet to the second cache; and

the second cache is configured to provide the acknowledgment.

8. The device of claim 1 , wherein:

the cache memory is a victim cache memory; and

the set of line type entries each specify whether the respective line of the set of cache lines is associated with a write-miss entry or a victim cache entry.

9. The device of claim 1 , wherein the state is an idle state.

10. The device of claim 9 , wherein the controller is configured to select the first cache line to evict based on the processor interface being in the idle state for a number of clock cycles.

11. A device comprising:

an interface;

a cache memory that includes a set of cache lines that are each configurable to store either a first type of entry or a second type of entry, wherein:

the second type of entry is a write-miss entry; and

the set of cache lines includes a first cache line configurable to store a first write-miss entry; and

a cache controller coupled to the interface and to the cache memory and configured to:

detect a state of the interface; and

based on the state:

select the first cache line to evict; and

evict the first cache line by providing a packet based on the first write-miss entry stored in the first cache line.

12. The device of claim 11 , wherein:

the cache memory includes a set of line type entries that are each configured to store a respective value that specifies whether a respective line of the set of cache lines is configured to store the first type of entry or the second type of entry; and

the cache controller is configured to select the first cache line to evict based on the set of line type entries.

13. The device of claim 11 , wherein:

the device comprises a tag RAM; and

the cache controller is configured to select the first cache line to evict by walking the tag RAM.

14. The device of claim 11 , wherein the cache controller is configured to select the first cache line based on at least one of a first-in-first-out policy, a least recently used policy, or a random replacement policy.

15. The device of claim 11 , wherein:

the cache memory is a victim cache memory; and

the first type of entry is a victim cache entry.

16. The device of claim 11 , wherein the state is an idle state.

17. A method comprising:

storing a set of data in a cache line of a cache memory;

storing an indication of whether the set of data is associated with a write-miss entry;

detecting a state of a cache interface; and

based on the state:

selecting the set of data to evict based on the indication; and

evicting the set of data, wherein the evicting includes providing a packet based on the set of data.

18. The method of claim 17 , wherein the selecting of the set of data includes walking a set of tag RAM entries.

19. The method of claim 17 , wherein the selecting of the set of data includes applying at least one of a first-in-first-out policy, a least recently used policy, or a random replacement policy.

20. The method of claim 17 , wherein the indication specifies whether the set of data is associated with the write-miss entry or a victim cache entry.

Continuity (4)
Continuation 17377509 · Jul 16, 2021
Continuation 16882369 · May 22, 2020
Provisional Application 62852494 · May 24, 2019
Related Publication 20230342305A1 · Oct 26, 2023