Pre-provisioned Storage Volumes for SDNAS Instance Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face inefficiencies and failures in creating Network Attached Storage (NAS) instances due to the time-consuming process of creating storage volumes on demand, leading to potential timeouts and increased complexity during high workloads.
Innovation Solution
Pre-provisioning storage volumes in the operating system, which are then allocated to SDNAS processes, reducing the time required to start an SDNAS instance and minimizing the risk of failure by having storage volumes already created and masked, allowing for dynamic resizing based on expected usage patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage volumes are created on demand when SDNAS instances are started, then the system uses storage resources efficiently, but the time required to start an SDNAS instance increases and failures may occur during high workloads
Solution Approach 1:
The patent pre-creates storage volumes in advance and stores their details in a management database before SDNAS instances are needed. When an SDNAS instance starts, the system retrieves pre-existing volume details and assigns them, eliminating the time-consuming on-demand creation process and reducing startup time while improving reliability.
2Productivity
If storage volumes are pre-provisioned in the operating system before assignment, then the startup time of SDNAS instances is reduced, but the initial device complexity and resource allocation complexity increase
Solution Approach 1:
The patent introduces a management database as an intermediary layer between the operating system and SDNAS processes. This database stores details of pre-provisioned storage volumes and facilitates their assignment to SDNAS instances, simplifying the management of pre-provisioned resources while enabling fast instance creation.
Solution Approach 2:
The system automatically retrieves storage volume details from the management database and assigns them to SDNAS processes without manual intervention. The SDNAS process requests storage volumes, and the system autonomously allocates pre-provisioned volumes based on available resources, reducing operational complexity.
3Speed
If the number of pre-provisioned storage volumes is increased to handle high workloads, then system responsiveness improves, but the loss of substance (unused storage resources) increases
Solution Approach 1:
The patent implements dynamic allocation of pre-provisioned storage volumes based on real-time workload conditions and historical usage patterns. The system adjusts the number and size of pre-provisioned volumes to match actual demand, ensuring fast response times during peak loads while minimizing unused capacity during low-utilization periods.
Solution Approach 2:
The system modifies storage volume parameters (number of volumes, size allocation) based on learned usage patterns and current system state. By changing these parameters dynamically rather than maintaining fixed pre-provisioned allocations, the system achieves both responsiveness and resource efficiency.
Data Source
AI summary
Storage volumes are pre-provisioned in the operating system of a storage system before they are required to be assigned to an emulation on the storage system. Details of the previously created storage volumes are stored in a management database. If a storage volume is required, the process that needs the storage volume obtains details about a pre-provisioned storage volume from the management database, and instructs the storage system operating system to add the storage volume to a storage group for the process. By pre-provisioning storage volumes in the operating system, it is possible to greatly reduce the amount of time it takes to add storage volumes to processes. The number of storage volumes to be pre-created can be determined based on a regression between the previous storage volume usage and time, and a deterministically obtained value of a number of filesystems that will be created in an upcoming time interval.


