Dynamic Memory Allocation in Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage system configurations require complex maintenance and are not flexible enough to handle varying memory configurations and types, leading to difficulties in supporting multiple hardware architectures and customer demands, with existing solutions being non-programmable and requiring expert input.

Innovation Solution

A programmable and configurable configuration page with an array of resource descriptors allows for dynamic memory allocation in storage systems, using an iterative method to find an optimal memory configuration based on stored parameters, enabling flexible resource allocation without expert input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If fixed memory allocation is used at startup, then system stability is improved, but adaptability to varying hardware configurations deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to hardware configurations
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic memory allocation during startup by allowing the system to adjust memory configuration parameters based on detected hardware conditions and performance requirements, transforming the static fixed allocation into a dynamic adaptive process that maintains stability while improving adaptability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes memory allocation parameters during startup based on detected hardware configurations and performance metrics, allowing the same system to adapt to different hardware environments while maintaining operational stability through controlled parameter adjustment

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple fixed configurations are maintained, then support for different hardware architectures is improved, but maintenance complexity deteriorates

Engineering Contradiction:
Improvesupport for hardware architecturesVSAvoidmaintenance complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal configuration system that can handle multiple hardware architectures through a single adaptive mechanism rather than maintaining separate fixed configurations for each architecture, reducing maintenance complexity while preserving broad compatibility

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system automatically detects hardware configurations and adjusts memory allocation parameters without requiring manual intervention or expert input, enabling the system to self-adapt to different hardware environments and significantly reducing maintenance burden

Inventive Principle:
Principle #25Self-service

3Measurement precision

If expert input is required for configuration, then allocation accuracy is improved, but ease of operation deteriorates

Engineering Contradiction:
Improveallocation accuracyVSAvoidease of configuration
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The system automatically performs memory configuration by detecting hardware parameters and calculating optimal allocation settings without requiring expert input, achieving both high allocation accuracy through automated detection and ease of operation by eliminating manual configuration needs

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from hardware detection and performance monitoring to automatically adjust memory allocation parameters, ensuring accurate allocation decisions are made based on actual system conditions while maintaining ease of operation through automated control

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8677095B2System and method for optimal dynamic resource allocation in a storage system
Publication Date: 2014.03.18 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8677095B2 patent drawing
  • US8677095B2 patent drawing
  • US8677095B2 patent drawing

AI summary

An apparatus and method to allocate memory in a storage system. Firmware running the method uses an iterative approach to find the best optimal memory configuration for a particular storage system given a variety of configuration data parameters stored as persistent data in non-volatile flash memory. The configuration data relates to resources in the environment that the storage system is found in, such as the number of virtual ports, targets and initiators supported by a storage system IOC. The configuration data is alterable, to allow flexibility in updating and changing parameters, and is employed at runtime when the storage system powers on, to enable the most flexible resource allocation. In a preferred method of determining the most optimal memory configuration for a given set of parameters corresponding to a given set of resources, an iterative method is employed to decrement parameter values from their maximum values, taking into account the minimums, and then testing the configuration by performing a memory allocation. If the allocation fails, because for example the wrong type memory or size of memory for any of the resources found, then the firmware resets the memory areas back to predetermined Start of Day (SOD) parameter values, decrements the values until a successful configuration of memory is found for the given set of parameters, and tries again, or until the firmware is caused to fault, whichever comes first.