Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor

US10042750B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10042750-B2
Application numberUS-201313911797-A
CountryUS
Kind codeB2
Filing dateJun 6, 2013
Priority dateMar 15, 2013
Publication dateAug 7, 2018
Grant dateAug 7, 2018

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.

Apparatuses and methods for adaptive control of memory are disclosed. One example apparatus includes a processing unit configured to run an operating system, and a memory coupled to the processing unit. The memory configured to communicate with the processing unit via a memory bus. The example apparatus may further include an adaptive memory controller configured to receive monitored statistical data from the memory and from the processing unit. The adaptive memory controller is configured to manage the memory based on the monitored statistical data.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a processing unit configured to run an operating system, wherein the operating system is a memory management hypervisor (MATH) operating system, wherein the MMH operating system provides memory management threads (MMT) configured to manage the memory, wherein the MMH operating system is configured to support a guest operating system run on the processing unit; a memory coupled to the processing unit, the memory configured to communicate with the processing unit via a memory bus, wherein the memory includes a first memory controller configured to access at least one of a volatile memory or a non-volatile memory; and an adaptive memory controller configured to receive monitored statistical data from the first memory controller and from the processing unit, wherein the adaptive memory controller is configured to manage the memory based on the monitored statistical data, wherein the adaptive memory controller comprises a memory management processor (MMP) configured to run the MMT, wherein the MMP running the MMT is configured to manage the memory based on the monitored statistical data, wherein the MMP is configured to at least one of: change a frequency of a portion of the at least one of the non-volatile memory or the volatile memory; change a refresh period of a portion of the volatile memory; perform a memory scrub of a portion of the at least one of the non-volatile memory or the volatile memory; or change a multi-level cell mode of a portion of the at least one of the non-volatile memory or the volatile memory. 2. The apparatus of claim 1 , wherein the MMP comprises a cache and a direct-memory access (DMA) engine, Wherein the DMA engine is configured communicate with the memory. 3. The apparatus of claim 2 , wherein the processing unit includes a cache and the cache of the MMP is coupled to the cache of the processing unit via a common bus. 4. The apparatus of claim 1 , wherein the processing unit is configured to execute the MMH operating system using a first instruction set, and wherein the MMP is configured to execute the MMH operating system using a second instruction set. 5. The apparatus of claim 1 , wherein the memory comprises both a non-volatile memory and a volatile memory. 6. The apparatus of claim 5 , wherein the at least one of the non-volatile memory or the volatile memory is a multi-channel memory. 7. The apparatus of claim 5 , wherein the MMP running the MMT being further configured to change address mapping of a portion of the at least one of the non-volatile memory or the volatile memory. 8. The apparatus of claim 1 , wherein the MMP running the MMT being configured to manage the memory comprises the MMP running the MMT being configured to manage migration of information in the memory. 9. The apparatus of claim 8 , wherein the MMP running the MMT being configured to manage migration of information comprises the MMP running the MMT being configured to provide memory commands to a memory controller instructing the memory controller to move blocks of information in the memory. 10. The apparatus of claim 1 , wherein the MMP is configured to am the MMT to determine when to reconfigure the memory based on the monitored statistical data. 11. The apparatus of claim 1 , wherein the MMP is configured to nm the MMT to determine how to reconfigure the memory based on monitored statistical data. 12. The apparatus of claim 1 , wherein the MMP is configured to run the MMT to map information using an intermediate information depth map. 13. The apparatus of claim 1 , wherein the adaptive memory controller further comprises a performance management unit (PMU) configured to monitor the monitored statistical data, the PMU further comprising a PMU interface configured to couple the PMU to the processing unit and the MMP via a common bus and to a memory controller of the memory. 14. The apparatus of claim 13 , wherein the PMU interface is configured to couple the PMU to the memory controller via at least one of the memory bus or a direct connection. 15. The apparatus of claim 1 , wherein the adaptive memory controller configured to manage the memory based on the monitored statistical data comprises the adaptive memory controller configured to manage information depth and location based on traffic between the processing unit and the memory 220 . 16. The apparatus of claim 1 , wherein the adaptive memory controller configured to manage the memory based on the monitored statistical data comprises the adaptive memory controller configured to perform dynamic reconfiguration of the memory to match an information mapping with changing memory patterns of threads running on the processing unit. 17. A method, comprising: retrieving, using a memory controller of a memory, information in at one of a non-volatile or volatile memory of the memory responsive to memory access requests received at the memory controller from a processing unit running a memory management hypervisor (MMH) operating system; and managing a configuration of the memory at a memory management processor (MMP) running memory management threads (MMT) of the MMH operating system based on monitored statistical data, including: changing a multi-level cell mode of a portion of memory; managing mingration of information in the memory including managing metadata of page tables and translation lookaside buffers; and responsive to receiving a memory access request for information stored in a portion of the memory undergoing a migration; generating a page fault in the MMH operating system while the requested information is unavailable; and providing the information when the portion of the memory become available. 18. The method of claim 17 , further comprising receiving the monitored statistical data associated with the memory and the processing unit. 19. The method of claim 17 , wherein the monitored statistical data associated with the memory comprises at least one of depth map setting of information stored at the memory, information mapping of and between portions of the memory, frequency of accesses of portions of the memory, or any combination thereof. 20. The method of claim 17 , wherein the monitored statistical data associated with the processing unit comprises at least one of types of the memory access requests, frequency of the memory accesses, idle time of the processing unit, or any combination thereof. 21. The method of claim 17 , wherein managing migration of information in the memory comprises: providing memory commands to the memory; and moving blocks of information in the memory responsive to the memory commands. 22. The method of claim 17 , wherein managing metadata of page tables and translation lookaside buffers further comprises storing the metadata in shadow page tables and translation lookaside buffers that are not visible to a guest operating system. 23. The method of claim 17 , wherein managing the configuration of the memory at the MMP running the MMH hypervisor operating system based on monitored statistical data associated with the memory and the processing unit comprises moving a portion of the memory from a first information depth map to an intermediate information depth map, wherein the intermediate information depth map is invisible to a processing unit running a guest operating system. 24. The method of claim 17 , wherein responsive to receipt of a memory access request to the portion of memory mappe

Assignees

Inventors

Classifications

  • G06F12/023Primary

    Free address space management · CPC title

  • using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10) · CPC title

  • Configuration of memory controller to different memory types · CPC title

  • Cross-Sectional Technologies · mapped topic

  • Cross-Sectional Technologies · mapped topic

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 US10042750B2 cover?
Apparatuses and methods for adaptive control of memory are disclosed. One example apparatus includes a processing unit configured to run an operating system, and a memory coupled to the processing unit. The memory configured to communicate with the processing unit via a memory bus. The example apparatus may further include an adaptive memory controller configured to receive monitored statistica…
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 07 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).