A flash memory is a non-volatile high density data storage media that has been used in USB sticks or SSDs etc. For more reliable data storage, it is strongly desirable to make flash memories robust against predictable errors (e.g. Inter Cell Interference (ICI)). In this talk, we will introduce theoretical analysis on error-robust schemes for flash memories from the perspective of constrained coding.