Distributed RAID Controller LUN Memory Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Loss of time
If memory areas are allocated quickly without coordination, then system response time is reduced, but data errors and system instability increase
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.
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.
3Reliability
If a shared free memory pool is implemented across controllers, then allocation consistency is improved, but system complexity increases
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.
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.
4Adaptability or versatility
If multiple controllers operate independently, then system scalability is improved, but memory misallocation occurs
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.
Data Source
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.


