Utilizing overhead in fixed length memory block pools
First Claim
Patent Images
1. A method of managing a fixed length memory block pool having a plurality of memory blocks, said method comprising:
- receiving a memory block address from a memory management module, said memory block address corresponding to an available memory block; and
decrementing the memory block address by an amount substantially equal to a size of an overhead area of the available memory block.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of managing a fixed length memory block pool having a plurality of memory blocks includes receiving a memory block address from a memory management module, in which the memory block address corresponds to an available memory block. The method further includes decrementing the memory block address by an amount substantially equal to a size of the overhead area of the available memory block.
10 Citations
24 Claims
-
1. A method of managing a fixed length memory block pool having a plurality of memory blocks, said method comprising:
-
receiving a memory block address from a memory management module, said memory block address corresponding to an available memory block; and
decrementing the memory block address by an amount substantially equal to a size of an overhead area of the available memory block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
sending the decremented memory block address to an application that has requested a first memory block.
-
-
3. The method of claim 2, further comprising:
-
writing a pool pointer in the overhead area of the available memory block; and
incrementing the decremented memory block address by the amount.
-
-
4. The method of claim 1, wherein the plurality of memory blocks comprise a plurality of overhead areas, the overhead areas used to track which of the plurality of memory blocks have been allocated.
-
5. The method of claim 4, wherein the plurality of overhead areas comprise a memory portion of the plurality of memory blocks.
-
6. The method of claim 1, wherein the memory management module is part of an operating system.
-
7. The method of claim 6, wherein the operating system is ThreadX.
-
8. The method of claim 1, wherein the plurality of memory blocks is comprised of random access memory.
-
9. The method of claim 3, wherein the pool pointer identifies the memory block pool.
-
10. A computer system comprising:
-
a processor;
a bus coupled to said processor; and
a memory coupled to said bus;
wherein said memory comprises instructions, which when executed by said processor, cause said processor to implement;
a memory management module;
an interface to said memory management module; and
an application;
wherein said memory management module manages a fixed length memory block pool having a plurality of memory blocks formed in said memory, and said interface comprises instructions that;
receive a memory block address from a memory management module, said memory block address corresponding to an available memory block; and
decrement the memory block address by an amount substantially equal to a size of an overhead area of the available memory block. - View Dependent Claims (11, 12, 13, 14, 15)
send the decremented memory block address to said application.
-
-
12. The system of claim 11, said interface further comprising instructions that:
-
write a pool pointer in the overhead area of the available memory block; and
increment the decremented memory block address by the amount.
-
-
13. The system of claim 10, wherein said plurality of memory blocks comprise a plurality of overhead areas, the overhead areas used to track which of said plurality of memory blocks have been allocated.
-
14. The system of claim 10, wherein the memory management module is part of an operating system.
-
15. The system of claim 14, wherein said operating system is ThreadX.
-
16. A computer readable medium having instructions stored thereon which, when executed by a processor, cause the processor to manage a fixed length memory block pool having a plurality of memory blocks by:
-
receiving a memory block address from a memory management module, the memory block address corresponding to an available memory block; and
changing the memory block address so that a storage area of the available memory block includes an overhead area. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
sending the changed memory block address to an application that has requested a first memory block.
-
-
18. The computer readable medium of claim 17, said instructions further comprising:
-
changing the changed memory block address to a value that was received from the memory management module; and
writing a pool pointer in the overhead area of the available memory block.
-
-
19. The computer readable medium of claim 16, wherein the plurality of memory blocks comprise a plurality of overhead areas, the overhead areas used to track which of the plurality of memory blocks have been allocated.
-
20. The computer readable medium of claim 19, wherein the plurality of overhead areas comprise a memory portion of the plurality of memory blocks.
-
21. The computer readable medium of claim 16, wherein the memory management module is part of an operating system.
-
22. The computer readable medium of claim 21, wherein the operating system is ThreadX.
-
23. The computer readable medium of claim 16, wherein the plurality of memory blocks is comprised of random access memory.
-
24. The computer readable medium of claim 18, wherein the pool pointer identifies the memory block pool.
Specification