Patent ID: 7571295

Claim:
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.