IP Library › Granted Patent US 11,693,791
Granted Patent B2
US 11,693,791 · App. 17/377,509 · Granted Jul 4, 2023

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/0811G06F9/3001G06F9/30047G06F9/546G06F11/1064G06F12/0215G06F12/0238G06F12/0292G06F12/082G06F12/0802G06F12/0804G06F12/0806G06F12/0815G06F12/0853G06F12/0855G06F12/0864G06F12/0884G06F12/0888G06F12/0891G06F12/0895G06F12/0897G06F12/12G06F12/121G06F12/128G06F13/1605G06F13/1642G06F13/1673G06F13/1689G06F15/8069G11C5/066G11C7/10G11C7/106G11C7/1015G11C7/1075G11C7/1078G11C7/1087G11C7/222G11C29/42G11C29/44G06F2212/1016G06F2212/1021G06F2212/1024G06F2212/1041G06F2212/1044G06F2212/301G06F2212/454G06F2212/608G06F2212/6032G06F2212/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 11,693,791
App. No.
17/377,509
Granted
Jul 4, 2023
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 (53)

1. An eviction method, comprising:

detecting an idle activity on a processor interface; and

in response to detecting the idle activity on the processor interface:

determining a write-miss entry inside a victim cache, wherein the write-miss entry is associated with a line type; and

draining the write-miss entry from the victim cache based on the line type.

2. The eviction method of claim 1 , wherein:

the idle activity is detected when a processor has not issued a command on the processor interface for N number of clock cycles.

3. The eviction method of claim 2 , wherein:

the N number of clock cycles is predetermined.

4. The eviction method of claim 2 , wherein:

the N number of clock cycles is configurable.

5. The eviction method of claim 1 , wherein:

the determining the write-miss entry includes examining each line of the victim cache in logical order for the write-miss entry.

6. The eviction method of claim 1 , wherein:

the write-miss entry is a plurality of write-miss entries;

each of the plurality of write-miss entries is stored in respective lines of the victim cache; and

the draining the write-miss entry includes draining the plurality of write-miss entries in one of a first in first out, least recently used, or random basis.

7. The eviction method of claim 1 , wherein:

the determining the write-miss entry inside the victim cache includes sending an eviction trigger request to a victim cache controller for a selected line of the victim cache associated with the write-miss entry.

8. The eviction method of claim 7 , wherein:

in response to receiving the eviction trigger request, the victim cache controller determines if an entry in a store queue corresponds to the selected line of the victim cache; and

and in response to determining the entry exists, the victim cache controller waits for the store queue to empty to evict the selected line of the victim cache.

9. The eviction method of claim 1 , further comprising:

storing the write-miss entry in a drain buffer until the write-miss entry is accepted by a memory.

10. The eviction method of claim 1 , wherein:

the draining the write-miss entry from the victim cache is in response to a processor writing out half of the write-miss entry.

11. A device, comprising:

a victim cache; and

a victim cache controller configured to detect an idle activity on a processor interface;

wherein in response to detecting the idle activity on the processor interface, the victim cache controller is configured to:

determine a write-miss entry inside the victim cache, wherein the write-miss entry is associated with a line type; and

flush the write-miss entry from the victim cache based on the line type.

12. The device of claim 11 , wherein:

the idle activity is detected when a processor has not issued a command on the processor interface for N number of clock cycles.

13. The device of claim 12 , wherein:

the N number of clock cycles is predetermined.

14. The device of claim 12 , wherein:

the N number of clock cycles is configurable.

15. The device of claim 11 , wherein:

the victim cache controller is configured to determine the write-miss entry by examining each line of the victim cache in logical order for the write-miss entry.

16. The device of claim 11 , wherein:

the write-miss entry is a plurality of write-miss entries;

each of the plurality of write-miss entries is stored in respective lines of the victim cache; and

the victim cache controller is configured to flush the write-miss entry by flushing the plurality of write-miss entries in one of a first in first out, least recently used, or random basis.

17. The device of claim 11 , wherein:

the victim cache controller is configured to determine the write-miss entry inside the victim cache in response to an eviction trigger request for a selected line of the victim cache associated with the write-miss entry.

18. The device of claim 17 , wherein:

in response to receiving the eviction trigger request, the victim cache controller determines if an entry in a store queue corresponds to the selected line of the victim cache; and

and in response to determining the entry exists, the victim cache controller waits for the store queue to empty to evict the selected line of the victim cache.

19. The device of claim 11 , wherein:

the victim cache controller is configured to store the write-miss entry in a drain buffer until the write-miss entry is accepted by a memory.

20. The device of claim 11 , wherein:

the victim cache controller is configured to flush the write-miss entry from the victim cache is in response to a processor writing out half of the write-miss entry.

Continuity (3)
Continuation 16882369 · May 22, 2020
Provisional Application 62852494 · May 24, 2019
Related Publication 20210342270A1 · Nov 4, 2021