Storage Capacity Reporting Using Compression and Deduplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Legacy operating systems and file systems designed for traditional HDD storage technology fail to optimize the performance and longevity of flash memory in computing systems, leading to inefficiencies and reduced effective life due to frequent writes and complex data management tasks when integrating flash memory with host storage systems.
Innovation Solution
Implementing a computing system with a storage array controller that reduces data through compression and deduplication, determines an updated storage capacity based on saved capacity, and exports this capacity to the computing device, utilizing techniques like compression, deduplication, and reserve capacity management to optimize flash memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If data deduplication is implemented using fixed block size, then storage efficiency is improved and complexity is reduced, but the ability to support compression and handle variable-size blocks is limited
Solution Approach 1:
The patent implements dynamic block sizing where the storage system can adapt block sizes based on compression ratios and data characteristics. The system dynamically adjusts between fixed and variable block sizes, allowing it to optimize for both simplicity and adaptability depending on the data being stored and compression requirements.
Solution Approach 2:
The system changes the parameter of block size from fixed to variable based on compression ratios. By monitoring compression performance and data patterns, the system dynamically modifies block size parameters to balance the trade-off between operational simplicity and compression support capability.
2Quantity of substance
If compression is added to data deduplication, then storage capacity is reduced, but the complexity of tracking used and free storage space increases
Solution Approach 1:
The patent introduces an intermediary layer between the host file system and the physical storage medium. This intermediary manages the mapping between logical block addresses and physical storage locations, handling the complexity of tracking used and free space while allowing the host to see a simplified view. The intermediary absorbs the complexity of compression and variable-sized blocks.
Solution Approach 2:
The system implements feedback mechanisms where the storage controller continuously monitors compression ratios, block usage patterns, and free space distribution. Based on this feedback, the system dynamically adjusts block sizes, allocation strategies, and compression levels to optimize storage efficiency while maintaining manageable complexity.
3Adaptability or versatility
If legacy file systems are used with flash memory, then compatibility with traditional systems is maintained, but performance optimization and longevity of flash memory are reduced
Solution Approach 1:
The patent employs a storage controller as an intermediary between legacy file systems and flash memory. This controller translates legacy file system operations into flash-optimized commands, implementing wear leveling, garbage collection, and performance optimization techniques without requiring changes to the host operating system or file system.
Solution Approach 2:
The storage controller provides multiple functions including legacy file system compatibility, flash memory optimization, compression, deduplication, and wear leveling. By consolidating these diverse functions in a single universal controller, the system maintains compatibility with traditional systems while fully optimizing flash memory performance and longevity.
Data Source
AI summary
Adjusting storage capacity in a computing system that includes a computing device configured to send access requests to a storage device characterized by a first storage capacity, including: reducing data; determining, in dependence upon an amount of storage capacity saved by reducing the data, an updated storage capacity for the storage device; and exporting an updated storage capacity to the computing device.


