Adaptive Entropy Coding in Memory Controllers for Table Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems with non-volatile memories face challenges in efficiently updating encoding and decoding tables during adaptive entropy encoding and decoding processes, leading to potential mismatches that affect data decoding accuracy and throughput.
Innovation Solution
A memory system with a compression/decompression circuit that includes an encoder and a decoder, each equipped with a code table updating section that dynamically updates encoding and decoding tables based on input and output symbol patterns, ensuring correct reproduction of the encoding table state in the decoding process, thereby maintaining data integrity and improving throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If adaptive entropy encoding and decoding methods are used to improve compression efficiency, then data compression ratio is improved, but the complexity of maintaining synchronization between encoding and decoding tables increases
Solution Approach 1:
The patent transmits a copy of the encoding table state (specifically, the state information representing the current position and configuration of the encoding table) from the encoding side to the decoding side. This allows the decoding side to reconstruct its decoding table to match the encoding table state, ensuring synchronization without requiring complex communication protocols or additional synchronization mechanisms.
Solution Approach 2:
The encoding table state is transmitted in advance or continuously during the encoding process, before the decoding side needs to perform decoding operations. This preliminary transmission of state information ensures that the decoding table is already synchronized and ready when needed, avoiding delays and complexity in real-time synchronization.
2Adaptability or versatility
If encoding and decoding tables are dynamically updated during compression operations, then adaptability to different data patterns is improved, but the risk of mismatch between encoding and decoding tables increases
Solution Approach 1:
The patent implements a feedback mechanism where the state of the encoding table is continuously monitored and transmitted to the decoding side. This feedback loop ensures that any changes made to the encoding table during dynamic updates are immediately reflected in the decoding table, maintaining synchronization and reliability despite the adaptability gains from dynamic updates.
Solution Approach 2:
By copying the exact state information from the encoding table to the decoding table, the patent ensures that both tables remain identical in state regardless of dynamic updates. This copying approach guarantees that the decoding table accurately reflects the encoding table state, maintaining reliability while allowing adaptability.
3Measurement precision
If code table updating sections are added to both encoder and decoder to maintain table synchronization, then decoding accuracy is improved, but the device complexity increases
Solution Approach 1:
The patent uses a copying approach where only the essential state information of the encoding table is transmitted to the decoding side. This minimal copying requirement reduces the complexity of the code table updating sections compared to methods that would require transmitting entire tables or implementing complex synchronization protocols, while still achieving high decoding accuracy.
Data Source
AI summary
A memory system includes a storage device and a memory controller. The memory controller includes an encoder and a decoder. The encoder includes a first code table updating section configured to update the encoding code table and an encoding flow controlling section configured to control input to the first code table updating section by using a first data amount indicating a data amount of the input symbol. The first data amount is calculated based on the input symbol. The decoder includes a second code table updating section configured to update the decoding code table and a decoding flow controlling section configured to control input to the second code table updating section by using a second data amount indicating a data amount of the output symbol. The second data amount is calculated based on the output symbol in the same way as the calculation of the first data amount.


