A Source and Channel Coding Approach for Improving Flash Memory Endurance

The introduction of multiple-level cell (MLC) and triple-level cell (TLC) technologies reduced the reliability of flash memories significantly compared with single-level cell flash. With MLC and TLC flash cells, the error probability varies for the different states. Hence, asymmetric models are required to characterize the flash channel, e.g., the binary asymmetric channel (BAC). This contribution presents a combined channel and source coding approach improving the reliability of MLC and TLC flash memories. With flash memories data compression has to be performed on block level considering short-data blocks. We present a coding scheme suitable for blocks of 1 kB of data. The objective of the data compression algorithm is to reduce the amount of user data such that the redundancy of the error correction coding can be increased in order to improve the reliability of the data storage system. Moreover, data compression can be utilized to exploit the asymmetry of the channel to reduce the error probability. With redundant data, the proposed combined coding scheme results in a significant improvement of the program/erase cycling endurance and the data retention time of flash memories.

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

[2]  Tong Zhang,et al.  Improving Multi-Level NAND Flash Memory Storage Reliability Using Concatenated BCH-TCM Coding , 2010, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[3]  Chaitali Chakrabarti,et al.  Product Code Schemes for Error Correction in MLC NAND Flash Memories , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

[5]  Haibo Li Modeling of Threshold Voltage Distribution in NAND Flash Memory: A Monte Carlo Method , 2016, IEEE Transactions on Electron Devices.

[6]  Jürgen Freudenberger,et al.  A Codec Architecture for the Compression of Short Data Blocks , 2018, J. Circuits Syst. Comput..

[7]  Sen Zhang,et al.  Efficient Algorithms for the Inverse Sort Transform , 2007, IEEE Transactions on Computers.

[8]  Wei Liu,et al.  Low-Power High-Throughput BCH Error Correction VLSI Design for Multi-Level Cell NAND Flash Memories , 2006, 2006 IEEE Workshop on Signal Processing Systems Design and Implementation.

[9]  Canterbury Corpora Evaluating lossless compression methods , 2001 .

[10]  David A. Huffman,et al.  A method for the construction of minimum-redundancy codes , 1952, Proceedings of the IRE.

[11]  Onur Mutlu,et al.  Data retention in MLC NAND flash memory: Characterization, optimization, and recovery , 2015, 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA).

[12]  Onur Mutlu,et al.  Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Mohammed Rajab,et al.  Compression of short data blocks to improve the reliability of non-volatile flash memories , 2016, 2016 International Conference on Information and Digital Technologies (IDT).

[14]  Lara Dolecek,et al.  Channel Coding for Nonvolatile Memory Technologies: Theoretical Advances and Practical Considerations , 2017, Proceedings of the IEEE.

[15]  Yan Wang,et al.  Investigation of charge loss mechanisms IN 3D TANOS cylindrical junction-less charge trapping memory , 2014, 2014 12th IEEE International Conference on Solid-State and Integrated Circuit Technology (ICSICT).

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

[18]  Andrea L. Lacaita,et al.  Reliability of NAND Flash Memories: Planar Cells and Emerging Issues in 3D Devices , 2017, Comput..

[19]  Jens Spinner,et al.  Construction of High-Rate Generalized Concatenated Codes for Applications in Non-Volatile Flash Memories , 2016, 2016 IEEE 8th International Memory Workshop (IMW).

[20]  José Francisco Martínez Trinidad,et al.  An FPGA-based parallel sorting architecture for the Burrows Wheeler transform , 2005, 2005 International Conference on Reconfigurable Computing and FPGAs (ReConFig'05).

[21]  Paul H. Siegel,et al.  Channel Models for Multi-Level Cell Flash Memories Based on Empirical Error Analysis , 2016, IEEE Transactions on Communications.

[22]  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).

[23]  D. J. Wheeler,et al.  A Block-sorting Lossless Data Compression Algorithm , 1994 .

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

[25]  Edwin Hsing-Mean Sha,et al.  Exploit asymmetric error rates of cell states to improve the performance of flash memory storage systems , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[26]  Ming Zhao,et al.  How Much Can Data Compressibility Help to Improve NAND Flash Memory Lifetime? , 2015, FAST.

[27]  Frederic Sala,et al.  Coding for Unreliable Flash Memory Cells , 2014, IEEE Communications Letters.

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

[29]  Przemyslaw M. Szecowka,et al.  Towards hardware implementation of bzip2 data compression algorithm , 2009, 2009 MIXDES-16th International Conference Mixed Design of Integrated Circuits & Systems.

[30]  Sai-Weng Sin,et al.  A threshold-embedded offset calibration technique for inverter-based flash ADCs , 2010, 2010 53rd IEEE International Midwest Symposium on Circuits and Systems.

[31]  Bei Zeng,et al.  New constructions of codes for asymmetric channels via concatenation , 2012, ISIT.

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

[33]  Paul H. Siegel,et al.  Error characterization and coding schemes for flash memories , 2010, 2010 IEEE Globecom Workshops.

[34]  Igor Zhilin,et al.  Generalized concatenated code constructions with low overhead for optical channels and NAND-flash memory , 2016, 2016 XV International Symposium Problems of Redundancy in Information and Control Systems (REDUNDANCY).

[35]  Chih-Yuan Lu,et al.  Device Characteristics of Single-Gate Vertical Channel (SGVC) 3D NAND Flash Architecture , 2016, 2016 IEEE 8th International Memory Workshop (IMW).

[36]  Lara Dolecek,et al.  Graded Bit-Error-Correcting Codes With Applications to Flash Memory , 2013, IEEE Transactions on Information Theory.

[37]  G. Ghibaudo,et al.  Reliability issues related to Fast Charge Loss Mechanism in Embedded Non Volatile Memories , 2006, 2006 IEEE International Integrated Reliability Workshop Final Report.

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

[39]  Jaekyun Moon,et al.  RS-Enhanced TCM for Multilevel Flash Memories , 2013, IEEE Transactions on Communications.

[40]  Jens Spinner,et al.  A Soft Input Decoding Algorithm for Generalized Concatenated Codes , 2016, IEEE Transactions on Communications.

[41]  Paul H. Siegel,et al.  Characterization and error-correcting codes for TLC flash memories , 2012, 2012 International Conference on Computing, Networking and Communications (ICNC).

[42]  M. Powell Evaluating lossless compression methods , 2001 .

[43]  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.

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

[45]  Sungjoo Hong,et al.  TCAD Simulation of Data Retention Characteristics of Charge Trap Device for 3-D NAND Flash Memory , 2015, 2015 IEEE International Memory Workshop (IMW).

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

[47]  Martin Bossert,et al.  Channel Coding for Telecommunications , 1999 .

[48]  Robert E. Tarjan,et al.  A Locally Adaptive Data , 1986 .

[49]  Sebastian Arming,et al.  Data compression in hardware — The Burrows-Wheeler approach , 2010, 13th IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems.