Thin Provisioning in NVMe Storage via Hardware Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current thin-provisioning approaches in non-volatile storage devices, such as SSDs, fail to achieve cost-efficiency due to inadequate reporting of available storage capacity, especially when dealing with encrypted or pre-compressed data, limiting the effectiveness of compression and leading to inefficient use of storage resources.
Innovation Solution
Integration of host thin provisioning with hardware data compression, allowing for the creation of namespaces based on utilization thresholds, enabling accurate reporting of available storage and enhancing the advertised storage capacity by compressing data within the storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If thin provisioning is implemented to allocate storage space based on actual data usage, then storage capacity utilization is improved, but cost-efficiency deteriorates due to inadequate reporting of available storage capacity
Solution Approach 1:
The system implements a feedback mechanism where the storage device reports available storage capacity to the host based on actual physical space remaining. This feedback loop allows the host to make informed decisions about data placement and prevents over-provisioning, thereby improving cost-efficiency while maintaining high storage utilization through thin provisioning.
Solution Approach 2:
The patent introduces an intermediary layer (the storage device's controller and reporting mechanism) that mediates between the host's thin provisioning logic and the physical storage media. This intermediary accurately reports available capacity, enabling the host to optimize storage allocation without wasting resources, thus resolving the contradiction between utilization and cost-efficiency.
2Quantity of substance
If hardware data compression is integrated with thin provisioning, then advertised storage capacity is enhanced, but device complexity increases
Solution Approach 1:
The patent merges hardware data compression functionality with thin provisioning logic in the storage device controller. By combining these two functions into a single integrated system, the patent enhances advertised storage capacity through compression while managing device complexity through unified control rather than separate independent systems.
Solution Approach 2:
The system dynamically changes parameters such as compression ratios and namespace allocation based on workload characteristics and available physical space. This parameter adjustment allows the system to optimize advertised capacity without requiring complex fixed-configuration hardware, thereby managing device complexity while enhancing storage capacity.
3Quantity of substance
If namespaces are created based on utilization thresholds to enable thin provisioning, then storage efficiency is improved, but measurement precision of available capacity deteriorates
Solution Approach 1:
The system pre-creates namespaces with allocated space based on predicted utilization thresholds before actual data is written. This preliminary action allows the system to maintain efficient storage allocation while the controller continuously monitors actual usage and adjusts namespace boundaries to reflect precise available capacity, thereby resolving the contradiction between efficiency and measurement precision.
Solution Approach 2:
The namespace structure is made dynamic rather than static. The system continuously monitors utilization thresholds and adjusts namespace allocations and boundaries in real-time based on actual data usage patterns. This dynamic adjustment ensures both storage efficiency through proactive allocation and precise measurement of available capacity through continuous updating.
Data Source
AI summary
Various implementations described herein relate to creating a namespace in response to determining that a sum of namespace sizes of a plurality of namespaces is less than a first threshold for the point of thin-provisioning. A write command and data are received from a host. The write command and the data are received in response to determining that a sum of namespace utilization of the plurality of namespaces is less than a second threshold. The data is compressed and stored in the created namespace.


