IP Library › Granted Patent US 12,141,078
Granted Patent B2
US 12,141,078 · App. 16/882,395 · Granted Nov 12, 2024

Victim cache with dynamic allocation of 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/603G06F2212/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,141,078
App. No.
16/882,395
Granted
Nov 12, 2024
Kind
B2
Abstract

A caching system including a first sub-cache, and a second sub-cache coupled in parallel with the first sub-cache; wherein the second sub-cache includes line type bits configured to store an indication that a corresponding line of the second sub-cache is configured to store write-miss data.

Claims (39)

1. A caching system comprising:

a first sub-cache; and

a second sub-cache coupled in parallel with the first sub-cache, wherein:

the second sub-cache includes a set of lines and a set of line type bits;

each line of the set of lines is configured to operate in a first manner to store a respective set of data associated with a write-miss and operate in a second manner to store a respective set of data associated with an eviction of a cache entry from the first sub-cache; and

each line type bit of the set of line type bits is configured to store a first indication based on that a respective set of data of a respective line of the set of lines is associated with a write-miss and a second indication based on that the respective set of data is associated with an eviction of a cache entry from the first sub-cache.

2. The caching system of claim 1 , wherein the second sub-cache further comprises a tag random access memory (RAM) configured to store a respective memory address for each line of a first subset of the set of lines associated with a write-miss.

3. The caching system of claim 1 , wherein the second sub-cache further comprises a byte-enable memory configured to store a respective byte-enable mask for each line of the set of lines associated with a write-miss.

4. The caching system of claim 3 , wherein the byte-enable memory includes memory positions corresponding with each line of the set of lines of the second sub-cache.

5. The caching system of claim 1 , wherein the set of line type bits is stored in a memory tracking modified, exclusive, shared, and invalid (MESI) states of the set of lines in the second sub-cache.

6. The caching system of claim 1 , wherein the first sub-cache is a n-way set associative cache and wherein the second sub-cache is a fully associative cache.

7. The caching system of claim 1 , wherein the write-miss is associated with a miss in the first sub-cache and a miss in the second sub-cache.

8. The caching system of claim 1 , wherein the caching system is configured to:

receive a write request; and

determine whether the write request is associated with a miss in the first sub-cache and, in parallel, determine whether the write request is associated with a miss in the second sub-cache.

9. A method for caching data, comprising:

receiving, by a caching system, a write memory request for a memory address;

determining, by a first sub-cache of the caching system, that the memory address is not cached in the first sub-cache;

determining, by a second sub-cache of the caching system, the second sub-cache coupled in parallel with the first sub-cache, that the memory address is not cached in the second sub-cache;

storing a first set of data associated with the write memory request in a first line of the second sub-cache;

storing, in a first line type bit of the second sub-cache, a first indication that the first set of data is associated with a write-miss;

storing, in the first line of the second sub-cache, a second set of data associated with an eviction from the first sub-cache; and

storing, in the first line type bit of the second sub-cache, a second indication that the second set of data is associated with an eviction from the first sub-cache.

10. The method of claim 9 , further comprising storing a memory address associated with the first set of data in a tag random access memory (RAM).

11. The method of claim 9 , further comprising storing byte enable logic associated with the first set of data in a byte-enable memory.

12. The method of claim 9 , wherein the first line type bit is stored in a memory tracking modified, exclusive, shared, and invalid (MESI) states of entries in the second sub-cache.

13. The method of claim 9 , further comprising:

evicting a cache entry from a line of the second sub-cache, and wherein the storing of the first set of data associated with the write memory request comprises storing the first set of data in the line.

14. A device comprising:

a processor;

a first sub-cache; and

a second sub-cache coupled in parallel with the first sub-cache, wherein:

the second sub-cache includes a set of lines each configured to operate in a first manner to store write-miss data and to operate in a second manner to store data evicted from the first sub-cache; and

the second sub-cache includes a first line type bit configured to store a first indication based on that a first line of the set of lines is associated with a write miss and a second indication based on that the first line is associated with an eviction from the first sub-cache.

15. The device of claim 14 , wherein the second sub-cache further comprises a tag random access memory (RAM) configured to store a memory address associated with the first line when the first line is associated with the write miss.

16. The device of claim 14 , wherein the second sub-cache further comprises a byte-enable memory configured to store a byte-enable mask associated with the first line when the first line is associated with the write miss.

17. The device of claim 16 , wherein the byte-enable memory includes memory positions corresponding with each line of the set of lines of the second sub-cache.

18. The device of claim 14 , wherein the first line type bit is stored in a memory tracking modified, exclusive, shared, and invalid (MESI) states of the set of lines of the second sub-cache.

19. The device of claim 14 , wherein the first sub-cache is a n-way set associative cache and wherein the second sub-cache is a fully associative cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: BHORIA, NAVEEN; ANDERSON, TIMOTHY DAVID; HIPPLEHEUSER, PETE
To: TEXAS INSTRUMENTS INCORPORATED
Reel/Frame 052770/0741 →
Continuity (2)
Provisional Application 62852494 · May 24, 2019
Related Publication 20200371963A1 · Nov 26, 2020