Software Defined Storage Controller Dynamic Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Enterprise-level storage controllers face challenges in automatically managing storage resources to maintain high availability and performance, as they require additional resources for handling hardware failures, low storage availability, and data redundancy, which currently necessitate human intervention.
Innovation Solution
A method for dynamically allocating storage resources from a reserve pool to a software-defined storage (SDS) controller, where multiple storage resources are assigned to a reserve pool, and policy parameters are defined to automatically allocate additional resources based on the controller's state, enhancing capacity, performance, and reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If storage resources are manually allocated to SDS controllers, then resource allocation can be controlled and optimized, but human intervention is required which increases operational complexity and response time
Solution Approach 1:
The SDS controller automatically monitors its own resource state and triggers resource allocation when thresholds are met, eliminating the need for external human intervention. The controller self-manages its resource requirements by detecting when storage capacity or performance metrics warrant additional resources and autonomously initiating the allocation process from the reserve pool.
Solution Approach 2:
The system implements continuous monitoring of the SDS controller's state including storage capacity utilization and performance metrics. This feedback mechanism compares current resource usage against predefined thresholds and automatically triggers resource allocation when thresholds are exceeded, creating a closed-loop control system that adapts to changing conditions without human intervention.
2Reliability
If additional storage resources are allocated to handle hardware failures and redundancy, then system reliability improves, but hardware resource utilization efficiency decreases
Solution Approach 1:
The system dynamically adjusts the allocation of storage resources between active controllers and the reserve pool based on real-time conditions. Resources are not statically assigned but continuously reallocated as needed, allowing the system to maintain high availability through redundancy while optimizing overall hardware utilization by sharing the reserve pool across multiple controllers.
Solution Approach 2:
The reserve pool of storage resources serves multiple purposes: it provides redundancy for failover, supports capacity expansion for growing controllers, and can be reallocated to different controllers based on varying needs. This multi-functional reserve pool replaces dedicated spare resources, improving overall hardware utilization while maintaining system reliability.
3Adaptability or versatility
If storage resources are pre-allocated to all possible controllers, then resource availability is ensured, but hardware resource utilization efficiency decreases
Solution Approach 1:
The system pre-configures a reserve pool of storage resources that are ready for immediate allocation but not yet assigned to specific controllers. This preliminary preparation ensures that resources are available when needed while maintaining efficiency by only allocating from the reserve pool when actual demand arises, rather than pre-allocating to all potential controllers.
Solution Approach 2:
The system changes the state of storage resources from an allocated but unused state to an actively utilized state by dynamically allocating from the reserve pool based on monitored performance parameters and thresholds. This parameter-driven allocation ensures resources are available when needed while optimizing utilization by allocating only when actual demand metrics trigger the process.
Data Source
AI summary
Methods, computing systems and computer program products implement embodiments of the present invention that include assigning multiple storage resources to a reserve pool, and defining one or more storage policy parameters that include allocation policies and deallocation policy parameters. A software defined storage (SDS) controller is initialized by allocating, from the reserve pool, one or more of the storage resources to the SDS controller, and a current state of the SDS controller is monitored. In a first embodiment, upon detecting that the state of the SDS controller meets a given allocation policy parameter, an additional storage resource from the reserve pool is allocated from the reserve pool to the SDS controller. In a second embodiment, upon detecting that the state of the SDS controller meets a given deallocation policy parameter, a given the SDS controller is deallocated from the SDS controller and released back to the storage pool.


