COHERENT DRAM PREFETCHER
First Claim
Patent Images
1. A method comprising:
- initiating a memory access for a first memory line, the memory access being initiated by a processor;
allocating an entry and storing information corresponding to a second memory line in the allocated entry, the second memory line being predicted to be required in a subsequent memory access operation;
searching cache subsystems of a computing system for copies of the second memory line, in response to said allocating;
receiving status information corresponding to said second memory line, in response to said searching; and
storing said status information in the allocated entry.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for obtaining coherence permission for speculative prefetched data. A memory controller stores an address of a prefetch memory line in a prefetch buffer. Upon allocation of an entry in the prefetch buffer a snoop of all the caches in the system occurs. Coherency permission information is stored in the prefetch buffer. The corresponding prefetch data may be stored elsewhere. During a subsequent memory access request for a memory address stored in the prefetch buffer, both the coherency information and prefetched data may be already available and the memory access latency is reduced.
36 Citations
19 Claims
-
1. A method comprising:
-
initiating a memory access for a first memory line, the memory access being initiated by a processor; allocating an entry and storing information corresponding to a second memory line in the allocated entry, the second memory line being predicted to be required in a subsequent memory access operation; searching cache subsystems of a computing system for copies of the second memory line, in response to said allocating; receiving status information corresponding to said second memory line, in response to said searching; and storing said status information in the allocated entry. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system comprising:
-
a processing unit comprising a plurality of processors; a cache subsystem coupled to each processor; and a memory controller comprising a plurality of entries coupled to the processing unit; wherein the memory controller is configured to; store information in an entry corresponding to a memory block, the memory block comprising a memory line predicted to be required in a subsequent memory access operation; allocate a new entry of the plurality of entries for the memory block; search cache subsystems of the computing system for copies of the memory block, in response to the allocating the new entry; store status information of a copy of the memory block from the cache subsystem in the new allocated entry, in response to a hit in the cache subsystem. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A memory controller, in one processing node within a computing system comprising a plurality of processing nodes, comprising:
-
a plurality of entries, wherein each of the entries is configured to store information corresponding to a memory block, the memory block comprising a memory line predicted to be required in a subsequent memory access operation; and control logic, wherein the control logic is configured to; search cache subsystems of the computing system for copies of the memory block; and store status information of the copy of the memory block from the cache subsystem in the new allocated entry, in response to a hit in a cache subsystem. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification