A programming technique for a flash memory causes electrons to be injected
from the substrate into charge storage elements of the memory cells. The
source and drain regions of memory cells along a common word line or
other common control gate line being programmed by a voltage applied to
the common line are caused to electrically float while the source and
drain regions of memory cells not being programmed have voltages applied
thereto. This programming technique is applied to large arrays of memory
cells having either a NOR or a NAND architecture.