Variable-Length Real Page Allocation for Compressed Data Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face inefficiencies in managing compressed data elements due to varying compression methods and lengths, leading to increased management information and potential capacity scalability issues, as fixed-size regions either waste space or require excessive management.
Innovation Solution
A storage system with a pool of real pages of varying lengths, where a controller compresses data and allocates it to real pages based on specific conditions, ensuring efficient use of space and reducing management overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If fixed-size regions are used for storage management, then the number of fixed size regions can be reduced by increasing their length, but this causes long empty regions to remain within each fixed size region, resulting in poor capacity efficiency
Solution Approach 1:
The storage space is divided into multiple variable-size regions instead of fixed-size regions. Each region's size is dynamically determined based on the actual length of the compressed data element it needs to store, eliminating unnecessary empty space while maintaining manageable region counts.
Solution Approach 2:
The length of storage regions is made dynamic rather than fixed. The pool management part allocates regions of different lengths according to the actual size requirements of compressed data elements, allowing the system to adapt to varying compression outcomes and maximize space utilization.
2Loss of substance
If the length of fixed size regions is short, then capacity efficiency improves as empty regions become shorter, but the number of fixed size regions increases, causing the total manageable length to decrease and capacity scalability to deteriorate
Solution Approach 1:
The system employs dynamic region allocation where the length of each storage region is determined by the actual size of the data it needs to hold. This allows the pool to manage both small and large regions flexibly, maintaining high capacity efficiency while preserving the ability to scale to large total capacities without being constrained by a fixed number of regions.
Solution Approach 2:
The invention changes the parameter of region length from fixed to variable. By allowing region lengths to vary based on actual data size requirements, the system simultaneously achieves high capacity efficiency (minimal empty space) and maintains capacity scalability (can manage large numbers of regions when needed).
3Quantity of substance
If the number of compressed data elements increases, then more data can be stored, but the amount of management information increases, making management more complex
Solution Approach 1:
Multiple compressed data elements are merged into a single continuous storage region (pool region) when possible. The pool management part tracks regions rather than individual data elements, reducing management information from element-level to region-level, thereby simplifying management while supporting large quantities of stored data.
Solution Approach 2:
The invention uses a pool region structure where management information describes storage regions rather than individual data elements. This copying of the management approach from element-based to region-based representation significantly reduces the amount of management information required as data volume increases.
Data Source
AI summary
A pool is formed based on a plurality of storage devices. This pool is constituted by a plurality of real pages. Real pages of different lengths are included in this plurality of real pages. Among a plurality of virtual pages which make up a virtual volume, a controller compresses a write data element for a write destination virtual page, selects a real page of a real page length based on the data length of a data unit including the compressed write data element, and allocates the selected real page to the write destination virtual page.


