Weak Sort Linked List Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory management techniques are inefficient in allocating and deallocating memory, leading to resource-intensive sorting of large lists of free memory sub-pages, which outweighs the benefits of maintaining such lists in modern computers with gigabytes of memory.

Innovation Solution

A method for performing a weak sort on a linked list data structure using a weighted mean value of the head and tail elements to determine the insertion location of new list elements, optimizing memory allocation and deallocation by biasing the list to keep lower addressed memory near the head and higher addressed memory near the tail.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a complete list of free memory sub-pages is maintained and sorted, then memory allocation efficiency is improved, but the resources required to organize and sort the list become greater than the benefits derived

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidresources required to organize and sort list
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory list into multiple sub-lists based on address ranges (e.g., low addresses, mid addresses, high addresses). Instead of maintaining one complete sorted list, the system divides it into smaller segments that can be managed more efficiently, reducing the overall sorting and organization resources required while still enabling effective memory allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of list organization from complete sorting to partial sorting based on address ranges. By organizing memory sub-pages into segments according to their address parameters rather than maintaining a fully sorted list, the system reduces the computational resources needed for organization while preserving allocation efficiency.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If memory is de-allocated frequently from the operating system, then memory usage flexibility is improved, but the time required for allocation and de-allocation increases

Engineering Contradiction:
Improvememory usage flexibilityVSAvoidtime for allocation and de-allocation
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of memory sub-pages into address-range segments during memory allocation. By pre-segmenting the memory list into manageable address ranges and maintaining pointers to these segments, the system prepares the data structure in advance so that future de-allocation operations can be performed more quickly without requiring extensive reorganization of the entire list.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7571163B2Method for sorting a data structure
Publication Date: 2009.08.04 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7571163B2 patent drawing
  • US7571163B2 patent drawing
  • US7571163B2 patent drawing

AI summary

A method is provided for performing a weak sort on a data structure comprising a plurality of list elements, the elements being associated with data values. The linked list data structure can have a head element containing a comparatively lower data value and a tail element containing a comparatively higher data value. One operation is identifying the head element and tail element of the data structure. The method can also include the operation of calculating a weighted mean value of the data values of the head and tail elements. A further operation can be inserting a new list element into the data structure, the location of the insertion in the data structure being dependent upon the data value of the new element as compared to the weighted mean value.