Flash Memory Package Compression Switching by Data Access Frequency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing flash storage devices face limitations in volume efficiency and compression/decompression load due to the fixed characteristics of employed compression algorithms, which are not adaptable to varying data access frequencies, leading to suboptimal performance and resource utilization.
Innovation Solution
A storage device with multiple nonvolatile memory packages and a storage controller that employs two different compression algorithms, dynamically selecting the appropriate algorithm based on data access frequency to optimize compression and decompression processes, thereby offloading garbage collection overhead to the flash memory package.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single compression algorithm is employed in a storage device, then the device complexity is reduced, but the adaptability to different data access frequencies is limited
Solution Approach 1:
The storage device dynamically selects between first and second compression algorithms based on data access frequency characteristics. The storage controller monitors access patterns and switches compression algorithms accordingly, transforming a static single-algorithm system into a dynamic multi-algorithm system that adapts to varying data properties
Solution Approach 2:
The invention changes the parameter of compression algorithm selection based on data access frequency. By monitoring access frequency and selecting different compression algorithms (first algorithm for low frequency, second algorithm for high frequency), the system optimizes compression performance according to data characteristics without requiring manual configuration
2Quantity of substance
If a compression algorithm with high compression ratio is used, then volume efficiency is improved, but the load of compression and decompression processes increases
Solution Approach 1:
The invention changes the compression parameter (algorithm selection) based on data access frequency. For low access frequency data, a high compression ratio algorithm is used to maximize volume efficiency. For high access frequency data, a lower compression ratio algorithm is selected to reduce compression/decompression load, achieving optimal balance between storage efficiency and processing power
3Speed
If a compression algorithm with low decompression time is used, then I/O processing speed is improved, but the compression ratio decreases
Solution Approach 1:
The system dynamically adjusts the compression algorithm based on data access frequency. For high access frequency data requiring fast decompression, a low-decompression-time algorithm is selected. For low access frequency data, a high-compression-ratio algorithm is used, accepting slower decompression in exchange for better space utilization
4Productivity
If garbage collection is frequently executed to maintain storage performance, then I/O performance is maintained, but the loss of time for data management increases
Solution Approach 1:
The storage device performs preliminary compression of data before writing to flash memory, reducing the total volume of data stored. This preliminary action decreases the amount of garbage generated during normal operation, thereby reducing the frequency and time required for garbage collection operations and maintaining I/O performance with less time loss
Data Source
AI summary
A storage device includes one or more FMPKs including a FM chip capable of storing data and a storage controller that controls storing of write data of a predetermined write request for the FMPK. The FMPK includes a compression/decompression circuit that compresses data according to a second compression algorithm different from a first compression algorithm. The storage controller compresses data using the first compression algorithm, and determines whether the write data will be compressed using the storage controller or the compression/decompression circuit based on a predetermined condition. The write data is compressed by the determined storage controller or compression/decompression circuit and is stored in the FMPK.


