MULTIDIMENSIONAL CONTIGUOUS MEMORY ALLOCATION
First Claim
1. A method, comprising:
- receiving an allocation request for an amount of memory that is contiguous in a plurality of dimensions of the memory;
determining whether the memory includes a region corresponding to the requested amount that is a candidate as being unallocated based on information indicating a maximum number of contiguous unallocated allocable portions of the memory; and
in response to determining that the memory includes the candidate region, determining whether the candidate region is unallocated based on a subset of information indicating whether each allocable portion of the memory is allocated, wherein the subset corresponds to the candidate region only.
8 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure is related to multidimensional contiguous memory allocation. Multidimensional contiguous memory allocation can include receiving an allocation request for an amount of memory that is contiguous in a multiple dimensions of the memory and determining whether the memory includes a region corresponding to the requested amount that is a candidate as being unallocated based on information indicating a maximum number of contiguous unallocated allocable portions of the memory. In response to determining that the memory includes the candidate region, the method can include determining whether the candidate region is unallocated based on a subset of information indicating whether each allocable portion of the memory is allocated. The subset of information corresponds to the candidate region only.
187 Citations
37 Claims
-
1. A method, comprising:
-
receiving an allocation request for an amount of memory that is contiguous in a plurality of dimensions of the memory; determining whether the memory includes a region corresponding to the requested amount that is a candidate as being unallocated based on information indicating a maximum number of contiguous unallocated allocable portions of the memory; and in response to determining that the memory includes the candidate region, determining whether the candidate region is unallocated based on a subset of information indicating whether each allocable portion of the memory is allocated, wherein the subset corresponds to the candidate region only. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
storing a multidimensional matrix including a respective plurality of units per dimension, wherein each unit indicates whether a respective allocable portion of memory is allocated, and wherein each dimension of the matrix corresponds to a respective dimension of the memory; and storing a plurality of vectors, wherein each vector corresponds to a respective one of the plurality of dimensions, wherein each vector includes a respective plurality of entries, and wherein each entry represents a maximum number of contiguous unallocated allocable portions of the memory in the corresponding dimension that correspond to a particular element of a different dimension. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An apparatus, comprising:
-
a host; and a multidimensional random access memory coupled to the host, wherein the host is configured to; receive an allocation request for an amount of memory that is contiguous in a plurality of dimensions of the memory; determine whether the memory includes a region corresponding to the requested amount that is a candidate as being unallocated based on information stored in a plurality of vectors; and in response to a determination that the memory includes the candidate region, determining whether the candidate region is unallocated. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. An apparatus comprising:
-
a multidimensional random access memory; and a host configured with an operating system coupled to the memory, wherein the operating system is configured to; determine whether a first region of the memory that is contiguous in more than one dimension and that is a candidate as being unallocated exists, wherein the candidate region is sufficient to fulfil a memory allocation request; scan a subset of information indicating whether each allocable portion of the memory is unallocated in response to determining that the first candidate region exists, wherein the subset corresponds to the first candidate region only; allocate the first candidate region in response to the subset of the information indicating the first candidate region as being unallocated and update the subset of the information to indicate that the first candidate region is allocated; and determine whether a second region of the memory that is contiguous in more than one dimension and that is a candidate as being unallocated exists in response to the subset of the information indicating the first candidate region as being allocated, wherein the second candidate region is sufficient to fulfil the memory allocation request. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A non-transitory computer readable medium storing instructions executable by a processing resource to:
-
receive an allocation request for an amount of virtual memory, wherein the request specifies; memory that is contiguous in a first dimension of a plurality of dimensions of the memory; and memory that is contiguous in a second dimension of the plurality of dimensions of the memory; and determine whether the first dimension of a physical memory includes a first number of contiguous unallocated allocable portions sufficient to fulfill the request; determine whether the second dimension of the physical memory includes a second number of contiguous unallocated allocable portions of the memory sufficient to fulfill the request; and determine whether the first number of contiguous unallocated allocable portions and the second number of contiguous unallocated allocable portions are aligned in the first and the second dimensions to form a region of physical memory that is contiguous in the first and the second dimensions. - View Dependent Claims (30, 31, 32)
-
-
33. A non-transitory computer readable medium storing instructions executable by a processing resource to:
-
determine whether a memory includes a region that is contiguous in a plurality of dimensions of the memory corresponding to a requested amount that is a candidate as being unallocated based on information indicating a maximum number of contiguous unallocated allocable portions of the memory in each dimension; and scan a subset of information indicating whether each allocable portion of the memory is unallocated in response a determination that the memory includes the candidate region, wherein the subset corresponds to the candidate region only. - View Dependent Claims (34, 35, 36, 37)
-
Specification