Ячейки Flash-памяти бывают как на одном, так и на двух транзисторах.
В простейшем случае каждая ячейка хранит один бит информации и состоит из одного полевого транзистора со специальной электрически изолированной областью ("плавающим" затвором - floating gate), способной хранить заряд многие годы. Наличие или отсутствие заряда кодирует один бит информации.
При записи заряд помещается на плавающий затвор одним из двух способов (зависит от типа ячейки): методом инжекции "горячих" электронов или методом туннелирования электронов. Стирание содержимого ячейки (снятие заряда с "плавающего" затвора) производится методом тунеллирования.
Как правило, наличие заряда на транзисторе понимается как логический "0", а его отсутствие - как логическая "1". Современная Flash-память обычно изготавливается по 0,13- и 0,18-микронному техпроцессу.