Arrangements for memory allocation
AssigneeInternational Business Machines Corporation
InventorJoel H. Schopp
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method is disclosed for allocating memory for a processor unit in a group of processing units. The method can include receiving a memory allocation request where the request can indicate a number of binary segments to be stored. The method can determine if the number indicates a nonstandard allocation, and locate an unallocated memory address based on a multiple of the number if the number indicates a nonstandard allocation. The method can also include locating an unallocated memory address from a pool of memory addresses, where the pool of addresses includes the integer multiples of the binary segments and excludes addresses that are two times the number of binary segments such that the address can be utilized to determine the allocation.
Claims19
A method comprising:
- receiving, by an allocator from a processing unit, a memory allocation request, the memory allocation request indicating an amount of data to be stored;
- determining, by the allocator, that the amount of data to be stored is less than an amount of a standard memory allocation and is a nonstandard memory allocation;
- determining, by the allocator, an unallocated memory address within an address range for an at least partially unallocated, standard memory allocation by generating at least lower bits of the unallocated memory address based upon an integer multiple of the amount of data to be stored, the unallocated address being an address other than a boundary addresses of the address range for the at least partially unallocated, standard memory allocation, wherein the at least lower bits of the unallocated memory address are indicative of the amount of data to be stored and wherein the unallocated memory address is an integer multiple of a number of binary segments of the data to be stored excluding integer multiples of larger allocation alignments of the number of binary segments;
- and
- transmitting, by the allocator to the processing unit, the unallocated memory address in response to receiving the memory allocation request.
A system comprising:
- a memory;
- a processor coupled to the memory to transmit a memory allocation request for a number of bytes that is a nonstandard allocation size;
- and
- a memory allocator module having at least one standard allocation size, coupled with the processor to receive the memory allocation request, to determine an unallocated memory address within an address range for an at least partially unallocated, standard memory allocation by generating at least lower bits of the unallocated memory address based upon an integer multiple of the nonstandard allocation size, the unallocated memory address being an address other than a boundary addresses of the address range for the at least partially unallocated, standard memory allocation, wherein the at least lower bits of the unallocated memory address are indicative of the nonstandard allocation size and wherein the unallocated memory address is an integer multiple of a number of bytes of the memory allocation request excluding integer multiples of larger allocation alignments of the number of bytes of the memory allocation request.
A machine-accessible storage medium containing instructions to allocate memory usage, which when the instructions are executed by a machine, cause said machine to perform operations, comprising:
- receiving, from a processing unit, a memory allocation request, the memory allocation request indicating an amount of data to be stored;
- determining that the amount of data to be stored is less than an amount of a standard memory allocation and is a nonstandard memory allocation;
- determining an unallocated memory address within an address range for an at least partially unallocated, standard memory allocation by generating at least lower bits of the unallocated memory address based upon an integer multiple of the amount of data to be stored, the unallocated memory address being an address other than a boundary addresses of the address range for the at least partially unallocated, standard memory allocation, wherein the at least lower bits of the unallocated memory address are indicative of the amount of data to be stored and wherein the unallocated memory address is an integer multiple of the amount of data to be stored excluding integer multiples of larger allocation alignments of the amount of data to be stored;
- and
- transmitting, to the processing unit, the unallocated memory address in response to receiving the memory allocation request.
Dependencies are inferred from the claim text.