A hybrid method of programming a non-volatile memory cell to a final
programmed state is described. The method described is a more robust
protocol suitable for reliably programming selected memory cells while
eliminating programming disturbs. The hybrid method comprises programming
the non-volatile memory cell to a first state according to a first coarse
programming mechanism, and programming the non-volatile memory cell
according to a second different more precise programming mechanism
thereby completing the programming of the non-volatile memory cell to the
final programmed state. Additionally, the described method is
particularly advantageous for programming multilevel chips.