Memory management technique
First Claim
Patent Images
1. A method comprising:
- receiving a data allocation request from an application at a memory manager that controls allocation of a memory based on one or more factors pertaining to the memory;
allocating a first block size of the memory to one or more first blocks for a determined first amount of application data; and
allocating a second block size of the memory to one or more second blocks allocated after the first amount of application data, the second block size being smaller than the first block size if the memory manager determines that internal fragmentation of the memory is likely to occur based on the one or more factors and larger than the first block size if the memory manager determines that external fragmentation of the memory is likely to occur based on the one or more factors.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods for allocating memory by a memory manager for an application are provided. The method may include the steps of allocating a first block size for a first amount of data, and allocating a second block size for memory allocated after the first amount of data. In some variations, the second block size is larger than the first block size. Subsequent block sizes may be also be allocated depending on the desired implementation and based on various threshold criteria. Related apparatuses, computer program products and computer systems are also provided.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving a data allocation request from an application at a memory manager that controls allocation of a memory based on one or more factors pertaining to the memory; allocating a first block size of the memory to one or more first blocks for a determined first amount of application data; and allocating a second block size of the memory to one or more second blocks allocated after the first amount of application data, the second block size being smaller than the first block size if the memory manager determines that internal fragmentation of the memory is likely to occur based on the one or more factors and larger than the first block size if the memory manager determines that external fragmentation of the memory is likely to occur based on the one or more factors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
a processor that implements a memory manager coupled to an application and a memory having an assignment unit, the assignment unit configured to allocate one or more first blocks of the memory for a determined first amount of data and one or more second blocks of the memory after the first amount of data, the one or more first blocks having a first block size and the one or more second blocks having a second block size that is different than the first block size, the first and second block sizes being determined based on one or more factors pertaining to usage of the memory, the one or more factors comprising indications that internal or external fragmentation of the memory is likely. - View Dependent Claims (16, 17, 18)
-
19. A computer program product, tangibly embodied on a machine-readable storage device, that includes executable instructions for causing a computer system to:
-
receive a data allocation request from an application at a memory manager that controls allocation of a memory based on one or more factors pertaining to the memory; allocate a first block size of the memory to one or more first blocks for a determined first amount of application data; and allocate a second block size of the memory to one or more second blocks allocated after the first amount of application data, the second block size being smaller than the first block size if the memory manager determines that internal fragmentation of the memory is likely to occur based on the one or more factors and larger than the first block size if the memory manager determines that external fragmentation of the memory is likely to occur based on the one or more factors.
-
-
20. A method comprising:
-
receiving an allocation request from an application at a memory manager module that manages allocation of a memory; determining, within the memory manger, whether internal or external fragmentation of the memory is likely to occur based on an observed pattern of memory usage; and allocating one or more blocks of the memory for the application, the one or more blocks having a first block size if internal fragmentation is determined to be likely and a second block size if external fragmentation is determined to be likely, the second block size being larger than the first block size. - View Dependent Claims (21)
-
Specification