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, the authors model the cell as a monotonic storage channel, and explore its capacity and optimal programming. They present two optimal programming algorithms based on a few different noise models and optimization objectives.