On the Capacity and Programming of Flash Memories

Flash memories are currently the most widely used type of nonvolatile memories. A flash memory consists of floating-gate cells as its storage elements, where the charge level stored in a cell is used to represent data. Compared to magnetic recording and optical recording, flash memories have the unique property that the cells are programmed using an iterative procedure that monotonically shifts each cell's charge level upward toward its target value. In this paper, we model the cell as a monotonic storage channel, and explore its capacity and optimal programming. We present two optimal programming algorithms based on a few different noise models and optimization objectives.

[1]  Anxiao Jiang,et al.  Floating Codes for Joint Information Storage in Write Asymmetric Memories , 2007, 2007 IEEE International Symposium on Information Theory.

[2]  A. J. Han Vinck,et al.  On the Capacity of Generalized Write-Once Memory with State Transitions Described by an Arbitrary Directed Acyclic Graph , 1999, IEEE Trans. Inf. Theory.

[3]  Michael Langberg,et al.  Universal rewriting in constrained memories , 2009, 2009 IEEE International Symposium on Information Theory.

[4]  L. A. Lastras-Montao,et al.  Rewritable storage channels , 2008, 2008 International Symposium on Information Theory and Its Applications.

[5]  Richard A. Silverman On binary channels and their cascades , 1955, IRE Trans. Inf. Theory.

[6]  M. Lanzoni,et al.  Program schemes for multilevel flash memories , 2003, Proc. IEEE.

[7]  Abhishek Bandyopadhyay,et al.  Programming analog computational memory elements to 0.2% accuracy over 3.5 decades using a predictive method , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[8]  Paul H. Siegel,et al.  Multidimensional flash codes , 2008, 2008 46th Annual Allerton Conference on Communication, Control, and Computing.

[9]  H. Arakawa,et al.  A 144-Mb, eight-level NAND flash memory with optimized pulsewidth programming , 2000, IEEE Journal of Solid-State Circuits.

[10]  Anxiao Jiang,et al.  Rewriting Codes for Joint Information Storage in Flash Memories , 2010, IEEE Transactions on Information Theory.

[11]  A. Fiat,et al.  Generalized 'write-once' memories , 1984, IEEE Trans. Inf. Theory.

[12]  Zhenming Liu,et al.  Designing Floating Codes for Expected Performance , 2010, IEEE Transactions on Information Theory.

[13]  Anxiao Jiang,et al.  On the capacity of flash memories , 2008, 2008 International Symposium on Information Theory and Its Applications.

[14]  Anxiao Jiang,et al.  Buffer Coding for Asymmetric Multi-Level Memory , 2007, 2007 IEEE International Symposium on Information Theory.

[15]  Anxiao Jiang,et al.  Joint coding for flash memory storage , 2008, 2008 IEEE International Symposium on Information Theory.

[16]  Anxiao Jiang,et al.  Error-correcting codes for rank modulation , 2008, 2008 IEEE International Symposium on Information Theory.

[17]  Adi Shamir,et al.  How to Reuse a "Write-Once" Memory , 1982, Inf. Control..

[18]  Bella Bose,et al.  Feedback Codes Achieving the Capacity of the Z-Channel , 2008, IEEE Transactions on Information Theory.

[19]  Anxiao Jiang,et al.  Rank modulation for flash memories , 2008, 2008 IEEE International Symposium on Information Theory.