Memory manager for heterogeneous memory control
First Claim
1. A method for managing memory of a system, comprising:
- receiving client information of a plurality of clients of the system, the clients being programs that request use of the memory of the system, and the client information including state information indicating an active state or an inactive state of each client;
receiving usage information of the memory indicating information about how memory is allocated to which clients, wherein the memory includes internal memory local to a processor of the system and external memory of the system separate from the internal memory;
receiving a request for internal memory from at least one client; and
automatically controlling the memory in accordance with the request, the usage information and the client information, wherein automatically controlling includesallocating a portion of the internal memory to the client,managing the memory of the system for performance, power, and space in accordance with a use case of the system, where the use case includes a function of the system for which the client performs an operation, andremapping an area of internal memory from a first client to a second client, wherein the remapping is temporary during at least one period of inactivity by the first client.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of a method and system for heterogeneous memory control are disclosed. The embodiments include components of a Memory Manager that receive usage information of a memory subsystem of a host system, the memory subsystem including internal memory and external memory. The Memory Manager also receives client information of one or more clients that are coupled to and/or integrated with the host system. A request or call for internal memory is also received at the Memory Manager from the clients. The Memory manager automatically controls the memory in accordance with one or more of the request, the usage information and the client information. The control includes allocating a portion of the internal memory to the client, remapping one or more areas of internal memory from a first client to a second client, and/or reorganizing the memory by remapping external memory to internal memory. Other embodiments are described and claimed.
114 Citations
14 Claims
-
1. A method for managing memory of a system, comprising:
-
receiving client information of a plurality of clients of the system, the clients being programs that request use of the memory of the system, and the client information including state information indicating an active state or an inactive state of each client; receiving usage information of the memory indicating information about how memory is allocated to which clients, wherein the memory includes internal memory local to a processor of the system and external memory of the system separate from the internal memory; receiving a request for internal memory from at least one client; and automatically controlling the memory in accordance with the request, the usage information and the client information, wherein automatically controlling includes allocating a portion of the internal memory to the client, managing the memory of the system for performance, power, and space in accordance with a use case of the system, where the use case includes a function of the system for which the client performs an operation, and remapping an area of internal memory from a first client to a second client, wherein the remapping is temporary during at least one period of inactivity by the first client. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a memory subsystem coupled to an operating system (OS), the memory subsystem comprising memory that includes internal memory local to a processor of the system and external memory of the system separate from the internal memory; a memory manager coupled to the memory subsystem, the memory manager configured to receive memory information including usage information of the memory indicating information about how memory is allocated to which clients, client information of at least one client responsive to the OS, the client being a program that requests use of the memory subsystem, where the client information includes state information indicating an active state or an inactive state of the client, and requests for internal memory from the clients, the memory manager automatically controlling the memory subsystem in accordance with the memory information, automatically controlling including allocating areas of the internal memory to requesting clients, managing the memory of the system for performance, power, and space in accordance with a use case of the system, where the use case includes a function of the system for which the client performs an operation, and remapping an area of internal memory from a first client to a second client, wherein the remapping is temporary during at least one period of inactivity by the first client. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer readable medium comprising executable instructions which when executed in a processing system manage memory of the system by:
-
receiving client information of a plurality of clients of the system, the clients being programs that request use of the memory of the system, and the client information including state information indicating an active state or an inactive state of each client; receiving usage information of the memory indicating information about how memory is allocated to which clients, wherein the memory includes internal memory local to a processor of the system and external memory of the system separate from the internal memory; receiving a request for internal memory from at least one client; and automatically controlling the memory in accordance with the request, the usage information and the client information, wherein automatically controlling includes allocating a portion of the internal memory to the client, managing the memory of the system for performance, power, and space in accordance with a use case of the system, where the use case includes a function of the system for which the client performs an operation, and remapping an area of internal memory from a first client to a second client in response to at least one period of inactivity by the first client, wherein the remapping is temporary during the period of inactivity. - View Dependent Claims (12, 13, 14)
-
Specification