A 
metal oxide semiconductor field effect transistor (
MOSFET) in a non-
volatile memory cell has a source, a drain and a channel region between the source and the drain, all formed in a substrate of opposite 
conductivity type to the 
conductivity type of the source and drain. The 
MOSFET is programmed by connecting the drain 
electrode to the supply source of the main 
voltage, Vcc, provided to said non-
volatile memory cell and supplying selected voltages to the source and substrate so as to invert a portion of the channel region extending from the source toward the drain. The inverted portion of the channel region ends at a pinch-off point before reaching the drain. By controlling the 
reverse bias across the PN junction between the source and the substrate, the pinch-off point of the inversion region is pulled back toward the source thereby to increase the 
programming efficiency of the 
MOSFET.Methods and structures for highly efficient 
Hot Carrier Injection (HCI) 
programming for Non-Volatile Memories (NVM) apply the main positive supply 
voltage Vcc to, the drain 
electrode of the NVM 
cell from the 
chip main 
voltage supply in contrast to the conventional method using a higher voltage than Vcc. The source 
electrode and substrate are reverse biased with a differential voltage relative to the drain, while a 
voltage pulse is applied to the control gate of the NVM cell to turn on the NVM cell for 
programming. To optimize the programming condition, the source voltage and the substrate voltage are then adjusted to achieve the maximum 
threshold voltage shifts under the same applied 
gate voltage pulse condition (i.e. using a gate pulse with the same 
voltage amplitude and duration regardless of the source voltage and the substrate voltage). The substrate voltage to the drain voltage can not exceed the 
avalanche multiplication junction breakdown for a small programming current during the bias voltage adjustment.