Distributed RAID Controller LUN Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large memory systems face challenges in managing memory allocation and access across multiple users and controllers, particularly in maintaining consistency and preventing misallocation of free memory areas, which can lead to data errors and system instability.

Innovation Solution

A method and system where a pool of free memory areas is maintained across multiple controllers, allowing for the selection and association of these areas with logical units, with mechanisms to resolve misallocations through a shared free memory table and recovery policies, ensuring consistency and reliability across the memory system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single controller manages memory allocation independently, then allocation speed is fast, but memory misallocation and inconsistency occur across multiple controllers

Engineering Contradiction:
Improveallocation speedVSAvoidmemory allocation consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Multiple controllers are merged into a coordinated system that shares a common free memory area pool. Each controller maintains a local copy of the free memory table but coordinates allocations across all controllers, ensuring consistency while preserving fast local allocation operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Controllers receive feedback about memory allocation status from other controllers through communication mechanisms. When a controller allocates memory, it notifies others, and when memory becomes free, all controllers are informed, preventing misallocation and ensuring global consistency.

Inventive Principle:
Principle #23Feedback

2Loss of time

If memory areas are allocated quickly without coordination, then system response time is reduced, but data errors and system instability increase

Engineering Contradiction:
Improvesystem response timeVSAvoiddata errors
Core Design Contradiction:
Loss of timeVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary actions by pre-establishing a coordinated allocation protocol and free memory table structure before actual allocation occurs. Controllers are pre-configured with the same memory map and allocation rules, enabling fast responses without needing coordination during each individual allocation operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Real-time feedback mechanisms monitor allocation status and prevent data errors by notifying all controllers of memory changes. This ensures that even rapid allocations are coordinated, preventing the same memory area from being allocated to multiple logical units simultaneously.

Inventive Principle:
Principle #23Feedback

3Reliability

If a shared free memory pool is implemented across controllers, then allocation consistency is improved, but system complexity increases

Engineering Contradiction:
Improveallocation consistencyVSAvoidcontroller coordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The free memory pool is segmented into a logical structure that can be independently managed by each controller. Each controller maintains a local view of the free memory table, and the system uses segmentation to divide the coordination task into manageable parts, reducing overall complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The free memory table structure is designed to be universal, serving multiple functions: tracking free memory areas, coordinating allocations across controllers, and providing a consistent view of memory status. This multi-functionality reduces the need for separate coordination mechanisms.

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

4Adaptability or versatility

If multiple controllers operate independently, then system scalability is improved, but memory misallocation occurs

Engineering Contradiction:
Improvesystem scalabilityVSAvoidmemory allocation correctness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Independent scalable controllers are merged into a coordinated system that shares memory allocation responsibility. Each controller can independently service requests but must coordinate with others to ensure the same memory area is not allocated to multiple logical units, maintaining correctness while preserving scalability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9495110B2LUN management with distributed RAID controllers
Publication Date: 2016.11.15 INNOVATIONS IN MEMORY LLC
  • US9495110B2 patent drawing
  • US9495110B2 patent drawing
  • US9495110B2 patent drawing

AI summary

A system and method is described for operating a computer memory system having a plurality of controllers capable of accessing a common set of memory modules. Access to the physical storage of the memory modules may be managed by configuration logical units (LUNs) addressable by the users. The amount of memory associated with each LUN may be managed in units of memory (LMA) from a same free LMA table maintained in each controller of the plurality of controllers. A request for maintenance of a LUN may be received from any user through any controller and results in the association of a free memory area with the LUN, and the remaining controllers perform the same operation. A test for misallocation of a free memory area is performed and when such misallocation occurs, the situation is corrected in accordance with a policy.