A Codec Architecture for the Compression of Short Data Blocks

This work proposes a lossless data compression algorithm for short data blocks. The proposed compression scheme combines a modified move-to-front algorithm with Huffman coding. This algorithm is applicable in storage systems where the data compression is performed on block level with short block sizes, in particular, in non-volatile memories. For block sizes in the range of 1kB, it provides a compression gain comparable to the Lempel–Ziv–Welch algorithm. Moreover, encoder and decoder architectures are proposed that have low memory requirements and provide fast data encoding and decoding.

[1]  Ian H. Witten,et al.  Text Compression , 1990, 125 Problems in Text Algorithms.

[2]  Jin-Soo Kim,et al.  zFTL: power-efficient data compression support for NAND flash-based consumer electronics devices , 2011, IEEE Transactions on Consumer Electronics.

[3]  Michael Gutman Fixed-prefix encoding of the integers can be Huffman-optimal , 1990, IEEE Trans. Inf. Theory.

[4]  Reza Hashemian Design and hardware implementation of a memory efficient Huffman decoding , 1994 .

[5]  Simon L. Peyton Jones,et al.  Word - based dynamic algorithms for data compression , 1992 .

[6]  Solomon Kullback,et al.  Information Theory and Statistics , 1960 .

[7]  Frans M. J. Willems,et al.  Universal data compression and repetition times , 1989, IEEE Trans. Inf. Theory.

[8]  Jens Spinner,et al.  A Configurable Bose-Chaudhuri-Hocquenghem codec Architecture for Flash controller Applications , 2014, J. Circuits Syst. Comput..

[9]  Terry A. Welch,et al.  A Technique for High-Performance Data Compression , 1984, Computer.

[10]  Kenneth Rose,et al.  Design of on-chip error correction systems for multilevel NOR and NAND flash memories , 2007, IET Circuits Devices Syst..

[11]  D. Huffman A Method for the Construction of Minimum-Redundancy Codes , 1952 .

[12]  Ming-Bo Lin A Hardware Architecture for the LZW Compression and Decompression Algorithms Based on Parallel Dictionaries , 2000, J. VLSI Signal Process..

[13]  Jens Spinner,et al.  Decoder architecture for generalised concatenated codes , 2015, IET Circuits Devices Syst..

[14]  Taeyeon Lee,et al.  Design and implementation of static Huffman encoding hardware using a parallel shifting algorithm , 2004 .

[15]  Jinho Choi,et al.  Block-Wise Concatenated BCH Codes for NAND Flash Memories , 2014, IEEE Transactions on Communications.

[16]  Alexander Beck,et al.  A data compression scheme for reliable data storage in non-volatile memories , 2015, 2015 IEEE 5th International Conference on Consumer Electronics - Berlin (ICCE-Berlin).

[17]  Gene Eu Jan,et al.  A Lossless Data Compression and Decompression Algorithm and Its Hardware Architecture , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[18]  Tong Zhang,et al.  On the Use of Soft-Decision Error-Correction Codes in nand Flash Memory , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[19]  Peter Elias,et al.  Interval and recency rank source coding: Two on-line adaptive variable-length schemes , 1987, IEEE Trans. Inf. Theory.

[20]  Rabi N. Mahapatra,et al.  An Enhanced CAM Architecture to Accelerate LZW Compression Algorithm , 2007, 20th International Conference on VLSI Design held jointly with 6th International Conference on Embedded Systems (VLSID'07).

[21]  Guido Masera,et al.  A Joint Source/Channel Approach to Strengthen Embedded Programmable Devices against Flash Memory Errors , 2014, IEEE Embedded Systems Letters.

[22]  Christine A. Kelley,et al.  Structured Bit-Interleaved LDPC Codes for MLC Flash Memory , 2014, IEEE Journal on Selected Areas in Communications.

[23]  Tong Zhang,et al.  Using Lossless Data Compression in Data Storage Systems: Not for Saving Space , 2011, IEEE Transactions on Computers.

[24]  Richard D. Wesel,et al.  Enhanced Precision Through Multiple Reads for LDPC Decoding in Flash Memories , 2013, IEEE Journal on Selected Areas in Communications.