Dynamic Memory Allocation for Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage system performance is limited by the capacity and allocation of primary memory, which is insufficient for efficiently handling metadata caching and journaling, leading to suboptimal I/O operation processing due to the need for frequent metadata fetching from slower storage devices and premature de-staging of journal writes.

Innovation Solution

A dynamic memory allocation method that calculates the ratio of read and write operations to select an appropriate memory allocation scheme, balancing the allocation between metadata caching and journaling based on observed I/O patterns, using moving averages and hysteresis to adaptively adjust memory allocation, ensuring optimal performance by allocating more memory to either caching or journaling depending on the I/O pattern dominance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If primary memory capacity is increased to improve metadata caching performance, then read I/O latency is reduced, but system cost and memory usage increase

Engineering Contradiction:
Improveread I/O latencyVSAvoidprimary memory capacity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory allocation that automatically adjusts the split between metadata cache and journal buffer based on observed I/O patterns. The system monitors read/write ratios and reconfigures memory allocation accordingly, transitioning from static to dynamic allocation to optimize performance for varying workloads without requiring increased total memory capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the allocation ratio parameter between metadata cache and journal buffer based on I/O pattern analysis. When read operations dominate, more memory is allocated to metadata cache; when write operations dominate, more memory is allocated to journal buffer. This parameter adjustment resolves the contradiction by optimizing the specific memory distribution for current workload characteristics.

Inventive Principle:
Principle #35Parameter changes

2Speed

If primary memory is allocated more to metadata cache to reduce read latency, then read performance improves, but write performance deteriorates due to reduced journal capacity

Engineering Contradiction:
Improveread I/O speedVSAvoidwrite I/O throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent employs dynamic allocation that continuously monitors the ratio of read to write operations and adjusts memory distribution between metadata cache and journal buffer in real-time. This dynamic adjustment ensures that when read operations dominate, metadata cache receives more memory for faster reads, while when write operations dominate, journal buffer receives more memory for better write throughput, thus resolving the performance trade-off.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor I/O operation patterns and use this information to adjust memory allocation. By observing the actual read/write mix and feeding this information back into the allocation decision, the system automatically optimizes the balance between read performance and write throughput without manual intervention or fixed configuration.

Inventive Principle:
Principle #23Feedback

3Productivity

If primary memory is allocated more to journal buffer to improve write performance, then write I/O throughput improves, but read performance deteriorates due to reduced metadata cache capacity

Engineering Contradiction:
Improvewrite I/O throughputVSAvoidread I/O speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent implements dynamic memory allocation that adjusts the split between journal buffer and metadata cache based on observed I/O patterns. When write operations dominate the workload, the system automatically allocates more memory to the journal buffer to improve write throughput, while when read operations dominate, it allocates more memory to metadata cache to maintain fast read performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically changes the allocation ratio parameter between journal buffer and metadata cache based on the dominant I/O operation type. This parameter adjustment allows the system to optimize write throughput when necessary while preserving read performance when needed, resolving the contradiction through adaptive parameter tuning.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If fixed memory allocation is used to simplify system management, then system complexity is reduced, but performance adaptability deteriorates

Engineering Contradiction:
Improvememory management complexityVSAvoidperformance adaptability to I/O patterns
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a self-managing memory allocation system that automatically monitors I/O patterns and adjusts memory distribution without requiring manual configuration or complex external management. The system serves itself by detecting workload characteristics and autonomously optimizing memory allocation, thereby maintaining simplicity while achieving high adaptability to varying I/O patterns.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from monitored I/O operation patterns to automatically adjust memory allocation. This closed-loop control mechanism allows the system to adapt to changing workload characteristics while maintaining simple operation, as the allocation decisions are made automatically based on observed patterns rather than requiring complex manual management or prediction.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10101934B1Memory allocation balancing for storage systems
Publication Date: 2018.10.16 DELL EMC
  • US10101934B1 patent drawing
  • US10101934B1 patent drawing
  • US10101934B1 patent drawing

AI summary

Described herein are embodiments of a process that can be used to balance the allocation of primary memory between different types of information. In some embodiments, the memory allocation is balanced dynamically based on observed I/O patterns. Related system embodiments are also described.