Memory performance evaluation using address mapping information
US-2024394164-A1 · Nov 28, 2024 · US
US9846626B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9846626-B2 |
| Application number | US-201514754011-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 29, 2015 |
| Priority date | Dec 31, 2012 |
| Publication date | Dec 19, 2017 |
| Grant date | Dec 19, 2017 |
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 memory monitoring method and a computing system. The computing system includes a processor, a memory and a monitor. The monitor obtains memory unit access information and process information of the computer system. The memory unit access information includes the number of access times of each memory unit of the memory. The process information includes information about a mapping relationship between a virtual address and a physical address of each memory units accessed by the current running process. After generating monitoring information, which includes the frequency at which the current running process accesses each memory unit, according to the memory unit access information and the process information, the monitor feeds the monitoring information back to the processor. Thus, the processor can perform memory management according to the monitoring information.
Opening claim text (preview).
What is claimed is: 1. A memory monitoring method performed by a monitor in a computer system, comprising: listening, with the monitor separately coupled to a central processing unit (CPU), on a memory bus of the computer system to obtain memory unit access information of the computer system, wherein the memory unit access information comprises a number of access times of each memory unit of the computer system; obtaining process information of the computer system, comprising: receiving a memory access address from the CPU; detecting a special memory access address from the memory access address using a specific identifier of the memory access address, wherein the special memory access address comprises encoded process information of the computer system, and wherein the specific identifier comprises information for identifying a presence of the encoded process information in the memory access address; and decoding the detected special memory access address to obtain the process information, wherein the process information comprises information about a mapping relationship between a virtual address and a physical address of a current running process of the computer system, and wherein the physical address of the current running process is a physical address of each memory unit accessed by the current running process; generating monitoring information according to the memory unit access information and the process information, wherein the monitoring information comprises a frequency at which the current running process accesses each memory unit; and feeding the monitoring information back to the CPU of the computer system, wherein the monitoring information is used by the CPU for managing memory. 2. The method according to claim 1 , wherein listening on the memory bus of the computer system comprises performing bypass listening on the memory bus of the computer system. 3. The method according to claim 1 , wherein generating the monitoring information according to the memory unit access information and the process information comprises: generating, according to the number of access times of each memory unit of the computer system and the process information, the frequency at which the current running process accesses each memory unit; and classifying the number of access times of each memory unit of the computer system into a number of access times of one or more of a Bank, a Rank, a memory module, and a memory channel so as to obtain statistics information, wherein the statistics information comprises the number of access times of one or more of the Bank, the Rank, the memory module, and the memory channel. 4. The method according to claim 1 , wherein feeding the monitoring information back to the CPU of the computer system comprises: storing the monitoring information into a buffer created in advance in the computer system; and updating a memory status bit accessed by the CPU to indicate that the monitoring information has been stored into the buffer. 5. The method according to claim 1 , wherein feeding the monitoring information back to the CPU of the computer system comprises: receiving, from the CPU, a command to obtain the monitoring information; and feeding the monitoring information back to the CPU. 6. The method according to claim 1 , wherein the memory unit access information further comprises a reuse distance of each memory unit of the computer system, and wherein the method further comprises feeding the reuse distance of each memory unit of the computer system back to the CPU. 7. The method according to claim 1 , wherein the specific identifier includes a plurality of flag bits. 8. A computer system, comprising: a processor; a memory comprising instructions and a plurality of memory units; and a monitor separately coupled from the processor, wherein the instructions cause the monitor to be configured to: listen on a memory bus of the computer system to obtain memory unit access information of the computer system, wherein the memory unit access information comprises a number of access times of each memory unit of the memory; obtain process information of the computer system, comprising: receive a memory access address from the processor; detect a special memory access address from the memory access address using a specific identifier of the memory access address, wherein the special memory access address comprises encoded process information of the computer system, and wherein the specific identifier comprises information configured to identify a presence of the encoded process information in the memory access address; and decode the detected special memory access address to obtain the process information of the computer system, wherein the process information comprises information about a mapping relationship between a virtual address and a physical address of a current running process of the computer system, and wherein the physical address of the current running process is a physical address of each memory unit accessed by the current running process; generate monitoring information according to the memory unit access information and the process information, wherein the monitoring information comprises a frequency at which the current running process accesses each memory unit; and feed the monitoring information back to the processor of the computer system, wherein the monitoring information is used by the processor for managing memory. 9. The computing system according to claim 8 , wherein the instructions cause the monitor to be configured to perform bypass listening on the memory bus of the computer system to obtain the memory unit access information of the computer system. 10. The computing system according to claim 8 , wherein the instructions cause the monitor to be configured to: generate, according to the number of access times of each memory unit of the memory and the process information, the frequency at which the current running process accesses each memory unit; and classify the number of access times of each memory unit of the memory into a number of access times of one or more of a Bank, a Rank, a memory module, and a memory channel, so as to obtain statistics information, wherein the statistics information comprises the number of access times of one or more of the Bank, the Rank, the memory module, and the memory channel. 11. The computing system according to claim 8 , wherein the instructions cause the monitor to be configured to: store the monitoring information into a buffer created in advance in the computer system; and update a memory status bit accessed by the processor to indicate that the monitoring information has been stored into the buffer. 12. The computing system according to claim 8 , wherein the instructions cause the monitor to be configured to: receive, from the processor, a command to obtain the monitoring information; and feed the monitoring information back to the processor. 13. The computing system according to claim 8 , wherein the memory unit access information further comprises a reuse distance of each memory unit of the memory, and wherein the monitor is further configured to feed the reuse distance of each memory unit of the memory back to the processor. 14. The computing system according to claim 8 , wherein the specific identifier includes a plurality of flag bits.
Virtual · CPC title
Monitoring involving counting · CPC title
Address translation · CPC title
Performance evaluation by tracing or monitoring · CPC title
Performance evaluation by statistical analysis · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.