Hierarchical Memory Segmentation for Stack Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with hierarchical memory structures, existing memory management methods do not effectively utilize internal memory with high data access speed, leading to inefficient memory usage and increased costs, especially when handling call stacks that vary in memory consumption over time.

Innovation Solution

A memory management method that allocates a first data structure to internal memory and a second data structure to external memory based on analyzed memory consumption, using a memory controller to determine thresholds and adjust stack pointers during stack operations, allowing for efficient use of both high-speed internal memory and cost-effective external memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the call stack is allocated entirely in internal memory with high data access speed, then the data access speed is improved, but the cost of the computing system increases due to increased internal memory usage

Engineering Contradiction:
Improvedata access speedVSAvoidinternal memory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The call stack is segmented into two parts: a first data structure allocated in internal memory and a second data structure allocated in external memory. This segmentation allows the system to utilize the high-speed internal memory for critical stack operations while offloading less time-sensitive data to external memory, thereby improving data access speed for essential operations without proportionally increasing internal memory usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the call stack are assigned different memory locations based on their access characteristics. The first data structure, which requires frequent access, is placed in internal memory with high data access speed, while the second data structure is placed in external memory. This local quality differentiation optimizes the overall system performance by matching memory characteristics to data access patterns without uniformly increasing internal memory capacity.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If the call stack is allocated entirely in external memory, then the cost of the computing system is reduced, but the data access speed deteriorates

Engineering Contradiction:
Improveinternal memory usageVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

By segmenting the call stack into two data structures stored in different memory types, the system preserves the cost benefits of external memory allocation while ensuring that the most frequently accessed stack data resides in high-speed internal memory, thus maintaining acceptable data access speed without requiring full internal memory allocation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by placing only the portion of the call stack that requires high-speed access (first data structure) in internal memory, while storing the remaining portion (second data structure) in external memory. This selective approach reduces overall internal memory usage while preserving data access speed for critical operations.

Inventive Principle:
Principle #3Local quality

3Reliability

If a fixed large size is allocated to the call stack in internal memory to handle peak memory demand, then the reliability is improved, but the memory usage efficiency deteriorates during non-peak periods

Engineering Contradiction:
Improvememory availability during peak demandVSAvoidmemory usage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically allocates memory resources by using a memory controller to monitor and analyze the actual memory consumption of the call stack. Based on this analysis, the system determines appropriate sizes for the first and second data structures, allowing the call stack to adapt its memory usage to actual demand. This dynamic approach ensures sufficient memory availability during peak demand while avoiding wasteful allocation during non-peak periods, thereby improving both reliability and memory usage efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory controller analyzes the actual memory consumption of the call stack and uses this feedback information to determine the optimal allocation sizes for the first and second data structures. This feedback mechanism ensures that the system allocates sufficient internal memory capacity to handle peak demand reliably while avoiding excessive allocation that would reduce memory usage efficiency during normal operation.

Inventive Principle:
Principle #23Feedback

4Productivity

If a fixed small size is allocated to the call stack in internal memory to improve memory usage efficiency, then the memory usage efficiency is improved, but the reliability deteriorates during peak memory demand

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidmemory availability during peak demand
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The call stack is divided into two segments: the first data structure stored in internal memory and the second data structure stored in external memory. This segmentation allows the system to allocate a smaller, more efficient size to the internal memory portion while ensuring that additional capacity is available in external memory to handle peak demand, thereby maintaining both memory usage efficiency and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by optimizing the size of the first data structure in internal memory for efficient usage during normal operation, while relying on the second data structure in external memory to provide additional capacity when needed. This differentiated approach improves memory usage efficiency for the primary operational portion while maintaining reliability through the supplementary external memory allocation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9448844B2Computing system and method controlling memory of computing system
Publication Date: 2016.09.20 SAMSUNG ELECTRONICS CO LTD
  • US9448844B2 patent drawing
  • US9448844B2 patent drawing
  • US9448844B2 patent drawing

AI summary

Provided is a computing system having a hierarchical memory structure. When a data structure is allocated with respect to a task processed in the computing system, the data structure is divided and a portion of the data structure is allocated to a high speed memory of the hierarchical memory structure and a remaining data structure is allocated to a low speed memory of the hierarchical memory.