Flash Memory Compression Hardware Decoder Offset Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current SSD systems face inefficiencies in storing and accessing compressed data due to large LBA table sizes and increased power consumption, especially when dealing with variable compression rates and the need for multiple reads to retrieve LBA data.
Innovation Solution
Implementing a hardware decoder that separates header and LBA data transfers within a single page read, reducing the LBA table size by removing offset bits and minimizing data read and decode operations, thereby enhancing performance and power efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed with variable compression rates, then storage capacity is increased, but LBA table size increases due to need to store offset bits for each LBA
Solution Approach 1:
The patent extracts the offset information from the LBA table entries by storing it separately in the compressed data structure itself. Each compressed LBA entry contains its own offset field that indicates its position within the compressed page, eliminating the need for offset bits in the traditional LBA table and reducing its size.
Solution Approach 2:
Instead of storing the complete physical address (including offset) in the LBA table as conventional systems do, the patent inverts the approach by storing only the page-level address in the LBA table and embedding the offset information within the compressed data structure itself, reversing the conventional allocation of address components.
2Ease of operation
If multiple reads are performed to retrieve LBA data, then data access is achieved, but power consumption increases and performance decreases
Solution Approach 1:
The patent merges the header read and LBA data read operations into a single page read operation. By organizing the compressed data structure with headers followed by compressed LBA entries within the same page, the system can retrieve both the compression parameters and the actual LBA data in one read cycle, eliminating multiple read operations and reducing power consumption.
3Measurement precision
If LBA table stores complete physical addresses, then data location is precisely identified, but memory resources are consumed
Solution Approach 1:
The patent segments the physical address into two parts: the page-level address stored in the LBA table and the offset information stored within the compressed data structure. This segmentation allows the LBA table to use less memory while maintaining precise data location identification through the combination of page address and offset.
Data Source
Figure 1
Figure 2
Figure 3A~3D
AI summary
Systems and method for reading compressed data from non-volatile storage such as an SSD device are disclosed. A logical section, e.g. page, of data includes a plurality of data blocks that are compressed such that the lengths thereof are different. A header section of the page stores headers for the data blocks and storing a length for each data block. The header section may be a codeword encoding the headers according to an error correction scheme. To read out a data block a hardware decoder requests reading of the page and transfers the header section into a hardware decoder that decodes the headers to obtain an offset for a desired data block. Without instructing reading of the page, the offset is used by the hardware decoder to request transfer of the desired data block that is then decoded and returned to a requesting device.