Michal Horovitz (Migal - Research Institute)
A model which mimics the programming operation of memory cells was first presented by Bunte and Lapidoth. Under this paradigm we assume that cells are programmed sequentially and individually. The programming process is modeled as transmission over a channel, while it is possible to read the cell state in order to determine its programming success, and in case of programming failure, to reprogram the cell again. Reprogramming a cell can reduce the bit error rate, however this comes with the price of increasing the overall programming time and thereby affecting the writing speed of the memory.
An iterative programming scheme is an algorithm which specifies the number of attempts to program each cell. Given the programming channel and constraints on the average and maximum number of attempts to program a cell, the problem is to find a programming schemes that maximize the number of bits that can be reliably stored in the memory.
We extend the results by Bunte and Lapidoth and study this problem when the programming channel is either the BSC, BEC, or the Z channel. For the BSC and the BEC our analysis is also extended for the case where the error probabilities on consecutive writes are not necessarily the same. Lastly, we also study a related model which is motivated by the synthesis process of DNA molecules.