11042477

Memory Management Using Segregated Free Lists

PublishedJune 22, 2021
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A memory management method, comprising: finding a first memory chunk within a free list segregated free lists in a memory block split into memory chunks of different sizes each free list represented by a chain of memory chunks of a same size, each memory chunk in the memory block having information on a state of the memory chunk, wherein the state of the memory chunk is one of a used state, a linked state, or a free state, the used state for indicating a memory chunk in use and not available for allocation, the linked state for indicating a memory chunk that is not used, linked within a free list of the segregated free lists, and available for allocation, and the free state for indicating a memory chunk that is not used, not linked within any of the segregated free lists, and is not available for allocation; unlinking the first memory chunk from the free list of the segregated free lists, and setting the state of the first memory chunk to the used state; determining that a right-adjacent memory chunk of the first memory chunk is in the free state; and linking the right-adjacent memory chunk into a corresponding free list of the segregated free lists and setting the state of the right-adjacent memory chunk to the linked state.

2

2. The memory management method according to claim 1 , further comprising: executing memory deallocation by: verifying a state of a left-adjacent memory chunk of the first memory chunk; setting the state of the first memory chunk to the linked state and linking the first memory chunk within a corresponding free list of the segregated free lists when the left-adjacent memory chunk is in the used state, or setting the state of the first memory chunk to the free state when the left-adjacent memory chunk is in the linked state; and merging the first memory chunk and the left-adjacent memory chunk to a new memory chunk and setting the state of the new memory chunk to the free state when the left-adjacent memory chunk is in the free state.

3

3. The memory management method according to claim 2 , wherein the segregated free lists are singly-linked.

4

4. The memory management method according to claim 2 , further comprising: terminating memory allocation when the right-adjacent memory chunk of the first memory chunk is not in the free state.

5

5. The memory management method according to claim 2 , wherein each memory chunk of the memory chunks comprises a header and a footer, and wherein at least one of the header or the footer indicates the state of the respective memory chunk.

6

6. The memory management method according to claim 5 , wherein merging the first memory chunk and the left-adjacent memory chunk comprises: merging a footer of the left-adjacent memory chunk and a header of the first memory chunk to an area for storage of data.

7

7. A memory management device, comprising: a processor; a memory storage plurality of instructions that, when executed by the processor, cause the device to: find a first memory chunk within a free list of segregated free lists in a memory block split into memory chunks of different sizes, each free list represented by a chain of memory chunks of a same size, each memory chunk in the memory block having information on a state of the memory chunk, wherein the state of the memory chunk is one of a used state, a linked state, or a free state, the used state for indicating a memory chunk in use and not available for allocation, the linked state for indicating a memory chunk that is not used, linked within a free list of the segregated free lists, and available for allocation, and the free state for indicating a memory chunk that is not used, not linked within any of the segregated free lists, and is not available for allocation; unlink the first memory chunk from the free list of the segregated free lists, and set the state of the first memory chunk to the used state; verify whether a right-adjacent memory chunk of the first memory chunk in memory is in the free state; and when the right-adjacent memory chunk is in the free state, link the right-adjacent memory chunk into a corresponding free list of the segregated free lists and set the state of the right-adjacent memory chunk to the linked state.

8

8. The memory management device according to claim 7 , wherein the instructions, when executed by the processor, cause the device to: execute memory deallocation comprising: verify the state of a left-adjacent memory chunk of the first memory chunk; set the state of the first memory chunk to the linked state and link the first memory chunk within a corresponding free list of the segregated free lists when the left-adjacent memory chunk is in the used state, or set the state of the first memory chunk to the free state when the left-adjacent memory chunk is in the linked state; and merge the first memory chunk and the left-adjacent memory chunk to a new memory chunk and set the state of the new memory chunk to the free state when the left-adjacent memory chunk is in the free state.

9

9. The memory management device according to claim 8 , wherein the segregated free lists are singly-linked.

10

10. The memory management device according to claim 8 , wherein the instructions, when executed by the processor, cause the device to: terminate the memory allocation action when the right-adjacent memory chunk of the first memory chunk is not in the free state.

11

11. The memory management device according to claim 8 , wherein each memory chunk of the memory chunks comprises a header and a footer, and wherein at least on of the header or the footer indicates the state of the respective memory chunk.

12

12. The memory management device according to claim 11 , wherein to merge the first memory chunk and the left-adjacent memory chunk, the instructions, when executed by the processor, cause the device to: merge a footer of the left-adjacent memory chunk and a header of the first memory chunk to an area for storage of data.

13

13. A non-transitory machine-readable medium having instructions stored therein for managing memory, the instructions, when executed by a processor, causing the processor to perform operations, the operations comprising: finding a first memory chunk within a free list of segregated free lists in a memory block split into memory chunks of different sizes, each free list represented by a chain of memory chunks of a same size, each memory chunk in the memory block having information on a state of the memory chunk, wherein the state of the memory chunk is one of a used state, a linked state, or a free state, the used state for indicating a memory chunk in use and not available for allocation, the linked state for indicating a memory chunk that is not used, linked within a free list of the segregated free lists, and available for allocation, and the free state for indicating a memory chunk that is not used, not linked within any of the segregated free lists, and is not available for allocation; unlinking the first memory chunk from the free list of the segregated free lists, and setting the state of the first memory chunk to the used state; determining that a right-adjacent memory chunk of the first memory chunk is in the free state; and linking the right-adjacent memory chunk into a corresponding free list of the segregated free lists and setting the state of the right-adjacent memory chunk to the linked state.

14

14. The non-transitory machine-readable medium according to claim 13 , the operations further comprising: executing memory deallocation by: verifying a state of a left-adjacent memory chunk of the first memory chunk; setting the state of the first memory chunk to the linked state and linking the first memory chunk within a corresponding free list of the segregated free lists when the left-adjacent memory chunk is in the used state, or setting the state of the first memory chunk to the free state when the left-adjacent memory chunk is in the linked state; and merging the first memory chunk and the left-adjacent memory chunk to a new memory chunk and setting the state of the new memory chunk to the free state when the left-adjacent memory chunk is in the free state.

15

15. The non-transitory machine-readable medium according to claim 14 , wherein the segregated free lists are singly-linked.

16

16. The non-transitory machine-readable medium according to claim 14 , the operations further comprising: terminating memory allocation when the right-adjacent memory chunk of the first memory chunk is not in the free state.

17

17. The non-transitory machine-readable medium according to claim 14 , wherein each memory chunk of the memory chunks comprises a header and a footer, and wherein at least one of the header or the footer indicates the state of the respective memory chunk.

18

18. The non-transitory machine-readable medium according to claim 17 , wherein merging the first memory chunk and the left-adjacent memory chunk comprises: merging a footer of the left-adjacent memory chunk and a header of the first memory chunk to an area for storage of data.

Patent Metadata

Filing Date

Unknown

Publication Date

June 22, 2021

Inventors

Aleksandr Aleksandrovich Simak
Peter Sergeevich Krinov
Xuecang Zhang

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “MEMORY MANAGEMENT USING SEGREGATED FREE LISTS” (11042477). https://patentable.app/patents/11042477

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.