A method of operating a multi-level cell is described, wherein the cell
includes a substrate of a first conductivity type, a control gate, a
charge-storing layer and two S/D regions of a second conductivity type.
The method includes an erasing step that injects charges of a first type
into the charge-storing layer and a programming step that includes
applying a first voltage to the substrate, a second voltage to both S/D
regions and a third voltage to the control gate. The difference between
the first and second voltages is sufficient to cause band-to-band
tunneling hot holes, and the third voltage causes charges of a second
type to enter the charge-storing layer. The third voltage can have
2.sup.n-1 different values, for programming the cell to a predetermined
state among 2.sup.n-1 storage states.