Managing and ranking memory resources

US2025021248A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2025021248-A1
Application numberUS-202418897840-A
CountryUS
Kind codeA1
Filing dateSep 26, 2024
Priority dateNov 23, 2020
Publication dateJan 16, 2025
Grant date

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.

The present disclosure relates to systems, methods, and computer-readable media for managing tracked memory usage data and performing various actions based on memory usage data tracked by a memory controller on a memory device. For example, systems described herein involve collecting and compiling data across one or more memory controllers to evaluate characteristics of the memory usage data to determine hotness metric(s) for segments of a memory resource. The systems described herein may perform a variety of segment actions based on the hotness metric(s). In addition, the systems described herein can compile the memory usage data according to one or more access granularities. This compiled data may further be shared with multiple accessing agents in accordance with access resolutions of the respective accessing agents.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: identifying access resolutions for a plurality of accessing agents on a computing device, the access resolutions including timing information associated with frequencies with which accessing agents are configured to access memory usage data for a memory resource; determining a sample granularity including an access frequency based on a common factor of the access resolutions for the plurality of accessing agents; obtaining samples of memory usage data at the access frequency indicated by the sample granularity, wherein the samples of memory usage data for the memory resource include access metrics associated with access instances to the memory resource by the computing device, and wherein the access metrics are tracked by one or more memory controllers that manage access to the memory resource; compiling the samples of memory usage data within a memory record on the computing device; and causing information from the memory record to be shared with the plurality of accessing agents in accordance with the identified access resolutions. 2 . The method of claim 1 , wherein the access resolutions include a first access resolution associated with a first frequency with which a first accessing agent is configured to access the memory usage data and a second access resolution associated with a second frequency with which a second accessing agent is configured to access the memory usage data, wherein determining the sample granularity includes determining the common factor for the first accessing agent and the second accessing agent and calculating a sampling frequency that is a factor of both the first frequency associated with the first accessing agent and the second frequency associated with the second accessing agent. 3 . The method of claim 1 , further comprising generating a plurality of agent-specific memory usage records for the plurality of accessing agents based on associated access resolutions for the plurality of accessing agents. 4 . The method of claim 3 , wherein generating the plurality of agent-specific memory usage records comprises, for each accessing agent of the plurality of accessing agents, combining sets of samples of memory usage data from the obtained samples of memory usage data, the sets of samples including a number of samples based on a ratio between the sample granularity and an access resolution for the accessing agent. 5 . The method of claim 3 , wherein generating the plurality of agent-specific memory usage records includes combining sets of samples of memory usage data to simulate a collection of memory usage data at the associated access resolutions as if the memory usage data was sampled at the frequencies of the associated access resolutions. 6 . The method of claim 3 , wherein causing information from the memory record to be shared with the plurality of accessing agents comprises providing, for each accessing agent of the plurality of accessing agents, information from a respective agent-specific memory usage record from the plurality of agent-specific memory usage records. 7 . The method of claim 1 , wherein the samples of memory usage data are obtained from multiple memory devices having the one or more memory controllers implemented thereon, and wherein the samples of memory usage data are compiled from each of the multiple memory devices within a common memory usage record stored on the computing device. 8 . The method of claim 1 , wherein obtaining the samples of memory usage data comprises reading one or more heatmaps on the one or more memory controllers at a frequency in accordance with the determined sample granularity, and wherein reading the one or more heatmaps on the one or more memory controllers causes data from the one or more heatmaps to be cleared when read by the computing device. 9 . The method of claim 8 , wherein the one or more heatmaps are locally maintained on the one or more memory controllers. 10 . The method of claim 1 , wherein the memory resource is a volatile memory resource. 11 . A system, comprising: at least one processor; memory in electronic communication with the at least one processor; instructions stored in the memory, the instructions being executable by the at least one processor to: identify access resolutions for a plurality of accessing agents on a computing device, the access resolutions including timing information associated with frequencies with which accessing agents are configured to access memory usage data for a memory resource; determine a sample granularity including an access frequency based on a common factor of the access resolutions for the plurality of accessing agents; obtain samples of memory usage data at the access frequency indicated by the sample granularity, wherein the samples of memory usage data for the memory resource include access metrics associated with access instances to the memory resource by the computing device, and wherein the access metrics are tracked by one or more memory controllers that manage access to the memory resource; compile the samples of memory usage data within a memory record on the computing device; and cause information from the memory record to be shared with the plurality of accessing agents in accordance with the identified access resolutions. 12 . The system of claim 11 , wherein the access resolutions include a first access resolution associated with a first frequency with which a first accessing agent is configured to access the memory usage data and a second access resolution associated with a second frequency with which a second accessing agent is configured to access the memory usage data, wherein determining the sample granularity includes determining the common factor for the first accessing agent and the second accessing agent and calculating a sampling frequency that is a factor of both the first frequency associated with the first accessing agent and the second frequency associated with the second accessing agent. 13 . The system of claim 11 , further comprising instructions being executable by the at least one processor to generate a plurality of agent-specific memory usage records for the plurality of accessing agents based on associated access resolutions for the plurality of accessing agents. 14 . The system of claim 13 , wherein generating the plurality of agent-specific memory usage records comprises, for each accessing agent of the plurality of accessing agents, combining sets of samples of memory usage data from the obtained samples of memory usage data, the sets of samples including a number of samples based on a ratio between the sample granularity and an access resolution for the accessing agent. 15 . The system of claim 13 , wherein generating the plurality of agent-specific memory usage records includes combining sets of samples of memory usage data to simulate a collection of memory usage data at the associated access resolutions as if the memory usage data was sampled at the frequencies of the associated access resolutions. 16 . The system of claim 13 , wherein causing information from the memory record to be shared with the plurality of accessing agents comprises providing, for each accessing agent of the plurality of accessing agents, information from a respective agent-specific memory usage record from the plurality of agent-specific memory usage records. 17 . The system of claim 13 , wherein the samples of memory usage data are obtained from multiple memory devices having the one or more memory controllers implemented thereon, and wh

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Migration mechanisms · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Memory management, e.g. access or allocation · CPC title

  • Monitoring involving counting · CPC title

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 US2025021248A1 cover?
The present disclosure relates to systems, methods, and computer-readable media for managing tracked memory usage data and performing various actions based on memory usage data tracked by a memory controller on a memory device. For example, systems described herein involve collecting and compiling data across one or more memory controllers to evaluate characteristics of the memory usage data to…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0631. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 16 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).