Understanding the NAND flash memory channel has become more and more challenging due to the continually increasing density and the complex distortions arising from the write and read mechanisms. In this work, we propose a data-driven generative modeling method to characterize the flash memory channel. The learned model can reconstruct the read voltage from an individual memory cell based on the program levels of the cell and its surrounding array of cells. Experimental results show that the statistical distribution of the reconstructed read voltages accurately reflects the measured distribution on a commercial flash memory chip, both qualitatively and as quantified by the total variation distance. Moreover, we observe that the learned model can capture precise inter-cell interference (ICI) effects, as verified by comparison of the error probabilities of specific patterns in wordlines and bitlines.