Dynamic Memory Range Assignment for Storage Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems face challenges in efficiently distributing workload across resources, leading to potential overloading of processors and suboptimal handling of workload patterns, especially as complexity and demand increase.
Innovation Solution
The method involves dynamically transferring range assignments across processors by dividing storage ranges into smaller segments and adjusting processor assignments based on workload monitoring, using transition barrier commands to implement new range division algorithms and ensuring proper lock management to balance the load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If workload is distributed across multiple processors using static range assignments, then processor overloading is prevented, but workload distribution efficiency deteriorates under changing access patterns
Solution Approach 1:
The patent implements dynamic range assignment where processors can borrow and return storage ranges based on real-time workload conditions. This transforms the static range assignment system into a dynamic one that adapts to changing access patterns, allowing efficient workload distribution while maintaining reliable load balancing across processors
2Adaptability or versatility
If storage ranges are divided into smaller segments and assigned to processors, then workload distribution flexibility is improved, but system complexity increases due to lock management
Solution Approach 1:
The patent introduces a distribution entity as an intermediary that manages lock coordination between processors. This mediator handles the complexity of inter-processor lock management, allowing individual processors to focus on their assigned ranges while the distribution entity coordinates borrows and returns, thereby maintaining flexibility without overwhelming individual processor complexity
3Reliability
If dynamic range borrowing is implemented between processors, then load balancing capability is improved, but access time increases due to lock acquisition overhead
Solution Approach 1:
The patent implements preliminary action by having processors proactively return ranges when they become idle before other processors need them. This anticipatory approach reduces the frequency and duration of lock acquisition events, thereby maintaining load balancing capability while minimizing access time penalties associated with lock management
Data Source
AI summary
A method and apparatus for accessing a storage device is disclosed. More specifically, for load balancing by dynamically transferring memory address range assignments. In one embodiment, a storage device receives, from a host apparatus, an access request directed at two or more storage addresses, assigns, based on a first storage address of the two or more storage addresses, the access request to a first processor of two or more processors of the storage device, obtains a local memory lock based on the first storage address, determines, based on a second storage address of the two or more storage addresses, that the second storage address is assigned to a second processor of the two or more processors, obtains a remote memory lock from the second processor based on the second storage address and processes the access request.


