Data Shaping and Compression Engine for Flash Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional lossless compression methods for non-volatile storage devices, such as flash memory, are complex and inefficient for high-throughput applications, leading to increased silicon area, power consumption, and cost in the controller, as well as reduced compression efficiency and memory endurance due to the need for multiple processing cores.
Innovation Solution
A low complexity and high throughput compression scheme using a single processing core, which involves shaping the data to increase the ratio of logical ones to zeros, followed by asymmetric run-length encoding, and optional error correction, to compress and decompress data efficiently within the storage device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional lossless compression methods are implemented with multiple processing cores to achieve high throughput, then compression speed is improved, but device complexity, silicon area, and power consumption increase
Solution Approach 1:
The patent segments the compression process into two distinct stages: a shaping stage that transforms data to increase run-length patterns, and a compression stage that applies run-length encoding. This segmentation allows each stage to be optimized independently, with the shaping stage preparing data for efficient compression without requiring complex multi-core processing.
Solution Approach 2:
The shaping operation is performed as a preliminary action before compression. This preprocessing step transforms the input data to create longer runs of identical values, which significantly improves subsequent compression efficiency. By performing this preparation in advance, the system achieves high throughput with simpler compression logic.
2Productivity
If conventional lossless compression methods are implemented with multiple processing cores, then compression throughput is improved, but silicon area and power consumption increase
Solution Approach 1:
The patent extracts and separates the shaping function from the compression function. The shaping operation identifies and transforms data patterns to create more compressible output, while the compression operation independently encodes the shaped data. This extraction allows the use of simpler, more area-efficient compression logic while maintaining high throughput through effective data preparation.
Solution Approach 2:
The shaping operation changes the parameters of the input data by transforming the distribution of values to create longer runs of identical values. This parameter transformation increases the effectiveness of subsequent run-length encoding, achieving higher compression ratios and throughput with simpler hardware implementation.
3Quantity of substance
If data is compressed using conventional methods, then storage density is improved, but encoding latency increases
Solution Approach 1:
The shaping operation introduces periodic patterns in the data by transforming sequences to create more regular run-length structures. This periodic transformation makes the data more amenable to efficient encoding, reducing the time required for compression while improving storage density through better compression ratios.
4Productivity
If multiple processing cores are used for compression, then throughput is improved, but memory endurance decreases due to increased write operations
Solution Approach 1:
The shaping operation creates a transformed copy of the input data with enhanced compressibility characteristics. This shaped copy requires fewer write operations to achieve the same effective storage capacity, thereby reducing wear on the memory device while maintaining high throughput performance.
Data Source
AI summary
A data storage device includes a shaping engine and a compression engine. The shaping engine is configured to shape first data to generate second data. The compression engine is configured to compress the second data to generate third data.


