Storage Pool Allocation Unit Size Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage apparatuses that provide virtual/logical volumes with dynamically allocated storage areas face inefficiencies due to fixed allocation unit sizes, leading to either excessive allocation for small data or increased management requirements for small allocation units.
Innovation Solution
A storage apparatus and method that generate multiple pool areas with adjustable allocation unit sizes, allowing for dynamic allocation of storage areas based on data size, thereby preventing inefficient large or small allocations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a large fixed allocation unit size is used for storage area allocation, then the storage apparatus can simplify management operations, but storage area operation efficiency deteriorates due to excessive allocation for small data
Solution Approach 1:
The storage area is divided into multiple pool areas, each with different allocation unit sizes. This segmentation allows the system to select the most appropriate pool area for each data allocation request, preventing both excessive allocation and overly complex management by organizing allocation units in a structured hierarchy.
Solution Approach 2:
The invention changes the allocation unit size parameter dynamically by selecting from multiple pool areas with different allocation unit sizes based on the data size. This allows the system to adapt the allocation unit size to the actual needs of each data object, improving storage efficiency without requiring complex management operations for every possible size.
2Productivity
If a small fixed allocation unit size is used for storage area allocation, then storage area operation efficiency improves for small data, but device complexity increases due to increased number of management bits required
Solution Approach 1:
By segmenting the storage area into multiple pool areas with different allocation unit sizes, the system avoids the need to manage a large number of small allocation units throughout the entire storage area. Each pool area manages allocation units of a specific size, reducing the overall management complexity while maintaining efficiency for small data allocations.
Solution Approach 2:
The invention changes the allocation unit size parameter based on the data size by selecting from multiple pool areas. This allows the system to use small allocation units only when necessary (for small data) while using larger units for bigger data, thereby improving storage efficiency without requiring small allocation units to be managed across the entire storage area, reducing management bits requirements.
3Device complexity
If fixed allocation unit sizes are used for all pool areas, then device complexity is reduced, but adaptability deteriorates when data sizes vary significantly
Solution Approach 1:
The storage area is segmented into multiple pool areas, each with a different fixed allocation unit size. This segmentation provides adaptability to different data sizes while keeping each individual pool area's management relatively simple. The system adapts to varying data sizes by selecting the appropriate pool area rather than requiring complex dynamic allocation within a single uniform pool.
Solution Approach 2:
Each pool area serves as a universal allocation pool for data of specific size ranges. By having multiple pool areas with different allocation unit sizes, the system achieves multi-functionality in handling different data size requirements while maintaining relatively simple fixed allocation management within each pool area.
Data Source
AI summary
A storage system, method and program product, the system comprising: storage devices; and a controller configured to: provide virtual volumes to a host computer; manage logical units on the storage device and storage pools; allocate, in response to receiving a write request to a virtual volume, a storage region of the storage pools; and store data related to the write request in the storage region allocated, wherein the controller is further configured to: allocate first storage region in first storage pool to first virtual volume based on first size of the first storage region or the first virtual volume; allocate a second storage region in a second storage pool to a second virtual volume of the plurality of virtual volumes based on a second size of the second storage region or the second virtual volume.


