Virtual Layer Block Sizing for Compressed Address Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems using fixed-sized virtual layer blocks face inefficiencies in resource allocation and increased complexity due to varying data compression ratios, leading to wasted resources and suboptimal utilization of physical blocks.
Innovation Solution
Implementing flexibly sized virtual layer blocks that dynamically adjust based on the number of compressed data blocks, allowing for efficient storage of virtual layer pointers and optimizing resource utilization by accommodating varying data reduction levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If fixed-sized virtual layer blocks are used to store virtual layer pointers, then the system structure is simple and easy to manage, but resource allocation efficiency deteriorates due to wasted space when data compression ratios vary
Solution Approach 1:
The patent implements dynamically sized virtual layer blocks that adjust their size based on the actual number of compressed data blocks they need to reference. Instead of allocating fixed-size blocks, the system calculates the required size based on the working set size and compression ratio, thereby eliminating wasted space while maintaining manageable system structure through automated size adjustment.
Solution Approach 2:
The system changes the size parameter of virtual layer blocks dynamically based on data compression ratios and working set characteristics. By adjusting the block size parameter to match actual storage needs, the system optimizes resource allocation efficiency without significantly complicating the overall structure, as the change is managed through automated calculations.
2Ease of operation
If fixed-sized virtual layer blocks are used, then allocation is straightforward, but device complexity increases due to inability to accommodate varying data reduction levels efficiently
Solution Approach 1:
The patent makes the virtual layer block size dynamic rather than fixed, allowing the system to adapt automatically to varying data compression ratios. The block size is calculated based on the number of compressed blocks in the working set, enabling efficient accommodation of different compression levels while keeping allocation straightforward through automated size determination.
Solution Approach 2:
The system adjusts the size parameter of virtual layer blocks based on actual data reduction levels. By changing this parameter dynamically according to compression ratios and working set size, the system maintains ease of operation through automated adjustment while significantly improving adaptability to varying data reduction scenarios.
3Reliability
If multiple fixed-sized virtual layer blocks are allocated to accommodate varying numbers of compressed blocks, then all compressed blocks can be referenced, but resource wastage increases due to unused pointer space
Solution Approach 1:
The patent implements a single dynamically sized virtual layer block that grows or shrinks based on the number of compressed data blocks that need to be referenced. This eliminates the need for multiple fixed-sized blocks and the resulting wasted pointer space, while maintaining complete reference capability through automated size adjustment matched to the actual working set requirements.
Solution Approach 2:
The system extracts only the necessary number of pointer slots from the virtual layer block structure, creating a compact block size that exactly fits the number of compressed blocks to be referenced. This removes the excess pointer space inherent in fixed-sized blocks allocated to accommodate maximum possible blocks, thereby eliminating resource wastage while preserving complete reference capability.
Data Source
AI summary
A working set of data blocks to be flushed from a cache to non-volatile data storage is identified, and a physical block of non-volatile data storage is allocated. At least some of the data blocks in the working set are compressed to generate compressed data blocks. The compressed data blocks are stored into the physical block of non-volatile data storage. For each one of the compressed data blocks stored into the physical block, an independent virtual layer pointer indicating a location of that compressed data block within the physical block of non-volatile data storage is stored into a single, flexibly sized virtual layer block that is allocated for storing the working set. The flexibly sized virtual layer block is part of a logical address mapping tree.


