MEMORY MANAGEMENT SYSTEM AND METHOD
First Claim
1. A device comprising:
- a housing;
a storage device disposed in the housing, the storage device including a plurality of executable applications stored therein;
a memory device disposed in the housing, wherein the memory space of the memory device is logically partitioned into at least a first group of one or more contiguous memory blocks, a second group of one or more contiguous memory blocks each smaller than the one or more memory blocks of the first group, and a memory heap; and
a processor disposed in the housing and configured to execute the plurality of applications stored in the storage device;
wherein the device is configured to allocate memory, from at least one of a memory block of the first group, a memory block of the second group, or the memory heap, to at least one application of the plurality of executable applications upon execution of the at least one application by the processor, and wherein the memory allocation is based on an allocation strategy associated with the at least one application.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique for managing memory allocation in an electronic device is provided. In one embodiment, a method includes loading a memory allocation strategy for an application executed by a processor of a device, and requesting memory for the application from various memory locations in accordance with the memory allocation strategy. In one embodiment, the device includes multiple sets of contiguous memory blocks and a memory heap, memory may be requested from at least one of these memory locations, and memory may then be allocated to the application in response to the request. In some embodiments, the memory allocation strategy may be stored in the device prior to execution of the application. Various other methods, devices, and manufactures are also provided.
-
Citations
28 Claims
-
1. A device comprising:
-
a housing; a storage device disposed in the housing, the storage device including a plurality of executable applications stored therein; a memory device disposed in the housing, wherein the memory space of the memory device is logically partitioned into at least a first group of one or more contiguous memory blocks, a second group of one or more contiguous memory blocks each smaller than the one or more memory blocks of the first group, and a memory heap; and a processor disposed in the housing and configured to execute the plurality of applications stored in the storage device; wherein the device is configured to allocate memory, from at least one of a memory block of the first group, a memory block of the second group, or the memory heap, to at least one application of the plurality of executable applications upon execution of the at least one application by the processor, and wherein the memory allocation is based on an allocation strategy associated with the at least one application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
loading a memory allocation strategy of an application executed by a processor of a device, the device including a memory space logically organized into at least a first set of contiguous memory blocks, a second set of contiguous memory blocks, and a memory heap, wherein the memory allocation strategy is stored in memory of the device prior to execution of the application; requesting a portion of the memory space for the application according to the memory allocation strategy; and allocating memory space to the application from at least one contiguous memory block of the first or second sets, or from the memory heap, in response to the request. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A manufacture comprising:
one or more tangible, computer-readable media having application instructions encoded thereon, the application instructions comprising; instructions for determining a memory allocation strategy associated with a graphics program; and instructions for allocating graphics memory space from one of at least three different logical groups within the graphics memory space, the three different logical groups including a heap memory, a first block of contiguous memory, and a second block of contiguous memory larger than the first block. - View Dependent Claims (25, 26)
-
27. A device comprising:
-
a housing; a display disposed in the housing; a storage device disposed in the housing, the storage device including a plurality of executable applications stored therein, the plurality of executable applications including graphical applications configured to provide graphical outputs in a first format to the display disposed in the housing and in a second format, different from the first format, to an additional display external to the housing; a processor disposed in the housing and configured to execute the plurality of applications stored in the storage device; and a memory device disposed in the housing, wherein the memory space of the memory device is logically partitioned into at least a first plurality of memory blocks, a second plurality of memory blocks, and a memory heap; wherein the device is configured to allocate memory from the first plurality of memory blocks, if available, to a first graphical application configured to provide graphical outputs in the first format to the display disposed within the housing, and to allocate memory from the second plurality of memory blocks, if available, to a second graphical application configured to provide graphical outputs in the second format to the additional display external to the housing. - View Dependent Claims (28)
-
Specification