Hierarchical Memory Segmentation for Stack Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


