TWO STAGE MEMORY ALLOCATION USING A CACHE
First Claim
Patent Images
1. A method for allocating memory on a multi-core processing system, the method comprising:
- receiving a first allocation of a first memory space of system memory of the multi-core processing system at a first software module, wherein the first allocation of the first memory space globally locks the first memory space;
receiving a first request for locally locking a first portion of memory, wherein the first portion of memory is of a size that corresponds to a memory size that spans a range of memory addresses from a first starting memory address;
locking the first portion of memory with a first local lock, wherein the first portion of memory includes memory addresses in the first memory space; and
storing the first starting memory address in a first entry of a data structure.
20 Assignments
0 Petitions
Accused Products
Abstract
The presently claimed invention manages memory in a multi-processor system. The presently claimed invention may use a combination of global and local locks when allocating memory and de-allocating memory in a multi-processor system. A method consistent with the presently claimed invention may first receive an allocation of a first memory space in the system memory of a multi-core processing system. The allocation of the first memory space may globally locks the first memory space where the memory space may administered by a software module using one or more local locks.
-
Citations
21 Claims
-
1. A method for allocating memory on a multi-core processing system, the method comprising:
-
receiving a first allocation of a first memory space of system memory of the multi-core processing system at a first software module, wherein the first allocation of the first memory space globally locks the first memory space; receiving a first request for locally locking a first portion of memory, wherein the first portion of memory is of a size that corresponds to a memory size that spans a range of memory addresses from a first starting memory address; locking the first portion of memory with a first local lock, wherein the first portion of memory includes memory addresses in the first memory space; and storing the first starting memory address in a first entry of a data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor for performing a method for allocating memory on a multi-core processing system, the method comprising:
-
receiving a first allocation of a first memory space of system memory of the multi-core processing system, wherein the first allocation of the first memory space globally locks the first memory space; receiving a first request for locally locking a first portion of memory, wherein the first portion of memory is of a size that corresponds to a memory size that spans a range of memory addresses from a first starting memory address; locking the first portion of memory with a first local lock, wherein the first portion of memory includes memory addresses in the first memory space; and storing the first starting memory address in a first entry in a data structure. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for allocating memory, the apparatus comprising:
-
a memory; and multiple processors, wherein at least one of the one or more multiple processors executes instructions out of the memory, wherein the at least one or more processors; receives a first allocation of a first memory space of system memory of the multi-core processing system at a first software module, the first allocation of the first memory space globally locks the first memory space; receives a first request for locally locking a first portion of memory, the first portion of memory is of a size that corresponds to a memory size that spans a range of memory addresses from a first starting memory address; locks the first portion of memory with a first local lock, wherein the first portion of memory includes memory addresses in the first memory space; and stores the first starting memory address in a first entry of a data structure.
-
Specification