Dynamic RAID Memory Controller for Flexible Module Expansion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID systems face challenges with algorithmic layout approaches and flat virtual address spaces, making it difficult to dynamically expand or shrink memory modules, support modules of differing capacities, and efficiently manage data access latency.

Innovation Solution

The dynamic RAID scheme dynamically encodes RAID address space geometries, allowing for flexible mapping without static requirements, enabling dynamic expansion and contraction of memory systems, and supporting varied memory module capacities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a traditional algorithmic RAID mapping is used, then data stripes are systematically organized across memory modules, but the system becomes difficult to change and cannot dynamically expand or shrink memory modules

Engineering Contradiction:
Improvesystem stabilityVSAvoiddynamic expansion capability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent applies dynamics by transitioning from a static algorithmic mapping to a dynamic mapping system. The memory controller now uses a data structure that can be modified at runtime, allowing memory modules to be added or removed without requiring complete system reconfiguration. The mapping evolves from fixed predetermined patterns to flexible dynamic assignments that adapt to changing system conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of memory mapping from fixed algorithmic rules to dynamic configurable parameters. The system now maintains a data structure containing mapping information that can be updated to reflect changes in memory module capacity, quantity, or configuration. This allows the same system to support different memory arrangements without hardware changes.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If a flat virtual address space with fixed granularity is used, then addressing is simplified, but the system cannot support memory modules of differing capacities

Engineering Contradiction:
Improveaddressing complexityVSAvoidsupport for varied module capacities
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the flat virtual address space into multiple regions or zones, each capable of mapping to different memory modules with different capacities. Instead of treating all address space uniformly, the system divides it into manageable segments that can be independently configured to match the actual physical memory layout, supporting modules of varying sizes while maintaining manageable complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an additional dimension to the addressing scheme by adding a layer of indirection through a data structure that maps virtual addresses to physical memory locations. This extra mapping layer allows the system to support heterogeneous memory capacities without increasing the fundamental addressing complexity, as the data structure handles the variation in module sizes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of manufacture

If algorithmic mapping is used, then initial setup is straightforward, but runtime modifications such as expanding or shrinking memory modules become prohibitively difficult or expensive

Engineering Contradiction:
Improveinitial setup easeVSAvoidruntime modification ease
Core Design Contradiction:
Ease of manufactureVSEase of repair

Solution Approach 1:

The patent applies preliminary action by pre-allocating and pre-configuring memory regions and their mapping relationships before runtime. The system establishes a data structure that anticipates future memory configurations, allowing for smoother transitions when memory modules need to be added or removed. This preliminary setup reduces the complexity of runtime modifications compared to pure algorithmic mapping.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250053479A1Dynamic memory management system
Publication Date: 2025.02.13 INNOVATIONS IN MEMORY LLC
  • US20250053479A1 patent drawing
  • US20250053479A1 patent drawing
  • US20250053479A1 patent drawing

AI summary

A memory controller is configured to receive segment pointers that identify physical memory devices and slices for associated segments. The memory controller is configured to identify a most-full first one of the physical memory devices, to identify a most-empty second one of the physical memory devices, and to identify one of the segments in the most-full first one of the physical memory devices. The memory controller is configured to move a slice from the identified one of the segments in the most-full first one of the physical memory devices to the most-empty second one of the physical memory devices. The memory controller is configured to update one of the segment pointers for the identified segment. The memory controller is configured to update one of the segment pointers for the identified segment by removing a previous segment pointer to the most-full first one of the physical memory devices.