Dynamic Free-List Thresholds for Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management systems face inefficiencies in dynamic memory allocation and deallocation, particularly in systems with limited memory, where fragmentation and high memory usage lead to increased processing time and potential memory leaks, and integrating applications across different platforms is challenging due to varying memory allocation methods.

Innovation Solution

The method involves dynamically adjusting the thresholds of free-lists based on current memory usage and the frequency of memory region allocation, allowing for flexible management of free-lists to optimize memory allocation and deallocation, and incorporating a monitoring process to adjust thresholds and free memory allocation accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic memory allocation is performed using traditional free-list methods, then memory can be allocated and deallocated, but processing time increases and fragmentation occurs in systems with limited memory

Engineering Contradiction:
Improvememory allocation speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores optimal free-list thresholds in a threshold table before memory allocation operations begin. This preliminary action allows the memory management unit to quickly retrieve appropriate thresholds during allocation without performing complex calculations in real-time, thereby reducing processing time while maintaining effective memory management

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic adjustment of free-list thresholds based on current memory usage patterns and allocation frequency. The memory management unit monitors memory state and adapts threshold values dynamically, allowing the system to optimize allocation speed for different workload conditions while preventing fragmentation in limited memory environments

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If memory thresholds are kept low to reduce fragmentation, then fragmentation is minimized, but memory usage efficiency decreases

Engineering Contradiction:
Improvememory fragmentationVSAvoidmemory usage efficiency
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent dynamically adjusts free-list thresholds based on real-time memory allocation patterns and usage frequency. When allocation patterns indicate high fragmentation risk, thresholds are lowered to maintain stability. When memory usage efficiency is compromised, thresholds are raised to improve utilization. This dynamic adaptation resolves the contradiction by allowing the system to optimize both fragmentation and efficiency based on current conditions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory management unit continuously monitors memory allocation patterns, fragmentation levels, and threshold effectiveness. This feedback mechanism allows the system to adjust thresholds optimally - lowering them when fragmentation increases and raising them when memory usage efficiency deteriorates - thereby resolving the contradiction between fragmentation control and efficient memory utilization

Inventive Principle:
Principle #23Feedback

3Device complexity

If fixed memory allocation methods are used, then memory management is simple, but adaptability to different platforms and applications is reduced

Engineering Contradiction:
Improvememory management complexityVSAvoidplatform integration capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a memory management system that dynamically adapts to different platforms and applications by adjusting free-list thresholds based on observed allocation patterns. While the underlying data structure remains simple and fixed, the threshold values are dynamically tuned to match platform-specific memory characteristics and application requirements, achieving adaptability without increasing fundamental system complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the threshold parameters of free-lists based on platform-specific characteristics and application behavior patterns. By adjusting these parameters dynamically while maintaining the same basic memory management structure, the system achieves versatility across different platforms without complicating the core memory management mechanism

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9086952B2Memory management and method for allocation using free-list
Publication Date: 2015.07.21 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US9086952B2 patent drawing
  • US9086952B2 patent drawing
  • US9086952B2 patent drawing

AI summary

A method of managing a memory of an apparatus includes maintaining a plurality of lists of identifiers that each has an associated size value, wherein each identifier identifies a corresponding region of the memory that had been allocated for a process but that is currently not required by any of the one or more processes. When a process requests allocation of a region of the memory: one of the lists is identified that has an associated size value suitable for the allocation request; and if that list is not empty, a region of the memory is identified to the process by one of the identifiers that identifier is removed from that list, and, otherwise, a region of the memory is allocated with a size of the identified associated size value and the allocated region of the memory is identified the process.