Address Range Based Memory Hints for Prefetcher, Cache and Memory Controller
US-2024385966-A1 · Nov 21, 2024 · US
US11288205B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11288205-B2 |
| Application number | US-201514747980-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 23, 2015 |
| Priority date | Jun 23, 2015 |
| Publication date | Mar 29, 2022 |
| Grant date | Mar 29, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A processor maintains an access log indicating a stream of cache misses at a cache of the processor. In response to each of at least a subset of cache misses at the cache, the processor records a corresponding entry in the access log, indicating a physical memory address of the memory access request that resulted in the corresponding miss. In addition, the processor maintains an address translation log that indicates a mapping of physical memory addresses to virtual memory addresses. In response to an address translation (e.g., a page walk) that translates a virtual address to a physical address, the processor stores a mapping of the physical address to the corresponding virtual address at an entry of the address translation log. Software executing at the processor can use the two logs for memory management.
Opening claim text (preview).
What is claimed is: 1. A method comprising: recording, at a processor, a first log indicating a set of physical memory addresses associated with a stream of cache misses at the processor; providing the first log to an operating system executing at the processor; and predicting memory accesses based on the first log. 2. The method of claim 1 , further comprising: recording, at the processor, a second log indicating a mapping of the set of physical memory addresses to a corresponding set of virtual addresses; and providing the second log to the operating system executing at the processor; updating the predicting of memory addresses based on the second log. 3. The method of claim 2 , wherein providing the first log and the second log comprises: providing the first log and the second log to the operating system in response to a number of physical memory addresses in the first set exceeding a threshold. 4. The method of claim 1 , wherein the first log comprises a plurality of entries, each entry comprising: a first field indicating a physical address associated with memory access request that resulted in a cache miss at the processor; and a second field indicating a type of the memory access request. 5. The method of claim 2 , further comprising: in response to an indication of a flush at a translation lookaside buffer (TLB) of the processor, recording the TLB flush at the second log. 6. The method of claim 5 , further comprising: marking an entry of the first log as invalid in response to a request; and omitting the marked entry from the second log in response to recording the TLB flush. 7. The method of claim 2 , further comprising: in response to a memory access request resulting in a cache miss, omitting a physical address of the memory access request from the first log in response to determining the physical address is located in an excluded region of memory. 8. The method of claim 7 , further comprising: determining the physical address is located in the excluded region of memory based on an entry of a page table including the physical address. 9. The method of claim 1 , wherein providing the first log comprises: filtering a physical address from the first log in response to determining the physical address is located in an excluded region of memory. 10. A method, comprising: periodically sampling, at a processor, a set of physical memory addresses associated with a stream of cache misses at the processor to generate a first log; recording, at the processor, a second log indicating a mapping of the set of physical memory addresses to a corresponding set of virtual addresses; providing the first log and the second log to an operating system executing at the processor; and predicting memory accesses based on the first log and the second log. 11. The method of claim 10 , wherein recording the second log comprises: recording a mapping of a physical address to a corresponding virtual address at the second log in response to a page table walk to identify the physical address. 12. The method of claim 10 , wherein providing the first log and the second log comprises: providing the first log and the second log to the operating system in response to a number of physical memory addresses in the first set exceeding a threshold. 13. A processor comprising: a processor core to execute an operating system; a cache; and a stream recording module to record a first log indicating a set of physical memory addresses associated with a stream of cache misses at the cache and to provide the first log to the operating system, wherein the stream recording module is to predict memory accesses based on the first log. 14. The processor of claim 13 , further comprising an address recording module to record a second log indicating a mapping of the set of physical memory addresses to a corresponding set of virtual addresses and to provide the second log to the operating system, the stream recording module to modify the predicting of memory accesses based on the first log. 15. The processor of claim 14 , wherein the stream recording module is to provide the first log to the operating system in response to a number of physical memory addresses in the first set exceeding a threshold. 16. The processor of claim 14 , wherein the first log comprises a plurality of entries, each entry comprising: a first field indicating a physical address associated with memory access request that resulted in a cache miss at the processor; and a second field indicating a type of the memory access request. 17. The processor of claim 16 , further comprising: a translation lookaside buffer (TLB); and wherein the address recording module, is to record a TLB flush at the second log, in response to an indication of a flush at the TLB. 18. The processor of claim 16 , wherein: the stream recording module is to omit a physical address of the memory access request from the first log in response to determining the physical address is located in an excluded region of memory. 19. The processor of claim 18 , wherein: the stream recording module is to identify that the physical address is located in the excluded region of memory based on an entry of a page table including the physical address. 20. The processor of claim 14 , wherein: in response to the operating system receiving the first log and the second log, the processor is to transfer a block of data associated with the set of physical to a cache of the processor.
using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · CPC title
TLB miss handling · CPC title
Caches characterised by their organisation or structure · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.