Distributed cache
First Claim
Patent Images
1. A method of caching comprising:
- receiving input data and assigning a cache tag to said input data;
storing in a first data storage area a cache tag of received input data if no entry in said first data storage area is identical to said assigned cache tag;
storing in a second data storage area data produced by a processor which is based on said input data and corresponding to said assigned cache tag if no entry in said first data storage area is identical to said assigned cache tag; and
transmitting data selectively from said second data storage area if said first data storage area contains an entry identical to said assigned cache tag or from said processor if no entry in said first data storage area is identical to said assigned cache tag.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for distributed cache. Cache tag storage and cache data storage are maintained in separate pipeline stages. Cache tag storage is operated by a data producer. Cache data storage is operated by a data consumer. Cache hits and misses are determined by the data producer prior to any operations being performed by the processor. In the event of a cache miss, produced data is sent to the processor to be processed. In the event of a cache hit, the cache address of the corresponding previously processed data is sent to the data consumer so that the corresponding processed data unit can be retrieved from cache data storage.
-
Citations
52 Claims
-
1. A method of caching comprising:
-
receiving input data and assigning a cache tag to said input data;
storing in a first data storage area a cache tag of received input data if no entry in said first data storage area is identical to said assigned cache tag;
storing in a second data storage area data produced by a processor which is based on said input data and corresponding to said assigned cache tag if no entry in said first data storage area is identical to said assigned cache tag; and
transmitting data selectively from said second data storage area if said first data storage area contains an entry identical to said assigned cache tag or from said processor if no entry in said first data storage area is identical to said assigned cache tag. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A system for caching data comprising:
-
a producer, which produces a derived unit of data from an incoming unit of data;
a processor, which transforms said derived unit of data into a corresponding processed unit of data and sends said processed unit of data to a consumer;
a consumer, which uses said processed units of data;
a cache tag storage device coupled to said producer; and
a cache data storage device coupled to said processor and said consumer;
wherein said data producer assigns a cache tag to said incoming unit of data and compares said assigned cache tag to each entry in said cache tag storage;
if said assigned cache tag does not match an entry in said cache tag storage, said data producer sends a derived unit of data corresponding to said incoming unit of data to said processor, selects an entry in said cache tag storage, writes said cache tag to said selected entry in said cache tag storage, sends the corresponding address in said cache data storage device, a hit/miss indicator and an allocation indicator to said consumer; and
if said assigned cache tag does match an entry in said cache tag storage, said data producer determines what address in said cache data storage device corresponds to the address in said cache tag storage device where said matching cache tag is stored and sends said corresponding address and a hit/miss indicator to said data consumer. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A system for caching data comprising:
-
a producer, which produces a derived unit of data from an incoming unit of data;
a processor, which transforms said derived unit of data into a corresponding processed unit of data;
a consumer, which uses said processed units of data;
a cache tag storage device coupled to said producer;
a first data storage device coupled to said producer and said consumer;
a second data storage device coupled to said producer and said processor; and
a cache data storage device coupled to said processor and said consumer;
wherein said data producer assigns a cache tag to said incoming unit of data and compares said assigned cache tag to each entry in said cache tag storage;
if said assigned cache tag does not match an entry in said cache tag storage, said data producer stores a unit of data corresponding to said incoming unit of data in said second data storage device, stores said assigned cache tag in said cache tag storage, determines the corresponding address in said cache data storage and stores said corresponding address in said first data storage device, and if said assigned cache tag does match an entry in said cache tag storage, said data producer stores in said first data storage device the address in said cache data storage containing processed data corresponding to said matched entry in said cache tag storage. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
Specification