Variable-Level Cells for Nonvolatile Memories
For many non-volatile memories, - including flash memories, phase-change memories, etc., - maximizing the storage capacity is a key challenge. The existing method is to use Multi-Level Cells (MLC) of more and more levels. The number of levels supported by MLC is seriously constrained by the worst-case performance of cell-programming noise and cell heterogeneity. In this paper, the authors present Variable-Level Cells (VLC), a new scheme for maximum storage capacity. It adaptively chooses the number of levels and the placement of the levels based on the actual programming performance. They derive its storage capacity, and present an optimal data representation scheme. They also study rewriting schemes for VLC, and present inner and outer bounds to its capacity region.