IP Library Granted Patent US 10,073,780
Granted Patent B2
US 10,073,780 · App. 14/515,333 · Granted Sep 11, 2018

Methods and systems for tracking addresses stored in non-home cache locations

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 10,073,780
App. No.
14/515,333
Granted
Sep 11, 2018
Kind
B2
Abstract

Systems and methods for tracking addresses stored in non-home locations in a cache. A method includes determining if an address that is to be stored in a cache is to be stored in a non-home location, determining if a directory has a location available for storing an identifier of the non-home location and if one or more locations of the directory are available for storing an identifier of the non-home location, storing an identifier of the non-home location in one of the one or more locations of the directory. The method further includes invalidating a non-home location in the cache that corresponds to one of the one or more locations of the directory, if none of the one or more locations of the directory are available for storing an identifier of the non-home location, and storing an identifier of the non-home location in the one of the one or more locations.

Claims (32)

1. A method of tracking addresses stored in non-home locations in a cache, said method comprising:

determining if a cache line with an associated address that is to be stored in the cache is to be stored in a non-home location, wherein the cache line with the associated address is stored in a non-home location when a location for storing the cache line is not a function of the associated address of the cache line;

determining if a directory has a location available for storing an identifier of said non-home location;

if one or more locations of a directory are available for storing an identifier of said non-home location, storing an identifier of said non-home location in one of said one or more locations of said directory; and

if none of said one or more locations of said directory are available for storing an identifier of said non-home location, invalidating a non-home location in said cache that corresponds to one of said one or more locations of said directory and storing an identifier of said non-home location in said one of said one or more locations.

2. The method of claim 1 wherein said cache is exclusively for storage of content in non-home locations.

3. The method of claim 1 wherein said directory records all non-home locations associated with an address in said cache.

4. The method of claim 1 wherein a predetermined number of identifiers of said non-home locations associated with an address are enabled to be recorded.

5. The method of claim 1 wherein said cache is configured to accommodate a predetermined number of non-home locations.

6. The method of claim 1 wherein said directory has a predetermined number of ways and a predetermined number of sets.

7. The method of claim 1 wherein said cache is a two way associative cache.

8. A cache memory controller for tracking addresses stored in non-home locations in a cache, wherein the cache memory controller is to:

determine if a cache line with an associated address that is to be stored in the cache is to be stored in a non-home location, wherein the cache line with the associated address is stored in a non-home location when a location for storing the cache line is not a function of the associated address of the cache line;

determine if a directory has a location available for storing an identifier of said non-home location;

store an identifier of said non-home location in one of said one or more locations of said directory, if one or more locations of said directory are available for storing an identifier of said non-home location; and

invalidate a non-home location in said cache that corresponds to one of said one or more locations of said directory if none of said one or more locations of said directory are available for storing an identifier of said non-home location, and facilitate a storing of an identifier of said non-home location in said one of said one or more locations.

9. The cache memory controller of claim 8 wherein said cache is exclusively for storage of content in non-home locations.

10. The cache memory controller of claim 8 wherein said directory records all non-home locations associated with an address in said cache.

11. The cache memory controller of claim 8 wherein a predetermined number of identifiers of said non-home locations associated with an address are enabled to be recorded.

12. The cache memory controller of claim 8 wherein said cache is configured to accommodate a predetermined number of non-home locations.

13. The cache memory controller of claim 8 wherein said directory has a predetermined number of ways and a predetermined number of sets.

14. The cache memory controller of claim 8 wherein said cache is a two way associative cache.

15. A processor for tracking addresses stored in non-home locations in a cache, wherein the processor is to:

determine if a cache line with an associated address that is to be stored in the cache is to be stored in a non-home location, wherein the cache line with the associated address is stored in a non-home location when a location for storing the cache line is not a function of the associated address of the cache line;

determine if a directory has a location available for storing an identifier of said non-home location;

store an identifier of said non-home location in one of said one or more locations of said directory, if one or more locations of a directory are available for storing an identifier of said non-home location; and

invalidate a non-home location in said cache that corresponds to one of said one or more locations of said directory if none of said one or more locations of said directory are available for storing an identifier of said non-home location, and facilitate a storing of an identifier of said non-home location in said one of said one or more locations.

16. The processor of claim 15 wherein said cache is exclusively for storage of content in non-home locations.

17. The processor of claim 15 wherein said directory records all non-home locations associated with an address in said cache.

18. The processor of claim 15 wherein a predetermined number of said non-home locations associated with an address are enabled to be recorded.

19. The processor of claim 15 wherein said cache is configured to accommodate a predetermined number of non-home locations.

20. The processor of claim 15 wherein said directory has a predetermined number of ways and a predetermined number of sets.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2016
From: SOFT MACHINES, INC.
To: INTEL CORPORATION
Reel/Frame 040631/0915 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2014
From: AVUDAIYAPPAN, KARTHIKEYAN
To: SOFT MACHINES, INC.
Reel/Frame 033957/0408 →