On the Performance of Direct Shaping Codes
In this work, we study a recently proposed direct shaping code for flash memory. This rate-1 code is designed to reduce the wear for SLC (one bit per cell) flash by minimizing the average fraction of programmed cells when storing structured data. Then we describe an adaptation of this algorithm that provides data shaping for MLC (two bits per cell) flash memory. It makes use of a page-dependent cost model and is designed to be compatible with the standard procedure of row-by-row, page-based, wordline programming. We also give experimental results demonstrating the performance of MLC data shaping codes when applied to English and Chinese language text. We then study the potential error propagation properties of direct shaping codes when used in a noisy flash device. In particular, we model the error propagation as a biased random walk in a multidimensional space. We prove an upper bound on the error propagation probability and propose an algorithm that can numerically approach a lower bound. Finally, we study the asymptotic performance of direct shaping codes. We prove that the SLC direct shaping code is suboptimal in the sense that it can only achieve the minimum average cost for a rate-1 code under certain conditions on the source distribution.
READ FULL TEXT