IP Library › Granted Patent US 9,069,684
Granted Patent B2
US 9,069,684 · App. 13/550,487 · Granted Jun 30, 2015

System, method, and computer program product for invalidatng cache lines

Inventor: William Dally (Stanford, CA)
Assignee: NVIDIA Corporation
G06F12/0895
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 9,069,684
App. No.
13/550,487
Granted
Jun 30, 2015
Kind
B2
Abstract

A system, method, and computer program product are provided for invalidating cache lines. In use, one or more cache lines that hold data from within a region of a memory address space are invalidated.

Claims (34)

1. A method, comprising:

invalidating one or more cache lines that hold data from within a region of a memory address space,

wherein invalidating the one or more cache lines includes:

identifying a region register that corresponds to the region of the memory address space, and

comparing a phase field of a cache line within the cache to a phase field of the identified region register.

2. The method of claim 1 , wherein invalidating the one or more cache lines includes adding a region field to each cache line within the cache.

3. The method of claim 1 , wherein invalidating the one or more cache lines includes receiving a region identifier.

4. The method of claim 3 , wherein invalidating the one or more cache lines includes determining for each cache line within the cache whether a region identifier of that cache line matches the received region identifier.

5. The method of claim 4 , wherein invalidating the one or more cache lines includes, for each cache line within the cache, clearing a valid field of the cache line if the region identifier of that cache line matches the received region identifier.

6. The method of claim 5 , wherein the valid field of a cache line includes a single bit, and clearing the valid field of a cache line includes turning the valid field to zero or false.

7. The method of claim 1 , wherein each cache line in a directory of the cache includes one or more bits that are designated as a modified field.

8. The method of claim 7 , wherein during a comparison of a region field of each cache line within the cache to a received region identifier, the modified field of each cache line within the cache is compared to zero or false.

9. The method of claim 8 , wherein for each cache line within the cache, a valid field of the cache line is cleared if the region identifier of that cache line matches the received region identifier and the modified field of that cache line matches zero or false.

10. The method of claim 3 , wherein a wildcard bit is substituted for a bit in the received region identifier.

11. The method of claim 2 , wherein invalidating the one or more cache lines includes adding a phase field to each cache line within the cache.

12. The method of claim 1 , wherein invalidating the one or more cache lines includes adding a phase field to each region register within the cache.

13. The method of claim 1 , wherein invalidating the one or more cache lines includes altering a phase field of the identified region register.

14. The method of claim 1 , wherein invalidating the one or more cache lines includes turning a valid field of each cache line that has a phase field that does not match the phase field of its corresponding region register to false.

15. The method of claim 14 , wherein the phase field comparing and the conditional valid field clearing are performed by a background state machine.

16. A computer program product embodied on a non-transitory computer readable medium, comprising:

code for invalidating one or more cache lines that hold data from within a region of a memory address space,

wherein invalidating the one or more cache lines includes:

identifying a region register that corresponds to the region of the memory address space, and

comparing a phase field of a cache line within the cache to a phase field of the identified region register.

17. A system, comprising:

a content-addressable memory (CAM) for invalidating one or more cache lines that hold data from within a region of a memory address space,

wherein invalidating the one or more cache lines includes:

identifying a region register that corresponds to the region of the memory address space, and

comparing a phase field of a cache line within the cache to a phase field of the identified region register.

18. A system, comprising:

a random-access memory (RAM) for invalidating one or more cache lines that hold data from within a region of a memory address space,

wherein invalidating the one or more cache lines includes:

identifying a region register that corresponds to the region of the memory address space, and

comparing a phase field of a cache line within the cache to a phase field of the identified region register.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2012
From: DALLY, WILLIAM
To: NVIDIA CORPORATION
Reel/Frame 028582/0026 →
Continuity (1)
Related Publication 20140019691A1 · Jan 16, 2014