Method and apparatus for computer memory management by monitoring frequency of process access

US9846626B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9846626-B2
Application numberUS-201514754011-A
CountryUS
Kind codeB2
Filing dateJun 29, 2015
Priority dateDec 31, 2012
Publication dateDec 19, 2017
Grant dateDec 19, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9846626B2 cover?
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 …
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/3037. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 19 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).