ASYMMETRIC MEMORY MIGRATION IN HYBRID MAIN MEMORY
First Claim
1. A method of managing a main memory that includes symmetric memory components associated with a first collection of memory operations and asymmetric memory components associated with a second collection of memory operations, where the symmetric memory components are each configured to enable random access write operations in which an address within a block of the symmetric memory component is written without affecting the availability of other addresses within the block of the symmetric memory component, and where the asymmetric memory components are each configured to enable block write operations in which an address within a block of one of the asymmetric memory components affects the availability of other addresses within the block of the asymmetric memory component, the method comprising:
- receiving, on a central processing unit (CPU), a command from an application to read data associated with a virtual address that is mapped to the main memory;
determining, using the memory management unit, that the virtual address is mapped to one of the symmetric memory components of the main memory;
accessing memory use characteristics indicating how the data associated with the virtual address has been accessed;
determining, based on the memory use characteristics, that the data associated with the virtual address has access characteristics suited to an asymmetric memory component of the main memory;
loading, using the CPU, the data associated with the virtual address to the asymmetric memory component of the main memory;
receiving, after the loading and using the memory management unit, a command from the application to read the data associated with the virtual address; and
retrieving, responsive to the received command, the data associated with the virtual address from the asymmetric memory component of the main memory.
7 Assignments
0 Petitions
Accused Products
Abstract
Main memory is managed by receiving a command from an application to read data associated with a virtual address that is mapped to the main memory. A memory controller determines that the virtual address is mapped to one of the symmetric memory components of the main memory, and accesses memory use characteristics indicating how the data associated with the virtual address has been accessed, The memory controller determines that the data associated with the virtual address has access characteristics suited to an asymmetric memory component of the main memory and loads the data associated with the virtual address to the asymmetric memory component of the main memory. After the loading and using the memory management unit, a command is received from the application to read the data associated with the virtual address, and the data associated with the virtual address is retrieved from the asymmetric memory component.
-
Citations
1 Claim
-
1. A method of managing a main memory that includes symmetric memory components associated with a first collection of memory operations and asymmetric memory components associated with a second collection of memory operations, where the symmetric memory components are each configured to enable random access write operations in which an address within a block of the symmetric memory component is written without affecting the availability of other addresses within the block of the symmetric memory component, and where the asymmetric memory components are each configured to enable block write operations in which an address within a block of one of the asymmetric memory components affects the availability of other addresses within the block of the asymmetric memory component, the method comprising:
-
receiving, on a central processing unit (CPU), a command from an application to read data associated with a virtual address that is mapped to the main memory; determining, using the memory management unit, that the virtual address is mapped to one of the symmetric memory components of the main memory; accessing memory use characteristics indicating how the data associated with the virtual address has been accessed; determining, based on the memory use characteristics, that the data associated with the virtual address has access characteristics suited to an asymmetric memory component of the main memory; loading, using the CPU, the data associated with the virtual address to the asymmetric memory component of the main memory; receiving, after the loading and using the memory management unit, a command from the application to read the data associated with the virtual address; and retrieving, responsive to the received command, the data associated with the virtual address from the asymmetric memory component of the main memory.
-
Specification