Index programming for flash memory - Yassine, H; Coon, J; Simmons, D (Institute of Electrical and Electronics Engineers, 2017)
We present a novel data programming scheme for flash memory. In each word-line, exactly k out of n memory cells are programmed while the rest are kept in the erased state. Information is then conveyed by the index set of the k programmed cells, of which there are (n k)possible choices (also called activation patterns). In the case of multi-level flash, additional information is conveyed by the threshold voltage levels of the k programmed cells (similar to traditional programming). We derive the storage efficiency of the new scheme as a function of the fraction of programmed cells and determine the fraction that maximizes it. Then, we analyse the effect of this scheme on cell-to-cell interference and derive the conditions that ensure its reduction compared to traditional programming. Following this, we analyse the performance of our new scheme using two detection methods: fixed reference detection and dynamic reference detection, and conclude that using dynamic reference detection will result in page error performance improvements that can reach orders of magnitude compared to that attainable by the fixed reference approach. We then discuss how logical pages can be constructed in the index programming similarly to traditional programming. Finally, we discuss the results and trade-offs between storage efficiency and error resilience proposed by the scheme along with some future directions.