SSD Metadata Management for Transparent Block Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques face challenges in implementing transparent block device level compression due to the difficulty in managing metadata for compressed blocks, particularly in ensuring consistency and power-loss protection for the large compression mapping table, and managing frequent metadata updates that lead to write amplification.
Innovation Solution
The proposed solution involves storing the compression mapping table on the backend SSD, aligning each entry with the smallest access unit of SSDs, and indexing by uncompressed block addresses. Each entry is structured to store metadata and compressed data, with the metadata including start address and length, allowing for efficient storage and retrieval of compressed blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the compression mapping table is stored in memory, then access speed is improved, but the table size becomes too large to fit in hardware and power-loss protection becomes challenging
Solution Approach 1:
The patent creates a copy of the compression mapping table structure within the SSD's own memory space, allowing the SSD to maintain its own copy for power-loss protection while the host system maintains a separate mapping structure. This copying approach enables the SSD to protect against power loss without requiring the entire mapping table to reside in host memory.
Solution Approach 2:
The patent introduces an intermediary mapping structure that bridges the host system and SSD. The SSD maintains a compression mapping table in its memory, and the host system uses a corresponding mapping structure. This intermediary approach allows both systems to cooperate on data mapping while each maintains its own copy for reliability and performance.
2Quantity of substance
If the compression mapping table is made larger to accommodate more compressed blocks, then storage capacity is improved, but consistency management and power-loss protection become more difficult
Solution Approach 1:
The patent segments the compression mapping table into smaller, manageable entries that align with the SSD's smallest access unit (512 bytes). Each entry corresponds to a specific compressed block and contains mapping information. This segmentation allows the large mapping table to be divided into manageable chunks that can be processed and protected individually, reducing overall complexity.
Solution Approach 2:
The patent changes the parameter of data organization by storing mapping information alongside compressed data in the SSD's memory structure. By changing how the mapping table is organized and stored, the system can handle larger capacities while maintaining manageable complexity through the SSD's inherent memory management capabilities.
3Measurement precision
If metadata is updated frequently to reflect compression changes, then data accuracy is improved, but write amplification increases and performance deteriorates
Solution Approach 1:
The patent merges the metadata storage with the compressed data storage in the SSD's memory structure. By combining these functions into a single integrated structure, the system eliminates the need for separate metadata updates and reduces write amplification. The compression mapping table and compressed data are stored together, so updates are handled as a single operation.
Solution Approach 2:
The patent enables the SSD to self-manage its own mapping table and metadata, using its internal memory and control mechanisms. This self-service approach allows the SSD to handle consistency and updates autonomously, reducing the burden on the host system and minimizing write amplification through the SSD's own optimized memory management.
Data Source
AI summary
The present disclosure describes techniques of metadata management for transparent block level compression. A first area may be created in a backend solid state drive. The first area may comprise a plurality of entries. The plurality of entries may be indexed by addresses of a plurality of blocks of uncompressed data. Each of the plurality of entries comprises a first part configured to store metadata and a second part configured to store compressed data. Each of the plurality blocks of uncompressed data may be compressed individually to generate a plurality of compressed blocks. Metadata and at least a portion of compressed data associated with each of the plurality of compressed blocks may be stored in one of the plurality of entries based on an address of a corresponding block of uncompressed data. A second area may be created in the backend solid state drive for storing the rest of the compressed data.


